anchor.diff:     "ASCII-CONTROL-CODE-P"    "ASCII-PRINTABLE-CODE-P"
      "ASCII-STRING" "ASCII-BYTES"  "ASCII-DISPATCH-MACRO"
      "READ-ASCII-LINE" "ASCII-FORMAT"
  -   "BYTES=" "BYTES/=" "BYTES<" "BYTES<=" "BYTES>=" "BYTES>")
  +   "BYTES=" "BYTES/=" "BYTES<" "BYTES<=" "BYTES>=" "BYTES>"
  +   "REPLACE-ASCII-BYTES" "REPLACE-ASCII-CHARACTERS")
     (:documentation "
   
   Some ASCII code utilities, to process sequences of ASCII code bytes as
  
positive.code: START:    index of the first byte to be converted.
  END:      index beyond the last byte to be converted.
  "
    (setf newline (input-newline newline))
    (loop
       :with len = (- end start)
       :with result = (make-array len :element-type 'character
                                  :adjustable t :fill-pointer 0)
       :with i = start
       :while (< i end)
       :do (let ((code (aref bytes i)))
             (if (<= sp code 126)
                 (vector-push (aref *ascii-characters* (- code sp)) result)
                 (case code
                   ((#.cr)
                    (ecase newline
                      ((:crlf) (if (and (< (1+ i) len) (= lf (aref bytes (1+ i))))
                                   (progn (incf i)
                                          (vector-push #\newline result))
                                   (ascii-error code)))
                      ((:any)  (if (and (< (1+ i) len) (= lf (aref bytes (1+ i))))
                                   (incf i)
                                   (vector-push #\newline result)))
                      ((:cr)   (vector-push #\newline result))
                      ((:lf)   (ascii-error code))))
                   ((#.lf)
                    (ecase newline
                      ((:any  :lf) (vector-push #\newline result))
                      ((:crlf :cr) (ascii-error code))))
                   (otherwise (ascii-error code))))
             (incf i))
       :finally (return result)))
  
  
  (defun ascii-bytes (string &key (newline *newline*) (start 0) (end (length string)))
  
negative.code: ;;;;AUTHORS
  ;;;;    <PJB> Pascal J. Bourguignon <pjb@informatimago.com>
  ;;;;MODIFICATIONS
  ;;;;    2021-05-14 <PJB> Added REPLACE-ASCII-BYTES and REPLACE-ASCII-CHARACTERS.
  ;;;;    2012-04-20 <PJB> Added conditions;
  ;;;;                     Added :start and :stop to ASCII-STRING and ASCII-BYTES.
  ;;;;                     Added ASCII-CONTROL-CODE-P and ASCII-PRINTABLE-CODE-P.
  