Project

General

Profile

Activity

From 07/29/2022 to 08/04/2022

08/04/2022

09:48 PM Revision 70b60d24 (git): Fix inconsistency with opt_aref_with
opt_aref_with is an optimized instruction for accessing a Hash using a
non-frozen string key (ie. from a file without frozen_string_literal).
It attempts to avoid allocating the string, and instead silently using a
frozen string (hash st...
jhawthorn (John Hawthorn)
04:37 PM Misc #18954 (Closed): DevMeeting-2022-08-18
# The next dev meeting
**Date: 2022/08/18 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-08-18.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu...
mame (Yusuke Endoh)
04:19 PM Revision 1e7a2415 (git): YJIT: Allow str-concat arg to be any string subtype, not just rb_cString (#6205)
Allow str-concat arg to be any string subtype, not just rb_cString Noah Gibbs
03:18 PM Revision 7f5f9d19 (git): YJIT: Add known_* helpers for Type (#6208)
* YJIT: Add known_* helpers for Type
This adds a few helpers to Type which all return Options representing
what is known, from a Ruby perspective, about the type.
This includes:
* known_class_of: If known, the class represented by this...
jhawthorn (John Hawthorn)
03:09 PM Revision 8bab0998 (git): * 2022-08-05 [ci skip]
git[bot]
03:09 PM Revision c84d0538 (git): [rubygems/rubygems] Fix unused variable warning
```
/Users/deivid/Code/rubygems/rubygems/test/rubygems/test_gem_resolver_installer_set.rb:55: warning: assigned but unused variable - a_1_local
```
https://github.com/rubygems/rubygems/commit/9ea4534800
deivid (David Rodríguez)
09:48 AM Revision 6b2fc33a (git): thread_sync.c: pass proper argument to queue_sleep in rb_szqueue_push
When I removed the SizeQueue#push timeout from my PR, I forgot to
update the `queue_sleep` parameters to be a `queue_sleep_arg`.
Somehow this worked on most archs, but on Solaris/Sparc it would
legitimately crash when trying to access t...
byroot (Jean Boussier)
07:29 AM Revision 00f411c5 (git): Add `-bundle_loader` to mjit compilation args on macOS
katei (Yuta Saito)
07:29 AM Revision 184fd94d (git): Resolve abi symbols from libruby.dylib when available
katei (Yuta Saito)
07:29 AM Revision 6d8b9a9d (git): Resolve abi symbol references from miniruby to avoid circular deps
Adding `ruby` to `PREP` causes the following circular dependencies
because `PREP` is used as a prerequisite by some targets required to
build `ruby` target itself.
```
make: Circular .rbconfig.time <- ruby dependency dropped.
make: Circu...
katei (Yuta Saito)
07:29 AM Revision e5a3f232 (git): Use $(bindir) for path to executable in mkmf
For the macOS -bundle_loader linker option, we need a path to the
Ruby exectuable. $(RUBY) is not necessarily a path since it could
be a command line invocation. That happens during build with
runruby.rb and can happen post installation ...
alanwu (Alan Wu)
07:29 AM Revision c69582a5 (git): Quote $(BUILTRUBY) so paths with spaces work
alanwu (Alan Wu)
07:29 AM Revision 50d81bfb (git): Link ext bundles with bundle loader option for newer ld64
ld64 shipped with Xcode 14 emits a warning when using `-undefined
dynamic_lookup`.
```
ld: warning: -undefined dynamic_lookup may not work with chained fixups
```
Actually, `-undefined dynamic_lookup` doesn't work when:
1. Link a *sha...
katei (Yuta Saito)
04:36 AM Revision 542040fb (git): [rubygems/rubygems] Warn dangling symlinks
https://github.com/rubygems/rubygems/commit/425b78637f deivid (David Rodríguez)
04:36 AM Revision 0591780a (git): [rubygems/rubygems] Extract entry.full_name to a variable
https://github.com/rubygems/rubygems/commit/3973773005 deivid (David Rodríguez)

08/03/2022

11:37 PM Revision 39448620 (git): * 2022-08-04 [ci skip]
git[bot]
11:37 PM Revision b54f26b7 (git): [ruby/irb] shortcut colorize_code to speedup pretty_print
https://github.com/ruby/irb/commit/8a074a6904 tompng (tomoya ishida)
07:42 PM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
I forgot I already had a PR, I updated it to match the spec that was accepted during the meeting: https://github.com/ruby/cgi/pull/26 byroot (Jean Boussier)
08:59 AM Revision 4406cb1b (git): Harden Queue#pop timeout tests
They occasionaly fail with;
```
FLeaked thread: TestThreadQueue#test_queue_pop_timeout: #<Thread:0x0000000108e38e48 /Users/runner/work/ruby/ruby/src/test/ruby/test_thread_queue.rb:123 sleep>
.Finished thread: TestThreadQueue#test_de...
byroot (Jean Boussier)
07:33 AM Revision 851b3aa7 (git): [rubygems/rubygems] Fix `bundle outdated --strict`
It should be an alias of `--filter-strict`.
`--update-strict` is essentially a dummy option with no special behavior
associated and should be deprecated.
https://github.com/rubygems/rubygems/commit/ec1e5d83c8
deivid (David Rodríguez)
07:33 AM Revision 35c65e7b (git): [rubygems/rubygems] Fix conservative updates regardless of `--strict`
https://github.com/rubygems/rubygems/commit/c9a1d69a8d deivid (David Rodríguez)
07:10 AM Feature #18885: End of boot advisory API for RubyVM
Ok, Ip updated the description, it's still very much focused on CoW, but hopefully it should now be more clear that's it's not the only benefit.
Also it now only ask a method on `RubyVM`, which could perfectly be marked as experimenta...
byroot (Jean Boussier)
06:42 AM Feature #18885: End of boot advisory API for RubyVM
> After calling this, all fork calls are treated as "long-lived". Is my understanding right?
Well, this wouldn't change anything to the `Process.fork` implementation. I think I need to rewrite the ticket description because it is now ...
byroot (Jean Boussier)
01:32 AM Feature #18885: End of boot advisory API for RubyVM
> So IMO RubyVM.prepare_for_long_lived_fork is the proper API (aside from the name which I doubt is desirable).
After calling this, all `fork` calls are treated as "long-lived". Is my understanding right?
> ...
I know that, but it ...
mame (Yusuke Endoh)
06:12 AM Bug #18953: `Array#uniq` doesn't evaluate the given block when the size of the array is one
I think this is an expected behavior, but an implementation detail. nobu (Nobuyoshi Nakada)
04:52 AM Bug #18953: `Array#uniq` doesn't evaluate the given block when the size of the array is one
I hope this behavior should be expected.
However, `sort_by`, `max_by`, and `min_by` call the given blocks even if the receiver array has only one item.
```
irb(main):001:0> [42].sort_by { _1.foo }
(irb):1:in `block in <top (require...
mrkn (Kenta Murata)
04:14 AM Revision 71794a75 (git): Merge rubygems/bundler HEAD
Pick from https://github.com/rubygems/rubygems/commit/8331e63263081a6aa690d8025d2957f30c4e814a hsbt (Hiroshi SHIBATA)
03:35 AM Bug #18952: rb_aligned_free: munmap failed
We are using the official Ruby Docker image ruby:3.1.2-alpine3.15 which provides musl. We came to the same conclusion today to try ruby:3.1.2-slim-bullseye which comes with glibc, and using the environment variable MALLOC_ARENA_MAX=2 (i... mdomsch-sz (Matt Domsch)
02:36 AM Bug #18952: rb_aligned_free: munmap failed
@peterzhu2118 Can you check it out?
This is just my guess but I think it has something to do with musl's strategy on how to use mmap/munmap. Are you using Alpine Linux? I wonder if it won't happen if you use Ubuntu with glibc.
mame (Yusuke Endoh)
02:04 AM Revision 8a1be433 (git): [ruby/bigdecimal] Updated to use the correct spec for muilti license
https://github.com/ruby/bigdecimal/commit/13165b29b8 Thomas Winsnes
02:04 AM Revision f33b2ae9 (git): Updated to use multiple licenses
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org> Thomas Winsnes

08/02/2022

09:56 PM Revision 4f00ee8d (git): [rubygems/rubygems] fix platform matching for index specs
https://github.com/rubygems/rubygems/commit/f087f1b590 Ilya Dyakonov
09:56 PM Revision 20936eb3 (git): [rubygems/rubygems] Warn (rather than crash) when setting `nil` specification versions
https://github.com/rubygems/rubygems/commit/a4ba1a4d97 deivid (David Rodríguez)
08:17 PM Revision eaf6189f (git): [ruby/date] Enhanced RDoc (https://github.com/ruby/date/pull/69)
Treats:
::_strptime
::strptime
Adds 'Related' entry to some methods' doc.
https://github.com/ruby/date/commit/a6c2129273
burdettelamar (Burdette Lamar)
05:48 PM Feature #18910: Improve maintainability of LLDB helpers
eightbitraptor (Matthew Valentine-House) wrote in #note-2:
> ianks (Ian Ker-Seymer) wrote in #note-1:
> ...
👍🏻
ianks (Ian Ker-Seymer)
05:28 PM Revision d8ea3a20 (git): [ruby/date] [DOC] Enhanced RDoc for parser methods (https://github.com/ruby/date/pull/68)
Treats:
::_httpdate
::_iso8601
::_jisx0301
::_parse
::_rfc2822
::_rfc3339
::_xmlschema
::httpdate
::iso8601
::jisx0301
::parse
::rfc2822
::rfc3339
::xmlschema
https://github.com/ru...
burdettelamar (Burdette Lamar)
04:04 PM Revision 4ba611ab (git): * 2022-08-03 [ci skip]
git[bot]
04:04 PM Revision e4e054e3 (git): Speed up setting the backref match object
This patch speeds up setting the backref match object by avoiding some
memcopies. Take the following code for example:
```ruby
"hello world" =~ /hello/
p $~
```
When the RE matches the string, we have to set the Match object in the
ba...
tenderlovemaking (Aaron Patterson)
01:40 PM Revision da00243d (git): [DOC] Specify ways to run bootstrap tests
peterzhu2118 (Peter Zhu)
12:57 PM Revision f70b26af (git): [rubygems/rubygems] Array is already uniq, no need to deduplicate it
https://github.com/rubygems/rubygems/commit/3212ae14b7 deivid (David Rodríguez)
12:42 PM Bug #18952: rb_aligned_free: munmap failed
I note that the process has 65531 regions in the process memory map, which is basically identical to the default runtime limit vm.max_map_count = 65530. Our runtime environment is AWS Fargate, so it's unlikely we can raise this limit. Ot... mdomsch-sz (Matt Domsch)
03:54 AM Bug #18952: rb_aligned_free: munmap failed
Over the same 2-week period, I've seen two other logs that appear to be related:
[BUG] rb_aligned_malloc: munmap failed for end
mdomsch-sz (Matt Domsch)
09:58 AM Feature #18559: Allocation tracing: Objects created by the parser are attributed to Kernel.require
> @ko1: Because the precise implementation for it is hard, I like foo.rb:0. I will ask the original poster if the lineno is really important
The `lineno` isn't essential, if you think it's too much, I'll still be happy with `lineno=0`...
byroot (Jean Boussier)
09:43 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
> How about the following?
Sounds good to me at first sight. I can work on a patch for it soon, if I notice any issue when implementing it I'll report it back here.
And thank you for the meeting notes, it's incredibly useful or me.
byroot (Jean Boussier)
09:27 AM Feature #18822: Ruby lack a proper method to percent-encode strings for URIs (RFC 3986)
We discussed this issue at the dev meeting. How about the following?
* Introduce `CGI.escapeURIComponent(str)` that behaves like `CGI.escape`, except that a space is encoded as `%20` instead of `+` (as @byroot proposed)
* Introduce `...
mame (Yusuke Endoh)
09:35 AM Revision b81858cf (git): [rubygems/rubygems] Fix arguments for bundle-config(1) docs
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/3e62ca776d
Takuya Noguchi
09:12 AM Feature #18944: Add SizedQueue#push(timeout:)
Pull Request: https://github.com/ruby/ruby/pull/6207 byroot (Jean Boussier)
09:04 AM Feature #18774 (Closed): Add Queue#pop(timeout:)
Applied in changeset commit:git|e3aabe93aae87a60ba7b8f1a0fd590534647e352.
----------
Implement Queue#pop(timeout: sec)
[Feature #18774]
As well as `SizedQueue#pop(timeout: sec)`
If both `non_block=true` and `timeout:` are supplied, A...
byroot (Jean Boussier)
09:04 AM Revision e3aabe93 (git): Implement Queue#pop(timeout: sec)
[Feature #18774]
As well as `SizedQueue#pop(timeout: sec)`
If both `non_block=true` and `timeout:` are supplied, ArgumentError
is raised.
byroot (Jean Boussier)
09:03 AM Feature #18885: End of boot advisory API for RubyVM
@mame
> it would be nice to be properly confirm this advantage before introduction.
https://bugs.ruby-lang.org/issues/11164 is an example of how bad things can go without nakayoshi_fork (or similar). I can get production data from...
byroot (Jean Boussier)
08:56 AM Feature #18885: End of boot advisory API for RubyVM
We discussed this issue at the dev meeting. We did not reach any conclusion, but I'd like to share some comments.
### What and how efficient is this proposal?
Some attendees wanted to confirm quantitative evaluation of the benefits...
mame (Yusuke Endoh)
07:40 AM Revision ec3f5930 (git): [Bug #17767] Now `ENV.clone` raises `TypeError` as well as `ENV.dup`
One year ago, the former method has been deprecated while the latter
has become an error. Then the 3.1 released, it is enough time to make
also the former an error.
nobu (Nobuyoshi Nakada)
07:10 AM Revision 3e4fedca (git): [rubygems/rubygems] Preserve the previous behavior of raising an error when in frozen mode
https://github.com/rubygems/rubygems/commit/6e35a6edfe deivid (David Rodríguez)
07:10 AM Revision bc900906 (git): [rubygems/rubygems] Check for errors in error stream
https://github.com/rubygems/rubygems/commit/7b0f7804f2 deivid (David Rodríguez)
07:10 AM Revision f4f68146 (git): [rubygems/rubygems] Don't discard candidates matching ruby metadata
Do dependency filtering and materialization in one step. Before,
dependency filtering would not consider ruby metadata so it would
discard variants that end up not being materializable in the end.
https://github.com/rubygems/rubygems/co...
deivid (David Rodríguez)
07:10 AM Revision 9189c2d5 (git): [rubygems/rubygems] Materializing for resolution already filters platforms
https://github.com/rubygems/rubygems/commit/9f4ba9ebb0 deivid (David Rodríguez)
07:10 AM Revision 8c98f7be (git): [rubygems/rubygems] Remove unnecessary local variable
https://github.com/rubygems/rubygems/commit/a997210473 deivid (David Rodríguez)
07:10 AM Revision 5487e763 (git): [rubygems/rubygems] Prefer reverse+find to select+last
https://github.com/rubygems/rubygems/commit/ffb161bb69 deivid (David Rodríguez)
07:10 AM Revision bc0de1e1 (git): [rubygems/rubygems] Only need to filter platforms when materialization is not strict
https://github.com/rubygems/rubygems/commit/9d878cbda0 deivid (David Rodríguez)
07:10 AM Revision 91b9bd62 (git): [rubygems/rubygems] This should go through the standard source search logic
https://github.com/rubygems/rubygems/commit/087e3e4e3b deivid (David Rodríguez)
07:10 AM Revision 35e508d1 (git): [rubygems/rubygems] Refactor materialization conditions
https://github.com/rubygems/rubygems/commit/08e1554fb6 deivid (David Rodríguez)
07:10 AM Revision ed9bbfd7 (git): [rubygems/rubygems] Fix incorrect force_ruby_platform propagation
It was just working by chance.
(cherry picked from commit https://github.com/rubygems/rubygems/commit/16b2d6bfe893)
https://github.com/rubygems/rubygems/commit/8f922d980f
deivid (David Rodríguez)
07:10 AM Revision 7cc5a657 (git): [rubygems/rubygems] Remove unnecessary special case for Bundler
https://github.com/rubygems/rubygems/commit/2777e79b8e deivid (David Rodríguez)
07:10 AM Revision 6ec8f684 (git): [rubygems/rubygems] Move some logic to `LazySpecification#__materialize__`
https://github.com/rubygems/rubygems/commit/5e100df7c9 deivid (David Rodríguez)
07:00 AM Feature #18930 (Rejected): Officially deprecate class variables
I admit class variables semantics are a bit complex and sometimes misunderstood.
But removing them should cause serious compatibility issues.
Class variables are somewhat similar to global variables. We don't recommend using/abusing ...
matz (Yukihiro Matsumoto)
02:15 AM Bug #18953 (Rejected): `Array#uniq` doesn't evaluate the given block when the size of the array is one
`Array#uniq` doesn't evaluate the given block when the size of the array is one. Is this expected behavior?
```
$ ruby -e '[42, 43].uniq { _1.foo }; puts true'
-e:1:in `block in <main>': undefined method `foo' for 42:Integer (NoMeth...
ttanimichi (Tsukuru Tanimichi)
01:48 AM Feature #18949 (Rejected): Deprecate and remove replicate and dummy encodings
String is a container and an encoding is a label of it. While data whose encoding is an encoding categorized in dummy encodings in Ruby, we cannot avoid such encodings. naruse (Yui NARUSE)
01:04 AM Feature #18949: Deprecate and remove replicate and dummy encodings
I think ISO-2022-JP is used for mail archives, and IRCnet even now. znz (Kazuhiro NISHIYAMA)

08/01/2022

11:31 PM Bug #18952 (Third Party's Issue): rb_aligned_free: munmap failed
Over the past several weeks, our Linux ruby 3.1.2 application has failed repeatedly with:
[BUG] rb_aligned_free: munmap failed
Ruby tracebacks indicate failures in many libraries and functions, due to the garbage collector running ...
mdomsch-sz (Matt Domsch)
07:14 PM Revision 24204d54 (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.26 to 0.9.28.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.26...v0.9.28)
---
updated-depende...
dependabot[bot]
05:52 PM Feature #18951 (Rejected): Object#with to set and restore attributes around a block
### Use case
A very common pattern in Ruby, especially in testing is to save the value of an attribute, set a new value, and then restore the old value in an `ensure` clause.
e.g. in unit tests
```ruby
def test_something_when_e...
byroot (Jean Boussier)
05:38 PM Revision 00777a9b (git): * 2022-08-02 [ci skip]
git[bot]
05:37 PM Revision 25022bad (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.26 to 0.9.28.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.26...v0.9.28)
---
updated-depende...
dependabot[bot]
05:33 PM Feature #18949: Deprecate and remove replicate and dummy encodings
> But on the other hand, ISO-2022-JP, UTF-16, and UTF-32 definitely have their uses. They are not so much used directly when processing strings (because indeed for these encodings, most string operations don't work, or don't work correct... nirvdrum (Kevin Menard)
07:01 AM Feature #18949: Deprecate and remove replicate and dummy encodings
For `Encoding.list.filter { |e| e.dummy? }`, I get the following list:
```
#<Encoding:UTF-16 (dummy)>,
#<Encoding:UTF-32 (dummy)>,
#<Encoding:IBM037 (dummy)>,
#<Encoding:ISO-2022-JP (dummy)>,
#<Encoding:ISO-2022-JP-2 (dummy)>,
#...
duerst (Martin Dürst)
04:21 PM Bug #10820: Win32 Registry Delete uses ANSI instead of Wide APIs
Late to the party, but why was `RegQueryInfoKey` also update to use `W`? I am working on https://github.com/jruby/jruby/issues/7106 and cannot figure out how CRuby manages to locate `RegQueryInfoKey` when only the `A` and `W` versions sh... headius (Charles Nutter)
02:14 PM Revision 13305bf0 (git): [rubygems/rubygems] Fix crash when running `bundle outdated` in debug mode
Previously it would crash like this:
````
$ /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/support/artifice/fail.rb -r/Users/deivi...
deivid (David Rodríguez)
02:14 PM Revision 5c13adb7 (git): [rubygems/rubygems] Fix comment incorrectly copied from another spec
https://github.com/rubygems/rubygems/commit/9be5eae9cf deivid (David Rodríguez)
08:48 AM Revision 5bbba764 (git): respect current frame of `rb_eval_string`
`self` is nearest Ruby method's `self`.
If there is no ruby frame, use toplevel `self` (`main`).
https://bugs.ruby-lang.org/issues/18780
ko1 (Koichi Sasada)
06:23 AM Bug #18912 (Assigned): Build failure with Xcode 14 and macOS 13 (Ventura) Beta
hsbt (Hiroshi SHIBATA)
04:24 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
I tried https://github.com/ruby/ruby/pull/6193 .
The first try is failed. Because my environment mixed the homebrew `binutils` built by macOS 12.0(monterey).
I could build ruby after removing GNU `binutils` from `PATH`. and it cou...
hsbt (Hiroshi SHIBATA)
03:34 AM Revision 1520936a (git): Fix a link [ci skip]
znz (Kazuhiro NISHIYAMA)
01:41 AM Bug #18945: node_id is not initialized but it is used leading to UB
Thank you very much, merged!
> 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 before sending a patch.
Thank you for your...
mame (Yusuke Endoh)
01:36 AM Revision c69ad738 (git): Initialize node_id
In some causes node_id might have been left uninitialized leading to
undefined behavior on access. So always set it to -1, so we have *some*
valid value in there.
graywolf (Gray Wolf)

07/31/2022

05:06 PM Feature #18930: Officially deprecate class variables
Eregon (Benoit Daloze) wrote in #note-15:
> Regarding @austin's example, there is Class#subclasses now which might be an easier way to do that.
Not really, because that would require some sort of runtime filter of said subclasses. Th...
austin (Austin Ziegler)
04:15 PM Feature #18930: Officially deprecate class variables
(Playing for both sides here, hehe)
Actually, I believe that the culprit might be just the name. E.g., we have two camps, basically saying:
1. The behavior of [however it is named] is useful, and it matches my expectations of [this t...
zverok (Victor Shepelev)
02:23 PM Feature #18930: Officially deprecate class variables
Regarding @austin's example, there is Class#subclasses now which might be an easier way to do that.
Using class variables for that only works based on a fairly subtle constraint that Base needs to be inherited before any Base subclass c...
Eregon (Benoit Daloze)
12:03 PM Feature #18930: Officially deprecate class variables
Eregon (Benoit Daloze) wrote in #note-8:
> ```ruby
> ...
This is exactly the behavior that I want and expect from class variables. If I wanted one 'foo' per subclass I would use class instance variables.
It's not like I use class variab...
Dan0042 (Daniel DeLorme)
11:42 AM Feature #18930: Officially deprecate class variables
austin (Austin Ziegler) wrote in #note-12:

> > > but `Rand.dependents` producing `{1=>V1}` and `Timestamp.dependents` producing `{2=>V2,3=>V3,4=>V4}`.
> ...
Well, it depends on the task. I have met several times with architecture li...
zverok (Victor Shepelev)
12:24 AM Feature #18930: Officially deprecate class variables
jeremyevans0 (Jeremy Evans) wrote in #note-10:
> austin (Austin Ziegler) wrote in #note-9:
> ...
It doesn’t—as such. This was something I coded up and was *surprised* that it didn’t work the way that I expected, and exploring it result...
austin (Austin Ziegler)
04:31 PM Revision 3b8279e9 (git): * 2022-08-01 [ci skip]
git[bot]
04:31 PM Revision b0e6d07c (git): [rubygems/rubygems] Update bundle-platform(1) man
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/commit/1c3736f5af
Takuya Noguchi
01:57 PM Feature #18949: Deprecate and remove replicate and dummy encodings
I have updated the issue description with a `To Decide` section to summarize for the dev meeting: https://bugs.ruby-lang.org/issues/18949#To-Decide Eregon (Benoit Daloze)

07/30/2022

11:41 PM Feature #18930: Officially deprecate class variables
@austin
About your example
I'd say that referencing a class method in another class method in inheritance hierarchy always makes one ask whether you meant the method/data of the base class or of the current one.
Because, like
...
zverok (Victor Shepelev)
10:55 PM Feature #18930: Officially deprecate class variables
austin (Austin Ziegler) wrote in #note-9:
> If we’re going to deprecate them, we need something that effectively replaces them—and class instance variables aren’t it.
The particular approach given may not work (I don't see how it tri...
jeremyevans0 (Jeremy Evans)
06:59 PM Feature #18930: Officially deprecate class variables
If we’re going to deprecate them, we need something that effectively replaces them—and class instance variables aren’t it. I was experimenting with something along the lines of:
```ruby
class Base
def self.dependents
@depende...
austin (Austin Ziegler)
11:32 AM Feature #18930: Officially deprecate class variables
@Dan0042 It seems likely you might not know well their semantics then and how much a trap they are.
Using @byroot's example from https://bugs.ruby-lang.org/issues/14541#note-25:
```ruby
class A
@@foo = 1

def self.foo
@@...
Eregon (Benoit Daloze)
01:45 AM Feature #18930: Officially deprecate class variables
I am 100% opposed to deprecation. I use class variables regularly. As long as you initialize them in the class definition, there is no issue with shadowing. They're inherited in subclasses. They work perfectly fine. Dan0042 (Daniel DeLorme)
10:38 PM Feature #18950: Hash#slice fails to copy default block
Hash#slice documentation states it returns a new hash object, not a modified copy of the receiver. A new hash object by default does not have a default value or block. Hash#slice doesn't copy the default value either: `Hash.new(0).slice... jeremyevans0 (Jeremy Evans)
07:23 PM Feature #18950 (Open): Hash#slice fails to copy default block
An intense weekend debugging session discovered the following root cause of a bug: `Hash#slice` returns a new Hash, which has no default block set, even if the source Hash did have a default block set.
Simplified code to reproduce:
...
RubyBugs (A Nonymous)
06:18 PM Revision 118368c1 (git): * 2022-07-31 [ci skip]
git[bot]
06:18 PM Revision 4efbeb11 (git): [ruby/date] Enhanced RDoc (https://github.com/ruby/date/pull/67)
Treats:
::httpdate
#to_date
#to_time
#to_datetime
In behalf of ::httpdate, I've introduced section "Argument limit" that can be pointed to by various Date methods (similar to existing section "Argument start"). This will ...
burdettelamar (Burdette Lamar)
12:57 PM Feature #18949: Deprecate and remove replicate and dummy encodings
I have looked at usage of `Encoding#replicate` and `rb_define_dummy_encoding()`.
`Encoding#replicate` seems only used in 1 CRuby test, 1 ruby/spec file and exactly 1 gem (!), using the command below:
```
$ gem-codesearch '\.replicate\b'...
Eregon (Benoit Daloze)
11:38 AM Bug #18810: Make `Kernel#p` interruptable.
@mame Could you give an example in Ruby code?
I don't understand your concern, of course `p` changes behavior because it calls `inspect` (which can do anything) and prints, but that seems fully expected.
Eregon (Benoit Daloze)
11:05 AM Revision d050f162 (git): Mention Enumerator.product/Enumerator::Product in the NEWS.md
Akinori MUSHA
11:05 AM Revision 1a73a6cd (git): Implement Enumerator::Product and Enumerator.product [Feature #18685]
Akinori MUSHA
08:32 AM Revision 23388454 (git): Update .git-blame-ignore-revs [ci skip]
nobu (Nobuyoshi Nakada)
08:29 AM Revision 4ba2c667 (git): Revert "* expand tabs. [ci skip]"
This reverts commit 0d842fecb4f75ab3b1d4097ebdb8e88f51558041. nobu (Nobuyoshi Nakada)
08:26 AM Revision 0d842fec (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]
08:26 AM Revision c258fb27 (git): Update .git-blame-ignore-revs [ci skip]
nobu (Nobuyoshi Nakada)
08:24 AM Revision f28287d3 (git): [ruby/io-nonblock] Revert tab expansion
nobu (Nobuyoshi Nakada)
08:13 AM Revision 1bebf215 (git): Update .git-blame-ignore-revs [ci skip]
nobu (Nobuyoshi Nakada)
08:03 AM Revision 39dc9f90 (git): Revert "* expand tabs. [ci skip]"
This reverts commit 8a65cf3b61c60e4cb886f59a73ff6db44364bfa9. hsbt (Hiroshi SHIBATA)
07:41 AM Revision 8a65cf3b (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]
07:41 AM Revision 48b09aae (git): [ruby/digest] Revert tab-expansion in external files
https://github.com/ruby/digest/commit/5ca2b5b91e nobu (Nobuyoshi Nakada)
06:19 AM Feature #18885: End of boot advisory API for RubyVM
> the state of Copy-on-Write is already pretty decent,
It depends how you look at it. In the few apps on which I optimized CoW as much as I could, only between 50% and 60% of the parent process memory is shared. That really isn't that...
byroot (Jean Boussier)
02:33 AM Feature #18885: End of boot advisory API for RubyVM
I think the state of Copy-on-Write is already pretty decent, but any improvement is of course very welcome. As to naming, since this is mainly for preforking servers, what about `Process.prefork`? Dan0042 (Daniel DeLorme)
02:04 AM Revision af265d73 (git): [ruby/rdoc] Fix blockquote with word in verbatim
https://github.com/ruby/rdoc/commit/75eee668a5 nobu (Nobuyoshi Nakada)

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)
 

Also available in: Atom