>>>> "Nickolay" == Nickolay Pakoulin
<npak(a)ispras.ru> writes:
Nickolay> (defvar aaa ?\x9216)
This is parsed as (defvar aaa ?\x92 16).
You maybe should be getting a syntax error, since (char-int-p #x9216)
returns nil, even in Mule. However, '(?car) => (?c ar). And almost
surely defvar should complain bitterly about a non-string as a
docstring.
I'll document this in the manuals. "GNU compatibility" is never
going to happen here. (However, if the noises Ken'ichi Handa is
making mean anything, "XEmacs compatibility" may very well happen to
GNU Emacs.)
From lread.c:
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
/* An octal escape, as in ANSI C. */
{
REGISTER Ichar i = c - '0';
REGISTER int count = 0;
while (++count < 3)
{
if ((c = readchar (readcharfun)) >= '0' && c <= '7')
i = (i << 3) + (c - '0');
else
{
unreadchar (readcharfun, c);
break;
}
}
if (i >= 0400)
syntax_error ("Attempt to create non-ASCII/ISO-8859-1 character",
make_int (i));
return i;
}
case 'x':
/* A hex escape, as in ANSI C, except that we only allow latin-1
characters to be read this way. What is "\x4e03" supposed to
mean, anyways, if the internal representation is hidden?
This is also consistent with the treatment of octal escapes. */
{
REGISTER Ichar i = 0;
REGISTER int count = 0;
while (++count <= 2)
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.