From 2aa6826e81ec880f5e98fa995e44fae0819be95d Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 15 Aug 2021 01:33:31 +0900 Subject: [PATCH] Extract the wrapped value when yydebug [Bug #18075] --- parse.y | 2 +- test/ripper/test_ripper.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/parse.y b/parse.y index 4c4cbcf633..cd6971055a 100644 --- a/parse.y +++ b/parse.y @@ -10791,7 +10791,7 @@ parser_token_value_print(struct parser_params *p, enum yytokentype type, const Y #ifndef RIPPER v = valp->node->nd_lit; #else - v = valp->val; + v = get_value(valp->val); #endif rb_parser_printf(p, "%+"PRIsVALUE, v); break; diff --git a/test/ripper/test_ripper.rb b/test/ripper/test_ripper.rb index ab841b7616..76276c54ef 100644 --- a/test/ripper/test_ripper.rb +++ b/test/ripper/test_ripper.rb @@ -75,6 +75,15 @@ class TestRipper::Ripper < Test::Unit::TestCase assert_include out.string[/.*"local variable or method".*/], 'test_xxxx' end + def test_yydebug_string + out = StringIO.new + ripper = Ripper.new '"woot"' + ripper.yydebug = true + ripper.debug_output = out + ripper.parse + assert_include out.string[/.*"literal content".*/], 'woot' + end + def test_regexp_with_option bug11932 = '[ruby-core:72638] [Bug #11932]' src = '/[\xC0-\xF0]/u'.dup.force_encoding(Encoding::UTF_8)