anchor.diff:    (or (find-if (lambda (entry)
   		 (and (eq (name entry) name)
   		      (typep entry 'global-macro-entry)))
  -	       (function environment))
  +	       (functions environment))
         (find-if (lambda (entry)
   		 (and (eq (name entry) name)
   		      (typep entry 'global-function-entry)
  -		      (not (null location entry))
  -		      (not (eq (car (storage (location entry))) +unbound+)))
  -	       (functions environment)))))
  +		      (not (null (location entry)))
  +		      (not (eq (car (storage (location entry))) +unbound+))))
  +	       (functions environment))))
   
   ;;; I am not sure what the optional environment argument could be.  It
   ;;; seems to me that it must either be a global environment, i.e. an
  
positive.code: 				(and (eq (location entry) base-entry)
  				     (typep entry 'compiler-macro-entry)))
  			      (functions *global-environment*))))
        (if (null c-m-entry)
  	  (unless (null new-function)
  	    (push (make-compiler-macro-entry name new-function)
  		  (function *global-environment*)))
  	  (if (null new-function)
  	      (setf (functions *global-environment*)
  		    (delete c-m-entry (functions *global-environment*)
  			    :test #'eq))
  	      (setf (expander c-m-entry)
  		    new-function)))))
    new-function)
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  
negative.code: 			     (functions environment))))
      (if (null c-m-entry)
  	nil
  	(definition c-m-entry))))
  
  (defun (setf compiler-macro-function) (new-function name &optional environment)
    (unless (null environment)
  