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: 	     :fragment ,fragment))))
        
  ;; Reader plug
  (defun sharp-url (stream sub-char numarg)
    (declare (ignore sub-char numarg))
    (let ((namestring (read stream t nil t)))
  
negative.code: 					      :protocol :http
  					      :hostname "localhost"))
  
  (define-condition merge-conflict (simple-error)
    ((url :initarg :url
  	:reader url
  	:initform nil)
     (defaults :initarg :defaults
               :reader defaults
  	     :initform nil)
     (property :initarg :property
  	     :reader property
  	     :initform nil))
    (:report (lambda (c s)
  	     (format s "Conflict merging ~A property between ~A and ~A"
  		     (property c)
  		     (url c)
  		     (defaults c))))
    (:documentation "An error of this kind is raised when an error ocurs when merging urls"))
  
  (defun merge-urls (url
  