| Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2457
|
|
|
|
Fixed new Struct-related keyword argument warnings
|
|
Co-authored-by: Victor Shepelev <zverok.offline@gmail.com>
|
|
|
|
|
|
We are seeing SEGVs in CI:
http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2253563
This is happening because Ripper constructs AST nodes differently than
parse.y normally does. Specifically in this case Ripper is assigning 3
`VALUE` objects:
https://github.com/ruby/ruby/blob/1febb6f4a14f7222c6d30250bfdc252d34238187/parse.y#L757-L761
Where parse.y will normally assign other things:
https://github.com/ruby/ruby/blob/1febb6f4a14f7222c6d30250bfdc252d34238187/parse.y#L11258-L11260
The important one is the last one, the `struct rb_ary_pattern_info`. The
mark function assumed that `NODE_ARYPTN` have a pointer to `struct
rb_ary_pattern_info`, and used it:
https://github.com/ruby/ruby/blob/1febb6f4a14f7222c6d30250bfdc252d34238187/node.c#L1269-L1274
In the case of Ripper, `NODE_ARYPTN` doesn't point to an
`rb_ary_pattern_info`, so the mark function would SEGV. This commit
changes Ripper so that its `NODE_ARYPTN` nodes also point at an
`rb_ary_pattern_info`, and the mark function can continue with the same
assumption.
|
|
Previously, calling transform_values would call rb_hash_aset for each
key, needing to rehash it and look up its location.
Instead, we can use rb_hash_stlike_foreach_with_replace to replace the
values as we iterate without rehashing the keys.
Notes:
Merged: https://github.com/ruby/ruby/pull/2452
|
|
|
|
|
|
Previously, the warning functions skipped warning in these cases.
This removes the skipping, and uses a less descriptive warning
instead.
This affected both last argument to keyword warnings and keyword
split warnings.
|
|
|
|
|
|
|
|
See also https://travis-ci.org/ruby/ruby/jobs/583031687#L1874
Notes:
Merged: https://github.com/ruby/ruby/pull/2444
|
|
https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
> --no-progress (boolean) File transfer progress is not displayed. This flag is only applied when the quiet and only-show-errors flags are not provided.
|
|
Macros can't be expressions, that is a GNU extension (I didn't know
that). This commit converts the macro to a function so that everything
will compile correctly on non-GNU compatible compilers.
|
|
|
|
|
|
Fixes a test in RubySpec
|
|
https://github.com/ruby/io-console/commit/4e17c90788
|
|
About unused variables and a function.
https://github.com/ruby/io-console/commit/32baf54e7a
|
|
LONG_MAX_as_double is not needed when long is small enough to be
exactly representable as a double, e.g., IL32LLP64 platforms.
|
|
Silly typo.
|
|
"GCC diagnostic push/pop" seems appeared at gcc 4.6.
|
|
Solaris 10 returns addrinfo.ai_protocol as 0, not 6.
|
|
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/2443
|
|
Addrinfo.getaddrinfo and .foreach now accepts :timeout in seconds as
a keyword argument. If getaddrinfo_a(3) is available, the timeout will be
applied for name resolution. Otherwise, it will be ignored.
Socket.tcp accepts :resolv_timeout to use this feature.
This commit is retry of 6382f5cc91ac9e36776bc854632d9a1237250da7.
Test was failed on Solaris machines which don't have "http" in
/etc/services. In this commit, use "ssh" instead.
|
|
https://github.com/ruby/io-console/commit/ee648fa8bb
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/83e70de8ab
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/e6344108a1
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/143a9d5764
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/21d340e4a2
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/7f2b1b473d
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/41a6a6cace
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
A function to query console info.
https://github.com/ruby/io-console/commit/db75a07fa3
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
https://github.com/ruby/io-console/commit/972ceb081d
Notes:
Merged: https://github.com/ruby/ruby/pull/2440
|
|
Mostly from burdettelamar@yahoo.com (Burdette Lamar).
Implements [Misc #16156]
|