aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/translator.clisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-12-11 22:48:38 +0000
committerdos-reis <gdr@axiomatics.org>2010-12-11 22:48:38 +0000
commita07faca18a3f5f7435cfc21f0a66a183d2c0cd05 (patch)
treecdc26e56baad314d992424ba2223ef98dda3af4b /src/boot/strap/translator.clisp
parent0835ad7e9a8e7f90f61b633fd74304f00b07d386 (diff)
downloadopen-axiom-a07faca18a3f5f7435cfc21f0a66a183d2c0cd05.tar.gz
* boot/tokens.boot: `finally' is now a keyword.
* boot/parser.boot (bpMissing): Use a BootParserException exception. (bpTrap): Likewise. (bpListAndRecover): Catch them. * boot/parser.boot (shoeOutParse): Likewise. * boot/ast.boot (bfHandlers): Fix thinko. (codeForCatchHandlers): Likewise.
Diffstat (limited to 'src/boot/strap/translator.clisp')
-rw-r--r--src/boot/strap/translator.clisp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp
index 1d17a095..2171c415 100644
--- a/src/boot/strap/translator.clisp
+++ b/src/boot/strap/translator.clisp
@@ -506,7 +506,18 @@
(SETQ |$bpCount| 0)
(SETQ |$bpParenCount| 0)
(|bpFirstTok|)
- (SETQ |found| (CATCH 'TRAPPOINT (|bpOutItem|)))
+ (SETQ |found|
+ (LET ((#0=#:G1354
+ (CATCH :OPEN-AXIOM-CATCH-POINT (|bpOutItem|))))
+ (COND
+ ((AND (CONSP #0#)
+ (EQUAL (CAR #0#) :OPEN-AXIOM-CATCH-POINT))
+ (COND
+ ((EQUAL (CAR #1=(CDR #0#))
+ '(|BootParserException|))
+ (LET ((|e| (CDR #1#))) |e|))
+ (T (THROW :OPEN-AXIOM-CATCH-POINT #0#))))
+ (T #0#))))
(COND
((EQ |found| 'TRAPPED) NIL)
((NOT (|bStreamNull| |$inputStream|)) (|bpGeneralErrorHere|)