anchor.diff:  (declaim (inline %standard-readtable))
   (defun %standard-readtable ()
     #+sbcl+sb-reader sb-reader:*standard-readtable*
  -  #+clozure ccl::%initial-readtable%
  -  #-(or sbcl+sb-reader clozure)
  -  (copy-readtable nil))
  +  #-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))
   
  -#+(or (and sbcl (not sbcl+sb-reader)) clozure)
  +#+(and sbcl (not sbcl+sb-reader))
   (progn
  -  #+sbcl
     (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))
  
positive.code: 
  (in-package :editor-hints.named-readtables)
  
  #-(or allegro 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)))
  
negative.code:       `(let ((,it (make-readtable-iterator ,readtable)))
  	 (macrolet ((,name () `(funcall ,',it)))
  	   ,@body)))))
  
  
  #-allegro
  (progn
  