Project

General

Profile

Activity

From 02/21/2020 to 02/27/2020

02/27/2020

10:13 PM Bug #16660 (Rejected): Struct#deconstruct_keys inconsistent behavior
Here is an example of a kind of surprising (at least to me) `Struct#deconstruct_keys` behaviour:
```ruby
klass = Struct.new(:a, :b)
s = klass.new(1, 2)
```
1) When some keys are not recognized and the total number of the keys is...
palkan (Vladimir Dementyev)
09:56 PM Feature #16597: missing poll()
Updated patch michals (Michal Suchánek)
07:08 PM Bug #9573 (Open): descendants of a module don't gain its future ancestors, but descendants of a class, do
jeremyevans0 (Jeremy Evans)
07:03 PM Bug #9573 (Closed): descendants of a module don't gain its future ancestors, but descendants of a class, do
Applied in changeset commit:git|3556a834a2847e52162d1d3302d4c64390df1694.
----------
Make Module#include affect the iclasses of the module
When calling Module#include, if the receiver is a module,
walk the subclasses list and include t...
jeremyevans (Jeremy Evans)
08:23 AM Bug #9573: descendants of a module don't gain its future ancestors, but descendants of a class, do
The patch for `include` looks OK to me. To ensure there are no unseen compatibility issues, I'd like to experiment with it during the 2.8 development cycle. I am not yet sure how `prepend` should work here. I need to think about it more ... matz (Yukihiro Matsumoto)
07:03 PM Revision 3556a834 (git): Make Module#include affect the iclasses of the module
When calling Module#include, if the receiver is a module,
walk the subclasses list and include the argument module in each
iclass.
This does not affect Module#prepend, as fixing that is significantly
more involved.
Fixes [Bug #9573]
jeremyevans (Jeremy Evans)
06:18 PM Bug #13675 (Closed): Should Zlib::GzipReader#ungetc accept nil?
Applied in changeset commit:git|54499d78109037d7c37bc09a8c3ffa0050da5aca.
----------
Remove support for passing nil to IO#ungetc
Fixes [Bug #13675]
jeremyevans (Jeremy Evans)
05:13 AM Bug #13675: Should Zlib::GzipReader#ungetc accept nil?
`IO#ungetc` should be fixed. The patch looks good to me.
Matz.
matz (Yukihiro Matsumoto)
06:18 PM Revision 1ca3a221 (git): * 2020-02-28 [ci skip]
git[bot]
06:17 PM Revision 54499d78 (git): Remove support for passing nil to IO#ungetc
Fixes [Bug #13675] jeremyevans (Jeremy Evans)
04:31 PM Feature #16644: qualified const init (self::CONST1 = 1) should be allowed in methods
> I'd rather make all const re-assignment error
I don't disagree, actual const re-assignment, dynamically detected, probably should be an error. But then especially, there is no reason that a qualified const initialization (`mod::CONS...
bughit (bug hit)
07:11 AM Feature #16644 (Rejected): qualified const init (self::CONST1 = 1) should be allowed in methods
matz (Yukihiro Matsumoto)
07:11 AM Feature #16644: qualified const init (self::CONST1 = 1) should be allowed in methods
Use `const_set`. I'd rather make all const re-assignment error if compatibility does not matter.
Matz.
matz (Yukihiro Matsumoto)
04:16 PM Misc #16659 (Open): Documentation on Regexp missing for absence pattern (?~pat)
The absence pattern `(?~pat)` available since Ruby 2.4.1 is [not yet documented on `Regexp`](https://git.ruby-lang.org/ruby.git/tree/doc/regexp.rdoc) as of today.
(Found it by coincidence reading [this article by Peter Cooper](https:...
svoop (Sven Schwyn)
11:08 AM Feature #16652: Use RubyGems facilities to install Gems during Ruby installation
Since the first PR was merged, I have updated the second PR [1] to apply cleanly.
[1]: https://github.com/ruby/ruby/pull/2545
vo.x (Vit Ondruch)
10:49 AM Feature #15605: json library needs more frequent releases
What's the status on this ?
I understand that a part of the gem is now edited from ruby/ruby, but that exclude the `pure` and `java` implementations. So this doesn't sounds like a good long term solution, and more like a temporary w...
byroot (Jean Boussier)
10:14 AM Bug #16656: Fix wrong RegExp in rbinstall to install the default gems from expanded sources again
Also found the same error myself and fixed it at https://github.com/ruby/ruby/pull/2930. deivid (David Rodríguez)
06:42 AM Bug #16656 (Closed): Fix wrong RegExp in rbinstall to install the default gems from expanded sources again
I have submitted [1] to fix the wrong RegExp from [2].
[1]: https://github.com/ruby/ruby/pull/2933
[2]: https://github.com/ruby/ruby/pull/2922
vo.x (Vit Ondruch)
09:52 AM Misc #16630: Deprecate pub/ruby/*snapshot* and use pub/ruby/snapshot/* instead
I created [pull request to change links to snapshot](https://github.com/ruby/www.ruby-lang.org/pull/2379). znz (Kazuhiro NISHIYAMA)
09:48 AM Bug #16658 (Closed): `method__cache__clear` DTrace hook was dropped without replacement
The PR #2888 [1] dropped DTrace `method__cache__clear` hook without replacement. Was this intentional? If yes, then the probes.d [3] should be updated appropriately. If this was not intentional, the hook should be reintroduced.
[1...
vo.x (Vit Ondruch)
08:08 AM Bug #15409: OpenStruct error when attribute is called 'method'
@marcandre
I talked with matz about this ticket, and he said it would be good to revert 3bf9b2f0473550caa73468908ac3e18e0f431b85 because the change brought a compatibility issue (#12055, #12136, #15409). The final decision is left to y...
mame (Yusuke Endoh)
08:00 AM Bug #12251: DelegateClass(OpenStruct) behavior in 2.3.0 different from 2.2
Hmm, it was caused by OpenStruct performance pull-request. Maybe we should revert the PR?
Matz.
matz (Yukihiro Matsumoto)
07:59 AM Feature #16605 (Rejected): Support argument delegation (...) with blocks/define_method
You may think it's handy. But it's far more complicated than you think. For example, `define_method` may be called from a method with argument forwarding. At least for the moment, it does not worth the cost of implementation/complexity.... matz (Yukihiro Matsumoto)
07:08 AM Feature #16378: Support leading arguments together with ...
We have found out that `#method_missing` (and `#send`) needed leading arguments otherwise we cannot use argument forwarding for them. I changed my mind. Accepted.
Matz.
matz (Yukihiro Matsumoto)
06:50 AM Feature #16657 (Assigned): Don't ship bundled gems as .gem files as well as in expanded form
Working at #16651, I wonder why the release tarball ships with the bundled gem in form of .gem packages as well as the expanded sources. It would be nice, if one option is chosen. Ideally just the .gem packages, because these are vanilla... vo.x (Vit Ondruch)
06:07 AM Feature #16476 (Assigned): Socket.getaddrinfo cannot be interrupted by Timeout.timeout
We discussed this issue at the dev-meeting, and it requires @Glass_saga's review.
Note:
* It is uninterruptable under a platform that getaddrinfo_a is unavailable, but this problem is not only this proposal but also `timeout:` opti...
mame (Yusuke Endoh)
05:54 AM Feature #15722 (Feedback): `Kernel#case?`
It is not obvious to me that `#case?` is useful. We need a real-world use-case.
* I don't like the name `case?`
* IMO, just use `case` statement
Matz.
matz (Yukihiro Matsumoto)
04:51 AM Feature #15722: `Kernel#case?`
What about using `#when?` instead of `#case?`?
```ruby
bar # => "bar"
flag1 = case bar; when "foo", "bar", "baz"; true; end # => true
flag2 = case bar; when Symbol, String; true; end # => true
# Proposal by sawa
flag1 = bar.cas...
osyo (manga osyo)
05:19 AM Bug #11304: [PATCH] Kernel.global_variables should observe $~.
The current behavior should be as it is. If there can be a clearer description in the document, PR welcome.
Matz.
matz (Yukihiro Matsumoto)
05:16 AM Misc #16483 (Closed): How about stopping new *.tar.bz2 releases?
From Ruby 2.8, I'll provide only .zip, .gz, and .xz (not provide .bz2).
For 2.7.x or prior we'll still provide also .bz2.
In general we provide
* .zip for Windows
* .gz for general Unix environments
* .xz (or most efficient compre...
naruse (Yui NARUSE)
04:33 AM Revision 229ba121 (git): Merge racc from upstream repository.
* Support Ruby 2.4's frozen string literals.
* Remove VCS revisions headers.
hsbt (Hiroshi SHIBATA)
02:08 AM Revision 9a422fc0 (git): Update docs for Time#at method [ci skip]
Add docs about all possible options for the `in` argument. cha1tanya (Prathamesh Sonpatki)
01:50 AM Revision 18674aef (git): check imemo_type
check imemo_type to debug
http://ci.rvm.jp/results/trunk-vm-asserts@silicon-docker/2744755
ko1 (Koichi Sasada)
12:49 AM Revision 1d81baf3 (git): st.c: remove variables that are no longer used
to suppress a warning "variable 'check' set but not used" mame (Yusuke Endoh)

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)
 

Also available in: Atom