changeset 72200:46549662dfe0

(gdb-find-source-frame): New option. (gdb-stopped): Use it.
author Nick Roberts <nickrob@snap.net.nz>
date Mon, 31 Jul 2006 06:13:18 +0000
parents 190ee6511573
children 3911f81b3f08
files lisp/progmodes/gdb-ui.el
diffstat 1 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/gdb-ui.el	Mon Jul 31 06:05:04 2006 +0000
+++ b/lisp/progmodes/gdb-ui.el	Mon Jul 31 06:13:18 2006 +0000
@@ -1358,6 +1358,12 @@
   :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 @@
     (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