a backslash followed by a newline allows the newline to go into

a string.
This commit is contained in:
Roberto Ierusalimschy 1996-02-09 17:35:23 -02:00
parent ca412214cb
commit 73be918285
2 changed files with 4 additions and 7 deletions

View File

@ -3,7 +3,7 @@
** Input/output library to LUA ** Input/output library to LUA
*/ */
char *rcs_iolib="$Id: iolib.c,v 1.33 1996/02/05 21:32:19 roberto Exp roberto $"; char *rcs_iolib="$Id: iolib.c,v 1.34 1996/02/09 19:02:30 roberto Exp roberto $";
#include <stdio.h> #include <stdio.h>
#include <ctype.h> #include <ctype.h>
@ -380,14 +380,10 @@ static int write_quoted (int just, int m)
{ {
switch (*s) switch (*s)
{ {
case '"': case '\\': case '"': case '\\': case '\n':
luaI_addchar('\\'); luaI_addchar('\\');
luaI_addchar(*s); luaI_addchar(*s);
break; break;
case '\n':
luaI_addchar('\\');
luaI_addchar('n');
break;
case 0: case 0:
goto END_WHILE; goto END_WHILE;
default: default:

3
lex.c
View File

@ -1,4 +1,4 @@
char *rcs_lex = "$Id: lex.c,v 2.22 1995/12/21 16:14:04 roberto Exp roberto $"; char *rcs_lex = "$Id: lex.c,v 2.23 1996/02/07 14:14:40 roberto Exp roberto $";
#include <ctype.h> #include <ctype.h>
@ -254,6 +254,7 @@ int luaY_lex (void)
case 'n': save('\n'); next(); break; case 'n': save('\n'); next(); break;
case 't': save('\t'); next(); break; case 't': save('\t'); next(); break;
case 'r': save('\r'); next(); break; case 'r': save('\r'); next(); break;
case '\n': lua_linenumber++; /* goes through */
default : save(current); next(); break; default : save(current); next(); break;
} }
break; break;