Project

General

Profile

Activity

From 05/19/2022 to 05/25/2022

05/25/2022

10:08 PM Revision 982bf726 (git): * 2022-05-26 [ci skip]
git[bot]
10:08 PM Revision 012eb9b7 (git): [ruby/fileutils] [DOC] Enhanced RDoc for copy_entry (https://github.com/ruby/fileutils/pull/76)
https://github.com/ruby/fileutils/commit/27a3c376c7 burdettelamar (Burdette Lamar)
08:00 PM Bug #18560 (Closed): "Compaction isn't available on this platform" error running PG test suite on ppc64le
This seems the same as #18779, which just got fixed. Eregon (Benoit Daloze)
07:34 PM Bug #18753 (Rejected): lineno= is not returning an integer
jeremyevans0 (Jeremy Evans)
07:24 PM Bug #18766 (Rejected): ArgumentError with no backtrace information when requiring openssl/cipher and initializing an OpenSSL::Cipher
I agree that this isn't a bug.
In terms of `openssl/cipher`, requiring individual parts of a library should never be assumed to be supported unless the library is explicitly designed for that. We shouldn't attempt to detect invalid r...
jeremyevans0 (Jeremy Evans)
06:39 PM Bug #18785 (Feedback): RbConfig::MAKEFILE_CONFIG["warnflags"] contains "-Wno-cast-function-type" which is not compatible with clang 13.0.0
dorianmariefr (Dorian Marié) wrote in #note-2:
> Should the fix be backported?
If you can bisect and find the fixing commit, we can mark it for backporting. Whether to backport is always up to the branch maintainer.
jeremyevans0 (Jeremy Evans)
06:07 PM Bug #18801: Dead YARV instructions produced when `branchif` is used
Both of those instructions serve a purpose, but they could also be optimized away.
`next_catch_label` is referenced from the catch table. That catch table may be optimized away, which is why you are seeing the label being omitted from...
dylants (Dylan Thacker-Smith)
12:20 PM Bug #18801: Dead YARV instructions produced when `branchif` is used
My questions aside. I'm not sure this is a bug, and could probably be closed? eightbitraptor (Matt V-H)
12:19 PM Bug #18801: Dead YARV instructions produced when `branchif` is used

I investigated these instructions and whether or not they were dead code and
could be removed.
From the outside it looks like there are two things to note:
* they immediately follow an unconditional jump and so should theoretica...
eightbitraptor (Matt V-H)
01:57 PM Misc #18800: The administrator requires you to enable two-factor authentication.
Oh I see. I thought 2FA was for protecting our accounts, but instead it's to increase barrier to entry for bots (but also for humans). Not sure I agree, but I understand your pain. Dan0042 (Daniel DeLorme)
12:59 PM Bug #18793: Select and Find behave differently for hashes
Yeah, I had noticed the difference, but I assumed that "method missing = bug". But you are right. That would be a breaking change for a lot of projects (I hand't thought of that). brenogazzola (Breno Gazzola)
12:58 PM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
Having helped several co-workers to install ruby-2.7 and 3.0 on their Ubuntu-22.04, I support backporting the openssl-3.0 gem to these ruby versions, similar to how Ubuntu patched their ruby-3.0 package. While it's preferable to use the ... larskanis (Lars Kanis)
12:45 PM Bug #18805 (Closed): IO::Buffer is inconsistent when returning a string from an empty buffer
I’ve been using `IO::Buffer` and I found it to be slightly inconsistent when it comes to returning empty string for empty buffers.
for example, a slice of an allocated buffer with `size = 0`, returns `""` with `get_string`, as an exampl...
procmarco (Marco Concetto Rudilosso)
12:17 PM Revision d875445e (git): Fix GC race condition in autoload.
Samuel Williams
12:02 PM Feature #14602: Version of dig that raises error if a key is not present
What about simply allowing `fetch` to take multiple arguments?
If there are more than one argument, always interpret the last one as the default value unless when there is a block, in which case, the block is evaluated if a key is missi...
sawa (Tsuyoshi Sawada)
06:45 AM Feature #14602: Version of dig that raises error if a key is not present
I fully agree with @duerst in #14602#note-24:
> maybe we can think it as a combination of `dig` with `fetch`. Then what about `dig_fetch` or `fetch_dig`? These names don't look very natural, but it's easy to understand what they are ...
zverok (Victor Shepelev)
12:04 AM Feature #14602: Version of dig that raises error if a key is not present
My humble suggestion would be `Hash#retrieve`. The operation tries to retrieve a value in the depths of a hash and if it comes back empty handed, that is an error.
```ruby
hash = {
name: {
first: "Ariel",
last: "Caplan"
...
ufuk (Ufuk Kayserilioglu)
10:50 AM Revision cd6f87ee (git): [ruby/timeout] Set the flag surely before return
https://github.com/ruby/timeout/commit/f3a31abdfb nobu (Nobuyoshi Nakada)
10:16 AM Revision 15287707 (git): Remove unexpected rakelib [ci skip]
nobu (Nobuyoshi Nakada)
10:05 AM Revision 8006a15e (git): [ruby/timeout] Add epoch.rake [ci skip]
https://github.com/ruby/timeout/commit/5153ae9cad nobu (Nobuyoshi Nakada)
09:58 AM Revision df7a1377 (git): [ruby/timeout] Update spec files not to include unused files [ci skip]
https://github.com/ruby/timeout/commit/01c44b591f nobu (Nobuyoshi Nakada)
09:50 AM Revision 952ff7fb (git): Fix out of bounds read.
Samuel Williams
09:50 AM Revision 86602484 (git): Ensure we retain the main fiber stack bounds.
Samuel Williams
09:48 AM Revision 983f2688 (git): Hack to avoid leak checker
nobu (Nobuyoshi Nakada)
09:47 AM Revision e77e2339 (git): [ruby/timeout] Hack to avoid leak checker
https://github.com/ruby/timeout/commit/9a9b03b44c nobu (Nobuyoshi Nakada)
09:26 AM Revision cdfb0272 (git): Run find in PATH [ci skip]
nobu (Nobuyoshi Nakada)
09:22 AM Bug #18804 (Open): Invalid line number for putnil instruction
Looks like this is a pretty old bug. Consider example:
```
def foo1
if true
nil
else
1
end
end
def foo2
if true
42
else
1
end
end
foo1_method = method(:foo1)
puts RubyVM::InstructionSequen...
hurricup (Alexandr Evstigneev)
09:09 AM Revision ab7f8e32 (git): Update default gems list at fde4519af8762fccc8488d1972d984 [ci skip]
git[bot]
09:08 AM Revision fde4519a (git): [ruby/timeout] Bump version to 0.3.0
https://github.com/ruby/timeout/commit/f69f954a94 hsbt (Hiroshi SHIBATA)
06:50 AM Bug #18799: Refinement#import_methods vs attr_reader
As eregon stated, it's an intended limitation.
It's possible to allow importing C methods without refinements activation.
It may be helpful for attr_*, but not for define_method.
shugo (Shugo Maeda)
06:06 AM Revision 0114c72d (git): Clean intermediate files for update-deps [ci skip]
nobu (Nobuyoshi Nakada)
03:59 AM Misc #18803 (Closed): DevMeeting-2022-06-16
# The next dev meeting
**Date: 2022/06/16 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-06-16.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu...
mame (Yusuke Endoh)
03:59 AM Misc #18747 (Closed): DevMeeting-2022-05-19
mame (Yusuke Endoh)
03:34 AM Bug #18802: Negation of POSIX character class does not work
Thank you! I misunderstood about character classes. cohei (昂平 谷口)
03:02 AM Bug #18802 (Rejected): Negation of POSIX character class does not work
Note that the sentence is written in [the section of character class](https://docs.ruby-lang.org/ja/3.1/doc/spec=2fregexp.html#string). So `[:^ascii:]` must be used in a character class as follows:
```
irb(main):001:0> %w[あああ あ a b :...
mame (Yusuke Endoh)
02:41 AM Bug #18802 (Rejected): Negation of POSIX character class does not work
> https://docs.ruby-lang.org/ja/3.1/doc/spec=2fregexp.html#charclass_posix
> ...
For example, `[:^ascii:]` is the negation of `[:ascii:]` according to the document. But it does not work:
```ruby
irb(main):001:0> RUBY_VERSION
=> "3....
cohei (昂平 谷口)
03:24 AM Revision 9a8fc4e0 (git): Tidy up redundant returns.
Samuel Williams
03:24 AM Revision 42bcc629 (git): Retain reference to blocking fibers.
Samuel Williams
03:24 AM Revision 901525b1 (git): Add support for address sanitizer for amd64 and arm64.
Samuel Williams
12:32 AM Feature #18798: `UnboundMethod#==` with inherited classes
ah, mistake... ko1 (Koichi Sasada)
12:28 AM Feature #18798: `UnboundMethod#==` with inherited classes
Ah, yes, it is a feature request. ko1 (Koichi Sasada)

05/24/2022

11:34 PM Feature #14602: Version of dig that raises error if a key is not present
amcaplan (Ariel Caplan) wrote in #note-23:
> We can think of this as either a variation of `fetch` or a variation of `dig`. Ultimately it's both, of course, just depends how you look at it.
Or maybe we can think it as a combination o...
duerst (Martin Dürst)
10:02 PM Feature #14602: Version of dig that raises error if a key is not present
We can think of this as either a variation of `fetch` or a variation of `dig`. Ultimately it's both, of course, just depends how you look at it.
If we think of it as `fetch`-based, `deep_fetch` would be OK but we also might go with so...
amcaplan (Ariel Caplan)
09:56 PM Feature #14602: Version of dig that raises error if a key is not present
Considering `dig` as an operation that can be done manually (with fingers) and address exceptional situations (unexpected objects) more subtly, I would suggest `shovel` which is a more blunt instrument which tends to raise a notable exce... olivierlacan (Olivier Lacan)
08:19 PM Feature #14602: Version of dig that raises error if a key is not present
Maybe:
``` ruby
fetch_each(:name, :first)
fetch_all(:name, :first)
fetch_tail(:name, :first)
fetch_end(:name, :first)
# or with dig_
dig_each(:name, :first)
dig_tail(:name, :first)
dig_all(:name, :first)
dig_end(:name, :first)
dig_bot...
p8 (Petrik de Heus)
07:16 PM Feature #14602: Version of dig that raises error if a key is not present
Some ideas:
reveal
uncover
unfold
dive
enlight
scoop
reel
mollemoll (Jonas Molander)
06:16 PM Feature #14602: Version of dig that raises error if a key is not present
How about `dig_for`? If we’re digging for something, it kinda makes sense to raise an exception if it’s not there. st0012 (Stan Lo)
05:50 PM Feature #14602: Version of dig that raises error if a key is not present
A couple other ideas I had:
- `lookup`
- `pick`
- `traverse`
byroot (Jean Boussier)
10:52 PM Misc #18800 (Rejected): The administrator requires you to enable two-factor authentication.
Unfortunately, I have no plan to disable it.
We are always attacked by spammers and crackers. I have no idea to prevent our place from them.
hsbt (Hiroshi SHIBATA)
01:11 PM Misc #18800 (Rejected): The administrator requires you to enable two-factor authentication.
Can we please disable mandatory two-factor authentication in this tracker? Offering 2fa is great, but being mandatory is not. For my part I find it completely overblown and superfluous for a site such as this. (And if it's mandatory why ... Dan0042 (Daniel DeLorme)
10:45 PM Bug #18791: Unexpected behavior of Socket#connect_nonblock
The document does mention the returned value of `0`, but I'm not sure if I should also check for `EISCONN` by calling it one more time in such a case. midnight (Sarun R)
10:27 PM Bug #18791: Unexpected behavior of Socket#connect_nonblock
@jeremyevans0
The example is overly simplified, and it does lead to confusion in practice when you put it in context.
Realistically speaking, no one would use a single value in `IO.select`; at least, in the worst-case scenario.
So...
midnight (Sarun R)
07:51 PM Bug #18791 (Rejected): Unexpected behavior of Socket#connect_nonblock
This doesn't look like a bug. If the `connect` system call returns `0`, then you were able to connect, and `connect_nonblock` in Ruby returns `0` as well. Yes, you should treat `0` as indicating the connection was successful. The docu... jeremyevans0 (Jeremy Evans)
09:34 PM Revision d020334e (git): [ruby/reline] Workaround libncurses.so as a linker script
This maybe isn't probably isn't the best approach, but it will allow
`Fiddle::Terminfo.curses_dl` to work. I documented more details about
this in an issue on fiddle: https://github.com/ruby/fiddle/issues/107
It is probably better to d...
nevans (Nicholas Evans)
07:53 PM Bug #18799: Refinement#import_methods vs attr_reader
> is not defined with Ruby code
It means the method's body is not Ruby code. And indeed, `attr_*` defines methods which are not defined in/with Ruby code.
So this seems expected.
Same for define_method, which has some internal w...
Eregon (Benoit Daloze)
01:59 AM Bug #18799: Refinement#import_methods vs attr_reader
UPD: looks like `define_method` is not supported, too:
```ruby
module M
define_method(:fuu) { }
end
module R
refine Object do
import_methods M
end
end
#=> Can't import method which is not defined with Ruby code:...
palkan (Vladimir Dementyev)
01:56 AM Bug #18799 (Closed): Refinement#import_methods vs attr_reader
Currently, it's not possible to import methods defined as attr_{reader, accessor,writer}:
```ruby
module M
attr_reader :fuu
end
module R
refine Object do
import_methods M
end
end
#=> Can't import method which is...
palkan (Vladimir Dementyev)
07:50 PM Feature #18798: `UnboundMethod#==` with inherited classes
Regarding Method#==, I think it should also respects the simple rule "point to a same method definition" + ensure the receiver is the same object for both Method instances. Eregon (Benoit Daloze)
07:49 PM Feature #18798: `UnboundMethod#==` with inherited classes
+1. @ko1 I guess you meant this as a feature request? Eregon (Benoit Daloze)
07:17 PM Feature #18798: `UnboundMethod#==` with inherited classes
I'm not against this change (for UnboundMethod, I think Method should remain different), but it seems more like a feature request than a bug fix to me. jeremyevans0 (Jeremy Evans)
06:40 AM Feature #18798: `UnboundMethod#==` with inherited classes
Did you mean:
```ruby
p $mc.owner == $md.owner #=> true
p $mc.source_location == $md.source_location #=> true
```
I think the proposal is a good idea.
sawa (Tsuyoshi Sawada)
01:55 AM Feature #18798 (Closed): `UnboundMethod#==` with inherited classes
Now `UnboundMethod` for a same method from a superclass and an inherited class are not `==`.
```ruby
class C
def foo = :C
$mc = instance_method(:foo)
end
class D < C
$md = instance_method(:foo)
end
p $mc == $md #=> f...
ko1 (Koichi Sasada)
07:31 PM Bug #18793: Select and Find behave differently for hashes
I don't think this is a bug. The behavior difference is because `Hash#each` yields an array of `[key, value]` and not `key` and `value` separately, unlike `Hash#select`.
You can get the behavior you want by using explicit block varia...
jeremyevans0 (Jeremy Evans)
07:14 PM Bug #18801: Dead YARV instructions produced when `branchif` is used
wildmaples (Maple Ong) wrote:
> It seems there are unused YARV instructions produced when the snippet contains a `branchif` instruction.
> ...
I'm not sure this is `branchif` related. It looks like `while true; end` generates the same ...
eightbitraptor (Matt V-H)
05:39 PM Bug #18801 (Rejected): Dead YARV instructions produced when `branchif` is used
# Description
It seems there are unused YARV instructions produced when the snippet contains a `branchif` instruction.
In the following example, the instructions numbers 0002 to 0004 won't ever be executed:
```
irb(main):003:0...
wildmaples (Maple Ong)
05:06 PM Bug #18786 (Closed): Rescuing NotImplementedError from `GC.verify_compaction_references` can lead to infinite loop on platforms
Fixed via [Bug #18779] byroot (Jean Boussier)
05:05 PM Bug #18779 (Closed): `GC.compact` and other compaction related methods should be defined as rb_f_notimplement on non supported platforms.
The PR was merged so we can now close this.
I'm marking 3.0 and 3.1 for backport. The two commits are:
- `0de1495f358e9b892dfa63d4b74f59b1d2903703`
- `0c36ba53192c5a0d245c9b626e4346a32d7d144e`
byroot (Jean Boussier)
04:40 PM Revision 0c36ba53 (git): Define unsupported GC compaction methods as rb_f_notimplement
Fixes [Bug #18779]
Define the following methods as `rb_f_notimplement` on unsupported
platforms:
- GC.compact
- GC.auto_compact
- GC.auto_compact=
- GC.latest_compact_info
- GC.verify_compaction_references
This change allows users to ...
mdalessio (Mike Dalessio)
04:40 PM Revision 0de1495f (git): Move compaction-related methods into gc.c
These methods are removed from gc.rb and added to gc.c:
- GC.compact
- GC.auto_compact
- GC.auto_compact=
- GC.latest_compact_info
- GC.verify_compaction_references
This is a prefactor to allow setting these methods to
`rb_f_notimpleme...
mdalessio (Mike Dalessio)
04:17 PM Revision 9fdef286 (git): [rubygems/rubygems] Show exception cause in bug report template
https://github.com/rubygems/rubygems/commit/84b163e804 deivid (David Rodríguez)
03:53 PM Bug #18781: MJIT tests failing with Ubuntu focal with gcc-11 and some flags
I sent the PR, https://github.com/ruby/ruby/pull/5938 .
jaruga (Jun Aruga)
03:37 PM Bug #18781: MJIT tests failing with Ubuntu focal with gcc-11 and some flags
On the latest master `633608ebd4cbdeea562dc4c608495134965a19a9`, I am testing.
```
$ ./configure --enable-shared --enable-mkmf-verbose --with-gcc="gcc -O2 -fcf-protection" ldflags=-Wl,-z,now
$ make V=1 2>&1 | tee make.log
```
Th...
jaruga (Jun Aruga)
01:16 PM Bug #18781: MJIT tests failing with Ubuntu focal with gcc-11 and some flags
> Could you take a look at fixing your configuration of GitHub Actions?
@k0kubun Thanks for the investigation! Sure. I will fix the GitHub Actions configuration file to use your suggested case `--with-gcc="gcc -O2 -fcf-protection" ldf...
jaruga (Jun Aruga)
03:38 PM Revision c603f897 (git): * 2022-05-25 [ci skip]
git[bot]
03:38 PM Revision ae09fffb (git): [ruby/fileutils] [DOC] Enhanced RDoc for ::cp_r (https://github.com/ruby/fileutils/pull/75)
https://github.com/ruby/fileutils/commit/a4da433443 burdettelamar (Burdette Lamar)
12:24 PM Revision 633608eb (git): [rubygems/rubygems] Fix crash when printing resolution conflicts on metadata requirements
https://github.com/rubygems/rubygems/commit/b69e1e9374 deivid (David Rodríguez)
08:50 AM Revision 08cee2bf (git): altstack is native thread's attr
Move th->altstack to th->nt->altstack. ko1 (Koichi Sasada)
08:23 AM Revision 78785fb9 (git): [ruby/date] Constify gperf-generated table
https://github.com/ruby/date/commit/6d7ab08ffc nobu (Nobuyoshi Nakada)
07:28 AM Revision 62e08d4b (git): remove `DEBUG_OUT()` macro
This macro is no longer used ([GH-5933]). ko1 (Koichi Sasada)
03:17 AM Revision d2033d0f (git): [WASM] System initialization has no stack rewinding code to Asyncify
nobu (Nobuyoshi Nakada)
01:06 AM Revision 2d1e7dfc (git): remove `-DTHREAD_DEBUG` rule
(but it was already commented out) ko1 (Koichi Sasada)
01:06 AM Revision 4111028a (git): use `RUBY_DEBUG_LOG` instead of `thread_debug`
`thread_debug()` was introduced to print debug messages
on `THREAD_DEBUG > 0` but `RUBY_DEBUG_LOG()` is more controllable.
ko1 (Koichi Sasada)
01:06 AM Revision f3235ac0 (git): add `rb_th_serial()`
`rb_th_serial(th)` returns th's serial for debug print purpose. ko1 (Koichi Sasada)
01:06 AM Revision d9984f39 (git): remove `NON_SCALAR_THREAD_ID` support
`NON_SCALAR_THREAD_ID` shows `pthread_t` is non-scalar (non-pointer)
and only s390x is known platform. However, the supporting code is
very complex and it is only used for deubg print information.
So this patch removes the support of `N...
ko1 (Koichi Sasada)
01:06 AM Revision 741ac503 (git): `native_tls_get()`' should not check results
caller should check the result of `native_tls_get()`. ko1 (Koichi Sasada)

05/23/2022

10:57 PM Revision 9c9c2170 (git): [ruby/fileutils] [DOC] Enhanced RDoc for ::cp (https://github.com/ruby/fileutils/pull/74)
https://github.com/ruby/fileutils/commit/956b345ceb burdettelamar (Burdette Lamar)
10:54 PM Bug #18779: `GC.compact` and other compaction related methods should be defined as rb_f_notimplement on non supported platforms.
I've submitted a pull request that addresses this behavior in the way @byroot described above:
https://github.com/ruby/ruby/pull/5934
mdalessio (Mike Dalessio)
06:04 PM Revision 80ad0e75 (git): Remove unnecessary module flag, add module assertions to other module flags
jemmai (Jemma Issroff)
05:22 PM Revision 37ccf91b (git): cleanup by `RUBY_DEBUG_LOG2` and `VM_ASSERT`
ko1 (Koichi Sasada)
04:17 PM Revision d270d984 (git): * 2022-05-24 [ci skip]
git[bot]
04:17 PM Revision 08b2f22c (git): [ruby/fileutils] Enhanced RDoc for ::ln_sf and ::link_entry (https://github.com/ruby/fileutils/pull/73)
https://github.com/ruby/fileutils/commit/ff49055f8a burdettelamar (Burdette Lamar)
01:34 PM Revision bc7f5995 (git): Make internal function `rb_main` static
nobu (Nobuyoshi Nakada)
01:00 PM Revision 479884d5 (git): [ruby/fileutils] [DOC] Enhanced RDoc for ::ln_s (https://github.com/ruby/fileutils/pull/72)
https://github.com/ruby/fileutils/commit/db612c5e22 burdettelamar (Burdette Lamar)
11:51 AM Revision 663915dd (git): [rubygems/rubygems] Support the change of did_you_mean about Exception#detailed_message
I am asking did_you_mean to use Exception#detailed_message to add
"Did you mean?" suggestion instead of overriding #message method.
https://github.com/ruby/did_you_mean/pull/177
Unfortunately, the change will affect Gem::UnknownCommand...
mame (Yusuke Endoh)
11:01 AM Misc #18761: provide an example wasm project
grosser (Michael Grosser) wrote:
> Neither the release notes nor the wasm/README.md include any runnable examples.
> ...
I assume the final release will have an official .wasm file that ships with it.
Note that the current approach ...
rkh (Konstantin Haase)
10:17 AM Feature #18788: Support passing Regexp options as String to Regexp.new
@nobu
Thank you for the explanation regarding symbols!
> we'll need migration period to warn anything other than inter and valid string
I think the optional third argument should be also deprecated as described in #18797. Otherw...
janosch-x (Janosch Müller)
10:11 AM Bug #18797 (Closed): Third argument to Regexp.new is a bit broken
## Situation
'n' or 'N' can be passed as a third argument to `Regexp.new`. However, the behavior is not the same as the literal `n`-flag or the `Regexp::NOENCODING` option, and it makes the `#encoding` of `Regexp` and `Regexp#source` ...
janosch-x (Janosch Müller)
09:50 AM Bug #18786: Rescuing NotImplementedError from `GC.verify_compaction_references` can lead to infinite loop on platforms
I was able to investigate a bit more.
This problem is Ruby 3.1 specific.
I tested the following rubies built from git: 3.0, 3.2preview1, and master branch. Neither of which went into the infinite loop.
I found that if the `gc_veri...
jprokop (Jarek Prokop)
09:39 AM Feature #14602: Version of dig that raises error if a key is not present
It seems to be a nice idea. But is `deep_fetch` is the best name for it?
Matz.
matz (Yukihiro Matsumoto)
09:23 AM Revision 4cf155e0 (git): [ruby/net-http] [DOC] Get rid of a RDoc bug
RDoc overrides class name by the assigned name unexpectedly when
assigned using a qualified class path.
https://github.com/ruby/net-http/commit/a7bded0407
nobu (Nobuyoshi Nakada)
08:33 AM Revision 0293f8ca (git): Prevent a warning: `*' interpreted as argument prefix
mame (Yusuke Endoh)
03:13 AM Revision 907b1b61 (git): * 2022-05-23 [ci skip]
git[bot]
02:04 AM Revision 9134e761 (git): Support old Mac OS X
`pthread_threadid_np` is available since Mac OS X 10.6, use
`pthread_mach_thread_np` on older systems.
nobu (Nobuyoshi Nakada)
01:49 AM Bug #18795: Verbose GC debug output with -DRGENGC_DEBUG=5 causes a crash
I had another think about this - the newobj tracepoint is _also_ called in similar circumstances, where the ivar table for a new T_CLASS won't be initialized yet (if using variable length RVALUEs). Thus, calling rb_obj_memsize_of() on an... kjtsanaktsidis (KJ Tsanaktsidis)
12:24 AM Bug #12590 (Closed): Error compiling parse.c on cygwin
This error occurs when lex.c is broken (typically empty). nobu (Nobuyoshi Nakada)
12:05 AM Bug #18796 (Closed): GC compaction gets stuck on Mac OS when a debugger is attached
The GC compaction mechanism uses a kind of read barrier to detect attempts to read objects from pages that have already been moved from (or, at least, I _think_ that's what it does). This is implemented by marking the OS pages as unreada... kjtsanaktsidis (KJ Tsanaktsidis)

05/22/2022

01:55 PM Feature #18788: Support passing Regexp options as String to Regexp.new
```ruby
Regexp.new("(?#{options}:#{code})")
```
```ruby
Regexp.new(code, eval("//#{options}").options)
```
nobu (Nobuyoshi Nakada)
07:45 AM Feature #18788: Support passing Regexp options as String to Regexp.new
I agree that symbols should be disallowed.
The examples uses arbitrary combinations of flags and the order of the flags doesn't have meanings.
In other words, it is a set of chars and OK for a string.
But a symbol is not such thing.
For...
nobu (Nobuyoshi Nakada)
07:49 AM Revision 218e8bdc (git): Disable usage of TLS unless available
Thread-local storage is supported since Mac OS X 10.7. Enable TLS
only when the target version is enough.
nobu (Nobuyoshi Nakada)
07:27 AM Bug #18795 (Closed): Verbose GC debug output with -DRGENGC_DEBUG=5 causes a crash
I was trying to debug an (unrelated) issue in the GC, and wanted to turn on the trace-level GC output by compiling it with -DRGENGC_DEBUG=5. Unfortunately, this actually causes a crash in newobj_init() because the code there tries to lo... kjtsanaktsidis (KJ Tsanaktsidis)
06:26 AM Revision e79983a4 (git): Check if thread-local storage is supported on macOS
We need thread-local storage on Clang, since 319afed20fba. nobu (Nobuyoshi Nakada)
05:18 AM Revision 009a5146 (git): Revert broken thread_pthread.c in 539459abda3
nobu (Nobuyoshi Nakada)
03:02 AM Revision 539459ab (git): Ruby31: add support for Darwin ppc/ppc64 (#5927)
* add coroutines for ppc & ppc64
* fix universal coroutine to include ppc & ppc64
* add powerpc*-darwin to configure.ac
* fix thread_pthread for older systems
Sergey Fedorov

05/21/2022

04:12 PM Revision 84257244 (git): * 2022-05-22 [ci skip]
git[bot]
01:58 PM Revision 7e525331 (git): No fallback to default values
nobu (Nobuyoshi Nakada)
09:41 AM Bug #18785: RbConfig::MAKEFILE_CONFIG["warnflags"] contains "-Wno-cast-function-type" which is not compatible with clang 13.0.0
Should the fix be backported? dorianmariefr (Dorian Marié)
09:33 AM Bug #18785: RbConfig::MAKEFILE_CONFIG["warnflags"] contains "-Wno-cast-function-type" which is not compatible with clang 13.0.0
This is fixed in ruby 3.2.0-preview1 dorianmariefr (Dorian Marié)
07:07 AM Revision 6ba394ce (git): Update bundled gems list at 2022-05-21
git[bot]
04:34 AM Revision 8b2ff2ac (git): Make the test class naming consistent
forgot to commit this in ead96e7b44b98bef4896d836239345012821f1d2 k0kubun (Takashi Kokubun)
04:32 AM Revision ead96e7b (git): Rename test_jit to test_mjit
to avoid confusion with YJIT k0kubun (Takashi Kokubun)

05/20/2022

11:55 PM Revision aef36bb9 (git): [ruby/fileutils] Enhanced RDoc for #cp_lr (https://github.com/ruby/fileutils/pull/71)
https://github.com/ruby/fileutils/commit/39772bccca burdettelamar (Burdette Lamar)
11:47 PM Revision 6c7e2617 (git): [ruby/optparse] Fix typo in documentation
- "hypnen" -> "hyphen"
- "hadler" -> "handler"
https://github.com/ruby/optparse/commit/e70e689ded
ydah (Yudai Takada)
11:39 PM Revision 50bad715 (git): Special-case jit_guard_known_class for strings. This can remove (#5920)
runtime guard-checks for String#to_s, making some blocks too
short to invalidate later. Add NOPs in those cases to reserve space.
Noah Gibbs
11:35 PM Revision a97fbc10 (git): extend `RUBY_DEBUG_LOG_FILTER` to reject words
support reject words with `-word` like
RUBY_DEBUG_LOG_FILTER=-foo,-bar,baz,boo`.
ko1 (Koichi Sasada)
09:45 PM Revision 3bceae0f (git): Fix typo in README (#5925)
"iteretor" -> "iterator" Yudai Takada
07:25 PM Bug #16829: Exceptions raised from within an enumerated method lose part of their stacktrace
> is it feasible to improve stacktraces raised within fibers?
As a more general solution, I'm wondering if exceptions could have not just a single stack trace, but an append-only list of stack traces that gets appended every time the ...
KyleFromKitware (Kyle Edwards)
06:32 PM Feature #18595 (Closed): Alias `String#-@` as `String#dedup`
Thank you Matz!
Merged as 65122d09d515c9183e643d5f7f31d24251b149ed
byroot (Jean Boussier)
12:33 PM Feature #18595: Alias `String#-@` as `String#dedup`
It sounds OK. The name `dedup` seems reasonable too.
Matz.
matz (Yukihiro Matsumoto)
06:31 PM Revision 65122d09 (git): [Feature #18595] Alias String#-@ as String#dedup
byroot (Jean Boussier)
05:19 PM Bug #18794 (Open): Windows - intermittent SEGV TestObjSpace#test_reachable_objects_during_iteration
Test runs in retry, generates the following (removed path from x64-ucrt-ruby320.dll). mswin build runs it as a single test, I don't believe it's failed.
```
1) Failure:
TestObjSpace#test_reachable_objects_during_iteration Li...
MSP-Greg (Greg L)
05:06 PM Bug #18779: `GC.compact` and other compaction related methods should be defined as rb_f_notimplement on non supported platforms.
After working through this in https://github.com/sparklemotion/nokogiri/pull/2532#issuecomment-1121302762 I agree that Ruby should provide an easier mechanism for discovering whether compaction is supported. mdalessio (Mike Dalessio)
04:30 PM Bug #18793 (Rejected): Select and Find behave differently for hashes
It seems that Hash implements select but not find, which uses the Enumerable version.
``` ruby
irb(main):009:0> { 1..10 => :a, 11 .. 20 => :b }.select { _1 === 12 }
=> {11..20=>:b}
irb(main):010:0> { 1..10 => :a, 11 .. 20 => :b }...
brenogazzola (Breno Gazzola)
03:42 PM Revision 11336c7d (git): * 2022-05-21 [ci skip]
git[bot]
03:41 PM Revision 8fa9e168 (git): [ruby/net-http] Make the recommended name formal
`HTTPServerException` is the name deprecated since years ago.
https://github.com/ruby/net-http/commit/b3028fef5a
nobu (Nobuyoshi Nakada)
03:12 PM Bug #18792 (Rejected): Socket.tcp throws `getaddrinfo': no implicit conversion of Hash into String
Yes, it's a keyword argument, not an option hash. byroot (Jean Boussier)
01:47 PM Bug #18792: Socket.tcp throws `getaddrinfo': no implicit conversion of Hash into String
It's the Ruby 3 things. They don't try to match method parameters for you anymore.
You have to do it explicitly:
~~~Ruby
Socket.tcp(host, port, **socket_opts)
~~~
midnight (Sarun R)
11:30 AM Bug #18792 (Rejected): Socket.tcp throws `getaddrinfo': no implicit conversion of Hash into String
Hello,
I was using ruby 2.5.3 for a while, but now it's EOL, trying to port my code to ruby 3.0.4.
Same piece of code is throwing error on below code snippet.
Below piece of code works fine on ruby 2.5.3, but throws error on ruby...
rahulroot (Rahul Gupta)
10:48 AM Revision 4146fd28 (git): Rewrite with assert_ractor for multiple ractor environment
hsbt (Hiroshi SHIBATA)
10:05 AM Revision a080651f (git): Disable GMP by -DUSE_GMP=0
nobu (Nobuyoshi Nakada)
09:53 AM Revision b6649797 (git): Picked the missing test file from https://github.com/ruby/did_you_mean/commit/8faba54b2d3ec9aa570691775f143801308c5b2f
hsbt (Hiroshi SHIBATA)
09:45 AM Revision bcc9451b (git): Merge JRuby implementation for stringio and io-wait
hsbt (Hiroshi SHIBATA)
09:36 AM Revision c83ec3ab (git): Merge https://github.com/ruby/pathname/pull/8 for pathname
hsbt (Hiroshi SHIBATA)
09:02 AM Revision e3434118 (git): Update default gems list at bcdbfe4b6e09c0076571addd1d0dd3 [ci skip]
git[bot]
08:49 AM Revision bcdbfe4b (git): [ruby/reline] Require Ruby >= 2.6
fix https://github.com/ruby/reline/pull/428
https://github.com/ruby/reline/commit/dae9eca323
ima1zumi (Mari Imaizumi)
08:49 AM Revision 1d9f2a45 (git): [ruby/racc] Show diffs
https://github.com/ruby/racc/commit/0b679e2f69 nobu (Nobuyoshi Nakada)
08:49 AM Revision 104fb83c (git): [ruby/io-nonblock] Remove unnecessary files from the gem
https://github.com/ruby/io-nonblock/commit/3850a4c7ac nobu (Nobuyoshi Nakada)
08:49 AM Revision 0dfd5d19 (git): [ruby/io-nonblock] Rename `io_nonblock_mode` and extract `set_fcntl_flags`
https://github.com/ruby/io-nonblock/commit/22f08574df nobu (Nobuyoshi Nakada)
08:49 AM Revision 589f1c1d (git): [ruby/tempfile] Enhanced RDoc for ::new and ::create (https://github.com/ruby/tempfile/pull/10)
https://github.com/ruby/tempfile/commit/a5e53aa82a burdettelamar (Burdette Lamar)
08:49 AM Revision 6923dd93 (git): [ruby/tempfile] Drop unused gemspec directives
This gem exposes no executables.
https://github.com/ruby/tempfile/commit/07fde5fe14
olleolleolle (Olle Jonsson)
08:49 AM Revision 9245b28d (git): [flori/json] Bump version to 2.6.2
https://github.com/flori/json/commit/5de358f655 flori (Florian Frank)
08:49 AM Revision a15d0e26 (git): [flori/json] Fix parser bug for empty string allocation
When `HAVE_RB_ENC_INTERNED_STR` is enabled it is possible to
pass through a null pointer to `rb_enc_interned_str` resulting
in a segfault
Fixes #495
https://github.com/flori/json/commit/b59368a8c2
Andrew Bromwich
08:49 AM Revision 767f3904 (git): [flori/json] Doc: Improve documentation on JSON#parse and JSON#parse!
https://github.com/flori/json/commit/75ada77b96
Co-authored-by: Bruno Gomes da Silva <brunojabs@gmail.com>
hsbt (Hiroshi SHIBATA)
08:49 AM Revision a37051ef (git): [flori/json] Remove unknown keyword arg from DateTime.parse
This snuck in while addding tests for the `create_additions`
feature. Caught by JRuby when we added the `limit` option to the
Date/DateTime parsing methods, which causes this to be rejected as
an unknown keyword.
https://github.com/flor...
headius (Charles Nutter)
08:37 AM Revision 37ea07d5 (git): setup vm->main_ractor before `Init_native_thread()`
ko1 (Koichi Sasada)
08:37 AM Revision eab99b1d (git): `rb_thread_t::serial` for debug
`rb_thread_t::serial` is auto-incremented serial number for
threads and it can overflow, it means the serial is not a ID
for each thread, it is only for debug print.
`RUBY_DEBUG_LOG` shows this information.
Also skip EC related informa...
ko1 (Koichi Sasada)
08:32 AM Revision aeea8817 (git): Merge RubyGems and Bundler HEAD
https://github.com/rubygems/rubygems/commit/125415593ead9ab69a9f0bb5392c9d7ec61b1f51 hsbt (Hiroshi SHIBATA)
08:32 AM Revision bd8df25c (git): [ruby/did_you_mean] Fix `frozen_string_literal is ignored after any tokens` warning. (https://github.com/ruby/did_you_mean/pull/172)
```
did_you_mean/formatters/verbose_formatter.rb:5: warning: `frozen_string_literal' is ignored after any tokens
```
https://github.com/ruby/did_you_mean/commit/531760f323
Jean byroot Boussier
08:30 AM Bug #18407: Behavior difference between integer and string flags to File creation
I guess, yeah, and because I was dealing with opening a file, so `File::` constants seemed appropriate to set the open mode, right? deivid (David Rodríguez)
08:28 AM Bug #18407: Behavior difference between integer and string flags to File creation
BTW, why do you use `File::` instead of `IO::`?
Because the documents in io.c use the former?
nobu (Nobuyoshi Nakada)
08:15 AM Bug #18407: Behavior difference between integer and string flags to File creation
I created https://github.com/ruby/ruby/pull/5923. deivid (David Rodríguez)
08:09 AM Bug #18407: Behavior difference between integer and string flags to File creation
Thanks! The documentation seems much better now (master) than on 3.1, but I will try a PR to clarify a bit more! deivid (David Rodríguez)
08:23 AM Revision ec7b42eb (git): [DOC] Add a note to clarify binary flags to `IO.new`
Try to make it more clear that the `File::BINARY` integer flag, and the
`b` string suffix are not equivalent.
deivid (David Rodríguez)
02:38 AM Bug #18791: Unexpected behavior of Socket#connect_nonblock
Should I treat `0` as a successful connection?
Does anyone have an insight on this?
Does anyone want me to try something on my side?
midnight (Sarun R)
12:27 AM Feature #18774: Add Queue#pop(timeout:)
matz (Yukihiro Matsumoto) wrote in #note-10:
> You may consider adding timeout_value keyword argument. But it should be a different issue.
A supplimental explanation. We discussed this ticket at the dev meeting, and someone suggested...
mame (Yusuke Endoh)

05/19/2022

11:56 PM Bug #18407: Behavior difference between integer and string flags to File creation
deivid (David Rodríguez) wrote in #note-6:
> I still think at least the documentation should be updated to mention this
Suggestions for improvement are of course welcome.
Note that the current document says that `"b"` means "setti...
mame (Yusuke Endoh)
09:08 AM Bug #18407: Behavior difference between integer and string flags to File creation
Thanks @mame!
I still think at least the documentation should be updated to mention this, because the current wording makes me think the alternatives I tried should be equivalent and both work: https://ruby-doc.org/core-3.1.2/IO.html#...
deivid (David Rodríguez)
09:00 AM Bug #18407: Behavior difference between integer and string flags to File creation
@deivid This should work
```
$ ruby -ropen-uri -EUTF-8:UTF-8 -e 'f = File.new("foo", File::WRONLY | File::TRUNC | File::BINARY, encoding: "BINARY"); f.write URI.open("https://rubygems.org/gems/rake-13.0.6.gem").read'
```
mame (Yusuke Endoh)
07:27 AM Bug #18407 (Closed): Behavior difference between integer and string flags to File creation
`IO::BINARY` is for `O_BINARY` which comes from underlying runtimes, and unrelated to ruby encodings.
The second form is for specifying such flags in a fine-grained manner, so it needs an encoding explicitly unlike the shorthand `"wb"`.
nobu (Nobuyoshi Nakada)
10:05 PM Revision 6850e3c4 (git): [rubygems/rubygems] Fix locale dependent spec failure
https://github.com/rubygems/rubygems/commit/1fd818743e deivid (David Rodríguez)
08:05 PM Bug #16829: Exceptions raised from within an enumerated method lose part of their stacktrace
For anyone looking for a workaround, this seems to work pretty well:
``` ruby
# assume `enum` is an `Enumerator`
begin
enum.next
rescue StopIteration
raise
rescue
$!.set_backtrace($!.backtrace + caller)
raise
end
```
This will ...
KyleFromKitware (Kyle Edwards)
05:07 PM Bug #16829: Exceptions raised from within an enumerated method lose part of their stacktrace
Came here to say that I ran into this same issue and found it very frustrating. I had to go over a lot of code to find the function that called `Enumerator#next`. Would love to see better stack traces in the future. KyleFromKitware (Kyle Edwards)
07:22 PM Bug #18791 (Rejected): Unexpected behavior of Socket#connect_nonblock
I followed an example of [Socket#connect_nonblock](https://ruby-doc.org/stdlib-3.1.2/libdoc/socket/rdoc/Socket.html#method-i-connect_nonblock) on the document.
Waiting for multiple Socket connections at once.
~~~Ruby
# Pull down Goo...
midnight (Sarun R)
03:53 PM Revision cbfce40e (git): * 2022-05-20 [ci skip]
git[bot]
03:52 PM Revision b8a268e2 (git): YJIT: Add opt_succ (#5919)
k0kubun (Takashi Kokubun)
08:44 AM Feature #18749: Strangeness of endless inclusive ranges
@janosch-x (Janosch Müller) That seems to be a good idea. That is a possible compromise. Thank you for the idea. sawa (Tsuyoshi Sawada)
08:15 AM Revision 3d6fd162 (git): Undefine RUBY_DLN_CHECK_ABI on cygwin
fd0 (Daisuke Fujimura)
08:13 AM Feature #18618 (Closed): no clobber def
See [#18742](https://bugs.ruby-lang.org/issues/18742#note-4)
Matz.
matz (Yukihiro Matsumoto)
08:09 AM Feature #18742 (Rejected): Introduce a way to tell if a method invokes the `super` keyword
First, I am afraid that no_clobber checks using `super` would not work well. People would override methods without using `super` more often that you may expect. Some may copy code from the parent methods, some may just reimplement method... matz (Yukihiro Matsumoto)
08:07 AM Revision 61a54d51 (git): [DOC] Re-markup as Markdown
nobu (Nobuyoshi Nakada)
07:46 AM Revision 72fc3b1b (git): Fold too long lines, etc [ci skip]
nobu (Nobuyoshi Nakada)
07:46 AM Revision a7252918 (git): Suppress unused-function [ci skip]
nobu (Nobuyoshi Nakada)
07:37 AM Feature #18774: Add Queue#pop(timeout:)
I accept the original proposal Queue.pop(timeout: sec). You may consider adding timeout_value keyword argument. But it should be a different issue.
Matz.
matz (Yukihiro Matsumoto)
06:48 AM Revision ee3b61a4 (git): Removed subversion section because there is no active branch for svn.
hsbt (Hiroshi SHIBATA)
05:03 AM Bug #18781: MJIT tests failing with Ubuntu focal with gcc-11 and some flags
@jaruga It seems like the problem is that you're passing a linker flag, `-Wl,-z,now`, through `--with-gcc`. To make MJIT's build work, it has to use the same linker flags as ones used for building the interpreter, and it fails that way w... k0kubun (Takashi Kokubun)
04:43 AM Bug #18790 (Closed): cannot load such file -- digest (LoadError)
I got asked by @hsbt to file this.
## Backtrace
```
configuring psych
/home/k0kubun/src/github.com/ruby/ruby/tool/extlibs.rb:7:in `require': cannot load such file -- digest (LoadError)
from /home/k0kubun/src/github.com/...
k0kubun (Takashi Kokubun)
12:15 AM Bug #18783: OptionParser should recognize "-" as an optional argument
Any thoughts on this?
I created a PR: https://github.com/ruby/ruby/pull/5918
konsolebox (K B)
 

Also available in: Atom