Activity
From 03/19/2024 to 03/25/2024
03/25/2024
-
11:21 PM Bug #20392: Delegate super calls with a block
- In Ruby 3.2, example 3 raised an exception "both block arg and actual block given"
So this looks like a Ruby 3.3 regression. -
10:51 PM Bug #20392 (Closed): Delegate super calls with a block
- I'm seeing strange behavior with calls to `super` when combined with `...` and a block. I'm not sure if this is expected behavior or not, so I'm filing this ticket.
Using delegate `...` with an explicit block will cause an error:
... -
09:50 PM Revision de742b42 (git): YJIT: Inline simple getlocal+leave iseqs
- This mainly targets things like `T.unsafe()` from Sorbet, which is just an
identity function at runtime and only a hint for the static checker.
Only deal with simple caller and callees (no keywords and splat etc.).
Co-authored-by: Takas... -
09:47 PM Bug #20391 (Feedback): Segmentation fault at 0x0000000000000028 on Ruby 3.3.0
- When running a couple apps on Digital Ocean Kubernetes, I am getting a segmentation fault. Reverting to 3.2.3 fixes the error.
I am currently using ruby:3.3.0-alpine3.19 from dockerhub.
=> Booting Puma
=> Rails 7.1.3.2 application ... - 07:45 PM Revision aa900138 (git): [rubygems/rubygems] Fix: vendor_gem takes a block
- https://github.com/rubygems/rubygems/commit/50cda56fc3
-
07:45 PM Revision 06d5d4f1 (git): [rubygems/rubygems] Fix resolver bug where ActivationRequest objects were not properly compared
- They were delegating their `#hash` value to a class not overriding that
method, and so were returning inconsistent results.
https://github.com/rubygems/rubygems/commit/723e4ee0fc -
07:08 PM Revision 453de8c2 (git): [ruby/prism] Revert "Frozen parts"
- https://github.com/ruby/prism/commit/48f2e8c169
-
05:36 PM Revision ff8f98f5 (git): [ruby/prism] Mark interpolated nodes as static literal
- https://github.com/ruby/prism/commit/d00977a9bd
-
05:36 PM Revision eef272f1 (git): [ruby/prism] Mark inner parts of interpolated* nodes as frozen
- https://github.com/ruby/prism/commit/58a127cd5d
-
05:07 PM Revision 9cf754b6 (git): Fix --debug=gc_stress flag
- ruby_env_debug_option gets called after Init_gc_stress, so the
--debug=gc_stress flag never works. -
04:06 PM Revision 46bf6ae8 (git): YJIT: Propagate Array, Hash, and String classes (#10323)
-
03:54 PM Revision a0895456 (git): [ruby/prism] Fix up minimal build setting
- https://github.com/ruby/prism/commit/98c85c4acb
-
03:52 PM Revision 53cc2723 (git): [ruby/prism] Handle CLRF in regexp
- https://github.com/ruby/prism/commit/b96bada9ae
-
03:52 PM Revision 86077fbc (git): [ruby/prism] Refactor regexp lexing to make it easier to support CLRF
- https://github.com/ruby/prism/commit/60805d85ca
-
03:52 PM Revision 0bc764b7 (git): [ruby/prism] Handle CLRF inside string contents
- https://github.com/ruby/prism/commit/aac606301e
-
03:52 PM Revision 14ab6989 (git): [ruby/prism] Handle CLRF inside heredoc contents
- https://github.com/ruby/prism/commit/1fbac72485
-
02:43 PM Revision a31ca350 (git): Mark iseq structs with rb_gc_mark_movable
- Using rb_gc_mark_movable and a reference update function, we can make
instruction sequences movable in memory, and avoid pinning compiled iseqs.
```
require "objspace"
iseqs = []
GC.disable
50_000.times do
iseqs << RubyVM::Instruction... - 02:25 PM Revision 55264717 (git): [rubygems/rubygems] Improve validation of `bundle plugin install` options
- Ensure only one source type is specified, and ensure options that
are only relevant to git sources are only specified with git.
https://github.com/rubygems/rubygems/commit/58b043215e -
02:11 PM Revision 65264b0d (git): [ruby/prism] Fix build error for C99 and C23 CI matrix
- This PR fixes the following build error for C99 and C23 Ruby's CI matrix:
```console
../src/prism/prism.c:1241:19: error: initializing 'char *' with an expression of
type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointe... -
01:13 PM Revision 3b4dacf2 (git): Let the docs of base_label and label be similar
-
01:13 PM Revision dadaa114 (git): Update vm_backtrace.c
- Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
-
01:13 PM Revision 4235bc29 (git): Add an example to base_label API
-
12:16 PM Revision 54428c2b (git): [ruby/prism] Add missing symbol in comment for binding powers for `||=`
- This adds in the descriptive comment the `||=` operator corresponding to `PM_TOKEN_PIPE_PIPE_EQUAL` for pm_binding_powers[PM_TOKEN_MAXIMUM] in prism.c
https://github.com/ruby/prism/commit/315ca16e23 -
12:16 PM Revision d0513572 (git): [ruby/prism] Fix comment typos in prism.c
- This fixes some comment typos in English in the prism.c file. It fixes some typos and follows the current conventions:
- Sentences in comments end with `.`
- Use infinitive instead of 3rd person present simple to describe functions
http... -
12:16 PM Revision 56a2fad2 (git): [ruby/prism] Fix incorrect paring when using invalid regexp options
- Fixes https://github.com/ruby/prism/pull/2617.
There was an issue with the lexer as follows.
The following are valid regexp options:
```console
$ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/io").value.map {|token| token[0].type... - 12:14 PM Revision 9b921f66 (git): Update default gems list at daf1d7bfefa89a0473af9b304a3798 [ci skip]
-
12:13 PM Revision f5a2f55a (git): [ruby/prism] Use Sexp#line_max not Sexp#max_line
- for RubyParser translation
https://github.com/ruby/prism/commit/a37169621a -
12:13 PM Revision daf1d7bf (git): [ruby/reline] Bump version to v0.5.0
- (https://github.com/ruby/reline/pull/664)
https://github.com/ruby/reline/commit/1d6569600c -
11:48 AM Revision f53209f0 (git): [ruby/irb] Cache RDoc::RI::Driver.new
- (https://github.com/ruby/irb/pull/911)
* Cache RDoc::RI::Driver.new to improve performance and to avoid flaky test
* Insert sleep to fix flaky rendering test that renders document dialog
https://github.com/ruby/irb/commit/da84e6cb56 -
11:06 AM Revision 5f334b67 (git): [ruby/reline] Remove useless tests
- (https://github.com/ruby/reline/pull/665)
The pasting tests hadn't been working since as early as v0.2.0. Since
what it tried to cover is already gone for such a long time, I think it's
better to write new ones if needed then to keep th... -
09:17 AM Revision 219d7cc1 (git): lib/bundled_gems.rb: dynamically ignore Kernel.require decorators
- Followup: https://github.com/ruby/ruby/pull/10347
This avoid directly referencing bootsnap and zeitwerk, and also
handle other gems that may decorate `require`. -
09:04 AM Revision e70ccc91 (git): Update minitest and power_assert bundled gems
- They were pointing to branches to be chilled string compatible.
Both patches have been merged now. -
09:02 AM Bug #20389: Issue with chilled strings and mutability after 12be40ae
- Thank you @nobu, I was about to look into it :)
-
01:27 AM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
- Applied in changeset commit:git|fdd7ffb70ca6e9f7d790aadde86dbc8172e19f4d.
----------
[Bug #20389] Chilled string cannot be a shared root -
08:37 AM Revision 152192c9 (git): Use load_gemspec instead of Gem::Specification.load.
- We need to purge `git ls-files` from gemspec in default gems.
-
08:28 AM Feature #19057: Hide implementation of `rb_io_t`.
- > the nagging from chilled strings
Eric, I understand that it won't make your annoyance go away, but just in case you didn't know, if you wish to get rid of these warnings easily, you can add `# frozen_string_literal: false` at the t... -
08:09 AM Revision 2f654588 (git): Backport https://github.com/ruby/ruby/pull/10347 (#10349)
- Fix incorrect warning target with Zeitwerk and support warning with Bootsnap.
-
07:42 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
- > From here, I found a simple workaround: ./configure cflags="-std=gnu99". Just FYI.
> ...
Just a notice/heads-up that when modifying CFLAGS you need to remember to keep optimization flags "-O2"/"-O3".
Failure to build Ruby with opti... - 06:39 AM Revision 6c65f11c (git): Bump github/codeql-action from 3.24.8 to 3.24.9
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.8 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md... -
06:16 AM Revision bd85fd6d (git): Guard makefile target at cross-build
- http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz
-
06:04 AM Revision 675dcf91 (git): Partly Revert "Show the chilled status of a String [ci skip]"
- This reverts commit e720a6b48582900efd1bd326210644b2fc0f2c5d.
-
05:33 AM Revision e720a6b4 (git): Show the chilled status of a String [ci skip]
-
05:33 AM Revision 990e11b6 (git): Bootsnap and Zeitwerk are working correctly now
-
05:33 AM Revision 6b1691eb (git): Remove rubylibdir from bootsnap
-
05:33 AM Revision d6e9367e (git): Skip Bootsnap and Zeitwerk in bundled gems warning
-
05:33 AM Revision 02a4bdd6 (git): Add newline each test script
-
05:33 AM Revision 9db30021 (git): Added test script for bundled_gems.rb with zeitwerk
-
03:57 AM Bug #20310 (Closed): ASAN fake stacks need to be marked during GC for non-current execution context - Applied in changeset commit:git|48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c.
----------
Move asan_fake_stack_handle to EC, not thread
It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_han... - 03:57 AM Revision 69579ed5 (git): Mark fiber stacks in rb_execution_context_mark
- Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does _NOT_ set
ec->machine.stack_end on the saved EC, so that the code in
`rb_execution_context_mark` does not mark it; ins... - 03:57 AM Revision 2535a09e (git): Check ASAN fake stacks when marking non-current threads
- Currently, we check the values on the machine stack & register state to
see if they're actually a pointer to an ASAN fake stack, and mark the
values on the fake stack too if required. However, we are only doing
that for the _current_ thr... - 03:57 AM Revision 48d3bddd (git): Move asan_fake_stack_handle to EC, not thread
- It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_handle.
[Bug #20310] -
03:39 AM Bug #18455: `IO#close` has poor performance and difficult to understand semantics.
- After reviewing `async-io`, it looks like `wait_readable` and `wait_writable` might not be interrupted by `close`, leading to some odd behaviour.
-
02:55 AM Revision ea31228d (git): Consider extensions in gems outside of ext/
-
02:55 AM Revision 2dd2204d (git): Extract `root` helper
- It holds the root directory for each type of default gem (ext/ or lib/).
-
02:55 AM Revision 083e7080 (git): Consider `target_prefix` in extension Makefiles
-
02:55 AM Revision 2b703eed (git): Consistently put requirable features in default gemspecs file list
-
02:55 AM Revision bece07e6 (git): Fix gemspec file list for extension gems
- So that it also includes requirable features provided by extensions.
-
02:55 AM Revision 1e6117d6 (git): Simplify FileCollector interface
-
02:55 AM Revision 348d8bdb (git): Use `$ext_build_dir` consistently
- Instead of hardcoded "ext".
-
01:26 AM Revision fdd7ffb7 (git): [Bug #20389] Chilled string cannot be a shared root
- 12:28 AM Revision 95864a6e (git): Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0
- Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.6.0 to 2.0.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
03/24/2024
-
11:34 PM Revision e86a6191 (git): Lrama v0.6.5
-
04:05 PM Feature #20390: Issue with StringIO and chilled strings
- This is being discussed at https://github.com/ruby/stringio/pull/93
-
03:46 PM Feature #20390 (Closed): Issue with StringIO and chilled strings
- StringIO doesn't appear to handle chilled strings in a backwards-compatible way after 12be40ae
```ruby
require "stringio"
sio = StringIO.new("")
sio.write("hello")
```
When not specifying a value for `frozen-string-literal`, ... -
03:27 PM Revision 5e4b4d66 (git): [rubygems/rubygems] Remove typo name
- It is more 2 years since #5109, probably enough time to warn.
https://github.com/rubygems/rubygems/commit/1e9433e77f -
01:37 PM Revision 7c015c3b (git): Remove never used macros related to RJIT [ci skip]
- These macros have not been used since the commit "Stop exporting
symbols for MJIT" 233ddfac541749a0da80ea27913dc1ef4ea700bb, and
renamed as RJIT. -
01:35 PM Bug #20389: Issue with chilled strings and mutability after 12be40ae
- tagging @byroot @etienne
-
01:33 PM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
- Commit 12be40ae introduced the concept of "chilled" strings when code is compiled with frozen-string-literals not explicitly enabled or disabled. I believe I've found a related bug, which I've bisected to this commit.
This reproductio... -
01:04 PM Revision 74593613 (git): [ruby/reline] Disable dialog proc if TERM=dumb
- (https://github.com/ruby/reline/pull/663)
https://github.com/ruby/reline/commit/4928e06a24 -
12:54 PM Revision 82f4cff1 (git): [ruby/irb] Fix indent test for new reline
- (https://github.com/ruby/irb/pull/908)
https://github.com/ruby/irb/commit/7c16ce033e -
10:47 AM Revision b0eda83e (git): [ruby/reline] Add mode_string to prompt calculation dependencies
- (https://github.com/ruby/reline/pull/658)
* Add mode_string to prompt calculation dependencies
* Update vi show-mode-in-prompt test
https://github.com/ruby/reline/commit/a0cee06ec5 -
10:45 AM Revision b03705db (git): [ruby/reline] Refactor key actor test
- (https://github.com/ruby/reline/pull/645)
* Add assertion assert_cursor_line to test helper
* Autofix key_actor test to use assert_cursor_line
* Rename the assertion to assert_line_around_cursor and remove other assertions for line an... -
04:45 AM Feature #19057: Hide implementation of `rb_io_t`.
- Eric, thanks for your comment. I understand your concern about Ruby's incompatibility.
Sometimes it is inevitable to introduce incompatibilities to improve a language specification (you may not agree with me here), but I believe that ...
03/23/2024
-
11:06 PM Revision 7c61506b (git): Do not use macos-14 for CodeQL [ci skip]
- It is known that macos-14 runner is small to run CodeQL.
-
11:00 PM Revision 3adaba0e (git): [ruby/reline] Do not send color reset sequence when GeneralIO is
- used
(https://github.com/ruby/reline/pull/661)
https://github.com/ruby/reline/commit/3719702808 -
10:50 PM Revision f46b7759 (git): [ruby/reline] Make mutated string in yamatanooroti explicitly
- mutable
(https://github.com/ruby/reline/pull/662)
This avoids the frozen literal warning in Ruby 3.4.
https://github.com/ruby/reline/commit/cccb985804 -
09:49 PM Feature #19057: Hide implementation of `rb_io_t`.
- > Why don't you reconsider the "nested public interface" approach?
My assessment of this approach is that it would require a rewrite of internal code that accesses `rb_io_t` private outer struct. Rewriting code isn't a problem, but it t... -
06:31 PM Feature #19057: Hide implementation of `rb_io_t`. - ioquatix (Samuel Williams) wrote:
> - Companies could contact Eric and offer incentives for him to make a release.
That's not possible, https://yhbt.net/unicorn/ISSUES states:
The author of unicorn must never be allowed to profit... -
04:40 PM Revision 8265a753 (git): Use dedicated methods to abort
- When `RUBY_DEBUG` is set, accessing a class in an invalid object will
cause a breakpoint trap instead of a segfault on some implementations. -
04:09 PM Revision 678cb800 (git): Move `-test-/fatal/rb_fatal` to `-test-/fatal`
-
02:58 PM Revision 5a773974 (git): Ignore method chains succeeding `git ls-files`
-
01:43 PM Revision c505bb0c (git): Ignore method chains succeeding `git ls-files`
-
01:09 PM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
- cc @tenderlovemaking because red-black shape cache. Maybe the backtrace speaks to you.
-
07:01 AM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Seems related to shape and jemalloc.
Im not to sure what that means
but i don't think its an issue with jemalloc here is the stack trace for the normal ruby image
```
2024-03-23T06... -
01:06 PM Revision 43fe89d9 (git): [ruby/win32ole] Refine pathspecs for `spec.files`
- https://github.com/ruby/win32ole/commit/8d443417a9
-
10:34 AM Revision 14fba5a7 (git): [ruby/win32ole] Exclude unused files from packages
- https://github.com/ruby/win32ole/commit/f4aff99dda
-
10:34 AM Revision a8075caa (git): [ruby/win32ole] Test constants for the backward compatibility
- https://github.com/ruby/win32ole/commit/22facf50fd
-
08:19 AM Revision 40125197 (git): [DOC] Small edits in rbasic.h
- 06:59 AM Revision a15b2443 (git): Update bundled gems list as of 2024-03-22
03/22/2024
-
11:54 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
- Applied in changeset commit:git|2dbcc123f4f605b51a3698d38ccd53ba6ef482ac.
----------
Do not apply anon_rest optimization when passed array uses keyword-flagged hash
The optimization sets args->rest_dupped to avoid allocating an array,
... -
10:31 PM Bug #20388: super + ruby2_keywords isn't working
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
PR: https://github.com/ruby/ruby/pull/10338 -
10:24 PM Bug #20388: super + ruby2_keywords isn't working
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> tenderlovemaking (Aaron Patterson) wrote in #note-1:
> ...
Actually, compiler is fine, this is due to the anonymous splat optimization. Fix appears simple enough, I'll submit a PR shortl... -
09:52 PM Bug #20388: super + ruby2_keywords isn't working
- tenderlovemaking (Aaron Patterson) wrote in #note-1:
> Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array)
Thanks for t... -
09:46 PM Bug #20388: super + ruby2_keywords isn't working
- Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array)
-
09:44 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
- ```ruby
class A
def process action, ...
end
end
class B < A
def process method_name, *args
args.freeze
super
end
ruby2_keywords(:process)
end
p B.new.process(:foo, bar: :baz)
```
The above code start... -
11:54 PM Revision 2dbcc123 (git): Do not apply anon_rest optimization when passed array uses keyword-flagged hash
- The optimization sets args->rest_dupped to avoid allocating an array,
but this is not safe if the splat array ends in a keyword flagged
hash. Unset args->rest_dupped in this case.
Fixes [Bug #20388] - 09:42 PM Revision a2ac28d8 (git): .travis.yml: Add lscpu command to see the details of the CPU.
-
01:15 PM Revision 8ef923dc (git): [rubygems/rubygems] Respect global umask when writing regular files
- https://github.com/rubygems/rubygems/commit/fd5cb7396f
-
01:14 PM Revision 7b3ef370 (git): [rubygems/rubygems] Fix incorrect `bundle update --bundler` message
- https://github.com/rubygems/rubygems/commit/146de56353
-
01:05 PM Revision 78e12beb (git): Propagate jobserver FDs to `cargo` and `rustc` [ci skip]
- https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
> Cargo and `rustc` use the jobserver protocol, developed for GNU
> ...
Older GNU make used FDs to connect to the jobserver, and needs an
explicit use of `$(MAKE)` va... - 11:34 AM Revision d85c2405 (git): [ruby/irb] Remove misleading documentation
- (https://github.com/ruby/irb/pull/906)
https://github.com/ruby/irb/issues/904
https://github.com/ruby/irb/commit/89bca01bba -
11:30 AM Feature #20275 (Closed): Avoid extra backtrace entries for rescue and ensure
- Applied in changeset commit:git|74995a1a772903c5247886da1105caa27a4afa2d.
----------
[Feature #20275] Remove extra backtrace entries for rescue and ensure -
11:30 AM Revision 74995a1a (git): [Feature #20275] Remove extra backtrace entries for rescue and ensure
-
09:53 AM Revision e2a9b871 (git): `rb_thread_sched_destroy` is not used now at all
-
09:20 AM Revision 127d7a35 (git): Some functions are not used when `THREAD_MODEL=none`
-
09:18 AM Revision 055613fd (git): Fix pointer incompatiblity
- Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
needed. -
08:17 AM Revision 2c4170ea (git): Extension in gems cannot be statically linked
- A gem is meant to be added later, so an extension within it cannot be
statically linked. -
07:59 AM Feature #5133: Array#unzip as an alias of Array#transpose
- In issue #20336, @matheusrich wrote:
```
* [Feature #5133] Array#unzip as an alias of Array#transpose
* Seems a more friendly name for this method (easier if you don't have a strong math background)
* It is nice that we can do ... -
05:09 AM Revision af88ca4c (git): Match `--with/--without` options against gem names
- The simple names in `default_exclude_exts` do not match extension
paths under gems.
Extract each gem name from the gemspec file at the top level of each
gem directory. For example, if `ext` is `syslog-0.1.2/ext/syslog/`,
find out `sysl... -
05:06 AM Revision 235aa7ad (git): Pass blocks to blocks as block parameters
-
03:55 AM Feature #19057: Hide implementation of `rb_io_t`.
- > I don't see any other realistic option. I wish there was another way.
FWIW, @byroot built a fork https://github.com/shopify/pitchfork, which has a reforking feature Unicorn doesn't have, and Shopify uses that for our largest applicati... -
02:28 AM Feature #19057: Hide implementation of `rb_io_t`.
- At @mame's request, I've reverted this change. The reversion itself was straightforward, yet it does not mitigate the underlying concerns that have come to light through this work. My attempt to enhance Ruby's `IO` implementation has hig...
-
02:53 AM Revision c5045830 (git): Lrama v0.6.4
-
01:58 AM Misc #20387 (Assigned): Meta-ticket for ASAN support
- I was asked to provide a bit of information about the current status of ASAN in CRuby, so I thought I'd open this meta-ticket to track all of the work I've been performing on fixing up address sanitizer support.
So far, I have fixed t... - 01:56 AM Revision b4d73e9f (git): Revert "Hide public implementation of `rb_io`. (#9568)" (#10283)
- This reverts commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83.
- 01:33 AM Revision 6d681888 (git): merge revision(s) b176315827d1082f43628013a7d89fda02724d33: [Backport #20324] (#10329)
- [Bug #20324] Uncomparable ranges are not overlapping
-
01:09 AM Revision 35fe4b04 (git): Sort links [ci skip]
- 12:25 AM Revision a24802e8 (git): merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304] (#10311)
- Fix memory leak in setting encodings
There is a memory leak in Encoding.default_external= and
Encoding.default_internal= because the duplicated name is not freed
when overwriting.
10.times do
...
03/21/2024
-
11:44 PM Revision 49eddad7 (git): Declare all jobs in matrix.include (#10327)
- Declare all jobs using matrix.include
-
08:08 PM Feature #20275: Avoid extra backtrace entries for rescue and ensure
- PR: https://github.com/ruby/ruby/pull/10325
-
06:14 PM Revision 75d9019e (git): [DOC] Fix link in NEWS.md
-
06:12 PM Revision 0546764c (git): [DOC] Add link in NEWS.md
-
05:33 PM Misc #20013: Travis CI status
- For your information, I saw the following ppc64le job not starting 10 days ago, and contacted Travis support at that time, and still waiting for the fix, though I didn't find any other failures in last few days.
https://app.travis-ci.co... -
05:32 PM Bug #20338 (Closed): certain **kwsplat calls have regressed allocations over past few ruby releases
- After commit:aceee71c35e0b387691836e756b4e008efd84cf1 and commit:15dc3aaa311b32203d8ffb414bcf9b8e55ce5691, it's now back down to 3.2 levels on the master branch:
```
$ ./miniruby -v test.rb
ruby 3.4.0dev (2024-03-21T17:20:32Z master... -
05:20 PM Revision 15dc3aaa (git): Remove excess allocation for kwsplat to kw call
- Previously, calls like the following duplicated the kwsplat hash
unnecessarily:
```ruby
def foo(a:) = a
hash = {a: 10}
foo(**hash)
```
This is due to the fix in ca204a20231. Since it targets when the callee
has no keyword parameters, s... -
02:43 PM Revision 806edd29 (git): Pass objspace into heap_check_moved_i
-
02:43 PM Revision 9a6a6b4b (git): Pass objspace into root_obj_check_moved_i
-
12:21 PM Bug #20386: Backport CVE-2024-27281
- Merged https://github.com/ruby/ruby/pull/10317
-
07:07 AM Bug #20386 (Closed): Backport CVE-2024-27281
- I disclosed https://www.ruby-lang.org/en/news/2024/03/21/rce-rdoc-cve-2024-27281/ today.
We should backport fixed RDoc to all stable version.
* For 3.0: https://github.com/ruby/ruby/pull/10319
* For 3.1: https://github.com/ruby/ru... -
12:21 PM Revision d5dbada8 (git): Merge RDoc-6.5.1.1
-
12:15 PM Revision 0a2238d5 (git): merge revision(s) 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f:
- Fix test session reuse but expire (#9824)
* OpenSSL 3.2.1 30 Jan 2024 is also broken
Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
tentatively.
---
test/net/http/test_http... -
09:10 AM Revision 060a71d4 (git): Fix Ripper memory allocation size when enabled Universal Parser
- The size of `struct parser_params` is 8 bytes difference in `ripper_s_allocate` and `rb_ruby_parser_allocate` when the universal parser is
enabled.
This causes a situation where `*r->p` is not fully initialized in `ripper_s_allocate` as ... -
07:15 AM Revision 9e3077a7 (git): Move old OS versions to `include:` and simplify test matrices
-
07:12 AM Revision eb7cb164 (git): CVE-2024-27281 for Ruby 3.3 (#10316)
- Merge RDoc-6.6.3.1
-
07:03 AM Bug #20385 (Closed): Backport CVE-2024-27280
- I disclosed https://www.ruby-lang.org/en/news/2024/03/21/buffer-overread-cve-2024-27280/ today.
This StringIO versions should be backported in the next release.
* For Ruby 3.0: https://github.com/ruby/ruby/pull/10320
* For Ruby 3.... -
06:59 AM Bug #20183: `erb/escape.so` cannot be loaded when `--with-static-linked-ext`
- ruby_3_3 a406c516685f1950269c4e43d13cc748f0bfbc06 merged revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6.
-
06:59 AM Bug #20250: Crash with "Object ID seen, but not in mapping table: proc" error
- ruby_3_3 a63e979853783601a60228b45741f8b3776e5507 merged revision(s) d19d683a354530a27b4cbb049223f8dc70c75849,de1a586ecc2ee7f465f0c0a69291054136a3a819.
-
06:58 AM Bug #20327: Time.new behaves differently when passing a zone as timezone object
- ruby_3_3 821719a505bbc628ddd80b90ae892666006eada1 merged revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b.
-
06:58 AM Bug #20311: Struct.new("A") memory leak?
- ruby_3_3 f79b1d1ef1f7aa64d20f0eadbb3b0f8f7084deb3 merged revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf.
-
06:58 AM Bug #19907: Method calls with keyword arguments in eval leaks callcache and callinfo objects
- ruby_3_3 57a0afe2090b8d05673d650b1e8bf9ae67449b1f merged revision(s) 081ee3d35509110f383cb7dd8d1205def0cdd1e8,1c97abaabae6844c861705fd07f532292dcffa74.
- 05:31 AM Revision f79b1d1e (git): merge revision(s) e626da82eae3d437b84d4f9ead0164d436b08e1a,f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: [Backport #20311] (#10312)
- Don't pin named structs defined in Ruby
[Bug #20311]
`rb_define_class_under` assumes it's called from C and that the
reference might be held in a C global variable, so it adds the
class to the VM root.
... - 04:39 AM Revision 92f72221 (git): Update default gems list at c5ac18bbf4e67a30471cf9add5696c [ci skip]
-
04:38 AM Revision c5ac18bb (git): [ruby/rdoc] Bump up 6.6.3.1
- https://github.com/ruby/rdoc/commit/ffbf8ae089
-
04:18 AM Revision 385c31e7 (git): [ruby/rdoc] Fix NoMethodError for start_with
- https://github.com/ruby/rdoc/commit/e21dfccb4a
- 04:05 AM Revision f5dc9c98 (git): Update default gems list at ee1ad009f355c32a75bcc67bb79abb [ci skip]
-
04:04 AM Revision ee1ad009 (git): [ruby/rdoc] Bump up 6.6.3
- https://github.com/ruby/rdoc/commit/d98baf4917
-
04:04 AM Revision 3d353afe (git): [ruby/rdoc] Filter marshaled objets
- https://github.com/ruby/rdoc/commit/da7a0c7553
-
02:29 AM Bug #20341 (Closed): Parser segfault with shareable constant with array of more than 1 element
- Applied in changeset commit:git|8ba4d7d75fd231b61727eb0561eb686c1d67bfd4.
----------
Fix unexpected node bug for `shareable_constant_value: literal`
[Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS o... -
02:29 AM Bug #20339 (Closed): Parser segfault with ractor comment
- Applied in changeset commit:git|8ba4d7d75fd231b61727eb0561eb686c1d67bfd4.
----------
Fix unexpected node bug for `shareable_constant_value: literal`
[Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS o... -
02:29 AM Revision 8ba4d7d7 (git): Fix unexpected node bug for `shareable_constant_value: literal`
- [Bug #20339]
[Bug #20341]
`const_decl_path` changes the value of `NODE **dest`, LHS of an assignment,
with `NODE_LIT` created by `const_decl_path`. `shareable_literal_constant` calls
`const_decl_path` via `ensure_shareable_node` multipl... - 02:23 AM Revision 57a0afe2 (git): merge revision(s) 081ee3d35509110f383cb7dd8d1205def0cdd1e8,1c97abaabae6844c861705fd07f532292dcffa74: [Backport #19907] (#10315)
- Add memory leak test for eval kwargs
De-dup identical callinfo objects
Previously every call to vm_ci_new (when the CI was not packable) would
result in a different callinfo being returned this meant that every
... - 02:18 AM Revision 821719a5 (git): merge revision(s) d3279a0c11ca45ca85027e7eb74dc4aac52c478b: [Backport #20327] (#10313)
- [Bug #20327] Do not count subsecond to calculate UTC offset
Assume that there will never be any time zones with UTC offsets that
are subseconds. Historically, UTC offset has only been used down to
the second. - 01:45 AM Revision a63e9798 (git): merge revision(s) d19d683a354530a27b4cbb049223f8dc70c75849,de1a586ecc2ee7f465f0c0a69291054136a3a819: [Backport #20250] (#10308)
- rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID
[Bug #20250]
We're seting up a new instance, so it never had an associated
object_id.
proc.c: get rid of `CLONESETUP`
MIME-Version: 1.0
Cont... -
01:29 AM Bug #20245: Crash when checking symbol encoding
- ruby_3_3 b2c2702f20abfd4bb5f38cad60170e2bbb3adff9 merged revision(s) 01fd262e62076277a41af72ea13f20deb1b462a2.
-
01:29 AM Bug #20246: Unexpected behavior for Regexp in Subexpression Calls on Ruby 3.3.0
- ruby_3_3 05787897f69087abdabee926971cdf364bd73730 merged revision(s) 18ee7c9a108bf3424814565377c8796e5e455cf7,4a6384ed9358e8fb8464f6e37efb5477182f01db.
- 01:28 AM Revision a406c516 (git): merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport #20183] (#10310)
- Alias init functions
The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be ... -
01:23 AM Revision 6650b3ae (git): Point to the correct hash for gacts/run-and-post-run-1.4.0
- 12:10 AM Revision 05787897 (git): merge revision(s) 18ee7c9a108bf3424814565377c8796e5e455cf7,4a6384ed9358e8fb8464f6e37efb5477182f01db: [Backport #20246] (#10309)
- Clear all refined CCs on reopening refinement mod
In cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732 we started using inline
caches for refinements. However, we weren't clearing inline caches when
defined on a reopened ... - 12:05 AM Revision b2c2702f (git): merge revision(s) 01fd262e62076277a41af72ea13f20deb1b462a2: [Backport #20245] (#10307)
- Fix crash when checking symbol encoding
[Bug #20245]
We sometimes pass in a fake string to sym_check_asciionly. This can crash
if sym_check_asciionly raises because it creates a CFP with the fake
string ...
03/20/2024
-
11:53 PM Bug #20098: Wrong regexp match in ruby 3.2 and 3.3
- ruby_3_3 7ae8abc23961bf4fa143a7a2cc0bc38167d468ae merged revision(s) bb59696614083660241ef272f222628cbfa95844.
-
10:21 AM Bug #20098 (Closed): Wrong regexp match in ruby 3.2 and 3.3
-
11:27 PM Bug #20184: Ruby segfaults on Fly.io with 256 MB RAM
- ruby_3_3 commit:53f0c5a4e8834f11af0f903d2c59754d9be2a7f2.
-
11:19 PM Bug #20095: Regex lookahead behaving strangely in 3.3.0
- ruby_3_3 commit:5f3dfa1c273c6fb9eae65ceca633b46f7e30f686.
-
11:18 PM Bug #20212: Regex match method is crashing - (irb):6: [BUG] Segmentation fault at 0x0000000000000000 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
- ruby_3_3 00cb72157a60c20a9b9d9fe81fc974ea83d672b4 merged revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828.
-
11:17 PM Bug #20207: Segmentation fault for a regexp containing positive and negative lookaheads
- ruby_3_3 00cb72157a60c20a9b9d9fe81fc974ea83d672b4 merged revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828.
- 10:16 PM Revision 392dbe06 (git): Bump actions/cache from 4.0.1 to 4.0.2
- Bumps [actions/cache](https://github.com/actions/cache) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co... -
09:32 PM Revision af7bf9e0 (git): [ruby/prism] Provide options for reducing size
- https://github.com/ruby/prism/commit/592128de4d
-
08:27 PM Feature #20384 (Closed): RubyVM::InstructionSequence.{new,compile} use --parser option
- Right now we have `RubyVM::InstructionSequence.compile` and `RubyVM::InstructionSequence.compile_prism`. We introduced this API in order to properly test the integration, even when running with `--parser=parse.y`.
I'm running into iss... -
06:40 PM Feature #19057: Hide implementation of `rb_io_t`.
- Re beauty of the implementation this change is more than that, we can see in https://github.com/ruby/ruby/pull/10283/files that `rb_io_t` exposes way too much internals, which in turns prevents changing/evolving these internals without a...
-
01:02 PM Feature #19057: Hide implementation of `rb_io_t`.
- ioquatix (Samuel Williams) wrote in #note-43:
> Here is the revert PR: https://github.com/ruby/ruby/pull/10283
Thanks!
Just FYI, I think the precedence in Ruby's decision is basically:
* beauty of the language (conciseness and ... -
06:32 PM Bug #20203: `TestEnumerable` test failures with GCC 14
- I ran some benchmarks comparing the builtin `ruby_qsort()` and `qsort_r()` on macOS with an M1 chip and on Ubuntu 22.04 (glibc 2.35) wtih a Xeon Platinum 8000 chip. The rubies are built off of commit:3f5f04afa7 and the `ruby_qsort()` one...
-
06:28 PM Revision 0e8b6c62 (git): [PRISM] Enable specs in CI
- 05:13 PM Revision 00cb7215 (git): merge revision(s) 3e6e3ca2627b1aa71b17de902cc1b8188246a828: [Backport #20207] (#10299)
- Correctly handle consecutive lookarounds (#9738)
Fix [Bug #20207]
Fix [Bug #20212]
Handling consecutive lookarounds in init_cache_opcodes is buggy, so it
causes invalid memory access reported in [Bug #20... -
04:34 PM Bug #20228: Memory leak in Regexp timeout
- ruby_3_3 c626c201e4129bbea17583ecef73472c6f668c81 merged revision(s) 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8,1c120efe02d079b0a1dea573cf0fd7978d9cc857,31378dc0969f4466b2122d730b7298dd7004acdf.
-
04:34 PM Bug #20190: `invalid_encoding_string << number` should be valid encoding in some case, but does not
- ruby_3_3 ce372be903e5f3597f1dc83cb558f165850b3bee merged revision(s) ade56737e2273847426214035c0ff2340b43799a.
-
03:29 PM Revision 42386154 (git): YJIT: Get rid of Type::TProc (#10287)
-
02:57 PM Feature #20351 (Closed): Optionally extract common GC routines into a DSO
- **UPDATE: Based on feedback on the original PR (thank you @katei and @nobu) we have
changed our approach to this project.**
**An updated PR can be found here: [[GH #10456]](https://github.com/ruby/ruby/pull/10456)**
---
~~[Gith... -
02:27 PM Revision e07441f0 (git): Make rb_aligned_malloc private
- It is not used anywhere else.
- 01:40 PM Revision c626c201 (git): merge revision(s) 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8,1c120efe02d079b0a1dea573cf0fd7978d9cc857,31378dc0969f4466b2122d730b7298dd7004acdf: [Backport #20228] (#10301)
- Fix memory leak in OnigRegion when match raises
[Bug #20228]
rb_reg_onig_match can raise a Regexp::TimeoutError, which would cause
the OnigRegion to leak.
Fix memory leak in stk_base when Regexp timeout... - 01:40 PM Revision ce372be9 (git): merge revision(s) ade56737e2273847426214035c0ff2340b43799a: [Backport #20190] (#10300)
- Fix coderange of invalid_encoding_string.<<(ord)
Appending valid encoding character can change coderange from invalid to valid.
Example: "\x95".force_encoding('sjis')<<0x5C will be a valid string "\x{955C}" -
12:58 PM Bug #20209: YJIT can leak memory by retaining objects with singleton class
- ruby_3_3 cdcabd8a44ee2f4a2b549a3460a5c77c2dffca36 merged revision(s) 2cc7a56e,b0711b1,db5d9429.
-
12:53 PM Bug #20208: Net::HTTP errors with Errno::EAFNOSUPPORT when setting local_host with Addrinfo
- ruby_3_3 606dd03e9b0d4cf65ef56e52fab063e3ed5ef797.
-
12:48 PM Bug #20213: zsuper with keyword splat without explicit keywords incorrectly uses mutable keyword splat
- ruby_3_3 69cee6fee50f63cd52d59325dc3780a6fc4e5ae2 merged revision(s) 771a2f039b9a059a73e8f111d1d46590fa697f63.
-
12:48 PM Bug #20197: Postponed job invocations are significantly reduced in Ruby 3.3
- ruby_3_3 0793cbbfde261f4fc9bf7045594d62a21e391811 merged revision(s) ef276858d9295208add48e27208c69184dc50472.
-
12:48 PM Bug #20194: Memory leak with TracePoint on bmethod
- ruby_3_3 23bfe6218a690bbde5143e26bc6fb243347fb4b3 merged revision(s) b14674b236445fb70f484603e678722760f678f4.
-
11:44 AM Revision 6ecee4ec (git): [ruby/openssl] Revert "Always respect the openssl prefix chosen by truffle/openssl-prefix on TruffleRuby"
- * This reverts commit https://github.com/ruby/openssl/commit/ca738e7e1357.
* No longer needed since https://github.com/oracle/truffleruby/issues/3170 was fixed.
https://github.com/ruby/openssl/commit/1f641a5604 -
11:20 AM Revision a008c568 (git): Avoid deprecation warnings in TestString
- 11:05 AM Revision 69cee6fe (git): merge revision(s) 771a2f039b9a059a73e8f111d1d46590fa697f63: [Backport #20213] (#10297)
- Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat
For zsuper calls with a keyword splat but no actual keywords, the
keyword splat is passed directly, so it cannot be mutable, because
if the c... -
11:05 AM Feature #20349: Pattern Matching - Expose local variable captures
- nobu (Nobuyoshi Nakada) wrote in #note-2:
> You look like just want a method to make this local variable hash, to me.
`Binding#to_h` or similar would be convenient.
-
08:32 AM Feature #20349: Pattern Matching - Expose local variable captures
- baweaver (Brandon Weaver) wrote:
> PatternMatch.last_match.transform_values(&:source)
Your proposal is `PatternMatch.last_match`, right?
> ...
Why `:node` and `:result` which are not involved in the pattern matching are contained?... - 11:05 AM Revision 0793cbbf (git): merge revision(s) ef276858d9295208add48e27208c69184dc50472: [Backport #20197] (#10296)
- Trigger postponed jobs on running_ec if that is available
Currently, any postponed job triggered from a non-ruby thread gets sent
to the main thread, but if the main thread is sleeping it won't be
checking ints. ... - 11:05 AM Revision 23bfe621 (git): merge revision(s) b14674b236445fb70f484603e678722760f678f4: [Backport #20194] (#10295)
- Memory leak with TracePoint on bmethod
[Bug #20194]
When disabling the TracePoint on bmethod, the hooks list is not freed.
For example:
obj = Object.new
obj.define_singleton_method(:foo... - 11:00 AM Revision 7ae8abc2 (git): merge revision(s) bb59696614083660241ef272f222628cbfa95844: [Backport #20098] (#10298)
- Fix [Bug #20098]: set counter value for {n,m} repetition correctly (#9391)
-
10:52 AM Feature #20350: Return chilled string from Symbol#to_s
- +1, I was thinking the same yesterday, that we could revisit `Symbol#to_s` and have a proper deprecation before changing it due to chilled strings landing.
-
08:58 AM Feature #20350: Return chilled string from Symbol#to_s
- To provide some data-point. Our monolith runs with https://github.com/Shopify/symbol-fstring, which makes the return value of `Symbol#to_s` frozen without any problem. I think we had to fix a single gem to make it work a few years back, ...
-
09:45 AM Bug #20153: Backport 7f9c174102 to fix --yjit-stats with RubyVM::YJIT.enable
- Merged https://github.com/ruby/ruby/pull/9424
-
09:43 AM Bug #20214: Backport https://github.com/ruby/ruby/pull/9711 to fix exits on Ruby 3.3's new instruction
- ruby_3_3 3f0e3ede02f7d4b31c9073c9eb912f11aa4349cd.
-
09:35 AM Bug #19907 (Closed): Method calls with keyword arguments in eval leaks callcache and callinfo objects
- Fixed by `1c97abaabae6844c861705fd07f532292dcffa74` and `081ee3d35509110f383cb7dd8d1205def0cdd1e8`
-
09:33 AM Bug #20348 (Closed): Memory leak with method kwargs in ERB template
- Confirmed, this is a duplicate of [Bug #19907]. I'll make that one for backport.
-
09:25 AM Bug #20348: Memory leak with method kwargs in ERB template
- I suspect it's https://github.com/ruby/ruby/pull/9973, trying to confirm.
- 03:12 AM Revision e5b585ba (git): Bump ruby/setup-ruby from 1.172.0 to 1.173.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.172.0 to 1.173.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d4526a55538b775af234ba4af27118ed6f... - 02:45 AM Revision 3c92fce7 (git): Bump actions/cache in /.github/actions/setup/directories
- Bumps [actions/cache](https://github.com/actions/cache) from 4.0.1 to 4.0.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co... -
01:39 AM Revision aa2cdaa2 (git): [ruby/reline] Change rendered_screen.lines to non-nil
- (https://github.com/ruby/reline/pull/650)
https://github.com/ruby/reline/commit/9685db55f1 -
12:46 AM Feature #6317: Range#cover?の引数としてRangeインスタンスを受けられるようにして欲しい
- @mame @naruse This currently works on Ruby. Can we close this as completed?
-
12:38 AM Feature #6337: FileUtils#sync
- @trans I'm not sure I understand the proposal. Is this basically cloning the source dir with a different name? could that be the name you want `clone_dir`?
-
12:34 AM Misc #20336: DevMeeting-2024-04-17
- * [Feature #5133] Array#unzip as an alias of Array#transpose
* Seems a more friendly name for this method (easier if you don't have a strong math background)
* It is nice that we can do an operation and reverse it with two similar-na... -
12:22 AM Feature #3731: Easier Embedding API for Ruby
- @mame @ko1, is this still needed given that we have mruby?
-
12:21 AM Feature #6594: Integrated Functor
- @mame Can we close this issue?
03/19/2024
-
11:12 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
- zverok (Victor Shepelev) wrote in #note-4:
> @alexbarret There is a somewhat lesser-known trick which looks pretty close to your code:
> ...
Thanks I learned something, and it makes sense thinking about it.
Both `and` and `break` aren't ... -
11:08 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
- jeremyevans0 (Jeremy Evans) wrote in #note-5:
> `find_map` seems like a bad name as there is no map. map implies calling the same function over all elements in a collection, and in this case, there would be a single element (or none if n... -
10:46 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
- `find_map` seems like a bad name as there is no map. map implies calling the same function over all elements in a collection, and in this case, there would be a single element (or none if nothing was found). Combining `find` and `then` ...
-
08:50 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
- @alexbarret There is a somewhat lesser-known trick which looks pretty close to your code:
```ruby
# proposal:
find_map(emails) do |email|
(matches = pattern.match(email)) && matches[:identifier]
end
# a "trick"
emails.find { |em... -
08:38 PM Feature #8421: add Enumerable#find_map and Enumerable#find_all_map
- Can we reconsider introducing `#find_map` please, especially since `#find_all_map` has been introduced as `#filter_map` in Ruby in 2.7?
Here are some examples
```ruby
require "minitest/autorun"
# Option 1
def identifier(emails, ... -
09:06 PM Feature #20350 (Closed): Return chilled string from Symbol#to_s
- During Ruby 2.7 development there was an attempt to return a frozen string from Symbol#to_s (#16150#note-22)
This had to be rolled back due to incompatibility, but now we have chilled strings (#20205)
Symbol#to_s can safely return ... -
08:52 PM Feature #16153 (Closed): eventually_frozen flag to gradually phase-in frozen strings
-
08:47 PM Feature #16153: eventually_frozen flag to gradually phase-in frozen strings
- This proposal is made redundant by #20205 chilled strings. Please close.
-
08:37 PM Feature #20205: Enable `frozen_string_literal` by default
- > it's debatable whether the benefit outweigh the maintenance burden long term.
Yeah, good point. And if truly necessary we could get a chilled string with `eval(str.inspect)` anyway. -
07:00 PM Feature #20205: Enable `frozen_string_literal` by default
- > Would it be possible to have a ruby API for chilled strings? Something like str.chill or String.chill(str)
It's technically very easy to implement, yes. Would need to be a separate feature request though.
Also one drawback is tha... -
05:17 PM Feature #20205: Enable `frozen_string_literal` by default
- Thank you for this great feature!
Would it be possible to have a ruby API for chilled strings? Something like `str.chill` or `String.chill(str)` ...
> - `String#+@`: acts as if the string was mutable.
Nitpick: actually, `String#+@` ... -
08:27 AM Feature #20205 (Closed): Enable `frozen_string_literal` by default
- Applied in changeset commit:git|12be40ae6be78ac41e8e3f3c313cc6f63e7fa6c4.
----------
Implement chilled strings
[Feature #20205]
As a path toward enabling frozen string literals by default in the future,
this commit introduce "chilled ... -
08:01 PM Feature #20349: Pattern Matching - Expose local variable captures
- This would make every pattern matching a lot slower which seems a big no-no performance wise.
I think that's enough to reject this proposal.
Because it would force to create that binding/Hash eagerly in case `PatternMatch.last_match` i... -
05:58 PM Feature #20349 (Open): Pattern Matching - Expose local variable captures
- In Regular Expressions we have the ability to utilize `Regexp.last_match` ([link](https://ruby-doc.org/3.2.2/Regexp.html#method-c-last_match)) to access the most recent match data from a regular expression match. I would like to propose ...
-
06:14 PM Revision 0a107027 (git): [ruby/prism] Fix a diagnostic incompatibility
- This PR fixes a diagnostic incompatibility when using no anonymous keyword rest parameter:
```ruby
foo(**)
```
Note, although the actual update applies only to the `foo(**)` case, for reference,
`foo(*)` and `foo(&) are also mentioned ... -
06:13 PM Revision 72a613bc (git): [ruby/prism] Fix a diagnostic incompatibility for `Prism::Translation::Parser`
- This PR fixes a diagnostic incompatibility for `Prism::Translation::Parser` when using constant argument:
```ruby
def foo(A)
end
```
## Parser gem (Expected)
Displays `formal argument cannot be a constant (Parser::SyntaxError)`:
```c... -
05:59 PM Revision cbcb2d46 (git): [DOC] Unify Doxygen formats (#10285)
-
02:39 PM Bug #20348: Memory leak with method kwargs in ERB template
- This has been fixed in the master branch. However, I'm not sure which commit fixed it.
-
10:47 AM Bug #20348 (Closed): Memory leak with method kwargs in ERB template
- Evaluating ERB templates with kwarg method calls leads to unbounded growth in memory use.
Example script:
```ruby
require "erb"
def noop(kwarg1:); end
template = ERB.new("<%= noop kwarg1: false %>")
50.times do
10_000.... - 02:18 PM Revision 5c293773 (git): Update default gems list at d7bc6f0effa1531a12b5c6b6286805 [ci skip]
-
02:17 PM Misc #20279 (Closed): Is the implementation of `respond_to_missing?` in BasicObject documentation correct? - Applied in changeset commit:git|e127289632396f268099c9815a59bc7e7f13b3ec.
----------
[Bug #20279] [DOC] Update for `BasicObject`
The current implementation raises on the call to super -
02:17 PM Revision d7bc6f0e (git): [ruby/reline] Reline 0.5.0.pre
- (https://github.com/ruby/reline/pull/614)
* Re-architecture LineEditor's internal state and rendering
* Fix test related to LineEditor re-architecture
* Bump to 0.5.0.pre.1
* Hide cursor only when updating screen. Frequent hide&show ... -
12:49 PM Revision e1272896 (git): [Bug #20279] [DOC] Update for `BasicObject`
- The current implementation raises on the call to super
-
12:33 PM Feature #19057: Hide implementation of `rb_io_t`.
- As an alternative (optional) course of action, I've released the latest head of unicorn as `unicorn-maintained` gem. You can use this instead of `unicorn` and it will work on Ruby head.
https://github.com/unicorn-ruby/unicorn
Anyone wh... -
11:44 AM Feature #19057: Hide implementation of `rb_io_t`.
- > From the reaction to this ticket, it is clear that forcing the "hide all the details" approach could destroy the Ruby ecosystem.
"destroy the Ruby ecosystem" seems an exaggeration if it's just `unicorn` not working, because there wa... -
10:56 AM Feature #19057: Hide implementation of `rb_io_t`.
- Here is the revert PR: https://github.com/ruby/ruby/pull/10283
-
09:33 AM Feature #19057: Hide implementation of `rb_io_t`.
- The simplest option right now is to revert this change and try again later.
@mame are there any other gems apart from `unicorn` you are concerned about? In other words, if `unicorn` makes a release, then you don't have a problem with ... -
03:07 AM Feature #19057: Hide implementation of `rb_io_t`.
- I agree with @mame. This change would break too many tests, apps, etc. We cannot accept the change at the moment.
Can we be more conservative?
Matz.
-
02:35 AM Feature #19057: Hide implementation of `rb_io_t`.
- Why don't you reconsider the "nested public interface" approach?
From the reaction to this ticket, it is clear that forcing the "hide all the details" approach could destroy the Ruby ecosystem. And there is no need to force it because... -
09:10 AM Feature #20347 (Closed): Separate docs task from all
- I would like to migrate RDoc as bundled gems at Ruby 3.5.
We need to handle `install-doc` and related task with that. I removed `docs` task from `all` and re-order `docs` task at `install-all`.
https://github.com/ruby/ruby/pull/102... -
08:26 AM Revision 12be40ae (git): Implement chilled strings
- [Feature #20205]
As a path toward enabling frozen string literals by default in the future,
this commit introduce "chilled strings". From a user perspective chilled
strings pretend to be frozen, but on the first attempt to mutate them,
... - 05:55 AM Revision 86b15316 (git): Bump github/codeql-action from 3.24.7 to 3.24.8
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.7 to 3.24.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md... -
03:05 AM Feature #20345: Add `--target-rbconfig` option to mkmf
- Sounds nice. Go ahead.
Matz.
-
02:36 AM Feature #20345: Add `--target-rbconfig` option to mkmf
- Code to load the last one only.
```ruby
target_rbconfig = nil
ARGV.delete_if do |arg|
unless (opt = arg.delete_prefix("--target-rbconfig=")) == arg
target_rbconfig = opt
end
end
if target_rbconfig
# Loa... -
02:36 AM Feature #20345: Add `--target-rbconfig` option to mkmf
- > It seems ambiguous when multiple --target-rbconfig options are given.
Nice catch, I prefer to respect the last one only to allow it to be overridden by trailing arguments. -
01:49 AM Feature #20345: Add `--target-rbconfig` option to mkmf
- It seems ambiguous when multiple `--target-rbconfig` options are given.
Your patch uses the first one and leaves the rest.
I think all options should be removed, and which would be preferable?
1. load the first one only
2. load the l... -
12:27 AM Feature #20345: Add `--target-rbconfig` option to mkmf
- +1 as well.
- 02:56 AM Revision 59849fee (git): Bump actions/checkout from 4.1.1 to 4.1.2
- Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... - 02:17 AM Revision 6c18b247 (git): Update default gems list at 0985e587901a9039ee0f523d285ed3 [ci skip]
-
02:16 AM Revision 0985e587 (git): [ruby/resolv] Bump up 0.4.0
- https://github.com/ruby/resolv/commit/44ae1e8531
-
01:54 AM Revision ef0e08f3 (git): Don't replace doc url for vendored files
-
01:30 AM Revision ce544f8d (git): [ruby/prism] [Compatibility] Improve printf format
- For better compatibility, this patch suggests using __MINGW_PRINTF_FORMAT that GCC provides for MINGW environment.
https://github.com/ruby/prism/commit/a3a792b64f - 01:27 AM Revision 6c1e8029 (git): [ruby/did_you_mean] Do not use #inspect to avoid unexpected performance degradation
- closes https://github.com/ruby/did_you_mean/pull/100
https://github.com/ruby/did_you_mean/commit/bd11eefd6c