summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-04 17:15:22 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-04 17:15:22 +0000
commitf3fa37e8e5743913e377ebd489cc9862f77770da (patch)
tree8cb7050ec02b27b6765c7fe3ffdd63e834307664
parent373d43f61e0a51938a578f2f20372427ce0f08a4 (diff)
* string.c (trnext): should enable backslash escape.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--string.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e1fedc8fe1..7a03a3cd45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sat Jan 5 02:14:45 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * string.c (trnext): should enable backslash escape.
+
Sat Jan 5 01:50:32 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* eval.c (Init_eval): move instance_eval and instance_exec to
diff --git a/string.c b/string.c
index 87f61a3321..6a491ddabd 100644
--- a/string.c
+++ b/string.c
@@ -3481,6 +3481,9 @@ trnext(struct tr *t, rb_encoding *enc)
for (;;) {
if (!t->gen) {
if (t->p == t->pend) return -1;
+ if (t->p < t->pend - 1 && *t->p == '\\') {
+ t->p++;
+ }
t->now = rb_enc_codepoint(t->p, t->pend, enc);
t->p += rb_enc_codelen(t->now, enc);
if (t->p < t->pend - 1 && *t->p == '-') {