Project

General

Profile

Activity

From 02/20/2020 to 02/26/2020

02/26/2020

11:23 PM Feature #16644: qualified const init (self::CONST1 = 1) should be allowed in methods
a qualified const init is so similar to meta-programming `const_set` that there's no reason to block it
```ruby
module Mod1
end
def define_consts(mod)

# since this allowed
mod.const_set(:CONST1, :CONST1) unless mod.const...
bughit (bug hit)
07:40 PM Bug #16654: Segfault in rb_str_hash
The application I'm reproducing it on is here: https://github.com/codetriage/codetriage
I think you should be able to "bundle install" and then use my script above and it would reproduce.
nateberkopec (Nate Berkopec)
07:11 AM Bug #16654: Segfault in rb_str_hash
Nobu, This looks like Mac to me maybe llvm related? sam.saffron (Sam Saffron)
05:29 AM Bug #16654 (Feedback): Segfault in rb_str_hash
I couldn't reproduce it with a simple file.
Could you try with the master, and could your "config/environment.rb" be shared?
nobu (Nobuyoshi Nakada)
07:06 PM Revision 6b30638b (git): MiniTest::Unit.options has default :seed
MiniTest::Unit (superclass of Test::Unit::Runner) does not has
default seed parameter, but assigned after initializing.
However some tests use MiniTest::Unit without setup of seed option
and it cases unexpected test failures. To solve th...
ko1 (Koichi Sasada)
06:47 PM Revision 14f17908 (git): `srand($seed)` at the beginning of each test
To avoid `srand(0)` effect in the other tests, call `srand($seed)`
at the beginning of each test (setup).
[Feature #16655]
ko1 (Koichi Sasada)
05:45 PM Revision f9d31424 (git): Revert "`srand($seed)` at the beginning of each test"
This reverts commit 7c1553e91db07fed4fed3287b50304f1c69a685d.
It breaks some tests.
ko1 (Koichi Sasada)
05:33 PM Feature #16655 (Closed): Each test on test-all should run `srand(seed)` at setup
Applied in changeset commit:git|116c6320956ce80efcb1db849a190ebd7f8c8ad3.
----------
don't ignore `--seed` option
`--seed N` option is just ignored so respect this option.
[Feature #16655]
Also making "Run options" display pretty.
ko1 (Koichi Sasada)
05:23 PM Feature #16655 (Closed): Each test on test-all should run `srand(seed)` at setup
# Points
* call `srand($seed)` before each test. `$seed` is given seed number by `--seed N`
# Background
Some tests use `rand()` to produce random number to generate random test examples.
Example:
```
def test_local_va...
ko1 (Koichi Sasada)
05:32 PM Revision 8296da88 (git): * 2020-02-27 [ci skip]
git[bot]
05:29 PM Revision 7c1553e9 (git): `srand($seed)` at the beginning of each test
To avoid `srand(0)` effect in the other tests, call `srand($seed)`
at the beginning of each test (setup).
[Feature #16655]
ko1 (Koichi Sasada)
05:26 PM Revision 116c6320 (git): don't ignore `--seed` option
`--seed N` option is just ignored so respect this option.
[Feature #16655]
Also making "Run options" display pretty.
ko1 (Koichi Sasada)
02:38 PM Bug #16647: Redefining $/ causes irb to misbehave
Eregon (Benoit Daloze) wrote in #note-1:
> Out of curiosity, why do you overwrite $/?
> ...
I was following along an example from the book "The Well Grounded Rubyist, 3rd edition", that was illustrating how IO objects iterate.
mehagar (Michael Hagar)
08:37 AM Revision 83705c42 (git): Add missing free on cc_entries
Looks like an oversight in b9007b6c548f91e88fd3f2ffa23de740431fa969 and
7ec23593746c8ccabd6c005cc34dde77d564c6c9.
k0kubun (Takashi Kokubun)
08:34 AM Revision 33b78b89 (git): Eliminate unnecessary mjit_iseq_cc_entries calls
just in case. k0kubun (Takashi Kokubun)
08:27 AM Revision 69f377a3 (git): Internalize rb_mjit_unit definition again
Fixed a TODO in b9007b6c548f91e88fd3f2ffa23de740431fa969 k0kubun (Takashi Kokubun)
07:55 AM Revision daf7c48d (git): Explain the situation of inner cc_entries [ci skip]
Add a little more details in 7ec23593746c8ccabd6c005cc34dde77d564c6c9 k0kubun (Takashi Kokubun)
07:48 AM Revision 55923ba8 (git): Note a situation around xmalloc vs free in MJIT [ci skip]
shared by ko1 k0kubun (Takashi Kokubun)
07:45 AM Revision 8dab71b9 (git): Simplified single script case
Simply use `File.basename` to remove the directory name (and
suffix), instead of `gsub` which can replace unintended parts.
nobu (Nobuyoshi Nakada)
07:24 AM Revision eb75f0d1 (git): Remove an unused declaration
It was unnecessary in b9007b6c548f91e88fd3f2ffa23de740431fa969 k0kubun (Takashi Kokubun)
07:01 AM Bug #16521 (Closed): ST_DEBUG not working
Applied in changeset commit:git|fbd7f08e922cdf1a4be7a71aa056659971c81dab.
----------
kill ST_DEBUG [Bug #16521]
This compile-time option has been broken for years (at least since
commit 4663c224fa6c925ce54af32fd1c1cbac9508f5ec, accordi...
shyouhei (Shyouhei Urabe)
07:00 AM Revision fbd7f08e (git): kill ST_DEBUG [Bug #16521]
This compile-time option has been broken for years (at least since
commit 4663c224fa6c925ce54af32fd1c1cbac9508f5ec, according to git
bisect). Let's delete codes that no longer work.
shyouhei (Shyouhei Urabe)
07:00 AM Revision 62c2b8c7 (git): kill USE_RGENGC=0
This compile-time option has been broken for years (at least since
commit 49369ef17316cd5d5819b038f286e1d951972b52, according to git
bisect). Let's delete codes that no longer works.
shyouhei (Shyouhei Urabe)
07:00 AM Revision e7bcb416 (git): avoid #if inside of rb_str_new_cstr
ISO/IEC 9899:1999 section 6.10.3 paragraph 11 explicitly states that
"If there are sequences of preprocessing tokens within the list of
arguments that would otherwise act as preprocessing directives, the
behavior is undefined."
rb_str_n...
shyouhei (Shyouhei Urabe)
05:48 AM Feature #16652 (Assigned): Use RubyGems facilities to install Gems during Ruby installation
hsbt (Hiroshi SHIBATA)
02:04 AM Revision 9d6d5315 (git): Cache destination dir.
It is not necessary to strip the `destdir` prefix every iteration, when
it can be done just once.
Vít Ondruch
02:04 AM Revision b8a8fdba (git): Properly detect mode for binaries.
.gemspec files specifies not just `bin`, but also other directories. Vít Ondruch
02:04 AM Revision e087b029 (git): Use class variable `@src_dir` instead of local `path`.
The local `path` variable does not provide any additional value and was
kept around just for clarity for easier review of the `extrac_files`
method move.
Vít Ondruch
02:04 AM Revision c9fab1ac (git): Use local `{dir,prog,data}_mode` variables instead of globals.
This just gets the `RbInstall::DirPackage` closer by functionality to
`Gem::Package`.
Vít Ondruch
02:04 AM Revision 6609940a (git): Use `$script_mode` instead of `$prog_mode` for gem inistallation.
rbinstall is using `$script_mode` and `$prog_mode`. However, the
`$script_mode` fallbacks to `$prog_mode` if not provided.
However, RubyGems do not distinguish between `$script_mode` and
`$prog_mode`:
https://github.com/rubygems/rubyge...
Vít Ondruch
02:04 AM Revision e960ef6f (git): Use `Gem::Package` like object instead of monkey patching.
1. This is similar to what RubyGems does and it is less magic [[1]].
2. It avoids deprecated code paths in RubyGems [[2]].
[1]: https://github.com/rubygems/rubygems/blob/92892bbc3adba86a90756c385433835f6761b8da/lib/rubygems/installer.rb...
Vít Ondruch
01:23 AM Feature #16650: Ruby 2.6.* and 2.7* no longer compile on latest Mingw64
Mingw has meant "mingw on cygwin", and msys has not been a supported platform.
nobu (Nobuyoshi Nakada)
01:16 AM Revision 0686e418 (git): Fixed for older versions
Fix up 66d1900423e6fb9774c2fe72dba8c2968b54d7ab, `RubyVM::MJIT` is
available since ruby 2.6.
nobu (Nobuyoshi Nakada)
01:11 AM Bug #16632: Remove verbose warning on treating keyword splat as positional argument in Ruby 2.6
Looking through the repository history, the patch attached to this issue is mostly implemented by commit:6424d316b993ecceb6f583ae476096274e304788, so that commit could be backported instead, though I'm not sure it applies without conflicts. jeremyevans0 (Jeremy Evans)

02/25/2020

08:03 PM Bug #16654: Segfault in rb_str_hash
Does not reproduce on 2.5.5, and reproduces on 2.6.0
Unfortunately, doesn't reproduce with a simple script, e.g.:
```ruby
require "memory_profiler"
report = MemoryProfiler.report do
1_000_000.times { "allocate a string" }
end
report...
nateberkopec (Nate Berkopec)
07:34 PM Bug #16654: Segfault in rb_str_hash
This reproduces on 2.7.0 as well (though the thing calling `rb_str_hash` was different, this time `objspace_each_objects`)
```
-- C level backtrace information -------------------------------------------
/Users/nateberkopec/.rubies/ruby...
nateberkopec (Nate Berkopec)
07:32 PM Bug #16654 (Closed): Segfault in rb_str_hash
Seen in ruby 2.6.5.
```
-- C level backtrace information -------------------------------------------
/Users/nateberkopec/.rubies/ruby-2.6.5/bin/ruby(rb_vm_bugreport+0x82) [0x10632d9c2]
/Users/nateberkopec/.rubies/ruby-2.6.5/bin/rub...
nateberkopec (Nate Berkopec)
06:54 PM Feature #16511: Staged warnings and better compatibility for keyword arguments in 2.7.1
@Eregon thanks for your reply.
I won't bother making a point-by-point counterargument because it would be redundant and boring at this point. Suffice it to say that I find almost every single line you wrote to be either flawed or factua...
Dan0042 (Daniel DeLorme)
06:43 PM Revision 672213ef (git): Document that Array#index and find_index are aliases [ci skip]
Chelsea Corvus (Battell)
05:27 PM Revision 6c66761c (git): * 2020-02-26 [ci skip]
git[bot]
05:27 PM Revision 66d19004 (git): Increase timeout for CSV test with --jit-wait
To prevent CI failures like
http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/2739995
k0kubun (Takashi Kokubun)
04:13 PM Feature #16597: missing poll()
Attaching test and fix.
This fixes the problem with not raising exception but now my patched interpreter tends to crash. Need to investigate.
michals (Michal Suchánek)
02:58 PM Bug #16653: Weird behaviour of Resolv module
Looks like the issue is using multiple domain names instead of IP addresses for the :nameserver option. Single domain name works, multiple IP addresses works, IP address and domain name works, multiple domain names does not work:
```...
jeremyevans0 (Jeremy Evans)
09:08 AM Bug #16653 (Rejected): Weird behaviour of Resolv module
I have to deal with DNS request. Here is some examples.
When I ask A records for example.com at some public DNS servers I get the results:
`> Resolv::DNS.new(nameserver: ['8.8.8.8', '1.1.1.1']).getresources('example.com', Resolv::DNS...
evserykh (Evgeniy Serykh)
11:40 AM Revision 55bf0ef1 (git): Share extracted bundled gems with gems for bundler
Extract bundled gems under ".bundle/gems" and get rid of
duplication which cause constant redefinition warnings at
`test-all` after `extract-gems` and `test-bundler`.
nobu (Nobuyoshi Nakada)
10:34 AM Feature #15921: R-assign (rightward-assignment) operator
I think `=>` is okay, but in case we want to use a keyword (ordinary word) for this feature, I think `as` would be good. `as` in SQL is similar to rightward assignment.
```ruby
(1..).lazy.map {|x| x*2} as x
p x.first(10)
```
sawa (Tsuyoshi Sawada)
08:47 AM Revision a504535d (git): Prefer dedicated assertion method
nobu (Nobuyoshi Nakada)
04:39 AM Revision 0febd07c (git): ext/-test-/cxxanyargs: use try_link instead
We would like to skip this extension library when libstdc++ is missing.
To avoid such situation let's use try_link instead of try_compile.
shyouhei (Shyouhei Urabe)
04:37 AM Revision 84d1a99a (git): should be initialize jit_unit->cc_entries.
GC can invoke just after allocation of jit_unit->cc_entries so
it should be zero-cleared.
ko1 (Koichi Sasada)
04:30 AM Bug #12159 (Closed): Thread::Backtrace::Location#path returns absolute path for files loaded by require_relative
I talked about this issue with nobu and ko1.
> Is it intentional? or a bug?
As @usa said, it is intentional according to nobu and ko1. Please use `#absolute_path`.
> ...
It may return relative path, too. IMO, "file name" inclu...
mame (Yusuke Endoh)
04:12 AM Revision 670b7be6 (git): should count only string.
This code can generate CC objects so we only need to count
existing String objects.
ko1 (Koichi Sasada)
03:57 AM Revision 7ec23593 (git): prevent GC from mjit worker.
ALLOC_N() can causes GC. Sometimes `mjit_copy_job_handler()`
can be called by mjit_worker thread which is not a Ruby thread,
so we need to prevent GC in this function. This patch has some
issues, but I introduce it to pass the tests.
ko1 (Koichi Sasada)
03:53 AM Revision 82d27604 (git): * 2020-02-25 [ci skip]
git[bot]
03:53 AM Revision fa1ec604 (git): Fix wrong documentation for return value of Pathname#fnmatch
pocke (Masataka Kuwabara)
03:41 AM Misc #16630 (Assigned): Deprecate pub/ruby/*snapshot* and use pub/ruby/snapshot/* instead
I agree with your proposal. It's difficult to handle for us continuously.
@matz
Can we remove it?
hsbt (Hiroshi SHIBATA)
02:24 AM Feature #16652: Use RubyGems facilities to install Gems during Ruby installation
I glanced at rbinstall.rb briefly; for those interested, the link should be here:
https://github.com/ruby/ruby/blob/master/tool/rbinstall.rb
That seems quite old code, lots of global variables in it as well. Props to
everyone able...
shevegen (Robert A. Heiler)

02/24/2020

11:38 PM Feature #16648: improve GC performance by 5% with builtin_prefetch
I ran the patch on some included GC benchmarks in the repo and it doesn't seem to be a pure win (built-ruby is the patched version):
```
$ make benchmark ITEM=gc_ COMPARE_RUBY=/opt/rubies/2.8.0-clean/bin/ruby OPTS=-v
/opt/rubies/2.6....
alanwu (Alan Wu)
09:41 PM Feature #16597: missing poll()
There is a bug with handling POLLNVAL in the new code. michals (Michal Suchánek)
09:26 PM Bug #16642 (Closed): Splatted empty hash literal produces frozen hash object
This was already fixed in master at commit:f8a8f055123bc81fc13fa295b936504196df0da4, which changed it so ruby2_keywords does not pass empty keyword splats as hashes. Passing empty keyword splats as hashes is not needed in Ruby 3, it is ... jeremyevans0 (Jeremy Evans)
05:10 PM Feature #16652 (Closed): Use RubyGems facilities to install Gems during Ruby installation
Currently, `tools/rbinstall` uses quite some custom code to install gems instead of using functionality available in RubyGems. I don't think this is good, because the code is non transparent ATM and it is duplicating functionality, which... vo.x (Vit Ondruch)
02:58 PM Bug #16647 (Closed): Redefining $/ causes irb to misbehave
It was a problem with Reline. I fixed it by https://github.com/ruby/reline/pull/129.
> My personal opinion is we should deprecate all these variables affecting default separators,
> ...
I think so, but...maybe, so many beginners use ...
aycabta (aycabta .)
09:03 AM Bug #16647: Redefining $/ causes irb to misbehave
Related to https://bugs.ruby-lang.org/issues/14240
changing these variables is deprecated now, and it shows a warning
Hanmac (Hans Mackowiak)
06:55 AM Bug #16651 (Closed): Extensions Do Not Compile on Mingw64 with mingw32-make
When mkmf.rb creates a Makefile for an extension, it will generate something that looks like this:
```makefile
srcdir = .
topdir = C/MSYS64/USR/LOCAL/ruby-2.7.0/include/ruby-2.7.0
hdrdir = $(topdir)
arch_hdrdir = C:/MSYS64/USR/LOC...
cfis (Charlie Savage)
06:44 AM Feature #16650 (Closed): Ruby 2.6.* and 2.7* no longer compile on latest Mingw64
Using the latest version of mingw64 and msys2, neither ruby 2.6.5 nor 2.7.0 compile.
The issue is with miniruby.exe - it gets built but does not work. For example:
$ ./miniruby.exe -v
Returns nothing (I assume it is crashing but...
cfis (Charlie Savage)
06:41 AM Bug #16649 (Closed): Object with [] method doesn't work as String#encode's fallback
Applied in changeset commit:git|8b6e2685a4b7c7de905f7ed60c02ef85e0724754.
----------
Fixed symbol misused as ID
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a
`Symbol`. [Bug #16649]
nobu (Nobuyoshi Nakada)
06:24 AM Bug #16649 (Closed): Object with [] method doesn't work as String#encode's fallback
`String#encode` document says fallback can be a Hash, a Proc, a Method or an object which has `[]` method.
> Sets the replacement string by the given object for undefined character. The object should be a Hash, a Proc, a Method, or a...
pocke (Masataka Kuwabara)
06:37 AM Revision 8b6e2685 (git): Fixed symbol misused as ID
`rb_funcallv_public` and `rb_respond_to` require an `ID`, not a
`Symbol`. [Bug #16649]
nobu (Nobuyoshi Nakada)
03:40 AM Revision f8401732 (git): Try with and without "v" prefix for numeric tag
nobu (Nobuyoshi Nakada)
03:33 AM Revision 116b9e6a (git): Retry checking out the version
rss 0.2.9 is tagged without the "v" prefix. nobu (Nobuyoshi Nakada)
03:27 AM Revision 6f92c620 (git): Update bundled gems
nobu (Nobuyoshi Nakada)

02/23/2020

11:53 PM Feature #16456: Ruby 2.7 argument delegation (...) should be its own kind of parameter in Method#parameters
I'd definitely like to see this as well. It'd be useful for Sorbet since it uses the parameters method to reconstruct methods when generating scaffolds for gem methods and other Ruby code.
https://github.com/sorbet/sorbet/blob/29a967a...
connorshea (Connor Shea)
03:28 PM Revision f88d209b (git): * 2020-02-24 [ci skip]
git[bot]
03:28 PM Revision 281b3500 (git): Add pattern matching documentation
Add separate doc/syntax/pattern_matching.rdoc, add
link to control_expressions.rdoc.
The documentation is "reverse-engineered" from Ruby 2.7
behavior and early preview presentations, and corrected
by pattern-matching feature author @k-tsj.
zverok (Victor Shepelev)
02:24 PM Feature #16511: Staged warnings and better compatibility for keyword arguments in 2.7.1
Thanks for writing that out.
I think in general tracking whether a Hash is keywords or positional dynamically makes everything complicated.
Long-term, I think it's clear we want to know syntactically whether a Hash is keyword argumen...
Eregon (Benoit Daloze)
11:33 AM Bug #16647: Redefining $/ causes irb to misbehave
Out of curiosity, why do you overwrite $/?
My personal opinion is we should deprecate all these variables affecting default separators,
they tend to break any non-trivial program, not just IRB, and explicit seems always clearer.
Eregon (Benoit Daloze)
07:49 AM Feature #14240 (Closed): warn four special variables: $; $, $/ $\
Applied in changeset commit:git|6298ec2875a6f1a1e75698c96ceac94362f20bcf.
----------
Warn non-nil `$\` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 8a7e0aaa (git): Warn non-nil `$/` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 6298ec28 (git): Warn non-nil `$\` [Feature #14240]
nobu (Nobuyoshi Nakada)
04:37 AM Revision 588a86e3 (git): Warn non-nil `$,` in `IO#print` too
nobu (Nobuyoshi Nakada)
04:31 AM Revision 0ed3384f (git): Revert "Prefer `exe/ruby` to execute from it"
This reverts commit c7b71af9e21b3f0b8fe413a3c20cf4bd633c40d0, as
an example in bundler expects untouch PATH.
nobu (Nobuyoshi Nakada)

02/22/2020

07:07 PM Feature #16644: qualified const init (self::CONST1 = 1) should be allowed in methods
These are two different things. Ruby always warns for assigning to an existing constant, regardless of using `const_set` or `CONST = ...`. It does not support using `CONST = ...` inside a method, though `const_set` is allowed. Similar... jeremyevans0 (Jeremy Evans)
06:55 PM Bug #16620 (Feedback): [BUG] Segmentation fault at 0x0000000103bae000
Can you please run the failing code from the command line and include the output? The awd files provided are binary files and I have no idea how to read them, and the diag file doesn't include the necessary information.
It appears th...
jeremyevans0 (Jeremy Evans)
06:03 PM Feature #16648 (Open): improve GC performance by 5% with builtin_prefetch
The mark phase of non-incremental major GC is (I believe) dominated by pointer chasing. One way we can improve that is by prefetching cachelines from memory before they are accessed, to reduce stalls. I did some experimenting, and the ... bpowers (Bobby Powers)
03:38 PM Revision f85ca4c8 (git): * 2020-02-23 [ci skip]
git[bot]
03:32 PM Revision 77dcc2c8 (git): hash.c: [DOC] fix examples for ENV.merge!
stomar (Marcus Stollsteimer)
02:47 PM Bug #16646 (Closed): OpenSSL::VERSION is not defined (moved to ruby/openssl)
Eregon (Benoit Daloze)
02:05 AM Bug #16646: OpenSSL::VERSION is not defined (moved to ruby/openssl)
See https://github.com/ruby/openssl/issues/347
Please close. OpenSSL should have a new release soon...
MSP-Greg (Greg L)
01:43 PM Revision 4aebb491 (git): Expand Symbol#to_proc specs to be clearer
Eregon (Benoit Daloze)
01:37 PM Bug #16640: Symbol#to_proc reports -1 for arity
Thanks for the fix nobu! (https://github.com/ruby/ruby/commit/5b29ea0845c14092abd866ce0183c52635bade4c) Eregon (Benoit Daloze)
01:53 AM Bug #16640 (Closed): Symbol#to_proc reports -1 for arity
Applied in changeset commit:git|5b29ea0845c14092abd866ce0183c52635bade4c.
----------
Proc from Symbol needs a receiver
So its arity should be -2 instead of -1.
[Bug #16640]
https://bugs.ruby-lang.org/issues/16640#change-84337
nobu (Nobuyoshi Nakada)
01:43 AM Bug #16640 (Open): Symbol#to_proc reports -1 for arity
nobu (Nobuyoshi Nakada)
07:01 AM Revision c7b71af9 (git): Prefer `exe/ruby` to execute from it
nobu (Nobuyoshi Nakada)
02:54 AM Revision f744d801 (git): check USE_MJIT
iseq->body->jit_unit is not available if USE_MJIT==0 . ko1 (Koichi Sasada)
02:26 AM Misc #16645: Non-warned change of behavior in 2.7 for non-symbol keys
> treating non-Symbol keys as keywords if the method accepts arbitrary keywords is expected behavior
Yes, I was aware of that, it's just that I always thought of this as simply an _additional_ behavior; previously `**hash` would raise a...
Dan0042 (Daniel DeLorme)
12:06 AM Misc #16645 (Rejected): Non-warned change of behavior in 2.7 for non-symbol keys
Yes, treating non-Symbol keys as keywords if the method accepts arbitrary keywords is expected behavior, as mentioned in the Ruby 2.7.0 release notes (https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/). This is a deliber... jeremyevans0 (Jeremy Evans)
01:49 AM Revision 5b29ea08 (git): Proc from Symbol needs a receiver
So its arity should be -2 instead of -1.
[Bug #16640]
https://bugs.ruby-lang.org/issues/16640#change-84337
nobu (Nobuyoshi Nakada)
01:27 AM Revision 31748e69 (git): CI can be NULL.
Unused CI (introduced from peephole optimization, etc) can be NULL
so introduce NULL check.
ko1 (Koichi Sasada)
01:25 AM Revision af12e386 (git): More ENV rdoc [ci skip]
burdettelamar (Burdette Lamar)
01:01 AM Revision da310356 (git): test/readline - allow ENV control of test class creation
In ruby/ruby, the tests run on both readline & reline by creating four test classes:
```
TestReadline
TestReadlineHistory
TestRelineAsReadline
TestRelineAsReadlineHistory
```
Reline inports the test files and uses them in its CI. Addi...
MSP-Greg (Greg L)
12:59 AM Feature #16614 (Closed): New method cache mechanism for Guild
Applied in changeset commit:git|b9007b6c548f91e88fd3f2ffa23de740431fa969.
----------
Introduce disposable call-cache.
This patch contains several ideas:
(1) Disposable inline method cache (IMC) for race-free inline method cache
* ...
ko1 (Koichi Sasada)
12:59 AM Revision d7984d0f (git): * remove trailing spaces. [ci skip]
git[bot]
12:58 AM Revision b9007b6c (git): Introduce disposable call-cache.
This patch contains several ideas:
(1) Disposable inline method cache (IMC) for race-free inline method cache
* Making call-cache (CC) as a RVALUE (GC target object) and allocate new
CC on cache miss.
* This technique allo...
ko1 (Koichi Sasada)
12:58 AM Revision f2286925 (git): VALUE size packed callinfo (ci).
Now, rb_call_info contains how to call the method with tuple of
(mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and
mid+argc+flags only requires 64bits. So this patch packed
rb_call_info to VALUE (1 word) on such cases. If w...
ko1 (Koichi Sasada)

02/21/2020

05:59 PM Revision a1eb1fab (git): use RUBY_FUNCTION_NAME_STRING instead of __func__ for rp()
ko1 (Koichi Sasada)
04:54 PM Misc #16645: Non-warned change of behavior in 2.7 for non-symbol keys
I can not answer your question but I believe matz mentioned the change several times in different
talks before. So a deprecation phase makes no real sense, unless matz and the core team wants
to postpone the change past ruby 3.0 - but ...
shevegen (Robert A. Heiler)
03:29 PM Misc #16645 (Rejected): Non-warned change of behavior in 2.7 for non-symbol keys
In ruby 2.7 non-symbol keys are now accepted as keywords, resulting in the following change in behavior:
```ruby
def foo(*a,**h) p [a,h] end
foo("a"=>42)
# [[{"a"=>42}], {}] in 2.6
# [[], {"a"=>42}] in 2.7
```
Given that the...
Dan0042 (Daniel DeLorme)
04:51 PM Bug #16647 (Closed): Redefining $/ causes irb to misbehave
If I start irb and then do:
``` ruby
$/ = "asdf"
```
then every character I type shows a newline on the irb console. Previous versions of ruby do not have this behavior, and it is annoying.
mehagar (Michael Hagar)
04:30 PM Bug #16646 (Closed): OpenSSL::VERSION is not defined (moved to ruby/openssl)
There are several ways to fix this, maybe add to openssl.rb?
Noticed in several platforms...
MSP-Greg (Greg L)
03:45 PM Revision 5a89c057 (git): * 2020-02-22 [ci skip]
git[bot]
03:45 PM Revision 8c5ca318 (git): `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
With refinements, too. nobu (Nobuyoshi Nakada)
03:30 PM Revision 5cab86f3 (git): `Proc` made by `Symbol#to_proc` should be a lambda [Bug #16260]
nobu (Nobuyoshi Nakada)
03:17 PM Revision 0b4500d9 (git): Adjusted indent [ci skip]
nobu (Nobuyoshi Nakada)
02:16 PM Revision 5e7322b8 (git): [ruby/irb] `yield` outside method definition is a syntax error
https://github.com/ruby/irb/commit/dbc7b059c7 nobu (Nobuyoshi Nakada)
12:30 PM Revision 8d3b7f0f (git): Fixed net-pop, smtp, protocol and imap task for sync tool
hsbt (Hiroshi SHIBATA)
12:25 PM Revision e7f8724f (git): Fixed net-ftp sync task and resync from standalone repo
hsbt (Hiroshi SHIBATA)
12:23 PM Revision fa1cf777 (git): Move an entry of net-ftp to the default gems section
hsbt (Hiroshi SHIBATA)
12:21 PM Revision 9cb1ffaa (git): Promote net-http to the default gems.
test/net/http/test_https.rb: rename fixture methods to read_fixture
because it conflicts with test-unit gem.
hsbt (Hiroshi SHIBATA)
11:41 AM Bug #16337: kernel_gem.rb:68 - ThreadError
I guess this is because you're not using the latest rubygems. Could you run `gem env version` and check that you have a rubygems version older than 3.1?
You need to request upgrading rubygems to google-fluentd, maybe here: https://git...
deivid (David Rodríguez)
10:57 AM Bug #16643: Array#dig converts keywords to positional hash
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> Dan0042 (Daniel DeLorme) wrote in #note-2:
> ...
I personally think that it should not be equivalent. `obj.dig(a, b, c)` was introduced as a safe-navigation like `obj[a][b][c]`, so I thi...
mame (Yusuke Endoh)
07:06 AM Bug #16643: Array#dig converts keywords to positional hash
Dan0042 (Daniel DeLorme) wrote in #note-2:
> Are you seriously telling me that you consider it normal and correct that `obj.dig(**kw)` is _not_ equivalent to `[obj].dig(0, **kw)` ???
It should be equivalent, if `dig` is defined corre...
jeremyevans0 (Jeremy Evans)
02:59 AM Bug #16643: Array#dig converts keywords to positional hash
Are you seriously telling me that you consider it normal and correct that `obj.dig(**kw)` is _not_ equivalent to `[obj].dig(0, **kw)` ???
I will note that your first example produces `2` whether keywords are passed with RB_PASS_CALLED...
Dan0042 (Daniel DeLorme)
10:56 AM Revision a294ec16 (git): Move an entry of net-ftp to the default gems section
hsbt (Hiroshi SHIBATA)
10:09 AM Revision f08d8e5e (git): Promote net-ftp to default gems
hsbt (Hiroshi SHIBATA)
09:39 AM Bug #16632: Remove verbose warning on treating keyword splat as positional argument in Ruby 2.6
As mentioned in https://bugs.ruby-lang.org/issues/16511#note-17
it seems very unlikely this triggers in practice, because indeed who would bother with an extra `**` when the method doesn't take keyword arguments?
Maybe for the case the...
Eregon (Benoit Daloze)
09:34 AM Bug #16640: Symbol#to_proc reports -1 for arity
The arity should actually be `-2` which means 1 required arguments + any number of optional arguments. Eregon (Benoit Daloze)
04:31 AM Revision 4643bf5d (git): * 2020-02-21 [ci skip]
git[bot]
04:31 AM Revision 59c2a115 (git): Fix typo in NEWS-2.7.0
pocke (Masataka Kuwabara)

02/20/2020

08:55 PM Bug #16643 (Rejected): Array#dig converts keywords to positional hash
This behavior is deliberate. `dig` should only be overridden if you want to be able to access objects stored inside the object. dig should accept `*args`, using the first element to look inside the object, and passing the remaining arg... jeremyevans0 (Jeremy Evans)
03:42 AM Bug #16643 (Rejected): Array#dig converts keywords to positional hash
The following behavior for `dig` looks very weird to me:
```ruby
o=Object.new
def o.dig(**kw) p [kw] end
o.dig(x:1)
#no warning
#[{:x=>1}]
[o].dig(0, x:1)
#warning: Using the last argument as keyword parameters is deprecat...
Dan0042 (Daniel DeLorme)
08:37 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
steveb3210 (Stephen Blackstone) wrote in #note-16:
> Unforunately Miller-Rabin is not a deterministic test for arbitrarily large n - its only the work in the paper https://arxiv.org/pdf/1509.00864.pdf that allows us to provide functional...
Dan0042 (Daniel DeLorme)
07:19 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
Attached is the latest diff. steveb3210 (Stephen Blackstone)
07:18 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
Dan0042 (Daniel DeLorme) wrote in #note-15:
> I think it would be interesting to expose the algorithm for larger numbers. So you could have `miller_rabin` which allows any integer, and `prime?` which checks the value and either call `mi...
steveb3210 (Stephen Blackstone)
02:01 PM Feature #16468: Switch to Miller-Rabin for Prime.prime?
I think it would be interesting to expose the algorithm for larger numbers. So you could have `miller_rabin` which allows any integer, and `prime?` which checks the value and either call `miller_rabin` or raise ArgumentError.
Dan0042 (Daniel DeLorme)
05:45 AM Feature #16468: Switch to Miller-Rabin for Prime.prime?
- Add bounds check
- Add test
steveb3210 (Stephen Blackstone)
07:08 PM Feature #16644 (Rejected): qualified const init (self::CONST1 = 1) should be allowed in methods
```rb
module Mod1
def self.define_consts
const_set(:CONST1, :CONST1)
# this is actual const re-assignment but only a warning
const_set(:CONST1, :CONST1)


# this is const initialization but becomes an ...
bughit (bug hit)
05:18 PM Feature #16597: missing poll()
An extension that makes poll() features available and does not require integration into ruby core is eventmachine. michals (Michal Suchánek)
01:36 PM Revision df26d36e (git): Prefer alignas() over _Alignas()
to allow Intel C++ compiler to read ruby.h.
This is similar to 9930481a239fa7182429f3c3942ea033fb9b0320
mame (Yusuke Endoh)
12:32 PM Revision 3e12b658 (git): Fallback to load version file in ruby core repository
hsbt (Hiroshi SHIBATA)
12:24 PM Revision a326b4b0 (git): Move an entry of net-imap to the default gems section
hsbt (Hiroshi SHIBATA)
12:24 PM Revision e9d872a0 (git): Promote net-imap to the default gems
hsbt (Hiroshi SHIBATA)
09:19 AM Feature #16614: New method cache mechanism for Guild
> my thoughts were: if respond_to_missing? returns true once, does this have any effect on this cache? even if it might later return false?
Just now, no effect.
ko1 (Koichi Sasada)
08:33 AM Feature #16614: New method cache mechanism for Guild
ko1 (Koichi Sasada) wrote in #note-14:
> Hanmac (Hans Mackowiak) wrote in #note-13:
> ...
my thoughts were: if `respond_to_missing?` returns true once, does this have any effect on this cache? even if it might later return false?
Hanmac (Hans Mackowiak)
07:45 AM Feature #16614: New method cache mechanism for Guild
I'll merge this patch tomorrow.
If you have any suggestion, please tell me.
ko1 (Koichi Sasada)
09:06 AM Revision f5abcf76 (git): [ruby/rdoc] Removed `RDoc::Context::Section#sequence`
It has been deprecated since 2011.
https://github.com/ruby/rdoc/commit/5c2aa0f77d
nobu (Nobuyoshi Nakada)
08:08 AM Revision c3cd9258 (git): Use `brew upgrade` instead of `brew update`
znz (Kazuhiro NISHIYAMA)
07:44 AM Bug #16641: Backport request: MJIT crashes on a certain flow of branches
2.7 backport is done at commit:eaee631d5eda03f77ec39ec6fc1826a06ab06205. k0kubun (Takashi Kokubun)
07:36 AM Revision 0149863d (git): * 2020-02-20 [ci skip]
git[bot]
07:36 AM Revision eaee631d (git): Avoid jumping to a wrong destination
when the next insn is already compiled by former branches. k0kubun (Takashi Kokubun)
04:39 AM Revision 56d33b3e (git): Fixed missing `return`
Get rid of double writing. nobu (Nobuyoshi Nakada)
02:46 AM Revision 75863554 (git): comma at the end of enum is a C++11ism
Comma at the end of enum is allowed in C since C99. We can use them
internally. However when it comes to extension libraries, they could be
written in different C++ versions. We cannot assume sometihng. Public
headers shall keep compa...
shyouhei (Shyouhei Urabe)
02:46 AM Revision 49bb2e64 (git): avoid defining inline
Recent (since 2012 maybe?) MSVC ships a header named xkeycheck.h, which
(kindly!) aborts compilation on redefinition of C++ keywords. Let's not
define this in case of C++.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 4e6bae47 (git): ext/-test-/cxxanyargs: prevent have_devel check
The `cxx.try_compile` command in this file kicks `cxx.have_devel?`
internally, which recursively calls `cxx.try_link` with a different
source code. We don't want that happen (the source code compiled in
this file must be the first one)....
shyouhei (Shyouhei Urabe)
02:46 AM Revision 7aa3f1fe (git): printf can be a macro
Namely glibc has this macro on -DFORTIFY_SOURCE. We have to prevent
macro redefinition with different macro body.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 8920e204 (git): hide vm_ep_in_heap_p_
`make leaked-globals` points out that this function is leaked. This has
not been detected in our CI because it is defined only when
VM_CHECK_MODE is nonzero.
Just make it static and everytihng goes well.
shyouhei (Shyouhei Urabe)
02:46 AM Revision c7e6dbd5 (git): fix arity mismatch
This is a ruby method with arity zero. Which means, this function takes
one argument (that is self).
shyouhei (Shyouhei Urabe)
02:46 AM Revision 984e0233 (git): TestTime#test_memsize: skip when on GC_DEBUG
GC_DEBUG=1 makes this test fail because it changes the size of struct
RVALUE. I don't think the test is useful then. Let's just skip.
shyouhei (Shyouhei Urabe)
02:46 AM Revision 6788c375 (git): suppress clang warnings
Starting clang 11, casts between pointer and (narrower-than-pointer) int
are now warned. However all such thing in our repository are guaranteed
safe. Let's suppress the warnings.
shyouhei (Shyouhei Urabe)
12:10 AM Bug #16642: Splatted empty hash literal produces frozen hash object
Actually, looks like I didn't read the bug report closely enough. This is a different issue, and suggests that we should either recognize the frozen hash in the `ruby2_keywords` case and dup it, or remove the optimization.
The issue ...
jeremyevans0 (Jeremy Evans)
12:04 AM Bug #16642: Splatted empty hash literal produces frozen hash object
I agree it is a bug. I'm not sure it is worth fixing. Basically, the reason behind it is the parser doesn't separate hash compilation from keyword argument compilation, and the optimization for `**{}` as the only keyword argument ends ... jeremyevans0 (Jeremy Evans)
 

Also available in: Atom