[pull] master from ruby:master - #1401
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 : )