Project

General

Profile

Activity

From 09/16/2022 to 09/22/2022

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 unacceptable because it causes [BUG] as @shugo said. Could you investigate the issue and update the PR? 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 expressed at the meeting:
* The color there should be not only for the dialog but also other things (such as the syntax ...
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?
```ruby
Reline.color_config.merge!({
dialog_default_bg_color: :white,
dialog_default_fg_color: :black,
dialog_hig...
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 log lib/osascript.rb
commit 1f39d1d42b499d1424af1fa5a109ecd6ab219563 (HEAD -> master)
Author: Anton
Date: Thu Jun 11 08...
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 tested).
```ruby
module SQLite3HeredocExtension
def compile str
vs = []
compiled = str.gsub(/\?([a-z_][a-zA-Z\d...
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 syntax. e.g. `` ` ``, `[]=`, or `foo=`. Therefore, it is more consistent to map the new syntax into `<<!LANG` method.
It...
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 modern code editors, highlighting of several different languages in the same file is supported. Namely, SublimeText (I ...
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.
```
<div>Hello ko1</div>
```
Any plans already what to do when method is not implemented?
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/docs/Web/JavaScript/Reference/Template_literals#tagged_templates) Tagged templates
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 LANG
foo bar
LANG
```
and it is translated to:
```ruby
doc = heredoc_extension_LANG(heredoc_text, binding)
```...
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 possible use cases for `FileUtils.rm_rf`: (1) delete the target at all costs, and (2) want to delete the target if possible.
...
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 tests (though the note was left even before the `test_edge_cases` method was added, so most of it was tested already).
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/ruby/pull/6353/files#diff-af52c7b2f2401c72137b502f634cbceb9d313a66897d630930c62f4f8bfb7faaR1708-R1724) probably can be extr...
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 are pretty different now ([this part](https://github.com/ruby/ruby/pull/6353/files#diff-af52c7b2f2401c72137b502f634cbceb...
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 constant.
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, it would be best to be able to look at all evals separately. It looks like your current approach is to just override an...
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 the issues, could we make eval coverage optional, maybe by a keyword to Coverage.start? I'd prefer it be opt-in, but at 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"
Coverage.start(oneshot_lines: true)
# the content of tt.rb
#
# 1: 100.times do
# 2: 1
# 3: end
load "tt.rb"
...
mame (Yusuke Endoh)
09:50 PM Feature #19008: Introduce coverage support for `eval`.
ioquatix (Samuel Williams) wrote in #note-8:
> > I would prefer 3.
> ...
Your use case (ERB coverage) is apparently limited to files that aren't required. However, `eval` methods are used with `__FILE__` on a regular basis for metapro...
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 with the coverage tool. As it stands, with this PR, I can swap out my own coverage implementation and everything just wor...
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 it be opt-in, but at the minimum I think we need an option to disable it if it is enabled by default.
mame (Yusuke End...
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
* Please write this spec change to NEWS
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 PR, but I noticed two additional problems:
## 1. eval may discard existing file coverage data
```ruby
require "cov...
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 allows that logic to live
in one place.
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 now. I'll change it to let C code access bit
fields later.
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 limitation.
I consider this work as an experiment to explore error-tolerant-ness.
Matz.
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/presentations/kddnewton.html) at RubyKaigi 2022. In the talk, he said he is working on a new parser. Maybe these efforts could be ... 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 connection. See https://github.com/ruby/ruby/blob/6b099328af2ae2d04cbfd06fedc36a19cdecd30d/lib/net/http.rb#L1573. The bug i... 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), so
add those to LDFLAGS if enabling yjit on OpenBSD.
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 <jhawthorn@github.com> HParker (Adam Hess)
04:47 PM Revision aafbc906 (git): avoid extra dup and pop in compile_op_log
Co-authored-by: John Hawthorn <jhawthorn@github.com> 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/86602cd244
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
def foo
def bar
end
$ ruby -v bar.rb
ruby 3.2.0dev (2022-09-22T05:37:56Z master f07e651a90) +YJIT [arm64-darwin22]...
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 behavior should be documented and speced.
Because `timeout: 0` in some APIs (not necessarily ruby) can mean no timeout.
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 late to reply).
Look at the following example:
```ruby
class C0
def foo
[:foo]
end
end
class C1<C0...
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/yaml/#default
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
https://github.com/rubygems/rubygems/com...
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 will be linked to from many places in ARGF, File, IO, and StringIO. 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 impact option.
e.g. https://nullprogram.com/blog/2016/03/31/
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/commit/e2b47b832f53b2fd0626774a573a22c15a933c64
* https://github.com/ruby/ruby/commit/f512df73986c74e2f4bd65ca642879a0618da...
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 is when using absolute constant references (those that start with `::`). Consider this code:
```ruby
class A; end
...
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 opposite. The goal is to modularize in process so that you can more easily enforce that certain areas are decoupled from...
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 not work.
Yes absolutely, this is the problem with `const_missing`. So this would ultimately need something at the langu...
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 intermediate stage (i.e., to modularize the monolith in a process). Am I right?
No, we have absolutely no intention to ...
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 positive about this proposal.
> The main goal is to avoid accidental dependency.
I guess that the ultimate goal is to ...
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 objects. So `irb` should
be able to handle those objects too.
And if $LOAD_PATH contains objects that can't be converted ...
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 interpreter and fails.
usa suggested a possibility of test-all leaving something impacting
test-spec. I'd like to try this patch ...
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 example users want to complement expressions in the middle of statement like below:
```ruby
class A
def m
a...
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 correctly, mkmf.rb prepends libruby's path solely to prevent picking up a wrong libruby. Since the exact path of the corr...
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_nonblock` system calls can go via the fiber scheduler. The system call itself is asynchronous even if the IO is non-blo... 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 a fiber scheduler?
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 said I think we should try to distinguish between "nothing was received" and "we received an empty packet".
I'm not qu...
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 and `File.expand_path` can
fail.
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 two or more with a signal and pids.
That is, the method must have at least one pid, which cannot be omitted:
```console...
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/JavaScript/Reference/Statements/with), and it's extremely rare to see it. I doubt most JavaScript developers even know ab... 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 word `with` is not good name. 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 us to redeclare.
pty.c already includes stdlib.h out of the box so we need nothing.
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 passed, I am pretty
confident that we can drop support of old versions here.
Ditto for uniname2ctype_p(), onig_jis_pro...
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 literally. We have to take
care of it by hand.
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 for it.
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 just too much.
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 to increment cnt, not pcnt.
Adding a * mark solves everything.
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 never needed it.
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
* Revert "Only ask for --yjit-stats with dev builds on cirrus CI"
This reverts commit cfb5ddfa4b9394ca240447eee02637788435b...
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 < TimeoutError
end
```
This is practical and simple, and I suggest other timeout errors follow the same way, e.g.
```ruby...
ioquatix (Samuel Williams)
10:19 PM Misc #18977: DevMeeting-2022-09-22
- [Feature #19008] Introduce coverage support for `eval`.
- Working implementation.
- Can introduce some challenges for existing code - same challenges as debug gem - accurate line information for `eval` must be given.
- Useful for...
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 feature, but it seems nice, so I left it for `Data` too (and tests confirming its existence); I imagine that in some system...
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/pull/6353#discussion_r967742019) (I've answered why it is done that way), and `define_struct` one. My reasoning is this...
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 FreeBSD 13 and
on macOS with `configure MAKE=bmake` on a case-sensitive file system.
It works by including a fragment into th...
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
> ...
But somehow the entire `receiv` family of methods in Ruby seem to interpret `0` as empty string instead of "EOF".
```ruby
require 'socket'
puts "=== pipes ==="
r, w = IO.pipe
r.r...
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(+), 2 deletions(-)
Manage paths for bundler tests
---
common.mk | 6 +++++-
1 file cha...
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:
> ...
I had initially same idea looking at https://bugs.ruby-lang.org/issues/6210, but it is not this easy actually (mostly for ...
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 deletion(-)
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 unicast 1111111010 FE80::/10 2.5.6
IPv6 (deprecated) site local address is fec0::/10 not ffc0::/10:
http...
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 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 99 insertions(+)
create mode 100644 .github/workfl...
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 master GitHub URL for quick comparison
* YJIT: Avoid making CI red by a yjit-bench failure
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/master/lib/rubygems
https://github.com/rubygems/rubygems/tree/master/bundler/lib/bundler/vendor
After all, Ruby could shi...
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, you can force developers to have to declare what they depend on, which makes them realize they're about to depend on somet...
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 address? I’m confused.
Same question here.
My (I hope average Ruby progarmmer) understanding of how gems/modules/names...
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
* Memory increase is low
* Opens door for more optimizations
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 summary is like this:
```
$ ./autogen.sh
$ ./configure --enable-compile-commands
$ make -j compile_commands.json
# No...
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.com/ruby/bigdecimal/commit/be366c9cf2
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://github.com/ruby/bigdecimal/commit/678699ca1b
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. That means the child is
detached at that point, and it does not need to fork twice.
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 f
f.gets
else
puts Dir.pwd
end
}
```
* `Dir.pwd` in forked process
```ruby
fork {p Dir.pwd}
...
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
`irb` doesn't have a theme at the moment. The colours we see are `reline`'s default values for the dialog UI. And it's not ...
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 displayed. Perhaps keeping the current irb's colors as one alternative, and add the proposed light theme and dark theme to... 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 dialog colors.
And for the `irb` side, I want to propose 2 levels of configurations:
#### TL;DR
- Have `dark`/`br...
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 probably make maintenance
easier.
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
nahid.mansuri@gmail.com (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
use_frameworks!
# Pods for Flash Chat iOS13
pod 'CLTypingLabel', '~> 0.4'
end
I checked other pods as we...
nahid.mansuri@gmail.com (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 was not because I can't configure colors but because the prompt position moves a lot depending on the size of the compl...
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 de7ed5e33ba..b91b8c346cd 100644
--- a/file.c
+++ b/file.c
@@ -268,6 +268,20 @@ rb_str_encode_ospath(VALUE path)

#i...
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 with `(eval)`? We can disable coverage for `eval` called without path (current implementation). This feels like the correct...
ioquatix (Samuel Williams)

09/17/2022

09:35 PM Feature #19008: Introduce coverage support for `eval`.
I'm against introducing a keyword argument to `eval`. `coverage` implementation should not leak into unrelated code. ioquatix (Samuel Williams)
08:40 PM Feature #19008: Introduce coverage support for `eval`.
In terms of ERB template coverage, I recently added support to Tilt for it. Tilt is the library used by Sinatra, Roda, Hanami, dry-view and most non-Rails web frameworks to render templates. Since `eval` doesn't support coverage, the ap... jeremyevans0 (Jeremy Evans)
10:15 AM Feature #19008: Introduce coverage support for `eval`.
Basically I am okay to this proposal. When I first created coverage.so, I tried to support eval. But @ko1 objected to it because the source code for eval is not retained and there is no clear need for it. But I just talked to @ko1, and h... mame (Yusuke Endoh)
09:56 AM Feature #19008 (Closed): Introduce coverage support for `eval`.
I'd like to introduce coverage support for `eval`. I mostly only care about the case where an explicit path is given, and I'd even be okay to only handle the case where the line number is the default (0).
https://github.com/ruby/ruby/...
ioquatix (Samuel Williams)
03:10 PM Revision 67417e79 (git): Replace revision.tmp with the HAVE_BASERUBY trick
but without relying on replacement.
This seems to work on OpenBSD as well.
k0kubun (Takashi Kokubun)
02:44 PM Revision 39f91bc2 (git): Always generate non-empty revision.h
Non-GNU make seems to generate empty revision.h, but it doesn't make
sense since https://github.com/ruby/ruby/pull/6382.
Also the $(HAVE_BASERUBY:yes=tmp) hack doesn't seem to be working on
OpenBSD. I'll remove it to focus on fixing Rub...
k0kubun (Takashi Kokubun)
02:05 PM Revision 922e61fc (git): Remove git command existence check again
With 33c6dd2cc89c27bbf406508ec39038a181fb99bc, it's no longer necessary.
This is what I got on openbsd-current:
```
-bash-5.1$ git -v
unknown option: -v
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec...
k0kubun (Takashi Kokubun)
01:24 PM Revision 33c6dd2c (git): Fallback to VCS.release_date on VCS::NotFoundError
when -q is given.
One of the RubyCI servers, freebsd12, had a broken git environment:
```
$ git show
fatal: detected dubious ownership in repository at '/usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby'
To add an exception f...
k0kubun (Takashi Kokubun)
01:08 PM Revision 1825d367 (git): Skip test_wait on MinGW CI
This test has been unstable, and it seems like we're not interested in
fixing that for MinGW.
https://github.com/ruby/ruby/actions/runs/3073317191/jobs/4965373284
k0kubun (Takashi Kokubun)
12:16 PM Revision 38a7a13a (git): Auto-generate the release date on version.h from git CommitDate (#6382)
* Auto-generate the release date on version.h
from git CommitDate
* Generate revision.h on mswin
k0kubun (Takashi Kokubun)
11:29 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
I've been doing some digging around the `TestProcess#test_daemon_noclose` test failure.
Minimum reproducible code is here
```ruby
Process.daemon(false, true)
Dir.pwd
```
And got some facts:
- On macOS, you should not use Objective-C ...
katei (Yuta Saito)
07:47 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
Xcode 14 has been released. The all stable versions of Ruby couldn't build with Xcode 14.
We fixed this issue at Ruby 2.7-3.1 and master branch. But the stable versions are not released yet.
I strongly recommend to not upgrade Xcod...
hsbt (Hiroshi SHIBATA)
09:08 AM Revision afb59710 (git): Merge RubyGems-3.3.22 and Bundler-2.3.22
hsbt (Hiroshi SHIBATA)
07:55 AM Feature #19006 (Closed): Inconsistent behaviour of autoload in wrapped script
jeremyevans0 (Jeremy Evans)
05:13 AM Feature #19006: Inconsistent behaviour of autoload in wrapped script
Rethinking this, `autoload` can fairly easily be patched at the gem level to make this work, without changes at the language level, so this isn't strictly necessary. In terms of transitivity, `require` is the more important one.
I'm hap...
shioyama (Chris Salzberg)
04:42 AM Feature #19006: Inconsistent behaviour of autoload in wrapped script
> It was never designed to be transitive, nor documented as being transitive, so I don't think the current behavior is a bug. Making the behavior transitive would be a feature request, IMO.
Agree, I've changed the tracker to "feature" t...
shioyama (Chris Salzberg)
03:55 AM Feature #19006: Inconsistent behaviour of autoload in wrapped script
When loading `foo.rb` with the `MyModule` wrapper, you are loading the equivalent of:
```ruby
module MyModule
module Foo
autoload :Bar, "foo/bar"
end
end
```
`foo/bar.rb` defines `::Foo::Bar`, not `::MyModule::Foo::Ba...
jeremyevans0 (Jeremy Evans)
02:35 AM Feature #19006: Inconsistent behaviour of autoload in wrapped script
This is related to: https://bugs.ruby-lang.org/issues/10320#note-13 shioyama (Chris Salzberg)
01:49 AM Feature #19006 (Closed): Inconsistent behaviour of autoload in wrapped script
Suppose I have two files, `foo.rb` and `bar.rb`:
```ruby
# foo.rb
puts "loading Foo..."
module Foo
autoload :Bar, "foo/bar"
end
```
and
```ruby
# foo/bar.rb
puts "loading Foo::Bar..."
module Foo
module Bar
...
shioyama (Chris Salzberg)
06:59 AM Revision b3969f76 (git): Merge openssl-3.0.1
The changes can be found at:
https://github.com/ruby/openssl/compare/v3.0.0...v3.0.1
rhenium (Kazuki Yamaguchi)
05:06 AM Bug #19003: TracePoint behavior inconsistency in 3.2.0-preview2
jeremyevans0 (Jeremy Evans) wrote in #note-2:
I just saying this behavior is inconsistent between versions.
Current behavior looks like a bug to me, because it feels like only hooks already set at the moment of the event arrival sh...
hurricup (Alexandr Evstigneev)
05:05 AM Bug #18816: Ractor segfaulting MacOS 12.4 (aarch64 / M1 processor)
ruby_3_1 99d254d8b025fd952375ed15c345ecc1b806652a merged revision(s) de51bbcb544651fb499dd4cc757a2bf6f3b439cf. nagachika (Tomoyuki Chikanaga)
05:05 AM Revision 99d254d8 (git): merge revision(s) de51bbcb544651fb499dd4cc757a2bf6f3b439cf: [Backport #18816]
Use VM Lock when mutating waiting threads list
`rb_thread_wait_for_single_fd` needs to mutate the `waiting_fds` list
that is stored on the VM. We need to delete the FD from the list before
returning, and deletin...
nagachika (Tomoyuki Chikanaga)
04:30 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
Thanks! I've confirmed this solves the problem and that the linker adds this argument.
Could this patch be backported to 2.7 as well? Thanks!
stanhu (Stan Hu)
03:10 AM Bug #19005 (Closed): Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
Applied in changeset commit:git|6898984f1cd1b0375c3da44d7832724489e0e470.
----------
[Bug #19005] dynamic_lookup linker option in external libraries
The warning against `-undefined dynamic_lookup` is just a warning yet,
and many gems s...
nobu (Nobuyoshi Nakada)
04:10 AM Bug #19007 (Closed): Unicode tables differences from Unicode.org 14.0 data
I found the header in Unicode Emoji 14.0 data files had changed slightly (and again at 15.0), but `enc/unicode/case-folding.rb` didn't follow it.
Then I fixed it and rebuilt the headers under `enc/unicode/14.0.0`, `name2ctype.h` had dif...
nobu (Nobuyoshi Nakada)
03:37 AM Revision ca4cbe59 (git): Move case-folding.rb to tooldir with enc-prefix
nobu (Nobuyoshi Nakada)
03:37 AM Revision e9982fd6 (git): Derive UNICODE_EMOJI_VERSION from UNICODE_VERSION
nobu (Nobuyoshi Nakada)
03:37 AM Revision 03ce48da (git): Emoji files header changed at 15.0 again
nobu (Nobuyoshi Nakada)
03:37 AM Revision 76c00565 (git): Follow emoji data files header change
The header of emoji data files in UCD, which were moved at 13.0.0, has
been changed since 14.0.0. It seems to be the same as other files in
UCD.
nobu (Nobuyoshi Nakada)
03:09 AM Revision 6898984f (git): [Bug #19005] dynamic_lookup linker option in external libraries
The warning against `-undefined dynamic_lookup` is just a warning yet,
and many gems seem to pay no attention to warnings. Until it fails
actually, keep it as a migration path, except for standard extension
libraries and bundled extensi...
nobu (Nobuyoshi Nakada)
02:32 AM Feature #10320: require into module
@shyouhei
> Pure-ruby codes could perhaps be loaded multiple times side-by-side
Not multiple times, loaded only once in the namespace where `require` is called (wrap module), then when loaded again original constants are aliased to the...
shioyama (Chris Salzberg)
02:00 AM Feature #10320: require into module
> This NilClass definition, even if reassigning global ::NilClass doesn't have any effect on nil though, isn't it?
Or do you actually define mod::NilClass = NilClass before loading the ActiveSupport files?
Yes, `mod::NilClass = NilClass...
shioyama (Chris Salzberg)
01:53 AM Feature #10320: require into module
> I have only quickly skimmed Im, so I may say innacurate things, but it seems to me that what would be desirable would be to load a "namespace" in isolation, but not necessarily its dependencies as well.
`Im` uses a registry to track f...
shioyama (Chris Salzberg)

09/16/2022

09:45 PM Feature #10320: require into module
> Loading ActiveRecord::Base won't work because when it tries to dynamic-link libpq.so or libmysqlclient.so or whatever, that can already be loaded under another namespace; then fails.
An orthogonal question is whether loading two ver...
byroot (Jean Boussier)
10:52 AM Feature #10320: require into module
It is declared that `dlopen` will not fail in such cases.
https://pubs.opengroup.org/onlinepubs/9699919799/functions/dlopen.html
> Only a single copy of an executable object file shall be brought into the address space, even if `dlopen...
nobu (Nobuyoshi Nakada)
07:34 AM Feature #10320: require into module
Pure-ruby codes could perhaps be loaded multiple times side-by-side, but the problem is a DLL.
Loading ActiveRecord::Base won't work because when it tries to dynamic-link libpq.so or libmysqlclient.so or whatever, that can already be lo...
shyouhei (Shyouhei Urabe)
06:52 AM Feature #10320: require into module
This NilClass definition, even if reassigning global ::NilClass doesn't have any effect on nil though, isn't it?
Or do you actually define mod::NilClass = NilClass before loading the ActiveSupport files?
Eregon (Benoit Daloze)
07:55 PM Feature #18776: Object Shapes
The performance numbers look good and I'm very happy with the improvements that you've made wrt shape ids being 32 bits. It's also nice to see that the generated code for property accesses in YJIT is shorter than before.
There seems t...
maximecb (Maxime Chevalier-Boisvert)
05:58 PM Bug #19003: TracePoint behavior inconsistency in 3.2.0-preview2
This issue shows a case where you are adding a local tracepoint during global tracepoint processing. There are a couple approaches Ruby could take here:
1) For a local tracepoint added during global tracepoint processing, only call it...
jeremyevans0 (Jeremy Evans)
05:48 PM Bug #18983: Range#size for beginless Range is not nil.
Returning Infinity for numeric ranges bounded in either direction is expected (there are tests explicitly for it).
It does seem inconsistent that `(..object).size` returns Infinity and `(object..).size` returns nil for non-numeric obj...
jeremyevans0 (Jeremy Evans)
05:25 PM Feature #15371 (Closed): IRB with ARGV
Applied in changeset commit:git|b07db967441161a84386bcbbb41d990a2f3ad31c.
----------
[ruby/irb] Support --noscript option to not use first non-option argument as script
Also add --script option to turn the option back on.
Previously t...
jeremyevans (Jeremy Evans)
05:25 PM Revision e3a32abe (git): * 2022-09-17 [ci skip]
git[bot]
05:25 PM Revision b07db967 (git): [ruby/irb] Support --noscript option to not use first non-option argument as script
Also add --script option to turn the option back on.
Previously there wasn't a way to get an interactive IRB session
and access arguments provided on the command line.
Additionally, handle `-` as script as stdin. In Unix-like tools, `-...
jeremyevans (Jeremy Evans)
01:47 PM Revision 64200990 (git): [ci skip] Fix typos in documentation in io.c
peterzhu2118 (Peter Zhu)
01:25 PM Revision 87463832 (git): merge revision(s) a28e7871e54d7a87afbfd686291c500d71edb7cb:
Update bundled_gems
Try latest patch to avoid some race on Mac OS X.
---
gems/bundled_gems | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
01:19 PM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
Yes, it's only a few gems that previously depended on `-undefined,dynamic_lookup` being present as a linker argument.
In the `pg_query` case, it seems that there is a bug: the library exports a symbol that's not actually present.
In th...
stanhu (Stan Hu)
06:06 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
Ah, Sorry. I misunderstood. I could install other native extensions like ffi, hiredis and eventmachine.
this issue happens like ffi-yajl.
hsbt (Hiroshi SHIBATA)
05:59 AM Bug #19005 (Open): Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
`ruby_3_1` head already fixed a similar issue with bundle loader. But I could reproduce https://bugs.ruby-lang.org/issues/19005#note-3 with `ruby_3_1` head.
We should fix this before 3.1.3 release.
hsbt (Hiroshi SHIBATA)
05:19 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
I think we can close this issue, unless someone thinks we might want to relax the `configure` check so that the `-undefined,dynamic_lookup` linker flag is again the default for macOS.
Gems should be able to handle building without `-und...
stanhu (Stan Hu)
04:15 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
A related issue was discussed in https://gitlab.kitware.com/vtk/vtk/-/issues/17214#note_385533 in the context of Python.
https://github.com/apple-opensource/ld64/pull/1/files would indeed be useful.
stanhu (Stan Hu)
04:14 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
nobu (Nobuyoshi Nakada) wrote in #note-5:
> What is the version of ruby you are using?
ruby 2.7.6p219 (2022-04-12 revision 44c8bfa984) [arm64-darwin21]
stanhu (Stan Hu)
03:05 AM Bug #19005 (Feedback): Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
What is the version of ruby you are using? nobu (Nobuyoshi Nakada)
01:39 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
`ffi-yajl` expects to run `dlopen` to bring in these symbols: https://github.com/chef/ffi-yajl/blob/2ac7f207c0850a7621880ea03c85c509072fff85/ext/ffi_yajl/ext/dlopen/dlopen.c#L29 stanhu (Stan Hu)
01:18 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
It's possible this is a problem with the respective gems. In https://github.com/pganalyze/pg_query/issues/255#issuecomment-1248800937, I note that the `Init_pg_query` is using C++ visibility rules.
However, for `ffi-yajl`, I'm not sur...
stanhu (Stan Hu)
12:15 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
I should note that it's also possible to workaround the issue by compiling the interpreter with `DLDFLAGS="-Wl,-undefined,dynamic_lookup"`.
`configure` no longer adds this flag by default because of the warning:
```
configure:28712: ch...
stanhu (Stan Hu)
11:44 AM Revision 5b735d0b (git): Invalidate i-cache after link_labels (#6388)
k0kubun (Takashi Kokubun)
10:25 AM Misc #18977: DevMeeting-2022-09-22
- [Feature #18885] End of boot advisory API (byroot)
- The general concept was accepted, but it need a proper name.
- Suggestions:
- `Kernel.booted` / `Kernel.application_booted` / `Kernel.code_loaded` / `Kernel.startup_done`
...
byroot (Jean Boussier)
09:54 AM Revision a28e7871 (git): Update bundled_gems
Try latest patch to avoid some race on Mac OS X. ko1 (Koichi Sasada)
08:05 AM Revision 6ad69944 (git): Omit a DRb test on MinGW
This test seems to leak a thread and let TestIOWait fail:
https://github.com/ruby/ruby/actions/runs/3065426880/jobs/4949517274
DRb almost never seemed to stably work on MinGW. I don't think we intend
to fix it either. We should just omi...
k0kubun (Takashi Kokubun)
06:13 AM Revision 6be430ef (git): * 2022-09-16 [ci skip]
git[bot]
06:12 AM Revision 7900a9bd (git): Backport https://github.com/ruby/ruby/pull/6193
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com> hsbt (Hiroshi SHIBATA)
06:11 AM Revision a62cfce7 (git): * 2022-09-16 [ci skip]
git[bot]
06:11 AM Revision 31bc55dc (git): Backport https://github.com/ruby/ruby/pull/6193
Co-authored-by: Yuta Saito <kateinoigakukun@gmail.com> hsbt (Hiroshi SHIBATA)
05:46 AM Revision c8d94d27 (git): Now test-bundler nees fake.rb
nobu (Nobuyoshi Nakada)
04:37 AM Revision 3ff65dcd (git): * 2022-09-16 [ci skip]
git[bot]
04:37 AM Revision 2387fbfb (git): Fix splat args (#6385)
* Fix splat args
Cfuncs were not working properly so I disabled them right now.
There were some checks above that were also actually preventing splat args from being called.
Finally I did some basic code cleanup after realizing I didn...
Jimmy Miller
 

Also available in: Atom