anchor.diff:                 ;; including any embedded or enclosing substitution
                  ;; operators or quotes. The token shall not be delimited
                  ;; by the end of the substitution.
  -               ((equal next-char #\$)
  -                (add-part (read-dollar stream))
  -                (reassess-next-char)
  -                (again))
  -               ((equal next-char #\`)
  -                (add-part (read-backquote stream))
  -                (reassess-next-char)
  +               ((equal (next-char) #\$)
  +                (lexer-context-add-part context (read-dollar stream))
  +                (again))
  +               ((equal (next-char) #\`)
  +                (lexer-context-add-part context (read-backquote stream))
                   (again))
   
                  ;; If the current character is not quoted and can be used
  
positive.code:                ;; token (if any) shall be delimited. The current
                 ;; character shall be used as the beginning of the next
                 ;; (operator) token.
                 ((operator-prefix-p (string next-char))
                  (unless (equal 0 (length word))
                    (delimit))
                  (extend!)
                  (consume)
                  (again))
  
                 ;; If the current character is an unquoted <newline>, the
                 ;; current token shall be delimited.
                 ((equal #\linefeed next-char)
                  (unless (no-content-p)
                    (delimit))
                  (consume-no-peek)
                  (delimit +newline+))
  
                 ;; If the current character is an unquoted <blank>, any
                 ;; token containing the previous character is delimited
                 ;; and the current character shall be discarded.
                 ((blank-p next-char)
                  (unless (no-content-p)
                    (delimit))
                  (consume)
                  (again))
  
                 ;; If the previous character was part of a word, the
                 ;; current character shall be appended to that word.
                 ((not (no-content-p))
                  (extend!)
                  (consume)
                  (again))
  
                 ;; If the current character is a '#', it and all
  
negative.code:                ;; <newline> shall be discarded as a comment. The
                 ;; <newline> that ends the line is not considered part of
                 ;; the comment.
                 ((equal #\# (next-char))
                  (read-comment stream)
                  (again))
  
                 ;; The current character is used as the start of a new
                 ;; word.
                 (t
                  (lexer-context-extend-word context)
                  (again)))))))))
  