diff options
| author | Karl Heuer | 1995-05-29 20:10:58 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-05-29 20:10:58 +0000 |
| commit | 07fc7c8a47945e7222d3f92524b2eb6f945acf0e (patch) | |
| tree | cffa50ae95b6db42d9cbf89fb8cde490707f767a | |
| parent | 5ab917b4b661232e1ace782942de77b4fbe25c55 (diff) | |
| download | emacs-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.el | 31 |
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. | ||
| 235 | If it doesn't, replace it with a new map that inherits it, | ||
| 236 | and 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) |