Function: hywiki-cache-save
hywiki-cache-save is a byte-compiled function defined in hywiki.el.
Signature
(hywiki-cache-save &optional SAVE-FILE)
Documentation
Save the modified Environment to a file.
The file is given by optional SAVE-FILE or hywiki-cache-file. Also
save and potentially set hywiki--directory-mod-time and
hywiki--directory-checksum.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hywiki.el
(defun hywiki-cache-save (&optional save-file)
"Save the modified Environment to a file.
The file is given by optional SAVE-FILE or `hywiki-cache-file'. Also
save and potentially set `hywiki--directory-mod-time' and
`hywiki--directory-checksum'."
(when (or (not (stringp save-file)) (equal save-file ""))
(setq save-file (hywiki-cache-default-file)))
(setq save-file (expand-file-name save-file hywiki-directory))
(unless (file-writable-p save-file)
(error "(hywiki-cache-save): Non-writable Environment file, \"%s\"" save-file))
(let ((buf (get-file-buffer save-file)))
(when buf
(if (buffer-modified-p buf)
(save-buffer)
;; (error "(hywiki-cache-save): Attempt to kill modified Environment file failed to save, \"%s\"" save-file)
(kill-buffer buf))))
(let ((dir (or (file-name-directory save-file)
default-directory)))
(unless (file-writable-p dir)
(error "(hywiki-cache-save): Non-writable Environment directory, \"%s\"" dir)))
(save-window-excursion
(let ((standard-output (hywiki-cache-edit save-file)))
(with-current-buffer standard-output
(erase-buffer)
(princ ";; -*- mode:lisp-data; coding: utf-8-emacs; -*-\n")
(princ (format "\n(setq\nhyperb:version %S\n" hyperb:version))
(princ (format "\nhywiki-directory %S\n" hywiki-directory))
;; Save last `hywiki-directory' mod time and checksum, nil if none.
(princ (format "\nhywiki--directory-mod-time '%S\n" (hywiki-directory-set-mod-time)))
(princ (format "\nhywiki--directory-checksum %S\n"
(hywiki-directory-set-checksum)))
(princ "\nhywiki--referent-alist\n'")
(hash-prin1 (hywiki-get-referent-hasht) nil t)
(princ ")\n")
(hypb:save-buffer-silently)
(if (buffer-modified-p)
(error "(hywiki-cache-save): Attempt to kill modified Environment file failed to save, \"%s\"" save-file)
(kill-buffer standard-output))))))