diff lisp/x11/x-menubar.el @ 165:5a88923fcbfe r20-3b9

Import from CVS: tag r20-3b9
author cvs
date Mon, 13 Aug 2007 09:44:42 +0200
parents 43dd3413c7c7
children 85ec50267440
line wrap: on
line diff
--- a/lisp/x11/x-menubar.el	Mon Aug 13 09:43:39 2007 +0200
+++ b/lisp/x11/x-menubar.el	Mon Aug 13 09:44:42 2007 +0200
@@ -82,14 +82,16 @@
       ["Replace (Regexp)..."	query-replace-regexp	t]
       "----"
       ("Bookmarks"
-       ["Jump to bookmark"  	bookmark-menu-jump	t]
+       ("Jump to bookmark"
+	:filter bookmark-menu-filter)
        ["Set bookmark"  	bookmark-set		t]
        "---"
        ["Insert contents"  	bookmark-menu-insert	t]
        ["Insert location"  	bookmark-menu-locate	t]
        "---"
        ["Rename bookmark"  	bookmark-menu-rename	t]
-       ["Delete bookmark"  	bookmark-menu-delete	t]
+       ("Delete bookmark"
+  	:filter bookmark-delete-filter)
        ["Edit Bookmark List"    bookmark-bmenu-list	t]
        "---"
        ["Save bookmarks"        bookmark-save		t]
@@ -106,11 +108,11 @@
      
      ,@(if (featurep 'mule)
 	   '(("Mule"
-	      ["Describe language support"
-	       mule-describe-language-support-prefix nil] ; not implemented yet
-	      ["Set language environment"
-	       mule-set-language-environment-prefix nil] ; not implemented yet
-	      "--"
+	      ;; ["Describe language support"
+	       ;; mule-describe-language-support-prefix nil]
+	      ;; ["Set language environment"
+	       ;; mule-set-language-environment-prefix nil]
+	      ;; "--"
 	      ["Toggle input method" toggle-input-method t]
 	      ["Select input method" select-input-method t]
 	      ["Describe input method" describe-input-method t]
@@ -836,6 +838,24 @@
     result))
 
 
+;;; The Bookmarks menu
+
+(defun bookmark-menu-filter (menu-items)
+  "*Build the bookmark jump submenu dynamically from all defined bookmarks."
+  (if (bookmark-all-names)
+      (mapcar
+       #'(lambda (bmk)
+	   (vector bmk `(bookmark-jump ',bmk) t)) (bookmark-all-names))
+    (list "No Bookmarks Set")))
+
+(defun bookmark-delete-filter (menu-items)
+  "*Build the bookmark delete submenu dynamically from all defined bookmarks."
+  (if (bookmark-all-names)
+      (mapcar
+       #'(lambda (bmk)
+	   (vector bmk `(bookmark-delete ',bmk) t)) (bookmark-all-names))
+    (list "No Bookmarks Set")))
+
 ;;; The Buffers menu
 
 (defvar buffers-menu-max-size 25