Project

General

Profile

Activity

From 07/23/2022 to 07/29/2022

07/29/2022

11:53 PM Feature #18949: Deprecate and remove replicate and dummy encodings
noahgibbs (Noah Gibbs) wrote in #note-2:
> I've been working on YJIT string handling. At this point our string handling is so simple that I don't think this would affect us either way. For encodings, we mostly call CRuby functions that ...
Eregon (Benoit Daloze)
08:17 PM Feature #18949: Deprecate and remove replicate and dummy encodings
I've been working on YJIT string handling. At this point our string handling is so simple that I don't think this would affect us either way. For encodings, we mostly call CRuby functions that handle them. So short-term, I don't think th... noahgibbs (Noah Gibbs)
05:48 PM Feature #18949: Deprecate and remove replicate and dummy encodings
Based on my recent work on `String#<<` performance, I concur that encoding management often takes longer than the actual string operation, and that `get_actual_encoding()` is a very big offender.
I'm also curious what was the intended...
byroot (Jean Boussier)
05:40 PM Feature #18949 (Closed): Deprecate and remove replicate and dummy encodings
Ruby has a lot of accidental complexity.
Sometimes it becomes clear some features bring a lot of complexity and yet provide little value or are used very rarely.
Also most Ruby users do not even know about these features.
Replicate an...
Eregon (Benoit Daloze)
11:32 PM Revision 0e85586e (git): Add --enable-yjit=dev_nodebug configure option
jhawthorn (John Hawthorn)
11:32 PM Revision fbd24793 (git): Add --enable-yjit=stats configure option
jhawthorn (John Hawthorn)
11:06 PM Bug #18946: Time#to_date returns incorrect date
`Time#to_datetime` does not operate the same way, which seems like an undesirable inconsistency:
```ruby
Time.local(1499, 12, 27).to_datetime
=> #<DateTime: 1499-12-27T00:00:00-07:52 ((2268928j,28378s,0n),-28378s,2299161j)>
Time....
jeremyevans0 (Jeremy Evans)
08:26 AM Bug #18946: Time#to_date returns incorrect date
> Time seems to use a proleptic Gregorian calendar (the Gregorian calendar extended to before the Gregorian reform, see https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar) while Date seems to be using the Julian calendar before t... kei-p (Keisuke Ishizawa)
07:03 AM Bug #18946: Time#to_date returns incorrect date
This may be due to the Gregorian calendar reform (see https://en.wikipedia.org/wiki/Gregorian_calendar#Gregorian_reform, which says: "Julian Thursday, 4 October 1582, being followed by Gregorian Friday, 15 October").
Time seems to use...
duerst (Martin Dürst)
06:29 AM Bug #18946 (Closed): Time#to_date returns incorrect date
Time#to_date returns incorrect date.
Actual Behavior:
```
Time.local(1499, 12, 27).to_date
=> #<Date: 1499-12-18 ((2268919j,0s,0n),+0s,2299161j)>
```
Expected Behavior:
```
Time.local(1499, 12, 27).to_date
=> #<Date: 1499-12...
kei-p (Keisuke Ishizawa)
07:51 PM Revision 53175643 (git): [ruby/date] [DOC] Enhanced RDoc (https://github.com/ruby/date/pull/66)
Treats:
#===
#to_s
#inspect
#strftme
#asctime
#iso3601
#rfc3339
#rfc2822
#httpdate
#jisx0301
https://github.com/ruby/date/commit/aed66fedf6
burdettelamar (Burdette Lamar)
07:24 PM Revision 2346f3be (git): * 2022-07-30 [ci skip]
git[bot]
07:24 PM Revision 030050cd (git): [rubygems/rubygems] Make `--standalone` play nice with `--local`
I'm not sure if using relative paths in the generated script is best for
this case, since it makes the script not movable, but that can be
improved later.
https://github.com/rubygems/rubygems/commit/7f5bdbb842
deivid (David Rodríguez)
07:24 PM Revision b515fdcc (git): [rubygems/rubygems] No need to set anything at all unless standalone is given
https://github.com/rubygems/rubygems/commit/d695c8da3e deivid (David Rodríguez)
06:14 PM Bug #18945: node_id is not initialized but it is used leading to UB
I hope I did everything correctly: https://github.com/ruby/ruby/pull/6202
Sidenote: It's bit shame one has to read and understand this https://docs.github.com/en/site-policy/github-terms/github-terms-of-service fairly long document be...
graywolf (Gray Wolf)
02:34 PM Bug #18945: node_id is not initialized but it is used leading to UB
Good catch! Your first patch looks great to me. Can you send a PR to https://github.com/ruby/ruby/? Thank you! mame (Yusuke Endoh)
05:58 PM Feature #18930: Officially deprecate class variables
> the last time I tried something like that it was rejected: #14541.
#14541 proposed to change their semantic, which is a hard proposition for backward compatibility. What I'm alluding to would be to introduce another syntax for true...
byroot (Jean Boussier)
05:54 PM Feature #18930: Officially deprecate class variables
@shan Agreed.
If we are not yet ready to deprecate them, could we at least discourage them in official docs?
@byroot:
> Yes that's what I say in my comment, and I see how some users may find this unsatisfactory.
I think it is a...
Eregon (Benoit Daloze)
05:48 PM Misc #18836: DevMeeting-2022-07-21
Posting here since there is no ticket for the next meeting yet (@mame Could you copy this when creating the next dev meeting ticket?).
* [Feature #18949] Deprecate and remove replicate and dummy encodings (eregon)
* What do you thi...
Eregon (Benoit Daloze)
03:28 PM Bug #18947: Unexpected Errno::ENAMETOOLONG on Windows
austin (Austin Ziegler) wrote in #note-1:
> If Ruby does not have an application manifest (I don’t know whether it does or not)
As I understand it was added here — [[Win32] long path name support [Bug #12551]](https://github.com/ruby...
inversion (Yura Babak)
01:50 PM Bug #18947: Unexpected Errno::ENAMETOOLONG on Windows
inversion (Yura Babak) wrote:
> Pathname and FileUtils work fine for me until there is a folder with a **very long path** (>260 chars).
> ...
It’s been a long time since I’ve done anything in Windows, but the article you posted indica...
austin (Austin Ziegler)
07:08 AM Bug #18947 (Open): Unexpected Errno::ENAMETOOLONG on Windows
On Windows 10, I am working on a script to copy a complex folder structure.
Pathname and FileUtils work fine for me until there is a folder with a **very long path** (>260 chars).
Normally you cannot access such a folder with Ruby....
inversion (Yura Babak)
03:15 PM Feature #16987 (Closed): Enumerator::Lazy vs Array methods
zverok (Victor Shepelev)
03:15 PM Bug #18760 (Closed): Ractors vs "skynet" microbenchmark
zverok (Victor Shepelev)
03:14 PM Misc #18404 (Closed): 3.1 documentation problems tracking ticket
zverok (Victor Shepelev)
03:09 PM Feature #14423 (Closed): Enumerator from single object
zverok (Victor Shepelev)
03:09 PM Misc #17390 (Closed): Class and method-level docs for Ractor
zverok (Victor Shepelev)
03:08 PM Misc #17399 (Closed): Are endless methods experimental?
zverok (Victor Shepelev)
03:08 PM Misc #17422 (Closed): 3.0 documentation problems tracking ticket
zverok (Victor Shepelev)
02:49 PM Feature #18948: Add `with_private_method` option to `private_constant`
okuramasafumi (Masafumi OKURA) wrote in #note-2:
> In a real world code I'm facing, `M1` contains lots of other methods so including it in `InstanceMethods` causes confusion.
You should be able to work around this by making sure the ...
jeremyevans0 (Jeremy Evans)
02:41 PM Feature #18948: Add `with_private_method` option to `private_constant`
In a real world code I'm facing, `M1` contains lots of other methods so including it in `InstanceMethods` causes confusion.
I pushed my code on GitHub.
https://github.com/okuramasafumi/alba/blob/jsonapi/lib/alba/resource.rb#L299-L301...
okuramasafumi (Masafumi OKURA)
11:26 AM Feature #18948: Add `with_private_method` option to `private_constant`
How about calling `include M1` in `M2::InstanceMethods`?
```
module M1
CONST = 'CONST'.freeze
private_constant :CONST
end
module M2
def self.included(base)
base.include InstanceMethods
end
module InstanceMet...
mame (Yusuke Endoh)
09:41 AM Feature #18948 (Closed): Add `with_private_method` option to `private_constant`
## Problem
I have the following code:
```ruby
module M1
CONST = 'CONST'.freeze
end
module M2
def self.included(base)
base.include M1
base.include InstanceMethods
end
module InstanceMethods
def cons...
okuramasafumi (Masafumi OKURA)
02:40 PM Revision f78e46d4 (git): [ruby/rdoc] Add block quotes (https://github.com/ruby/rdoc/pull/907)
Also adjusts which blocks may be nested.
https://github.com/ruby/rdoc/commit/dde1860441
burdettelamar (Burdette Lamar)
01:54 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
This issue is part of Ruby for a long time now:
https://github.com/ruby/ruby/commit/3a855da47b867e24428582b0a20aa1ea7e4dc2af
Proposed fix here:
https://github.com/ruby/ruby/pull/6201
marcper (Marcelo Pereira)
10:10 AM Revision 62849b33 (git): Keep gitignore for libyaml source with psych
hsbt (Hiroshi SHIBATA)
10:10 AM Revision 4e886d2a (git): Update parser-text.rb with https://github.com/ruby/racc/commit/4ecc13c9cbd4663268c34b0a5c99cf5307de7c60
hsbt (Hiroshi SHIBATA)
10:10 AM Revision b2cc74a5 (git): [flori/json] test parsing of unicode, mixing literal characters with escaped
https://github.com/flori/json/commit/82fe866da2 Ethan (Ethan -)
10:10 AM Revision 66b52f04 (git): [flori/json] Stop including the parser source __LINE__ in exceptions
It makes testing for JSON errors very tedious. You either have
to use a Regexp or to regularly update all your assertions
when JSON is upgraded.
https://github.com/flori/json/commit/de9eb1d28e
byroot (Jean Boussier)
10:10 AM Revision 4bf97a8e (git): fix typo in Time#xmlschema documentation
Luka Dornhecker
10:10 AM Revision 419ad1e1 (git): [ruby/optparse] Also accept '-' as an optional argument (https://github.com/ruby/optparse/pull/35)
https://github.com/ruby/optparse/commit/f2b8318631 konsolebox (K B)
10:10 AM Revision 37254541 (git): Merge ruby/fileutils from https://github.com/ruby/fileutils/commit/332025bc0299254f97a06d64e580f60fea4e7125
hsbt (Hiroshi SHIBATA)
10:06 AM Revision d1e726cc (git): [rubygems/rubygems] Fix dead links to deprecated bundle-package(1) with bundler-cache(1)
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/9c2e80a10f
Takuya Noguchi
08:29 AM Feature #18685: Enumerator.product: Cartesian product of enumerables
https://github.com/ruby/ruby/pull/6197 knu (Akinori MUSHA)
07:31 AM Revision def1d44a (git): [rubygems/rubygems] Add package/pack aliases to man pages for cache
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/1685e3a9dc
Takuya Noguchi
06:46 AM Revision bfd09b11 (git): Merge rubygems master from https://github.com/rubygems/rubygems/commit/446cc57a7ccdf1924deb291be9571219e7ba8523
hsbt (Hiroshi SHIBATA)
12:21 AM Revision f29f1d22 (git): [ruby/rdoc] Fix formatting blockquote in verbatim
Reported at https://github.com/ruby/rdoc/pull/907#discussion_r932505816
https://github.com/ruby/rdoc/commit/86384ac7f9
nobu (Nobuyoshi Nakada)

07/28/2022

11:26 PM Feature #18930: Officially deprecate class variables
In the Ruby communities on IRC and Slack we frequently have to convince new Rubyists to just treat class variables as deprecated rather than wasting time learning all about them to find they'll never use them or get them through a code r... shan (Shannon Skipper)
12:07 PM Feature #18930: Officially deprecate class variables
> If you don't want that to be public API it could be :nodoc: or made private + using send.
Yes that's what I say in my comment, and I see how some users may find this unsatisfactory.
byroot (Jean Boussier)
09:57 AM Feature #18930: Officially deprecate class variables
For such a case it seems fine to use instance variables on the class and expose e.g. `SomeThingNeverInherited#some_config?`.
If you don't want that to be public API it could be `:nodoc:` or made private + using `send`.
```ruby
class...
Eregon (Benoit Daloze)
07:21 AM Feature #18930: Officially deprecate class variables
Even though I don't remember adding any new class variable in the last half decade, I'm not sure we can deprecate them, as IMO deprecations should be actionable, and some of these may not be.
I think the main use case for class variab...
byroot (Jean Boussier)
11:12 PM Revision 0d68286b (git): Revert "Try reproducing the MinGW hang on time command (#6168)"
This reverts commit bee5089d6789401f265f87b2f23f1bd7ec63cec8.
Looking at https://github.com/ruby/ruby/runs/7564065637?check_suite_focus=true,
we concluded that the ruby process for test-all is stuck before exit
when this issue reproduce...
k0kubun (Takashi Kokubun)
10:52 PM Bug #18945 (Closed): node_id is not initialized but it is used leading to UB
I am trying to compile ruby in a reproducible way, but libruby always has a
different hash. After two days of digging I've reached the conclusion that
node_id is used when not initialized, leading to an undefined behaviour. In my
case...
graywolf (Gray Wolf)
09:37 PM Revision c348f5a9 (git): [ruby/date] [DOC] Enhanced RDoc for <=> (https://github.com/ruby/date/pull/65)
https://github.com/ruby/date/commit/0cdbaa92e9 burdettelamar (Burdette Lamar)
04:06 PM Revision c56e957d (git): [ruby/rdoc] Link from RDoc::Markup to RDoc::MarkupReference (https://github.com/ruby/rdoc/pull/906)
Recently new RDoc::MarkupReference replaces Markup Reference in RDoc::Markup (which was always the goal).
https://github.com/ruby/rdoc/commit/825be7eaf4
burdettelamar (Burdette Lamar)
03:38 PM Revision 68655c62 (git): * 2022-07-29 [ci skip]
git[bot]
03:38 PM Revision ab08a43e (git): YJIT: Teach getblockparamproxy to handle the no-block case without exiting (#6191)
Teach getblockparamproxy to handle the no-block case without exiting
Co-authored-by: John Hawthorn <john@hawthorn.email>
Co-authored-by: John Hawthorn <john@hawthorn.email>
matthewd (Matthew Draper)
02:50 PM Revision 18b1e5e6 (git): [ruby/rdoc] [DOC] Add some links in intro; delimit rendered HTML output. (https://github.com/ruby/rdoc/pull/904)
https://github.com/ruby/rdoc/commit/c02645364f burdettelamar (Burdette Lamar)
02:46 PM Revision 90cf767d (git): Fix format-pedantic warnings
nobu (Nobuyoshi Nakada)
02:46 PM Revision 94c3d528 (git): Fix conversion of `rb_ractor_id()`
nobu (Nobuyoshi Nakada)
02:46 PM Revision c38ad2ae (git): Fix format specifier for `rb_ractor_id()`
nobu (Nobuyoshi Nakada)
02:41 PM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
Without any additional patches by Nobu here are the known limitations:
- Does not work with streaming code from STDIN (i.e. `echo 'def bad' | ruby` )
- Does not work when executing a file directly (i.e. `ruby bad.rb`)
- Does not wor...
schneems (Richard Schneeman)
06:24 AM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
Can we merge `syntax_suggest` into ruby/ruby now? Is there any blocker? hsbt (Hiroshi SHIBATA)
02:02 PM Revision 229cf263 (git): Lock the VM for rb_gc_writebarrier_unprotect
When using Ractors, rb_gc_writebarrier_unprotect requries a VM lock
since it modifies the bitmaps.
peterzhu2118 (Peter Zhu)
02:02 PM Revision 1c166452 (git): Make array slices views rather than copies
Before this commit, if the slice fits in VWA, it would make a copy
rather than a view. This is slower as it requires a memcpy of the
contents.
peterzhu2118 (Peter Zhu)
02:02 PM Revision 2375afb8 (git): Refactor gc_ref_update_array
peterzhu2118 (Peter Zhu)
01:03 PM Feature #18910: Improve maintainability of LLDB helpers
ianks (Ian Ker-Seymer) wrote in #note-1:
> On a related note, I’ve often found myself wanting access to these helpers when developing native extensions. I’ve copy-pasta’d them in the past, but I wonder if Ruby could support including th...
eightbitraptor (Matt V-H)
12:01 PM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
@hsbt Thanks for the logs. Some symbols are
indeed not found due to link errors. For example,
`rb_complex_real()` is provided but not found.
The linker error contradicts itself:
```
have_func: checking for rb_complex_real() in r...
alanwu (Alan Wu)
09:43 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
@katei Thanks! I will test your patch when it's complete.
FYI: Xcode 14 beta 3 with macOS 13.0 public beta is still same results.
hsbt (Hiroshi SHIBATA)
09:04 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
I've made a patch to address the linking failure issue by replacing `-undefined dynamic_lookup` with `-bundle_loader`.
https://github.com/ruby/ruby/pull/6193
The patch has been tested with Xcode 14 beta2 toolchain on macOS 12.4 Monte...
katei (Yuta Saito)
08:32 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
@alanwu full log is here https://gist.github.com/hsbt/293250f86a2731b4f76ceea4d903bd64
hsbt (Hiroshi SHIBATA)
11:57 AM Bug #18933: Dir.tmpdir implemented in non-Ractor-safe manner
Attached is a possible solution for this kreynolds (Kelley Reynolds)
10:45 AM Revision 3eade599 (git): Skip randomly failing tests with FreeBSD 12
hsbt (Hiroshi SHIBATA)
10:25 AM Revision d448ecc7 (git): Fix the missing brackets
hsbt (Hiroshi SHIBATA)
10:14 AM Revision 202ce7de (git): test_io_console.rbL399 is also randomly failing same as bfc697f1e26f1406c45ec7309ca0d4c0b5ecedd6
hsbt (Hiroshi SHIBATA)
10:10 AM Revision 98e01c99 (git): Also skip the failing test similar with a343952d195a324dd4563318d8f88b167316ce5d
hsbt (Hiroshi SHIBATA)
07:31 AM Feature #18774: Add Queue#pop(timeout:)
I created https://bugs.ruby-lang.org/issues/18944 byroot (Jean Boussier)
07:31 AM Feature #18944 (Closed): Add SizedQueue#push(timeout:)
While implementing [Feature #18774] It appeared to me that adding this timeout was quite obvious.
And @matz explicitly asked for a separate ticket to be opened for that feature if someone wanted it: https://github.com/ruby/dev-meeting...
byroot (Jean Boussier)
07:05 AM Revision 2b937476 (git): `RUBY_DEBUG_LOG2` should filter against the given `file`
nobu (Nobuyoshi Nakada)
04:29 AM Revision bee5089d (git): Try reproducing the MinGW hang on time command (#6168)
to see if it really exits correctly.
GitHub Support asked me to confirm the command is exiting correctly.
k0kubun (Takashi Kokubun)
12:22 AM Misc #18942 (Closed): String splitting handling of empty fields is incorrect or insufficiently documented (SOLVED)
znz (Kazuhiro NISHIYAMA)
12:15 AM Feature #18943 (Closed): New constant caching instruction: opt_getconstant_path
I'd like to propose the change to the bytecode for constant caching.
I've submitted this improvement via pull request at https://github.com/ruby/ruby/pull/6187 and also attached a patch to this issue.
Previously YARV bytecode impleme...
jhawthorn (John Hawthorn)
12:06 AM Revision 5d5c1d0f (git): Suppress use-after-free warning by gcc-12
nobu (Nobuyoshi Nakada)
12:02 AM Revision 431fdc92 (git): [DOC] Cross references for `ARGF`
nobu (Nobuyoshi Nakada)

07/27/2022

10:31 PM Bug #18920 (Closed): Documentation on ARGF.inplace_mode and ARGF.inplace_mode= is wrong
Applied in changeset commit:git|4ad69899b7db1e384665dec090d5cdc0c3b3c9b2.
----------
Fix documentation for ARGF.inplace_mode{,=}
The value affects the name of the backup file created, not the
name of the file modified (as the file is m...
jeremyevans (Jeremy Evans)
10:29 PM Revision 4ad69899 (git): Fix documentation for ARGF.inplace_mode{,=}
The value affects the name of the backup file created, not the
name of the file modified (as the file is modified in place).
Fixes [Bug #18920]
jeremyevans (Jeremy Evans)
09:23 PM Bug #18939 (Third Party's Issue): pod install error
jeremyevans0 (Jeremy Evans)
06:42 PM Misc #18942: String splitting handling of empty fields is incorrect or insufficiently documented (SOLVED)
austin (Austin Ziegler) wrote in #note-1:
> scub8040 (Saverio M.) wrote:
> ...
Uh, ok! Thanks.
EDIT: I've tried to close the issue, but couldn't.
scub8040 (Saverio M.)
06:25 PM Misc #18942: String splitting handling of empty fields is incorrect or insufficiently documented (SOLVED)
scub8040 (Saverio M.) wrote:
> There are other cases though, which I think are either incorrectly handled, or at least, they should documented.
> ...
This is neither a behaviour bug nor a documentation bug.
From `ri String#split`:
...
austin (Austin Ziegler)
06:11 PM Misc #18942 (Closed): String splitting handling of empty fields is incorrect or insufficiently documented (SOLVED)
Hello!
The string splitting needs to deal with some edge cases when it comes to empty strings/fields, for example, an emptry string always returns an empty array.
There are other cases though, which I think are either incorrectly h...
scub8040 (Saverio M.)
05:41 PM Feature #18774: Add Queue#pop(timeout:)
@mame thanks for bringing this out, I definitely missed it. I'll open another ticket tomorrow then. byroot (Jean Boussier)
05:40 PM Feature #18774: Add Queue#pop(timeout:)
According to the dev meeting log, @matz said "Create another ticket for SizedQueue#push if someone wants it".
https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-05-19.md#feature-18774-add-queuepoptimeout-eregon
mame (Yusuke Endoh)
10:29 AM Feature #18774: Add Queue#pop(timeout:)
> I think it'd be fine to add, and I don't think that needs to be discussed in a dev meeting again since it's so similar.
Agreed. Also `SizedQueue#push` already has `non_block=false` like `Queue#pop`, so it makes perfect sense. I'll i...
byroot (Jean Boussier)
10:23 AM Feature #18774: Add Queue#pop(timeout:)
byroot (Jean Boussier) wrote in #note-12:
> So I started to implement `Queue#pop(timeout:)` and `SizedQueue#pop(timeout:)` https://github.com/ruby/ruby/pull/6185
Thanks!
> ...
I think it'd be fine to add, and I don't think that ne...
Eregon (Benoit Daloze)
09:06 AM Feature #18774: Add Queue#pop(timeout:)
So I started to implement `Queue#pop(timeout:)` and `SizedQueue#pop(timeout:)` https://github.com/ruby/ruby/pull/6185
As pointed by @ioquatix, I believe that `SizedQueue#push` should have a timeout as well.
byroot (Jean Boussier)
04:55 PM Feature #18885: End of boot advisory API for RubyVM
Another optimization that could be invoked from this method is `malloc_trim`. byroot (Jean Boussier)
03:24 PM Revision 708d06f3 (git): * 2022-07-28 [ci skip]
git[bot]
03:18 PM Revision 6582df26 (git): Update to ruby/spec@cbfaf51
Eregon (Benoit Daloze)
03:18 PM Revision 44f42413 (git): Update to ruby/mspec@290e36a
Eregon (Benoit Daloze)
02:51 PM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
I've rebased to change the name of the project from `DeadEnd` to `SyntaxSuggest`. All checks are passing except for "Code scanning results / CodeQL" which doesn't appear to be related to my code change.
I've got no other pending chan...
schneems (Richard Schneeman)
01:55 PM Revision 9b9704f9 (git): merge revision(s) 456e1d1eaa9bb11adaed1acde488d7da3c88704b:
Try the tag without "v" prefix to checkout upstream repositories
---
gems/bundled_gems | 4 ++--
tool/fetch-bundled_gems.rb | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
nagachika (Tomoyuki Chikanaga)
01:16 PM Revision 70a9328b (git): [ci-skip]Document how to run an individual bootstrap test
eightbitraptor (Matt V-H)
12:05 PM Revision 64c8291c (git): [ruby/pathname] Fix `autoload` of `FileUtils`
Should not be `Pathname::FileUtils`.
https://github.com/ruby/pathname/commit/d1eb366e73
nobu (Nobuyoshi Nakada)
09:42 AM Revision f42230ff (git): Adjust styles [ci skip]
nobu (Nobuyoshi Nakada)
09:25 AM Revision 8b9d4b2c (git): Append semicolons [ci skip]
nobu (Nobuyoshi Nakada)
08:45 AM Revision 852ac26e (git): Make indents and newlines consistent [ci skip]
nobu (Nobuyoshi Nakada)
08:36 AM Revision 464f73a5 (git): Do not load library files from repository only for test
What we want to test should be the bundled and to be installed files,
but not the upstream.
nobu (Nobuyoshi Nakada)
06:11 AM Bug #18941: Endless loop with a memory leak in FileUtils::mkpath
Thank you for your report. The behavior was indeed changed between 3.0 and 3.1: https://github.com/ruby/fileutils/pull/60 mame (Yusuke Endoh)
05:49 AM Bug #18941 (Closed): Endless loop with a memory leak in FileUtils::mkpath
On Windows 10 with Ruby `3.1.2p20 (2022-04-12 revision 4491bb740a) [x64-mingw-ucrt]`,
an attempt to create a path on the offline external drive stuck with a memory leak:
``` ruby
require 'fileutils'
FileUtils.mkpath 'W:/new_dir'
```...
inversion (Yura Babak)
05:17 AM Revision 8154b176 (git): Manually sync with https://github.com/ruby/date/pull/64
hsbt (Hiroshi SHIBATA)

07/26/2022

10:14 PM Bug #18810: Make `Kernel#p` interruptable.
> My concern is that inserting p(...) changes a program behavior unintentionally (except that the p writes something to stdout, of course).
There are so many ways it can do this. If the fiber scheduler is active it is a totally differ...
ioquatix (Samuel Williams)
08:34 AM Bug #18810: Make `Kernel#p` interruptable.
My concern is that inserting `p(...)` changes a program behavior unintentionally (except that the p writes something to stdout, of course).
When debugging, we often insert `p(...)` and run the program to reproduce the bug being debugg...
mame (Yusuke Endoh)
08:39 PM Revision c3d9849d (git): [rubygems/rubygems] Add ignore_funding_requests config flag
https://github.com/rubygems/rubygems/commit/ab302f72c9 moe
08:06 PM Revision 64f9f7d8 (git): [ruby/rdoc] [DOC] Clarifications for directives (https://github.com/ruby/rdoc/pull/903)
- Former section "Directives in Trailing Comments" is reworked. The important thing about a directive is what it does, not whether it's trailing or stand-alone. Therefore I've worked the directives in the former section into the appropr... burdettelamar (Burdette Lamar)
07:56 PM Revision b4ae144e (git): [rubygems/rubygems] Don't use Pathname for creating extension dir
Not sure why, but I run into the following flaky test failure
````
(...)
Invoking `/Users/deivid/.asdf/installs/ruby/3.1.2/bin/ruby -I/Users/deivid/Code/rubygems/rubygems/bundler/spec -r/Users/deivid/Code/rubygems/rubygems/bundler/spec...
deivid (David Rodríguez)
06:33 PM Bug #18940 (Closed): Ruby Ractor fails with IOError when handling higher concurrency
Reproduction server:
```
require 'socket'
# Set based on CPU count
CONCURRENCY = 8
server = TCPServer.new(8080)
workers = CONCURRENCY.times.map do
Ractor.new do
loop do
# receive TCPSocket
session = Ract...
brodock (Gabriel Mazetto)
06:21 PM Bug #18816: Ractor segfaulting MacOS 12.4 (aarch64 / M1 processor)
I don't get a ruby segfault anymore. It works fine when using no concurrency:
```
hey -n 20000 http://localhost:8080/
Summar...
brodock (Gabriel Mazetto)
04:49 PM Bug #18816: Ractor segfaulting MacOS 12.4 (aarch64 / M1 processor)
Can we backport this to 3.0 and 3.1? brodock (Gabriel Mazetto)
06:08 PM Revision 6a698075 (git): [rubygems/rubygems] Completely drop base parameter from index
This parameter was coupling the concept of lockfile with the index. I
don't think it's necessary.
Also I believe it's causing some flaky test failures, which might leak
into realworld issues. They are like this:
````
Invoking `/opt/hos...
deivid (David Rodríguez)
04:40 PM Feature #18926: Ractor should support mutexes and treat the block as critical section across ractors
> In the example, allowing to mutate @map in a Ractor is fundamentally unsafe...
The proposal is for mutex blocks to synchronize across ractors, thereby making it safe. This would IMO make for a better default than the current one, wh...
chucke (Tiago Cardoso)
04:40 PM Revision 3b1ed03d (git): * expand tabs. [ci skip]
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
git[bot]
04:39 PM Revision 36d0c71a (git): Refactored poisoning and unpoisoning freelist to simpler API
jemmai (Jemma Issroff)
04:31 PM Revision 33f9e8f4 (git): Add doc/rdoc directory to .document
Adding the doc/rdoc directory to .document will allow files in that
directory to be included in the documentation.
peterzhu2118 (Peter Zhu)
04:04 PM Revision 457170e5 (git): * 2022-07-27 [ci skip]
git[bot]
04:04 PM Revision 163e3f07 (git): [rubygems/rubygems] Use main as default branch for Bundler specs
https://github.com/rubygems/rubygems/commit/482077d185 deivid (David Rodríguez)
02:27 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Thanks @mame! deivid (David Rodríguez)
12:46 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
> In my opinion, the current behavior is hardly useful for anyone
Personally, I agree. I want `FileUtils.rm_rf` to report an error if it fails to delete a file/directory passed as an argument. In the dev meeting, @knu and @naruse had ...
mame (Yusuke Endoh)
01:39 PM Bug #18937: Inconsistent definitions of Complex#<=> and Numeric#<=> with others
@mame
I have a motivation to create a "quaternion" class which is highly interoperable with other built-in numeric classes. (gem: [quaternion_c2](https://rubygems.org/gems/quaternion_c2))
I recently noticed that there was `Complex#...
msnm (Masahiro Nomoto)
08:05 AM Bug #18937: Inconsistent definitions of Complex#<=> and Numeric#<=> with others
> However, neither Complex#<=> nor Numeric#<=> satisfies that definition.
`Complex#<=>` is a different method from `Object#<=>`, so I don't see that as a problem in itself. Some Ruby core methods don't necessarily follow the Liskov Su...
mame (Yusuke Endoh)
01:12 PM Revision 4325e902 (git): Use rb_ary_hidden_new for rb_ary_hidden_new_fill
peterzhu2118 (Peter Zhu)
01:12 PM Revision efb91ff1 (git): Rename rb_ary_tmp_new to rb_ary_hidden_new
rb_ary_tmp_new suggests that the array is temporary in some way, but
that's not true, it just creates an array that's hidden and not on the
transient heap. This commit renames it to rb_ary_hidden_new.
peterzhu2118 (Peter Zhu)
01:12 PM Revision 3f70aa65 (git): Remove ary_discard
ary_discard should not be used as it should be handled by the GC. The
only user of ary_discard is rb_ary_product, which doesn't neeed to use
ary_discard.
peterzhu2118 (Peter Zhu)
12:12 PM Revision 456e1d1e (git): Try the tag without "v" prefix to checkout upstream repositories
nobu (Nobuyoshi Nakada)
09:33 AM Revision 2d1cf658 (git): Adjust indent [ci skip]
nobu (Nobuyoshi Nakada)
09:07 AM Bug #18939: pod install error
It's third party's issue. You may want to try this solution: https://github.com/ffi/ffi/issues/800#issuecomment-1008308614 mame (Yusuke Endoh)
09:02 AM Bug #18939 (Third Party's Issue): pod install error
Ruby version:
ruby 2.6.8p205 (2021-07-07 revision 67951) [universal.arm64e-darwin21]
Ruby script:
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: ...
dgarcia93 (David Garcia)
08:37 AM Bug #18907: rb_profile_frames output includes dummy main Thread frame
Awesome, thank you! :) ivoanjo (Ivo Anjo)
01:47 AM Bug #18907: rb_profile_frames output includes dummy main Thread frame
I talked with @ko1 about this issue. It seems to be fine, so I have merged it, thanks! mame (Yusuke Endoh)
01:44 AM Bug #18907 (Closed): rb_profile_frames output includes dummy main Thread frame
Applied in changeset commit:git|649bfbe00d8032fa2c0536e596a284f69926e87f.
----------
Fix `rb_profile_frames` output includes dummy main thread frame
The `rb_profile_frames` API did not skip the two dummy frames that
each thread has at ...
ivoanjo (Ivo Anjo)
08:30 AM Feature #18919: Ractor: can't share #Method objects
Indeed, I didn't mean "to-proc", Method objects, as per the usage example, is the one I meant. chucke (Tiago Cardoso)
07:03 AM Revision 9a8f6e39 (git): Cheaply derive code range for String#b return value
The result of String#b is a string with an ASCII_8BIT/BINARY encoding. That encoding is ASCII-compatible and has no byte sequences that are invalid for the encoding. If we know the receiver's code range, we can derive the resulting strin... Kevin Menard
05:38 AM Revision 9e6d07f3 (git): Merge rubygems/bundler HEAD
Merge from https://github.com/rubygems/rubygems/commit/2af2520b4a7ab1c6eb1fdc3d2ef4d8c062d96ad7 hsbt (Hiroshi SHIBATA)
04:42 AM Revision b404a5f1 (git): 8fa66467de is broken with rubygems/rubygems and flori/json.
Revert "Fix sync_default_gems.rb to use absolute path"
This reverts commit 8fa66467de82f787ead9dd901ad06694c79d88dc.
hsbt (Hiroshi SHIBATA)
01:43 AM Revision 649bfbe0 (git): Fix `rb_profile_frames` output includes dummy main thread frame
The `rb_profile_frames` API did not skip the two dummy frames that
each thread has at its beginning. This was unlike `backtrace_each` and
`rb_ec_parcial_backtrace_object`, which do skip them.
This does not seem to be a problem for non-m...
ivoanjo (Ivo Anjo)

07/25/2022

09:31 PM Revision cc29b43c (git): [ruby/rdoc] Move section Directives into section Blocks (https://github.com/ruby/rdoc/pull/901)
https://github.com/ruby/rdoc/commit/e48e07ef53 burdettelamar (Burdette Lamar)
08:29 PM Revision d7868c79 (git): * append newline at EOF. [ci skip]
git[bot]
08:29 PM Revision ba098fa1 (git): Sync RDoc
peterzhu2118 (Peter Zhu)
08:29 PM Revision 8fa66467 (git): Fix sync_default_gems.rb to use absolute path
peterzhu2118 (Peter Zhu)
07:58 PM Revision 43c11f6c (git): For rdoc, copy doc/rdoc to doc/ (#6181)
burdettelamar (Burdette Lamar)
07:56 PM Revision 382cde96 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.20 to 0.9.26.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.20...v0.9.26)
---
updated-depende...
dependabot[bot]
07:08 PM Revision 63330ae4 (git): Change ROBJECT_TRANSIENT_FLAG to use FL_USER2
jemmai (Jemma Issroff)
04:53 PM Revision 17534f3e (git): * 2022-07-26 [ci skip]
git[bot]
04:53 PM Revision fab5a0e6 (git): [rubygems/rubygems] Bump rb-sys in /test/rubygems/test_gem_ext_cargo_builder/custom_name
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.20 to 0.9.26.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.20...v0.9.26)
---
updated-depende...
dependabot[bot]
02:22 PM Feature #12607: Ruby needs an atomic integer
Yes, I think a few low-level concurrency primitives should move from Concurrent Ruby to core. As we add more concurrency to Ruby, and add JIT compilers, ideally the VM should understand these primitives, rather than being opaque extensio... chrisseaton (Chris Seaton)
01:14 PM Feature #12607: Ruby needs an atomic integer
It'd be good to revisit this (e.g. see https://twitter.com/_byroot/status/1550580128723476480).
Ractor has little need for this. But with Thread there is a clear need for this.
Also the STM work was not merged, so that's not a replac...
Eregon (Benoit Daloze)
12:37 PM Revision 979368b4 (git): [rubygems/rubygems] Bundler: add deprecation notice of viz to man
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/0e1cbfa598
Takuya Noguchi
12:18 PM Revision 31a5586d (git): rb_str_buf_append: add a fast path for ENC_CODERANGE_VALID
If the RHS has valid encoding, and both strings have the same
encoding, we can use the fast path.
However we need to update the LHS coderange.
```
compare-ruby: ruby 3.2.0dev (2022-07-21T14:46:32Z master cdbb9b8555) [arm64-darwin21]
bu...
byroot (Jean Boussier)
11:39 AM Revision 9733f4d0 (git): merge revision(s) edf01d4e82d8e44ee30ec41fbcb7f802bc8b8c5d: [Backport #18772]
Treat NULL fake string as an empty string
And the NULL string must be of size 0.
---
string.c | 5 +++++
1 file changed, 5 insertions(+)
U.Nakamura
09:50 AM Revision f61dd38e (git): Wait the test thread to sleep
Revert "Synchronize the test thread sleep"
This reverts commit 307835fe314fea6e946a8c9b25bb3912680ed7d1.
nobu (Nobuyoshi Nakada)
07:58 AM Bug #18938 (Closed): Backport cf7d07570f50ef9c16007019afcff11ba6500d70
Please backport https://github.com/ruby/ruby/commit/cf7d07570f50ef9c16007019afcff11ba6500d70 which fixes a bug in `ObjectSpace.dump` for Ruby 3.0 and Ruby 3.1
Ref: https://github.com/ruby/ruby/pull/6166
cc @nobu
byroot (Jean Boussier)
03:01 AM Revision 307835fe (git): Synchronize the test thread sleep
nobu (Nobuyoshi Nakada)
12:53 AM Feature #18668: Merge `io-nonblock` gems into core
ianks (Ian Ker-Seymer) wrote in #note-21:
> IMO, we really do need to support this use case. Even if it were just fir testing purposes, it would *still* be worthwhile if it makes developing non-blocking gems easier.
What precisely is...
shyouhei (Shyouhei Urabe)
12:18 AM Revision b30b727c (git): Fix format specifier
`uintptr_t` is not always `unsigned long`, but can be casted to void
pointer safely.
nobu (Nobuyoshi Nakada)

07/24/2022

11:50 PM Revision 1c4aaa3e (git): * 2022-07-25 [ci skip]
git[bot]
11:50 PM Revision 91c05b34 (git): Bundled gems test needs `prepare-gems`
`prepare-gems` downloads and extracts the bundled gems, and these gems
are built by `build-exts` now.
nobu (Nobuyoshi Nakada)
11:50 PM Revision b291c972 (git): Use built bundled gems in test-bundled-gems
nobu (Nobuyoshi Nakada)
01:32 PM Revision 6af72120 (git): Make extensions under `Gem.extension_api_version` directory
nobu (Nobuyoshi Nakada)
07:36 AM Revision e0a7e5e1 (git): Kill bundled gem tests when interrupted
nobu (Nobuyoshi Nakada)
03:49 AM Bug #18937: Inconsistent definitions of Complex#<=> and Numeric#<=> with others
I fix the last code as follows:
```ruby
class Complex
def <=>(other)
return (self == other ? 0 : nil) if self.imag != 0
if other.kind_of?(Complex)
if other.imag == 0
return self.real <=> other.real
...
msnm (Masahiro Nomoto)
03:06 AM Bug #18937 (Closed): Inconsistent definitions of Complex#<=> and Numeric#<=> with others
Object#<=> says "Returns 0 if `obj` and `other` are the same object or `obj == other`" .
https://ruby-doc.org/core-3.1.2/Object.html#method-i-3C-3D-3E
However, neither Complex#<=> nor Numeric#<=> satisfies that definition.
```ruby...
msnm (Masahiro Nomoto)

07/23/2022

11:57 PM Revision 114f85ec (git): * 2022-07-24 [ci skip]
git[bot]
11:57 PM Revision 1cd487d7 (git): [DOC] IO#eof
Use IO#eof? instead of I#eof? kaiquekandykoga (Kaíque Koga)
06:07 PM Bug #18936 (Closed): Backport 261753249996d46e00c2549fff2527816bf387db
Please backport commit [261753249996d46e00c2549fff2527816bf387db](https://github.com/ruby/ruby/commit/261753249996d46e00c2549fff2527816bf387db), which fixes a leak of mark stack chunks during shutdown.
It's causing [false positives to...
peterzhu2118 (Peter Zhu)
12:42 PM Revision 721d154e (git): Remove duplicate code for internal arrays
Internal arrays are now created hidden from the start. nobu (Nobuyoshi Nakada)
11:40 AM Feature #18926: Ractor should support mutexes and treat the block as critical section across ractors
In the example, allowing to mutate `@map` in a Ractor is fundamentally unsafe, because there could be another reference to `@map` which is accessed concurrently without the Mutex.
In fact there are two in that example, `@map.key?` and `...
Eregon (Benoit Daloze)
02:34 AM Feature #18926: Ractor should support mutexes and treat the block as critical section across ractors
With all due respect for Ractor’s incredible technical achievements so far, I unfortunately think that the “honeymoon phase” for Ractor may be complete. The community was incredibly bullish about its potential and the problems it could s... ianks (Ian Ker-Seymer)
02:19 AM Feature #18668: Merge `io-nonblock` gems into core
IMO, we really do need to support this use case. Even if it were just fir testing purposes, it would *still* be worthwhile if it makes developing non-blocking gems easier.
Ruby should move towards better async support, not away from i...
ianks (Ian Ker-Seymer)
02:08 AM Feature #18910: Improve maintainability of LLDB helpers
On a related note, I’ve often found myself wanting access to these helpers when developing native extensions. I’ve copy-pasta’d them in the past, but I wonder if Ruby could support including them for debug builds?
ianks (Ian Ker-Seymer)
 

Also available in: Atom