Commit 03e88613 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(read1): Handle read_escape making a multibyte character.

parent 4dc0f0fc
......@@ -1620,7 +1620,29 @@ read1 (readcharfun, pch, first_in_list)
end = read_buffer + read_buffer_size;
}
if (c == '\\')
c = read_escape (readcharfun);
{
c = read_escape (readcharfun);
if (! SINGLE_BYTE_CHAR_P ((c & ~CHAR_META)))
{
char workbuf[4];
char *str = workbuf;
int length;
length = non_ascii_char_to_string (c, workbuf, &str);
if (p + length > end)
{
char *new = (char *) xrealloc (read_buffer, read_buffer_size *= 2);
p += new - read_buffer;
read_buffer += new - read_buffer;
end = read_buffer + read_buffer_size;
}
bcopy (str, p, length);
p += length;
continue;
}
}
/* c is -1 if \ newline has just been seen */
if (c == -1)
{
......
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