| Age | Commit message (Collapse) | Author |
|
Before:
```
Expected a newline or semicolon after the statement
Cannot parse the expression
Expected a newline or semicolon after the statement
Cannot parse the expression
1 describe "webmock tests" do
22 it "body" do
27 query = Cutlass::FunctionQuery.new(
> 28 port: port
> 29 body: body
30 ).call
34 end
35 end
```
After:
```
Expected a newline or semicolon after the statement
Cannot parse the expression
1 describe "webmock tests" do
22 it "body" do
27 query = Cutlass::FunctionQuery.new(
> 28 port: port
> 29 body: body
30 ).call
34 end
35 end
```
https://github.com/ruby/syntax_suggest/commit/becf097e5e
|
|
Removes or updates mentions of Ripper
https://github.com/ruby/syntax_suggest/commit/08aaa3f50a
|
|
https://github.com/ruby/syntax_suggest/commit/7f4176a914
|
|
Prism will be the parser in Ruby 3.3. We need to support 3.0+ so we will have to "dual boot" both parsers.
Todo:
- LexAll to support Prism lex output
- Add tests that exercise both Ripper and prism codepaths on CI
- Handle https://github.com/ruby/prism/issues/1972 in `ripper_errors.rb`
- Update docs to not mention Ripper explicitly
- Consider different/cleaner APIs for separating out Ripper and Prism
https://github.com/ruby/syntax_suggest/commit/a7d6991cc4
|
|
(https://github.com/ruby/irb/pull/801)
https://github.com/ruby/irb/commit/a1e431bd83
|
|
(https://github.com/ruby/irb/pull/802)
https://github.com/ruby/irb/commit/173980974b
|
|
(https://github.com/ruby/irb/pull/800)
For apps/libs that test against IRB, it's recommended to set `TERM=dumb`
so they get minimum disruption from Reline's interactive-focus features.
Therefore, we should follow the convention to disable pager when `TERM=dumb`.
https://github.com/ruby/irb/commit/8a3002a39e
|
|
Previously only unknown word `intern` is allowed between a single-word
token before a C method. Now any single-word token, such as `inline`
which is used for `ArithmeticSequence` in enumerator.c, is allowed
instead.
https://github.com/ruby/rdoc/commit/3a214c1dd1
|
|
https://github.com/ruby/rdoc/commit/aaed688a97
|
|
https://github.com/ruby/rdoc/commit/7cf353a696
|
|
https://github.com/ruby/tempfile/commit/1450bb4f1c
|
|
https://github.com/ruby/tempfile/commit/e515889412
|
|
https://github.com/ruby/cgi/commit/929e6264b5
|
|
https://github.com/ruby/rdoc/commit/04f75d8516
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
The change in #1055 might be a breaking change.
So, just simply wrap `token_stream` with `Array`
https://github.com/ruby/rdoc/commit/d8c19d7fa1
Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>
|
|
gemspec
https://github.com/rubygems/rubygems/commit/e78c0a4a48
|
|
Checking writability is prone to errors. For example:
$ mkdir -p foo/bar
$ chmod -w foo
$ touch foo/bar/baz # succeeds even if foo is not writable
https://github.com/rubygems/rubygems/commit/6056138b6a
|
|
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/69cdf9e9d4
|
|
Bundler::CompactIndexClient::Cache#versions
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/4e864a8f2e
|
|
Bundler::YAMLSerializer#load
String#split supports a block since Ruby 2.6, avoiding intermediate array.
https://github.com/rubygems/rubygems/commit/5b324969cd
|
|
https://github.com/ruby/syntax_suggest/commit/73753518e9
|
|
https://github.com/ruby/syntax_suggest/commit/2771dcabe0
|
|
https://github.com/ruby/prism/commit/9131e84060
|
|
https://github.com/ruby/prism/commit/5f70b32b02
|
|
(https://github.com/ruby/irb/pull/798)
https://github.com/ruby/irb/commit/4acc9b8d6c
|
|
* Add `!name.nil?` to if condition
|
|
https://github.com/ruby/rdoc/commit/83f0149fc1
|
|
(https://github.com/ruby/irb/pull/761)
* Implement `history` command
Lists IRB input history with indices. Also aliased as `hist`.
* Add tests for `history` command
* Address feedback: `puts` with multiple arguments instead of `join`ing
* Address feedback: Handle nil from splitting an empty input string
* Refactor line truncation
* Add `-g` grep option to `history` command
* Add `history` command to README
* Remove unused `*args` parameter
* Allow spaces to be included in grep
* Allow `/` to be included in grep regex
* Handle `input` being an empty string
* Exclude "#{index}: " from matching the grep regex
* Add new line after joining
https://github.com/ruby/irb/commit/3f9eacbfa9
|
|
A lot of tools use Ripper/RubyVM::AbstractSyntaxTree to determine
if a source is valid. These tools both create an AST instead of
providing an API that will return a boolean only.
This new API only creates the C structs, but doesn't bother
reifying them into Ruby/the serialization API. Instead it only
returns true/false, which is significantly more efficient.
https://github.com/ruby/prism/commit/7014740118
|
|
The same array was being re-created in a loop (as well as the `generic_local_platform`), which is avoidable by hoisting it to a frozen array created once
https://github.com/rubygems/rubygems/commit/009a3c6d0d
|
|
https://github.com/ruby/prism/commit/e148e8fe6a
|
|
(https://github.com/ruby/irb/pull/795)
* Scrub past history input before split
* Don't rewrite ENV["LANG"]
https://github.com/ruby/irb/commit/0f344f66d9
|
|
Generally the removed message is very similar, but often it needs to
specify that the feature has "been removed" instead of "will be
removed", or "been deprecated". And a few chunks of text needed more
substantial updates. And a number of them seemed to have been carefully
crafted to make sense in either context, so I left those alone.
https://github.com/rubygems/rubygems/commit/8d42cf9104
|
|
If supplied, it uses that in place of the message for the case where the
deprecation version is already past.
https://github.com/rubygems/rubygems/commit/1deb73663c
|
|
Previously numbered parameters were a field on blocks and lambdas
that indicated the maximum number of numbered parameters in either
the block or lambda, respectively. However they also had a
parameters field that would always be nil in these cases.
This changes it so that we introduce a NumberedParametersNode that
goes in place of parameters, which has a single uint8_t maximum
field on it. That field contains the maximum numbered parameter in
either the block or lambda.
As a part of the PR, I'm introducing a new UInt8Field type that
can be used on nodes, which is just to make it a little more
explicit what the maximum values can be (the maximum is actually 9,
since it only goes up to _9). Plus we can do a couple of nice
things in serialization like just read a single byte.
https://github.com/ruby/prism/commit/2d87303903
|
|
The problem was deeper than just looking back a single token.
You can push the heredoc_end token way back into the list.
We need to save the last location of a heredoc end to see if
it's the last token in the file.
Fixes https://github.com/ruby/prism/pull/1954
https://github.com/ruby/prism/commit/91dfd4eecd
|
|
|
|
|
|
|
|
|
|
it matters.
https://github.com/rubygems/rubygems/commit/61b0947225
|
|
(https://github.com/ruby/irb/pull/784)
* Page evaluation result's output
This will make it easier to work with long output that exceeds the terminal's height.
* Use consistent TERM in rendering tests
This makes sure we get consistent result on all platforms.
https://github.com/ruby/irb/commit/4fedce93d3
|
|
Fixes https://github.com/ruby/prism/pull/1874
https://github.com/ruby/prism/commit/304dd78dd2
|
|
Currently, auto-install with git gems fails, when
it would succeed with a rubygems-source gem
Fix the issue by doing the same fallback for git errors as we do for
missing gems, the git errors should only bubble up in these cases when
the gem is not installed, meaning we want to go through the install flow
(and any persistent errors will be raised through there)
https://github.com/rubygems/rubygems/commit/e25a339f7a
|
|
|
|
Pathname::SEPARATOR_PAT is a constant and can safely be interpolated once, avoiding creating a new regexp object on every iteration
https://github.com/rubygems/rubygems/commit/75d9c0f1e4
|
|
MacJapanese (also aliased as MacJapan) is a modified Shift_JIS
encoding, but is implemented identically in Ruby
https://github.com/ruby/prism/commit/9e0a097699
|
|
implementation
(https://github.com/ruby/irb/pull/772)
https://github.com/ruby/irb/commit/a4868a5373
|
|
https://github.com/ruby/prism/commit/9c2d1cf4ba
|
|
https://github.com/rubygems/rubygems/commit/46f09800da
|