Forum: Ruby-dev ruby -c and ripper inconsistency: /(?<n>a(b|\g<n>))/

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
5cf8f058a4c094bb708174fb43e7a387?d=identicon&s=25 unknown (Guest)
on 2014-11-30 14:18
(Received via mailing list)
Issue #10543 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN to 2.0.0: DONTNEED,
2.1: DONTNEED

it seems introduced at r48504.

----------------------------------------
Bug #10543: ruby -c and ripper inconsistency: /(?<n>a(b|\g<n>))/
https://bugs.ruby-lang.org/issues/10543#change-50208

* Author: Akira Tanaka
* Status: Closed
* Priority: Normal
* Assignee:
* Category:
* Target version:
* ruby -v: ruby 2.2.0dev (2014-11-26 trunk 48577) [x86_64-linux]
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED
----------------------------------------
以下のように、/(?<n>a(b|\g<n>))/ というだけのソースは
ruby -c では問題無しとなりますが、
Ripper.sexp では構文木でなく nil が返ってきてしまいます。

```
% cat z.rb
/(?<n>a(b|\g<n>))/
% ./ruby -c z.rb
Syntax OK
% ./ruby -rripper -e 'p Ripper.sexp(STDIN.read)' < z.rb
nil
% ./ruby -v
ruby 2.2.0dev (2014-11-26 trunk 48577) [x86_64-linux]
```
This topic is locked and can not be replied to.