[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r106060: * lread.c (read_escape): All
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r106060: * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. |
Date: |
Tue, 11 Oct 2011 21:58:43 -0700 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 106060
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Tue 2011-10-11 21:58:43 -0700
message:
* lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
Some packages use them to denote characters with modifiers.
modified:
src/ChangeLog
src/lread.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-10-11 17:35:16 +0000
+++ b/src/ChangeLog 2011-10-12 04:58:43 +0000
@@ -1,3 +1,8 @@
+2011-10-12 Paul Eggert <address@hidden>
+
+ * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.
+ Some packages use them to denote characters with modifiers.
+
2011-10-11 Andreas Schwab <address@hidden>
* lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
=== modified file 'src/lread.c'
--- a/src/lread.c 2011-09-28 00:59:28 +0000
+++ b/src/lread.c 2011-10-12 04:58:43 +0000
@@ -2210,7 +2210,7 @@
case 'x':
/* A hex escape, as in ANSI C. */
{
- int i = 0;
+ unsigned int i = 0;
int count = 0;
while (1)
{
@@ -2234,7 +2234,9 @@
UNREAD (c);
break;
}
- if (MAX_CHAR < i)
+ /* Allow hex escapes as large as ?\xfffffff, because some
+ packages use them to denote characters with modifiers. */
+ if ((CHAR_META | (CHAR_META - 1)) < i)
error ("Hex character out of range: \\x%x...", i);
count += count < 3;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r106060: * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.,
Paul Eggert <=