anchor.diff:  	  ((and (find-readtable name)
   		(cerror "Overwrite existing readtable."
   			"A readtable named ~S already exists." name)))
  -	  (t (let ((result (apply #'merge-readtables
  +	  (t (let ((result (apply #'merge-readtables-into
   				  ;; The first readtable specified in the :merge list is
   				  ;; taken as the basis for all subsequent (destructive!)
   				  ;; modifications (and hence it's copied.)
  
positive.code:     (%register-readtable string-designator read-table)
      read-table))
  
  
  ;;; FIXME: This is completely not working as it's supposed to be. I
  ;;; assumed semantics of CL:COPY-READTABLE that don't exist.
  (defun merge-readtables (result-table &rest named-readtable-designators)
    "Copy the contents of each readtable in NAMED-READTABLE-DESIGNATORS,
  in turn, into RESULT-TABLE.  Because the readtables are merged in
  turn, macro definitions in readtables later in the list will overwrite
  definitions in readtables listed earlier.  Notice that the /readtable
  case/ is also subject of the merge operation."
    (setf result-table (ensure-readtable result-table))
    (dolist (table (mapcar #'ensure-readtable named-readtable-designators))
      (setf result-table (copy-readtable table result-table)))
    result-table)
  
  (defun list-all-named-readtables ()
    "Returns a list of all registered readtables. The returned list is
  guaranteed to be fresh, but may contain duplicates."
    (mapcar #'ensure-readtable (%list-all-readtable-names)))
  
  
  
  (deftype string-designator ()
    `(or string symbol character))
  
negative.code:   (flet ((process-option (option var)
             (destructure-case option
               ((:merge &rest readtable-designators)
  	      `(merge-readtables-into ,var ,@readtable-designators))
               ((:dispatch-macro-char disp-char sub-char function)
                `(set-dispatch-macro-character ,disp-char ,sub-char ,function ,var))
               ((:macro-char char function &optional non-terminating-p)
  