diff options
| author | Richard M. Stallman | 1995-01-22 16:44:58 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-01-22 16:44:58 +0000 |
| commit | 23a3aa0a12ee7ca2319ad1bcf5da20f88706be64 (patch) | |
| tree | 229e80ff1b28917950e334cea57d4937f8d347b3 | |
| parent | fcdeb5d9170830bf9fc183082debcd50abcb483a (diff) | |
| download | emacs-23a3aa0a12ee7ca2319ad1bcf5da20f88706be64.tar.gz emacs-23a3aa0a12ee7ca2319ad1bcf5da20f88706be64.zip | |
(gdb): In gud-remove, specify the source file.
(gud-new-keymap): New function.
(gud-xdb-find-file, gud-dbx-find-file, gud-sdb-find-file, gud-gdb-find-file):
Use it for keymap inheritance.
(gud-mode): Use gud-new-keymap, so inherit keymaps..
| -rw-r--r-- | lisp/gud.el | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/lisp/gud.el b/lisp/gud.el index 6b0596f6185..5d321369cf1 100644 --- a/lisp/gud.el +++ b/lisp/gud.el | |||
| @@ -228,14 +228,17 @@ we're in the GUD buffer)." | |||
| 228 | 228 | ||
| 229 | output)) | 229 | output)) |
| 230 | 230 | ||
| 231 | (defun gud-new-keymap (map) | ||
| 232 | "Return a new keymap which inherits from MAP and has name `Gud'." | ||
| 233 | (nconc (make-sparse-keymap "Gud") map)) | ||
| 234 | |||
| 231 | (defun gud-gdb-find-file (f) | 235 | (defun gud-gdb-find-file (f) |
| 232 | (save-excursion | 236 | (save-excursion |
| 233 | (let ((buf (find-file-noselect f))) | 237 | (let ((buf (find-file-noselect f))) |
| 234 | (set-buffer buf) | 238 | (set-buffer buf) |
| 239 | (use-local-map (gud-new-keymap (current-local-map))) | ||
| 235 | (define-key (current-local-map) [menu-bar debug] | 240 | (define-key (current-local-map) [menu-bar debug] |
| 236 | ;; The copy-keymap here avoids redefining the gud-menu-map | 241 | (cons "Gud" (gud-new-keymap gud-menu-map))) |
| 237 | ;; items in other buffers. | ||
| 238 | (cons "Gud" (copy-keymap gud-menu-map))) | ||
| 239 | (local-set-key [menu-bar debug tbreak] | 242 | (local-set-key [menu-bar debug tbreak] |
| 240 | '("Temporary breakpoint" . gud-tbreak)) | 243 | '("Temporary breakpoint" . gud-tbreak)) |
| 241 | (local-set-key [menu-bar debug finish] '("Finish function" . gud-finish)) | 244 | (local-set-key [menu-bar debug finish] '("Finish function" . gud-finish)) |
| @@ -269,7 +272,7 @@ and source-file directory for your debugger." | |||
| 269 | 272 | ||
| 270 | (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") | 273 | (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") |
| 271 | (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set temporary breakpoint at current line.") | 274 | (gud-def gud-tbreak "tbreak %f:%l" "\C-t" "Set temporary breakpoint at current line.") |
| 272 | (gud-def gud-remove "clear %l" "\C-d" "Remove breakpoint at current line") | 275 | (gud-def gud-remove "clear %f:%l" "\C-d" "Remove breakpoint at current line") |
| 273 | (gud-def gud-step "step %p" "\C-s" "Step one source line with display.") | 276 | (gud-def gud-step "step %p" "\C-s" "Step one source line with display.") |
| 274 | (gud-def gud-stepi "stepi %p" "\C-i" "Step one instruction with display.") | 277 | (gud-def gud-stepi "stepi %p" "\C-i" "Step one instruction with display.") |
| 275 | (gud-def gud-next "next %p" "\C-n" "Step one line (skip functions).") | 278 | (gud-def gud-next "next %p" "\C-n" "Step one line (skip functions).") |
| @@ -455,7 +458,9 @@ available with older versions of GDB." | |||
| 455 | (find-tag-noselect f) | 458 | (find-tag-noselect f) |
| 456 | (find-file-noselect f)))) | 459 | (find-file-noselect f)))) |
| 457 | (set-buffer buf) | 460 | (set-buffer buf) |
| 458 | (define-key (current-local-map) [menu-bar debug] (cons "Gud" (copy-keymap gud-menu-map))) | 461 | (use-local-map (gud-new-keymap (current-local-map))) |
| 462 | (define-key (current-local-map) [menu-bar debug] | ||
| 463 | (cons "Gud" (gud-new-keymap gud-menu-map))) | ||
| 459 | (local-set-key [menu-bar debug tbreak] '("Temporary breakpoint" . gud-tbreak)) | 464 | (local-set-key [menu-bar debug tbreak] '("Temporary breakpoint" . gud-tbreak)) |
| 460 | buf))) | 465 | buf))) |
| 461 | 466 | ||
| @@ -687,7 +692,9 @@ This works in IRIX 4, 5 and 6.") | |||
| 687 | (save-excursion | 692 | (save-excursion |
| 688 | (let ((buf (find-file-noselect f))) | 693 | (let ((buf (find-file-noselect f))) |
| 689 | (set-buffer buf) | 694 | (set-buffer buf) |
| 690 | (local-set-key [menu-bar debug] (cons "Gud" (copy-keymap gud-menu-map))) | 695 | (use-local-map (gud-new-keymap (current-local-map))) |
| 696 | (define-key (current-local-map) [menu-bar debug] | ||
| 697 | (cons "Gud" (gud-new-keymap gud-menu-map))) | ||
| 691 | (local-set-key [menu-bar debug up] '("Up stack" . gud-up)) | 698 | (local-set-key [menu-bar debug up] '("Up stack" . gud-up)) |
| 692 | (local-set-key [menu-bar debug down] '("Down stack" . gud-down)) | 699 | (local-set-key [menu-bar debug down] '("Down stack" . gud-down)) |
| 693 | buf))) | 700 | buf))) |
| @@ -817,7 +824,9 @@ containing the executable being debugged.") | |||
| 817 | (if realf | 824 | (if realf |
| 818 | (let ((buf (find-file-noselect realf))) | 825 | (let ((buf (find-file-noselect realf))) |
| 819 | (set-buffer buf) | 826 | (set-buffer buf) |
| 820 | (local-set-key [menu-bar debug] (cons "Gud" (copy-keymap gud-menu-map))) | 827 | (use-local-map (gud-new-keymap (current-local-map))) |
| 828 | (define-key (current-local-map) [menu-bar debug] | ||
| 829 | (cons "Gud" (gud-new-keymap gud-menu-map))) | ||
| 821 | (local-set-key [menu-bar debug tbreak] | 830 | (local-set-key [menu-bar debug tbreak] |
| 822 | '("Temporary breakpoint" . gud-tbreak)) | 831 | '("Temporary breakpoint" . gud-tbreak)) |
| 823 | (local-set-key [menu-bar debug finish] | 832 | (local-set-key [menu-bar debug finish] |
| @@ -1072,10 +1081,10 @@ comint mode, which see." | |||
| 1072 | (setq major-mode 'gud-mode) | 1081 | (setq major-mode 'gud-mode) |
| 1073 | (setq mode-name "Debugger") | 1082 | (setq mode-name "Debugger") |
| 1074 | (setq mode-line-process '(":%s")) | 1083 | (setq mode-line-process '(":%s")) |
| 1075 | (use-local-map (copy-keymap comint-mode-map)) | 1084 | (use-local-map (gud-new-keymap comint-mode-map)) |
| 1076 | (define-key (current-local-map) "\C-c\C-l" 'gud-refresh) | 1085 | (define-key (current-local-map) "\C-c\C-l" 'gud-refresh) |
| 1077 | (define-key (current-local-map) [menu-bar debug] | 1086 | (define-key (current-local-map) [menu-bar debug] |
| 1078 | (cons "Gud" gud-menu-map)) | 1087 | (cons "Gud" (gud-new-keymap gud-menu-map))) |
| 1079 | (make-local-variable 'gud-last-frame) | 1088 | (make-local-variable 'gud-last-frame) |
| 1080 | (setq gud-last-frame nil) | 1089 | (setq gud-last-frame nil) |
| 1081 | (make-local-variable 'comint-prompt-regexp) | 1090 | (make-local-variable 'comint-prompt-regexp) |