emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master cf95b53: Convert makefile-mode menu to easy-menu-define


From: Stefan Kangas
Subject: master cf95b53: Convert makefile-mode menu to easy-menu-define
Date: Sat, 20 Feb 2021 11:43:13 -0500 (EST)

branch: master
commit cf95b53405772d2f5bd5da91e57184f3de28a7f4
Author: Stefan Kangas <stefan@marxist.se>
Commit: Stefan Kangas <stefan@marxist.se>

    Convert makefile-mode menu to easy-menu-define
    
    * lisp/progmodes/make-mode.el (makefile-mode-map): Move menu
    definition from here...
    (makefile-mode-menu): ...to here, and rewrite using easy-menu-define.
---
 lisp/progmodes/make-mode.el | 113 +++++++++++++++++++-------------------------
 1 file changed, 48 insertions(+), 65 deletions(-)

diff --git a/lisp/progmodes/make-mode.el b/lisp/progmodes/make-mode.el
index 3d1e7d6..d444ce2 100644
--- a/lisp/progmodes/make-mode.el
+++ b/lisp/progmodes/make-mode.el
@@ -573,8 +573,7 @@ The function must satisfy this calling convention:
   "Abbrev table in use in Makefile buffers.")
 
 (defvar makefile-mode-map
-  (let ((map (make-sparse-keymap))
-       (opt-map (make-sparse-keymap)))
+  (let ((map (make-sparse-keymap)))
     ;; set up the keymap
     (define-key map "\C-c:" 'makefile-insert-target-ref)
     (if makefile-electric-keys
@@ -599,72 +598,56 @@ The function must satisfy this calling convention:
     (define-key map "\M-p"     'makefile-previous-dependency)
     (define-key map "\M-n"     'makefile-next-dependency)
     (define-key map "\e\t"     'completion-at-point)
-
-    ;; Make menus.
-    (define-key map [menu-bar makefile-mode]
-      (cons "Makefile" (make-sparse-keymap "Makefile")))
-
-    (define-key map [menu-bar makefile-mode makefile-type]
-      (cons "Switch Makefile Type" opt-map))
-    (define-key opt-map [makefile-makepp-mode]
-      '(menu-item "Makepp" makefile-makepp-mode
-                 :help "An adapted `makefile-mode' that knows about makepp"
-                 :button (:radio . (eq major-mode 'makefile-makepp-mode))))
-    (define-key opt-map [makefile-imake-mode]
-      '(menu-item "Imake" makefile-imake-mode
-                 :help "An adapted `makefile-mode' that knows about imake"
-                 :button (:radio . (eq major-mode 'makefile-imake-mode))))
-    (define-key opt-map [makefile-mode]
-      '(menu-item "Classic" makefile-mode
-                 :help "`makefile-mode' with no special functionality"
-                 :button (:radio . (eq major-mode 'makefile-mode))))
-    (define-key opt-map [makefile-bsdmake-mode]
-      '(menu-item "BSD" makefile-bsdmake-mode
-                 :help "An adapted `makefile-mode' that knows about BSD make"
-                 :button (:radio . (eq major-mode 'makefile-bsdmake-mode))))
-    (define-key opt-map [makefile-automake-mode]
-      '(menu-item "Automake" makefile-automake-mode
-                 :help "An adapted `makefile-mode' that knows about automake"
-                 :button (:radio . (eq major-mode 'makefile-automake-mode))))
-    (define-key opt-map [makefile-gmake-mode]
-      '(menu-item "GNU make" makefile-gmake-mode
-                 :help "An adapted `makefile-mode' that knows about GNU make"
-                 :button (:radio . (eq major-mode 'makefile-gmake-mode))))
-    (define-key map [menu-bar makefile-mode browse]
-      '(menu-item "Pop up Makefile Browser" makefile-switch-to-browser
-                 ;; XXX: this needs a better string, the function is not 
documented...
-                 :help "Pop up Makefile Browser"))
-    (define-key map [menu-bar makefile-mode overview]
-      '(menu-item "Up To Date Overview" makefile-create-up-to-date-overview
-                 :help "Create a buffer containing an overview of the state of 
all known targets"))
-    ;; Target related
-    (define-key map [menu-bar makefile-mode separator1]  '("----"))
-    (define-key map [menu-bar makefile-mode pickup-file]
-      '(menu-item "Pick File Name as Target" 
makefile-pickup-filenames-as-targets
-                 :help "Scan the current directory for filenames to use as 
targets"))
-    (define-key map [menu-bar makefile-mode function]
-      '(menu-item "Insert GNU make function" makefile-insert-gmake-function
-                 :help "Insert a GNU make function call"))
-    (define-key map [menu-bar makefile-mode pickup]
-      '(menu-item "Find Targets and Macros" makefile-pickup-everything
-                 :help "Notice names of all macros and targets in Makefile"))
-    (define-key map [menu-bar makefile-mode complete]
-      '(menu-item "Complete Target or Macro" completion-at-point
-                 :help "Perform completion on Makefile construct preceding 
point"))
-    (define-key map [menu-bar makefile-mode backslash]
-      '(menu-item "Backslash Region" makefile-backslash-region
-                 :help "Insert, align, or delete end-of-line backslashes on 
the lines in the region"))
-    ;; Motion
-    (define-key map [menu-bar makefile-mode separator]  '("----"))
-    (define-key map [menu-bar makefile-mode prev]
-      '(menu-item "Move to Previous Dependency" makefile-previous-dependency
-                 :help "Move point to the beginning of the previous dependency 
line"))
-    (define-key map [menu-bar makefile-mode next]
-      '(menu-item "Move to Next Dependency" makefile-next-dependency
-                 :help "Move point to the beginning of the next dependency 
line"))
     map)
   "The keymap that is used in Makefile mode.")
 
+(easy-menu-define makefile-mode-menu makefile-mode-map
+  "Menu for Makefile mode."
+  '("Makefile"
+    ;; Motion
+    ["Move to Next Dependency" makefile-next-dependency
+     :help "Move point to the beginning of the next dependency line"]
+    ["Move to Previous Dependency" makefile-previous-dependency
+     :help "Move point to the beginning of the previous dependency line"]
+    "----"
+    ;; Target related
+    ["Backslash Region" makefile-backslash-region
+     :help "Insert, align, or delete end-of-line backslashes on the lines in 
the region"]
+    ["Complete Target or Macro" completion-at-point
+     :help "Perform completion on Makefile construct preceding point"]
+    ["Find Targets and Macros" makefile-pickup-everything
+     :help "Notice names of all macros and targets in Makefile"]
+    ["Insert GNU make function" makefile-insert-gmake-function
+     :help "Insert a GNU make function call"]
+    ["Pick File Name as Target" makefile-pickup-filenames-as-targets
+     :help "Scan the current directory for filenames to use as targets"]
+    "----"
+    ;; Other.
+    ["Up To Date Overview" makefile-create-up-to-date-overview
+     :help "Create a buffer containing an overview of the state of all known 
targets"]
+    ["Pop up Makefile Browser" makefile-switch-to-browser
+     ;; XXX: this needs a better string, the function is not documented...
+     :help "Pop up Makefile Browser"]
+    ("Switch Makefile Type"
+     ["GNU make" makefile-gmake-mode
+      :help "An adapted `makefile-mode' that knows about GNU make"
+      :button (:radio . (eq major-mode 'makefile-gmake-mode))]
+     ["Automake" makefile-automake-mode
+      :help "An adapted `makefile-mode' that knows about automake"
+      :button (:radio . (eq major-mode 'makefile-automake-mode))]
+     ["BSD" makefile-bsdmake-mode
+      :help "An adapted `makefile-mode' that knows about BSD make"
+      :button (:radio . (eq major-mode 'makefile-bsdmake-mode))]
+     ["Classic" makefile-mode
+      :help "`makefile-mode' with no special functionality"
+      :button (:radio . (eq major-mode 'makefile-mode))]
+     ["Imake" makefile-imake-mode
+      :help "An adapted `makefile-mode' that knows about imake"
+      :button (:radio . (eq major-mode 'makefile-imake-mode))]
+     ["Makepp" makefile-makepp-mode
+      :help "An adapted `makefile-mode' that knows about makepp"
+      :button (:radio . (eq major-mode 'makefile-makepp-mode))])))
+
 
 (defvar makefile-browser-map
   (let ((map (make-sparse-keymap)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]