summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-02-08 09:18:04 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-02-08 09:18:04 +0000
commit10f884d85a379d46b6155733d2aaded32f731bcb (patch)
tree83e85fb014e4165f543f01d42deea6c1f00b45c7 /parse.y
parentab65e3df29b8915cbf6c09ac3f8617b6392e3eb8 (diff)
* parse.y (parse_quotedwords): %w should allow parenthesis escape.
* parse.y (parse_qstring): %q should allow terminator escape. * re.c (rb_reg_equal): all option flags should be same to be equal. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y13
1 files changed, 6 insertions, 7 deletions
diff --git a/parse.y b/parse.y
index bae2daba09..0665ef685b 100644
--- a/parse.y
+++ b/parse.y
@@ -2547,13 +2547,12 @@ parse_qstring(term, paren)
c = '\\';
break;
- case '\'':
- if (term == '\'') {
- c = '\'';
- break;
- }
- /* fall through */
default:
+ /* fall through */
+ if (c == term || (paren && c == paren)) {
+ tokadd(c);
+ continue;
+ }
tokadd('\\');
}
}
@@ -2608,7 +2607,7 @@ parse_quotedwords(term, paren)
c = '\\';
break;
default:
- if (c == term) {
+ if (c == term || (paren && c == paren)) {
tokadd(c);
continue;
}