Project

General

Profile

Activity

From 11/20/2016 to 11/26/2016

11/26/2016

09:13 PM Feature #12786: String#casecmp?
Martin Dürst wrote:
> I gave an implementation in Ruby, but can somebody provide an equivalent patch in C?
The attached patch implements `#casecmp?` by calling `#casecmp` and checking whether the return value is zero. I think this p...
rringler (Ryan Ringler)
09:09 PM Feature #12786: String#casecmp?
Yukihiro Matsumoto wrote:
> `casecmp?` accepted.
> ...
Thank you!
rringler (Ryan Ringler)
08:45 PM Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a String
What about `sub_md` as a name? herwin (Herwin W)
02:54 PM Feature #12982 (Feedback): ruby 2.3.1 got crash on macos
```
VM Regions Near 0x7fff5920fc68:
MALLOC_TINY 00007fd315800000-00007fd315a00000 [ 2048K] rw-/rwx SM=PRV
--> STACK GUARD 00007fff55a10000-00007fff59210000 [ 56.0M] ---/rwx SM=NUL stack guard for thread 0
...
hunterhu (Hunter Hu)
02:51 PM Feature #12753: Useful operator to check bit-flag is true or false
```ruby
if n.bittest?(0b10100000)
```
If I encountered that code without having the context of this case, I wouldn't know what what the equivalent behaviour would be:
```ruby
if n & 0b10100000 != 0 #=> Is at least one ...
herwin (Herwin W)
01:33 PM Bug #12981 (Closed): Date.parse raises an Argument error under a specific condition
Date.parse cannot accept incomplete strings whose delimiter is a hyphen like: "2016-12", although it can accept if a delimiter is a slash like: "2016/12"
I'm not really sure if this is a bug or an expected behavior, but a maintainer o...
kenta-s (Kenta SHIRAI)
12:08 PM Bug #12950: irb: 'input-method.rb:151: [BUG] Segmentation fault' / 'malloc(): smallbin double linked list corrupted'
_ wanabe wrote:
> after r42402, Readline.input in IRB::ReadlineInputMethod#gets causes "Too many open files - dup (Errno::EMFILE)".
Sorry, it is not reproduced on real console. I have confirmed it on PTY.spawn only.
Ctrl-c doesn't ...
wanabe (_ wanabe)
08:04 AM Bug #12950: irb: 'input-method.rb:151: [BUG] Segmentation fault' / 'malloc(): smallbin double linked list corrupted'
after r42402, Readline.input in IRB::ReadlineInputMethod#gets causes "Too many open files - dup (Errno::EMFILE)".
after r43439, the method causes SEGV.
Everything goes well without `set enable-keypad on` with any commits.
wanabe (_ wanabe)
11:37 AM Feature #12695 (Closed): File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
Applied in changeset r56902.
----------
file.c: home directory from system
* file.c (rb_default_home_dir): resolve home directory from the
system database when HOME is not set. [Feature #12695]
nobu (Nobuyoshi Nakada)
11:37 AM Revision 6b88dd26 (git): file.c: home directory from system
* file.c (rb_default_home_dir): resolve home directory from the
system database when HOME is not set. [Feature #12695]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:37 AM Revision 58742627 (git): win32.c: special folders as home dir
* win32/win32.c (rb_w32_home_dir): move from win32/file.c to try
special folders.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:57 AM Revision 8c08d2de (git): NEWS: mention [Feature #12953] [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56900 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
09:29 AM Revision 2e2fa3dd (git): * 2016-11-26
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:29 AM Revision 473d0d32 (git): net/ftp: support timeout for TLS handshake.
Net::FTP inherits ssl_socket_connect from Net::Protocol to implement timeout.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
07:47 AM Feature #12944: Change Kernel#warn to call Warning.warn
Here's an updated patch that uses str_end_with_asciichar instead of just manually checking the last byte for \n. jeremyevans0 (Jeremy Evans)
05:23 AM Feature #12944: Change Kernel#warn to call Warning.warn
You can't compare and append the last byte simply in wide character encodings.
E.g., `str_end_with_asciichar` in io.c.
nobu (Nobuyoshi Nakada)
03:57 AM Feature #12944: Change Kernel#warn to call Warning.warn
Here's an updated patch that uses rb_str_dup before calling rb_str_cat, so it doesn't modify a passed in string, and works with frozen strings. jeremyevans0 (Jeremy Evans)
06:16 AM Bug #12938: forwardable.rb is no longer compatible with any alternative implementation
This is great, thanks nobu! headius (Charles Nutter)
04:19 AM Feature #12882: Add caller/file/line information to internal Kernel#warn calls
matz, did you want to modify the Kernel#warn API? Currently, I don't think modifying the Kernel#warn API can be done in a backwards compatible way, as Kernel#warn accepts an arbitrary number of arguments and converts them all to strings... jeremyevans0 (Jeremy Evans)

11/25/2016

10:05 PM Bug #12970: == Equality of recursive sets fails
Took me a while to understand what was going on.
The issue is that the Set would need to be rehashed. Indeed, when you add it to itself, the element you are adding is modified too.
This is, in a way, similar to:
```
a = []
s =...
marcandre (Marc-Andre Lafortune)
09:40 PM Feature #12813: Calling chunk_while, slice_after, slice_before, slice_when with no block
It would help if you explained what is meant by "safe".
There is currently no valid usage of `chunk_while`, `slice_after`, `slice_before` or `slice_when` without a block and an argument, as they all raise an exception. So "extending" ...
marcandre (Marc-Andre Lafortune)
02:04 PM Feature #12813 (Assigned): Calling chunk_while, slice_after, slice_before, slice_when with no block
We briefly looked at this issue in todays developer meeting but had no time to fully agree that the proposed extension is safe. We just did not reach a conclusion. shyouhei (Shyouhei Urabe)
06:29 PM Feature #12953 (Closed): (Float, Integer, Rational)#round(half: :down)
nobu (Nobuyoshi Nakada)
01:15 PM Feature #12953: (Float, Integer, Rational)#round(half: :down)
We looked at this issue at todays developer meeting and no one (including matz who was there) was against it. I believe this is accepted. shyouhei (Shyouhei Urabe)
03:01 PM Feature #12753: Useful operator to check bit-flag is true or false
Herwin Quarantainenet wrote:
> I can't say the usage of `bittest?` is directly clear to me. Does it test if resulting integer is not equal to `0`? And would we have to use it this way?
> ...
Like
```ruby
if n.bittest?(0b10100000)
`...
naruse (Yui NARUSE)
07:59 AM Feature #12753: Useful operator to check bit-flag is true or false
I can't say the usage of `bittest?` is directly clear to me. Does it test if resulting integer is not equal to `0`? And would we have to use it this way?
```ruby
if (n & 0b10100000).bittest?
```
I think a name like `Integer#binar...
herwinw (Herwin Quarantainenet)
07:45 AM Feature #12753: Useful operator to check bit-flag is true or false
`bittest?` sounds reasonable. Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:28 AM Feature #12753: Useful operator to check bit-flag is true or false
What about `bittest?` naruse (Yui NARUSE)
07:28 AM Feature #12753: Useful operator to check bit-flag is true or false
I understand the demand. But `and?` is an unacceptable name.
Any idea?
Matz.
matz (Yukihiro Matsumoto)
02:15 PM Feature #8960: Add Exception#backtrace_locations
We looked at this issue today. It turned out that ruby do not fully implement what was needed originally now. Reopened the ticket to assign ko1. shyouhei (Shyouhei Urabe)
09:21 AM Feature #8960 (Assigned): Add Exception#backtrace_locations
shyouhei (Shyouhei Urabe)
01:59 PM Bug #12780: BigDecimal#round returns different types depending on argument
We (mainly mrkn and matz) discussed why Fixnum#round returns Integer today. The answer is because (unlike other languages, namely C's round(3)) in ruby we can safely store all possible return value that round can theoretically generate,... shyouhei (Shyouhei Urabe)
01:46 PM Feature #12697: Why shouldn't Module meta programming methods be public?
We looked at this issue at todays developer meeting. We referred issue #6539 and now we remember that each method (not the "Module meta programming" at once) should have separate considerations.
While Matz do not like `String.include...
shyouhei (Shyouhei Urabe)
01:35 PM Bug #12688: Thread unsafety in autoload
We looked at this issue in todays developer meeting and had 2 feelings in common.
1. The autoload should not render NameError. It definitely is a bug that must be fixed. Ko1 is assigned.
2. Besides, we want to discourage people fr...
shyouhei (Shyouhei Urabe)
08:20 AM Bug #12688 (Assigned): Thread unsafety in autoload
shyouhei (Shyouhei Urabe)
01:31 PM Bug #12980: Time - Time to return a Rational
I think of one philosophical reason and one practical reason.
A philosophical reason: many Time objects are inherently inexact. Since a Rational is considered exact, returning a Rational might convey the wrong message that the Time o...
mame (Yusuke Endoh)
09:25 AM Bug #12980 (Feedback): Time - Time to return a Rational
akr (Akira Tanaka)
09:25 AM Bug #12980: Time - Time to return a Rational
It is because ruby-dev:38446 by mame-san.
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/38446
akr (Akira Tanaka)
08:26 AM Bug #12980: Time - Time to return a Rational
Well, my assumption seems wrong.
0.5r.round also becomes 0, so this isn't really related to #12952
Still I'm wondering why Time - Time isn't Rational though.
matsuda (Akira Matsuda)
08:18 AM Bug #12980 (Closed): Time - Time to return a Rational
Currently subtracting a Time from a Time returns a Float, which I guess causes #12952
Is there any reason this doesn't return a Rational?
matsuda (Akira Matsuda)
01:30 PM Feature #12944: Change Kernel#warn to call Warning.warn
`rb_str_cat` modifies the argument, it is unexpected to `Kernel#warn`, I think.
Also it doesn't work on a frozen string.
nobu (Nobuyoshi Nakada)
09:32 AM Feature #12944: Change Kernel#warn to call Warning.warn
Accepted.
Matz.
matz (Yukihiro Matsumoto)
01:28 PM Bug #10290 (Assigned): segfault when calling a lambda recursively after rescuing SystemStackError
ping nobu. shyouhei (Shyouhei Urabe)
01:27 PM Feature #12775: Random subset of array
We looked at this issue at todays developer meeting but a "random subset with random size" still does not sound familiar to the attendees.
Can you show us in code how do you use such array?
shyouhei (Shyouhei Urabe)
01:18 PM Feature #12831: /\X/ (extended grapheme cluster) can't pass unicode.org's GraphemeBreakTest
We looked at this issue in todays developer meeting and assigned it to Yui. But no one there had implementation of this. It might need some time. Stay tuned! shyouhei (Shyouhei Urabe)
06:37 AM Feature #12831 (Assigned): /\X/ (extended grapheme cluster) can't pass unicode.org's GraphemeBreakTest
shyouhei (Shyouhei Urabe)
01:13 PM Bug #12958: Breaking change in how `#round` works
Of course it changes behaviour. A change always is. The problem is how vital this (rounding an inexact number to a yet more inexact number) is.
As far as I can see the Rails breakage only happens in views, where 30secs is shown "les...
shyouhei (Shyouhei Urabe)
09:42 AM Bug #12958: Breaking change in how `#round` works
Tests are not the only problem. I believe this change is dangerous because this code may change behavior in production without being easily noticed. rafaelfranca (Rafael França)
07:41 AM Bug #12958 (Assigned): Breaking change in how `#round` works
shyouhei (Shyouhei Urabe)
09:41 AM Feature #12882: Add caller/file/line information to internal Kernel#warn calls
LGTM, as long as we add a functionality to `warn` to include those info.
Matz.
matz (Yukihiro Matsumoto)
09:35 AM Feature #12882: Add caller/file/line information to internal Kernel#warn calls
LGTM.
Matz.
matz (Yukihiro Matsumoto)
09:34 AM Feature #12732: An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
Below is PoC; it may have a path which raises an exception.
```diff
diff --git a/object.c b/object.c
index 05bef4d..5d63803 100644
--- a/object.c
+++ b/object.c
@@ -2750,17 +2750,60 @@ static VALUE
rb_f_integer(int argc, VALUE ...
naruse (Yui NARUSE)
07:01 AM Feature #12732 (Feedback): An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
Is there any problem with the following code?
```
Integer(str) rescue default_value
```
Matz.
matz (Yukihiro Matsumoto)
09:21 AM Misc #11904: Why was Thread.exclusive deprecated?
shyouhei@ruby-lang.org wrote:
> P.S. we have /#{@mutex=Mutex.new}/o, so we already have such thing, to some extent at least.

Awesome, ROFL; you almost made me choke on my food!

Yes, //o is awesome, but this really takes the cake....
normalperson (Eric Wong)
03:41 AM Misc #11904: Why was Thread.exclusive deprecated?
I feel that Thread.exclusive is too big a primitive to merely initialize a mutex at a process startup. We could perhaps introduce pthread_once_t analogous more fine-grained light-weight control structure that does the job.
P.S. we ha...
shyouhei (Shyouhei Urabe)
09:11 AM Feature #12612: Switch Range#=== to use cover? instead of include?
I encountered the problem in production code, it was not strings, but specialized IPAddress class, to filter "if IP is in range" -- it was SUDDENLY 0.4 sec on each request to server spent just to `(IPAddress.new(from)..IPAddress.new(to))... zverok (Victor Shepelev)
08:51 AM Feature #12612 (Rejected): Switch Range#=== to use cover? instead of include?
I see no real-world use-case for `Range#===` with strings.
Besides that, using `cover?` behavior for string ranges would introduce incompatibility.
Matz.
matz (Yukihiro Matsumoto)
09:08 AM Feature #12698 (Feedback): Method to delete a substring by regex match
I don't think it's worth adding which is easily done by `sub/gsub`.
Matz.
matz (Yukihiro Matsumoto)
09:01 AM Feature #12715 (Feedback): Allow ruby hackers to omit having to specify class or module mandatory, if they know exactly what they want to do
matz (Yukihiro Matsumoto)
08:59 AM Feature #12719 (Feedback): `Struct#merge` for partial updates
I want to see a real-world use-case for the feature.
In addition, I don't think the name `merge` is the best for the functionality.
Matz.
matz (Yukihiro Matsumoto)
08:55 AM Bug #9244 (Rejected): unexpected behaviour of 'require' when $LOAD_PATH gets changed
I'd like to keep compatibility rather than reducing confusion slightly.
In any way, modifying $LOAD_PATH on the fly is not encouraged in modern Ruby.
Matz.
matz (Yukihiro Matsumoto)
08:47 AM Feature #12786 (Feedback): String#casecmp?
I gave an implementation in Ruby, but can somebody provide an equivalent patch in C? duerst (Martin Dürst)
08:45 AM Feature #12786: String#casecmp?
I gave an implementation in Ruby, but can somebody provide an equivalent patch in C? duerst (Martin Dürst)
08:40 AM Feature #12786: String#casecmp?
`casecmp?` accepted.
Matz.
matz (Yukihiro Matsumoto)
08:43 AM Feature #12760: Optional block argument for `itself`
Well, I should say `yield_self` is not very readable in context (it raises question which is "self" in that context?):
~~~ruby
construct_url(*params)
.yield_self(&method(:open))
.read
.yield_self(&JSON.method(:parse))
.to...
zverok (Victor Shepelev)
08:10 AM Feature #12760: Optional block argument for `itself`
`yield_self` is OK, but I don't think we are going to add `object.{|x| ... }`.
Matz.
matz (Yukihiro Matsumoto)
08:08 AM Feature #12770 (Rejected): Hash#left_merge
Do you want to treat nils specially? If so, the name `left_merge` does not indicate the intention.
Besides that, you don't explain why you need `a.left_merge(b)` when we can `b.merge(a)`.
If you have additional opinions, ideas or whate...
matz (Yukihiro Matsumoto)
07:55 AM Feature #12978 (Rejected): Symbol after keyword
Reject because it is too similar to string literals.
Matz.
matz (Yukihiro Matsumoto)
06:55 AM Feature #12978 (Rejected): Symbol after keyword
As the developers' meeting today, proposed syntax extension `key::"value"`.
https://github.com/ruby/ruby/compare/trunk...nobu:feature/symbol-after-keyword
nobu (Nobuyoshi Nakada)
07:51 AM Feature #12746: class Array: alias .prepend to .unshift ?
FIY both append and prepend are in ActiveSupport: https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/array/prepend_and_append.rb matsuda (Akira Matsuda)
07:46 AM Feature #12746: class Array: alias .prepend to .unshift ?
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:48 AM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
I found that a rubygems test ,`TestGemSpecification#test_initialize_copy_broken` in test/rubygems/test_gem_specification.rb, depends on this exception.
And rubyspec fails as usual.
```diff
diff --git i/object.c w/object.c
index 05b...
nobu (Nobuyoshi Nakada)
07:20 AM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
If we don't care about dup-ability much, the proposal sounds reasonable.
And I agree this dup-ability matters less than confusion caused by exceptions.
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:12 AM Feature #12979 (Closed): Avoid exception for #dup on Integer (and similar cases)
This is a proposal resulting from a discussion in Bug #11929. Because this is proposing a different solution from #11929, it has a new number.
#11929 shows that people are confused that e.g. 3.dup throws an exception (but Integer#dup ...
duerst (Martin Dürst)
07:42 AM Feature #12752: Unpacking a value from a binary requires additional '.first'
`unpack1` looks so ad-hoc but surely is attractive.
Matz.
matz (Yukihiro Matsumoto)
07:39 AM Feature #12752: Unpacking a value from a binary requires additional '.first'
How about `Array#unpack1` ? naruse (Yui NARUSE)
07:31 AM Feature #12754: Want to use prepared buffer with `Array#pack`
Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:26 AM Feature #12871 (Assigned): Using the algorithm like math.fsum of Python for Array#sum
mrkn (Kenta Murata)
07:24 AM Bug #11929 (Closed): No programatic way to check ability to dup/clone an object
The issue closed by #12979
Matz.
matz (Yukihiro Matsumoto)
06:35 AM Bug #11929 (Feedback): No programatic way to check ability to dup/clone an object
1. ability to be duped cannot be checked by `respond_to?`. It's simply wrong.
2. the "fail silently" proposal is attractive, but it should be a separate proposal (for the sake of bookkeeping).
Matz.
matz (Yukihiro Matsumoto)
07:18 AM Feature #12745 (Feedback): String#(g)sub(!) should pass a MatchData to the block, not a String
Out of Shyouhei's 4 options,

1. not acceptable for compatibility's sake
2. not excited, may cause compatibility problem. besides that, `String#scan` cannot be enhanced by this option
3. looks nice but I have performance concern
4....
matz (Yukihiro Matsumoto)
06:58 AM Feature #12721 (Rejected): public_module_function
I understand your proposal, but I don't see what it is for.
Do you have any no-artificial use-case for this feature?
If you come up with real-world use-case, please re-open the issue.
Matz.
matz (Yukihiro Matsumoto)
06:49 AM Feature #4897 (Rejected): Define Math::TAU and BigMath.TAU. The "true" circle constant, Tau=2*Pi. See http://tauday.com/
For the time being, use `math-tau` gem.
I will add it after (and only after) it became time-proven major, probably due to Python's tau.
Matz.
matz (Yukihiro Matsumoto)
06:41 AM Feature #12695: File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
Accepted.
Matz.
matz (Yukihiro Matsumoto)
06:28 AM Revision 631dde25 (git): round-down
* numeric.c (round_half_down, int_round_half_down): support
round-down mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:22 AM Feature #12063: KeyError#receiver and KeyError#name
Agreed.
Matz.
matz (Yukihiro Matsumoto)
05:54 AM Feature #12963 (Feedback): ?string longer than one char
Since ?up gives a string "up", it cannot be a replacement for :up symbol.
If someone come up with an use-case for this multi-character ? string literal, I will reinvestigate.
Matz.
matz (Yukihiro Matsumoto)

11/24/2016

08:51 PM Revision b6d10b6c (git): * 2016-11-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:51 PM Revision f6f158c6 (git): use `rb_struct_ptr` for `RSTRUCT_PTR` macro
* include/ruby/ruby.h (RSTRUCT_PTR): at r55788, `rb_struct_const_ptr` had been hidden and `rb_struct_ptr` had been implemented for backward compatiblity. but the definition of `RSTRUCT_PTR` was not modified to use it, probably by mistak... U.Nakamura
05:02 PM Misc #12977 (Closed): Cleanup ruby method definitions in hash.c
https://github.com/ruby/ruby/pull/1492
Alway add a space between a comma and the next element. These spaces were there sometimes, but not always. This keeps to code consistent.
herwin (Herwin W)
05:02 PM Misc #12976 (Closed): Update example of Hash#value? and Hash#has_value?
https://github.com/ruby/ruby/pull/1491
The same code is used for has_value? and value?, but according to http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/43765 has_value is deprecated. Use the non-deprecated syntax in the...
herwin (Herwin W)
02:09 PM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
Nobuyoshi Nakada wrote:
> Only "invalid value for Integer()" from a string?
I don't have a strong opinion on this.
sos4nt (Stefan Schüßler)
11:44 AM Feature #12921: Retrieve user and password for proxy from env
> Why don't you use open-uri?
Because open-uri can't treat POST, HEAD, etc.
I think it is natural that net/http gets the same parameters from env for default unspecified parameters as open-uri does.
ngoto (Naohisa Goto)
11:07 AM Bug #12974 (Closed): Marshal.dump dumps core.
Applied in changeset r56894.
----------
marshal.c: fix infinite recursion
* marshal.c (check_userdump_arg): marshal_dump should not return
an instance of the same class, otherwise it causes infinite
recursion. [ruby-core:78289] [B...
nobu (Nobuyoshi Nakada)
09:44 AM Bug #12974: Marshal.dump dumps core.
```
zsh % lldb -- ./miniruby -v tmp.rb
(lldb) target create "./miniruby"
Current executable set to './miniruby' (x86_64).
(lldb) settings set -- target.run-args "-v" "tmp.rb"
(lldb) run
Process 91881 launched: './miniruby' (x86_64...
shyouhei (Shyouhei Urabe)
09:42 AM Bug #12974 (Closed): Marshal.dump dumps core.
```ruby
Hash.include Module.new {
def marshal_dump
dup
end
def marshal_load this
initialize_copy this
end
}
p Marshal.load(Marshal.dump(foo:"bar"))
```
This script dumps core.
shyouhei (Shyouhei Urabe)
11:07 AM Revision e83c3446 (git): marshal.c: fix infinite recursion
* marshal.c (check_userdump_arg): marshal_dump should not return
an instance of the same class, otherwise it causes infinite
recursion. [ruby-core:78289] [Bug #12974]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56894 b2dd03c8...
nobu (Nobuyoshi Nakada)
10:59 AM Revision 88c3dcce (git): marshal.c: negative limit
* marshal.c (w_object): should not decrement negative limit which
means unlimited.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:19 AM Bug #12975 (Closed): Edit documentation for IO#print function
Important changes made:
* Delete a duplicate sentence relating to a description of global variable $_
* Split the whole paragraph into three semantically related smaller ones.
To make it easier to digest the content.
* Emphasize name...
da1chy (Dario Daic)
03:01 AM Revision 4aefcbc5 (git): test_fileutils.rb: fix deadlock
* test/fileutils/test_fileutils.rb (assert_output_lines): ensure
that write pipe is closed, not the reader thread to deadlock
when an exception raised in the given block.
[ruby-core:78053] [Bug #12910]
git-svn-id: svn+ssh://ci.rub...
nobu (Nobuyoshi Nakada)
01:03 AM Revision 94ca443a (git): Add credit and PR/issue numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
12:41 AM Bug #12910: TestFileUtils#test_chown_R_force might get stuck when process has no supplementary groups
Thx for fixing this. But is there chance to improve my first point? I.e. why the test suite gets stuck? It should just fail. The assert apparently failed, so the test case should fail .... vo.x (Vit Ondruch)
12:38 AM Feature #12966: net/ftp to include fxp support?
Shugo Maeda wrote:
> ```ruby
> ...
It might be better to swap `dst_*` and `src_*`.
shugo (Shugo Maeda)

11/23/2016

11:57 PM Revision 214eecd3 (git): resolv: use safe navigation operator to avoid extra hash lookups
@addr2name is a private Hash and never changes its default_proc,
so only pay the hash lookup cost once; we know missing entries
in the hash will be nil.
* lib/resolv.rb (each_name): use safe navigation operator
git-svn-id: svn+ssh://ci...
Eric Wong
11:14 PM Revision 376e57fe (git): webrick/server: use symbol proc
Symbol proc is less code and avoids confusion from variable
naming.
* lib/webrick/server.rb (shutdown): use symbol proc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
10:50 PM Feature #12973 (Closed): [RFC] net/http: use require_relative to reduce syscalls
require_relative speeds up loading of files by reducing path
lookups. On a clean install with RubyGems-enabled,
"ruby -rnet/http -e exit" shows a reduction in failed open(2)
syscalls from 410 to 350 (x86-64 GNU/Linux).
I could not...
normalperson (Eric Wong)
08:48 PM Bug #12910: TestFileUtils#test_chown_R_force might get stuck when process has no supplementary groups
ruby_2_3 r56888 merged revision(s) 56884. nagachika (Tomoyuki Chikanaga)
11:30 AM Bug #12910 (Closed): TestFileUtils#test_chown_R_force might get stuck when process has no supplementary groups
Applied in changeset r56884.
----------
test_fileutils.rb: Use primary group too
* test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use
primary group as well as supplementary groups. based on the
patch by Vít Ondruch at [ru...
nobu (Nobuyoshi Nakada)
09:27 AM Bug #12910: TestFileUtils#test_chown_R_force might get stuck when process has no supplementary groups
> For some reason, the test expects there will be some supplementary groups available, but there are non in the container. The following patch makes the test suite pass, although it apparently doesn't test everything, since some tests ex... vo.x (Vit Ondruch)
08:48 PM Revision f9664eb3 (git): merge revision(s) 56884: [Backport #12910]
test_fileutils.rb: Use primary group too
* test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use
primary group as well as supplementary groups. based on the
patch by Vit Ondruch at [ruby-core:78053]. [Bug #12910]
...
nagachika (Tomoyuki Chikanaga)
08:46 PM Bug #12972: TestDir_M17N#test_glob_encoding if the locale is neither C nor *.UTF-8
ruby_2_3 r56887 merged revision(s) 56881. nagachika (Tomoyuki Chikanaga)
05:16 AM Bug #12972 (Closed): TestDir_M17N#test_glob_encoding if the locale is neither C nor *.UTF-8
Fixed in r56881. shugo (Shugo Maeda)
04:33 AM Bug #12972 (Closed): TestDir_M17N#test_glob_encoding if the locale is neither C nor *.UTF-8
TestDir_M17N#test_glob_encoding if the current locale is neither C nor *.UTF-8:
```
$ make test-all TESTS="test/ruby/test_dir_m17n.rb -n /test_glob_encoding/" LC_ALL=en_US
(snip)
[1/1] TestDir_M17N#test_glob_encoding = 0.00 s
1)...
shugo (Shugo Maeda)
08:45 PM Revision 6fe1243d (git): merge revision(s) 56881: [Backport #12972]
Don't encode to UTF-8 if it's unnecessary.
If the file system encoding is ISO-8851-1 or if the encoding of the target
string is invalid, don't encode to UTF-8. [ruby-core:78271] [Bug#12972]
git-svn-id: svn+ssh://ci.rub...
nagachika (Tomoyuki Chikanaga)
07:16 PM Feature #3944: Add Fiber#root? method
I also need Fiber#root?. My Scenario looks similar to the ones above, but I'm not using EM:
I have a loop watching sockets. This loop runs in a fiber. Each time a socket is readable another fiber is created to handle the request.
S...
christopheraue (Christopher Aue)
05:37 PM Bug #11531: IPAddr#== implements wrong logic

> IPAddr represents an IP address, not an IP network, so it does not consider a difference in netmasks as significant.
I disagree that IPAddr represents an IP address (I think a more accurately represents a CIDR block). To add to B...
sahglie (Steven Hansen)
03:10 PM Revision d7f6ef94 (git): * 2016-11-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:10 PM Revision ae40b481 (git): Add CR/LF check to Net::FTP#status.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
03:00 PM Feature #12966 (Assigned): net/ftp to include fxp support?
sole box wrote:
> can we implement support for fxp ? its an extension of the ftp protocol , looks like a legit thing to have no?
Do you have a specific interface in mind?
I came up with the following interface, but there may be a be...
shugo (Shugo Maeda)
07:57 AM Feature #12966: net/ftp to include fxp support?
sole box wrote:
> Martin Dürst wrote:
> ...
Great!
> btw , who do i assign it to then?
See https://bugs.ruby-lang.org/projects/ruby/wiki/MaintainersStdlib.
duerst (Martin Dürst)
03:28 AM Feature #12966: net/ftp to include fxp support?
Martin Dürst wrote:
> sole box wrote:
> ...
ok martin,
ill implement it gladly , btw , who do i assign it to then?
solebox (sole box)
11:30 AM Revision e6efdb7b (git): test_fileutils.rb: Use primary group too
* test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use
primary group as well as supplementary groups. based on the
patch by Vít Ondruch at [ruby-core:78053]. [Bug #12910]
It might happen in certain environments (systemd-nsp...
nobu (Nobuyoshi Nakada)
10:37 AM Bug #10774: Regression: URI::MAilTo#to_mailtext - undefined method unescape for URI::RFC3986_Parser
This is still happening on trunk/2.4 previews. Any news of getting this fixed after over two years? After all, it makes this function fail in all cases. This blocks migration of an existing codebase from Ruby 2.1 for me. rbu (Robert Buchholz)
08:10 AM Revision c0bc825b (git): lib/net/ftp: fix typo
* lib/net/ftp.rb (shutdown): fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56883 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
05:26 AM Bug #12914 (Closed): FTPTest#test_list_read_timeout_exceeded causes EPROTOTYPE on Mac OS X 10.10
Applied in changeset r56882.
----------
rescue Errno::EPROTOTYPE in FTPTest#test_list_read_timeout_exceeded.
Errno::EPROTOTYPE is sometimes raised on Mac OS X 10.10.
[ruby-core:78066] [Bug #12914]
shugo (Shugo Maeda)
05:26 AM Revision c0652def (git): rescue Errno::EPROTOTYPE in FTPTest#test_list_read_timeout_exceeded.
Errno::EPROTOTYPE is sometimes raised on Mac OS X 10.10.
[ruby-core:78066] [Bug #12914]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56882 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
04:40 AM Revision 2411cab5 (git): Don't encode to UTF-8 if it's unnecessary.
If the file system encoding is ISO-8851-1 or if the encoding of the target
string is invalid, don't encode to UTF-8. [ruby-core:78271] [Bug#12972]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56881 b2dd03c8-39d4-4d8f-98ff-823fe69b...
shugo (Shugo Maeda)
03:17 AM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
Only "invalid value for Integer()" from a string?
`Integer` can raise exceptions other than `ArgumentError` against a string, for example.
```ruby
Integer(nil) #=> can't convert nil into Integer (TypeError)
Integer(Objec...
nobu (Nobuyoshi Nakada)
01:14 AM Feature #12926: -l flag for line end processing should use chomp! instead of chop!
I'd consider it a bug.
https://github.com/nobu/ruby/tree/bug/12926-chomp-l
nobu (Nobuyoshi Nakada)
12:57 AM Bug #12860 (Closed): Splatting an argument does not obey left-to-right execution order
nobu (Nobuyoshi Nakada)
12:34 AM Revision a7a1391f (git): Disconnect immediately even if Net::FTP#close is called without quit.
In that case, BufferedSSLSocket#read in FTP#close exceeded timeout because
BufferedSSLSocket#shutdown did nothing. So BufferedIO#rbuf_fill is
overridden in BufferedSSLSocket to raise an EOFError if the connection is
shut down.
git-svn-...
shugo (Shugo Maeda)
12:03 AM Feature #12965 (Closed): net/ftp module to support optional path parameter for status
Applied in changeset r56879.
----------
Add a new optinal argument pathname to FTP#stat.
Based on the patch by soleboxy.
[Fix GH-1478] [ruby-core:78240] [Feature #12965]
shugo (Shugo Maeda)
12:03 AM Revision e50266f2 (git): Add a new optinal argument pathname to FTP#stat.
Based on the patch by soleboxy.
[Fix GH-1478] [ruby-core:78240] [Feature #12965]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)

11/22/2016

11:44 PM Revision 5660bb92 (git): Use `&.` instead of `if` and `? :`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
11:32 PM Revision 4992c020 (git): parse.y: warn ? followed by a word
* parse.y (parse_qmark): warn `?` with unbalanced space, which is
interpreted as a conditional operator.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:11 PM Revision 200d9c06 (git): * 2016-11-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
11:11 PM Revision 64676bae (git): Use `&.` and `||=` instead of if guards
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
11:01 PM Feature #12971: (Refactoring) Remove `defined?` checks from observer.rb
You have to define the instance method, not setting instance variables on `Observable` module.
For example:
```ruby
module Initializer
def initialize(*)
@observer_peers ||= {}
@observer_state ||= false
su...
nobu (Nobuyoshi Nakada)
07:21 PM Feature #12971: (Refactoring) Remove `defined?` checks from observer.rb
can be closed also =\ itsNikolay (Nikolay Ponomarev)
05:32 PM Feature #12971: (Refactoring) Remove `defined?` checks from observer.rb
Github Pull Request: https://github.com/ruby/ruby/pull/1489 itsNikolay (Nikolay Ponomarev)
05:30 PM Feature #12971 (Closed): (Refactoring) Remove `defined?` checks from observer.rb
Remove `defined?` checks from observer.rb
- Contains less code
- Easier to understand Observable logic
- No performance downgrade
itsNikolay (Nikolay Ponomarev)
10:21 PM Feature #12901: Anonymous functions without scope lookup overhead
ko1 mentioned a similar possibility in his RubyConf talk about Guilds. An "isolated proc" would be a good option to pass between guilds (since it doesn't depend on its binding).
https://youtu.be/mjzmUUQWqco?t=34m26s
rmosolgo (Robert Mosolgo)
07:41 PM Feature #11999: MatchData#to_h to get a Hash from named captures
Shouldn't this produce Symbol keys? headius (Charles Nutter)
06:48 PM Misc #11904: Why was Thread.exclusive deprecated?
I came here cause I was curious why Thread.exclusive was deprecated, and didn't find an answer!
But for anyone else curious about the answer to Tony's original question (Tony has probably long since figured it out), I think you can _c...
jrochkind (jonathan rochkind)
04:58 PM Bug #10109 (Closed): BigDecimal fail to compare to Float::INFINITY
mrkn (Kenta Murata)
04:57 PM Bug #10109: BigDecimal fail to compare to Float::INFINITY
I found that this is fixed by r55123 mrkn (Kenta Murata)
04:42 PM Bug #12970 (Closed): == Equality of recursive sets fails
Comparing recursive arrays and hashes with equal? contents (save for the recursive element) using == succeeds.
However, using == to compare two recursive sets with equal? contents fails. I expect that to succeed.
See the attached scr...
kdeberk (Kevin de Berk)
01:59 PM Revision 71a7931f (git): IOError does not happen
* IOError does not happen even if another thread closes io
* Use symbol proc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
01:11 PM Revision a53fe773 (git): Use `&.` instead of modifier if
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
11:40 AM Bug #3648 (Closed): Bignum Incomparable with Float::INFINITY
hsbt (Hiroshi SHIBATA)
11:39 AM Feature #12969: Allow optional parameter in String#strip and related
The concrete use case that I got was that I wanted to replace all trailing whitespace, but leave tabs/newlines etc untouched. The current code looks like this:
```ruby
newstr = str.sub(/ +$/, '')
```
I tried to see if there was a...
herwinw (Herwin Quarantainenet)
11:29 AM Feature #12969: Allow optional parameter in String#strip and related
I think it's possible. Just wonder if there are cases where it is useful. shyouhei (Shyouhei Urabe)
10:26 AM Feature #12969 (Open): Allow optional parameter in String#strip and related
`String#strip` and related methods have a hardcoded match on whitespace, defined as "null, horizontal tab, line feed, vertical tab, form feed, carriage return, space". It would be nice to allow a parameter to specify the characters you w... herwinw (Herwin Quarantainenet)
11:31 AM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
+1 I like this idea. It must also be backwards compatible. shyouhei (Shyouhei Urabe)
10:17 AM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
Alexei Matyushkin wrote:
> To make it possible to fallback to e.g. `#to_i` it would be great to receive an actual argument as block parameter:
Absolutely, I've mentioned that in the last sentence.
sos4nt (Stefan Schüßler)
10:07 AM Feature #12968: Allow default value via block for Integer(), Float() and Rational()
Stefan Schüßler wrote:
> ```ruby
> ...
To make it possible to fallback to e.g. `#to_i` it would be great to receive an actual argument as block parameter:
```ruby
# ⇓⇓⇓⇓⇓
Integer('foo') { |val| val.to_i }
```
mudasobwa (Alexei Matyushkin)
09:30 AM Feature #12968 (Open): Allow default value via block for Integer(), Float() and Rational()
`Kernel` provides the global conversion functions `Integer()`, `Float()` and `Rational()`. Each one convert its argument to the respective type.
Parsing errors are signaled by raising a `TypeError` or an `ArgumentError`.
I often us...
sos4nt (Stefan Schüßler)
10:13 AM Feature #12964: Add sub? and gsub? method to string class.
I don't really see how this would be any different from `match?`
Beside that, the semantics are a bit ambiguous. `"foo".sub(/bar/, 'x')` does work, it just doesn't replace anything because there is no match for the regex. So would `su...
herwinw (Herwin Quarantainenet)
12:50 AM Feature #12964 (Feedback): Add sub? and gsub? method to string class.
Sorry, I feel difficulty understanding your request. What is wrong with normal regexp matches? Be a bit more descriptive about what is wanted. shyouhei (Shyouhei Urabe)
08:57 AM Feature #12966: net/ftp to include fxp support?
sole box wrote:
> can we implement support for fxp ? its an extension of the ftp protocol , looks like a legit thing to have no?
Probably yes. Why don't you (or somebody else) go ahead and implement it, maybe as a gem, and then we ca...
duerst (Martin Dürst)
12:10 AM Feature #12966 (Rejected): net/ftp to include fxp support?
can we implement support for fxp ? its an extension of the ftp protocol , looks like a legit thing to have no?
solebox (sole box)
06:08 AM Feature #12967 (Rejected): Add a default for RUBY_GC_HEAP_GROWTH_MAX_SLOTS out-of-the-box
As it stands Ruby heaps grow at a rate that is too fast for the vast majority of applications that use Ruby.
```
def rss
_,rss = `ps ax -o pid,rss | grep '#{Process.pid} '`.split(/\s+/)
rss.to_i
end
def heap_length
G...
sam.saffron (Sam Saffron)
05:21 AM Revision b920d954 (git): complex.c: optimize f_gt_p some cases
* complex.c (f_gt_p): optimize f_gt_p for specific types of arguments.
* internal.h (rb_int_gt, rb_float_gt, rb_rational_cmp): exported.
* numeric.c (rb_float_gt): rename from flo_gt and be exported.
* numeric.c (rb_int_gt): rename fr...
Kenta Murata
05:17 AM Revision d59bfb2d (git): Add BufferedSSLSocket#send.
SSLSocket#send is not defined, so use #write instead. flags and dest are
ignored.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
04:54 AM Revision 5a5cc211 (git): complex.c: optimize Kernel#Complex
* complex.c (nucomp_f_complex): use nucomp_s_convert directly.
* complex.c (id_convert): removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Kenta Murata
12:16 AM Revision 3dd92421 (git): webrick/server: simplify Daemon.start
Process.daemon exists since Ruby 1.9.1 and does most of what we need.
* lib/webrick/server.rb (Daemon.start): simplify
[Misc #12937]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong

11/21/2016

11:50 PM Revision 6d7dc8f7 (git): resolv: use symbol proc when possible
This reduces both human code and bytecode.
lib/resolv.rb (sender_for, Config.parse_resolv_conf): use symbol proc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Eric Wong
11:50 PM Revision 0514a747 (git): socket: use symbol proc for IO#close loops
Made possible by r56795, this reduces human and byte code size.
* ext/socket/lib/socket.rb (self.ip_sockets_port0,
self.tcp_server_sockets_port0,
self.tcp_server_sockets,
self.udp_server_sockets): use symbol proc
git-svn-id: svn+...
Eric Wong
11:13 PM Revision e3c28856 (git): lib/open3: favor symbol proc when possible
It reduces both human and machine code; as well as reducing
the confusion from variable naming.
* lib/open3.rb (popen_run, pipeline, pipeline_run): avoid capture
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56866 b2dd03c8-39d4-4d8...
Eric Wong
11:05 PM Revision f845a9ef (git): lib/*: remove closed checks
Follow r56795. Since Ruby 2.2, calling #close on a closed
socket no longer raises exceptions.
* lib/cgi/session.rb (update): remove closed? check
* lib/net/http.rb (finish, transport_request): ditto
* lib/net/imap.rb (disconnect): ditt...
Eric Wong
10:45 PM Revision 8e4c8e96 (git): * 2016-11-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
10:45 PM Revision 3c93545a (git): Revert r56856
* parse.y: tCHAR can be concatenated.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:00 PM Feature #12965 (Closed): net/ftp module to support optional path parameter for status
hey , in the ftp rfc one can choose to use "STAT" raw command with a path as a parameter.
the result is the same as list only faster and over the control plane (i.e the same tcp session)
this feature can help developers make faster im...
solebox (sole box)
09:28 PM Feature #12964 (Feedback): Add sub? and gsub? method to string class.
The sub? and gsub? method would allow you to check if you can sub or gsub the string. LTheGreats (Lachlan Wilger)
08:02 PM Bug #12954: valgrind shows memory leaks
nobu@ruby-lang.org wrote:
> It's intentional that many objects (classes, methods, etc) are not freed.
> Probably it's better to tell valgrind not to report such things.
> Patches are welcome.

100% agreed, valgrind suppression file...
normalperson (Eric Wong)
02:57 AM Bug #12954: valgrind shows memory leaks
Attached results of valgrind on openSUSE 13.2 and Ruby 2.1 package. hsbt (Hiroshi SHIBATA)
02:36 AM Bug #12954 (Feedback): valgrind shows memory leaks
It's intentional that many objects (classes, methods, etc) are not freed.
Probably it's better to tell valgrind not to report such things.
Patches are welcome.
nobu (Nobuyoshi Nakada)
04:01 PM Bug #10109: BigDecimal fail to compare to Float::INFINITY
I'm working on it in https://github.com/ruby/bigdecimal/pull/15 mrkn (Kenta Murata)
03:54 PM Bug #9979 (Feedback): Regression: BigDecimal::ROUND_HALF_DOWN/ROUND_HALF_EVEN behave incorrectly
I think the current behavior is the correct one.
```
$ ruby -rbigdecimal -ve 'p Gem::Dependency.new("bigdecimal").to_spec.version.to_s; puts ("0.50"..."0.60").map {|x| [x, BigDecimal(x).round(0, BigDecimal::ROUND_HALF_DOWN).to_s("F")...
mrkn (Kenta Murata)
03:36 PM Bug #12952 (Assigned): Incompatibility of a method signature between `Float#round` and `BigDecimal#round`
I'm working on it in https://github.com/ruby/bigdecimal/pull/14 mrkn (Kenta Murata)
12:53 PM Feature #12963 (Rejected): ?string longer than one char
Now Symbol as keyword argument is often used, but a space is required between the label and the symbol literal.
```ruby
x.round(half: :up)
```
Or using a String argument,
```ruby
x.round(half:"up")
```
Both don't feel nic...
nobu (Nobuyoshi Nakada)
12:34 PM Revision 8e383870 (git): ftp.rb: fix typo [ci skip]
* lib/net/ftp.rb (Net::FTP#initialize): [DOC] fix type in option
name, :username is used but :use is not.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:38 AM Revision 30cc5ce4 (git): Add new options open_timeout and read_timeout to Net::FTP.new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
08:55 AM Revision 4c839a2c (git): Use dynamic dispatch instead of is_a?.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
07:57 AM Bug #12759: Backport r53668 (Fix doc with default value with GH-523)
ruby_2_3 r56858 merged revision(s) 53668. nagachika (Tomoyuki Chikanaga)
07:56 AM Revision f82fd950 (git): merge revision(s) 53668: [Backport #12759]
* lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter
`basename` is optional and defaulted to an empty string since
[GH-523]. [Fix GH-1225]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3...
nagachika (Tomoyuki Chikanaga)
05:02 AM Revision 4081b34d (git): net/http: avoid writing/reading from unstarted SSL socket
When net/http connects to an HTTPS server through a CONNECT proxy, it
writes the CONNECT request to an unconnected OpenSSL::SSL::SSLSocket.
OpenSSL::SSL::SSLSocket traditionally fallbacks to a method call on the
underlying IO object if ...
rhenium (Kazuki Yamaguchi)
04:59 AM Feature #4147 (Feedback): Array#sample で重みを指定したい
hsbt (Hiroshi SHIBATA)
03:13 AM Revision 41d9e6dd (git): parse.y: tCHAR cannot be concatenated
* parse.y (strings): tCHAR is not a subject of string literal
concatenation and string interpolation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:17 AM Revision fd87a1c1 (git): * 2016-11-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:17 AM Revision b2270a36 (git): numeric.c: refine error message
* numeric.c (rb_num_get_rounding_option): refine error message at
invalid rounding mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56854 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

11/20/2016

01:38 PM Feature #12957: A more OO way to create lambda Procs
Problem is, when you allow LambdaProc.new, that have to accept non-lambda procs, like LambdaProc.new(&nonlambda). This way, a proc would be converted from/between lambda and non-lambda.
This is not a good idea. Right now a lambda is...
shyouhei (Shyouhei Urabe)
10:52 AM Revision 2a546caa (git): proc.c: enable Proc#to_s rdoc
* proc.c (proc_to_s): move just after the rdoc comment.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:41 AM Revision 3a996e8a (git): proc.c: suppress warning
* proc.c (NO_CLOBBERED): suppress clobbered warning which appears
only on mingw.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
09:11 AM Revision 714d72c9 (git): Remove an unused variable to suppress a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
06:53 AM Revision 4ba97784 (git): win32ole.c: suppress warnings
* ext/win32ole/win32ole.c (g_ole_initialized): compare with 0
instead of cast to get rid of pointer-to-int-cast warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:19 AM Revision 935f8255 (git): get rid of test failures introduced at r56848
* ext/rubyvm/lib/forwardable/impl.rb: remove an unused variable definition to
get rid of a warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
02:12 AM Bug #12938 (Closed): forwardable.rb is no longer compatible with any alternative implementation
Applied in changeset r56848.
----------
forwardable/impl.rb
* lib/forwardable/impl.rb (_valid_method?, _compile_method):
extract to separate implementation specific part.
[ruby-core:78138] [Bug #12938]
nobu (Nobuyoshi Nakada)
02:12 AM Revision 2283d14c (git): forwardable/impl.rb
* lib/forwardable/impl.rb (_valid_method?, _compile_method):
extract to separate implementation specific part.
[ruby-core:78138] [Bug #12938]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56848 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:49 AM Revision fb8628ec (git): remote_address should be called on @bare_sock.
Because @sock.remote_address fails if @sock is an SSLSocket.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
01:47 AM Bug #12950: irb: 'input-method.rb:151: [BUG] Segmentation fault' / 'malloc(): smallbin double linked list corrupted'
dota? =op dota? =op wrote:
> ok i traced down the problem to this line on my .inputrc
> ...
I could reproduce it by the inputrc with recent 2.3 and trunk.
And libreadline7 seems same.
```
-- Machine register context --------------...
nobu (Nobuyoshi Nakada)
01:44 AM Revision f0dd33d5 (git): shutdown(2) should not be called for SSLSocket.
SSLSocket#stop is a private method and cannot be called, but explicit calls
are not necessary because SSL_shutdown() is called from SSLSocket#close.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56846 b2dd03c8-39d4-4d8f-98ff-823fe69...
shugo (Shugo Maeda)
 

Also available in: Atom