summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-12-15[ruby/prism] Invalid pinned locals in pattern matchingKevin Newton
https://github.com/ruby/prism/commit/3a67b37a56
2023-12-15[rubygems/rubygems] Save array allocation for every dependency in GemfileSamuel Giddins
Only need to check for lack of git key when branch option is present https://github.com/rubygems/rubygems/commit/ebfca1b389
2023-12-15[rubygems/rubygems] Refactor vendoring to allow validating vendoring is ↵Samuel Giddins
reproducible Helps ensure that unsuspecting diffs to the vendored code arent accidentally introduced https://github.com/rubygems/rubygems/commit/7c425d49dd
2023-12-15[DOC] RDoc for Complex (#9243)Burdette Lamar
2023-12-15Follow removed conflict filesNobuyoshi Nakada
After editing a conflict, continue without removed files.
2023-12-15[ruby/prism] Add TODO commentKevin Newton
https://github.com/ruby/prism/commit/885d1d78cb
2023-12-15[ruby/prism] Add an error for `in` keyword in argumentsTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/2026 https://github.com/ruby/prism/commit/c4b41cd477
2023-12-15loading/testing in different processes for multiple runsSatoshi Tagomori
2023-12-15[rubygems/rubygems] Fix `ruby setup.rb` leaving traces in source folderDavid Rodríguez
It's the `Gem::Installer` below what installs executables, and the code being deleted here is now actually creating a `gems/` folder in the root of the source repo when running `ruby setup.rb`. https://github.com/rubygems/rubygems/commit/0e69a8b0d6
2023-12-15Ignore the spcial case of target_cpuNobuyoshi Nakada
On Windows, x86_64 is called as x64.
2023-12-15Fix `ARCH_FLAG` when cross-compiling on macOSNobuyoshi Nakada
2023-12-15Fix `ARCH_FLAG` when `--with-arch` with single CPUNobuyoshi Nakada
2023-12-15Explained about test_for_warn_bundled_gemsHiroshi SHIBATA
2023-12-15Revert "[Bug #20060] Properly return matched gem name in case of EXACT"Hiroshi SHIBATA
This reverts commit 75c40802cb06d83fc2c3d0eca6d904fa41307230. This change is now working correctly with warning cases.
2023-12-15* append newline at EOF. [ci skip]git
2023-12-15Added test case of dash gem like net-smtpHiroshi SHIBATA
2023-12-15Added test case of bootsnapHiroshi SHIBATA
2023-12-15Added test case of bundle execHiroshi SHIBATA
2023-12-15Added test case of bundled gems dependenciesHiroshi SHIBATA
2023-12-15Added basic test case of bundled gems warningHiroshi SHIBATA
2023-12-15Fix gem detection for names with dashDavid Rodríguez
2023-12-15Update bundled gems list at b562efdf6d23d056764b334764a030 [ci skip]git
2023-12-15Bump up bundled net-ftp gem version to 0.3.3Shugo Maeda
2023-12-15add a testKoichi Sasada
proposed at https://bugs.ruby-lang.org/issues/20050#note-5
2023-12-15check modifcation whil ar->stKoichi Sasada
* delete `ar_try_convert` but use `ar_force_convert_table` to make program simple. * `ar_force_convert_table` checks hash modification while calling `#hash` method with the following strategy: 1. copy keys (and vals) of ar_table 2. calc hashes from keys 3. check copied keys and hash's keys. if not matched, repeat from 1 fix [Bug #20050]
2023-12-14Remove unused variables in test_call_op_asgn_keywords_mutableJeremy Evans
2023-12-15stop warnings from running the test case requiring .so twiceSatoshi Tagomori
2023-12-14Trigger auto-request-review only for master branchTakashi Kokubun
2023-12-14[DOC] Reverse-merge YJIT release notes to NEWSTakashi Kokubun
2023-12-14[PRISM] Implement safe navigation in CallNodesJemma Issroff
This commit implements safe navigation for CallNodes, CallAndWriteNodes and CallOperatorWriteNodes
2023-12-14[DOC] Enhance docs for WeakMap and WeakKeyMap (#9160)Victor Shepelev
Enhance docs for WeakMap and WeakKeyMap * WeakKeyMap: more class-level explanations, more details on #getkey, fix a slight bug in code of #delete example; * WeekMap: a bit more detailed class- and method-level docs.
2023-12-14[DOC] Adjust some new features wording/examples. (#9183)Victor Shepelev
* Reword Range#overlap? docs last paragraph. * Docs: add explanation about Queue#freeze * Docs: Add :rescue event docs for TracePoint * Docs: Enhance Module#set_temporary_name documentation * Docs: Slightly expand Process::Status deprecations * Fix MatchData#named_captures rendering glitch * Improve Dir.fchdir examples * Adjust Refinement#target docs
2023-12-14[prism] Fix build with no assertsKevin Newton
2023-12-14Update default gems list at 8bbe835cd872a3af411cb6a950e275 [ci skip]git
2023-12-14Bump prism to version 0.19.0Kevin Newton
2023-12-14[PRISM] Fix keyword hash handling in method callsUfuk Kayserilioglu
* Start using the renamed `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` flag to check if all keys of the keyword hash node are symbols. * For arguments passed as a hash, start marking them as `KW_SPLAT_MUT` only if the number of entries in the hash is greater than 1 (which is what the old compiler used to do).
2023-12-14Pattern matchingKevin Newton
2023-12-14[ruby/prism] Fix parse result for nesting pattern matchingKevin Newton
https://github.com/ruby/prism/commit/ee6fc9ee87
2023-12-14[Prism] Fix cvar or assignment instructionseileencodes
The instructions for `PM_CLASS_VARIABLE_OR_WRITE_NODE` were incorrect as they were missing a `putnil`, a `defined`, and a `branchunless`. I verified this is fixed via the instructions and running the following: `RUBY_ISEQ_DUMP_DEBUG=prism make test/csv/interface/test_read_write.rb`. These new instructions can't go in the defined function because `defined?(@@fop ||= 1)` should return "assignment" not "class variable". Instructions before: ``` "********* Ruby *************" == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(30,11)> 0000 putnil ( 30)[Li] 0001 defined class variable, :@@foo, true 0005 branchunless 14 0007 getclassvariable :@@foo, <is:0> 0010 dup 0011 branchif 20 0013 pop 0014 putobject 1 0016 dup 0017 setclassvariable :@@foo, <is:0> 0020 leave "********* PRISM *************" == disasm: #<ISeq:<compiled>@<compiled>:29 (29,0)-(29,11)> 0000 getclassvariable :@@foo, <is:0> ( 29)[Li] 0003 dup 0004 branchif 13 0006 pop 0007 putobject 1 0009 dup 0010 setclassvariable :@@foo, <is:0> 0013 leave ``` Instructions after: ``` "********* Ruby *************" == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(30,11)> 0000 putnil ( 30)[Li] 0001 defined class variable, :@@foo, true 0005 branchunless 14 0007 getclassvariable :@@foo, <is:0> 0010 dup 0011 branchif 20 0013 pop 0014 putobject 1 0016 dup 0017 setclassvariable :@@foo, <is:0> 0020 leave "********* PRISM *************" == disasm: #<ISeq:<compiled>@<compiled>:29 (29,0)-(29,11)> 0000 putnil ( 29)[Li] 0001 defined class variable, :@@foo, true 0005 branchunless 14 0007 getclassvariable :@@foo, <is:0> 0010 dup 0011 branchif 20 0013 pop 0014 putobject 1 0016 dup 0017 setclassvariable :@@foo, <is:0> 0020 leave ``` Fixes ruby/prism#2064
2023-12-14[PRISM] Account for multiple anonymous localsJemma Issroff
This commit adjusts the local table size to be consistent regardless of the number of anonymous locals.
2023-12-14[ruby/prism] Fix the implementation of the flag on keyword hash nodesUfuk Kayserilioglu
The previous implementation was incorrect since it was just checking for all keys in assoc nodes to be static literals but the actual check is that all keys in assoc nodes must be symbol nodes. This commit fixes that implementation, and, also, aliases the flag to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` so that ruby/ruby can start using the new flag name. I intend to later change the real flag name to `PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS` and remove the alias. https://github.com/ruby/prism/commit/f5099c79ce
2023-12-14Implement Write Barriers on IO::BufferPeter Zhu
Benchmark: ``` require "benchmark" puts(Benchmark.measure do ary = 1_000_000.times.map { IO::Buffer.for("") } 10.times { GC.start(full_mark: false) } end) ``` Before: ``` 14.330119 0.051497 14.381616 ( 14.445106) ``` After: ``` 7.481152 0.040166 7.521318 ( 7.535209) ```
2023-12-14[PRISM] Check for static literal, excluding array, hash, rangeJemma Issroff
2023-12-14[PRISM] Fix bugs in compiling optional keyword parametersJemma Issroff
This PR fixes two bugs when compiling optional keyword parameters: - It moves keyword parameter compilation to STEP 5 in the parameters sequence, where the rest of compilation happens. This is important because keyword parameter compilation relies on the value of body->param.keyword->bits_start which gets set in an earlier step - It compiles array and hash values for keyword parameters, which it didn't previously
2023-12-14[ruby/prism] Make equality operators non-associativeTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/2073 https://github.com/ruby/prism/commit/0f747d9240
2023-12-14[PRISM] Use frozen flag on StringNodeJemma Issroff
2023-12-14Fix op asgn method calls passing mutable keyword splatsJeremy Evans
When passing the keyword splat to [], it cannot be mutable, because mutating the keyword splat inside [] would result in changes to the keyword splat passed to []=.
2023-12-14[DOC] RDoc for Complex (#9231)Burdette Lamar
2023-12-14[rubygems/rubygems] Upgrade vendored librariesDavid Rodríguez
To match the versions that will be included in final ruby release. https://github.com/rubygems/rubygems/commit/84394919fb
2023-12-14Call obj_free for T_DATA, T_FILE objects on exitPeter Zhu
Previously, T_DATA and T_FILE objects did not have their instance variables freed on exit which would be reported as a memory leak with RUBY_FREE_ON_EXIT. This commit changes it to use obj_free which also frees the generic instance variables. Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>