Function: kotl-mode:example
kotl-mode:example is an autoloaded, interactive and byte-compiled
function defined in kotl-mode.el.
Signature
(kotl-mode:example &optional EXAMPLE REPLACE-FLAG)
Documentation
Display the optional Koutliner EXAMPLE file.
This is for demonstration and editing use by a user. With optional REPLACE-FLAG non-nil, archive any existing file, and replace it with the latest Hyperbole EXAMPLE.
EXAMPLE may be a file or directory name ("EXAMPLE.kotl" is appended).
If EXAMPLE is omitted or nil, create or edit the "~/EXAMPLE.kotl" file.
When called interactively, prompt for EXAMPLE if given a prefix argument, archive any existing file, and replace it with the latest Hyperbole EXAMPLE.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/kotl/kotl-mode.el
;;;###autoload
(defun kotl-mode:example (&optional example replace-flag)
"Display the optional Koutliner EXAMPLE file.
This is for demonstration and editing use by a user. With
optional REPLACE-FLAG non-nil, archive any existing file, and
replace it with the latest Hyperbole EXAMPLE.
EXAMPLE may be a file or directory name (\"EXAMPLE.kotl\" is appended).
If EXAMPLE is omitted or nil, create or edit the \"~/EXAMPLE.kotl\" file.
When called interactively, prompt for EXAMPLE if given a prefix
argument, archive any existing file, and replace it with the latest
Hyperbole EXAMPLE."
(interactive
(list (when current-prefix-arg
(read-file-name "Path to replace and save EXAMPLE.kotl file: "
"~/" nil nil "EXAMPLE.kotl"))))
(when (and current-prefix-arg (called-interactively-p 'interactive))
(setq replace-flag t))
(let (personal-example
original-example)
(unless (stringp example)
(setq example "EXAMPLE.kotl"))
(when (file-directory-p example)
(setq personal-example (expand-file-name "EXAMPLE.kotl" example)
example "EXAMPLE.kotl"))
(unless personal-example
(if (file-name-absolute-p example)
(setq personal-example example
example (file-name-nondirectory example))
(setq personal-example (expand-file-name example "~/"))))
(setq original-example (expand-file-name example (expand-file-name "kotl/" hyperb:dir)))
(when (or replace-flag
(file-newer-than-file-p original-example personal-example))
(when (file-exists-p personal-example)
;; Save personally edited one and use the newer Hyperbole Example file
(rename-file personal-example (expand-file-name (concat "SAVED-" example) "~/") t)))
(cond ((get-file-buffer personal-example)
(switch-to-buffer (get-file-buffer personal-example)))
((file-readable-p personal-example)
(find-file personal-example))
;; Create a new personal-example file
(t (switch-to-buffer (create-file-buffer personal-example))
(setq buffer-file-name personal-example
default-directory (expand-file-name "~/")
buffer-auto-save-file-name nil
buffer-read-only nil)
(insert-file-contents original-example)
(goto-char (point-min))
(kotl-mode)
(save-buffer)))))