Project

General

Profile

Activity

From 05/01/2019 to 05/07/2019

05/07/2019

11:05 PM Feature #15836: [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
> Matz said that but it will not be for ruby 3.0 at the least.
I assumed it was due for 3.0, but good to know it isn't.
> ...
I contribute to many gems, and from what I can see `# frozen_string_literal: true` is extremely common. A...
byroot (Jean Boussier)
04:47 PM Feature #15836: [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
> frozen_string_literalAFAIK should become the default some day
Matz said that but it will not be for ruby 3.0 at the least.
In my own code bases I am using frozen strings a lot, through the shebang; either
"# frozen_string_litera...
shevegen (Robert A. Heiler)
03:46 PM Feature #15836: [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
@mame very good point. I'll try to run our app against that patch tomorrow. byroot (Jean Boussier)
03:36 PM Feature #15836: [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
> how is the GC handling in case the Symbol was a dynamic generated one?
It copies it - strings and symbols aren’t the same thing so it couldn’t jus return the symbol again.
chrisseaton (Chris Seaton)
02:54 PM Feature #15836: [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
is the String returned by rb_sym2str not always frozen?
how is the GC handling in case the Symbol was a dynamic generated one?
wouldn't that remove the string that got returned from rb_sym2str too?
Hanmac (Hans Mackowiak)
02:42 PM Feature #15836 (Feedback): [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
Could you show us a benchmark, especially non-micro one? I believe that it is definitely required to discuss this proposal. mame (Yusuke Endoh)
02:33 PM Feature #15836 (Rejected): [Proposal] Make Module#name and Symbol#to_s return their internal fstrings
# Why ?
In many codebases, especially Rails apps, these two methods are the source of quite a lot of object allocations.
`Module#name` is often accessed for various introspection features, autoloading etc.
`Symbol#to_s` is acces...
byroot (Jean Boussier)
02:31 PM Revision efda52ba (git): Use cgit instead of svn.
hsbt (Hiroshi SHIBATA)
02:16 PM Revision 45b125ec (git): Update the canonical repository url.
hsbt (Hiroshi SHIBATA)
01:53 PM Revision 5eb5613f (git): Recent commits of trunk do not have svn revision
znz (Kazuhiro NISHIYAMA)
01:42 PM Bug #15809: GC.verify_compaction_references - intermittent SEGV's on multiple platforms
Recursive finalizer definition raises a similar error on my environment.
```
$ ./miniruby -ve 'def foo(c = 10); ObjectSpace.define_finalizer(Object.new) { foo(c - 1) } if c > 0; end; 10.times do foo; GC.verify_compaction_references e...
wanabe (_ wanabe)
12:58 PM Revision a47f598d (git): Reduce ONIG_NREGION from 10 to 4: power of 2 and testing revealed most pattern matches are less than or equal to 4 results
Closes: https://github.com/ruby/ruby/pull/2135 methodmissing (Lourens Naudé)
12:30 PM Bug #15835 (Feedback): Path traversal symlink - WEBrick
On Apache with `FollowSymLinks` enabled, it can traverse out of DocumentRoot.
hxxps://httpd.apache.org/docs/2.4/en/urlmapping.html
Therefore it's not a problem.
naruse (Yui NARUSE)
09:33 AM Bug #15835 (Closed): Path traversal symlink - WEBrick
**Summary:**
A path traversal issue was observed in WEBrick ( WEBrick/1.4.2 (Ruby/2.6.3/2019-04-16)) via symlink. WEBrick serves static page for the current directory once enabled, however using symlink attacker could view data outside ...
Dhiraj (Dhiraj Mishra)
12:21 PM Bug #15780 (Closed): Module#const_defined?(String) executes autoloads
Applied in changeset commit:git|7d805e67f3275aef066d77aa9c32bef715c362ed.
----------
Avoid triggering autoload in Module#const_defined?(String)
[Bug #15780]
byroot (Jean Boussier)
10:04 AM Bug #15780: Module#const_defined?(String) executes autoloads
I made a patch for this: https://github.com/ruby/ruby/pull/2172 byroot (Jean Boussier)
12:20 PM Revision 7d805e67 (git): Avoid triggering autoload in Module#const_defined?(String)
[Bug #15780] byroot (Jean Boussier)
11:13 AM Feature #15777: autoload?(cname, inherit=true)
I made a patch for this feature: https://github.com/ruby/ruby/pull/2173 byroot (Jean Boussier)
08:36 AM Revision 6786fe44 (git): * 2019-05-07
git[bot]
07:24 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Since it was recently mentioned, in particular in regards to names after kaigi 2019,
I think Threads::Feather as such is a fine name. More generally, though, I think ultimately
it would (or should) be important to keep the thread/fiber...
shevegen (Robert A. Heiler)
05:10 AM Revision 4dc5d3c5 (git): add new debug_counters about is_pointer_to_heap().
is_pointer_to_heap() is used for conservative marking. To analyze
this function's behavior, introduce some debug_counters.
ko1 (Koichi Sasada)
04:11 AM Bug #15834 (Closed): Mutating the result of SortedSet.to_a mutates the original set, potentially violating the set's guarantees
``` ruby
require 'set'
set = SortedSet[1, 2, 3]
set.to_a << -1
set.to_a << 3
set.each do |x|
puts x
end
puts
set.add -2
set.each do |x|
puts x
end
```
```
1
2
3
-1
3
-2
1
2
3
```
As can be seen, this ...
viko (Viko Viko)
03:02 AM Bug #15794 (Third Party's Issue): Can not start Puma with Rails after bundle install
nagachika (Tomoyuki Chikanaga)

05/06/2019

10:42 PM Bug #15828: DOTfiles and DOTfolders aren't allowed in $HOME folder on Haiku
I'm considering to support XDG guideline with rubygems, irb and etc. hsbt (Hiroshi SHIBATA)
08:40 AM Bug #15828: DOTfiles and DOTfolders aren't allowed in $HOME folder on Haiku
References to dot-files under the HOME in standard libraries are:
* `~/.irbrc` by irb
* `~/.options/` by optparse
* `~/.rdoc` by rdoc
* `~/.gem/` and `~/.gemrc` by RubyGems
* `~/.rb_shell` by shell
`OptionParser#load` now support...
nobu (Nobuyoshi Nakada)
04:53 PM Bug #15809: GC.verify_compaction_references - intermittent SEGV's on multiple platforms
Continuing to see intermittent SEGV's, today:
```
/ruby/test/ruby/test_gc_compact.rb:114: [BUG] ROOT finalizers points to MOVED: 0x0000000004f37f88 -> 0x0000000009736f50 [0 ] T_ARRAY [E ] len: 1 (embed)
ruby 2.7.0dev (2019-05-06...
MSP-Greg (Greg L)
03:47 PM Bug #15789: Parse error when numbered parameter is used in a lambda that is a default value of other optarg
jeremyevans0 (Jeremy Evans) wrote:
> I think the `ordinary parameter is defined` error makes sense if you consider the block starting at the `->` and not the `{`. Especially when you consider the older lambda/proc syntax uses the same ...
nobu (Nobuyoshi Nakada)
02:03 PM Bug #15490: socket.rb - recurring segmentation faults
Some background to how I have worked around this for now, which may be useful.
I use the parallel gem https://github.com/grosser/parallel, which can parallelise tasks using threads of processes. When switching from processes to threads...
matthew.oriordan (Matthew O'Riordan)
01:48 PM Bug #15490: socket.rb - recurring segmentation faults
This issue is still happening with the latest version of Ruby 2.6.3. Happy to provide more logs / run tests if I can help. matthew.oriordan (Matthew O'Riordan)
10:29 AM Feature #15833 (Open): Some refactors for shared-root array
I wrote some patches for shared-root array.
But I can't decide whether to commit them because they include the modification of public header `include/ruby/ruby.h`.
To ruby core team (I'm not assuming anyone in particular):
Can I mod...
wanabe (_ wanabe)
08:10 AM Misc #15782: DevelopersMeeting20190522Japan
greggzst (Grzegorz Jakubiak) wrote:
> * [Feature #15323] [PATCH] Proposal: Add Enumerable#filter_map
> ...
Updated
greggzst (Grzegorz Jakubiak)
06:30 AM Revision 7e72ce0f (git): Load OptionParser defaults from XDG and Haiku standards
nobu (Nobuyoshi Nakada)
06:01 AM Feature #15831: Add `Array#extract`, `Hash#extract`, and `ENV.extract`
What is the difference towards e. g. `hash.delete()`?
People may ask about this difference. The '!'
too since you can use e. g. `Hash #delete` as-is.
Also without '!', I am not sure if extract is a good
name per se, but these are...
shevegen (Robert A. Heiler)
02:08 AM Revision 970a25b1 (git): * 2019-05-06
git[bot]
02:02 AM Revision f1b0db2c (git): Revert "UTF-8 is one of byte based encodings"
This reverts commit 5776ae347540ac19c40d146a3566a806cd176bf1.
Mistaken `max` as `min`.
nobu (Nobuyoshi Nakada)

05/05/2019

11:36 PM Bug #15789: Parse error when numbered parameter is used in a lambda that is a default value of other optarg
nobu (Nobuyoshi Nakada) wrote:
> > ```ruby
> ...
I think the `ordinary parameter is defined` error makes sense if you consider the block starting at the `->` and not the `{`. Especially when you consider the older lambda/proc syntax u...
jeremyevans0 (Jeremy Evans)
07:44 AM Bug #15789: Parse error when numbered parameter is used in a lambda that is a default value of other optarg
jeremyevans0 (Jeremy Evans) wrote:
> Attached is a one-line patch that fixes this issue, hopefully without causing additional issues:
Thank you, committed the patch.
> ...
This should be the "outside block" error, I think.
nobu (Nobuyoshi Nakada)
04:47 AM Bug #15789: Parse error when numbered parameter is used in a lambda that is a default value of other optarg
jeremyevans0 (Jeremy Evans) wrote:
> Attached is a one-line patch that fixes this issue, hopefully without causing additional issues:
Here's a patch that includes tests for this fix.
jeremyevans0 (Jeremy Evans)
04:28 AM Bug #15789: Parse error when numbered parameter is used in a lambda that is a default value of other optarg
Attached is a one-line patch that fixes this issue, hopefully without causing additional issues:
```ruby
m(a = ->{@1}); a end
m.call(1)
# => 1
m2 = ->(a = ->{@1}) {a}
m2.call.call(2)
# => 2
m3 = ->(a: ->{@1}) {a}
m3.call.c...
jeremyevans0 (Jeremy Evans)
08:52 PM Bug #15832 (Closed): IPAddr.new accepts invalid mask IP address
IPAddr.new accepts IP address with multiple mask and/or zero padded one.
```
$ cat ipaddr.rb
require 'ipaddr'
addrs = %w[192.0.2.0/24/16
192.0.2.0/00024
192.0.2.0/24/00016
192.0.2.0/00024/16
...
tsuna (Kenta Tsuna)
08:52 PM Feature #15831 (Rejected): Add `Array#extract`, `Hash#extract`, and `ENV.extract`
## Add `Array#extract`
The method removes and returns the elements for which the block returns a true value.
If no block is given, an Enumerator is returned instead.
```ruby
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
odd_numbers =...
bogdanvlviv (Bogdan Denkovych)
08:51 PM Feature #15829: Object#then_if(condition){}
Related to https://bugs.ruby-lang.org/issues/15557. sawa (Tsuyoshi Sawada)
08:30 PM Feature #15829: Object#then_if(condition){}
A more complex example:
``` ruby
scope :blacklisted_at, -> (seller=nil, flag=true) {
then_if(! flag.nil?) {
joins(:disk_seller_maps)
.then_if(seller) {|q|
q.where(disk_seller_map:{seller_id:seller})
}
...
foonlyboy (Eike Dierks)
06:48 PM Feature #15829: Object#then_if(condition){}
A (somehow contrived) example:
``` ruby
[1,2,3,4,5].map{|n| n.then_if(n.even?){'even'}}
=> [1, "even", 3, "even", 5]
```
foonlyboy (Eike Dierks)
06:35 PM Feature #15829: Object#then_if(condition){}
``` ruby
class Object
def then_if(condition, &block)
if condition
self.then(&block)
else
self
end
end
end
```
foonlyboy (Eike Dierks)
06:26 PM Feature #15829 (Rejected): Object#then_if(condition){}
I'd like to propose some sugar to Object#then
There should be `Object#then_if(condition, &block)`

The block should only be applied when the condition is true,
otherwise the object should be returned without applying the block.
...
foonlyboy (Eike Dierks)
08:11 PM Bug #15830 (Closed): SortedSet's lazy setup causes unpredictable behaviour in subclass's initialize
``` ruby
require 'set'
class SortedSetWithoutLowest < SortedSet
def initialize contents=[]
puts "initialize, #{contents}"
super
lowest = to_a[0]
puts "lowest from #{contents} is #{lowest}, removing"
delete...
viko (Viko Viko)
07:27 PM Feature #15240: Set operations check for is_a?(Set), rather than allowing duck typing
Any news on this one? Can we get the ball rolling? :)
I really don't mind doing the work, but would like to get a bit of feedback on the correct direction to make sure that the contribution does get accepted.
ivoanjo (Ivo Anjo)
05:31 PM Bug #15827: Haiku: SSL tests failing
Not related to the issue at hand, but perhaps it would be good if travis could
also run/use tests similar as what Greg is reporting on windows; then it could
be simpler to get to test ruby on haiku as a first-class citizen in general.
...
shevegen (Robert A. Heiler)
03:51 PM Bug #15827 (Rejected): Haiku: SSL tests failing
Every SSL-aware testcase fails like this:
```
Generating RDoc documentation
No newer files.
Files: 0
Classes: 0 (0 undocumented)
Modules: 0 (0 undocumented)
Constants: 0 (0 undocumented)
Attributes: ...
extrowerk (Zoltán Mizsei)
05:16 PM Bug #15828: DOTfiles and DOTfolders aren't allowed in $HOME folder on Haiku
We need something along theese lines, but integrated as default in ruby:
```
rubver=`ruby --version | cut -d" " -f2 | cut -d. -f3 --complement` #had no better idea :(
export RUBY_VER="$rubver.0"
export GEM_PATH="/boot/sys...
extrowerk (Zoltán Mizsei)
04:23 PM Bug #15828 (Closed): DOTfiles and DOTfolders aren't allowed in $HOME folder on Haiku
According to the guidelines, no program should create any file directly in $HOME
For config files we should use the ~/config/settings/ruby folder for .rubyrc (<- this file also should have no dot at the beginning!)
For --user-install...
extrowerk (Zoltán Mizsei)
03:57 PM Bug #15787: LoadError by EPERM on read-only volume
nobu (Nobuyoshi Nakada) wrote:
> Sorry, I have wrongly got this as a rubygems specific error by just reading the subject.
> ...
Sorry, but because the missing knowledge i cannot give you a correct and helpful answer, but i would gladly...
extrowerk (Zoltán Mizsei)
02:08 PM Bug #15787 (Feedback): LoadError by EPERM on read-only volume
Sorry, I have wrongly got this as a rubygems specific error by just reading the subject.
Opening in non-blocking mode is not to block the whole process by loading from a fifo, then reset it to get rid of problems on the `DATA` stream.
...
nobu (Nobuyoshi Nakada)
10:15 AM Bug #15787: LoadError by EPERM on read-only volume
Here is my patchset against the current master. Please let me know if anything else required.
Patch tested working on Haiku.
extrowerk (Zoltán Mizsei)
03:47 PM Bug #15826 (Third Party's Issue): Haiku LIBC_SO and LIBM_SO support for test/fiddle/helper.rb
This is required for the tests.
Haiku comes currently in 2 different flavour: 32 and 64 bit.
64 bit have only one toolchain, so it is easy, but 32 bit comes with 2 different (GCC2 primary and GCC7 secondary). Ruby built with GCC7 on ...
extrowerk (Zoltán Mizsei)
03:32 PM Feature #15824: respond_to pattern for pattern match
I don't want to comment so much on the issue as such, but I would like to point
out that it may be a better idea to start with a new idea not on highest
complexity. I am not sure if everyone fully understood pattern matching yet so
in...
shevegen (Robert A. Heiler)
12:00 AM Feature #15824 (Open): respond_to pattern for pattern match
rubyに追加されそうなパターンマッチの機能について...
Interger, Array など constantを書くことで、オブジェクトのクラスにマッチングさせる機能があるのを拝見しました。
duck typingを確認するようなパターンマッチがかけるとrubyらしいのではないかと思ってこちらに書いてみることにしました。
respond_to pattern
```ruby
class Runner
def run
end
d...
fukajun (Jun Fukaya)
10:38 AM Bug #15821: ruby_process_options() may cause "WB miss (O->Y)"
ko1 (Koichi Sasada) wrote:
> it is local problem on it?
I guess, no. It is not a local problem.
It will cause by `RARRAY_ASET` with shared array.
> ...
Not only `rb_ary_replace()` has the issue but also the array.c functions that...
wanabe (_ wanabe)
09:58 AM Bug #15821: ruby_process_options() may cause "WB miss (O->Y)"
As outlined in the proposal, the following diff fixes the WB miss local to `process_options`
```
diff --git a/ruby.c b/ruby.c
index bf94b8ee13..b7648934d6 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1726,6 +1726,7 @@ process_options(int...
methodmissing (Lourens Naudé)
04:25 AM Bug #15821: ruby_process_options() may cause "WB miss (O->Y)"
I didn't understand completely, but it is local problem on it? or all of `rb_ary_replace()` calls have the same issue? ko1 (Koichi Sasada)
07:52 AM Revision 594a033f (git): Improve description of Ruby in README
Use improved description as suggested by Olivier Lacan (@olivierlacan),
see https://github.com/ruby/www.ruby-lang.org/pull/1888.
stomar (Marcus Stollsteimer)
07:51 AM Revision 35ff4ed4 (git): Improve documentation for String#{dump,undump}
stomar (Marcus Stollsteimer)
07:32 AM Revision bb4ac7a6 (git): Fix use of numbered parameter inside proc that is default value of optarg
This allows cases such as:
```ruby
m ->(a = ->{@1}) {a}
m.call.call(1)
m2 ->(a: ->{@1}) {a}
m2.call.call(2)
```
Previously, this would cause a syntax error.
[Bug#15789]
jeremyevans (Jeremy Evans)
06:33 AM Revision 0c0ed1ce (git): Fix use of numbered parameter inside proc that is default value of optarg
This allows cases such as:
```ruby
m ->(a = ->{@1}) {a}
m.call.call(1)
m2 ->(a: ->{@1}) {a}
m2.call.call(2)
```
Previously, this would cause a syntax error.
[Bug#15789]
jeremyevans (Jeremy Evans)
05:48 AM Bug #15825 (Closed): Fix a case where numbered parameters should not be allowed
Applied in changeset commit:git|b8f3be295b694964e88960c0228459b8aadd114a.
----------
Fix a case where numbered parameters should not be allowed
Because `proc{|| @1}` is a syntax error, the following should
also be syntax errors:
```ru...
jeremyevans (Jeremy Evans)
05:48 AM Bug #15825: Fix a case where numbered parameters should not be allowed
Probably I might think the latter case could be allowed (and forgot to separate these cases), but it doesn't seem worth complicating. nobu (Nobuyoshi Nakada)
04:40 AM Bug #15825 (Closed): Fix a case where numbered parameters should not be allowed
Because `proc{|| @1}` is a syntax error, the following should
also be syntax errors:
```ruby
proc { |
| @1}
proc { |; a| @1 }
```
The attached patch makes both of those cases syntax errors.
jeremyevans0 (Jeremy Evans)
05:46 AM Revision b8f3be29 (git): Fix a case where numbered parameters should not be allowed
Because `proc{|| @1}` is a syntax error, the following should
also be syntax errors:
```ruby
proc { |
| @1}
```
```ruby
proc { |; a| @1 }
```
This fixes both cases.
[Bug #15825]
jeremyevans (Jeremy Evans)
05:36 AM Bug #15823 (Closed): ARGF.lineno behavior and documentation disagree
Applied in changeset commit:git|374c8f4ebab1a740990330c732b9de965c5e8d10.
----------
Fixed about ARGF.lineno
[Bug #15823]
nobu (Nobuyoshi Nakada)
05:29 AM Bug #15823: ARGF.lineno behavior and documentation disagree
Thank you, that document is wrong. nobu (Nobuyoshi Nakada)
05:35 AM Revision 374c8f4e (git): Fixed about ARGF.lineno
[Bug #15823] nobu (Nobuyoshi Nakada)
02:13 AM Revision 84e71e9f (git): * 2019-05-05
git[bot]
02:13 AM Revision f1b52d3a (git): * expand tabs.
git[bot]

05/04/2019

04:54 PM Bug #15823 (Closed): ARGF.lineno behavior and documentation disagree
The documentation for `ARGF.each` at http://ruby-doc.org/core-2.6.3/ARGF.html#method-i-each
describes `ARGF.lineno` as if it behaved like `ARGF.file.lineno`, when it behaves for me like `$.`
Here's the sample code from the documentat...
plujon (Jon Wilkes)
03:29 PM Revision ff21e75d (git): parse.y: duplicated when clause warning
* parse.y (case_args): moved "duplicated when clause" warning from
compile phase, so that `ruby -wc` shows them.
nobu (Nobuyoshi Nakada)
02:32 PM Revision 848edb03 (git): ignore test_RangeError
Masatoshi SEKI
01:50 PM Feature #15822 (Closed): Add Hash#except
According to `Hash#slice`, I would like to add `Hash#except`. Same for `ENV.except`. timoschilling (Timo Schilling)
01:31 PM Revision a380f4c2 (git): Fix typos, grammar, and style
stomar (Marcus Stollsteimer)
01:02 PM Revision 8bf3040e (git): Fix grammar
stomar (Marcus Stollsteimer)
01:00 PM Revision b9e52db2 (git): Add a pathologic check
nobu (Nobuyoshi Nakada)
10:29 AM Bug #15711 (Closed): Remove use of _id2ref from DRb
Applied in changeset commit:git|8980b53a48b1f55e09c5223008225e6bfa765405.
----------
add DRb::WeakIdConv (Bug #15711)
Anonymous
10:29 AM Revision 7d30cd47 (git): * remove trailing spaces.
git[bot]
10:28 AM Revision 8980b53a (git): add DRb::WeakIdConv (Bug #15711)
Masatoshi SEKI
05:42 AM Bug #15821 (Closed): ruby_process_options() may cause "WB miss (O->Y)"
## Problem
Ruby interpreter may cause error "WB miss (O->Y)" on some conditions that are `RGENGC_CHECK_MODE=5` and `RUBY_DEBUG=gc_stress`
## How to reproduce
1. build ruby with high RGENGC_CHECK_MODE
* `make ruby optflags="-...
wanabe (_ wanabe)
12:49 AM Bug #15775 (Closed): Update broken URL in Float documentation
hsbt (Hiroshi SHIBATA)

05/03/2019

09:23 PM Revision b7262301 (git): Update broken URL in Float documentation.
[Misc #15775][ruby-core:92332] hsbt (Hiroshi SHIBATA)
06:41 PM Bug #15775: Update broken URL in Float documentation
@hsbt: Just wanted to ping you about this small update of the Float documentation (maybe you can reassign it to someone who could review it?). Thanks! davidpiegza (David Piegza)
04:36 PM Bug #15787: LoadError by EPERM on read-only volume
Ok, i consulted with PulkoMandy, one of the main Haiku developer, he meant it is not possible to unset "O_NONBLOCK or O_NDELAY because we don't allow it" on packaged file-system. This is why this check fails.
We make it sure the file op...
extrowerk (Zoltán Mizsei)
03:00 PM Revision a3cbce78 (git): * 2019-05-04
git[bot]
02:59 PM Revision 04fd98d5 (git): * expand tabs.
git[bot]
02:59 PM Revision 77440e94 (git): Improve performance of case-conversion methods
nobu (Nobuyoshi Nakada)
02:12 PM Revision 1f349ea2 (git): Fix typo
stomar (Marcus Stollsteimer)
11:31 AM Bug #15820 (Closed): Backport 5e23b1138f1 (Fix potential memory leak)
The fix for the potential memory leak (https://github.com/ruby/ruby/commit/5e23b1138f16af0defb184d7deeffadfd2ce3c04) should be backported into stable branches. nagachika (Tomoyuki Chikanaga)
09:04 AM Bug #15819: cannot read document of File::NULL with "ri File::NULL"
> IHMO, it's too difficult to guess proper command.
Agree - File::NULL works in e. g. irb too and should work for ri. I found rdoc/ri
a bit cumbersome to use API-wise; in one project, that displays rdoc documentation
for methods (a ...
shevegen (Robert A. Heiler)
04:58 AM Bug #15819: cannot read document of File::NULL with "ri File::NULL"
When I type `ri File::NULL`, got
> Nothing known about File::NULL
> ...
but
* `ruby -e 'p File::NULL'` prints `"/dev/null"` succesfully
* Documents are already written in #7365
* I could read it with `ri File::File::Constants`
...
tad (Tadashi Saito)
04:50 AM Bug #15819 (Closed): cannot read document of File::NULL with "ri File::NULL"
tad (Tadashi Saito)
06:33 AM Revision 5776ae34 (git): UTF-8 is one of byte based encodings
nobu (Nobuyoshi Nakada)

05/02/2019

09:26 PM Revision 58cd4b7b (git): * 2019-05-03
git[bot]
09:24 PM Revision 7d02bab0 (git): Nil cannot and should not convert to a string
U.Nakamura
09:16 PM Revision 6610b77e (git): merge revision(s) 66324: [Backport #15385]
Modify insn list only when compiling
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
05:52 PM Feature #15818 (Rejected): Please hide ruby-doc.org pages for EOL releases from the Google index
As far as I know, ruby-doc.org is a third-party project. The footer of the site says:
> Ruby-doc.org is hosted and maintained by James Britt and the Neurogami secret laboratory.
> ...
So, please contact on that email address.
(I'...
mame (Yusuke Endoh)
05:32 PM Feature #15818: Please hide ruby-doc.org pages for EOL releases from the Google index
I don't have a particular pro/con opinion on the suggestion itself, but I do agree with the problem
that we often end up finding old(er) documentation by default - most certainly when doing a search
through Google but perhaps also by u...
shevegen (Robert A. Heiler)
05:03 PM Feature #15818 (Rejected): Please hide ruby-doc.org pages for EOL releases from the Google index
It's a very common experience that if I google a Ruby method or class, the top Google link to me points to the docs for Ruby 2.2 or 2.1 or even 1.9 or 1.8. As a recent example, googling [ruby unicode_normalize] finds me https://ruby-doc.... nelhage (Nelson Elhage)
04:56 PM Feature #1089: Stable sorting for sort and sort_by
One use case I have for a stable sort is a large CSV file which is tracked in a git repository. I have a script which loads the file, adds rows, and then sorts all rows by a particular column before writing them back to the file. I nee... jonathanhefner (Jonathan Hefner)
02:41 PM Feature #11076: Enumerable method count_by
> "map + select" is much more frequent, but it is not introduced yet
I think it would also be nice if `filter_map` was added. However, a specific justification for adding `tally_by` is to avoid an extra array allocation. `filter_map...
jonathanhefner (Jonathan Hefner)
01:44 PM Revision 5c87bb3b (git): * expand tabs.
git[bot]
01:44 PM Revision 5e23b113 (git): Fix potential memory leak
nobu (Nobuyoshi Nakada)
10:43 AM Bug #15794: Can not start Puma with Rails after bundle install
I resolved my issue, it due to some versions of my gems. I updated my gem to the latest version and it works now.
Thank you
dohaibac (Bac Do)
09:11 AM Feature #15817 (Open): Warnings for undef_method and remove_method on initialize()
Title: Warnings for undef_method and remove_method on initialize()
Right now ruby warns you if you remove or undefine initialize, at the least if you
run in verbose mode e. g. the -w flag.
Example for such a warning:
gtk_co...
shevegen (Robert A. Heiler)
05:47 AM Revision d6efb386 (git): * 2019-05-02
git[bot]
05:44 AM Revision a1ae478a (git): Fix a typo
znz (Kazuhiro NISHIYAMA)

05/01/2019

11:03 PM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
> Also, should we try to handle IOs which are not explicitly set as #nonblock=true?
I guess in my proof of concept I wanted to do the bare minimum to show if it would work. But using `io/nonblock` is a bit of an ugly hack, so I person...
ioquatix (Samuel Williams)
10:41 PM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
> how to handle disk IO such as File.read
While many platforms don't support non-blocking disk IO, `liburing` for linux and `IOCP` on Windows might present some opportunities for increased concurrency. Alternatively, some implementat...
ioquatix (Samuel Williams)
03:15 PM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
In case it was not clear, I'm in favor of this change for Ruby 3.
I think it provides the essential primitives to build something powerful and flexible for efficient asynchronous IO in Ruby.
Eregon (Benoit Daloze)
03:11 PM Feature #14736: Thread selector for flexible cooperative fiber based concurrency
We discussed this a bit at the Ruby developer meeting before RubyKaigi and @matz asked me to share my opinion on the bug tracker.
I also attended @ioquatix's talk at RubyKaigi and it was quite convincing.
Basically, the main outcom...
Eregon (Benoit Daloze)
10:36 PM Misc #15782: DevelopersMeeting20190522Japan
* [Feature #14736] Thread selector for flexible cooperative fiber based concurrency
* Is it something we want to move forward with?
* Extend hooks for `wait_one_pid` and `Kernel::sleep`. Are there other areas to hook into?
* Add so...
ioquatix (Samuel Williams)
10:07 AM Misc #15782: DevelopersMeeting20190522Japan
* [Misc #15800] [PATCH] Reduce `ONIG_NREGION` size from 10 to 4
* Power of 2 and testing revealed most pattern matches are less than or equal to 4 results
* `MatchData` instances over allocate memory for the most common cases
* [Mis...
methodmissing (Lourens Naudé)
10:27 PM Bug #15816 (Closed): String#casecmp compares uppercase characters instead of lowercase
The current implementation of `String#casecmp` converts characters to uppercase before comparing them. However, all references I've found for `strcasecmp` (the C function on which `String#casecmp` is based) indicate characters should be... jonathanhefner (Jonathan Hefner)
05:47 PM Feature #15815: Add option to raise NoMethodError for OpenStruct
> Note that you might be able to write `users.map{@[:id]}` in the next version and
> ...
I think that the idiom, or "mental mode", e. g. how users use ruby, is a bit different
between the two examples. At the least to me, "OpenStruct" ...
shevegen (Robert A. Heiler)
05:09 PM Feature #15815: Add option to raise NoMethodError for OpenStruct
It's hard to decide on features of `OpenStruct` as it's somewhat an antipattern.
Note that you might be able to write `users.map{@[:id]}` in the next version and avoid using an `OpenStruct` altogether.
That being said, I am wonderi...
marcandre (Marc-Andre Lafortune)
01:52 PM Feature #15815 (Assigned): Add option to raise NoMethodError for OpenStruct
GitHub PR: https://github.com/ruby/ruby/pull/2164
Currently, `OpenStruct#method_missing` returns `nil` even if the key isn't registered.
```ruby
require 'ostruct'
os = OpenStruct.new({a: 1})
os.a #=> 1
os.b #=> nil
```
I'd ...
mtsmfm (Fumiaki Matsushima)
04:22 PM Bug #15791: Clarify reason for RbConfig's ruby_version not reflecting "teeny" value
I assume it was decided a long time ago. 1.9.3 has a value of 1.9.1.
Maybe a decision was made later that ABI versions would only change on minor releases?
MSP-Greg (Greg L)
01:54 PM Bug #15810: Windows spec failure - Process.ppid returns the process id of the parent of this process - ??
Would it be possible to use execve() in RUNRUBY, such that RUNRUBY and the actual ruby process have the same PID, or is that not available on Windows? Eregon (Benoit Daloze)
11:55 AM Revision 71952440 (git): Silence a (probable) debug print
nobu (Nobuyoshi Nakada)
11:47 AM Revision 474af9ee (git): No last commit when up-to-date
Get the last commit title from the upstream to the head, so that
no `last_commit` line will be shown when the branch is up to date
with the upstream.
nobu (Nobuyoshi Nakada)
11:27 AM Revision 2f0f9115 (git): Ignore ChangeLog
nobu (Nobuyoshi Nakada)
08:38 AM Revision dcb6a6ae (git): Windows simply causes an error to open invalid path
U.Nakamura
08:21 AM Feature #15814 (Closed): Capturing variable in case-when branches
duerst (Martin Dürst)
08:03 AM Feature #15814: Capturing variable in case-when branches
#14912 is more thought-out and seems to have made good progress, my regret is I didn't come upon it when trying to search for duplicate issues. #14709 seems to have a collection of case studies and really interesting discussions, but "if... unihedron (Unihedron 0)
04:34 AM Feature #15814: Capturing variable in case-when branches
That is the exactly same feature which I proposed yeas ago and was rejected. nobu (Nobuyoshi Nakada)
04:31 AM Feature #15814: Capturing variable in case-when branches
What is the relationship with #14912 that already committed? tad (Tadashi Saito)
04:25 AM Feature #15814: Capturing variable in case-when branches
I messed up brackets. unihedron (Unihedron 0)
04:24 AM Feature #15814 (Closed): Capturing variable in case-when branches
In ruby, when a case-when statement is written, the when branches accepts expressions which will be evaluated to objects, then === is called to check if any of them returns true:
```ruby
case 'a'
when 'abc'
# not matched
when Re...
unihedron (Unihedron 0)
01:53 AM Feature #15799: pipeline operator
Eregon (Benoit Daloze) wrote:
> To be fair, I don't particularly like Haskell code and find it very cryptic, which this is getting closer to.
Haskell code can be very clear (or very cryptic). In my personal experience, I found the ...
duerst (Martin Dürst)
 

Also available in: Atom