Age | Commit message (Collapse) | Author |
|
`IO#reopen` is very special in that it is able to change the class and
singleton class of IO instances. In its presence, it is not correct to
assume that IO instances has a stable class/singleton class and guard
by comparing identity.
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
* Unify length field for embedded and heap strings
The length field is of the same type and position in RString for both
embedded and heap allocated strings, so we can unify it.
* Remove RSTRING_EMBED_LEN
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
|
|
We should grow by at least gc_params.heap_init_slots, but the previous
calculation was incorrect.
|
|
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.8 to 2.1.9.
- [Release notes](https://github.com/octokit/request-action/releases)
- [Commits](https://github.com/octokit/request-action/compare/352d2ae93e1805721b5fe308598555ba3bd2c8e2...89697eb6635e52c6e1e5559f15b5c91ba5100cb0)
---
updated-dependencies:
- dependency-name: octokit/request-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
It's the only part that needs "root folder resultion" to figure out the
folder for the cache, but it's only needed for some things, so run that
logic lazily when needed.
https://github.com/rubygems/rubygems/commit/c7b9eae0bc
|
|
through ENV
The `deployment` setting sets `path` to `vendor/bundle` implicitly, but
that should only apply if `path` is not set explicitly, at any level.
https://github.com/rubygems/rubygems/commit/3552c064c1
|
|
These should all be passing on Bundler 3.
https://github.com/rubygems/rubygems/commit/4a8c172965
|
|
https://github.com/rubygems/rubygems/commit/e16aa47b8f
|
|
They are already tested above.
https://github.com/rubygems/rubygems/commit/23073dcece
|
|
Normally, we use `require_relative` when requiring internal code.
However, Bundler may also load external code (for example, bundler
plugins), and when that external code loads Bundler itself, using
`require_relative` without setting up the `$LOAD_PATH` may lead into
double load errors.
For example, when testing a Gemfile using plugins using our source code
tree, I get the following:
```
➜ plugins-dup ~/Code/rubygems/rubygems/bundler/exe/bundle
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Using bundler 2.5.0.dev
Installing extended_bundler-errors 0.3.3
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/version.rb:4: warning: already initialized constant Bundler::VERSION
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/version.rb:4: warning: previous definition of VERSION was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/worker.rb:5: warning: already initialized constant Bundler::Worker::POISON
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/worker.rb:5: warning: previous definition of POISON was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:183: warning: already initialized constant Bundler::FileUtils::VERSION
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:183: warning: previous definition of VERSION was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2165: warning: already initialized constant Bundler::FileUtils::Entry_::S_IF_DOOR
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2165: warning: previous definition of S_IF_DOOR was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2461: warning: already initialized constant Bundler::FileUtils::Entry_::DIRECTORY_TERM
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2461: warning: previous definition of DIRECTORY_TERM was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2569: warning: already initialized constant Bundler::FileUtils::OPT_TABLE
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2569: warning: previous definition of OPT_TABLE was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2627: warning: already initialized constant Bundler::FileUtils::LOW_METHODS
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2627: warning: previous definition of LOW_METHODS was here
/Users/deivid/.asdf/installs/ruby/3.2.2/lib/ruby/site_ruby/3.2.0/bundler/vendor/fileutils/lib/fileutils.rb:2634: warning: already initialized constant Bundler::FileUtils::METHODS
/Users/deivid/Code/rubygems/rubygems/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb:2634: warning: previous definition of METHODS was here
Failed to install plugin `extended_bundler-errors`, due to Bundler::Plugin::MalformattedPlugin (ArgumentError: Trying to register Bundler::GemfileError for status code 4 but
Bundler::GemfileError is already registered)
```
Changing this to always use `$LOAD_PATH` fixes the problem.
https://github.com/rubygems/rubygems/commit/121a861c39
|
|
If we're in inline mode, Bundler first resolves using only local gems,
and if some gems are missing, then it re-resolves using remote gems.
However, "source resolution" from the initial "local" try was being
memoized, resulting in Bundler not looking for some gems remotely in the
second resolution.
This commit forces a proper re-resolve in this case.
https://github.com/rubygems/rubygems/commit/fdc631075e
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
|
|
The benchmark results show that this feature has either a positive or
no impact on performance. The memory usage is also mostly unchanged,
except in hexapdf, where there is a decrease in RSS.
-------------- ----------- ---------- --------- ----------- ---------- --------- -------------- -------------
bench master (ms) stddev (%) RSS (MiB) branch (ms) stddev (%) RSS (MiB) branch 1st itr master/branch
activerecord 70.8 2.2 56.0 71.7 2.2 56.0 0.99 0.99
erubi_rails 20.5 13.6 94.7 20.5 14.3 94.2 0.93 1.00
hexapdf 2541.0 0.7 212.8 2544.4 0.7 203.4 1.00 1.00
liquid-c 65.6 0.3 38.9 65.3 0.3 38.9 1.01 1.01
liquid-compile 63.7 0.3 34.6 61.1 0.2 34.6 1.04 1.04
liquid-render 163.1 0.1 37.1 163.3 0.1 37.1 1.00 1.00
mail 139.3 0.1 50.5 137.0 0.1 50.1 0.99 1.02
psych-load 2065.7 0.1 36.9 2068.2 0.1 37.3 1.00 1.00
railsbench 2034.6 0.5 103.9 2031.9 0.5 103.8 1.02 1.00
ruby-lsp 65.3 3.1 89.8 66.2 3.0 89.7 1.01 0.99
sequel 73.2 1.0 40.3 73.4 1.0 40.3 1.00 1.00
-------------- ----------- ---------- --------- ----------- ---------- --------- -------------- -------------
Notes:
Merged: https://github.com/ruby/ruby/pull/7871
|
|
(https://github.com/ruby/irb/pull/598)
* Rename conf to irb_context
* Drop Nop#irb method because it's only used by irb/ext/loader.rb
We don't need to expose this method to all command classes, especially
when it's just an alias of `irb_context.irb`.
|
|
(https://github.com/ruby/irb/pull/597)
https://github.com/ruby/irb/commit/0a0409c52b
|
|
(https://github.com/ruby/irb/pull/599)
I received a `RegexpError` when I typed `::Array[`.
::Array[/Users/mi/ghq/github.com/ruby/irb/lib/irb/completion.rb:236:in `retrieve_completion_data': premature end of char-class: /^Array[/ (RegexpError)
|
|
We were missing the write barrier for class_value to cref. This should
fix the segv we were seeing in http://ci.rvm.jp/logfiles/brlog.trunk-gc-asserts.20230601-165052
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/7900
|
|
This reverts commit 10621f7cb9a0c70e568f89cce47a02e878af6778.
This was reverted because the gc integrity build started failing. We
have figured out a fix so I'm reopening the PR.
Original commit message:
Fix cvar caching when class is cloned
The class variable cache that was added in
ruby#4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read from the
original class, reading a class variable from the cloned class would
return the value from the original class.
This was happening because the IC (inline cache) is stored on the ISEQ
which is shared between the original and cloned class, therefore they
share the cache too.
To fix this we are now storing the `cref` in the cache so that we can
check if it's equal to the current `cref`. If it's different we don't
want to read from the cache. If it's the same we do. Cloned classes
don't share the same cref with their original class.
This will need to be backported to 3.1 in addition to 3.2 since the bug
exists in both versions.
We also added a marking function which was missing.
Fixes [Bug #19379]
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/7900
|
|
https://github.com/rubygems/rubygems/pull/6693
https://github.com/rubygems/rubygems/commit/73c0d5f059
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7906
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7906
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7906
|
|
The length of an embedded string is no longer in the flags.
|
|
(https://github.com/ruby/singleton/pull/9)
- Add more tests to cover rails' usage.
|
|
Add -y option information to `--help`
Fix a warning on the man page
Notes:
Merged: https://github.com/ruby/ruby/pull/7870
Merged-By: nobu <nobu@ruby-lang.org>
|
|
(https://github.com/ruby/singleton/pull/7)"
This reverts commit https://github.com/ruby/singleton/commit/545b6b61a40d.
This change break Rails CI: https://bugs.ruby-lang.org/issues/19711
https://github.com/ruby/singleton/commit/911531d508
|
|
|
|
(https://github.com/ruby/irb/pull/596)
https://github.com/ruby/irb/commit/c2e7002867
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/7897
|
|
|
|
(https://github.com/ruby/reline/pull/548)
https://github.com/ruby/reline/commit/4330a52572
|
|
Notes:
Merged-By: ioquatix <samuel@codeotaku.com>
|
|
https://github.com/ruby/rdoc/commit/4b68c0728a
|
|
It also uses Lrama then no dependency on Bison.
Notes:
Merged: https://github.com/ruby/ruby/pull/7896
|
|
(https://github.com/ruby/singleton/pull/7)
Remove `__init__` and move logic to `included`.
|
|
Notes:
Merged-By: k0kubun <takashikkbn@gmail.com>
|
|
Fix:
```
1) Failure:
TestGc#test_latest_gc_info_need_major_by [/home/runner/work/ruby/ruby/src/test/ruby/test_gc.rb:266]:
<nil> expected to not be nil.
```
`GC.stat(:major_gc_count)` can be bumped while `GC.latest_gc_info(:need_major_by)` is still nil.
Notes:
Merged: https://github.com/ruby/ruby/pull/7895
|
|
(https://github.com/ruby/irb/pull/595)
Because they are handled differently in `ruby/irb` and `ruby/ruby`.
|
|
`Fiddle::TYPE_VARIADIC`
(https://github.com/ruby/reline/pull/547)
https://github.com/ruby/reline/commit/71ba3a9432
|
|
|
|
https://github.com/ruby/stringio/commit/1587d3698e
|
|
NMake cannot handle empty expanded targets.
|
|
https://github.com/ruby/uri/commit/21baf2ba16
|
|
Bumps [octokit/request-action](https://github.com/octokit/request-action) from 2.1.7 to 2.1.8.
- [Release notes](https://github.com/octokit/request-action/releases)
- [Commits](https://github.com/octokit/request-action/compare/89a1754fe82ca777b044ca8e79e9881a42f15a93...352d2ae93e1805721b5fe308598555ba3bd2c8e2)
---
updated-dependencies:
- dependency-name: octokit/request-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|
"BISON" is defined in "ext/ripper/depend".
Notes:
Merged: https://github.com/ruby/ruby/pull/7878
|
|
This reverts commit 77d1b082470790c17c24a2f406b4fec5d522636b.
|
|
(https://github.com/ruby/irb/pull/594)
* Use require_relative for envutil.rb
Requiring test helper files with `require_relative` allows running the tests
with `ruby -Itest test/irb/test_debug_cmd.rb` without having to set up
the load path.
* Replace reline hack with TERM=dumb
|