aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-12-14 21:41:05 +0000
committerdos-reis <gdr@axiomatics.org>2010-12-14 21:41:05 +0000
commit683b15834757e0ccb39afe72bb46c4d644ce033e (patch)
tree38124177955a731f9b1dc358067bc8e706b74446 /src/boot
parent03096666f13a4659f18824b2676aa27602999ab5 (diff)
downloadopen-axiom-683b15834757e0ccb39afe72bb46c4d644ce033e.tar.gz
* boot/ast.boot (bfQ): Emit STRING= for string comparison.
* interp/i-output.boot: Fix type violation in equality comparison.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ast.boot1
-rw-r--r--src/boot/strap/ast.clisp1
-rw-r--r--src/boot/strap/includer.clisp2
-rw-r--r--src/boot/strap/translator.clisp4
4 files changed, 5 insertions, 3 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index d703475b..04933187 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -751,6 +751,7 @@ bfQ(l,r)==
l = nil => ["NULL",r]
r = nil => ["NULL",l]
l = true or r = true => ["EQ",l,r]
+ string? l or string? r => ["STRING=",l,r]
["EQUAL",l,r]
bfLessp(l,r)==
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index a022f053..ba658ba5 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -1209,6 +1209,7 @@
((NULL |l|) (LIST 'NULL |r|))
((NULL |r|) (LIST 'NULL |l|))
((OR (EQ |l| T) (EQ |r| T)) (LIST 'EQ |l| |r|))
+ ((OR (STRINGP |l|) (STRINGP |r|)) (LIST 'STRING= |l| |r|))
(T (LIST 'EQUAL |l| |r|))))
(DEFUN |bfLessp| (|l| |r|)
diff --git a/src/boot/strap/includer.clisp b/src/boot/strap/includer.clisp
index 4d4cd438..154e1cd4 100644
--- a/src/boot/strap/includer.clisp
+++ b/src/boot/strap/includer.clisp
@@ -92,7 +92,7 @@
(T (SETQ |a| (CAAR |stream|))
(COND
((AND (NOT (< (LENGTH |a|) 8))
- (EQUAL (SUBSTRING |a| 0 8) ")package"))
+ (STRING= (SUBSTRING |a| 0 8) ")package"))
(|shoePackageStartsAt| (CONS (CAAR |stream|) |lines|)
|sz| |name| (CDR |stream|)))
((< (LENGTH |a|) |sz|)
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp
index 2171c415..c9b972c4 100644
--- a/src/boot/strap/translator.clisp
+++ b/src/boot/strap/translator.clisp
@@ -623,8 +623,8 @@
(LET ((|m| (CADR |b|)))
(PROGN
(COND
- ((NOT (EQUAL (|getOptionValue| '|import|)
- "skip"))
+ ((NOT (STRING= (|getOptionValue| '|import|)
+ "skip"))
(|bootImport| (STRING |m|))))
(LIST (LIST 'IMPORT-MODULE (STRING |m|))))))
(|%ImportSignature|