Project

General

Profile

Activity

From 08/28/2019 to 09/03/2019

09/03/2019

11:04 PM Bug #16135 (Feedback): Segmentation fault in Ruby 2.6.1
From the C-level backtrace, it looks like this may be caused by AMD Kysy. Please try uninstalling AMD Kysy and see if the problem still occurs. If it still occurs, you should also try upgrading to 2.6.4 (or at least 2.6.3) to see if the... jeremyevans0 (Jeremy Evans)
05:56 AM Bug #16135 (Third Party's Issue): Segmentation fault in Ruby 2.6.1
I am facing Segmentation fault issue while running test cases for my application in Ruby 2.6.1 .Same test cases work fine in Ruby 2.2.6 .
Below is the output of test case ran using Ruby 2.6.1.
```
C:/Code/KYSY-3153/Source/test/unit...
satishdewangan (Satish Dwangan)
10:17 PM Bug #16138 (Closed): Backport Struct.new empty option hash fix to 2.5 and 2.6
77596fb7a91cc119b25ac9e19b3c8682709765b4 should be backported to 2.5 and 2.6, as k0kubun mentioned in https://github.com/ruby/ruby/pull/2423. jeremyevans0 (Jeremy Evans)
09:02 PM Revision 77596fb7 (git): Do not turn on keyword_init for Struct subclass if keyword hash is empty
This was accidentally turned on because there was no checking for
Qundef.
Also, since only a single keyword is currently supported, simplify
the rb_get_kwargs call.
jeremyevans (Jeremy Evans)
06:32 PM Revision 39c3252c (git): Merge pull request #2422 from jeremyevans/rb_keyword_given_p
Add rb_keyword_given_p to the C-API jeremyevans (Jeremy Evans)
06:31 PM Revision f702cd6a (git): * 2019-09-04 [ci skip]
git[bot]
06:30 PM Revision a7d7a0df (git): Fix Enumerator::Lazy#{to_enum,enum_for} where method is defined in Lazy
Previously, passing to_enum/enum_for a method that was defined in
Lazy itself returned wrong results:
[1,2,3].to_enum(:map).to_a
# => [1, 2, 3]
[1,2,3].lazy.to_enum(:map).to_a
# => []
I'm not sure why methods that are designed ...
jeremyevans (Jeremy Evans)
06:30 PM Revision 4a3972c2 (git): Remove bad expectation in spec
This spec should not be checking where methods are defined, only
that the method works as expected (returns a Lazy instance).
jeremyevans (Jeremy Evans)
06:30 PM Revision e94ac03e (git): Make Enumerator::Lazy#with_index be lazy
Previously, Enumerator::Lazy#with_index was not defined, so it
picked up the default implementation from Enumerator, which was
not lazy.
Based on earlier patch from nobu.
Fixes [Bug #7877]
jeremyevans (Jeremy Evans)
04:42 PM Feature #16029: Expose fstring related APIs to C-extensions
@ko1 and @nobu discussed the issue. The memo says:
> ko1, nobu: now it is difficult to expose them because of current implementation.
I didn't follow the discussion, so I don't know the detail. @ko1 , @nobu , could you explain them?
mame (Yusuke Endoh)
03:32 PM Feature #16029: Expose fstring related APIs to C-extensions
@mame this feature was added by @nobu in the last developer's meeting issue [#15996], but I suppose it wasn't discussed by lack of time.
Should I just add it back to the next developer's meeting issue once it is created?
byroot (Jean Boussier)
03:56 PM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote:
> **Why not a gem?**
> ...
If a concept is popular and there is a well-designed gem that implements it then people use it. For example, a lot of people use `dry-initializer`, which is also dead-simple an...
palkan (Vladimir Dementyev)
02:50 PM Feature #16137: Add === to UnboundMethod
Since I love case/when statements in ruby, and I also like the idea to decouple methods
at "runtime", I agree with okuramasafumi.
I can not add much to potential use cases or what osyo asked, but personally I just like
the idea. :)
shevegen (Robert A. Heiler)
12:58 PM Feature #16137: Add === to UnboundMethod
hi.
How about making `# bind_call` an alias of` # === `?
```ruby
class UnboundMethod
alias_method :===, :bind_call
end
```
see: https://bugs.ruby-lang.org/issues/15955#note-10
Also, you should consider the difference be...
osyo (manga osyo)
12:28 PM Feature #16137 (Closed): Add === to UnboundMethod
# Abstract
`UnboundMethod` class should have `=== ` so that it can be used in case statement.
# Background
`Method` class has `===` method so that we can do something like:
``` ruby
require 'prime'
case 11
when Prime.method(...
okuramasafumi (Masafumi OKURA)
12:49 PM Revision fb67d4fc (git): Move an unstable bootstraptest to pending
This has been unstable on AppVeyor mswin since the introduction
3fd83cb6fcc483d2eac0795bc139c521a3a59bd2.
https://ci.appveyor.com/project/ruby/ruby/builds/27103307/job/j7xwjmsos2k22cck
Let's have it in pending.rb to be fixed.
k0kubun (Takashi Kokubun)
12:38 PM Revision ecc37ee6 (git): Stop testing inexistent instructions
k0kubun (Takashi Kokubun)
12:12 PM Revision beaabd23 (git): Unify SUPPORT_JOKE and OPT_SUPPORT_JOKE
for simplicity and consistency.
Now SUPPORT_JOKE needs to be prefixed with OPT_ to make the config
visible in `RubyVM::VmOptsH`, and the inconsistency was introduced.
As it has never been available for override in configure (no #ifndef...
k0kubun (Takashi Kokubun)
12:03 PM Revision 7cb19b3f (git): Roughly retry choco install commands
to deal with random failures:
https://github.com/ruby/ruby/runs/210617845
k0kubun (Takashi Kokubun)
11:34 AM Revision afe8bf24 (git): Try extending timeout of IO.select
hoping to stabilize:
https://app.wercker.com/ruby/ruby/runs/mjit-test1/5d6df8a8a952c20008acf75b?step=5d6df90e4971a6000714c627
k0kubun (Takashi Kokubun)
11:24 AM Bug #16136 (Closed): String corruption in 2.6.4
When trying to upgrade activeadmin's tests to use ruby 2.6.4, I got some very weird failures where some strings would end up containing random content. See https://circleci.com/gh/activeadmin/activeadmin/20329 for an example of those fai... deivid (David Rodríguez)
09:56 AM Bug #16007: Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
It should be possible to get some hardware here:
https://fedoraproject.org/wiki/Test_Machine_Resources_For_Package_Maintainers
I am afraid I don't have any knowledge about `Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID`
vo.x (Vit Ondruch)
09:36 AM Revision 36a0c668 (git): Remove SKIP_DOXYGEN because job.env does not set in `if:`
znz (Kazuhiro NISHIYAMA)
08:02 AM Feature #15901: Enumerator::Lazy#eager
Thanks, I see your point. It could be handy, but it seems to me that adding Enumerable#eager is like encouraging users to consider calling `enum.eager` on every given enumerable object and supporting Lazy objects to be passed around; th... knu (Akinori MUSHA)
04:03 AM Feature #15901: Enumerator::Lazy#eager
knu (Akinori MUSHA) wrote:
> > I'd also alias Enumerator#eager to #itself.
> ...
Yes, I was thinking of a method accepting a potentially lazy enumerator. It would be to avoid having to write `enum = enum.eager if enum.respond_to?(:eage...
marcandre (Marc-Andre Lafortune)
07:51 AM Revision 83889292 (git): Examine TestIO#test_select_exceptfds on Solaris with 1 byte data
On Solaris, it seems that the select(3C) in this test works only
when sending 1 byte out-of-band data, though I cannot investigate
the cause. The behavior is observed on a Solaris 10 server in
addition to Solaris 11 on which the test had...
ngoto (Naohisa Goto)
06:02 AM Bug #15045 (Closed): Test suite fails/hangs with stronger cryptography enforcement
Yes, I think these are resolved. vo.x (Vit Ondruch)
05:43 AM Revision e913fa94 (git): delete ruby_eval_string_from_file_protect
Not used from anywhere. shyouhei (Shyouhei Urabe)
05:22 AM Revision 1a9cc3b2 (git): Avoid defining unused instructions
k0kubun (Takashi Kokubun)
03:59 AM Revision 355ccdea (git): Disable method definition type checks on Cygwin too
[Bug #16134] fd0 (Daisuke Fujimura)
03:29 AM Revision 54788713 (git): test/ruby/test_fiber.rb: reduce the count of object creation to cause GC
The test consistently fails on OpenBSD.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20190903T010009Z.fail.html.gz
```
1) Failure:
TestFiber#test_fork_from_fiber [/home/chkbuild/chkbuild/tmp/build/20...
mame (Yusuke Endoh)
03:28 AM Revision e6c4ea22 (git): Touch tar file itself to make gz file hash stable
nobu (Nobuyoshi Nakada)
02:58 AM Revision b0a7221d (git): Touch the toplevel directory too
nobu (Nobuyoshi Nakada)
02:33 AM Revision 542a1ade (git): --date=iso-local does not work with old git
nobu (Nobuyoshi Nakada)
02:30 AM Revision 703f0cd3 (git): Do not keep tar file by the default
nobu (Nobuyoshi Nakada)
02:14 AM Revision c181ecc1 (git): Align timestamps to make tarball stable
nobu (Nobuyoshi Nakada)
01:46 AM Bug #16134 (Closed): Compilation error on x86_64-cygwin
Compilation error on x86_64-cygwin.
```
make[2]: Entering directory '/tmp/ruby-git/ruby/ext/-test-/arith_seq/extract'
linking shared-object -test-/arith_seq/extract.so
extract.o: In function `Init_extract':
/tmp/ruby-git/ruby/ext/-t...
fd0 (Daisuke Fujimura)
01:05 AM Bug #6408 (Closed): DelegateClass#eql? and <=> don't work as expected
Delegate now handles `eql?` after changes from #12684. However, it always returns true if the object is the same:
```ruby
nan = 0/0.0
nan.eql? nan # false
s = SimpleDelegator.new(nan)
s.eql? s # true
```
I'm not sure it is wo...
jeremyevans0 (Jeremy Evans)

09/02/2019

10:19 PM Bug #7768 (Closed): Inherited Array class missing
Fixed by https://github.com/ruby/ruby/commit/1994adf938afcdc562f87497156e6d4900f3f06b. jeremyevans0 (Jeremy Evans)
06:17 AM Bug #7768: Inherited Array class missing
`Array#uniq` should be fixed.
Matz.
matz (Yukihiro Matsumoto)
09:43 PM Feature #14183: "Real" keyword argument
Dan0042 (Daniel DeLorme) wrote:
> So far the only edge case I can think of is related to keyword extension:
> ...
There are probably many edge cases with this approach. Here's an example of one such edge case:
```ruby
def foo(*arg...
jeremyevans0 (Jeremy Evans)
08:42 PM Revision 1994adf9 (git): Make Array#uniq return subclass instance if called on subclass instance
Previously, Array#uniq would return subclass instance if the
length of the array were 2 or greater, and would return Array
instance if the length of the array were 0 or 1.
Fixes [Bug #7768]
jeremyevans (Jeremy Evans)
04:53 PM Revision a848b628 (git): Make the rb_vmdebug_debug_print_post declaration
consistent with the definition k0kubun (Takashi Kokubun)
04:39 PM Revision 1a5a01e9 (git): Add insn tests for newarraykwsplat
k0kubun (Takashi Kokubun)
04:28 PM Bug #15558 (Closed): Should Exception#exception copy the backtrace?
nobu (Nobuyoshi Nakada)
04:25 PM Revision e13da008 (git): Explain how to run an individual btest in help
k0kubun (Takashi Kokubun)
04:11 PM Revision 6c3ab99e (git): Now it's always os: linux
k0kubun (Takashi Kokubun)
04:06 PM Revision 52f0c315 (git): Fix accidental leftover for Linux
In 91aa8bfff8, my understanding of the branch was inverted. k0kubun (Takashi Kokubun)
04:01 PM Revision 91aa8bff (git): Drop unstable Travis osx in favor of GitHub Actions
For some reason, the Travis osx environment has been really unstable.
It failed on today's cron too:
https://travis-ci.org/ruby/ruby/builds/579843163
As we have almost the same test environment (including OpenSSL version)
in GitHub Acti...
k0kubun (Takashi Kokubun)
03:36 PM Revision 1d68d29c (git): Drop obsoleted IRC channel reference
travis-ci user does not live in #ruby-ja. Therefore the notification
isn't working anymore.
k0kubun (Takashi Kokubun)
03:35 PM Revision f1d8d0f4 (git): Drop obsoleted branch references
We don't have topic branches on ruby.git anymore. k0kubun (Takashi Kokubun)
03:33 PM Revision d83ade1d (git): Use -z option for git-log
nobu (Nobuyoshi Nakada)
03:32 PM Bug #14415 (Closed): Empty keyword hashes get assigned to ordinal args.
jeremyevans0 (Jeremy Evans) wrote:
> I think the only case that is questionable still is:
> ...
Recent changes to the master branch have fixed this issue. Keyword splats of empty hashes in arrays no longer add an empty hash to the arra...
jeremyevans0 (Jeremy Evans)
03:28 PM Bug #11860 (Closed): Double splat does not work on empty hash assigned via variable
With recent commits to the master branch, keyword splats of empty hashes do not pass positional arguments to methods or cause an empty hash to be added to an array. jeremyevans0 (Jeremy Evans)
03:21 PM Revision f560609d (git): Merge pull request #2418 from jeremyevans/array-empty-kwsplat
Ignore empty keyword splats in arrays jeremyevans (Jeremy Evans)
03:08 PM Revision be865914 (git): * 2019-09-03 [ci skip]
git[bot]
03:07 PM Revision 60a49a6f (git): Fix SUPPORT_JOKE CI on Travis
It looks like a flag which cannot be enabled on configure. k0kubun (Takashi Kokubun)
02:48 PM Revision 834e7718 (git): Run daily cron against SUPPORT_JOKE
k0kubun (Takashi Kokubun)
02:37 PM Revision ca8ae759 (git): Fix compilation error in SUPPORT_JOKE
This seems to have been broken since 4e15be8bade. k0kubun (Takashi Kokubun)
02:28 PM Revision 6a9c5ef1 (git): Extract git commit log as raw format like git-svn for ChangeLog
nobu (Nobuyoshi Nakada)
02:00 PM Feature #12543: explicit tail call syntax: foo() then return
I don't like `--tail-call-optimization-off`. I will not specify the option, see an omitted backtrace, and then I must re-run my code with the option. It is not an easy-to-debug language for me.
And I have another concern. If tail c...
mame (Yusuke Endoh)
08:37 AM Feature #12543: explicit tail call syntax: foo() then return
mame (Yusuke Endoh) wrote:
> I'm strongly against "ON by default". It makes the backtrace difficult to understand. Consider the following program:
> ...
This should be changed to something like:
```
Traceback (most recent call ...
duerst (Martin Dürst)
07:51 AM Feature #12543: explicit tail call syntax: foo() then return
I'm strongly against "ON by default". It makes the backtrace difficult to understand. Consider the following program:
```
1: def foo
2: raise
3: end
4:
5: def bar
6: foo
7: end
8:
9: bar
```
If tail-call optimizatio...
mame (Yusuke Endoh)
07:06 AM Feature #12543: explicit tail call syntax: foo() then return
I don't think tail call optimization should be a feature that is switched on or off by the programmer at each location. I think it should be an option used on execution, and it should be ON by default.
We want programs to be fast, and...
duerst (Martin Dürst)
03:29 AM Feature #12543 (Assigned): explicit tail call syntax: foo() then return
Another idea: `tailcall return foo()`
* Background: `return` is void expression and any `method(return)` is not prohibited on current compiler. So nobody use it == no-incompatibility. Any keywords are acceptable (example: `goto return...
ko1 (Koichi Sasada)
01:33 PM Revision 53a7abe2 (git): test/drb/drbtest.rb: Skip test_06_timeout on Solaris10s
The test seems to have a race condition, which fails on very slow
machine like Solaris10s. So skip it.
In addition, this change restores timeout guard that was removed at
0660d7cb538cf5284d50f66adfcbd78609839715. This is because the t...
mame (Yusuke Endoh)
09:47 AM Bug #16133: 2.5 --> 2.6: backwards incompatible change in MalformedCSVError
I'll do that. Spakman (Mark Somerville)
09:44 AM Bug #16133 (Third Party's Issue): 2.5 --> 2.6: backwards incompatible change in MalformedCSVError
Please report it at https://github.com/ruby/csv. nobu (Nobuyoshi Nakada)
09:34 AM Bug #16133 (Third Party's Issue): 2.5 --> 2.6: backwards incompatible change in MalformedCSVError
In Ruby 2.5, CSV::MalformedCSVError simply inherited from RuntimeError. In 2.6, it defines its own #new, taking 2 arguments (as opposed to the single argument of RuntimeError).
Code explicitly raising new errors of this class outside ...
Spakman (Mark Somerville)
09:42 AM Bug #15244: Method #extname return empty string if filename is dot ('.')
znz (Kazuhiro NISHIYAMA) wrote:
> ```
> ...
Seems not for us:
```php
var_export(pathinfo(".profile", PATHINFO_EXTENSION)); //=> 'profile'
```
nobu (Nobuyoshi Nakada)
07:12 AM Bug #15244: Method #extname return empty string if filename is dot ('.')
In some other languages:
```
% python
Python 2.7.16 (default, Mar 4 2019, 09:01:38)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>...
znz (Kazuhiro NISHIYAMA)
06:50 AM Bug #15244 (Feedback): Method #extname return empty string if filename is dot ('.')
`.git` is not an extension but a filename. `.a.jpg` has `.jpg` extension. I wonder how we can parse `..jpg`. It's undefined behavior for me.
Any reasoning?
Matz.
matz (Yukihiro Matsumoto)
07:47 AM Revision 8b2e1ca1 (git): Do not clear backtrace in Exception#exception
[Bug #15558] nobu (Nobuyoshi Nakada)
07:46 AM Revision 8e38d4c7 (git): Rewrote using assert_separately
nobu (Nobuyoshi Nakada)
07:02 AM Feature #15976 (Feedback): Add Array#overlap? for whether the intersection of 2 arrays is non empty?
I don't think `overlap?` is a good name. Besides that, `Array#overlap?` creates an internal hash table anyway, so that it wouldn't solve the bottleneck. In this case, creating a hash table explicitly would perform better.
Matz.
matz (Yukihiro Matsumoto)
06:50 AM Bug #16007 (Feedback): Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
Patch is welcome naruse (Yui NARUSE)
06:11 AM Bug #16007: Process.clock_getres matches the clock in practice for Process::CLOCK_{PROCESS,THREAD}_CPUTIME_ID FAILED fails on armv7hl
We have no device to debug it.
Could you make a patch?
ko1 (Koichi Sasada)
06:39 AM Feature #10123 (Rejected): Named capture groups don't set local vars when matched using ~
Implicit assignment from named capture is kind of confusing. Unless strongly persuaded, I am not going to enhance the feature.
Although we have no plan to remove the feature.
Matz.
matz (Yukihiro Matsumoto)
06:28 AM Feature #15975: Add Array#pluck
I am not positive for `Array#pluck`. ActiveSupport may add the method.
Matz.
matz (Yukihiro Matsumoto)
06:19 AM Feature #15975: Add Array#pluck
ActiveSupport has [Enumerable#pluck](https://api.rubyonrails.org/classes/Enumerable.html#method-i-pluck), so I don't think we want to diverge from that by adding a method with the same name in Array. knu (Akinori MUSHA)
06:24 AM Feature #16018: Add a way to deprecate methods
At the developers' meeting, no one was against this feature. It would be great if we can print a warning per a pair of callsite and callee (to suppress duplicated redundant warnings), but the implementation is not trivial (exploiting me... mame (Yusuke Endoh)
06:18 AM Feature #16001: Provide an alias to Kernel#caller_locations(1,1) and Kernel#caller(1,1)
I prefer `caller_location(n=1)` or `direct_caller`. For former, it might be confusing with `caller_locations`. The latter is straightforward but it is restricted to the direct caller (`n=1`).
Matz.
matz (Yukihiro Matsumoto)
06:08 AM Revision 6f206b8e (git): Prohibit nul-separated glob pattern [Feature #14643] (#2419)
nobu (Nobuyoshi Nakada)
06:06 AM Feature #15901: Enumerator::Lazy#eager
> I'm personally +1 for eager.
Thanks! This proposal has been accepted by Matz.
> ...
Could you elaborate on why? Are you thinking of situations where lazy and eager enumerators are mixed?
knu (Akinori MUSHA)
05:58 AM Feature #12802: Add BLAKE2 support to Digest
I feel a bit reluctant to have an implementation in our source tree and keep maintaining it when there's almost always a better implementation available in OpenSSL::Digest when you need one.
Here are some examples of Digest gems I wro...
knu (Akinori MUSHA)
05:57 AM Feature #16131: Remove $SAFE, taint and trust
@headius @eregon @brixen
Do you have any opinion about this as developers of other Ruby implementations?
mame (Yusuke Endoh)
05:43 AM Revision 633ae327 (git): Add Net::FTP#features and Net::FTP#option
Patch by darkphnx (Dan Wentworth) . Thanks!
[Feature #15964]
shugo (Shugo Maeda)
05:38 AM Revision e9b271d1 (git): Get rid of interpreting BTS references as label-list [ci skip]
nobu (Nobuyoshi Nakada)
05:35 AM Revision 6724b1f8 (git): Revert "Make Enumerator::Lazy#with_index be lazy"
This reverts commit 83498854eb5a824f1f83c31fac18c9279f9ee10d.
This didn't pass rubyspec.
jeremyevans (Jeremy Evans)
05:33 AM Revision c69545ae (git): Fix opt_regexpmatch1 references
k0kubun (Takashi Kokubun)
05:28 AM Feature #15123: Enumerable#compact proposal
I don't see enough demand for `compact` where we have `reject(&:nil?)`. Any additional use-case?
Matz.
matz (Yukihiro Matsumoto)
05:20 AM Revision 83498854 (git): Make Enumerator::Lazy#with_index be lazy
Previously, Enumerator::Lazy#with_index was not defined, so it
picked up the default implementation from Enumerator, which was
not lazy.
Based on earlier patch from nobu.
Fixes [Bug #7877]
jeremyevans (Jeremy Evans)
05:12 AM Bug #16127: Delegates to BasicObject do not work
Here's an updated patch that uses `#bind_call` and tests successful delegation to a BasicObject target. jeremyevans0 (Jeremy Evans)
04:56 AM Revision 79e3d6bb (git): fix shortcut condition
rb_reg_match expects its first argument to be a Regexp instance.
Should check that.
shyouhei (Shyouhei Urabe)
04:56 AM Revision ec80d5c4 (git): delete unused function
shyouhei (Shyouhei Urabe)
04:56 AM Revision 8ad7fafc (git): opt_regexpmatch1 is actually making things slower.
----
trunk: ruby 2.6.0dev (2018-09-18 trunk 64767) [x86_64-darwin15]
ours: ruby 2.6.0dev (2018-09-18 opt_regexpmatch 64775) [x86_64-darwin15]
last_commit=opt_regexpmatch1 is actually making things slower.
Calculating -------------------...
shyouhei (Shyouhei Urabe)
04:48 AM Bug #14909 (Closed): Method call with object that has to_hash method crashes (method with splat and keyword arguments)
The changes in #14183 solve this issue. You will now get warnings:
```ruby
my_func(Test.new)
# (irb):101: warning: The last argument is used as the keyword parameter
# (irb):92: warning: for `my_func' defined here
# ArgumentError...
jeremyevans0 (Jeremy Evans)
04:46 AM Revision ff462bc6 (git): Add a benchmark for opt_regexpmatch2
vm2_regexp was for opt_regexpmatch1. k0kubun (Takashi Kokubun)
04:43 AM Bug #15138 (Closed): non-symbol keyword in double splat, such as **{2 => 3}, raises TypeError or not
With the acceptance of #14183, non-symbols are allowed in keyword hash splats:
```ruby
m(k: 1, **{2 => 3})
# [{:k=>1, 2=>3}]
m(**{4 => 5})
# [{4=>5}]
```
jeremyevans0 (Jeremy Evans)
04:39 AM Bug #15753 (Closed): unknown keyword when passing an hash to a method that accepts a default argument and a named argument
The first example should fail, because you are passing an unsupported keyword to a method that accepts a keyword.
With the acceptance of #14183, the second example now submits a warning:
```ruby
do_something({ user: { id: 1 } })
...
jeremyevans0 (Jeremy Evans)
04:33 AM Bug #10293 (Closed): splatting an empty hash in a method invocation sends an argument to the method (should send nothing)
With the acceptance of #14183, double splatting an empty hash no longer sends an empty positional hash to the method. jeremyevans0 (Jeremy Evans)
04:31 AM Bug #10994 (Closed): Inconsistent behavior when mixing optional argument and keyword splat
With the acceptance of #14183, you now get:
```ruby
foo(h)
# => {"a"=>1}
foo(h).equal?(h)
# => true
foo(h, y: 1).equal?(h)
# => true
```
jeremyevans0 (Jeremy Evans)
04:27 AM Bug #11039 (Closed): method_missing の *args 引数に symbol をキーにした hash だけを渡すと エラーとなる
With the acceptance of #14183, you now get a warning as the behavior will change in Ruby 3:
```ruby
Foo.bar({ b: 1 })
# (irb):67: warning: The last argument is used as the keyword parameter
# (irb):58: warning: for `method_missing'...
jeremyevans0 (Jeremy Evans)
04:24 AM Bug #11068 (Closed): unable to ommit an optional keyarg if the previous arg is an optional hash
With the acceptance of #14183, this code now emits warnings as the behavior will change in Ruby 3:
```ruby
foo({b: 1})
# (irb):53: warning: The last argument is used as the keyword parameter
# (irb):51: warning: for `foo' defined h...
jeremyevans0 (Jeremy Evans)
04:18 AM Bug #10708 (Closed): In a function call, double splat of an empty hash still calls the function with an argument
With the acceptance of #14183, double splatting an empty hash when calling a method no longer passes an empty positional hash to the method. jeremyevans0 (Jeremy Evans)
04:15 AM Feature #12157 (Closed): Is the option hash necessary for future Rubys?
With the acceptance of #14183, this can be closed. The behavior in Ruby 3 will be that `**args` in a method call will set keyword arguments if the method accepts keyword arguments, and will be a positional hash argument if the method do... jeremyevans0 (Jeremy Evans)
04:12 AM Bug #12022 (Closed): Inconsistent behavior with splatted named arguments
With the master branch, you now get:
```ruby
without_parameters(*array)
# => nil
without_parameters(**empty_hash)
# => nil
with_parameters(**empty_hash)
# => []
# This doesn't raise ArgumentError, because the method does ...
jeremyevans0 (Jeremy Evans)
03:16 AM Revision 1f636e74 (git): Set mtime of checked out files to past time
instead of waiting 2 seconds, if possible. nobu (Nobuyoshi Nakada)
03:06 AM Feature #14643: Remove problematic separator '\0' of Dir.glob and Dir.[]
https://github.com/ruby/ruby/pull/2419 nobu (Nobuyoshi Nakada)
12:30 AM Feature #14643 (Open): Remove problematic separator '\0' of Dir.glob and Dir.[]
Will this behavior be removed in 2.7? mame (Yusuke Endoh)
03:01 AM Revision 63ab7046 (git): Skip POINTOPOINT of IPv4 too instead of IPv6 only
Fix following error on `utun*`:
```
1) Error:
TestSocket#test_udp_server:
Errno::ECONNREFUSED: Connection refused - recvmsg(2)
```
znz (Kazuhiro NISHIYAMA)
02:46 AM Revision f58db5a6 (git): Simplify setting of VM_CALL_KW_SPLAT in vm_call_method_missing
Pointed out by ko1. jeremyevans (Jeremy Evans)
01:54 AM Revision ca11a7d7 (git): Fix method name in test to not override existing method name
jeremyevans (Jeremy Evans)

09/01/2019

11:08 PM Revision 3fde9ef9 (git): Fix keyword argument separation warning in method_missing
vm_call_method_missing was dropping VM_CALL_KW_SPLAT, so this just
makes it not drop it, to get the same behavior as calling the method
directly.
jeremyevans (Jeremy Evans)
09:37 PM Revision 85dc89c9 (git): Treat Japanese IME on/off code correctly
aycabta (aycabta .)
08:10 PM Revision 6285b235 (git): Bump version to 2.5.7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
04:13 PM Bug #16127: Delegates to BasicObject do not work
It might be useful to have a test where the delegation happens successfully. alanwu (Alan Wu)
03:49 PM Bug #10699 (Closed): m(*a, **b) doesn't recognize integer options.
jeremyevans0 (Jeremy Evans)
03:48 PM Feature #10118 (Closed): Double splat for non-symbol keys
jeremyevans0 (Jeremy Evans)
12:49 PM Feature #10118: Double splat for non-symbol keys
I think this feature has already been implemented for Ruby 2.7. If I am correct, please close this issue. sawa (Tsuyoshi Sawada)
03:42 PM Revision b0d885da (git): * 2019-09-02 [ci skip]
git[bot]
03:42 PM Revision f82cf056 (git): Fixed the directory to be removed
nobu (Nobuyoshi Nakada)
02:29 PM Revision 007d6d15 (git): test/drb/drbtest.rb: Use EnvUtil.timeout for timeout scale factor
mame (Yusuke Endoh)
02:27 PM Revision 188c2b67 (git): Revert "Revert "Revert "Skip BUGs on Solaris"""
This reverts commit 3be3948870f6589343c4aecb541e22fae7751b47.
The Solaris environment couldn't lookup the hostname itself by a wrong
setting. Now it is fixed, so try again.
mame (Yusuke Endoh)
02:24 PM Revision bd785ca0 (git): Restore pwd for each version
nobu (Nobuyoshi Nakada)
02:22 PM Revision fd4aad6d (git): Support packaging different branch/tag
nobu (Nobuyoshi Nakada)
02:22 PM Revision d8260bc8 (git): Fetch commit notes
nobu (Nobuyoshi Nakada)
02:22 PM Revision b578c63f (git): Resolve symlinks to cache directory under gems
nobu (Nobuyoshi Nakada)
02:22 PM Revision ff7c95df (git): Support git tags
nobu (Nobuyoshi Nakada)
10:26 AM Revision 04c3e344 (git): Upgrade benchmark-driver for keyword args warnings
k0kubun (Takashi Kokubun)
09:57 AM Revision 3be39488 (git): Revert "Revert "Skip BUGs on Solaris""
This reverts commit 84dca8eff0cbcb1c23623b47fb78b0daf5c76e35.
"exceution expired" occurred on Solaris.
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris11s-sunc/ruby-master/log/20190901T072504Z.fail.html.gz
mame (Yusuke Endoh)
07:39 AM Revision 94d6ec1d (git): Make pattern matching support **nil syntax
ktsj (Kazuki Tsujimoto)
07:31 AM Revision cda5745c (git): Automatically detect missing symbols
which are usually optimized away by -O3.
This CI can detect missing exports like
ea84a680755b5a7fa700618cbe78e3b2fc7be01d which was needed for
761346a9604ca2c79777d1d67fb5dcc3c30dbf69.
k0kubun (Takashi Kokubun)
07:25 AM Revision ea84a680 (git): Export rb_const_source_location_at for MJIT
ktsj (Kazuki Tsujimoto)
06:48 AM Bug #16132: Ruby 2.7 IRB crashes after pressing Insert and Delete
I released IRB 1.1.0.pre.3 and Reline 0.0.2 several hours ago. Please try below at Ruby 2.6.4 or latest version of Git:
gem install irb --pre
gem install reline
aycabta (aycabta .)
06:24 AM Revision 02dfa0f1 (git): test/ruby/test_keyword.rb: Add remove_method before method redefinition
to suppress redefinition warnings. mame (Yusuke Endoh)
06:16 AM Revision 84dca8ef (git): Revert "Skip BUGs on Solaris"
This reverts commit 8adefd4cf29288f6e43f20efbdd44b215ae16c7a.
I couldn't see any failure on Solaris if the guard is removed.
Give it a try.
mame (Yusuke Endoh)
06:06 AM Revision d646a292 (git): Fix keyword argument separation warning when using send
vm_call_opt_send was dropping VM_CALL_KW_SPLAT, so this just makes
it not drop it, to get the same behavior as calling the method
directly.
jeremyevans (Jeremy Evans)
06:00 AM Revision e13c0bb8 (git): Note about ANYARGS in NEWS
Since 50f5a0a8d6e7ad89d6caff695a08dbd38edb7a6e, some C++ extensions
needed fixes like https://github.com/eagletmt/faml/pull/49 to make their
build succeed.
Thus it's worth noting that C API declarations are changed.
k0kubun (Takashi Kokubun)
04:54 AM Revision 15757390 (git): Don't pass an empty keyword hash when double splatting empty hash when calling cfunc
This mirrors earlier changes in keyword argument separation for
calling Ruby methods and calling procs/lambdas, so that behavior
is kept the same.
jeremyevans (Jeremy Evans)
04:37 AM Revision e80a6f65 (git): Made :nil static ID
nobu (Nobuyoshi Nakada)
02:23 AM Revision e5dd63ba (git): IRB 1.1.0.pre.3
aycabta (aycabta .)
02:23 AM Revision 11d6094c (git): Reline 0.0.2
aycabta (aycabta .)
02:02 AM Revision c5bb074f (git): Re-calculate state variables of screen when screen size changes
aycabta (aycabta .)
01:36 AM Bug #14415: Empty keyword hashes get assigned to ordinal args.
jeremyevans0 (Jeremy Evans) wrote:
> The keyword argument separation changes just made to the master branch did not affect this code, since it isn't a method call. This behavior has been present since Ruby 2.2. I think it would be a g...
Dan0042 (Daniel DeLorme)

08/31/2019

11:56 PM Revision 1756ec20 (git): Ignore the all of warnings with inline_spec.rb of bundler examples.
hsbt (Hiroshi SHIBATA)
09:08 PM Bug #16132: Ruby 2.7 IRB crashes after pressing Insert and Delete
IRB also crashes when you write: a = 5 or any line of code, and press the Delete key.
The error goes like this:
`irb(main):001:0> puts ?? Traceback (most recent call last):
35: from /home/sourav/.rvm/rubies/ruby-2.7.0-preview1/bin/...
SouravGoswami (Sourav Goswami)
09:01 PM Bug #16132 (Closed): Ruby 2.7 IRB crashes after pressing Insert and Delete
Hello I am using the rvm 2.7 preview version of Ruby.
[I also tried the git version yesterday, which has the same problem mentioned below].
I am unable to use keys like End, Home, Insert etc.
The IRB crashes (with TypeError) when yo...
SouravGoswami (Sourav Goswami)
05:16 PM Bug #16127: Delegates to BasicObject do not work
Sure, it would be fine to use `#bind_call` for this. At the time this patch was submitted, `#bind_call` wasn't available. I know I have a patch in #7833 where `#bind_call` could also be applied. We should probably do a sweep for other... jeremyevans0 (Jeremy Evans)
12:21 PM Bug #16127: Delegates to BasicObject do not work
With `UnboundMethod#bind_call` added in https://bugs.ruby-lang.org/projects/ruby-trunk/repository/git/revisions/83c6a1ef454c51ad1c0ca58e8a95fd67a033f710, we should be able to save some allocations by assigning `::Kernel.instance_method(:... decuplet (Nikita Shilnikov)
04:56 PM Revision a060629e (git): * 2019-09-01 [ci skip]
git[bot]
04:52 PM Revision 431a99b5 (git): Split warning messages for tag-jump
nobu (Nobuyoshi Nakada)
11:55 AM Revision d4eef048 (git): Use double splat for keyword args by a hash object in lib/un.rb
aycabta (aycabta .)
08:34 AM Revision 602fbd43 (git): Limit the apt addon enablement to trusty
8897fa60fdbc83f9cce7df384893e902c17c1bf2 worked.
But we want to retry that part and this commit is trying to fix the
problem.
k0kubun (Takashi Kokubun)
08:18 AM Revision 8897fa60 (git): Try using built-in apt source for gcc-8
58a373e9ed54556e18a13825dfe72d3f7a86b833 and
3868df83330bb897be996604df3862639abbf002
didn't work.
k0kubun (Takashi Kokubun)
08:05 AM Revision 3868df83 (git): Try to fix apt-get update error for trusty (take 2)
https://travis-ci.org/ruby/ruby/jobs/579116510 k0kubun (Takashi Kokubun)
07:44 AM Revision 58a373e9 (git): Try to suppress errors in BASERUBY Travis
https://travis-ci.org/ruby/ruby/jobs/579108692 k0kubun (Takashi Kokubun)
07:26 AM Bug #14415: Empty keyword hashes get assigned to ordinal args.
With recent changes to the master branch, you now the get the following results:
```ruby
kws = {}
->{}.call **kws # => nil
->{}.call **{} # => nil
->{}.call **({}) # => nil
->{}.call **({};) # => nil
->{}.call ...
jeremyevans0 (Jeremy Evans)
06:50 AM Revision 1f18b578 (git): Don't pass an empty keyword hash when double splatting empty hash
jeremyevans (Jeremy Evans)
06:30 AM Revision 4868ad7e (git): fix CI failures in x64-mingw32
For insatnce
https://ci.appveyor.com/project/ruby/ruby/builds/27086475/job/mb9whkiygemlfy93
shyouhei (Shyouhei Urabe)
05:45 AM Revision d7aa1260 (git): Remove files/directories for git/github which are committed [ci skip]
nobu (Nobuyoshi Nakada)
05:11 AM Revision 60a08d9a (git): Add rb_iseq_location
This wraps iseq_location and should fix the leaked global test. jeremyevans (Jeremy Evans)
04:56 AM Revision ec6206a8 (git): Use more accurate source location in keyword argument separation warnings
This shows locations in places it didn't before, such as for
proc calls, and fixes the location for super calls.
This requires making iseq_location non-static and MJIT exported,
which I hope will not cause problems.
jeremyevans (Jeremy Evans)
03:06 AM Feature #14183: "Real" keyword argument
I was trying to think of a way to have better backward compatibility for generic forwarding, and I think I managed to stumble on a relatively clean way of doing it.
Basically the idea is to use a subclass of Hash for `**kw`
```ruby...
Dan0042 (Daniel DeLorme)
02:46 AM Bug #14130 (Closed): Keyword arguments are ripped from the middle of hash if argument have default value
With https://github.com/ruby/ruby/commit/3463e83192215c36bdcebad8be907eaa09593a41, you now get warnings for calls where the behavior will change in Ruby 3:
```
No source
SOURCE: {}, OPTS: {:length=>2000}
file.rb:12: warning: The ke...
jeremyevans0 (Jeremy Evans)
02:43 AM Bug #15078 (Closed): Hash splat of empty hash should not create a positional argument.
Fixed by #14183:
```
$ ruby -e 'def foo(*args); p args; end; foo(**{}); foo(**Hash.new) '
[]
[]
```
jeremyevans0 (Jeremy Evans)
02:43 AM Bug #15956 (Closed): `{*nil}` causes confusing error message
Fixed by #14183:
```
$ ruby -e 'def foo(*args); p args; end; foo(**{}); foo(**Hash.new) '
[]
[]
```
jeremyevans0 (Jeremy Evans)
02:43 AM Bug #15957 (Closed): Splatting nil as **kwargs
Fixed by #14183:
```
$ ruby -e 'def foo(*args); p args; end; foo(**{}); foo(**Hash.new) '
[]
[]
```
jeremyevans0 (Jeremy Evans)
02:25 AM Revision 3463e831 (git): Warn for keyword to last hash parameter when method has no optional/rest parameters
Previously, there was no warning in this case, even though we will
be changing the behavior in Ruby 3.
Fixes [Bug #14130]
jeremyevans (Jeremy Evans)
12:34 AM Revision 6424d316 (git): Remove a verbose warning that is no longer needed
This warns about a case that we will continue to support. jeremyevans (Jeremy Evans)

08/30/2019

11:25 PM Bug #14130: Keyword arguments are ripped from the middle of hash if argument have default value
@jeremyevans0 Completely agreed.
Matz says that it is a bug to split keywords depending upon whether the key is Symbol or non-Symbol. (The behavior was introduced without matz's confirmation.) So I think it is okay that the behavior...
mame (Yusuke Endoh)
10:06 PM Bug #14130: Keyword arguments are ripped from the middle of hash if argument have default value
With the changes in #14183, keyword splats support non-symbol keys, so with the master branch you now get:
```
No source
SOURCE: {}, OPTS: {:length=>2000}
SOURCE: {:length=>2000}, OPTS: {}
Source is mixed hash
SOURCE: {}, OPTS:...
jeremyevans0 (Jeremy Evans)
10:17 PM Revision 8cb9efbb (git): tool/rbinstall.rb: remove a keyword-argument warning
mame (Yusuke Endoh)
10:03 PM Revision a1e588d1 (git): NEWS: Hash-to-keywords automatic conversion is now warned
A follow up for 16c6984bb9..b5b3afadfa. [Feature #14183] mame (Yusuke Endoh)
09:54 PM Bug #13647 (Closed): Some weird behaviour with keyword arguments
In all released versions of Ruby I tested, `zoo(hashie)` raises `ArgumentError`.
With the changes in #14183, in the master branch, you also get a warning notifying you of the upcoming behavior change:
```ruby
zoo(hashie)
# file.r...
jeremyevans0 (Jeremy Evans)
09:46 PM Bug #12717 (Closed): Optional argument treated as kwarg
With the changes in #14183:
```ruby
Foo.options({})
# (irb):21: warning: The last argument for `options' (defined at (irb):6) is used as the keyword parameter
# nil
# {}
Foo.kwarg({})
# (irb):22: warning: The last argument for...
jeremyevans0 (Jeremy Evans)
09:39 PM Bug #11236 (Closed): inconsistent behavior using ** vs hash as method parameter
With the the changes in #14183, keyword splats can support arbitrary keys, and the second example now passes:
```ruby
test(:ads, :d => 6, :f => :gah, {a:3,b:4} => 3)
# ads
# {:d=>6, :f=>:gah, {:a=>3, :b=>4}=>3}
```
jeremyevans0 (Jeremy Evans)
09:11 PM Feature #14183 (Closed): "Real" keyword argument
Matz approved this feature at the developer meeting a couple days ago, and it was merged earlier today (https://github.com/ruby/ruby/compare/b0a291f6f6a5834fd84807eb48be906ade429871...b5b3afadfab4072f55320075ccac6afe333a140c) jeremyevans0 (Jeremy Evans)
07:39 PM Revision 38e08db4 (git): * 2019-08-31 [ci skip]
git[bot]
07:39 PM Revision b5b3afad (git): Fix a couple of bundler issues with keyword argument separation
There are more issues than this, but hopefully this is enough
to get make test-bundler passing in CI.
jeremyevans (Jeremy Evans)
07:39 PM Revision 856bb3c3 (git): Fix remaining warning issues in the tests due to keyword argument separation
jeremyevans (Jeremy Evans)
07:39 PM Revision 42adc5bc (git): Add back missing warning for duplicate keys in splatted hashes
This reverts the changes to parse.y in
a5b37262524ac39d2af13eea174486370a581c23 as they are not actually
needed and cause the warning for duplicate hash keys to not be
emitted.
jeremyevans (Jeremy Evans)
07:39 PM Revision a810f6cb (git): Update specs to handle non-Symbols for keyword splats in 2.7
Also handle some warnings for behavior that will change in 3.0. jeremyevans (Jeremy Evans)
07:39 PM Revision 16cd0de6 (git): When splitting a keyword hash, dup it first to not mutate it
jeremyevans (Jeremy Evans)
07:39 PM Revision 5c507db4 (git): Implement keyword argument to last positional hash emulation
For methods that accept keyword arguments but do not accept a
keyword splat, if a keyword splat is passed, or keywords are
used with a non-symbol key, check the hash. If the hash contains
all symbols, keep the same behavior as before. ...
jeremyevans (Jeremy Evans)
07:39 PM Revision 8399609e (git): Make keyword_hash_split static
jeremyevans (Jeremy Evans)
07:39 PM Revision 3a23b71f (git): Make Method/Proc#parameters handle **nil syntax
Use a [:nokey] entry in this case. jeremyevans (Jeremy Evans)
07:39 PM Revision fa41a7b2 (git): Make RubyVM::AbstractSyntaxTree handle **nil syntax
Use false instead of nil for the keyword and keyword rest values
in that case.
jeremyevans (Jeremy Evans)
07:39 PM Revision 4d64693c (git): Make ripper support **nil syntax
The on_params hook will use :nil as the keyword rest argument.
There is a new on_nokw_param hook as well.
This fixes a type issue in the previous code, where an ID was
passed where a VALUE was the declared type. The symbol :nil is
pass...
jeremyevans (Jeremy Evans)
07:39 PM Revision 6a9ce1fe (git): Support **nil syntax for specifying a method does not accept keyword arguments
This syntax means the method should be treated as a method that
uses keyword arguments, but no specific keyword arguments are
supported, and therefore calling the method with keyword arguments
will raise an ArgumentError. It is still al...
jeremyevans (Jeremy Evans)
07:39 PM Revision afae8555 (git): Set symbol export for rb_hash_stlike_foreach
This fixes MJIT after rb_hash_stlike_foreach used vm_args.c. jeremyevans (Jeremy Evans)
07:39 PM Revision 896e42d9 (git): Restore splitting of hashes into positional and keyword arguments, add warning
This restores compatibility with Ruby 2.6, splitting the last
positional hash into positional and keyword arguments if it
contains both symbol and non-symbol keys. However, in this case
it will warn, as the behavior in Ruby 3 will be to...
jeremyevans (Jeremy Evans)
07:39 PM Revision 15bca0d4 (git): Fix test after keyword argument separation
Now that keyword splats accept non-Symbols, the type of exception
changes.
Previously, a TypeError (hash key "k1" is not a Symbol) was raised
for this test, but now an ArgumentError (unknown keyword: "k1") is
raised.
jeremyevans (Jeremy Evans)
07:39 PM Revision 03697ddf (git): Update tests to fix warning message changes
Now that keyword splats accept non-Symbols, the inspect value of
the keyword is used instead of the string value.
jeremyevans (Jeremy Evans)
07:39 PM Revision 9c2e165f (git): Only promote last hash to keyword if all keys are symbols
If all keys are not symbols, then the non-symbol keys would not
be treated as keywords in previous versions. It doesn't make
sense to treat these hashes as keywords to break compatibility and
warn about behavior changes in Ruby 2.7 when...
jeremyevans (Jeremy Evans)
07:39 PM Revision e0b4599b (git): Fix keyword argument separation warnings in test
jeremyevans (Jeremy Evans)
07:39 PM Revision d08e1004 (git): Fix keyword argument separation issues in lib
Mostly requires adding ** in either calls or method definitions. jeremyevans (Jeremy Evans)
07:39 PM Revision 3f67fcd3 (git): Fix hash to keyword warning to apply in all cases
Previously, it only applied if the call had more positional
arguments than the method it was calling accepted.
jeremyevans (Jeremy Evans)
07:39 PM Revision 334b41a4 (git): Allow ** syntax to be used for calling methods that do not accept keywords
Treat the ** syntax as passing a copy of the hash as the last
positional argument. If the hash being double splatted is empty, do
not add a positional argument.
Remove rb_no_keyword_hash, no longer needed.
jeremyevans (Jeremy Evans)
07:39 PM Revision 16c6984b (git): Separate keyword arguments from positional arguments
And, allow non-symbol keys as a keyword arugment mame (Yusuke Endoh)
06:26 PM Feature #16122: Data: simple immutable value object
Ok I see what you meant. BTW Struct#values_at follows the Array rather than Hash API, because Struct also thinks of itself as a tuple :-/
Struct.new(:x).new(42).values_at(0) #=> [42]
Struct.new(:x).new(42).values_at(:x) #=...
Dan0042 (Daniel DeLorme)
02:55 PM Feature #16122: Data: simple immutable value object
@Dan0042
> Question: you say "Doesn't think of itself as almost hash" but at the same time you say it should have `to_h`. Isn't that a contradiction?
Nope. An object that has `to_h` is not "something hash-like", it is just "someth...
zverok (Victor Shepelev)
01:15 PM Feature #16122: Data: simple immutable value object
Question: you say "Doesn't think of itself as almost hash" but at the same time you say it should have `to_h`. Isn't that a contradiction? What exactly are you looking for?
Naming suggestion: BasicStruct (in parallel to Object and Bas...
Dan0042 (Daniel DeLorme)
07:05 AM Feature #16122: Data: simple immutable value object
@naruse Of course, there _are_ several good gems with more-or-less similar functionality. But, from the hard experience, large codebases tend to look with great caution on the "small utility" gems to avoid dependency bloat and tend to de... zverok (Victor Shepelev)
12:09 AM Feature #16122: Data: simple immutable value object
> I believe that concept is that simple, that nobody will even try to use a gem for representing it with, unless the framework/library used already provides one.
I'm using immutable_struct.gem.
naruse (Yui NARUSE)
05:45 PM Feature #16131: Remove $SAFE, taint and trust
jeremyevans0 (Jeremy Evans) wrote:
> For `tainted?`/`trusted?` to work correctly, we would need to continue to support taint tracking at least in some state. We could reduce the scope of the taint flag, though. For example, we could m...
Dan0042 (Daniel DeLorme)
05:29 PM Feature #16131: Remove $SAFE, taint and trust
By no-op, I meant they would make no changes and return self. I didn't mention `tainted?` or `trusted?` earlier, but I think it may make sense to remove them earlier than `taint`/`trust`/`untaint`/`untrust`. Maybe a non-verbose warning... jeremyevans0 (Jeremy Evans)
04:57 PM Feature #16131: Remove $SAFE, taint and trust
@jeremyevans0, by "no-op" did you mean only in the context of $SAFE mode, or did you mean that `tainted?` and `trusted?` would always return false? In the second case I think it's better to just remove the method, at least that's an obvi... Dan0042 (Daniel DeLorme)
04:19 PM Feature #16131: Remove $SAFE, taint and trust
I must admit to using taint sometimes in my code, as a way to keep track of dirty/modified status on an object (mea culpa)
```ruby
hash.taint[key] = newvalue
...
save(hash.untaint) if hash.tainted?
```
It's probably not common ...
Dan0042 (Daniel DeLorme)
08:49 AM Feature #16131: Remove $SAFE, taint and trust
I'm also +1 for jeremy's proposal.
I often got the test fails related `$SAFE` on rubygems. I'm happy to leave them with this proposal.
hsbt (Hiroshi SHIBATA)
04:41 AM Feature #16131: Remove $SAFE, taint and trust
+1 for the removal, and I agree with Jeremy's plan for 2.7 and 3.0.
For 3.2 and 3.3, I think we may keep all the methods as no-op because old not-maintained-well scripts may break, though I'm not so strongly against the removal.
(Anywa...
mame (Yusuke Endoh)
01:41 PM Bug #14716: SecureRandom throwing an error in Ruby 2.5.1
I got this when running a ruby script that openened a large number of TCP socket (and thus files). In fact I had to increase the file limit of the shell using ulimit to be able to open enough sockets. emiltin (Emil Tin)
01:33 PM Revision b0a291f6 (git): Split CC_LINKER_ARGS from CC_DLDFLAGS_ARGS
to drop MJIT_DLDFLAGS from compile_c_to_o for OpenBSD failure
https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd65/ruby-master/log/20190830T110008Z.fail.html.gz.
8c7f4e8f8b7f9e74195ea0eb51f39014fec342c0 did not work for i686-linux
...
k0kubun (Takashi Kokubun)
01:03 PM Revision 8c7f4e8f (git): Try dropping DLDFLAGS from compile_c_to_o
I think this did not work for some environments, but this seems to fix
OpenBSD RubyCI failure:
https://rubyci.org/logs/rubyci.s3.amazonaws.com/openbsd65/ruby-master/log/20190830T110008Z.fail.html.gz
Let me check RubyCI impact by this.
k0kubun (Takashi Kokubun)
09:24 AM Revision c45dd4d4 (git): Make the dot-colon method reference frozen
[Feature #16103]
Close: https://github.com/ruby/ruby/pull/2267
maciej.mensfeld (Maciej Mensfeld)
08:07 AM Feature #15553: Addrinfo.getaddrinfo supports timeout
Thank you for reviewing. I will commit it. Glass_saga (Masaki Matsushita)
03:23 AM Feature #15553: Addrinfo.getaddrinfo supports timeout
Reviewed the patch and found no issues. So LGTM. shyouhei (Shyouhei Urabe)
08:07 AM Bug #15908: Detecting BOM with non-UTF encoding
nobu (Nobuyoshi Nakada) wrote:
> I thought UTF-16LE and CP932 as the main purpose however, I'm bit surprised that these texts have been extinct on Windows already. :tada:
They are not yet extinct, unfortunately :-(. In Japan, there m...
duerst (Martin Dürst)
02:46 AM Bug #15908: Detecting BOM with non-UTF encoding
I thought UTF-16LE and CP932 as the main purpose however, I'm bit surprised that these texts have been extinct on Windows already. :tada:
nobu (Nobuyoshi Nakada)
07:09 AM Revision 998ee350 (git): Revert "require 'pp' before use PP"
of lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb.
This reverts commit 500149709b92ccb36396589a0c39afb3ff77bfb6 partially.
znz (Kazuhiro NISHIYAMA)
07:00 AM Revision 631db0de (git): Removed debug print
It seems to be fixed by b870ca58791e576f5dbb263f54ae433a7f6d65ee. nobu (Nobuyoshi Nakada)
06:09 AM Feature #8970: Array.zip and Array.product
osyo (manga osyo) wrote:
> If you use https://bugs.ruby-lang.org/issues/15955, you can write as follows.
> ...
Thank you for the suggestion, but that looks a little too long. It can also be written as:
```ruby
:product.to_proc.(*ar...
sawa (Tsuyoshi Sawada)
03:49 AM Revision b870ca58 (git): Add guard as same as `==`
Try to fix failure at https://github.com/ruby/ruby/runs/207580232#step:10:382
```
undefined method `name' for "Gemfile.lock":String
/home/runner/work/ruby/ruby/lib/bundler/resolver/spec_group.rb:65:in `eql?'
```
znz (Kazuhiro NISHIYAMA)
03:06 AM Revision 896d9f96 (git): Constified local variable `translator`
nobu (Nobuyoshi Nakada)
03:06 AM Revision e9da4f57 (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
03:04 AM Feature #15955 (Closed): UnboundMethod#apply
Applied in changeset commit:git|83c6a1ef454c51ad1c0ca58e8a95fd67a033f710.
----------
proc.c: Add UnboundMethod#bind_call
`umethod.bind_call(obj, ...)` is semantically equivalent to
`umethod.bind(obj).call(...)`. This idiom is used in ...
mame (Yusuke Endoh)
12:05 AM Feature #15955: UnboundMethod#apply
Matz approved the feature. The name "apply" was arguable in some terms:
* We may want to use the name "apply" for other purpose in future.
* This API will be used not so frequently. Only some fundamental libraries (like pp, sorbet-...
mame (Yusuke Endoh)
03:03 AM Revision 1680bd4e (git): [DOC] Return obj may be different from 1st argument [ci skip]
znz (Kazuhiro NISHIYAMA)
02:49 AM Revision ba9adcc1 (git): spec/ruby/core/unboundmethod/bind_call_spec.rb: Add ruby_version_is guard
mame (Yusuke Endoh)
02:26 AM Revision 96b32aad (git): Exclude ripper y.output from packages [ci skip]
nobu (Nobuyoshi Nakada)
02:23 AM Revision 98ccdd74 (git): Export the last modified revision for tags [ci skip]
nobu (Nobuyoshi Nakada)
02:23 AM Revision e593d5b3 (git): Suppress uninitialized instance variable warnings [ci skip]
nobu (Nobuyoshi Nakada)
02:23 AM Revision 55f496c8 (git): Support revision in git-svn log
nobu (Nobuyoshi Nakada)
02:23 AM Revision 11910494 (git): Updated comment of VCS#get_revisions [ci skip]
nobu (Nobuyoshi Nakada)
02:20 AM Revision 43ab88c7 (git): Workaround for https://reviews.llvm.org/D25824
This changeset make it possible to use very old clang. shyouhei (Shyouhei Urabe)
02:13 AM Revision c9fc8298 (git): lib/pp.rb: Use UnboundMethod#bind_call instead of .bind(obj).call(...)
Related to [Feature #15955]. mame (Yusuke Endoh)
02:13 AM Revision 09c940b1 (git): spec/ruby/core/unboundmethod/bind_call_spec.rb: Added
For UnboundMethod#bind_call [Feature #15955] introduced in
002e592e0d67bb0271d16314a32380ad947c9ae9.
mame (Yusuke Endoh)
02:13 AM Revision 83c6a1ef (git): proc.c: Add UnboundMethod#bind_call
`umethod.bind_call(obj, ...)` is semantically equivalent to
`umethod.bind(obj).call(...)`. This idiom is used in some libraries to
call a method that is overridden. The added method does the same
without allocation of intermediate Meth...
mame (Yusuke Endoh)
01:21 AM Revision 50014970 (git): require 'pp' before use PP
`Kernel#pp` has wrapper, but `PP` does not.
https://github.com/ruby/ruby/runs/207405029#step:10:141
`NameError: uninitialized constant Bundler::Molinillo::Resolver::Resolution::PP`
znz (Kazuhiro NISHIYAMA)

08/29/2019

09:58 PM Revision 0a9d74f8 (git): Move pread + pwrite tests out of RUBY_ENGINE block
These tests were guarded by a RUBY_ENGINE of "ruby" even though they test an official Ruby feature (pread/pwrite added in Ruby 2.5). This commit moves them to the top level of the test case so they will run on other implementations. headius (Charles Nutter)
09:51 PM Revision bdc36094 (git): Add some NODE information for lldb
Just adds a conditional in the lldb scripts so we can more easily debug
NODE objects.
tenderlovemaking (Aaron Patterson)
08:33 PM Feature #16122: Data: simple immutable value object
@mame, @matz, I updated the description, tried to include a proper rationale for every design decision made. zverok (Victor Shepelev)
02:46 PM Feature #16122: Data: simple immutable value object
@mame I understand your concerns. I'll update the description today or tomorrow to include all the terminology and detailed rationale behind the proposal. zverok (Victor Shepelev)
02:14 PM Feature #16122: Data: simple immutable value object
I couldn't understand what is "value object", and I found: https://martinfowler.com/bliki/ValueObject.html
Please do not assume that everybody knows such an essay ;-)
No one pointed out the article during the developer's meeting, so we c...
mame (Yusuke Endoh)
12:55 PM Feature #16122: Data: simple immutable value object
@Dan0042 you are (probably) missing `#inspect`, `#==`, `#eql?`, `#hash`, `#to_h` and a bunch of other methods that are pretty trivial, but also important for the "value object". zverok (Victor Shepelev)
12:50 PM Feature #16122: Data: simple immutable value object
If I understand correctly, the idea is to have `X=Struct::Value.new(:x,:y,:z)` which is strictly equivalent to
```ruby
class X
def initialize(x=nil, y=nil, z=nil)
@x,@y,@z = x,y,z
end
attr_reader :x, :y, :z
#and othe...
Dan0042 (Daniel DeLorme)
09:35 AM Feature #16122: Data: simple immutable value object
@matz Sorry for not sharing more detailed reasoning which led to the current proposal (I explained the "final reasons" in its text, but it is too terse).
So, it went as following:
1\. First, I really wanted just `Struct.new(..., im...
zverok (Victor Shepelev)
08:01 AM Feature #16122 (Feedback): Data: simple immutable value object
The typical solution is `Struct.new(...).freeze`. This doesn't require any enhancement. The other option is `Struct.new(..., immutable: false)`. It looks simpler than the proposed `Struct::Value`.
Matz.
matz (Yukihiro Matsumoto)
07:43 PM Feature #16131: Remove $SAFE, taint and trust
byroot (Jean Boussier) wrote:
> > 3.2 `taint/trust/untaint/untrust` non-verbose warning when called
> ...
No. Verbose warning means a warning only printed in verbose mode (`ruby -w`, or `$VERBOSE = true`). Non-verbose warning means a...
jeremyevans0 (Jeremy Evans)
06:49 PM Feature #16131: Remove $SAFE, taint and trust
> 3.2 `taint/trust/untaint/untrust` non-verbose warning when called
Maybe you meant verbose here?
Other than that I agree with the proposed timeline, and as soon as these methods are noop, their cost become mostly null.
Making t...
byroot (Jean Boussier)
03:46 PM Feature #16131: Remove $SAFE, taint and trust
I agree with the removal of `$SAFE` and the taint tracking. Proposed timeline:
2.7:
* Remove taint tracking/mechanism.
* Non-verbose warning on setting/access of `$SAFE`
* `taint`/`trust`/`untaint`/`untrust` become no-ops, verbos...
jeremyevans0 (Jeremy Evans)
07:14 AM Feature #16131 (Closed): Remove $SAFE, taint and trust
Ruby had Taint checking which is originally introduced in Perl.
https://en.wikipedia.org/wiki/Taint_checking
It was intended to provide a useful tool for handle objects which are come from outside.
Input data is set as tainted by de...
naruse (Yui NARUSE)
06:57 PM Revision 94b79bff (git): Add word "Euler's number" to Math::E docs
When searching for this constant, I landed on the correct page https://ruby-doc.org/core-2.6.4/Math.html however I was using CMD+f to search for "Euler" and did not find it. If we add the full name for this constant then it will be easie... schneems (Richard Schneeman)
03:35 PM Revision a8b310e1 (git): 7z does not accept gzip's options
e.g. `GZIP=-9` znz (Kazuhiro NISHIYAMA)
03:23 PM Bug #11326 (Closed): Defining a writer as a Struct member allowed?
Applied in changeset commit:git|e51dca2596db9567bd4d698b18b4d300575d3881.
----------
Disallow use of attrset symbols as Struct members
Fixes [Bug #11326]
jeremyevans (Jeremy Evans)
04:32 AM Bug #11326: Defining a writer as a Struct member allowed?
Accepted.
Matz.
matz (Yukihiro Matsumoto)
03:23 PM Revision c52d38b7 (git): * 2019-08-30 [ci skip]
git[bot]
03:17 PM Revision e51dca25 (git): Disallow use of attrset symbols as Struct members
Fixes [Bug #11326] jeremyevans (Jeremy Evans)
02:06 PM Revision 01b723ba (git): Refined warnings against literal in flip-flop
nobu (Nobuyoshi Nakada)
01:06 PM Revision 79117d4a (git): NEWS: [Feature #16035] [ci skip]
nobu (Nobuyoshi Nakada)
12:49 PM Revision 2c1e902c (git): Don't pick up lib/readline.rb from ruby/reline
aycabta (aycabta .)
12:11 PM Revision a39b26b5 (git): Check events that console window size changed on Windows
aycabta (aycabta .)
12:05 PM Revision 3a425c76 (git): Fix alignment of a SHORT variable
typedef struct _COORD {
SHORT X;
SHORT Y; // I wanted to take this...
} COORD, *PCOORD;
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
COORD dwSize;
COORD dwCursorPosition; // ...of this one
WORD wAttributes; ...
aycabta (aycabta .)
12:03 PM Revision b74dd665 (git): CONSOLE_SCREEN_BUFFER_INFO is 22bytes
typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
COORD dwSize; // 4(SHORT X, Y)
COORD dwCursorPosition; // 4
WORD wAttributes; // 2
SMALL_RECT srWindow; // 8(SHORT Left, Top, Right, ...
aycabta (aycabta .)
11:50 AM Revision 13b69220 (git): bump up teeny version to 2.6.5.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nagachika (Tomoyuki Chikanaga)
11:41 AM Feature #16035 (Closed): Allow non-finalizable objects such as Integer, static Symbol etc in ObjectSpace::WeakMap
Applied in changeset commit:git|a4a19b114ba94b8f28d5a91aee5d595a516006d5.
----------
Allow non-finalizable objects in ObjectSpace::WeakMap
[feature #16035]
This goes one step farther than what nobu did in [feature #13498]
With this p...
byroot (Jean Boussier)
06:44 AM Feature #16035: Allow non-finalizable objects such as Integer, static Symbol etc in ObjectSpace::WeakMap
I think this is the required behavior for `WeakMap` to implement a cache for example. Accepted.
Matz.
matz (Yukihiro Matsumoto)
06:41 AM Feature #16035 (Assigned): Allow non-finalizable objects such as Integer, static Symbol etc in ObjectSpace::WeakMap
sorry, value is collectable (my misunderstand). ko1 (Koichi Sasada)
06:31 AM Feature #16035 (Feedback): Allow non-finalizable objects such as Integer, static Symbol etc in ObjectSpace::WeakMap
ko1 (Koichi Sasada)
06:31 AM Feature #16035: Allow non-finalizable objects such as Integer, static Symbol etc in ObjectSpace::WeakMap
`42` never be collected. Is it intentional?
ko1 (Koichi Sasada)
11:40 AM Revision a4a19b11 (git): Allow non-finalizable objects in ObjectSpace::WeakMap
[feature #16035]
This goes one step farther than what nobu did in [feature #13498]
With this patch, special objects such as static symbols, integers, etc can be used as either key or values inside WeakMap. They simply don't have a fina...
byroot (Jean Boussier)
11:10 AM Feature #14781: Enumerator.generate
I just wrote a draft implementation of Enumerator.produce. I just didn't notice @zverok kindly worked on writing a patch, so I'll review and integrate it later! knu (Akinori MUSHA)
06:55 AM Feature #14781: Enumerator.generate
I prefer `produce` to `iterate`, `generate` or `from`. Accepted (at least for the experiment).
Matz.
matz (Yukihiro Matsumoto)
10:12 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
@matz Of course. What prompted me to open this feature request is a feature I implemented in Rails where I use this exact pattern: https://github.com/rails/rails/pull/35891 (more specifically https://github.com/rails/rails/blob/48ae1ba36... byroot (Jean Boussier)
06:45 AM Feature #16038: Provide a public WeakMap that compares by equality rather than by identity
I am not sure if the proposal has real-world use-case. Can you elaborate?
Matz.
matz (Yukihiro Matsumoto)
09:34 AM Revision e4be2fda (git): Rule out gcc on Windows
It seems the combination fails at the moment. Don't know exactly
why but I suspect there can be issues in resolving weak references.
Let's rule them out for now.
https://ci.appveyor.com/project/ruby/ruby/builds/27036383/job/x3c5d54839a...
shyouhei (Shyouhei Urabe)
09:34 AM Revision 3df37259 (git): drop-in type check for rb_define_singleton_method
We can check the function pointer passed to
rb_define_singleton_method like how we do so in rb_define_method.
Doing so revealed many arity mismatches.
shyouhei (Shyouhei Urabe)
09:34 AM Revision bfe5d22f (git): drop-in type check for rb_define_private_method
We can check the function pointer passed to rb_define_private_method
like how we do so in rb_define_method. Doing so revealed some
problematic usages of rb_obj_dummy. They had to be split according
to their arity.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 9b429eb3 (git): drop-in type check for rb_define_protected_method
We can check the function pointer passed to
rb_define_protected_method like how we do so in rb_define_method.
This changeset revealed no prototypes mismatches.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 0b81e7d6 (git): drop-in type check for rb_define_method_id
We can check the function pointer passed to rb_define_method_id
like how we do so in rb_define_method. This method is relatively
rarely used so there are less problems found than the other APIs.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 0766f671 (git): move docs around [ci skip]
To properly generate documents. shyouhei (Shyouhei Urabe)
09:34 AM Revision 7bcfd918 (git): drop-in type check for rb_define_global_function
We can check the function pointer passed to rb_define_global_function
like we do so in rb_define_method. It turns out that almost anybody
is misunderstanding the API.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 7b6fde42 (git): drop-in type check for rb_define_module_function
We can check the function pointer passed to rb_define_module_function
like how we do so in rb_define_method. The difference is that this
changeset reveales lots of atiry mismatches.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 9ef51b0b (git): drop-in type check for rb_define_method
The rb_define_method function takes a pointer to ANYARGS-ed functions,
which in fact varies 18 different prototypes. We still need to
preserve ANYARGS for storages but why not check the consistencies if
possible.
Q&As:
Q: Where did th...
shyouhei (Shyouhei Urabe)
09:34 AM Revision 48e346a0 (git): fix arity of bug_start
This is just a trivial mistake introduced in
0f36e8fc03a5c6433972d6bb5f177d5f6e106bac.
shyouhei (Shyouhei Urabe)
09:34 AM Revision 69683968 (git): fix arity of rb_mutex_synchronize_m
This is just a trivial mistake introduced in
6c56dae4b23c5c50e351758538141ca26b9aba40.
shyouhei (Shyouhei Urabe)
08:05 AM Feature #16103 (Closed): Make the dot-colon method reference frozen
Applied in changeset commit:git|abe12d8b96be3c12618811f22ca01788366f99f8.
----------
Freeze method reference operator object
[Feature #16103]
nobu (Nobuyoshi Nakada)
07:37 AM Feature #16103: Make the dot-colon method reference frozen
Matz accepted it :tada:
ko1 (Koichi Sasada)
07:58 AM Revision abe12d8b (git): Freeze method reference operator object
[Feature #16103] nobu (Nobuyoshi Nakada)
07:44 AM Feature #8970: Array.zip and Array.product
If you use https://bugs.ruby-lang.org/issues/15955, you can write as follows.
```ruby
class UnboundMethod
# apply or other name
def apply(receiver, *args)
bind(receiver).call(*args)
end
end
arrays = [["a", "b"], ["c...
osyo (manga osyo)
07:09 AM Feature #15815: Add option to raise NoMethodError for OpenStruct
I like the OP's idea. It's up to @marcandre
Matz.
matz (Yukihiro Matsumoto)
06:56 AM Feature #14784: Comparable#clamp with a range
Accepted. It should raise an error on end-exclusive ranges (`...`).
Matz.
matz (Yukihiro Matsumoto)
06:54 AM Bug #15908: Detecting BOM with non-UTF encoding
I understand there's theoretically exist a situation this feature is useful.
But I think it doesn't exist in practice.
I object to provide an additional utility to support legacy encoding.
naruse (Yui NARUSE)
06:50 AM Bug #15908 (Closed): Detecting BOM with non-UTF encoding
Depending on usage, distinction of UTF-8 (with/without BOM), UTF-16LE without BOM, UTF-16BE with or without BOM, and so on may also be necessary. Also, for Japanese, traditionally distinction between EUC-JP, Shift_JIS, and ISO-2022-JP ca... duerst (Martin Dürst)
06:27 AM Revision 2ed68d0f (git): Revert "Add pipeline operator [Feature #15799]"
This reverts commits:
* d365fd5a024254d7c105a62a015a7ea29ccf3e5d
* d780c3662484d6072b3a6945b840049de72c2096
* aa7211836b769231a2a8ef6b6ec2fd0ec882ef29
* 043f010c28e82ea38978bf8ed885416f133b5b75
* bb4dd7c6af05c7821d572e2592ea3d0cc748d81f
...
nobu (Nobuyoshi Nakada)
06:24 AM Feature #15778: Expose an API to pry-open the stack frames in Ruby
During today's meeting, it was mentioned that production deployments may not want to include this functionality.
To do this, one solution would be to make this functionality available as a bundled gem.
duerst (Martin Dürst)
06:21 AM Revision 893900dc (git): Add stub set_screen_size for other platforms
aycabta (aycabta .)
06:12 AM Revision 07f9cd96 (git): * 2019-08-29 [ci skip]
git[bot]
05:58 AM Feature #15868: Implement `File.absolute_path?`
Agreed.
Matz.
matz (Yukihiro Matsumoto)
05:39 AM Feature #15799: pipeline operator
After experiments, `|>` have caused more confusion and controversy far more than I expected. I still value the chaining operator, but drawbacks are bigger than the benefit. So I just give up the idea now. Maybe we would revisit the idea... matz (Yukihiro Matsumoto)
05:37 AM Revision 0f405541 (git): Support SIGWINCH
aycabta (aycabta .)
05:35 AM Revision 682aaf6a (git): Replace numbered parameters with named parameters [ci skip]
znz (Kazuhiro NISHIYAMA)
05:19 AM Misc #15723: Reconsider numbered parameters
After discussion and consideration, we picked `_1`, `_2`... as numbered parameters. I investigated replaced examples, the current `@1` etc. are too confusing with instance variables. So I picked underscore for numbered parameters (a la S... matz (Yukihiro Matsumoto)
05:05 AM Feature #15588: String#each_chunk and #chunks
Just an idea, this method may be useful to treat data of fixed-length record format if it accepts multi column lengths, such as
```ruby
records = []
fixed_length_records_data.each_slice(7, 10, 20) do |zip, tel, name|
records.push...
usa (Usaku NAKAMURA)
04:43 AM Feature #15588: String#each_chunk and #chunks
As @shyouhei mentioned, we'd like to hear the real-world use-case. Extracting fixed-width records may be the purpose. I'm curious about the OP's opinion.
Matz.
matz (Yukihiro Matsumoto)
04:59 AM Feature #11460 (Closed): Unhelpful error message when naming a module with the same name as an existing class
Applied in changeset commit:git|761346a9604ca2c79777d1d67fb5dcc3c30dbf69.
----------
Show the previous definition location,
when reopened class/module redefinition mismatched the previous
definition. [Feature #11460]
nobu (Nobuyoshi Nakada)
04:24 AM Feature #11460: Unhelpful error message when naming a module with the same name as an existing class
Accepted.
Matz.
matz (Yukihiro Matsumoto)
04:29 AM Misc #15806 (Assigned): Explicitly initialise encodings on init to remove branches on encoding lookup
usa said it might not work on windows when the install path includes non-ASCII characters. Please check it out, @nobu . mame (Yusuke Endoh)
04:24 AM Revision 761346a9 (git): Show the previous definition location,
when reopened class/module redefinition mismatched the previous
definition. [Feature #11460]
nobu (Nobuyoshi Nakada)
03:53 AM Feature #14183: "Real" keyword argument
Dan0042 (Daniel DeLorme) wrote:
> ```
> ...
Correct. That is expected, as the method takes no arguments, only keyword parameters.
> ```
> ...
Correct. This is expected, as the method does not support a keyword parameter for `9`.
...
jeremyevans0 (Jeremy Evans)
03:26 AM Feature #14183: "Real" keyword argument
I tried testing to see what behavior changes are introduced via this. This is what I found so far.
```
def foo(*c, **f); p [c,f]; end; foo(9=>9, f:12)
before: [[{9=>9}], {:f=>12}]
after: [[], {9=>9, :f=>12}]
```
Good bugfix I th...
Dan0042 (Daniel DeLorme)
02:23 AM Revision d3e0bc07 (git): Fixed a comment [ci skip]
A range literal in conditional expression is turned into a
flip-flop, as a Range object is never falsy and does not make a
sense.
nobu (Nobuyoshi Nakada)
02:16 AM Revision 1cf5a31e (git): Aseert exception at negative step for non-endless range too
nobu (Nobuyoshi Nakada)
02:10 AM Revision d92289cd (git): Revert "Remove warnings of flip-flop deprecation from tests and specs"
This reverts commit bf7a32d22079cc44eb19794e41d82b886d5d17b3.
flip-flop is no longer deprecated.
[Feature #5400]
nobu (Nobuyoshi Nakada)
12:17 AM Bug #15638 (Closed): Another race conditions in MonitorMixin when interrupted?
I cannot reproduce this on 2.5.6, 2.6.4, 2.7.0-preview1, or the master branch. It was probably fixed by commit:f91879a7b548284c93743168acfd11e3d2aeefac. If you are still having problems with it, please reopen. jeremyevans0 (Jeremy Evans)

08/28/2019

11:46 PM Bug #15613: Enumerator::Chain#each doesn't relay block signature
Attached is a patch that fixes this issue by switching from `rb_block_call` to `rb_funcall_with_block`. jeremyevans0 (Jeremy Evans)
06:55 PM Bug #15583 (Closed): Regex: ? on quantified group {n} is interpreted as optional, should be lazy
Applied in changeset commit:git|cd0e208963bdf9ee2fec30e83bdc8f6bc77a7b8d.
----------
Document {n}? regexp pattern is optional and not non-greedy [ci skip]
While not consistent with {n,}?, {,m}?, and {n,m}?, it is arguably
more useful, ...
jeremyevans (Jeremy Evans)
06:50 PM Revision cd0e2089 (git): Document {n}? regexp pattern is optional and not non-greedy [ci skip]
While not consistent with {n,}?, {,m}?, and {n,m}?, it is arguably
more useful, as otherwise the ? would have no effect.
Fixes [Bug #15583]
jeremyevans (Jeremy Evans)
06:32 PM Bug #15509 (Closed): TCPServer#accept isn't interrupted
This problem appears fixed in 2.6.4 and 2.7.0-preview1 in my environment (OpenBSD-amd64). It still occurs in 2.5.6. If it still occurs for you in 2.6.4, please reopen. jeremyevans0 (Jeremy Evans)
01:27 PM Misc #15996: DevelopersMeeting20190829Japan
@zverok Thank you! mame (Yusuke Endoh)
11:44 AM Misc #15996: DevelopersMeeting20190829Japan
@mame OK, sorry. I was not sure how the process looks internally (e.g. should I save the space and attention of the reader in agenda by just listing things shortly, or provide the full context in-place). Here are updated descriptions, ju... zverok (Victor Shepelev)
08:17 AM Misc #15996: DevelopersMeeting20190829Japan
zverok (Victor Shepelev) wrote:
> * [Feature #14781] `Enumerator.generate`. Patch provided; Matz seem to have liked the idea and name proposed, can we have it in 2.7?
> ...
The two tickets were discussed at the past meetings. Next tim...
mame (Yusuke Endoh)
03:07 AM Misc #15996: DevelopersMeeting20190829Japan
Looks like we have too many topics at the next meeting. Please do not expect all tickets to be discussed. Thank you for your understanding. mame (Yusuke Endoh)
10:58 AM Bug #15900: Resolv::DNS#each_name doesn't accept Resolv::IPv{4,6} against documents
Could you please backport to 2.5 and 2.6? Tietew (Toru Iwase)
10:47 AM Revision e82719c6 (git): Remove jquery.js from file list of rdoc.gemspec
aycabta (aycabta .)
07:51 AM Revision c1d0b6ad (git): Revert "Treat RUBY_REVISION as an integer on old rubies"
This reverts commit 6454808c52fff445ff09fefb0fb96988f82aaa3c.
It is no longer needed, as `VCS::SVN#get_revisions` now returns
`Integer` as revision numbers, and `short_revision` should deal
with it.
nobu (Nobuyoshi Nakada)
07:51 AM Revision b11d7394 (git): Fix warnings
`_FILE_OFFSET_BITS` should be defined before system headers. nobu (Nobuyoshi Nakada)
07:36 AM Revision 0b9c6f69 (git): merge revision(s) f308ab2131ee675000926540cbb8c13c91dc3be5,989e8ad322afdfa3aa06e74b89fc42aef42895d0:
Remove jquery.js
Remove debug print [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nagachika (Tomoyuki Chikanaga)
07:08 AM Revision a506b7f3 (git): Adjusted indents and supplied last commas
Fixed unmatched indent of the closing bracket for
`:irb_current_working_workspace`, and adjusted following elements.
nobu (Nobuyoshi Nakada)
06:57 AM Revision 2b55df73 (git): `revision` might be an Integer
U.Nakamura
06:45 AM Revision aca4e654 (git): merge revision(s): f308ab2131ee675000926540cbb8c13c91dc3be5
Remove jquery.js
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@67794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
06:43 AM Revision 32aca3dd (git): merger revision(s): f308ab2131ee675000926540cbb8c13c91dc3be5
Remove jquery.js
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
05:50 AM Revision ed8d2e1c (git): tool/merger.rb: fix tag existence check with subversion.
nagachika (Tomoyuki Chikanaga)
05:42 AM Feature #5400: Remove flip-flops in 2.0
I backported 4e038a7e into ruby_2_6 at r67792. nagachika (Tomoyuki Chikanaga)
05:41 AM Revision aae25ddb (git): merge revision(s) 4e038a7e64a9d52eed59b8f05647d4e58d265ec3: [Backport #5400]
Revert "parse.y: Deprecate flip-flops"
This reverts commit bae638ad5b782c44c80efe33834cb9039279af46.
[Feature #5400]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nagachika (Tomoyuki Chikanaga)
05:00 AM Revision 47403b71 (git): merge revision(s) 989e8ad322afdfa3aa06e74b89fc42aef42895d0:
Remove debug print [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@67791 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
04:57 AM Revision 73eb2984 (git): merge revision(s) 989e8ad322afdfa3aa06e74b89fc42aef42895d0:
Remove debug print [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
03:32 AM Revision c9dc569a (git): Ensure the last and changed revisions as Integers
nobu (Nobuyoshi Nakada)
03:30 AM Bug #15397 (Rejected): Ruby process doesn't release memory back to os on CentOS
This isn't a bug. It is not in Ruby's control to release memory to the operating system. Ruby just calls `free` on the underlying memory pointer. If the libc `free` function does not end up releasing the memory to the operating system... jeremyevans0 (Jeremy Evans)
03:08 AM Feature #15631 (Closed): Let round_capa for ID table not allocate excess capacity for power of 2 ints >= 4
Applied in changeset commit:git|8e13da1ee83028000e5d7f9f9526379e32765a81.
----------
optimize get_power2 [Feature #15631]
Merged: https://github.com/ruby/ruby/pull/2292
Anonymous
02:29 AM Revision 8e13da1e (git): optimize get_power2 [Feature #15631]
Merged: https://github.com/ruby/ruby/pull/2292 pavel
02:20 AM Bug #15392 (Closed): Crash in RubyVM::InstructionSequence#to_binary
jeremyevans0 (Jeremy Evans)
02:19 AM Bug #15375 (Closed): Crash report for Ruby 2.5.3p105
jeremyevans0 (Jeremy Evans)
02:12 AM Feature #15357: Proc#parameters returns incomplete type information
I don't think the current behavior is a bug, as the parameters for a non-lambda proc are optional. Also, changing the behavior could be backwards incompatible.
I propose instead a `lambda` keyword to `Proc#parameters`, which would re...
jeremyevans0 (Jeremy Evans)
01:34 AM Revision 989e8ad3 (git): Remove debug print [ci skip]
znz (Kazuhiro NISHIYAMA)
01:16 AM Bug #15273 (Feedback): Ruby crashing after updating Mac OS to Mojave (10.14)
jeremyevans0 (Jeremy Evans)
01:14 AM Bug #15273: Ruby crashing after updating Mac OS to Mojave (10.14)
Does this issue still occur with 2.5.5 or 2.6.3? jeremyevans0 (Jeremy Evans)
01:15 AM Bug #15355 (Feedback): Random segmentation faults in development environment
Does this issue still occur with 2.5.5 or 2.6.3? jeremyevans0 (Jeremy Evans)
01:12 AM Bug #15255 (Rejected): Change in protected handling 2.3 -> 2.4,2.5
Testing Ruby versions from 1.9 to 2.7, only Ruby 2.3 does not raise a `NoMethodError` for the example code. I think that can be considered a bug in Ruby 2.3. As Ruby 2.3 is no longer supported, the bug will not be fixed. jeremyevans0 (Jeremy Evans)
01:07 AM Revision 624a0ad4 (git): Use `set-env` instead of `grep` in each step
znz (Kazuhiro NISHIYAMA)
01:05 AM Bug #15241 (Rejected): net/pop fix to use mutable strings was too eager
I don't think that this should be considered a bug. Going from immutable to mutable should not break things, while going from mutable to immutable can. It is true that the using `String#+` can decrease performance slightly, but that sh... jeremyevans0 (Jeremy Evans)
12:45 AM Revision 108dbb38 (git): Use JOBS again like macos.yml
znz (Kazuhiro NISHIYAMA)
12:41 AM Revision 330c2f75 (git): Change name to `Tests (test-bundled-gems)`
znz (Kazuhiro NISHIYAMA)
12:38 AM Revision 230f4054 (git): Add name to autoconf
znz (Kazuhiro NISHIYAMA)
12:20 AM Revision 17c0ce37 (git): Remove GITHUB_SHA from jobs.<job_id>.steps.env
because default value overrides it.
https://help.github.com/en/articles/virtual-environments-for-github-actions#environment-variables
znz (Kazuhiro NISHIYAMA)
12:15 AM Revision 76799232 (git): Allow missing projectnumber [ci skip]
znz (Kazuhiro NISHIYAMA)
12:13 AM Revision d4de5e64 (git): Show projectnumber in current index.html and GITHUB_SHA
znz (Kazuhiro NISHIYAMA)
 

Also available in: Atom