0.7.9.33:
[sbcl.git] / src / compiler / macros.lisp
index 197ffbe..97be928 100644 (file)
@@ -78,8 +78,8 @@
             `((setf (symbol-function ',name)
                     (lambda (&rest rest)
                       (declare (ignore rest))
-                      (error "can't FUNCALL the SYMBOL-FUNCTION of ~
-                              special forms")))))))))
+                      (error 'special-form-function
+                             :name ',name)))))))))
 
 ;;; (This is similar to DEF-IR1-TRANSLATOR, except that we pass if the
 ;;; syntax is invalid.)
 ;;; :TEST keyword may be used to determine the name equality
 ;;; predicate.
 (defmacro lexenv-find (name slot &key test)
-  (once-only ((n-res `(assoc ,name (,(symbolicate "LEXENV-" slot) *lexenv*)
+  (once-only ((n-res `(assoc ,name (,(let ((*package* (symbol-package 'lexenv-funs)))
+                                          (symbolicate "LEXENV-" slot))
+                                     *lexenv*)
                             :test ,(or test '#'eq))))
     `(if ,n-res
         (values (cdr ,n-res) t)