Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
standard libraries
https://github.com/ruby/irb/commit/7092ad2ab5
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4614
|
|
Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods.
https://github.com/ruby/irb/commit/eb5260fcd5
|
|
such as `ls 42`, `ls :sym` and so on
https://github.com/ruby/irb/commit/b1d436a853
|
|
|
|
Ruby 3.1
https://github.com/ruby/error_highlight/commit/2dca1446c9
|
|
|
|
|
|
|
|
https://github.com/ruby/error_highlight/commit/8d483c251e
|
|
https://github.com/ruby/error_highlight/commit/acb2046a82
|
|
https://github.com/ruby/error_highlight/commit/f40a1de20e
|
|
https://github.com/ruby/error_highlight/commit/e0c90c72c3
|
|
|
|
|
|
Before this commit, const_get with inherit=true and constant lookup
expressions searched the ancestors of the starting point in an order
different from `starting_point.ancestors`.
Items in the ancestry list introduced through prepend were searched
after searching the module they were prepended into. This oddity allowed
for situations where constant lookups gave different results even though
`starting_point.ancestors` is the same.
Do the lookup in the same order as `starting_point.ancestors` by
skipping classes and modules that have an origin iclass. The origin
iclass is in the super chain after the prepended modules.
Note that just like before this commit, the starting point of the
constant lookup is always the first item that we search, regardless of
the presence of any prepended modules.
[Bug #17887]
Notes:
Merged: https://github.com/ruby/ruby/pull/4585
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
At compilation time with RUBY_DEBUG enabled, check if the removal
version has been reached.
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
This hack should be removed after the minitest side is updated.
https://github.com/seattlerb/minitest/pull/880
Notes:
Merged: https://github.com/ruby/ruby/pull/4586
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4586
|
|
```
$ ./local/bin/ruby -e '1.time {}'
-e:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
1.time {}
^^^^^
Did you mean? times
```
https://bugs.ruby-lang.org/issues/17930
Notes:
Merged: https://github.com/ruby/ruby/pull/4586
|
|
When running btest there is a crash when compiled with
RGENGC_CHECK_MODE=4. The crash happens because `during_gc` is not
turned off before `gc_marks_check` is called, causing the marking to
happen on the main mark stack instead of mark stack created in
`objspace_allrefs`.
Notes:
Merged: https://github.com/ruby/ruby/pull/4610
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4612
|
|
... instead of exact matching. I'm now creating a built-in gem that
modifies Exception's error message, so the expectation value is changed.
IMO, it is good to check that did_you_mean suggestion is NOT added in
the uncorrectable case.
https://github.com/ruby/did_you_mean/commit/ebe88ec4d2
|
|
Previously, did_you_mean used `msg.end_with?(suggestion)` to check if
its suggestion is already added.
I'm now creating a gem that also modifies Exception's message. This
breaks did_you_mean's duplication check.
This change makes the check use String#include? instead of end_with?.
https://github.com/ruby/did_you_mean/commit/b35e030549
|
|
Previously, DidYouMean::Correctable#original_message did
`method(:to_s).super_method.call` to call the original to_s method by
skipping Correctable#to_s.
I'm now creating a gem that prepends another to_s method to NameError,
which confuses the hack. An immediate solution is to replace it with
`method(:to_s).super_method.super_method.call` to skip the two methods.
But it is too ad-hoc.
This changeset uses more extensible approach and allow a prepended
module to declare that they should be skipped by defining a constant
named `SKIP_TO_S_FOR_SUPER_LOOKUP`.
https://github.com/ruby/did_you_mean/commit/8352c154e3
|
|
https://github.com/ruby/did_you_mean/commit/fbe5aaaae8
|
|
https://github.com/ruby/did_you_mean/commit/3f69171813
|
|
|
|
|
|
Fixes [Bug #17794]
Notes:
Merged: https://github.com/ruby/ruby/pull/4611
|
|
Reduce duplications
* ID caluculations of the same name
* checks against the same name
* registration to the root module hash
|
|
|
|
|
|
|
|
|
|
|
|
https://github.com/ruby/irb/pull/249 actually slowed down how `code` is
concatenated. The original way of creating `code` is faster.
[before]
user system total real
2.420137 0.005364 2.425501 ( 2.426264)
[after]
user system total real
1.000221 0.007454 1.007675 ( 1.008295)
Theoretically, this implementation might skip lines that don't appear in
Ripper tokens, but this assumes such lines don't impact whether the code
passes compilation or not. At least normal blank lines seem to have an
`on_ignored_nl` token anyway though.
https://github.com/ruby/irb/commit/27dd2867cd
|
|
https://github.com/ruby/irb/commit/2b79e9ad21
|
|
|
|
|