Subject: Re: char-upcase settable?
From: Erik Naggum <>
Date: 1996/08/23
Newsgroups: comp.lang.lisp
Message-ID: <>

Barry Margolin correctly observes that case correspondence is an attribute
of a particular character repertoire, but support for multiple repertoires
(at run-time) will have to handle dynamic changes to the mapping for the
non-ASCII characters of, e.g., ISO 8859-1 and ISO 8859-6.  Lisp systems
that do not support more than ASCII may still want to allow the programmer
or user(!) to employ a larger character set as the default character set;
at one level or another, the case mappings will need to be changed.  seeing
no other means to change the case-mapping tables, `(setf char-upcase)' was
my primary choice, and thus the question of conformance arose.

(ANSI X3.226 clause 13.1.10 Documentation of Implementation-Defined Scripts
goes to great lengths to define what a system must document that it does
with additional scripts.  however, this is all `implementation-defined' and
would require `char-upcase' and friends to accept subtypes of character,
which they are not required to do (that's a problem).  this _sounds_ good,
if implemented, but since one may want to use a script different from ASCII
as the primary character set, a system must have thought about this _very_
carefully to get it right.  the basics are right in Common Lisp (unlike all
other language standards I know), but without sufficient information to get
it right in practice.  I'm therefore trying to get by with insufficient
implementations.  if anybody has given thought to the subclassing the type
CHARACTER, I'd love to talk with them.)

and there I was, barking up the wrong cons