[ruby-core:92601] [Ruby trunk Bug#15670] Ripper treats :"sym" as xstring

From: skalee@...
Date: 2019-05-09 02:55:51 UTC
List: ruby-core #92601
Issue #15670 has been updated by skalee (Sebastian Skalacki).


YARD is also broken, though I'm not sure how severe is that: https://github.com/lsegal/yard/issues/1243. I suspect this very change.

----------------------------------------
Bug #15670: Ripper treats :"sym" as xstring
https://bugs.ruby-lang.org/issues/15670#change-77960

* Author: ktsj (Kazuki Tsujimoto)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.7.0dev (2019-03-15 master 67269) [x86_64-linux]
* Backport: 2.4: WONTFIX, 2.5: DONE, 2.6: DONE
----------------------------------------
Ripperで `:"sym"` をパースするとxstringとして扱われるようになっていますが、
`{"sym": ...}` と同様にstringとして扱われるべきだと思います。

~~~
$ ruby -rripper -e '_, (_, _, s) = Ripper.sexp_raw(%q{:"sym"}); p s'
[:dyna_symbol, [:xstring_add, [:xstring_new], [:@tstring_content, "sym", [1, 2]]]]

$ ruby -rripper -e '_, (_, _, (_, (_, ((_, s))))) = Ripper.sexp_raw(%q{{"sym": 0}}); p s'
[:dyna_symbol, [:string_add, [:string_content], [:@tstring_content, "sym", [1, 2]]]]
~~~

バックポートすべきか微妙な修正のような気もしますが、一応バックポートチケットとして起票しておきます。




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next