Project

General

Profile

Activity

From 08/16/2023 to 08/22/2023

08/22/2023

10:59 PM Revision 00054de6 (git): Remove nd_entry from NODE_GASGN and NODE_GVAR
After a0f12a0258e4020bd657ee80b7d8f22bd33ea223 NODE_GASGN and
NODE_GVAR hold same value on both nd_vid and nd_entry.
This commit stops setting value to nd_entry and makes to use only
nd_vid.
yui-knk (Kaneko Yuichiro)
10:43 PM Revision ff552389 (git): YJIT: x64: Split mem-to-mem Insn::Store like Insn::Mov
The ARM backend allows for this so let's make x64 consistent. alanwu (Alan Wu)
10:35 PM Feature #14579: Hash value omission
Has it been considered to ever expand this feature to allow instance variables and global variables. Or was it strictly reserved for local variables intentionally, to avoid incompatible or dangerous behavior?
Thanks for adding this r...
olivierlacan (Olivier Lacan)
10:33 PM Bug #12725: Trying to use ./miniruby before it exists
@duerst Have you seen this issue reoccur since it was initially posted? If not, do you think this can be closed? jeremyevans0 (Jeremy Evans)
10:29 PM Bug #11526: Streaming HTTP requests are not idempotent and should not be retried
A fix for this has been submitted as an upstream pull request: https://github.com/ruby/net-http/pull/87 jeremyevans0 (Jeremy Evans)
10:05 PM Bug #11174 (Closed): threads memory leak
jeremyevans0 (Jeremy Evans)
10:01 PM Bug #10580 (Closed): TestProcess#test_deadlock_by_signal_at_forking fails on ARM
jeremyevans0 (Jeremy Evans)
09:58 PM Bug #10416: Create mechanism for updating of Unicode data files downstreams when we want
@duerst Do you think this can be closed? jeremyevans0 (Jeremy Evans)
09:50 PM Bug #9507 (Closed): Ruby 2.1.0 is broken on ARMv5: tried to create Proc object without a block
jeremyevans0 (Jeremy Evans)
09:47 PM Bug #9955 (Closed): issue building dll on mingw, library not found
jeremyevans0 (Jeremy Evans)
09:36 PM Revision c23e2e19 (git): YJIT: add code_region_overhead stat output (#8262)
maximecb (Maxime Chevalier-Boisvert)
09:19 PM Revision 2d750697 (git): [ruby/yarp] Use require_relative for yarp/ffi
https://github.com/ruby/yarp/commit/c0598f8805 Eregon (Benoit Daloze)
09:12 PM Bug #9435 (Rejected): Kernel.system problem
I don't think this is a bug in Ruby, it is a general issue with Windows. As @nobu mentioned, you shouldn't use quotes in `PATH`. See https://serverfault.com/questions/349179/path-variable-and-quotation-marks-windows/349216#349216 jeremyevans0 (Jeremy Evans)
09:05 PM Bug #8782 (Closed): Don't set rl_getc_function on editline
Readline support was removed in commit:59fd67fc3d405e529e038172e769ff20a8fb5535. If this is still an issue, please file it upstream https://github.com/ruby/readline-ext jeremyevans0 (Jeremy Evans)
08:44 PM Bug #7859 (Closed): Readline: Incorrect arrow key behavior in vi_editing_mode insert mode with Readline 6.2
Readline was removed from Ruby in commit:59fd67fc3d405e529e038172e769ff20a8fb5535. If this is still an issue, please file it upstream: https://github.com/ruby/readline-ext/issues jeremyevans0 (Jeremy Evans)
08:43 PM Bug #7840 (Closed): -Wdeclaration-after-statement is valid for C/ObjC but not for C++
Looking at recent Ruby versions:
* `-Wimplicit-function-declaration` is in `warnflags`
* `warnflags` is included in `cflags`
* `cflags` is included in `CFLAGS` but not `CXXFLAGS`
* C++ compilation rules use `CXXFLAGS` and not `CFLA...
jeremyevans0 (Jeremy Evans)
08:31 PM Revision 837c12b0 (git): Use STR_EMBED_P instead of testing STR_NOEMBED
peterzhu2118 (Peter Zhu)
07:13 PM Bug #19844 (Feedback): Ruby 3.2 fails to build with openssl version 3
Ruby version 3.2 code base: https://github.com/ruby/ruby/tree/1c7624469880bcb964be09a49e4907873f45b026
openssl v3 is installed under /usr/local_ssl_3.0.0.
```
./configure --with-openssl-dir=/usr/local_ssl_3.0.0
```
I get the f...
narine_moss@yahoo.com (Narine Mossikyan)
06:04 PM Revision 9b373fb4 (git): [ruby/yarp] Fix small typo in templating to specify where template comes from
https://github.com/ruby/yarp/commit/96d69ceef6 jemmai (Jemma Issroff)
02:46 PM Revision 7127f39b (git): Add notes and name a magic number
nobu (Nobuyoshi Nakada)
01:43 PM Feature #19842: Introduce M:N threads
> `Thread#lock_native_thread` may be what you want.
Well, it depends if locked thread are counted as part of `RUBY_MAX_PROC` or not. If not then yes that would be what I want.
> ...
Ah, I indeed missed that. Thank you. The idea wou...
byroot (Jean Boussier)
08:53 AM Feature #19842: Introduce M:N threads
byroot (Jean Boussier) wrote in #note-16:
> Another question I have is around being able to opt-out of N:M for a specific thread.
> ...
may be what you want.
> > how to switch the behavior
> ...
You can try your application with:
...
ko1 (Koichi Sasada)
08:40 AM Feature #19842: Introduce M:N threads
> `rb_thread_local_aref`
Ah, I totally missed that API, thank you.
Another question I have is around being able to opt-out of N:M for a specific thread.
e.g if you have something like:
```ruby
$background_check = Thread.new ...
byroot (Jean Boussier)
07:00 AM Feature #19842: Introduce M:N threads
byroot (Jean Boussier) wrote in #note-14:
> > Thread Local Storage issue
> ...
```C
VALUE rb_thread_local_aref(VALUE thread, ID key);
VALUE rb_thread_local_aset(VALUE thread, ID key, VALUE val);
```
are exposed.
Anyway I bel...
ko1 (Koichi Sasada)
06:26 AM Feature #19842: Introduce M:N threads
> Thread Local Storage issue
Is there any plan to expose a c API to store data on the Ruby thread to replace the native APIs?
Locking to a native thread is fine for making old code compatible, but if we wish to upgrade that code to...
byroot (Jean Boussier)
01:01 AM Feature #19842: Introduce M:N threads
> Ok. So Ruby Threads and Ractors will both share time on native threads. The difference being that Ractors can run in parallel and Ruby Threads that belong to the same Ractor cannot. I guess we kind of have that with cached pthreads rig... ko1 (Koichi Sasada)
12:55 AM Feature #19842: Introduce M:N threads
> Hoping my guess was correct, I'm not quite sure what "2 level scheduling" means though. Is it just that the single-ractor mode applies some optimization (what is it?) instead of reusing the scheduler for the multi-ractor mode? To me, i... ko1 (Koichi Sasada)
12:50 AM Feature #19842: Introduce M:N threads
> Ruby threads of a Ractor is managed by 1:N threads
is also typo (updated)
"Ruby threads of a Ractor is managed by M:1 threads"
ko1 (Koichi Sasada)
12:47 AM Feature #19842: Introduce M:N threads
> We can run N ractors on N native threads simultaneously if the machine has N cores.
Sorry it was typo (updated).
"We can run M ractors on N native threads simultaneously if the machine has N cores."
ko1 (Koichi Sasada)
12:45 AM Feature #19842: Introduce M:N threads
tenderlovemaking (Aaron Patterson) wrote in #note-2:
> ko1 (Koichi Sasada) wrote:
> ...
You are right.
The reason is:
> On the multiple Ractors, N (+ alpha) native threads run M ractors. Now there is no way to disable M:N threads...
ko1 (Koichi Sasada)
12:21 AM Feature #19842: Introduce M:N threads
k0kubun (Takashi Kokubun) wrote in #note-3:
> > when M:N is enabled, threads become green threads, and Ractors are truly parallel (but CPU time is divided among N threads)
> ...
Ok. So Ruby Threads and Ractors will both share time on n...
tenderlovemaking (Aaron Patterson)
12:10 AM Feature #19842: Introduce M:N threads
> when M:N is enabled, threads become green threads, and Ractors are truly parallel (but CPU time is divided among N threads)
I thought he used `[num_ractors]:[num_native_threads]` for "1:N threads" as well (neither 1 nor N is the numbe...
k0kubun (Takashi Kokubun)
01:38 PM Misc #19772: API naming for YARP compiler
I think `YARP` is already too widely used and talked about to be renamed without causing significant confusion and downsides.
In fact the gem already has [multiple releases](https://rubygems.org/gems/yarp).
> I don't think "YA-" name...
Eregon (Benoit Daloze)
05:06 AM Misc #19772: API naming for YARP compiler
If the motivation of this API is testing YARP compilation to ISeq, I agree to introduce `ISeq.compile_yarp` to Ruby 3.3 and remove it from Ruby 3.4.
(Note that the name `YARP` is renaming one)
Because if YARP is introduced as the MRI...
ko1 (Koichi Sasada)
12:50 PM Feature #19777: Make `Kernel#lambda` raise when called without a literal block
The ship has sailed, but I should at least mention I am disappointed at this turn of things. Again deprecating things for no concrete benefit. How ironic that #15973 started with "change Kernel#lambda so it always returns a lambda" and e... Dan0042 (Daniel DeLorme)
11:01 AM Revision 0ed3624c (git): Wrap nd_head in node dump message with brackets
yui-knk (Kaneko Yuichiro)
05:36 AM Feature #19843 (Closed): Promote bigdecimal as bundled gems at Ruby 3.4
Applied in changeset commit:git|1c93288f8bbf667cb95eb7137b2fe64213894b77.
----------
Added bigdecimal to warning targets for the bundled gems.
[Bug #19843]
hsbt (Hiroshi SHIBATA)
03:17 AM Feature #19843: Promote bigdecimal as bundled gems at Ruby 3.4
@hsbt I agree with you. I've wanted to make bigdecimal a bundled gem for a long time but I didn't have much time to work for it. Thank you very much. mrkn (Kenta Murata)
03:10 AM Feature #19843 (Closed): Promote bigdecimal as bundled gems at Ruby 3.4
I triaged target list for bundled gems at https://bugs.ruby-lang.org/issues/19351.
After that, I resolved bigdecimal dependency from our test suite at https://github.com/ruby/ruby/commit/3ef6364a988ab24ca7fdbb7d1b6840b2a40f1466
I p...
hsbt (Hiroshi SHIBATA)
05:35 AM Revision 1c93288f (git): Added bigdecimal to warning targets for the bundled gems.
[Bug #19843] hsbt (Hiroshi SHIBATA)
05:04 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
I would say only a file if the environment variable is set, with perhaps just a message on stderr saying the report was written into that path.
But I don't have a strong opinion about this, if others think it should be written in both...
byroot (Jean Boussier)
05:02 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
Does it print to both STDERR and a file? or only to a file? ko1 (Koichi Sasada)
04:46 AM Revision ceafdb5a (git): Place -a in the correct location [ci skip]
It doesn't use optparse, so the location is not flexible. k0kubun (Takashi Kokubun)
04:46 AM Revision ccc80043 (git): Update default gems list at eec7a3f9ee0a40f4f5e22e0131c3ac [ci skip]
git[bot]
04:45 AM Revision eec7a3f9 (git): [ruby/erb] Version 4.0.3
https://github.com/ruby/erb/commit/c594f2fb86 k0kubun (Takashi Kokubun)
04:45 AM Revision be889b6d (git): Add a forgotten default value for ignored_paths
k0kubun (Takashi Kokubun)
04:41 AM Revision 0955ca34 (git): [ruby/erb] Enable frozen_string_literal in all files
(https://github.com/ruby/erb/pull/49)
I was surprised to see erb show up when I was using memory_profiler on
my app. ERB::Compiler#compile has a blank string literal, and it
ended up allocating some 41532 blank strings for a relatively ...
Josh Nichols
03:12 AM Misc #19766: DevMeeting-2023-08-24
* [Bug #19843] Promote bigdecimal as bundled gems at Ruby 3.4
* mrkn: Is it okay?
hsbt (Hiroshi SHIBATA)
01:25 AM Revision 4a8d7246 (git): zlib 1.2.13 is gone from zlib.net
U.Nakamura

08/21/2023

11:50 PM Feature #19842: Introduce M:N threads
ko1 (Koichi Sasada) wrote:
> This ticket proposes to introduce M:N threads to improve Threads/Ractors performance.
> ...
Should this be "M ractors on N native threads"? It sounds like Ractors are not 1:1 with threads in this design.
...
tenderlovemaking (Aaron Patterson)
08:41 PM Feature #19842 (Closed): Introduce M:N threads
This ticket proposes to introduce M:N threads to improve Threads/Ractors performance.
## Background
Ruby threads (RT in short) are implemented from old Ruby versions and they have the following features:
* Can be created with si...
ko1 (Koichi Sasada)
11:36 PM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
Applied at https://github.com/ruby/ruby/commit/788b03d5ba82fd8b35ce1fe2618ce6bacc648333.
nagachika (Tomoyuki Chikanaga)
11:33 PM Revision 788b03d5 (git): Re-apply "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)" (#8252)
* Re-apply "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)"
* [CI] mingw.yml - remove IBM437 encoding for test-all, use cmd shell for test & test-all
* Skip failing test on mingw with readline.so
Co...
MSP-Greg (Greg L)
08:43 PM Misc #19766: DevMeeting-2023-08-24
* [Feature #19842] Introduce M:N threads (ko1)
* Do you have any questions about it?
ko1 (Koichi Sasada)
08:30 PM Revision 925ce3f4 (git): Skip commits that are empty after conflict resolution
k0kubun (Takashi Kokubun)
08:24 PM Revision eee83af3 (git): Update yjit.md, document `--yjit-stats=quiet`
maximecb (Maxime Chevalier-Boisvert)
08:17 PM Revision 2502821a (git): Exclude docs/ from YARP sync
k0kubun (Takashi Kokubun)
08:14 PM Revision b9ef8191 (git): [rubygems/rubygems] Support `ruby file: ".tool-versions"` in Gemfile
(https://github.com/rubygems/rubygems/pull/6898)
Supports .tool-versions (ASDF) by checking for a line starting with "ruby"
before falling back to reading the entire file, as in .ruby-version.
https://github.com/rubygems/rubygems/commi...
Gaurav Khanna
07:00 PM Revision 95e29b04 (git): [ruby/yarp] fix: avoid invalid memory read when CR is present without LF
https://github.com/ruby/yarp/commit/2296c037de mdalessio (Mike Dalessio)
07:00 PM Revision 461f8eab (git): [ruby/yarp] fix: parsing a '%' expression with a CR but not a newline
Previously this failed an assertion and aborted.
https://github.com/ruby/yarp/commit/a037d942a8
mdalessio (Mike Dalessio)
06:23 PM Revision ca6db02c (git): [ruby/irb] Avoid overriding user's `irb_name` setting in debugger
integration
(https://github.com/ruby/irb/pull/688)
* Avoid overriding user's irb_name setting in debugger integration
Instead of always setting `irb_name` to `irb:rdbg`, it should respect
the user's setting and only append `:rdbg` to i...
st0012 (Stan Lo)
05:45 PM Revision 7d26c032 (git): Manually resync YARP
YARP commits were synced out of order. We are doing this reset
commit to ensure that all files are currently correct and we can
proceed with monitoring syncs so this doesn't happen again.
jemmai (Jemma Issroff)
05:43 PM Revision 2cecd3c8 (git): [ruby/yarp] fix: newline tracking for nl-terminated % %q %Q
https://github.com/ruby/yarp/commit/1e4940864b mdalessio (Mike Dalessio)
05:43 PM Revision 9ca547b9 (git): [ruby/yarp] prefactor: extract yp_newline_list_check_append
https://github.com/ruby/yarp/commit/149c74291b mdalessio (Mike Dalessio)
05:43 PM Revision 926857eb (git): [ruby/yarp] fix: support newline-terminated regular expressions
Previously, parsing a snippet like this:
%r\nfoo\n
would result in tracking the second newline twice, resulting in a
failed runtime assertion.
Fixing that issue reveals another bug, which is that the _first_
newline was not being ...
mdalessio (Mike Dalessio)
05:43 PM Revision e63bac31 (git): [ruby/yarp] Rename statements to body where appropriate
https://github.com/ruby/yarp/commit/0aa7d9d10c kddnewton (Kevin Newton)
05:43 PM Revision a7f40fc2 (git): [ruby/yarp] Change AndWriteNode, OrWriteNode, OperatorWriteNode to contain write nodes
It makes it more difficult to find all locations where a variable
is written to if they're just read nodes. To keep things consistent
we should make them write nodes.
https://github.com/ruby/yarp/commit/840e094045
kddnewton (Kevin Newton)
05:43 PM Revision 988b0108 (git): [ruby/yarp] Consolidate OperatorAndWrite and OperatorOrWrite nodes
https://github.com/ruby/yarp/commit/9e680a7598 kddnewton (Kevin Newton)
05:43 PM Revision 339b34be (git): [ruby/yarp] handle missing HEREDOC endline at start of heredoc
https://github.com/ruby/yarp/commit/7b72493b6d HParker (Adam Hess)
05:43 PM Revision 4fb2b3b6 (git): [ruby/yarp] Ensure correct location with if/elsif, allow FOCUS env var, fix newlines on __END__
https://github.com/ruby/yarp/commit/9da0bc4452 kddnewton (Kevin Newton)
05:43 PM Revision 0fd57ee0 (git): [ruby/yarp] Handle interpolated regular expressions with the o flag for locals checking
https://github.com/ruby/yarp/commit/db95191207 kddnewton (Kevin Newton)
05:43 PM Revision 524d99da (git): [ruby/yarp] Update to latest unparser
https://github.com/ruby/yarp/commit/5ba7394261 kddnewton (Kevin Newton)
05:43 PM Revision 289c0da5 (git): [ruby/yarp] Update to latest whitequark
https://github.com/ruby/yarp/commit/3607efb01d kddnewton (Kevin Newton)
05:33 PM Revision 05c59995 (git): [ruby/yarp] fix: newline tracking for nl-terminated % %q %Q
https://github.com/ruby/yarp/commit/1e4940864b mdalessio (Mike Dalessio)
05:33 PM Revision dcc8afe9 (git): [ruby/yarp] prefactor: extract yp_newline_list_check_append
https://github.com/ruby/yarp/commit/149c74291b mdalessio (Mike Dalessio)
05:32 PM Revision 67cd60ed (git): Manually move files from test/snapshots to test/yarp/snapshots
jemmai (Jemma Issroff)
04:52 PM Revision 817ffa8e (git): YJIT: Remove unnecessary roundtrip conversion
alanwu (Alan Wu)
04:42 PM Misc #19772: API naming for YARP compiler
We have reflected on the name YARP and would like to propose Prism as a new name for the external API. The parser is similar to a prism because it takes Ruby code as input and returns it “refracted” into an AST. Also, [the existing prism... jemmai (Jemma Issroff)
04:22 PM Revision ac819f4d (git): [ruby/yarp] fix: support newline-terminated regular expressions
Previously, parsing a snippet like this:
%r\nfoo\n
would result in tracking the second newline twice, resulting in a
failed runtime assertion.
Fixing that issue reveals another bug, which is that the _first_
newline was not being ...
mdalessio (Mike Dalessio)
04:20 PM Revision f83c1d62 (git): [ruby/yarp] Update to latest seattlerb
https://github.com/ruby/yarp/commit/d5365f08d0 kddnewton (Kevin Newton)
04:20 PM Revision 0c614063 (git): Fix YARP sync
kddnewton (Kevin Newton)
03:42 PM Revision 86ac17ef (git): [ruby/irb] Move input processing out of RubyLex
(https://github.com/ruby/irb/pull/683)
* Add a test case for Ctrl-C handling
* Test symbol aliases with integration tests
There are a few places that also need to check symbol aliases before
`Irb#eval_input`. But since the current com...
st0012 (Stan Lo)
03:25 PM Revision 2929c472 (git): [ruby/yarp] Add a convenience value method for numeric literals
https://github.com/ruby/yarp/commit/a328f27d8f Eregon (Benoit Daloze)
01:13 PM Revision 196116e5 (git): Refactor rb_ensure_iv_list_size
We don't really need obj_ivar_heap_alloc and obj_ivar_heap_realloc since
they're just one liners.
peterzhu2118 (Peter Zhu)
04:46 AM Revision 8326bf1a (git): [rubygems/rubygems] Confirm verification warnings
Fix up https://github.com/rubygems/rubygems/pull/6882
https://github.com/rubygems/rubygems/commit/71c73ac6d9
nobu (Nobuyoshi Nakada)

08/20/2023

05:32 PM Revision 55f930aa (git): [ruby/yarp] Use node kind for Ruby types
* For example in ProgramNode:
# attr_reader statements: Node
=>
# attr_reader statements: StatementsNode
https://github.com/ruby/yarp/commit/ffed35238c
Eregon (Benoit Daloze)
05:22 PM Revision 725ca2f9 (git): [ruby/irb] Support `VISUAL` env var, and prefer it over `EDITOR`
(https://github.com/ruby/irb/pull/686)
* Support `VISUAL` env var, and prefer it over `EDITOR`
* Update test/irb/test_cmd.rb
---------
https://github.com/ruby/irb/commit/399b872c31
Co-authored-by: Stan Lo <stan001212@gmail.com>
smmr (Summer ☀️)
05:17 PM Revision 5c75dc51 (git): Update default gems list at 314ccdd60c5fe3dfa90651d271209e [ci skip]
git[bot]
05:16 PM Revision 314ccdd6 (git): [ruby/reline] Bump version to 0.3.8
(https://github.com/ruby/reline/pull/582)
https://github.com/ruby/reline/commit/3840d1f958
st0012 (Stan Lo)
05:03 PM Revision 405c295a (git): [ruby/reline] Use fdiv for keyseq_timeout msec to sec conversion
(https://github.com/ruby/reline/pull/583)
https://github.com/ruby/reline/commit/a6504acd63
tompng (tomoya ishida)
04:17 PM Bug #19841: Marshal.dump stack overflow with recursive Time
https://github.com/nobu/ruby/tree/marshal-recursive-userdef nobu (Nobuyoshi Nakada)
02:24 PM Bug #19794: Ruby 3.2.2 fails to build on macOS Sonoma betas
Thanks for the analysis. I've reported this as FB13016123 in Apple's feedback system.
Diagnosing situations like this would be easier if the configure script did a better job of surfacing the LD warnings. The "something wrong with LDFL...
jhaungs (Jim Haungs)
05:56 AM Bug #19794: Ruby 3.2.2 fails to build on macOS Sonoma betas
> ld maintains a list of directories to search for a library or framework to use. The default library search path is /usr/lib then /usr/local/lib. The -L option will add a new library search path. The default framework search path is ... ecnelises (Chaofan QIU)
11:12 AM Revision 812272bd (git): Tempfile is not needed
nobu (Nobuyoshi Nakada)
11:12 AM Revision f0923164 (git): Align the type of `num_entries` to `st_table`
nobu (Nobuyoshi Nakada)
10:40 AM Revision 7c226291 (git): [ruby/reline] Remove Timeout usage
(https://github.com/ruby/reline/pull/580)
Timeout's implementation relies on Thread, which would conflict with
`ruby/debug`'s thread-freezing implementation and has casued issues like
- ruby/debug#877
- ruby/debug#934
- ruby/debug#1000...
st0012 (Stan Lo)
09:07 AM Revision 35442005 (git): [rubygems/rubygems] fix lint
https://github.com/rubygems/rubygems/commit/75c0f27b7e Josh Nichols
09:07 AM Revision 7c4431e6 (git): [rubygems/rubygems] use a one-liner
https://github.com/rubygems/rubygems/commit/46745885e8 Josh Nichols
09:07 AM Revision e5efa01c (git): [rubygems/rubygems] handle removing `BUNDLE_`, since using start_with? would still include that
https://github.com/rubygems/rubygems/commit/235d9b38d8 Josh Nichols
09:06 AM Revision f0bf9391 (git): [rubygems/rubygems] Don't rely on globals when not matching regexp for "local."
https://github.com/rubygems/rubygems/commit/e79ccdafd8 Martin Emde
09:06 AM Revision b5a0630c (git): [rubygems/rubygems] Use ! methods once we have a new copy of the string. Use .prepend to avoid allocating a new string.
https://github.com/rubygems/rubygems/commit/2ac35a661f Josh Nichols
09:06 AM Revision 29aab66e (git): [rubygems/rubygems] call key.to_s once instead of multiple times to save when it's a symbol
https://github.com/rubygems/rubygems/commit/535feb817c Josh Nichols
09:06 AM Revision 239e3525 (git): [rubygems/rubygems] Use value.match? only on Strings, which avoids allocating a matchdata, which is not used
https://github.com/rubygems/rubygems/commit/cbf9ac93d7 Josh Nichols
09:06 AM Revision 598048e3 (git): [rubygems/rubygems] Use .to_s once in the beginning to save allocations if it's a symbol.
https://github.com/rubygems/rubygems/commit/f8167db8a2 Josh Nichols
09:06 AM Revision e921efa4 (git): [rubygems/rubygems] name is often a symbol, so only to_s once to avoid allocating it multiple times
https://github.com/rubygems/rubygems/commit/8eac49c429 Josh Nichols
09:06 AM Revision 7cb6cbee (git): [rubygems/rubygems] String#start_with? is faster than regex with beginning boundaries
https://github.com/rubygems/rubygems/commit/d7cde68034 Josh Nichols
09:06 AM Revision b97e45d0 (git): [rubygems/rubygems] Use ! methods on the array, since it is brand new. The individual keys are also new, so we can use ! methods on each individual one as well.
https://github.com/rubygems/rubygems/commit/f2e912b9bb Josh Nichols
09:06 AM Revision 2a61e1dc (git): [rubygems/rubygems] Use Array#union to join these, instead of with | multiple times. This saves allocating 2 arrays
https://github.com/rubygems/rubygems/commit/48c03b33b7 Josh Nichols
09:06 AM Revision 79b187a4 (git): [rubygems/rubygems] config is a new Hash, and config.values is a new Array. that means we can use bang methods to avoid allocating new copies
https://github.com/rubygems/rubygems/commit/8bc13fa55f Josh Nichols
09:05 AM Revision 921c2bba (git): [rubygems/rubygems] ENV.to_h returns a new hash, so we can `select!` it to avoid allocating another hash.
`String#start_with?` is faster than regex that is bound to the start of
a string.
https://github.com/rubygems/rubygems/commit/9b2006ef09
Josh Nichols
09:05 AM Revision 7e5c3ec5 (git): Update specification.rb
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net> segiddins (Samuel Giddins)
09:05 AM Revision b68be40e (git): [rubygems/rubygems] Use assert_raise instead of assert_raises
For ruby-core compat
https://github.com/rubygems/rubygems/commit/83aa7b794e
segiddins (Samuel Giddins)
09:05 AM Revision 1935433f (git): [rubygems/rubygems] Ensure that loading multiple gemspecs with legacy YAML class references does not warn
Before this, you would get constant redefinition warnings on Psych::DefaultKey
Additionally, ensure the retries wont continue infinitely in the case of the ArgumentError not being caused by Marshal trying to load the undefined classes
...
segiddins (Samuel Giddins)
09:04 AM Revision f69f775f (git): [rubygems/rubygems] choose_from_list may return nil index since
https://github.com/rubygems/rubygems/commit/abacb0cb34cd
https://github.com/rubygems/rubygems/commit/5e2e9d6e50
matsuda (Akira Matsuda)
04:29 AM Revision d5ffbca5 (git): Move `MKSTR` markers for fake.rb into coments
nobu (Nobuyoshi Nakada)
04:26 AM Revision e517ba2e (git): Bump up syntax_suggest-1.1.0
hsbt (Hiroshi SHIBATA)
03:37 AM Bug #19761: AddressSanitizer fails with Thread and Process
For `70ce3c8947c7f95897e56b397270c061dd50f280`, I did a fresh build with `-fsanitize=address` CFLAGS, not reproduced. (using M1 macOS 14.0 beta and Xcode 15 beta toolchain) Maybe x86_64 specific issue? ecnelises (Chaofan QIU)
12:28 AM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
@MSP-Greg Thank you for investigations and providing patches! I will handle it soon. nagachika (Tomoyuki Chikanaga)

08/19/2023

07:47 PM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
@nagachika
Thanks for your work on this. Please see https://github.com/ruby/ruby/pull/8252
MSP-Greg (Greg L)
06:02 PM Revision 70ce3c89 (git): [rubygems/rubygems] Fix leaked tempfiles
Fix up https://github.com/rubygems/rubygems/pull/6882
https://github.com/rubygems/rubygems/commit/525b94a89f
nobu (Nobuyoshi Nakada)
01:30 PM Bug #19841: Marshal.dump stack overflow with recursive Time
Right, I fear the best we can do is to detect this case and raise a cleaner error. byroot (Jean Boussier)
10:12 AM Bug #19841: Marshal.dump stack overflow with recursive Time
Not only would be data compatibility broken, but I think data created by "remembering" the index of an instance first cannot be loaded.
This is a case specific to `TYPE_USERDEF`.
Instance variables of such types are dumped/loaded via a...
nobu (Nobuyoshi Nakada)
08:21 AM Bug #19841: Marshal.dump stack overflow with recursive Time
Hum, this is tricky.
`Time` implements `_dump`, so we enter this branch:
```c
if (rb_obj_respond_to(obj, s_dump, TRUE)) {
VALUE ivobj2 = Qundef;
st_index_t hasiv2;
VALUE encname2;
...
byroot (Jean Boussier)
07:53 AM Bug #19841: Marshal.dump stack overflow with recursive Time
It repros on 3.0, 3.1 and `master`. byroot (Jean Boussier)
01:14 AM Revision 79558738 (git): Update default gems list at bd440bf85d6eff5ecf5132e93a0721 [ci skip]
git[bot]
01:14 AM Revision bd440bf8 (git): [ruby/yarp] Bump to version 0.8.0
https://github.com/ruby/yarp/commit/bfde753702 kddnewton (Kevin Newton)
01:04 AM Revision 1d0b627b (git): [ruby/yarp] Rename statements to body where appropriate
https://github.com/ruby/yarp/commit/0aa7d9d10c kddnewton (Kevin Newton)

08/18/2023

10:27 PM Revision 3dff315e (git): YJIT: Quiet mode when running with `--yjit-stats` (#8251)
Quiet mode for running with --yjit-stats ywenc (CY Wen)
08:25 PM Revision 07833049 (git): [ruby/yarp] Consolidate operator write nodes
https://github.com/ruby/yarp/commit/22b287e2b1 kddnewton (Kevin Newton)
08:24 PM Revision ec47fc95 (git): [ruby/yarp] Consolidate OperatorAndWrite and OperatorOrWrite nodes
https://github.com/ruby/yarp/commit/9e680a7598 kddnewton (Kevin Newton)
07:14 PM Revision 3d7a0301 (git): [rubygems/rubygems] Resolve ruby version file relative to bundle root
This is a follow up to https://github.com/rubygems/rubygems/issues/6742.
This change makes it so that the version file is resolved relative to
the Bundle root instead of the working directory.
Why is this useful?
If you run a commnad (...
Ngan Pham
06:53 PM Bug #19841 (Closed): Marshal.dump stack overflow with recursive Time
``` ruby
#!/usr/bin/env ruby
puts RUBY_VERSION
t = Time.at(0, 1, :nanosecond)
t.instance_variable_set :@itself, t
Marshal.dump(t)
```
Yields a stack overflow error from the `Marshal.dump` call, even though Marshal is expli...
segiddins (Samuel Giddins)
06:30 PM Revision e1505aeb (git): [ruby/yarp] fix: multiple heredocs with embedded expressions with newlines
Set heredoc_end to NULL at the start of lexing a heredoc, to avoid
having state from the previous heredoc confuse the parser's current
location.
https://github.com/ruby/yarp/commit/21ee304f0e
mdalessio (Mike Dalessio)
06:05 PM Revision db076d8e (git): [ruby/yarp] handle missing HEREDOC endline at start of heredoc
https://github.com/ruby/yarp/commit/7b72493b6d HParker (Adam Hess)
05:05 PM Feature #19839: Need a method to check if two ranges overlap
Related to #16757 Dan0042 (Daniel DeLorme)
06:56 AM Feature #19839: Need a method to check if two ranges overlap
Thank you for your feedback.
> I've made several helpers for this exact same problem, as well as a `Range#merge` in the past.
Yes, `Range` class can have methods such as `Range#merge` but I wanted to start small and see what happen...
shouichi (Shouichi Kamiya)
04:24 AM Feature #19839: Need a method to check if two ranges overlap
What do you expect when it is called with a non-Range object, `TypeError`, same as `cover?` or something else? nobu (Nobuyoshi Nakada)
02:09 AM Feature #19839: Need a method to check if two ranges overlap
I've made several helpers for this exact same problem, as well as a `Range#merge` in the past. I would very much be in favor of this change.
Example usage from an interview problem, though I have some internal usecases which have done...
baweaver (Brandon Weaver)
01:30 AM Feature #19839 (Closed): Need a method to check if two ranges overlap
It would be convenient to have a method that checks if two ranges overlap. For example,
```
(0..10).overlap?(5..15) #=> true
(0..10).overlap?(20..30) #=> false
```
shouichi (Shouichi Kamiya)
04:47 PM Misc #19766: DevMeeting-2023-08-24
* [Bug #19779] `eval "return"` at top level raises `LocalJumpError` (jeremyevans0)
* Do we want to allow `eval "return"` at top level with the same sematics as `return`?
* [Bug #19749] Confirm correct behaviour when attaching private...
jeremyevans0 (Jeremy Evans)
04:42 PM Revision 744bc4d5 (git): [rubygems/rubygems] Make nil a valid license spec
https://github.com/rubygems/rubygems/commit/675effb67e John Hong
04:17 PM Revision 4524aeba (git): YJIT: Fix return type of Integer#/ with T_FIXNUM inputs
Issue found by running ruby/spec with `--yjit-verify-ctx`. Thanks! alanwu (Alan Wu)
02:35 PM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
Thanks - yeah it’s no problem if it doesn’t get back ported to 3.0. kjtsanaktsidis (KJ Tsanaktsidis)
02:32 PM Bug #19837 (Closed): Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
This updates the backport flags. Note that Ruby 3.0 is in security maintenance, and this doesn't appear to be security related, so it is unlikely to be backported to Ruby 3.0. jeremyevans0 (Jeremy Evans)
02:28 PM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
OK - I hope I've done this right, let me know otherwise :)
* Ruby 3.0: https://github.com/ruby/ruby/pull/8248
* Ruby 3.1: https://github.com/ruby/ruby/pull/8246
* Ruby 3.2: https://github.com/ruby/ruby/pull/8247
Also, I opened a ...
kjtsanaktsidis (KJ Tsanaktsidis)
02:25 PM Revision c8d64199 (git): Refactor ary_make_partial
peterzhu2118 (Peter Zhu)
02:05 PM Revision 314eed8a (git): YJIT: implement fast path for integer multiplication in opt_mult (#8204)
* YJIT: implement fast path for integer multiplication in opt_mult
* Update yjit/src/codegen.rs
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
* Implement mul with overflow checking on arm64
* Fix missing semicolon
* Add ar...
maximecb (Maxime Chevalier-Boisvert)
01:24 PM Revision 724223b4 (git): Don't check for STR_NOEMBED in rb_fstring
We don't need to check for STR_NOEMBED because the check above for
STR_EMBED_P means that it can never be false.
peterzhu2118 (Peter Zhu)
12:51 PM Revision 2800d1fd (git): [ruby/yarp] fix: unterminated % in arguments
https://github.com/ruby/yarp/commit/efb3102369 mdalessio (Mike Dalessio)
08:21 AM Revision 20106fe2 (git): [rubygems/rubygems] Update SPDX license list as of 2023-06-18
https://github.com/rubygems/rubygems/commit/3db9165335 License Update
08:12 AM Revision 57dfd5c2 (git): Revert "Fix tool/update-deps for YARP files"
This reverts commit 6fff5c5ba23a2790c9d189de82e157c9fa986f96.
Revert "Use $(top_srcdir) entries for mswin (#8244)"
This reverts commit e327bf32bdfa610a0f1834048bb1422de992c073.
Revert "Update dependencies"
This reverts commit aba26a8...
k0kubun (Takashi Kokubun)
08:07 AM Revision 6fff5c5b (git): Fix tool/update-deps for YARP files
k0kubun (Takashi Kokubun)
07:48 AM Revision e327bf32 (git): Use $(top_srcdir) entries for mswin (#8244)
While the $(VPATH) rules live in common.mk, mswin seems to ignore them.
We need to use $(VPATH) for OpenBSD, but we need to use the other one for mswin.
k0kubun (Takashi Kokubun)
07:34 AM Revision aba26a88 (git): Update dependencies
k0kubun (Takashi Kokubun)
07:20 AM Revision 2046e054 (git): Use {$(VPATH)} for OpenBSD
Scratch build on OpenBSD has been failing since 67b5f63e97.
`make; make` works though. (`make` alone doesn't work)
I have no idea what I'm doing, but I do know that this patch fixes
scratch build on an OpenBSD machine.
My best guess is...
k0kubun (Takashi Kokubun)
05:12 AM Revision 6a6dacb0 (git): Attempt to recover from YARP sync failures
k0kubun (Takashi Kokubun)
04:47 AM Revision 7a2aeadb (git): Attempt to explain what sync_default_gems_with_commits does [ci skip]
k0kubun (Takashi Kokubun)
04:28 AM Feature #19840 (Feedback): [Proposal] Expand Find pattern to Multiple Find
Hello! I love Ruby's pattern matching features. I would like to propose an expansion of the Find pattern which allows the selection of multiple matching elements of an array.
I often find myself dealing with data like this:
``` ruby
...
FlickGradley (Nick Bradley)
03:58 AM Bug #19829: Enumerator.product called with keyword arguments raises exception with not precise message
I submitted a pull request to fix this, by adding an rb_no_keywords_accepted C-API function and using that for both C methods and Ruby methods that do not accept keywords: https://github.com/ruby/ruby/pull/8243 jeremyevans0 (Jeremy Evans)
03:55 AM Revision 412defc7 (git): [ruby/io-console] Get rid of address of an rvalue on TruffleRuby
https://github.com/ruby/io-console/commit/653c1cd33f nobu (Nobuyoshi Nakada)
03:55 AM Revision 818ba30e (git): [ruby/io-console] Avoid the influence of special variable `$/`
https://github.com/ruby/io-console/commit/5f71354332 nobu (Nobuyoshi Nakada)
03:55 AM Revision cff80587 (git): [ruby/io-console] Ensure to put a newline after password
https://github.com/ruby/io-console/commit/15e36af171 nobu (Nobuyoshi Nakada)
03:55 AM Revision 528da434 (git): [ruby/io-console] Flush after prompt
https://github.com/ruby/io-console/commit/040a1d6259 nobu (Nobuyoshi Nakada)
03:55 AM Revision 540cf432 (git): [ruby/io-console] Enable `getpass` methods always
https://github.com/ruby/io-console/commit/57f9649df4 nobu (Nobuyoshi Nakada)
01:17 AM Revision 1bbce429 (git): [ruby/io-console] [DOC] Remove a trailing space from the prompt too
https://github.com/ruby/io-console/commit/85a155f25f nobu (Nobuyoshi Nakada)
01:15 AM Revision 1107cfd0 (git): [ruby/io-console] * remove trailing spaces [ci skip]
https://github.com/ruby/io-console/commit/a0544eb74f nobu (Nobuyoshi Nakada)
01:02 AM Revision 43802a08 (git): [ruby/io-console] [DOC] IO::console.getpass usage example
There were no clear example of this very useful method's usage anywhere
in the IO or IO::Console docs, which was a shame.
https://github.com/ruby/io-console/commit/4d324586a8
olivierlacan (Olivier Lacan)
12:58 AM Revision ad2bad4a (git): Fix the scope of rubygems conflict resolution
The `git reset` and `rm_rf` are not necessary because `bundler/` is
considered as a `toplevels` and removed from the commit when there's
no conflict.
For conflict cases, it's useful to remove them from the conflict targets
before moving...
k0kubun (Takashi Kokubun)
12:55 AM Revision 434cbc05 (git): Document the existence of sync_default_gems.rb -a [ci skip]
k0kubun (Takashi Kokubun)
12:06 AM Revision 995fd11b (git): [ruby/yarp] Remove strange :"#arg_rest" local
https://github.com/ruby/yarp/commit/66ecec218d kddnewton (Kevin Newton)

08/17/2023

11:16 PM Revision e9134316 (git): [rubygems/rubygems] Raise Gem::Package::FormatError on EOF, indicating corrupt gem
Gem::Package::TarReader::Entry now raises EOFError or returns nil
appropriately based on Ruby core IO.read and IO.readpartial behavior.
Zlib will respond accordingly by raising Zlib::GzipFile::Error on EOF.
When verifying a gem or extr...
martinemde (Martin Emde)
10:15 PM Misc #19766: DevMeeting-2023-08-24
* [Misc #19777] Make `Kernel#lambda` raise when called without a literal block
* There are two code paths for detecting whether a literal block was passed, best to have just one
* The way `f_lambda_warn()` does it allows `block_cod...
alanwu (Alan Wu)
10:08 PM Bug #19837: Concurrent calls to Process.waitpid2 misbehave on Ruby 3.1 & 3.2
@kjtsanaktsidis Yes, please prepare backport pull requests for ruby_3_2 and ruby_3_1, then we can update the backport flags in this issue to let the branch maintainer know it is ready for backporting. jeremyevans0 (Jeremy Evans)
10:06 PM Revision e504c368 (git): Remove obsoleted yp_-renaming logic
This has not been relevant since https://github.com/ruby/yarp/pull/1199. k0kubun (Takashi Kokubun)
10:04 PM Revision 78e7fd7b (git): Include YARP templated files in snapshots
Those files should be part of CRuby distributions. k0kubun (Takashi Kokubun)
10:02 PM Bug #19791 (Closed): Debugger does not handle delete key correctly
jeremyevans0 (Jeremy Evans)
09:58 PM Feature #19776 (Closed): Warn bundled gems when it called from `require`
jeremyevans0 (Jeremy Evans)
09:55 PM Bug #19770 (Third Party's Issue): TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
Schachi65 (Joachim Schachermayer) wrote in #note-2:
> In that case, the hostname is a human readable IP: 192.168.55.11
The line raising the exception is only reached if you pass a non-String to `IPAddr.new`. Your "(assumption: the ad...
jeremyevans0 (Jeremy Evans)
09:52 PM Revision 72a16c61 (git): Move the dependency of node.rb and serialize.rb
to `main`.
This is what lib/ruby_vm/rjit/instruction.rb currently does. Letting
.time depend on those files was just a workaround.
k0kubun (Takashi Kokubun)
09:39 PM Revision 67b5f63e (git): Render YARP templates in the build process (#8228)
k0kubun (Takashi Kokubun)
09:17 PM Revision 5d48825d (git): YJIT: Fix String#<< return type
We previously falsely asserted that String#<< always returns a ::String
instance. Issue was discovered on CI with `--yjit-verify-ctx`.
https://github.com/ruby/ruby/actions/runs/5893760435/job/15986002531
alanwu (Alan Wu)
09:14 PM Revision 518d5ab5 (git): Add note about rb_f_notimplement [ci skip]
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> alanwu (Alan Wu)
09:14 PM Revision 9683eb06 (git): YJIT: Fix Kernel#respond_to? handling of rb_f_notimplement
We should return false for this type of special methods but wasn't
previously. Was reproducible with:
make test-all TESTS=../test/-ext-/test_notimplement.rb RUN_OPTS='--yjit-call-threshold=1'
alanwu (Alan Wu)
08:57 PM Revision 57ec1673 (git): YARP: Ignore Rust sync failures
k0kubun (Takashi Kokubun)
07:53 PM Revision 5db8b9b3 (git): Move total_freed_objects to size pool
This commit moves the `total_freed_objects` statistic to the size pool
which allows for `total_freed_objects` key in `GC.stat_heap`.
peterzhu2118 (Peter Zhu)
07:53 PM Revision 52506cbf (git): Move total_allocated_objects to size pool
This commit moves the `total_allocated_objects` statistic to the size
pool which allows for `total_allocated_objects` key in `GC.stat_heap`.
peterzhu2118 (Peter Zhu)
05:27 PM Revision 818998b4 (git): Refactor YARP_IGNORE_FILE_PATTERN
`.git.*` covers those two cases.
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
k0kubun (Takashi Kokubun)
05:21 PM Misc #19772: API naming for YARP compiler
nobu (Nobuyoshi Nakada) wrote in #note-5:
> I don't think "YA-" names nice in general, unless for development code name.
Agreed with you that `"YA-"` prefix is overloaded. Is your preference then something like `YARP.parse.compile` (...
jemmai (Jemma Issroff)
05:01 PM Revision f50e814d (git): Resync YARP to https://github.com/ruby/yarp/commit/11ad3fb590
k0kubun (Takashi Kokubun)
04:58 PM Revision 40002dd7 (git): Resync YARP
k0kubun (Takashi Kokubun)
04:58 PM Revision 81d71509 (git): [ruby/yarp] Treat yp_buffer_t as an opaque pointer
Right now, we have to keep the buffer FFI object in sync with the
definition of yp_buffer_t because we access its fields directly. If
we add more fields or change the order, things will get out of sync.
Instead, let's treat yp_buffer_t ...
kddnewton (Kevin Newton)
04:07 PM Revision 75a47675 (git): [rubygems/rubygems] Add `file` option to `ruby` method in Gemfile
https://github.com/rubygems/rubygems/commit/fb9354b7bf Ngan Pham
02:11 PM Revision 30a5b945 (git): YJIT: implement side chain fallback for setlocal to avoid exiting (#8227)
* YJIT: implement side chain fallback for setlocal to avoid exiting
* Update yjit/src/codegen.rs
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
maximecb (Maxime Chevalier-Boisvert)
10:39 AM Revision 7433c8f7 (git): [rubygems/rubygems] Clarify that `bundle info` takes a gem name
https://github.com/rubygems/rubygems/commit/09ef74ef73 manu (Emmanuel Pinault)
10:29 AM Revision 8c447cff (git): Lrama v0.5.4
yui-knk (Kaneko Yuichiro)
07:30 AM Revision d26b015e (git): [Bug #19831] Remove duplicate library options
`$(LIBRUBYARG_SHARED)` is included in `$(LIBS)` in extension
libraries.
nobu (Nobuyoshi Nakada)
03:28 AM Revision e210b899 (git): Move the PC regardless of the leaf flag (#8232)
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> k0kubun (Takashi Kokubun)
01:57 AM Bug #19831 (Closed): warning message of linker with macOS Sonoma beta
Applied in changeset commit:git|5bb946228550c7f171c27725860b153a675404f3.
----------
[Bug #19831] Remove duplicate library options
`$(MAINLIBS)` should be included in `$(LIBRUBYARG)` in cases it is
needed.
nobu (Nobuyoshi Nakada)
01:57 AM Revision 5bb94622 (git): [Bug #19831] Remove duplicate library options
`$(MAINLIBS)` should be included in `$(LIBRUBYARG)` in cases it is
needed.
nobu (Nobuyoshi Nakada)
01:16 AM Revision 48b241e5 (git): [ruby/yarp] Fix errors on locals test caused by LANG=C
https://github.com/ruby/yarp/commit/8fae286bc9 kddnewton (Kevin Newton)
12:55 AM Revision 1c53e64c (git): Fix a regexp error
k0kubun (Takashi Kokubun)
12:55 AM Revision cdb757f8 (git): Avoid synchronizing GitHub Actions from YARP
k0kubun (Takashi Kokubun)
12:51 AM Revision 7183cf53 (git): Revert an unintended revert
k0kubun (Takashi Kokubun)
12:48 AM Revision f1778870 (git): Update default gems list at 45740e7a248b4b995644646e38d94b [ci skip]
git[bot]
12:47 AM Revision 45740e7a (git): [ruby/yarp] Use _snprintf when using Windows versions prior to 2015 (< 1900)
Ruby CI has informed us that snprintf is not available on Windows
versions, but _sprintf is supported. This commit allows us to use
_sprintf where applicable
https://github.com/ruby/yarp/commit/818cc96afe
jemmai (Jemma Issroff)
12:47 AM Revision c989c1b0 (git): [ruby/yarp] Omit locals test if running on a 32 bit machine
https://github.com/ruby/yarp/commit/809d046f36 jemmai (Jemma Issroff)
12:47 AM Revision 87f74a34 (git): Update dependencies
k0kubun (Takashi Kokubun)
12:47 AM Revision f20dfd08 (git): Fix the YARP init path
k0kubun (Takashi Kokubun)
12:47 AM Revision 3873b1eb (git): Resync YARP
k0kubun (Takashi Kokubun)
12:47 AM Revision 957cd369 (git): [ruby/yarp] Add test for empty heredoc
https://github.com/ruby/yarp/commit/e49b63a79e kddnewton (Kevin Newton)
12:47 AM Revision 3536cad9 (git): [ruby/yarp] Fixes so `bundle exec rake` can run on JRuby and TruffleRuby
https://github.com/ruby/yarp/commit/e6cea4fa08 Eregon (Benoit Daloze)
12:47 AM Revision 958ac8d5 (git): [ruby/yarp] Test all methods of the YARP Ruby API
https://github.com/ruby/yarp/commit/a723f40baf Eregon (Benoit Daloze)
12:47 AM Revision a8c70ed2 (git): [ruby/yarp] add a diagnostic for *rest in order after optional state
https://github.com/ruby/yarp/commit/908244ba12 HParker (Adam Hess)
12:47 AM Revision bf723b21 (git): [ruby/yarp] More flip flop flags
Whenever you see a `not` or a `!`, the receiver of that method should
potentially be marked as a flip-flop.
https://github.com/ruby/yarp/commit/ba5977a40a
kddnewton (Kevin Newton)
12:47 AM Revision fb287fa4 (git): [ruby/yarp] Support the flipflop flag
https://github.com/ruby/yarp/commit/6315890390 kddnewton (Kevin Newton)
12:47 AM Revision ecf2e84c (git): [ruby/yarp] Add a CHANGELOG
https://github.com/ruby/yarp/commit/b490ff0919 kddnewton (Kevin Newton)
12:47 AM Revision 86cc82a1 (git): [ruby/yarp] Improved comments, moved flags after type
https://github.com/ruby/yarp/commit/4815d77e82 jemmai (Jemma Issroff)
12:47 AM Revision 383c47f5 (git): [ruby/yarp] Separate yp_node_flags_t from yp_node_type_t
Prior to this commit, we folded the flags into the type. This created
extra overhead when calculating the type and setting the flags. This
commit separates them.
https://github.com/ruby/yarp/commit/b783a5678c
jemmai (Jemma Issroff)
12:47 AM Revision 89de5444 (git): [ruby/yarp] Set constant path write node target type
https://github.com/ruby/yarp/commit/771f7ed789 kddnewton (Kevin Newton)
12:47 AM Revision ee885237 (git): [ruby/yarp] Fix string concat parsing
https://github.com/ruby/yarp/commit/58f839a3eb kddnewton (Kevin Newton)
12:47 AM Revision 77e52735 (git): [ruby/yarp] Fix warnings found from gcc-analyzer and clang-analyzer
https://github.com/ruby/yarp/commit/1f9a6e05c4 kddnewton (Kevin Newton)
12:47 AM Revision 9b952670 (git): [ruby/yarp] Less const_get
Right now whenever you go to create a Ruby object from a C struct
we dynamically look up the constants. This is not great for
performance. Now instead we template out a constant for each VALUE
that holds the classes, and then directly re...
kddnewton (Kevin Newton)
12:47 AM Revision 96aebb42 (git): [ruby/yarp] Address PR comments
- odd whitespace
- a couple of name changes
- properly read uint32_t when not properly aligned
https://github.com/ruby/yarp/commit/3208ee3983
enebo (Thomas Enebo)
12:47 AM Revision d6f9f3e4 (git): [ruby/yarp] Rename RescueNode#exception to RescueNode#reference
https://github.com/ruby/yarp/commit/ad0eb4b2c3 kddnewton (Kevin Newton)
12:47 AM Revision a793260c (git): [ruby/yarp] Also rework regexp lexer to check terminators properly
https://github.com/ruby/yarp/commit/4b157a8352 kddnewton (Kevin Newton)
12:47 AM Revision 2ef54d38 (git): [ruby/yarp] Rework the list lexer to check terminators properly
https://github.com/ruby/yarp/commit/60315d0f13 kddnewton (Kevin Newton)
12:47 AM Revision 5e939727 (git): [ruby/yarp] Handle escaping in regexp slow path
https://github.com/ruby/yarp/commit/8dd0a1b281 kddnewton (Kevin Newton)
12:47 AM Revision 72571453 (git): [ruby/yarp] Clang beats gcc in pedantry
Accidentally declared int32_t and not uint32_t and it was caught
on macos.
https://github.com/ruby/yarp/commit/6581520793
enebo (Thomas Enebo)
12:47 AM Revision 1e0749e0 (git): [ruby/yarp] Addressed review comments.
Missing any tests and in fact this is untested so still a WIP.
https://github.com/ruby/yarp/commit/5411abd651
enebo (Thomas Enebo)
12:47 AM Revision 0b6a26ab (git): [ruby/yarp] Provide slow path for finding ) in regexp when encoding changes
https://github.com/ruby/yarp/commit/c1064a65e3 kddnewton (Kevin Newton)
12:47 AM Revision 0004565a (git): [ruby/yarp] Use yp_memchr in regexp parsing
https://github.com/ruby/yarp/commit/08081dd24f kddnewton (Kevin Newton)
12:47 AM Revision 1ad0d198 (git): [ruby/yarp] Parse individual snippets of test/fixtures/*.txt
* To ensure the parser does not try to read bytes further than the end of each snippet.
https://github.com/ruby/yarp/commit/1c4438bdde
Eregon (Benoit Daloze)
12:47 AM Revision 3f64defe (git): [ruby/yarp] Make sure lexing ? does not read off the end
https://github.com/ruby/yarp/commit/d694e3ebf2 kddnewton (Kevin Newton)
12:47 AM Revision d2eb82d9 (git): [ruby/yarp] Fix test to use the new location of yarp.so
https://github.com/ruby/yarp/commit/a22b204a11 Eregon (Benoit Daloze)
12:47 AM Revision 1002b777 (git): [ruby/yarp] Automatically find the right line for yarp/serialize.rb newline test
https://github.com/ruby/yarp/commit/5908130541 Eregon (Benoit Daloze)
12:47 AM Revision 820a58c2 (git): [ruby/yarp] Hide debug methods
https://github.com/ruby/yarp/commit/aa0dc2f301 kddnewton (Kevin Newton)
12:47 AM Revision 1ea9e444 (git): [ruby/yarp] Fix memory leak from constant write node creation
https://github.com/ruby/yarp/commit/0071bee0bb kddnewton (Kevin Newton)
12:47 AM Revision e66e60cf (git): [ruby/yarp] Handle invalid multiple parameters
https://github.com/ruby/yarp/commit/2f83265653 kddnewton (Kevin Newton)
12:47 AM Revision 7a1c4974 (git): [ruby/yarp] Add constant write node
https://github.com/ruby/yarp/commit/a62f2f0153 kddnewton (Kevin Newton)
12:47 AM Revision 9c61e0c8 (git): [ruby/yarp] Ensure token cannot begin an expression
https://github.com/ruby/yarp/commit/837522217c kddnewton (Kevin Newton)
12:47 AM Revision 3d032cf3 (git): [ruby/yarp] Simplify creation of numerics
https://github.com/ruby/yarp/commit/e5f6ffa23a kddnewton (Kevin Newton)
12:47 AM Revision b6f26c2e (git): [ruby/yarp] Use common fields for yp_string_t
* Otherwise it is undefined behavior to access the field of another `.as`.
* Accessing the right `.as` field according mode would be extra overhead.
https://github.com/ruby/yarp/commit/7dc41ee803
Eregon (Benoit Daloze)
12:47 AM Revision ab2f638a (git): [ruby/yarp] Test YARP.parse_file by using it in tests
https://github.com/ruby/yarp/commit/c603bba89a Eregon (Benoit Daloze)
12:47 AM Revision 7cc5b22b (git): [ruby/yarp] Add comment that extension.c should not contain non-trivial logic
https://github.com/ruby/yarp/commit/638f6849be Eregon (Benoit Daloze)
12:47 AM Revision e712bc9b (git): [ruby/yarp] Move efficient file reading using demand paging to librubyparser
* So it can be reused by the Fiddle backend, etc and not just the C extension.
* Add YP_STRING_MAPPED to use a consistent interface for yp_string_t.
That way yp_string_free() can be used like for other string types.
* Fix handling of e...
Eregon (Benoit Daloze)
12:47 AM Revision 2ccaaaa1 (git): [ruby/yarp] Add simpler exported unescape function to librubyparser
* Moves logic from the C extension to librubyparser which can be shared with the Fiddle backend.
https://github.com/ruby/yarp/commit/aa48d5e444
Eregon (Benoit Daloze)
12:47 AM Revision 31960a96 (git): [ruby/yarp] Handle missing block parameters
https://github.com/ruby/yarp/commit/bc9049418d kddnewton (Kevin Newton)
12:47 AM Revision eca3b934 (git): [ruby/yarp] **nil can be a STAR_STAR token
https://github.com/ruby/yarp/commit/33b06f252c kddnewton (Kevin Newton)
12:47 AM Revision e56da356 (git): [ruby/yarp] Handle invalid regexps more gracefully
https://github.com/ruby/yarp/commit/584a49f123 kddnewton (Kevin Newton)
12:47 AM Revision 4c4e75c0 (git): [ruby/yarp] Add error cases for ustar appearing in infix position
https://github.com/ruby/yarp/commit/8736c17359 kddnewton (Kevin Newton)
12:47 AM Revision cededf73 (git): [ruby/yarp] For errored % characters, use TOKEN_PERCENT and not TOKEN_STRING_BEGIN
https://github.com/ruby/yarp/commit/2ec671fe1e kddnewton (Kevin Newton)
12:47 AM Revision 242f3c3a (git): [ruby/yarp] Don't read off the end when parsing % literals
https://github.com/ruby/yarp/commit/aff40871e6 kddnewton (Kevin Newton)
12:47 AM Revision 45efbadb (git): [ruby/yarp] Enable all of -wconversion
https://github.com/ruby/yarp/commit/638163f6c6 kddnewton (Kevin Newton)
12:47 AM Revision f1658efe (git): [ruby/yarp] Split out newline test
https://github.com/ruby/yarp/commit/eeb4f6cb9d kddnewton (Kevin Newton)
12:47 AM Revision 41e8ba01 (git): [ruby/yarp] Mark locations in the tree where newlines can occur
https://github.com/ruby/yarp/commit/479e835756 kddnewton (Kevin Newton)
12:47 AM Revision 86b32dac (git): [ruby/yarp] Handle pound terminator in isolation
https://github.com/ruby/yarp/commit/1cfce46107 kddnewton (Kevin Newton)
12:47 AM Revision ede55edb (git): [ruby/yarp] Remove trailing whitespace
https://github.com/ruby/yarp/commit/04de272383 enebo (Thomas Enebo)
12:47 AM Revision 76c77b5e (git): [ruby/yarp] WIP - Introduce contextually parsing programs vs evals
This is more or less the code I used in my POC in JRuby
to parse evals. Evals depend on parent variable scopes
and will produce a different syntax tree.
Questions:
1. How does MRI compile evals currently? I cannot find anything.
2...
enebo (Thomas Enebo)
12:47 AM Revision 0f809194 (git): [ruby/yarp] Move the gem's C extension into lib/yarp/
and change the require from "yarp.so" to "yarp/yarp", which is more
aligned with existing community conventions for gems.
https://github.com/ruby/yarp/commit/64b70e2658
Mike Dalessio
12:47 AM Revision c5dad5f1 (git): Sync script updates
jemmai (Jemma Issroff)

08/16/2023

11:33 PM Revision f339937a (git): RJIT: Remove macros inherited from MJIT but no longer used
nobu (Nobuyoshi Nakada)
02:52 PM Revision 0d7e8471 (git): Consider the special node when printing
Appreciation to the reporter, Huichiao Tsai <hctsai.cs10@nycu.edu.tw>. nobu (Nobuyoshi Nakada)
01:53 PM Revision 7d3634a1 (git): Extract GC for fd parts as `TRY_WITH_GC `
nobu (Nobuyoshi Nakada)
01:53 PM Revision f0edcd82 (git): Extract platform dependent part as `fdopen_internal`
nobu (Nobuyoshi Nakada)
01:52 PM Revision 82e480ff (git): Silent test-all on AppVeyor
nobu (Nobuyoshi Nakada)
01:51 PM Revision 089227e9 (git): [DOC] Specify the unit of return value for `Time#-`
haseponpon
10:13 AM Revision 5a40f7db (git): [ruby/irb] Encapsulate input details in Statement objects
(https://github.com/ruby/irb/pull/682)
* Introduce Statement class
* Split Statement class for better clarity
https://github.com/ruby/irb/commit/65e8e68690
st0012 (Stan Lo)
10:02 AM Revision 0982c5fa (git): Resync Lrama v0.5.3
Previous sync included unrelated files and missed template file update. yui-knk (Kaneko Yuichiro)
06:03 AM Revision fe240b67 (git): [rubygems/rubygems] Show better error when PAT can't authenticate to a private server
Before:
```
Fetching gem metadata from https://rubygems.org/........
Fetching source index from https://rubygems.pkg.github.com/my-org/
Bad username or password for https://x-access-token@rubygems.pkg.github.com/my-org/.
Please double-...
deivid (David Rodríguez)
06:03 AM Revision e678affe (git): [rubygems/rubygems] Bad auth should not fallback either
https://github.com/rubygems/rubygems/commit/ba3ea27869 deivid (David Rodríguez)
06:03 AM Revision c076ac8a (git): [rubygems/rubygems] Use better status for authentication failures
https://github.com/rubygems/rubygems/commit/ffa395411f deivid (David Rodríguez)
06:03 AM Revision 2e04336b (git): [rubygems/rubygems] Fix git source conservativeness
https://github.com/rubygems/rubygems/commit/9a0e0dfd5b deivid (David Rodríguez)
06:03 AM Revision 4a3777bf (git): [rubygems/rubygems] Extract s.name to a variable
https://github.com/rubygems/rubygems/commit/689c39b42f deivid (David Rodríguez)
06:03 AM Revision e92ace6b (git): [rubygems/rubygems] Remove unneeded stuff
This should be only for path sources, and unrelated to git.
https://github.com/rubygems/rubygems/commit/0d8f31eeed
deivid (David Rodríguez)
06:03 AM Revision 7bb3e637 (git): [rubygems/rubygems] Don't update locked sources when not necessary
https://github.com/rubygems/rubygems/commit/cfc82b592a deivid (David Rodríguez)
06:03 AM Revision c57ab646 (git): [rubygems/rubygems] Extract a `default_source` method
https://github.com/rubygems/rubygems/commit/784e08348e deivid (David Rodríguez)
06:03 AM Revision 002165f8 (git): [rubygems/rubygems] Move `lockfile_source` variable out of condition branch
https://github.com/rubygems/rubygems/commit/efebc64250 deivid (David Rodríguez)
06:03 AM Revision 6bc63ab9 (git): [rubygems/rubygems] Refactor locked dep filtering more
We only need to check whether the spec if for a direct dependency once.
https://github.com/rubygems/rubygems/commit/65b455a5cb
deivid (David Rodríguez)
06:03 AM Revision 86492fca (git): [rubygems/rubygems] Avoid unnecessary loop through dependencies
https://github.com/rubygems/rubygems/commit/2ab63bb94d deivid (David Rodríguez)
05:48 AM Revision f1df0629 (git): [ruby/openssl] Enhance printing OpenSSL versions.
* Updated the `OpenSSL::OPENSSL_VERSION_NUMBER` comment explaining the format.
* Added the `OpenSSL::LIBRESSL_VERSION_NUMBER` to print LibreSSL version number,
in the case that Ruby OpenSSL binding is compiled with LibreSSL. Note
`te...
Jun Aruga
05:48 AM Revision f5ca8d0e (git): [ruby/openssl] test/openssl/test_pkey.rb: Fix pending tests in FIPS case.
https://github.com/ruby/openssl/commit/f9980d88aa Jun Aruga
05:48 AM Revision 8ca0d53f (git): [ruby/openssl] Use openssl? instead of OpenSSL::OPENSSL_VERSION_NUMBER.
Update the `openssl?` method by adding status argument.
Note the format is below.
* OpenSSL 3: 0xMNN00PP0 (major minor 00 patch 0)
* OpenSSL 1: 0xMNNFFPPS (major minor fix patch status)
See <https://www.openssl.org/docs/man1.1.1/man3/...
Jun Aruga
05:48 AM Revision 12bdacdc (git): [ruby/openssl] Include "additional data" message in OpenSSL errors
Error entries in the OpenSSL error queue may contain additional
contextual information associated with the error, which can be helpful
when debugging.
This "additional data" is currently only printed to stderr when
OpenSSL.debug is enab...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 382b42be (git): [ruby/openssl] config: relax test assertions against error messages
Test that the error message contains the necessary text instead of the
exact match. Exceptions raised by ossl_raise() may carry additional
context information in the message.
https://github.com/ruby/openssl/commit/fd6f76c0d3
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 01d368e7 (git): [ruby/openssl] ssl: raise SSLError if loading ca_file or ca_path fails
When compiled with OpenSSL <= 1.1.1, OpenSSL::SSL::SSLContext#setup
does not raise an exception on an error return from
SSL_CTX_load_verify_locations(), but instead only prints a verbose-mode
warning. This is not helpful since it very li...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 8dd5c202 (git): [ruby/openssl] Raise an error when the specified OpenSSL library directory doesn't exist.
OpenSSL built from the source creates the library directory to the
`/path/to/openssl_dir/lib64` as a default.
In the case, the `bundle exec rake compile -- --with-openssl-dir=<openssl_dir>`
cannot compile with the lib64 directory, and ma...
Jun Aruga
05:48 AM Revision 0eaee5c0 (git): [ruby/openssl] [DOC] enhance RDoc for exporting pkeys
Describe the behavior of OpenSSL::PKey::{DH,DSA,EC,RSA}#to_pem
and #to_der more clearly. They return a different result depending on
whether the pkey is a public or private key. This was not documented
adequately.
Also, suggest the use ...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision fae6fd07 (git): [ruby/openssl] [DOC] prefer PKey#private_to_pem and #public_to_pem in RDoc
Suggest the use of OpenSSL::PKey::PKey#private_to_pem and #public_to_pem
in the top-level documentation. For new programs, these are recommended
over OpenSSL::PKey::RSA#export (also aliased as #to_s and #to_pem)
unless there is a specifi...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 4541cd4c (git): [ruby/openssl] [DOC] prefer "password" to "passphrase"
Let's consistently use the word "password". Although they are considered
synonymous, the mixed usage in the rdoc can cause confusion.
OpenSSL::KDF.scrypt is an exception. This is because RFC 7914 refers to
the input parameter as "passph...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 4465941e (git): [ruby/openssl] Revert "Relax error message check for OpenSSL 3.1"
This reverts commit https://github.com/ruby/openssl/commit/fc4629d246f2.
The test case "test_connect_certificate_verify_failed_exception_message"
does want to check the reason behind a certificate verification failure
to be included in ...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision cb344e4e (git): [ruby/openssl] ssl: adjust "certificate verify failed" error on SSL_ERROR_SYSCALL
Enrich SSLError's message with the low-level certificate verification
result, even if SSL_get_error() returns SSL_ERROR_SYSCALL. This is
currently done on SSL_ERROR_SSL only.
According to the man page of SSL_get_error(), SSL_ERROR_SYSCA...
rhenium (Kazuki Yamaguchi)
05:48 AM Revision 66a70582 (git): [ruby/openssl] ssl: adjust styles of ossl_start_ssl()
Expand tabs, insert some spaces, and adjust indentation of switch-case
to match Ruby's style.
https://github.com/ruby/openssl/commit/10833aa8f6
rhenium (Kazuki Yamaguchi)
04:50 AM Bug #19831: warning message of linker with macOS Sonoma beta
```
$ rm -f ruby; make -n ruby
rm -f ruby
echo linking ruby
clang -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit...
hsbt (Hiroshi SHIBATA)
04:27 AM Bug #19831 (Open): warning message of linker with macOS Sonoma beta
This warnings are still happend with https://github.com/ruby/ruby/commit/af67ced3b0945e8ea67434f8e66ef1e602656438
```
linking ruby
ld: warning: ignoring duplicate library '-lgmp'
ld: warning: ignoring duplicate library '-ldl'
ld: ...
hsbt (Hiroshi SHIBATA)
01:40 AM Revision af67ced3 (git): [ruby/net-http] Update lib/net/http.rb
@natematykiewicz's suggestion to avoid another string allocation
https://github.com/ruby/net-http/commit/4a22c42338
Co-authored-by: Nate Matykiewicz <natematykiewicz@gmail.com>
Josh Nichols
01:40 AM Revision ae68a8df (git): [ruby/net-http] Update lib/net/http/response.rb
@natematykiewicz's suggestion to avoid a string allocation
https://github.com/ruby/net-http/commit/925630f227
Co-authored-by: Nate Matykiewicz <natematykiewicz@gmail.com>
Josh Nichols
01:40 AM Revision ea321a65 (git): [ruby/net-http] use +'' everywhere
https://github.com/ruby/net-http/commit/1077427152 Josh Nichols
01:40 AM Revision 70da92cd (git): [ruby/net-http] Fix on 2.7
https://github.com/ruby/net-http/commit/5194fd541e Josh Nichols
01:40 AM Revision 4d21134f (git): [ruby/net-http] freeze rest of lib
https://github.com/ruby/net-http/commit/455a74734a Josh Nichols
01:40 AM Revision 4165ec91 (git): [ruby/net-http] update net/http/response to be frozen string literal
https://github.com/ruby/net-http/commit/dc3b4a75ca Josh Nichols
01:40 AM Revision 2fbd8dca (git): [ruby/net-http] turn on frozen strings for net/http/generic_request
https://github.com/ruby/net-http/commit/b92ade088d Josh Nichols
01:40 AM Revision 8d04260a (git): [ruby/net-http] turn on frozen strings for net/http/header
https://github.com/ruby/net-http/commit/a5203c9f92 Josh Nichols
01:39 AM Revision 0300ea5a (git): [ruby/net-http] Improve performance of HTTPHeader#content_type
In the existing implementation, `main_type` and `sub_type` would end up
being called multiple times potentially.
Instead of doing that, save the result so it can be re-used.
https://github.com/ruby/net-http/commit/179976f7ea
Josh Nichols
12:07 AM Revision 8d985b18 (git): Clarify the actual Visual Studio version [ci skip]
k0kubun (Takashi Kokubun)
 

Also available in: Atom