X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fctype.lisp;h=dbc19f4ee2719974a3b2122eba5014bc17e18e1f;hb=8a33bf220856487a5cde4b183476b6ab5103983a;hp=eddb7f1b7382a667894d22e7c42896f6346d3d03;hpb=99eca070adccc2f7008e050289abbe8c9f853ca2;p=sbcl.git diff --git a/src/compiler/ctype.lisp b/src/compiler/ctype.lisp index eddb7f1..dbc19f4 100644 --- a/src/compiler/ctype.lisp +++ b/src/compiler/ctype.lisp @@ -851,8 +851,10 @@ (let ((name (key-info-name key))) (do ((arg args (cddr arg))) ((null arg)) - (when (eq (lvar-value (first arg)) name) - (funcall fun (second arg) (key-info-type key)))))))) + (let ((keyname (first arg))) + (when (and (constant-lvar-p keyname) + (eq (lvar-value keyname) name)) + (funcall fun (second arg) (key-info-type key))))))))) ;;; Assert that CALL is to a function of the specified TYPE. It is ;;; assumed that the call is legal and has only constants in the