Removed some unnecessary code that ignored an anaphor in define-ps-special-form ...
authorVladimir Sedach <vsedach@gmail.com>
Mon, 13 Apr 2009 04:35:15 +0000 (22:35 -0600)
committerVladimir Sedach <vsedach@gmail.com>
Mon, 13 Apr 2009 04:35:15 +0000 (22:35 -0600)
src/compiler.lisp
src/utils.lisp

index 160ff52..e17b0ad 100644 (file)
 'expecting' automatically added to the arglist) to the special form is
 a keyword indicating whether the form is expected to produce
 an :expression or a :statement."
-  (let ((args (gensym "ps-arglist-"))
-        (expecting-used-p (member 'expecting (flatten body))))
+  (let ((args (gensym "ps-arglist-")))
     `(setf (gethash ',name *ps-special-forms*)
            (lambda (&rest ,args)
              (destructuring-bind ,(cons 'expecting lambda-list)
                  ,args
-               ,(unless expecting-used-p '(declare (ignore expecting)))
+               (declare (ignorable expecting))
                ,@body)))))
 
 (defun undefine-ps-special-form (name)
index 6d04137..4ce2ab4 100644 (file)
@@ -100,11 +100,6 @@ SOMEGLOBAL."
   (reduce (lambda (list el) (remove el list :test test))
           (cons list1 list2)))
 
-(defun flatten (x &optional acc)
-  (cond ((null x) acc)
-        ((atom x) (cons x acc))
-        (t (flatten (car x) (flatten (cdr x) acc)))))
-
 (defmacro aif (test-form then-form &optional else-form)
   `(let ((it ,test-form))
      (if it ,then-form ,else-form)))