83249 Commits

Author SHA1 Message Date
Peter Zhu
2630941696 [PRISM] Use PM_SWAP macro 2024-01-22 15:21:09 -05:00
Peter Zhu
789de5972b [PRISM] Use PM_POP macro 2024-01-22 15:16:14 -05:00
Aaron Patterson
7db6832225 Fix compiling rescue + ensure
When we're compiling begin / rescue / ensure nodes, we need to "wrap"
the code in the begin statements correctly.  The wrapping is like this:
(ensure code (rescue code (begin code)))

This patch pulls the each leg in to its own function, then calls the
appropriate wrapping function depending on whether there are ensure /
rescue legs.

Fixes: https://github.com/ruby/prism/issues/2221
2024-01-22 12:02:03 -08:00
dependabot[bot]
1236cad92d [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.86 to 0.9.87.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.86...v0.9.87)

---
updated-dependencies:
- dependency-name: rb-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

https://github.com/rubygems/rubygems/commit/d86482f0b0
2024-01-22 18:58:59 +00:00
Takashi Kokubun
2918e43dee Skip a flaky Ractor test for YJIT
`[BUG] pthread_mutex_lock: Invalid argument (EINVAL)` doesn't seem like
a fault of YJIT?

https://github.com/ruby/ruby/actions/runs/7614455181/job/20736754975
https://github.com/ruby/ruby/actions/runs/7615316673/job/20739572487
2024-01-22 10:31:21 -08:00
Peter Zhu
dbd76d9101 [PRISM] Fix keyword splat in IndexAndWriteNode and IndexOrWriteNode
Fixes ruby/prism#2232 and ruby/prism#2234.
2024-01-22 12:56:43 -05:00
Kevin Newton
ab99ce910c [PRISM] Insert concatarray for index targets with splat 2024-01-22 12:55:06 -05:00
Kevin Newton
e5f8585a29 [PRISM] Fix line for leave instructions 2024-01-22 12:54:32 -05:00
Takashi Kokubun
4fc0a901ac
Set a cached Ruby path using setup-ruby (#9645) 2024-01-22 09:49:52 -08:00
Alan Wu
703eee7745
YJIT: Drop extra arguments passed by yield (#9596)
Support dropping extra arguments passed by `yield` in blocks. For
example `10.times { work }` drops the count argument. This is common
enough that it's about 3% of fallback reasons in `lobsters`.

Only support simple cases where the surplus arguments are at the top of
the stack, that way they just need to be popped, which takes no work.
2024-01-22 11:55:44 -05:00
Nobuyoshi Nakada
c7e87b2118
Fix up [Bug #20001] 2024-01-23 01:42:32 +09:00
Peter Zhu
a7af34fa8b [PRISM] Fix keywords arguments in IndexAndWriteNode
Fixes ruby/prism#2233.
2024-01-22 11:26:21 -05:00
Kevin Newton
5906ce42fe [ruby/prism] Static literal flag for string hash keys
https://github.com/ruby/prism/commit/26a2d774cd
2024-01-22 16:23:11 +00:00
Kevin Newton
6401f282d2
[PRISM] Fix up source line for 1-indexed line numbers 2024-01-22 11:21:04 -05:00
Kevin Newton
eb5797062a [ruby/prism] Reference prism after require
https://github.com/ruby/prism/commit/0a8ff431df
2024-01-22 16:16:33 +00:00
Kevin Newton
e00f42e5d3 [ruby/prism] Return 1-indexed line numbers
https://github.com/ruby/prism/commit/ad17f58729
2024-01-22 16:13:36 +00:00
Kevin Newton
d68aaa6672 [PRISM] Freeze regex literals in iseqs 2024-01-22 11:12:38 -05:00
Peter Zhu
580429d27c [PRISM] Fix incorrect ordering of MultiTargetNode
Fixes ruby/prism#2218.
2024-01-22 10:51:43 -05:00
Kevin Newton
6bcbb9a02b Make prism respect dump_without_opt 2024-01-22 10:18:41 -05:00
Matt Valentine-House
2abf153016 [PRISM] Add TP call/return events to method ISEQs 2024-01-22 09:40:52 -05:00
Kevin Newton
ee8f92673b Enable test_syntax.rb 2024-01-22 09:10:43 -05:00
Matt Valentine-House
b8495048fb [ruby/prism] Unescape method name for unary methods.
https://github.com/ruby/prism/commit/4386a4c0da
2024-01-22 13:19:57 +00:00
Jean Boussier
b4b35b1468 Add an autoload spec for the behavior inside autoload but after the constant is defined 2024-01-22 13:45:24 +01:00
git
b841e32bbb Update default gems list at d940e3b2c3c413b697c415718d4ef0 [ci skip] 2024-01-22 10:40:26 +00:00
Nobuyoshi Nakada
d940e3b2c3 cexpr! must be up to one per line now 2024-01-22 19:39:34 +09:00
Nobuyoshi Nakada
127b19ab56 Use line numbers as builtin-index
The order of iseq may differ from the order of tokens, typically
`while`/`until` conditions are put after the body.

These orders can match by using line numbers as builtin-indexes, but
at the same time, it introduces the restriction that multiple `cexpr!`
and `cstmt!` cannot appear in the same line.

Another possible idea is to use `RubyVM::AbstractSyntaxTree` and
`node_id` instead of ripper, with making BASERUBY 3.1 or later.
2024-01-22 19:39:34 +09:00
git
15f6ee057d Update bundled gems list at 754e4e0c9cab9d5a71c33831f7cad5 [ci skip] 2024-01-22 09:23:58 +00:00
Hiroshi SHIBATA
754e4e0c9c Stop sync csv repo 2024-01-22 18:23:05 +09:00
Hiroshi SHIBATA
2e69137dbe Use version dependant library for completion test 2024-01-22 18:23:05 +09:00
Hiroshi SHIBATA
92141d6269 Document about csv at Ruby 3.4 2024-01-22 18:23:05 +09:00
Hiroshi SHIBATA
f2dce4e6e0 spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/csv/**/*.rb 2024-01-22 18:23:05 +09:00
Hiroshi SHIBATA
e195710d10 Extract csv 2024-01-22 18:23:05 +09:00
git
a70e500494 Update default gems list at 3d19409637de1462b6790d2a92344b [ci skip] 2024-01-22 07:06:37 +00:00
yui-knk
3d19409637 Use index for referring to symbols in args rule instead of named references
In `args: args ',' arg_splat`, `args` is not unique name.
Currently the associated rule is interpreted as
`$$ = rest_arg_append(p, $$, $3, &@$);`.
The action works as expected because `$$` is initialized with
`$1` before each action is executed.
However it's misleading then change to use index.
2024-01-22 16:05:43 +09:00
git
3736130dfa Update bundled gems list at 8bcc764f71c8bb93871dc6a7526319 [ci skip] 2024-01-22 07:00:13 +00:00
Hiroshi SHIBATA
8bcc764f71 Document about syslog at Ruby 3.4 2024-01-22 15:59:40 +09:00
Hiroshi SHIBATA
b5b98546cf spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/syslog/**/*.rb 2024-01-22 15:59:40 +09:00
Hiroshi SHIBATA
029b6d5b76 Extract syslog 2024-01-22 15:59:40 +09:00
git
4d31d6802a Update bundled gems list at 38a1b88d1eb7cc1c0ff2baa36e8550 [ci skip] 2024-01-22 05:18:23 +00:00
Hiroshi SHIBATA
38a1b88d1e Skip nkf from check_existence 2024-01-22 14:17:52 +09:00
Hiroshi SHIBATA
52a0ebe292 Document about nkf at Ruby 3.4 2024-01-22 14:17:52 +09:00
Hiroshi SHIBATA
f869f2ecf1 Stop sync nkf repo 2024-01-22 14:17:52 +09:00
Hiroshi SHIBATA
df70faa9c9 Extract nkf 2024-01-22 14:17:52 +09:00
Eddie Lebow
34315510d3 [ruby/irb] Fix documentation typo, niL -> nil
https://github.com/ruby/irb/commit/79086a9dda
2024-01-22 04:42:37 +00:00
Hiroshi SHIBATA
3b3f03666a
Refine entry title 2024-01-22 12:35:04 +09:00
Hiroshi SHIBATA
c44d15c639
Stop sync drb repo 2024-01-22 12:35:04 +09:00
KJ Tsanaktsidis
6c0e58a54e Make sure the correct error is raised for EAI_SYSTEM resolver fail
In case of EAI_SYSTEM, getaddrinfo is supposed to set more detail in
errno; however, because we call getaddrinfo on a thread now, and errno
is threadlocal, that information is being lost. Instead, we just raise
whatever errno happens to be on the calling thread (which can be
something very confusing, like `ECHILD`).

Fix it by explicitly propagating errno back to the calling thread
through the getaddrinfo_arg structure.

[Bug #20198]
2024-01-22 14:34:31 +11:00
dependabot[bot]
ce5e7629b5 Bump ruby/setup-ruby from 1.167.0 to 1.168.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.167.0 to 1.168.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](b203567269...432702e864)

---
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>
2024-01-21 19:32:24 -08:00
git
12e697f99d Update default gems list at 5b109ff14d274d0599839c61c77b32 [ci skip] 2024-01-22 03:31:13 +00:00
Hiroshi SHIBATA
5b109ff14d [ruby/nkf] Bump up version to 0.2.0
https://github.com/ruby/nkf/commit/65506fecfd
2024-01-22 03:30:12 +00:00