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 + + * parse.y (parser_magic_comment): should pass the proper value. + [ruby-dev:44984][Bug #5753] + Tue Dec 13 05:50:07 2011 Nobuyoshi Nakada * 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