Skip to content

Conversation

@Earlopain
Copy link
Collaborator

@Earlopain Earlopain commented Jan 13, 2026

This is everything that irb uses. It works in their test-suite, but there are 20 failures when using the shim that I haven't looked into at all.

parse is not used by irb. scan is, and it's basically parse but also including errors. irb doesn't seem to care about the errors, so I didn't implement that.

Ref #3838

This is everything that `irb` uses. It works in their test-suite, but there are 20 failures when using the shim that I haven't looked into at all.

`parse` is not used by `irb`. `scan` is, and it's basically `parse` but also including errors. `irb` doesn't seem to care about the errors, so I didn't implement that.
@Earlopain Earlopain marked this pull request as ready for review January 13, 2026 19:53
Copy link
Member

@eregon eregon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Earlopain Earlopain merged commit 4f16613 into ruby:main Jan 15, 2026
66 checks passed
Earlopain added a commit to Earlopain/prism that referenced this pull request Jan 17, 2026
In ruby#3849, I wondered why for the lex method
I added some files as excludes for the first time.
Turns out, the result contains different token types that lie about equality for `LexTest`.

That seems useful only for testing, so I removed it. It's better to explicitly list the excludes and
handle specially certain cases when asserting (like ignoring state for `on_heredoc_end`).
Since `RipperLex` already contains full tests for the lex method, I removed the ones in `LexTest`. They make more sense in the ripper class to me.

Also, some of the special token types were not necessary anymore, like `EndContentToken`. Probably was fixed at some point.
Earlopain added a commit to Earlopain/prism that referenced this pull request Jan 17, 2026
`RipperTest` already does this (added in ruby#3849)
Since it doesn't use the token classes, it also lists out all the excludes instead of just claiming some are passing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants