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 ... -
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 ... -
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 ...
-
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> -
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... -
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... -
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... -
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.
-
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... -
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... -
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... -
11:08 AM Bug #15284: Unintentional warnings with node.h
- ruby_2_4 r66970 merged revision(s) 65667.
- 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 -
11:04 AM Bug #15495: Backport r66685, r66686 (Try to update cert)
- ruby_2_4 r66969 merged revision(s) 66685,66686.
- 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 -
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.
- 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.
... -
10:59 AM Bug #15340: Time.local behaving inconsistently for excess days after 2038
- ruby_2_4 r66967 merged revision(s) 65974.
- 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... -
10:58 AM Bug #15479: Array#reject! modifies literal Array
- ruby_2_4 r66966 merged revision(s) 66756.
- 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... -
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.
- 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... -
10:55 AM Bug #15412: backport r66401 (Move autoload to toplevel)
- ruby_2_4 r66964 merged revision(s) 66401.
- 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_... - 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
-
10:48 AM Bug #14729: Float("long_invalid_string") fails to throw an exception
- ruby_2_4 r66962 merged revision(s) 63334.
- 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... -
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.
- 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... -
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.... -
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.
-
08:02 AM Feature #15575: Prohibit to pass a block singleton class
- Agreed to prohibit. Disagree to change the scoping rule (@alanwu).
Matz.
-
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
... -
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 -
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 -
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 -
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... - 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
-
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
-
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
-
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).
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... -
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
-
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...
-
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...
-
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...
-
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...
-
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
-
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 -
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. -
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... -
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... -
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.
-
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... -
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 ... -
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?
-
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 ... -
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.
-
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{}... -
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
-
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. -
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:... -
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?
-
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... -
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 ... -
06:20 AM Bug #15518: good old Infinite range notation behavior
- ruby_2_6 r66949 merged revision(s) 66947.
-
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. -
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_... -
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... - 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
- 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... -
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
-
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
- 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
- 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
-
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 -
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.
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... -
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.
... -
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. -
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... -
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... -
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... -
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.
-
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. -
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... -
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.
-
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... -
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.
-
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... -
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... -
05:00 AM Bug #15488: const_defined?("File::NULL") の挙動
- ruby_2_6 r66939 merged revision(s) 66938.
-
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
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.
-
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... -
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... -
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... -
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... -
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... -
01:52 PM Feature #15373 (Closed): Proposal: Enable refinements to `#method` and `#instance_method`
-
01:49 PM Bug #15488 (Closed): const_defined?("File::NULL") の挙動
-
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 -
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
- 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
-
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 -
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 -
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=`...
-
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 ...
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 - 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
- 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
-
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 -
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 ... -
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... -
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
-
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... -
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... -
02:42 AM Misc #10233: iseq.cのget_line_info()でバイナリサーチを使うように修正するか
- このチケットを全く知りませんでした(すみません)が、2.5 で二分探索にしました。さらにその後 2.6 では簡潔ビットベクトルで O(1) にしました。
-
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.
> ...
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 ... -
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... -
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... -
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.
-
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...
-
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... -
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... -
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... -
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...
-
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 ... -
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.
... -
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... -
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... -
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... -
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... - 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
-
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 -
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.
-
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?
-
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.
-
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.
-
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... -
08:02 AM Bug #15521: encoding is missed when using `CSV.generate`
- ruby_2_6 r66926 merged revision(s) 66922.
-
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 -
07:59 AM Bug #15489: SEGV when using refinements and `&:` syntax
- ruby_2_6 r66925 merged revision(s) 66658.
-
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-... -
07:59 AM Bug #15548: Fix MJIT on OpenBSD when GCC is used to compile
- ruby_2_6 r66924 merged revision(s) 66823,66869.
-
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...
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.) -
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"... -
08:16 PM Bug #15564: Pathname#+(pathpart) returns pathpart when pathpart is absolute
- Also affects #/
Also affects #join -
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... -
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... -
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'
``` -
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...
-
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 ... -
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 ... -
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... -
01:36 PM Misc #10233 (Closed): iseq.cのget_line_info()でバイナリサーチを使うように修正するか
- たまたまGitHubで見かけて、現状のtrunkには適用できない状態になっていたので、closeします。
-
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... -
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... -
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?)`.
-
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... -
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"]`.
-
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", "", ""]
``` -
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... -
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? - 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
- 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
- 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
-
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?
-
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`.