summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-16 14:58:27 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-08-16 14:58:27 +0000
commit8f1e7d8ba07cee4e8d1ecaf4155091964aa0d9f1 (patch)
tree905f2c11ccef43307a381079e0285187093c7b14
parent3bc257f587fa3718076de3759271589a6c342781 (diff)
downloadruby-8f1e7d8ba07cee4e8d1ecaf4155091964aa0d9f1.tar.gz
ruby-8f1e7d8ba07cee4e8d1ecaf4155091964aa0d9f1.tar.xz
ruby-8f1e7d8ba07cee4e8d1ecaf4155091964aa0d9f1.zip
* parse.y (yylex): should dispatch scan-event even when follows
just after delayed-token. [ruby-dev:37855] [Bug #1071] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y1
-rw-r--r--test/ripper/test_scanner_events.rb5
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c0dbb83b0..cbef75706 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Aug 16 23:58:22 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (yylex): should dispatch scan-event even when follows
+ just after delayed-token. [ruby-dev:37855] [Bug #1071]
+
Sun Aug 16 22:20:16 2009 Tadayoshi Funaba <tadf@dotrb.org>
* lib/date/format.rb: reverted.
diff --git a/parse.y b/parse.y
index 33660a2d0..41706eaf3 100644
--- a/parse.y
+++ b/parse.y
@@ -7612,7 +7612,6 @@ yylex(void *p)
#ifdef RIPPER
if (!NIL_P(parser->delayed)) {
ripper_dispatch_delayed_token(parser, t);
- return t;
}
if (t != 0)
ripper_dispatch_scan_event(parser, t);
diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb
index 438994610..659916570 100644
--- a/test/ripper/test_scanner_events.rb
+++ b/test/ripper/test_scanner_events.rb
@@ -63,6 +63,11 @@ class TestRipper_ScannerEvents < Test::Unit::TestCase
[[2, 0], :on_tstring_content, "heredoc\n"],
[[3, 0], :on_heredoc_end, "EOS"]],
Ripper.lex("<<EOS\nheredoc\nEOS")
+ assert_equal [[[1, 0], :on_regexp_beg, "/"],
+ [[1, 1], :on_tstring_content, "foo\n"],
+ [[2, 0], :on_tstring_content, "bar"],
+ [[2, 3], :on_regexp_end, "/"]],
+ Ripper.lex("/foo\nbar/")
end
def test_location