Project

General

Profile

Activity

From 09/02/2016 to 09/08/2016

09/08/2016

11:40 PM Feature #12086: using: option for instance_eval etc.
Charles Nutter wrote:
> Yes, it appears that every call to instance_eval(using: Foo ...) blows away the global method cache by calling rb_using_module. So one library using instance_eval+using *will* hurt performance for every method ca...
shugo (Shugo Maeda)
11:36 PM Feature #12086: using: option for instance_eval etc.
Charles Nutter wrote:
> I have threading concerns.
> ...
Do you mean the following case?
```ruby
b = Proc.new { 1 + 1 }
Thread.new { eval_with_my_refinements(X, &b) }
Thread.new { eval_with_my_refinements(Y, &b) }
```
> I don...
shugo (Shugo Maeda)
11:27 PM Feature #12086: using: option for instance_eval etc.
Thomas Enebo wrote:
> What is the scope of instance_eval here? Can I do:
The answer is yes, in my original proposal. But It may be possible to prohibit these uses.
If we add such a restriction, the following way suggested by Cha...
shugo (Shugo Maeda)
08:23 PM Bug #12741 (Closed): Timeout with specified exception class sets cause on error if timeout block is handling an exception when timeout occurs
If `Timeout.timeout` is called with an exception class explicitly specified in the second argument, then if a timeout does occur while the underlying code wrapped by the Timeout block is handling an exception, that exception will bubble ... rockfx01 (Tim Mertens)
03:36 PM Misc #12740 (Closed): Document OpenSSL::SSL::SSLSocket hostname attribute for SNI (Server Name Indication) Support
Thank you for reporting! There are already RDoc comments but it looks like RDoc couldn't find them.
Now they show up in the generated HTML:
OpenSSL::SSL::SSLContext#servername_cb: http://ruby.github.io/openssl/OpenSSL/SSL/SSLContex...
rhenium (Kazuki Yamaguchi)
02:44 PM Misc #12740 (Closed): Document OpenSSL::SSL::SSLSocket hostname attribute for SNI (Server Name Indication) Support
I've been adding SNI support to the MongoDB Ruby driver and I've had to use the *hostname* attribute of a SSLSocket. It's not in the documentation but I think it should be so that others can find out how to added SNI support as well.
...
emilys (Emily Stolfo)
02:42 PM Feature #12739 (Closed): deprecate_constant :Fixnum, :Bignum
How about `class Object; deprecate_constant :Fixnum, :Bignum; end`?
* naruse supports: https://twitter.com/nalsh/status/773800491671101441
* akr objects: https://twitter.com/tanaka_akr/status/773817391218249729
I don't mind either...
znz (Kazuhiro NISHIYAMA)
08:59 AM Revision e7209358 (git): io.c: check if Integer
* io.c (rb_file_initialize): check if fd is an Integer but not a
Fixnum.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:56 AM Bug #12738 (Closed): Array#flattenで特異クラスが引き継がれる
Applied in changeset r56111.
----------
* array.c (flatten): use rb_obj_class instead of rb_class_of
because rb_class_of may return a singleton class.
[ruby-dev:49781] [Bug #12738]
ktsj (Kazuki Tsujimoto)
08:51 AM Bug #12738 (Closed): Array#flattenで特異クラスが引き継がれる
Array#flattenで生成されたオブジェクトがflattenのレシーバと特異クラスを共有してしまっています。
~~~ruby
a = []
class << a
def m; :m; end
end
p a.flatten.m #=> :m
~~~
ktsj (Kazuki Tsujimoto)
08:56 AM Revision 1f8765bb (git): * array.c (flatten): use rb_obj_class instead of rb_class_of
because rb_class_of may return a singleton class.
[ruby-dev:49781] [Bug #12738]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ktsj (Kazuki Tsujimoto)
08:40 AM Revision 19f62454 (git): rbinstall.rb: gem bindir
* tool/rbinstall.rb (gem): use the bindir of each gemspec instead
of hardcoded 'bin', since rdoc 5.0.0 overrides it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:49 AM Feature #7418 (Closed): Kernel#used_refinements
Applied in changeset r56109.
----------
* eval.c (rb_mod_s_used_modules): rename Module.used_refinements to
Module.used_modules. [Feature #7418] [ruby-core:49805]
shugo (Shugo Maeda)
07:42 AM Feature #7418: Kernel#used_refinements
Shugo Maeda wrote:
> `Module.used_modules` might be a better name, because a module can have more than one refinement:
Matz said that he thinks so too at https://twitter.com/yukihiro_matz/status/773787246990196736, so I'll change the...
shugo (Shugo Maeda)
05:18 AM Feature #7418 (Open): Kernel#used_refinements
> Module.used_refinements accepted.
`Module.used_modules` might be a better name, because a module can have more than one refinement:
```
module M
refine A
end
refine B
end
end
using M
p Module.used_modules #=> ...
shugo (Shugo Maeda)
07:49 AM Revision 5fac45dc (git): * eval.c (rb_mod_s_used_modules): rename Module.used_refinements to
Module.used_modules. [Feature #7418] [ruby-core:49805]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
07:43 AM Feature #12695: File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
https://github.com/ruby/ruby/compare/trunk...nobu:feature/12695-homedir nobu (Nobuyoshi Nakada)
06:51 AM Feature #12079 (Rejected): Loosening the condition for refinement
This issue will be addressed by #9451 and #11476.
shugo (Shugo Maeda)
05:45 AM Revision dbff56f5 (git): Unbundle tk
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e naruse (Yui NARUSE)
05:38 AM Feature #12737 (Closed): Module#defined_refinements
How about to provide Module#defined_refinements, which returns the refinements defined in the receiver as a Hash, as follows:
```
module M
refine String do
$M_String = self
end
refine Integer do
$M_Integer = self...
shugo (Shugo Maeda)
05:35 AM Revision b1e9160b (git): Update svn:ignore [ci skip]
* enc/unicode/data/9.0.0 (svn:ignore): ignore downloaded files.
see r55716 for 8.0.0.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
znz (Kazuhiro NISHIYAMA)
05:34 AM Bug #12736 (Closed): `make install` says `fatal: Not a git repository (or any of the parent directories): .git`
Applied in changeset r56104.
----------
* ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of
git output. It shows warning message when invoke `make install`
[Bug #12736][ruby-dev:49778]
hsbt (Hiroshi SHIBATA)
05:04 AM Bug #12736: `make install` says `fatal: Not a git repository (or any of the parent directories): .git`
rubygemsにこれを行うメソッドを追加すべきなんじゃないでしょうかね。 usa (Usaku NAKAMURA)
04:51 AM Bug #12736 (Assigned): `make install` says `fatal: Not a git repository (or any of the parent directories): .git`
数が多くて厳しいのですがハードコードする方向に修正します。 hsbt (Hiroshi SHIBATA)
05:33 AM Revision c45a8f8b (git): * ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of
git output. It shows warning message when invoke `make install`
[Bug #12736][ruby-dev:49778]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
04:57 AM Revision 577de1e9 (git): replace fixnum by integer in documents.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e akr (Akira Tanaka)
04:46 AM Feature #12734 (Feedback): `Array#flat?`
Please explain the use-case.
It doesn't seem useful to me.
nobu (Nobuyoshi Nakada)
04:44 AM Bug #10103 (Closed): Unable to refine class with CONSTANT
Applied in changeset r56101.
----------
* insns.def (setclassvariable, setconstant): warn when self is a
refinement. [Bug #10103] [ruby-core:64143]
shugo (Shugo Maeda)
04:44 AM Revision bbd662c8 (git): * insns.def (setclassvariable, setconstant): warn when self is a
refinement. [Bug #10103] [ruby-core:64143]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
02:34 AM Revision 0a764c0b (git): NEWS: Add Hash#transform_values
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e Kenta Murata
02:33 AM Feature #12512 (Closed): Import Hash#transform_values and its destructive version from ActiveSupport
Applied in changeset r56099.
----------
hash.c: map_v -> transform_values
* hash.c (rb_hash_transform_values, rb_hash_transform_values_bang):
Rename map_v to transform_values.
[Feature #12512] [ruby-core:76095]
* test/ruby/test_ha...
mrkn (Kenta Murata)
02:33 AM Revision eaa0a27f (git): hash.c: map_v -> transform_values
* hash.c (rb_hash_transform_values, rb_hash_transform_values_bang):
Rename map_v to transform_values.
[Feature #12512] [ruby-core:76095]
* test/ruby/test_hash.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56099 b2dd0...
Kenta Murata
01:09 AM Revision a128c0d3 (git): openssl: import v2.0.0.beta.2
* {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit
history since v2.0.0.beta.1 can be found at:
https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/t...
rhenium (Kazuki Yamaguchi)

09/07/2016

10:23 PM Revision ba6ae341 (git): * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta2
Fixed ri parse defect with left-hand matched classes.
https://github.com/rdoc/rdoc/pull/420
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
04:15 PM Feature #7418 (Closed): Kernel#used_refinements
Applied in changeset r56094.
----------
* eval.c (rb_mod_s_used_refinements): new method
Module.used_refinements. based on the patch by Charlie
Somerville. [Feature #7418] [ruby-core:49805]
shugo (Shugo Maeda)
07:14 AM Feature #7418: Kernel#used_refinements
`Module.used_refinements` accepted.
Matz.
matz (Yukihiro Matsumoto)
04:15 PM Revision bf51c067 (git): * 2016-09-08
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:15 PM Revision 806eb7e1 (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
04:15 PM Revision 4a660c72 (git): * eval.c (rb_mod_s_used_refinements): new method
Module.used_refinements. based on the patch by Charlie
Somerville. [Feature #7418] [ruby-core:49805]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
shugo (Shugo Maeda)
02:22 PM Feature #12086: using: option for instance_eval etc.
Yes, it appears that every call to instance_eval(using: Foo ...) blows away the global method cache by calling rb_using_module. So one library using instance_eval+using *will* hurt performance for every method call, in the same way that ... headius (Charles Nutter)
02:08 PM Feature #12086: using: option for instance_eval etc.
I have threading concerns.
```ruby
module X; refine Fixnum do; def +(x); puts "X refined"; super; end; end; end
module Y; refine Fixnum do; def +(y); puts "y refined"; super; end; end; end
def eval_with_my_refinements(refinemen...
headius (Charles Nutter)
01:59 PM Feature #12086: using: option for instance_eval etc.
Is this thread-safe? Would it be possible for two threads to refine the same block in different ways and step on each other?
I see that instance_eval (yield_under) creates a new cref for each instance_eval call...but if I'm reading it...
headius (Charles Nutter)
12:43 PM Feature #12086: using: option for instance_eval etc.
I'll echo Tom's comments...this is dynamically-scoped refinements all over again, which we discussed heavily. There's two big reasons why this is a risk:
* Performance. We decided that refinements would be lexical *only* in order to l...
headius (Charles Nutter)
08:10 AM Feature #12086: using: option for instance_eval etc.
What is the scope of instance_eval here? Can I do:
~~~ ruby
instance_eval(using: MyRefinements), &a_block_from_somewhere)
~~~
Or how about?
~~~ ruby
instance_eval(using: MyRefinements), &objectWhichhasToProc)
~~~
Either ...
enebo (Thomas Enebo)
02:12 PM Feature #12299: Add Warning module for customized warning handling
Matz accepted this mechanism about a month ago, and shortly thereafter I added a patch with his requested change. Can this be patch be applied before 2.4.0-preview2? jeremyevans0 (Jeremy Evans)
12:32 PM Revision d6e4975e (git): Use our domain instead of other's domain
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:32 PM Revision aaf249dc (git): fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e znz (Kazuhiro NISHIYAMA)
12:29 PM Bug #12736 (Closed): `make install` says `fatal: Not a git repository (or any of the parent directories): .git`
`make install` の時に `fatal: Not a git repository (or any of the parent directories): .git` というメッセージが2回出ます。
ext/psych/psych.gemspec と lib/rdoc/rdoc.gemspec の
```
s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(tes...
znz (Kazuhiro NISHIYAMA)
10:55 AM Feature #12735 (Feedback): TCP Server documentation improvement
Between version 2.0.0 and 2.3.1, documentation has shrunk a lot.
It could be useful to keep the original content
and add the example TCPServer.new('0.0.0.0', 2000) to receive a connection from any PC connected to the network
Jishin (Julien BONNET)
10:35 AM Feature #12695: File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
Bash seems to do that:
% bash -c 'unset HOME; echo ~'
/home/knu
As far as I tested most other known shells like tcsh, zsh, ash, dash and pdksh do not, but we could follow the best.
Through my testing, I found fish unique in tha...
knu (Akinori MUSHA)
09:04 AM Feature #12695: File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
Makes sense. Ruby knows how to resolve ~user, so you may well expect it to resolve ~ as well given that the login name is identified. knu (Akinori MUSHA)
08:43 AM Feature #12695: File.expand_path should resolve ~/ using /etc/passwd when HOME is not set
I think its good idea.
Although POSIX doesn't specify it for shell, we can define it in Ruby.
akr (Akira Tanaka)
10:29 AM Feature #12734 (Closed): `Array#flat?`
It might be useful to have a method that determines whether an array is flat, i.e. one-dimensional.
~~~ruby
[1, 2, 3].flat? #=> true
[1, [2, 3]].flat? #=> false
~~~
The result should be equivalent to `ary == ary.flatten` (with...
sos4nt (Stefan Schüßler)
09:09 AM Bug #12709: POSIX-noncompliant setenv
We can find if the commit cause SEGV... naruse (Yui NARUSE)
08:52 AM Bug #12709 (Closed): POSIX-noncompliant setenv
nobu (Nobuyoshi Nakada)
08:57 AM Feature #12591 (Rejected): Allow ruby to either catch misspelled "ailas" statements or, possibly more accurately, be more specific in what it reports as an error to the end-user
Unfortunately `ailas bar2 bar` is totally valid Ruby code. I recommend using syntax highlighting.
Matz.
matz (Yukihiro Matsumoto)
08:55 AM Feature #10098 (Feedback): [PATCH] Timing-safe string comparison for OpenSSL::HMAC
Even though OpenSSL uses the name `memcmp`, I re-considered it is a bad name.
Therefore this is back to naming issue.
naruse (Yui NARUSE)
08:50 AM Revision b22b725c (git): util.h: POSIX-noncompliant setenv
* include/ruby/util.h (setenv): remove POSIX-noncompliant
definition with 2 arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:47 AM Feature #12700 (Rejected): regexg heredoc support
Use `%r`.
Matz.
matz (Yukihiro Matsumoto)
08:35 AM Revision c0f48f23 (git): * unicode/8.0.0/casefold.h, name2ctype.h, unicode/data/8.0.0:
removing directories/files related to Unicode version 8.0.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
duerst (Martin Dürst)
08:34 AM Bug #12588 (Rejected): When an exception is re-raised in the "rescue" clause, the back trace does not contain the line in that clause
I don't see any "reasonable expectancy". Use-case? Probably you want to use `Exception#cause`?
Matz.
matz (Yukihiro Matsumoto)
08:22 AM Feature #11650 (Closed): Add custom error message arg to Timeout.timeout
Applied in changeset r56089.
----------
timeout.rb: custom error message
* lib/timeout.rb (Timeout#timeout): add custom error message
argument. [Feature #11650]
nobu (Nobuyoshi Nakada)
08:03 AM Feature #11650: Add custom error message arg to Timeout.timeout
Accepted.
Matz.
matz (Yukihiro Matsumoto)
08:21 AM Revision 047ca4ba (git): timeout.rb: custom error message
* lib/timeout.rb (Timeout#timeout): add custom error message
argument. [Feature #11650]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
08:13 AM Feature #12513 (Closed): Update Unicode data to Unicode Version 9.0
Applied in changeset r56087.
----------
* common.mk: Updated Unicode version to 9.0.0 [Feature #12513]
* unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0:
new directories/files for Unicode version 9.0.0
duerst (Martin Dürst)
08:13 AM Revision 62e8ceae (git): * properties.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
08:13 AM Revision d25e478e (git): * common.mk: Updated Unicode version to 9.0.0 [Feature #12513]
* unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0:
new directories/files for Unicode version 9.0.0
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
duerst (Martin Dürst)
08:03 AM Feature #12534: Refinements: refine modules as well
I understand the implementation difficulty. If we prohibit `super` in refined methods in Modules, is it possible to refine modules?
If it's reasonably possible, I'd like to accept this.
Matz.
matz (Yukihiro Matsumoto)
07:51 AM Feature #12694: Want a String method to remove heading substr
PHP has ltrim and rtrim (which is an alias of chop), but they are for removing a character list, not removing a substring http://php.net/manual/en/function.ltrim.php
```
ltrim('foaofe', 'foa'); #=> 'e'
```
Elixir has trim_leading...
sonots (Naotoshi Seo)
06:44 AM Feature #12694: Want a String method to remove heading substr
It seems python, perl does not have similar methods (which removes heading substr) sonots (Naotoshi Seo)
06:42 AM Feature #12694: Want a String method to remove heading substr
We discussed about this ticket on ruby development meeting.
Python lstrip http://www.tutorialspoint.com/python/string_lstrip.htm takes character classes as an argument, so providing a substring as an argument will introduce confusion....
sonots (Naotoshi Seo)
06:42 AM Feature #12694: Want a String method to remove heading substr
This method removes prefix string, so I propose `remove_prefix` or `deprefix` (means remove prefix).
mrkn (Kenta Murata)
06:39 AM Feature #12694 (Open): Want a String method to remove heading substr
sonots (Naotoshi Seo)
07:45 AM Feature #11525 (Rejected): Add Module#used (refinement hook)
matz (Yukihiro Matsumoto)
07:44 AM Feature #11525: Add Module#used (refinement hook)
Unlike `included` and `inherited`, `using` is static operation. I don't think hooks work well with refinement.
Matz.
matz (Yukihiro Matsumoto)
07:40 AM Bug #12689: Thread isolation of $~ and $_
Below example shows 2nd thread overwrites 1st thread's regexp match result.
```sh
% ruby -e 'P = proc {|s| p [s, $~]; sleep 1; /foo.*/=~s; sleep 1; p [s,$~] }; def foo; Thread.new{P.call("foobar")}; sleep 0.2; Thread.new{P.call("foo"...
naruse (Yui NARUSE)
07:40 AM Feature #11476: Methods defined in Refinements cannot be called via send
Accepted.
The current behavior is according to the direct interpretation of the refinement spec. But many people expect `send` to be another form of a method call (including refinement). And now I agree with it.
Matz
matz (Yukihiro Matsumoto)
07:35 AM Revision d9a6f701 (git): class.c: instance method conditions
* class.c (ins_methods_i, ins_methods_prot_i, ins_methods_priv_i),
(ins_methods_pub_i): check for each conditions to match.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
07:29 AM Feature #9451: Refinements and unary & (to_proc)
I now think it's OK to accept this proposal. But I don't know how difficult to implement the issue.
Matz.
matz (Yukihiro Matsumoto)
07:28 AM Feature #12733: Bundle bundler to ruby core
Won't this make it harder to update bundler? Eregon (Benoit Daloze)
06:05 AM Feature #12733 (Closed): Bundle bundler to ruby core
rubygems team has plan to migrate bundler into rubygems at rubygems 3.0.
ref. https://github.com/rubygems/rubygems/issues/1681
In current status, rubygems only use `Bundler` module on test suites.
But we should track rubygems upst...
hsbt (Hiroshi SHIBATA)
07:14 AM Feature #859 (Closed): open-uri doesn't allow redirection to https
Applied in changeset r56085.
----------
lib/open-uri.rb: Allow http to https redirection.
* lib/open-uri.rb: Allow http to https redirection.
Note that https to http is still forbidden.
[ruby-core:20485] [Feature #859] by Roman Sht...
akr (Akira Tanaka)
07:14 AM Revision 393ecc9f (git): lib/open-uri.rb: Allow http to https redirection.
* lib/open-uri.rb: Allow http to https redirection.
Note that https to http is still forbidden.
[ruby-core:20485] [Feature #859] by Roman Shterenzon.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56085 b2dd03c8-39d4-4d8f-98ff-...
akr (Akira Tanaka)
07:08 AM Feature #12347 (Closed): [PATCH] Make CSV::Row#each etc. return Enumerator when no block given
committed at r56083. ktsj (Kazuki Tsujimoto)
07:02 AM Revision b8214668 (git): * ChangeLog: fix ticket number.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ktsj (Kazuki Tsujimoto)
06:55 AM Feature #12732: An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
Adding a slide to show code I'm actually writing vs want to write tenderlovemaking (Aaron Patterson)
05:13 AM Feature #12732 (Closed): An option to pass to `Integer`, `Float`, to return `nil` instead of raise an exception
I would like to be able to pass an option to `Integer()` and `Float()` so that they don't raise an exception, but return `nil` instead. For example:
~~~
Integer(string, exception: false)
~~~
The reason I want this function is so...
tenderlovemaking (Aaron Patterson)
06:13 AM Feature #12512: Import Hash#transform_values and its destructive version from ActiveSupport
Ok, I will introduce `transform_values` (not `map_v` nor `map_values`).
I wanted a `Hash` generation method in `Enumerable` (e.g. `map_kv`), and the proposed method name to be consistent with the name.
But I found out that they are n...
matz (Yukihiro Matsumoto)
06:06 AM Revision b425d4f1 (git): * lib/csv.rb (CSV::{Row,Table}#{each,delete_if}): returns an enumerator
if no block is given. [ruby-core:75346] [Feature #11058]
* test/csv/test_row.rb: add test for above.
* test/csv/test_table.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ktsj (Kazuki Tsujimoto)
05:54 AM Revision f60caf13 (git): * gems/bundled_gems: update to power_assert 0.3.1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ktsj (Kazuki Tsujimoto)
03:16 AM Revision a9f63f98 (git): * ext/psych/*, test/psych/*: Update psych-2.1.1
This version fixed following pull requests.
https://github.com/tenderlove/psych/pull/284
https://github.com/tenderlove/psych/pull/276
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
02:51 AM Revision 2861d8b1 (git): * 2016-09-07
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:51 AM Revision 46e5c562 (git): * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta1
This version is mostly same as r56072. It contains to remove code
for Ruby 1.8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
12:03 AM Feature #3511: rb_path_to_class should call custom const_defined? methods
Thanks for considering!
I've opened a new ticket and described my concrete use case, as I don't see a way to reopen this one.
https://bugs.ruby-lang.org/issues/12731
oggy (George Ogata)
12:01 AM Feature #12731 (Open): rb_path_to_class should call custom const_defined? methods (take 2)
(This is a continuation of #3511, as I don't see a way to reopen the ticket, as Matz requested there.)
I'm sorry to be a pain, but I've given this more thought and I think this is still worth considering.
My current use case is a R...
oggy (George Ogata)

09/06/2016

11:23 PM Feature #12655: Accessing the method visibility
Thanks Shyouhei! I believe I need the 2 methods Nobu has implemented in this patch here to implement Looksee entirely in ruby, which I would love to do. In the latest version of looksee I have reduced the MRI extension down to just these... oggy (George Ogata)
09:23 PM Feature #12142: Hash tables with open addressing
Yura Sokolov wrote:
> Vladimir's branch sometimes faster cause it uses simplified (but fast on 64bit)
> ...
Hashing numbers on the trunk is based on shifts and logical
operations. My hash for numbers is faster not only on 64-bit but o...
vmakarov (Vladimir Makarov)
09:12 PM Feature #12142: Hash tables with open addressing
Satoru Horie wrote:
>
> ...
Thank you for benchmarking. I am just wondering, did you use non-zero
macro `ENABLE_HUGEHASH` when you compiled Yura's code?
I am asking this becuase Yura's patch by default permits tables with
maximu...
vmakarov (Vladimir Makarov)
08:39 PM Bug #12402: Inline rescue behavior inconsistent for method calls with arguments and assignment
Will this be backported? whitequark (whitequark *)
07:53 PM Misc #12730: Documentation String.slice!(regex)
James Britt Pointed out to me that:
> The example in the docs shows a sequence of operations on the same string instance. "slice!" will modify the receiver, so the next operation is working on a changed string.
> ...
So this issue sh...
cody-soultz (Cody Soultz)
07:43 PM Misc #12730 (Rejected): Documentation String.slice!(regex)
at http://ruby-doc.org/core-2.2.0/String.html#method-i-slice-21
In the example
string = "this is a string"
string.slice!(/s.*t/) #=> "sa st"
When ran in irb the result is different than shown because the regex starts at the fir...
cody-soultz (Cody Soultz)
06:26 PM Bug #12729 (Closed): crash after refining private method to public
If I am using a refinement to make a private method into a public one, and I call the method, then Ruby crashes. Here's a simple example:
~~~ ruby
class Cow
private
def moo() end
end
module PublicCows
refine(Cow) {
...
kernigh (George Koehler)
01:54 PM Bug #12728 (Rejected): Negative lookahead does not work for "+" even though works for "@"
I'll attach a test program that shows the effect. Basically, if I have a negative lookahead in the regex like (?!@) and "@" shows up in the proper location I get a mismatch (1. case). This is expected. If I exchange the "@" with a "\+... rklemme (Robert Klemme)
01:41 PM Bug #12727 (Rejected): Segfault when subclassing Thread with bad initialize
nobu (Nobuyoshi Nakada)
12:28 PM Bug #12727 (Rejected): Segfault when subclassing Thread with bad initialize
I imagine that this is a really unlikely problem to encounter in real code, but...
~~~ ruby
class MyThing < Thread
def initialize
raise
end
end
MyThing.new do
loop do
puts "hello"
sleep(1)
end
end
s...
sandal (Gregory Brown)
05:21 AM Feature #12676: Significant performance increase, and code conciseness, for prime_division method in prime.rb
Here is an additional coding efficiency speedup.
By testing whether the number is prime or '1' immediately after extracting any
base prime factors we can eliminate doing the prime generator selection process
for those cases. This pr...
jzakiya (Jabari Zakiya)
03:10 AM Revision f0dc29f2 (git): socket/depend: add srcs [ci skip]
* ext/socket/depend (srcs): phony target to update confdefs source
files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
03:03 AM Revision 38cb576b (git): common.mk: fix path arguments [ci skip]
* common.mk (ext/date/zonetab.h): fix inverted relative path
arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
01:21 AM Revision a260f093 (git): * time.c (obj2subsecx): subsec might be GC'ed. try to get rid of SEGV on mswin
CI.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
U.Nakamura
12:23 AM Revision a4ba131a (git): * 2016-09-06
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:23 AM Revision 192be6f6 (git): * lib/rdoc/rdoc.gemspec: partly reverted for default gem installer.
upstream configuration is not working on ruby core repository.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)

09/05/2016

12:46 PM Bug #12726 (Closed): OpenSSL::PKCS12.new がプライベートキーを含まないデータでエラーになる
ありがとうございます。
同様に x509 も NULL になる場合があり、それもあわせて ruby/openssl に取り込みました。
https://github.com/ruby/openssl/commit/68ca4b61bf43a22581ebb5649252a65633a1b680
rhenium (Kazuki Yamaguchi)
06:45 AM Bug #12726 (Closed): OpenSSL::PKCS12.new がプライベートキーを含まないデータでエラーになる
次のように作成したプライベートキーを含まない pfx ファイルを、
```
% openssl pkcs12 -export -out hoge.pfx -in hoge.pem -nokeys
Enter Export Password:hoge
Verifying - Enter Export Password:hoge
```
OpenSSL::PKCS12.new で読み込むとエラーになります。
```
% ruby -ropenss...
tommy (Masahiro Tomita)
12:08 PM Feature #12142: Hash tables with open addressing
Vladimir's branch sometimes faster cause it uses simplified (but fast on 64bit)
unseeded hash for FIXNUM and FLOAT. imho, it is security issue.
I've tried to make change murmur into more correct and "secure" thing instead.
But somet...
funny_falcon (Yura Sokolov)
01:09 AM Feature #12142: Hash tables with open addressing
Hello, everyone.
I want to help to merge these excellent results into trunk.
I’m now reviewing both codes, and trying to consider other benchmarks to provide more solid evidence toward merge and to compare three implementations.
F...
spinute (Satoru Horie)
10:35 AM Revision 73dc9742 (git): * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56073 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
10:35 AM Revision 23863ff7 (git): * lib/rdoc/*, test/rdoc/*: Update rdoc/rdoc master(f191513)
https://github.com/rdoc/rdoc/blob/master/History.rdoc#423--2016--
https://github.com/rdoc/rdoc/blob/master/History.rdoc#422--2016-02-09
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56072 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hsbt (Hiroshi SHIBATA)
05:14 AM Bug #12725: Trying to use ./miniruby before it exists
When trying to compile ruby from a fresh checkout, with the Unicode version changed to 9.0.0, I get the following error:
```
./miniruby.exe -I./lib -I. -I.ext/common ./tool/enc-unicode.rb --header ./enc/unicode/data/9.0.0 > enc/unic...
duerst (Martin Dürst)
05:04 AM Bug #12725 (Assigned): Trying to use ./miniruby before it exists
duerst (Martin Dürst)
02:58 AM Feature #12719: `Struct#merge` for partial updates
Update ChangeLog halogenandtoast (Matthew Mongeau)
01:22 AM Feature #12719: `Struct#merge` for partial updates
Since merge closely resembles the similar hash function, I think it makes sense to also add `merge!` as a function. I'm not a fan of the mutating methods, but I would find it surprising if this interface was different. Here's an updated ... halogenandtoast (Matthew Mongeau)
01:35 AM Bug #12724 (Closed): Net::HTTP#post_form and #get_response do not use ENV proxy as default
`Net::HTTP#post_form` and `#get_response` use `HTTP.start`, without passing any proxy args to it. As a result, the ENV proxy is not used for these calls.
I believe both calls should have the same default behaviour as the more verbose...
aert (Aert van de Hulsbeek)
12:58 AM Revision 0d715e1b (git): * 2016-09-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
12:58 AM Revision b08a4552 (git): rbinstall.rb: install just one gemspec [ci skip]
* tool/rbinstall.rb (gem): install gemspec match with the
directory only. some gems, (e.g., json) have multiple gemspec
files.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)

09/04/2016

04:59 PM Feature #12317: Name space of a module
I guess the core question is "what is a namespace?"
For example, take this Ruby code:
~~~ruby
foo = Class.new
bar = Class.new
baz = Module.new
baz.const_set(:Foo, foo)
baz.const_set(:Bar, bar)
quux = Module.new
quux.cons...
jwmittag (Jörg W Mittag)
04:40 PM Feature #12578: Instance Variables Assigned In parameters ( ala Crystal? )
By the way, just as a historical note: up to and including Ruby 1.8.7, you could actually do this:
~~~ruby
define_method(:initialize) {|@thing_one, @thing_two|}
~~~
I have never actually seen this, though, which you can take as a...
jwmittag (Jörg W Mittag)
04:35 PM Feature #12607: Ruby needs an atomic integer
Tsuyoshi Sawada wrote:
> Do we want to have another integer variant just after having `Fixnum` and `Bignum` been excluded in favor of the `Integer` class?
Well, it's not really another integer variant. It's really not a number at all...
jwmittag (Jörg W Mittag)
04:27 PM Feature #12721: public_module_function
If `module_function` returned its argument(s), we could write
~~~ruby
module Foo
public module_function def hi
puts 'hi from method hi() in module Foo'
end
end
~~~
But I'm not sure that's worth it. The *whole point* o...
jwmittag (Jörg W Mittag)
04:21 PM Misc #12722: Localizing Ruby
Is that really necessary? Sure, the keywords are derived from English, but they aren't English, they are Ruby. `class` is an English word, but it has a very specific meaning in Ruby. In fact, I wouldn't be surprised to find out that it a... jwmittag (Jörg W Mittag)
01:36 AM Misc #12722: Localizing Ruby
To change "reserved words", you have to modify (or add) `defs/keywords` file and rebuild.
And if your words contain non-US-ASCII characters, you have to remove `mb == ENC_CODERANGE_7BIT` condition from `parse_ident()` in `parse.y` too.
nobu (Nobuyoshi Nakada)
04:21 PM Bug #12670: Segmentation fault on `Magick::Image#get_pixels` on ruby since ruby-2.2
I got it.
SEGV is raised from gc_marks_continue(), line 5426: `slots = heap->free_pages->free_slots`,
as pointed by out.log. https://github.com/ruby/ruby/blob/v2_3_1/gc.c#L5426
My gdb shows the value of `heap->free_pages` is NULL when...
wanabe (_ wanabe)
06:25 AM Revision 2f4f4435 (git): rbinstall.rb: install iff expected platforms [ci skip]
* tool/rbinstall.rb (gem): install only gemspecs for expected
platforms. e.g., ignore json-java.gemspec in json gem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
06:15 AM Revision 162a8fdb (git): rbinstall.rb: chdir to gem directory [ci skip]
* tool/rbinstall.rb (gem): load gemspec files under each
directories, since some gemspecs read files there.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:27 AM Revision 9a136301 (git): extmk.rb: no ext, no build_complete
* ext/extmk.rb (create_makefile): touch gem.build_complete only if
building an extension library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
05:05 AM Revision 2dad8eae (git): extmk.rb: fix gem.build_complete location
* ext/extmk.rb (timestamp_file): make build_complete file at the
toplevel of the gem directory without target_prefix.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:56 AM Revision fb2011f7 (git): extmk.rb: expand target_prefix
* ext/extmk.rb (timestamp_file): should expand target_prefix in
timestamp file name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
04:44 AM Revision f578e023 (git): extmk.rb: append target_prefix
* ext/extmk.rb (timestamp_file, create_makefile): should append
target_prefix as RUBYARCHDIR does.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56064 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
02:35 AM Bug #12718 (Assigned): BigDecimal() should raise on invalid input, consistent with Integer() and Float()
nobu (Nobuyoshi Nakada)

09/03/2016

09:32 PM Misc #12722 (Third Party's Issue): Localizing Ruby
I would like to teach Ruby in kids. However, the kids I am aiming for don't speak English and their age is below 10. Is there a way I can localize Ruby reserved words and errors? in theory it shouldn't be that difficult, in practice I do... vasilakisfil (Filippos Vasilakis)
03:21 PM Revision 14d538d2 (git): * 2016-09-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
03:21 PM Revision ba32b53e (git): * proc.c: [DOC] fix Object#define_singleton_method and
main.define_method return value. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Sho Hashimoto
06:07 AM Feature #12721: public_module_function
```ruby
class Bar
include Foo
public :hi
end
```
nobu (Nobuyoshi Nakada)
05:08 AM Feature #12721 (Rejected): public_module_function
Hello ruby core,
This is about `module_function()`. As the documentation rightfully
states, it adds a private method when included ("mixed in") into
a class.
The following code shows that this works:
```ruby
module Foo
mod...
shevegen (Robert A. Heiler)
02:28 AM Revision e63546fb (git): * 2016-09-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e svn[bot]
02:28 AM Revision dcc24cef (git): thread_pthread.c: check stack on co-routine case
* thread_pthread.c (ruby_init_stack): check stack bounds even if
get_main_stack succeeded, on the "co-routine" case.
https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trun...
nobu (Nobuyoshi Nakada)
01:37 AM Feature #12719: `Struct#merge` for partial updates
Updated so it won't segfault halogenandtoast (Matthew Mongeau)

09/02/2016

08:20 PM Feature #12676: Significant performance increase, and code conciseness, for prime_division method in prime.rb
A simplification.
Because the cli command ``factor`` handles the values '0' and '1' correctly we can
eliminate that first test for them in ``factors``, so the code just becomes as shown below.
```
class Integer
def factors
...
jzakiya (Jabari Zakiya)
07:48 PM Feature #12142: Hash tables with open addressing
Eric Wong wrote:
> ko1, nobu, others anybody have time to review and compare these
> ...
The following link contains a comparison of the two implementations I did last weekend:
https://github.com/vnmakarov/ruby/blob/trunk/README.md
...
vmakarov (Vladimir Makarov)
06:44 PM Feature #12142: Hash tables with open addressing
ko1, nobu, others anybody have time to review and compare these
hash implementations?

I've been using vmakarov's patches on some of my systems without
problems, but funny_falcon's numbers look promising, too.

https://bugs.ruby-l...
normalperson (Eric Wong)
04:22 PM Feature #12719: `Struct#merge` for partial updates
Thanks, nice catch. I'll update this tomorrow to not segfault. halogenandtoast (Matthew Mongeau)
03:38 PM Feature #12719: `Struct#merge` for partial updates
In your example, the value in the LHS is ignored when the same key is present in the RHS hash.
It doesn't feel nice as `|` operator.
`merge` sounds nice in that sense, but your patch would segfault at `p.merge(0)`.
nobu (Nobuyoshi Nakada)
01:11 PM Feature #12719: `Struct#merge` for partial updates
As an alternative since the `|` syntax might get shot down. Here's a patch adding a merge function instead:
~~~ ruby
Point = Struct.new(:x, :y)
p = Point.new(1, 2)
p2 = p.merge(y: 4)
p3 = p2.merge(x: 10)
puts p.inspect # => #...
halogenandtoast (Matthew Mongeau)
09:32 AM Feature #12719: `Struct#merge` for partial updates
If this is well received I think a similar syntax could be used for hashes in place of `merge`. halogenandtoast (Matthew Mongeau)
09:27 AM Feature #12719 (Feedback): `Struct#merge` for partial updates
Other languages have operators for performing partial updates on maps. I feel like Struct could be more useful if it provided an easy way of performing partial (or full) updates.
After the change you can do the following:
~~~ ruby
...
halogenandtoast (Matthew Mongeau)
03:28 PM Feature #6183: Enumerator::Lazy performance issue
I rebased the branch (and fixed a bug in the trunk).
Seems 30~40% faster than the current implementation.
nobu (Nobuyoshi Nakada)
10:56 AM Bug #12720 (Third Party's Issue): Ruby segmentation issue
=> Booting Thin => Rails 4.2.6 application starting in development on http://localhost:4000 => Run rails server -h for more startup options => Ctrl-C to shutdown server Thin web server (v1.7.0 codename Dunder Mifflin) Maximum connections... ajithkumar (ajith kumar)
07:07 AM Revision 7615362d (git): internal.h: fix typos
* internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos. use the macro
parameter, not the local variable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56059 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
nobu (Nobuyoshi Nakada)
 

Also available in: Atom