emacs-diffs
[Top][All Lists]
Advanced

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

master 2c26eb1 1/5: Convert some progmodes menus to easy-menu-define


From: Stefan Kangas
Subject: master 2c26eb1 1/5: Convert some progmodes menus to easy-menu-define
Date: Sun, 21 Feb 2021 05:11:49 -0500 (EST)

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

    Convert some progmodes menus to easy-menu-define
    
    * lisp/progmodes/asm-mode.el (asm-mode-map):
    * lisp/progmodes/grep.el (grep-mode-map):
    * lisp/progmodes/m4-mode.el (m4-mode-map):
    * lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from 
here...
    * lisp/progmodes/asm-mode.el (asm-mode-menu):
    * lisp/progmodes/grep.el (grep-menu-map):
    * lisp/progmodes/m4-mode.el (m4-mode-menu):
    * lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite
    using easy-menu-define.
---
 lisp/progmodes/asm-mode.el  |  20 ++++----
 lisp/progmodes/grep.el      |  76 +++++++++++------------------
 lisp/progmodes/m4-mode.el   |  26 +++++-----
 lisp/progmodes/sh-script.el | 116 +++++++++++++++++++-------------------------
 4 files changed, 101 insertions(+), 137 deletions(-)

diff --git a/lisp/progmodes/asm-mode.el b/lisp/progmodes/asm-mode.el
index 99b2ec6..2f7d7bf 100644
--- a/lisp/progmodes/asm-mode.el
+++ b/lisp/progmodes/asm-mode.el
@@ -73,19 +73,19 @@
     ;; Note that the comment character isn't set up until asm-mode is called.
     (define-key map ":"                'asm-colon)
     (define-key map "\C-c;"    'comment-region)
-    (define-key map [menu-bar asm-mode] (cons "Asm" (make-sparse-keymap)))
-    (define-key map [menu-bar asm-mode comment-region]
-      '(menu-item "Comment Region" comment-region
-                 :help "Comment or uncomment each line in the region"))
-    (define-key map [menu-bar asm-mode newline-and-indent]
-      '(menu-item "Insert Newline and Indent" newline-and-indent
-                 :help "Insert a newline, then indent according to major 
mode"))
-    (define-key map [menu-bar asm-mode asm-colon]
-      '(menu-item "Insert Colon" asm-colon
-                 :help "Insert a colon; if it follows a label, delete the 
label's indentation"))
     map)
   "Keymap for Asm mode.")
 
+(easy-menu-define asm-mode-menu asm-mode-map
+  "Menu for Asm mode."
+  '("Asm"
+    ["Insert Colon" asm-colon
+     :help "Insert a colon; if it follows a label, delete the label's 
indentation"]
+    ["Insert Newline and Indent" newline-and-indent
+     :help "Insert a newline, then indent according to major mode"]
+    ["Comment Region" comment-region
+     :help "Comment or uncomment each line in the region"]))
+
 (defconst asm-font-lock-keywords
   (append
    '(("^\\(\\(\\sw\\|\\s_\\)+\\)\\>:?[ \t]*\\(\\sw+\\(\\.\\sw+\\)*\\)?"
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index d6ee8bb..3e92c69 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -279,57 +279,39 @@ See `compilation-error-screen-columns'."
     (define-key map "}" 'compilation-next-file)
     (define-key map "\t" 'compilation-next-error)
     (define-key map [backtab] 'compilation-previous-error)
-
-    ;; Set up the menu-bar
-    (define-key map [menu-bar grep]
-      (cons "Grep" (make-sparse-keymap "Grep")))
-
-    (define-key map [menu-bar grep grep-find-toggle-abbreviation]
-      '(menu-item "Toggle command abbreviation"
-                  grep-find-toggle-abbreviation
-                  :help "Toggle showing verbose command options"))
-    (define-key map [menu-bar grep compilation-separator3] '("----"))
-    (define-key map [menu-bar grep compilation-kill-compilation]
-      '(menu-item "Kill Grep" kill-compilation
-                 :help "Kill the currently running grep process"))
-    (define-key map [menu-bar grep compilation-separator2] '("----"))
-    (define-key map [menu-bar grep compilation-compile]
-      '(menu-item
-        "Compile..." compile
-       :help
-        "Compile the program including the current buffer.  Default: run 
`make'"))
-    (define-key map [menu-bar grep compilation-rgrep]
-      '(menu-item "Recursive grep..." rgrep
-                 :help "User-friendly recursive grep in directory tree"))
-    (define-key map [menu-bar grep compilation-lgrep]
-      '(menu-item "Local grep..." lgrep
-                 :help "User-friendly grep in a directory"))
-    (define-key map [menu-bar grep compilation-grep-find]
-      '(menu-item "Grep via Find..." grep-find
-                 :help "Run grep via find, with user-specified args"))
-    (define-key map [menu-bar grep compilation-grep]
-      '(menu-item
-        "Another grep..." grep
-       :help
-        "Run grep, with user-specified args, and collect output in a buffer."))
-    (define-key map [menu-bar grep compilation-recompile]
-      '(menu-item "Repeat grep" recompile
-                 :help "Run grep again"))
-    (define-key map [menu-bar grep compilation-separator1] '("----"))
-    (define-key map [menu-bar grep compilation-first-error]
-      '(menu-item
-        "First Match" first-error
-       :help "Restart at the first match, visit corresponding location"))
-    (define-key map [menu-bar grep compilation-previous-error]
-      '(menu-item "Previous Match" previous-error
-                 :help "Visit the previous match and corresponding location"))
-    (define-key map [menu-bar grep compilation-next-error]
-      '(menu-item "Next Match" next-error
-                 :help "Visit the next match and corresponding location"))
     map)
   "Keymap for grep buffers.
 `compilation-minor-mode-map' is a cdr of this.")
 
+(easy-menu-define grep-menu-map grep-mode-map
+  "Menu for grep buffers."
+  '("Grep"
+    ["Next Match" next-error
+     :help "Visit the next match and corresponding location"]
+    ["Previous Match" previous-error
+     :help "Visit the previous match and corresponding location"]
+    ["First Match" first-error
+     :help "Restart at the first match, visit corresponding location"]
+    "----"
+    ["Repeat grep" recompile
+     :help "Run grep again"]
+    ["Another grep..." grep
+     :help "Run grep, with user-specified args, and collect output in a 
buffer."]
+    ["Grep via Find..." grep-find
+     :help "Run grep via find, with user-specified args"]
+    ["Local grep..." lgrep
+     :help "User-friendly grep in a directory"]
+    ["Recursive grep..." rgrep
+     :help "User-friendly recursive grep in directory tree"]
+    ["Compile..." compile
+     :help "Compile the program including the current buffer.  Default: run 
`make'"]
+    "----"
+    ["Kill Grep" kill-compilation
+     :help "Kill the currently running grep process"]
+    "----"
+    ["Toggle command abbreviation" grep-find-toggle-abbreviation
+     :help "Toggle showing verbose command options"]))
+
 (defvar grep-mode-tool-bar-map
   ;; When bootstrapping, tool-bar-map is not properly initialized yet,
   ;; so don't do anything.
diff --git a/lisp/progmodes/m4-mode.el b/lisp/progmodes/m4-mode.el
index 7dfaed4..d9c09f6 100644
--- a/lisp/progmodes/m4-mode.el
+++ b/lisp/progmodes/m4-mode.el
@@ -122,22 +122,22 @@ If m4 is not in your PATH, set this to an absolute file 
name."
              (string-to-syntax "."))))))
 
 (defvar m4-mode-map
-  (let ((map (make-sparse-keymap))
-       (menu-map (make-sparse-keymap)))
+  (let ((map (make-sparse-keymap)))
     (define-key map "\C-c\C-b" 'm4-m4-buffer)
     (define-key map "\C-c\C-r" 'm4-m4-region)
     (define-key map "\C-c\C-c" 'comment-region)
-    (define-key map [menu-bar m4-mode] (cons "M4" menu-map))
-    (define-key menu-map [m4c]
-      '(menu-item "Comment Region" comment-region
-                 :help "Comment Region"))
-    (define-key menu-map [m4b]
-      '(menu-item "M4 Buffer" m4-m4-buffer
-                 :help "Send contents of the current buffer to m4"))
-    (define-key menu-map [m4r]
-      '(menu-item "M4 Region" m4-m4-region
-                 :help "Send contents of the current region to m4"))
-    map))
+    map)
+  "Keymap for M4 Mode.")
+
+(easy-menu-define m4-mode-menu m4-mode-map
+  "Menu for M4 Mode."
+  '("M4"
+    ["M4 Region" m4-m4-region
+     :help "Send contents of the current region to m4"]
+    ["M4 Buffer" m4-m4-buffer
+     :help "Send contents of the current buffer to m4"]
+    ["Comment Region" comment-region
+     :help "Comment Region"]))
 
 (defun m4-m4-buffer ()
   "Send contents of the current buffer to m4."
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index f588ad9..ba59f9c 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -403,8 +403,7 @@ This is buffer-local in every such buffer.")
   "Syntax-table used in Shell-Script mode.  See `sh-feature'.")
 
 (defvar sh-mode-map
-  (let ((map (make-sparse-keymap))
-       (menu-map (make-sparse-keymap)))
+  (let ((map (make-sparse-keymap)))
     (define-key map "\C-c(" 'sh-function)
     (define-key map "\C-c\C-w" 'sh-while)
     (define-key map "\C-c\C-u" 'sh-until)
@@ -434,74 +433,57 @@ This is buffer-local in every such buffer.")
     (define-key map "\C-c:" 'sh-set-shell)
     (define-key map [remap backward-sentence] 'sh-beginning-of-command)
     (define-key map [remap forward-sentence] 'sh-end-of-command)
-    (define-key map [menu-bar sh-script] (cons "Sh-Script" menu-map))
-    (define-key menu-map [smie-config-guess]
-      '(menu-item "Learn buffer indentation" smie-config-guess
-        :help "Learn how to indent the buffer the way it currently is."))
-    (define-key menu-map [smie-config-show-indent]
-      '(menu-item "Show indentation" smie-config-show-indent
-                 :help "Show the how the current line would be indented"))
-    (define-key menu-map [smie-config-set-indent]
-      '(menu-item "Set indentation" smie-config-set-indent
-                 :help "Set the indentation for the current line"))
-
-    (define-key menu-map [sh-pair]
-      '(menu-item "Insert braces and quotes in pairs"
-        electric-pair-mode
-        :button (:toggle . (bound-and-true-p electric-pair-mode))
-        :help "Inserting a brace or quote automatically inserts the matching 
pair"))
-
-    (define-key menu-map [sh-s0] '("--"))
-    ;; Insert
-    (define-key menu-map [sh-function]
-      '(menu-item "Function..." sh-function
-                 :help "Insert a function definition"))
-    (define-key menu-map [sh-add]
-      '(menu-item "Addition..." sh-add
-        :help "Insert an addition of VAR and prefix DELTA for Bourne (type) 
shell"))
-    (define-key menu-map [sh-until]
-      '(menu-item "Until Loop" sh-until
-                 :help "Insert an until loop"))
-    (define-key menu-map [sh-repeat]
-      '(menu-item "Repeat Loop" sh-repeat
-                 :help "Insert a repeat loop definition"))
-    (define-key menu-map [sh-while]
-      '(menu-item "While Loop" sh-while
-                 :help "Insert a while loop"))
-    (define-key menu-map [sh-getopts]
-      '(menu-item "Options Loop" sh-while-getopts
-                 :help "Insert a while getopts loop."))
-    (define-key menu-map [sh-indexed-loop]
-      '(menu-item "Indexed Loop" sh-indexed-loop
-                 :help "Insert an indexed loop from 1 to n."))
-    (define-key menu-map [sh-select]
-      '(menu-item "Select Statement" sh-select
-                 :help "Insert a select statement "))
-    (define-key menu-map [sh-if]
-      '(menu-item "If Statement" sh-if
-                 :help "Insert an if statement"))
-    (define-key menu-map [sh-for]
-      '(menu-item "For Loop" sh-for
-                 :help "Insert a for loop"))
-    (define-key menu-map [sh-case]
-      '(menu-item "Case Statement" sh-case
-                 :help "Insert a case/switch statement"))
-    (define-key menu-map [sh-s1] '("--"))
-    (define-key menu-map [sh-exec]
-      '(menu-item "Execute region" sh-execute-region
-        :help "Pass optional header and region to a subshell for 
noninteractive execution"))
-    (define-key menu-map [sh-exec-interpret]
-      '(menu-item "Execute script..." executable-interpret
-        :help "Run script with user-specified args, and collect output in a 
buffer"))
-    (define-key menu-map [sh-set-shell]
-      '(menu-item "Set shell type..." sh-set-shell
-                 :help "Set this buffer's shell to SHELL (a string)"))
-    (define-key menu-map [sh-backslash-region]
-      '(menu-item "Backslash region" sh-backslash-region
-        :help "Insert, align, or delete end-of-line backslashes on the lines 
in the region."))
     map)
   "Keymap used in Shell-Script mode.")
 
+(easy-menu-define sh-mode-menu sh-mode-map
+  "Menu for Shell-Script mode."
+  '("Sh-Script"
+    ["Backslash region" sh-backslash-region
+     :help "Insert, align, or delete end-of-line backslashes on the lines in 
the region."]
+    ["Set shell type..." sh-set-shell
+     :help "Set this buffer's shell to SHELL (a string)"]
+    ["Execute script..." executable-interpret
+     :help "Run script with user-specified args, and collect output in a 
buffer"]
+    ["Execute region" sh-execute-region
+     :help "Pass optional header and region to a subshell for noninteractive 
execution"]
+    "---"
+    ;; Insert
+    ["Case Statement" sh-case
+     :help "Insert a case/switch statement"]
+    ["For Loop" sh-for
+     :help "Insert a for loop"]
+    ["If Statement" sh-if
+     :help "Insert an if statement"]
+    ["Select Statement" sh-select
+     :help "Insert a select statement "]
+    ["Indexed Loop" sh-indexed-loop
+     :help "Insert an indexed loop from 1 to n."]
+    ["Options Loop" sh-while-getopts
+     :help "Insert a while getopts loop."]
+    ["While Loop" sh-while
+     :help "Insert a while loop"]
+    ["Repeat Loop" sh-repeat
+     :help "Insert a repeat loop definition"]
+    ["Until Loop" sh-until
+     :help "Insert an until loop"]
+    ["Addition..." sh-add
+     :help "Insert an addition of VAR and prefix DELTA for Bourne (type) 
shell"]
+    ["Function..." sh-function
+     :help "Insert a function definition"]
+    "---"
+    ;; Other
+    ["Insert braces and quotes in pairs" electric-pair-mode
+     :style toggle
+     :selected (bound-and-true-p electric-pair-mode)
+     :help "Inserting a brace or quote automatically inserts the matching 
pair"]
+    ["Set indentation" smie-config-set-indent
+     :help "Set the indentation for the current line"]
+    ["Show indentation" smie-config-show-indent
+     :help "Show the how the current line would be indented"]
+    ["Learn buffer indentation" smie-config-guess
+     :help "Learn how to indent the buffer the way it currently is."]))
+
 (defvar sh-skeleton-pair-default-alist '((?\( _ ?\)) (?\))
                                      (?\[ ?\s _ ?\s ?\]) (?\])
                                      (?{ _ ?}) (?\}))



reply via email to

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