Created
May 30, 2012 17:01
-
-
Save washort/2837637 to your computer and use it in GitHub Desktop.
EoCL changes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git diff -M HEAD | |
M lisp/base.lisp | |
M lisp/float.lisp | |
M lisp/util.lisp | |
diff --git a/lisp/base.lisp b/lisp/base.lisp | |
index 3ba43b3..21f6fe5 100644 | |
--- a/lisp/base.lisp | |
+++ b/lisp/base.lisp | |
@@ -30,12 +30,9 @@ | |
(eval-when (:compile-toplevel :load-toplevel :execute) | |
; XXX these are the double-float versions - make this explicit | |
- (defconstant |NaN| | |
- (or #+sbcl | |
- (ignore-errors | |
- (with-appropriate-floating-point-rules | |
- (- sb-ext:double-float-positive-infinity sb-ext:double-float-positive-infinity))) | |
- '|NaN|) | |
+ (defvar |NaN| | |
+ (sb-int:with-float-traps-masked (:overflow :invalid :divide-by-zero) | |
+ (- sb-ext:double-float-positive-infinity sb-ext:double-float-positive-infinity)) | |
"The double-float Not-a-Number value if available, or a symbol.") | |
(defconstant |Infinity| | |
#+sbcl sb-ext:double-float-positive-infinity | |
diff --git a/lisp/float.lisp b/lisp/float.lisp | |
index d493ee7..f4eb2a0 100644 | |
--- a/lisp/float.lisp | |
+++ b/lisp/float.lisp | |
@@ -16,7 +16,7 @@ | |
(declare (ignore this)) | |
+e-false+)) | |
-(def-vtable (eql #.|NaN|) | |
+(def-vtable (eql |NaN|) | |
(:|__printOn| (this (tw +the-text-writer-guard+)) | |
(declare (ignore this)) | |
(e. tw |print| "NaN")) | |
diff --git a/lisp/util.lisp b/lisp/util.lisp | |
index d4681a7..d720fde 100644 | |
--- a/lisp/util.lisp | |
+++ b/lisp/util.lisp | |
@@ -12,8 +12,8 @@ | |
;; The definition of DEFGLOBALS is in packages.lisp. | |
(defmacro defglobal (&rest args) | |
- #+sbcl `(defconstantonce ,@args) ; use this only on implementations which don't die on non-externalizable constants | |
- #-sbcl `(defvar ,@args)) | |
+ ;; #+sbcl `(defconstantonce ,@args) ; use this only on implementations which don't die on non-externalizable constants | |
+ `(defvar ,@args)) | |
(defmacro defconstantonce (name value-form &optional documentation) | |
`(progn | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment