From 1582dbba30623f2445bf0fd187ba63a84349e8b0 Mon Sep 17 00:00:00 2001 From: Vladimir Sedach Date: Tue, 20 Apr 2010 17:40:10 -0400 Subject: [PATCH] Made NULL treat 'undefined' properly. --- src/lib/ps-macro-lib.lisp | 3 --- src/special-forms.lisp | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/ps-macro-lib.lisp b/src/lib/ps-macro-lib.lisp index 64c353d..2601e39 100644 --- a/src/lib/ps-macro-lib.lisp +++ b/src/lib/ps-macro-lib.lisp @@ -67,9 +67,6 @@ (defpsmacro objectp (x) `(equal (typeof ,x) "object")) -(defpsmacro null (x) - `(equal ,x nil)) - (defpsmacro undefined (x) `(equal undefined ,x)) diff --git a/src/special-forms.lisp b/src/special-forms.lisp index b088662..26e38ea 100644 --- a/src/special-forms.lisp +++ b/src/special-forms.lisp @@ -71,6 +71,9 @@ >= js:>= equal js:===)) +(define-ps-special-form null (x) ;; this is the only case where '==' makes sense + `(js:== ,(compile-expression x) nil)) + (define-ps-special-form /= (a b) ;; for n>2, /= is finding duplicates in an array of numbers (ie - ;; nontrivial runtime algorithm), so we restrict it to binary in PS -- 2.11.4.GIT