Commit 37cd4238 authored by Kim F. Storm's avatar Kim F. Storm
Browse files

(read_escape): Interpret \s as a SPACE character, except

for \s-X in a character constant which still is the super modifier.
(read1): Signal an `invalid read syntax' error if a character
constant is immediately followed by a digit or symbol character.
parent c794a94d
2003-02-13 Kim F. Storm <storm@cua.dk>
* lread.c (read_escape): Interpret \s as a SPACE character, except
for \s-X in a character constant which still is the super modifier.
(read1): Signal an `invalid read syntax' error if a character
constant is immediately followed by a digit or symbol character.
* search.c (Fmatch_data): Doc fix. Explicitly state that
match-data is undefined if last search failed.
......
......@@ -1697,9 +1697,13 @@ read_escape (readcharfun, stringp, byterep)
return c | alt_modifier;
case 's':
if (stringp)
return ' ';
c = READCHAR;
if (c != '-')
error ("Invalid escape character syntax");
if (c != '-') {
UNREAD (c);
return ' ';
}
c = READCHAR;
if (c == '\\')
c = read_escape (readcharfun, 0, byterep);
......@@ -2247,6 +2251,7 @@ read1 (readcharfun, pch, first_in_list)
case '?':
{
int discard;
int nextc;
c = READCHAR;
if (c < 0)
......@@ -2257,6 +2262,15 @@ read1 (readcharfun, pch, first_in_list)
else if (BASE_LEADING_CODE_P (c))
c = read_multibyte (c, readcharfun);
nextc = READCHAR;
UNREAD (nextc);
if (nextc > 040
&& !(nextc == '?'
|| nextc == '\"' || nextc == '\'' || nextc == ';'
|| nextc == '(' || nextc == ')'
|| nextc == '[' || nextc == ']' || nextc == '#'))
Fsignal (Qinvalid_read_syntax, Fcons (make_string ("?", 1), Qnil));
return make_number (c);
}
......
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