diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-11 17:17:46 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-11 17:17:46 +0200 |
commit | 6e8188c8dc40889880f5fd61cf7798e8dde02d23 (patch) | |
tree | 6b9c8dfbec434b960322142056bf089461127617 | |
parent | d1b59223342cffa4d216a532b37afe118b1e93a6 (diff) |
Properly support (FUNCTION (SETF ...)) forms.
-rw-r--r-- | sb-eval2.lisp | 7 |
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) |