[pull] master from ruby:master - #1282
Merged
Merged
Conversation
spec/quality_spec.rb only ran in the two full-suite Ubuntu jobs, so failures surfaced late and nowhere else. Port it to tool/quality_check.rb as plain Ruby, run it via `rake quality:check` in the ubuntu-lint check_misc job, and drop it from the spec suite, intentionally removing it from the ruby/ruby vendored suite where repo hygiene checks are not needed. The `ruby -w` warnings check now runs only on the check_misc CRuby (3.4) instead of also on 3.2. ruby/rubygems@2c59e7b281 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
It guarded the language quality of the Spanish man page translations, but no .es.ronn files are left in the repo, so it scanned English files for Spanish words and could never fail. Also remove the be_well_formed and be_sorted matchers, which have no remaining users. ruby/rubygems@43a4188999 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…st suite The e2e example from ruby/rubygems@3b9c572b43 guarded compact index cache writes under a permissive umask. The client now lives in RubyGems, so assert the CacheFile invariant directly: a fresh cache file keeps the explicit 0644 mode instead of picking up the umask. ruby/rubygems@dbd2465993 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bundler's downloader already recovers from a stale over-long cache by dropping the Range header and refetching the whole file, but Gem::CompactIndexClient::HTTPFetcher raised FetchError instead, so the gem CLI could not self-heal. Align the behavior. ruby/rubygems@0d65a77e3b Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Both halves of what it exercised are unit-covered now: the downloader spec covers dropping the Range header on 416, and the RubyGems updater tests cover replacing the cache from a full response. Remove the example and its dedicated artifice server. ruby/rubygems@56f09e3ebc Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…tall, update, and lock When cooldown silently resolves an older version, users comparing environments with different cooldown settings can't tell why they got different versions. Collect the versions the resolver excluded, and after a successful resolution print the newest skipped version per gem once the command finishes. ruby/rubygems@ce938110f7 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ruby/rubygems@528ee98f2c Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Inside double quotes, the escape was cancelled by almost any character but not by whitespace, so `"AA\ " BB` came out as a single argument. [Bug #22201]
The example passing lineno 10 evaluated __FILE__, which prints the filename instead of 10.
IO::Buffer.new takes a size as its first argument, so passing a string raises TypeError. Adjust the sample output to the flags the buffer created by IO::Buffer.for actually shows.
ObjectSpace.trace_object_allocations raises LocalJumpError when called without a block.
The example calls Date.new, which raises NameError without the require.
The do block attaches to define_method while &Ractor.shareable_proc also passes a block argument, so the example fails to parse. Pass the shareable proc as a positional argument instead.
…ses= RubyGems validates each entry as a single SPDX identifier; compound expressions such as `MIT OR Apache-2.0` are rejected with a warning at `gem build`. Document that, the `+`/`WITH` syntax, and the array form as the only supported way to declare a multi-licensed gem. Also replace the deprecated `GPL-2.0` example with `GPL-2.0-only`. rubygems/guides#433 ruby/rubygems@eb398892ab Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This more closely matches parse.y, and simplifies a bit of the lex state as seen from the outside. ruby/prism@06dff548e8
This also more closely matches parse.y, and makes it easier to delineate which brace belongs to which type. ruby/prism@43ed8c1f80
Now we fully match parse.y, and it is clearer to distinguish betewen backticks that are used for method names and backticks that begin xstring literals. ruby/prism@a33c3ff7fe
This commit adds tests to ensure that the monitor list is handled correctly in advance or rlgc merging. Because the monitor list can be mutated by multiple Ractors it's possible to engineer a situation where the list contains dangling pointers. This test causes a SEGV under rlgc.
If the shape capacity isn't set on an object, one thing that fails is moving it across Ractors. The new object created in the dst Ractor needs to be big enough to embed the contents if the src was embedded.
Previously, JIT single-ractor mode invalidation happened on every `Ractor.new` call. This invalidation takes the VM lock + VM barrier so slows down these calls. We only need to invalidate compiled code that makes these single-ractor assumptions on the transition from single-ractor to multi-ractor mode. The JITs never make single-ractor assumptions when multi-ractor mode has been enabled. If a process in multi-ractor mode forks, the forked process is set back to single-ractor mode. The JITs can therefore make single-ractor assumptions in this new process, and the invalidation can occur again when the first non-main Ractor is created in that process.
This function returns -1 on error, or the number of bytes read on success. Preserve current behaviour and also error out on error. Discovered by an experimental static analyzer I work on. ruby/openssl@b36a61597e
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 : )