summaryrefslogtreecommitdiff
path: root/lang/elisp/internals/null.scm
diff options
context:
space:
mode:
Diffstat (limited to 'lang/elisp/internals/null.scm')
-rw-r--r--lang/elisp/internals/null.scm14
1 files changed, 10 insertions, 4 deletions
diff --git a/lang/elisp/internals/null.scm b/lang/elisp/internals/null.scm
index 420278e0c..94e2b28dd 100644
--- a/lang/elisp/internals/null.scm
+++ b/lang/elisp/internals/null.scm
@@ -1,7 +1,13 @@
(define-module (lang elisp internals null)
- #:export (null))
+ #:export (->nil lambda->nil null))
+
+(define (->nil x)
+ (or x %nil))
+
+(define (lambda->nil proc)
+ (lambda args
+ (->nil (apply proc args))))
(define (null obj)
- (or (not obj)
- (null? obj)
- (eq? obj 'nil))) ; Should be removed.
+ (->nil (or (not obj)
+ (null? obj))))