Subject: Re: strings and characters From: Erik Naggum <erik@naggum.no> Date: 2000/03/16 Newsgroups: comp.lang.lisp Message-ID: <3162232362158363@naggum.no> * Barry Margolin <barmar@bbnplanet.com> | Isn't (array character (*)) able to contain all character objects? no. specialized vectors whose elements are of type character (strings) are allowed to store only values of a subtype of type character. this is so consistently repeated in the standard and so unique to strings that I'm frankly amazed that anyone who has worked on the standard is having such a hard time accepting it. it was obviously intended to let strings be as efficient as the old string-char concept allowed, while not denying implementations the ability to retain bits and fonts if they so chose. an implementation that stores characters in strings as if they have null implementation-defined attributes regardless of their actual attributes is actually fully conforming to the standard. the result is that you can't expect any attributes to survive string storage. the consequences are _undefined_ if you attempt to store a character with attributes in a string that can't handle it. the removal of the type string-char is the key to understanding this. #:Erik