X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fir1tran.lisp;h=2144cbda2d710fbd4704d4632224a94693c91869;hb=16a6592367eec7c5e9da668ec42fd260e7705b0c;hp=a6038546fc833cf580ecac785a2f6308142f3f07;hpb=ffa9a31f62e3e2abab8ebcbb3bfdab9725feaf7f;p=sbcl.git diff --git a/src/compiler/ir1tran.lisp b/src/compiler/ir1tran.lisp index a603854..2144cbd 100644 --- a/src/compiler/ir1tran.lisp +++ b/src/compiler/ir1tran.lisp @@ -207,7 +207,7 @@ (:macro (let ((expansion (info :variable :macro-expansion name)) (type (type-specifier (info :variable :type name)))) - `(MACRO . (the ,type ,expansion)))) + `(macro . (the ,type ,expansion)))) (:constant (let ((value (info :variable :constant-value name))) (make-constant :value value @@ -288,7 +288,10 @@ #+sb-xc-host structure!object #-sb-xc-host instance (when (emit-make-load-form value) - (dotimes (i (%instance-length value)) + (dotimes (i (- (%instance-length value) + #+sb-xc-host 0 + #-sb-xc-host (layout-n-untagged-slots + (%instance-ref value 0)))) (grovel (%instance-ref value i))))) (t (compiler-error @@ -630,7 +633,7 @@ (warn "reading an ignored variable: ~S" name))) (reference-leaf start next result var)) (cons - (aver (eq (car var) 'MACRO)) + (aver (eq (car var) 'macro)) ;; FIXME: [Free] type declarations. -- APD, 2002-01-26 (ir1-convert start next result (cdr var))) (heap-alien-info @@ -963,8 +966,8 @@ (process-var it nil)))) (cons ;; FIXME: non-ANSI weirdness - (aver (eq (car var) 'MACRO)) - (new-vars `(,var-name . (MACRO . (the ,(first decl) + (aver (eq (car var) 'macro)) + (new-vars `(,var-name . (macro . (the ,(first decl) ,(cdr var)))))) (heap-alien-info (compiler-error @@ -1018,7 +1021,7 @@ (let ((var (find-in-bindings vars name))) (etypecase var (cons - (aver (eq (car var) 'MACRO)) + (aver (eq (car var) 'macro)) (compiler-error "~S is a symbol-macro and thus can't be declared special." name))