diff options
author | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 15:29:56 +0200 |
---|---|---|
committer | Matthias Andreas Benkard <code@mail.matthias.benkard.de> | 2013-07-18 15:29:56 +0200 |
commit | 1ec26f360406dad0f0b065ebcc8359bed3c78963 (patch) | |
tree | d9cb438564a04beb3b923c3e847bc2fe3bef0182 | |
parent | 8b10a703fa46c052ddd5798914aa16c812408bf4 (diff) |
Optimize PREPARE-FUNCTION-REF.
-rw-r--r-- | sb-eval2.lisp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sb-eval2.lisp b/sb-eval2.lisp index 7ee46c5..ffaf0bd 100644 --- a/sb-eval2.lisp +++ b/sb-eval2.lisp @@ -233,9 +233,11 @@ (offset (lexical-offset lexical))) (lambda (env) (environment-value env nesting offset))) - (lambda (env) - (declare (ignore env)) - (fdefinition function-name)))) + (let ((f* (sb-c::fdefinition-object function-name t))) + (lambda (env) + (declare (ignore env)) + (or (sb-c::fdefn-fun f*) + (error 'undefined-function :name function-name)))))) |