aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/gud.el
diff options
context:
space:
mode:
authorJim Blandy <[email protected]>1993-06-11 11:28:28 +0000
committerJim Blandy <[email protected]>1993-06-11 11:28:28 +0000
commit32ab4c10692ea7f1f1ed127fd7a0750ff977416f (patch)
tree30d96aa7485b3da2cdd7585ceccfca772403c8e5 /lisp/gud.el
parent7ee2a204451ad5acff07e82d49e0c17ae76e9fd6 (diff)
* gud.el (gud-last-last-frame): New variable.
(gud-display-frame): Save the frame we displayed in gud-last-last-frame. (gud-refresh): Force gud-display-frame to jump to the last frame displayed, even if it has already done so once.
Diffstat (limited to 'lisp/gud.el')
-rw-r--r--lisp/gud.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/gud.el b/lisp/gud.el
index 411277c806..98b12af6b7 100644
--- a/lisp/gud.el
+++ b/lisp/gud.el
@@ -114,6 +114,11 @@ we're in the GUD buffer)."
;; indications of the current program counter.
(defvar gud-last-frame nil)
+;; Used by gud-refresh, which should cause gud-display-frame to redisplay
+;; the last frame, even if it's been called before and gud-last-frame has
+;; been set to nil.
+(defvar gud-last-last-frame)
+
;; All debugger-specific information is collected here.
;; Here's how it works, in case you ever need to add a debugger to the mode.
;;
@@ -540,7 +545,8 @@ Obeying it means displaying in another window the specified file and line."
(progn
(gud-set-buffer)
(gud-display-line (car gud-last-frame) (cdr gud-last-frame))
- (setq gud-last-frame nil))))
+ (setq gud-last-last-frame gud-last-frame
+ gud-last-frame nil))))
;; Make sure the file named TRUE-FILE is in a buffer that appears on the screen
;; and that its line LINE is visible.
@@ -665,6 +671,7 @@ Obeying it means displaying in another window the specified file and line."
"Fix up a possibly garbled display, and redraw the arrow."
(interactive "P")
(recenter arg)
+ (or gud-last-frame (setq gud-last-frame gud-last-last-frame))
(gud-display-frame))
;;; Code for parsing expressions out of C code. The single entry point is