| Age | Commit message (Collapse) | Author |
|
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(-)
|
|
Fix visibility of alias of zsuper methods
This was broken by 71c746379d5872e250d90ae45c585760afaf9516.
Fixes [Bug #18600]
---
test/ruby/test_alias.rb | 10 ++++++++++
vm_method.c | 1 +
2 files changed, 11 insertions(+)
|
|
|
|
[ruby/zlib] Mask checksums to lower 32bits
Upper bits affect the result of `crc32` in zlib 1.2.12.
https://github.com/ruby/zlib/commit/9ab6d04af1
---
ext/zlib/zlib.c | 12 +++++++++---
test/zlib/test_zlib.rb | 2 ++
2 files changed, 11 insertions(+), 3 deletions(-)
|
|
Ignore warnings at reading debug info for now
Something seems changed on FreeBSD 13.
---
test/ruby/test_rubyoptions.rb | 1 +
1 file changed, 1 insertion(+)
|
|
17e09f033c4d3b786672ba16d2c5d935482a2fad,bfc697f1e26f1406c45ec7309ca0d4c0b5ecedd6:
Skip three tests on FreeBSD 13
Some tests that use signals frequently fail randomly on FreeBSD 13.
Maybe something around signals has changed in FreeBSD 13.
This change skips them tentatively.
---
test/excludes/TestThread.rb | 9 +++++++++
test/excludes/TestThreadQueue.rb | 9 +++++++++
test/io/console/test_io_console.rb | 9 ++++++++-
3 files changed, 26 insertions(+), 1 deletion(-)
create mode 100644 test/excludes/TestThreadQueue.rb
test/io/console/test_io_console.rb: parens needed
---
test/io/console/test_io_console.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
b4fd0e0c73aac0cae23237743bbf7dc1b1315b6b,dfe7faa6b60464c184fede59f227341f6c57cc97:
Exclude TestThread#test_signal_at_join on FreeBSD 13 for now [ci
skip]
---
test/excludes/TestThread.rb | 3 +++
1 file changed, 3 insertions(+)
exclude name must be Regexp or Symbol
https://github.com/ruby/ruby/blob/fdf0f8d81487560f5837dc7e3888a96f7c2b4ec9/tool/lib/test/unit.rb#L1273-L1290
---
test/excludes/TestThread.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Bump github/codeql-action from 1 to 2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 1 to 2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v1...v2)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
---
.github/workflows/codeql-analysis.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
[rubygems/rubygems] Fix a test for `bin/bundle update --bundler` to
pass on ruby/ruby.
Consider the case that the latest Bundler version on RubyGems is higher than
the `system_bundler_version` (= `Bundler::VERSION`) in `make test-bundler` on
ruby/ruby.
See <https://bugs.ruby-lang.org/issues/18643>.
https://github.com/rubygems/rubygems/commit/bfa2f72cfa
---
spec/bundler/commands/binstubs_spec.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
zlib-1.2.12.
|
|
Update zlib version to 1.2.12
---
.appveyor.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
Add the relevant test code for 73f45e5e96ccc13a131f7c0122cf8600ce5b930f.
|
|
|
|
|
|
|
|
st.c: Do not clear entries_bound when calling Hash#shift for empty
hash
tab->entries_bound is used to check if the bins are full in
rebuild_table_if_necessary.
Hash#shift against an empty hash assigned 0 to tab->entries_bound, but
didn't clear the bins. Thus, the table is not rebuilt even when the bins
are full. Attempting to add a new element into full-bin hash gets stuck.
This change stops clearing tab->entries_bound in Hash#shift.
[Bug #18578]
---
st.c | 1 -
test/ruby/test_hash.rb | 13 +++++++++++++
2 files changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
|
|
Fix TAG_THROW through require [Bug #18562]
Previously this was being incorrectly swapped with TAG_RAISE in the next
line. This would end up checking the T_IMEMO throw_data to the exception
handling (which calls Module#===). This happened to not break existing
tests because Module#=== returned false when klass is NULL.
This commit handles throw from require correctly by jumping to the tag
retaining the TAG_THROW state.
---
load.c | 2 +-
test/ruby/test_exception.rb | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
|
|
[Bug #18501] Fire write barrier after hash has been written
Before this change the write barrier was executed before the key and
value were actually reachable via the Hash. This could cause
inconsistencies in object coloration which would lead to accidental
collection of dup'd keys.
Example:
1. Object O is grey, Object P is white.
2. Write barrier fires O -> P
3. Write barrier does nothing
4. Malloc happens, which starts GC
5. GC colors O black
6. P is written in to O (now we have O -> P reference)
7. P is now accidentally treated as garbage
---
hash.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
|
|
[Bug#18556] Fallback `MAP_ ANONYMOUS`
Define `MAP_ANONYMOUS` to `MAP_ANON` if undefined on old systems.
---
gc.c | 4 ++++
1 file changed, 4 insertions(+)
|
|
|
|
7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d80702bd98a8276243a7fcaa2a158b3bfb659: [Backport #18516]
An alias can suppress method redefinition warning
---
test/ruby/test_alias.rb | 11 +++++++++++
1 file changed, 11 insertions(+)
Fix memory leak at the same named alias [Bug #18516]
When aliasing a method to the same name method, set a separate bit
flag on that method definition, instead of the reference count
increment. Although this kind of alias has no actual effect at
runtime, is used as the hack to suppress the method re-definition
warning.
---
method.h | 1 +
test/ruby/test_alias.rb | 18 ++++++++++++++++++
vm_method.c | 9 ++++++++-
3 files changed, 27 insertions(+), 1 deletion(-)
|
|
|
|
f27eb8148f5a72bbacfebfecc7de9305471bb5c9,d75f7078c831d45ab5ba2fae4fbb308d01a21e46,d5836db1b398a7936b0461b3011db66f6cc8c490: [Backport #18443]
Sync io-console gem.
---
ext/io/console/console.c | 8 ++++++--
test/io/console/test_io_console.rb | 8 ++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
[ruby/io-console] bump up to 0.5.11
https://github.com/ruby/io-console/commit/ad3805200c
---
ext/io/console/io-console.gemspec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Fix `Leaked file descriptor: TestIO_Console#test_console_kw`
```
Leaked file descriptor: TestIO_Console#test_console_kw: 10 : #<File:/dev/tty>
```
---
test/io/console/test_io_console.rb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
Shifting zero always results in zero [Bug #18517]
---
numeric.c | 2 ++
1 file changed, 2 insertions(+)
|
|
5c7af72304d0ad33cd3f21b24a4bc44e8acd5b2c,d650b17686d49c2ce8e6a87039861154e93d4621: [Backport #18497]
Assuming EXIT_SUCCESS equals 0 is not portable
---
test/ruby/test_fiber.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
`rb_fiber_terminate` must not return [Bug #18497]
In a forked process from a fiber, the fiber becomes the only
fiber, `fiber_switch` does nothing as there is no other fibers,
`rb_fiber_terminate` does not terminate the fiber. In that case,
reaches the end of `fiber_entry` finaly, which is declared as
"COROUTINE" and should never return.
---
cont.c | 3 ++-
eval_intern.h | 2 +-
test/fiber/test_process.rb | 15 +++++++++++++++
test/ruby/test_fiber.rb | 5 +++++
4 files changed, 23 insertions(+), 2 deletions(-)
|
|
Fix the placeholder subclass entry skipping [Bug #18489]
---
class.c | 3 +--
test/ruby/test_module.rb | 9 +++++++++
2 files changed, 10 insertions(+), 2 deletions(-)
|
|
thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475]
---
test/ruby/test_enum.rb | 11 +++++++++++
thread.c | 3 +++
2 files changed, 14 insertions(+)
|
|
[ruby/optparse] Fix links to the page directory files [Bug #18468]
https://github.com/ruby/optparse/commit/dab72c543d
---
doc/optparse/creates_option.rdoc | 4 ++--
doc/optparse/option_params.rdoc | 2 +-
doc/optparse/tutorial.rdoc | 4 ++--
lib/optparse.rb | 4 ++--
4 files changed, 7 insertions(+), 7 deletions(-)
|
|
Allow include before calling Module#initialize
This is to allow Module subclasses that include modules before
calling super in the subclass's initialize.
Remove rb_module_check_initializable from Module#initialize.
Module#initialize only calls module_exec if a block is passed,
it doesn't have other issues that would cause problems if
called multiple times or with an already initialized module.
Move initialization of super to Module#allocate, though I'm not
sure it is required there. However, it's needed to be removed
from Module#initialize for this to work.
Fixes [Bug #18292]
---
class.c | 1 +
object.c | 1 -
test/ruby/test_module.rb | 10 ++++++++++
3 files changed, 11 insertions(+), 1 deletion(-)
|