aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ast.boot5
-rw-r--r--src/boot/strap/ast.clisp6
-rw-r--r--src/boot/strap/parser.clisp6
3 files changed, 12 insertions, 5 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index b7ae91b5..8d5a6d57 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -1113,7 +1113,10 @@ shoeCompTran1(x,fluidVars,locVars,dollarVars) ==
deref(locVars) := [l,:deref locVars]
x
x
- U is "%Leave" => (x.op := "RETURN"; x)
+ U is "%Leave" =>
+ x.op := "RETURN"
+ x.args := shoeCompTran1(x.args,fluidVars,locVars,dollarVars)
+ x
U in '(PROG LAMBDA) =>
newbindings := nil
for y in second x repeat
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index 9c271751..eea10d77 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -1895,7 +1895,11 @@
(CONS |l| (|deref| |locVars|)))))
|x|)))
(T |x|)))))
- ((EQ U '|%Leave|) (RPLACA |x| 'RETURN) |x|)
+ ((EQ U '|%Leave|) (RPLACA |x| 'RETURN)
+ (RPLACD |x|
+ (|shoeCompTran1| (CDR |x|) |fluidVars| |locVars|
+ |dollarVars|))
+ |x|)
((|symbolMember?| U '(PROG LAMBDA)) (SETQ |newbindings| NIL)
(LET ((|bfVar#1| (CADR |x|)) (|y| NIL))
(LOOP
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 1b05fd82..985611d3 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -502,7 +502,7 @@
((|bpEqPeek| |ps| 'COLON) (|bpRestore| |ps| |a|)
(|bpRequire| |ps| #'|bpSignature|)
(OR (|bpExportItemTail| |ps|) T))
- (T (|bpRestore| |ps| |a|) (|bpTypeAliasDefition| |ps|))))
+ (T (|bpRestore| |ps| |a|) (|bpTypeAliasDefinition| |ps|))))
(T NIL))))))
(DEFUN |bpExportItemList| (|ps|) (|bpListAndRecover| |ps| #'|bpExportItem|))
@@ -555,7 +555,7 @@
(AND (|bpEqKey| |ps| 'NAMESPACE) (OR (|bpName| |ps|) (|bpDot| |ps|))
(|bpPush| |ps| (|bfNamespace| (|bpPop1| |ps|)))))
-(DEFUN |bpTypeAliasDefition| (|ps|)
+(DEFUN |bpTypeAliasDefinition| (|ps|)
(AND (|bpTypeName| |ps|) (|bpEqKey| |ps| 'TDEF) (|bpLogical| |ps|)
(|bpPush| |ps| (|%TypeAlias| (|bpPop2| |ps|) (|bpPop1| |ps|)))))
@@ -1024,7 +1024,7 @@
((|bpExit| |ps|)
(COND ((|bpEqPeek| |ps| 'DEF) (|bpRestore| |ps| |a|) (|bpDef| |ps|))
((|bpEqPeek| |ps| 'TDEF) (|bpRestore| |ps| |a|)
- (|bpTypeAliasDefition| |ps|))
+ (|bpTypeAliasDefinition| |ps|))
(T T)))
(T (|bpRestore| |ps| |a|) NIL))))))