General

Profile

tompng (tomoya ishida)

Issues

open closed Total
Assigned issues 0 18 18
Reported issues 6 84 90

Projects

Project Roles Registered on
Ruby Committer 12/26/2024

Activity

04/09/2026

10:16 AM Ruby Bug #21984: RubyVM::AST can't tell if an array is passed to break/next/return
The same thing can be also said to `a=[1,2]` and `a=1,2`.
In Prism, these are both parsed as ArrayNode with/without opening and closing.
In AbstractSyntaxTree, the non-abstract parts (bracket) are dropped. I think it's just a restricti...
tompng (tomoya ishida)
10:11 AM Ruby Bug #21988 (Closed): `return a, &b` should be syntax error
`return a, &b` is syntax error in parse.y, but accepted in Prism
~~~ruby
Prism.parse_success?('return a, &b')
#=> true
RubyVM::AbstractSyntaxTree.parse('return a, &b')
#=> block argument should not be given (SyntaxError)
~~~
W...
tompng (tomoya ishida)

03/16/2026

11:49 PM Ruby Revision 4c6c02d8 (git): fix invalid nodoc comment of Pathname#plus
tompng (tomoya ishida)

03/03/2026

05:17 PM Ruby Bug #21934 (Closed): Prism and parse.y inconsistency in command call used with pattern match
These are syntax error in both parse.y and in Prism
~~~ruby
a x in pattern
a x: in pattern
a &x in pattern
a *x => pattern
a x: => pattern
a &x => pattern
~~~
These are all syntax error in parse.y, all syntax valid in Prism
~...
tompng (tomoya ishida)
01:47 PM Ruby Bug #21933: Ruby::Box: named capture local variable can become nil after non-matching lines
Shorter reproduction code
~~~ruby
/(?<a>foo)/ =~ 'bar'
/(?<b>baz)/ =~ 'baz'
p b # should be present, got nil with RUBY_BOX=1
~~~
~~~ruby
/foo/ =~ 'bar'
$~
/baz/ =~ 'baz'
p $~ # should be MatchData, got nil with RUBY_BOX=1
...
tompng (tomoya ishida)

02/22/2026

03:44 AM Ruby Revision ac4aebc7 (git): Use ruby-head instead of ruby-3.2 in check_misc job (#16217)
tompng (tomoya ishida)

02/08/2026

07:00 PM Ruby Bug #21870: Regexp: Warnings when using slightly overlapping \p{...} classes
I found 130 (5 sets of 26 alphabets) characters matching both `\p{S}` and `\p{Word}`.
The visual looks like alphabet-ish symbol character
~~~ruby
(0..0x10ffff).select{(s=''<<it; s=~/\p{Word}/&&s=~/\p{S}/) rescue false}.map{''<<it}.joi...
tompng (tomoya ishida)

02/05/2026

01:59 AM Ruby Revision ad0ac0ec (git): [ruby/rubygems] Remove "##" from a comment to require
In RDoc, comment that starts with "##" is a metaprogramming method definition.
If it's not a metaprogramming method definition, "##" shouldn't be used.
https://github.com/ruby/rubygems/commit/b1953a3a09
tompng (tomoya ishida)

02/03/2026

05:59 PM Ruby Bug #21859: Inconsistent behaviors in Regexp lookbehind/lookahead with capture groups
> Isn't it impossible? To match, regexp needs to satisfy negative lookahead, so there should not be anything to capture.
As you wrote, captures are not available OUTSIDE of negative lookahead and also in MatchData.
But in `/(?!([a-z]...
tompng (tomoya ishida)
10:58 AM Ruby Bug #21859: Inconsistent behaviors in Regexp lookbehind/lookahead with capture groups
First issue
> This should be false in both cases.
I think `Regexp.linear_time?(/(?<=(a))/)` matches in linear time.
If the issue is just for inconsistency between lookahead and lookbehind, it's not a bug.
Here's an example:
~...
tompng (tomoya ishida)

Also available in: Atom