aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarl Heuer1995-05-29 20:10:58 +0000
committerKarl Heuer1995-05-29 20:10:58 +0000
commit07fc7c8a47945e7222d3f92524b2eb6f945acf0e (patch)
treecffa50ae95b6db42d9cbf89fb8cde490707f767a
parent5ab917b4b661232e1ace782942de77b4fbe25c55 (diff)
downloademacs-07fc7c8a47945e7222d3f92524b2eb6f945acf0e.tar.gz
emacs-07fc7c8a47945e7222d3f92524b2eb6f945acf0e.zip
(gud-make-debug-menu): New function.
(gud-mode, gud-gdb-find-file, gud-dbx-find-file, gud-sdb-find-file) (gud-xdb-find-file): Use gud-make-debug-menu.
-rw-r--r--lisp/gud.el31
1 files changed, 16 insertions, 15 deletions
diff --git a/lisp/gud.el b/lisp/gud.el
index a12c84c5fda..90810c6c6ac 100644
--- a/lisp/gud.el
+++ b/lisp/gud.el
@@ -230,13 +230,21 @@ we're in the GUD buffer)."
230 "Return a new keymap which inherits from MAP and has name `Gud'." 230 "Return a new keymap which inherits from MAP and has name `Gud'."
231 (nconc (make-sparse-keymap "Gud") map)) 231 (nconc (make-sparse-keymap "Gud") map))
232 232
233(defun gud-make-debug-menu ()
234 "Make sure the current local map has a [menu-bar debug] submap.
235If it doesn't, replace it with a new map that inherits it,
236and create such a submap in that new map."
237 (if (lookup-key (current-local-map) [menu-bar debug])
238 nil
239 (use-local-map (gud-new-keymap (current-local-map)))
240 (define-key (current-local-map) [menu-bar debug]
241 (cons "Gud" (gud-new-keymap gud-menu-map)))))
242
233(defun gud-gdb-find-file (f) 243(defun gud-gdb-find-file (f)
234 (save-excursion 244 (save-excursion
235 (let ((buf (find-file-noselect f))) 245 (let ((buf (find-file-noselect f)))
236 (set-buffer buf) 246 (set-buffer buf)
237 (use-local-map (gud-new-keymap (current-local-map))) 247 (gud-make-debug-menu)
238 (define-key (current-local-map) [menu-bar debug]
239 (cons "Gud" (gud-new-keymap gud-menu-map)))
240 (local-set-key [menu-bar debug tbreak] 248 (local-set-key [menu-bar debug tbreak]
241 '("Temporary breakpoint" . gud-tbreak)) 249 '("Temporary breakpoint" . gud-tbreak))
242 (local-set-key [menu-bar debug finish] '("Finish function" . gud-finish)) 250 (local-set-key [menu-bar debug finish] '("Finish function" . gud-finish))
@@ -455,9 +463,7 @@ available with older versions of GDB."
455 (find-tag-noselect f) 463 (find-tag-noselect f)
456 (find-file-noselect f)))) 464 (find-file-noselect f))))
457 (set-buffer buf) 465 (set-buffer buf)
458 (use-local-map (gud-new-keymap (current-local-map))) 466 (gud-make-debug-menu)
459 (define-key (current-local-map) [menu-bar debug]
460 (cons "Gud" (gud-new-keymap gud-menu-map)))
461 (local-set-key [menu-bar debug tbreak] '("Temporary breakpoint" . gud-tbreak)) 467 (local-set-key [menu-bar debug tbreak] '("Temporary breakpoint" . gud-tbreak))
462 buf))) 468 buf)))
463 469
@@ -688,9 +694,7 @@ This works in IRIX 4, 5 and 6.")
688 (save-excursion 694 (save-excursion
689 (let ((buf (find-file-noselect f))) 695 (let ((buf (find-file-noselect f)))
690 (set-buffer buf) 696 (set-buffer buf)
691 (use-local-map (gud-new-keymap (current-local-map))) 697 (gud-make-debug-menu)
692 (define-key (current-local-map) [menu-bar debug]
693 (cons "Gud" (gud-new-keymap gud-menu-map)))
694 (local-set-key [menu-bar debug up] '("Up stack" . gud-up)) 698 (local-set-key [menu-bar debug up] '("Up stack" . gud-up))
695 (local-set-key [menu-bar debug down] '("Down stack" . gud-down)) 699 (local-set-key [menu-bar debug down] '("Down stack" . gud-down))
696 buf))) 700 buf)))
@@ -820,9 +824,7 @@ containing the executable being debugged.")
820 (if realf 824 (if realf
821 (let ((buf (find-file-noselect realf))) 825 (let ((buf (find-file-noselect realf)))
822 (set-buffer buf) 826 (set-buffer buf)
823 (use-local-map (gud-new-keymap (current-local-map))) 827 (gud-make-debug-menu)
824 (define-key (current-local-map) [menu-bar debug]
825 (cons "Gud" (gud-new-keymap gud-menu-map)))
826 (local-set-key [menu-bar debug tbreak] 828 (local-set-key [menu-bar debug tbreak]
827 '("Temporary breakpoint" . gud-tbreak)) 829 '("Temporary breakpoint" . gud-tbreak))
828 (local-set-key [menu-bar debug finish] 830 (local-set-key [menu-bar debug finish]
@@ -1077,10 +1079,9 @@ comint mode, which see."
1077 (setq major-mode 'gud-mode) 1079 (setq major-mode 'gud-mode)
1078 (setq mode-name "Debugger") 1080 (setq mode-name "Debugger")
1079 (setq mode-line-process '(":%s")) 1081 (setq mode-line-process '(":%s"))
1080 (use-local-map (gud-new-keymap comint-mode-map)) 1082 (use-local-map comint-mode-map)
1083 (gud-make-debug-menu)
1081 (define-key (current-local-map) "\C-c\C-l" 'gud-refresh) 1084 (define-key (current-local-map) "\C-c\C-l" 'gud-refresh)
1082 (define-key (current-local-map) [menu-bar debug]
1083 (cons "Gud" (gud-new-keymap gud-menu-map)))
1084 (make-local-variable 'gud-last-frame) 1085 (make-local-variable 'gud-last-frame)
1085 (setq gud-last-frame nil) 1086 (setq gud-last-frame nil)
1086 (make-local-variable 'comint-prompt-regexp) 1087 (make-local-variable 'comint-prompt-regexp)