anchor.diff:  
   (in-package :editor-hints.named-readtables)
   
  -#-(or allegro sbcl clozure)
  +#-(or sbcl clozure)
   (eval-when (:compile-toplevel)
     (warn "~A hasn't been ported to ~A; you're likely to get a compiler error" 
   	(package-name *package*) (lisp-implementation-type)))
  
positive.code:       `(let ((,it (make-readtable-iterator ,readtable)))
  	 (macrolet ((,name () `(funcall ,',it)))
  	   ,@body)))))
  
  #-allegro
  (progn
  
negative.code: (declaim (inline %standard-readtable))
  (defun %standard-readtable ()
    #+sbcl+sb-reader sb-reader:*standard-readtable*
    #-sbcl+sb-reader (copy-readtable nil))
  
  #+sbcl+sb-reader
  (defmacro %with-readtable-iterator ((name readtable) &body body)
    `(sb-reader:with-readtable-iterator (,name ,readtable) ,@body))
  
  #+(and sbcl (not sbcl+sb-reader))
  (progn
    (defun make-readtable-iterator (readtable)
      (let ((char-macro-array (sb-impl::character-macro-array readtable))
  	  (char-macro-ht    (sb-impl::character-macro-hash-table readtable))
  