summaryrefslogtreecommitdiff
path: root/lisp/progmodes/gdb-ui.el
diff options
context:
space:
mode:
authorNick Roberts <nickrob@snap.net.nz>2006-07-31 06:13:18 +0000
committerNick Roberts <nickrob@snap.net.nz>2006-07-31 06:13:18 +0000
commit2b63aedbe1ccc3205c61f3913f5ed0b199398c9e (patch)
tree797a7d7e8858147d951c19cb2d65ca2faad285ae /lisp/progmodes/gdb-ui.el
parentab5e2abdcabcd3921f73b451e799f3146e46e0f1 (diff)
downloademacs-2b63aedbe1ccc3205c61f3913f5ed0b199398c9e.tar.gz
(gdb-find-source-frame): New option.
(gdb-stopped): Use it.
Diffstat (limited to 'lisp/progmodes/gdb-ui.el')
-rw-r--r--lisp/progmodes/gdb-ui.el21
1 files changed, 14 insertions, 7 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 466ef70ff23..ce50c81e92d 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1358,6 +1358,12 @@ directives."
:type 'boolean
:version "22.1")
+(defcustom gdb-find-source-frame t
+ "Non-nil means try to find source further up stack e.g after signal."
+ :group 'gud
+ :type 'boolean
+ :version "22.1")
+
(defun gdb-stopped (ignored)
"An annotation handler for `stopped'.
It is just like `gdb-stopping', except that if we already set the output
@@ -1371,14 +1377,15 @@ sink to `user' in `gdb-stopping', that is fine."
(if gdb-same-frame
(gdb-display-gdb-buffer)
(gdb-frame-gdb-buffer))
+ (if gdb-find-source-frame
;;Try to find source further up stack e.g after signal.
- (setq gdb-look-up-stack
- (if (gdb-get-buffer 'gdb-stack-buffer)
- 'keep
- (progn
- (gdb-get-buffer-create 'gdb-stack-buffer)
- (gdb-invalidate-frames)
- 'delete)))))
+ (setq gdb-look-up-stack
+ (if (gdb-get-buffer 'gdb-stack-buffer)
+ 'keep
+ (progn
+ (gdb-get-buffer-create 'gdb-stack-buffer)
+ (gdb-invalidate-frames)
+ 'delete))))))
(unless (member gdb-inferior-status '("exited" "signal"))
(setq gdb-inferior-status "stopped")
(gdb-force-mode-line-update