emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Unicode Lisp reader escapes


From: Aidan Kehoe
Subject: Re: [PATCH] Unicode Lisp reader escapes
Date: Thu, 4 May 2006 18:41:17 +0200

 Ar an ceathrú lá de mí Bealtaine, scríobh Richard Stallman: 

 > Regarding \u: the question is whether an Emacs escape for Unicode
 > characters should be compatible with C string syntax for Unicode
 > characters, or coherent with the Emacs \x escape.

The thing with the Emacs \x escape is that anyone using it for characters
outside of ASCII is asking for pain, and always has been. It has only ever
been clearly defined for that character set; any existing code in the
repository for other characters, for example, _will definitely_ break with
the merging of the Unicode branch.

Now, there is lots of code in 21.4’s source tree that uses the syntax for
things that are conceptually numbers and not Emacs characters. That code is
not broken, but it is bad style; that’s what the #x syntax is for.

So when people have been using the variable-length syntax with a length
greater than two, they are either writing buggy code, or using bad style.
I’m not sure that merits emulation. 

 > I think one relevant question is to what extent the C and Emacs Lisp
 > string syntax are compatible in the first place.  Emacs Lisp string
 > syntax was largely based on C string syntax in 1984, but I don't know
 > how C has developed since 1990.  Can someone report on this question?

The \u syntax (with a fixed number of digits) came into wide use with Java
in 1996. The necessity for the \U extension arose with progress towards
version 3.0 of Unicode and its ~1.1 million available code points. That
version of the standard was released in 1999; the C99 ISO standard for C of
the same year included both \u and \U. Various other C-oriented programming
languages have incorporated the syntax since. 

-- 
Aidan Kehoe, http://www.parhasard.net/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]