[#92070] [Ruby trunk Feature#15667] Introduce malloc_trim(0) in full gc cycles — sam.saffron@...
Issue #15667 has been updated by sam.saffron (Sam Saffron).
3 messages
2019/04/01
[ruby-core:92269] [Ruby trunk Bug#15670] Ripper treats :"sym" as xstring
From:
ujihisa@...
Date:
2019-04-13 05:19:46 UTC
List:
ruby-core #92269
Issue #15670 has been updated by ujihisa (Tatsuhiro Ujihisa).
This change broke a library preval https://github.com/kddeisz/preval/issues/1, and potentially also breaks other libraries that uses Ripper. Since this is an incompatible change for Ripper.sexp, I guess backport requires a loud changelog note for developers who use ripper.
----------------------------------------
Bug #15670: Ripper treats :"sym" as xstring
https://bugs.ruby-lang.org/issues/15670#change-77602
* 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: UNKNOWN, 2.5: REQUIRED, 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>