diff options
author | dos-reis <gdr@axiomatics.org> | 2010-12-14 21:41:05 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-12-14 21:41:05 +0000 |
commit | 683b15834757e0ccb39afe72bb46c4d644ce033e (patch) | |
tree | 38124177955a731f9b1dc358067bc8e706b74446 /src/boot | |
parent | 03096666f13a4659f18824b2676aa27602999ab5 (diff) | |
download | open-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.boot | 1 | ||||
-rw-r--r-- | src/boot/strap/ast.clisp | 1 | ||||
-rw-r--r-- | src/boot/strap/includer.clisp | 2 | ||||
-rw-r--r-- | src/boot/strap/translator.clisp | 4 |
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| |