Project

General

Profile

Activity

From 02/18/2018 to 02/24/2018

02/24/2018

08:24 PM Feature #14550: Support keyword arguments with Date#step
Seems ok.
For others, here is a quick link to the documentation for Date
in current ruby 2.5.0:
http://ruby-doc.org/stdlib-2.5.0/libdoc/date/rdoc/Date.html#method-i-step
shevegen (Robert A. Heiler)
02:39 PM Feature #14550 (Open): Support keyword arguments with Date#step
How about supporting keyword arguments with Date#step like Numeric#step?
~~~
from = Date.new(2018, 1, 1)
to = Date.new(2018, 2, 1)
from.step(to: to, by: 3).to_a
~~~
I expected that this is already supported.
But not.
ksss (Yuki Kurihara)
03:36 PM Revision 591baf8f (git): rb_int_powm: call rb_int_pow directly
* bignum.c (rb_int_powm): call rb_int_pow directly instead of calling `**`
operator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62567 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Kenta Murata
03:06 PM Revision da9300dc (git): * 2018-02-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:06 PM Revision c225d3c9 (git): complex.c, rational.c: remove dead code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Kenta Murata
02:56 PM Revision daa67ca3 (git): rational.c: simplify a branch condition
* rational.c (nurat_s_convert): simplify a branch condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Kenta Murata
02:20 PM Feature #14489: MJIT needs a reusable cache
I agree with the direction. After resolving the slowness on Rails, we might be able to tune the default for discourse benchmark or something, to improve the boot time. k0kubun (Takashi Kokubun)
12:06 PM Feature #14489: MJIT needs a reusable cache
One simple way that might help here is to make the default for --jit-min-calls much higher.
Compiling after only 5 calls by default seems very early.
Figuring out a better compilation threshold or heuristic would compile much less duri...
Eregon (Benoit Daloze)
05:51 AM Feature #14489 (Rejected): MJIT needs a reusable cache
> A big question though is if the binaries can have some sort of manifest that allows you to run a pre-processor and do a simple string replace?
This might resolve performance decrease in indirection. But the optimized code relies on ...
k0kubun (Takashi Kokubun)
01:03 PM Bug #14549 (Closed): abort Date#step
~~~ruby
require 'date'
o = Object.new
def o.<=>(*)
2
end
Date.new(2000, 1, 1).step(3, o) { }
#=> abort
~~~
I think, It's not intentional behavior.
And it should raise `TypeError` or `ArgumentError`, maybe.
ksss (Yuki Kurihara)
12:07 PM Feature #14546: Hash#delete!
> as I understand ! does not mean destructive, but rather
> ...
You may still have the issue of semantics.
For example, .fetch() semantic is different than .delete().
The way how I remember methods with a "!", even if this is
not...
shevegen (Robert A. Heiler)
04:42 AM Feature #14546: Hash#delete!
nobu (Nobuyoshi Nakada) wrote:
> `Hash#delete` is destructive, so appending `!` doesn't seem making sense.
I'm as guilty of it as anyone, but as I understand [`!` does not mean destructive](https://www.ruby-forum.com/topic/176830#773...
rringler (Ryan Ringler)
02:20 AM Feature #14546: Hash#delete!
`Hash#delete` is destructive, so appending `!` doesn't seem making sense.
Rather, a destructive version of `Hash#fetch` feels better.
nobu (Nobuyoshi Nakada)
08:54 AM Revision 8b9a3eab (git): lib/erb.rb: Add uplevel to warn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
07:20 AM Bug #14547: segfault on Rational() with positive exponent in a string
ruby_2_5 r62562 merged revision(s) 62555. naruse (Yui NARUSE)
02:08 AM Bug #14547 (Closed): segfault on Rational() with positive exponent in a string
Applied in changeset trunk|r62555.
----------
rational.c: segfault on Rational exponent
* rational.c (read_num): fix segfault on Rational() with positive
but less than the length of fractional part exponent. should be
negated to c...
nobu (Nobuyoshi Nakada)
07:19 AM Revision e16d49fb (git): merge revision(s) 62555: [Backport #14547]
rational.c: segfault on Rational exponent
* rational.c (read_num): fix segfault on Rational() with positive
but less than the length of fractional part exponent. should be
negated to convert to divisor which...
naruse (Yui NARUSE)
07:19 AM Bug #12762: missing links in LEGAL
ruby_2_5 r62561 merged revision(s) 62513. naruse (Yui NARUSE)
07:19 AM Revision a94362d3 (git): merge revision(s) 62513: [Backport #12762]
Update url with 404 status on LEGAL file.
* Update redirected and upstream url.
* Added the Wayback Machine url for missing link.
[Bug #12762][ruby-dev:49802]
From: SHIBATA Hiroshi <hsbt@ruby-lang...
naruse (Yui NARUSE)
02:58 AM Revision b81538d2 (git): Judge ERB version not RUBY_VERSION but ERB.version
On cross compilation, ruby command uses fake RUBY_VERSION.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
02:58 AM Revision 22acbed6 (git): On getting changelog, use git-log with --no-notes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
02:55 AM Revision 1bfe28e2 (git): version.h: get rid of duplication
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62558 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:48 AM Revision 4704a0dc (git): test for r62555
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:45 AM Revision 789853ed (git): rational.c: removed needless calc
* rational.c (read_num): exp(0) is 1, no need to multiply.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:38 AM Feature #14548: Allow some_array&.[1] to be a valid syntax
It was introduced at [r52422] once, but removed soon at [r52430] by a matz's objection.
[r52422]: https://github.com/ruby/ruby/commit/dbf73f6fc2a4b0414110eea64a9f98d33c2cf930
[r52430]: https://github.com/ruby/ruby/commit/a3ee54f8a653...
nobu (Nobuyoshi Nakada)
02:15 AM Bug #14545 (Closed): Backport r62071 to ruby 2.5
The ticked is closed already, and now set "Backport" to "2.5: REQUIRED".
"Backport REQUIRED" in "Closed" ticket is the mark for backporting.
nobu (Nobuyoshi Nakada)
02:13 AM Bug #14500: Missing Regexp documentation and clarification on behavior of \K for edge case
oh, I didn't check with `$10`. I'd tried with backreference. Any idea how to use `\10`?
```
$ echo 'abcdefghij' | ruby -pe 'sub(/(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)/, ":\\9:")'
:i:
$ echo 'abcdefghij' | ruby -pe 'sub(/(.)(.)(.)(.)(.)(.)...
Sundeep (Sundeep Agarwal)
01:30 AM Bug #14500: Missing Regexp documentation and clarification on behavior of \K for edge case
Sundeep (Sundeep Agarwal) wrote:
> * suggestion to add that numbered capturing groups is limited to `9`
I don't think so.
Why did you think so?
```
irb -r irb/completion --simple-prompt
> ...
=> 0
>> $10
=> "a"
```
znz (Kazuhiro NISHIYAMA)
02:08 AM Revision f954caea (git): rational.c: segfault on Rational exponent
* rational.c (read_num): fix segfault on Rational() with positive
but less than the length of fractional part exponent. should be
negated to convert to divisor which is a reciprocal.
[ruby-core:85783] [Bug #14547]
git-svn-id: svn...
nobu (Nobuyoshi Nakada)
01:12 AM Revision 62316091 (git): Improve Array#sample with random documentation
* array.c (rb_ary_sample): Adds examples for the use of the
optional parameter random for Array#sample and unifies the style
with the documentation of Array#shuffle.
[Fix GH-1825]
From: Alberto Almagro <alberto.almagro@rakuten.com>...
nobu (Nobuyoshi Nakada)
01:05 AM Revision e5d5cc4a (git): NEWS: elaborate on JIT for 2.6.0-preview1 [ci skip]
This information is backported from the draft of 2.6.0-preview1 release
note. NEWS for final 2.6.0 release will be different.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
01:02 AM Revision 35ab341c (git): Fix typo: blcok -> block
Typo in a comment about "evaluator body".
[Fix GH-1824]
From: hkdnet <satoko.itse@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:40 AM Revision f6445718 (git): * 2018-02-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:40 AM Revision 07a4943d (git): mjit.c: fix deadlock on marking MJIT's ISeq
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)

02/23/2018

07:59 PM Feature #14548 (Assigned): Allow some_array&.[1] to be a valid syntax
Currently, Ruby allows accessing an array's index while testing whether the array is not nil with this syntax: `my_array&.[](1)`. I've always found this awkward but didn't mind about suggesting anything to improve this.
I was just rea...
rosenfeld (Rodrigo Rosenfeld Rosas)
07:28 PM Bug #14547 (Closed): segfault on Rational() with positive exponent in a string
~~~ ruby
Rational('1.11e1')
~~~
results in segmentation fault
pb (pumbur _)
06:52 PM Feature #14546 (Assigned): Hash#delete!
Hash#delete currently returns nil if a given key is not found in the hash. It would be nice to have a way to check that the key was present in the hash. This can be accomplished with with a block, but it would be nice to have some sugar ... rringler (Ryan Ringler)
05:53 PM Feature #14473: Add Range#subrange?
Good point v.ox, I did consider implementing `subset?` as an overloading of `include?` (or possibly `cover?` ?), as one can't have a range-of-ranges (so there is no ambiguity).
How would you distinguish between strict/non-strict - a `...
owst (Owen Stephens)
05:43 PM Feature #14473: Add Range#subrange?
Thanks for your thoughts al2o3cr, your "bigger point" is interesting:
> So range_1 claims to be a subset of range_2, but no elements of range_2 are included in range_1.
My thinking here was that the empty set is a subset of all set...
owst (Owen Stephens)
05:09 PM Feature #14473: Add Range#subrange?
Why not modify Range#include? to accept Range object. Anyway, there is missing any justification for the RFE. vo.x (Vit Ondruch)
04:30 PM Feature #14473: Add Range#subrange?
Minor point: IMO a "Range with steps" isn't a Range, it's something else. It doesn't seem relevant to the discussion.
Bigger point: the tests on improper ranges in the patch seem to imply some odd consequences:
~~~ ruby
range_1 = ...
al2o3cr (Matt Jones)
12:43 PM Feature #14473: Add Range#subrange?
Attached updated patch, the former had a syntax error (a missing `)`). owst (Owen Stephens)
12:30 PM Feature #14473: Add Range#subrange?
Good questions duerst. I wonder if I should have stuck with the `subrange` naming rather than `subset`, due to the Numeric behaviour.
> What e.g. should be the result of (5..10).subset?(5.5..7.9)?
The implementation I have used in...
owst (Owen Stephens)
01:39 AM Feature #14473: Add Range#subrange?
As long as we only consider ranges starting and ending with integers, concepts such as subset and superset make sense. But ranges can also be constructed from other numbers, and other objects in general.
What e.g. should be the result...
duerst (Martin Dürst)
03:58 PM Bug #14544 (Closed): crash on gem update
vo.x (Vit Ondruch)
03:57 PM Bug #14544: crash on gem update
This is the same as #14343, but the real solution is #14261 vo.x (Vit Ondruch)
10:42 AM Bug #14544 (Closed): crash on gem update
After a clean install using rbenv on a new MacBook Pro running High Sierra 10.13.3, gem update fails:
~: gem update
Updating installed gems
Updating ffi
Fetching: ffi-1.9.22.gem (100%)
Building native extensions. This could take a w...
allank (Allan Kinnaird)
02:41 PM Bug #14545 (Closed): Backport r62071 to ruby 2.5
Please backport r62071 (https://bugs.ruby-lang.org/issues/14407) to ruby 2.5 to make toplevel constant lookup consistent with `defined?` behavior in than branch.
Thanks!
grzuy (Gonzalo Rodriguez)
01:16 PM Bug #14357: thread_safe tests suite segfaults
Thank you for the patch. I applied it to Ruby in Fedora and so far like 10 builds of thread_safe passed without issues. I hope I'll be able to update the Ruby package soon. vo.x (Vit Ondruch)
12:58 PM Feature #8158: lightweight structure for loaded features index
Hi all.
I did create an account of funny_falcon on svn.ruby-lang.org.
hsbt (Hiroshi SHIBATA)
11:41 AM Bug #14542: syswrite spuriously empties the given string
> For 2.4.3, can you try removing the rb_str_tmp_frozen_release call in the rb_io_syswrite function in io.c?
With difficulty ... the only place I manage to reproduce semi-reliably is on Travis. This does happen outside Travis, but rar...
sylvain.joyeux (Sylvain Joyeux)
08:39 AM Revision daad6187 (git): eval_error.c: rb_error_write flags
* eval_error.c (rb_error_write): add highlight and reverse mode
flags. defaulted to rb_stderr_tty_p() if Qnil.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:32 AM Revision 28278b83 (git): groups_spec.rb: get rid of limit on macOS
* spec/ruby/core/process/groups_spec.rb: on macOS, getgroups(2)
has a variant which has no limit but not setgroups(2). so the
default groups may exceed the limit. as the call of setgroups
is expected to fail here, the content doe...
nobu (Nobuyoshi Nakada)
08:24 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
This appears to be longstanding GCC issue on aarch64, which was recently exposed by change in GCC defaults [1]. However, the GCC upstream is questioning usage of \_\_builtin_setjmp/\_\_builtin_longjmp. Can somebody provide answer to this... vo.x (Vit Ondruch)
06:17 AM Misc #14414: Move https://ruby-talk.trydiscourse.com/ to talk.ruby-lang.org
Ok, Matz we will move this to a proper domain for now.
We will see if something like ruby-talk-archive.com is available, register it, and make sure it is indexed by Google.
We will ensure on the footer of all pages it is clear ho...
sam.saffron (Sam Saffron)
05:03 AM Misc #14414: Move https://ruby-talk.trydiscourse.com/ to talk.ruby-lang.org
>ruby-talk.trydiscourse.com is a bad domain name
I don't think so. `Problem: All mailing list discussion is not searchable on Google, this is hurting the community` and `Problem: ruby-talk.trydiscourse.com is a bad domain name` are no...
hsbt (Hiroshi SHIBATA)
04:36 AM Misc #14414: Move https://ruby-talk.trydiscourse.com/ to talk.ruby-lang.org
Sounds reasonable. @hsbt do you have any additional concern?
Matz.
matz (Yukihiro Matsumoto)
05:12 AM Bug #14543 (Closed): `make commit` show error of `common-srcs`
When I use `make commit`, it shows following error.
```
~/D/g/r/ruby (trunk) > mk commit
make: Entering directory '/Users/hsbt/Documents/github.com/ruby/ruby/.x86_64-darwin'
Committing to svn+ssh://svn@ci.ruby-lang.org/ruby/trunk ....
hsbt (Hiroshi SHIBATA)
05:09 AM Revision 2e1b0064 (git): Update minitest-5.11.3 on bundled gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e hsbt (Hiroshi SHIBATA)
03:45 AM Revision 26741c97 (git): Use Process::Tms
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62545 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:18 AM Revision 96db72ce (git): [DOC] missing docs at toplevel
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:16 AM Revision b9d01e22 (git): [DOC] obsolete classes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:16 AM Revision 16ef24ac (git): [DOC] nodoc internal methods/classes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:16 AM Revision 4739266a (git): [DOC] hide declaration from rdoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
02:16 AM Revision 44c53ee4 (git): process.c: deprecated Struct::Tms
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62540 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:59 AM Bug #14334 (Open): Segmentation fault after running rspec (ruby/2.5.0/erb.rb:885 / simplecov/source_file.rb:85)
Some additional information. We're encountering the same segmentation fault, with the same C backtrace from inside the GC. (https://github.com/GoogleCloudPlatform/google-cloud-ruby/issues/1979). We can reproduce it even when we remove si... dazuma (Daniel Azuma)

02/22/2018

11:03 PM Bug #14542: syswrite spuriously empties the given string
sylvain.joyeux@m4x.org wrote:
> https://bugs.ruby-lang.org/issues/14542
>
> * Target version:
> * ruby -v: 2.3.6, 2.4.3

Hitting this in 2.4.3 might be my fault, but I'm not sure about
Ruby 2.3.6 since my garbage reduction fixe...
normalperson (Eric Wong)
01:56 PM Bug #14542 (Third Party's Issue): syswrite spuriously empties the given string
I'm doing a bit of buffer management to write on a socket. The main method looks like this:
~~~ ruby
@write_buffer.concat(new_bytes) if new_bytes
written_bytes = io.syswrite(@write_buffer)
@write_buffer = @write_buffer[written_byte...
sylvain.joyeux (Sylvain Joyeux)
10:26 PM Misc #14414: Move https://ruby-talk.trydiscourse.com/ to talk.ruby-lang.org
I think I did a terrible job explaining this and believe it is a language barrier.
### Problem
- All mailing list discussion is not searchable on Google, this is hurting the community
Example:
- https://www.google.com.au/sea...
sam.saffron (Sam Saffron)
07:24 AM Misc #14414 (Rejected): Move https://ruby-talk.trydiscourse.com/ to talk.ruby-lang.org
Hi, Sam.
Thank you for your offer. But I can not care about discourse.com as *.ruby-lang.org.
For example, When talk.ruby-lang.org is down, its users will claim to me.
We should maintain them each policy.
Again, Thank you for y...
hsbt (Hiroshi SHIBATA)
10:04 PM Bug #14368: backport r61862 (Fix SEGV of `/#{"\u3042"}#{'い'}/` in non UTF-8)
ruby_2_5 r62539 merged revision(s) 61862. naruse (Yui NARUSE)
10:04 PM Revision 86613d13 (git): merge revision(s) 61862: [Backport #14368]
parse.y (new_regexp): Fix SEGV of `/#{"\u3042"}#{'?'}/` in non UTF-8
Mixing other encoding string literals in one Regexp caused SEGV.
This bug was found by CoverityScan.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branc...
naruse (Yui NARUSE)
09:41 PM Bug #14420: [BUG] Unnormalized Fixnum value on Rational#hash.to_s
ruby_2_5 r62538 merged revision(s) 62107. naruse (Yui NARUSE)
09:41 PM Revision 4724dea4 (git): merge revision(s) 62107: [Backport #14420]
force fixable
* complex.c (nucomp_hash): force hash values fixable.
[ruby-core:85224] [Bug #14420]
* rational.c (nurat_hash): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62538 b2dd03c...
naruse (Yui NARUSE)
09:29 PM Bug #14356: Backport 61605
ruby_2_5 r62537 merged revision(s) 61605,62359,62361. naruse (Yui NARUSE)
09:29 PM Revision c442dd60 (git): merge revision(s) 61605,62359,62361: [Backport #14356]
Try to fix Travis CI configuration.
.travis.yml: send notification to #alerts
instead of #commits.
.travis.yml: resurrect notification to #commits
I heard at least Shibata-san sees the channel for the ...
naruse (Yui NARUSE)
09:26 PM Bug #14459: Unexpected compile error in 2.5.0
ruby_2_5 r62527 merged revision(s) 62333. naruse (Yui NARUSE)
06:10 PM Feature #14473: Add Range#subrange?
Thank you nobu, I came to the same realisation when writing the tests for my attempt at an implementation (patch attached).
Please let me know what you think, when you have time. This is my first "proper" MRI patch, so all comments g...
owst (Owen Stephens)
07:21 AM Feature #14473: Add Range#subrange?
It should consider `exclude_end?` too. nobu (Nobuyoshi Nakada)
03:34 PM Revision abf3d25d (git): test/ruby/test_rubyoptions.rb: fix typo and only expect +JIT for CRuby
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eregon (Benoit Daloze)
03:29 PM Revision 2d1a4154 (git): ruby.c: fix typo in r62530
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e k0kubun (Takashi Kokubun)
03:11 PM Revision c273cbca (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:11 PM Revision 666cafbe (git): test_rubyoptions.rb: don't test --jit if not supported
test/lib/jit_support.rb: carved out JITSupport
test/ruby/test_jit.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
k0kubun (Takashi Kokubun)
03:03 PM Revision 073c8cfe (git): * 2018-02-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:03 PM Revision 8038bb2f (git): tool/generic_erb.rb: check ERB version
instead of Ruby's.
When older ERB is installed but Ruby is still 2.6.0, this may cause
error like:
```
Traceback (most recent call last):
5: from ../src/tool/generic_erb.rb:36:in `<main>'
4: from ../src/tool/generic_erb.rb:36:i...
k0kubun (Takashi Kokubun)
02:53 PM Feature #14462 (Closed): MJIT enabled should be displayed in the version string
Applied in changeset trunk|r62530.
----------
version.c: show +JIT when --jit is passed
in version output.
version.h: ditto
ruby.c: propagate option for it
common.mk: updated dependency for version.c
mjit.c: overwrites the RUBY_DESCRI...
k0kubun (Takashi Kokubun)
02:53 PM Revision 171c496e (git): version.c: show +JIT when --jit is passed
in version output.
version.h: ditto
ruby.c: propagate option for it
common.mk: updated dependency for version.c
mjit.c: overwrites the RUBY_DESCRIPTION to have +JIT when --jit is passed
test/ruby/test_rubyoptions.rb: add test for them
...
k0kubun (Takashi Kokubun)
02:16 PM Bug #14541: Class variables have broken semantics, let's fix them
Eregon (Benoit Daloze) wrote:
> Moreover, manually defining class-level instance variables with
> ...
This is one of those change requests that I have thought about for a long time already but didn't request it because I thought it ...
dsferreira (Daniel Ferreira)
01:42 PM Bug #14541: Class variables have broken semantics, let's fix them
shevegen (Robert A. Heiler) wrote:
> I'd rather just remove them altogether. :P
That might be possible in Ruby 3, but unlikely in Ruby 2.x.
Even then, I don't think we want to break compatibility too much for Ruby 3.
I would rather...
Eregon (Benoit Daloze)
01:19 PM Bug #14541: Class variables have broken semantics, let's fix them
I'd rather just remove them altogether. :P
However had, since I myself do not use them anyway, it is not really
important to me whether they are there or not - I only use a subset
of ruby which I like. I mostly store stuff that shou...
shevegen (Robert A. Heiler)
11:49 AM Bug #14541: Class variables have broken semantics, let's fix them
To clarify, "setting a class var on Object removes class vars in subclasses" means:
Setting a class variable in some class removes class variables *of the same name* in all descendant classes of that class.
Eregon (Benoit Daloze)
11:47 AM Bug #14541 (Closed): Class variables have broken semantics, let's fix them
Class variables have the weird semantics of being tied to the class hierarchy and being inherited between classes.
I think this is counter-intuitive, dangerous and basically nobody expects this behavior.
To illustrate that, we can br...
Eregon (Benoit Daloze)
01:28 PM Feature #14256 (Closed): Deprecate $SAFE support in ERB and let ERB.new take keyword arguments for it
Applied in changeset trunk|r62529.
----------
erb.rb: deprecate safe_level of ERB.new
Also, as it's in the middle of the list of 4 arguments, 3rd and 4th arguments
(trim_mode, eoutvar) are changed to keyword arguments.
Old ways to spec...
k0kubun (Takashi Kokubun)
01:28 PM Revision cc777d09 (git): erb.rb: deprecate safe_level of ERB.new
Also, as it's in the middle of the list of 4 arguments, 3rd and 4th arguments
(trim_mode, eoutvar) are changed to keyword arguments.
Old ways to specify arguments are deprecated and warned now.
bin/erb: deprecate -S option.
We'll remov...
k0kubun (Takashi Kokubun)
12:51 PM Feature #14506 (Closed): Possible bug in cmdarg_stack
Applied in changeset trunk|r62528.
----------
Fix CMDARG manipulation
* parse.y: Fix CMDARG manipulation. Use CMDARG_P to identify
keyword_do/keyword_do_block. [Feature #14506] [Fix GH-1823]
From: Ilya Bylich <ibylich@gmail.com>
nobu (Nobuyoshi Nakada)
12:50 PM Feature #14506: Possible bug in cmdarg_stack
ibylich (Ilya Bylich) wrote:
> > Maybe, `lambda` and `brace_body` parts aren't needed?
> ...
No, just confirmed.
> No, when lexer comes to the "do" token it has a state "EXPR_END|EXPR_ENDARG". I understand that it's a bitmask, but f...
nobu (Nobuyoshi Nakada)
11:55 AM Feature #14506: Possible bug in cmdarg_stack
nobu (Nobuyoshi Nakada) wrote:
> Seems nice.
> ...
Maybe, I didn't have a chance to test it. Would you like me to check and revert this part?
nobu (Nobuyoshi Nakada) wrote:
> And, just curiosity, what do you mean by "dual state", `...
ibylich (Ilya Bylich)
11:21 AM Feature #14506: Possible bug in cmdarg_stack
Seems nice.
Maybe, `lambda` and `brace_body` parts aren't needed?
And, just curiosity, what do you mean by "dual state", `cmdarg` and `lex_state`?
nobu (Nobuyoshi Nakada)
09:54 AM Feature #14506: Possible bug in cmdarg_stack

This patch does not introduce any logical changes (at least I don't expect any).
mame (Yusuke Endoh) wrote:
> I think that this is not a bug, and that your patch is for refactoring. Am I right?
Yes, exactly.
mame (Yusuke E...
ibylich (Ilya Bylich)
02:27 AM Feature #14506 (Assigned): Possible bug in cmdarg_stack
I think that this is not a bug, and that your patch is for refactoring. Am I right?
Please clarify your motivation if any. I understand that you want this change [for ease of backporting from parser.y to the parser gem](https://gith...
mame (Yusuke Endoh)
12:48 AM Feature #14506: Possible bug in cmdarg_stack
I've sent a PR https://github.com/ruby/ruby/pull/1823 ibylich (Ilya Bylich)
12:51 PM Revision 1727c835 (git): Fix CMDARG manipulation
* parse.y: Fix CMDARG manipulation. Use CMDARG_P to identify
keyword_do/keyword_do_block. [Feature #14506] [Fix GH-1823]
From: Ilya Bylich <ibylich@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62528 b2dd03c8-39d4-4d8...
nobu (Nobuyoshi Nakada)
11:01 AM Revision 526cc900 (git): merge revision(s) 62333: [Backport #14459]
compile.c: popped hash
* compile.c (compile_array): skip creating new hash if preceeding
elements are popped all. [ruby-core:85486] [Bug #14459]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62527 b2d...
naruse (Yui NARUSE)
07:34 AM Revision 95208d59 (git): Ignore rb_mjit_min_header- instead of rb_mjit_header-
[Fix GH-1822]
From: hkdnet <satoko.itse@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:34 AM Revision 8a1706a4 (git): Ignore /mjit_config.h
[Fix GH-1822]
From: hkdnet <satoko.itse@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:11 AM Bug #14505 (Feedback): IO.popen / Open3.popen2 / backtick subprocess remains blocked
That python code isn't equivalent, as it does not capture the output.
Does `system("ruby", "-r", "oci8", "-e", "puts 'hello'")` block too?
nobu (Nobuyoshi Nakada)
06:36 AM Bug #11943 (Rejected): Segmentation fault ruby 2.0.0p645
Ruby 2.0.0 is outdated status. Please try with Ruby 2.4+ hsbt (Hiroshi SHIBATA)
06:36 AM Bug #11856 (Rejected): Segmentation fault
Ruby 2.0.0 is outdated status. Please try with Ruby 2.4+ hsbt (Hiroshi SHIBATA)
05:06 AM Revision 74009968 (git): NEWS: fixed unintentional description list [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:55 AM Revision 5d874cf1 (git): NEWS: fixed unintentional description list [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:13 AM Revision 5fe33f07 (git): NEWS: adjust layout [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:33 AM Revision a1fb880f (git): Add KeyError, NameError and NoMethodError changes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Sutou Kouhei
03:14 AM Revision 24294c7d (git): NEWS: fixed a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
01:58 AM Revision 9ffa3795 (git): test_process.rb: assert minimum maxgroups
* test/ruby/test_process.rb (TestProcess#test_maxgroups):
maxgroups should be one at least.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:45 AM Misc #14210 (Assigned): maintain net/protocol, net/smtp, tempfile, tmpdir
hsbt (Hiroshi SHIBATA)

02/21/2018

11:51 PM Bug #14539: Duplicate range in character class warning
Agreed. Your code did not use more than one \X so the warning is
incorrect as it is (because you did not use more than one \X, so
at best, it may have originated from elsehwere, which was not
your fault then) - so it sounds like a bu...
shevegen (Robert A. Heiler)
10:56 PM Bug #14539 (Closed): Duplicate range in character class warning
~~~ ruby
#!/usr/bin/env ruby -w
puts RUBY_VERSION
puts "👍".match?(/\X/).inspect
puts '--------------'
~~~
~~~ text
2.4.3
true
--------------
2.5.0
grapheme_warning.rb:3: warning: character class has duplicated range: /\X/
t...
Anonymous
08:10 PM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
It seems they are getting further:
~~~
With -fomit-frame-pointer on *everything*, and hacking out the call to rb_thread_create_timer_thread in Init_Thread (to keep this single-threaded for simplicity), the bug appears to be a problem...
vo.x (Vit Ondruch)
12:51 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
I confirmed it can be reproduced with docker + qemu-aarch64-static + binfmt.
Dockerfile is attached.
(Note that it requires a copy of your /usr/bin/qemu-aarch64-static in working directory)
I also confirmed the issue is avoidable wi...
wanabe (_ wanabe)
05:26 PM Feature #14506 (Closed): Possible bug in cmdarg_stack
cmdarg stack is a stack of bytes that has 1 on top of it when the parser is in the command mode.
But for this code:
~~~ ruby
a b(c d), "x" do end
~~~
And this line in parse.y:
~~~ c
> SHOW_BITSTACK(p->cmdarg_stack, "BEFORE...
ibylich (Ilya Bylich)
05:06 PM Revision b6f290f2 (git): * 2018-02-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:06 PM Revision 3095f4ec (git): * NEWS: add NEWS entry about Binding#source_location [Feature #14230]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e mame (Yusuke Endoh)
04:54 PM Feature #14473: Add Range#subrange?
So, something like (naive implementation in Ruby):
~~~ ruby
Range.class_exec do
def subset?(other)
raise ArgumentError unless other.is_a?(Range)
first >= other.first && last <= other.last
end
def proper_subset...
owst (Owen Stephens)
04:48 PM Feature #14473: Add Range#subrange?
+1 for this suggestion - we have a similar method in our code base, implemented approximately as follows:
~~~ ruby
Range.class_exec do
def subset?(other)
raise ArgumentError unless other.is_a?(Range)
first >= other.fir...
owst (Owen Stephens)
02:55 PM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Pass a new arg to create GreenThread maybe introduce more problems.
For example:
```
g_thr = Thread.create(green_thread: true)
g_thr.is_a?(Thread) # => false or ture?
```
If Thread.create return a non Thread object, it's weird....
jjyr (Jinyang Jiang)
08:42 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
On 2018/02/21 17:07, Eric Wong wrote:
>> Or `Thread.create(keyword_args...)` ? (`.create` is an example name).
>
> One problem with a singleton method in "Thread" is separating args
> intended for Thread creation vs args for block....
ko1 (Koichi Sasada)
08:12 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
Koichi Sasada <ko1@atdot.net> wrote:
> On 2018/02/20 18:06, Eric Wong wrote:
> >Also, what do you think about having a way to pass options to
> >thread creation like pthread_attr_t?
>
> I like this idea because we don't need to in...
normalperson (Eric Wong)
02:12 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
On 2018/02/20 18:06, Eric Wong wrote:
> Also, what do you think about having a way to pass options to
> thread creation like pthread_attr_t?

I like this idea because we don't need to invent new abstraction name.

Or `Thread.creat...
ko1 (Koichi Sasada)
02:41 PM Feature #3187: Allow dynamic Fiber stack size
How about
``` ruby
Thread.with_configure(stack_size: 1024).new(a: 1, b: 2){}
# or
Thread::Config.new(stack_size: 1024).start(a: 1, b: 2){}
# alias start new
```
ko1 (Koichi Sasada) wrote:
> Hi,
> ...
jjyr (Jinyang Jiang)
10:55 AM Bug #14505 (Closed): IO.popen / Open3.popen2 / backtick subprocess remains blocked
The following ruby code never returns
~~~ ruby
`ruby -r oci8 -e puts 'hello'`
IO.popen(%w(ruby -r oci8 -e)+["puts 'hello'"]) { |o| puts o.read } # this never returns too
Open3.capture2(*%w(ruby -r oci8 -e)+["puts 'hello'"]) # and t...
lionel_perrin (Lionel PERRIN)
09:04 AM Revision a2384238 (git): test_process.rb: unlimited getgroups on darwin
* test/ruby/test_process.rb (TestProcess#test_maxgroups): Darwin
extension of getgroups(2) which is not limited to MAXGROUPS is
used.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:51 AM Revision 19a18994 (git): use `--version`.
* benchmark/driver.rb: use `--version` instead of `-v` to get version
information.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ko1 (Koichi Sasada)
08:14 AM Revision 633b4638 (git): add NEWS entries about [Feature #14318] and [Feature #14330].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ko1 (Koichi Sasada)
07:51 AM Misc #14211: maintain etc, fcntl, and zlib
hsbt@ruby-lang.org wrote:
> I agreed with naruse.
>
> * zlib: naruse
> * etc/fcntl: same as core team member(includes normal)
>
> I will handle gem version. Do you interest it?

OK, thanks! Also, similar issue with [#14210]...
normalperson (Eric Wong)
06:31 AM Misc #14211 (Closed): maintain etc, fcntl, and zlib
Applied in changeset trunk|r62512.
----------
Update maintainers of unmaintained libraries.
[Misc #14211]
From: SHIBATA Hiroshi <hsbt@ruby-lang.org>
hsbt (Hiroshi SHIBATA)
06:25 AM Misc #14211 (Assigned): maintain etc, fcntl, and zlib
I agreed with naruse.
* zlib: naruse
* etc/fcntl: same as core team member(includes normal)
I will handle gem version. Do you interest it?
hsbt (Hiroshi SHIBATA)
07:44 AM Bug #10212: MRI is not for lambda calculus
One more:
```
target 0: ruby250 (ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]) at "~/ruby/install/v2_5_0/bin/ruby"
target 1: trunk (ruby 2.6.0dev (2018-02-21 trunk 62512) [x86_64-linux]) at "~/ruby/install/trunk/bin/ruby"...
ko1 (Koichi Sasada)
07:32 AM Bug #10212: MRI is not for lambda calculus
with [Feature #14318]
```
name ruby241 ruby250 trunk
app_lc_fizzbuzz 29.140 27.950 20.056
Speedup ratio: compare with the result of `ruby241' (greater is better)
name ruby250 trunk
app_lc_fizzbuzz 1.043 1.453
```
ko1 (Koichi Sasada)
07:17 AM Bug #12762: missing links in LEGAL
ライセンス自体に URL が埋め込まれているものはそのままにして The Wayback Machine の URL を追加、新しい先があるものはそれらを更新などしました。
hsbt (Hiroshi SHIBATA)
07:12 AM Bug #12762 (Closed): missing links in LEGAL
Applied in changeset trunk|r62513.
----------
Update url with 404 status on LEGAL file.
* Update redirected and upstream url.
* Added the Wayback Machine url for missing link.
[Bug #12762][ruby-dev:49802]
From: SHIBATA Hiroshi ...
hsbt (Hiroshi SHIBATA)
07:12 AM Revision 322d0d93 (git): Update url with 404 status on LEGAL file.
* Update redirected and upstream url.
* Added the Wayback Machine url for missing link.
[Bug #12762][ruby-dev:49802]
From: SHIBATA Hiroshi <hsbt@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62513 b2dd03c8-39d4-...
hsbt (Hiroshi SHIBATA)
06:39 AM Feature #13821: Allow fibers to be resumed across threads
Sorry for long absent.
The point is the gap between native-thread and Ruby's thread/fibers.
Ruby can use C-extensions and some C-extensions depends on external libraries.
A few external libraries can depend on (native) thread loca...
ko1 (Koichi Sasada)
06:35 AM Bug #13882: Exception in `ensure` stops threads from exiting
Sorry for long absent.
The point is "when should we check `to_kill` flag"?
It is not clear.
This is a issue that Ctrl-C doesn't work on it (and we need to use `kill -9`).
I think modify Ctrl-C issue is enough on this ticket.
T...
ko1 (Koichi Sasada)
06:31 AM Revision d5eef538 (git): Update maintainers of unmaintained libraries.
[Misc #14211]
From: SHIBATA Hiroshi <hsbt@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
06:22 AM Bug #14464 (Assigned): MJIT & MinGW / gcc 7.3.0 seemed ok as of 62337, fail or skip after
hsbt (Hiroshi SHIBATA)
06:16 AM Bug #14232: Unused refinement still breaks method search
ruby_2_5 r62511 merged revision(s) 61484. naruse (Yui NARUSE)
06:16 AM Revision a7cef95f (git): merge revision(s) 61484: [Backport #14232]
vm_method.c: fix super in refined module
* vm_method.c (rb_method_entry_complement_defined_class): clone
the original method entry of refined module instance method with
the active ICLASS, to track super meth...
naruse (Yui NARUSE)
06:11 AM Feature #14370: Directly mark instruction operands and avoid mark_ary usage on rb_iseq_constant_body
I realize my misunderstanding on aaron's proposal and now I'm very positive on it.
Thank you aaron!
(my misunderstanding: prepare all mark functions for each instructions. it should be hard to maintain)
ko1 (Koichi Sasada)
06:08 AM Bug #14343: Segfault during generating documentation
ruby_2_5 r62509 merged revision(s) 61523. naruse (Yui NARUSE)
06:07 AM Bug #14226 (Closed): Revert line number of "return", "b-return" and "end" events
ko1 (Koichi Sasada)
06:02 AM Feature #14492: iseq loading + caching should be in core
I agree on it.
rubygems and did-you-mean are the first targets of this goal.
https://github.com/rubygsoc/rubygsoc/wiki/Ideas-for-MRI-(Matz-Ruby-Interpreter)#better-pre-compilation-support
is a step toward this goal.
BTW, one bi...
ko1 (Koichi Sasada)
06:00 AM Bug #14427: Backport r61469
ruby_2_5 r62510 merged revision(s) 61469. naruse (Yui NARUSE)
06:00 AM Revision 1c52a98f (git): merge revision(s) 61469: [Backport #14427]
irb.rb: fix highlight
* lib/irb.rb (IRB::Irb#eval_input): fix highlight for multiple
lines exception messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
05:42 AM Bug #14261: invalid syntax segfaults: "x, true"
ruby_2_5 r62509 merged revision(s) 61523. naruse (Yui NARUSE)
05:42 AM Revision 2292ea6a (git): merge revision(s) 61523: [Backport #14261]
parse.y: assignable_error
* parse.y (assignable_gen): should return valid NODE always even
on errors. [ruby-core:84565] [Bug #14261]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62509 b2dd03c8-39d4-4...
naruse (Yui NARUSE)
05:37 AM Revision 3a56b957 (git): test_time_tz.rb: past Japanese DST tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): fix
the expected data at the end of DST. [Bug #14438]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:14 AM Feature #4910 (Rejected): Classes as factories
It can lead to unreadable code.
Matz.
matz (Yukihiro Matsumoto)
05:13 AM Feature #14498 (Rejected): Class#to_proc
Nice try. But I think it's too concise that could lead to unreadable code.
Matz.
matz (Yukihiro Matsumoto)
05:07 AM Bug #14500 (Closed): Missing Regexp documentation and clarification on behavior of \K for edge case
**Capturing** section (https://ruby-doc.org/core-2.5.0/Regexp.html#class-Regexp-label-Capturing)
* formatting issue: `n<sup>th</sup>`
* suggestion to add a note on `\0` similar to the note mentioned in **Special global variables** (h...
Sundeep (Sundeep Agarwal)
04:36 AM Bug #14421: super_method segfaults when called on a re-bound Method
ruby_2_5 r62507 merged revision(s) 62115. naruse (Yui NARUSE)
04:36 AM Revision aa58701d (git): merge revision(s) 62115: [Backport #14421]
proc: fix super_method segfault after bind
* proc.c: handle undefined iclass
[ruby-core:85231] [Bug #14421]
From: Eric Wong <e@80x24.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62507 b2...
naruse (Yui NARUSE)
02:21 AM Bug #14438 (Closed): TestTimeTZ: failures with recent version of tzdata
Applied in changeset trunk|r62506.
----------
test_time_tz.rb: past Japanese DST tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): follow
the tzdata 2018 fix of Japanese DST transitions (1948-1951).
[ruby-core:85...
nobu (Nobuyoshi Nakada)
02:21 AM Revision d6ac1213 (git): test_time_tz.rb: past Japanese DST tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): follow
the tzdata 2018 fix of Japanese DST transitions (1948-1951).
[ruby-core:85373] [Bug #14438]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62506 b2dd03c8-39d4-4d8f-...
nobu (Nobuyoshi Nakada)
02:07 AM Bug #14499 (Third Party's Issue): [win32-service] "ruby.exe" crashes har
It crashes inside the extension library of ffi gem.
You should ask the authors of those (win32-service and ffi) gems.
nobu (Nobuyoshi Nakada)
12:55 AM Revision ef04d43f (git): vm_insnhelper.c: no insns_info in jit
* vm_insnhelper.c: instructions info are not used in jit source
code. resolved a warning by transform_mjit_header.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:36 AM Revision 4eaf6985 (git): Makefile.in (mjit_config.h): fix duplicated output
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
12:26 AM Bug #14400: IO#ungetc and IO#ungetbyte documentation is inconsistent with the behavior
I think it is possible to glow the IO read buffer (rbuf) if it is properly locked.
Since the IO buffer is modified without GVL
(to avoid whole process blocking),
glowing (realloc) the buffer without lock is too dangerous.
It seem...
akr (Akira Tanaka)
12:17 AM Revision 83b428d9 (git): * 2018-02-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:17 AM Revision 9e42f781 (git): Makefile.in: empty comment
* Makefile.in (mjit_config.h): add an empty comment if no content,
to tell the empty content explicitly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

02/20/2018

08:11 PM Bug #14425: rb_funcall too strict on extra args
ruby_2_5 r62501 merged revision(s) 62116,62151. naruse (Yui NARUSE)
08:11 PM Revision 18b6b672 (git): merge revision(s) 62116,62151: [Backport #14425]
ruby.h: relax rb_funcall check on extra args for clang
clang 5.+ (tested clang 7.0.0) seems to be attempting division-by-zero
and giving a very large number for static args to rb_funcall.
* include/ruby/ruby.h (...
naruse (Yui NARUSE)
07:08 PM Feature #14392: Pipe operator
Hanmac (Hans Mackowiak) wrote:
> Symbol#pri and others will never work because you failed to understand how Object work in ruby
> ...
Daniel,
I'm just curious... does the modifier in the class scope work for you as Hans mentioned, o...
joelvh (Joel Van Horn)
03:59 PM Bug #14499 (Third Party's Issue): [win32-service] "ruby.exe" crashes har
Hello can someone help me? I have a problem with the Ruby-Gem "win32-service".
Here the "ruby.exe" crashes hard.
### Here my example (very simple):
```ruby
require 'win32/service'
# Iterate over the available services
Win32::S...
pmichel@me.com (Pascal Michel)
03:24 PM Feature #14498: Class#to_proc
Hanmac (Hans Mackowiak) wrote:
> Duplicate of #4910
> ...
Hi!
It's not really a duplicate since there is a different suggestion.
I have written PR in C based on `Hash#to_proc` definition
Nondv (Dmitry Non)
03:13 PM Feature #14498: Class#to_proc

Duplicate of #4910
PS: might be a bit more complicated in C,
but i would like this:
~~~ruby
proc { |*args, **keyargs| self.new(*args, **keyargs) }
~~~
so it works with keyargs too
Hanmac (Hans Mackowiak)
03:01 PM Feature #14498 (Rejected): Class#to_proc
Hello!
I was creating a list of class instances via `some_list.map { |e| SomeClass.new(e) }` and wondered if there's a `Class#to_proc` to make possible doing `some_list.map(&SomeClass)`.
Well, there is not.
Basically, this is what...
Nondv (Dmitry Non)
03:13 PM Feature #12967: Add a default for RUBY_GC_HEAP_GROWTH_MAX_SLOTS out-of-the-box
IMHO this should be reconsidered, as it provides a huge memory saving for a typical Rails app and it's so easy and unobtrusive, but almost no one is aware of it
But if it was capped like this out of the box, a lot more people would bene...
nnc (Nemanja Chorlya)
02:13 PM Bug #14400: IO#ungetc and IO#ungetbyte documentation is inconsistent with the behavior
Could the buffer grow automatically to allow pushing multiple bytes/characters back?
That's the current implementation in TruffleRuby and Rubinius, the buffer grows on ungetbyte/ungetc if there is not enough space.
Then the semantics f...
Eregon (Benoit Daloze)
01:03 PM Bug #14400: IO#ungetc and IO#ungetbyte documentation is inconsistent with the behavior
Even worse, I found an example which ungetc can not push back
a character which just returned by getc.
```
% ./ruby -e 'print "a" * (1024*8-2) + "\n\u0080" + "b" * (1024*8-1)'|
./ruby -e 'STDIN.gets; c = STDIN.getc; p c; STDIN.unge...
akr (Akira Tanaka)
07:23 AM Bug #14400 (Feedback): IO#ungetc and IO#ungetbyte documentation is inconsistent with the behavior
Basically, ungetbyte/ungetc works if there is enough space in the IO buffer.
Since the IO buffer is not dynamically extended and
the buffer size is internal behavior,
it is very small guarantee that we have enough space:
(1) There ...
akr (Akira Tanaka)
06:25 AM Bug #14400 (Assigned): IO#ungetc and IO#ungetbyte documentation is inconsistent with the behavior
mame (Yusuke Endoh)
10:49 AM Feature #8158: lightweight structure for loaded features index
normalperson (Eric Wong) wrote:
> > https://bugs.ruby-lang.org/issues/8158
> ...
0xfea7009e - is a "feature" hex-spelled :-) Nothing special.
It could be ommitted, given features are strings without zero bytes.
I put it here just f...
funny_falcon (Yura Sokolov)
10:40 AM Feature #8158: lightweight structure for loaded features index
@matz , yes I will.
Excuse me for the delay. I'll try to proceed with steps from CommitterHowto this week.
With regards,
Yura.
funny_falcon (Yura Sokolov)
06:34 AM Feature #8158: lightweight structure for loaded features index
@funny_falcon? Will you be a committer?
Matz.
matz (Yukihiro Matsumoto)
10:08 AM Revision 55515ef4 (git): error.c: bypass Exception.new
* error.c (rb_exc_new, rb_exc_new_str): instantiate exception
object directly without Exception.new method call.
Redefinition of class method `new` is an outdated style, and
internal exceptions should not be affected by it.
git-svn-i...
nobu (Nobuyoshi Nakada)
09:45 AM Feature #14491: MJIT needs internal debugging methods
> My #1 motivation is that I am trying to figure out why --jit is making discourse bench slower even after everything is warmed up, so I want to run with --jit but disable all jitting so it continues counting method calls but never actua... k0kubun (Takashi Kokubun)
09:20 AM Feature #14491: MJIT needs internal debugging methods
My #1 motivation is that I am trying to figure out why --jit is making discourse bench slower even after everything is warmed up, so I want to run with --jit but disable all jitting so it continues counting method calls but never actuall... sam.saffron (Sam Saffron)
07:55 AM Feature #14491: MJIT needs internal debugging methods
> I would say the most critical piece though is MJIT.pause cause I need to properly measure additional overhead that mjit introduces for non jitted methods.
Again, why don't you just remove --jit flag?
--
We discussed about this...
k0kubun (Takashi Kokubun)
01:33 AM Feature #14491: MJIT needs internal debugging methods
Yes I ran with it during my testing and confirm jit-verbose helps somewhat. But compared to GC type instrumentation that is available in Ruby it is very awkward to consume.
From a performance standpoint this is something we would def...
sam.saffron (Sam Saffron)
01:18 AM Feature #14491 (Feedback): MJIT needs internal debugging methods
> Measure how long it takes to JIT all methods (avg, median, max, total)
> ...
Did you try --jit-verbose=1? It covers many of those use cases and parsing stderr with it would be sufficient for the use case.
k0kubun (Takashi Kokubun)
01:15 AM Feature #14491: MJIT needs internal debugging methods
> Measure impact of --jit when all jitting is disabled
This can be achieved by not passing --jit, can't it?
> ...
I can somewhat understand this. But could you make sure whether it's for development environment or production? Boot ...
k0kubun (Takashi Kokubun)
09:39 AM Revision 64072aa8 (git): mjit.c: separate call from macro
* mjit.c (convert_unit_to_func): separate a function call from a
macro, which evaluates the argument multiple times.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:38 AM Revision b2033b8b (git): Signature of rb_uint2inum and rb_int2inum
* include/ruby/ruby.h (rb_int2inum, rb_uint2inum): adjust
declarations. [ruby-core:83424] [Bug #14036]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:30 AM Misc #14497 (Closed): [PATCH] thread*: all condvars are monotonic
thread*: all condvars are monotonic
There's no reason to use CLOCK_REALTIME for any condvars in Ruby.
Indeed, we initialized all condvars with RB_CONDATTR_CLOCK_MONOTONIC
anyway; so simplify our code and reduce ifdefs.
Split from...
normalperson (Eric Wong)
09:26 AM Feature #4938 (Closed): Add Random.bytes [patch]
Applied in changeset trunk|r62497.
----------
random.c: Random.bytes
* random.c (random_s_bytes): new method Random.bytes, which is
equivalent to Random::DEFAULT.bytes. [Feature #4938]
nobu (Nobuyoshi Nakada)
08:57 AM Feature #4938: Add Random.bytes [patch]
Accepted. Better later than never.
Matz.
matz (Yukihiro Matsumoto)
09:26 AM Revision 1cd9c3ce (git): random.c: Random.bytes
* random.c (random_s_bytes): new method Random.bytes, which is
equivalent to Random::DEFAULT.bytes. [Feature #4938]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:16 AM Revision 74bf1767 (git): Makefile.in: fix for Solaris
* Makefile.in (mjit_config.h): expand for each words.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:12 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
matz@ruby-lang.org wrote:
> May I add two new candidates (IoThread and Thread::Coop)?

Thanks for the ideas. I like Thread::Coop; maybe "Thread::Coro"
is good, too...

I don't think IoThread is good if we support Queue/Mutex/...
...
normalperson (Eric Wong)
06:42 AM Feature #13618: [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
May I add two new candidates (IoThread and Thread::Coop)?
Matz.
matz (Yukihiro Matsumoto)
08:47 AM Feature #5044 (Rejected): #zip with block return mapped results
We cannot change the behavior. The change would increase the memory consumption (and decrease the performance).
Matz.
matz (Yukihiro Matsumoto)
08:44 AM Bug #14494 (Closed): [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
Applied in changeset trunk|r62495.
----------
tool/m4/ruby_replace_type.m4: use AC_CHECK_TYPES for HAVE_* macros
AC_CHECK_TYPE (no "S") does not define HAVE_* macros for types,
so use AC_CHECK_TYPES (with "S") instead. Without this,
H...
Anonymous
12:20 AM Bug #14494: [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
I have no particular opinion on it, probably it'd be convenient. nobu (Nobuyoshi Nakada)
08:44 AM Revision e691d4d7 (git): tool/m4/ruby_replace_type.m4: use AC_CHECK_TYPES for HAVE_* macros
AC_CHECK_TYPE (no "S") does not define HAVE_* macros for types,
so use AC_CHECK_TYPES (with "S") instead. Without this,
HAVE_CLOCKID_T goes undefined and I can't USE_MONOTONIC_COND in
thread_pthread.c :<
Fixes: r62446 (git 673ae0e3c9ce...
Eric Wong
08:39 AM Feature #4541 (Rejected): Inconsistent Array.slice()
We don't want to change the behavior of basic methods. That would break existing code.
FYI, the slice is `nil` when the starting point does not fit in the array.
Matz.
matz (Yukihiro Matsumoto)
08:33 AM Feature #5120 (Rejected): String#split needs to be logical
At least some of your points are rational. Those behaviors are inherited from Perl.
I don't think we can change the behavior. We are not going to break existing code for the sake of consistency.
Matz.
matz (Yukihiro Matsumoto)
08:26 AM Feature #5206: ruby -K should warn
It warns as follows on -w option:
ruby: warning: -K is specified; it is for 1.8 compatibility and may cause odd behavior
naruse (Yui NARUSE)
08:24 AM Feature #5206 (Closed): ruby -K should warn
Keep compatibility for a while. naruse (Yui NARUSE)
08:21 AM Feature #4513 (Feedback): allow whitespace following EOL continuation backslash
nobu (Nobuyoshi Nakada)
08:21 AM Feature #4513: allow whitespace following EOL continuation backslash
Warning for a backslash followed by spaces is:
Old:
```
$ ruby2.5 -e ' \ '
-e:1: syntax error, unexpected $undefined
```
Now:
```
$ ruby -e ' \ '
-e:1: syntax error, unexpected backslash
```
Does this help you?
nobu (Nobuyoshi Nakada)
08:20 AM Feature #4921 (Rejected): Remove intern.h
naruse (Yui NARUSE)
08:19 AM Feature #5123 (Rejected): Alias Hash 1.9 as OrderedHash
Today, everyone knows Ruby's Hash is a OrderedHash.
Matz.
matz (Yukihiro Matsumoto)
08:01 AM Bug #14036 (Closed): Signature of rb_uint2big and rb_int2big
Applied in changeset trunk|r62494.
----------
Signature of rb_uint2big and rb_int2big
* include/ruby/ruby.h (rb_uint2big, rb_int2big): declare with
uintptr_t and intptr_t instead of VALUE and SIGNED_VALUE
respectively. [ruby-core:...
nobu (Nobuyoshi Nakada)
08:01 AM Revision d77e8a7d (git): Signature of rb_uint2big and rb_int2big
* include/ruby/ruby.h (rb_uint2big, rb_int2big): declare with
uintptr_t and intptr_t instead of VALUE and SIGNED_VALUE
respectively. [ruby-core:83424] [Bug #14036]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62494 b2dd03c8-39...
nobu (Nobuyoshi Nakada)
07:51 AM Revision 87234557 (git): mjit.c: fix compile error
* mjit.c (check_tmpdir): W_OK and S_ISDIR may not defined on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:12 AM Bug #14062: Top-level return allows an argument
I am against making it a syntax error. Adding warnings is OK (but maybe we can rely on Rubocop etc. to detect them).
Matz.
matz (Yukihiro Matsumoto)
06:09 AM Feature #14468 (Rejected): Add Proc#dig
The original intention for `dig` is a short-hand traversal of array-hash trees. I don't think it's normal to use `proc` objects as tree nodes.
Matz.
matz (Yukihiro Matsumoto)
05:54 AM Feature #14478: String #uminus should de-dupe unconditionally
I agree with de-duping. I also want the reference document to be updated.
Matz.
matz (Yukihiro Matsumoto)
05:53 AM Feature #14462: MJIT enabled should be displayed in the version string
I agree with adding `+JIT`.
Matz.
matz (Yukihiro Matsumoto)
05:32 AM Bug #14496 (Closed): MJIT, Windows, MinGW and tmp dir
Applied in changeset trunk|r62492.
----------
mjit.c: prefer $TMPDIR and $TMP
* mjit.c (system_tmpdir): prefer `$TMPDIR` and `$TMP` over system
defulat temporary directory, if exists, writable, and safe.
[ruby-core:85651] [Bug #14496]
nobu (Nobuyoshi Nakada)
05:32 AM Revision 18af42d5 (git): mjit.c: prefer $TMPDIR and $TMP
* mjit.c (system_tmpdir): prefer `$TMPDIR` and `$TMP` over system
defulat temporary directory, if exists, writable, and safe.
[ruby-core:85651] [Bug #14496]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62492 b2dd03c8-39d4-4d8f-...
nobu (Nobuyoshi Nakada)
05:32 AM Revision 04178d39 (git): mjit.c: dldflags on mingw
* mjit.c (CC_DLDFLAGS_ARGS): default libraries are necessary on
Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:00 AM Feature #12589: VM performance improvement proposal
No problems, thank you Vladimir, let me know when you are ready for me to test again! sam.saffron (Sam Saffron)
04:42 AM Feature #12589: VM performance improvement proposal
On 02/19/2018 05:17 PM, sam.saffron@gmail.com wrote:
> Issue #12589 has been updated by sam.saffron (Sam Saffron).
>
>
> I just measured your branch using Discourse bench at: https://github.com/discourse/discourse/blob/master/script...
vmakarov (Vladimir Makarov)
04:32 AM Feature #12589: VM performance improvement proposal
On 02/19/2018 07:40 PM, takashikkbn@gmail.com wrote:
> Issue #12589 has been updated by k0kubun (Takashi Kokubun).
>
>
> Great work on rtl_gen, Vladimir! Keeping both stack insns and RTL insns would be good for safe migration.
Than...
vmakarov (Vladimir Makarov)
12:40 AM Feature #12589: VM performance improvement proposal
Great work on rtl_gen, Vladimir! Keeping both stack insns and RTL insns would be good for safe migration.
> There were a lot of changes since then which will affect the code I am
working on. The biggest one is Takashi Kokubun's work ...
k0kubun (Takashi Kokubun)
04:05 AM Revision eb816385 (git): mjit.c: fix memory leak
* mjit.c (system_tmpdir): rb_w32_wstr_to_mbstr returns the pointer
to `malloc`ed region. allocate with `xmalloc` instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:15 AM Revision 49f52937 (git): vm.c: disable dtrace in jit source
* vm.c: include dummy dtrace probes header in jit header.
* vm_insnhelper.c: probes headers are included by vm.c.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:00 AM Feature #14489: MJIT needs a reusable cache
Btw, I commented:
> I've thought the default way of ISeq serialization costs and bootsnap improves the performance by another way.
But ko1 pointed out they should be basically the same. So please never mind about that part of my co...
k0kubun (Takashi Kokubun)
02:37 AM Revision fe5d65f1 (git): common.mk: moved macros to mjit_config.h
* Makefile.in, common.mk, win32/Makefile.sub: moved MJIT macros to
mjit_config.h from XCFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:23 AM Revision 2124cb65 (git): * 2018-02-20
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
01:23 AM Revision 3dd9b878 (git): Makefile.in: function to quote for mjit_config.h
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)

02/19/2018

10:17 PM Feature #12589: VM performance improvement proposal
I just measured your branch using Discourse bench at: https://github.com/discourse/discourse/blob/master/script/bench.rb
Looks like it is a bit slower than master:
RTL:
```
---
categories:
50: 53
75: 59
90: 65
99:...
sam.saffron (Sam Saffron)
09:32 PM Feature #12589: VM performance improvement proposal
Last 4 months I've been working on generation of RTL from stack
insns. The reason for this is that stack insns are already a part of
CRuby. The current generation of RTL directly from the nodes actually
would remove this interface...
vmakarov (Vladimir Makarov)
09:12 PM Feature #14492: iseq loading + caching should be in core
In general bootsnap has had significantly more dev time. The actual technique it uses does not require and c extensions (though it uses one for the the on-disk structure)
Agree we should have something like this built-in to Ruby, it ...
sam.saffron (Sam Saffron)
12:07 PM Feature #14492: iseq loading + caching should be in core
> So not such a big difference.
I also ran it just because I was curious.
> ...
real 0m0.109s
user 0m0.097s
sys 0m0.012s
> time ruby --disable-gems -e exit
real 0m0.015s
user 0m0.005s
sys 0m0.010s
It is not a huge diff...
shevegen (Robert A. Heiler)
09:40 AM Feature #14492: iseq loading + caching should be in core
FWIW, here are number on a laptop from 2014 with a i7-4702HQ @ 2.20GHz:
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]
$ time ruby -e exit
ruby -e exit 0.04s user 0.00s system 98% cpu 0.042 total...
Eregon (Benoit Daloze)
04:14 AM Feature #14492 (Assigned): iseq loading + caching should be in core
```
... And not in a RubyGem like yomikomu(*)
RubyGems itself is responsible for over 100ms of startup time on my system(**),
so it would be beneficial to make it part of core and speed up rubygems (and stdlib).
$ time ruby -e exit...
normalperson (Eric Wong)
08:51 PM Feature #14489: MJIT needs a reusable cache
> By the way, one thing I want to share is that currently JIT-ed function is not reusable for another process. That's because it embeds class serial that can be changed in next boot for inlining things, and pointers of ISeq / call cache ... sam.saffron (Sam Saffron)
02:13 PM Feature #14489 (Feedback): MJIT needs a reusable cache
By the way, one thing I want to share is that currently JIT-ed function is not reusable for another process. That's because it embeds class serial that can be changed in next boot for inlining things, and pointers of ISeq / call cache th... k0kubun (Takashi Kokubun)
02:42 AM Feature #14489: MJIT needs a reusable cache
merch-redmine@jeremyevans.net wrote:
> sam.saffron (Sam Saffron) wrote:
> > It can use an ISEQ SHA1 hash as the key to the cache.
>
> If this feature is added, it should at least use SHA256 as the
> hash function. While the curre...
normalperson (Eric Wong)
02:14 AM Feature #14489: MJIT needs a reusable cache
sam.saffron (Sam Saffron) wrote:
> It can use an ISEQ SHA1 hash as the key to the cache.
If this feature is added, it should at least use SHA256 as the hash function. While the currently known SHA1 weaknesses may not matter in this ...
jeremyevans0 (Jeremy Evans)
01:10 AM Feature #14489 (Rejected): MJIT needs a reusable cache
Currently on Discourse boot I notice a few minutes of jitting every time you boot it:
This is a redacted output: https://gist.github.com/SamSaffron/4e18c2dacf476f1f27275f5b5d7bbb97
CPU is spinning hard compiling temp file after te...
sam.saffron (Sam Saffron)
08:44 PM Feature #14491: MJIT needs internal debugging methods
### MJIT.pause use cases
1. Measure impact of --jit when all jitting is disabled
2. Disable MJIT in large application to avoid extra cost over time, for example in a big Rails app run MJIT for 10 minutes and then stop it from addin...
sam.saffron (Sam Saffron)
02:22 PM Feature #14491: MJIT needs internal debugging methods
> MJIT.enable, MJIT.disable, MJIT.pause, MJIT.trace
Could you describe some detailed use cases (some possible problem which can be effectively investigated by them, and what code would be written for the investigation) for each method...
k0kubun (Takashi Kokubun)
07:50 AM Feature #14491: MJIT needs internal debugging methods
Not sure about the method-names above, but I agree with the reasoning;
we have methods on "GC." too so I think it would be nice to be able
to have some finer control over mjit as well.
shevegen (Robert A. Heiler)
01:40 AM Feature #14491 (Closed): MJIT needs internal debugging methods
### Issue
Doing careful analysis of MJIT performance is very hard cause there is no way of instrumenting this in runtime
### Proposal
1. Add `MJIT.enable`, `MJIT.disable`, `MJIT.pause` methods.
- `MJIT.pause` will contin...
sam.saffron (Sam Saffron)
07:44 PM Misc #14493: begin-rescue-end and def-rescue-end stacktraces inconsistent
Thank you. Sorry for the duplicate. david.drakard (David Drakard)
06:18 AM Misc #14493 (Rejected): begin-rescue-end and def-rescue-end stacktraces inconsistent
It is fixed in 2.3.6. nobu (Nobuyoshi Nakada)
04:59 AM Misc #14493 (Rejected): begin-rescue-end and def-rescue-end stacktraces inconsistent
I have filed this as type Misc because I don't know whether the current behaviour is intended or a true bug. Please re-allocate appropriately if that's desired.
When an exception is thrown from within a rescue clause, it captures a fr...
david.drakard (David Drakard)
06:12 PM Bug #14494: [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
nobu@ruby-lang.org wrote:
> Indeed, it was a mistake.
> Do you think `HAVE_` macros should be defined for all `RUBY_REPLACE_TYPE`?

Probably, but I was wondering what your opinion is.
We only use RUBY_REPLACE_TYPES for common *_t t...
normalperson (Eric Wong)
01:54 PM Bug #14494: [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
Indeed, it was a mistake.
Do you think `HAVE_` macros should be defined for all `RUBY_REPLACE_TYPE`?
nobu (Nobuyoshi Nakada)
09:12 AM Bug #14494: [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
Eric Wong wrote:
> On a side note, I also realized we have no use for realtime
> condvars, only monotonic ones....

Yep, and drop more code, too:
https://80x24.org/spew/20180219090629.17506-1-e@80x24.org/raw

(I also reused the c...
normalperson (Eric Wong)
08:33 AM Bug #14494: [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
normalperson@yhbt.net wrote:
> Without this, HAVE_CLOCKID_T goes undefined and I can't
> USE_MONOTONIC_COND in thread_pthread.c :<

On a side note, I also realized we have no use for realtime
condvars, only monotonic ones....
normalperson (Eric Wong)
06:10 AM Bug #14494 (Closed): [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros
tool/m4/ruby_replace_type.m4: use AC_CHECK_TYPES for HAVE_* macros
Without this, HAVE_CLOCKID_T goes undefined and I can't
USE_MONOTONIC_COND in thread_pthread.c :<
normalperson (Eric Wong)
04:51 PM Bug #14496 (Closed): MJIT, Windows, MinGW and tmp dir
For the time being, I've shut off testing MJIT on ruby-loco, as (at least when I did so) tests seemed to be timing out.
As mentioned earlier in https://bugs.ruby-lang.org/issues/14464, when I try to test locally, I have a temp folder ...
MSP-Greg (Greg L)
01:01 PM Bug #14495: Enumerator::Lazy#uniq invalid state
Solution https://github.com/ruby/ruby/pull/1820 chopraanmol1 (Anmol Chopra)
12:57 PM Bug #14495 (Closed): Enumerator::Lazy#uniq invalid state

Currently
~~~ ruby
2.5.0-preview1 :001 > arr = (0..100).lazy.uniq{|i| i % 10}
=> #<Enumerator::Lazy: #<Enumerator::Lazy: 0..100>:uniq>
2.5.0-preview1 :002 > arr.to_a
=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.5.0-preview1 :003 > a...
chopraanmol1 (Anmol Chopra)
10:46 AM Bug #12548: Rounding modes inconsistency between round versus sprintf
Hi again
After I raised this bug and saw the comment from matz I stopped watching assuming that sprintf would be "fixed" not that round would be changed instead. IEEE 754 is useful when you are taking them mean of a large number of ro...
unclekiki (Kieran McCusker)
10:02 AM Feature #14332 (Assigned): Module.used_refinements to list refinement modules
Eregon (Benoit Daloze) wrote:
> Module.used_modules was added in #7418.
> ...
I'm for it, but I'd like to hear others' opinions.
shugo (Shugo Maeda)
09:52 AM Bug #14466: Errno::ECONNRESET or Errno::EPIPE raised instead of HTTPResponse returned when POSTing with large body
I have just confirmed with wireshark that a 404 is returned before the connection aborts. sk (SK Liew)
09:46 AM Bug #14420: [BUG] Unnormalized Fixnum value on Rational#hash.to_s
I believe this should be backported to 2.4 and 2.5. Eregon (Benoit Daloze)
09:28 AM Revision 92dd6d84 (git): thread_pthread.c: spelling ("cancellation")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Eric Wong
09:28 AM Revision 4651ef77 (git): thread_pthread.c: fix thread cache for non-monotonic clock
I noticed this because of https://bugs.ruby-lang.org/issues/14494
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
06:58 AM Bug #14388: 不正エンコーディング文字列から切り出した正当なエンコーディング文字列が invalid encoding になる
ruby_2_5 r62483 merged revision(s) 62040. naruse (Yui NARUSE)
06:51 AM Revision c1d4e3fe (git): merge revision(s) 62040: [Backport #14388]
string.c: clear substring code range
* string.c (str_substr): substring of broken code range string may
be valid or broken. patch by tommy (Masahiro Tomita) at
[ruby-dev:50430] [Bug #14388].
git-svn-id: svn...
naruse (Yui NARUSE)
06:36 AM Bug #14333: Backport r61645
ruby_2_5 r62482 merged revision(s) 61645. naruse (Yui NARUSE)
06:36 AM Revision f75b6d21 (git): merge revision(s) 61645: [Backport #14333]
Added bundler for `test-bundled-gems` dependency.
rake, did_you_mean, test-unit depends on bundler.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
06:35 AM Bug #14312: backport r61591
ruby_2_5 r62472 merged revision(s) 61591. naruse (Yui NARUSE)
06:33 AM Revision c1dc8a13 (git): merge revision(s) 61711:
compile.c (iseq_compile_each0): remove irrelevant tracecoverage
This change removes tracecoverage instructions on a line that has any
NODE but is non-significant, such as, just one literal.
This fixes the follow...
naruse (Yui NARUSE)
06:28 AM Revision 628be3b7 (git): mjit.c: fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
04:56 AM Bug #10864 (Assigned): REXML adds white space to text property when indent > -1
hsbt (Hiroshi SHIBATA)
02:38 AM Bug #14490: MJIT slows down Rails applications
> This was reported earlier but I would like to add some test methodology here: (tested using Discourse)
Ah, somehow I didn't read this part. Thank you for sharing! I'm using the similar way.
k0kubun (Takashi Kokubun)
02:14 AM Bug #14490: MJIT slows down Rails applications
Yes, I recognize this problem and will investigate the cause for sure. I don't know a clear cause for this yet.
> I suspect this is happening cause we are introducing new overhead to every single method dispatch (counting for mjit, an...
k0kubun (Takashi Kokubun)
01:36 AM Bug #14490 (Closed): MJIT slows down Rails applications
This was reported earlier but I would like to add some test methodology here: (tested using Discourse)
### What I tested
1. Run `ruby script/bench.rb` to warm up profiling database
2. Run `RUBYOPT='--jit --jit-verbose=1 --jit-ma...
sam.saffron (Sam Saffron)
01:45 AM Bug #14486 (Closed): MINIRUBY not quoted in template/configure-ext.mk.tmpl
Applied in changeset trunk|r62479.
----------
Escape MINIRUBY in --make-flags to extmk.rb
If MINIRUBY had arguments, which is the case of cross compiling
they wouldn't be parsed correctly and compiling would fail as a RUBY
without argu...
nobu (Nobuyoshi Nakada)
01:45 AM Revision 14693ba5 (git): Escape MINIRUBY in --make-flags to extmk.rb
If MINIRUBY had arguments, which is the case of cross compiling
they wouldn't be parsed correctly and compiling would fail as a RUBY
without arguments would then be present in the Makefile's in ext/*
[ruby-core:85620] [Bug #14486] [Fix G...
nobu (Nobuyoshi Nakada)
12:30 AM Revision 3cadd10a (git): thread_pthread.c (native_thread_create): remove needless attrp
Followup-to: r61719 (commit e8f40bd8f83e1b22ef9c22f0e5d7a1fc0b07f94c)
("thread_pthread: remove HAVE_PTHREAD_ATTR_INIT ifdefs")
[ruby-core:84758] [Misc #14342]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62478 b2dd03c8-39d4-4d8...
Eric Wong
12:23 AM Revision cfeb344b (git): thread_pthread.c (rb_thread_create_mjit_thread): destroy attr
This is required on some platforms to avoid leaks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

02/18/2018

11:58 PM Revision bff57efc (git): thread_pthread.c (thread cache): destroy cond after unlock
No need to hold a lock while destroying a condition variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:58 PM Revision 7a8460ed (git): thread_pthread.c (rb_thread_create_mjit): set detach before create
This should be slightly cheaper on NPTL as it does not rely on
atomics to set pd->joinid. We already use pthread_attr_setdetachstate,
so it won't introduce new problems by using a function we did not
use before.
git-svn-id: svn+ssh://...
Eric Wong
11:02 PM Bug #14488 (Closed): Unicode characters prevent [[:punct:]] character class from matching certain characters in subsequent matches
In 2.3.5, `[[:punct:]]` doesn't match `+`. In 2.5.0, it does. In 2.4.3, it matches, but not after you match against a string containing one or more unicode characters. I would expect 2.4.3 to have the behavior of 2.5.0.
~~~ ruby
puts...
patbl (Patrick Brinich-Langlois)
09:28 PM Feature #14487 (Closed): [PATCH] simplify altstack and enable reuse with thread cache
simplify altstack and enable reuse with thread cache
Instead of allocating and registering the altstack in different
places, do it together to reduce code and improve readability.
When thread cache is enabled, storing altstack in rb...
normalperson (Eric Wong)
09:03 PM Revision 1ad2db38 (git): * 2018-02-19
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:03 PM Revision eac50243 (git): thread.c: remove redundant USE_SIGALTSTACK #define
thread.c already includes vm_core.h where USE_SIGALTSTACK is
defined, #include it explicitly (eval_intern.h already includes
it)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
05:26 PM Bug #14486 (Closed): MINIRUBY not quoted in template/configure-ext.mk.tmpl
MINIRUBY is not quoted in template/configure-ext.mk.tmpl, which made cross compiling, when MINIRUBY is something like "/usr/bin/ruby --disable=gems -I/home/vagrant/.termux-build/ruby/build -raarch64-linux-android-fake", problematic as th... carl.hoerberg (Carl Hörberg)
05:25 PM Bug #14485 (Closed): For File#path.tainted? and File#to_path.tainted? should match original.tainted?
Problem: if you create a File object using an untainted path, File#path and File#to_path return identical strings except they are tainted. That's counter-intuitive. If the input path has been properly vetted then File should not taint it... tscheingeld (Terry Scheingeld)
02:25 PM Revision 2fdf83ba (git): merge revision(s) 61591: [Backport #14312]
iseq.c (rb_iseq_new_with_opt): handle the case where node is imemo_func
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
11:54 AM Bug #14273: Stack Consistency Error from return in loop
reverted ruby_2_5 r62426. it caused test failure naruse (Yui NARUSE)
11:53 AM Revision f9ead597 (git): * 2018-02-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:53 AM Revision d191339b (git): Revert r62426
it cause test failure
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
naruse (Yui NARUSE)
09:33 AM Revision 247ec65a (git): mjit.c: pch file argument
* mjit.c (compile_c_to_so): pass pch file only when using
"-include-pch" option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:23 AM Revision ae62ab33 (git): adjust indent
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
08:11 AM Revision 189b4a4e (git): README.ja.md: Mac OS X -> macOS [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
07:54 AM Revision 4a57b88b (git): thread_pthread.c: shorten and fix thread cache implementation
Update to use ccan/list for constant-time delete on expiry and
avoid malloc. We must also initialize th->thread_id upon thread
reuse so Thread#name= works immediately upon thread creation.
We must also reinitialize the cache mutex and ...
Eric Wong
06:21 AM Revision f3cc10b6 (git): mjit.c: place DLDFLAGS at last
* mjit.c (compile_c_to_so): place DLDFLAGS at last, as compilers
other than cl.exee don't care the order of flag arguments,
usually.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:12 AM Revision 32213cc8 (git): aclocal.m4: remove ruby_check_va_copy.m4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
05:10 AM Revision 0f0c32f2 (git): mjit.c: no va_copy
* mjit.c (form_args): do not use va_copy, which cannot detect
appropriate way to simulate when cross compiling.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:44 AM Feature #14476: Adding same_all? for checking whether all items in an Array are same
I agree with Martin. Perhaps alternatives such as `all_same?` or
even better, `all_equal?` could be explored/used.
Nobu wrote:
> `Array#uniq?` sounds like that all elements are unique, `ary.uniq.size == ary.size`.
Agreed.
Perhaps som...
shevegen (Robert A. Heiler)
03:00 AM Revision ecd2c08a (git): thread.c (thread_join_m): handle negative timeouts correctly
Users may subtract and round into negative values when using
Thread#join, so clamp the timeout to zero to avoid infinite/long
timeouts.
Note: other methods such as Kernel#sleep and IO.select will
raise on negative values, but Thread#joi...
Eric Wong
03:00 AM Revision fbad2c55 (git): thread.c (double2timespec): adjust to use NULL for infinity
Using:
strace ruby -e 'Thread.new { sleep }.join(Float::INFINITY)'
Will show a difference in futex() syscall args (not that I'd
ever advocate Float::INFINITY as a Thread#join arg :P)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@...
Eric Wong
02:51 AM Revision cd0673e6 (git): Fixed the order of arguments for cl.exe
* mjit.c (compile_c_to_so): `CC_DLDFLAGS_ARGS` must be after `-link` for cl.exe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
02:12 AM Revision 8f47542d (git): thread_pthread.c (native_cond_timeout): simplify
Rely on getclockofday for CLOCK_MONOTONIC, avoid needless
variables, and rely on overflow protection from timespec_add
instead of coding our own.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
02:12 AM Revision f65ee1e8 (git): thread.c: stop updating timespec when timeout is unspecified
No need to waste cycles updating timespecs if there's no expiry.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
02:12 AM Revision e6bf0128 (git): thread.c (update_timespec): use timespec_update_expire
Rename "end" as a appropriate for readability.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
12:38 AM Revision 014e9a4a (git): thread.c: introduce timespec_cmp for timespec comparisons
This hopefully improves readability when comparing timespecs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
12:38 AM Revision b160a113 (git): thread.c (timespec_update_expire): improve naming
Naming the constant timespec as "end" should make it more
apparent is is an absolute time. Update callers, too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
12:38 AM Revision 63d19f6b (git): * 2018-02-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:38 AM Revision 604a96d9 (git): ext/fiddle/lib/fiddle/pack.rb: pack "void *" properly on 32-bit
Fixes: r62450 (commit 1aaeeb326e754c5c5db83fbf35f780f729a9dfed)
("long long is a C99ism")
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
 

Also available in: Atom