| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
https://github.com/bundler/bundler/commit/a86b49f1b9
|
|
|
|
| |
https://github.com/bundler/bundler/commit/b7fc6f4187
|
|
|
|
|
|
| |
To not mention that the flag is remembered when it's not.
https://github.com/bundler/bundler/commit/82f0b95854
|
|
|
|
| |
https://github.com/bundler/bundler/commit/0a0e7cf5ec
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure that vm_yield_with_cfunc can correctly set the empty keyword
flag by passing 2 as the kw_splat value when calling it in
vm_invoke_ifunc_block. Make sure calling.kw_splat is set to 1 and not
128 in vm_sendish, so we can safely check for different kw_splat values.
vm_args.c needs to call add_empty_keyword, and to make JIT happy, the
function needs to be exported. Rename the function to
rb_adjust_argv_kw_splat to more accurately reflect what it does, and
mark it as MJIT exported.
|
|
|
|
|
|
|
|
| |
This makes method_missing take a flag for whether keyword arguments
were passed.
Adds tests both for rb_call_super_kw usage as well as general usage
of super calling method_missing in Ruby methods.
|
|
|
|
|
|
|
| |
https://github.com/ruby/ruby/runs/224877570#step:3:1008
```
Error: No such file or directory @ dir_s_rmdir - /Users/runner/Library/Caches/Homebrew/downloads/ca756e367eb98d2b525e72b311633c27ffc74eca825a5392153b3488d1adb732--libssh2-1.9.0.mojave.bottle.tar.gz
```
|
|
|
|
|
| |
Enable `Ctrl+Y`, which is bound with it by default on BSD-like
systems, for editing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixing typo. It seems I failed to press the shift key.
|
| |
|
| |
|
|
|
|
| |
[Bug #16167]
|
| |
|
|
|
|
|
|
| |
Parents commit hashs in logs of merge commits are abbreviated to
necessary length depending on the repositories. Exclude merge
commits from ChangeLog to make it stable.
|
| |
|
|
|
|
|
|
| |
This should only happen if the API is misused. It's much better
to warn here and fix the problem, versus to try to debug TypeErrors
or segfaults later.
|
| |
|
| |
|
|
|
|
|
| |
Just exporting may not imply exporting ChangeLog which needs
notes/commits. [Bug #16167]
|
|
|
|
|
|
| |
Enters raw-mode but enable interrupts.
https://github.com/ruby/io-console/commit/7cba76561a
|
|
|
|
|
| |
To prevent the `v` reference from being eliminated before argv is used,
calling `rb_free_tmp_buffer` against `v` explicitly.
|
|
|
|
| |
Needs another room to append an empty hash.
|
| |
|
|
|
|
|
|
|
| |
nagachika pointed out that ALLOC_N is actually just malloc, so
this memory wasn't being freed. This shouldn't be a performance
sensitive code path, and will be going away after 2.7, so just
allocate a temp buffer that will be freed later by Ruby GC.
|
|
|
|
|
|
|
|
|
|
|
| |
It is not safe to set this in C functions that can be called from
other C functions, as in the non argument-delegation case, you
can end up calling a Ruby method with a flag indicating keywords
are set without passing keywords.
Introduce some new *_kw functions that take a kw_splat flag and
use these functions to set RB_PASS_CALLED_KEYWORDS in places where
we know we are delegating methods (e.g. Class#new, Method#call)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove rb_add_empty_keyword, and instead of calling that every
place you need to add empty keyword hashes, run that code in
a single static function in vm_eval.c.
Add 4 defines to include/ruby/ruby.h, these are to be used as
int kw_splat values when calling the various rb_*_kw functions:
RB_NO_KEYWORDS :: Do not pass keywords
RB_PASS_KEYWORDS :: Pass final argument (which should be hash) as keywords
RB_PASS_EMPTY_KEYWORDS :: Add an empty hash to arguments and pass as keywords
RB_PASS_CALLED_KEYWORDS :: Passes same keyword type as current method was
called with (for method delegation)
rb_empty_keyword_given_p needs to stay. It is required if argument
delegation is done but delayed to a later point, which Enumerator
does.
Use RB_PASS_CALLED_KEYWORDS in rb_call_super to correctly
delegate keyword arguments to super method.
|
|
|
|
|
|
|
|
|
| |
This sets the correct VM frame flags when using Method#call to
call funcs, and handles empty keyword hashes for cfuncs,
attr_reader, and attr_writer. It also fixes calls to send through
Method#call. It adds tests for all of those, as well as tests for
using Method#call to call define_method, lambda, and sym_procs
(which didn't require code changes).
|
| |
|
| |
|
|
|
|
| |
This reverts commit 805b0a481132938638dbd32830cf5dca3910efb1.
|
|
|
|
| |
This reverts commit 685f12bbca50ff9b7a16b3016b3b8b3f2ac8b796.
|
|
|
|
| |
This reverts commit 6d9e54816f828983bcf383ce6fce287bd3ca05b9.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RubyVM::InstructionSequence.to_binary generates a bytecode binary
representation. To check compatibility with binary and loading
MRI we prepared major/minor version and compare them at loading
time. However, development version of MRI can change this format
but we can not increment minor version to make them consistent
with Ruby's major/minor versions.
To solve this issue, we introduce new minor version scheme
(binary's minor_version = ruby's minor * 10000 + dev ver)
and we can check incompatibility with older dev version.
|
| |
|
| |
|
|
|
|
| |
Fixed new Struct-related keyword argument warnings
|
|
|
|
| |
Co-authored-by: Victor Shepelev <zverok.offline@gmail.com>
|
| |
|