emacs-diffs
[Top][All Lists]
Advanced

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

master 8bb5c1bfec 1/2: Make easy-mmode-defmap obsolete and adjust only c


From: Lars Ingebrigtsen
Subject: master 8bb5c1bfec 1/2: Make easy-mmode-defmap obsolete and adjust only caller
Date: Thu, 1 Sep 2022 07:42:37 -0400 (EDT)

branch: master
commit 8bb5c1bfec0929f2ba419e1c503f5acc01c336c2
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Make easy-mmode-defmap obsolete and adjust only caller
    
    * lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Make obsolete.
    * lisp/progmodes/gud.el (gud-menu-map): Use easy-menu-define.
---
 lisp/emacs-lisp/easy-mmode.el |   4 +-
 lisp/progmodes/gud.el         | 225 +++++++++++++++++-------------------------
 2 files changed, 90 insertions(+), 139 deletions(-)

diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index c3a4e9fc7a..29ace89c3c 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -719,9 +719,7 @@ The M, BS, and ARGS arguments are as per that function.  
DOC is
 the constant's documentation.
 
 This macro is deprecated; use `defvar-keymap' instead."
-  ;; FIXME: Declare obsolete in favor of `defvar-keymap'.  It is still
-  ;; used for `gud-menu-map' and `gud-minor-mode-map', so fix that first.
-  (declare (doc-string 3) (indent 1))
+  (declare (doc-string 3) (indent 1) (obsolete defvar-keymap "29.1"))
   `(defconst ,m
      (easy-mmode-define-keymap ,bs nil (if (boundp ',m) ,m) ,(cons 'list args))
      ,doc))
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index ccc5720575..281762fb0a 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -159,143 +159,96 @@ Used to gray out relevant toolbar icons.")
           (t
            (comint-interrupt-subjob)))))
 
-(easy-mmode-defmap gud-menu-map
-  '(([help]     "Info (debugger)" . gud-goto-info)
-    ([tooltips] menu-item "Show GUD tooltips" gud-tooltip-mode
-                  :enable (and (not emacs-basic-display)
-                              (display-graphic-p)
-                              (fboundp 'x-show-tip))
-                 :visible (memq gud-minor-mode
-                               '(gdbmi guiler dbx sdb xdb pdb))
-                 :button (:toggle . gud-tooltip-mode))
-    ([refresh] "Refresh" . gud-refresh)
-    ([run]     menu-item "Run" gud-run
-                  :enable (not gud-running)
-                 :visible (or (memq gud-minor-mode '(gdb dbx jdb))
-                              (and (eq gud-minor-mode 'gdbmi)
-                                   (or (not (gdb-show-run-p))
-                                       (bound-and-true-p
-                                        gdb-active-process)))))
-    ([go]     .        (menu-item (if (bound-and-true-p gdb-active-process)
-                              "Continue" "Run")
-                          gud-go
-                 :visible (and (eq gud-minor-mode 'gdbmi)
-                                (gdb-show-run-p))))
-    ([stop]    menu-item "Stop" gud-stop-subjob
-                 :visible (or (not (memq gud-minor-mode '(gdbmi pdb)))
-                              (and (eq gud-minor-mode 'gdbmi)
-                                    (gdb-show-stop-p))))
-    ([until]   menu-item "Continue to selection" gud-until
-                  :enable (not gud-running)
-                 :visible (and (memq gud-minor-mode '(gdbmi gdb perldb))
-                               (gud-tool-bar-item-visible-no-fringe)))
-    ([remove]  menu-item "Remove Breakpoint" gud-remove
-                  :enable (not gud-running)
-                 :visible (gud-tool-bar-item-visible-no-fringe))
-    ([tbreak]  menu-item "Temporary Breakpoint" gud-tbreak
-                  :enable (not gud-running)
-                 :visible (memq gud-minor-mode
-                               '(gdbmi gdb sdb xdb)))
-    ([break]   menu-item "Set Breakpoint" gud-break
-                  :enable (not gud-running)
-                 :visible (gud-tool-bar-item-visible-no-fringe))
-    ([up]      menu-item "Up Stack" gud-up
-                 :enable (not gud-running)
-                 :visible (memq gud-minor-mode
-                                '(gdbmi gdb guiler dbx xdb jdb pdb)))
-    ([down]    menu-item "Down Stack" gud-down
-                 :enable (not gud-running)
-                 :visible (memq gud-minor-mode
-                                '(gdbmi gdb guiler dbx xdb jdb pdb)))
-    ([pp]      menu-item "Print S-expression" gud-pp
-                  :enable (and (not gud-running)
-                                 (bound-and-true-p gdb-active-process))
-                 :visible (and (string-equal
-                                (buffer-local-value
-                                 'gud-target-name gud-comint-buffer)
-                                "emacs")
-                               (eq gud-minor-mode 'gdbmi)))
-    ([print*] . (menu-item (if (eq gud-minor-mode 'jdb)
-                              "Dump object"
-                            "Print Dereference")
-                          gud-pstar
-                  :enable (not gud-running)
-                 :visible (memq gud-minor-mode '(gdbmi gdb jdb))))
-    ([print]   menu-item "Print Expression" gud-print
-                  :enable (not gud-running))
-    ([watch]   menu-item "Watch Expression" gud-watch
-                 :enable (not gud-running)
-                 :visible (eq gud-minor-mode 'gdbmi))
-    ([finish]  menu-item "Finish Function" gud-finish
-                  :enable (not gud-running)
-                 :visible (memq gud-minor-mode
-                                '(gdbmi gdb guiler xdb jdb pdb)))
-    ([stepi]   menu-item "Step Instruction" gud-stepi
-                  :enable (not gud-running)
-                 :visible (memq gud-minor-mode '(gdbmi gdb dbx)))
-    ([nexti]   menu-item "Next Instruction" gud-nexti
-                  :enable (not gud-running)
-                 :visible (memq gud-minor-mode '(gdbmi gdb dbx)))
-    ([step]    menu-item "Step Line" gud-step
-                  :enable (not gud-running))
-    ([next]    menu-item "Next Line" gud-next
-                  :enable (not gud-running))
-    ([cont]    menu-item "Continue" gud-cont
-                  :enable (not gud-running)
-                 :visible (not (eq gud-minor-mode 'gdbmi))))
-  "Menu for `gud-mode'."
-  :name "Gud")
-
-(easy-mmode-defmap gud-minor-mode-map
-  (append
-     `(([menu-bar debug] . ("Gud" . ,gud-menu-map)))
-     ;; Get tool bar like functionality from the menu bar on a text only
-     ;; terminal.
-   (unless window-system
-     `(([menu-bar down]
-       . (,(propertize "down" 'face 'font-lock-doc-face) . gud-down))
-       ([menu-bar up]
-       . (,(propertize "up" 'face 'font-lock-doc-face) . gud-up))
-       ([menu-bar finish]
-       . (,(propertize "finish" 'face 'font-lock-doc-face) . gud-finish))
-       ([menu-bar step]
-       . (,(propertize "step" 'face 'font-lock-doc-face) . gud-step))
-       ([menu-bar next]
-       . (,(propertize "next" 'face 'font-lock-doc-face) . gud-next))
-       ([menu-bar until] menu-item
-       ,(propertize "until" 'face 'font-lock-doc-face) gud-until
-                 :visible (memq gud-minor-mode '(gdbmi gdb perldb)))
-       ([menu-bar cont] menu-item
-       ,(propertize "cont" 'face 'font-lock-doc-face) gud-cont
-       :visible (not (eq gud-minor-mode 'gdbmi)))
-       ([menu-bar run] menu-item
-       ,(propertize "run" 'face 'font-lock-doc-face) gud-run
-       :visible (memq gud-minor-mode '(gdbmi gdb dbx jdb)))
-       ([menu-bar go] menu-item
-       ,(propertize " go " 'face 'font-lock-doc-face) gud-go
-       :visible (and (eq gud-minor-mode 'gdbmi)
-                      (gdb-show-run-p)))
-       ([menu-bar stop] menu-item
-       ,(propertize "stop" 'face 'font-lock-doc-face) gud-stop-subjob
-       :visible (or (and (eq gud-minor-mode 'gdbmi)
-                          (gdb-show-stop-p))
-                    (not (eq gud-minor-mode 'gdbmi))))
-       ([menu-bar print]
-       . (,(propertize "print" 'face 'font-lock-doc-face) . gud-print))
-       ([menu-bar tools] . undefined)
-       ([menu-bar buffer] . undefined)
-       ([menu-bar options] . undefined)
-       ([menu-bar edit] . undefined)
-       ([menu-bar file] . undefined))))
-  "Map used in visited files.")
-
-(setf (alist-get 'gud-minor-mode minor-mode-map-alist)
-      gud-minor-mode-map)
-
-(defvar gud-mode-map
+(defvar-keymap gud-mode-map
   ;; Will inherit from comint-mode via define-derived-mode.
-  (make-sparse-keymap)
-  "`gud-mode' keymap.")
+  :doc "`gud-mode' keymap.")
+
+(defvar-keymap gud-minor-mode-map
+  :parent gud-mode-map)
+
+(easy-menu-define gud-menu-map gud-mode-map
+  "Menu for `gud-mode'."
+  '("Gud"
+    ["Continue" gud-cont
+     :enable (not gud-running)
+     :visible (not (eq gud-minor-mode 'gdbmi))]
+    ["Next Line" gud-next
+     :enable (not gud-running)]
+    ["Step Line" gud-step
+     :enable (not gud-running)]
+    ["Next Instruction" gud-nexti
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb dbx))]
+    ["Step Instruction" gud-stepi
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb dbx))]
+    ["Finish Function" gud-finish
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb guiler xdb jdb pdb))]
+    ["Watch Expression" gud-watch
+     :enable (not gud-running)
+     :visible (eq gud-minor-mode 'gdbmi)]
+    ["Print Expression" gud-print
+     :enable (not gud-running)]
+    ["Dump object-Derefenrece" gud-pstar
+     :label (if (eq gud-minor-mode 'jdb)
+               "Dump object"
+              "Print Dereference")
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb jdb))]
+    ["Print S-expression" gud-pp
+     :enable (and (not gud-running)
+                 (bound-and-true-p gdb-active-process))
+     :visible (and (string-equal
+                   (buffer-local-value
+                    'gud-target-name gud-comint-buffer)
+                   "emacs")
+                  (eq gud-minor-mode 'gdbmi))]
+    ["Down Stack" gud-down
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb guiler dbx xdb jdb pdb))]
+    ["Up Stack" gud-up
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode
+                   '(gdbmi gdb guiler dbx xdb jdb pdb))]
+    ["Set Breakpoint" gud-break
+     :enable (not gud-running)
+     :visible (gud-tool-bar-item-visible-no-fringe)]
+    ["Temporary Breakpoint" gud-tbreak
+     :enable (not gud-running)
+     :visible (memq gud-minor-mode '(gdbmi gdb sdb xdb))]
+    ["Remove Breakpoint" gud-remove
+     :enable (not gud-running)
+     :visible (gud-tool-bar-item-visible-no-fringe)]
+    ["Continue to selection" gud-until
+     :enable (not gud-running)
+     :visible (and (memq gud-minor-mode '(gdbmi gdb perldb))
+                  (gud-tool-bar-item-visible-no-fringe))]
+    ["Stop" gud-stop-subjob
+     :visible (or (not (memq gud-minor-mode '(gdbmi pdb)))
+                 (and (eq gud-minor-mode 'gdbmi)
+                       (gdb-show-stop-p)))]
+    ["Continue-Run" gud-go
+     :label (if (bound-and-true-p gdb-active-process)
+               "Continue" "Run")
+     :visible (and (eq gud-minor-mode 'gdbmi)
+                   (gdb-show-run-p))]
+    ["Run" gud-run
+     :enable (not gud-running)
+     :visible (or (memq gud-minor-mode '(gdb dbx jdb))
+                 (and (eq gud-minor-mode 'gdbmi)
+                      (or (not (gdb-show-run-p))
+                          (bound-and-true-p
+                           gdb-active-process))))]
+    ["Refresh" gud-refresh]
+    ["Show GUD tooltips" gud-tooltip-mode
+     :enable (and (not emacs-basic-display)
+                 (display-graphic-p)
+                 (fboundp 'x-show-tip))
+     :visible (memq gud-minor-mode
+                   '(gdbmi guiler dbx sdb xdb pdb))
+     :button (:toggle . gud-tooltip-mode)]
+    ["Info (debugger)" gud-goto-info]))
 
 (defvar gud-tool-bar-map
   (let ((map (make-sparse-keymap)))



reply via email to

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