Project

General

Profile

Activity

From 03/24/2021 to 03/30/2021

03/30/2021

11:57 PM Feature #17763: Implement cache for cvars
duerst (Martin Dürst) wrote in #note-5:
> What would it take e.g. to switch Rails logger to something else?
>
> I...
tenderlovemaking (Aaron Patterson)
11:27 PM Feature #17763: Implement cache for cvars
Eregon (Benoit Daloze) wrote in #note-4:
> Eregon (Benoit Daloze) wrote in #note-2:
> > Also, cvars seem very unp...
duerst (Martin Dürst)
07:45 PM Feature #17763: Implement cache for cvars
Eregon (Benoit Daloze) wrote in #note-2:
> they are inherently less efficient than instance variables on modules.
...
Eregon (Benoit Daloze)
07:26 PM Feature #17763: Implement cache for cvars
Eregon (Benoit Daloze) wrote in #note-2:
> Nice work.
>
> I guess using a global serial here is the only way to h...
tenderlovemaking (Aaron Patterson)
07:05 PM Feature #17763: Implement cache for cvars
Nice work.
I guess using a global serial here is the only way to handle overtaking without redoing the lookup ever...
Eregon (Benoit Daloze)
06:24 PM Feature #17763: Implement cache for cvars
This is the missing benchmark I copy and pasted incorrectly.
Ruby master / Rails 6.1:

```
Warm...
eileencodes (Eileen Uchitelle)
05:57 PM Feature #17763 (Closed): Implement cache for cvars
# Introduce inline cache for class variable reads
@tenderlove and I would like to introduce an inline cache for cl...
eileencodes (Eileen Uchitelle)
11:11 PM Feature #16295: Chainable aliases for String#-@ and String#+@
`+@` is rarely safe to use (only if you know what allocated it and that it was never captured in another variable) as... Eregon (Benoit Daloze)
09:52 PM Feature #16295: Chainable aliases for String#-@ and String#+@
danh337 (Dan Higgins) wrote in #note-14:
> I believe this shows the semantics. It's the inverse of `.freeze`:
>
>...
jeremyevans0 (Jeremy Evans)
09:31 PM Feature #16295: Chainable aliases for String#-@ and String#+@
I believe this shows the semantics. It's the inverse of `.freeze`:
`class String; def thaw; frozen? ? self.+@ : se...
danh337 (Dan H)
09:12 PM Feature #16295: Chainable aliases for String#-@ and String#+@
The `-@` and `+@` calls do work fine for chaining. But `.-@` has a nice equivalent, `.freeze`. Is it possible to give... danh337 (Dan H)
08:11 PM Feature #17762: A simple way to trace object allocation
tenderlovemaking (Aaron Patterson) wrote in #note-4:
> I don't think it's needed. If you require the file, you know...
Eregon (Benoit Daloze)
07:43 PM Feature #17762: A simple way to trace object allocation
I submitted #10932, so I would definitely like a feature like this. 😆
> Is the message objspace/trace is enabled nee...
tenderlovemaking (Aaron Patterson)
07:16 PM Feature #17762: A simple way to trace object allocation
`require "objspace/trace"` automatically starting tracing seems dangerous, there is a pretty big performance penalty ... Eregon (Benoit Daloze)
03:59 PM Feature #17762: A simple way to trace object allocation
> Whenever I want to use them, I have to google, copy and paste the names.
Seconded. I use this feature almost dai...
byroot (Jean Boussier)
03:45 PM Feature #17762: A simple way to trace object allocation
I think this is a good suggestion.
Please correct me if my assumptions are wrong, but if I understood the general ...
shevegen (Robert A. Heiler)
02:57 PM Feature #17762 (Closed): A simple way to trace object allocation
How about having a short hand to `ObjectSpace.trace_object_allocations_start`, `ObjectSpace.allocation_sourcefile` an... mame (Yusuke Endoh)
07:18 PM Bug #17527 (Closed): rb_io_wait_readable/writable with scheduler don't check errno
ioquatix (Samuel Williams)
08:15 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
I would advise we should back port this to 3.0.1 if possible. The original patch attached to this issue is sufficient. ioquatix (Samuel Williams)
07:38 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
I added a failing spec https://github.com/ruby/ruby/pull/4338/commits/e111d99ae1b58e1ffe73c167c039b2fc0728cb08 which ... ioquatix (Samuel Williams)
07:02 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
Okay, I confirmed the fix is required for `async-io` to use the native IO methods.
```
samuel@Fukurou ~/D/s/async...
ioquatix (Samuel Williams)
06:12 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
PR: https://github.com/ruby/ruby/pull/4338 ioquatix (Samuel Williams)
05:51 AM Bug #17527: rb_io_wait_readable/writable with scheduler don't check errno
I think I ran into this bug on the write code path. I'm just going to confirm it. ioquatix (Samuel Williams)
03:09 PM Revision d977849e (git): * 2021-03-31 [ci skip]
git[bot]
02:41 PM Revision 94d56407 (git): Text files should end with a newline
nobu (Nobuyoshi Nakada)
02:29 PM Bug #17761 (Closed): Install location of header files in extension libraries
Applied in changeset commit:git|5cdf99f64e344b8e4638824d55f5caf33be682ca.
----------
mkmf: fixed install directories...
nobu (Nobuyoshi Nakada)
02:10 PM Bug #17761 (Closed): Install location of header files in extension libraries
When installing an extension library which provides a header, that header should be installed under site_ruby (or ven... nobu (Nobuyoshi Nakada)
02:28 PM Revision 5cdf99f6 (git): mkmf: fixed install directories of header files in extension libraries [Bug #17761]
When installing an extension library which provides a header, that
header should be installed under site_ruby (or ven...
nobu (Nobuyoshi Nakada)
02:20 PM Feature #17760 (Third Party's Issue): Where we should install a header file when `gem install --user`?
This is because rubygems doesn't manage header files installed from gems, since no gems had installed headers until d... nobu (Nobuyoshi Nakada)
12:51 AM Feature #17760: Where we should install a header file when `gem install --user`?
The permission error was reported at https://github.com/ruby/digest/issues/14. mrkn (Kenta Murata)
12:50 AM Feature #17760 (Third Party's Issue): Where we should install a header file when `gem install --user`?
As `digest` have been made a default gem at Ruby 3.0, it can be installed by `gem install` command.
When we insta...
mrkn (Kenta Murata)
11:58 AM Revision 9713acd7 (git): Fix `coroutine_type` variable name
znz (Kazuhiro NISHIYAMA)
10:16 AM Revision a9c5c2d6 (git): Check errno before invoking scheduler in `rb_io_wait_readable/writable`.
See <https://bugs.ruby-lang.org/issues/17527> for more details. Samuel Williams
10:16 AM Revision 611e7110 (git): Test incorrect behaviour of `rb_io_wait_readable/writable`.
Samuel Williams
06:24 AM Feature #17546 (Closed): Native coroutine implementation for riscv64 Linux
It looks like it didn't break anything, so I've merged it, but can you please test it and report back? ioquatix (Samuel Williams)
05:48 AM Feature #17546: Native coroutine implementation for riscv64 Linux
It will be merged, https://github.com/ruby/ruby/pull/4337 but it needs more testing. Do we have any CI? ioquatix (Samuel Williams)
06:23 AM Revision b507f65d (git): Support for native riscv64 coroutines.
Samuel Williams
05:38 AM Revision 3d32c217 (git): Disable public interface for now.
Samuel Williams
05:38 AM Revision 92449e0e (git): Fix handling of timeout accessing scheduler outside of non-blocking context.
Samuel Williams
05:38 AM Revision af1c5875 (git): Improve timeout tests.
Samuel Williams
05:38 AM Revision 511acba4 (git): Update method name and add documentation.
Samuel Williams
05:38 AM Revision 09c865d5 (git): Fix native implementation.
# Conflicts:
# scheduler.c
Samuel Williams
05:38 AM Revision 67f60ebb (git): Fixed a compilation error
nobu (Nobuyoshi Nakada)
05:38 AM Revision c05dd7dc (git): Prefer `rb_check_funcall`.
Samuel Williams
05:38 AM Revision 9b9bbaec (git): Update lib/timeout.rb
Co-authored-by: Nobuyoshi Nakada <[email protected]> Samuel Williams
05:38 AM Revision 4c53dc97 (git): Add hook for `Timeout.timeout`.
Samuel Williams
05:38 AM Feature #17470 (Closed): Introduce non-blocking `Timeout.timeout`
Implemented in <https://github.com/ruby/ruby/pull/4173>. ioquatix (Samuel Williams)
05:28 AM Revision 93753d7e (git): * 2021-03-30 [ci skip]
git[bot]
05:27 AM Revision d65d6611 (git): [ruby/irb] Prevent the completion from crashing if rdoc is missing
There are cases where ruby is installed without rdoc and e.g.
lib/irb/cmd/help.rb also handles the LoadError
Here is...
bliof (Aleksandar Ivanov)
03:29 AM Bug #17737: `Array#permutation` does not immediately check the arity when no block is given
I am not opposed to changes, but I don't believe this actually matters; I can not think of a use-case.
A similar q...
marcandre (Marc-Andre Lafortune)
12:15 AM Bug #17573: Crashes in profiling tools when signals arrive in non-Ruby threads
> Ah, OK. This issue doesn't expose on recent Linux system.
I can somewhat reliably repro by running `ruby --jit r...
alanwu (Alan Wu)

03/29/2021

11:29 PM Bug #17742 (Closed): Random.rand gets wrong after using Ractor and requiring benchmark
jeremyevans0 (Jeremy Evans)
11:10 PM Bug #17739: Array#sort! changes the order even if the receiver raises FrozenError in given block
I think this is a bug, but it's not that `Array#sort!` should keep the initial order of the receiver, it's that it sh... jeremyevans0 (Jeremy Evans)
10:36 PM Bug #17738 (Rejected): Ruby can still freeze ENV
jeremyevans0 (Jeremy Evans)
10:15 PM Bug #17737: `Array#permutation` does not immediately check the arity when no block is given
If this is a bug, it doesn't just affect `Array#permutation`, but many `Enumerable` methods:
```ruby
[].each_entr...
jeremyevans0 (Jeremy Evans)
06:28 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
> I'll start working with the master branch version this week
Note that I was suggesting `ruby_3_0`: https://githu...
byroot (Jean Boussier)
02:16 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
byroot (Jean Boussier) wrote in #note-4:
> > Attached is a full session dump,
>
> Unfortunately your dump doesn't...
jgelo (Jon Gelo)
02:45 PM Bug #13708 (Closed): catastrophic slow compilation of defined-defined sequence has no chance to ^C
Applied in changeset commit:git|7b3c5ab8a5825a2b960e639d257f0c8a69c4186c.
----------
Make defined? cache the results...
jeremyevans (Jeremy Evans)
02:45 PM Bug #17649 (Closed): `defined?` invokes method once for each syntactic element around it
Applied in changeset commit:git|7b3c5ab8a5825a2b960e639d257f0c8a69c4186c.
----------
Make defined? cache the results...
jeremyevans (Jeremy Evans)
02:45 PM Revision 62e66aed (git): Add more tests for defined? with method calls
jeremyevans (Jeremy Evans)
02:45 PM Revision 7b3c5ab8 (git): Make defined? cache the results of method calls
Previously, defined? could result in many more method calls than
the code it was checking. `defined? a.b.c.d.e.f` gen...
jeremyevans (Jeremy Evans)
10:57 AM Bug #17759: Correct `ioctl_req_t` for musl
> Would you commit it by yourself?
+1
mame (Yusuke Endoh)
10:44 AM Bug #17759: Correct `ioctl_req_t` for musl
Seems more concise.
Would you commit it by yourself?
nobu (Nobuyoshi Nakada)
09:05 AM Bug #17759 (Closed): Correct `ioctl_req_t` for musl
The definition of `ioctl(2)` in musl is `int ioctl (int, int, ...);`, and this makes `io.c` fail to build on 64-bit m... xtkoba (Tee KOBAYASHI)
10:42 AM Feature #11523 (Closed): optparse short options will match complete options
Applied in changeset commit:git|eca8ffaa0b446db0a1cacc82a2e73155f6fd3fce.
----------
[ruby/optparse] Add OptionParse...
jeremyevans (Jeremy Evans)
10:37 AM Revision 190a57b1 (git): [ruby/optparse] bump up to 0.1.1
https://github.com/ruby/optparse/commit/2fe984a603 nobu (Nobuyoshi Nakada)
10:37 AM Revision e8317d90 (git): [ruby/optparse] Fixed error message of unparsed non-option
Close https://github.com/ruby/optparse/issues/3
https://github.com/ruby/optparse/commit/94c5cf4032
nobu (Nobuyoshi Nakada)
09:24 AM Revision 2bbae0e9 (git): [ruby/optparse] Completion scripts themselves are not executable
https://github.com/ruby/optparse/commit/65d8aff935 nobu (Nobuyoshi Nakada)
09:24 AM Revision e97f21af (git): [ruby/optparse] Exclude unnecessary files from the package
https://github.com/ruby/optparse/commit/dfd9380231 nobu (Nobuyoshi Nakada)
06:55 AM Revision 7846f320 (git): [ruby/optparse] Change *opts to *params, to avoid confusion
https://github.com/ruby/optparse/commit/f5f5e202dd burdettelamar (Burdette Lamar)
06:55 AM Revision eca8ffaa (git): [ruby/optparse] Add OptionParser#require_exact accessor
This allows you to disable allowing abbreviations of long options
and using short options for long options.
Implemen...
jeremyevans (Jeremy Evans)
06:55 AM Revision d474b19b (git): [ruby/optparse] Use ZDOTDIR env var to locate .zshrc
https://github.com/ruby/optparse/commit/c4977674bf Martin Rey
06:19 AM Revision d87b8ce6 (git): sync_default_gems.rb: ignore COPYING file [ci skip]
nobu (Nobuyoshi Nakada)
06:14 AM Revision f16b9e7f (git): sync_default_gems.rb: IO#puts prints a newline between each argument [ci skip]
nobu (Nobuyoshi Nakada)
04:49 AM Feature #17752: Enable -Wundef for C extensions in repository
As far as the effect of `-Wundef` do not leak to 3rd party extension libraries, yes I'm in favor of it. It sounds a ... shyouhei (Shyouhei Urabe)
02:35 AM Revision f46bbb2e (git): [DOC] Improve an example of Array#count comparison [ci skip]
nobu (Nobuyoshi Nakada)

03/28/2021

08:32 PM Revision 875c85a8 (git): fiber context update for Mac OS.
it is more about memory accounting sake. At allocation time,
we make clear we re possibly reusing regions marked as ...
David CARLIER
08:10 PM Revision a1938ec3 (git): [ruby/irb] Always add input method when calling Irb.new in tests
When passes input method as nil to Context.new through Irb.new,
ReidlineInputMethod.new is executed and the global in...
aycabta (aycabta .)
07:33 PM Bug #17757: Hash#slice does not keep compare_by_identity on the results
I should have looked into this when I checked #16996.
Looks like we have behavior that is all over the place, and ...
marcandre (Marc-Andre Lafortune)
12:25 PM Bug #17757 (Closed): Hash#slice does not keep compare_by_identity on the results
GH-PR: https://github.com/ruby/ruby/pull/4330
```console
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468)...
kachick (Kenichi Kamiya)
06:39 PM Feature #17758: Provide Hash#count for performance improvement
Absolutely +1 marcandre (Marc-Andre Lafortune)
06:21 PM Feature #17758 (Open): Provide Hash#count for performance improvement
GH-PR: https://github.com/ruby/ruby/pull/4333
In my experience, many developers choice `size`, `length` and `count...
kachick (Kenichi Kamiya)
06:18 PM Revision 1cdecb43 (git): * 2021-03-29 [ci skip]
git[bot]
06:17 PM Revision 813c3333 (git): [Doc] Fix Array#count comparing strategy
kachick (Kenichi Kamiya)
05:29 PM Feature #17472: HashWithIndifferentAccess like Hash extension
> Actually, it does (since ES 6): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Sy... joelb (Joel Blum)
03:17 AM Feature #17472: HashWithIndifferentAccess like Hash extension
duerst (Martin Dürst) wrote in #note-20:
> Javascript doesn't have symbols in the first place
Actually, it does (...
marcandre (Marc-Andre Lafortune)
01:56 AM Feature #17472: HashWithIndifferentAccess like Hash extension
joelb (Joel Blum) wrote in #note-19:
> > Use JSON.parse(data, symbolize_names: true)
>
> I know that. Yet the fac...
duerst (Martin Dürst)
04:12 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
> Attached is a full session dump,
Unfortunately your dump doesn't have C-level symbols.
But the crash in `:def...
byroot (Jean Boussier)
02:20 PM Bug #17728: [BUG] Segmentation fault at 0x0000000000000000
I've started testing a Rails 6.1.3 app with Ruby 3.0.0 and have run into this same issue multiple times in developmen... jgelo (Jon Gelo)
02:42 PM Revision 989e22f3 (git): [ruby/io-console] bump up to 0.5.9
https://github.com/ruby/io-console/commit/302e86a28c
https://github.com/ruby/io-console/commit/0690862526
nobu (Nobuyoshi Nakada)
02:39 PM Revision f7faac13 (git): sync_default_gems.rb: remove un-committed files [ci skip]
As files non-existing in the repository cannot be checked out,
remove files to be ignored once, and re-check the status.
nobu (Nobuyoshi Nakada)
01:58 PM Revision 36bad6f1 (git): sync_default_gems.rb: search the last merge more strictly [ci skip]
As tag-only match, `[#{repo}]`, may find unexpected commit, e.g.,
5bfca88f760727240902a70d1df0cc516ff31a70 for io-con...
nobu (Nobuyoshi Nakada)
01:33 PM Feature #17753: Add Module#namespace
> Besides that, I do not see any reason to make them different in any way
Well, if `Module.nesting` because of its...
byroot (Jean Boussier)
06:05 AM Feature #17753: Add Module#namespace
This feature is reminiscent of `Module.nesting`. The difference is that the former has dynamic scope and the latter l... sawa (Tsuyoshi Sawada)
09:55 AM Bug #17735: `Hash#transform_keys!` drops non evaluated keys
I have confirmed that the issue is reproducible on 2.6/2.7 too. nagachika (Tomoyuki Chikanaga)
12:15 AM Bug #17735 (Closed): `Hash#transform_keys!` drops non evaluated keys
Applied in changeset commit:git|31e0382723bfb35cffe3ca485dd0577668cafa07.
----------
Keep non evaluated keys in `Has...
kachick (Kenichi Kamiya)
09:52 AM Revision 49c1c2dc (git): sync_default_gems.rb: escape filter command [ci skip]
nobu (Nobuyoshi Nakada)
05:10 AM Revision 603d7995 (git): sync_default_gems.rb: message when no commits [ci skip]
nobu (Nobuyoshi Nakada)
05:09 AM Revision 522d4cd3 (git): Force recycle intermediate collection in Hash#transform_keys! [Bug #17735]
* Force recycle intermediate hash
* Force recycle intermediate array too
https://github.com/ruby/ruby/pull/4329#iss...
kachick (Kenichi Kamiya)
05:06 AM Bug #17755 (Closed): Pathname#split makes segmentation fault when File.split returns non array value
Applied in changeset commit:git|9af57eeed61ad53c0a2a92a93a6a6e40704cd6ae.
----------
[ruby/pathname] Fix segfault of...
kachick (Kenichi Kamiya)
05:04 AM Revision 9af57eee (git): [ruby/pathname] Fix segfault of Pathname#split
Fix segmentation fault of Pathname#split when File.split returns
non array value [Bug #17755]
https://github.com/rub...
kachick (Kenichi Kamiya)
05:03 AM Revision 447e0954 (git): [ruby/pathname] Support Ruby 3.0
Update test/pathname/test_pathname.rb
https://github.com/ruby/pathname/commit/29645187e0
https://github.com/ruby/pat...
hsbt (Hiroshi SHIBATA)
05:02 AM Revision 38ea2306 (git): sync_default_gems.rb: preserve Co-Authored-By:
nobu (Nobuyoshi Nakada)
04:15 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
xtkoba (Tee KOBAYASHI) wrote in #note-6:
> ```ruby
> f.print data[:header]
> data[:payload].each do |s|
> ...
nobu (Nobuyoshi Nakada)
12:48 AM Revision fb6ebe55 (git): Hide an intermediate array
nobu (Nobuyoshi Nakada)
12:42 AM Revision 5e5fb72f (git): Clear an intermediate hash [Bug #17735]
nobu (Nobuyoshi Nakada)
12:14 AM Revision 31e03827 (git): Keep non evaluated keys in `Hash#transform_keys!` [Bug #17735]
kachick (Kenichi Kamiya)

03/27/2021

11:50 PM Revision e398a0e5 (git): Remove unneeded rb_ident_hash_new function declaration
S_H_ (Shun Hiraoka)
11:48 PM Bug #17754 (Closed): NoMethodError#to_s makes segmentation fault when Module#name returns non string value
Applied in changeset commit:git|0a544c0c35f7445d69402d7c53d825384c728017.
----------
Fix segmentation fault when `Mo...
kachick (Kenichi Kamiya)
02:14 PM Bug #17754 (Closed): NoMethodError#to_s makes segmentation fault when Module#name returns non string value
GH-PR: https://github.com/ruby/ruby/pull/4328
This code makes segmentation fault.
```console
$ ruby -v
ruby 3...
kachick (Kenichi Kamiya)
11:48 PM Revision cc15ae34 (git): * 2021-03-28 [ci skip]
git[bot]
11:47 PM Revision 0a544c0c (git): Fix segmentation fault when `Module#name` returns non string value [Bug #17754]
* Add test for NoMethodError#to_s does not segfault
* Ensure no segfault even if Module#name is overridden
kachick (Kenichi Kamiya)
09:51 PM Feature #17753: Add Module#namespace
Eregon (Benoit Daloze) wrote in #note-2:
> @sawa I'd say first assignment to a named constant wins, just like for Mo...
tenderlovemaking (Aaron Patterson)
11:33 AM Feature #17753: Add Module#namespace
@sawa I'd say first assignment to a named constant wins, just like for Module#name.
I agree with the feature.
I'd su...
Eregon (Benoit Daloze)
07:58 AM Feature #17753: Add Module#namespace
What would you expect if a module has multiple names?
```ruby
module E; end
E::F = A::B::C
```
Should `A::B::C.oute...
sawa (Tsuyoshi Sawada)
06:30 PM Bug #17756 (Closed): StringScanner#charpos makes segmentation fault when target.byteslice returns non string value
GH-PR: https://github.com/ruby/strscan/pull/20
This is a `strscan` issue.
I'm not sure the best way of how to han...
kachick (Kenichi Kamiya)
02:27 PM Bug #17755 (Closed): Pathname#split makes segmentation fault when File.split returns non array value
GH-PR: https://github.com/ruby/pathname/pull/4
This looks a `pathname` issue, But It happened on `ruby 2.7.2p137 (...
kachick (Kenichi Kamiya)
12:48 PM Feature #17752: Enable -Wundef for C extensions in repository
Indeed, and that patch looks good to me. Eregon (Benoit Daloze)
12:25 PM Feature #17752: Enable -Wundef for C extensions in repository
> The value of the macro ultimately does not matter for all `HAVE_` macros.
There is a counterexample: `HAVE_BACKT...
xtkoba (Tee KOBAYASHI)
11:43 AM Feature #17752: Enable -Wundef for C extensions in repository
The `#if UNDEFINED_IDENTIFIER` seems fairly rare (56 vs 637), so it also seems more consistent to always use `#ifdef`... Eregon (Benoit Daloze)
03:25 AM Feature #17752: Enable -Wundef for C extensions in repository
I think it's just a matter of coding style to allow evaluating undefined identifiers, whether it is good or bad.
T...
xtkoba (Tee KOBAYASHI)
12:02 PM Revision 95d9fe95 (git): Update to ruby/spec@fd6eddd
Eregon (Benoit Daloze)
12:02 PM Revision 44736a6b (git): Update to ruby/mspec@d1adf59
Eregon (Benoit Daloze)
11:36 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
I was looking for a FAQ on the site to see if it was allowed to open topics not related to bugs or improvements but I... stiuna (Juan Gregorio)
09:07 AM Misc #17751 (Closed): Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
> When you say **"may take a long time"** does it apply even if **'str'** is 3GB and **'header'** is only 5bits?
Yes...
mame (Yusuke Endoh)
08:45 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
@xtkoba
Hey thanks, your code gave me a great idea, with some modifications I can do what I needed. Very helpful.
*...
stiuna (Juan Gregorio)
08:11 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
There is no need to join when you write strings to a file:
```ruby
data = {:header => "header", :payload => ["foo",...
xtkoba (Tee KOBAYASHI)
07:45 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
xtkoba (Tee KOBAYASHI) wrote in #note-3:
> I would not even concatenate any strings and would `push` them to an arra...
stiuna (Juan Gregorio)
01:10 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
> I would like to do something similar to (<<), which I understand does not create copies.
There is `String#prepen...
mame (Yusuke Endoh)
12:33 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
I would not even concatenate any strings and would `push` them to an array, as if they were immutable (like in Go lan... xtkoba (Tee KOBAYASHI)
08:22 AM Revision 31ae931e (git): [Doc] Update regex engine to Onigumo in doc/extension.* [ci skip]
regex.c has been removed in 8e65234086a15f90585bc09cce82dbad2aa647d7 kachick (Kenichi Kamiya)
07:39 AM Revision 89fa5b13 (git): Add rb_exc_exception function
`rb_exc_raise` and `rb_fatal` func have similar code(in `eval.c`).
I think that better cut out and replace these code...
S_H_ (Shun Hiraoka)
06:49 AM Feature #17472: HashWithIndifferentAccess like Hash extension
> Use JSON.parse(data, symbolize_names: true)
I know that. Yet the fact is these bugs happen again and again (not on...
joelb (Joel Blum)
01:03 AM Feature #17472: HashWithIndifferentAccess like Hash extension
joelb (Joel Blum) wrote in #note-17:
> [...] what happens is every time you do JSON.parse you will get stringified k...
marcandre (Marc-Andre Lafortune)
12:31 AM Feature #17472: HashWithIndifferentAccess like Hash extension
> I think the critical use case for HashWithIndifferentAccess is params; where you want to be using symbol keys becau... joelb (Joel Blum)
03:55 AM Revision aceb8c0b (git): Fix Enumerable#tally with some arguments pattern [Feature #17744]
* Add test cases for Enumerable#tally with hash argument
* Add ruby/spec for Enumerable#tally with hash argument
* ...
kachick (Kenichi Kamiya)
01:15 AM Revision 785c77d7 (git): * 2021-03-27 [ci skip]
git[bot]
01:15 AM Revision 8a89dd2a (git): No codesign in tests
nobu (Nobuyoshi Nakada)

03/26/2021

10:34 PM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
@xtkoba
But use this:
``` ruby
# [header, str]
data = ["", ""]
data[1] << "some data"
```
Or this:
``` ruby
d...
stiuna (Juan Gregorio)
11:27 AM Misc #17751: Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
I understand that in the last case a copy of the content of `str` is not created, although it can trigger `memmove` w... xtkoba (Tee KOBAYASHI)
09:22 AM Misc #17751 (Closed): Do these instructions (<<,+,[0..n]) modify the original string without creating copies?
In my program a string increases considerably in size inside a loop, at the end of that loop a header is created that... stiuna (Juan Gregorio)
07:19 PM Feature #17753 (Open): Add Module#namespace
Given code like this:
```ruby
module A
module B
class C; end
class D; end
end
end
```
We can...
tenderlovemaking (Aaron Patterson)
05:56 PM Bug #17354: Module#const_source_location is misleading for constants awaiting autoload
This was discussed during the March 2021 developer meeting, but a conclusion was not reached: https://github.com/ruby... jeremyevans0 (Jeremy Evans)
05:45 PM Feature #17749: Const source location without name
Actually a good way to list all files where methods were added to the class is to go though instance_methods and ask ... Eregon (Benoit Daloze)
05:44 PM Feature #17749: Const source location without name
`Module#source_location` sounds good to me.
I wonder if we should try to collect all places where the class/module...
Eregon (Benoit Daloze)
04:09 PM Feature #17749: Const source location without name
I've renamed it to `source_location`. So it's `A::B.source_location`. tenderlovemaking (Aaron Patterson)
06:57 AM Feature #17749: Const source location without name
I also think that a method name other than `const_source_location` should be used for this feature because this featu... sawa (Tsuyoshi Sawada)
02:01 AM Feature #17749: Const source location without name
Personally I agree with Aaron's use case or the general potential usefulness
of being able to query const_source_loc...
shevegen (Robert A. Heiler)
12:12 AM Feature #17749: Const source location without name
I agree that `source_location` would be better for this new feature, since it is referring to the receiver of the cal... dylants (Dylan Thacker-Smith)
05:04 PM Feature #17752 (Closed): Enable -Wundef for C extensions in repository
I would like to enable `-Wundef` for C extensions built/bundled with CRuby.
From https://gcc.gnu.org/onlinedocs/gc...
Eregon (Benoit Daloze)
09:53 AM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
I was able to reproduce the issue on my Linux box and was digging into this. There actually seem to be two issues beh... rhenium (Kazuki Yamaguchi)
09:16 AM Feature #17679: Ractor incoming channel can consume unlimited resources
That's a reasonable point, @marcandre. I also did tried something similar at https://ivoanjo.me/blog/2021/02/14/racto... ivoanjo (Ivo Anjo)
07:29 AM Feature #17744 (Closed): Accumulate `Enumerable#tally` results
Applied in changeset commit:git|9143d21b1bf2f16b1e847d569a588510726d8860.
----------
Enumerable#tally with the resul...
nobu (Nobuyoshi Nakada)
07:29 AM Revision 9143d21b (git): Enumerable#tally with the resulting hash [Feature #17744]
nobu (Nobuyoshi Nakada)
06:48 AM Feature #17750 (Closed): Update Unicode data to Unicode Version 13.0.0
The newest version of Unicode is Unicode 13.0.0 since about one year (see http://www.unicode.org/versions/Unicode13.0... duerst (Martin Dürst)
05:12 AM Bug #17747 (Closed): `make up` is broken with clean repo.
Thanks for explaining. It's reasonable. hsbt (Hiroshi SHIBATA)
04:57 AM Bug #17747: `make up` is broken with clean repo.
The files generated from Unicode data files (enc/unicode/12.1.0/{casefold,name2ctype}.h and lib/unicode_normalize/tab... nobu (Nobuyoshi Nakada)
04:49 AM Bug #17747: `make up` is broken with clean repo.
I confirmed to work with https://github.com/ruby/ruby/commit/041a4f9a5e04eb4e6f8f26d143a613a817e18717
But, the cur...
hsbt (Hiroshi SHIBATA)
03:37 AM Revision 6a352e27 (git): [ruby/erb] Version 2.2.3
https://github.com/ruby/erb/commit/03bc4a8274 k0kubun (Takashi Kokubun)
03:35 AM Revision 3789d58c (git): [ruby/erb] Clarify supported ruby versions in gemspec
https://github.com/ruby/erb/commit/b40db4114a kachick (Kenichi Kamiya)
02:34 AM Misc #17720 (Assigned): Cirrus CI to check non-x86_64 architecture cases by own machines
>did you mean I will maintain not only the Cirrus CI
Yes, I means not only the Cirrus CI.
hsbt (Hiroshi SHIBATA)
12:44 AM Revision 3c0528ad (git): * 2021-03-26 [ci skip]
git[bot]

03/25/2021

11:29 PM Feature #17749 (Open): Const source location without name
Hi,
I would like to be able to ask a class or module what its source location is without knowing the name. For ex...
tenderlovemaking (Aaron Patterson)
06:39 PM Feature #17743: Show argument types in backtrace
ufuk (Ufuk Kayserilioglu) wrote in #note-4:
> p8 (Petrik de Heus) wrote in #note-3:
> > ```
> > from hi.rb:2:in `s...
p8 (Petrik de Heus)
06:36 PM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
> maybe we can just revert the behavior on Linux. #12838 is a corner case, certainly the timeout for invalid domains... byroot (Jean Boussier)
03:04 PM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
I couldn't reproduce the bug on Windows or OpenBSD. Since the bug appears to be limited to Linux, maybe we can just ... jeremyevans0 (Jeremy Evans)
12:41 PM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
The bug seem to be introduced by https://github.com/ruby/ruby/commit/9682db065158da5fa4ec8a3bc267da45b429b92c
Reve...
byroot (Jean Boussier)
12:28 PM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
I ran a quick profiler:
All the time is spent waiting on the socket to be readable:
```
========================...
byroot (Jean Boussier)
12:16 PM Bug #17748: Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
I was able to reproduce on both 3.0.0-p0 as well as the current `ruby_3_0` branch.
However it seems to be limited ...
byroot (Jean Boussier)
11:07 AM Bug #17748 (Closed): Ruby 3.0 takes a long time to resolv DNS of nonexistent domains
I'm running into a subtle bug when trying to resolv a nonexistent domain.
```
$ ruby -v
ruby 2.7.2p137 (...
xdmx (Eric Bloom)
03:38 PM Revision 041a4f9a (git): Stop downloading Unicode files twice
These files should have been downloaded in update-remote. nobu (Nobuyoshi Nakada)
03:37 PM Feature #12125: Proposal: Shorthand operator for Object#method
@cvss, your two other examples are also not convincing. Here is how one can write them:
```ruby
some_even_set = s...
marcandre (Marc-Andre Lafortune)
03:32 PM Feature #12125: Proposal: Shorthand operator for Object#method
cvss (Kirill Vechera) wrote in #note-31:
> @marcandre, comparing performance, the `#method` way is better:
>
> The `...
marcandre (Marc-Andre Lafortune)
03:25 PM Feature #12125: Proposal: Shorthand operator for Object#method
I agree, `to_h` is better, but for hashes only. When we have no such a shorthand with other classes or other construc... cvss (Kirill Vechera)
02:55 PM Feature #12125: Proposal: Shorthand operator for Object#method
@marcandre, comparing performance, the `#method` way is better:
The `map{File.basename(_1)}` code has two performa...
cvss (Kirill Vechera)
06:32 AM Feature #12125: Proposal: Shorthand operator for Object#method
Since then, we have `_1`:
```ruby
Dir["*/*.c"].map{File.basename(_1)}
```
My understanding is that a syntax f...
marcandre (Marc-Andre Lafortune)
02:26 AM Feature #12125 (Open): Proposal: Shorthand operator for Object#method
Re-opened as this feature has been reverted. nobu (Nobuyoshi Nakada)
02:19 PM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
> I and naruse (and others) hope to maintain non-x86 platform. But we don't have enough resources that are working ti... jaruga (Jun Aruga)
12:00 PM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
> Do you interest to maintain it as a ruby committer?
@hsbt, @mame, yes! I am interested in maintaining Cirrus CI ...
jaruga (Jun Aruga)
07:43 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
hsbt (Hiroshi SHIBATA) wrote in #note-4:
> @jaruga
>
> Do you interest to maintain it as a ruby committer?
+1
mame (Yusuke Endoh)
07:03 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
Interesting.
I and naruse (and others) hope to maintain non-x86 platform. But we don't have enough resources that a...
hsbt (Hiroshi SHIBATA)
09:54 AM Revision ad8842c0 (git): [ruby/irb] Cache completion files to require
https://github.com/ruby/irb/commit/612ebcb311 aycabta (aycabta .)
09:06 AM Revision f45bed0a (git): Use XRUBY to expand path instead of platform dependent
znz (Kazuhiro NISHIYAMA)
08:10 AM Revision e7dc6f2a (git): Generate encoding header before enc.mk
As some encodings need the corresponding header. nobu (Nobuyoshi Nakada)
06:55 AM Feature #17744: Accumulate `Enumerable#tally` results
Go ahead.
Matz.
matz (Yukihiro Matsumoto)
06:45 AM Revision cda60ee6 (git): Keep unicode_normalize/tables.rb as-is
Define no dependency unless ALWAYS_UPDATE_UNICODE is set to yes,
so that `make prog` works in a just-checkedout worki...
nobu (Nobuyoshi Nakada)
06:44 AM Bug #17747 (Closed): `make up` is broken with clean repo.
`make up` is broken when after cloning git repo like https://github.com/ruby/ruby.
expected instructions
```
....
hsbt (Hiroshi SHIBATA)
05:59 AM Revision 12812c2b (git): Fix test-bundler-parallel errors when out-of-place build
znz (Kazuhiro NISHIYAMA)

03/24/2021

11:58 PM Feature #12125: Proposal: Shorthand operator for Object#method
Since the proposed feature was reverted in #16275, maybe this issue should be re-opened to continue discussion and "r... cvss (Kirill Vechera)
10:09 PM Feature #17743: Show argument types in backtrace
p8 (Petrik de Heus) wrote in #note-3:
> ```
> from hi.rb:2:in `say_hi' called with NilClass, Numeric, String
> ```...
ufuk (Ufuk Kayserilioglu)
08:39 PM Feature #17743: Show argument types in backtrace
Eregon (Benoit Daloze) wrote in #note-2:
> How would your format when the method takes multiple arguments?
```
f...
p8 (Petrik de Heus)
07:54 PM Feature #17743: Show argument types in backtrace
How would your format when the method takes multiple arguments?
Should we show the value or just the class?
I thi...
Eregon (Benoit Daloze)
09:05 AM Feature #17743 (Open): Show argument types in backtrace
Given the following Ruby program:
``` ruby
def say_hi(person)
puts message(person)
end
def message(person)
...
p8 (Petrik de Heus)
09:02 PM Feature #17745: `IO#close_on_exec=` returns different value when called with `send, __send__, public_send` or not
I also think the "returns nil" example should be removed simply. nobu (Nobuyoshi Nakada)
07:38 PM Feature #17745: `IO#close_on_exec=` returns different value when called with `send, __send__, public_send` or not
The PR looks good to me.
As you may know `recv.foo= value` always return `value`, no matter what the `foo=` method...
Eregon (Benoit Daloze)
04:22 PM Feature #17745 (Closed): `IO#close_on_exec=` returns different value when called with `send, __send__, public_send` or not
```console
$ ruby -v -e 'p(STDIN.close_on_exec = 42)'
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin2...
kachick (Kenichi Kamiya)
06:31 PM Revision b25361f7 (git): Change heap walking to be safe for object allocation
peterzhu2118 (Peter Zhu)
06:15 PM Bug #17746 (Closed): Backport f9f13a4f6d8be706b17efc089c28f7bc617ef549 to Ruby 3.0
This is necessary fix a bug in Kernel#caller missing frames, introduced with the fix for #17581. This should be back... jeremyevans0 (Jeremy Evans)
06:15 PM Revision f9f13a4f (git): Ensure that caller respects the start argument
Previously, if there were ignored frames (iseq without pc), we could
go beyond the requested start frame. This has t...
jeremyevans (Jeremy Evans)
05:22 PM Feature #17524: resolv: add some more characters in IPv6 link local zone id
I just faced this issue where `cni-podman0` including `-` is used as string matching with `Resolv::IPv6::Regex_Compre... jaruga (Jun Aruga)
03:20 PM Revision 91ab024d (git): * 2021-03-25 [ci skip]
git[bot]
03:20 PM Revision 2c3ac0fe (git): Update bundled_gems
znz (Kazuhiro NISHIYAMA)
02:35 PM Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
@jeremyevans0 indeed that fixes the issue. Thanks a lot! byroot (Jean Boussier)
02:11 PM Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
@byroot https://github.com/ruby/ruby/pull/4237 hasn't been merged yet, I'm guessing that may fix your example. jeremyevans0 (Jeremy Evans)
12:08 PM Bug #17581: Ruby 3.0 backtrace sometimes returns empty array
@jeremyevans I'm not sure this was properly fixed:
```ruby
def label
p caller.first
end
def label_caller
...
byroot (Jean Boussier)
02:29 PM Feature #17682: String#casecmp performance improvement
bump.
I'll be happy to make any suggested changes to the PR.
I hope `casecmp` performance is important enough to de...
Dan0042 (Daniel DeLorme)
02:14 PM Bug #17665 (Closed): Make failed on x86_64-cygwin (miniruby.exe segmentation fault)
peterzhu2118 (Peter Zhu)
02:13 PM Bug #17652 (Closed): GC compaction crash on mprotect
peterzhu2118 (Peter Zhu)
02:11 PM Feature #17744: Accumulate `Enumerable#tally` results
~~Is there an issue using `merge`?~~
I retract my question, this change sounds simple enough
marcandre (Marc-Andre Lafortune)
01:10 PM Feature #17744 (Closed): Accumulate `Enumerable#tally` results
A [feature request] at [DevelopersMeeting20200317Japan]:
> * ko1: want to accumulate `Enumerable#tally` results
>
...
nobu (Nobuyoshi Nakada)
01:29 PM Feature #17718: a method paramaters object that can be pattern matched against
nobu (Nobuyoshi Nakada) wrote in #note-3:
> I think there was a proposal for a similar concept, "rest keywords includ...
Dan0042 (Daniel DeLorme)
11:34 AM Bug #17655: Experiencing Repeated Segmentation Faults Using Puma with Ruby 3.0.0
This seems similar to the following fixed issue: https://bugs.ruby-lang.org/issues/17728 p8 (Petrik de Heus)
11:13 AM Revision 1f08b0d1 (git): Removed dln_a_out
a.out format is considered extinct nowadays. nobu (Nobuyoshi Nakada)
10:25 AM Bug #17742: Random.rand gets wrong after using Ractor and requiring benchmark
I think that it is fixed by 3acc81d9.
```
$ cat test.rb
10.times do
r = 100.times.map { Ractor.new{ Ractor.yie...
wanabe (_ wanabe)
08:22 AM Bug #17742: Random.rand gets wrong after using Ractor and requiring benchmark
> It is possible that this issue has already been fixed
I think so too. I compiled the `ruby_3_0` branch (what wil...
byroot (Jean Boussier)
02:41 AM Bug #17742: Random.rand gets wrong after using Ractor and requiring benchmark
I cannot reproduce this with a recent development version (3.1.0dev) on Git. It is possible that this issue has alrea... xtkoba (Tee KOBAYASHI)
07:39 AM Feature #17685 (Feedback): Marshal format for out of band buffer objects
mrkn (Kenta Murata)
07:10 AM Revision 2dcbc6ef (git): [ruby/irb] fix completion test when out-of-place build
nobu (Nobuyoshi Nakada)
06:43 AM Revision 89caf51d (git): [ruby/reline] Suppress crashing when completer_{quote,word_break}_characters is empty
https://github.com/ruby/reline/commit/c6f1164942 aycabta (aycabta .)
06:43 AM Revision 758f2b35 (git): [ruby/reline] Support preposing and postposing for Reline.completion_proc
https://github.com/ruby/reline/commit/1f469de90c aycabta (aycabta .)
06:43 AM Revision 4b33d860 (git): [ruby/reline] Reline.delete_text removes the current line in multiline
https://github.com/ruby/reline/commit/da90c094a1 aycabta (aycabta .)
06:43 AM Revision b764c8d3 (git): [ruby/reline] Add Reline.ungetc to control buffer
https://github.com/ruby/reline/commit/43ac03c624 aycabta (aycabta .)
06:26 AM Revision a5b6baae (git): Fix test-bundler failures when XDG_CONFIG_HOME is not writable
https://github.com/ruby/actions/runs/2175399707?check_suite_focus=true
```
Errno::EACCES: Permission denied @ dir_s_m...
znz (Kazuhiro NISHIYAMA)
06:11 AM Revision 0927756e (git): [ruby/irb] Complete require and require_relative
https://github.com/ruby/irb/commit/1c61178b4c aycabta (aycabta .)
05:39 AM Revision 0259ee60 (git): [ruby/irb] Change ripper_lex_without_warning to a class method
https://github.com/ruby/irb/commit/d9f8abc17e aycabta (aycabta .)
04:23 AM Revision c9d0053e (git): Fixed compilation errors when USE_DLN_A_OUT
nobu (Nobuyoshi Nakada)
04:02 AM Revision 850448ab (git): Fix leaked file descriptor in passwd test
peterzhu2118 (Peter Zhu)
 

Also available in: Atom