Age | Commit message (Collapse) | Author |
|
https://github.com/rubygems/rubygems/commit/503f763865
|
|
https://github.com/rubygems/rubygems/commit/5825c4c2e8
|
|
|
|
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
|
|
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
|
|
The cause was in how Gem::SystemExitException initializes itself. It
didn't pass an exit code to the super method. See the document of
SystemExit.new() for details.
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
(when it referred to the general concept and not a path), single-spacing
between sentences, and a few other small issues.
Notes:
Merged: https://github.com/ruby/ruby/pull/6167
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6166
|
|
Non-ASCII code may be negative on platforms plain char is signed.
Notes:
Merged: https://github.com/ruby/ruby/pull/6166
|
|
nil separator means no sepator, so chomp should not remove a line
separator.
Partially Fixes [Bug #18770]
Notes:
Merged: https://github.com/ruby/ruby/pull/6164
|
|
array.c:460:14: warning: unused variable 'len' [-Wunused-variable]
long len = ARY_HEAP_LEN(ary);
|
|
All shared root arrays should not be on the transient heap.
ary_make_shared evacuates arrays from the transient heap when creating
shared roots.
|
|
This reverts commit 79406e3600862bbb6dcdd7c5ef8de1978e6f916c.
Notes:
Merged: https://github.com/ruby/ruby/pull/6165
|
|
|
|
for [Misc #18891]
It is a file that could be used with `git config blame.ignoreRevsFile`.
The file name `.git-blame-ignore-revs` is natively supported by GitHub,
so you don't need anything else to make it work on GitHub.
https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
However, for your local git repository use, if you configure `blame.ignoreRevsFile`
globally, git expects you to have the file in every git repository you
use, which is nearly impossible.
So, for your local development, you're supposed to use this file with:
```
git config --local blame.ignoreRevsFile .git-blame-ignore-revs
```
|
|
Sidekiq has a method named `❨╯°□°❩╯︵┻━┻`which corrupts
heap dumps.
Normally we could just dump is as is since it's valid UTF-8 and need
no escaping. But our code to escape control characters isn't UTF-8
aware so it's more complicated than it seems.
Ultimately since the overwhelming majority of method names are
pure ASCII, it's not a big loss to just skip it.
Notes:
Merged: https://github.com/ruby/ruby/pull/6161
|
|
[Misc #18891]
Notes:
Merged: https://github.com/ruby/ruby/pull/6094
|
|
macOS 10.15 is deprecated on GitHub Actions and will have periodic
brownouts. See actions/virtual-environments#5583.
Notes:
Merged: https://github.com/ruby/ruby/pull/6162
|
|
chomp"
This reverts commit 04f86ad0b5d2fe4711ff300d855228a6aed55f33.
This is causing CI issues, reverting for now.
|
|
Fixes case where Object includes a module that defines a constant,
then using class/module keyword to define the same constant on
Object itself.
Implements [Feature #18832]
Notes:
Merged: https://github.com/ruby/ruby/pull/6048
|
|
nil separator means no sepator, so chomp should not remove a line
separator.
Partially Fixes [Bug #18770]
Notes:
Merged: https://github.com/ruby/ruby/pull/5959
|
|
|
|
Previously, it was including one newline when chomp was used,
which is inconsistent with IO#each_line behavior. This makes
behavior consistent with IO#each_line, chomping all paragraph
separators (multiple consecutive newlines), but not single
newlines.
Partially Fixes [Bug #18768]
Notes:
Merged: https://github.com/ruby/ruby/pull/5960
|
|
Before this commit, if we don't have enough slots after sweeping but
had pages on the tomb heap, then the GC would frequently allocate and
deallocate pages. This is because after sweeping it would set
allocatable pages (since there were not enough slots) but free the
pages on the tomb heap.
This commit reuses pages on the tomb heap if there's not enough slots
after sweeping.
Notes:
Merged: https://github.com/ruby/ruby/pull/6156
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6159
|
|
Not having to fetch the rb_encoding save a significant
amount of time.
Additionally, even when we have to fetch it, we can do
it faster using `ENCODING_GET` rather than `rb_enc_get`.
```
compare-ruby: ruby 3.2.0dev (2022-07-19T08:41:40Z master cb9fd920a3) [arm64-darwin21]
built-ruby: ruby 3.2.0dev (2022-07-21T11:16:16Z faster-buffer-conc.. 4f001f0748) [arm64-darwin21]
warming up...
| |compare-ruby|built-ruby|
|:---------------------|-----------:|---------:|
|binary_concat_utf8 | 510.580k| 565.600k|
| | -| 1.11x|
|binary_concat_binary | 512.653k| 571.483k|
| | -| 1.11x|
|utf8_concat_utf8 | 511.396k| 566.879k|
| | -| 1.11x|
```
Notes:
Merged: https://github.com/ruby/ruby/pull/6160
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6157
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6157
|
|
Move some macros in array.c to internal/array.h so that other files
can also access these macros.
Notes:
Merged: https://github.com/ruby/ruby/pull/6157
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6157
|
|
https://github.com/ruby/digest/commit/352b8c1636
|
|
https://github.com/ruby/digest/commit/8844716793
|
|
This commit prevents the stack from being marked twice: once via the
Fiber, and once via the Thread. It introduces an assertion to assert
that the ec on the thread is the same as the ec on the Fiber being
marked via the thread.
Notes:
Merged: https://github.com/ruby/ruby/pull/6123
|
|
Prior to this commit it was possible to call `ObjectSpace._id2ref` with
an offset static symbol object_id and get back a new, incorrectly tagged
symbol:
```
> sensible_sym = ObjectSpace._id2ref(:a.object_id)
=> :a
> nonsense_sym = ObjectSpace._id2ref(:a.object_id + 40)
=> :a
> sensible_sym == nonsense_sym
=> false
```
`nonsense_sym` ends up tagged with `RUBY_ID_INSTANCE` instead of
`RB_ID_LOCAL`. That means we can do silly things like:
```
> foo = Object.new
> foo.instance_variable_set(:a, 123)
(irb):2:in `instance_variable_set': `a' is not allowed as an instance variable name (NameError)
> foo.instance_variable_set(ObjectSpace._id2ref(:a.object_id + 40), 123)
=> 123
> foo.instance_variables
=> [:a]
```
This was happening because `get_id_entry` ignores the tag bits when
looking up the symbol. So `rb_id2str(symid)` would return a value and
then we'd continue on with the nonsense `symid`.
This commit prevents the situation by checking that the `symid` actually
matches what we get back from `get_id_entry`. Now we get a `RangeError`
for the nonsense id:
```
> ObjectSpace._id2ref(:a.object_id)
=> :a
> ObjectSpace._id2ref(:a.object_id + 40)
(irb):1:in `_id2ref': 0x000000000013f408 is not symbol id value (RangeError)
```
Co-authored-by: John Hawthorn <jhawthorn@github.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/6147
|
|
Array created as literals during iseq compilation don't need a
reference count since they can never be modified. The previous
implementation would mutate the hidden array's reference count,
causing copy-on-write invalidation.
This commit adds a RARRAY_LITERAL_FLAG for arrays created through
rb_ary_literal_new. Arrays created with this flag do not have reference
count stored and just assume they have infinite number of references.
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/6151
|
|
|
|
Write barriers may be required when VM_ENV_FLAG_WB_REQUIRED is set,
however write barriers only affect heap objects being written. If we
know an immediate value is being written we can skip this check.
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
In test_bug_reporter and test_rubyoptions we intentionally
test child processes that cause SEGV. We run them with YJIT
if the parent uses YJIT so that the text description
matches the parent RUBY_DESCRIPTION.
Notes:
Merged-By: maximecb <maximecb@ruby-lang.org>
|
|
In wmap_live_p, if is_pointer_to_heap returns false, then the page is
either in the tomb or has already been freed, so the object is dead. In
this case, wmap_live_p should return false.
Notes:
Merged: https://github.com/ruby/ruby/pull/6152
|
|
Running a command like that is actually removing any previous default
bundler specs in the default RubyGems installation (outside of destdir).
It should instead only modify destdir.
https://github.com/rubygems/rubygems/commit/5ed275383c
|
|
https://github.com/rubygems/rubygems/commit/ca956c0de2
|
|
https://github.com/rubygems/rubygems/commit/6012800a20
|
|
https://github.com/rubygems/rubygems/commit/e5434be14c
|
|
Specifying multiple primary sources in top-level was deprecated in
Bundler 1.13.
As Bundler CLI uses primary source instead of global, "global source"
is replaced with "primary source".
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/1dd1753f6e
|
|
Free objects have `T_NONE` as the builtin type. A pointer to a valid
array element will never be `NULL`.
Notes:
Merged: https://github.com/ruby/ruby/pull/6153
Merged-By: nobu <nobu@ruby-lang.org>
|
|
```elisp
(mmm-ify-by-regexp 'ruby-mode
"^ *#!.*ruby" 0 "^ *shell: *ruby.*{0}" 0 0)
```
|