Project

General

Profile

Activity

From 09/13/2020 to 09/19/2020

09/19/2020

11:19 PM Feature #17177: Include the current file name and the line number in the output of `p`
What about the method name `inform`? sawa (Tsuyoshi Sawada)
10:07 PM Bug #17179 (Rejected): Unexpected warning during value assignment to setter
This is expected behavior in Ruby 2.7, due to keyword argument separation. The warning is valid because the code will cause an ArgumentError in Ruby 3.
You should not use keywords parameters if you want to assign a hash. Instead, yo...
jeremyevans0 (Jeremy Evans)
09:22 PM Bug #17179 (Rejected): Unexpected warning during value assignment to setter
```ruby
some_instance = Class.new { def some_setter=(a:, b:); end }.new
setter_params = { a: 1, b: 2 }
some_instance.some_setter = setter_params # => {:a=>1, :b=>2}
# warning: Using the last argument as keyword parameters is deprec...
bestwebua (Vladislav Trotsenko)
09:33 PM Misc #17180: Ractor and constant referencing
Another example:
```ruby
Person = Struct.new(:name)
CREATOR = Person.new("Matz").freeze
parser = Ractor.new { CREATOR }
Ractor.select(parser)
```
```
./test.rb:12:in `block in <main>': can not access non-sharable objects in constant O...
kirs (Kir Shatrov)
09:24 PM Misc #17180 (Open): Ractor and constant referencing
Hey there.
From a high level, this bug report is describing my experience building something simple with Ractor without any shared state. I hope this is helpful as a feedback for the stable Ractor implementation in Ruby 3.0.
I've b...
kirs (Kir Shatrov)
02:34 PM Feature #17047: Support parameters for MAIL FROM and RCPT TO
I am new to Ruby development. Please let me know if I need to do anything else to get this patch accepted. c960657 (Christian Schmidt)
08:47 AM Revision 73a626c0 (git): [ruby/io-wait] update required_ruby_version
As d387029f39d976565c955377117103499d47ff09 made io/wait
unbuildable with older versions, drop older versions tentatively.
Also the change seems to instroduce behavioral incompatibilities,
may address them or bump up the version later.
nobu (Nobuyoshi Nakada)
08:40 AM Revision 702cebf1 (git): strip trailing spaces [ci skip]
nobu (Nobuyoshi Nakada)
12:07 AM Revision 6cb6d5ab (git): Add assertions when inline caches are copied to MJIT
This is a temporary commit to try to find a GC issue. It seems like
mjit is pointing at a moved address in the call cache. I want to assert
that they aren't TMOVED or garbage objects at the time they get copied
tenderlovemaking (Aaron Patterson)

09/18/2020

10:59 PM Feature #17177: Include the current file name and the line number in the output of `p`
If a new method is to be created for this purpose, then one possibility is to combine this with the idea that was once proposed by a Ruby committer to define a public method on `Object` so that we can insert the method in or at the end o... sawa (Tsuyoshi Sawada)
07:16 PM Feature #17177: Include the current file name and the line number in the output of `p`
https://github.com/AndyObtiva/puts_debuggerer vo.x (Vit Ondruch)
02:24 PM Feature #17177 (Rejected): Include the current file name and the line number in the output of `p`
Rejected. I agree this behavior is convienient in some cases, but changing `p` is too drastic and incompatible.
Please retry with another name.
Matz.
matz (Yukihiro Matsumoto)
12:17 PM Feature #17177 (Rejected): Include the current file name and the line number in the output of `p`
In many debugging situations, we want to inspect some objects in more than one source location throughout the code. To be identified where it is called from, it is very common that the method `p` is used together with a `puts` method tha... sawa (Tsuyoshi Sawada)
08:15 PM Misc #17138: DevelopersMeeting20200925Japan
* [Bug #17178] Procs with kw:def/**kw lose elements when called with a single Array (eregon)
* Does it sound buggy to you too? Do you think we can experiment and try changing it for Ruby 3? Current behavior seems useless, inconsistent...
Eregon (Benoit Daloze)
08:49 AM Misc #17138: DevelopersMeeting20200925Japan
* [Feature #13381] Expose rb_fstring and its family to C extensions
* Still an extremely useful feature long awaited, it would be very disappointing if it didn't make it to 3.0.
* Both `json` and `msgpack-ruby` agreed to a feature th...
byroot (Jean Boussier)
08:13 PM Bug #17178: Procs with kw:def/**kw lose elements when called with a single Array
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> I'm not sure the loss of backwards compatibility is worth it, and this will break backwards compatibility.
It would only break code that explicitly loses arguments that way, which I wou...
Eregon (Benoit Daloze)
08:04 PM Bug #17178: Procs with kw:def/**kw lose elements when called with a single Array
Eregon (Benoit Daloze) wrote in #note-2:
> Is there a reason that keywords in procs cause autosplatting?
> ...
Previously, the autosplatted argument could be used as keywords if they were a hash or implicitly convertible to a hash, tho...
jeremyevans0 (Jeremy Evans)
07:53 PM Bug #17178: Procs with kw:def/**kw lose elements when called with a single Array
Is there a reason that keywords in procs cause autosplatting?
It seems counter-intuitive.
I would expect autosplatting depends on declared positional parameters only.
I'd argue it's a bug, because we lose part of the arguments for s...
Eregon (Benoit Daloze)
07:18 PM Bug #17178: Procs with kw:def/**kw lose elements when called with a single Array
Eregon (Benoit Daloze) wrote:
> ```
> ...
Are we sure this is a bug, and not just the result of a different behavior of `proc{|a|}` `proc{|a,|}`, with keywords being treated like the latter (autosplatting) as a comma is used?
Keywor...
jeremyevans0 (Jeremy Evans)
07:01 PM Bug #17178 (Closed): Procs with kw:def/**kw lose elements when called with a single Array
```
$ ruby -ve '{a: 1}.each_pair { |a, kw: :def| p [a,kw] }'
ruby 3.0.0dev (2020-09-18T09:12:58Z master e1cca08a6d) [x86_64-linux]
[:a, :def] # bug, should be [[1, 2], :def]
$ ruby -ve '{a: 1}.each_pair { |a, **kw| p [a,kw] }'
ru...
Eregon (Benoit Daloze)
08:13 PM Revision e193dd1e (git): [ruby/irb] Version 1.2.7
https://github.com/ruby/irb/commit/0eaa06838b aycabta (aycabta .)
08:13 PM Revision 555ea833 (git): [ruby/irb] Drop OMIT_ON_ASSIGNMENT and add :truncate option for ECHO_ON_ASSIGNMENT
https://github.com/ruby/irb/commit/4c89b0775b aycabta (aycabta .)
07:32 PM Revision 7d9b4d3c (git): * 2020-09-19 [ci skip]
git[bot]
07:31 PM Revision 1a9dd319 (git): Pin values in the finalizer table
When finalizers run (in `rb_objspace_call_finalizer`) the table is
copied to a linked list that is not managed by the GC. If compaction
runs, the references in the linked list can go bad.
Finalizer table shouldn't be used frequently, s...
tenderlovemaking (Aaron Patterson)
09:47 AM Revision 6dd257ed (git): Added sync task for bigdecimal
hsbt (Hiroshi SHIBATA)
09:44 AM Revision 3d86f7a3 (git): The executable file of erb is under the libexec on ruby/erb repo
hsbt (Hiroshi SHIBATA)
09:11 AM Revision af1926e8 (git): Fix copy/paste error from 5bb5e706f1d310a467075630145d2cc277045765
Eregon (Benoit Daloze)
08:39 AM Revision 5bb5e706 (git): Only interrupt when there is no scheduler in sync_wakeup()
* When there is a scheduler, the Fiber that would be blocked has already
been rescheduled and there is no point to interrupt something else.
That blocked Fiber will be rescheduled as the next call to the scheduler
(e.g., IO, sleep,...
Eregon (Benoit Daloze)
08:35 AM Feature #16746: Endless method definition
Why do we even need a ``` def ```. ? Why not just do it like Haskell?
``` ruby
triple(x) = 3*x
```
Since this is an assignment if triple hasn't already been assigned it should create a function otherwise it should pose a syntax error....
pankajdoharey (Pankaj Doharey)
07:55 AM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
Also do you have any performance results, for example memory consumption or GC time and so on? ko1 (Koichi Sasada)
07:54 AM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
Another idea is `GC.enable(compact: true/false)`.
BTW as I mentioned in slack, GC.compact may have an issue (can access to T_MOVED objects from Ruby level) so please fix it before merge this large commit.
(and I need to learn about...
ko1 (Koichi Sasada)
05:57 AM Revision 305c4306 (git): [ruby/rdoc] Add man/ri.1 for distribution files
https://github.com/ruby/rdoc/commit/7cb5c3611f aycabta (aycabta .)
05:57 AM Revision 0d56aec1 (git): [ruby/rdoc] Fix spelling error in parser comment
https://github.com/ruby/rdoc/commit/f237c9e223 Dorian Marié
05:57 AM Revision e23f0f29 (git): [ruby/rdoc] update all files if any file is newer
Cross references need parse all files which define the subject
names. This commit makes `--force-update` option enforce to parse
all files if any file is newer than the previous parse, not only
updated files.
https://github.com/ruby/rd...
nobu (Nobuyoshi Nakada)
05:57 AM Revision b5db9b8a (git): [ruby/rdoc] Support full filename to make a link for a text file
https://github.com/ruby/rdoc/commit/41db49c485 aycabta (aycabta .)
05:17 AM Revision 3b159374 (git): sync ruby_global_symbols
ruby_global_symbols can be accessed with multiple ractors so that
the accesses should be synchronized.
ko1 (Koichi Sasada)
05:17 AM Revision 06e9b94d (git): show object info to debug purpose.
ko1 (Koichi Sasada)
05:17 AM Revision b416a764 (git): add debug log on enabling multi-ractor mode
ko1 (Koichi Sasada)
05:17 AM Revision b189dc69 (git): rb_obj_info() shows more info for T_SYMBOL
ko1 (Koichi Sasada)
05:17 AM Revision dd5db6f5 (git): sync fstring_table for deletion
Ractors can access this table simultaneously so we need to sync
accesses.
ko1 (Koichi Sasada)

09/17/2020

03:30 PM Revision 609e6ac0 (git): * 2020-09-18 [ci skip]
git[bot]
03:29 PM Revision d9b943b8 (git): Cleanup commented code
* Mutex operations no longer disable the Fiber scheduler. Eregon (Benoit Daloze)
03:26 PM Revision d0195463 (git): Add missing goto found;
* To still remove the lock from the Thread's list of acquired locks.
* Also to not wake up other waiters and preserve blocking behavior.
Eregon (Benoit Daloze)
01:15 PM Revision 264889ec (git): Fix Mutex#unlock with a scheduler and thread contention
* It would hit "[BUG] unexpected THREAD_STOPPED" before. Eregon (Benoit Daloze)
12:59 PM Revision deffb630 (git): Document the various scheduler hooks
Eregon (Benoit Daloze)
12:59 PM Revision 9472d160 (git): Call scheduler.block instead of scheduler.kernel_sleep for blocking Queue/SizedQueue operations
* scheduler.unblock was already already called before but with no corresponding scheduler.block
* add test that Queue#pop makes the scheduler wait until it gets an element.
Eregon (Benoit Daloze)
12:30 PM Revision 738a089b (git): Rename scheduler.{mutex_lock,mutex_unlock} to {block,unblock}
* Move #kernel_sleep next to #block as it is similar Eregon (Benoit Daloze)
12:23 PM Revision eb8270d6 (git): Skip bundler spec using irb with simulated JRuby environment.
nagachika (Tomoyuki Chikanaga)
12:14 PM Revision c3acfcc7 (git): Use a similar pattern for waiting and ready
Eregon (Benoit Daloze)
11:34 AM Revision e4dbb91f (git): Fix typos [ci skip]
s/overriden/overridden/ znz (Kazuhiro NISHIYAMA)
11:30 AM Revision 63a4f2f9 (git): Sort links in NEWS.md by URI [ci skip]
znz (Kazuhiro NISHIYAMA)
09:42 AM Revision 3f6c0a6d (git): Update to ruby/spec@e829fb0
Eregon (Benoit Daloze)
09:31 AM Bug #17175: Ruby 2.5: OpenSSL related test failures
Hello @MSP-Greg
Do you have any idea to fix it on ruby_2_5 branch?
Maybe that is same with what you did for puma last month on this commit.
https://github.com/puma/puma/commit/aac47086f1a6e38baf69159a2bc7e64b0495f080
jaruga (Jun Aruga)
09:17 AM Revision ce888bfa (git): Add NEWS entry for [Feature #16792]
Eregon (Benoit Daloze)
07:36 AM Feature #17171: Why is the visibility of constants not affected by `private`?
I agree too that it would be much cleaner, I keep seeing newer Ruby developers expecting it to work that way. That and `def self.something`.
> Maybe we can make an experiment and gather feedback from gems testing against ruby-head?
...
byroot (Jean Boussier)

09/16/2020

09:15 PM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
Eregon (Benoit Daloze) wrote in #note-1:
> API-wise, `GC.autocompact = true/false` as suggested by @ioquatix on the PR, or `GC.auto_compact = true/false`, sounds nicer to me than 2 separate methods.
I mainly went with `GC.(enable|disabl...
tenderlovemaking (Aaron Patterson)
09:08 PM Feature #17176: GC.auto_compact / GC.auto_compact=(flag)
API-wise, `GC.autocompact = true/false` as suggested by @ioquatix on the PR, or `GC.auto_compact = true/false`, sounds nicer to me than 2 separate methods. Eregon (Benoit Daloze)
06:39 PM Feature #17176 (Closed): GC.auto_compact / GC.auto_compact=(flag)
Hi,
I'd like to make compaction automatic eventually. As a first step, I would like to introduce two functions:
* GC.enable_autocompact
* GC.disable_autocompact
One function enables auto compaction, the other one disables it. ...
tenderlovemaking (Aaron Patterson)
09:13 PM Feature #17171: Why is the visibility of constants not affected by `private`?
mame (Yusuke Endoh) wrote in #note-3:
> I did not introduce `private_constant` with no receiver because I wanted to avoid a new module state (as I recall, matz now dislikes the module state), but I agree that it is redundant.
Interes...
Eregon (Benoit Daloze)
08:52 PM Revision 2e6c4840 (git): * 2020-09-17 [ci skip]
git[bot]
08:52 PM Revision 8e173d8b (git): Warn on a finalizer that captures the object to be finalized
Also improve specs and documentation for finalizers and more clearly
recommend a safe code pattern to use them.
Chris Seaton
02:29 PM Bug #17175 (Closed): Ruby 2.5: OpenSSL related test failures
I am facing OpenSSL test failures when building the Ruby 2.5 latest version 2.5.8 + some patches with OpenSSL 1.1.1g on Fedora 34 and 33.
AS this issue does not happen for Ruby 2.6, Ruby 2.7, and does not happen on Ruby 2.5.8 on Fedora ...
jaruga (Jun Aruga)
12:31 PM Revision f75009c1 (git): Prefer to use `prep_io` for temporary IO instances.
Samuel Williams
12:10 PM Revision 0ebf6ea9 (git): bump patchlevel to 126
nagachika (Tomoyuki Chikanaga)
12:09 PM Revision 21c1b676 (git): Merge latest readline-ext
aycabta (aycabta .)
12:08 PM Revision 2159798f (git): Merge IRB 1.2.6
aycabta (aycabta .)
12:07 PM Revision 3bb503e0 (git): Merge Reline 0.1.5
aycabta (aycabta .)
10:27 AM Bug #17172 (Closed): Passing a complex number to Complex.polar occurs assertion failed when NDEBUG is undefined
Applied in changeset commit:git|68b5f14d536c1a81c63412a9f3701380c9bc116c.
----------
Fix assertion failed in Complex.polar without NDEBUG (#3551)
Fixes [Bug #17172].
Anonymous
04:31 AM Bug #17172: Passing a complex number to Complex.polar occurs assertion failed when NDEBUG is undefined
A patch is https://github.com/ruby/ruby/pull/3551. mrkn (Kenta Murata)
04:30 AM Bug #17172 (Closed): Passing a complex number to Complex.polar occurs assertion failed when NDEBUG is undefined
```
$ build-debug/ruby -e "p Complex.polar(1, Complex(1, 0))"
Assertion Failed: ../complex.c:637:f_complex_polar:!RB_TYPE_P(y, T_COMPLEX)
ruby 3.0.0dev (2020-09-15T22:45:01Z fix_complex_polar 344304c89f) [x86_64-linux]
```
mrkn (Kenta Murata)
10:27 AM Revision 68b5f14d (git): Fix assertion failed in Complex.polar without NDEBUG (#3551)
Fixes [Bug #17172]. Kenta Murata
09:37 AM Revision 10290da5 (git): Add a note at the top of the test scheduler
Eregon (Benoit Daloze)
09:17 AM Revision 9e813c1f (git): RUBY_ISEQ_DUMP_DEBUG=to_binary never kept the debug information for String literals
* That is, for plain string literals, not interpolated.
* The test below is very similar and uses the same check.
Eregon (Benoit Daloze)
08:39 AM Revision 9d8eeccf (git): Revert "skip on RUBY_ISEQ_DUMP_DEBUG=to_binary"
This reverts commit 889bbbaf527372c5cc229b56dca9a2322e325f26. Eregon (Benoit Daloze)
07:45 AM Bug #17152: Missing TracePoint return event for String#unpack
Yes Shun, I expect the return calls.
Thanks for the help!
cfis (Charlie Savage)
06:44 AM Revision 889bbbaf (git): skip on RUBY_ISEQ_DUMP_DEBUG=to_binary
9b535f3ff7 does not support ISeq#to_binary.
To make CI green, skip this test temporarily.
Please fix this issue and revert this patch.
ko1 (Koichi Sasada)
05:29 AM Misc #17174 (Feedback): "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4
My native extension gem compiles fine with all versions of Ruby on macOS but only with Ruby 2.3 on Alpine. It throws various `Error relocating`, `symbol not found` when I require the `.o` file. Here I made a branch to reproduce it in Doc... Nakilon (Victor Maslov)
04:55 AM Feature #17173 (Assigned): open-uri で ciphers を設定したい
Debian GNU/Linux 10 (buster) の OpenSSL 1.1.1d の環境だと https://www.famitsu.com で `dh key too small` になってつながらないのですが、 `ciphers` に `DEFAULT:!DH` を設定するとつながるので、 `open-uri` 経由でも `ciphers` を設定したいです。
curl での確認:
```
% curl --head https://www....
znz (Kazuhiro NISHIYAMA)
12:11 AM Feature #17170 (Feedback): Numeric.zero, Numeric.one
```ruby
% rbenv exec irb
irb(main):001:0> require 'bigdecimal'
=> true
irb(main):002:0> require 'bigdecimal/util'
=> true
irb(main):003:0> require 'complex'
=> false
irb(main):004:0> 0.to_i
=> 0
irb(main):005:0> 0.to_f
=> 0.0
...
shyouhei (Shyouhei Urabe)

09/15/2020

11:18 PM Feature #17171: Why is the visibility of constants not affected by `private`?
I think your expectation is reasonable. If we change it, we need much work to estimate its compatibility impact carefully and to design a migration path, of course.
I proposed and implemented `private_constant` ten years ago. [Feature ...
mame (Yusuke Endoh)
09:04 PM Feature #17171: Why is the visibility of constants not affected by `private`?
I'd like us to consider changing this so that `private` also changes the visibility of future constants being set.
If that is deemed too risky for compatibility, could `private_constant` with no receiver do this?
marcandre (Marc-Andre Lafortune)
08:34 PM Feature #17171 (Rejected): Why is the visibility of constants not affected by `private`?
```ruby
class Foo
def call_me
# ...
end
private

SOME_DATA = %i[...].freeze # is public, why not private?
def calc_stuff # is private, ok.
# ...
end
end
```
It's probably a naive question, but wh...
marcandre (Marc-Andre Lafortune)
10:45 PM Revision 344304c8 (git): Use build_message on test_securerandom.rb (#3543)
* Revert "Revert "[ruby/securerandom] Use build_message instead of message for test-unit""
* [ruby/securerandom] Fixed the wrong usage of build_message
hsbt (Hiroshi SHIBATA)
07:56 PM Revision 1af0319f (git): 2.8 -> 3.0 in specs
Eregon (Benoit Daloze)
07:35 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
I merged https://github.com/ruby/ruby/pull/3488 so it's in time for preview1.
@nobu Could you decide if you think https://github.com/nobu/ruby/tree/unfrozen-literal is worth it?
Eregon (Benoit Daloze)
07:32 PM Feature #17104 (Closed): Do not freeze interpolated strings when using frozen-string-literal
Applied in changeset commit:git|9b535f3ff7c2f48e34dd44564df7adc723b81276.
----------
Interpolated strings are no longer frozen with frozen-string-literal: true
* Remove freezestring instruction since this was the only usage for it.
* [...
Eregon (Benoit Daloze)
07:32 PM Revision 9b535f3f (git): Interpolated strings are no longer frozen with frozen-string-literal: true
* Remove freezestring instruction since this was the only usage for it.
* [Feature #17104]
Eregon (Benoit Daloze)
07:07 PM Feature #17170 (Feedback): Numeric.zero, Numeric.one
Hi at the ruby team,
I'd like to suggest to enhance `Numeric` to provide two new class methods, which shall be: `zero` and `one`.
- `Integer.zero` shall be equal to `Integer(0)`
- `Float.zero` shall be equal to `Float(0)`
- `BigD...
foonlyboy (Eike Dierks)
04:18 PM Feature #17045 (Closed): ObjectSpace.dump_all should allocate as little as possible in the GC heap
Applied in changeset commit:git|fbba6bd4e3dff7a61965208fecae908f10c4edbe.
----------
Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noise
[Feature #17045] ObjectSpace.dump_all should allocate as little as possi...
byroot (Jean Boussier)
04:18 PM Revision fbba6bd4 (git): Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noise
[Feature #17045] ObjectSpace.dump_all should allocate as little as possible in the GC heap
Up until this commit ObjectSpace.dump_all allocates two Hash because of `rb_scan_args`.
It also can allocate a `File` because of `rb_io_get_writ...
byroot (Jean Boussier)
04:12 PM Bug #17169 (Rejected): Bad value for range using infinity for Time
@matz already rejected enhancing Time ranges in https://bugs.ruby-lang.org/issues/12961#note-5: `So we only need to fix Date class. I don't think we should enhance Time ranges to support Integer/Float.` So the current behavior is not a ... jeremyevans0 (Jeremy Evans)
03:31 PM Bug #17169 (Rejected): Bad value for range using infinity for Time
How to reproduce:
``` ruby
-Float::INFINITY...Float::INFINITY # works
Date.today...Float::INFINITY # works
-Float::INFINITY...Date.today # works
Time.now...Float::INFINITY #fails with "ArgumentError: bad value for range"
-Float::...
isarcasm (Igor Tsykalo)
04:09 PM Revision a0d50465 (git): * 2020-09-16 [ci skip]
git[bot]
04:09 PM Revision 86087a15 (git): pointers on the stack need to be pinned
tenderlovemaking (Aaron Patterson)
01:51 PM Feature #17168: Bundle RBS
Approved.
Matz.
matz (Yukihiro Matsumoto)
09:26 AM Feature #17168: Bundle RBS
Details: https://www.youtube.com/watch?v=PvkpW1OEaP8 mame (Yusuke Endoh)
09:11 AM Feature #17168 (Closed): Bundle RBS
@hsbt and I have been working to make RBS one of the bundled gems.
We are finalizing the patch and hope we can finish it tonight.
https://github.com/ruby/ruby/pull/3496
I'd like to ask Matz to approve bundling it in Ruby 3.0 (hope...
soutaro (Soutaro Matsumoto)
12:44 PM Revision ee10efdc (git): Revert "[ruby/securerandom] Use build_message instead of message for test-unit"
This reverts commit 7f9f5f5723cd723dee578b0681066c8393ee45d0. hsbt (Hiroshi SHIBATA)
12:17 PM Revision abbd3241 (git): [ruby/uri] Remove deprecated URI.escape/URI.unescape
https://github.com/ruby/uri/commit/61c6a47ebf jeremyevans (Jeremy Evans)
12:07 PM Revision 7f9f5f57 (git): [ruby/securerandom] Use build_message instead of message for test-unit
https://github.com/ruby/securerandom/commit/826b877e83 hsbt (Hiroshi SHIBATA)
11:56 AM Revision ed39078d (git): bump patchlevel to 125
nagachika (Tomoyuki Chikanaga)
11:55 AM Revision 7d763148 (git): Merge RubyGems 3.1.4
hsbt (Hiroshi SHIBATA)
11:32 AM Revision 3dd9e12b (git): [ruby/fileutils] Reduce iteration through list for `:mkdir_p`
By calling the instruction to `list.map` within `list.each` itself.
https://github.com/ruby/fileutils/commit/e690eec937
Ashwin Maroli
10:53 AM Revision 026ba68c (git): Fix handling of FMODE_PREP.
Samuel Williams
10:53 AM Revision a9b2a96c (git): Fix incorrect initialization of `rb_io_t::self`.
Samuel Williams
06:35 AM Feature #13683: Add strict Enumerable#single
How about #sole since it means one and only and is concise?
``` ruby
[].sole
#!> SoleError: empty Array when single value expected (contains 0, expected 1)
Set.new.sole
#!> SoleError: empty Set when single value expected (contains 0, e...
shan (Shannon Skipper)
05:03 AM Revision b2b855f4 (git): Fix `warning: instance variable bt_locations not initialized`
znz (Kazuhiro NISHIYAMA)
05:03 AM Revision f3754dfc (git): Fix missing `"` [ci skip]
znz (Kazuhiro NISHIYAMA)
12:40 AM Revision 29b1ac61 (git): Add IRB and Reline update for NEWS of 3.0.0-preview1
aycabta (aycabta .)

09/14/2020

08:21 PM Bug #15409 (Closed): OpenStruct error when attribute is called 'method'
Merged. marcandre (Marc-Andre Lafortune)
08:10 PM Revision 60f5d384 (git): [ruby/ostruct] Fix dup/clone
Marc-Andre Lafortune
08:10 PM Revision 125605ab (git): [ruby/ostruct] method_missing is private
Marc-Andre Lafortune
08:10 PM Revision 606c009c (git): [ruby/ostruct] Avoid self calling our public methods.
Found because `json` has a bad example in its test suite.
This implementation still offers better encapsulation.
Marc-Andre Lafortune
08:10 PM Revision 67e5f7a9 (git): [ruby/ostruct] Reinstate recent changes
This reverts commit 28e60b0045b5732bca11012d81a5223001faa6b2. Marc-Andre Lafortune
06:18 PM Revision 39312cf4 (git): Optimize Pathname#relative? / absolute?
Marc-Andre Lafortune
05:29 PM Revision 28e60b00 (git): [ruby/ostruct] Revert recent changes
This reverts commit e026e186f4..12a2e32d43. Marc-Andre Lafortune
04:59 PM Revision 867f0c67 (git): [ruby/rdoc] Prefer require_relative
Marc-Andre Lafortune
04:46 PM Revision 12a2e32d (git): [ruby/ostruct] Add access to public instance methods in case they are overriden
Marc-Andre Lafortune
04:46 PM Revision 12a13eef (git): [ruby/ostruct] Tweak doc
Marc-Andre Lafortune
04:46 PM Revision 8eefa8f3 (git): [ruby/ostruct] Allow overriding public methods
[Fixes https://bugs.ruby-lang.org/issues/15409] Marc-Andre Lafortune
04:46 PM Revision ebb8de73 (git): [ruby/ostruct] Refactor handling of frozen OpenStruct. Simplify `new_ostruct_member!`
Marc-Andre Lafortune
04:46 PM Revision 5e7ec053 (git): [ruby/ostruct] Add really basic test that was missing
Marc-Andre Lafortune
04:46 PM Revision e026e186 (git): [ruby/ostruct] Revert "ostruct.rb: deferred accessors"
This reverts commits:
dc38e99813
22c082fcfd
b499e0f9ff
58e5876646
Add test for overriden private methods
[Fixes https://bugs.ruby-lang.org/issues/12136]
Marc-Andre Lafortune
03:05 PM Revision 1cabb216 (git): * 2020-09-15 [ci skip]
git[bot]
03:04 PM Revision e81d7189 (git): sync fstring pool
fstring pool should be sync with other Ractors. ko1 (Koichi Sasada)
03:04 PM Revision 74ddac1c (git): relax dependency
vm_sync.h does not need to include vm_core.h and ractor_pub.h. ko1 (Koichi Sasada)
03:04 PM Revision f7ccb8dd (git): restart Ractor.select on intterupt
signal can interrupt Ractor.select, but if there is no exception,
Ractor.select should restart automatically.
ko1 (Koichi Sasada)
09:22 AM Revision edb5c671 (git): [ruby/tmpdir] Warn when environment variables skipped (fixes #2)
https://github.com/ruby/tmpdir/commit/af7b020a89 nobu (Nobuyoshi Nakada)
09:22 AM Revision df1c035d (git): [ruby/tmpdir] Test "not writable" case
https://github.com/ruby/tmpdir/commit/84684d80f9 nobu (Nobuyoshi Nakada)
09:22 AM Revision 04de778e (git): [ruby/tmpdir] Test "not a directory" cases
https://github.com/ruby/tmpdir/commit/f335f2c23e nobu (Nobuyoshi Nakada)
09:21 AM Revision f7f849e3 (git): [ruby/tmpdir] Test also TMP and TEMP environment variables
https://github.com/ruby/tmpdir/commit/414c00ebe6 nobu (Nobuyoshi Nakada)
09:21 AM Revision 50bce206 (git): [ruby/tmpdir] Prefer better failure message
https://github.com/ruby/tmpdir/commit/ac12877306 nobu (Nobuyoshi Nakada)
09:19 AM Revision 9fbbbadc (git): Added just working Test::Unit::CoreAssertions#diff
This is not "diff", but show expected and actual results both,
just to get rid of `NoMethodError` when an assertion failed.
nobu (Nobuyoshi Nakada)
08:52 AM Revision d52dffd8 (git): [ruby/zlib] Add Zlib::GzipReader.zcat for handling multiple gzip streams in gz file
Most gzip tools support concatenated gz streams in a gz file. This
offers a way to handle such gz files in Ruby.
Fixes [Bug #9790]
Fixes [Bug #11180]
Fixes [Bug #14804]
https://github.com/ruby/zlib/commit/e2ce56de7d
jeremyevans (Jeremy Evans)
08:26 AM Revision f1d32010 (git): [ruby/net-smtp] Add SNI support to net/smtp
https://github.com/ruby/net-smtp/commit/b706942392 nicholas a. evans
08:23 AM Revision 141404e8 (git): [ruby/net-smtp] Net::SMTP.start arguments are keyword arguments
The helo argument is not important, but the helo argument must be
specified to specify the user and secret arguments.
If helo, user, secret, and authtype arguments are keyword arguments,
it is not necessary to specify the helo argument.
...
tommy (Masahiro Tomita)
08:22 AM Revision 888e04ae (git): [ruby/net-smtp] TLS should not check the host name by default.
In tlsconnect(), the host name is checked when
@ssl_context.verify_mode is not OpenSSL::SSL::VERIFY_NONE, but the
verify_mode of @ssl_context generated by default is nil.
https://github.com/ruby/net-smtp/commit/bde75a15b5
tommy (Masahiro Tomita)
08:15 AM Revision cdb85142 (git): [ruby/erb] Use libexec same as ruby core repository
https://github.com/ruby/erb/commit/660255cf24 hsbt (Hiroshi SHIBATA)
07:22 AM Revision ccb944fc (git): add NEW entries about Ractor and new method cache.
ko1 (Koichi Sasada)
06:43 AM Misc #17138: DevelopersMeeting20200925Japan
* [Feature #14722] python's buffer protocol clone (mrkn)
* I will fix some bugs until the next meeting.
* Can I merge this?
* [Feature #16812] Allow slicing arrays with ArithmeticSequence (mrkn)
* I found the wrong test case, so th...
mrkn (Kenta Murata)
05:23 AM Feature #16786: Light-weight scheduler for improved concurrency.
I have introduced experimental support for event-driven scheduling for the following primitives:
- Mutex
- ConditionVariable
- Queue (& SizedQueue)
In addition, I've reworked the method names to be more consistent taking into account t...
ioquatix (Samuel Williams)
05:07 AM Revision 78ef7eeb (git): Manually picked https://github.com/ruby/open3/commit/724bdb8e1de939e71a6aa8a65ccf6980f53f4353
hsbt (Hiroshi SHIBATA)
05:06 AM Revision eace12c2 (git): Fixup 8f71bb0e4f76ab12e469d33bc560bd76cc3aaf90
hsbt (Hiroshi SHIBATA)
04:44 AM Feature #16792 (Closed): Make Mutex held per Fiber instead of per Thread
Applied in changeset commit:git|178c1b0922dc727897d81d7cfe9c97d5ffa97fd9.
----------
Make Mutex per-Fiber instead of per-Thread
* Enables Mutex to be used as synchronization between multiple Fibers
of the same Thread.
* With a Fiber ...
Eregon (Benoit Daloze)
04:44 AM Revision 7fca2741 (git): Rework console to use `rb_io_wait`.
Samuel Williams
04:44 AM Revision 8eea66a0 (git): Add support for Queue & SizedQueue.
Samuel Williams
04:44 AM Revision 0f613cc5 (git): Add support for ConditionVariable.
Samuel Williams
04:44 AM Revision 1a0cfe28 (git): Improve handling of urgent notification pipe.
Samuel Williams
04:44 AM Revision 3dc0fc11 (git): Update dependencies
Samuel Williams
04:44 AM Revision 178c1b09 (git): Make Mutex per-Fiber instead of per-Thread
* Enables Mutex to be used as synchronization between multiple Fibers
of the same Thread.
* With a Fiber scheduler we can yield to another Fiber on contended
Mutex#lock instead of blocking the entire thread.
* This also makes the beh...
Eregon (Benoit Daloze)
04:44 AM Revision 9e0a48c7 (git): Prefer `rb_thread_current_scheduler`.
Samuel Williams
04:44 AM Revision 701dcbb3 (git): Add support for hooking `IO#read`.
Samuel Williams
04:44 AM Revision 132453fa (git): Rename `Fiber{}` to `Fiber.schedule{}`.
Samuel Williams
04:44 AM Revision d387029f (git): Standardised scheduler interface.
Samuel Williams
04:44 AM Revision 905e9c80 (git): Simplify bitmasks for IO events.
Samuel Williams
04:44 AM Revision 6747cb57 (git): Add RB_ prefix to `GetOpenFile` and `MakeOpenFile`.
Samuel Williams
04:44 AM Revision 703e5297 (git): Add `rb_thread_current_scheduler()`.
Samuel Williams
03:02 AM Revision a9ccebbd (git): Added promoted libraries to default gems section on NEWS
hsbt (Hiroshi SHIBATA)
01:29 AM Feature #17159: extend `define_method` for Ractor
### The reason I use `#define_method` (4)
I sometimes use it to alias _a part_ of a module, like this:
```ruby
class Foo
%i[sin cos tan].each do |sym|
define_method(sym, Math.instance_method(sym))
end
end
p Foo.new.si...
shyouhei (Shyouhei Urabe)

09/13/2020

05:20 PM Revision ba73e447 (git): * 2020-09-14 [ci skip]
git[bot]
05:14 PM Revision b682e0fc (git): [ruby/irb] Version 1.2.6
https://github.com/ruby/irb/commit/5a7dd8c3bf aycabta (aycabta .)
05:13 PM Revision 5bb9e125 (git): [ruby/irb] Need calculate_width and split_by_width of Reline::Unicode of reline 0.1.5 or later
https://github.com/ruby/irb/commit/c05bc9e595 aycabta (aycabta .)
05:13 PM Revision 8f9b1902 (git): [ruby/irb] Omit output if first line of multiline is too long
https://github.com/ruby/irb/commit/0feeae38c5 aycabta (aycabta .)
05:13 PM Revision e468d9f4 (git): [ruby/irb] Add OMIT_ON_ASSIGNMENT
Omit the results evaluated at assignment if they are too long.
The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
default. The result...
aycabta (aycabta .)
05:12 PM Revision 5d841f56 (git): [ruby/irb] Version 1.2.5
https://github.com/ruby/irb/commit/07beb3964d aycabta (aycabta .)
05:12 PM Revision 3a3e9330 (git): [ruby/reline] Version 0.1.5
https://github.com/ruby/reline/commit/c8a419beb5 aycabta (aycabta .)
10:07 AM Feature #17159: extend `define_method` for Ractor
> #eval (...) has huge freedom to explode the program
I think this will happen too with the new feature proposed here.
One needs new bytecode/etc for the Proc/method where `i` is replaced by a literal value, isn't it?
Or do you alternat...
Eregon (Benoit Daloze)
10:01 AM Feature #17159: extend `define_method` for Ractor
Copying captured variables seems a nice feature to have, also for optimizations.
In fact, this already exists in TruffleRuby internally:
https://github.com/oracle/truffleruby/blob/574d6bd2425caa856707ffd713fdb8ffc87be1e1/src/main/java/...
Eregon (Benoit Daloze)
09:41 AM Feature #17165: Add `filter` and `flatten` keywords to `Enumerable#map`
And I'd argue if one wants to do everything in one block, just enjoy the freedom of imperative programming:
```ruby
result = []
array.each do |foo|
if bar = baz(foo)
result.concat bar.map{...}
end
end
```
Eregon (Benoit Daloze)
09:38 AM Feature #17165: Add `filter` and `flatten` keywords to `Enumerable#map`
What's the problem with the obvious:
```ruby
array.map { |foo|
baz(foo)
}.select { |bar|
condition(bar)
}.flat_map { |bar|
bar.map{...}
}
```
I think it's so much more readable.
And I don't think the extra allocations ...
Eregon (Benoit Daloze)
09:25 AM Bug #17146: Queue operations are allowed after it is frozen
ko1 (Koichi Sasada) wrote in #note-1:
> `require "thread"; q=Queue.new.freeze; q.push 1` works without error from Ruby 1.6.0.
Ah, yes, because it's not deeply frozen:
https://github.com/ruby/ruby/blob/23ccbdf52188b78427f41d75b1a4b81...
Eregon (Benoit Daloze)
03:35 AM Revision d7b279e7 (git): * 2020-09-13 [ci skip]
git[bot]
03:35 AM Revision 3bdf8efd (git): Fix typos [ci skip]
znz (Kazuhiro NISHIYAMA)
03:13 AM Bug #17167 (Closed): Nested numbered parameters are not allowed
Unlike `[[1, 2], [3, 4]].each{|v| v.each{|v| p v}}`, nested numbered parametersin `[[1, 2], [3, 4]].each{_1.each{p _1}}` has no clue like `|v|` for nesting.
It is very hard to tell two `_1` have different meanings.
It is a possible c...
matz (Yukihiro Matsumoto)
 

Also available in: Atom