X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fvector.lisp;h=a3c2970f79a2b3043eb997bf7251e6dc533e314c;hb=665eea819b61f87f401ff0a9ff82f6cbdcc5c636;hp=c2103e9c6f2e526ea1bda533b4e2fe09fe4db151;hpb=ebc0f0ebf9efd39519ab86ba28c33abdb25443e0;p=sbcl.git diff --git a/src/pcl/vector.lisp b/src/pcl/vector.lisp index c2103e9..a3c2970 100644 --- a/src/pcl/vector.lisp +++ b/src/pcl/vector.lisp @@ -930,16 +930,17 @@ ,(make-calls-type-declaration calls)) ,pv ,calls ,@forms) - `(let* ((.pv-table. ,pv-table-symbol) - (.pv-cell. (pv-table-lookup-pv-args .pv-table. ,@pv-parameters)) - (,pv (car .pv-cell.)) - (,calls (cdr .pv-cell.))) - (declare ,(make-pv-type-declaration pv)) - (declare ,(make-calls-type-declaration calls)) - ,@(when (symbolp pv-table-symbol) - `((declare (special ,pv-table-symbol)))) - ,pv ,calls - ,@forms))) + `(locally + ,@(when (symbolp pv-table-symbol) + `((declare (special ,pv-table-symbol)))) + (let* ((.pv-table. ,pv-table-symbol) + (.pv-cell. (pv-table-lookup-pv-args .pv-table. ,@pv-parameters)) + (,pv (car .pv-cell.)) + (,calls (cdr .pv-cell.))) + (declare ,(make-pv-type-declaration pv)) + (declare ,(make-calls-type-declaration calls)) + ,pv ,calls + ,@forms)))) (defvar *non-var-declarations* ;; FIXME: VALUES was in this list, conditionalized with #+CMU, but I