diff options
Diffstat (limited to 'lang/elisp/internals/null.scm')
-rw-r--r-- | lang/elisp/internals/null.scm | 14 |
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)))) |