Project

General

Profile

Activity

From 11/24/2016 to 11/30/2016

11/30/2016

05:29 PM Feature #12831 (Closed): /\X/ (extended grapheme cluster) can't pass unicode.org's GraphemeBreakTest
Applied in changeset r56949.
----------
Regexp supports Unicoe 9.0.0's \X
* meta character \X matches Unicode 9.0.0 characters with some workarounds
for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.
[Feature #12831] [ruby...
naruse (Yui NARUSE)
05:29 PM Revision 48beedd5 (git): * 2016-12-01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
05:29 PM Revision c11e6487 (git): Regexp supports Unicoe 9.0.0's \X
* meta character \X matches Unicode 9.0.0 characters with some workarounds
for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences.
[Feature #12831] [ruby-core:77586]
The term "character" can have many meanings bytes, codepoints,...
naruse (Yui NARUSE)
03:58 PM Feature #12906: do/end blocks work with ensure/rescue/else
Checking that I submitted this correctly, I usually do Github, so might have gotten this wrong. josh.cheek (Josh Cheek)
03:53 PM Bug #12994 (Feedback): Embedded ruby vs2015 build crashes
I don't know what is "an ruby embedded engine".
But I can say that you have to call `rb_w32_sysinit` before calling `ruby_init` on Windows.
usa (Usaku NAKAMURA)
03:38 PM Bug #12994 (Closed): Embedded ruby vs2015 build crashes
When an embedded ruby engine in a vs2015 application is initialised using ruby_init the function set_pioinfo_extra in win32.c is not called.
This results in a crash when ruby_init is called and it is trying to derefence the __pioinfo po...
fjilderd (Freddy Jilderda)
03:18 PM Bug #12993: SEGV in OpenSSL::TestSSL#test_close_after_socket_close
Actually, I thought the fix was applied in the package according to the OpenSSL changelog:
```
* Tue Nov 22 2016 Tomáš Mráz <tmraz@redhat.com> 1.1.0c-2
- revert SSL_read() behavior change
- patch from upstream (#1394677)
- EC curv...
vo.x (Vit Ondruch)
02:46 PM Bug #12993 (Closed): SEGV in OpenSSL::TestSSL#test_close_after_socket_close
Imported at r56946. rhenium (Kazuki Yamaguchi)
11:23 AM Bug #12993: SEGV in OpenSSL::TestSSL#test_close_after_socket_close
Not really a segfault but rb_sys_fail() is calling rb_bug() because errno is 0. OpenSSL 1.1.0c introduced a breaking change in SSL_read()[1], and it is already reverted in the OpenSSL-1_1_0-stable branch.
I have patched ruby/openssl[2...
rhenium (Kazuki Yamaguchi)
11:06 AM Bug #12993: SEGV in OpenSSL::TestSSL#test_close_after_socket_close
r56693 used to build for me and now it fails, so this is apparently some change in Fedora Rawhide. vo.x (Vit Ondruch)
10:59 AM Bug #12993 (Closed): SEGV in OpenSSL::TestSSL#test_close_after_socket_close
Testing the latest version of Ruby from trunk on Fedora Rawhide, the OpenSSL::TestSSL#test_close_after_socket_close segfaults (see the attached log). Not sure what might be possible the reason, if it is some change in Fedora in Ruby.
...
vo.x (Vit Ondruch)
02:54 PM Revision e680bfb1 (git): ossl.c: cast
* ext/openssl/ossl.c (ossl_pem_passwd_cb): cast to int. it's safe
because len does not exceed int max_len.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:46 PM Feature #12921: Retrieve user and password for proxy from env
Shyouhei Urabe wrote:
> Yuri Samoilenko wrote:
> ...
Yuri Samoilenko said than it's operation system problem, if any users can read you env. Not ruby.
Anyway, http-proxy it's standart way set proxy and with auth too.
wolfer (Sergey Fedosov)
02:42 PM Feature #12921: Retrieve user and password for proxy from env
Yuri Samoilenko wrote:
> What do you mean when say "insecure"? Storing login and password in filesystem and then read it and pass to http request manually is secure? Insecure is availability to pass login/password in plain form like "ht...
shyouhei (Shyouhei Urabe)
08:08 AM Feature #12921: Retrieve user and password for proxy from env
Shyouhei Urabe wrote:
> You have to understand that environment variables are in fact insecure. It is a very bad idea to store passwords there. Surprising or not, insecure is insecure. We shall not introduce this.
What do you mean...
jerry_ru (Yuri Samoilenko)
02:43 PM Revision 88b745f0 (git): parse.y: refine error message
* parse.y (parser_tokadd_utf8): refine error message at bad char
in unicode escape, "invalid" instead of "unterminated".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:41 PM Revision aab0d67a (git): openssl: import v2.0.0
Import Ruby/OpenSSL 2.0.0. The full commit history since 2.0.0 beta.2
(imported at r56098) can be found at:
https://github.com/ruby/openssl/compare/v2.0.0.beta.2...v2.0.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56946 b2dd03...
rhenium (Kazuki Yamaguchi)
02:24 PM Revision 0a5abaf7 (git): Fixed error with `make install`
rbinstall.rb couldn't load "psych/versions".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
01:55 PM Revision 48e251df (git): Update psych-2.2.1
It fixed segmentation fault related with GC.
https://github.com/ruby/psych/pull/296
and removed deprecated code of Ruby 1.8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
01:09 PM Revision 5e4b8455 (git): parse.y: parser_tokadd_codepoint
* parse.y (parser_tokadd_codepoint): extract from
parser_tokadd_utf8.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:09 PM Revision 94715bc6 (git): parse.y: brace constants
* parse.y (parser_tokadd_utf8): make open/close braces constant.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:50 AM Bug #12934: Make compressed debug section optional
Thx for implementing this. ```--with-compress-debug-sections=no``` seems to disable the compression of debug sections. vo.x (Vit Ondruch)
08:36 AM Bug #12990: unicode_case_mapping_tests
A short additional note: If cases like these increase with future versions of Unicode, I plan to change the special treatment of U+03B9/U+03BC/U+A64B to something more data-based. duerst (Martin Dürst)
08:25 AM Bug #12990 (Closed): unicode_case_mapping_tests
Applied in changeset r56941.
----------
fix uppercasing for U+A64B, CYRILLIC SMALL LETTER MONOGRAPH UK
* enc/unicode.c: Add U+A64B to the special cases 03B9 and 03BC
at the end of onigenc_unicode_case_map (Bug #12990).
* enc/unicode...
duerst (Martin Dürst)
05:56 AM Bug #12990: unicode_case_mapping_tests
Just for the record, I think this is where the problem was introduced:
https://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/55478/diff/test/ruby/enc/test_case_comprehensive.rb
That explains why almost all characters are ...
duerst (Martin Dürst)
08:25 AM Revision 87b937bd (git): fix uppercasing for U+A64B, CYRILLIC SMALL LETTER MONOGRAPH UK
* enc/unicode.c: Add U+A64B to the special cases 03B9 and 03BC
at the end of onigenc_unicode_case_map (Bug #12990).
* enc/unicode/case-folding.rb: Add U+A64B to the special cases
03B9 and 03BC. Add a comment pointing to enc/unicode....
duerst (Martin Dürst)
04:26 AM Bug #12958: Breaking change in how `#round` works
Shyouhei Urabe wrote:
> The new default is called the "banker's round" for reasons. Money related people should prefer this.
We don't know to what extent such an argument applies around the world.
> ...
Definitely. But while we...
duerst (Martin Dürst)
03:16 AM Bug #12958: Breaking change in how `#round` works
Jerome Cornet wrote:
> But does this mean that Float rounds in a different way as BigDecimal by default then ?
> ...
Correct. It is true that we fixed one inconsistency to introduce another. This might perhaps be a problem. Not sure...
shyouhei (Shyouhei Urabe)
02:43 AM Bug #12958: Breaking change in how `#round` works
> Am I making myself understood? I am distinguishing Floats and BigDecimals. We did not change how a BigDecimal rounds. Money related calculations should use that class instead. Not Float. Using Float for money is in fact toxic; for... jeromecornet (Jerome Cornet)
01:53 AM Bug #12958: Breaking change in how `#round` works
Jerome Cornet wrote:
> Unfortunately there are many instances where money math requires floating point calculation, like taxes for example (discounts are also another source of float-related money math)
I would like to disagree.
I...
shyouhei (Shyouhei Urabe)
01:17 AM Bug #12958: Breaking change in how `#round` works
Unfortunately there are many instances where money math requires floating point calculation, like taxes for example (discounts are also another source of float-related money math)
Most jurisdictions that charge sales taxes specify rou...
jeromecornet (Jerome Cornet)
12:53 AM Bug #12958: Breaking change in how `#round` works
Jerome Cornet wrote:
> Shyouhei Urabe wrote:
> ...
The new default is called the "banker's round" for reasons. Money related people should prefer this. And to say frankly, using Floats for money-related calculation is the source of w...
shyouhei (Shyouhei Urabe)
01:40 AM Revision 22c0994b (git): parse.y: no warning for lambda
* parse.y (parser_yylex): do not warn parentheses of lambda
argument list, because there is no name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:22 AM Revision f7d130f4 (git): Supress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
12:31 AM Bug #12988: Calling `inspect` sometimes causes a segv
You could close this issue by including `[Bug #12988]` in the commit message. nobu (Nobuyoshi Nakada)

11/29/2016

08:59 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
Benoit Daloze wrote:
> `1.clone(freeze: false)` does not do what you say.
> ...
Oh wow. That's entirely my fault. I totally confused Ruby's dup/cloning with another language (and/or my imagination, haha).
Fortunately my point still...
MikeVastola (Mike Vastola)
08:39 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
Mike Vastola wrote:
> Nobuyoshi Nakada wrote:
> ...
`1.clone(freeze: false)` does not do what you say.
The keyword :freeze has default value true for #clone, which means if the original object is frozen so will be the clone.
See #123...
Eregon (Benoit Daloze)
08:04 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
Nobuyoshi Nakada wrote:
> Should `Kernel#clone` be same?
The original consensus was that the fix should be for both **`#dup`** and **`#clone`** to fail silently on immediate objects. The person who created this issue rendered **`#clo...
MikeVastola (Mike Vastola)
02:52 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
Integer (Fixnum) can dup now.
But Integer (Bignum) can't dup.
~~~
% ruby -ve '1.dup'
ruby 2.4.0dev (2016-11-29 trunk 56928) [x86_64-linux]
% ruby -ve '(1<<64).dup'
ruby 2.4.0dev (2016-11-29 trunk 56928) [x86_64-linux]
-e:1:in `d...
znz (Kazuhiro NISHIYAMA)
02:00 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
I vote for ArgumentError, because `clone(freeze: false)` is invalid operation for immediate (thus unfreezable) objects.
Matz.
matz (Yukihiro Matsumoto)
01:58 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
I remember `clone` has `freeze` option.
What should `1.clone(freeze: false)` do, ignore the option, or raise an `ArgumentError`?
nobu (Nobuyoshi Nakada)
05:29 PM Bug #12988 (Closed): Calling `inspect` sometimes causes a segv
Should be fixed in r56938 tenderlovemaking (Aaron Patterson)
03:28 AM Bug #12988 (Assigned): Calling `inspect` sometimes causes a segv
Confirmed the overrun, although it didn't segfault.
Please commit the fix.
nobu (Nobuyoshi Nakada)
12:31 AM Bug #12988: Calling `inspect` sometimes causes a segv
tenderlove@ruby-lang.org wrote:
> * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: REQUIRED

I think a backport will be required for all supported versions.
I'm surprised this remained undiscovered for so many years.

> I've attached ...
normalperson (Eric Wong)
05:06 PM Revision e04167bc (git): Stop reading past the end of `ivptr` array
If you have code like this:
```ruby
class A
def initialize
@a = nil
@b = nil
@c = nil
@d = nil
@e = nil
end
end
x = A.new
y = x.clone
100.times { |z| x.instance_variable_set(:"@foo#{z}", nil) }
puts y.inspect
``...
tenderlovemaking (Aaron Patterson)
04:06 PM Revision 716610ae (git): get rid of ambiguous parentheses warnings
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e nobu (Nobuyoshi Nakada)
03:48 PM Revision db31f2fa (git): webrick: don't use OpenSSL::TestUtils from webrick tests
Follow net/http and open-uri. Don't rely on the constants/methods from
OpenSSL::TestUtils.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rhenium (Kazuki Yamaguchi)
03:48 PM Revision 0cc0080a (git): open-uri: don't use OpenSSL::TestUtils from open-uri tests
Follow net/http. Define own test DH parameters and use.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rhenium (Kazuki Yamaguchi)
03:48 PM Revision df769d9d (git): net/http: don't use OpenSSL::TestUtils from test code
Make test code independent of test/openssl/utils.rb. The development of
openssl library has moved to a separate repository and
OpenSSL::TestUtils may be modified at any time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56934 b2dd0...
rhenium (Kazuki Yamaguchi)
03:34 PM Revision 7f30d00b (git): object.c: no TypeError at special const
* object.c (special_object_p): no longer raise a TypeError for
Integer and Float, and return itself instead. [Feature#12979]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:31 PM Revision 7a480ae8 (git): NEWS: Add String/Symbol#casecmp? [Feature #12786]
[ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
03:23 PM Revision 40c9f1f3 (git): get rid of test failures on CI introduced at r56927
* lib/matrix.rb: now ruby warns ambiguous parentheses after a space in method definitions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
03:14 PM Bug #12958: Breaking change in how `#round` works
Shyouhei Urabe wrote:
> As far as I can see the Rails breakage only happens in views, where 30secs is shown "less than a minute" instead of "1 minute". That sounds very trivial to me. And yet, did not break silently.
Actually, any...
jeromecornet (Jerome Cornet)
03:14 PM Revision 18658d7d (git): * 2016-11-30
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:14 PM Revision fe3b21bb (git): object.c: no TypeError at special const clone
* object.c (rb_obj_clone2): no longer raise a TypeError for
special constants, and return itself instead. however, if
freeze option is false, raise an ArgumentError. [Feature#12979]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trun...
nobu (Nobuyoshi Nakada)
02:27 PM Feature #12992 (Open): ArgumentError if hostname is missing
Tue Nov 29 15:07:31 2016 Mohamed Osama <mohamed.o.alnagdy@gmail.com>
* lib/net/http/generic_request.rb: Throw ArgumentError if hostname is
not provided in URI
oss (Mohamed Osama)
12:54 PM Bug #12991 (Closed): Documentation of Thread.abort_on_exception is wrong: it raises error again in main thread
Applied in changeset r56928.
----------
thread.c: fix doc of abort_on_exception [ci skip]
* thread.c (rb_thread_s_abort_exc, rb_thread_s_abort_exc_set):
[DOC] the raised exception will be re-raised in the main thread,
and then foll...
nobu (Nobuyoshi Nakada)
12:09 PM Bug #12991 (Closed): Documentation of Thread.abort_on_exception is wrong: it raises error again in main thread
Currently, ruby doc says that:
```
When set to true, all threads will abort (the process will exit(0)) if an exception is raised in any thread.
```
But actually, the error raised in thread (with abort_on_exception = true) will ...
tagomoris (Satoshi Tagomori)
12:54 PM Revision 9e3afec0 (git): thread.c: fix doc of abort_on_exception [ci skip]
* thread.c (rb_thread_s_abort_exc, rb_thread_s_abort_exc_set):
[DOC] the raised exception will be re-raised in the main thread,
and then follows the ordinary exception sequence, exit status is
not 0. [ruby-core:78415] [Bug #12991]...
nobu (Nobuyoshi Nakada)
10:47 AM Revision 65e27c8b (git): parse.y: ambiguous parentheses
* parse.y (parser_yylex): warn ambiguous parentheses after a space
in method definitions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
10:45 AM Revision dacf977a (git): Fix/improve documentation of String/Symbol#casecmp[?]
Fix documentation of String#casecmp? (examples didn't have the '?').
Add an example with non-ASCII characters. Clarify that casecmp,
unlike casecmp?, only does case-insensitivity on A-Z/a-z.
[ci skip]
git-svn-id: svn+ssh://ci.ruby-lang....
duerst (Martin Dürst)
10:35 AM Feature #12786: String#casecmp?
Ryan Ringler wrote:
> I see the changeset implements the new method by calling `String#downcase` on both strings and compares the results for equality.
Yes, this is as proposed at https://bugs.ruby-lang.org/issues/12786#note-1.
...
duerst (Martin Dürst)
03:42 AM Feature #12786: String#casecmp?
Thank you for incorporating this!
I see the changeset implements the new method by calling `String#downcase` on both strings and compares the results for equality. While this does allow unicode support in advance of `String#casecmp`,...
rringler (Ryan Ringler)
09:28 AM Bug #12990: unicode_case_mapping_tests
The culprit is line 4555 in enc/unicode/9.0.0/casefold.h:
```
{0xa64b, {2, {0x1c88, 0xa64a}}},
```
With comments, this looks as follows:
```
{0xa64b /* ꙋ */, {2, {0x1c88, 0xa64a /* ᲈ, Ꙋ */}}},
```
Correct would be
...
duerst (Martin Dürst)
08:57 AM Bug #12990 (Open): unicode_case_mapping_tests
Nobuyoshi Nakada wrote:
> I found that tests generated by `TestComprehensiveCaseFold.unicode_case_mapping_tests` compares `target` with same `target`, which should be always true usually.
Nice catch, thanks! This is indeed a serious ...
duerst (Martin Dürst)
08:40 AM Bug #12990 (Closed): unicode_case_mapping_tests
Applied in changeset r56924.
----------
Fix erroneous test of target against target
* test/ruby/enc/test_case_comprehensive.rb: fix test condition,
add a temporary check for U+A64B, the only character where the tests
currently fail...
duerst (Martin Dürst)
07:08 AM Bug #12990: unicode_case_mapping_tests
Failed results:
```
$ ./ruby test/runner.rb test/ruby/enc/test_case_comprehensive.rb
Run options:
# Running tests:
[258/422] TestComprehensiveCaseFold#test_UTF-16BE_capitalize = 0.30 s
1) Failure:
TestComprehensiveCaseFold...
nobu (Nobuyoshi Nakada)
07:06 AM Bug #12990 (Closed): unicode_case_mapping_tests
I found that tests generated by `TestComprehensiveCaseFold.unicode_case_mapping_tests` compares `target` with same `target`, which should be always true usually.
I suspect this is unintentional, tried comparison `target` with `result`,
...
nobu (Nobuyoshi Nakada)
08:44 AM Revision fa7066f8 (git): Suppress warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e shugo (Shugo Maeda)
08:39 AM Revision ddfa6e2b (git): Fix erroneous test of target against target
* test/ruby/enc/test_case_comprehensive.rb: fix test condition,
add a temporary check for U+A64B, the only character where the tests
currently fail. (Bug #12990)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56924 b2dd03c8-39d4-...
duerst (Martin Dürst)
08:31 AM Revision c6f58ef1 (git): Ignore SystemCallError in case it is raised by SSLSocket#accept.
Errno::ECONNRESET was raised by test_tls_post_connection_check and
test_tls_unknown_ca on mswin64 CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
04:02 AM Bug #12989: Passing `binmode: true` to `IO.pipe` makes `binmode?` return `true` but encoding is not binary
Encoding argument should be prior to `binmode` option.
```ruby
open(IO::NULL, "r", binmode: true){|f| p [f.binmode?, f.external_encoding]} #=> [true, #<Encoding:ASCII-8BIT>]
open(IO::NULL, "r:utf-8", binmode: true){|f| p [f.binmode?...
nobu (Nobuyoshi Nakada)
03:06 AM Revision 98763860 (git): test_keyword.rb: more assertions
* test/ruby/test_keyword.rb (test_block_required_keyword): more
assertions for positional and require keyword parameters.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:06 AM Revision a65982f0 (git): test_keyword.rb: assert_raise_with_message value
* test/ruby/test_keyword.rb (test_block_required_keyword):
assert_raise_with_message returns the raised exception object.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:06 AM Revision 07fb750f (git): string.c: use xmalloc
* string.c (rb_str_casemap): use xmalloc simply instead of
ALLOC_N.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:47 AM Revision 7242e6a9 (git): net/ftp: add a new option ssl_handshake_timeout to Net::FTP.new.
The TLS handshake timeout can be specified independently, because the TLS
handshake doesn't start just after the underlying connection is established,
but after the AUTH command is completed. It's also useful for testing
purposes. Howe...
shugo (Shugo Maeda)
02:33 AM Revision a4072112 (git): net/ftp: close the socket directly when an error occurs during TLS handshake.
Otherwise, @sock.read in Net::FTP#close hungs until read_timeout exceeded.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
02:21 AM Revision d8a0f14b (git): * 2016-11-29
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:21 AM Revision 2660dd5b (git): net/ftp: close the connection if the TLS handshake timeout is exceeded.
Otherwise, file descriptor leaks may occur in Net::FTP.new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)

11/28/2016

11:01 PM Feature #12732: An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
Hi,
> Is there any problem with the following code?
> ...
2 problems
1. It's slower than it could be (as Naruse demonstrates)
2. It's very noisy when `-d` is enabled.
In Psych, I am trying to avoid noise from `-d`. That means...
tenderlovemaking (Aaron Patterson)
10:31 PM Bug #12989 (Closed): Passing `binmode: true` to `IO.pipe` makes `binmode?` return `true` but encoding is not binary
Here is a sample program:
~~~ruby
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
reader, writer = IO.pipe(binmode: true)
reader.binmode? # => true
reader.external_encoding # =...
tenderlovemaking (Aaron Patterson)
06:00 PM Bug #12988 (Closed): Calling `inspect` sometimes causes a segv
`rb_obj_inspect` calls `rb_ivar_count ` to find the number of instance variables on an object. `rb_ivar_count` uses `tbl->num_entries` on the instance variable index table to determine how far in to the instance variable array it should... tenderlovemaking (Aaron Patterson)
05:31 PM Bug #12984: `rescue *[]` should be equivalent to `rescue` as `method_call(*[])` is equivalent to `method_call`
bug hit wrote:
> Nobuyoshi Nakada wrote:
> ...
The difference between rescue and super is that there is such a thing as an explicit empty `super()` that passes nothing, but there is no corresponding explicit empty `rescue()` that rescu...
bughit (bug hit)
04:27 PM Bug #12984: `rescue *[]` should be equivalent to `rescue` as `method_call(*[])` is equivalent to `method_call`
Nobuyoshi Nakada wrote:
> It's similar to:
> ...
I guess there's some similarity. But super has a very explicit definition. Only a naked super is auto-forwarding, any attempt to pass args turns it into manual super. So `super(*[])` i...
bughit (bug hit)
03:27 AM Bug #12984: `rescue *[]` should be equivalent to `rescue` as `method_call(*[])` is equivalent to `method_call`
It's similar to:
```ruby
super(*[])
```
nobu (Nobuyoshi Nakada)
01:16 PM Revision 78b0d7ac (git): string.c: fix zero-length array
* string.c (mapping_buffer): get rid of zero-length array member,
which is not a part of C90.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
12:47 PM Bug #12987: Win32 API.rb can not call function without argument.
Thank you very much.
I just learned that only nil was clearly stating that there are no arguments in the previous document.
I used a single 'V' to specify no arguments, so it was up to this idea.
katonbo (Masahiro Kitajima)
11:57 AM Bug #12987: Win32 API.rb can not call function without argument.
For workaround, you can use '' instead of '0'. usa (Usaku NAKAMURA)
11:24 AM Bug #12987 (Closed): Win32 API.rb can not call function without argument.
In Win32API.rb, it is not possible to call a function without arguments.
I could avoid it for the time being if I did the following (against trunk).
~~~
diff --git a/ext/win32/lib/Win32API.rb b/ext/win32/lib/Win32API.rb
index d03ec...
katonbo (Masahiro Kitajima)
10:17 AM Revision f2a1f32f (git): hide exceptions in server thread
* test/net/ftp/test_ftp.rb (test_tls_connect_timeout): sleeping to give a chance of complete of accept is a timing issue at all. therefore, simply ignore the exception.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56914 b2dd03c8-...
U.Nakamura
09:37 AM Revision 196e8b44 (git): string.c: enable rdoc
* string.c (rb_str_casecmp_p): [DOC] move forward declaration of
rb_str_downcase to enable rdoc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:37 AM Feature #12786 (Closed): String#casecmp?
Applied in changeset r56912.
----------
implement String/Symbol#casecmp? including Unicode case folding
* string.c: Implement String#casecmp? and Symbol#casecmp? by using
String#downcase :fold for Unicode case folding. This does not ...
duerst (Martin Dürst)
08:30 AM Feature #12786 (Open): String#casecmp?
duerst (Martin Dürst)
08:37 AM Revision ad619e02 (git): implement String/Symbol#casecmp? including Unicode case folding
* string.c: Implement String#casecmp? and Symbol#casecmp? by using
String#downcase :fold for Unicode case folding. This does not include
options such as :turkic, because these currently cannot be combined
with the :fold option. Thi...
duerst (Martin Dürst)
04:04 AM Feature #12986 (Open): HTTP/request basic_auth context should be switched
HTTP basic auth should be persisted over the HTTP object and not the request object. The consequence is having to authenticate on every request. bluebaron (James Baron)
03:58 AM Feature #12985: HTTP should handle cookies
I don't really care if this gets low priority. I'd just like to have a quick discussion and get it approved.
bluebaron (James Baron)
03:56 AM Feature #12985 (Open): HTTP should handle cookies
Need to implement an RFC-compliant cookie handling method. Specifically, set-cookies need to be handled properly; but we really should put in an overall proper handling. bluebaron (James Baron)
03:48 AM Revision bd2fd731 (git): insns.def: adjust index type
* insns.def (checkmatch): adjust type of the index variable, to
get rid of (potential) overflow.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:14 AM Revision 8e7e71d6 (git): Give a chance to complete server.accept
* test/net/ftp/test_ftp.rb (test_tls_connect_timeout): get rid of a test error on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
02:02 AM Revision a530b970 (git): * 2016-11-28
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:02 AM Revision d6fdd1c3 (git): compile.c: splatarray peephole opt
* compile.c (iseq_peephole_optimize): remove splatarray following
always-array insn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

11/27/2016

10:23 PM Feature #12973: [RFC] net/http: use require_relative to reduce syscalls
I have no particular pro or con opinion, not that it would be relevant anyway - but I am watching this closely out of interest what others have to say. :) shevegen (Robert A. Heiler)
06:11 PM Bug #12984 (Closed): `rescue *[]` should be equivalent to `rescue` as `method_call(*[])` is equivalent to `method_call`
Splatting an empty array to a construct that takes a list is supposed to be equivalent to specifying no list
```ruby
def foo
end
foo *[] #works
```
So `rescue *[]` should be equivalent to `rescue`
```ruby
begin
raise '...
bughit (bug hit)
03:00 PM Bug #12950: irb: 'input-method.rb:151: [BUG] Segmentation fault' / 'malloc(): smallbin double linked list corrupted'
Umm, I guess the issue may be readine's and this can be reproduced without ruby.
```
#include <stdio.h>
#include <readline/readline.h>
int main() {
FILE *fp;
rl_outstream = NULL;
while(1) {
fp = fdopen...
wanabe (_ wanabe)
12:32 PM Feature #12979: Avoid exception for #dup on Integer (and similar cases)
Should `Kernel#clone` be same? nobu (Nobuyoshi Nakada)
11:22 AM Revision 8cbb7747 (git): signal.c: improve stack overflow check
* signal.c (check_stack_overflow): [EXPERIMENTAL] consider the
segfault a stack overflow when the fault address is between SP
and BP.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:07 AM Revision 70d8e6cf (git): object.c: no TypeError at special const dup
* object.c (rb_obj_dup): no longer raise a TypeError for special
constants, and return itself instead. [Feature#12979]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
11:03 AM Feature #12982 (Feedback): ruby 2.3.1 got crash on macos
Seems a simple stack overflow, but it's strange that `sigsegv` handler hasn't been called.
Could you elaborate what you did?
nobu (Nobuyoshi Nakada)
10:17 AM Bug #12983 (Closed): compatibility_version and current_version on Darwin are reversed
Committed as r56905. knu (Akinori MUSHA)
07:05 AM Bug #12983: compatibility_version and current_version on Darwin are reversed
Please commit it. nobu (Nobuyoshi Nakada)
05:37 AM Bug #12983 (Closed): compatibility_version and current_version on Darwin are reversed
The `compatibility_version` should have an API version and the `current_version` should have a program version of Ruby, but they have been reversed and the binary compatibility has never worked.
For example, the ruby 2.3.3 program/dyl...
knu (Akinori MUSHA)
10:08 AM Revision 673a6ad9 (git): Reverse compatibility_version and current_version for Darwin
The `compatibility_version` should have an API version and the
`current_version` should have a program version of Ruby, but they have
been reversed and the binary compatibility has never worked.
git-svn-id: svn+ssh://ci.ruby-lang.org/ru...
Akinori MUSHA
09:40 AM Revision c46946ca (git): * 2016-11-27
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
09:40 AM Revision edaf46da (git): gems/bundled_gems: Update to power_assert 0.4.1
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ktsj (Kazuki Tsujimoto)
05:32 AM Feature #12786: String#casecmp?
Nobuyoshi Nakada wrote:
> `String#casecmp` also should have those options, I think.
I agree that once String#casecmp supports full Unicode, it should have these options (and more, because for Unicode sorting, you need/can have a lot ...
duerst (Martin Dürst)
04:02 AM Feature #12786: String#casecmp?
Nobuyoshi Nakada wrote:
> `String#casecmp` also should have those options, I think.
I agree, and feel strongly that the logic to support those options should live there. Someone smarter than I should probably make the changes Martin...
rringler (Ryan Ringler)
03:23 AM Feature #12786: String#casecmp?
`String#casecmp` also should have those options, I think. nobu (Nobuyoshi Nakada)
01:53 AM Feature #12786: String#casecmp?
Ryan Ringler wrote:
> The attached patch implements `#casecmp?` by calling `#casecmp` and checking whether the return value is zero. I think this provides a clean separation of concerns (keeping all the comparison logic in `#casecmp`...
duerst (Martin Dürst)
04:12 AM Feature #10912: Add method(s) to IPAddr for determining whether an address is link local
I also want a method to determine whether an address is link-local.
There is a proposal for a fix on https://github.com/ruby/ruby/pull/1494 .
knqyf263 (Teppei Fukuda)

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)
 

Also available in: Atom