aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog12
-rw-r--r--src/interp/i-special.boot2
-rw-r--r--src/interp/int-top.boot4
-rw-r--r--src/interp/sys-macros.lisp33
4 files changed, 15 insertions, 36 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6a1fff0b..bade6e90 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,15 @@
+2012-05-01 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/i-special.boot (interpREPEAT): Use CATCH directly.
+ * interp/int-top.boot (intloopSpadProcess): Likewise.
+ * interp/sys-macros.lisp (funcall): Remove.
+ (Catch): Likewise.
+ (Throw): Likewise.
+ (UnwindProtect): Likewise.
+ (SPADCATCH): Likewise.
+ (SPADTHROW): Likewise.
+ (YIELD): Likewise.
+
2012-04-30 Gabriel Dos Reis <gdr@cs.tamu.edu>
* algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,
diff --git a/src/interp/i-special.boot b/src/interp/i-special.boot
index 4be81980..d8c1abe4 100644
--- a/src/interp/i-special.boot
+++ b/src/interp/i-special.boot
@@ -2251,7 +2251,7 @@ interpREPEAT(op,itrl,body,repeatMode) ==
['%repeat,:[interpIter itr for itr in itrl],
["CATCH",$repeatBodyLabel,interpLoop(body,$indexVars,
$indexTypes,nil)],voidValue()]
- SPADCATCH(eval $repeatLabel,timedEVALFUN code)
+ CATCH(eval $repeatLabel,timedEVALFUN code)
val:= objNewWrap(voidValue(),repeatMode)
putValue(op,val)
putModeSet(op,[repeatMode])
diff --git a/src/interp/int-top.boot b/src/interp/int-top.boot
index a4927b31..407e26b1 100644
--- a/src/interp/int-top.boot
+++ b/src/interp/int-top.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2011, Gabriel Dos Reis.
+-- Copyright (C) 2007-2012, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -236,7 +236,7 @@ intloopSpadProcess(stepNo,lines,ptree,interactive?)==
ncPutQ(cc, 'messages, $ncMsgList)
ncPutQ(cc, 'lines, lines)
$ncMsgList := nil
- result := CatchAsCan(flung, Catch("SpadCompileItem",
+ result := CatchAsCan(flung, CATCH("SpadCompileItem",
CATCH($intCoerceFailure, CATCH($SpadReaderTag,
interp(cc, ptree, interactive?))))) where
diff --git a/src/interp/sys-macros.lisp b/src/interp/sys-macros.lisp
index 39d0385e..307a5d7d 100644
--- a/src/interp/sys-macros.lisp
+++ b/src/interp/sys-macros.lisp
@@ -1050,23 +1050,6 @@
(defmacro SPADREDUCE (OP AXIS BOD)
(REDUCE-1 OP AXIS BOD))
-;;
-;; -*- Control -*-
-;;
-
-
-(defmacro |funcall| (&rest args)
- (cons 'funcall args) )
-
-(defmacro |Catch| (tag expr)
- `(catch ,tag ,expr) )
-
-(defmacro |Throw| (tag expr)
- `(Throw ,tag ,expr) )
-
-(defmacro |UnwindProtect| (a b)
- `(unwind-protect ,a ,b) )
-
;;
;; -*- List Comprehension -*-
;;
@@ -1076,22 +1059,6 @@
(CONS 'THETA (CONS '\, (|append!| (CAR U) (LIST (CDR U)))))))
;;
-;; -*- Non-Local Gotos -*-
-;;
-
-(defmacro SPADCATCH (&rest form)
- (CONS 'CATCH form))
-
-(defmacro SPADTHROW (&rest form)
- (CONS 'THROW form))
-
-(defmacro YIELD (L)
- (let ((g (gensym)))
- `(let ((,g (state)))
- (if (STATEP ,g)
- (throw 'YIELD (list 'pair ,L) ,g)))))
-
-;;
;; -*- Input/Output -*-
;;