ruby-changes:15593
From: nobu <ko1@a...>
Date: Mon, 26 Apr 2010 13:12:17 +0900 (JST)
Subject: [ruby-changes:15593] Ruby:r27499 (trunk): * parse.y (ripper_get_value): escape Qundef.
nobu 2010-04-26 13:11:59 +0900 (Mon, 26 Apr 2010) New Revision: 27499 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27499 Log: * parse.y (ripper_get_value): escape Qundef. Modified files: trunk/ChangeLog trunk/parse.y trunk/test/ripper/test_parser_events.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 27498) +++ ChangeLog (revision 27499) @@ -1,3 +1,7 @@ +Mon Apr 26 13:11:57 2010 Nobuyoshi Nakada <nobu@r...> + + * parse.y (ripper_get_value): escape Qundef. + Mon Apr 26 12:42:43 2010 Nobuyoshi Nakada <nobu@r...> * parse.y (warn_balanced): warn according to last state. Index: parse.y =================================================================== --- parse.y (revision 27498) +++ parse.y (revision 27499) @@ -10351,6 +10351,7 @@ ripper_get_value(VALUE v) { NODE *nd; + if (v == Qundef) return Qnil; if (!RB_TYPE_P(v, T_NODE)) return v; nd = (NODE *)v; if (nd_type(nd) != NODE_LASGN) return Qnil; Index: test/ripper/test_parser_events.rb =================================================================== --- test/ripper/test_parser_events.rb (revision 27498) +++ test/ripper/test_parser_events.rb (revision 27499) @@ -463,6 +463,7 @@ thru_def = true } assert_equal true, thru_def + assert_equal '[def(foo,[],bodystmt([void()]))]', parse('def foo ;end') end def test_defined @@ -1102,10 +1103,8 @@ end def test_unterminated_regexp - assert_normal_exit(<<"SRC") -$:.unshift(File.dirname(#{File.expand_path(__FILE__).dump})) -require 'dummyparser' -DummyParser.new('/').parse.to_s -SRC + compile_error = false + parse('/', :compile_error) {|msg| compile_error = msg} + assert_equal("unterminated regexp meets end of file", compile_error) end end if ripper_test -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/