summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-06-29 01:00:38 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-06-29 01:00:38 -0700
commit9f154dd7f47a64dcce867115ed92145e833e8f6e (patch)
treee6ba01378aacd825c5d965bc233f64b1f86514c9
parentb44309b4b208a7649a4e3bfb02b2ae353a3c83fc (diff)
parentdfb4d555c4443e78ae530b69a9c96561d8bd38e3 (diff)
downloadmruby-9f154dd7f47a64dcce867115ed92145e833e8f6e.tar.gz
mruby-9f154dd7f47a64dcce867115ed92145e833e8f6e.zip
Merge pull request #1310 from iij/pr-fix-regexp-escape
Avoid read_escape() in case of regexp
-rw-r--r--src/parse.y12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/parse.y b/src/parse.y
index 1d5366d17..fda66e92c 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -3620,12 +3620,14 @@ parse_string(parser_state *p)
tokadd(p, '\n');
}
else {
- pushback(p, c);
-
- if(type & STR_FUNC_REGEXP)
+ if (type & STR_FUNC_REGEXP) {
tokadd(p, '\\');
-
- tokadd(p, read_escape(p));
+ if (c != -1)
+ tokadd(p, c);
+ } else {
+ pushback(p, c);
+ tokadd(p, read_escape(p));
+ }
if (hinf)
hinf->line_head = FALSE;
}