Age | Commit message (Collapse) | Author |
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4119
|
|
The most common use case for `bind_call` is to protect from core
methods being redefined, for instance a typical use:
```ruby
UNBOUND_METHOD_MODULE_NAME = Module.instance_method(:name)
def real_mod_name(mod)
UNBOUND_METHOD_MODULE_NAME.bind_call(mod)
end
```
But it's extremely common that the method wasn't actually redefined.
In such case we can avoid creating a new callable method entry,
and simply delegate to the receiver.
This result in a 1.5-2X speed-up for the fast path, and little to
no impact on the slowpath:
```
compare-ruby: ruby 3.1.0dev (2021-02-05T06:33:00Z master b2674c1fd7) [x86_64-darwin19]
built-ruby: ruby 3.1.0dev (2021-02-15T10:35:17Z bind-call-fastpath d687e06615) [x86_64-darwin19]
| |compare-ruby|built-ruby|
|:---------|-----------:|---------:|
|fastpath | 11.325M| 16.393M|
| | -| 1.45x|
|slowpath | 10.488M| 10.242M|
| | 1.02x| -|
```
Notes:
Merged: https://github.com/ruby/ruby/pull/4188
|
|
Fixes issues when the same tests are executed more than once,
which some CI machines do.
|
|
While working on another project we noticed that there were no tests for
the cvar overtaken exception when using classes. This change adds a test
for cvar overtaken with classes and moves the cvar overtaken test for
modules into the new file.
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/4251
|
|
In every caller of `rb_class_ivar_set` it checks for the `RCLASS_IV_TBL`
and then creates it if it doesn't exist. Instead of repeating this in
every caller, this can be done once in `rb_class_ivar_set`.
Notes:
Merged: https://github.com/ruby/ruby/pull/4254
|
|
|
|
This version of defined? doesn't seem to be possible to emit anymore.
Notes:
Merged: https://github.com/ruby/ruby/pull/4253
|
|
|
|
|
|
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4249
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4248
|
|
|
|
|
|
|
|
|
|
|
|
It looks like GitHub syntax-highlighting does not support an empty
heredoc. This change adds a newline to make GitHub can handle the syntax
appropriately.
https://bugs.ruby-lang.org/issues/17662
|
|
This test was triggering require of `rubygems/core_ext/tcpsocket_init`
which overrides TCPSocket.initialize globally. Requires don't get
reset between test runs and it was making other test unreliable.
Fixes timeout of test on ruby master
https://github.com/rubygems/rubygems/commit/fdfe5c9691
Notes:
Merged: https://github.com/ruby/ruby/pull/4143
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4143
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4143
|
|
|
|
|
|
[Bug #17675] https://bugs.ruby-lang.org/issues/17675
https://github.com/ruby/stringio/commit/1ed61d0cbc
|
|
Gem::Specification#add_development_dependency.
https://github.com/ruby/stringio/commit/157fe9f04d
|
|
|
|
|
|
Some methods are separated into modules in test-unit now.
https://github.com/ruby/stringio/commit/d289848994
|
|
https://github.com/ruby/stringio/commit/74e39858eb
|
|
|
|
|
|
Fixes https://bugs.ruby-lang.org/issues/17659
https://github.com/ruby/io-wait/commit/ba338b4764
Notes:
Merged: https://github.com/ruby/ruby/pull/4244
|
|
https://github.com/ruby/io-wait/commit/88db082d60
Notes:
Merged: https://github.com/ruby/ruby/pull/4244
|
|
https://github.com/ruby/io-wait/commit/0c73ebcf5d
Notes:
Merged: https://github.com/ruby/ruby/pull/4244
|
|
Before 3.0.0, io-wait has not been gemified.
https://github.com/ruby/io-wait/commit/6fed3da323
Notes:
Merged: https://github.com/ruby/ruby/pull/4244
|
|
https://github.com/ruby/io-wait/commit/0599f6d4d6
https://github.com/ruby/io-wait/commit/4e982aea1b
https://github.com/ruby/io-wait/commit/5b45685eb3
Notes:
Merged: https://github.com/ruby/ruby/pull/4244
|
|
Previously these methods were defined but raised TypeError, which
seems worse.
Notes:
Merged: https://github.com/ruby/ruby/pull/3811
|
|
Implements [Feature #17347]
Notes:
Merged: https://github.com/ruby/ruby/pull/3811
|
|
This previously raised a TypeError. Wrap the Enumerator::Chain in
an Enumerator to work around the problem.
Fixes [Bug #17216]
Notes:
Merged: https://github.com/ruby/ruby/pull/3811
|
|
|
|
Defer making ractor stdio until ractor started.
Before ractor started, created objects belong to the caller ractor
instead of the created ractor.
Notes:
Merged: https://github.com/ruby/ruby/pull/4241
Merged-By: nobu <nobu@ruby-lang.org>
|
|
When runtime_libruby_path does not include '/', it attempts to call
rb_str_resize with negative length. This change makes sure that the
length non-negative.
Co-Authored-By: xtkoba (Tee KOBAYASHI) <xtkoba+ruby@gmail.com>
|
|
|
|
This makes the save-history extension check for modifications to
the history file before saving it. If the history file was modified
after the history was loaded and before it was saved, append only
the new history lines to the history file.
This can result in more lines in the history file than SAVE_HISTORY
allows. However, that will be fixed the next time irb is run and
the history is saved.
Fixes [Bug #13654]
https://github.com/ruby/irb/commit/041ef53845
|
|
https://github.com/ruby/irb/commit/1020ac9c65
|
|
Fixes [Bug #14824]
https://github.com/ruby/irb/commit/63414f8465
|
|
Deleted decades ago in commit 6e0fed271c1d2e6f2b13b99d89d43e7d00e81472
Note also that we eventually ended up reinventing this exact same
functionality. It is called rb_check_id() now.
|