summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y1
-rw-r--r--test/ripper/test_parser_events.rb4
3 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b9f406e75..7177b49978 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Dec 13 06:29:39 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (parser_magic_comment): should pass the proper value.
+ [ruby-dev:44984][Bug #5753]
+
Tue Dec 13 05:50:07 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm_insnhelper.c (vm_yield_setup_block_args): splat single
diff --git a/parse.y b/parse.y
index 1cae0e5fe8..c3701124ff 100644
--- a/parse.y
+++ b/parse.y
@@ -6550,6 +6550,7 @@ parser_magic_comment(struct parser_params *parser, const char *str, long len)
}
} while (++p < magic_comments + numberof(magic_comments));
#else
+ str_copy(val, vbeg, vend - vbeg);
dispatch2(magic_comment, name, val);
#endif
}
diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb
index e6968e1a17..af41d3e6a4 100644
--- a/test/ripper/test_parser_events.rb
+++ b/test/ripper/test_parser_events.rb
@@ -592,8 +592,8 @@ class TestRipper::ParserEvents < Test::Unit::TestCase
def test_magic_comment
thru_magic_comment = false
- parse('# -*- foo:bar -*-', :on_magic_comment) {thru_magic_comment = true}
- assert_equal true, thru_magic_comment
+ parse('# -*- bug-5753: ruby-dev:44984 -*-', :on_magic_comment) {|*x|thru_magic_comment = x}
+ assert_equal [:on_magic_comment, "bug_5753", "ruby-dev:44984"], thru_magic_comment
end
def test_method_add_block