Kevin Newton
f38814564b
[ruby/prism] Fix eval parsing depth
...
https://github.com/ruby/prism/commit/89bf7a4948
2023-12-15 15:19:50 +00:00
Kevin Newton
fe9b42f024
[ruby/prism] Invalid pinned locals in pattern matching
...
https://github.com/ruby/prism/commit/3a67b37a56
2023-12-15 15:03:49 +00:00
Samuel Giddins
1cd4b59e8c
[rubygems/rubygems] Save array allocation for every dependency in Gemfile
...
Only need to check for lack of git key when branch option is present
https://github.com/rubygems/rubygems/commit/ebfca1b389
2023-12-15 14:53:10 +00:00
Samuel Giddins
ca7f7c0f51
[rubygems/rubygems] Refactor vendoring to allow validating vendoring is reproducible
...
Helps ensure that unsuspecting diffs to the vendored code arent accidentally introduced
https://github.com/rubygems/rubygems/commit/7c425d49dd
2023-12-15 14:48:25 +00:00
Burdette Lamar
10a0545b6e
[DOC] RDoc for Complex ( #9243 )
2023-12-15 09:39:12 -05:00
Nobuyoshi Nakada
7cbc08b388
Follow removed conflict files
...
After editing a conflict, continue without removed files.
2023-12-15 22:37:38 +09:00
Kevin Newton
854ff25f4f
[ruby/prism] Add TODO comment
...
https://github.com/ruby/prism/commit/885d1d78cb
2023-12-15 13:26:40 +00:00
TSUYUSATO Kitsune
16830a4783
[ruby/prism] Add an error for `in` keyword in arguments
...
Fix https://github.com/ruby/prism/pull/2026
https://github.com/ruby/prism/commit/c4b41cd477
2023-12-15 13:25:54 +00:00
Satoshi Tagomori
04f7be6126
loading/testing in different processes for multiple runs
2023-12-15 21:36:27 +09:00
David Rodríguez
7c72755da8
[rubygems/rubygems] Fix `ruby setup.rb` leaving traces in source folder
...
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-15 11:52:38 +00:00
Nobuyoshi Nakada
4d5bfa7c3b
Ignore the spcial case of target_cpu
...
On Windows, x86_64 is called as x64.
2023-12-15 15:39:14 +09:00
Nobuyoshi Nakada
2c2c6bc3fa
Fix `ARCH_FLAG` when cross-compiling on macOS
2023-12-15 15:19:16 +09:00
Nobuyoshi Nakada
1e5c4026d5
Fix `ARCH_FLAG` when `--with-arch` with single CPU
2023-12-15 14:10:02 +09:00
Hiroshi SHIBATA
cc9aeec23e
Explained about test_for_warn_bundled_gems
2023-12-15 14:14:48 +08:00
Hiroshi SHIBATA
c3ae4b6ae1
Revert "[Bug #20060 ] Properly return matched gem name in case of EXACT"
...
This reverts commit 75c40802cb
.
This change is now working correctly with warning cases.
2023-12-15 14:06:53 +08:00
git
202c608248
* append newline at EOF. [ci skip]
2023-12-15 06:05:41 +00:00
Hiroshi SHIBATA
8df46d54bf
Added test case of dash gem like net-smtp
2023-12-15 14:05:13 +08:00
Hiroshi SHIBATA
9a204fb82e
Added test case of bootsnap
2023-12-15 14:05:13 +08:00
Hiroshi SHIBATA
25a133ba17
Added test case of bundle exec
2023-12-15 14:05:13 +08:00
Hiroshi SHIBATA
66b82a4430
Added test case of bundled gems dependencies
2023-12-15 14:05:13 +08:00
Hiroshi SHIBATA
76c1ce4e37
Added basic test case of bundled gems warning
2023-12-15 14:05:13 +08:00
David Rodríguez
8e37cd8a8b
Fix gem detection for names with dash
2023-12-15 14:04:36 +08:00
git
6408775b08
Update bundled gems list at b562efdf6d
[ci skip]
2023-12-15 03:57:40 +00:00
Shugo Maeda
b562efdf6d
Bump up bundled net-ftp gem version to 0.3.3
2023-12-15 12:57:03 +09:00
Koichi Sasada
406d4bb599
add a test
...
proposed at https://bugs.ruby-lang.org/issues/20050#note-5
2023-12-15 11:58:43 +09:00
Koichi Sasada
7ba2506232
check modifcation whil ar->st
...
* 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-15 11:58:43 +09:00
Jeremy Evans
29e99c84ae
Remove unused variables in test_call_op_asgn_keywords_mutable
2023-12-14 18:44:13 -08:00
Satoshi Tagomori
b98bd10f25
stop warnings from running the test case requiring .so twice
2023-12-15 11:09:31 +09:00
Takashi Kokubun
cfd91121ad
Trigger auto-request-review only for master branch
2023-12-14 17:24:08 -08:00
Takashi Kokubun
68020516ba
[DOC] Reverse-merge YJIT release notes to NEWS
2023-12-14 15:55:15 -08:00
Jemma Issroff
5587bd4b37
[PRISM] Implement safe navigation in CallNodes
...
This commit implements safe navigation for CallNodes,
CallAndWriteNodes and CallOperatorWriteNodes
2023-12-14 17:11:54 -05:00
Victor Shepelev
39c072d6f7
[DOC] Enhance docs for WeakMap and WeakKeyMap ( #9160 )
...
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 23:33:33 +02:00
Victor Shepelev
570d7b2c3e
[DOC] Adjust some new features wording/examples. ( #9183 )
...
* 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 23:01:48 +02:00
Kevin Newton
d3deb1b823
[prism] Fix build with no asserts
2023-12-14 15:26:01 -05:00
git
08c2c4f922
Update default gems list at 8bbe835cd8
[ci skip]
2023-12-14 20:07:47 +00:00
Kevin Newton
8bbe835cd8
Bump prism to version 0.19.0
2023-12-14 15:06:09 -05:00
Ufuk Kayserilioglu
d07fdc5ede
[PRISM] Fix keyword hash handling in method calls
...
* 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-14 14:08:37 -05:00
Kevin Newton
295d97ab4d
Pattern matching
2023-12-14 14:06:26 -05:00
Kevin Newton
019fff3a86
[ruby/prism] Fix parse result for nesting pattern matching
...
https://github.com/ruby/prism/commit/ee6fc9ee87
2023-12-14 18:54:46 +00:00
eileencodes
5a66832952
[Prism] Fix cvar or assignment instructions
...
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 13:48:38 -05:00
Jemma Issroff
7ac93e99a3
[PRISM] Account for multiple anonymous locals
...
This commit adjusts the local table size to be consistent regardless
of the number of anonymous locals.
2023-12-14 13:45:41 -05:00
Ufuk Kayserilioglu
01f21d5729
[ruby/prism] Fix the implementation of the flag on keyword hash nodes
...
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-14 18:05:54 +00:00
Peter Zhu
c5e3d6da9c
Implement Write Barriers on IO::Buffer
...
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 12:22:38 -05:00
Jemma Issroff
157e6c8a51
[PRISM] Check for static literal, excluding array, hash, range
2023-12-14 11:46:54 -05:00
Jemma Issroff
e71f011713
[PRISM] Fix bugs in compiling optional keyword parameters
...
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 11:46:54 -05:00
TSUYUSATO Kitsune
3658798dbb
[ruby/prism] Make equality operators non-associative
...
Fix https://github.com/ruby/prism/pull/2073
https://github.com/ruby/prism/commit/0f747d9240
2023-12-14 16:39:05 +00:00
Jemma Issroff
8e1c148fd9
[PRISM] Use frozen flag on StringNode
2023-12-14 11:14:45 -05:00
Jeremy Evans
a18819e65f
Fix op asgn method calls passing mutable keyword splats
...
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 08:13:43 -08:00
Burdette Lamar
247ce712fc
[DOC] RDoc for Complex ( #9231 )
2023-12-14 11:09:17 -05:00
David Rodríguez
a79a1d3028
[rubygems/rubygems] Upgrade vendored libraries
...
To match the versions that will be included in final ruby release.
https://github.com/rubygems/rubygems/commit/84394919fb
2023-12-14 15:04:22 +00:00