Mercurial > emacs
changeset 66887:a3db1720a101
(gud-menu-map, gud-tool-bar-map): Re-define buttons and include new ones.
(gud-tool-bar-item-visible-no-fringe): New function.
(gud-menu-map): Use it.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Tue, 15 Nov 2005 12:27:29 +0000 |
parents | 10f616ac16f1 |
children | b991cdef1a8d |
files | lisp/progmodes/gud.el |
diffstat | 1 files changed, 22 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/gud.el Tue Nov 15 12:25:49 2005 +0000 +++ b/lisp/progmodes/gud.el Tue Nov 15 12:27:29 2005 +0000 @@ -122,6 +122,11 @@ (info "(emacs)GDB Graphical Interface") (info "(emacs)Debuggers")))) +(defun gud-tool-bar-item-visible-no-fringe () + (not (or (eq (buffer-local-value 'major-mode (window-buffer)) 'speedbar-mode) + (and (memq gud-minor-mode '(gdbmi gdba)) + (> (car (window-fringes)) 0))))) + (easy-mmode-defmap gud-menu-map '(([help] "Info" . gud-goto-info) ([tooltips] menu-item "Toggle GUD tooltips" gud-tooltip-mode @@ -132,23 +137,26 @@ ([refresh] "Refresh" . gud-refresh) ([run] menu-item "Run" gud-run :enable (and (not gud-running) - (memq gud-minor-mode '(gdbmi gdba gdb dbx jdb)))) + (memq gud-minor-mode '(gdbmi gdb dbx jdb))) + :visible (not (eq gud-minor-mode 'gdba))) + ([go] menu-item "Run/Continue" gud-go + :enable (not gud-running) + :visible (eq gud-minor-mode 'gdba)) + ([stop] menu-item "Stop" comint-interrupt-subjob + :enable gud-running) ([until] menu-item "Continue to selection" gud-until :enable (and (not gud-running) (memq gud-minor-mode '(gdbmi gdba gdb perldb))) - :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) - (> (car (window-fringes)) 0)))) + :visible (gud-tool-bar-item-visible-no-fringe)) ([remove] menu-item "Remove Breakpoint" gud-remove :enable (not gud-running) - :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) - (> (car (window-fringes)) 0)))) + :visible (gud-tool-bar-item-visible-no-fringe)) ([tbreak] menu-item "Temporary Breakpoint" gud-tbreak :enable (memq gud-minor-mode '(gdbmi gdba gdb sdb xdb bashdb))) ([break] menu-item "Set Breakpoint" gud-break :enable (not gud-running) - :visible (not (and (memq gud-minor-mode '(gdbmi gdba)) - (> (car (window-fringes)) 0)))) + :visible (gud-tool-bar-item-visible-no-fringe)) ([up] menu-item "Up Stack" gud-up :enable (and (not gud-running) (memq gud-minor-mode @@ -163,7 +171,7 @@ :visible (and (string-equal (buffer-local-value 'gud-target-name gud-comint-buffer) "emacs") - (memq gud-minor-mode '(gdbmi gdba)))) + (eq gud-minor-mode 'gdba))) ([print*] menu-item "Print Dereference" gud-pstar :enable (and (not gud-running) (memq gud-minor-mode '(gdbmi gdba gdb)))) @@ -187,7 +195,8 @@ ([next] menu-item "Next Line" gud-next :enable (not gud-running)) ([cont] menu-item "Continue" gud-cont - :enable (not gud-running))) + :enable (not gud-running) + :visible (not (eq gud-minor-mode 'gdba)))) "Menu for `gud-mode'." :name "Gud") @@ -213,10 +222,12 @@ (gud-pstar . "gud/pstar") (gud-pp . "gud/pp") (gud-watch . "gud/watch") - (gud-cont . "gud/cont") + (gud-finish . "gud/finish") (gud-until . "gud/until") - (gud-finish . "gud/finish") + (gud-cont . "gud/cont") (gud-run . "gud/run") + (gud-go . "gud/go") + (comint-interrupt-subjob . "gud/stop") ;; gud-s, gud-si etc. instead of gud-step, ;; gud-stepi, to avoid file-name clashes on DOS ;; 8+3 filesystems.