summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-11 17:17:46 +0200
committerMatthias Andreas Benkard <code@mail.matthias.benkard.de>2013-07-11 17:17:46 +0200
commit6e8188c8dc40889880f5fd61cf7798e8dde02d23 (patch)
tree6b9c8dfbec434b960322142056bf089461127617
parentd1b59223342cffa4d216a532b37afe118b1e93a6 (diff)
Properly support (FUNCTION (SETF ...)) forms.
-rw-r--r--sb-eval2.lisp7
1 files changed, 3 insertions, 4 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp
index e82dcbf..2f76de2 100644
--- a/sb-eval2.lisp
+++ b/sb-eval2.lisp
@@ -106,8 +106,7 @@
(let ((local-function-record (assoc f (environment-functions env) :test #'equal)))
(if local-function-record
(cdr local-function-record)
- ;; Global functions can be called through their function names.
- f))))
+ (fdefinition f)))))
(defun prepare-nil ()
(lambda (env) (declare (ignore env))))
@@ -177,8 +176,8 @@
(prepare-lambda (rest fun-form) context))
((sb-int:named-lambda)
(prepare-lambda (cddr fun-form) context))
- ((setf
- (prepare-function-ref fun-form context))))))))
+ ((setf)
+ (prepare-function-ref fun-form context)))))))
((lambda)
(prepare-lambda (rest form) context))
((setq)