anchor.diff:  	    (t (le-form*-cdr form))))
       (lexical-variable (le-variable form))
       (lambda-information
  -     (if *environment-chain*
  -         `(,(if (getf (lambda-information-plist form) 'declared-dynamic-extent)
  -                'sys.c::make-dx-closure
  -                'sys.int::make-closure)
  -           ,(le-lambda form)
  -           ,(second (first *environment-chain*)))
  -         (le-lambda form)))))
  +     (cond ((not *environment-chain*)
  +            (le-lambda form))
  +           ((getf (lambda-information-plist form) 'declared-dynamic-extent)
  +            `(sys.c::make-dx-closure
  +              ,(le-lambda form)
  +              ,(second (first *environment-chain*))))
  +           (*environment-allocation-mode*
  +            `(sys.int::make-closure
  +              ,(le-lambda form)
  +              ,(second (first *environment-chain*))
  +              ',*environment-allocation-mode*))
  +           (t `(sys.int::make-closure
  +                ,(le-lambda form)
  +                ,(second (first *environment-chain*))))))))
   
   (defvar *environment-chain* nil
     "The directly accessible environment vectors in this function.")
  
positive.code:                             (gethash env *environment-layout*)))
                    *environment*))))
  
  (defun le-lambda (lambda)
    (let ((*environment-chain* '())
          (*environment* *environment*)
          (local-env (gethash lambda *environment-layout*))
          (*current-lambda* lambda))
      (when *environment*
        ;; The entry environment vector.
        (let ((env (make-lexical-variable :name (gensym "Environment")
  
negative.code:              (push lambda *environment*)
               (setf (lambda-information-environment-layout lambda) (compute-environment-layout-debug-info))
               (setf (lambda-information-body lambda)
                     `((let ((,new-env ,(generate-make-environment lambda (1+ (length local-env)))))
                         ,@(when (rest *environment-chain*)
                             (list (list '(setf sys.int::%svref)
                                         (second (second *environment-chain*))
  