diff options
-rw-r--r-- | obwyn.lisp | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -18,10 +18,9 @@ (:is (not (values-binding-p :x))) (:is (not (values-binding-p '(a b 4)))) (:is (not (values-binding-p '(a :b 4))))) - (or (and (symbolp form) - (not (keywordp form))) + (or (variablep form) (and (listp form) - (every (a:conjoin #'symbolp (complement #'keywordp)) form)))) + (every #'variablep form)))) (defun destructuring-bind-list-p (form) #+testiere @@ -129,7 +128,7 @@ (<predicate-binding-clause> :match (:seq (:@ var (:item)) (:= :when=) (:@ form (:item))) - :if (and (symbolp var) (not (keywordp var))) + :if variablep :then (list :when= var form) :note "Bind variable to form, exit early if form evaluated to nil.") |