anchor.diff:  
   
   
  -(defun ascii-string (bytes &key (newline *newline*))
  +(defun ascii-string (bytes &key (newline *newline*) (start 0) (end (length bytes)))
     "
   DO:       Converts the ASCII bytes to a string. If there are control codes,
             an error is signaled.
   RETURN:   A string containing the characters encoded in the ASCII bytes.
   NEWLINE:  (member :crlf :cr :lf :any) ; the default is *NEWLINE*.
             If lone CR or LF are present, then an error is signaled.
  +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 = (length bytes)
  +     :with len = (- end start)
        :with result = (make-array len :element-type 'character
                                   :adjustable t :fill-pointer 0)
  -     :with i = 0
  -     :while (< i len)
  +     :with i = start
  +     :while (< i end)
        :do (let ((code (aref bytes i)))
              (if (<= sp code 126)
                  (vector-push (aref *ascii-characters* (- code sp)) result)
  
positive.code:      :finally (return result)))
  
  
  (defun ascii-bytes (string &key (newline *newline*))
    "
  RETURN:   A byte vector containing the ASCII codes of the characters in
            the string.
  
negative.code:   (defconstant sp        #x20 "     Code of ASCII Character SPACE") 
  
  
    (define-condition encoding-error (error)
      ((character     :initarg :character     :reader encoding-error-character)
       (coding-system :initarg :coding-system :reader encoding-error-coding-system)
       (message       :initarg :message       :reader encoding-error-message))
      (:report (lambda (condition stream)
                 (format stream "The character ~C (native code ~D) cannot be encoded in ~A: ~A"
                         (encoding-error-character condition)
                         (char-code (encoding-error-character condition))
                         (encoding-error-coding-system condition)
                         (encoding-error-message condition)))))
  
    
    (define-condition decoding-error (error)
      ((code          :initarg :code           :reader decoding-error-code)
       (coding-system :initarg :coding-system  :reader decoding-error-coding-system)
       (message       :initarg :message        :reader decoding-error-message))
      (:report (lambda (condition stream)
                 (format stream "The code ~D (hexa ~:*~2,'0X) cannot be decoded in ~A: ~A"
                         (decoding-error-code condition)
                         (decoding-error-coding-system condition)
                         (decoding-error-message condition)))))
    
  
    (defparameter *ascii-characters*  #.(concatenate 'string
                                          " !\"#$%&'()*+,-./0123456789:;<=>?"
  