Skip to content

[pull] master from ruby:master - #1291

Merged
pull[bot] merged 12 commits into
turkdevops:masterfrom
ruby:master
Aug 8, 2026
Merged

[pull] master from ruby:master#1291
pull[bot] merged 12 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Aug 8, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

znz and others added 12 commits August 8, 2026 10:05
RubyVM::InstructionSequence#to_binary raises "should not compile with
coverage" while coverage measurement is enabled. The test added by
6e65742 (Proc#syntax_tree) calls to_binary directly, which has made
`make check COVERAGE=true` (the ruby/actions coverage workflow) fail on
every run since it went green after 3dc6bdf.

Guard the call with the same rescue/omit idiom used in test_iseq.rb
and test_iseq_load.rb.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gc_start_global never set up a profile record, so once a process has a second
objspace and GC.start runs a global collection, GC::Profiler records nothing:
raw_data comes back empty and raw_data.last is nil.

TestGc#test_profiler_raw_data_includes_wall_time fails that way whenever a
test-all worker has already run something that makes a Ractor, which is why it
shows up as a flake -- it depends on how the suite is split across workers.

What a collection records about itself before it runs was written out in
gc_start_body; extract it as gc_start_record and let both paths use it, so a
field added later reaches the global collection too.  It covers the record
itself, what triggered the collection (latest_gc_info, which had been left
reporting the previous local one), the heap figures the record is built from at
the end, and gc_reset_malloc_info -- which fills the record's malloc figures and
resets the malloc trigger, since a global collection is a collection and what
accumulated before it must not count towards the next one.

A global collection's record now matches what a local one produces.  The added
test fails without the fix and does not depend on test ordering.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Of the four figures a collection snapshots about itself, three are read only by
gc_prof_set_heap_info inside #if GC_PROFILE_MORE_DETAIL, and one of those --
heap_total_slots_at_gc_start -- has no reader at all.  A default build walks
every heap twice per collection to fill fields it will never look at.

Put the two the detailed profiler wants behind the same #if, and drop the third.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Preserve native console input event data for Windows consumers.

ruby/io-console@c898eda906
`IO#console_input_events` preserves records that the old size change
helper discards.

ruby/io-console@cea11642b3
Add cross-platform cursor visibility operations so console users can
hide the cursor while redrawing without platform-specific code.

ruby/io-console@9db579fcf1
Expose virtual terminal processing and line wrapping flags so console
users can configure output without calling Win32 APIs directly.

ruby/io-console@dbfb2b0f8d
Add `IO#input_pending?` so console users can detect queued input
without consuming it or relying on platform-specific APIs.

ruby/io-console@9c7cb6de0f
Add a `timeout` option to `IO#console_input_events` so callers can
wait for input while remaining responsive to Ruby interrupts.

ruby/io-console@7801e85118
Expose Windows input constants for console event consumers.

ruby/io-console@e712668ca2
Let JRuby use Reline's native Windows path without Fiddle.

ruby/io-console@2b41f0f257
@pull pull Bot locked and limited conversation to collaborators Aug 8, 2026
@pull pull Bot added the ⤵️ pull label Aug 8, 2026
@pull
pull Bot merged commit ce62831 into turkdevops:master Aug 8, 2026
1 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants