anchor.diff:  				 program
   				 parameters
   				 fragment))
  -		   (on-error nil on-error-p))
  -  ":on-error specifies the restart to call. One of :use-default :use-url or nil"
  -  (if on-error-p
  -      (handler-bind ((merging-error #'(lambda (error)
  -					(invoke-restart on-error))))
  +		   (on-conflict :superceed))
  +  ":on-conflict specifies the restart to call. One of :continue :superceed :use-defaults :use-url :error"
  +  (if (not (equalp on-conflict :error))
  +      (handler-bind ((merge-conflict #'(lambda (c)
  +					 (declare (ignore c))
  +					 (invoke-restart (intern (symbol-name on-conflict)
  +								 :cl-url)))))
   	(%merge-urls url
   		     :defaults defaults
   		     :properties properties))
  
positive.code: 	    ((null (funcall (fdefinition prop) defaults))
  	     (assign-url-property prop))
  	    (t (restart-case
  		   (error 'merging-error)
  		 (continue ()) ;we do nothing. the property does not get assigned
  		 (use-value (value)
  		   (funcall (fdefinition `(setf ,prop))
  			    value
  			    new-url))
  		 (use-default ()
  		   (assign-default-property prop))
  		 (use-url ()
  		   (assign-url-property prop))))))
      new-url)))
  
  (defun copy-url (url)
    (merge-urls url (make-instance 'generic-url)))
  
negative.code: 	     :fragment ,fragment))))
        
  ;; Reader plug
  
  (defun sharp-url (stream sub-char numarg)
    (declare (ignore sub-char numarg))
    (let ((namestring (read stream t nil t)))
  