Project

General

Profile

Activity

From 07/31/2022 to 08/06/2022

08/06/2022

10:47 PM Bug #18957: StringIO#printf doesn't ignore initial String value
Good point. I overlooked the difference between `r+` and `w+`. Thank you for clarification. andrykonchin (Andrew Konchin)
02:53 PM Bug #18957: StringIO#printf doesn't ignore initial String value
`StringIO` behaves like `File.open` with an `r+` mode.
```ruby
File.write("printf.txt", "1234567890")
f = File.open("printf.txt", "r+")
f.printf("%s", "abc")
f.rewind
p f.gets #=> "abc4567890"
```
Is there any reason for you ...
mame (Yusuke Endoh)
11:49 AM Bug #18957 (Rejected): StringIO#printf doesn't ignore initial String value
I've noticed that `StringIO#printf` diverges from `IO#printf` in the following way:
IO:
```ruby
File.write("printf.txt", "1234567890")
f = File.open("printf.txt", "w+")
f.printf("%s", "abc")
f.rewind
f.gets
# => "abc"
```
...
andrykonchin (Andrew Konchin)
03:03 PM Revision 6d742c94 (git): * 2022-08-07 [ci skip]
git[bot]
03:02 PM Revision e545cfad (git): Stop using casted `rb_syswait` as `proc_syswait`
The argument of `rb_syswait` is now `rb_pid_t` which may differ from
`int`. Also it is an undefined behavior to take the result of casted
void function (in `rb_protect`).
nobu (Nobuyoshi Nakada)
02:56 PM Revision f245b425 (git): Fix the sizes comparison
`proc_syswait` will be called with a `VALUE` argument. nobu (Nobuyoshi Nakada)
02:50 PM Bug #18767: IO.foreach hangs up when passes limit=0
I reopened this issue because there is reasonable doubt about the current situation, but I would like @matz 's judgment on whether and how it should actually be fixed. mame (Yusuke Endoh)
11:58 AM Bug #18767: IO.foreach hangs up when passes limit=0
Hi, just a kind reminder.
Looks like the issue is accepted but the PR was closed and the fix isn't merged.
cc @jeremyevans0, @mame
andrykonchin (Andrew Konchin)
01:37 PM Misc #18954: DevMeeting-2022-08-18
* [Feature #18368] `Range#step` semantics for non-`Numeric` ranges (zverok)
* Proposal to reimplement `(a..b).step(c)` via `+`, or provide another method with this behavior
* More clarifications provided & answers to the questions ...
zverok (Victor Shepelev)
12:56 PM Feature #18949: Deprecate and remove replicate and dummy encodings
znz (Kazuhiro NISHIYAMA) wrote in #note-10:
> I think ISO-2022-JP is used for mail archives, and IRCnet even now.
AFAIK Encoding::ISO_2022_JP (in Ruby) is only useful to say "this String is encoded in ISO-2022-JP", but Ruby can't do ...
Eregon (Benoit Daloze)
12:42 PM Feature #18949: Deprecate and remove replicate and dummy encodings
Usages of Encoding::UTF_32:
```
$ gem-codesearch 'Encoding::UTF_32\b'
/srv/gems/chupa-text-decomposer-html-1.0.3/test/test-html.rb: assert_equal([Encoding::UTF_32], decompose(@data))
Easily replaced by LE/BE: https://github.co...
Eregon (Benoit Daloze)
12:28 PM Feature #18949 (Open): Deprecate and remove replicate and dummy encodings
This is a disappointing answer, it sounds like there was not enough time at the dev meeting to consider this issue properly maybe? (that's fine, but then don't reject please)
I reopen because this issue is still vastly unanswered.
Also...
Eregon (Benoit Daloze)
11:54 AM Bug #18958 (Closed): Kernel#sprintf doesn't apply format sequence in some encodings
I've noticed that `sprintf` does nothing (at least for `%f`) when format string is in the following encodings:
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-32
- UTF-32BE
- UTF-32LE
- UCS-2BE
- UCS-4BE
- UCS-4LE
- IBM037
- ebcdic-cp-...
andrykonchin (Andrew Konchin)
11:41 AM Bug #18956 (Closed): Kernel#sprintf - %c handles negative Integer argument in a confusing way
Integer argument for `%c `means a character codepoint.
I've noticed two outcomes when argument is negative:
- exception
- broken/incorrect string
When exception is raised - its message a bit misleading and confusing:
```ruby
...
andrykonchin (Andrew Konchin)
11:25 AM Bug #18955 (Closed): Kernel#sprintf - %c ignores a non-ASCII character's encoding
I haven't found any similar existing issue so decided to create a new one.
I noticed that `sprintf("%c", string)` doesn't handle (in an expected way) a case when encodings of format sequence and string argument aren't the same and the...
andrykonchin (Andrew Konchin)
06:41 AM Revision 466a760e (git): [rubygems/rubygems] Fix yanked gems being unintentionally update when other gems are unlocked
This is a regression from a change intended to raise errors when user
puts a gem under an incorrect source in the Gemfile by mistake. To fix
the issue, we revert the change that caused it and implement it in a
different way that restores...
deivid (David Rodríguez)
06:41 AM Revision 8dd63b89 (git): [rubygems/rubygems] Move comment where the actual replacement happens
https://github.com/rubygems/rubygems/commit/d60acdf80d deivid (David Rodríguez)
06:41 AM Revision 4ea521f6 (git): [rubygems/rubygems] Remove unclear comment
https://github.com/rubygems/rubygems/commit/3a843c1ac7 deivid (David Rodríguez)
06:41 AM Revision af40af45 (git): [rubygems/rubygems] Extract `SourceList#get_with_fallback`
https://github.com/rubygems/rubygems/commit/9dbc4757a8 deivid (David Rodríguez)
01:52 AM Revision 27173e37 (git): Allow `RUBY_DEBUG_LOG` format to be empty
GCC warns of empty format strings, perhaps because they have no
effects in printf() and there are better ways than sprintf().
However, ruby_debug_log() adds informations other than the format,
this warning is not the case.
nobu (Nobuyoshi Nakada)
01:13 AM Revision 58c8b6e8 (git): Adjust styles [ci skip]
nobu (Nobuyoshi Nakada)

08/05/2022

08:02 PM Bug #18909: ARGF.readlines reads more than current file
mame (Yusuke Endoh) wrote in #note-14:
> Is this what you want?
> ...
Not really. I cannot understand that skip thing. I would expect the ARGF.file.readlines statement to remove the current file from ARGV since it is read. It is confus...
JohanJosefsson (Johan Josefsson)
06:34 PM Revision c433d36b (git): Test that File.read defaults to text mode
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> alanwu (Alan Wu)
06:34 PM Revision ca8daf70 (git): [DOC] Mention Windows text mode EOF marker interpretation
I don't think this is super well known so it's worth mentioning as it
can be a pitfall.
See: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-170
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
alanwu (Alan Wu)
06:34 PM Revision f1057393 (git): [DOC] Clarify that `IO.read` uses text mode
See: https://bugs.ruby-lang.org/issues/18882#note-13
[Bug #18882]
alanwu (Alan Wu)
06:05 PM Revision ce6dc9f6 (git): * 2022-08-06 [ci skip]
git[bot]
06:05 PM Revision 412da2c2 (git): Sync new doc in Date (#6215)
burdettelamar (Burdette Lamar)
05:57 PM Feature #18950: Hash#slice fails to copy default block
This could lead to surprising behavior, e.g.:
```ruby
cache = Hash.new { |h,k| cache[k] = {} }
cache[:a]
sliced = cache.slice(:a)
sliced[:foo] # => actually mutates cache with this proposal
```
Yes this would not be a problem if...
Eregon (Benoit Daloze)
12:58 PM Bug #18952: rb_aligned_free: munmap failed
We were able to get our application with ruby:3.1.2-slim-bullseye and MALLOC_ARENA_MAX=2 into production last night, and there were no observed failures since. Without the change we would have expected several hundred failures. This app... mdomsch-sz (Matt Domsch)
11:47 AM Bug #18911 (Closed): Process._fork hook point is not called when Process.daemon is used
Applied in changeset commit:git|74817f3d37bb7153385f682f75e37713c4c8009d.
----------
[DOC] Process._fork does not get called by Process.daemon
As discussed in [Bug #18911], I'm adding some documentation to
`Process._fork` to clarify th...
ivoanjo (Ivo Anjo)
11:46 AM Revision 2f0d9e74 (git): Get rid of `-C` option for very old `git`
nobu (Nobuyoshi Nakada)
09:40 AM Revision 74817f3d (git): [DOC] Process._fork does not get called by Process.daemon
As discussed in [Bug #18911], I'm adding some documentation to
`Process._fork` to clarify that it is not expected to cover
calls to `Process.daemon`.
[Bug #18911]: https://bugs.ruby-lang.org/issues/18911
Co-authored-by: Yusuke Endoh <m...
ivoanjo (Ivo Anjo)
07:37 AM Revision f310ac1c (git): [rubygems/rubygems] Include backtrace with crashes by default
https://github.com/rubygems/rubygems/commit/3cc3bfd371 deivid (David Rodríguez)
07:36 AM Revision 5a9db237 (git): [rubygems/rubygems] Automatically remove "ruby" from lockfile if incomplete
https://github.com/rubygems/rubygems/commit/69d0b4e10b deivid (David Rodríguez)
03:40 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
After merging https://github.com/ruby/ruby/pull/6193. We could build Ruby.
But We have still failing tests:
```
TestProcess#test_daemon_nocloseobjc[10525]: +[NSPlaceholderMutableString initialize] may have been in progress in anot...
hsbt (Hiroshi SHIBATA)
12:55 AM Revision 73f0573c (git): Ignore revision to test unless HAVE_GIT
nobu (Nobuyoshi Nakada)
12:53 AM Revision 8fae1209 (git): Clone upstream gem repositories for test
nobu (Nobuyoshi Nakada)
12:52 AM Revision 57911712 (git): Load gemspec file at that directory
Gemspec files generated by old bundler run `git` without changing the
working directory.
Or some gemspec files expect an owned file at the top exists ath the
current working directory.
nobu (Nobuyoshi Nakada)
12:52 AM Revision 661536ab (git): Copy from cloned gem sources in parallel
nobu (Nobuyoshi Nakada)
12:44 AM Revision 44a0a665 (git): Move to tool/lib/bundled_gem.rb
nobu (Nobuyoshi Nakada)
12:44 AM Revision 41516b35 (git): Extract bundled gems by BASERUBY
nobu (Nobuyoshi Nakada)
12:44 AM Revision 6a8f1a9e (git): Copy from bundled gem source for test
nobu (Nobuyoshi Nakada)
12:39 AM Revision 87d8d257 (git): Use configured GIT
nobu (Nobuyoshi Nakada)

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)
 

Also available in: Atom