+2003-09-08 David Ponce <david@dponce.com>
+
+ Ensure that recentf correctly update the menu bar.
+ * recentf.el (recentf-menu-path,recentf-menu-before): Doc fix.
+ (recentf-menu-bar): New function.
+ (recentf-clear-data): Use it
+ (recentf-update-menu): Likewise. Use easy-menu-add-item instead
+ of easy-menu-change.
+
2003-09-08 Lute Kamstra <Lute.Kamstra@cwi.nl>
* simple.el (size-indication-mode): New.
;; Maintainer: FSF
;; Keywords: files
-(defconst recentf-version "$Revision: 1.24 $")
+(defconst recentf-version "$Revision: 1.25 $")
;; This file is part of GNU Emacs.
(defcustom recentf-menu-path '("files")
"*Path where to add the recentf menu.
-If nil add it at top level (see also `easy-menu-change')."
+If nil add it at top level (see also `easy-menu-add-item')."
:group 'recentf
:type '(choice (const :tag "Top Level" nil)
(sexp :tag "Menu Path"))
(defcustom recentf-menu-before "Open File..."
"*Name of the menu before which the recentf menu will be added.
-If nil add it at end of menu (see also `easy-menu-change')."
+If nil add it at end of menu (see also `easy-menu-add-item')."
:group 'recentf
:type '(choice (string :tag "Name")
(const :tag "Last" nil))
:help (concat "Open " value)
:active t))))
+(defsubst recentf-menu-bar ()
+ "Return the keymap of the global menu bar."
+ (lookup-key global-map [menu-bar]))
+
(defun recentf-clear-data ()
"Clear data used to build the recentf menu.
This force a rebuild of the menu."
- (easy-menu-remove-item nil recentf-menu-path recentf-menu-title)
+ (easy-menu-remove-item (recentf-menu-bar)
+ recentf-menu-path recentf-menu-title)
(setq recentf-data-cache nil))
\f
;;; Predefined menu filters
(unless (equal recentf-data-cache cache)
(setq recentf-data-cache cache)
(condition-case err
- (easy-menu-change recentf-menu-path
- recentf-menu-title
- (recentf-make-menu-items)
- recentf-menu-before)
+ (easy-menu-add-item
+ (recentf-menu-bar) recentf-menu-path
+ (easy-menu-create-menu recentf-menu-title
+ (recentf-make-menu-items))
+ recentf-menu-before)
(error
(message "recentf update menu failed: %s"
(error-message-string err)))))))