summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-08 06:25:19 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-03-08 06:25:19 +0000
commit33f7442e0f1056548f3b972ee1c2d32556939d57 (patch)
tree00e88e85081d6430c17c86ba50bd343793795153 /parse.y
parent58e68a3660c47739d7a70cc6f5cdebec030502d2 (diff)
2000-03-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y13
1 files changed, 10 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index 88c738b906..4b3e4c7729 100644
--- a/parse.y
+++ b/parse.y
@@ -3422,9 +3422,16 @@ rb_str_extend(list, term)
tokadd(c);
goto loop_again;
case '\\':
- c = read_escape();
- tokadd(c);
- goto loop_again;
+ c = nextc();
+ if (c == -1) return (NODE*)-1;
+ if (c == term) {
+ tokadd(c);
+ }
+ else {
+ tokadd('\\');
+ tokadd(c);
+ }
+ break;
case '{':
if (brace != -1) nest++;
case '\"':