anchor.diff:                        (values (second match) t)
                         (macroexpand-1 form env)))
                      ((list* (and name (type symbol)) _)
  -                    (if-let (match (assoc name macro-fns))
  -                      (values (funcall (second match) form env) t)
  -                      (macroexpand-1 form env)))
  +                    (if (assoc name macros)
  +                        (progn
  +                          (warn "Cannot use a non-initial local macro
  +                        definition in a partial expansion.")
  +                          (macroexpand-1 form env))
  +                        (macroexpand-1 form env)))
                      (otherwise
                       (macroexpand-1 form env))))
                  (expand (form env)
  
positive.code:                         ;; Remember `def' returns a symbol.
                          (let ((expr (expand expr env)))
                            (if (and
                                 (constantp expr env)
                                 ;;Don't hoist if null.
                                 (not (null expr))
                                 ;; Don't hoist unless this is the first
  
negative.code:                                 `(progn (setf ,var ,expr) ',var)))))
                         ((defconstant name expr &optional docstring)
                          (declare (ignore docstring))
                          (let ((expanded (expand expr env)))
                            (if (and (not (in-env?)) (constantp expanded))
                                (expand-partially
                                 `(define-symbol-macro ,name ,expr))
                                (push (list name `(load-time-value ,expr t)) hoisted-vars)))
                          `',name)
                         ((defconst name expr &optional docstring)
                          (expand-partially `(defconstant ,name ,expr ,docstring)))
                         ((defun name args &body body)
                          (if (in-env?)
                              (expand-partially
                               `(defalias ,name
                                  (named-lambda ,name ,args
  