Project

General

Profile

Activity

From 04/09/2022 to 04/15/2022

04/15/2022

11:23 PM Revision ccb0572f (git): [rubygems/rubygems] Add modern rubies to the platforms
https://github.com/rubygems/rubygems/commit/5462322f8f BobbyMcWho (Bobby McDonald)
10:08 PM Revision 22f79ae3 (git): [ruby/stringio] Add push task to push built gems
https://github.com/ruby/stringio/commit/4431eefbad Sutou Kouhei
09:35 PM Revision 566fb7fa (git): Update default gems list at 2aca566a104ad42579be03374446fd [ci skip]
git[bot]
09:34 PM Revision 2aca566a (git): [ruby/stringio] bump up to 3.0.2.pre1
https://github.com/ruby/stringio/commit/14ec9bc193 Sutou Kouhei
06:31 PM Revision 059e389f (git): * 2022-04-16 [ci skip]
git[bot]
06:31 PM Revision e021754d (git): [DOC] Enhanced RDoc for Regexp (#5807)
Treats:
#source
#inspect
#to_s
#casefold?
#options
#names
#named_captures
burdettelamar (Burdette Lamar)
03:52 PM Misc #18726: CI Error on c99 and c2x
Older autoconf versions and `rb_define_method()` both cause warnings.
Having different flags during configure and compilation feels dangerous
to me since it makes the info from the checks potentially untrustworthy.
It feels reasonable...
alanwu (Alan Wu)
10:20 AM Misc #18726: CI Error on c99 and c2x
Regarding #18615, I think it's different, we still anyway have `-Werror=implicit-function-declaration` for C extensions.
And we still have all warnings for core CRuby code as long as it's not that specific matrix entry.
Also I'd think ...
Eregon (Benoit Daloze)
10:17 AM Misc #18726: CI Error on c99 and c2x
Is there a way we could disable that warning only for configure checks (or even the specific configure checks which need it), i.e., therefore acknowledging it's a workaround for old autoconf and not affect the rest of the codebase?
Or t...
Eregon (Benoit Daloze)
05:41 AM Misc #18726: CI Error on c99 and c2x
@alanwu Thank you. I can live with that workaround. But I would also like to hear what @Eregon thinks. The fix ignores some C related warning, which seems somewhat against #18615. shyouhei (Shyouhei Urabe)
03:47 PM Feature #18654: Enhancements to prettyprint
@mame I have included only a small amount of changes in a smaller PR just to get this started: https://github.com/ruby/prettyprint/pull/6. For now, it only addresses the problem of allowing the user to specify whether or not a Breakable ... kddnewton (Kevin Newton)
02:50 PM Feature #18654: Enhancements to prettyprint
Thank you @mame. I can definitely split it up. I will include examples as well. If it's alright, I'll leave this ticket open and reference it.
For the most part, all of the nodes I've added are aligned with the Wadler paper. The algor...
kddnewton (Kevin Newton)
08:54 AM Feature #18654: Enhancements to prettyprint
I spent some time to understand your proposal, but gave up because it was too huge. Can you split your proposal to smaller ones?
You said "There are a couple of limitations with the current approach". I can understand each of the prob...
mame (Yusuke Endoh)
02:51 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
Eregon (Benoit Daloze) wrote in #note-3:
> > I'm not sure if this is a bug, since the current behavior seems intentional.
> ...
The code deliberates handles ZSUPER methods by looking for the method entry that actually handles the metho...
jeremyevans0 (Jeremy Evans)
10:37 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
Thank you, that looks great.
And as mentioned in the PR it also fixes `Method#super_method` to actually be the correct one in at least one case.
> I'm not sure if this is a bug, since the current behavior seems intentional.
Why do...
Eregon (Benoit Daloze)
02:17 PM Feature #10548: remove callcc (Callcc is now going obsoleted. Please use Fiber.)
I know it's late to weight in on this, but see the ambit[1] and unific[2] gems and the in-progress rulog[2] gem for examples of nontrivial uses of callcc which absolutely do not translate into Fibers.
And on a lighter note, without call...
jimwise00 (Jim Wise)
11:09 AM Feature #18736: self-p for method chain
That's exactly I meant. Thanks a lot, I call this topic closed. Sorry for the bad traffic. aDAVISk (Akito D. Kawamura)
09:29 AM Feature #18736: self-p for method chain
It just looks too ugly to me. What do you gain from passing the block to `sp` instead of the method that is originally supposed to handle it? The following conventional way is much more straightforward. (In addition, in your first exampl... sawa (Tsuyoshi Sawada)
09:03 AM Feature #18736 (Open): self-p for method chain
You may want to check object with `p` method at the middle of a method chain.
Here is my recomendation.

```ruby
class Object
def sp(method=nil, *args, &block)
if method
Kernel.p self.public_send(method, *args, &blo...
aDAVISk (Akito D. Kawamura)
11:07 AM Bug #18735: The crash reporter need to be updated for Apple silicon
No you're right, my patch isn't working as well as I though it was.
> Can you confirm that your PR works well with the latest libunwind?
I'm having trouble compiling it unfortunately. I'll try more later.
But I suppose we can ...
byroot (Jean Boussier)
10:31 AM Bug #18735: The crash reporter need to be updated for Apple silicon
I guess [this commit of libunwind](https://github.com/libunwind/libunwind/pull/330) is required to work on M1 mac. Looks like the commit is not released yet.
I couldn't build the master version of libunwind because I have no privilege...
mame (Yusuke Endoh)
09:08 AM Bug #18735: The crash reporter need to be updated for Apple silicon
I think your patch does not work well for me. Does it work well on your machine?
```
% sw_vers
ProductName: macOS
ProductVersion: 11.6
BuildVersion: 20G165
% ./miniruby -e 'Process.kill "SEGV", $$'
-e:1: [BUG] Segmentatio...
mame (Yusuke Endoh)
08:19 AM Bug #18735 (Closed): The crash reporter need to be updated for Apple silicon
C backtrace dumping is only enabled for `x86_64` arch on macOS: `if defined(__APPLE__) && defined(__x86_64__) && defined(HAVE_LIBUNWIND_H)`
I tested `libunwind` on M1 Mac, it seems to work fine. I think we should either remove this `...
byroot (Jean Boussier)
10:30 AM Bug #18734 (Closed): [Win32] `File.sticky?` returns `nil` while `File::Stat.sticky?` returns `false`
Applied in changeset commit:git|7f81f335478a3ca873f34e3bc0af6927819d3e84.
----------
Return `false` where sticky-bit is not provided [Bug #18734]
nobu (Nobuyoshi Nakada)
07:40 AM Bug #18734 (Closed): [Win32] `File.sticky?` returns `nil` while `File::Stat.sticky?` returns `false`
On the platforms where sticky bit is not provided, `File.sticky?` returns `nil` while `File::Stat.sticky?` returns `false`.
It seems changed accidentally together with `test_s()` at commit:git|86307f52ee1b3c5aa76e2fd6ee118e681dd76905.
nobu (Nobuyoshi Nakada)
10:30 AM Bug #18732 (Closed): [Win32] `File.chardev?` and `File::Stat.chardev?` are not working
Applied in changeset commit:git|a0040af6715d85f416f1282588974e151a8164eb.
----------
[Win32] Fix mode of character/pipe device stat [Bug #18732]
nobu (Nobuyoshi Nakada)
02:41 AM Bug #18732 (Closed): [Win32] `File.chardev?` and `File::Stat.chardev?` are not working
```
$ ruby -v -e 'p ["con", "nul"].to_h {|f| [f, [File.chardev?(f), File.stat(f).chardev?]]}'
ruby 3.0.3p157 (2021-11-24 revision 3fb7d2cadc) [x64-mingw32]
{"con"=>[false, false], "nul"=>[false, false]}
```
nobu (Nobuyoshi Nakada)
09:13 AM Bug #18733: Heavy GC allocations cause performance issue with Ractor
One problem I found was that when I ran the same script on different Ruby versions, there was performance gap between them.
``` ruby
require 'benchmark'
def fib(n)
return n if n < 2
fib(n-1) + fib(n-2)
end
puts Benchmark.measure ...
Mark24 (Yang Zhang)
06:22 AM Bug #18733: Heavy GC allocations cause performance issue with Ractor
Thanks much! :)
And I change the topic to GC problem instead problem of m1.
Hope the memory management will get improvement. ;)
jakit (Jakit Liang)
05:42 AM Bug #18733: Heavy GC allocations cause performance issue with Ractor
Thank you for your report.
On my WSL2 environment with 12 cores, `ruby 3.2.0dev (2022-04-15T04:24:48Z master 92614111c0) [x86_64-linux]` shows worse results.
```
0.003304 0.000000 102.404055 ( 13.083221)
296.139861 262.090810...
ko1 (Koichi Sasada)
05:04 AM Bug #18733 (Assigned): Heavy GC allocations cause performance issue with Ractor
Code:
```
require 'benchmark'
def fib(n)
return n if [0,1].include?(n)
fib(n-1) + fib(n-2)
end
tp = []
puts Benchmark.measure {
8.times do
tp << fork { fib(37) }
end
tp.each { |t| Process.wait(t) }
}
...
jakit (Jakit Liang)
08:52 AM Revision 7f81f335 (git): Return `false` where sticky-bit is not provided [Bug #18734]
nobu (Nobuyoshi Nakada)
08:14 AM Revision 9db7d959 (git): Compare predicate methods as a boolean value
nobu (Nobuyoshi Nakada)
08:14 AM Revision a0040af6 (git): [Win32] Fix mode of character/pipe device stat [Bug #18732]
nobu (Nobuyoshi Nakada)
07:07 AM Revision a0eb4b14 (git): [ruby/nkf] Fix docs
rdoc parses "Z[0-3]" as a link to "0-3", this commit escapes these so
that they don't become links.
https://github.com/ruby/nkf/commit/269c10061b
peterzhu2118 (Peter Zhu)
05:21 AM Revision da1695b9 (git): [ruby/optparse] Fix broken links in docs
https://github.com/ruby/optparse/commit/2bea3b38c3 peterzhu2118 (Peter Zhu)
04:24 AM Revision 92614111 (git): [ruby/rdoc] Fix links in docs
www.ruby-lang.org without the leading https:// will generate an
incorrect link because it will be treated as a relative link.
https://github.com/ruby/rdoc/commit/28f32149b6
peterzhu2118 (Peter Zhu)

04/14/2022

11:00 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
I'm not sure if this is a bug, since the current behavior seems intentional. However, I do agree it would be best to change it. In addition to modifying `#owner`/`#inspect`, we also need to fix `#super_method` so it returns the correct... jeremyevans0 (Jeremy Evans)
02:44 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
FWIW, I've found 2 CRuby tests fail with this change (through implementing `#owner` correctly on TruffleRuby):
```
TestMethod#test_prepended_public_zsuper
TestMethod#test_zsuper_private_override_instance_method
```
They are trivial ...
Eregon (Benoit Daloze)
02:38 PM Bug #18729 (Closed): Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
The #owner should be "the class or module that defines the method".
Or in other words, the owner is the module which has the method table containing that method.
This generally holds, and it seems very likely this assumption is relie...
Eregon (Benoit Daloze)
10:44 PM Misc #18726: CI Error on c99 and c2x
Sorry, I pushed a CI fix without finding this ticket first:
https://github.com/ruby/ruby/commit/307cb57ba6d4833cc40d29d218561e98f9a1dcb9
Please feel free to amend it.
By the way, in case someone is looking at the new warnings from c...
alanwu (Alan Wu)
07:15 PM Misc #18726: CI Error on c99 and c2x
shyouhei (Shyouhei Urabe) wrote in #note-1:
> Is it okay to require 2.71? Or any reasons not to?
2.69 is still default on RHEL8 and similar.
vo.x (Vit Ondruch)
07:39 AM Misc #18726: CI Error on c99 and c2x
The problem is whether we are allowed to do this.
```patch
From b60e5fdfa540a0ddef35f5dc904d004d226dac25 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
<shyouhei@ruby-lang.org>
Date: Thu, 14 Apr 2...
shyouhei (Shyouhei Urabe)
04:55 AM Misc #18726: CI Error on c99 and c2x
Is it okay to require 2.71? Or any reasons not to? shyouhei (Shyouhei Urabe)
02:43 AM Misc #18726 (Closed): CI Error on c99 and c2x
https://github.com/ruby/ruby/runs/6013849896?check_suite_focus=true
```
checking char bit... 8
checking size of int... 0
checking size of short... 0
checking size of long... 0
configure: error: in `/__w/ruby/ruby/build':
configure...
znz (Kazuhiro NISHIYAMA)
07:47 PM Revision 307cb57b (git): Fix build errors with development version of Clang
Maybe not the best idea for CI stability to use development versions of
Clang, but that does give us a preview of what's coming and gives us a
chance to make suggestions upstream.
alanwu (Alan Wu)
07:25 PM Revision b086116c (git): * 2022-04-15 [ci skip]
git[bot]
07:25 PM Revision 01395d84 (git): More details for regexp literals (#5800)
burdettelamar (Burdette Lamar)
04:51 PM Bug #18728: Segfault since ruby 3.0.4 when parsing JSON
The underlying issue is that `rb_utf8_str_new` and `rb_str_new` will accept a NULL pointer, where `rb_enc_interned_str` crashes on a NULL pointer. I'm not sure that is a bug in Ruby, but at least it is an inconsistency. The json gem wa... jeremyevans0 (Jeremy Evans)
03:33 PM Bug #18728 (Third Party's Issue): Segfault since ruby 3.0.4 when parsing JSON
Thank you for the report. The script works fine on Ruby's builtin JSON gem. I can reproduce the crash when I install flori/json. From the stack trace generated, the crash originates from the C extension binary in flori/json, so it's like... peterzhu2118 (Peter Zhu)
11:52 AM Bug #18728 (Third Party's Issue): Segfault since ruby 3.0.4 when parsing JSON
This is a regression since 3.0.4. When parsing a JSON with an empty string as a key ruby segfaults.
Reproduction steps:
```
require "json"
puts JSON.parse('{ "": "foo" }')
```
leads to
```
RSTRING_PTR is returning NULL!! SI...
fschwahn (Fabian Schwahn)
03:38 PM Bug #18731: Parallel test-all sometimes does not run at all some tests
Here is a quick search of test classes with the same name in different places:
```
class Test_Bignum
class TestDateParse
class TestEmojiBreaks
class TestFileUtils
class TestFuncall
class TestGraphemeBreaksFromFile
class TestMetho...
Eregon (Benoit Daloze)
03:28 PM Bug #18731 (Closed): Parallel test-all sometimes does not run at all some tests
In TruffleRuby I've noticed that some CRuby tests sometimes run or not, non-deterministically.
The TruffleRuby CI currently runs CRuby tests with `-j4`.
Today I investigated and I think I've found the reason for it.
One occurrence...
Eregon (Benoit Daloze)
02:50 PM Bug #18730 (Closed): Double `return` event handling with different tracepoints
I'm not sure if this is a bug or intentional behavior, but feels a bit unexpected. Ruby 3.0.x, 3.1.x affected.
Here is the script demonstrating the issue:
```
def bar
42 #bp here
end
tp_line = TracePoint.new(:line) do |tp0|
...
hurricup (Alexandr Evstigneev)
12:54 PM Bug #18727: Make failed on x86_64-cygwin (LoadError)
Thank you for the bug report. That patch looks good, could you open a Pull Request on GitHub and I can merge. peterzhu2118 (Peter Zhu)
06:18 AM Bug #18727 (Assigned): Make failed on x86_64-cygwin (LoadError)
hsbt (Hiroshi SHIBATA)
06:08 AM Bug #18727: Make failed on x86_64-cygwin (LoadError)
```diff
diff --git a/include/ruby/internal/abi.h b/include/ruby/internal/abi.h
index 98a63927c5..ed779f3558 100644
--- a/include/ruby/internal/abi.h
+++ b/include/ruby/internal/abi.h
@@ -26,7 +26,7 @@

/* Windows does not suppor...
fd0 (Daisuke Fujimura)
06:06 AM Bug #18727 (Closed): Make failed on x86_64-cygwin (LoadError)
Make failed on x86_64-cygwin (LoadError)
```
$ git clone https://github.com/ruby/ruby.git
$ cd ruby
$ autoreconf -fiv && ./configure && make V=1
(snip)
Generating RDoc documentation
/tmp/ruby/.ext/common/pathname.rb:13:in `requi...
fd0 (Daisuke Fujimura)
12:52 PM Revision 8751c5c2 (git): [DOC] Enhance documentation for `Module#<` & `Module#>`
the_spectator (Akshay Birajdar)
12:22 PM Revision 9b8ce6d3 (git): fix to use `node.gvl` instead of `node.ubf`
The last parameter of `ccan_list_top()` is to acquire the pointer
of the top of element, so `node.ubf` is no problem. But this context
it accesses gvl list, so `node.gvl` is better.
ko1 (Koichi Sasada)
10:42 AM Bug #18373 (Closed): Bundled gem (RBS, debug) extensions are not properly built
This seems to be addressed by [PR#5774](https://github.com/ruby/ruby/pull/5774). Thx @nobu.
For the backport, please note that with this changes, the .gemspec files for expanded gems in tarball are newly located in .bundle/specificati...
vo.x (Vit Ondruch)
08:14 AM Misc #18687: [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
Oh, `_underscores_` are now back to meaning _italic_! Thank you, it was minor, but constant irritation after previous update (a year ago, I think?) zverok (Victor Shepelev)
01:33 AM Misc #18687: [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
@nagachika found the regression or behavior change of filter feature.
If you get the expected result like `3.0: REQUIRED` with contained filter, you need to use quote like `"3.0: REQUIRED"`.
hsbt (Hiroshi SHIBATA)
07:37 AM Revision 5397dd2e (git): [ruby/rdoc] Apply matching word pairs to underscore-methods
Protected characters with `PROTECT_ATTR` should not have special
roles.
https://github.com/ruby/rdoc/commit/c318af0ea2
nobu (Nobuyoshi Nakada)
07:24 AM Revision 1a2490b5 (git): [rubygems/rubygems] Fix formatting in docs
rdoc uses + for typewriter font rather than backticks.
https://github.com/rubygems/rubygems/commit/be320f1e0c
peterzhu2118 (Peter Zhu)
06:52 AM Misc #18691 (Feedback): An option to build Ruby with build only flags not propagated to `rbconfig.rb`.
nobu (Nobuyoshi Nakada)
06:51 AM Misc #18691: An option to build Ruby with build only flags not propagated to `rbconfig.rb`.
I think you can pass build-time-only flags to `make`:
```sh
$ ./autogen.sh
$ CFLAGS='-O2' ./configure
$ make ARCH_FLAG=--specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
```
Then `rbconfig.rb` would not include that flag.
nobu (Nobuyoshi Nakada)
05:57 AM Revision 29503096 (git): [DOC] Prefer RDOCLINK to the method name
nobu (Nobuyoshi Nakada)
05:51 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
hsbt (Hiroshi SHIBATA) wrote in #note-5:
> FYI: https://bugs.launchpad.net/ubuntu/+source/ruby2.7/+bug/1946190
> ...
openssl gem v3.0 is compatible with Ruby 2.6 and later, so it's technically possible for ruby_2_7/ruby_3_0 to include ...
rhenium (Kazuki Yamaguchi)
02:59 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
schneems (Richard Schneeman) wrote in #note-6:
> I think that would maybe not work with people using `bundle exec` to load their program as that gem is not on the load path
Ah indeed.
> ...
Is that so? We need to be sure of that f...
mame (Yusuke Endoh)
03:55 AM Revision 2ff41e97 (git): [DOC] Now underscore methods can cross-reference
nobu (Nobuyoshi Nakada)
03:51 AM Revision e06100d9 (git): [ruby/rdoc] Allow cross references to methods including underscores
As underscores are masked to "protect" from the conversion, consider
also `PROTECT_ATTR` as a word character.
https://github.com/ruby/rdoc/commit/db58bb5170
nobu (Nobuyoshi Nakada)
02:17 AM Revision 5d45afdb (git): [DOC] Move the documentations of moved Symbol methods
nobu (Nobuyoshi Nakada)
01:16 AM Revision 3728f83b (git): [DOC] Fix SymbolVariantsRelNotes link
S_H_ (Shun Hiraoka)

04/13/2022

11:20 PM Misc #18725 (Open): IO#write and IO#wait_writable block for write pipe if read pipe is closed in other thread on OpenBSD
I'm not sure whether this is a Ruby issue, an OpenBSD issue, or something else, but @ioquatix asked me to post this here. The following program hangs on OpenBSD:
```ruby
require 'io/wait'
rd, wr = IO.pipe
thread_pass = ARGV[0] == ...
jeremyevans0 (Jeremy Evans)
07:51 PM Bug #12312: Make PTY take environment variables like popen does
FYI, I have updated [PTY.spawn's doc](https://github.com/ruby/ruby/pull/5786) for the optional `env` argument. st0012 (Stan Lo)
07:44 PM Revision 59c81274 (git): Use correct capitalization of "NaN" in docs
Grant Hutchins
07:43 PM Revision 629bad4a (git): Update PTY.spawn's document
Passing the optional env hash to PTY.spawn has been supported for years, but it's never documented.
More info: https://bugs.ruby-lang.org/issues/12312
st0012 (Stan Lo)
07:34 PM Revision dbb227d3 (git): [DOC] add missing size params in fiber scheduler.h (#5441)
Alex Matchneer
06:45 PM Revision dfdc0324 (git): [DOC] Enhanced RDoc for Symbol (#5796)
Treats:
#[]
#length
#empty?
#upcase
#downcase
#capitalize
#swapcase
#start_with?
#end_with?
#encoding
::all_symbols
burdettelamar (Burdette Lamar)
05:41 PM Bug #16672 (Closed): net/http leaves original content-length header intact after inflating response
Applied in changeset commit:git|0579486f154e80d17521494003dcd2499ef74688.
----------
[ruby/net-http] Update the content-length heading when decoding bodies
Previously, the content-encoding header was removed and the body
was modified, ...
jeremyevans (Jeremy Evans)
04:07 PM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
> After that, I can use gem install rails or anything as usual.
Thank you for the idea Mame. I think that would maybe not work with people using `bundle exec` to load their program as that gem is not on the load path, but I could cons...
schneems (Richard Schneeman)
03:11 PM Revision fde79524 (git): * 2022-04-14 [ci skip]
git[bot]
03:11 PM Revision 0579486f (git): [ruby/net-http] Update the content-length heading when decoding bodies
Previously, the content-encoding header was removed and the body
was modified, but the content-length header was not modified,
resulting in the content-length header not matching the body
length.
Don't delete content-length before yield...
jeremyevans (Jeremy Evans)
02:43 PM Revision 54b53e2c (git): [ci skip] Fix docs
peterzhu2118 (Peter Zhu)
01:55 PM Revision df1594e4 (git): Parenthize macro arguments
nobu (Nobuyoshi Nakada)
01:25 PM Revision aaac279d (git): [ruby/rdoc] Only parse valid URLs
Only valid characters for URLs should be used for generating URLs.
A list of valid characters can be found in sections 2.2 and 2.3 of IETF
RFC 3986 (https://www.ietf.org/rfc/rfc3986.txt).
https://github.com/ruby/rdoc/commit/2bd8fcdd4f
peterzhu2118 (Peter Zhu)
09:33 AM Revision 7e97ebb6 (git): Enforce literals on the second arguments
nobu (Nobuyoshi Nakada)
09:29 AM Bug #18692 (Rejected): Set += is O(n^2)
It's fully expected, `a += b` is just `a = a + b` and so it's N Set instances/copies created vs 1 with <<. Eregon (Benoit Daloze)
08:42 AM Bug #18692 (Rejected): Set += is O(n^2)

$ time ruby26 --disable=gems -r set -e 's = Set.new(); 1.upto(10_000).each { |n| s += [n] }'
real 0m1.346s
user 0m1.290s
sys 0m0.055s
Three times the input size:
$ time ruby26 --disable=gems -...
jablin (Johannes Abt)
07:50 AM Misc #18652: DevMeeting-2022-04-21
- [Feature #18683] Allow to create hashes with a specific capacity.
- Useful for various parsers and deserializers that know the Hash size in advance, such as Redis protocol, msgpack, etc.
- When creating large hashes of known size...
byroot (Jean Boussier)
05:40 AM Revision 7e4ac434 (git): Skip build extensions again on cross compiling too
znz (Kazuhiro NISHIYAMA)
04:40 AM Revision 31124754 (git): Skip build extensions again on mswin and mingw
znz (Kazuhiro NISHIYAMA)
02:09 AM Revision 4246e102 (git): Enabled to build extensions with the bundled gems again
https://github.com/ruby/ruby/commit/cbb115213c42f15638ef119eb20c4d3106eb8b1a
https://github.com/ruby/ruby/commit/5c1b76a3a55afeb07116bbd3492303c6b6cd890d
znz (Kazuhiro NISHIYAMA)

04/12/2022

10:27 PM Revision af855538 (git): * 2022-04-13 [ci skip]
git[bot]
10:27 PM Revision b21026cb (git): Enhanced RDoc for Symbol (#5795)
Treats:
#==
#inspect
#name
#to_s
#to_sym
#to_proc
#succ
#<=>
#casecmp
#casecmp?
#=~
#match
#match?
burdettelamar (Burdette Lamar)
04:44 PM Misc #18691 (Feedback): An option to build Ruby with build only flags not propagated to `rbconfig.rb`.
In a Fedora Ruby RPM packaging, I have a challenge for the current `make rbconfig.rb`. Currently when we build Ruby from source to create the Ruby RPM package, we set compiler flag `CFLAGS` including `--specs=/usr/lib/rpm/redhat/redhat-h... jaruga (Jun Aruga)
01:54 PM Revision 381475f0 (git): Use an empty string when building File.expand_path
Allocating a string of length MAXPATHLEN and then shrinking the string
is inefficient when the resulting path is short. Preallocating a large
string is also a problem for Variable Width Allocation since we can't
easily downsize the capac...
peterzhu2118 (Peter Zhu)
12:56 PM Feature #2567 (Closed): Net::HTTP does not handle encoding correctly
Applied in changeset commit:git|ebb4378237e572ce2e888136a613c7c051439f95.
----------
[ruby/net-http] Add HTTP#response_body_encoding for setting response body encoding
This allows for the ability to opt-in to a method to set the
encodi...
jeremyevans (Jeremy Evans)
12:56 PM Feature #15517 (Closed): Net::HTTP not recognizing valid UTF-8
Applied in changeset commit:git|ebb4378237e572ce2e888136a613c7c051439f95.
----------
[ruby/net-http] Add HTTP#response_body_encoding for setting response body encoding
This allows for the ability to opt-in to a method to set the
encodi...
jeremyevans (Jeremy Evans)
12:30 PM Revision d0a822ee (git): Fix dtoa buffer overrun
https://hackerone.com/reports/1248108 nobu (Nobuyoshi Nakada)
11:49 AM Revision 69f9992e (git): Fix dtoa buffer overrun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
11:48 AM Revision 3fa771dd (git): Fix dtoa buffer overrun
nagachika (Tomoyuki Chikanaga)
11:48 AM Revision 052ec6d2 (git): Just free compiled pattern if no space is used
nagachika (Tomoyuki Chikanaga)
11:25 AM Revision c9c2245c (git): Fix dtoa buffer overrun
U.Nakamura
11:24 AM Revision cf2bbcff (git): Just free compiled pattern if no space is used
https://hackerone.com/reports/1220911 nobu (Nobuyoshi Nakada)
11:11 AM Revision 4491bb74 (git): teenyup
naruse (Yui NARUSE)
11:03 AM Revision fa7f75dd (git): Backport date-2.0.3 for Reiwa Support [Backport #18514]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
10:54 AM Revision 8d142ecf (git): Fix dtoa buffer overrun
naruse (Yui NARUSE)
10:53 AM Revision 73f45e5e (git): Just free compiled pattern if no space is used
naruse (Yui NARUSE)
10:52 AM Revision 560a4cdf (git): fix for #16798 to Ruby 2.6 introduced C99 syntax [Backport #18387]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e U.Nakamura
10:14 AM Revision 48ffa280 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
09:52 AM Feature #18690: Allow `Kernel#then` to take arguments
The last example is just:
```ruby
p.call(honyarara, fugafugafuga, hogehogehoge)
```
isn't it? And that's a lot more readable IMHO.
I'm against this proposal, IMHO having multiple local variables for the same thing only increases c...
Eregon (Benoit Daloze)
09:20 AM Feature #18690 (Open): Allow `Kernel#then` to take arguments
`Kernel#then` passes the receiver to the block as its first positional block parameter.
```ruby
1.5.then{|x| Math.atan(x)}
```
I would like to propose to let `then` take arguments, which would be passed to the block as the other ...
sawa (Tsuyoshi Sawada)
06:34 AM Bug #18155: (nil..nil).cover?(x) is true for all x since beginless ranges were introduced
I do not understand the logic behind option 2. I would rather expect this logic:
> a beginless-and-endless range has no type, so it imposes no restriction on the type
which would lead us to option 1. Its coverage should return `tru...
sawa (Tsuyoshi Sawada)
05:07 AM Revision 47c3f31f (git): * 2022-04-12 [ci skip]
git[bot]
05:07 AM Revision a6d99089 (git): Fix spec to not touch the network
And not depend on the state of rack's master branch, in particular, on
their Ruby support range.
deivid (David Rodríguez)
05:07 AM Revision 5758c648 (git): Expect to receive a non-keywords hash
`RSpec::Mocks::ArgumentListMatcher#args_match?` fails when a
non-keywords hash is passed while a keyword hash is expected.
This is a change in `rspec-mocks` 3.10.3, so we need to adapt to it.
nobu (Nobuyoshi Nakada)
05:07 AM Revision cdec8a29 (git): Merge Bundler-2.2.33
hsbt (Hiroshi SHIBATA)
05:07 AM Revision 48be8051 (git): Merge RubyGems-3.2.33
hsbt (Hiroshi SHIBATA)

04/11/2022

10:14 PM Misc #18689 (Closed): Windows mswin builds, Actions, OpenSSL 3
Sorry for the long post and the md formatting...
With the release of the Actions windows-2022 image, MSYS2 build tools are no longer pre-installed on the image. Given that updating MSYS's msys and mingw64/ucrt64 tools can take quite ...
MSP-Greg (Greg L)
08:23 PM Revision de5aa98f (git): Correct whitespace in array.c (#5791)
burdettelamar (Burdette Lamar)
06:49 PM Revision 7d709ceb (git): Specify which core classes are convertible (#5790)
burdettelamar (Burdette Lamar)
05:28 PM Revision 5f1f8c24 (git): Fix fake.rb RUBY_DESCRIPTION faking for JITs
Previously, `make test-spec` was not printing the description with +YJIT
even when YJIT was indeed enabled. It was confusing on CI. `fake.rb` was
changing the `RUBY_DESCRIPTION` constant incorrectly.
I suppose `make test-spec` mostly ne...
alanwu (Alan Wu)
05:01 PM Misc #18652: DevMeeting-2022-04-21
* [Bug #18628] Link contributing is broken (jeremyevans0)
* Also affects #18665. Problem is that ruby uses the --page-dir rdoc option.
* Any documentation generation that does not use the --page-dir rdoc option has broken links.
...
jeremyevans0 (Jeremy Evans)
03:17 PM Revision 492349ab (git): * 2022-04-12 [ci skip]
git[bot]
03:17 PM Revision ebb43782 (git): [ruby/net-http] Add HTTP#response_body_encoding for setting response body encoding
This allows for the ability to opt-in to a method to set the
encoding of response bodies. By setting the accessor to a String
or Encoding instance, it will use the specified encoding.
Setting the value of true will try to detect the enc...
jeremyevans (Jeremy Evans)
02:15 PM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
Thanks for the ping. I've had some vacation recently. Looks like I missed the first preview release. I'll be able to start looking at this shortly. schneems (Richard Schneeman)
05:25 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
FYI: https://bugs.launchpad.net/ubuntu/+source/ruby2.7/+bug/1946190
Ubuntu backported openssl-3.0.0 for their ruby3.0 package.
hsbt (Hiroshi SHIBATA)
05:20 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
@schneems How about manually downloading and installing openssl-3.0.0.gem?
```
wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.gz
tar xf ruby-3.0.3.tar.gz
cd ruby-3.0.3
./configure --prefix=/path/to ...
make
make install
wg...
mame (Yusuke Endoh)
05:21 AM Misc #18687 (Closed): [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
I will mark this to closed because the basic feature works now. hsbt (Hiroshi SHIBATA)
02:31 AM Revision 4bd38e81 (git): * 2022-04-11 [ci skip]
git[bot]
01:05 AM Revision 44a911a2 (git): test/ruby/test_keyword.rb: Prevent warning: assigned but unused variable
mame (Yusuke Endoh)

04/10/2022

01:34 PM Revision abe2bb1d (git): * 2022-04-10 [ci skip]
git[bot]
01:33 PM Revision c789bdd3 (git): [DOC] Enhanced RDoc for Array intro (#5781)
This covers the first few sections of the class doc for Array. burdettelamar (Burdette Lamar)
06:26 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
The handling of timeouts is [documented][1], but that only shows it with a `handle_interrupt` block set up around everything, not under `ensure`. In the examples shown here, can `ensure;begin` or `ensure;Thread.handle_interrupt` be consi... avit (Andrew Vit)
05:10 AM Bug #18688 (Rejected): when array's default value is empty hash adding a hash key value changes all array elements
This is expected behavior and not a bug. As you mentioned, you want to use the block form if you want a new object for each default value. jeremyevans0 (Jeremy Evans)
04:38 AM Bug #18688 (Rejected): when array's default value is empty hash adding a hash key value changes all array elements
```ruby
ah = Array.new(3, {})
ah[1][:foo] = 'bar'
p ah # [{:foo=>"bar"}, {:foo=>"bar"}, {:foo=>"bar"}]
```
This is not expected result. The expected result is `[{}, {:foo=>"bar"}, {}]`.
Alternatively, below code works as expecte...
pan (Pan Pan)

04/09/2022

08:43 AM Revision 5b467400 (git): [DOC]Some link prefix replace
S_H_ (Shun Hiraoka)
08:22 AM Misc #18687: [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
I fixed the issue of mailing-list integration.
hsbt (Hiroshi SHIBATA)
06:39 AM Misc #18687: [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
I found the mailing-list integration is broken now. hsbt (Hiroshi SHIBATA)
06:06 AM Misc #18687 (Closed): [ANN] Upgraded bugs.ruby-lang.org to Redmine 5.0
Today, I migrated this tracker Redmine 4.2 to 5.0.
It has the following major changes.
* Based on Rails 6.1.
* Allowed username mention like `@hsbt` with autocomplete.
* Support CommonMaker for Markdown formatting.
Release not...
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom