anchor.diff:  ;;;; -*- mode:lisp;coding:utf-8 -*-
   ;;;;**************************************************************************
  -;;;;FILE:               characters.lisp
  +;;;;FILE:               character.lisp
   ;;;;LANGUAGE:           Common-Lisp
   ;;;;SYSTEM:             Common-Lisp
   ;;;;USER-INTERFACE:     NONE
  
positive.code: ;;;;    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  ;;;;**************************************************************************
  
  (defpackage "COM.INFORMATIMAGO.COMMON-LISP.CESARUM.CHARACTERS"
    (:use "COMMON-LISP"
          "COM.INFORMATIMAGO.COMMON-LISP.CESARUM.ASCII")
    (:export "STANDARD-CHARACTER-IS-ASCII-CODED-P"
             "HAS-ASCII-CODES-AS-CHARACTERS-P"
             "HAS-CHARACTER-NAMED-P"
             "PUSH-FEATURE-FOR-CHARACTER-NAMED")
    (:documentation "
  Define features for present semi-standard character names and
  other ASCII features.
  
     #+has-rubout    can read #\rubout
     #+has-page      can read #\page
  
negative.code:   );;eval-when
  
  
  ;; Must be a separate form:
  (eval-when (:compile-toplevel :load-toplevel :execute)
    
    (defun standard-character-is-ascii-coded-p ()
      "Whether the char-code of the standard-characters are their ASCII codes."
      (load-time-value
       (ignore-errors
         (every (lambda (ch) (= (char-code ch) (ascii-code ch)))
                *standard-characters*))))
  
    (defun has-ascii-code-p ()
      "Whether it looks ASCII is implemented by char-code and code-char."
      (let ((codes (cons 127 (loop :for code :from 0 :to 31 :collect code))))
        (and (standard-character-is-ascii-coded-p)
             (ignore-errors
  