anchor.diff:      (loop for (name expansion) in (cadr form)
   	  do (setf new-env
   		   (cleavir-env:add-local-symbol-macro new-env name expansion)))
  +    ;; The following expression means "if this form is a top-level
  +    ;; form, then make sure that forms compiled by a recursive call to
  +    ;; CONVERT are also top-level forms".
  +    (setf *top-level-form-p* *old-top-level-form-p*)
       (convert `(progn ,@(cddr form)) new-env)))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code: 
  (defmethod convert-special
      ((symbol (eql 'locally)) form env)
    (multiple-value-bind (declarations forms)
        (cleavir-code-utilities:separate-ordinary-body (cdr form))
      (let ((new-env (augment-environment-with-declarations
  		    env declarations)))
        (cleavir-ast:make-progn-ast
         (convert-sequence forms new-env)))))
  
  
negative.code: 	    for expander = (cleavir-env:eval lambda-expr env env)
  	    do (setf new-env
  		     (cleavir-env:add-local-macro new-env name expander)))
        ;; The following expression means "if this form is a top-level
        ;; form, then make sure that forms compiled by a recursive call
        ;; to CONVERT are also top-level forms".
        (setf *top-level-form-p* *old-top-level-form-p*)
        (convert `(locally ,@body) new-env))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  