emacs-devel
[Top][All Lists]
Advanced

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

Re: Interactive ucs-insert fails in HEAD


From: Kenichi Handa
Subject: Re: Interactive ucs-insert fails in HEAD
Date: Tue, 13 Oct 2009 14:13:44 +0900

In article <address@hidden>, Juanma Barranquero <address@hidden> writes:

> My patch is just a workaround so ucs-insert works again. I've already
> asked Handa-san to please take a look at it.

I found that the problem is caused by this name.

SQUARED CJK UNIFIED IDEOGRAPH-89E3

The Lisp reader reads both "89e3" and "89E3" as 89000.0, but
symbols of those names are printed differently:

(format "%S %S" '\89e3 '\89E3)
=> "\\89e3 89E3"

(1) "89E3" should be read as a symbol.
  OR
(2) '\89E3 should be printed as \89E3.

I'm not sure which is better.

Anyway, I've just committed uni-name.el that contains
"\89e3" (instead of "89e3"), so the current bug should be
fixed now.

The fix for (1) is this:

--- lread.c.~1.414.~    2009-09-25 21:43:00.000000000 +0900
+++ lread.c     2009-10-13 13:47:10.000000000 +0900
@@ -3272,7 +3272,7 @@
       while (*cp >= '0' && *cp <= '9')
        cp++;
     }
-  if (*cp == 'e' || *cp == 'E')
+  if (*cp == 'e')
     {
       state |= E_CHAR;
       cp++;


And the fix for (2) is this:

--- print.c.~1.259.~    2009-09-25 21:43:00.000000000 +0900
+++ print.c     2009-10-13 13:40:36.000000000 +0900
@@ -1753,7 +1753,7 @@
          {
            while (p != end && ((*p >= '0' && *p <= '9')
                                /* Needed for \2e10.  */
-                               || *p == 'e'))
+                               || *p == 'e' || *p == 'E'))
              p++;
            confusing = (end == p);
          }

Stefan and Yidong, please install whichever you think better.

---
Kenichi Handa
address@hidden




reply via email to

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