anchor.diff:    (if initial-value-p
         `(progn
   	 (eval-when (:compile-toplevel)
  -	   (setf (sicl-env:special-variable ',name *global-environment* nil)
  +	   (setf (sicl-env:special-variable
  +		  ',name
  +		  sicl-env:*global-environment*
  +		  nil)
   		 nil))
   	 (eval-when (:load-toplevel :execute)
  -	   (unless (sicl-env:boundp ',name *global-environment*)
  -	     (setf (sicl-env:special-variable ',name *global-environment* t)
  +	   (unless (sicl-env:boundp ',name
  +				    sicl-env:*global-environment*)
  +	     (setf (sicl-env:special-variable
  +		    ',name
  +		    sicl-env:*global-environment*
  +		    t)
   		   ,initial-value))))
         `(eval-when (:compile-toplevel :load-toplevel :execute)
  -	 (setf (sicl-env:special-variable ',name *global-environment* nil)
  +	 (setf (sicl-env:special-variable
  +		',name
  +		sicl-env:*global-environment*
  +		nil)
   	       nil))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
positive.code: (defmacro defconstant (name initial-value &optional documentation)
    (declare (ignore documentation))
    `(eval-when (:compile-toplevel :load-toplevel :execute)
       (setf (sicl-env:constant-variable ',name *global-environment*)
  	   ,initial-value)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  
negative.code: 
  (defmacro define-compiler-macro (name lambda-list &body body)
    `(eval-when (:compile-toplevel :load-toplevel :execute)
       (setf (sicl-env:compiler-macro-function
  	    ',name
  	    sicl-env:*global-environment*)
  	   (function ,(cleavir-code-utilities:parse-macro
  		       name
  		       lambda-list
  