aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog5
-rw-r--r--src/interp/spaderror.lisp4
-rw-r--r--src/interp/sys-constants.boot10
3 files changed, 15 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 4cc31a60..b202fc6c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-06 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/sys-constants.boot ($quitTag): Define here.
+ * interp/spaderror.lisp ($quitTag): Don't define here.
+
2008-04-05 Gabriel Dos Reis <gdr@cs.tamu.edu>
* graph/include/Gfun.H1: Remove K&R prototypes.
diff --git a/src/interp/spaderror.lisp b/src/interp/spaderror.lisp
index aedfc5f9..42f65a32 100644
--- a/src/interp/spaderror.lisp
+++ b/src/interp/spaderror.lisp
@@ -44,12 +44,8 @@
;;(defmacro |trappedSpadEval| (form) form) ;;nop for now
#+:akcl
-(defconstant |$quitTag| system::*quit-tag*)
-#+:akcl
(defun |resetStackLimits| () (system:reset-stack-limits))
#-:akcl
-(defconstant |$quitTag| (gensym))
-#-:akcl
(defun |resetStackLimits| () nil)
;; failed union branch -- value returned for numeric failure
diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot
index 5540a575..c79941ea 100644
--- a/src/interp/sys-constants.boot
+++ b/src/interp/sys-constants.boot
@@ -624,3 +624,13 @@ BLANK == '" "
++
UNDERBAR == '"__"
+
+++ Lisp catch tag used by some Lisp systems to exit the debugger loop.
+$quitTag ==
+)if %hasFeature KEYWORD::GCL
+ SYSTEM::_*QUIT_-TAG_*
+)elseif %hasFeature KEYWORD::SBCL
+ QUOTE SB_-INT::TOPLEVEL_-CATCHER
+)else
+ GENSYM()
+)endif