Function: dirvish-attribute-cache
dirvish-attribute-cache is a macro defined in dirvish.el.
Signature
(dirvish-attribute-cache FILE ATTRIBUTE &rest BODY)
Documentation
Get FILE's ATTRIBUTE from dirvish--dir-data.
When the attribute does not exist, set it with BODY.
Source Code
;; Defined in /nix/store/1gijwny2yx4fggrsb9l110h1ybs1gdk5-emacs-packages-deps/share/emacs/site-lisp/elpa/dirvish-20260725.1520/dirvish.el
(defmacro dirvish-attribute-cache (file attribute &rest body)
"Get FILE's ATTRIBUTE from `dirvish--dir-data'.
When the attribute does not exist, set it with BODY."
(declare (indent defun))
`(let* ((md5 (secure-hash 'md5 ,file))
(hash (gethash md5 dirvish--dir-data))
(cached (plist-get hash ,attribute))
(attr (or cached ,@body)))
(unless cached
(puthash md5 (append hash (list ,attribute attr)) dirvish--dir-data))
attr))