anchor.diff:  (in-package :lem-encodings/utf-8)
   ;;;don't edit above
   
  -(defclass utf-8 (encoding) ())
  +(defclass utf-8 (encoding)
  +  ((bom
  +    :initform nil
  +    :accessor encoding-bom)))
   
   (register-encoding 'utf-8)
   
  
positive.code:                                           :finally (ecommit (+ (logand (ash #x3f (- count))
                                                                         state)
                                                                 (logxor #xff (ash #x7f (- count)))))
                                                     (mapc (lambda (c) (ecommit c)) result))
                                   (setf state 0 count 0 read 0)
                                   #1#)
                                  ((<= #x80 c #xbf)
  
negative.code:   (<=  #xe000 c #xe0ff))
  
  (defmethod encoding-read ((encoding utf-8) input output-char)
    (let (cr not-first-byte)
      (labels ((commit (c)
                 (setf cr (funcall output-char c cr encoding)))
               (ecommit (c)
  