0.9.13.16: preliminary Windows installer builder
[sbcl.git] / src / code / eval.lisp
index 8e67686..8f0d970 100644 (file)
                            (values sb!c:*lexenv* vars))
                          :eval))
                     (eval-locally `(locally ,@body) lexenv :vars vars))))
+               ((if)
+                (destructuring-bind (test then &optional else) (rest exp)
+                  (eval-in-lexenv (if (eval-in-lexenv test lexenv)
+                                      then
+                                      else)
+                                  lexenv)))
+               ((let let*)
+                (destructuring-bind (definitions &rest body) (rest exp)
+                  (if (null definitions)
+                      (eval-locally `(locally ,@body) lexenv)
+                      (%eval exp lexenv))))
                (t
                 (if (and (symbolp name)
                          (eq (info :function :kind name) :function))