summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-10-23[ruby/io-nonblock] Don't define nonblock methods if they are defined by core.Samuel Williams
https://github.com/ruby/io-nonblock/commit/5d3991859c
2023-10-23[PRISM] Implement compilation for PreExecutionNodesJemma Issroff
2023-10-23[PRISM] Add PM_PUTNIL macroJemma Issroff
2023-10-23[PRISM] Fix AssocSplat nodeJemma Issroff
This commit emits the correct instructions for hashes which have both AssocSplat and Assoc nodes contained within them
2023-10-23[rubygems/rubygems] Ignore non-tar format `.gem` files during searchdearblue
Previously, `rake install` or `rake update` would fail if there was a non-tar format `.gem` file in the current working directory. https://github.com/rubygems/rubygems/commit/f562788f1d
2023-10-23[PRISM] Fix __LINE__ to be 1-indexed by defaultJemma Issroff
2023-10-23[PRISM] Add several testsJemma Issroff
2023-10-23[PRISM] Fix compilation for IfNode, UnlessNodeJemma Issroff
This properly implements the branch condition for FlipFlopNodes on If / UnlessNodes, and also fixes the bug in UnlessNodes
2023-10-23[PRISM] Add tests for BlockNode, BlockLocalVariableNode, BlockParamet… (#8725)Jemma Issroff
[PRISM] Add tests for BlockNode, BlockLocalVariableNode, BlockParametersNode
2023-10-23[ruby/prism] Avoid String#chars in DedentingHeredoc#to_aMau Magnaguagno
Prefer String#[] directly. https://github.com/ruby/prism/commit/916f991220
2023-10-23Set date in message to the latest gem date [ci skip]Nobuyoshi Nakada
2023-10-23Use outputs instead of outcome with continue-on-error [ci skip]Nobuyoshi Nakada
Suppress exit code annotations.
2023-10-23[ruby/prism] Exclude comments when only serializing semantic fieldsBenoit Daloze
https://github.com/ruby/prism/commit/6f4fab362e
2023-10-23Adjust indent [ci skip]Nobuyoshi Nakada
2023-10-23Use named reference for dyna_pushNobuyoshi Nakada
2023-10-23Extract p_in_kwarg to save and update lexer contextsNobuyoshi Nakada
2023-10-23Move push_pvtbl and push_pktbl in ntermsNobuyoshi Nakada
2023-10-23Extract p_assoc and p_in to save lexer contextsNobuyoshi Nakada
2023-10-23Removed unnecessary libraries of sync_toolHiroshi SHIBATA
2023-10-23sync_tool is unnecessary now.Hiroshi SHIBATA
We can use https://github.com/ruby/test-unit-ruby-core for testing the default gems.
2023-10-23Use `-H` option instead of `-h` optionydah
Follow up: https://github.com/ruby/lrama/pull/139
2023-10-23[rubygems/rubygems] Disabled Style/HashSyntax for keyword argumentsHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/9b61b33568
2023-10-23rb_shape_transition_shape_capa: use optimal sizes transitionsJean Boussier
Previously the growth was 3(embed), 6, 12, 24, ... With this change it's now 3(embed), 8, 16, 32, 64, ... by default. However, since power of two isn't the best size for all allocators, if `malloc_usable_size` is vailable, we use it to discover the best offset. On Linux/glibc 2.35 for instance, the growth will be 3(embed), 7, 15, 31 to avoid wasting 8B per object. Test program: ```c size_t test(size_t slots) { size_t allocated = slots * VALUE_SIZE; void *test_ptr = malloc(allocated); size_t wasted = malloc_usable_size(test_ptr) - allocated; free(test_ptr); fprintf(stderr, "slots = %lu, wasted_bytes = %lu\n", slots, wasted); return wasted; } int main(int argc, char *argv[]) { size_t best_padding = 0; size_t padding = 0; for (padding = 0; padding <= 2; padding++) { size_t wasted = test(8 - padding); if (wasted == 0) { best_padding = padding; break; } } size_t index = 0; fprintf(stderr, "=============== naive ================\n"); size_t list_size = 4; for (index = 0; index < 10; index++) { test(list_size); list_size *= 2; } fprintf(stderr, "=============== auto-padded (-%lu) ================\n", best_padding); list_size = 4; for (index = 0; index < 10; index ++) { test(list_size - best_padding); list_size *= 2; } fprintf(stderr, "\n\n"); return 0; } ``` ``` ===== glibc ====== slots = 8, wasted_bytes = 8 slots = 7, wasted_bytes = 0 =============== naive ================ slots = 4, wasted_bytes = 8 slots = 8, wasted_bytes = 8 slots = 16, wasted_bytes = 8 slots = 32, wasted_bytes = 8 slots = 64, wasted_bytes = 8 slots = 128, wasted_bytes = 8 slots = 256, wasted_bytes = 8 slots = 512, wasted_bytes = 8 slots = 1024, wasted_bytes = 8 slots = 2048, wasted_bytes = 8 =============== auto-padded (-1) ================ slots = 3, wasted_bytes = 0 slots = 7, wasted_bytes = 0 slots = 15, wasted_bytes = 0 slots = 31, wasted_bytes = 0 slots = 63, wasted_bytes = 0 slots = 127, wasted_bytes = 0 slots = 255, wasted_bytes = 0 slots = 511, wasted_bytes = 0 slots = 1023, wasted_bytes = 0 slots = 2047, wasted_bytes = 0 ``` ``` ========== jemalloc ======= slots = 8, wasted_bytes = 0 =============== naive ================ slots = 4, wasted_bytes = 0 slots = 8, wasted_bytes = 0 slots = 16, wasted_bytes = 0 slots = 32, wasted_bytes = 0 slots = 64, wasted_bytes = 0 slots = 128, wasted_bytes = 0 slots = 256, wasted_bytes = 0 slots = 512, wasted_bytes = 0 slots = 1024, wasted_bytes = 0 slots = 2048, wasted_bytes = 0 =============== auto-padded (-0) ================ slots = 4, wasted_bytes = 0 slots = 8, wasted_bytes = 0 slots = 16, wasted_bytes = 0 slots = 32, wasted_bytes = 0 slots = 64, wasted_bytes = 0 slots = 128, wasted_bytes = 0 slots = 256, wasted_bytes = 0 slots = 512, wasted_bytes = 0 slots = 1024, wasted_bytes = 0 slots = 2048, wasted_bytes = 0 ```
2023-10-23[rubygems/rubygems] Restore using old way of passing Ruby version to resolverDavid Rodríguez
We used `Bundler::RubyVersion.system.gem_version` for a long time, but I changed this to `Gem.ruby_version` at https://github.com/rubygems/rubygems/commit/94f96439438e. It's unclear why I did that though since I believe it was unrelated to the fix in there. Bootboot patches `Bundler::RubyVersion` to customize how Bundler works with Ruby versions, and that change broke that. Since it's unclear to me how to achieve what Bootboot is doing with the current code, and there was no strong reason for the change, let's restore it for now. https://github.com/rubygems/rubygems/commit/8ec36c6017
2023-10-23[rubygems/rubygems] Handle base64 encoded checksums in lockfile for future ↵Martin Emde
compatibility. Save checksums using = as separator. https://github.com/rubygems/rubygems/commit/a36ad7d160
2023-10-23[rubygems/rubygems] Improve errors and register checksums reliablyMartin Emde
Improve error reporting for checksums, raises a new error class. Solve for multi-source checksum errors. Add CHECKSUMS to tool/bundler/(dev|standard|rubocop)26_gems.rb https://github.com/rubygems/rubygems/commit/26ceee0e76 Co-authored-by: Samuel Giddins <segiddins@segiddins.me>
2023-10-23[rubygems/rubygems] rename Index#== to Index#subset?Martin Emde
https://github.com/rubygems/rubygems/commit/a96a561087
2023-10-23[rubygems/rubygems] Refactor Checksum classes and methods to reduceMartin Emde
code. (https://github.com/rubygems/rubygems/pull/6917) https://github.com/rubygems/rubygems/commit/2238bdaadc
2023-10-23[rubygems/rubygems] Refactor to checksums stored via sourceSamuel Giddins
This gets the specs passing, and handles the fact that we expect checkums to be pinned only to a particular source This also avoids reading in .gem files during lockfile generation, instead allowing us to query the source for each resolved gem to grab the checksum Finally, this opens up a route to having user-stored checksum databases, similar to how other package managers do this! Add checksums to dev lockfiles Handle full name conflicts from different original_platforms when adding checksums to store from compact index Specs passing on Bundler 3 https://github.com/rubygems/rubygems/commit/86c7084e1c
2023-10-23[rubygems/rubygems] Use the server checksum, then calculate from gem on disk ↵Mercedes Bernard
if possible 1. Use the checksum provided by the server if provided: provides security knowing if the gem you downloaded matches the gem on the server 2. Calculate the checksum from the gem on disk: provides security knowing if the gem has changed between installs 3. In some cases, neither is possible in which case we don't put anything in the checksum and we maintain functionality as it is today Add the checksums to specs in the index if we already have them Prior to checksums, we didn't lose any information when overwriting specs in the index with stubs. But now when we overwrite EndpointSpecifications or RemoteSpecifications with more generic specs, we could lose checksum info. This manually sets checksum info so we keep it in the index. https://github.com/rubygems/rubygems/commit/de00a4f153
2023-10-23[rubygems/rubygems] Add CHECKSUMS for each gem in lockfileThong Kuah
We lock the checksum for each resolved spec under a new CHECKSUMS section in the lockfile. If the locked spec does not resolve for the local platform, we preserve the locked checksum, similar to how we preserve specs. Checksum locking only makes sense on install. The compact index information is only available then. https://github.com/rubygems/rubygems/commit/bde37ca6bf
2023-10-23Lrama v0.5.7yui-knk
2023-10-22Bump ruby/setup-ruby from 1.156.0 to 1.157.0dependabot[bot]
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.156.0 to 1.157.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/5cfe23c062c0aac352e765b1b7cc12ea5255ccc4...a05e47355e80e57b9a67566a813648fa67d92011) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2023-10-22[rubygems/rubygems] Fix spelling of extraneousMartin Emde
https://github.com/rubygems/rubygems/commit/af61829432
2023-10-22[DOC] Mention the omission of a superclass when reopening a classKouhei Yanagita
2023-10-22[DOC] Update documentation for typical implementation of hashYuki Tsujimoto
2023-10-22[ruby/io-console] Intersperse Win32 and termios implementationsNobuyoshi Nakada
So that the both sources appear in RDoc generated HTMLs. https://github.com/ruby/io-console/commit/beec164a47
2023-10-22Update default gems list at 8c0c7be65b21dc34156919b04b834e [ci skip]git
2023-10-22[ruby/io-console] Start 0.6.1Nobuyoshi Nakada
https://github.com/ruby/io-console/commit/06307a755d
2023-10-22[ruby/io-console] [DOC] Split .document files to sync with ruby/rubyNobuyoshi Nakada
https://github.com/ruby/io-console/commit/13e0bcac9f
2023-10-22Skip RBS `RbConfig::TOPDIR` test that is `nil` before installationNobuyoshi Nakada
2023-10-22RBS no longer has test/stdlib/Prime_test.rbNobuyoshi Nakada
2023-10-22Update rbs revision to testNobuyoshi Nakada
2023-10-21[ruby/io-console] [DOC] Add .documentNobuyoshi Nakada
https://github.com/ruby/io-console/commit/62a677b51a
2023-10-21[rubygems/rubygems] Gem::NameTuple equality ignores Gem::Platform/string ↵Martin Emde
platform variation https://github.com/rubygems/rubygems/commit/49aaa46708
2023-10-21[ruby/irb] Minor refactors around irb.rbStan Lo
(https://github.com/ruby/irb/pull/736) * Remove dead method * Simplify IRB.version * Move private Irb methods together * Centralise @CONF initialization/assignment in init.rb * Move attr_* calls above initialize method https://github.com/ruby/irb/commit/cf23be4395
2023-10-21[Bug #19967] Ignore library before buildNobuyoshi Nakada
2023-10-21Fallback job status to normal if no ttyNobuyoshi Nakada
2023-10-21[Bug #19967] Delete real pathNobuyoshi Nakada
2023-10-21Strip universal_archnamesNobuyoshi Nakada