Project

General

Profile

Activity

From 08/01/2020 to 08/07/2020

08/07/2020

05:08 PM Revision b4b702dd (git): * 2020-08-08 [ci skip]
git[bot]
05:08 PM Revision 4126a979 (git): Enhanced RDoc for Array#take and Array#take_while (#3398)
burdettelamar (Burdette Lamar)
11:52 AM Revision 615b7fa5 (git): Enhanced RDoc for Array#product (#3395)
burdettelamar (Burdette Lamar)
11:21 AM Feature #15504: Freeze all Range objects
Right, every object cached at parse time must be deeply immutable, I would think that was an oversight. Eregon (Benoit Daloze)
06:12 AM Feature #15504: Freeze all Range objects
I got an issue on Ractor.
```ruby
def test
(1..2)
end
r1 = test
Ractor.new do
r2 = test
end.take
```
* compiler cached Range `(1..2)` because they begin and end are frozen literals. The test method returns a cached same range obj...
ko1 (Koichi Sasada)
11:17 AM Bug #17013: `RubyVM::AbstractSyntaxTree.parse("struct.field += foo")` has no operator
ruby_2_7 e9e4f8430a62f56a4e62dd728f4498ee4c300c12 merged revision(s) 8e189df32cacef4b21e357a590d349330532baf5. nagachika (Tomoyuki Chikanaga)
11:16 AM Revision e9e4f843 (git): merge revision(s) 8e189df32cacef4b21e357a590d349330532baf5: [Backport #17013]
Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`. nagachika (Tomoyuki Chikanaga)
07:38 AM Bug #17106: Build ruby 2.6.6 from git source
Hi,
I think you are using bison that is newer than the latest version at Ruby 2.6 release.
I guess @nobu has already fixed the issue in ruby master, so we need to backport something.
mame (Yusuke Endoh)
06:50 AM Bug #17106 (Closed): Build ruby 2.6.6 from git source
Hello!
I tried to build ruby 2.6.6 from git source, but get an error.
My Dockerfile:
```
FROM archlinux:20200705
RUN pacman -Sy vim curl git ruby --noconfirm && \
pacman -S --needed base-devel libffi libyaml openssl zlib --...
yegorov (Artem Yegorov)
05:01 AM Revision 504e632a (git): sync NDEBUG, RUBY_DEBUG, and RUBY_NDEBUG (#3327)
- When NDEBUG is defined that shall be honoured.
- When RUBY_DEBUG is defined that shall be honoured.
- When both are defined and they conflict, warnings shall be rendered.
- When nothing is specified, nothing shall happen.
shyouhei (Shyouhei Urabe)
03:28 AM Revision 8a99f820 (git): Use zlib provided by vcpkg in mswin CI (#3397)
* Revert "mswin build - install src zlib files after checkout"
This reverts commit b6175c9e4fe25b978252d8998fe791d65d998fc5.
* Revert "mswin build - install src zlib files"
This reverts commit bf758ef8b4e2895bf71a611a7ab2a4f236e260ea.
hsbt (Hiroshi SHIBATA)
12:27 AM Feature #16495: Inconsistent quotes in error messages
Some terminals don't highlight text inside different quotes (for example, Iterm2, Terminal on Mac).
So you're going to double-click, copy; but have to highlight text manually.
vlad0337187 (Vladislav Ivanov)

08/06/2020

11:47 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
IMHO it should be a LocalJumpError. The Proc should return to the lambda, that's syntactically the closest scope it should return to.
Since it's not possible to return to it (the lambda is no longer on stack), it should be a LocalJumpError.
Eregon (Benoit Daloze)
07:09 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
I think the behavior makes sense to some extent, because the proc is within 2 nested contexts. Since the proc is within the lambda context, calling it in the lambda returns from the lambda. And since the proc is _also_ within the method ... Dan0042 (Daniel DeLorme)
02:43 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
Hans I don't think anyone is debating the basic idea of what return in a proc or lambda does - I think we're talking about the edge-case for a proc in a return in the example above, which isn't explained by the text you have. chrisseaton (Chris Seaton)
02:34 PM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
i think this is by design:
https://www.rubyguides.com/2016/02/ruby-procs-and-lambdas/
> A lambda will return normally, like a regular method.
> ...
> Procs return from the current method, while lambdas return from the lambda itself.
Hanmac (Hans Mackowiak)
11:00 AM Bug #17105: A single `return` can return to two different places in a proc inside a lambda inside a method
I should also note some of these semantics might significantly harm the performance of Ruby.
CRuby seems to walk the stack on every `return`.
On others VMs there need to be some extra logic to find if the frame to return to is still on...
Eregon (Benoit Daloze)
10:54 AM Bug #17105 (Closed): A single `return` can return to two different places in a proc inside a lambda inside a method
A single `return` in the source code might return to 2 different lexical places.
That seems wrong to me, as AFAIK all other control flow language constructs always jump to a single place.
```ruby
def m(call_proc)
r = -> {
# ...
Eregon (Benoit Daloze)
03:17 PM Revision 429efce4 (git): * 2020-08-07 [ci skip]
git[bot]
03:16 PM Revision fcdda2f8 (git): Add more debug info to test_verify
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111684 znz (Kazuhiro NISHIYAMA)
01:04 PM Revision 99e48527 (git): Add verbose message to random failed assertion
for example:
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3111251
http://ci.rvm.jp/results/trunk-random1@phosphorus-docker/3109195
znz (Kazuhiro NISHIYAMA)
11:10 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> I'd argue "a#{2}c" is not a string literal ("a2c" is a string literal).
I understand your point of view. However in my view what defines a literal, is the use of a specific syntax, so `""` in this case.
Same for hashes or arrays,...
byroot (Jean Boussier)
10:12 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
byroot (Jean Boussier) wrote in #note-8:
> Because I understand the consistency argument. "All string literals are frozen" is much easier to wrap your head around than "All string literals are frozen except the ones that are interpolated...
Eregon (Benoit Daloze)
09:23 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
> If you want to get a mutable string from an interpolated literal +"_#{method1}_", 2 allocation will be done instead of 1
Maybe the parser could understand `+"#{}"` and avoid that second allocation? The same way it understand `"".fre...
byroot (Jean Boussier)
01:37 AM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
+1
A while ago I opened ticket #16047 about the same thing.
Seems a lot of people don't like the current behavior so much.
Dan0042 (Daniel DeLorme)
10:14 AM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #17104] Do not freeze interpolated strings when using frozen-string-literal (eregon)
* It seems many people agree there is no point to freeze interpolated strings.
* Interpolated strings are not "simple literals" (just lik...
Eregon (Benoit Daloze)
06:51 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
I've directly heard "not-yet-implemented" from @ko1. Sorry for noise. mame (Yusuke Endoh)
06:45 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Question: What is "immutable"?
I've tried the following code, but the implementation raises a NameError "can not access non-sharable objects in constant A by non-main Ractors".
```
A = {}
A.freeze
Hash.freeze
Object.freeze
s...
mame (Yusuke Endoh)
02:56 AM Feature #16513 (Closed): TracePoint#inspect to return "... file:line" instead of "...@file:line"
Applied in changeset commit:git|1819652578e8f9fe3606f7a716ec4e427fc55f0a.
----------
[Feature #16513] TracePoint#inspect returns "... file:line" (#3391)
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket)
* Trace...
nguyenquangminh0711 (Quang-Minh Nguyen)
02:56 AM Revision 18196525 (git): [Feature #16513] TracePoint#inspect returns "... file:line" (#3391)
* Fix debug documents to match Thread#to_s change (Feature #16412 ticket)
* TracePoint#inspect returns "... file:line" (Feature #16513)
* Guard older version of Ruby in Tracepoint inspection tests
* Focus on current thread only when r...
Nguyễn Quang Minh

08/05/2020

11:36 PM Revision bbbec4b8 (git): Apply timeout-scale to test_thr_kill.
Jun Aruga
09:26 PM Feature #17104 (Open): Do not freeze interpolated strings when using frozen-string-literal
We can treat this as a feature request. I changed it from Misc to Feature and modified the Subject to be the feature you are requesting as opposed to a question. The issue for the next developer meeting is at https://bugs.ruby-lang.org... jeremyevans0 (Jeremy Evans)
09:18 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
Can't we just treat this as I feature request? The reasons are, it will reduce allocations, be more logical, less surprising and produce simpler code (when a mutable string is needed and you don't want extra allocations) bughit (bug hit)
09:10 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
FWIW I'd be +1 to make interpolated Strings non-frozen.
It's BTW still the behavior in TruffleRuby to this day, since it seems to cause no incompatibility and is convenient for writing the core library with Ruby code.
Eregon (Benoit Daloze)
09:05 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
If you would like the behavior changed, you should file a feature request for it, and add it to the agenda of a future developer meeting. jeremyevans0 (Jeremy Evans)
08:58 PM Feature #17104: Do not freeze interpolated strings when using frozen-string-literal
If you want to get a mutable string from an interpolated literal `+"_#{method1}_"`, 2 allocation will be done instead of 1, if it weren't pointlessly frozen.
In this case a feature designed to reduce allocations is producing more allo...
bughit (bug hit)
08:25 PM Feature #17104 (Closed): Do not freeze interpolated strings when using frozen-string-literal
Other people have felt the same way, including me (see https://bugs.ruby-lang.org/issues/11473#note-7 and https://bugs.ruby-lang.org/issues/8976#note-67). However, @matz decided during the November 2015 developer meeting that they should... jeremyevans0 (Jeremy Evans)
08:06 PM Feature #17104 (Closed): Do not freeze interpolated strings when using frozen-string-literal
I think the point of frozen string literals is to avoid needless allocations. Interpolated strings are allocated each time, so freezing them appears pointless.
```rb
#frozen_string_literal: true
def foo(str)
"#{str}"
end
f...
bughit (bug hit)
07:58 PM Revision 77cfd2e0 (git): * 2020-08-06 [ci skip]
git[bot]
07:58 PM Revision e0bc436d (git): Enhanced documentation for Array#repeated_combination (#3392)
* Enhanced documentation for Array#repeated_combination
* Enhanced documentation for Array#repeated_combination
burdettelamar (Burdette Lamar)
02:42 PM Revision 24983346 (git): Enhanced documentation for Array#repeated_permutation (#3390)
* Enhanced documentation for Array#repeated_permutation
* Enhanced documentation for Array#repeated_permutation
burdettelamar (Burdette Lamar)
11:01 AM Revision 8f71bb0e (git): Fixed the inconsistency gemspec location with net-* gems.
hsbt (Hiroshi SHIBATA)
09:14 AM Feature #16513: TracePoint#inspect to return "... file:line" instead of "...@file:line"
I created a patch for this ticket here: https://github.com/ruby/ruby/pull/3391.
nguyenquangminh0711 (Quang-Minh Nguyen)
08:01 AM Bug #17025: `Time#ceil` does not work like `Rational#ceil` or `Float#ceil`
Thank you for fixing this Jeremy. tgxworld (Guo Xiang Tan)

08/04/2020

11:15 PM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
ko1 (Koichi Sasada) wrote in #note-5:
> BTW, there is some inconsistent by variable types:
I think that does not matter much, it's about consistency between what "state" of modules/classes can be accessed.
I do not mind much about class...
Eregon (Benoit Daloze)
01:18 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Eregon (Benoit Daloze) wrote in #note-2:
> * I think we need to introduce `#deep_freeze` to make it easy to create deeply-immutable objects conveniently and efficiently.
> ...
Do we need both? It seems an "optimised deep copy that ret...
shyouhei (Shyouhei Urabe)
12:38 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Thank you for trying Ractor.
ibylich (Ilya Bylich) wrote in #note-4:
> 1. Multiple ractors use a single shared objectspace, right? If so, is it ok that objects can be shared using ObjectSpace? I'm talking about something like this:
...
ko1 (Koichi Sasada)
12:30 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Thank you for your question.
Eregon (Benoit Daloze) wrote in #note-2:
> * Reactor#recv/Channel#recv => Reactor#receive/Channel#receive. I don't think libc-like abbreviations should be used. Let's use actual words.
I want to ask Ma...
ko1 (Koichi Sasada)
11:05 PM Revision c8704328 (git): * 2020-08-05 [ci skip]
git[bot]
11:04 PM Revision 9db5d63e (git): [DOC] Use oracle url instead of sun url
[ci skip] S_H_ (Shun Hiraoka)
07:57 PM Bug #14607: Fix use of the rb_profile_frames start parameter
The original patch has a merge conflict. However, I have opened a pull request with the fix for this issue (https://github.com/ruby/ruby/pull/2713) that has been rebased to resolve the merge conflict. dylants (Dylan Thacker-Smith)
03:36 PM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
I run this program on Windows 10 64-bit. Very very slow: I wait more than 10 minutes, then I press Ctrl-Break. Now I install Ruby 2.6, then the program runs as fast as Ruby 2.4. fitmap (Justin Peal)
10:13 AM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
I tried this benchmark in several ruby's(Ubuntu18.04 in WSL2. using `rbenv`).
```yaml
prelude: |
require 'yaml'
benchmark:
load_file: YAML.load_file('qlnv_h_h.yaml')
loop_count: 1
```
And, result.
```bash
sh@MyComputer:~/rubyde...
S_H_ (Shun Hiraoka)
08:32 AM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #17103] Add a :since option to `ObjectSpace.dump_all` (byroot)
* On large heap, `dump_all` can take over a minute and generate huge (6+GiB) files.
* `since: 42`, means only objects matching `generation && generation >= 42`...
byroot (Jean Boussier)
08:26 AM Feature #17103 (Closed): Add a :since option to ObjectSpace.dump_all
Patch: https://github.com/ruby/ruby/pull/3368
This is useful for seeing what a block of code allocated, e.g.
```ruby
GC.start
GC.disable
gc_gen = GC.count
ObjectSpace.trace_object_allocations do
# run some code
end
allocat...
byroot (Jean Boussier)
08:24 AM Bug #17020: ObjectSpace.trace_object_allocations_stop raises if called before trace_object_allocations_start
I added a regression test using `assert_separately`. byroot (Jean Boussier)
02:59 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
tenderlovemaking (Aaron Patterson) wrote in #note-16:
> I guess I need to read the Sequel implementation. It seems possible to design a system that is no overhead in the no-plugin case that also uses regular instance variables. In fac...
jeremyevans0 (Jeremy Evans)
12:40 AM Feature #16986: Anonymous Struct literal
Matz said: "good to have, but current proposed syntax are not acceptable. If there is good syntax, I can consider to accept."
ko1 (Koichi Sasada)
12:19 AM Feature #15752: A dedicated module for experimental features
FYI: [Type-profiler](https://github.com/mame/ruby-type-profiler), which I'm developing for an experimental type inference tool for Ruby 3 types, heavily depends upon `RubyVM::InstructionSequence` because it performs static analysis on M... mame (Yusuke Endoh)
12:01 AM Revision e8edc34f (git): Remove unused struct member
I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,
and it's making the size of RVALUE be too big. I'm sorry! orz
tenderlovemaking (Aaron Patterson)

08/03/2020

10:31 PM Bug #17102 (Closed): openssl/buffering.rb:182: [BUG] Segmentation fault at 0x00001fa0fd774000
Ruby crashed in our CI today, here's the console output:
```
Fetching google-api-client 0.23.9
/Users/anka/.rbenv/versions/2.6.5/lib/ruby/2.6.0/openssl/buffering.rb:182: [BUG] Segmentation fault at 0x00001fa0fd774000
ruby 2.6.5p114...
Hixie (Ian Hickson)
07:56 PM Bug #17021: "arm64" and "arm" are mixed in RbConfig on Apple silicon
IMHO, "host_cpu" should have "arm64". "arm" looks like a bug to me. Would be nice to get this resolved, since it blocks https://github.com/ffi/ffi/pull/801 . larskanis (Lars Kanis)
07:40 PM Feature #15752: A dedicated module for experimental features
I think an important lesson the Ruby implementors have learned over time is that there are no CRuby-specific APIs, it's a myth.
Whatever was thought once as CRuby-specific will eventually be implemented on some other Ruby implementation...
Eregon (Benoit Daloze)
07:34 PM Feature #15752: A dedicated module for experimental features
Dan0042 (Daniel DeLorme) wrote in #note-18:
> Can I ask what would be so bad about having the `RubyVM` constant in other implementations? I mean, in itself the name is very general. Every implementation can be said to be a "Ruby VM".
...
Eregon (Benoit Daloze)
07:04 PM Feature #15752: A dedicated module for experimental features
Can I ask what would be so bad about having the `RubyVM` constant in other implementations? I mean, in itself the name is very general. Every implementation can be said to be a "Ruby VM".
If support for an experimental feature is indi...
Dan0042 (Daniel DeLorme)
07:28 PM Revision d8e78850 (git): * 2020-08-04 [ci skip]
git[bot]
07:28 PM Revision 3dc313a2 (git): Don't pin objects if we're just walking the heap
Walking the heap can inadvertently pin objects. Only mark the object's
pin bit if the mark_func_data pointer is NULL (similar to the mark bits)
tenderlovemaking (Aaron Patterson)
06:51 PM Bug #17101: YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
You used the phrase 'runs very very slow'. I found 2.7 slower, as below. What were the times you had?
Using Psych.safe_load, got the following for several mingw builds, along with an mswin master build.
All returned a hash with 608 k...
MSP-Greg (Greg L)
03:19 PM Bug #17101 (Closed): YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4
When use Ruby 2.4, the following program runs fast, After ungrade to Ruby 2.7, the same program runs very very slow. Please unzip the attach first for test.
require 'yaml'
YAML.load_file('qlnv_h_h.yaml')
fitmap (Justin Peal)
06:31 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-15:
> tenderlovemaking (Aaron Patterson) wrote in #note-14:
> ...
I guess I need to read the Sequel implementation. It seems possible to design a system that is no overhead in the no-plugin c...
tenderlovemaking (Aaron Patterson)
05:01 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
tenderlovemaking (Aaron Patterson) wrote in #note-14:
> jeremyevans0 (Jeremy Evans) wrote in #note-13:
> ...
It certainly could, but it would require more work, and would result in slower performance in the the no-plugin case. We coul...
jeremyevans0 (Jeremy Evans)
04:48 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-13:
> As you'll see by the benchmark, the reason the performance difference is much different than you would expect is that Model loads from the database in Sequel run through `Sequel::Model.ca...
tenderlovemaking (Aaron Patterson)
04:30 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
Eregon (Benoit Daloze) wrote in #note-12:
> jeremyevans0 (Jeremy Evans) wrote in #note-11:
> ...
I'm glad you asked, as the difference is actually much greater than I remember it being. With the attached benchmark, on PostgreSQL localh...
jeremyevans0 (Jeremy Evans)
11:22 AM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-11:
> The last time I did testing on this in Sequel, the performance decrease from initializing instance variables to nil was around 5% for Sequel::Model instance creation depending on the plug...
Eregon (Benoit Daloze)
04:23 PM Bug #15773: Net::HTTP doesn't try next IP address in case of timeout
phluid61 (Matthew Kerwin) wrote in #note-5:
> benlangfeld (Ben Langfeld) wrote in #note-4:
> ...
Thank you for pointing that out. RFC 6724 is even more explicit:
```
Well-behaved applications SHOULD NOT simply use the first address
retu...
benlangfeld (Ben Langfeld)
03:55 PM Misc #17041: DevelopersMeeting20200831Japan
* [Bug #17017] Range#max & Range#minmax incorrectly use Float end as max (dan0042)
* `(1..3.1).max` has resulted in `3.1` since ruby 1.9 and has now been "fixed" to return `3`. Matz, please confirm?
Dan0042 (Daniel DeLorme)
10:46 AM Revision 1d637b1f (git): [ruby/weakref] Use Gemfile instead of Gem::Specification#add_development_dependency.
https://github.com/ruby/weakref/commit/10d547ba12 hsbt (Hiroshi SHIBATA)
10:42 AM Revision 9e93596d (git): [ruby/ostruct] Drop to Ruby 2.4
https://github.com/ruby/ostruct/commit/00e8fe3df2 hsbt (Hiroshi SHIBATA)
10:29 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
First of all, thanks a lot for your work. This is a huge (and incredibly valuable) addition to Ruby.
I have your branch built locally and I played a lot with it during last few days. I've got a few questions:
1. Multiple ractors us...
ibylich (Ilya Bylich)
10:18 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Note: I updated my questions on Redmine based on rereading https://github.com/ko1/ruby/blob/ractor_parallel/doc/ractor.md Eregon (Benoit Daloze)
09:49 AM Feature #17100: Ractor: a proposal for a new concurrent abstraction without thread-safety issues
Looking forward to this.
I have a few questions.
* Reactor#recv/Channel#recv => Reactor#receive/Channel#receive. I don't think libc-like abbreviations should be used. Let's use actual words.
* About synchronization for Modules, specific...
Eregon (Benoit Daloze)
05:54 AM Feature #17100 (Closed): Ractor: a proposal for a new concurrent abstraction without thread-safety issues
# Ractor: a proposal for a new concurrent abstraction without thread-safety issues
## Abstract
This ticket proposes a new concurrent abstraction named "Ractor," Ruby's Actor-like feature (not an exact Actor-model).
Ractor achiev...
ko1 (Koichi Sasada)
09:56 AM Revision 85dc5708 (git): [ruby/net-http] Fix SSL session reuse test with LibreSSL 3.2+
https://github.com/ruby/net-http/commit/5ae9620fbc jeremyevans (Jeremy Evans)
09:55 AM Revision 20eb9e98 (git): [ruby/net-http] Switch invalid server name format
invalid_servername is not a valid name in an SSL request due to
the use of the underscore, and LibreSSL 3.2.0 will raise an
exception for this. These tests are not testing the allowed
characters in the server name, but how net/http hand...
jeremyevans (Jeremy Evans)
09:30 AM Revision e732d376 (git): [ruby/cgi] Drop to Ruby 2.4
https://github.com/ruby/cgi/commit/8a86536e94 hsbt (Hiroshi SHIBATA)
08:52 AM Revision 3ec860ae (git): net-ftp is under `lib/net` instead of `lib/net/ftp`
hsbt (Hiroshi SHIBATA)
08:40 AM Revision 2346e2f0 (git): Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp.
hsbt (Hiroshi SHIBATA)
01:25 AM Bug #16695: Stack consistency error when using the return value
Oops, my patch is duplicated at 43c1eb440a7 == r61618 partially so I must revert it at first.
```diff
diff --git a/compile.c b/compile.c
index dfa3802579..2766e985c3 100644
--- a/compile.c
+++ b/compile.c
@@ -2836,7 +2836,6 @@ is...
wanabe (_ wanabe)

08/02/2020

11:20 PM Bug #16695: Stack consistency error when using the return value
How about adjust sp in dead code that is after `jump`?
```patch
diff --git a/compile.c b/compile.c
index dfa3802579..85cbd42893 100644
--- a/compile.c
+++ b/compile.c
@@ -5386,6 +5386,9 @@ compile_if(rb_iseq_t *iseq, LINK_ANCHOR ...
wanabe (_ wanabe)
08:34 PM Bug #17023: How to prevent String memory to be relocated in ruby-ffi
I think there are several options to solve this issue:
1. Change `RSTRING_PTR()` to pin the string to a fixed memory location.
2. Add a new function kind of `rb_obj_mark_unmovable()` to ruby's C-API that pins string memory without ke...
larskanis (Lars Kanis)
04:58 PM Revision 1cc91b63 (git): * 2020-08-03 [ci skip]
git[bot]
04:56 PM Revision c987be25 (git): Improve docs for Module#remove_class_variable [ci skip]
alanwu (Alan Wu)
04:51 PM Feature #17099 (Open): Remove boolean argument and warning from Module#attr
`Module#attr` works as `Module#attr_reader` by default (since in 1.9.1). Its optional boolean argument is obsoleted, but it works as `Module#attr_writer` when its value is `true`.
I think it's okay to remove the optional boolean argum...
S_H_ (Shun Hiraoka)
03:38 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
Eregon (Benoit Daloze) wrote in #note-9:
> jeremyevans0 (Jeremy Evans) wrote in #note-6:
> ...
This is correct. Whether or not to initialize instance variables depends on the object. For long lived objects (classes, constants), it de...
jeremyevans0 (Jeremy Evans)
12:21 PM Bug #17098: Float#negative? reports negative zero as not negative
Ruby or IEEE 754 seem to regard `-0.0` and `0.0` not as 0 in the mathematical sense, but as (something like) negative and positive infinitesimal. Taking this into account, I started to think `-0.0.negative?` and `0.0.positive?` should bo... sawa (Tsuyoshi Sawada)
03:05 AM Revision ac69849e (git): Enable an assert on all configs for debugging
I'm trying to get a better understanding for rare crashes that happen on
ci:
- http://ci.rvm.jp/results/trunk_clang_10@silicon-docker/3101898
- http://ci.rvm.jp/results/trunk-test@ruby-sky1/2777695
Looking at the stack trace it looks ...
alanwu (Alan Wu)

08/01/2020

07:51 PM Revision a1246270 (git): remove accidentally introduced debug code
ko1 (Koichi Sasada)
07:41 PM Bug #17098: Float#negative? reports negative zero as not negative
AFAIK, the only way to check for `-0.0` is `1.0 / var == -Float::INFINITY`
I find it difficult to discuss what need to be done about any of this as I do not know of the use cases for `-0.0`; without them it seems very theoretical.
marcandre (Marc-Andre Lafortune)
06:02 PM Bug #17098: Float#negative? reports negative zero as not negative
chrisseaton (Chris Seaton) wrote in #note-5:
> then another option could be to add a new predicate `Float#negative_zero?` - that would allow people to differentiate as needed.
Interesting, I thought `equal?` would work for that (it d...
Eregon (Benoit Daloze)
04:00 PM Bug #17098: Float#negative? reports negative zero as not negative
If people aren't keen on changing `Float#negative?` since it has existing semantics, then another option could be to add a new predicate `Float#negative_zero?` - that would allow people to differentiate as needed. chrisseaton (Chris Seaton)
12:50 PM Bug #17098: Float#negative? reports negative zero as not negative
My suggestion is that `Float#negative?(neg_zero) == true` and `Float#positive?(pos_zero) == false`.
We can't get rid of negative zero - it's a standard part of floating point numbers as implemented by the hardware. It's also useful in...
chrisseaton (Chris Seaton)
12:38 PM Bug #17098: Float#negative? reports negative zero as not negative
chrisseaton (Chris Seaton) wrote in #note-2:
> not all methods on the two [return] the same result - for example `neg_zero.inspect != pos_zero.inspect`.
What is your suggestion? To dispense with `-0.0`?
sawa (Tsuyoshi Sawada)
12:18 PM Bug #17098: Float#negative? reports negative zero as not negative
It's already the case that `neg_zero == pos_zero` but not all methods on the two returns the same result - for example `neg_zero.inspect != pos_zero.inspect`. chrisseaton (Chris Seaton)
02:18 AM Bug #17098: Float#negative? reports negative zero as not negative
I disagree. By that logic, positive float zero should be positive (it isn't), and since `-0.0 == 0.0` both should report as negative and positive, which is a contradiction. jeremyevans0 (Jeremy Evans)
01:05 AM Bug #17098 (Rejected): Float#negative? reports negative zero as not negative
Is this intended behaviour?
```
irb(main):001:0> neg_zero = -0.0
=> -0.0
irb(main):002:0> neg_zero.negative?
=> false
irb(main):003:0> neg_zero < 0
=> false
```
It happens because `Numeric#negative?` uses `< 0`. My understan...
chrisseaton (Chris Seaton)
07:24 PM Revision b4f58ea3 (git): support multiple filters by RUBY_DEBUG_LOG_FILTER
Now you can specify multiple filters for RUBY_DEBUG_LOG output
by RUBY_DEBUG_LOG_FILTER=a,b,c (in this case, logs that the
function name contains a, b or c).
ko1 (Koichi Sasada)
06:31 PM Revision f7cf600c (git): fix mark bit operation.
To optimize the sweep phase, there is bit operation to set mark
bits for out-of-range bits in the last bit_t.
However, if there is no out-of-ragnge bits, it set all last bit_t
as mark bits and it braek the assumption (unmarked objects wi...
ko1 (Koichi Sasada)
04:07 PM Revision d5bed288 (git): * 2020-08-02 [ci skip]
git[bot]
04:04 PM Revision fcdbdff6 (git): rb_{ary,fnd}_pattern_info: Remove imemo member to reduce memory usage
This is a partial revert commit of 8f096226e1b76f95f4d853d3dea2bc75eeeb5244.
NODE layout:
Before:
| ARYPTN | FNDPTN | HSHPTN
---+--------+--------+-----------
u1 | pconst | pconst | pconst
u2 | unused | unused | p...
ktsj (Kazuki Tsujimoto)
02:54 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
In other words, lazily initializing @ivars causes reads to need some branching because they need to handle both the initialized and uninitialized cases.
So @ivars reads can no longer be straight-line code, which can impact performance a...
Eregon (Benoit Daloze)
02:36 PM Feature #17055: Allow suppressing uninitialized instance variable and method redefined verbose mode warnings
jeremyevans0 (Jeremy Evans) wrote in #note-6:
> Yes. When you initialize an instance variable to nil, it slows things down, and there is no benefit because the trying to access an uninitialized instance variable returns nil anyway (plus...
Eregon (Benoit Daloze)
01:29 PM Feature #15752: A dedicated module for experimental features
To clarify, by "move" I mean moving under `ExperimentalFeatures` but we could still e.g. have a deprecated constant under RubyVM to help transition. Eregon (Benoit Daloze)
01:25 PM Feature #15752: A dedicated module for experimental features
The existence of `RubyVM` prevents other Ruby implementations to be fully 100% compatible, because more and more gems start to rely on it.
So either:
* We move most of `RubyVM` to `ExperimentalFeatures` so that other Ruby implementatio...
Eregon (Benoit Daloze)
01:27 PM Misc #17041: DevelopersMeeting20200831Japan
* [Feature #14844] Future of RubyVM::AST? (eregon)
* Other Ruby implementations need to be able to implement it too given more and more gems use it. Where do we move it?
* [Feature #15752] A dedicated module for experimental features...
Eregon (Benoit Daloze)
01:11 PM Feature #14844: Future of RubyVM::AST?
[RBS](https://github.com/ruby/rbs) is using `RubyVM::AbstractSyntaxTree` for `rbs prototype`.
RBS is an official project under the Ruby organization, so I believe it should be able to fully work on other Ruby implementations too ([issue...
Eregon (Benoit Daloze)
10:31 AM Bug #17094: PTY methods with blocks
Runtime testing of RBS uncovered this issue.
https://github.com/ruby/rbs/pull/346#issuecomment-665817340
The RDoc implies the type of `(*String) { (IO, IO) -> void } -> void`, but the implementation is `(*String) { ([IO, IO]) -> void }...
soutaro (Soutaro Matsumoto)
10:02 AM Revision b6175c9e (git): mswin build - install src zlib files after checkout
actions/checkout deletes the contents of the source directory. nobu (Nobuyoshi Nakada)
10:01 AM Revision bf758ef8 (git): mswin build - install src zlib files
MSP-Greg (Greg L)
08:58 AM Revision e8ce9dfa (git): `rb_encoding` is defined as `const`
Duplicate type qualifier is not needed. nobu (Nobuyoshi Nakada)
08:34 AM Bug #16931: `defined?` against a protected method call on an inherited instance returns wrong `nil`
ruby_2_7 23d130a9ddcaf766d6ce309f8518b434a2537fc1 merged revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf. nagachika (Tomoyuki Chikanaga)
08:34 AM Bug #16931: `defined?` against a protected method call on an inherited instance returns wrong `nil`
I cherry-pick'ed the following commits before backporting d05f04d27dd86c67e4a8dfff4392f806cf577bdf.
de9d6a7a8cb0929e0b4cf0a3120971c7b8ee8927
da5bd0047d6c961105da210c69d4c88421324b70
ce91c5615ca96f357519043181fb5b76b57ee223
c53aebb1d2...
nagachika (Tomoyuki Chikanaga)
08:33 AM Revision 23d130a9 (git): merge revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]
Fixed `defined?` against protected method call
Protected methods are restricted to be called according to the
class/module in where it is defined, not the actual receiver's
class. [Bug #16931]
nagachika (Tomoyuki Chikanaga)
08:17 AM Revision 315f1ee8 (git): Split test_defined_method
nobu (Nobuyoshi Nakada)
08:17 AM Revision 171d4c51 (git): Fix typo in test name
peterzhu2118 (Peter Zhu)
08:17 AM Revision b222ae41 (git): Test for [Bug #16669]
nobu (Nobuyoshi Nakada)
08:17 AM Revision 34427bc0 (git): Split test_defined
nobu (Nobuyoshi Nakada)
08:03 AM Bug #17095: Backport c0b93267497d47858ea9539ef863be321bc1ddbf
I cherry-pick'ed https://github.com/ruby/ruby/pull/3364/commits/826886da7fe9c2bcb387a19eb2a5c0a8abdca727 at a332e8a0ddad90c540c6c52f0db2a45e5955a23d. nagachika (Tomoyuki Chikanaga)
07:56 AM Revision a024bae5 (git): bump up patchlevel for a332e8a0ddad90c540c6c52f0db2a45e5955a23d
nagachika (Tomoyuki Chikanaga)
07:55 AM Revision a332e8a0 (git): ruby_2_7 update MinGW Actions workflow
MSP-Greg (Greg L)
06:04 AM Revision b6e68079 (git): Initialize memo pointer and use it consistently to silence gcc 7+
nobu (Nobuyoshi Nakada)
05:44 AM Revision 32bec658 (git): Remove obsolete rubygems file
Fixes a weird error in CodeQL autobuild. nobu (Nobuyoshi Nakada)
03:53 AM Feature #17097: `map_min`, `map_max`
I do not understand why the proposal has to be extended to all other `Enumerable` methods.
My point is semantic. I do not see that there are significantly more use cases where I am interested in the element that is related to the min/ma...
sawa (Tsuyoshi Sawada)
12:56 AM Feature #17097: `map_min`, `map_max`
@nobu is right, we're not going to add `map_` for everything.
Eregon (Benoit Daloze) wrote in #note-6:
> Then repeating it is not elegant and is duplicated code.
I don't see why there would be repetition.
Just do `enum.map { ve...
marcandre (Marc-Andre Lafortune)
02:29 AM Revision d3d68729 (git): * 2020-08-01 [ci skip]
git[bot]
02:29 AM Revision eebb1de7 (git): Enhanced RDoc for Array
burdettelamar (Burdette Lamar)
 

Also available in: Atom