diff options
author | Yusuke Endoh <[email protected]> | 2024-07-09 18:27:02 +0900 |
---|---|---|
committer | Yusuke Endoh <[email protected]> | 2024-07-10 13:00:47 +0900 |
commit | 114e32b35796ca546f429ee3295607a127d7e519 (patch) | |
tree | 2b733b36a8a32ca043708ed47a1c9c2f5b3d078c /include/ruby/internal | |
parent | 77b12a8aaf40678dd6cfea29ae27b92b3718ae0a (diff) |
Add rb_block_call2, a flexible variant of rb_block_call
This function accepts flags:
RB_NO_KEYWORDS, RB_PASS_KEYWORDS, RB_PASS_CALLED_KEYWORDS:
Works as the same as rb_block_call_kw.
RB_BLOCK_NO_USE_PACKED_ARGS:
The given block ("bl_proc") does not use "yielded_arg" of rb_block_call_func_t.
Instead, the block accesses the yielded arguments via "argc" and "argv".
This flag allows the called method to yield arguments without allocating an Array.
Diffstat (limited to 'include/ruby/internal')
-rw-r--r-- | include/ruby/internal/scan_args.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/ruby/internal/scan_args.h b/include/ruby/internal/scan_args.h index 1ed2bf6368..2dbc1ee7bc 100644 --- a/include/ruby/internal/scan_args.h +++ b/include/ruby/internal/scan_args.h @@ -75,7 +75,7 @@ * Pass keywords if current method is called with keywords, useful for argument * delegation */ -#define RB_PASS_CALLED_KEYWORDS rb_keyword_given_p() +#define RB_PASS_CALLED_KEYWORDS !!rb_keyword_given_p() /** @} */ |