dbgr-cmdbuf-info
(dbgr-cmdbuf-info? dbgr-cmdbuf-info)))
+(defun dbgr-cmdbuf-toggle-in-debugger? (&optional buffer)
+ "Toggle state of whether we think we are in the debugger or not"
+ (interactive "")
+ (setq buffer (dbgr-get-cmdbuf buffer))
+ (if buffer
+ (with-current-buffer buffer
+ (dbgr-cmdbuf-info-in-debugger?=
+ (not (dbgr-sget 'cmdbuf-info 'in-debugger?)))
+ (message "Command buffer is in debugger?: %s\n"
+ (dbgr-cmdbuf-info-in-debugger? dbgr-cmdbuf-info))
+ (dbgr-cmdbuf-mode-line-update)
+ )
+ (message "Buffer %s is not a debugger buffer; nothing done."
+ (or buffer (current-buffer)))
+ )
+ )
+
(defun dbgr-cmdbuf-stay-in-source-toggle (&optional buffer)
"Toggle state of whether we should stay in source code or not"
(interactive "")
(define-key map "d" 'dbgr-cmd-newer-frame)
(define-key map "u" 'dbgr-cmd-older-frame)
(define-key map "l" 'dbgr-recenter-arrow)
+ (define-key map "B" 'dbgr-backtrace-init)
(define-key map "C" 'dbgr-window-cmd-undisturb-src)
(define-key map "S" 'dbgr-window-src-undisturb-cmd)
)
(dbgr-fringe-erase-history-arrows)
(remove-hook 'comint-output-filter-functions
- 'dbgr-track-comint-output-filter-hook)
+ 'dbgr-track-comint-output-filter-hook)
(remove-hook 'eshell-output-filter-functions
'dbgr-track-eshell-output-filter-hook)
(let* ((cmd-process (get-buffer-process (current-buffer)))
(setq mode-line-process status)
;; Force mode line redisplay soon.
(force-mode-line-update)
+ ;; FIXME: This is a workaround. Without this, we comint doesn't
+ ;; process commands
+ (comint-mode)
)
;; FIXME: restore/unchain old process sentinels.
;; For name == "trepan", produces:
+;; (defvar trepan-track-mode nil
+;; "Non-nil if using trepan track-mode ... "
;; (defvar trepan-track-mode-map (make-sparse-keymap))
;; (set-keymap-parent trepan-track-mode-map dbgr-track-mode-map)
+;; (defvar trepan-short-key-mode-map (make-sparse-keymap))
+;; (set-keymap-parent trepan-short-key-mode-map dbgr-short-key-mode-map)
(defmacro dbgr-track-mode-vars (name)
`(progn
(defvar ,(intern (concat name "-track-mode")) nil
Use the command `%s-track-mode' to toggle or set this variable." name name))
(defvar ,(intern (concat name "-track-mode-map")) (make-sparse-keymap)
,(format "Keymap used in `%s-track-mode'." name))
- (defvar ,(intern (concat name "-track-mode-map")) dbgr-track-mode-map)
+ (set-keymap-parent ,(intern (concat name "-track-mode-map")) dbgr-track-mode-map)
+ (defvar ,(intern (concat name "-short-key-mode-map")) (make-sparse-keymap))
+ (set-keymap-parent ,(intern (concat name "-short-key-mode-map")) dbgr-short-key-mode-map)
))
;; FIXME: The below could be a macro? I have a hard time getting
(define-key dbgr-perldb-track-mode-map
(kbd "C-c !b") 'dbgr-goto-debugger-backtrace-line)
+;; Perldb doesn't have stack switching commands.
+(define-key dbgr-perldb-short-key-mode-map
+ [remap dbg-cmd-newer-frame] 'undefined)
+(define-key dbgr-perldb-short-key-mode-map
+ [remap dbgr-cmd-older-frame] 'undefined)
+
(defun dbgr-perldb-track-mode-hook()
(if dbgr-perldb-track-mode
(progn