summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/debug.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/debug.el')
-rw-r--r--lisp/emacs-lisp/debug.el53
1 files changed, 49 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el
index c35142ce115..3d2dcf59d4a 100644
--- a/lisp/emacs-lisp/debug.el
+++ b/lisp/emacs-lisp/debug.el
@@ -232,9 +232,10 @@ first will be printed into the backtrace buffer."
;; would need to be de-iconified anyway immediately
;; after when we re-enter the debugger, so iconifying it
;; here would cause flashing.
- ;; Use quit-window rather than bury-buffer to quieten
- ;; Drew Adams. --Stef
- (quit-window))))
+ ;; Drew Adams is not happy with this: he wants to frame
+ ;; to be left at the top-level, still working on how
+ ;; best to do that.
+ (bury-buffer))))
(kill-buffer debugger-buffer))
(with-timeout-unsuspend debugger-with-timeout-suspend)
(set-match-data debugger-outer-match-data)))
@@ -585,7 +586,8 @@ Applies to the frame whose line point is on in the backtrace."
(debugger-env-macro (eval-expression exp)))
(defvar debugger-mode-map
- (let ((map (make-keymap)))
+ (let ((map (make-keymap))
+ (menu-map (make-sparse-keymap)))
(set-keymap-parent map button-buffer-map)
(suppress-keymap map)
(define-key map "-" 'negative-argument)
@@ -603,6 +605,49 @@ Applies to the frame whose line point is on in the backtrace."
(define-key map "R" 'debugger-record-expression)
(define-key map "\C-m" 'debug-help-follow)
(define-key map [mouse-2] 'push-button)
+ (define-key map [menu-bar debugger] (cons "Debugger" menu-map))
+ (define-key menu-map [deb-top]
+ '(menu-item "Quit" top-level
+ :help "Quit debugging and return to top level"))
+ (define-key menu-map [deb-s0] '("--"))
+ (define-key menu-map [deb-descr]
+ '(menu-item "Describe Debugger Mode" describe-mode
+ :help "Display documentation for debugger-mode"))
+ (define-key menu-map [deb-hfol]
+ '(menu-item "Help Follow" debug-help-follow
+ :help "Follow cross-reference"))
+ (define-key menu-map [deb-nxt]
+ '(menu-item "Next Line" next-line
+ :help "Move cursor down"))
+ (define-key menu-map [deb-s1] '("--"))
+ (define-key menu-map [deb-lfunc]
+ '(menu-item "List debug on entry functions" debugger-list-functions
+ :help "Display a list of all the functions now set to debug on entry"))
+ (define-key menu-map [deb-fclear]
+ '(menu-item "Cancel debug frame" debugger-frame-clear
+ :help "Do not enter debugger when this frame exits"))
+ (define-key menu-map [deb-frame]
+ '(menu-item "Debug frame" debugger-frame
+ :help "Request entry to debugger when this frame exits"))
+ (define-key menu-map [deb-s2] '("--"))
+ (define-key menu-map [deb-ret]
+ '(menu-item "Return value..." debugger-return-value
+ :help "Continue, specifying value to return."))
+ (define-key menu-map [deb-rec]
+ '(menu-item "Display and Record Expression" debugger-record-expression
+ :help "Display a variable's value and record it in `*Backtrace-record*' buffer"))
+ (define-key menu-map [deb-eval]
+ '(menu-item "Eval Expression..." debugger-eval-expression
+ :help "Eval an expression, in an environment like that outside the debugger"))
+ (define-key menu-map [deb-jump]
+ '(menu-item "Jump" debugger-jump
+ :help "Continue to exit from this frame, with all debug-on-entry suspended"))
+ (define-key menu-map [deb-cont]
+ '(menu-item "Continue" debugger-continue
+ :help "Continue, evaluating this expression without stopping"))
+ (define-key menu-map [deb-step]
+ '(menu-item "Step through" debugger-step-through
+ :help "Proceed, stepping through subexpressions of this expression"))
map))
(put 'debugger-mode 'mode-class 'special)