summaryrefslogtreecommitdiff
path: root/util.lisp
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-07-27 12:34:26 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-07-27 12:34:26 +0200
commitd2370aa9d420b1e466e58f00dbda0309ade6ced9 (patch)
tree387e1b9575caab40bc0fddf31a680132a9cc6881 /util.lisp
parent85ee881e611058e41e7dd7bc9cacfb7933f6778b (diff)
D-B: Fix &OPTIONAL handling.
Diffstat (limited to 'util.lisp')
-rw-r--r--util.lisp15
1 files changed, 7 insertions, 8 deletions
diff --git a/util.lisp b/util.lisp
index 08c7d1c..63777ea 100644
--- a/util.lisp
+++ b/util.lisp
@@ -187,13 +187,12 @@
expansion-1
(macroexpand expansion-2))))
-(%defun* macroexpand-all (object . rest)
- (let* ((env (if rest (car rest) nil)))
- (if (consp object)
- (let ((expansion (macroexpand object env)))
- (cons (macroexpand-all (car expansion))
- (macroexpand-all (cdr expansion))))
- object)))
-
(%defmacro* unless (test . body)
`(if (not ,test) (progn ,@body) nil))
+
+(%defmacro* when (test . body)
+ `(if ,test (progn ,@body) nil))
+
+
+(export '(and or not let* list* case cond append reverse macroexpand
+ otherwise unless when))