anchor.diff:        (with-default-handler x "$" 'handle-dollar)
         (with-handler x "`" 'handle-backtick)))
   
  +(define-once-global +double-quote-readtable+
  +    (as-> *empty-shell-readtable* x
  +      (use-table x +substitution-table+)
  +      (with-default-handler x "" 'handle-double-quote-default)
  +      (with-dispatch-character x "\\")
  +      (with-default-handler x "\\" 'handle-double-quote-backslash)
  +      (with-handler x #(#\\ #\Linefeed) 'handle-double-quote-backslash-newline)
  +      (with-handler x "\"" 'handle-double-quote-termination)))
  +
   (define-once-global +standard-shell-readtable+
       (as-> *empty-shell-readtable* x
         (use-table x +quote-table+)
  -      (use-table x +substitution-table+)))
  +      (use-table x +substitution-table+)
  +      (with-dispatch-character x #(double-quote) :use-table +double-quote-readtable+)))
   
   (defun token-iterator (stream &key (readtable +standard-shell-readtable+))
     (make-iterator ()
  
positive.code: (defun handle-backtick (stream initiation-sequence context)
    (declare (ignore initiation-sequence))
    (lexer-context-add-part context (read-backquote stream))
    t)
  
  (define-once-global +quote-table+
  
negative.code:   t)
  
  (defun handle-double-quote (stream initiation-sequence context)
    (declare (ignore stream initiation-sequence))
    (lexer-context-add-part context (read-double-quote context))
    t)
  
  (defun handle-dollar (stream initiation-sequence context)
  