Removed if-bind and aif since these are already in alexandria and we're depending...
authorMarco Baringer <mb@bese.it>
Thu, 29 Nov 2012 09:25:27 +0000 (10:25 +0100)
committerMarco Baringer <mb@bese.it>
Thu, 29 Nov 2012 09:25:27 +0000 (10:25 +0100)
src/test.lisp
src/utils.lisp

index defb357..02296c1 100644 (file)
@@ -90,12 +90,18 @@ is compiled."
                                    `((with-fixture ,name ,args ,@body-forms)))
                                  body-forms))))
       `(progn
-         (register-test ',name ,description ',effective-body ,suite-form ',depends-on ,compile-at ,profile)
+         (register-test :name ',name
+                        :description ,description
+                        :body ',effective-body
+                        :suite ,suite-form
+                        :depends-on ',depends-on
+                        :compile-at ,compile-at
+                        :profile ,profile)
          (when *run-test-when-defined*
            (run! ',name))
          ',name))))
 
-(defun register-test (name description body suite depends-on compile-at profile)
+(defun register-test (&key name description body suite depends-on compile-at profile)
   (let ((lambda-name
           (format-symbol t "%~A-~A" '#:test name))
         (inner-lambda-name
index d23aff7..87e8e0a 100644 (file)
@@ -55,26 +55,6 @@ current list of values."
             (return-from item)))))
     (mapcar #'funcall (mapcar #'cdr collectors))))
 
-;;;; ** Anaphoric conditionals
-
-(defmacro if-bind (var test &body then/else)
-  "Anaphoric IF control structure.
-
-VAR (a symbol) will be bound to the primary value of TEST. If
-TEST returns a true value then THEN will be executed, otherwise
-ELSE will be executed."
-  (assert (first then/else)
-          (then/else)
-          "IF-BIND missing THEN clause.")
-  (destructuring-bind (then &optional else)
-      then/else
-    `(let ((,var ,test))
-       (if ,var ,then ,else))))
-
-(defmacro aif (test then &optional else)
-  "Just like IF-BIND but the var is always IT."
-  `(if-bind it ,test ,then ,else))
-
 ;;;; ** Simple list matching based on code from Paul Graham's On Lisp.
 
 (defmacro acond2 (&rest clauses)
@@ -96,9 +76,9 @@ ELSE will be executed."
 
 (defun binding (x binds)
   (labels ((recbind (x binds)
-             (aif (assoc x binds)
-                  (or (recbind (cdr it) binds)
-                      it))))
+             (if-let (value (assoc x binds))
+               (or (recbind (cdr value) binds)
+                   value))))
     (let ((b (recbind x binds)))
       (values (cdr b) b))))