| Age | Commit message (Collapse) | Author |
|
Install gems `lib` directory to build path
---
ext/extmk.rb | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
|
|
Make dependency-free gemspec files
The default gems have not been installed yet in the build directory,
bundled gems depending on them can not work. As those dependencies
should be usable there even without rubygems, make temporary gemspec
files without the dependencies, and use them in the build directory.
---
ext/extmk.rb | 11 +++++++++++
tool/gem-unpack.rb | 4 ++++
2 files changed, 15 insertions(+)
|
|
Extract gemspec files to each gem directories
Since extension libraries can not be built in the source directory,
rubygems warns gems have extension libraries as the extensions are not
built. To order to suppress this warnings, extract such gemspec files
under each gem directories instead of the common `specifications`
directory.
---
tool/gem-unpack.rb | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
Obey spec file locations to rubygems
---
common.mk | 3 ++-
defs/gmake.mk | 2 +-
tool/gem-unpack.rb | 5 +++--
3 files changed, 6 insertions(+), 4 deletions(-)
|
|
Use `File::PATH_SEPARATOR` for the portability
---
tool/test-bundled-gems.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
[Bug #19038] Fix corruption of generic_iv_tbl when compacting
When the generic_iv_tbl is resized up, rebuild_table performs
allocations that can trigger GC. If autocompaction is enabled, then
moved objects are removed from and inserted into the generic_iv_tbl.
This may cause another call to rebuild_table to resize the
generic_iv_tbl. When returning back to the original rebuild_table, some
of the data may be stale, causing the generic_iv_tbl to be corrupted.
This commit changes rebuild_table to only read data from the st_table
after the allocations have completed.
Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>
---
st.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
|
|
fake.rb: Set prefix to `$topdir`
Not to refer outside the top build directory from rbconfig.
---
tool/fake.rb | 1 +
1 file changed, 1 insertion(+)
|
|
This reverts commit bda0b8c09331111f38af98291c201595ce3a2872.
|
|
|
|
|
|
|
|
Disable parallel built in test-bundled-gems
---
common.mk | 2 +-
tool/test-bundled-gems.rb | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
|
|
|
|
|
|
Mark struct METHOD->owner for the GC
* Fixes https://github.com/ruby/ruby/commit/6b7d32a5e5
* See [Bug #18729]
---
proc.c | 2 ++
1 file changed, 2 insertions(+)
|
|
|
|
|
|
94cea3e4d0a60326bd95be762819eed8ccd59ca6,aa53d69aa21c4dfa2a78a1cec5cb34e9697b3d30,6b7d32a5e54088b6b4014529bbf2b4b8c1a96029,c6319026caa6c8f0f569f80011e8502349a04b14,aa490f9442c32cd0e1e449ac817f410bd5924c8b: [Backport #18435]
Fix {Method,UnboundMethod}#super_method for zsuper methods
* We need to resolve the zsuper method first, and then look the super
method of that.
---
proc.c | 25 ++++++++++++-----------
spec/ruby/core/method/super_method_spec.rb | 15 +++-----------
spec/ruby/core/unboundmethod/super_method_spec.rb | 16 ++++++---------
3 files changed, 22 insertions(+), 34 deletions(-)
Add specs for {Method,UnboundMethod}#owner of a zsuper method
---
spec/ruby/core/method/owner_spec.rb | 6 ++++++
spec/ruby/core/unboundmethod/owner_spec.rb | 7 +++++++
2 files changed, 13 insertions(+)
Resolve zsuper method during lookup but preserve owner separately
* See https://bugs.ruby-lang.org/issues/18729#note-34
* See [Bug #18729]
---
proc.c | 109 +++++++++++++++++++++++++----------------------
test/ruby/test_method.rb | 66 +++++++++++++++++++++++-----
2 files changed, 114 insertions(+), 61 deletions(-)
Extend tests for a zsuper method of which the method it resolved to
has been removed
---
test/ruby/test_method.rb | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17f
* So it's easy to review https://github.com/ruby/ruby/pull/6242 +
https://github.com/ruby/ruby/pull/6467 and there are less changes
overall.
---
proc.c | 76 ++++++++++++++++++------------------------------
test/ruby/test_method.rb | 7 +++--
2 files changed, 34 insertions(+), 49 deletions(-)
|
|
Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
|
|
e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1: [Backport #19014]
configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
---
configure.ac | 97 +++++++++++++++++++++++++++---------------------------------
1 file changed, 43 insertions(+), 54 deletions(-)
configure.ac: Add --with-gmp-dir (#6366)
Add the `--with-gmp-dir` to specify the prefix directory of GMP.
The`--without-gmp` option is preserved for convenience. It can
be used to force to reject using GMP even if the `--with-gmp-dir`
option is specified.
---
configure.ac | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
configure.ac: Apply suggestions from code review in #6366
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
configure.ac | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create
a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7
---
lib/fileutils.rb | 2 +-
test/fileutils/test_fileutils.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
|
|
Return `false` where sticky-bit is not provided [Bug #18734]
---
file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
[Win32] Fix mode of character/pipe device stat [Bug #18732]
---
test/ruby/test_file_exhaustive.rb | 33 ++++++++++++++++++++++++++++-----
win32/win32.c | 22 ++++++++++++++++------
2 files changed, 44 insertions(+), 11 deletions(-)
|
|
[Bug #18928] Fix crash in WeakMap
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.
---
gc.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
|
|
[Bug #18922] Normalize time at 24:00:00 UTC
---
test/ruby/test_time.rb | 2 ++
time.c | 14 ++++++++++++++
2 files changed, 16 insertions(+)
|
|
Thread#value: handle threads killed by a fork
[Bug #18902]
When a thread is killed because we forked, the `value` if left
to `Qundef`. Returning it woudl crash the VM.
---
test/ruby/test_thread.rb | 14 ++++++++++++++
thread.c | 4 ++++
2 files changed, 18 insertions(+)
|
|
035978d7be9bc3819f42f964fe6193d983cce63f,2e324b645e16e67c14de80ea34b1d61165045f22,b6a9e683917745df2822a611fce64df9ae8090a7:
Pass job-server FDs to bundler tests
---
common.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Manage paths for bundler tests
---
common.mk | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Add noarch-fake.rb target
`yes-fake` depends on it when `arch=noarch` is given, but the rule to
generate it from fake.rb.in is ignored now.
---
common.mk | 3 +++
1 file changed, 3 insertions(+)
|
|
Now test-bundler nees fake.rb
---
common.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
8794cc62899c6447fa4451489b9e308e2a890595,3ff53c8e04ecc91e0190de6d5950ecce2a2ea188:
Tentatively put macOS CIs back with adding macOS 12
---
.github/workflows/macos.yml | 99 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
create mode 100644 .github/workflows/macos.yml
Remove macOS 10.15 from CI
macOS 10.15 is deprecated on GitHub Actions and will have periodic
brownouts. See actions/virtual-environments#5583.
---
.github/workflows/macos.yml | 1 -
1 file changed, 1 deletion(-)
|
|
Use VM Lock when mutating waiting threads list
`rb_thread_wait_for_single_fd` needs to mutate the `waiting_fds` list
that is stored on the VM. We need to delete the FD from the list before
returning, and deleting from the list requires a VM lock (because the
list is a global).
[Bug #18816] [ruby-core:108771]
Co-Authored-By: Alan Wu <alanwu@ruby-lang.org>
---
thread.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
Update bundled_gems
Try latest patch to avoid some race on Mac OS X.
---
gems/bundled_gems | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
The tzdata 2022c removed Amsterdam Mean Time
---
spec/ruby/core/time/shared/local.rb | 2 ++
1 file changed, 2 insertions(+)
|
|
Free cached mark stack chunks when freeing objspace
Cached mark stack chunks should also be freed when freeing objspace.
---
gc.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
|
|
Fix unexpected "duplicated key name" error in paren-less one line
pattern matching
[Bug #18990]
---
parse.y | 16 ++++++++++++----
test/ruby/test_pattern_matching.rb | 12 ++++++++++++
2 files changed, 24 insertions(+), 4 deletions(-)
|
|
|
|
ef525b012a709077ea2797e8642fae0b61234063,dc9a13abeef5a2b936fbb55edc112b8b382a05e7: [Backport #18775]
Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)
---
io_buffer.c | 122 +++++++++++++++++++++++++++++++++++---------
test/ruby/test_io_buffer.rb | 36 +++++++------
2 files changed, 117 insertions(+), 41 deletions(-)
Fix rdoc of IO::Buffer [ci skip]
---
io_buffer.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
|
|
Fix multiplex backreferencs near end of string in regexp match
Idea from Jirka Marsik.
Fixes [Bug #18631]
---
regexec.c | 6 ++++--
test/ruby/test_regexp.rb | 6 ++++++
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
Return only captured range in `MatchData` [Bug #18670]
---
re.c | 2 +-
test/ruby/test_regexp.rb | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
Fix the wrong index of the previous component [Bug #18739]
---
parse.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
8212aab81a77a2a91fb7c1681b4968171193b48f,209631a45f9682dedf718f4b4a140efe7d21a6fc: [Backport #18435]
Make Object#method and Module#instance_method not skip ZSUPER methods
Based on https://github.com/jeremyevans/ruby/commit/c95e7e5329140f640b6497905485761f3336d967
Among other things, this fixes calling visibility methods (public?,
protected?, and private?) on them. It also fixes #owner to show the
class the zsuper method entry is defined in, instead of the original
class it references.
For some backwards compatibility, adjust #parameters and #source_location,
to show the parameters and source location of the method originally
defined. Also have the parameters and source location still be shown
by #inspect.
Clarify documentation of {Method,UnboundMethod}#owner.
Add tests based on the description of https://bugs.ruby-lang.org/issues/18435
and based on https://github.com/ruby/ruby/pull/5356#issuecomment-1005298809
Fixes [Bug #18435] [Bug #18729]
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
---
proc.c | 63 +++++++++++++++++++++++++++++++++++-------------
test/ruby/test_method.rb | 59 +++++++++++++++++++++++++++++++++++++++++----
2 files changed, 100 insertions(+), 22 deletions(-)
Consider resolved-through-zsuper methods equal for compatibility
* Fixes https://bugs.ruby-lang.org/issues/18751
---
proc.c | 65 +++++++++++-------------
spec/ruby/core/unboundmethod/equal_value_spec.rb | 37 ++++++++++++++
test/ruby/test_method.rb | 18 +++++++
3 files changed, 86 insertions(+), 34 deletions(-)
|
|
Try the tag without "v" prefix to checkout upstream repositories
---
gems/bundled_gems | 4 ++--
tool/fetch-bundled_gems.rb | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
|
|
|
|
[Backport #18373]"
This reverts commit d56b2e8820efd40840443ce3a5d16cff32a090c7.
|
|
Install built gem extension binaries
---
tool/rbinstall.rb | 56 ++++++++++++++++---------------------------------------
1 file changed, 16 insertions(+), 40 deletions(-)
|
|
Fix using anonymous block in method accepting explicit keywords
Record block ID before vtable_pop, so the incorrect one doesn't
override it.
Fixes [Bug #18673]
---
parse.y | 1 +
test/ruby/test_syntax.rb | 54 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+)
|
|
Remove dependency on libcapstone
We have received reports of build failures due to this configuration
check modifying compile flags. Since only YJIT devs use this library
we can remove it to make Ruby easier to build for users.
See: https://github.com/rbenv/ruby-build/discussions/1933
---
configure.ac | 9 ---------
1 file changed, 9 deletions(-)
|
|
[Bug #18627] Fix crash when including module
During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain of superclasses of the iclass could
already have been swept (and become a new object), which would cause a
crash when trying to read the object.
---
class.c | 48 ++++++++++++++++++++++++++++++------------------
1 file changed, 30 insertions(+), 18 deletions(-)
|