Project

General

Profile

Activity

From 06/28/2023 to 07/04/2023

07/04/2023

08:45 PM Revision fd6da40f (git): [ruby/irb] Use `max_by` for `longest_cmd_name_length`
(https://github.com/ruby/irb/pull/628)
https://github.com/ruby/irb/commit/5e87f3bfdd
Co-authored-by: Andy Waite <andyw8@users.noreply.github.com>
Andy Waite
08:02 PM Revision 6b2abe57 (git): YJIT: Avoid reloading InsnOut operands (#8021)
k0kubun (Takashi Kokubun)
07:57 PM Revision a1d4dada (git): YJIT: Break register cycles for C arguments (take 2) (#8018)
* Revert "Revert "YJIT: Break register cycles for C arguments (#7918)""
This reverts commit 78ca085785460de46bfc4851a898d525c1698ef8.
* Use shfited_live_ranges for the last-insn check
k0kubun (Takashi Kokubun)
04:19 PM Bug #19756: URI::HTTP.build does not accept a host of `_gateway`, but `URI.parse` will.
Note that underscores are not allowed in host names.
I think it is a reasonable behavior for `URI::HTTP.build(host:"_gateway")` to raise an exception in order to prevent the generation of invalid URI strings.
It is arguable about the...
mame (Yusuke Endoh)
02:11 AM Bug #19756 (Open): URI::HTTP.build does not accept a host of `_gateway`, but `URI.parse` will.
I noticed a difference in behavior between `URI::HTTP.build` and `URI.parse`. `URI::HTTP.build` will not accept `host:` value of `_gateway`, but `URI.parse` will.
## Steps To Reproduce
```ruby
URI::HTTP.build(host: "_gateway")
``...
postmodern (Hal Brodigan)
03:17 PM Revision f6af5a11 (git): [ruby/irb] Refactor eval history
(https://github.com/ruby/irb/pull/623)
* Rename `ext/history.rb` to `ext/eval_history.rb`
To confusion with `lib/irb/history.rb`
* Add eval_history tests
* Rename eval_history's History to EvalHistory to avoid confusion
st0012 (Stan Lo)
03:07 PM Revision 2f603bc4 (git): ruby_3_2 backport for #8006 (#8008)
YJIT: Fix autosplat miscomp for blocks with optionals
When passing an array as the sole argument to `yield`, and the yieldee
takes more than 1 optional parameter, the array is expanded similar
to `*array` splat calls. This is called "au...
alanwu (Alan Wu)
02:45 PM Revision 296782ab (git): YJIT: Fix autosplat miscomp for blocks with optionals (#8006)
* YJIT: Fix autosplat miscomp for blocks with optionals
When passing an array as the sole argument to `yield`, and the yieldee
takes more than 1 optional parameter, the array is expanded similar
to `*array` splat calls. This is called "...
alanwu (Alan Wu)
02:18 PM Revision 218f913a (git): Suppressing security alert of atty dependency by env_logger-0.9.0
hsbt (Hiroshi SHIBATA)
01:52 PM Revision 0a8b5cac (git): [ruby/reline] Refactor Reline::Core
(https://github.com/ruby/reline/pull/561)
* Use Reline::Core.encoding instead of directly referencing IOGate
* Set input/output based on the IOGate's interface
st0012 (Stan Lo)
01:23 PM Revision 2e6a8a86 (git): [DOC] Dir doc (#8014)
burdettelamar (Burdette Lamar)
01:14 PM Revision 9178a998 (git): Remove reference to USE_RINCGC
This compile time flag was removed in https://github.com/ruby/ruby/pull/7313
This commit cleans up some related dead code.
eightbitraptor (Matt V-H)
12:30 PM Revision 8ddfc177 (git): Use `uint_least32_t`
The elements of `ruby_global_name_punct_bits` table are 32-bit masks. nobu (Nobuyoshi Nakada)
11:13 AM Revision ab661556 (git): fix substitution errors
These expressions don't exist. shyouhei (Shyouhei Urabe)
11:13 AM Revision 7ee39556 (git): fix typo
`matrix.name` doesn't exist. shyouhei (Shyouhei Urabe)
11:13 AM Revision 72e58bbd (git): fix typo
According to https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#check_suite
the key is "types", not "type".
shyouhei (Shyouhei Urabe)
11:13 AM Revision 7690a312 (git): chore: add blank lines [ci skip]
A bit readable to me. shyouhei (Shyouhei Urabe)
11:13 AM Revision f7732d63 (git): Use `${{}}` for if statement [ci skip]
Looking at `git log` it seems multiple members of the team prefer
this style. Let us follow the tradition.
shyouhei (Shyouhei Urabe)
11:13 AM Revision b0977e40 (git): chore: just add spaces [ci skip]
As seen in:
https://docs.github.com/en/actions/learn-github-actions/expressions
shyouhei (Shyouhei Urabe)
11:13 AM Revision 8ba5437f (git): annocheck: de-matrix
This workflow have never needed matrix since its birth. shyouhei (Shyouhei Urabe)
11:13 AM Revision d1efc7a3 (git): chore: prettier [ci skip]
This is just `prettier --single-quote`. Single quote is because
it generated smaller diff than vice verca.
shyouhei (Shyouhei Urabe)
11:13 AM Revision 420d069c (git): refactor extract mkdir
Everyone does `mkdir build; src/autogen.sh`; why not merge them. shyouhei (Shyouhei Urabe)
10:32 AM Bug #19751: Ruby 3.2.2 Fails to Compile from Source
I have what looks to be the exact same issue, with the same errors and a very similar log. The issue manifests with both the tarball and with the git repo on the ruby_3_2 branch. I can provide a full log if needed just for quick comparis... Kagetsuki (零 影月)
09:51 AM Bug #19751 (Feedback): Ruby 3.2.2 Fails to Compile from Source
Waiting for feedback. nobu (Nobuyoshi Nakada)
08:51 AM Revision 6f4c8d1d (git): [Cirrus] Run only when YJIT sources change [skip appveyor]
[ci skip] on other CIs.
Our tasks very often reach a concurrency limit on Cirrus-CI, and get
delayed. Submitting new tasks during the delay seems to make delay
longer and longer. So I think we should restrict the use of Cirrus,
provis...
nobu (Nobuyoshi Nakada)
05:54 AM Revision 4f2f1ddf (git): [rubygems/rubygems] Test that git sources in lockfiles have stable sort order
https://github.com/rubygems/rubygems/commit/4c982684ea Ellen Marie Dash
05:54 AM Revision 09382135 (git): [rubygems/rubygems] Fix git source lockfile unstability
We have some flags that limit running git commit commands under certain
situations, for example, when running under `--local`. However, those
should only affect remote git operations, not local read-only operations
like `git --version`, ...
deivid (David Rodríguez)
05:54 AM Revision 0ae2709d (git): [rubygems/rubygems] When printing frozen errors, print only Gemfile information
https://github.com/rubygems/rubygems/commit/93f74abc5f deivid (David Rodríguez)
05:54 AM Revision 0fcb4c6a (git): [rubygems/rubygems] Fix another incorrect removal of "ruby" platform from lockfile
When dependencies in path sources have changed, we'll be re-resolving,
and we can't really know whether the resolution will be valid or invalid
for the Ruby platform, so skip the removal in that case.
https://github.com/rubygems/rubygem...
deivid (David Rodríguez)
04:47 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
nobu (Nobuyoshi Nakada) wrote in #note-3:
> > irb(main):003:0> b.get_string(-1000)
> ...
Well now that I look at `String#[]` and `Array#[]` they return `nil` when `offset < -size`:
```ruby
irb(main):001:0> s = 'abc'
=> "abc"
irb(...
noteflakes (Sharon Rosner)

07/03/2023

04:30 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
> Indeed, and `class_eval`/`eval` is broken if decorated e.g. for `a = 3; class_eval "a"`.
Oh yeah, good point, that one slipped my mind.
Dan0042 (Daniel DeLorme)
03:59 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
byroot (Jean Boussier) wrote in #note-3:
> Decorating `class_eval / eval` should be quite rare anyways.
Indeed, and `class_eval`/`eval` is broken if decorated e.g. for `a = 3; class_eval "a"`.
The direct caller of `Module#class_eval...
Eregon (Benoit Daloze)
01:43 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
> doesn't work if another module is in the call chain
I'm not sure we can / should handle this. Decorating `class_eval / eval` should be quite rare anyways.
byroot (Jean Boussier)
01:15 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
+1
Just be careful about the implementation, because that monkey patch doesn't work if another module is in the call chain
```ruby
module DebugEval
def class_eval(code, ...)
p debug: code
super # <= source_location wi...
Dan0042 (Daniel DeLorme)
12:01 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
`#<UnboundMethod: Foo#foo() (eval in /tmp/foo.rb):10>` sounds great to me, +1.
The `(eval` makes it clear it's an eval in that file and so the line of an exception inside might not be exact.
Eregon (Benoit Daloze)
11:19 AM Feature #19755 (Closed): Module#class_eval and Binding#eval use caller location by default
### Background
In Ruby we're very reliant on `Method#source_location` as well as `caller_locations` to locate source code.
However, code generated via `Binding#eval`, `Module#class_eval` etc defeat this if called without a location...
byroot (Jean Boussier)
01:48 PM Revision af9eeb19 (git): [ruby/irb] Stop treating history-saving logic as extension
(https://github.com/ruby/irb/pull/613)
Since `IRB.conf[:SAVE_HISTORY]` is assigned with 1000 by default, history-saving
is a feature enabled by default. So it should not be treated as an extension,
which adds unnecessary complexity to t...
st0012 (Stan Lo)
11:07 AM Bug #19753 (Assigned): IO::Buffer#get_string can't handle negative offset
noteflakes (Sharon Rosner) wrote:
> ```ruby
> ...
I think this should raise an `ArgumentError`.
> ```ruby
> ...
At least, it should not be `"ab"`.
nobu (Nobuyoshi Nakada)
07:35 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
PR here: https://github.com/ruby/ruby/pull/8015 noteflakes (Sharon Rosner)
06:14 AM Bug #19753 (Closed): IO::Buffer#get_string can't handle negative offset
```ruby
irb(main):001:0> b = IO::Buffer.for('abc')
=>
#<IO::Buffer 0x00007f858f5450c0+3 EXTERNAL READONLY SLICE>
...
irb(main):002:0> b.get_string(-1)
=> "\x00abc"
irb(main):003:0> b.get_string(-1000, 3)
(irb):3:in `get_string':...
noteflakes (Sharon Rosner)
10:48 AM Bug #19754 (Closed): `IO::Buffer#get_string` raises unsuitable exception for too large offset
The message seems suitable when both of `offset` and `length` are given.
```ruby
IO::Buffer.for("test").get_string(5, 0) #=> Specified offset+length exceeds buffer size! (ArgumentError)
```
But without `length`, it doesn't seem to ...
nobu (Nobuyoshi Nakada)
09:57 AM Revision 4430b73c (git): [ruby/timeout] Require Ruby >= 2.6 for the timeout gem
* The test suite fails on 2.5.
* See https://github.com/ruby/timeout/pull/35
https://github.com/ruby/timeout/commit/03873a9237
Eregon (Benoit Daloze)
09:26 AM Revision 8281f8fd (git): [ruby/timeout] Test that work is done in the same thread/fiber as
the caller
(https://github.com/ruby/timeout/pull/34)
* see discussion in
https://github.com/ruby/timeout/pull/30#issuecomment-1616179651
John Bachir
05:47 AM Bug #18933 (Closed): Dir.tmpdir implemented in non-Ractor-safe manner
Applied in changeset commit:git|3e605a781970cef365002167634a1b5a176bffcb.
----------
[ruby/tmpdir] [Bug #18933] Make `Dir.mktmpdir` Ractor-safe
Fix https://bugs.ruby-lang.org/issues/18933
https://github.com/ruby/tmpdir/commit/446e636434
nobu (Nobuyoshi Nakada)
05:47 AM Revision 3e605a78 (git): [ruby/tmpdir] [Bug #18933] Make `Dir.mktmpdir` Ractor-safe
Fix https://bugs.ruby-lang.org/issues/18933
https://github.com/ruby/tmpdir/commit/446e636434
nobu (Nobuyoshi Nakada)
04:36 AM Revision 4bfa4433 (git): [Cirrus] Set up cargo environments just once at first
nobu (Nobuyoshi Nakada)
04:36 AM Revision d2ffd0ad (git): [Cirrus] Share configuration using YAML aliases
https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks nobu (Nobuyoshi Nakada)
04:35 AM Revision 3a761dcc (git): [Cirrus] Show CPU and memory info
nobu (Nobuyoshi Nakada)
04:35 AM Revision bde3b98a (git): [Cirrus] Make gem download non-verbose
nobu (Nobuyoshi Nakada)
04:35 AM Revision 4a607641 (git): [Cirrus] Run also crons other than nightly
nobu (Nobuyoshi Nakada)

07/02/2023

10:51 PM Revision 7e333b7a (git): [ruby/timeout] require ruby version in gemspec
https://github.com/ruby/timeout/commit/949445f591 John Bachir
05:49 PM Feature #19752 (Assigned): Allow `--backtrace-limit` to appear in RUBYOPT
The proposed patch includes a change to treat it as unspecified with -1. I would like to get Matz's approval on this. mame (Yusuke Endoh)
04:42 PM Feature #19735: Add support for UUID version 7
I hadn't realized that `"random/formatter"` belonged to `securerandom`. I closed the `ruby` PR and created a new PR here: https://github.com/ruby/securerandom/pull/19. There was also another earlier PR which looks almost identical to m... nevans (Nicholas Evans)
02:31 PM Feature #19742: Introduce `Module#anonymous?`
> I think it would be great to reflect it in the Module#name if a Module is no longer reachable through that name.
> ...
If I understand this correctly, I believe it is not possible preserving today's rules.
Nowadays, if a module was ev...
fxn (Xavier Noria)
07:52 AM Revision 9682275b (git): [Travis] make `.bundle` directory writable
To create gem files from sources under `gems/src` for tests. nobu (Nobuyoshi Nakada)
04:49 AM Revision 12fc80ab (git): Update default gems list at 4bad2a9562aece90f6df9f3ef1c7ec [ci skip]
git[bot]
04:49 AM Revision 4bad2a95 (git): [ruby/irb] Bump version to 1.7.1
(https://github.com/ruby/irb/pull/621)
https://github.com/ruby/irb/commit/b9a9dd97df
st0012 (Stan Lo)
04:00 AM Revision fa6e14c4 (git): [DOC] Stop downloading Unicode data only for unicode_properties.rdoc
nobu (Nobuyoshi Nakada)
03:21 AM Feature #19521: Support for `Module#name=` and `Class#name=`.
@sawa there are also methods that start with `set_`, for example `set_trace_func` and `set_encoding`. I think one difference is that most `xyz_set` methods tend to also have a `xyz_get` counterpart. Which is not the case for `set_tempora... Dan0042 (Daniel DeLorme)

07/01/2023

03:30 PM Revision 765a19ab (git): [ruby/psych] Remove private methods unused since #487
https://github.com/ruby/psych/commit/902c292f26 nobu (Nobuyoshi Nakada)
03:02 PM Feature #17339: Semantic grouping with BigDecimal#to_s
I've sent pull request with solution as specified by author of issue: https://github.com/ruby/bigdecimal/pull/264 cryptogopher (crypto gopher)
02:55 PM Feature #19752 (Closed): Allow `--backtrace-limit` to appear in RUBYOPT
The `--backtrace-limit` option was added in #8661 but it is not currently supported in the `RUBYOPT` environment variable, which appears to be a mistake. Unlike other long options which are not allowed in `RUBYOPT` (e.g. `--copyright`, `... tomstuart (Tom Stuart)
02:22 PM Bug #19728 (Closed): Automate (checking of) Regexp character property documentation
Applied in changeset commit:git|08b3fb11524e6cde453476f24ac80fd60457dfef.
----------
[Bug #19728] Auto-generate unicode property docs
https://bugs.ruby-lang.org/issues/19728
janosch-x (Janosch Müller)
02:22 PM Revision 08b3fb11 (git): [Bug #19728] Auto-generate unicode property docs
https://bugs.ruby-lang.org/issues/19728 janosch-x (Janosch Müller)
02:17 PM Revision 3fd1968d (git): Introduce script_lines function for refactor script_lines_defined and script_lines_get functions
S_H_ (Shun Hiraoka)
02:16 PM Revision a70320b8 (git): Define `NO_SANITIZE` with reference to ext/bigdecimal/missing.c
jinroq (Jinroq SAITOH)
02:16 PM Revision 174dbe33 (git): Supress `warning: ‘unsigned-integer-overflow’ attribute directive ignored [-Wattributes]`
jinroq (Jinroq SAITOH)
06:59 AM Bug #19751: Ruby 3.2.2 Fails to Compile from Source
Could you share `version.i` generated with `make version.i`? nobu (Nobuyoshi Nakada)
05:59 AM Bug #19751 (Closed): Ruby 3.2.2 Fails to Compile from Source
Details are at the attached file, but the build-crash-log seems to be:
```
compiling addr2line.c
compiling dmyenc.c
linking miniruby
/bin/sh ./tool/ifchange "--timestamp=.rbconfig.time" rbconfig.rb rbconfig.tmp
rbconfig.rb update...
martin_vahi (Martin Vahi)
06:14 AM Revision 1a6f3bec (git): Fallback `rb_iseq_complete`
For compilers that do not eliminate references to functions that are
never called, such as SunC.
nobu (Nobuyoshi Nakada)
05:19 AM Bug #19394: cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone
Merged https://github.com/ruby/ruby/pull/7888 nagachika (Tomoyuki Chikanaga)
04:55 AM Bug #19394 (Closed): cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone
This issue should be fixed at 40f090f4339820d19da8ecdf81a981489c22eb57 and 135a5eb716399443da58db342de6093c91b5ad62 in master branch.
Thank you for creating the PRs to backport them into stable branches.
I will handle it (the one for...
nagachika (Tomoyuki Chikanaga)
05:18 AM Revision 07d5709f (git): bump patchlevel
nagachika (Tomoyuki Chikanaga)
05:17 AM Revision 038913f1 (git): Add missing write barrier
We were missing the write barrier for class_value to cref. This should
fix the segv we were seeing in http://ci.rvm.jp/logfiles/brlog.trunk-gc-asserts.20230601-165052
Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
eileencodes (Eileen Uchitelle)
05:17 AM Revision 8a3d5797 (git): Fix cvar caching when class is cloned
The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read...
eileencodes (Eileen Uchitelle)
05:17 AM Revision 06dae460 (git): Copy cvar table on clone
When a class with a class variable is cloned we need to also copy the
cvar cache table from the original table to the clone. I found this bug
while working on fixing [Bug #19379]. While this does not fix that bug
directly it is still a r...
eileencodes (Eileen Uchitelle)
04:48 AM Revision 814271b2 (git): bump patchlevel
nagachika (Tomoyuki Chikanaga)
04:46 AM Revision bbf1eb40 (git): Merge URI-0.12.2 for Bundler
hsbt (Hiroshi SHIBATA)
04:46 AM Revision dd73fe07 (git): Merge URI-0.12.2
hsbt (Hiroshi SHIBATA)
03:22 AM Revision 2952dbad (git): [DOC] Move document for YARP
nobu (Nobuyoshi Nakada)
02:38 AM Bug #19750 (Closed): Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
Applied in changeset commit:git|1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9.
----------
Handle unterminated unicode escapes in regexps
This fixes an infinite loop possible after ec3542229b29ec93062e9d90e877ea29d3c19472.
For \u{} escapes i...
jeremyevans (Jeremy Evans)
02:37 AM Revision 1bc8838d (git): Handle unterminated unicode escapes in regexps
This fixes an infinite loop possible after ec3542229b29ec93062e9d90e877ea29d3c19472.
For \u{} escapes in regexps, skip validation in the parser, and rely on the regexp
code to handle validation. This is necessary so that invalid unicode ...
jeremyevans (Jeremy Evans)
02:23 AM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/8009 jeremyevans0 (Jeremy Evans)

06/30/2023

10:11 PM Revision 41779fed (git): [rubygems/rubygems] Bump vendored net-http-persistent to 4.0.2
https://github.com/rubygems/rubygems/commit/b0edf39083 deivid (David Rodríguez)
06:31 PM Revision d49a92d0 (git): [ruby/yarp] Move fuzz docs into docs/ directory, reference in README
https://github.com/ruby/yarp/commit/97547b6192 kddnewton (Kevin Newton)
05:42 PM Revision 136fcd51 (git): [ruby/irb] Reduce internal operations' exposure to benchmarking
(https://github.com/ruby/irb/pull/618)
* Test last value is assigned with measure enabled
* Remove unnecessary `result` variable
`Context#evaluate` always assigns the result of the evaluation to `_` so
we don't need to do it in `Irb#e...
st0012 (Stan Lo)
02:59 PM Revision 94788a6d (git): * expand tabs. [ci skip]
Please consider using misc/expand_tabs.rb as a pre-commit hook. git[bot]
02:59 PM Revision 39933496 (git): Remove duplicate declarations
nobu (Nobuyoshi Nakada)
02:59 PM Revision 0d0841ad (git): Compile code for lazy ISeq loding always
nobu (Nobuyoshi Nakada)
02:59 PM Revision c1432a48 (git): Compile disabled code for thread cache always
nobu (Nobuyoshi Nakada)
02:59 PM Revision e7dc8f0b (git): Compile debugging code for symbol and ID always
nobu (Nobuyoshi Nakada)
02:59 PM Revision ac016394 (git): Compile code without Symbol GC always
nobu (Nobuyoshi Nakada)
02:59 PM Revision 469e644c (git): Compile code for non-embedded CI always
nobu (Nobuyoshi Nakada)
02:59 PM Revision 5204ad56 (git): Compile debugging code for stress to class always
nobu (Nobuyoshi Nakada)
02:59 PM Revision 7a0a218d (git): Compile debugging code for integer pack always
nobu (Nobuyoshi Nakada)
02:59 PM Revision d8d7591e (git): Stop `DEBUG_FIND_TIME_NUMGUESS` compilation
Debugging code for find_time_numguess is compiled always. nobu (Nobuyoshi Nakada)
02:40 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
For visibility leaving the examples here that we suspect a CRuby bug:
```ruby
class Foo5
private
def bar; end
public
define_method(:bar, Foo5.instance_method(:bar))
end
Foo5.new.bar # NoMethodError in CRuby, but should be public...
itarato (Peter Arato)
02:23 PM Revision 93987340 (git): [ruby/irb] Re-implement prev_spaces feature for pasted code
(https://github.com/ruby/irb/pull/607)
https://github.com/ruby/irb/commit/9d97a192a5
tompng (tomoya ishida)
01:13 PM Revision 58386814 (git): Don't check for null pointer in calls to free
According to the C99 specification section 7.20.3.2 paragraph 2:
> If ptr is a null pointer, no action occurs.
So we do not need to check that the pointer is a null pointer.
peterzhu2118 (Peter Zhu)
08:39 AM Revision 37a893d1 (git): bit quiet
shyouhei (Shyouhei Urabe)
08:39 AM Revision 7102324d (git): fix YAML error
`outputs` has to be a hash, but it seems previous expression
generated a null token and would have generated errors here.
shyouhei (Shyouhei Urabe)
08:39 AM Revision c90b8493 (git): refactor delete unnecessary branches
These conditions always hold. shyouhei (Shyouhei Urabe)
08:39 AM Revision 34bf2d50 (git): refactor extract brew
Use composite action to reduce copy & paste. shyouhei (Shyouhei Urabe)
02:18 AM Revision e8d629ed (git): refactor extract apt-get
Use composite action to reduce copy & paste. shyouhei (Shyouhei Urabe)

06/29/2023

11:56 PM Feature #19744: Namespace on read
> This proposal seems very similar to #19024. Is there a difference?
#19024 proposes a new top-level (`Kernel`?) method `import`. The API of this proposal is much different from it. A new module for namespaces (`NameSpace`, but the na...
tagomoris (Satoshi Tagomori)
11:22 PM Feature #19744: Namespace on read
This proposal seems **very** similar to #19024. Is there a difference?
Also, IIUC it seems to imply the namespace will apply transitively to every load/require/autoload inside the namespace; there was a lot of opposition to that idea ...
Dan0042 (Daniel DeLorme)
02:27 PM Feature #19744: Namespace on read
> Problems around namespaces can happen in individual namespaces. Should we use namespaces to avoid those things? [...] yes.
A lot of Ruby code is written in a way that relies on extending other code. E.g. a lot of rails and rspec ext...
janosch-x (Janosch Müller)
12:54 AM Feature #19744: Namespace on read
janosch-x (Janosch Müller) wrote in #note-1:
> are the described problems, apart of dependency conflicts, very common in your experience? (i've worked on several large codebases with ~1000 gems and never saw these gems trying to create ...
tagomoris (Satoshi Tagomori)
11:07 PM Revision d3ff4385 (git): Fix memory leak in Hash#replace
Hash#replace can leak memory if the receiver has an ST table. peterzhu2118 (Peter Zhu)
09:00 PM Revision 1272865a (git): Fix broken wiki links (#8002)
Since [Misc #19679] migrated the wiki, these links should be updated
to their new locations.
jemmai (Jemma Issroff)
08:23 PM Bug #19750: Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
I submitted a pull request to fix this: https://github.com/ruby/ruby/pull/8003 jeremyevans0 (Jeremy Evans)
02:54 PM Bug #19750: Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
mame (Yusuke Endoh) wrote in #note-2:
> According to git bisect, this is since commit:ec3542229b29ec93062e9d90e877ea29d3c19472. @jeremyevans0 Could you take a look at this issue?
Sure, I'll take a look today.
jeremyevans0 (Jeremy Evans)
01:36 PM Bug #19750 (Assigned): Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
According to git bisect, this is since commit:ec3542229b29ec93062e9d90e877ea29d3c19472. @jeremyevans0 Could you take a look at this issue? mame (Yusuke Endoh)
12:24 PM Bug #19750 (Closed): Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
Ruby hangs up for a while and gets `failed to allocate memory (NoMemoryError)`
~~~shell
$ ruby -e "/\\u{"
ruby: failed to allocate memory (NoMemoryError)
~~~
~~~ruby
RubyVM::AbstractSyntaxTree.parse "/\\u{"
# => SyntaxError
...
tompng (tomoya ishida)
03:52 PM Revision bf2c1873 (git): Add memory leak test for allocating ST hashes
Test for commit f0d08d11dcd404f3146c0d71d6ff743bbc6e7193. peterzhu2118 (Peter Zhu)
03:16 PM Revision f0d08d11 (git): Fix memory leak when copying ST tables
st_copy allocates a st_table, which is not needed for hashes since it is
allocated by VWA and embedded, so this causes a memory leak.
The following script demonstrates the issue:
```ruby
20.times do
100_000.times do
{a: 1, b: 2, ...
peterzhu2118 (Peter Zhu)
03:16 PM Revision df2b3a29 (git): Refactor rb_hash_replace to use hash_copy
peterzhu2118 (Peter Zhu)
02:08 PM Revision 3cfcd3d1 (git): Ripper sources are generated at once
nobu (Nobuyoshi Nakada)
01:25 PM Revision bdfe1958 (git): * 2023-06-29 [ci skip]
git[bot]
01:25 PM Revision 616926b5 (git): CVE-2023-36617 for Ruby 3.0 (#7997)
* Merge URI-0.10.3
* Merge URI-0.10.0.3 for Bundler
hsbt (Hiroshi SHIBATA)
01:25 PM Revision c08ee61f (git): * 2023-06-29 [ci skip]
git[bot]
01:24 PM Revision 5fbc1d45 (git): CVE-2023-36617 for Ruby 3.1 (#7996)
* Bump up v0.12.2
* Merge URI-0.10.3 for Bundler
hsbt (Hiroshi SHIBATA)
01:05 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
I find it very surprising/unintuitive that `define_method` sometimes ignores the scope visibility, with hard-to-explain and undocumented conditions, but `def` always respects the scope visibility (AFAIK, not counting "defs"=`def r.m`).
...
Eregon (Benoit Daloze)
01:00 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
jeremyevans0 (Jeremy Evans) wrote in #note-7:
> `define_method` at top level does not define private methods. I think this is because the receiver of the `define_method` is `main`, but the method is defined in `Object`, so the scope vis...
Eregon (Benoit Daloze)
09:47 AM Revision c89f5191 (git): More dependencies for ripper
nobu (Nobuyoshi Nakada)
08:47 AM Revision c7af39ec (git): Merge URI-0.12.2 for Bundler
hsbt (Hiroshi SHIBATA)
08:23 AM Misc #19747 (Closed): Propose Kevin Newton and Jemma Issroff as core committers
I've finished to setup their accounts.
Welcome.
hsbt (Hiroshi SHIBATA)
07:58 AM Revision 4aa73f8f (git): proper path
Source code is not always checked out to `.`. We need to specify
the exact place where the action.yml file is located.
shyouhei (Shyouhei Urabe)
07:58 AM Revision 48e646fd (git): refactor extract ${{ ghithub }} expressions
Use composite action to reduce copy & paste. shyouhei (Shyouhei Urabe)
01:23 AM Revision 26b69fd4 (git): [ruby/yarp] Handle bad input for ascii printable
https://github.com/ruby/yarp/commit/06242aa7a0 kddnewton (Kevin Newton)
01:08 AM Revision a6cc1fa5 (git): Update default gems list at ab5421547c5546603c238308500527 [ci skip]
git[bot]
01:07 AM Revision ab542154 (git): [ruby/uri] Bump up v0.12.2
https://github.com/ruby/uri/commit/e18e657ea8 hsbt (Hiroshi SHIBATA)
01:07 AM Revision 995ce947 (git): [ruby/uri] Fix quadratic backtracking on invalid port number
https://hackerone.com/reports/1958260
https://github.com/ruby/uri/commit/9d7bcef1e6
nobu (Nobuyoshi Nakada)
01:07 AM Revision 1eff3624 (git): [ruby/uri] Fix quadratic backtracking on invalid relative URI
https://hackerone.com/reports/1958260
https://github.com/ruby/uri/commit/9010ee2536
nobu (Nobuyoshi Nakada)
12:27 AM Revision d4b662d6 (git): template/Doxyfile.tmpl: modernise
applied doxygen -g for Doxygen 1.9.7. shyouhei (Shyouhei Urabe)

06/28/2023

10:08 PM Feature #19744: Namespace on read
a very thorough proposal with an attractive modularity to it!
if i may ask a few questions:
are the described problems, apart of dependency conflicts, very common in your experience? (i've worked on several large codebases with ~10...
janosch-x (Janosch Müller)
10:02 PM Misc #19747: Propose Kevin Newton and Jemma Issroff as core committers
Welcome! ioquatix (Samuel Williams)
02:59 PM Misc #19747: Propose Kevin Newton and Jemma Issroff as core committers
I am honored, thank you! I have also sent over the information. jemmai (Jemma Issroff)
02:30 PM Misc #19747: Propose Kevin Newton and Jemma Issroff as core committers
Thank you very much! I have sent over all of the information. kddnewton (Kevin Newton)
10:17 AM Misc #19747 (Assigned): Propose Kevin Newton and Jemma Issroff as core committers
@kddnewton @jemmai Can you send your account information to `cvs-admin@ruby-lang.org`? Please look https://github.com/ruby/ruby/wiki/Committer-How-To#how-to-register-you-as-a-committer for its details. hsbt (Hiroshi SHIBATA)
05:14 AM Misc #19747: Propose Kevin Newton and Jemma Issroff as core committers
Accepted. Welcome both of you!
Matz.
matz (Yukihiro Matsumoto)
04:03 AM Misc #19747: Propose Kevin Newton and Jemma Issroff as core committers
+1 for both mame (Yusuke Endoh)
03:59 AM Misc #19747 (Closed): Propose Kevin Newton and Jemma Issroff as core committers
# Proposal
I'd like to propose Kevin Newton (@kddnewton) and Jemma Issroff (@jemmai) as core committers. Now that YARP [Feature #19741] is merged, I want them to work on YARP's CRuby integration without asking other committers to merge ...
k0kubun (Takashi Kokubun)
05:47 PM Revision 27d3fa2a (git): Increase memory leak test timeout
The test times out on some platforms, so increase the timeout. peterzhu2118 (Peter Zhu)
05:33 PM Revision 78ecb93f (git): [ruby/irb] Reduce test pend truffleruby
(https://github.com/ruby/irb/pull/619)
https://github.com/ruby/irb/commit/b7b071774f
tompng (tomoya ishida)
04:01 PM Revision 8f9d58a9 (git): Repair broken link
burdettelamar (Burdette Lamar)
03:27 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
Eregon (Benoit Daloze) wrote in #note-3:
> @jeremyevans0 That does not explain why the original example defines the method as public (note I edited the description on Redmine, it was not asking the right question).
> ...
Scope visibili...
jeremyevans0 (Jeremy Evans)
03:10 PM Bug #19749 (Open): Confirm correct behaviour when attaching private method with `#define_method`
Eregon (Benoit Daloze)
02:49 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
To clarify, this proves the top-level visibility is private:
```ruby
def foo; end
o = self
o.foo # => private method `foo' called for main:Object (NoMethodError)
```
Eregon (Benoit Daloze)
02:45 PM Bug #19749: Confirm correct behaviour when attaching private method with `#define_method`
@jeremyevans0 That does not explain why the original example defines the method as public (note I edited the description on Redmine, it was not asking the right question).
> will only consider current default scope visibility to deter...
Eregon (Benoit Daloze)
02:17 PM Bug #19749 (Closed): Confirm correct behaviour when attaching private method with `#define_method`
As in #19745, it is expected that `define_method` will not use the method body (second argument/block) to determine method visibility. `define_method` will only consider current default scope visibility to determine visibility:
```rub...
jeremyevans0 (Jeremy Evans)
01:40 PM Bug #19749 (Closed): Confirm correct behaviour when attaching private method with `#define_method`
This issue is a special case of https://bugs.ruby-lang.org/issues/19745:
Should dynamically added private methods via `.singleton_class.send(:define_method,...` at the top-level be accessible publicly?
See the following example:
...
itarato (Peter Arato)
01:50 PM Revision a500eb9f (git): Fix memory leak in Ripper
The following script leaks memory in Ripper:
```ruby
require "ripper"
20.times do
100_000.times do
Ripper.parse("")
end
puts `ps -o rss= -p #{$$}`
end
```
peterzhu2118 (Peter Zhu)
01:42 PM Revision 3d7a6bbc (git): Ensure the byte position is a valid boundary
nobu (Nobuyoshi Nakada)
01:05 PM Revision 6528cf9f (git): [DOC] Fixes for link fragments (#7981)
burdettelamar (Burdette Lamar)
09:24 AM Bug #19745: Confirm correct behaviour when attaching private method with `#define_singleton_method`
@itarato This example is not the same as the linked issue.
I would suggest to open a separate issue to dicuss the original example, which uses `define_method`.
(although this `define_singleton_method` example does fail on TruffleRuby...
Eregon (Benoit Daloze)
08:23 AM Bug #19748 (Closed): `String#byteindex` crashes when `offset` is too large
Applied in changeset commit:git|bc3ac1872e4523334e3ed04c2bb70a55c4c43f98.
----------
[Bug #19748] Fix out-of-bound access in `String#byteindex`
nobu (Nobuyoshi Nakada)
04:51 AM Bug #19748 (Closed): `String#byteindex` crashes when `offset` is too large
```ruby
"a".byteindex("", 1000000) #=> [BUG] Segmentation fault
```
nobu (Nobuyoshi Nakada)
08:23 AM Revision bc3ac187 (git): [Bug #19748] Fix out-of-bound access in `String#byteindex`
nobu (Nobuyoshi Nakada)
07:53 AM Revision 715c5ca4 (git): Update default gems list at b954a4ebc67d408456a102fe13051e [ci skip]
git[bot]
07:37 AM Revision b954a4eb (git): [ruby/csv] Bump version
https://github.com/ruby/csv/commit/e090da19b4 Sutou Kouhei
07:37 AM Revision d6d60d42 (git): [ruby/csv] Fix a bug that the same line is used multiple times
GitHub: fix https://github.com/ruby/csv/pull/279
It's happen when:
* `keep_start`/`keep_{drop,back}` are nested.
(e.g.: `strip: true, skip_lines: /.../`)
* Row separator is `\r\n`.
* `InputScanner` is used. (Small input doesn't use `...
Sutou Kouhei
07:37 AM Revision 539559d3 (git): [ruby/csv] Remove nonexistent variable
https://github.com/ruby/csv/commit/bfbd6bbf6f Sutou Kouhei
07:37 AM Revision 1f467934 (git): [ruby/csv] parser: add one more trace
https://github.com/ruby/csv/commit/5df650be0c Sutou Kouhei
07:37 AM Revision 2098093f (git): [ruby/csv] docs: Add entry for backslash_quotes liberal parsing
(https://github.com/ruby/csv/pull/280)
https://github.com/ruby/csv/commit/0dcfcd9c48
Mark Schneider
07:36 AM Revision f1313cae (git): [ruby/fiddle] Mark Closure, Function and Handle as write barrier
protected
(https://github.com/ruby/fiddle/pull/129)
They don't have a mark function, so they don't need any change.
https://github.com/ruby/fiddle/commit/9bbc732aef
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Jean byroot Boussier
07:36 AM Revision 135d5fa3 (git): [ruby/fiddle] Implement write barriers for Fiddle::Pointer
(https://github.com/ruby/fiddle/pull/127)
Save from having to mark them on every minor.
https://github.com/ruby/fiddle/commit/153c09c99f
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Jean byroot Boussier
07:36 AM Revision 572b432e (git): [ruby/fiddle] Fix a typo
https://github.com/ruby/fiddle/commit/4c0c5da1a5 Sutou Kouhei
07:36 AM Revision 02661f5e (git): [ruby/fiddle] Add support for converting "C" (one character string) to char
GitHub: fix https://github.com/ruby/fiddle/pull/96
I wanted to add a test for this but I couldn't find a function that
has a "char" argument in libc...
Reported by kojix2. Thanks!!!
https://github.com/ruby/fiddle/commit/2c863ef8ba
Sutou Kouhei
07:36 AM Revision 74e04929 (git): [ruby/fiddle] Add support for more "short" variants
https://github.com/ruby/fiddle/commit/4598e6cd50 Sutou Kouhei
07:36 AM Revision 731d2772 (git): [ruby/fiddle] Add support for more "short" variants
https://github.com/ruby/fiddle/commit/2b22bb9d74 Sutou Kouhei
07:36 AM Revision ebf14d01 (git): [ruby/fiddle] Add support for "long" variants
GitHub: fix https://github.com/ruby/fiddle/pull/100
Reported by David M. Lary. Thanks!!!
https://github.com/ruby/fiddle/commit/516333dd78
Sutou Kouhei
07:36 AM Revision 85937f3a (git): [ruby/fiddle] Add a helper method for reading/writing memory
(https://github.com/ruby/fiddle/pull/123)
This commit adds two new methods, `Fiddle::Pointer.read` and
`Fiddle::Pointer.write`. Both methods take an address, and will read or
write bytes at that address respectively.
For example we can...
tenderlovemaking (Aaron Patterson)
07:34 AM Revision ae71bbbc (git): [ruby/syntax_suggest] [DOC] Fix method name
https://github.com/ruby/syntax_suggest/commit/08a9afb64f nobu (Nobuyoshi Nakada)
05:44 AM Bug #19746 (Closed): `String#index` with regexp and too large offset doesn't clear `$~`
Applied in changeset commit:git|0cbfeb8210cd177bee95c512834c483daec36f74.
----------
[Bug #19746] `String#index` with regexp should clear `$~` unless matched
nobu (Nobuyoshi Nakada)
02:55 AM Bug #19746 (Closed): `String#index` with regexp and too large offset doesn't clear `$~`
```ruby
/./ =~ "a"
p "x".index(/0/, 4) #=> nil
p $~ #=> #<MatchData "a">
```
while `rindex` does.
```ruby
/./ =~ "a"
p "x".rindex(/0/, 4) #=> nil
p $~ #=> nil
```
It seems since 1.9.
nobu (Nobuyoshi Nakada)
05:06 AM Revision 0cbfeb82 (git): [Bug #19746] `String#index` with regexp should clear `$~` unless matched
nobu (Nobuyoshi Nakada)
05:06 AM Revision 9e709d0f (git): Assert `$~` after `String#index` family
nobu (Nobuyoshi Nakada)
03:42 AM Revision f177d35b (git): Bump dependabot/fetch-metadata from 1.5.1 to 1.6.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
dependabot[bot]
12:23 AM Revision 3e08a536 (git): Use the same capacities for memory leak tests
nobu (Nobuyoshi Nakada)
 

Also available in: Atom