X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fir1-translators.lisp;h=88f8ff3f5f80f6feea06f3f27406e6e42c8a08ec;hb=3a2c2a2217f77e0d1a44a581c83e0311ebc2594a;hp=95d57484ec2c7de7fe52ea1a1794e2b8be638626;hpb=bea5b384106a6734a4b280a76e8ebdd4d51b5323;p=sbcl.git diff --git a/src/compiler/ir1-translators.lisp b/src/compiler/ir1-translators.lisp index 95d5748..88f8ff3 100644 --- a/src/compiler/ir1-translators.lisp +++ b/src/compiler/ir1-translators.lisp @@ -342,7 +342,7 @@ (fail "Attempt to bind a ~(~A~) variable with SYMBOL-MACROLET: ~S" kind name))) ;; A magical cons that MACROEXPAND-1 understands. - `(,name . (MACRO . ,expansion)))))) + `(,name . (macro . ,expansion)))))) (defun funcall-in-symbol-macrolet-lexenv (definitions fun context) (%funcall-in-foomacrolet-lexenv @@ -586,10 +586,12 @@ (binding* ((ctran (make-ctran)) (fun-lvar (make-lvar)) ((next result) - (processing-decls (decls vars nil next result) + (processing-decls (decls vars nil next result + post-binding-lexenv) (let ((fun (ir1-convert-lambda-body forms vars + :post-binding-lexenv post-binding-lexenv :debug-name (debug-name 'let bindings)))) (reference-leaf start ctran fun-lvar fun)) (values next result)))) @@ -607,13 +609,14 @@ (multiple-value-bind (forms decls) (parse-body body :doc-string-allowed nil) (multiple-value-bind (vars values) (extract-let-vars bindings 'let*) - (processing-decls (decls vars nil start next) + (processing-decls (decls vars nil start next post-binding-lexenv) (ir1-convert-aux-bindings start next result forms vars - values)))) + values + post-binding-lexenv)))) (compiler-error "Malformed LET* bindings: ~S." bindings))) ;;; logic shared between IR1 translators for LOCALLY, MACROLET, @@ -833,7 +836,7 @@ name))) (setq-var start next result leaf (second things))) (cons - (aver (eq (car leaf) 'MACRO)) + (aver (eq (car leaf) 'macro)) ;; FIXME: [Free] type declaration. -- APD, 2002-01-26 (ir1-convert start next result `(setf ,(cdr leaf) ,(second things))))