Project

General

Profile

Activity

From 09/18/2022 to 09/24/2022

09/24/2022

10:14 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
@joshc thanks for your work investigating this issue and please let me know once you are ready for another code review. ioquatix (Samuel Williams)
10:11 PM Revision 205c252e (git): Reuse rb_method_call_kw function
S_H_ (Shun Hiraoka)
10:05 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Perhaps this commit is the cause.
https://github.com/ruby/ruby/commit/fbaac837cfba23a9d34dc7ee144d7940248222a2
osyo (manga osyo)
09:26 AM Bug #19021 (Closed): Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Report a `[BUG] Stack consistency error` on ruby 3.2.0-dev.
## Code
```ruby
# sample.rb
p RUBY_DESCRIPTION
#...
osyo (manga osyo)
09:17 AM Bug #19020 (Closed): Unexpected timeout thread appears in ThreadGroup
The new timeout implementation creates a thread at the very first use.
This has the side effect, that this managemen...
larskanis (Lars Kanis)
06:13 AM Revision 08476c45 (git): Remove unneeded semicolons
k0kubun (Takashi Kokubun)
06:07 AM Revision b0e3ee45 (git): Suppress -Wtype-limits warnings on mjit_c.rb
k0kubun (Takashi Kokubun)
12:41 AM Bug #18960 (Closed): Module#using raises RuntimeError when called at toplevel from wrapped script
Applied in changeset commit:git|82ac4a2399516a3ffda750b815c244aad6d38277.
----------
Support using at toplevel in wr...
shioyama (Chris Salzberg)
12:41 AM Revision 82ac4a23 (git): Support using at toplevel in wrapped script
Allow refinements to be used at the toplevel within a script that is
loaded under a module.
Fixes [Bug #18960]
shioyama (Chris Salzberg)

09/23/2022

10:58 PM Feature #19008: Introduce coverage support for `eval`.
@jeremyevans0 now I understand your motivation.
To summarise:
- Coverage is always going to be imprecise.
- Mo...
ioquatix (Samuel Williams)
03:24 PM Feature #19008: Introduce coverage support for `eval`.
ioquatix (Samuel Williams) wrote in #note-13:
> Thanks Jeremy.
>
> > Your use case (ERB coverage) is apparently l...
jeremyevans0 (Jeremy Evans)
07:34 AM Feature #19008: Introduce coverage support for `eval`.
mame (Yusuke Endoh) wrote in #note-10:
> @ioquatix I found yet another issue. It does not work with oneshot coverage...
mame (Yusuke Endoh)
02:53 AM Feature #19008: Introduce coverage support for `eval`.
```ruby
Coverage.start(eval_key: ->(file, line){"eval-#{file}:#{line}"})
```
What problem are you trying to solve?
ioquatix (Samuel Williams)
02:07 AM Feature #19008: Introduce coverage support for `eval`.
@mame thanks for your test cases, we should add them to the tests, I'll figure out why it's not working. ioquatix (Samuel Williams)
02:05 AM Feature #19008: Introduce coverage support for `eval`.
Thanks Jeremy.
> Your use case (ERB coverage) is apparently limited to files that aren't required. However, eval m...
ioquatix (Samuel Williams)
10:57 PM Revision a74f4cde (git): Remove reference to __classid__
This used to be used for module names but its uses were removed in
b00f280d4b9569e7153365d7e1c522b3d6b3c6cf.
jhawthorn (John Hawthorn)
08:17 PM Revision 912ea825 (git): YJIT: Support Rust 1.58.1 for --yjit-stats on Arm (#6410)
* YJIT: Test Rust 1.58.1 as well on Cirrus
* YJIT: Avoid using a Rust 1.60.0 feature
* YJIT: Use autoconf to detect...
k0kubun (Takashi Kokubun)
06:53 PM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta

From my further debugging, I found that CoreFoundation internally creates NSTaggedPointerString for small strings s...
katei (Yuta Saito)
05:16 PM Feature #12084: `Class#instance`
Dan0042 (Daniel DeLorme) wrote in #note-12:
> I think it would be nicer if `#attached_object` returns nil instead of...
ufuk (Ufuk Kayserilioglu)
01:19 PM Feature #12084: `Class#instance`
I think it would be nicer if `#attached_object` returns nil instead of raising an error. Since nil can't be a valid r... Dan0042 (Daniel DeLorme)
03:40 PM Feature #18951: Object#with to set and restore attributes around a block
`#with` is not a good name. For a method defined on Object, the semantics should be the same on all classes in ruby. ... Dan0042 (Daniel DeLorme)
03:30 PM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
jeremyevans0 (Jeremy Evans)
05:25 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
Ok, I'm wrong. This seems to work. We can close this issue. Turns out the problem is in gRPC, not Ruby: https://githu... stanhu (Stan Hu)
05:08 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
I submitted https://github.com/ruby/ruby/pull/6424. That method could use some cleanup. stanhu (Stan Hu)
04:46 AM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
Currently `URI::Generic.use_proxy?` does not treat the `no_proxy` strings as a comma-delimited value: https://github.... stanhu (Stan Hu)
03:04 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
Forgot to add the link to the draft PR: https://github.com/ruby/ruby/pull/6423.
> I think we should solve this in ...
joshc (Josh C)
07:01 AM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
I think we should solve this in IO, not in Net::HTTP. Checking the class/type is a strong indication to me that the p... ioquatix (Samuel Williams)
03:02 PM Revision 7588f218 (git): Allow changing conversion macro in MJIT bindgen
This is necessary for object shapes. k0kubun (Takashi Kokubun)
02:41 PM Revision 3ddab3a8 (git): [DOC] Housekeeping in iostreams doc (#6420)
Write some method names in linkable form; make some capitalization consistent. burdettelamar (Burdette Lamar)
12:57 PM Feature #18885: End of boot advisory API for RubyVM
+1 for Process.warmup Dan0042 (Daniel DeLorme)
12:55 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Here's a use case for a `rm_f` that only ignores ENOENT errors. Before processing, you want to delete a cache file (t... Dan0042 (Daniel DeLorme)
10:28 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-14:
> @shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) a...
shugo (Shugo Maeda)
05:58 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
@shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) and added a spec calling a method which calls `us... shioyama (Chris Salzberg)
02:51 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-12:
> Oh never mind, I see. My PR results in the error with `require` but t...
shugo (Shugo Maeda)
01:36 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
Oh never mind, I see. My PR results in the error with `require` but the `unreachable` BUG with `load`.
Ok I'll try...
shioyama (Chris Salzberg)
01:30 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
@shugo
Actually, it seems the same problem _is_ there with `require`:
```ruby
# foo.rb
def foo
using Module.new
...
shioyama (Chris Salzberg)
01:25 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
Hmm, ok this is where I originally encountered this problem:
https://github.com/rails/rails/blob/b9493a47e65287f3b13...
shioyama (Chris Salzberg)
08:39 AM Feature #19019: Nicely formatted exception messages in HTML
> I believe that what kind of HTML fragment is needed is not up to error_highlight or the authors of exception classe... ioquatix (Samuel Williams)
08:15 AM Feature #19019: Nicely formatted exception messages in HTML
Now error_highlight provides an API `ErrorHighlight.spot(...)` to take the column information programmatically, and R... mame (Yusuke Endoh)
07:52 AM Feature #19019 (Open): Nicely formatted exception messages in HTML
We have made a lot of improvements to exception formatting. See https://bugs.ruby-lang.org/issues/18296 for details.
...
ioquatix (Samuel Williams)
08:01 AM Feature #18438 (Closed): Add `Exception#additional_message` to show additional error information
I have already merged the PR. Closing. mame (Yusuke Endoh)
07:42 AM Feature #18296 (Closed): Custom exception formatting should override `Exception#full_message`.
I'm satisfied that this has been fully addressed and the design is much better. Thanks everyone. ioquatix (Samuel Williams)
07:40 AM Revision a78c733c (git): Revert "Revert "error.c: Let Exception#inspect inspect its message""
This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce.
[Bug #18170]
mame (Yusuke Endoh)
07:40 AM Bug #18170: Exception#inspect should not include newlines
After the commit, some tests of debug gem started failing, so I tentatively reverted it at https://github.com/ruby/ru... mame (Yusuke Endoh)
07:11 AM Bug #18170: Exception#inspect should not include newlines
I tested this on current Ruby head, and I can't seem to get the proposed new behaviour:
```ruby
> p StandardError...
ioquatix (Samuel Williams)
07:38 AM Feature #18194 (Closed): No easy way to format exception messages per thread/fiber scheduler context.
I think we've achieved enough of the interface to make this a non-issue, i.e. with `Exception#message` being preserve... ioquatix (Samuel Williams)
06:35 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
@matz @naruse do you agree with the current PR?
```ruby
class TimeoutError < StandardError
end
class IO::TimeoutErr...
ioquatix (Samuel Williams)
12:44 AM Feature #16122: Data: simple immutable value object
Could you summarize the up-to-date proposed specification of Data class, please?
For the record, I accept `define` i...
matz (Yukihiro Matsumoto)

09/22/2022

11:55 PM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
I guess SEGV is caused by `using` in a method body, which should be prohibited even in a wrapped script. shugo (Shugo Maeda)
11:41 PM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
Thanks! I'll do that and update here once the PR is again ready for review. shioyama (Chris Salzberg)
10:39 PM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
We discussed this issue at the dev meeting. No one objected to correcting this behavior, but the proposed PR is unacc... mame (Yusuke Endoh)
11:52 PM Revision 6e46bf1e (git): Just a star [ci skip]
nobu (Nobuyoshi Nakada)
11:46 PM Feature #19010: Follow up of #18996: Support changing irb's autocompletion background
Briefly discussed at the dev meeting, but we agreed that we need to finish #18996 first.
Here are the opinions exp...
mame (Yusuke Endoh)
11:38 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
Discussed at the dev meeting. For the API style, how about `Reline.color_config` with a hash object like this?
```...
mame (Yusuke Endoh)
11:18 PM Feature #19015: Language extension by a heredoc
Wow, I am not the only such geek %)
My solution of the similar goal is 7 yo and it'll go to school soon.
```
$ git l...
estum (Anton (estum))
05:56 PM Feature #19015: Language extension by a heredoc
This is a tiny example of SQL.
Note that I'm newbe of SQL (I goooooooogled the syntax/api and the example is never te...
ko1 (Koichi Sasada)
10:51 AM Feature #19015: Language extension by a heredoc
one bikeshedding..
Usually syntax-suger in Ruby are mapped into methods whose names are very consistent with the s...
yugui (Yuki Sonoda)
08:46 AM Feature #19015: Language extension by a heredoc
I am not sure how serious this is (considering the "Apr 1" notice), but I have somewhat adjacent thought:
In many...
zverok (Victor Shepelev)
08:30 AM Feature #19015: Language extension by a heredoc
Would you mind to add also what's the output to the description? If I understand it well, following will be printed.
...
retro (Josef Šimánek)
07:38 AM Feature #19015: Language extension by a heredoc
Related I heard:
* [Template literals (Template strings) - JavaScript | MDN](https://developer.mozilla.org/en-US/d...
ko1 (Koichi Sasada)
03:22 AM Feature #19015 (Open): Language extension by a heredoc
This propose new heredoc extension with `<<!LANG` like
```ruby
doc = <<!LANG
# description written in lang LAN...
ko1 (Koichi Sasada)
11:14 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
We discussed the issue at the dev meeting (for very long time) and agreed to revert it once.
There are two possibl...
mame (Yusuke Endoh)
10:57 PM Feature #16122: Data: simple immutable value object
> I wonder about the “weird name” members…
Oh right. Left a note to self and missed it myself 🤦
I adjusted the te...
zverok (Victor Shepelev)
10:45 PM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote in #note-78:
> They are pretty different now ([this part](https://github.com/ruby/rub...
nobu (Nobuyoshi Nakada)
06:50 PM Feature #16122: Data: simple immutable value object
@ufuk @nobu Makes sense, right.
I adjusted the PR and removed the unification into the `define_struct` method. They ...
zverok (Victor Shepelev)
03:30 AM Feature #16122: Data: simple immutable value object
As @ufuk wrote 🙏, I don’t think the behavior worth to be kept.
In the case you want a name, you can assign it to a c...
nobu (Nobuyoshi Nakada)
10:44 PM Feature #19008: Introduce coverage support for `eval`.
mame (Yusuke Endoh) wrote in #note-11:
> > In the cases where I do care and I want to check coverage of evaled code,...
jeremyevans0 (Jeremy Evans)
10:26 PM Feature #19008: Introduce coverage support for `eval`.
@jeremyevans0 Thank you for joining the discussion!
jeremyevans0 (Jeremy Evans) wrote in #note-7:
> Considering t...
mame (Yusuke Endoh)
10:22 PM Feature #19008: Introduce coverage support for `eval`.
@ioquatix I found yet another issue. It does not work with oneshot coverage.
```ruby
require "coverage"
Covera...
mame (Yusuke Endoh)
09:50 PM Feature #19008: Introduce coverage support for `eval`.
ioquatix (Samuel Williams) wrote in #note-8:
> > I would prefer 3.
>
> @jeremyevans0 what's the use-case for your...
jeremyevans0 (Jeremy Evans)
09:25 PM Feature #19008: Introduce coverage support for `eval`.
> I would prefer 3.
@jeremyevans0 what's the use-case for your proposal, because it would be much harder to digest w...
ioquatix (Samuel Williams)
09:13 PM Feature #19008: Introduce coverage support for `eval`.
Considering the issues, could we make `eval` coverage optional, maybe by a keyword to `Coverage.start`? I'd prefer i... jeremyevans0 (Jeremy Evans)
08:53 PM Feature #19008: Introduce coverage support for `eval`.
@ioquatix Also I'd like to ask you:
* Please add a document to ext/coverage/coverage.c about the new spec for eval...
mame (Yusuke Endoh)
08:46 PM Feature #19008: Introduce coverage support for `eval`.
We discussed this proposal at the dev meeting, and @matz decided to give it a try.
@ioquatix has been merged the P...
mame (Yusuke Endoh)
10:36 PM Misc #18977: DevMeeting-2022-09-22
We could not discuss all agenda items in time. We will have an extra meeting at 6th Oct. mame (Yusuke Endoh)
09:47 PM Revision 4e40fdbc (git): YJIT: add chain guards in `guard_two_fixnums` (#6422)
* Add chain guards in guard_two_fixnums, opt_eq with symbols
* Remove symbol comparison in gen_equality_specialized
maximecb (Maxime Chevalier-Boisvert)
09:47 PM Revision 4b97f1e5 (git): YJIT: Refactor into gen_push_frame (#6412)
This refactors the "push frame" operation common to both gen_send_iseq
and gen_send_cfunc into its own method. This a...
jhawthorn (John Hawthorn)
09:44 PM Revision 0c9dc01a (git): Skip struct fields whose output differs
across different environments k0kubun (Takashi Kokubun)
09:44 PM Revision dfc311c0 (git): Swap the positions of offsetof and type
k0kubun (Takashi Kokubun)
09:44 PM Revision dc5b5364 (git): Bindgen offsetof struct and union with builtin
except for bit fields.
I made a risky assumption on leading bit fields and just gave up
non-leading bit fields for n...
k0kubun (Takashi Kokubun)
09:44 PM Revision 2ce1460c (git): Bindgen sizeof struct and union with builtin
k0kubun (Takashi Kokubun)
09:44 PM Revision 4c6e1556 (git): Bindgen immediate types with builtin
k0kubun (Takashi Kokubun)
09:44 PM Revision 280ff170 (git): Drop c_64 and c_32
k0kubun (Takashi Kokubun)
09:44 PM Revision 5cda5938 (git): Bindgen enum with builtin
k0kubun (Takashi Kokubun)
09:44 PM Revision 2f5b3753 (git): Builtin needs to be baseruby-compatible
k0kubun (Takashi Kokubun)
09:44 PM Revision 591c3c7a (git): Automatically setup bundler of bindgen.rb
to easily use it with `tool/mjit/bindgen.rb BUILDDIR` instead of using
`make mjit-bindgen`.
k0kubun (Takashi Kokubun)
09:44 PM Revision 4e0db2f7 (git): mjit_c.rb doesn't need to be an erb
k0kubun (Takashi Kokubun)
09:44 PM Revision 334b8bd4 (git): Mix manual and auto-generated C APIs
k0kubun (Takashi Kokubun)
09:44 PM Revision 00c441ce (git): Bindgen macro with builtin
k0kubun (Takashi Kokubun)
09:44 PM Revision e81a6124 (git): Auto-generate mjit_c.rb.erb
k0kubun (Takashi Kokubun)
09:44 PM Revision f2bea691 (git): Builtin RubyVM::MJIT::C
k0kubun (Takashi Kokubun)
09:10 PM Feature #19013: Error Tolerant Parser
Kevin's work has broader goals, e.g. being faster, consuming less memory, which should be free from yacc/bison limita... matz (Yukihiro Matsumoto)
03:04 AM Feature #19013: Error Tolerant Parser
The topic of parsing incomplete syntax also came up in Kevin Newton's talk (see https://rubykaigi.org/2022/presentati... duerst (Martin Dürst)
08:56 PM Bug #19017 (Open): Net::HTTP may block when attempting to reuse a persistent connection
Ruby's Net::HTTP code performs a blocking `Net::BufferedIO#eof?` check when attempting to reuse a persistent HTTP con... joshc (Josh C)
08:51 PM Revision 88bf8ad6 (git): Allow --enable-yjit on OpenBSD
yjit uses _Unwind_* functions from libunwind. These functions
are available in libc++abi (which requires libpthread)...
jeremyevans (Jeremy Evans)
05:29 PM Revision b5c459d5 (git): Adds a benchmark to measure freezing objects
jemmai (Jemma Issroff)
04:47 PM Revision fbaac837 (git): avoid extra dup and pop in compile_op_asgn2
Co-authored-by: John Hawthorn <[email protected]> HParker (Adam Hess)
04:47 PM Revision aafbc906 (git): avoid extra dup and pop in compile_op_log
Co-authored-by: John Hawthorn <[email protected]> HParker (Adam Hess)
01:28 PM Revision 4bdd8f2d (git): [ruby/reline] use assert_nothing_raised
https://github.com/ruby/reline/commit/f08be5da09 Otávio Schwanck dos Santos
01:28 PM Revision 696e8914 (git): [ruby/reline] PR changes
https://github.com/ruby/reline/commit/e8e8d81f47 Otávio Schwanck dos Santos
01:28 PM Revision 9d19d910 (git): [ruby/reline] Revert "update version"
This reverts commit https://github.com/ruby/reline/commit/ce1ac86179e6.
https://github.com/ruby/reline/commit/86602c...
Otávio Schwanck dos Santos
01:28 PM Revision 224a3ea7 (git): [ruby/reline] update version
https://github.com/ruby/reline/commit/ce1ac86179 Otávio Schwanck dos Santos
01:28 PM Revision 9fb18e63 (git): [ruby/reline] fix vi-operator-arg
https://github.com/ruby/reline/commit/d42cdb8f91 Otávio Schwanck dos Santos
12:07 PM Revision 69130e16 (git): Expand paths used for dumper.rb
This seems to be needed on Samuel's environment k0kubun (Takashi Kokubun)
10:22 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
@ko1 I've updated the PR with documentation to address your concerns. Do you have any other concerns? ioquatix (Samuel Williams)
10:19 AM Revision 9434a733 (git): Enable coverage for eval.
Samuel Williams
09:47 AM Bug #19016 (Closed): syntax_suggest is not working with Ruby 3.2.0-preview2
`syntax_suggest` is merged as default gems in Ruby 3.2.0-preview2. But it's not working yet.
```
$ cat bar.rb
de...
hsbt (Hiroshi SHIBATA)
08:31 AM Revision 4c37eaa9 (git): Update default gems list at 928aeef3301d4dc0de3b80ee80c8ef [ci skip]
git[bot]
08:29 AM Revision 928aeef3 (git): [ruby/cgi] Bump up 0.3.3
https://github.com/ruby/cgi/commit/c1ffa3a428 hsbt (Hiroshi SHIBATA)
06:50 AM Bug #19014: Backport commits to add the --with-gmp-dir option in the configure script
Please backport this to also both 2.7 and 3.0 if it can be done easily. mrkn (Kenta Murata)
06:46 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
> Is it enough?
Interesting, I never thought of that.
I think I can work with that, but then I think this behav...
byroot (Jean Boussier)
04:50 AM Feature #18982: Add an `exception: false` argument for Queue#push, Queue#pop, SizedQueue#push and SizedQueue#pop
`Queue#pop(timeout:0)` returns `nil` if Queue is empty. Is it enough? (and forget optional nonblock argument) ko1 (Koichi Sasada)
05:52 AM Feature #18885: End of boot advisory API for RubyVM
This is awesome. Nice work.
I also like `warmup` as a name.
ioquatix (Samuel Williams)
05:37 AM Revision f07e651a (git): Mentioned new constants for Process and Socket classes on NEWS.md
hsbt (Hiroshi SHIBATA)
05:20 AM Revision ec93d09c (git): add rb_execution_context
tenderlovemaking (Aaron Patterson)
05:20 AM Revision 083b4bb6 (git): add rb_control_frame_t
tenderlovemaking (Aaron Patterson)
03:54 AM Revision 9058ba21 (git): Binstubs test with relative path seems passing now
nobu (Nobuyoshi Nakada)
03:46 AM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
After playing with the committed new behavior, I have noticed some points, and changed my mind (I am sorry for being ... matz (Yukihiro Matsumoto)
02:42 AM Revision 830b2e21 (git): [rubygems/rubygems] Update GitLab CI template with new one
GitLab CI now needs the default keyword on specification of image
and before_script.
https://docs.gitlab.com/ee/ci/y...
Takuya Noguchi
02:35 AM Revision 6b0b326e (git): Followed up 796069b2882d8a67ecc36bda7c72affcbad09dae
hsbt (Hiroshi SHIBATA)

09/21/2022

09:34 PM Revision 56d773dc (git): New page IO Streams (#6383)
This page provides an overview of IO streams. It's meant to be linked to from many other doc spots. In particular it ... burdettelamar (Burdette Lamar)
08:43 PM Bug #18886: Struct aref and aset don't trigger any tracepoints.
Rather than using branch for tracepoints, using a `nop/jmp` instruction which is set or cleared might be a lower impa... ioquatix (Samuel Williams)
07:22 PM Bug #19014 (Closed): Backport commits to add the --with-gmp-dir option in the configure script
jeremyevans0 (Jeremy Evans)
04:20 PM Bug #19014 (Closed): Backport commits to add the --with-gmp-dir option in the configure script
Please backport the following three commits for the previous versions of Ruby.
* https://github.com/ruby/ruby/comm...
mrkn (Kenta Murata)
06:11 PM Feature #10320: require into module
I think that trying to require into a module with code that was not designed for it will break things. One example i... jeremyevans0 (Jeremy Evans)
05:08 PM Feature #10320: require into module
byroot (Jean Boussier) wrote in #note-27:
> No, we have absolutely no intention to go with microservices, quite the ...
mame (Yusuke Endoh)
12:39 PM Feature #10320: require into module
@mame
> This approach looks not very robust. If there is a constant Foo defined in the top-level, I think it does n...
shioyama (Chris Salzberg)
10:26 AM Feature #10320: require into module
> I guess that the ultimate goal is to modularize the monolith to microservices, and that this proposal is for the in... byroot (Jean Boussier)
09:46 AM Feature #10320: require into module
The proposed PR is simple, small, and appears to have few performance or compatibility issues. So I am basically posi... mame (Yusuke Endoh)
03:37 PM Revision 369f1668 (git): [ruby/irb] Rewrite on_scan proc to be more readable.
https://github.com/ruby/irb/commit/da54e7f081 tompng (tomoya ishida)
03:37 PM Revision 78cb6380 (git): [ruby/irb] Update expected colorize result that were uncolored before
https://github.com/ruby/irb/commit/52446eb77f tompng (tomoya ishida)
03:37 PM Revision 9f686878 (git): [ruby/irb] Scan every single characters in IRB::Color.scan
https://github.com/ruby/irb/commit/d14e56a65d tompng (tomoya ishida)
03:22 PM Revision 2c6fdc4d (git): Improve Ubuntu GitHub Actions (#6413)
Make the job names more understandable and avoid testing too many
duplicated things.
k0kubun (Takashi Kokubun)
01:59 PM Revision c21f820b (git): [ruby/irb] Fix completion tests
https://github.com/ruby/irb/commit/eb1691f636 Stan Lo
01:24 PM Revision 6325fc88 (git): [ruby/irb] Handle non-String $LOAD_PATH values more carefully
In addition to String values, $LOAD_PATH can also take objects that
respond_to the `to_path` method, like Pathname ob...
st0012 (Stan Lo)
01:01 PM Revision 1a2ee4cf (git): Try reordering test-all and test-spec for mswin CI
Visual Studio 2019 GitHub Actions has been super unstable. Somehow nmake
test-spec triggers rebuilding the interprete...
k0kubun (Takashi Kokubun)
12:31 PM Misc #18977: DevMeeting-2022-09-22
* [Feature #19013] Error Tolerant Parser
* I want to get feedback for the direction and other use cases.
yui-knk (Kaneko Yuichiro)
12:28 PM Feature #19013 (Closed): Error Tolerant Parser
# Background
Implementation for Language Server Protocol (LSP) sometimes needs to parse incomplete ruby script for...
yui-knk (Kaneko Yuichiro)
10:56 AM Bug #9760: mkmf does not allow for linking against custom libraries when a system library is present
This is still an issue in the current master (e.g., https://github.com/ruby/openssl/issues/545).
If I understand c...
rhenium (Kazuki Yamaguchi)
10:51 AM Feature #18411: Introduce `Fiber.blocking` for disabling scheduler.
`io_uring` handles non-blocking read and write system calls using the ring buffer. So even `read_nonblock` and `write... ioquatix (Samuel Williams)
07:12 AM Feature #18411: Introduce `Fiber.blocking` for disabling scheduler.
Let me confirm that why `write_nonblock` calls a fiber scheduler?
Or does it solve if `write_nonblock` doesn't call ...
ko1 (Koichi Sasada)
09:07 AM Revision 796069b2 (git): getrlimit adding RLIMIT_NPTS constant.
David Carlier
08:35 AM Revision 02e25db6 (git): Add URI.escape and URI.unescape to NEWS-3.0.0 [ci skip]
Akihiro Sada
08:15 AM Revision d35bc88b (git): sockopt adding Linux constants, SO_INCOMING_CPU/SO_INCOMING_NAPI_ID.
David Carlier
08:10 AM Revision 8cbbc061 (git): openbsd sockets add SO_RTABLE constant
David Carlier
08:02 AM Bug #19012: BasicSocket#recv* methods return an empty packet instead of nil on closed connections
@akr pointed on the PR that this behavior might be desirable for "connection-less" sockets such as `DGRAM`.
That s...
byroot (Jean Boussier)
06:48 AM Revision ec2d1356 (git): Introduces FreeBSD's SO_USER_COOKIE among socketopt's options.
David Carlier
06:26 AM Revision 3f387e60 (git): Rescue File.expand_path in MSpecScript#try_load if HOME is unavailable
mspec tries to load ~/.mspecrc, but some platforms (e.g. WASI) doesn't
have HOME concept, so `~` cannot be expanded a...
katei (Yuta Saito)
06:23 AM Revision 8a9dfb67 (git): sockets add `TCP_CONNECTION_INFO` and `TCP_KEEPALIVE` constants.
David CARLIER
06:22 AM Revision 017573c3 (git): socket add FreeBSD's SO_SETFIB constant.
David CARLIER
06:21 AM Revision e3b17806 (git): [DOC] Tweak the doc for `Process.kill` signature
Replacing `...` with `*pids` seems to clarify the expected variadic arguments.
Note that the expected arguments are ...
koic (Koichi ITO)
06:17 AM Revision 76b4305a (git): [DOC] Improve NEWS.md
Fix missing dot and replace error with ArgumentError. Maumagnaguagno (Mau Magnaguagno)
06:03 AM Feature #18951: Object#with to set and restore attributes around a block
I'm not very familiar with C#, but [Javascript's `with` is deprecated](https://developer.mozilla.org/en-US/docs/Web/J... byroot (Jean Boussier)
05:58 AM Feature #18951: Object#with to set and restore attributes around a block
On the other languages, JavaScript, C#, ... has different meaning (maybe similar to `instance_eval`) so I think the 1... ko1 (Koichi Sasada)
05:25 AM Revision c287deec (git): backup IRBRC environmental variable. It's used by test methods when it's defined.
hsbt (Hiroshi SHIBATA)
05:25 AM Revision d6e84d97 (git): Fix the missing locale error
hsbt (Hiroshi SHIBATA)
04:38 AM Revision 1ad1f073 (git): Fix a broken Slack notification
The matrix doesn't have `os`. k0kubun (Takashi Kokubun)
02:44 AM Revision 7060b23f (git): proper function prototypes for openssl
Just to reroute compiler warnings. shyouhei (Shyouhei Urabe)
02:44 AM Revision 437800d3 (git): getenv: is in stdlib.h
getenv is a very basic function that has been in stdlib.h since
ISO/IEC 9899:1990. There is absolutely zero need for...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 45741918 (git): reserved_word: just use gperf 3.1 declaration
The reason why this was commented out was because of gperf 3.0 vs 3.1
differences (see [Feature #13883]). Five years...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 77c61ae3 (git): cc_new: vm_ci_new's 4th argument is a pointer
Don't pass boolean. shyouhei (Shyouhei Urabe)
02:44 AM Revision ec5798d2 (git): type pun rb_f_notimplement
Other functions are already type-punned elsewhere. rb_f_notimplement is
the only exceptional function that appear li...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 4e64edb6 (git): vm_method_cfunc_is: get rid of ANYARGS
ANYARGS-ed function prototypes are basically prohibited in C23.
Use __attribute__((__transparent_union__)) instead.
shyouhei (Shyouhei Urabe)
02:44 AM Revision 8a577cbc (git): cref_replace_with_duplicated_cref_each_frame: returns a pointer
Why use FALSE here? shyouhei (Shyouhei Urabe)
02:44 AM Revision 2f8012c9 (git): rb_define_method: dedicated overload for rb_f_notimplement
rb_f_notimplement was type-compatible with VALUE(*)(ANYARGS), but not
any longer in C23. Provide a dedicated path fo...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 0cd86ffb (git): avoid ANYARGS
Use macro instead of a static functon. This isn't very amusing but
doing this wihtout a macro (is possibe but) seems...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 06cb0305 (git): vm_insnhelper.c: add casts
Why they have not been at the first place? Siblings have proper casts. shyouhei (Shyouhei Urabe)
02:44 AM Revision 406ebb25 (git): obj_refer_only_sharables_p_i: need derefernce
Clang says "warning: variable 'pcnt' set but not used" here. In fact it
doesn't. The intention is clear that we want...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 104069e7 (git): syserr_initialize: delete redundant strerror() declaration
This line issues a warning on clang. strerror is of course a part of
ISO C since its dawn. We practically have neve...
shyouhei (Shyouhei Urabe)
02:44 AM Revision 45482fea (git): LLVM 15 released
See https://discourse.llvm.org/t/llvm-15-0-0-release/65099 shyouhei (Shyouhei Urabe)

09/20/2022

11:30 PM Revision d3733c2b (git): Guard `--yjit-stats` behind `#[cfg(feature = "stats")]` (#6409)
* Guard --yjit-stats behind #[cfg(feature = "stats")]
* Only ask for --yjit-stats with dev builds on cirrus CI
* Re...
maximecb (Maxime Chevalier-Boisvert)
10:51 PM Bug #18818: Thread waitq does not retain referenced objects, can lead to use after free.
@ko1 you mentioned you had some ideas to fix this. What would you like to do? ioquatix (Samuel Williams)
10:49 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
I'm proposing to introduce the following:
```ruby
class TimeoutError < StandardError
end
class IO::TimeoutError < T...
ioquatix (Samuel Williams)
10:19 PM Misc #18977: DevMeeting-2022-09-22
- [Feature #19008] Introduce coverage support for `eval`.
- Working implementation.
- Can introduce some challeng...
ioquatix (Samuel Williams)
10:01 PM Bug #18782 (Closed): Race conditions in autoload when loading the same feature with multiple threads.
I've confirmed after my PRs, this issue cannot be reproduced on HEAD. ioquatix (Samuel Williams)
09:08 PM Feature #16122: Data: simple immutable value object
zverok (Victor Shepelev) wrote in #note-75:
> * I am not sure that "naming as a first argument" is a widely used fea...
ufuk (Ufuk Kayserilioglu)
06:16 PM Feature #16122: Data: simple immutable value object
@nobu Thanks!
I've applied all suggestions for the code review, except for [this one](https://github.com/ruby/ruby...
zverok (Victor Shepelev)
06:17 PM Revision a8dc49b4 (git): YJIT: Support MAKE=bmake for release build
This add support for bmake, which should allow building with
`configure --enable-yjit` for the BSDs. Tested on FreeBS...
alanwu (Alan Wu)
02:13 PM Bug #19012: BasicSocket#recv* methods return an empty packet instead of nil on closed connections
I opened a PoC patch for it: https://github.com/ruby/ruby/pull/6407 byroot (Jean Boussier)
01:52 PM Bug #19012 (Closed): BasicSocket#recv* methods return an empty packet instead of nil on closed connections
`man recvmsg(2)` states:
> Return Value
> These calls return the number of bytes received, or -1 if an error occu...
byroot (Jean Boussier)
01:25 PM Revision b3d8ddde (git): Try to ignore a noisy ASAN warning for continuation
mame (Yusuke Endoh)
12:52 PM Revision 2fb900e6 (git): merge revision(s) 035978d7be9bc3819f42f964fe6193d983cce63f,2e324b645e16e67c14de80ea34b1d61165045f22,b6a9e683917745df2822a611fce64df9ae8090a7:
Pass job-server FDs to bundler tests
---
common.mk | 4 ++--
1 file changed, 2 insertions(+...
nagachika (Tomoyuki Chikanaga)
10:58 AM Feature #10320: require into module
vo.x (Vit Ondruch) wrote in #note-24:
> I'd love to see if RubyGems/Bundler could stop vendoring packages:
>
> ht...
retro (Josef Šimánek)
10:35 AM Revision 967f1251 (git): merge revision(s) c8d94d2797f798e2666a057bb1940e1ffe41b717:
Now test-bundler nees fake.rb
---
common.mk | 2 +-
1 file changed, 1 insertion(+), 1 delet...
nagachika (Tomoyuki Chikanaga)
09:46 AM Revision 6b099328 (git): * 2022-09-20 [ci skip]
git[bot]
09:46 AM Revision 6ff627e5 (git): update ubuntu 18.04 for github actions
hsbt (Hiroshi SHIBATA)
09:46 AM Revision 13354c02 (git): zlib-1.2.11 is removed at zlib.net
hsbt (Hiroshi SHIBATA)
09:46 AM Revision 302e3668 (git): The tzdata 2022c removed Amsterdam Mean Time
nobu (Nobuyoshi Nakada)
09:46 AM Revision 4c7ae840 (git): Use autoreconf -i instead of autoconf
hsbt (Hiroshi SHIBATA)
07:50 AM Revision b5fdd17c (git): * 2022-09-20 [ci skip]
git[bot]
07:50 AM Revision 15615566 (git): The tzdata 2022c removed Amsterdam Mean Time
nobu (Nobuyoshi Nakada)
07:09 AM Revision e40fa6c4 (git): [DOC] socket: fix wrong sample addresses (#6372)
IPv6 link local address is fe80::/10 not ff80::/10:
https://www.rfc-editor.org/rfc/rfc4291.html
Link-Local unic...
Sutou Kouhei
03:55 AM Revision 92b2bc51 (git): merge revision(s) 8794cc62899c6447fa4451489b9e308e2a890595,3ff53c8e04ecc91e0190de6d5950ecce2a2ea188:
Tentatively put macOS CIs back with adding macOS 12
---
.github/workflows/macos.yml | 99 ++++++++++...
nagachika (Tomoyuki Chikanaga)
03:54 AM Revision 9de11fe7 (git): Quiet if the target is already linked the same source
nobu (Nobuyoshi Nakada)
02:12 AM Revision 55e540f7 (git): Ignore EPERM which means already being process-leader
nobu (Nobuyoshi Nakada)
12:43 AM Revision b4546d26 (git): Fix the trailing comma comment for builtin [ci skip]
so that it's clear why not args.last but args[1] k0kubun (Takashi Kokubun)

09/19/2022

10:38 PM Revision 76a0e81f (git): Support trailing commas in builtin
`foo(Primitive.cexpr!('Qnil'),)` causes SEGV without this change. k0kubun (Takashi Kokubun)
09:07 PM Revision f8dad616 (git): YJIT: Show --yjit-stats of railsbench on CI (#6403)
* YJIT: Show --yjit-stats of railsbench on CI
* YJIT: Use --enable-yjit=dev to see ratio_in_yjit
* YJIT: Show maste...
k0kubun (Takashi Kokubun)
05:23 PM Feature #10320: require into module
I'd love to see if RubyGems/Bundler could stop vendoring packages:
https://github.com/rubygems/rubygems/tree/maste...
vo.x (Vit Ondruch)
08:32 AM Feature #10320: require into module
@duerst / @shyouhei
The main goal is to avoid accidental dependency. By not exposing some namespaces globally, yo...
byroot (Jean Boussier)
08:25 AM Feature #10320: require into module
shyouhei (Shyouhei Urabe) wrote in #note-21:
> May I ask someone the problem this ticket is currently trying to addr...
duerst (Martin Dürst)
04:27 PM Misc #18977: DevMeeting-2022-09-22
* [Feature #18776] Object shapes as new caching system
* YARV interpreter benchmarks are similar speed or faster
...
tenderlovemaking (Aaron Patterson)
04:26 PM Feature #19011 (Open): Improve LSP support in CRuby development itself
I would like to add a new configure option for improve working with language servers inside CRuby itself.
The summ...
tenderlovemaking (Aaron Patterson)
03:44 PM Revision 26135312 (git): [ruby/psych] Convert some of Parser#parse to Ruby
This commit just converts some of the parse method to Ruby
https://github.com/ruby/psych/commit/bca7d2c549
tenderlovemaking (Aaron Patterson)
02:40 PM Revision 12889fad (git): [ruby/bigdecimal] Remove symbol defs in missing.h for old Rubies
Commit 2885514 added these to support Ruby 2.1. The rb_sym2str function
is defined since Ruby 2.2.
https://github.co...
peterzhu2118 (Peter Zhu)
02:40 PM Revision a44f48ca (git): [ruby/bigdecimal] Remove array defs in missing.h for old Rubies
Commit 02b6053 added these to support Ruby 2.0.0. The rb_array_const_ptr
function is defined since Ruby 2.3.
https:/...
peterzhu2118 (Peter Zhu)
07:34 AM Revision 5883bc7c (git): YJIT: Check if the processor supports --yjit-stats (#6401)
* YJIT: Add asm comment for incr_counter
* YJIT: Check if the processor supports --yjit-stats
k0kubun (Takashi Kokubun)
06:34 AM Revision ae073365 (git): Reduce fork calls in daemon
The forked child process is a grandchild process from the viewpoint of
the process which invoked the caller process. ...
nobu (Nobuyoshi Nakada)
06:34 AM Revision 1c938128 (git): Add another test for `Process.daemon`
Check for that the daemon process is detached, that means it is not a
child and not waitable.
nobu (Nobuyoshi Nakada)
06:13 AM Revision 7cab7e5f (git): Stop recommending duplicated options [ci skip] (#6400)
k0kubun (Takashi Kokubun)
06:09 AM Revision e75d9636 (git): Only exit if ruby2_keywords and splat together (#6395)
Before this change railsbench spent less time in yjit than before splat. This brings it back to parity. Jimmy Miller
05:15 AM Revision 12e5e5b5 (git): Fix the option name in the error message [ci skip]
nobu (Nobuyoshi Nakada)
03:32 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
According to the experiments by @katei, the followings are ok.
* `IO.popen`
```ruby
p IO.popen("-") { |f|
if ...
nobu (Nobuyoshi Nakada)

09/18/2022

10:20 PM Feature #19010: Follow up of #18996: Support changing irb's autocompletion background
I agree and support your arguments.
Thank you for the detailed explanation and the reline's reference.
kaiquekandykoga (Kaíque Koga)
09:30 PM Feature #19010: Follow up of #18996: Support changing irb's autocompletion background
kaiquekandykoga (Kaíque Koga) wrote in #note-1:
> Perhaps keeping the current irb's colors as one alternative
`ir...
st0012 (Stan Lo)
05:29 PM Feature #19010: Follow up of #18996: Support changing irb's autocompletion background
I like the idea of having multiple themes. I use light screen for everything, and I enjoy the way irb is currently di... kaiquekandykoga (Kaíque Koga)
02:18 PM Feature #19010 (Closed): Follow up of #18996: Support changing irb's autocompletion background
If the APIs proposed in #18996 (or similar ones) are accepted, we'll be able to configure `irb`'s autocompletion dial... st0012 (Stan Lo)
04:09 PM Revision ea224036 (git): Extract UNICODE_DOWNLOADER
nobu (Nobuyoshi Nakada)
04:09 PM Revision cc533cb6 (git): Downloader: Define long option aliases
nobu (Nobuyoshi Nakada)
04:09 PM Revision a0b0991e (git): Downloader: Define per-class command line options
Move `Downloader::Unicode` specific options, and parse options after
the downloader specificier.
nobu (Nobuyoshi Nakada)
04:01 PM Bug #19007: Unicode tables differences from Unicode.org 14.0 data
https://github.com/nobu/ruby/tree/emoji nobu (Nobuyoshi Nakada)
12:21 PM Revision e2e1058e (git): Include lib/mjit/instruction.rb in a snapshot
baseruby shouldn't be necessary once a snapshot is built. k0kubun (Takashi Kokubun)
12:16 PM Revision 45ecc30a (git): Move mjit/instruction.rb rule to common.mk
as suggested by nobu. We don't really need to generate this for Windows,
but using common.mk whenever possible would ...
k0kubun (Takashi Kokubun)
11:42 AM Revision 0ca037b3 (git): Update bindgen crate (#6397)
to get rid of deprecated indirect dependency, ansi_term k0kubun (Takashi Kokubun)
11:15 AM Bug #19009: Unable to install pod on M1 Mac
https://www.youtube.com/watch?v=Nropa9Qj37s&ab_channel=DavidRazmadze
I could find solution in the above video
[email protected] (Nahid Mansuri)
09:53 AM Bug #19009 (Third Party's Issue): Unable to install pod on M1 Mac
see https://bugs.ruby-lang.org/issues/18555#note-6 hsbt (Hiroshi SHIBATA)
07:12 AM Bug #19009 (Third Party's Issue): Unable to install pod on M1 Mac
I am trying to install the pod, "CLTying" using the command
platform :ios, '9.0'
target 'Flash Chat iOS13' do...
[email protected] (Nahid Mansuri)
10:55 AM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
k0kubun (Takashi Kokubun) wrote in #note-1:
> JFYI, I'm one of the people who are disabling IRB completion, but it...
st0012 (Stan Lo)
10:43 AM Feature #10320: require into module
May I ask someone the problem this ticket is currently trying to address? I’m confused. shyouhei (Shyouhei Urabe)
05:39 AM Revision a988fe0b (git): Introduce --basedir to insns2vm.rb
and leverage that to preserve the directory structure under tool/ruby_vm/views k0kubun (Takashi Kokubun)
05:21 AM Revision 12023c83 (git): Revert "Preserve the directory structure under tool/ruby_vm/views"
This reverts commit 62ec621f8c7457374d1f08aec97138ac1b7bdf2a.
will revisit this once fixing non-MJIT targets
k0kubun (Takashi Kokubun)
05:19 AM Revision 62ec621f (git): Preserve the directory structure under tool/ruby_vm/views
for nested target directories k0kubun (Takashi Kokubun)
05:04 AM Revision 0e816e6d (git): Demote mjit_instruction.rb from builtin to stdlib
k0kubun (Takashi Kokubun)
02:47 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
Thank you, then is it ok if `CFString` has been initialized first?
```diff
diff --git a/file.c b/file.c
index de...
nobu (Nobuyoshi Nakada)
12:01 AM Feature #19008: Introduce coverage support for `eval`.
@mame thanks for all your feedback and edge cases. I have this working now (proof of concept).
(1) How to deal wit...
ioquatix (Samuel Williams)
 

Also available in: Atom