aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-07-14 12:40:31 +0000
committerdos-reis <gdr@axiomatics.org>2011-07-14 12:40:31 +0000
commit4a4bc97750020f7c31ca8b29fdc4a104f7825367 (patch)
treeb6f37a94da2648ac1304d5275370a34f84d41fa3 /src/boot
parent6d1f2b4e6a2a874bdda936fb17f20fee84649857 (diff)
downloadopen-axiom-4a4bc97750020f7c31ca8b29fdc4a104f7825367.tar.gz
* boot/ast.boot (bfIS1): Tidy test for cons cells.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ast.boot1
-rw-r--r--src/boot/strap/ast.clisp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index 190fc926..1af82d64 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -677,6 +677,7 @@ bfIS1(lhs,rhs) ==
rhs is ['CONS,a,b] =>
a is "DOT" =>
b = nil => bfAND [['CONSP,lhs],['NULL,['CDR,lhs]]]
+ b is "DOT" => ['CONSP,lhs]
bfAND [['CONSP,lhs],bfIS1(['CDR,lhs],b)]
b = nil =>
bfAND [['CONSP,lhs],['NULL,['CDR,lhs]],bfIS1(['CAR,lhs],a)]
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index 33bfc335..8a8a75d7 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -1083,6 +1083,7 @@
((NULL |b|)
(|bfAND| (LIST (LIST 'CONSP |lhs|)
(LIST 'NULL (LIST 'CDR |lhs|)))))
+ ((EQ |b| 'DOT) (LIST 'CONSP |lhs|))
(T (|bfAND| (LIST (LIST 'CONSP |lhs|)
(|bfIS1| (LIST 'CDR |lhs|) |b|))))))
((NULL |b|)