Function: mh-populate-sub-folders-cache
mh-populate-sub-folders-cache is a byte-compiled function defined in
mh-utils.el.gz.
Signature
(mh-populate-sub-folders-cache FOLDER)
Documentation
Tell mh-sub-folders-cache about FOLDER.
Source Code
;; Defined in /usr/src/emacs/lisp/mh-e/mh-utils.el.gz
(defun mh-populate-sub-folders-cache (folder)
"Tell `mh-sub-folders-cache' about FOLDER."
(let* ((last-slash (mh-search-from-end ?/ folder))
(child1 (substring folder (1+ (or last-slash 0))))
(parent (and last-slash (substring folder 0 last-slash)))
(parent-slash (and parent (mh-search-from-end ?/ parent)))
(child2 (and parent (substring parent (1+ (or parent-slash 0)))))
(grand-parent (and parent-slash (substring parent 0 parent-slash)))
(cache-entry (gethash parent mh-sub-folders-cache)))
(unless (cl-loop for x in cache-entry when (equal (car x) child1) return t
finally return nil)
(push (list child1) cache-entry)
(setf (gethash parent mh-sub-folders-cache)
(sort cache-entry (lambda (x y) (string< (car x) (car y)))))
(when parent
(cl-loop for x in (gethash grand-parent mh-sub-folders-cache)
when (equal (car x) child2)
do (progn (setf (cdr x) t) (cl-return)))))))