Commit 0324f3af authored by Paul Eggert's avatar Paul Eggert
Browse files

* lread.c (read_escape): Allow hex escapes as large as ?\xfffffff.

Some packages use them to denote characters with modifiers.
parent 7359a765
2011-10-12 Paul Eggert <eggert@cs.ucla.edu>
* 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 <schwab@linux-m68k.org>
* lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR)
......
......@@ -2210,7 +2210,7 @@ read_escape (Lisp_Object readcharfun, int stringp)
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 @@ read_escape (Lisp_Object readcharfun, int stringp)
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;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment