Project

General

Profile

Activity

From 01/25/2019 to 01/31/2019

01/31/2019

11:13 PM Feature #15580 (Open): Proposal: method addition to class String called .indices ( String#indices )
Hello,
I am not sure whether this proposal has a realistic chance to be added to Ruby; but
I think it is ok to suggest it nonetheless and let matz and the core team decide
whether this may be a useful addition to ruby (at the least ...
shevegen (Robert A. Heiler)
04:43 PM Bug #15579 (Closed): make step when building ruby 2.4.5 on AIX 7.1 results in a Segmentation fault : ruby-2.4.5/lib/rdoc/markup/parser.rb:325
Environment :
Operating System Name : AIX
Operating System Version : 7
Operating System Release : 1
Operating System Level : 7100-03-04-1441
Operating System Bit Mode ...
oracle-scott-phillips (Scott Phillips)
04:17 PM Bug #15578 (Closed): Missing TracePoint return event when a conditional is used before a rescue
Hello, I've been using TracePoint on a Ruby on Rails project and noticed that the number of method 'return' events was less than the number of 'call' events. An example of a return event that isn't always logged (depending on inputs) is ... zetter (Chris Zetter)
02:02 PM Bug #15577 (Closed): FileUtils.remove_entry_secure() raises unexpected NameError
Applied in changeset trunk|r66972.
----------
Fix exception namespace
* lib/fileutils.rb (remove_entry_secure): EISDIR is under the
Errno namespace. [ruby-core:91362] [Bug #15577]
From: Tietew (Toru Iwase) <tietew@tietew.net>
nobu (Nobuyoshi Nakada)
12:06 PM Bug #15577 (Closed): FileUtils.remove_entry_secure() raises unexpected NameError
## How to reproduce
```
$ sudo mkdir /tmp/foobar
$ ruby -rfileutils -e 'FileUtils.remove_entry_secure("/tmp/foobar")'
Traceback (most recent call last):
4: from -e:1:in `<main>'
3: from /usr/local/anyenv/envs/rben...
Tietew (Toru Iwase)
02:02 PM Revision cb5a3298 (git): Fix exception namespace
* lib/fileutils.rb (remove_entry_secure): EISDIR is under the
Errno namespace. [ruby-core:91362] [Bug #15577]
From: Tietew (Toru Iwase) <tietew@tietew.net>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66972 b2dd03c8-39d4-4d8f-9...
nobu (Nobuyoshi Nakada)
01:27 PM Misc #14632: [ANN] git.ruby-lang.org
To remind us the current status, let me list up the details of remaining tasks for git migration:
## Preparations
* chkbuild: change all RubyCI's checkout source from svn to git https://github.com/ruby/chkbuild/pull/42
* And fix t...
k0kubun (Takashi Kokubun)
01:09 PM Bug #15576: Wrong error message from some class methods of `Dir`
I'm not sure this difference between `IO` and `Dir` is intentional. nobu (Nobuyoshi Nakada)
01:08 PM Bug #15576: Wrong error message from some class methods of `Dir`
It is expected as these methods delegate to `Dir.open`.
So you can redefine the `open` method.
```
$ ruby -e 'def Dir.open(*)raise "boom";end; Dir.foreach("."){}'
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: f...
nobu (Nobuyoshi Nakada)
09:58 AM Bug #15576 (Closed): Wrong error message from some class methods of `Dir`
When a error is raised in some class methods of `Dir`, the backtrace is as if the user called `Dir.open`.
```
$ ruby -e 'Dir.foreach {}'
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from -e:1:in `foreach'
-e:1...
takaram (Takuya Aramaki)
12:58 PM Revision 1f641924 (git): Use _NSGetMachExecuteHeader() instead of _mh_execute_header
_mh_execute_header is not accessible from a dylib unless libruby.dylib is
built with -undefined dynamic_lookup. And using -undefined
dynamic_lookup is not good style.
Reported by Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-b...
naruse (Yui NARUSE)
11:08 AM Bug #15284: Unintentional warnings with node.h
ruby_2_4 r66970 merged revision(s) 65667. usa (Usaku NAKAMURA)
11:08 AM Revision 05b05a8f (git): merge revision(s) 65667: [Backport #15284]
Fix for bison 3.2 [Bug #15284]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@66970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
11:04 AM Bug #15495: Backport r66685, r66686 (Try to update cert)
ruby_2_4 r66969 merged revision(s) 66685,66686. usa (Usaku NAKAMURA)
11:03 AM Revision 0f1b218f (git): merge revision(s) 66685,66686: [Backport #15495]
Try to update cert
Try to update cert (2nd try)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@66969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
11:02 AM Bug #15041: [PATCH] cont.c: set th->root_fiber to current fiber at fork
ruby_2_4 r66968 merged revision(s) 64589,64593. usa (Usaku NAKAMURA)
11:02 AM Revision 1de793a5 (git): merge revision(s) 64589,64593: [Backport #15041]
cont.c: set th->root_fiber to current fiber at fork
Otherwise, th->root_fiber can point to an invalid Fiber,
because Fibers do not live across fork. So consider
whatever Fiber is running the root fiber.
...
U.Nakamura
10:59 AM Bug #15340: Time.local behaving inconsistently for excess days after 2038
ruby_2_4 r66967 merged revision(s) 65974. usa (Usaku NAKAMURA)
10:59 AM Revision 3d89e55b (git): merge revision(s) 65974: [Backport #15340]
Normalize month-mday before finding epoch
Especially over the year 2038, 30 Feb and so on may cause odd behavior
on validating found epoch with given year-month-day [Bug #15340]
git-svn-id: svn+ssh://ci.ruby-lang.org/ru...
U.Nakamura
10:58 AM Bug #15479: Array#reject! modifies literal Array
ruby_2_4 r66966 merged revision(s) 66756. usa (Usaku NAKAMURA)
10:58 AM Revision c7dfe607 (git): merge revision(s) 66756: [Backport #15479]
Mark array as "going to be modified" in `Array#reject!`
Before this patch, if `reject!` is called on a shared array it can
mutate the shared array rather than a copy. This patch marks the array
as "going to be m...
U.Nakamura
10:56 AM Bug #15387: Backport r66242 (io.c (io_write_nonblock): add RB_GC_GUARD, io_fflush may switch threads)
ruby_2_4 r66965 merged revision(s) 66242. usa (Usaku NAKAMURA)
10:56 AM Revision 6d7cab3b (git): merge revision(s) 66242: [Backport #15387]
io.c (io_write_nonblock): add RB_GC_GUARD, io_fflush may switch threads
Since io_fflush may block on mutex or rb_io_wait_readable and
switch threads, we need to ensure the `str' VALUE returned by
`rb_obj_as_strin...
U.Nakamura
10:55 AM Bug #15412: backport r66401 (Move autoload to toplevel)
ruby_2_4 r66964 merged revision(s) 66401. usa (Usaku NAKAMURA)
10:55 AM Revision 67305e79 (git): merge revision(s) 66401: [Backport #15412]
Move autoload to toplevel
So that classes which uses Net::HTTP with https can use OpenSSL
namespace for example exception classes like OpenSSL::SSL::SSLError.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_...
U.Nakamura
10:51 AM Revision f0a0909f (git): Fixed [Bug #14731]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@66963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
10:48 AM Bug #14729: Float("long_invalid_string") fails to throw an exception
ruby_2_4 r66962 merged revision(s) 63334. usa (Usaku NAKAMURA)
10:47 AM Revision 4c2f9198 (git): merge revision(s) 63334: [Backport #14729]
object.c: raise on long invalid float string
* object.c (rb_cstr_to_dbl_raise): check long invalid float
string more precisely when truncating insignificant part.
[ruby-core:86800] [Bug #14729]
git-svn-id: s...
U.Nakamura
10:36 AM Bug #15162: Encoding::Converter.search_convpath(Encoding::ASCII_8BIT, Encoding::Emacs_Mule) crashes on MinGW
ruby_2_4 r66961 merged revision(s) 64879. usa (Usaku NAKAMURA)
10:36 AM Revision 673de310 (git): merge revision(s) 64879: [Backport #15162]
transcode.c: add GC guard on raise
* transcode.c (econv_s_search_convpath): add GC guard to fix SEGV
on raise.
[Bug #15162] [ruby-core:89172]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@669...
U.Nakamura
09:45 AM Bug #15469: Ruby2.6 included `bundler` does not handle specified `csv` gem.
hsbt (Hiroshi SHIBATA) wrote:
> @watson1978
> ...
Thank you for your working.
I re-tried the test code in description,
However, there is not difference for me....
```
$ bundle install
Fetching gem metadata from https://rubygems....
watson1978 (Shizuo Fujita)
06:13 AM Bug #15469: Ruby2.6 included `bundler` does not handle specified `csv` gem.
@watson1978
Can you try this with Ruby 2.6.1? r66867 fixed this issue maybe.
hsbt (Hiroshi SHIBATA)
08:02 AM Feature #15575: Prohibit to pass a block singleton class
Agreed to prohibit. Disagree to change the scoping rule (@alanwu).
Matz.
matz (Yukihiro Matsumoto)
04:36 AM Feature #15575: Prohibit to pass a block singleton class
Another option would be to make everything use lexical scope, if the strangeness is indeed because locals are inaccessible inside class << self.
So imagine the following printing 1 2 3.
``` ruby
foo = 1
class A
bar = 2
def hi
...
alanwu (Alan Wu)
05:36 AM Revision 857bbfd0 (git): _insn_type_chars.erb: use C99
Now that comma at the end of enum is allowed, we can write this much
more straight-forward.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66960 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
05:22 AM Revision e2071406 (git): _insn_operand_info.erb: use C99
Same as r66957.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
05:00 AM Revision 971f965d (git): _insn_len_info.erb: add ASSERT_VM_INSTRUCTION_SIZE
Also previous rb_vm_insn_len_info is now a function static variable.
It seems nobody else is using it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shyouhei (Shyouhei Urabe)
04:46 AM Revision 72e318f1 (git): _insn_name_info.erb: use C99
C99 allows string literals of at least 4095 characters (cf: ISO/IEC
9899:1999 section 5.2.4.1) so the previous complex struct layout is no
longer necessary. Just dump the verbatim memory contents we want.
git-svn-id: svn+ssh://ci.rub...
shyouhei (Shyouhei Urabe)
04:35 AM Revision 69431818 (git): * 2019-01-31
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:35 AM Revision 03dc91fa (git): test_iseq.rb: update expected error message
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:35 AM Revision ba4d6ae7 (git): test_iseq.rb: enabled
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:06 AM Bug #15569: TestResolvDNS#test_no_server always fails on usa's mswin environment
FYI, I've never seen GREEN result of the test since last September.
The environment is Windows10 + Visual C++ 14.0(=Visual Studio 2015).
usa (Usaku NAKAMURA)

01/30/2019

11:57 PM Bug #15572: `RubyVM::InstructionSequence` doesn't work with `extend`.
ioquatix (Samuel Williams) wrote:
> For some reason,`RubyVM::InstructionSequence.extend` doesn't seem to work as expected.
`Kernel#extend` seems to work fine.
```
$ ./miniruby -ve 'module Foo; def foo; p :foo; end; end; RubyVM::I...
wanabe (_ wanabe)
09:54 PM Bug #15404: Endless range has inconsistent chaining behaviour
Just want to add to this that
``` ruby
Ripper.sexp("1..\n1..5")
```
breaks and returns nil
kddnewton (Kevin Newton)
07:13 PM Feature #14973: Proposal of percent literal to expand Hash
I just want to +1 this. I think it's a great idea, and had raised it independently in [15236](https://bugs.ruby-lang.org/issues/15236). It doesn't seem like Matz has given an opinion on it though either here or in 15236. Can we bump this... blakewest (Blake West)
06:17 PM Feature #15571: Add methods: iroot, root, and roots
First, I think you should see the number of downloads for the `roots` gem in a different context. Instead of saying it only has 8837 downloads, you should say, Wow, over 8800 people found it useful enough to download to solve a problem f... jzakiya (Jabari Zakiya)
04:26 AM Feature #15571 (Open): Add methods: iroot, root, and roots
Sorry, I misread this. The proposal is about including some of the methods from the gem into Ruby itself. Looking at the number of downloads on rubygems.org (8,836 for the latest version), I'm not exactly convinced this needs to be in Ru... duerst (Martin Dürst)
04:18 AM Feature #15571 (Third Party's Issue): Add methods: iroot, root, and roots
This is the (bug/feature) tracker for Ruby the language. Most gems are maintained separately. Issues for bundled gems may occasionally end up here, but the roots gem is independent. In addition, this gem seems to have been created by you... duerst (Martin Dürst)
02:41 PM Revision a7f5bada (git): Ruby 2.6 is still C90
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
01:09 PM Revision b228a084 (git): merge revision(s) 66888: [Backport #15460]
* Fix rubyspec to follow IO#ungetbyte's fix
Merge CRuby r66824
With fixing actual spec and the version the change applied.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
12:30 PM Feature #15575: Prohibit to pass a block singleton class
ko1 (Koichi Sasada) wrote:
> We can break from `class` syntax.
> ...
At least TruffleRuby doesn't implement it, and we had no bug report about this, so hopefully not used.
Agreed it should be deprecated/removed as it's confusing at best.
Eregon (Benoit Daloze)
12:28 PM Feature #15575: Prohibit to pass a block singleton class
ko1 (Koichi Sasada) wrote:
> or make it syntax sugre of `singleton_class.class_exec do`?
I think that would be confusing as `class` (like `module` and `def`) is a keyword which normally adds a new lexical scope and does not capture t...
Eregon (Benoit Daloze)
12:27 PM Feature #15575: Prohibit to pass a block singleton class
Similar strange example (off-topic):
```
1.times{
class C
break
def undefined_method; end
end
p :unrechable
}
p [:ok, C.instance_methods(false)] #=> [:ok, []]
```
We can break from `class` syntax.
I hope nob...
ko1 (Koichi Sasada)
12:24 PM Feature #15575: Prohibit to pass a block singleton class
Eregon (Benoit Daloze) wrote:
> Agreed.
> ...
or make it syntax sugre of `singleton_class.class_exec do`?
Both are easy to explain the rule. Now, it is somewhat unclear.
ko1 (Koichi Sasada)
12:17 PM Feature #15575: Prohibit to pass a block singleton class
Agreed.
IMHO `class << expr` should be no different than the normal `class Name`, but currently various things are allowed in that context such as `return`, `yield`, etc.
Constant resolution also becomes somewhat dynamically-scoped w...
Eregon (Benoit Daloze)
07:19 AM Feature #15575 (Closed): Prohibit to pass a block singleton class
The following code works now:
```
def foo
class << Object.new
yield
end
end
foo{ p :ok } #=> :ok
```
but I think this feature is very strange because local variables are not active in singleton class.
How about ...
ko1 (Koichi Sasada)
12:25 PM Feature #15567: Allow ensure to match specific situations
@ioquatix Could you give one or two real-world examples where this would be useful? Eregon (Benoit Daloze)
12:22 PM Feature #15567: Allow ensure to match specific situations
ioquatix (Samuel Williams) wrote:
> For example, there is no easy way to capture `retry` or `redo` exiting a block.
Which is intended, it would break the semantics of those if they were caught, or it would be very surprising if some ...
Eregon (Benoit Daloze)
12:12 PM Feature #15574: Prohibit to pass a block on super() implicitly
I would think this is tricky for compatibility (there is definitely code relying on it), but let's see. Eregon (Benoit Daloze)
07:12 AM Feature #15574 (Rejected): Prohibit to pass a block on super() implicitly
As described in [Feature #15554], `super()` (not `super`) pass the given block.
```
class C
def foo
p block_given?
end
end
class C1 < C
def foo
super #=> true
super() #=> true
end
end
C1.new.foo{}...
ko1 (Koichi Sasada)
11:58 AM Revision 15f8fb34 (git): Show the code in syntax assertions
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
10:44 AM Feature #15573: Permit zero step in Numeric#step and Range#step
I can't say in which way to change it but I think this is indeed surprising
behaviour and should be changed either way towards more consistency
if possible.
shevegen (Robert A. Heiler)
05:17 AM Feature #15573: Permit zero step in Numeric#step and Range#step
There is also inconsistency in that, without the block, `0` is allowed in these forms.
```ruby
1.step(10, 0) # => ok
1.step(10, 0){} # => ArgumentError: step can't be 0
(1..10).step(0) # => ok
(1..10).step(0){} # => ArgumentError:...
sawa (Tsuyoshi Sawada)
04:16 AM Feature #15573: Permit zero step in Numeric#step and Range#step
mrkn (Kenta Murata) wrote:
> I want to relax also this restriction.
Tell us why? Consistency?
shyouhei (Shyouhei Urabe)
03:32 AM Feature #15573 (Closed): Permit zero step in Numeric#step and Range#step
Numeric#step disallows zero in the 2nd argument, but it allows zero passed as the value of `by:` keyword argument. I confirmed that this inconsistency exists since 2.3. I want to allow zero in the 2nd argument, too.
```
>> 1.step(10...
mrkn (Kenta Murata)
09:21 AM Bug #15570: rb_int2big signature change #14036 breaks VIM on 32b arches
Hi!
I'm Zdenek, Fedora/RHEL Vim's maintainer and I confirm Vita's report - Vim started to fail on 32b archs since ruby 2.6 landed in Fedora rawhide because of change in [[https://bugs.ruby-lang.org/issues/14036]] , which seemed more ...
zdohnal (Zdenek Dohnal)
06:20 AM Bug #15518: good old Infinite range notation behavior
ruby_2_6 r66949 merged revision(s) 66947. naruse (Yui NARUSE)
06:16 AM Bug #15518: good old Infinite range notation behavior
I fixed the case for ranges whose end is Float::INFINITY.
If you want to continue to discuss for the other cases, please create the new issue.
mrkn (Kenta Murata)
06:06 AM Bug #15518 (Closed): good old Infinite range notation behavior
Applied in changeset trunk|r66947.
----------
enumerator.c: fix arith_seq_first for Infinity
* enumerator.c (arith_seq_first): fix for Float::INFINITY.
* test/ruby/test_arithmetic_sequence.rb: add tests.
* numeric.c (ruby_float_step_...
mrkn (Kenta Murata)
06:20 AM Revision 0a9410ce (git): merge revision(s) 66947: [Backport #15518]
enumerator.c: fix arith_seq_first for Infinity
* enumerator.c (arith_seq_first): fix for Float::INFINITY.
* test/ruby/test_arithmetic_sequence.rb: add tests.
* numeric.c (ruby_float_step_size): export for inter...
naruse (Yui NARUSE)
06:06 AM Revision ea88f7dd (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:05 AM Revision 6f6cf042 (git): enumerator.c: fix arith_seq_first for Infinity
* enumerator.c (arith_seq_first): fix for Float::INFINITY.
* test/ruby/test_arithmetic_sequence.rb: add tests.
* numeric.c (ruby_float_step_size): export for internal use.
* internal.h: add prototype declaration of ruby_float_step_siz...
Kenta Murata
05:08 AM Revision e1e3d642 (git): hash.c: hoisted out st_index_hash
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:54 AM Revision a94b78e4 (git): hash.c: hoisted out dbl_to_index
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:36 AM Revision 15530088 (git): * 2019-01-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:36 AM Revision ef17936b (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:36 AM Revision d07d1928 (git): hash.c: remove repeated rb_hash_start
* hash.c (rb_dbl_long_hash): remove repeated rb_hash_start as
rb_objid_hash includes rb_hash_start,
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:35 AM Misc #15546: DevelopersMeeting20190207Japan
* [Feature #15573] Permit zero step in `Numeric#step` and `Range#step`
* I make this issue as a feature request because the behaviors exist at least since version 2.3. But I think it is a bug, so it should be resolved.
mrkn (Kenta Murata)

01/29/2019

09:25 PM Bug #15572 (Closed): `RubyVM::InstructionSequence` doesn't work with `extend`.
For some reason,`RubyVM::InstructionSequence.extend` doesn't seem to work as expected.
```ruby
module Loader
def load_iseq(path)
puts path
return compile_file(path)
end
end
# This doesn't work?
# RubyVM::Instruct...
ioquatix (Samuel Williams)
09:21 PM Feature #15567: Allow ensure to match specific situations
So, @jeremyevans0, I agree with everything you say.
That being said, this proposal goes beyond just that single case. For example, there is no easy way to capture `retry` or `redo` exiting a block.
Looking at your example, e.g.
...
ioquatix (Samuel Williams)
06:46 PM Feature #10370: [PATCH] We don't need to check whether rb_block_call exists
Been a while but Hiroshi put it on the next upcoming developer meeting so I
guess this may be discussed in a few days.
shevegen (Robert A. Heiler)
05:35 PM Feature #15571 (Open): Add methods: iroot, root, and roots
**Proposal**
The rubygem `roots` provides a few methods to find the numerical roots
of real, complex, and integer numbers. This proposal requests including the
following three (3) methods into Ruby.
https://rubygems.org/gems/roots...
jzakiya (Jabari Zakiya)
01:57 PM Bug #14972: Net::HTTP inconsistently raises EOFError when peer closes the connection
I checked the code again and I noticed I wrote a code which depends current behavior before.
It is to resume with the partially downloaded result.
I consider something like this code with a option or changing the behavior with migrat...
naruse (Yui NARUSE)
12:05 PM Bug #15570 (Closed): rb_int2big signature change #14036 breaks VIM on 32b arches
It was recently pointed out by VIM maintainer in Fedora [1], that VIM fails to build with Ruby 2.6 with the following error:
~~~
gcc -c -I. -DDYNAMIC_RUBY_DLL=\"libruby.so.2.6\" -DDYNAMIC_RUBY_VER=26 -I/usr/include -I/usr/include -DR...
vo.x (Vit Ondruch)
10:42 AM Feature #11076: Enumerable method count_by
For this kind of method, I wish we would implement it in Ruby even in MRI: it's much simpler, more readable, and every Ruby implementation could use it. Eregon (Benoit Daloze)
02:52 AM Feature #11076: Enumerable method count_by
https://github.com/nobu/ruby/pull/new/feature/11076-Enumerable%23tally
As `Hash#[]=` copies string keys, the `object_id` will be unique unless the item is frozen.
nobu (Nobuyoshi Nakada)
01:04 AM Feature #11076: Enumerable method count_by
mame (Yusuke Endoh) wrote:
> I have learnt the word "tally" in this thread. Thank you. It looks good to me, a non-native speaker. I have put this on the agenda of the next developers' meeting.
> ...
Answer 1: I would say the first, b...
baweaver (Brandon Weaver)
09:19 AM Bug #15555: Dir.mktmpdir checks permissions and raise ArgumentError after yielding to block (ensure) & leaks allocated tempdir
ruby_2_6 r66941 merged revision(s) 66909. naruse (Yui NARUSE)
09:19 AM Revision fdca654c (git): merge revision(s) 66909: [Backport #15555]
tmpdir.rb: permission of user given directory
* lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the
parent directory only when using the default temporary
directory, and no check against user given d...
naruse (Yui NARUSE)
05:36 AM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
ruby_2_6 r66940 merged revision(s) 66708. naruse (Yui NARUSE)
05:31 AM Bug #15499 (Closed): Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
Applied in changeset ruby_2_6|r66940.
----------
merge revision(s) 66708: [Backport #15499]
thread.c (call_without_gvl): spawn thread for UBF iff single-threaded
We need another native thread to call some unblocking functions
which...
naruse (Yui NARUSE)
05:31 AM Revision fbad5b97 (git): merge revision(s) 66708: [Backport #15499]
thread.c (call_without_gvl): spawn thread for UBF iff single-threaded
We need another native thread to call some unblocking functions
which aren't RUBY_UBF_IO or RUBY_UBF_PROCESS. Instead of a
permanent thread i...
naruse (Yui NARUSE)
05:00 AM Bug #15488: const_defined?("File::NULL") の挙動
ruby_2_6 r66939 merged revision(s) 66938. naruse (Yui NARUSE)
04:39 AM Revision bf8cc37b (git): merge revision(s) 66938: [Backport #15488]
Fix `Module#const_defined?` on inherited constants
[Fix GH-2061]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)

01/28/2019

07:22 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
I recommend to backport only r66708 for ruby 2.6.1 now.
Honestly speaking I don't understand why it is needed, but eric should know more so I want to believe.
r66712 has several problem so we need discuss more.
ko1 (Koichi Sasada)
07:20 PM Bug #15499: Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
Sorry I didn't check this ticket (because it seems difficult).
> r66708
I'm not sure why another thread is needed. could you explain about it?
> ...
`rb_nogvl` seems not good name.
Maybe Microsoft will name it `rb_thread_call_w...
ko1 (Koichi Sasada)
06:38 PM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
I think you missed an important point here. Like @fxn said above:
> First and foremost, I'd like to be very straightforward saying that if Kernel#autoload is killed tomorrow, that would be fine with me. I'd shutdown Zeitwerk and Rails...
rafaelfranca (Rafael França)
04:22 PM Feature #5653: "I strongly discourage the use of autoload in any standard libraries" (Re: autoload will be dead)
Hi, this is a discussion which I'm pretty much interested in and I'd like to add a few comments.
It seems to me that there are basically two reasons why people rely on autoload:
1. to achieve fast boot;
2. for convenience (not hav...
rosenfeld (Rodrigo Rosenfeld Rosas)
05:06 PM Feature #15563: #dig that throws an exception if a key doesn't exist
My scenario would be similar to k0kubuns scenario.
```Ruby
# The connection translates the request to JSON and parses the response
# from JSON into the correct objects. In this case a nested hash structure.
response = connection.se...
3limin4t0r (Johan Wentholt)
03:15 PM Bug #15569 (Closed): TestResolvDNS#test_no_server always fails on usa's mswin environment
Every week @usa reports a test failure on his mswin environment like this:
```
[ 9/135] TestResolvDNS#test_no_server = 5.00 s
1) Error:
TestResolvDNS#test_no_server:
Timeout::Error: execution expired
C:/Users/usa/develop/r...
k0kubun (Takashi Kokubun)
01:52 PM Feature #15373 (Closed): Proposal: Enable refinements to `#method` and `#instance_method`
nobu (Nobuyoshi Nakada)
01:49 PM Bug #15488 (Closed): const_defined?("File::NULL") の挙動
nobu (Nobuyoshi Nakada)
01:32 PM Revision 7fa16fd9 (git): Fix `Module#const_defined?` on inherited constants
[Fix GH-2061]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:53 AM Revision dd4fdb32 (git): added assertion with method ref operator
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:45 AM Revision b5f90613 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:45 AM Revision 2a4c87dc (git): Add refinements support to method/instance_method.
[Fix GH-2034]
From: manga_osyo <manga.osyo@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:04 AM Revision 2210709b (git): io.c: use fcopyfile(3) in IO.copy_stream if available
fixed r66930.
* io.c (nogvl_copy_stream_func): use fcopyfile(3) in IO.copy_stream if available
* configure.ac: check copyfile.h and fcopyfile(3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Glass_saga (Masaki Matsushita)
03:32 AM Feature #15562: `String#split` option to suppress the initial empty substring
I believe an initial empty string should often be useful and significant, so it is a reasonable default to include one. String#split is used for splitting strings like `key=value` and `/path/components`, not to mention CSV, where `key=`... knu (Akinori MUSHA)
02:46 AM Feature #15562: `String#split` option to suppress the initial empty substring
> (shevegen (Robert A. Heiler):) This reminds me a bit of Dir['*'] versus Dir.entries(Dir.pwd). The latter
also has . and .. entries
Actually, I had the same thing in mind. I have never felt the initial `""` in `String#split` useful ...
sawa (Tsuyoshi Sawada)

01/27/2019

09:46 PM Revision 774c6095 (git): Revert "io.c: use fcopyfile(3) in IO.copy_stream if available"
This reverts commit bd670062c4e3a3c9fdfaaaf7bd3c232442a26a4c.
It fails on rubyspec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Glass_saga (Masaki Matsushita)
08:55 PM Revision 0c7768e6 (git): * 2019-01-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:55 PM Revision f1a3be35 (git): * expand tabs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:55 PM Revision bd670062 (git): io.c: use fcopyfile(3) in IO.copy_stream if available
* io.c (nogvl_copy_stream_func): use fcopyfile(3) in IO.copy_stream if available
* configure.ac: check copyfile.h and fcopyfile(3)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Glass_saga (Masaki Matsushita)
08:28 PM Feature #13821: Allow fibers to be resumed across threads
bascule (Tony Arcieri) wrote:
> There's a simple solution to this: track if a given fiber is holding mutexes (e.g. keep a count of them) and if it is, make Fiber#resume raise an exception if it is resumed in a different thread from the ...
shan (Shannon Skipper)
04:12 PM Feature #15330: autoload_relative
I think `autoload_relative` should be added.
At present, opinion seems to be that `autoload` cannot be removed.
Additionally (and a separate discussion), if `autoload_relative` is added to 2.7, might it provide a path to deprecatin...
MSP-Greg (Greg L)
01:12 PM Revision 42921458 (git): Update to ruby/spec@e57f49c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
05:22 AM Feature #15557: A new class that stores a condition and the previous receiver
zverok (Victor Shepelev) wrote:
> > `Enumerable#grep`
> ...
I meant an example of condition and processing by one method.
```ruby
something.grep(->(x) { x.odd? }) {|x| do_odd_thing(x)}
```
> ...because they write
> ...
`Enumerab...
nobu (Nobuyoshi Nakada)
02:42 AM Feature #15567: Allow ensure to match specific situations
ioquatix (Samuel Williams) wrote:
> One more thing to bear in mind is that you can avoid this feature if you don't like it. Because it's for some very specific situations. It doesn't affect existing code in any way. But for situations l...
jeremyevans0 (Jeremy Evans)
02:42 AM Misc #10233: iseq.cのget_line_info()でバイナリサーチを使うように修正するか
このチケットを全く知りませんでした(すみません)が、2.5 で二分探索にしました。さらにその後 2.6 では簡潔ビットベクトルで O(1) にしました。 mame (Yusuke Endoh)
12:02 AM Misc #15568: TracePoint(:raise)#parameters raises RuntimeError
> Having the ability to get the parameters in a raise context would be very useful for debugging.
I agree. I can't say whether this means that trace.parameters exist but I agree that it may be
useful in debugging/introspection.
> ...
shevegen (Robert A. Heiler)

01/26/2019

11:43 PM Feature #15456: Adopt some kind of consistent versioning mechanism
Ok, maybe I'm not confused.
Assume gem a-1.8 exists with a lower Ruby version constraint of >= 2.0, and a-1.9 exists with a lower Ruby version constraint of >= 2.2.
If one has pessimistic versioning of major.minor, RubyGems will ...
MSP-Greg (Greg L)
11:25 PM Feature #15456: Adopt some kind of consistent versioning mechanism
I'm confused. I'll use major.minor.teeny
> Next year, Mr.A drops Ruby 2.0 support and released a1.gem as 2.0.
> ...
No mention as to whether the releases contain breaking API changes. If not, why a new 'major' release, vs a 'mino...
MSP-Greg (Greg L)
10:05 PM Feature #15456: Adopt some kind of consistent versioning mechanism
Just one example where a popular gem was basically forced to keep compatibility with older versions, or needs a major version increase:
https://github.com/ruby-concurrency/concurrent-ruby/issues/768
I'd guess there are many other sim...
Eregon (Benoit Daloze)
11:05 AM Feature #15456: Adopt some kind of consistent versioning mechanism
My understanding of semantic versioning is that what you depend on is not part of your public API. So, if you drop versions of Ruby, you can release new minor version, it's good enough. ioquatix (Samuel Williams)
11:30 PM Feature #15567: Allow ensure to match specific situations
One more thing to bear in mind is that you can avoid this feature if you don't like it. Because it's for some very specific situations. It doesn't affect existing code in any way. But for situations like mine where I have a handful of us... ioquatix (Samuel Williams)
11:26 PM Feature #15567: Allow ensure to match specific situations
@shevegen - thanks for your feedback.
> The reason why I dislike it is partially due to the syntax verbosity
With regards to syntax, it should use existing keywords, otherwise it can cause more problems. The reason for `not` is alr...
ioquatix (Samuel Williams)
12:03 PM Feature #15567: Allow ensure to match specific situations
I was about to write a long comment, but then I noticed that my reply would be too long, so I shortened
this. So just a few key statements:
I don't like the proposed syntax suggestion here in particular:
```ruby
ensure when not r...
shevegen (Robert A. Heiler)
10:59 AM Feature #15567: Allow ensure to match specific situations
@eregon - thanks for your response.
> `Ensure` should always be executed no matter the circumstances IMHO, so I don't like to make it conditional with extra syntax.
This isn't about not executing `ensure`, but allowing user to hand...
ioquatix (Samuel Williams)
09:51 AM Feature #15567: Allow ensure to match specific situations
I think the workaround using a variable set after `yield` (`success = true`) is not too bad, and clear enough. And the performance would be fine in this case (i.e. there would be no overhead if the JIT profiles the branch and only one br... Eregon (Benoit Daloze)
08:31 AM Feature #15567 (Rejected): Allow ensure to match specific situations
There are some situations where `rescue Exception` or `ensure` are not sufficient to correctly, efficiently and easily handle abnormal flow control.
Take the following program for example:
```
def doot
yield
ensure
# Did the ...
ioquatix (Samuel Williams)
09:10 PM Misc #15568 (Open): TracePoint(:raise)#parameters raises RuntimeError
Currently trying to get the `trace.parameters` of a method in a `raise` event will lead to a RuntimeError. I would contend that it should not, and that it would be perfectly valid to ask for the parameters in the case of an exception.
...
baweaver (Brandon Weaver)
09:03 PM Feature #14915: Deprecate String#crypt
eregontp@gmail.com wrote:
> If we want to remove a feature, we deprecate and warn first, that has always been the case in MRI.

I prefer no removals.

> @normalperson If you disagree, please start a general discussion about warning...
normalperson (Eric Wong)
02:35 PM Feature #15563: #dig that throws an exception if a key doesn't exist
Personally I've hit a real-world use-case of this feature many times.
I often manage structured configs with nested YAML files and load them from Ruby. With current Ruby, to avoid an unhelpful exception `NoMethodError`, I assert the e...
k0kubun (Takashi Kokubun)
01:54 PM Feature #15563: #dig that throws an exception if a key doesn't exist
I am against `dig!` for this purpose. When we have two versions of a method (`foo` and `foo!`), the bang version should be more dangerous than the non-bang version. `dig!` is not the case.
And with whatever name, we need the real-worl...
matz (Yukihiro Matsumoto)
01:14 PM Feature #15563: #dig that throws an exception if a key doesn't exist
shevegen (Robert A. Heiler) wrote:
> I have no particular pro or con against the feature itself as such; I myself do not use or need .dig so I
> ...
There is a well-established convention in Ruby, when you have a pair of methods that d...
jwmittag (Jörg W Mittag)
01:43 PM Revision a53ee213 (git): * 2019-01-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:43 PM Revision 60023cf4 (git): parse.y: trim newline in erred code
* parse.y (parser_yyerror): trim a newline at the end of the erred
code which was replaced with an extra space in the succeeding
cursor line.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:06 AM Feature #14844: Future of RubyVM::AST?
I started playing around with `parser` gem, and I actually found it really great too. I think I'll use the parser gem going forward, since it works on many versions of Ruby. That being said, exposing Ruby's AST is also really fun. ioquatix (Samuel Williams)
11:02 AM Feature #14975: String#append without changing receiver's encoding
@naruse do you think we can make some progress on this issue for 2.7 or not? ioquatix (Samuel Williams)
11:01 AM Feature #15560: Add support for read/write offsets.
Also, rather than using a keyword argument, it could be a 3rd argument after buffer, since buffer must be supplied in order for this to work. ioquatix (Samuel Williams)
08:30 AM Feature #15560: Add support for read/write offsets.
It is useful for read when user wants to read some data, and it wasn't enough (e.g. implementing `gets`) so you need to read some more at the end of what you already have. ioquatix (Samuel Williams)
08:35 AM Misc #15546: DevelopersMeeting20190207Japan
* [Feature #15567] Allow ensure to match specific situations. (ioquatix)
* Could we discuss whether this is a good idea or not?
* [Feature #15560] Add support for read/write offsets. (ioquatix)
* Can we get consensus on whether we...
ioquatix (Samuel Williams)
08:02 AM Bug #15521: encoding is missed when using `CSV.generate`
ruby_2_6 r66926 merged revision(s) 66922. naruse (Yui NARUSE)
08:02 AM Revision df7ac8af (git): merge revision(s) 66922: [Backport #15521]
Upgrade CSV to 3.0.4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@66926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
07:59 AM Bug #15489: SEGV when using refinements and `&:` syntax
ruby_2_6 r66925 merged revision(s) 66658. naruse (Yui NARUSE)
07:59 AM Revision eb1d5ab5 (git): merge revision(s) 66658: [Backport #15489]
vm_args.c: search symbol proc in super classes
* vm_args.c (refine_sym_proc_call): traverse ancestors to search
inherited methods for symbol proc.
[ruby-dev:50741] [Bug #15489]
git-svn-id: svn+ssh://ci.ruby-...
naruse (Yui NARUSE)
07:59 AM Bug #15548: Fix MJIT on OpenBSD when GCC is used to compile
ruby_2_6 r66924 merged revision(s) 66823,66869. naruse (Yui NARUSE)
07:59 AM Revision 66be165f (git): merge revision(s) 66823,66869: [Backport #15548]
Revert "mjit_worker.c: try passing -nostdlib to AIX"
This reverts commit b32fb23083912c37a2601c66531ed786a7c9f3e5.
This didn't work on AIX.
mjit_worker.c: do not use GCC_NOSTDLIB_FLAGS for OpenBSD
Open...
naruse (Yui NARUSE)

01/25/2019

11:36 PM Feature #15565: Circular dependency warnings - suggestions/ideas to improve the output from ruby
(The output here on redmine is a bit different to how I wrote it in a local editor - sorry for some of the
overflowing lines; I tried to align it to ~80 characters. I am not sure how to edit the first thread, only
replies to an issue.)
shevegen (Robert A. Heiler)
11:33 PM Feature #15565 (Open): Circular dependency warnings - suggestions/ideas to improve the output from ruby
Hello ruby folks (and everyone else) reading this suggestion.
I will start with a mini-summary first, a TL;DR - this proposal suggests
to "make it easier/better for us ruby users to solve/resolve/handle
circular dependency warnings"...
shevegen (Robert A. Heiler)
08:16 PM Bug #15564: Pathname#+(pathpart) returns pathpart when pathpart is absolute
Also affects #/
Also affects #join
Malakai97 (Bryan Hockey)
08:11 PM Bug #15564 (Rejected): Pathname#+(pathpart) returns pathpart when pathpart is absolute
```
abs = Pathname.new("/abs/dir")
my = Pathname.new("/my/path")
# actual
my/abs # => #<Pathname:/abs/dir>
# expected
my/abs # => #<Pathname:/my/dir/abs/dir>
```
While this behavior is desirable in #expand_path, here I beli...
Malakai97 (Bryan Hockey)
07:35 PM Feature #15563: #dig that throws an exception if a key doesn't exist
I have no particular pro or con against the feature itself as such; I myself do not use or need .dig so I
can not speak much about it. But I believe one problem with the proposal here is the name.
I think a name such as "dig_e" would...
shevegen (Robert A. Heiler)
05:48 PM Feature #15563: #dig that throws an exception if a key doesn't exist
I just discovered that `#dig` also call private methods. I updated the provided examples to do the same.
```Ruby
hash = { b: 'b' }
hash.singleton_class.send(:private, :dig)
{ a: hash }.dig(:a, :b)
#=> 'b'
```
3limin4t0r (Johan Wentholt)
05:07 PM Feature #15563 (Open): #dig that throws an exception if a key doesn't exist
Ruby 2.3.0 introduced `#dig` for `Array`, `Hash` and `Struct`. Both `Array` and `Hash` have `#fetch`, which works the same way as `#[]`, but instead of returning the default value, raises an exception (unless a second argument or block i... 3limin4t0r (Johan Wentholt)
04:03 PM Feature #15557: A new class that stores a condition and the previous receiver
> `Enumerable#grep`
Well, it is not "it accepts callable", it is a part of "it accepts any pattern (including Proc)", and passing Proc into `grep` makes sense only in "polymorphic pattern situation" (we have a pattern variable, which ...
zverok (Victor Shepelev)
03:47 PM Feature #15557: A new class that stores a condition and the previous receiver
zverok (Victor Shepelev) wrote:
> The problem with @nobu's one, though, that it is pretty rarely seen in core Ruby to pass callable object instead of just a block (though, it exists, like @nobu pointed in another ticket, for example in ...
nobu (Nobuyoshi Nakada)
02:09 PM Revision 0a5b4c13 (git): vm.inc now in C99
This changeset modifies the VM generator so that vm.inc is written in
C99. Also added some comments in _insn_entry.erb so that the
intention of each parts to be made more clear. I think this improves
overall readability of the generate...
shyouhei (Shyouhei Urabe)
01:36 PM Misc #10233 (Closed): iseq.cのget_line_info()でバイナリサーチを使うように修正するか
たまたまGitHubで見かけて、現状のtrunkには適用できない状態になっていたので、closeします。 k0kubun (Takashi Kokubun)
12:07 PM Feature #15562: `String#split` option to suppress the initial empty substring
> Isn't the new option name too long? I'd use .drop_while(&:empty?).
I personally agree with your observation here; but I think that
.drop_while(&:empty?) is also not ideal. I'd then actually prefer
sawa's longer variant than the co...
shevegen (Robert A. Heiler)
12:06 PM Feature #15562: `String#split` option to suppress the initial empty substring
This reminds me a bit of Dir['*'] versus Dir.entries(Dir.pwd). The latter
also has . and .. entries such as:
=> ["foobar.md", "..", "."]
To me the . and .. entries were never useful. I ended up switching to Dir[]
consistently...
shevegen (Robert A. Heiler)
11:33 AM Feature #15562: `String#split` option to suppress the initial empty substring
Isn't the new option name too long? I'd use `.drop_while(&:empty?)`. knu (Akinori MUSHA)
11:08 AM Feature #15562: `String#split` option to suppress the initial empty substring
An example of a frequent use case of `split("a", initial_empty_string: false)` is when we have a text like `text` in the following, and want to extract the paragraphs that follow `SECTION`:
```ruby
text = <<~_
SECTION
Lorem ips...
sawa (Tsuyoshi Sawada)
09:51 AM Feature #15562: `String#split` option to suppress the initial empty substring
znz (Kazuhiro NISHIYAMA) wrote:
> `String#split` with `-1` does not remove empty strings.
> ...
I (particularly) want `["b"]`.
sawa (Tsuyoshi Sawada)
09:04 AM Feature #15562: `String#split` option to suppress the initial empty substring
`String#split` with `-1` does not remove empty strings.
```
>> "aba".split("a", -1)
=> ["", "b", ""]
> ...
=> ["", "b", "", ""]
```
znz (Kazuhiro NISHIYAMA)
07:19 AM Feature #15562 (Open): `String#split` option to suppress the initial empty substring
`String#split` returns an empty substring if any at the beginning of the original string, even though it does not return an empty substring at the end of the original string:
```ruby
"aba".split("a") # => ["", "b"]
```
This is pr...
sawa (Tsuyoshi Sawada)
06:52 AM Bug #15521: encoding is missed when using `CSV.generate`
I've updated `lib/csv` in r66922.
@naruse Could you backport the revision?
kou (Kouhei Sutou)
06:49 AM Revision 24b57b10 (git): Upgrade CSV to 3.0.4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Sutou Kouhei
06:35 AM Revision cdca14e7 (git): * 2019-01-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
06:35 AM Revision cee0c36a (git): Upgrade RSS to 0.2.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Sutou Kouhei
04:14 AM Feature #15559: Logical XOR (^^) operator
Unlike `&&` and `||`, which involve short-circuit evaluation, and hence are keywords rather than methods, the proposed `^^` will not involve short-circuit evaluation. Which is the intended proposal: as a keyword, or as a method? sawa (Tsuyoshi Sawada)
12:11 AM Feature #11076: Enumerable method count_by
enumerable-statistics provides `value_counts` method.
https://github.com/mrkn/enumerable-statistics/blob/master/ext/enumerable/statistics/extension/statistics.c#L1651-L1668
It is designed to follow pandas’s `Series.value_counts`.
mrkn (Kenta Murata)
 

Also available in: Atom