From a64ae2c1348f1471f4ae9c154dfa439d217335b0 Mon Sep 17 00:00:00 2001
From: ram <ram>
Date: Fri, 11 Feb 1994 20:42:55 +0000
Subject: [PATCH] Some extra protection against recursive invocation of the
 windowing debugger.

---
 interface/debug.lisp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/interface/debug.lisp b/interface/debug.lisp
index 753f70d39..873a67432 100644
--- a/interface/debug.lisp
+++ b/interface/debug.lisp
@@ -549,6 +549,10 @@
 
 
 
+;;; Used to prevent recursive invocations of the windowing debugger.
+;;;
+(defvar *in-windowing-debugger* nil)
+
 ;;; INVOKE-DEBUGGER -- Public
 ;;;
 ;;; Invokes the Lisp debugger.  It executes some common debugger setup code
@@ -572,12 +576,13 @@
 	 (*print-readably* nil)
 	 (*read-eval* t))
     (if (or (not (use-graphics-interface))
+	    *in-windowing-debugger*
 	    (typep condition 'xti:toolkit-error))
 	(progn
 	  (format *error-output* "~2&~A~2&" *debug-condition*)
 	  (unless (typep condition 'step-condition)
 	    (show-restarts *debug-restarts* *error-output*))
 	  (internal-debug))
-	(progn
+	(let ((*in-windowing-debugger* t))
 	  (write-line "Invoking debugger...")
 	  (invoke-motif-debugger condition)))))
-- 
GitLab