X-Git-Url: http://repo.macrolet.net/gitweb/?p=jscl.git;a=blobdiff_plain;f=src%2Fcompiler%2Fcompiler.lisp;fp=src%2Fcompiler%2Fcompiler.lisp;h=d5f0b556b7b883ddd7b2c5b4b94cbb21005ab1fa;hp=a19b51dff8d809d3bbbc965909a87caa5f662a97;hb=c482b4547542853e71a3af2870c87ea366069913;hpb=ebe7c315e2527ae59ce5544c4d117ead4dd04ff3 diff --git a/src/compiler/compiler.lisp b/src/compiler/compiler.lisp index a19b51d..d5f0b55 100644 --- a/src/compiler/compiler.lisp +++ b/src/compiler/compiler.lisp @@ -440,12 +440,14 @@ (defun setq-pair (var val) + (unless (symbolp var) + (error "~a is not a symbol" var)) (let ((b (lookup-in-lexenv var *environment* 'variable))) (cond ((and b - (eq (binding-type b) 'variable) - (not (member 'special (binding-declarations b))) - (not (member 'constant (binding-declarations b)))) + (eq (binding-type b) 'variable) + (not (member 'special (binding-declarations b))) + (not (member 'constant (binding-declarations b)))) `(= ,(binding-value b) ,(convert val))) ((and b (eq (binding-type b) 'macro)) (convert `(setf ,var ,val)))