anchor.diff:  (in-package :iolib.syscalls)
   
   (eval-when (:compile-toplevel :load-toplevel)
  -  #+#.(cl:if (cl:<= cl:char-code-limit #xFF) '(:and) '(:or))
  +  #+#.(cl:if (cl:<= cl:char-code-limit #x100) '(:and) '(:or))
     (pushnew :8bit-chars *features*)
  -  #+#.(cl:if (cl:> #xFF cl:char-code-limit #x10000) '(:and) '(:or))
  +  #+#.(cl:if (cl:<= #x101 cl:char-code-limit #x10000) '(:and) '(:or))
     (pushnew :16bit-chars *features*)
  -  #+#.(cl:if (cl:> cl:char-code-limit #xFFFF) '(:and) '(:or))
  +  #+#.(cl:if (cl:> cl:char-code-limit #x10000) '(:and) '(:or))
     (pushnew :21bit-chars *features*))
   
   (eval-when (:compile-toplevel :load-toplevel :execute)
  
positive.code:                (output-octet (logior #xE0 (ldb (byte 4 12) code)))
                 (output-octet (logior #x80 (ldb (byte 6 6) code)))
                 (output-octet (logior #x80 (ldb (byte 6 0) code))))
                ((< code #x110000)
                 (output-octet (logior #xF0 (ldb (byte 3 18) code)))
                 (output-octet (logior #x80 (ldb (byte 6 12) code)))
  
negative.code:           (#xE0 (when (< c #xA0) (return* nil)))
            (#xED (when (> c #x9F) (return* nil)))
            (#xF0 (when (< c #x90) (return* nil)))
            #-16bit-chars
            (#xF4 (when (> c #x8F) (return* nil)))
            (t    (when (< c #x80) (return* nil)))))
        (when (>= len 1) (when (<= #x80 srchr #xC1) (return* nil)))
  