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 /sb-eval2.lisp | |
| parent | 8b10a703fa46c052ddd5798914aa16c812408bf4 (diff) | |
Optimize PREPARE-FUNCTION-REF.
Diffstat (limited to 'sb-eval2.lisp')
| -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)))))) | 
