Function: filesets-build-menu-now
filesets-build-menu-now is a byte-compiled function defined in
filesets.el.gz.
Signature
(filesets-build-menu-now FROM-SCRATCH-FLAG)
Documentation
Update the filesets menu.
Build all new if FROM-SCRATCH-FLAG is non-nil. (To really build from the
bottom up, set filesets-submenus to nil, first.)
Source Code
;; Defined in /usr/src/emacs/lisp/filesets.el.gz
(defun filesets-build-menu-now (from-scratch-flag)
"Update the filesets menu.
Build all new if FROM-SCRATCH-FLAG is non-nil. (To really build from the
bottom up, set `filesets-submenus' to nil, first.)"
(when (or from-scratch-flag
filesets-has-changed-flag
(not filesets-menu-cache))
(setq filesets-menu-cache nil)
(setq filesets-has-changed-flag nil)
(setq filesets-updated-buffers nil)
(setq filesets-update-cache-file-flag t)
(cl-do ((data (filesets-conditional-sort filesets-data (function car))
(cdr data))
(count 1 (+ count 1)))
((null data))
(let* ((this (car data))
(name (filesets-data-get-name this))
(cached (lax-plist-get filesets-submenus name))
(submenu (or cached
(filesets-build-submenu count name this))))
(unless cached
(setq filesets-submenus
(lax-plist-put filesets-submenus name submenu)))
(unless (filesets-entry-get-dormant-flag this)
(setq filesets-menu-cache
(append filesets-menu-cache (list submenu))))))
(when filesets-cache-save-often-flag
(filesets-menu-cache-file-save-maybe)))
(let ((cb (current-buffer)))
(when (not (member cb filesets-updated-buffers))
(easy-menu-add-item (or filesets-menu-in-menu (current-global-map))
(cons "menu-bar" filesets-menu-path)
`(,filesets-menu-name
("# Filesets"
["Edit Filesets" filesets-edit]
["Save Filesets" filesets-save-config]
["Save Menu Cache" filesets-menu-cache-file-save]
["Rebuild Menu" filesets-build-menu]
["Customize" filesets-customize]
["About" filesets-info])
,(filesets-get-cmd-menu)
"---"
,@filesets-menu-cache)
filesets-menu-before)
(setq filesets-updated-buffers
(cons cb filesets-updated-buffers))
;; This wipes out other messages in the echo area.
;; (message nil)
;;(message "Filesets updated: %s" cb)
)))