Project

General

Profile

Activity

From 08/21/2022 to 08/27/2022

08/27/2022

10:47 PM Revision 111b69e8 (git): Pass wait: false to avoid a timeout
k0kubun (Takashi Kokubun)
10:13 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
> I also tend to do `**(options || {})` and I don’t write hard-to-read code like `**({id: id, name: name} if id.present?)`.
That's interesting, that you are ok for
```ruby
**(options || {})
```
but not ok for
```ruby
**(options ...
LevLukomskyi (Lev Lukomskyi)
03:16 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
It seems that `foo(*arguments)` will call `arguments.to_a` rather than `arguments.to_ary`. However, I also noticed `foo(*Object.new)` works as a single argument, which honestly seems a bit odd to me.
So:
> If we want to allow **nil, th...
ioquatix (Samuel Williams)
12:21 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-19:
> > Both @sawa and I have provided better options than your examples.
> ...
Not at all. I’ve used `**` for a *very* long time (since kwargs were introduced). But I also tend to do `**(opt...
austin (Austin Ziegler)
09:48 PM Revision 83375f47 (git): Avoid leaving a period alone [ci skip]
k0kubun (Takashi Kokubun)
09:42 PM Revision a797ded8 (git): typos
spaette
07:05 PM Revision 95d2d792 (git): Try to prevent the failure of FileUtils.rm_rf
k0kubun (Takashi Kokubun)
05:22 PM Revision 458d49a0 (git): Ignore rm -rf failure
http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker/4213386
It's failing with:
rm: cannot remove '/tmp/ruby/v3/build/trunk-mjit/tmp/test_rubygems_20220827-13666-ii8lcp': Directory not empty
rm: cannot remove '/tmp/ruby/v3/build/trunk-...
k0kubun (Takashi Kokubun)
05:04 PM Revision 4de09574 (git): * 2022-08-28 [ci skip]
git[bot]
05:04 PM Revision 381d8e43 (git): [rubygems/rubygems] Bundler: make to_lock consistent between Gem::Dependency and Bundler::Dependency
https://github.com/rubygems/rubygems/commit/971d57cf5a Aleksandr Varnin
04:34 PM Feature #16122: Data: simple immutable value object
Disregard that, looked in the wrong place.
~~Hmm, folks, working on implementation on the weekend, I am a bit confused. I believe I _saw_ that in 3.2 we decided to make `Struct` more flexible, but accepting positional OR keyword args re...
zverok (Victor Shepelev)
03:21 PM Feature #18951: Object#with to set and restore attributes around a block
> But WITH is also SQL keyword and was recently added to ActiveRecord
It was added to `ActiveRecord::Relation`, which doesn't have any setters in its public API, and even if it did it still wouldn't be a concern in my opinion.
Sin...
byroot (Jean Boussier)
03:14 PM Feature #18951: Object#with to set and restore attributes around a block
There are similar methods (`with_*`) across various popular gems. For example `I18n.with_locale(locale)`. But `WITH` is also SQL keyword and was recently added to `ActiveRecord` (https://github.com/rails/rails/commit/098b0eb5dbcf1a942c4e... retro (Josef Šimánek)
03:06 PM Feature #18951: Object#with to set and restore attributes around a block
> sole with feels vague a little, to me.
Well, the argument is that it's not alone, since it is used with at list one keyword argument.
`something.with` is vague I agree, but I believe that e.g.:
```ruby
GC.with(stress: true) d...
byroot (Jean Boussier)
02:58 PM Feature #18951: Object#with to set and restore attributes around a block
I think this would be nice to have, indeed spelling it out manually is quite verbose and then we tend to have lots of helper methods for this.
For the name, `with` seems natural to me, and it's also the name of the keyword in Python use...
Eregon (Benoit Daloze)
02:37 PM Feature #18951: Object#with to set and restore attributes around a block
I agree with the concept, but wonder about these names.
The meaning of `with_something_enabled` is obvious, but sole `with` feels vague a little, to me.
And `old_values` should be initialized as an empty hash, I think.
nobu (Nobuyoshi Nakada)
02:16 PM Bug #10820: Win32 Registry Delete uses ANSI instead of Wide APIs
headius (Charles Nutter) wrote in #note-10:
> Late to the party, but why was `RegQueryInfoKey` also update to use `W`?
It seems unneeded because not using any `WCHAR` arguments.
> ...
It's done by fiddle.
https://github.com/ruby/...
nobu (Nobuyoshi Nakada)
01:16 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
I think those issues are revealing real problems which are worth investigating and fixing.
For instance if files are created and deleted in parallel in the same directory that seems like a good source of transient bugs waiting to happen...
Eregon (Benoit Daloze)
11:40 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
deivid (David Rodríguez) wrote in #note-13:
> Yet this exception is showing the error when trying to remove the root directory, and not the real culprit of failing to remove one file inside. Do you know why is that?
I have no idea. P...
mame (Yusuke Endoh)
11:24 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Alright, I guess it makes sense to leave things as they are.
One question I have is: I though we had removed an `ensure` that prevented the original exception from being displayed and would instead show the error when removing the roo...
deivid (David Rodríguez)
11:18 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
We faced another problem on Linux.
A rubygems test uses `FileUtils.rm_rf` in `teardown`. But it randomly fails for an unknown reason (mysteriously, only on MJIT test?). This makes the `teardown` method fail to restore the environment ...
mame (Yusuke Endoh)
11:16 AM Feature #13626: Add String#byteslice!
I think the underlying issue is we want a string append method which does not change the receiver's encoding (and instead raises an EncodingError if it would need to change it). Eregon (Benoit Daloze)
07:05 AM Feature #13626: Add String#byteslice!
> I hope I have not demanded anything
Yes, sorry, not what I meant, it's one of these words that has similar meaning in French, yet a radically different connotation.
byroot (Jean Boussier)
06:30 AM Feature #13626: Add String#byteslice!
Just to clarify I hope I have not demanded anything. "But if you want to have a go at it, that would be awesome" was all I said.
I have been trying the `buffer.force_encoding(Encoding::BINARY)` followed by `slice!` but you are right i...
ioquatix (Samuel Williams)
11:12 AM Feature #18408: Allow pattern match to set instance variables
Right, and I agree with matz that modifying ivars as the match is evaluated is problematic, I would even say it's unsound for pattern matching to have such side effects.
Testing a pattern should as much as feasible not have side effects...
Eregon (Benoit Daloze)
03:18 AM Feature #18408: Allow pattern match to set instance variables
@eregon I understand what you're saying, but my statement was based on the premise "if you don't want ivars to change during match". In the PR prepared by @palkan, ivars are modified as the match is evaluated, just like local vars, and t... Dan0042 (Daniel DeLorme)
09:04 AM Feature #18980: `it` as a default block parameter
I also avoid using solo `_1` as I have to search for `_2` when I see `_1` in a block. It's not because of a feeling caused by the number but because the behavior of `_1` changes depending on the occurrence of `_2`.
Given that we have ...
hanazuki (Kasumi Hanazuki)
06:35 AM Revision 13d2225c (git): Try rm -rf instead of FileUtils.rm_rf
FileUtils.rm_rf started to randomly fail on http://ci.rvm.jp/results/trunk-mjit@phosphorus-docker
since around https://github.com/ruby/fileutils/pull/99.
k0kubun (Takashi Kokubun)
03:56 AM Revision f97af5cd (git): * 2022-08-27 [ci skip]
git[bot]
03:54 AM Revision fe4dd18d (git): [DOC] Fix a typo [ci skip]
nobu (Nobuyoshi Nakada)

08/26/2022

11:36 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
> because it’s (1) wasteful
It wastes what? I don't understand this argument
> ...
This I can understand because indeed sometimes programmers can put too much in one line. However there are only two operators in that line – `if` an...
LevLukomskyi (Lev Lukomskyi)
09:16 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-17:
> @austin your latest example has 110 symbols, the condition should be duplicated for each new hash key, as well as the ternary operator, so it's not good. Previous example has 294 symbols...
austin (Austin Ziegler)
08:43 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
Currently:
```ruby
"xyz".sub(/y/, nil) #=> TypeError: no implicit conversion of nil into String
def nil.to_hash; {} end
"xyz".sub(/y/, nil) #=> "xz"
```
Ok, the behavior is different, but it doesn't mean that we cannot implement the fea...
LevLukomskyi (Lev Lukomskyi)
02:52 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
> > Currently, nobody is using `**nil` because it throws an error because `nil.to_hash` is not defined. So I don't see how adding such feature would lead to _"high probability of compatibility issues"_.
> ...
Yes, there are problems wit...
Dan0042 (Daniel DeLorme)
12:15 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-14:
> @austin, your example is a perfect example of "overengineering".
On this, we disagree. I find the number of sigils required for `**({ id: id, name: name } if id.present?)` to be a sur...
austin (Austin Ziegler)
11:32 PM Feature #18980: `it` as a default block parameter
If we are considering an alternative to `_1`, I'm going to vote again for `@` (bare at sign) (originally proposed in https://bugs.ruby-lang.org/issues/4475#note-10). This is currently invalid syntax, so there is no possibility of backwa... jeremyevans0 (Jeremy Evans)
10:46 PM Feature #18980: `it` as a default block parameter
> This is a good argument, I think it would be good to add to the issue description.
I'm glad it made sense to you. Sure, I updated the issue description to include that.
> ...
I'm not sure if it's too difficult to distinguish "a metho...
k0kubun (Takashi Kokubun)
03:48 PM Feature #18980: `it` as a default block parameter
> innocuous word
I misused `innocuous` here. I want to mean a "common word", and it's hard to notice because it's the same syntax as a local variable or method call.
Eregon (Benoit Daloze)
03:45 PM Feature #18980: `it` as a default block parameter
k0kubun (Takashi Kokubun) wrote in #note-8:
> What do you mean? I thought we were talking about `_1`, not `_`. If this feature were introduced as `_`, I would use it much more often than `_1`, but [Matz finds `_` confusing](https://bugs...
Eregon (Benoit Daloze)
02:41 PM Feature #18980: `it` as a default block parameter
> I regularly use _1, _2, maybe it's question of habit and getting used to it?
Matz also made that argument in the Ruby Committers vs the World 2019, saying many people started using `-> {}` after almost 100% of the people objected to t...
k0kubun (Takashi Kokubun)
12:43 PM Feature #18980: `it` as a default block parameter
I regularly use `_1`, `_2`, maybe it's question of habit and getting used to it?
`_1` seems already used in many gems (`gem-codesearch '\b_1\b' | grep '\.rb:\s'`).
It's also a syntax used in other languages, and `_` is already establishe...
Eregon (Benoit Daloze)
10:31 AM Feature #18980 (Closed): `it` as a default block parameter
## Problem
Numbered parameters (`_1`, `_2`, ...) look like unused local variables and I don't feel motivated to use them, even though I need this feature very often and always come up with `_1`.
```rb
[1, 2, 3].each { puts _1 }
```...
k0kubun (Takashi Kokubun)
07:08 PM Feature #16122: Data: simple immutable value object
austin (Austin Ziegler) wrote in #note-55:
> Why not `Data.defclass` or `Data.deftype` or even `Data.defshape`?
Because those do not use a proper Ruby naming (no _ to separate words, aside: looks like Python matplotlib methods), they...
Eregon (Benoit Daloze)
04:53 PM Feature #16122: Data: simple immutable value object
Eregon (Benoit Daloze) wrote in #note-54:
> I like `Data.define` as well, we are "defining a new subclass of Data".
> ...
Elixir uses `defmodule` for module declarations. Why not `Data.defclass` or `Data.deftype` or even `Data.defshape`?
austin (Austin Ziegler)
10:22 AM Feature #16122: Data: simple immutable value object
I like `Data.define` as well, we are "defining a new subclass of Data".
`def` makes me thing to "define a method" since that's what the keyword of the same name does, but `Data.def` does not define a method but a class.
Eregon (Benoit Daloze)
07:01 PM Feature #18408: Allow pattern match to set instance variables
Dan0042 (Daniel DeLorme) wrote in #note-20:
> But if you don't want ivars to change during match, this *can* be fixed, for example by using temporary local vars like I suggested in #note-11. I don't think this is a fundamental problem w...
Eregon (Benoit Daloze)
05:31 PM Feature #18408: Allow pattern match to set instance variables
> it is intentional. Unsuccessful matches remain the assignment result from the internal matches
I think everyone here understood the current behavior is intentional, but the more important question would be "is it beneficial?"
> ....
Dan0042 (Daniel DeLorme)
03:14 PM Feature #18965: Further Thread::Queue improvements
> Why not exception: false which seems more standard and established
So after working more on using a SizedQueue in statsd-instrument, I now think `exception: false` might actually be better.
The reason is that `SizedQueue#push(ite...
byroot (Jean Boussier)
01:01 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
I ran my test against your branch, and it addresses this issue. I hope it can be incorporated soon. Thanks! javanthropus (Jeremy Bopp)
08:17 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Another observation is: could we opt-out of this strict behavior only on Windows, given how picky it is about deleting used files? So far the only issues found in the realworld are under Windows I believe. Fileutils already has several s... deivid (David Rodríguez)
07:16 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
In my opinion, this is ok. I also encountered some issues in RubyGems test suite when I first enabled this behavior that led me to correct some bad tests. And it also helped me figure out realworld bugs. I understand that sometimes it ma... deivid (David Rodríguez)
05:34 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
I also encountered a possibly related `Errno::EACCES` error on Windows (mingw) of GitHub Actions.
```
Errno::EACCES:
Permission denied @ apply2files - D:/a/_temp/d20220824-1696-gdx8qj/path/does/not/exist
```
Below are the back...
koic (Koichi ITO)
04:08 AM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Unfortunately, this change affected mkmf on Appveyor (Windows).
https://ci.appveyor.com/project/ruby/ruby/builds/44579924/job/n81xmb2mqs6no7dm#L23792
```
2) Error:
TestMkmfTryConstant#test_simple:
Errno::EACCES: Permission denie...
mame (Yusuke Endoh)
06:00 AM Revision d6f21b30 (git): Convert catch_except_t to stdbool
catch_excep_t is a field that exists for MJIT. In the process of
rewriting MJIT in Ruby, I added API to convert 1/0 of _Bool to
true/false, and it seemed confusing and hard to maintain if you
don't use _Bool for *_p fields.
k0kubun (Takashi Kokubun)
04:12 AM Misc #18977: DevMeeting-2022-09-22
* [Feature #18784] `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions (mame)
* I changed FileUtils.rm_f/rm_rf so that it raises a SystemCallError but Errno::ENOENT.
* But it seemed to affect mkmf on Windows. mkmf use...
mame (Yusuke Endoh)
03:15 AM Revision 098a3cfa (git): Fixed typo
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 1cbee173 (git): Sync examples and cli from syntax_suggest
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 3a2bc849 (git): Added test-syntax-suggest to CI
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 5e4d1f99 (git): Skip examples to need installed ruby exe
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 8dfc077f (git): Added syntax_suggest cli and resolve failing exapmle with it
hsbt (Hiroshi SHIBATA)
03:15 AM Revision bd1b1eeb (git): ruby-prof is now optional
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 9c2af0a1 (git): added test-syntax-suggest and prepare tasks
hsbt (Hiroshi SHIBATA)
03:15 AM Revision 0d9f4ea0 (git): Import spec examples from ruby/syntax_suggest
hsbt (Hiroshi SHIBATA)
12:57 AM Revision 3504be1b (git): [ruby/irb] Require RDoc in `input-method.rb` again in a limited scope.
RDoc is implemented as soft dependency in IRB. See how the rdoc is required in
the files. I reverted the commit below.
```
$ grep -ril rdoc lib/
lib/irb/cmd/help.rb
lib/irb/completion.rb
lib/irb/easter-egg.rb
lib/irb/input-method.rb
```...
Jun Aruga

08/25/2022

10:48 PM Feature #16122: Data: simple immutable value object
`Data.new` aside, `Data.def` and `Data.define` are my current top-2 preferences. I'd be happy with either of these at this point.
But thinking about this further, I might like `Data.define` slightly more. It's a trade-off with shortn...
k0kubun (Takashi Kokubun)
08:02 PM Feature #16122 (Assigned): Data: simple immutable value object
k0kubun (Takashi Kokubun)
01:34 PM Feature #16122: Data: simple immutable value object
1. I slightly regretted to make `Struct.new` to create a subclass, not an instance. So this time I didn't choose `new`. `create` or `generate` would have a similar issue with `new`. `define` might be a candidate. But I still prefer short... matz (Yukihiro Matsumoto)
11:25 AM Feature #16122: Data: simple immutable value object
@matz Thanks for the decisions!
A few questions:
1. I am a bit concerned about using `def`, which is strongly associated with defining methods. I wouldn't want it to be a blocker (it would be really cool to have `Data` by the 3.2),...
zverok (Victor Shepelev)
10:40 AM Feature #16122: Data: simple immutable value object
We are going to implement Data class in the following spec:
* `D = Data.def(:foo, :bar)` to define a data class (subclass of Data)
* `Data.new` raises exception (unlike Struct)
* `d = D.new(1,2)` to create Data instance
* Or `d = ...
matz (Yukihiro Matsumoto)
10:32 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
@austin, your example is a perfect example of "overengineering".
We could argue about "clearness", although about "conciseness" it's easy to check – option 1: 72 characters, option 2: 62 characters, so option 2 is 15% more concise, cl...
LevLukomskyi (Lev Lukomskyi)
03:13 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-10:
> ```ruby
> ...
I do not find the second option clearer or more concise in any way. It feels much more of line-noise.
In my code, I would opt for an explicit function that does the log...
austin (Austin Ziegler)
01:17 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
I'm not that much concerned about the performance but about readability. Your solution with `compact` is probably good for that particular case but it cannot solve all other cases with an arbitrary hash plugged into the main hash on an a... LevLukomskyi (Lev Lukomskyi)
12:14 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-10:
> If use `compact!` as a different statement then you need to make a variable, you have to make a mental effort to make up the name for that variable and repeat its name to use `compact!`. ...
sawa (Tsuyoshi Sawada)
11:36 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
> I meant to simply use compact! in a different statement, not in a chain.
If use `compact!` as a different statement then you need to make a variable, you have to make a mental effort to make up the name for that variable and repeat ...
LevLukomskyi (Lev Lukomskyi)
03:47 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-8:
> 2. => more specifically `.tap(&:compact!)` since `compact!` may return `nil` if nothing changed.
I think `tap(&:foo)` is actually not that much efficient, and `tap(&:compact!)` could be s...
sawa (Tsuyoshi Sawada)
08:36 PM Bug #18767 (Closed): IO.foreach hangs up when passes limit=0
Applied in changeset commit:git|21cac42385e1a116d287e155e461453b830640d2.
----------
Raise ArgumentError for IO.foreach with limit of 0
Makes behavior consistent with IO.readlines.
Fixes [Bug #18767]
jeremyevans (Jeremy Evans)
09:53 AM Bug #18767: IO.foreach hangs up when passes limit=0
OK, let's make it raise exceptions for zero length.
Matz.
matz (Yukihiro Matsumoto)
08:36 PM Revision 21cac423 (git): Raise ArgumentError for IO.foreach with limit of 0
Makes behavior consistent with IO.readlines.
Fixes [Bug #18767]
jeremyevans (Jeremy Evans)
07:41 PM Bug #18797: Third argument to Regexp.new is a bit broken
matz (Yukihiro Matsumoto) wrote in #note-1:
> This is indeed an obsolete feature for long time. And the third argument is ignored (IIRC).
Unfortunately, the third argument is not ignored:
```ruby
p Regexp.new("\u1234", nil, "n")....
jeremyevans0 (Jeremy Evans)
09:59 AM Bug #18797: Third argument to Regexp.new is a bit broken
This is indeed an obsolete feature for long time. And the third argument is ignored (IIRC).
Some (old) gems still use it because they are not updated for long time. Warnings should not improve the situation (since most of them are unmai...
matz (Yukihiro Matsumoto)
06:37 PM Revision 881bc2a1 (git): Skip running a DRb test on MinGW
It hangs even after a retry
https://github.com/ruby/ruby/runs/7966439530?check_suite_focus=true
We contacted GitHub Suppport about this before, and we concluded that
the problem is on our end. Unfortunately we don't have a bandwidth to
...
k0kubun (Takashi Kokubun)
06:31 PM Revision af9fa16c (git): Make sure super is called and fix teardown
k0kubun (Takashi Kokubun)
06:11 PM Revision 52560a92 (git): Skip flaky mkmf tests on AppVeyor
It seems like TestMkmfTryConstant started to randomly fail, maybe
related to 96562a517d3373466ec306b5f821a41f4758d2a6 or 073f3b7e0ad94657c04573983affb9d66e6bff2c.
Some of them seem to have failed even after retries, so it feels like
the...
k0kubun (Takashi Kokubun)
06:02 PM Revision 8706b74b (git): [DOC] Enhanced RDoc for Time (#6277)
Deletes the :include: files in doc/time, which became no longer workable when @nobu pointed out that some (but not all) creator methods accept string values as well as integer-like values.
Changes to methods:
Time.utc
Time.local...
burdettelamar (Burdette Lamar)
03:49 PM Revision b2d0f788 (git): Fix private methods reported as protected when called via Symbol#to_proc
Ref: bfa6a8ddc84fffe0aef5a0f91b417167e124dbbf
Ref: [Bug #18826]
byroot (Jean Boussier)
03:31 PM Feature #18979 (Open): Kernel#sprintf formatting BigDecimal without the loss of precision
Recently I stumbled upon a quirk with `Kernel#sprintf`'s `f` modifier behavior with `BigDecimal`. It seems to be not documented neither in `Kernel` documentation nor in `BegDecimal` one. Also, I didn't find previous discussions about it ... kstrukov (Kostiantyn Striukov)
03:08 PM Revision c2daa056 (git): * 2022-08-26 [ci skip]
git[bot]
03:07 PM Revision c069f504 (git): [DOC] Tell RDoc aliases of singleton class
Since RDoc C parser cannot capture aliases which are using an
expression other than a single variable as the class, use an
intermediate variable for the singleton class.
nobu (Nobuyoshi Nakada)
02:44 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
MSP-Greg (Greg L) wrote in #note-12:
> Windows bash file 'top'
> ...
I'm not sure where the header came from.
`rbinstall.rb` doesn't use `dirname` command.
Maybe [here](https://github.com/MSP-Greg/ruby-loco-test/blob/master/mswin/cop...
nobu (Nobuyoshi Nakada)
02:39 PM Revision ad8774f8 (git): [rubygems/rubygems] Fix another regression for sorbet
Recently a changed was introduced to update the resolver platforms after
it has been created, in order to remove the "ruby" platform from it if
it's to be removed from the lockfile. However, it did not update the
`@resolving_only_for_rub...
deivid (David Rodríguez)
01:41 PM Bug #18978 (Feedback): Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
GitHub PR: https://github.com/ruby/ruby/pull/6281
Time.utc and Time.local produce inconsistent and unexpected behaviour when 8 arguments is passed in.
For example, consider the following code:
```ruby
Time.utc(2000, 1, 1, 2, 3,...
peterzhu2118 (Peter Zhu)
12:39 PM Misc #18977 (Closed): DevMeeting-2022-09-22
# The next dev meeting
**Date: 2022/09/22 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-09-22.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu...
mame (Yusuke Endoh)
12:38 PM Misc #18954 (Closed): DevMeeting-2022-08-18
mame (Yusuke Endoh)
12:37 PM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
We brielfly discussed this issue at the dev meeting. @naruse said it should behave like `String#<<` as follows. @nobu said he would try to implement this.
```ruby
s = "".force_encoding("US-ASCII")
s << 128
p s #=> "\x80"
...
mame (Yusuke Endoh)
09:55 AM Misc #18975: Propose Stan Lo (@st0012) as an IRB maintainer
Confirmed. Thank you for helping us @k0kubun and @st0012.
If you have any concern, please tell us here.
Matz.
matz (Yukihiro Matsumoto)
08:16 AM Misc #18975 (Feedback): Propose Stan Lo (@st0012) as an IRB maintainer
We discussed this at today's developers meeting. We recognize two different challenges here.
1. @st0012 and @k0kubun want to introduce IRB features that are relatively easy to maintain, such as adding or modifying IRB commands.
2. We ha...
k0kubun (Takashi Kokubun)
09:46 AM Feature #18408 (Rejected): Allow pattern match to set instance variables
We have discussed with @ktsj about the issue, and concluded it is intentional. Unsuccessful matches remain the assignment result from the internal matches, e.g.,
```
case [1,2,3]
in [a,2,3,4]
# unmatch
else
p a #=> 1 (from pa...
matz (Yukihiro Matsumoto)
09:33 AM Feature #18821: Expose Pattern Matching interfaces in core classes
I agree with MatchData. And I think `deconstruct` for the class should be an alias to `captures` instead of `to_a`.
Matz.
matz (Yukihiro Matsumoto)
05:35 AM Bug #18971: Enumerator::Lazy.take(0) leaks first element into next operation
Although not so elegant, I was thinking to add "precheck" to enumerators.
https://github.com/nobu/ruby/tree/lazy_take0
nobu (Nobuyoshi Nakada)
02:28 AM Misc #18976 (Closed): [ANN] blade.nagaokaut.ac.jp is down
The mail archive server named `blade.nagaokaut.ac.jp` is down now.
blade had some hardware issues. Prof. Hara tries to salvage mail data and rebuild blade. But It's difficult status.
I have a plan to migrate Ruby mail server includ...
hsbt (Hiroshi SHIBATA)

08/24/2022

11:14 PM Bug #18932 (Closed): Ruby 3.1 - Allow building with VS 2022
jeremyevans0 (Jeremy Evans)
10:42 PM Bug #18932: Ruby 3.1 - Allow building with VS 2022
I just built ruby_3_1 branch with VS 2022, and it built and passed all tests. So, no patches needed for Ruby 3.1. Please close. MSP-Greg (Greg L)
06:00 PM Bug #18932: Ruby 3.1 - Allow building with VS 2022
Yes. The Visual Studio bug has been fixed. I'll try a build see what's needed. MSP-Greg (Greg L)
05:10 PM Bug #18932: Ruby 3.1 - Allow building with VS 2022
Can you point out which commits are needed for backporting to allow Ruby 3.1 to work better with VS 2022? Then we could mark those commits for backporting. However, the decision of whether to backport is always made by the branch maint... jeremyevans0 (Jeremy Evans)
09:15 PM Revision f5f81bb7 (git): Update Module#instance_methods documentation for visibility changes/aliases
Requested by matz in comment on #18435. jeremyevans (Jeremy Evans)
09:03 PM Bug #18974: Wrong line number in the rescue iseq for the exception matching code
I've submitted a pull request to fix this issue: https://github.com/ruby/ruby/pull/6283 jeremyevans0 (Jeremy Evans)
10:22 AM Bug #18974 (Closed): Wrong line number in the rescue iseq for the exception matching code
Script for demonstration:
```
def foo
begin
raise 'error'
rescue => e
puts e.message
end
end
puts RubyVM::InstructionSequence.of(method :foo).disasm
```
Disasm for the catch table:
```
| catch type: rescue ...
hurricup (Alexandr Evstigneev)
08:48 PM Misc #18975: Propose Stan Lo (@st0012) as an IRB maintainer
It'll be my honor to help the team maintain IRB. Thank you for nominating me for this important role. st0012 (Stan Lo)
08:39 PM Misc #18975 (Closed): Propose Stan Lo (@st0012) as an IRB maintainer
## Background
Looking at @aycabta 's GitHub activity, he's been inactive on the Internet for 6~7 months, which means that IRB hasn't had the maintainer during that period of time. While I managed to sneak in some IRB changes when he was...
k0kubun (Takashi Kokubun)
08:16 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
2. => more specifically `.tap(&:compact!)` since `compact!` may return `nil` if nothing changed.
3. there might be also a case when you want to merge another hash under some conditions, eg.:
```ruby
{
some: 'value',
**({ id: id, na...
LevLukomskyi (Lev Lukomskyi)
02:44 PM Feature #18959: Handle gracefully nil kwargs eg. **nil
LevLukomskyi (Lev Lukomskyi) wrote in #note-6:
> `compact` way looks good indeed, although:
> ...
I think such use case would be a design failure. `nil` generally represents absence of a valid value. Sometimes having `nil` and sometime...
sawa (Tsuyoshi Sawada)
11:09 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
`compact` way looks good indeed, although:
1. it removes all `nil`s from the hash, which might be undesired in some cases
2. it creates hash duplicate each time, while kwargs way creates temporary hash only if a condition is met, though ...
LevLukomskyi (Lev Lukomskyi)
08:00 PM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
I am concerned about compatibility to change this. @naruse proposed to return an ASCII-8BIT string instead of raising an exception. mame (Yusuke Endoh)
10:08 AM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
@nobu Looks good to me, could you commit it?
(ARG_UNUSED is not needed on `code` I think)
Eregon (Benoit Daloze)
01:13 AM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
Sorry, this.
```diff
diff --git a/enc/us_ascii.c b/enc/us_ascii.c
index 08f9072c435..9d854b12245 100644
--- a/enc/us_ascii.c
+++ b/enc/us_ascii.c
@@ -7,6 +7,12 @@
# define ENCINDEX_US_ASCII 0
#endif

+static int
+us_ascii_c...
nobu (Nobuyoshi Nakada)
01:05 AM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
```diff
diff --git a/regenc.c b/regenc.c
index 16d62fdf409..5cc3b778351 100644
--- a/regenc.c
+++ b/regenc.c
@@ -627,6 +627,10 @@ onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED,
extern int
onigenc_single_by...
nobu (Nobuyoshi Nakada)
07:38 PM Bug #18931: Inconsistent handling of invalid codepoints in String#lstrip and String#rstrip
I submitted a pull request to always raise an exception for rstrip strings with broken coderange: https://github.com/ruby/ruby/pull/6282
That may not match the lstrip behavior exactly, as it complains about cases where the broken code...
jeremyevans0 (Jeremy Evans)
07:14 PM Bug #18883 (Rejected): parse.y: trailing comma cannot coexist with star
After giving this some more thought, I am fairly sure this is not a bug, and I'm rejecting this. @zverok is correct, a trailing comma is an implicit splat, and you cannot have multiple splats in a multiple assignment, so a syntax error ... jeremyevans0 (Jeremy Evans)
07:04 PM Bug #18908: Allow username and password to be extracted from the http_proxy variable on Windows
I agree that we should remove the restriction. I submitted a pull request for that: https://github.com/ruby/net-http/pull/66 jeremyevans0 (Jeremy Evans)
05:54 PM Revision 28a34346 (git): Disable Ractor check on 32bit architectures
Ractor verification requires storing the ractor id in the top 32 bits of
the object header. Unfortunately 32 bit machines only have 32 bits in
the object header. The verification code has a 32 bit left shift which
doesn't work on i686 ...
tenderlovemaking (Aaron Patterson)
05:43 PM Revision fa9f4d38 (git): * 2022-08-25 [ci skip]
git[bot]
05:42 PM Revision b4be3c00 (git): add --yjit-dump-iseqs param (https://github.com/Shopify/ruby/pull/332)
noahgibbs (Noah Gibbs)
05:08 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
The Ruby build linked to above had incorrect bash scripts. Fixed as of now. Sorry, bad day yesterday, too many interruptions... MSP-Greg (Greg L)
04:58 PM Bug #18945 (Closed): node_id is not initialized but it is used leading to UB
Pull requested merged at commit:c69ad738dc7c713df547a51607917ca78df6b793 jeremyevans0 (Jeremy Evans)
04:43 PM Bug #18780 (Closed): Incorrect binding receiver for C API rb_eval_string()
Fixed by commit:5bbba76489628f4509495ebf4ba0a7aad4c0b560 jeremyevans0 (Jeremy Evans)
08:59 AM Revision 0ad9cc16 (git): [rubygems/rubygems] Backport non-gnu libc on linux platform matching to Bundler
https://github.com/rubygems/rubygems/commit/703373b41f
Co-authored-by: Loic Nageleisen <[email protected]>
deivid (David Rodríguez)
08:45 AM Feature #18559: Allocation tracing: Objects created by the parser are attributed to Kernel.require
I had a quick chat with @ko1, he plans to try a better implementation after RubyKaigi (mid-september).
I'll hold on this.
byroot (Jean Boussier)
01:36 AM Revision 314b76a5 (git): test/-ext-/eval/test_eval.rb: Prevent "assigned but unused variable"
mame (Yusuke Endoh)

08/23/2022

11:00 PM Bug #18937: Inconsistent definitions of Complex#<=> and Numeric#<=> with others
nobu (Nobuyoshi Nakada) wrote in #note-4:
> I agree that `Complex#<=>` should coerce the argument as well as other methods/classes.
> ...
Thanks @nobu .
But `#coerce` is not called when a custom numeric class has `def real? = false` f...
msnm (Masahiro Nomoto)
10:37 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
@nobu & @Eregon
I just tried the prolog_script script branch. Wondering if the following example would be fine with everyone? It seems to work for me locally. If they're run as 'in path' commands, they work, if they're run from the f...
MSP-Greg (Greg L)
04:52 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
I also noticed `which rake` does not work on Ruby 2.5+, but it does work on Ruby < 2.5:
https://github.com/ruby/setup-ruby/runs/7938245817?check_suite_focus=true
austin (Austin Ziegler) wrote in #note-10:
> Do we need the multi-language...
Eregon (Benoit Daloze)
10:20 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
I think it is a bug. I submitted a pull request to fix it: https://github.com/ruby/ruby/pull/6280. Not sure if the approach taken is the best way, though. jeremyevans0 (Jeremy Evans)
09:28 PM Revision feff6833 (git): * 2022-08-24 [ci skip]
git[bot]
09:27 PM Revision 60c900f4 (git): Add @k0kubun to CODEOWNERS for YJIT
maximecb (Maxime Chevalier-Boisvert)
05:50 PM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/6276 jeremyevans0 (Jeremy Evans)
02:54 PM Bug #18973: Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
I noticed https://github.com/ruby/ruby/blob/master/benchmark/app_aobench.rb seems to rely on this behavior.
But that is easily fixed by using `# coding: BINARY` instead of `# coding: US-ASCII`.
I think it would be good to fix this is...
Eregon (Benoit Daloze)
02:42 PM Bug #18973 (Closed): Kernel#sprintf: %c allows codepoints above 127 for 7-bits ASCII encoding
I've noticed the following behavior:
```ruby
sprintf("%c".encode("US-ASCII"), 128)
=> "\x80"
sprintf("%c".encode("US-ASCII"), 128).valid_encoding?
=> false
```
Specifying codepoints 128-255 for ASCII encoded formatting seque...
andrykonchin (Andrew Konchin)
03:49 PM Bug #18972 (Rejected): String#byteslice should return BINARY (aka ASCII-8BIT) Strings
Ok, I suppose your point of view make sense, and either way the backward compatibility concern is just too big.
Closing.
byroot (Jean Boussier)
01:44 PM Bug #18972: String#byteslice should return BINARY (aka ASCII-8BIT) Strings
I think the current behavior is better, `String#byteslice` is not only used for BINARY strings.
In fact for binary strings (and other fixed-width encodings), there is no point to use byteslice over slice/[].
For instance, one might w...
Eregon (Benoit Daloze)
11:03 AM Bug #18972 (Rejected): String#byteslice should return BINARY (aka ASCII-8BIT) Strings
While working on implementing https://bugs.ruby-lang.org/issues/13626, I noticed `byteslice` assign the receiver encoding to the returned String.
I believe this is incorrect, as since you are doing a byte based operation, you do expec...
byroot (Jean Boussier)
03:32 PM Feature #13626: Add String#byteslice!
The PR is here in case someone feels like reviewing: https://github.com/ruby/ruby/pull/6275
As for the recently raised concerns, I don't really have any strong opinion. I implemented this on @ioquatix 's demand, I personally believe t...
byroot (Jean Boussier)
01:56 PM Feature #13626: Add String#byteslice!
I think there is a misunderstand of what `byte*` methods are for.
`byte*` methods are for dealing with byte indices and avoid the conversion between byte and character indices (which can be expensive for UTF-8).
`byte*` methods are n...
Eregon (Benoit Daloze)
01:48 PM Feature #13626: Add String#byteslice!
Why not simply `String#slice!` if the string encoding is BINARY?
```ruby
result = @read_buffer.slice!(size) # @read_buffer must be in the BINARY encoding
```
For IO buffers, I think it's reasonable to ensure every string appended i...
Eregon (Benoit Daloze)
10:09 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
`TestProcess#test_daemon_noclose` passed with `export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES` from https://github.com/rails/rails/issues/38560
hsbt (Hiroshi SHIBATA)
09:01 AM Revision 46c3a939 (git): [ruby/irb] Drop hard dependency on RDoc.
This has been introduced in https://github.com/ruby/irb/commit/026700499dfd,
but it seems that this is just be mistake, otherwise the later handling
of `LoadError` would not be needed.
https://github.com/ruby/irb/commit/54c8df06ff
Vít Ondruch
07:52 AM Revision 983115cf (git): [ruby/fileutils] FileUtils.rm* methods swallows only Errno::ENOENT when force is true
... instead of any StandardError.
To behave like the standard `rm` command, it should only ignore
exceptions about not existing files, not every exception. This should
make debugging some errors easier, because the expectation is that `...
mame (Yusuke Endoh)
07:52 AM Revision 96562a51 (git): [ruby/fileutils] Narrow the scope of ensure
The ensure in postorder_traverse was added for [Bug #6756].
The intention was to try to delete the parent directory if it failed to
get the children. (It may be possible to delete the directory if it is
empty.)
However, the ensure regio...
mame (Yusuke Endoh)
07:52 AM Revision 073f3b7e (git): [ruby/fileutils] Fix the test permission of "test_rm_rf"
The test was added for [Bug #6756]. The ticket insisted
`FileUtils.rm_rf` should delete an empty directory even if its
permission is 000. However, the test tried to delete a directory with
permission 700.
https://github.com/ruby/fileuti...
mame (Yusuke Endoh)
06:44 AM Bug #18971: Enumerator::Lazy.take(0) leaks first element into next operation
You're right. I just tested again and apparently even 3.1.2p20 has this issue. Voileexperiments (Library Voile)
05:58 AM Bug #18971: Enumerator::Lazy.take(0) leaks first element into next operation
Are you sure this has been fixed? I tried with Ruby 2.7-3.1 and current master and did not get all `[]` results on any Ruby version I tested.
There is specific code to deal with an argument of 0, though I don't understand what it doe...
jeremyevans0 (Jeremy Evans)
03:52 AM Bug #18971: Enumerator::Lazy.take(0) leaks first element into next operation
Upon more testing apparently this has been fixed in `3.0.2p107 (2021-07-07 revision 0db68f0233)`.
However I can't find a commit between p0 and p107 related to this change.
Voileexperiments (Library Voile)
03:05 AM Bug #18971 (Closed): Enumerator::Lazy.take(0) leaks first element into next operation
These results with lazy enumerators are as expected:
``` ruby
(2..10).take(0).to_a # => []
(2..10).take(0).map(:&itself).to_a # => []
(2..10).lazy.take(0).to_a # => []
```
However, once another operation is added after `take(0)...
Voileexperiments (Library Voile)
06:33 AM Revision 7c784f0a (git): [rubygems/rubygems] Bundler: avoid use of "can not" in spec literals
Signed-off-by: Takuya Noguchi <[email protected]>
https://github.com/rubygems/rubygems/commit/73b5cf9bd1
Takuya Noguchi
05:28 AM Revision 22a416a3 (git): [rubygems/rubygems] Bundler: update the link suggested on error with the new one
Also typo is fixed.
Signed-off-by: Takuya Noguchi <[email protected]>
https://github.com/rubygems/rubygems/commit/9c1ea52ddf
Takuya Noguchi
05:04 AM Revision 9f6fcfcd (git): Ubuntu 18.04 in GHA is deprecated from Aug 8,2022
https://github.com/actions/runner-images/issues/6002 hsbt (Hiroshi SHIBATA)
03:49 AM Revision 892fe9bb (git): omit all assertions at TestIO_Console#test_intr when running with FreeBSD
hsbt (Hiroshi SHIBATA)
03:00 AM Bug #18941: Endless loop with a memory leak in FileUtils::mkpath
https://github.com/ruby/ruby/commit/70f69f85395f5735429cd45136d7de2742f08b72 hsbt (Hiroshi SHIBATA)
02:59 AM Bug #18941 (Closed): Endless loop with a memory leak in FileUtils::mkpath
hsbt (Hiroshi SHIBATA)
02:28 AM Revision 545c2b00 (git): Fix an inconsistent include guard macro
I was thinking about making it internal/mjit.h, but didn't. k0kubun (Takashi Kokubun)
01:45 AM Revision c1ecc498 (git): Use rbs HEAD for https://github.com/ruby/rbs/pull/1090
hsbt (Hiroshi SHIBATA)
01:45 AM Revision f69244ce (git): Merge rubygems/bundler HEAD
Pick from https://github.com/rubygems/rubygems/commit/6b3a5a9ab0453463381a8164efb6298ea9eb776f hsbt (Hiroshi SHIBATA)
01:45 AM Revision 4790d0ac (git): [rubygems/rubygems] Fix conservative update downgrading top level gems
When `--conservative` is passed, explicit unlocks are set for top level
gems via `@unlock[:gems]`, so that only those particular gems are
allowed to be updated.
When we compute the "base resolve" from the lockfile (the set of gems
whose...
deivid (David Rodríguez)
01:45 AM Revision c21c9a29 (git): [rubygems/rubygems] Refactor building metadata dependencies
https://github.com/rubygems/rubygems/commit/fa60f1fe43 deivid (David Rodríguez)
01:45 AM Revision a9509068 (git): [rubygems/rubygems] Make `compact_index_api_missing` server more strict
The compact index should not request any marshaled gemspecs whatsoever.
https://github.com/rubygems/rubygems/commit/6dbd44d0c0
deivid (David Rodríguez)
01:45 AM Revision 29c443fe (git): [rubygems/rubygems] Remove unnecessary mixin inclusion
It's already included by the parent.
https://github.com/rubygems/rubygems/commit/3ffe389c44
deivid (David Rodríguez)
01:45 AM Revision b30fc03e (git): [rubygems/rubygems] Centralize loading `Bundler::MatchPlatform` mixin
It's explicitly loaded when monkeypatching RubyGems, which we do very
early. So neither autoloading it, nor explicitly loading it anywhere
else is necessary.
https://github.com/rubygems/rubygems/commit/fbc7a57161
deivid (David Rodríguez)
12:04 AM Revision 6465a533 (git): [DOC] Remove extra page-dir prefix
nobu (Nobuyoshi Nakada)

08/22/2022

08:50 PM Revision 59f27445 (git): [rubygems/rubygems] Implement extra rules for libc versioning
https://github.com/rubygems/rubygems/commit/7e976d790a deivid (David Rodríguez)
08:50 PM Revision 492e70c7 (git): [rubygems/rubygems] Fix `gem install` still choosing musl incorrectly
https://github.com/rubygems/rubygems/commit/1b9f7f50a5 deivid (David Rodríguez)
08:50 PM Revision 06ae78f8 (git): [rubygems/rubygems] Remove unnecessary variables
https://github.com/rubygems/rubygems/commit/b5e0c683d9 deivid (David Rodríguez)
08:50 PM Revision 98192830 (git): [rubygems/rubygems] Handle non-gnu libc on linux platforms in RubyGems
Attempting to install a gem published as both *-linux and *-linux-musl
results in the incorrect gem being picked up, causing build failures due
to binary incompatibility. This is caused by the `nil` wildcard
swallowing the libc informati...
deivid (David Rodríguez)
08:50 PM Revision f254b673 (git): [rubygems/rubygems] Test platform parsing stability
On past versions there were observed cases of inconsistencies when some
platforms were re-parsed.
Ensure that a platform's string representation parses again in a
platform object equal to the original.
https://github.com/rubygems/rubyg...
lloeki (Loic Nageleisen)
08:50 PM Revision 615f79be (git): [rubygems/rubygems] Test platform's version-ness consistently
The symmetry with the "for command line" case is made more apparent.
https://github.com/rubygems/rubygems/commit/ab85d3558f
lloeki (Loic Nageleisen)
07:40 PM Revision 085790bd (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.29 to 0.9.30.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.29...v0.9.30)
---
updated-depende...
dependabot[bot]
07:31 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
MSP-Greg (Greg L) wrote in #note-9:
> @nobu - I will try that build, but I can't until later.
> ...
Do we need the multi-language header anymore with `ruby -S binary`? It seems to me that `bin/bundle` could be what it is now with *only...
austin (Austin Ziegler)
04:48 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
@nobu - I will try that build, but I can't until later.
I don't know what the best approach is for Windows binstubs. Ruby-loco and RubyInstaller2 have always supplied 'portable' builds, not sure if that should be the case for a stand...
MSP-Greg (Greg L)
02:49 PM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Unfortunately I can't build ruby from source on Windows myself to test, maybe @MSP-Greg can test that?
From above:
> rake has the header on 2.6-3.0 though and is seen as executable:
Specifically:
```
$ cat rubyinstaller-3.0.4-1-...
Eregon (Benoit Daloze)
01:54 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Does this work?
https://github.com/nobu/ruby/tree/prolog_script
nobu (Nobuyoshi Nakada)
06:17 PM Revision aeac8b6c (git): [DOC] Addition to section 'Related Methods' (#6271)
Addition to section 'Related Methods': suggests adding differentiators to the names of related methods. burdettelamar (Burdette Lamar)
05:26 PM Revision a9ee1336 (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.29 to 0.9.30.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.29...v0.9.30)
---
updated-depende...
dependabot[bot]
05:14 PM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
byroot (Jean Boussier) wrote in #note-8:
> The fix is here: https://github.com/tmm1/stackprof/pull/186 I'll try to get a release soon.
> ...
I merged it and shipped 0.2.21. Thanks!
tenderlovemaking (Aaron Patterson)
11:29 AM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
The fix is here: https://github.com/tmm1/stackprof/pull/186 I'll try to get a release soon.
@RubyBugs in the meantime I suggest sticking to `0.2.19`.
byroot (Jean Boussier)
11:18 AM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
As pointed by @eregon I planned experimenting with this and raising it at some point -- the change in https://github.com/ruby/ruby/commit/0e276dc458f94d9d79a0f7c7669bde84abe80f21 did reorder things as far as the C source goes, but as far... ivoanjo (Ivo Anjo)
10:57 AM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
i.e., rb_profile_frames is called at a random place and that's not supported on < 3.0.
(TBH even on >= 3.0 I wonder if it's truly supported, it seems pretty dangerous to call rb_profile_frames()/anything not-async-signal-safe from a sig...
Eregon (Benoit Daloze)
10:54 AM Bug #18967 (Third Party's Issue): Segmentation fault in stackprof with Ruby 2.7.6
I found the bug: https://github.com/tmm1/stackprof/pull/180/files#r951294711 Eregon (Benoit Daloze)
02:03 AM Bug #18967 (Open): Segmentation fault in stackprof with Ruby 2.7.6
Thank you for providing the full stack trace. In conclusion, I couldn't find the cause, sorry.
Ruby 2.7 is under the security maintenance phase (maybe EOL next March), so I'd recommend to use Ruby 3.0 or later as soon as possible.
Ma...
mame (Yusuke Endoh)
04:22 PM Revision c96ffec9 (git): * 2022-08-23 [ci skip]
git[bot]
04:21 PM Revision b8d142e7 (git): [DOC] Enhanced RDoc for Time (#6267)
Treats:
#utc
#getlocal
#getutc
#ctime
#to_s
#inspect
burdettelamar (Burdette Lamar)
02:15 PM Revision 148d0ccd (git): [DOC] Fix a type [ci skip]
nobu (Nobuyoshi Nakada)
02:15 PM Revision f9990434 (git): [DOC] Remove extra page-dir prefix
nobu (Nobuyoshi Nakada)
09:52 AM Revision 13d31331 (git): Reuse `nonlocal_var` patterns
S_H_ (Shun Hiraoka)
09:08 AM Revision d91865f3 (git): Ignore `.document` only commits [ci skip]
nobu (Nobuyoshi Nakada)
08:16 AM Bug #18937 (Closed): Inconsistent definitions of Complex#<=> and Numeric#<=> with others
Applied in changeset commit:git|d5f50463c2b5c5263aa45c58f3f4ec73de8868d5.
----------
[Bug #18937] Coerce non-Numeric into Complex at comparisons
nobu (Nobuyoshi Nakada)
03:33 AM Bug #18937: Inconsistent definitions of Complex#<=> and Numeric#<=> with others
I agree that `Complex#<=>` should coerce the argument as well as other methods/classes.
https://github.com/ruby/ruby/pull/6269
nobu (Nobuyoshi Nakada)
08:12 AM Revision f0a7694f (git): Show the exact version of cl.exe [ci skip]
[Misc #18362] is fixed at cl.exe 19.33.31629. nobu (Nobuyoshi Nakada)
07:48 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
@jeremyevans0
> I'm not sure whether this issue should be considered a bug, but it may be safe not to backport the fix to stable versions.
Yes, that's what I had originally, in review I changed it to `ruby_bug`. Happy to put it back.
...
shioyama (Chris Salzberg)
06:19 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-3:
> @jeremyevans0 You [most recently contributed to the `wrap` option](https://bugs.ruby-lang.org/issues/6210), what do you think about this? Am I correct to consider this a bug, and [this](http...
shugo (Shugo Maeda)
05:02 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-3:
> @jeremyevans0 You [most recently contributed to the `wrap` option](https://bugs.ruby-lang.org/issues/6210), what do you think about this? Am I correct to consider this a bug, and [this](http...
jeremyevans0 (Jeremy Evans)
04:30 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
I'm new to contributing to Ruby, but I haven't gotten a response on this in a couple weeks so wondering if maybe this requires more context.
For reference, here are the docs on the `wrap` parameter to [`Kernel#load`](https://ruby-doc.or...
shioyama (Chris Salzberg)
03:48 AM Bug #18946: Time#to_date returns incorrect date
Fixed this issue itself, but turned out Psych had a related issue.
The YAML spec doesn’t considered the calendar systems.
Although I [reported], as it hasn’t been concluded yet, the failing test is excluded now at commit:git|79fdf9712d...
nobu (Nobuyoshi Nakada)
03:26 AM Revision d5f50463 (git): [Bug #18937] Coerce non-Numeric into Complex at comparisons
nobu (Nobuyoshi Nakada)
03:23 AM Revision d0b17a4d (git): Adjust space-width for help message
hsbt (Hiroshi SHIBATA)
03:23 AM Revision 6afb4f0a (git): Added help entry for test-bundler-parallel
hsbt (Hiroshi SHIBATA)
03:18 AM Revision 954f709f (git): NEWS.md: sort [ci skip]
znz (Kazuhiro NISHIYAMA)
02:40 AM Revision 3d6baad7 (git): Added syntax_suggest entry to NEWS
hsbt (Hiroshi SHIBATA)
02:11 AM Feature #18159 (Closed): Integrate functionality of syntax_suggest gem into Ruby
I finished promoting @schneems to Ruby committer. hsbt (Hiroshi SHIBATA)
01:12 AM Revision 70f69f85 (git): [ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7 deivid (David Rodríguez)

08/21/2022

07:23 PM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
Per @eregon on https://github.com/tmm1/stackprof/issues/182#issuecomment-1221274946 -
It appears that the stackprof gem may have been segfaulting in CI for some time: https://github.com/tmm1/stackprof/actions/workflows/ci.yml
RubyBugs (A Nonymous)
06:54 PM Bug #18967: Segmentation fault in stackprof with Ruby 2.7.6
mame (Yusuke Endoh) wrote in #note-1:
> Thank you for your report. At least we need the full trace, especially. "C level backtrace information" section. Can you provide it?
Hello! Thank you. I have captured the full trace, and attach...
RubyBugs (A Nonymous)
06:35 PM Revision 9f3140a4 (git): Remove mjit_exec benchmarks
Now that mjit_exec doesn't exist, those files feel old. I'll probably
change how I benchmark it when I add benchmarks for it again.
k0kubun (Takashi Kokubun)
06:33 PM Revision a60507f6 (git): Rename mjit_compile.c to mjit_compiler.c
I'm planning to introduce mjit_compiler.rb, and I want to make this
consistent with it. Consistency with compile.c doesn't seem important
for MJIT anyway.
k0kubun (Takashi Kokubun)
06:22 PM Feature #12075: some container#nonempty?
I am assuming you do not want to use each which does correct thing if container is non empty . I assume you want map method that return same type of container. Why not just add a new map method?
Hash#fmap>. Hash
Array#fmap -> Array
O...
dsisnero (Dominic Sisneros)
04:36 PM Revision 73f8027a (git): * 2022-08-22 [ci skip]
git[bot]
04:36 PM Revision 936327a5 (git): [DOC] Enhanced RDoc for Time (#6255)
Treats:
#utc
#hash
#localtime
burdettelamar (Burdette Lamar)
02:24 PM Bug #18899: Inconsistent argument handling in IO#set_encoding
Can anyone confirm if this is a bug or intended behavior? I've taken a look at the code that implements this, and there are 2 pretty independent code paths for handling the single string argument case and the multiple argument case. If... javanthropus (Jeremy Bopp)
12:13 PM Feature #18965: Further Thread::Queue improvements
byroot (Jean Boussier) wrote in #note-10:
> Is it true for both push and pop? I can see the issue for push, but no so much for pop.
Interesting, for `LinkedBlockingQueue` there is `java.util.concurrent.BlockingQueue#drainTo(java.util...
Eregon (Benoit Daloze)
11:38 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
I also noted from the run above, on 2.6-3.0:
```
# Output from 2.6
$ ls -l $(dirname $(which ruby))
total 3627
-rw-r--r-- 1 runneradmin None 672 Apr 19 20:27 bundle.cmd
-rw-r--r-- 1 runneradmin None 674 Apr 19 20:27 bundler...
Eregon (Benoit Daloze)
11:27 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Here is another run, where none of the Rubies does a `gem install Bundler`.
https://github.com/eregon/setup-ruby/runs/7938431059?check_suite_focus=true
2.6, 2.7 and 3.0 all fail `bundle install` in bash with `bundle: command not foun...
Eregon (Benoit Daloze)
11:17 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Another thought, maybe `-ls -l` in bash shows the `x` bit if the file starts with a shebang or is a native executable, but due to this header it's neither? Eregon (Benoit Daloze)
11:11 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
@nobu Thank you for the explanation, quite clever code.
I think it is still an issue due to being fragile/inconsistent that this header only exists for bin/* files shipped with Ruby but not for bin/* files installed by RubyGems later....
Eregon (Benoit Daloze)
04:40 AM Bug #18970: CRuby adds an invalid header to bin/bundle (and others) which makes it unusable in Bash on Windows
Eregon (Benoit Daloze) wrote in #note-1:
> Ah, maybe this cryptic header actually works for Bash too?
The header is polyglot (triglot?) code.
For `/bin/sh`, the first `:""` successes and the block after `||` is not executed, then in th...
nobu (Nobuyoshi Nakada)
11:06 AM Revision b043dd9c (git): Check the room including the space to fill
nobu (Nobuyoshi Nakada)
11:01 AM Revision 0cc98969 (git): Add invalid hexadecimal float tests
nobu (Nobuyoshi Nakada)
08:54 AM Revision 560941e7 (git): [rubygems/rubygems] Fix edge case where `bundler/inline` unintentionally skips install
If the application has the `no_install` setting set for `bundle
package`, then `bundler/inline` would silently skip installing any gems.
https://github.com/rubygems/rubygems/commit/7864f49b27
deivid (David Rodríguez)
08:53 AM Revision b87ddd75 (git): [rubygems/rubygems] Fix `bundle platform` crash when there's a lockfile with no Ruby locked
https://github.com/rubygems/rubygems/commit/49fc54e87d deivid (David Rodríguez)
05:12 AM Feature #18959: Handle gracefully nil kwargs eg. **nil
In my opinion, putting the whole subhash `{id: id}` within a condition like that is redundant and ugly.
That is one (but not the only) reason that I had asked for `Hash#compact`in #11818 (which is available). Using this, your code ca...
sawa (Tsuyoshi Sawada)
05:04 AM Revision f6d4d73a (git): Use `rb_fork` to suppress deprecated-declarations warnings
nobu (Nobuyoshi Nakada)
01:36 AM Revision b93d554b (git): Fix a typo [ci skip]
k0kubun (Takashi Kokubun)
01:35 AM Revision ddf96b76 (git): Drop mswin support of MJIT (#6265)
The current MJIT relies on SIGCHLD and fork(2) to be performant, and
it's something mswin can't offer. You could run Linux MJIT on WSL
instead.
[Misc #18968]
k0kubun (Takashi Kokubun)
 

Also available in: Atom