anchor.diff:                            (next-or-error "Expecting conversion char"))
                            (t (setq state :pattern))))
             (:pattern
  -           (when (eql c stopchar) (return))
  +           (when (eql c stopchar)
  +             (setq stopchar nil)
  +             (return))
              (let ((formatter (gethash c *formatters*)))
                (or formatter
                    (signal-error (format nil "Unknown conversion char ~s" c)))
  
positive.code:                            :fill-pointer t))
          (c #\Space) (fm-list '()) (state :normal)
          (minlen 0) (maxlen nil) (right-justify nil)
          (empty-skip nil)
          (prefix nil)
          (suffix nil))
  
negative.code:                      right-justify nil
                       empty-skip nil
                       prefix nil suffix nil))))))
        (when stopchar
          (signal-error (format nil "%~c formatter started at position ~d is missing closing %~c"
                                (char pattern (- start-idx 1))
                                (- start-idx 2) stopchar)))
        (add-literal)
        (setq fm-list (nreverse fm-list))
        (values 
  