Skip to content

[pull] master from ruby:master - #1401

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

[pull] master from ruby:master#1401
pull[bot] merged 8 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Sep 12, 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 : )

devnexen and others added 8 commits September 12, 2026 07:41
Winsock leaves a WSA error code in SO_ERROR, while the socket library
reads it as an errno everywhere. wait_connectable() compares it with
ECONNREFUSED and friends, and Socket.tcp hands it to SystemCallError, so
a connection refused on Windows surfaced as a bare SystemCallError
rather than Errno::ECONNREFUSED.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Winsock reports a failed non-blocking connect(2) only through the
exceptfds of select(2), which IO#wait_writable never asks for.  So
Addrinfo#connect_internal kept waiting on a socket whose connection had
already been refused, and burned the whole connect_timeout before
raising Errno::ETIMEDOUT instead of the real error.

Ask for the priority event on Windows alone.  The M:N thread scheduler
refuses any wait carrying another event, so requesting it where it
cannot fire would take the wait off that scheduler for nothing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…e in parse.y

For `Const += value`, parse.y builds a NODE_CDECL whose value is an
OPCALL on a NODE_CONST read node, and that read node only spanned the
constant name. The NameError for an undefined constant is raised by that
read, so Thread::Backtrace::Location#source_range reported only the
constant name. Prism has no separate read node and reports the whole
ConstantOperatorWriteNode, and the same holds for ConstantAndWriteNode.

Give the NODE_CONST read node the location of the whole operator
assignment (`+=`, `&&=` and `||=`) so both parsers report the same range.
Other variable reads keep their own location as error_highlight locates
the operator from the end of the receiver node.

See [Bug #22235] for more details.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Sep 12, 2026
@pull pull Bot added the ⤵️ pull label Sep 12, 2026
@pull
pull Bot merged commit b2ec82d into turkdevops:master Sep 12, 2026
0 of 2 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.

6 participants