Activity
From 03/12/2024 to 03/18/2024
03/18/2024
-
08:39 PM Revision 3f5f04af (git): Remove duplicated function prototype rb_gc_disable_no_rest
-
07:09 PM Feature #20276: Introduce Fiber interfaces for Blocking operations on Ractors
- ioquatix (Samuel Williams) wrote in #note-7:
> If I had to take a guess, I'd say it's a bug with waiting on a Ractor while handling signals?
Under closer inspection, the `Thread#join` workaround should work in theory but actually dea... -
07:06 PM Bug #20346 (Closed): FiberScheduler.unblock not called by Thread#join when Thread body contains Ractor.take
- When using a `Ractor.take` inside a different thread, `Thread#join` on the thread running `Ractor.take` fails to call `FiberScheduler.unblock`. The below code can replicate this behavior
```ruby
require "async"
class RactorWrapper
... -
06:18 PM Revision 0b34b75b (git): [PRISM] Remove unnecessary dependencies in common.mk
-
06:01 PM Feature #20345: Add `--target-rbconfig` option to mkmf
- These patches are very small and focused, this makes a lot of sense to me.
-
05:16 PM Feature #20345: Add `--target-rbconfig` option to mkmf
- Here are patches for Nokogiri and rake-compiler:
- https://github.com/kateinoigakukun/nokogiri/commit/c70ee8ea8ae2c46f84a6275ae8ef47b748dce685
- https://github.com/kateinoigakukun/rake-compiler/commit/78f99cea613c81c0562ed6b75c598b6ae38f... -
05:03 PM Feature #20345: Add `--target-rbconfig` option to mkmf
- > I ported nokogiri gem to WebAssembly/WASI with this change
Can you share a pointer to this code? As a maintainer of Nokogiri and of rake-compiler-dock I'm very interested in seeing how this might simplify the toolchain.
-
04:26 PM Feature #20345 (Closed): Add `--target-rbconfig` option to mkmf
## Motivation
Today, CRuby runs on many platforms. But not all platforms are capable of running build tools (e.g. WebAssembly/WASI), so cross-target compilation against extensions libraries is essential for those platforms.
We c...-
05:00 PM Revision 548203ea (git): [ruby/prism] Warn on frozen_string_literal after tokens
- https://github.com/ruby/prism/commit/edece87801
-
04:59 PM Revision 8514785e (git): [ruby/prism] CRuby error message for lonely else
- https://github.com/ruby/prism/commit/1219a709e4
-
04:12 PM Revision 7a1a5724 (git): [ruby/prism] Use `require_relative` in the Prism codebase
- If there are many searches in the `$LOAD_PATH` in the user environment,
require will perform unnecessary searches that are not needed.
In contrast, `require_relative` is efficient because it uses a relative path.
https://github.com/ruby... -
04:02 PM Revision 802e857a (git): YJIT: Support arity=-2 cfuncs (#10268)
- This type of cfuncs shows up as consume a lot of cycles in profiles of
the lobsters benchmark, even though in the stats they don't happen that
frequently. Might be a bug in the profiling, but these calls are not
too bad to support, so mi... -
03:55 PM Revision 97810cbb (git): [PRISM] Process encoding on CLI for -K
-
03:55 PM Revision b7ca4b1e (git): [PRISM] Fix up frozen checks for aref
-
03:40 PM Feature #20329: Clean up `--dump` sub-options
- nobu (Nobuyoshi Nakada) wrote in #note-5:
>
> ...
seems like a good idea. -
02:21 PM Feature #20329: Clean up `--dump` sub-options
- eightbitraptor (Matthew Valentine-House) wrote in #note-4:
> ```
> ...
This looks nice.
Would `--dump=insns --dump=-opt` have the same effect with `--dump=insns,-opt`? -
03:37 PM Bug #20344 (Closed): argument stack underflow (-1)
- This file produces argument stack underflow, since ruby 2.5.
```ruby
proc do
next if true
case nil
when "a"
next
when "b"
when "c"
proc {}
end
next unless true
end
```
```
-- raw disasm-------... -
02:29 PM Revision f5497203 (git): Highlight messages in fetch-bundled_gems
-
02:29 PM Revision 6ccc04cf (git): Add more abstract decorations for messaging
-
02:19 PM Revision 44697295 (git): Remove rb_raw_obj_info_basic
- It's not used outside of gc.c.
-
01:58 PM Revision c73dd96f (git): [PRISM] Resync
- 11:42 AM Revision cb029fa4 (git): [rubygems/rubygems] Deprecate `bundle plugin install --local-git=`
- It's the exact same implementation as --git
https://github.com/rubygems/rubygems/commit/18eb2418c6 -
08:03 AM Feature #19057: Hide implementation of `rb_io_t`.
- I don't use `unicorn` so thanks for the clarification. Maybe someone who does know, can write some documentation about the current state of affairs and how to use the current head. My trivial `gem build` and `gem install` seemed to work,...
-
07:43 AM Feature #19057: Hide implementation of `rb_io_t`.
- > are you able to point it at the git head?
You can't just do that because Unicorn has a bunch of files that need to be generated and are not compiled. So you need a custom fork: https://github.com/k0kubun/unicorn/commit/6215d4cad7a96... -
05:22 AM Feature #19057: Hide implementation of `rb_io_t`.
- @mame are you able to point it at the git head?
e.g.
```ruby
gem "unicorn", git: "https://yhbt.net/unicorn.git"
# or
gem "unicorn", git: "https://github.com/socketry/unicorn.git"
```
That should get things moving again.
I... -
01:58 AM Feature #19057: Hide implementation of `rb_io_t`.
- This change has broken our internal CI. Because our CI contributes to assure the quality of Ruby master, it is a shame that it will not work until the release of unicorn, which we do not know when (and whether) it will be released. I hop...
-
07:55 AM Revision 8a8df491 (git): Update set_backtrace documentation
- Followup: https://github.com/ruby/ruby/pull/10017
[Feature #13557] -
07:49 AM Revision 454b939d (git): Launchable: Remove unused codes
-
04:52 AM Revision 0ff2c7fe (git): Faster Integer.sqrt for large bignum
- Integer.sqrt uses Newton's method.
This pull request reduces the precision which was unnecessarily high in each calculation step. -
03:32 AM Revision dcfbe36c (git): Update unmerged RBS to debug `EBADF` error (#10275)
- Update bundled_gems
-
02:37 AM Revision e6487a92 (git): [ruby/irb] docs(help): Add latest options to ja help message
- (https://github.com/ruby/irb/pull/903)
https://github.com/ruby/irb/commit/3c6d452495 -
01:59 AM Misc #20336: DevMeeting-2024-04-17
- * [Feature #19057] Hide implementation of `rb_io_t`
* This change has broken our internal CI. Because our CI contributes to assure the quality of Ruby master, it is a shame that it will not work until the release of unicorn, which we ...
03/17/2024
-
10:55 PM Revision dc06375c (git): [rubygems/rubygems] Ignore commented out keys in config file
- https://github.com/rubygems/rubygems/commit/c4a8d2a930
-
06:32 PM Bug #20343 (Closed): Ripper.sexp in Ruby 3.4 returns nil
- This is expected as that syntax was removed. See #19918
-
06:13 PM Bug #20343 (Closed): Ripper.sexp in Ruby 3.4 returns nil
- In Ruby 3.4.0's Ripper, there is the following incompatible behavior:
## Expected (Ruby 3.3)
It is expected that tokens will be returned.
```console
$ ruby -rripper -ve "p Ripper.sexp('foo[bar, &baz] += 1')"
ruby 3.3.0 (2023-1... -
10:09 AM Revision 5fd6b461 (git): Refactor encdb and transdb templates
- - Simplify globbed file names.
- Prefer `File.open` over `Kernel#open`.
- Swallow initializer blocks instead of line by line with flip-flop.
- Re-structure converter list. -
09:47 AM Revision e6708924 (git): Remove no longer needed matching
-
09:28 AM Revision 9e470ebd (git): Revert "Remove flip-flop usages from build scripts"
- This reverts commit 301fa452f7a9cdea922103e9c50d85a2d5652d0d.
-
06:57 AM Revision 28a2105a (git): Prefer `enum ruby_tag_type` over `int`
-
06:57 AM Revision a91800c4 (git): Validate tag type to jump
-
05:05 AM Bug #20218 (Closed): aset/masgn/op_asgn with keyword arguments
- Applied in changeset commit:git|0d5b16599a4ad606619228623299b931c48b597b.
----------
[Bug #20218] Reject keyword arguments in index -
05:05 AM Bug #19918 (Closed): Should `a[&b]=c` be syntax valid?
- Applied in changeset commit:git|df5ef282337764508a1e1d93459d7a280e46647c.
----------
[Bug #19918] Reject block passing in index -
04:37 AM Revision e69708e5 (git): [DOC] Mention about disallowed arguments in index
- [Bug #19918]
[Bug #20218] -
04:20 AM Revision 0d5b1659 (git): [Bug #20218] Reject keyword arguments in index
-
04:18 AM Revision df5ef282 (git): [Bug #19918] Reject block passing in index
03/16/2024
-
05:55 PM Revision 3605d607 (git): [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`
- This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer` when using backquoted heredoc indetiner:
```ruby
<<-` FOO`
a
b
FOO
```
## Parser gem (Expected)
Returns `tXSTRING_BEG` as the first token:
```console
$... -
04:27 PM Revision 815c7e19 (git): Avoid caller-side hash allocation for f(*a, kw: 1) and f(*a, kw: 1, &block)
- Previously, this used:
```
splatarray false
duphash
getlocal/getblockparamproxy # in the block passing case
send ARGS_SPLAT|KW_SPLAT|KW_SPLAT_MUT
```
This changes the duphash to putobject, with putobject using
a frozen version of the h... -
03:20 PM Revision bda5b099 (git): [ruby/irb] Fix irb_history saved to current directory
- (https://github.com/ruby/irb/pull/901)
* Always save irb_history in HOME or XDG_CONFIG_HOME
Also split irbrc search logic from irb_history search logic as a refactor
* Remove IRB.conf[:RC_NAME_GENERATOR] because it's not configurable
... -
02:44 PM Revision aae9f562 (git): Prefer the simple read/write `File` singleton methods
-
02:29 PM Revision d4a53b46 (git): Prefer the simple read/write `File` singleton methods
-
01:51 PM Revision 137b52a8 (git): [ruby/irb] Use markdown format for docs
- (https://github.com/ruby/irb/pull/890)
* Convert irb.rb's document into markdown format
* Hide should-be-private top-level methods from docs
* Skip xmp.rb's docs
* Declare lib/irb.rb's markup do it works in ruby/ruby too
* Ignore do... -
10:41 AM Bug #20342: Top level `public`, `private` and `ruby2_keywords` do not work in wrapped load
- https://github.com/ruby/ruby/pull/10271
I'm not sure these methods should print the warning too. -
10:21 AM Bug #20342 (Closed): Top level `public`, `private` and `ruby2_keywords` do not work in wrapped load
- With this file:
```ruby
# load.rb
public def f = :ok
```
It is OK when `require`d.
```sh-session
$ ruby -r ./load.rb -e 'p f'
:ok
```
Simple `load` is OK too.
```sh-session
$ ruby -e 'load ARGV[0]; p f' load.rb
:ok
... -
09:51 AM Revision f1682407 (git): [ruby/did_you_mean] Avoid division for small length2
- https://github.com/ruby/did_you_mean/commit/cb518e251a
-
09:51 AM Revision affbc79a (git): [ruby/did_you_mean] Remove Integer floor and prefix index from Jaro distance
- The variable ``length2`` is an Integer, call to floor returns self.
The variables ``i`` and ``prefix_bonus`` are equally incremented, no need to keep the ``i`` variable.
https://github.com/ruby/did_you_mean/commit/4408802289 -
03:40 AM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
- rubyFeedback (robert heiler) wrote in #note-6:
> Ultimately you only have to convince matz. :)
> ...
Thanks, that's a good point re: backwards compatibility.
> I am not really invested in the proposal here, so I will not comment m... -
03:30 AM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
- austin (Austin Ziegler) wrote in #note-5:
> Wouldn’t it make more sense, then, to do `uniq { … }.map { … }`? Yes, there’s a *small* bit of extra code, but it means that you’re in most cases going to be performing *less work* than either...
03/15/2024
-
11:15 PM Revision def7023e (git): Initialize VM stack if VM_CHECK_MODE
- Lately there has been a few flaky YJIT CI failures where a new Ruby
thread is finding the canary on the VM stack. For example:
https://github.com/ruby/ruby/actions/runs/8287357784/job/22679508482#step:14:109
After checking a local rr r... -
08:03 PM Revision 185112f4 (git): Remove unused macro TF
-
07:28 PM Bug #20341 (Closed): Parser segfault with shareable constant with array of more than 1 element
- ```ruby
# shareable_constant_value: literal
C = [foo, bar]
```
results in
```
./ruby: [BUG] unexpected node: NODE_LIT
``` -
06:08 PM Revision e3a82d79 (git): [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`
- This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer`
when using escaped backslash in string literal:
```ruby
"\\ foo \\ bar"
```
## Parser gem (Expected)
```console
$ bundle exec ruby -Ilib -rparser/ruby33 -ve \... -
06:07 PM Revision c9da8d67 (git): [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`
- This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
for the heredocs_leading_whitespace.txt test.
https://github.com/ruby/prism/commit/7d45fb1eed -
03:23 PM Revision aceee71c (git): Avoid a hash allocation when calling def f(kw: 1) with keyword splat
- c20e819e8b04e84a4103ca9a036022543459c213 made calling a method
that accepts specific keywords but not a keyword splat with a keyword
splat allocating a hash when it previously did not.
Instead of duplicating the hash and removing hash e... -
03:09 PM Revision a83703af (git): Skip warnings for duplicate keys
-
02:52 PM Revision 91bf7eb2 (git): Refactor frozen_string_literal check during compilation
- In preparation for https://bugs.ruby-lang.org/issues/20205.
The `frozen_string_literal` compilation option will no longer
be a boolean but a tri-state: `on/off/default`. -
01:47 PM Revision b4f3f3c1 (git): [PRISM] Fix up source file when not frozen
-
01:42 PM Revision 043c90e1 (git): Fix compiling shareable constant nodes
-
01:31 PM Revision f2e96d4b (git): [ruby/prism] Add PM_STRING_FLAGS_FROZEN / PM_STRING_FLAGS_MUTABLE on PM_SOURCE_FILE_NODE
- For all intent and purposes, `__FILE__` is a string literal subject
to the `# frozen_string_literal: true/false` comment and to the
global `--enable-frozen-string-literal / --disable-frozen-string-literal`
CLI flags.
https://github.com/... - 01:23 PM Revision ec4333c9 (git): [DOC] exceptions.rdoc : Add heads up about ensure not returning implicitly
- There is a weird gotcha I already forgot twice.... and regret not to have found in doc.
See https://dev.to/okuramasafumi/be-sure-ensure-doesn-t-return-value-implicitly-8gp -
01:21 PM Revision 077ac25e (git): Iterate the documentation of Module.const_missing
-
01:21 PM Revision 9284fe12 (git): Remove unnecessary else branch
- This matches the existing style in the rest of the file.
-
01:21 PM Revision a26e3bf3 (git): Minor edits to variable.c
-
01:21 PM Revision 0dbe3af4 (git): Fix the signature of Module#name in the API docs
-
01:14 PM Revision 40ecad0a (git): [Universal parser] Fix -Wsuggest-attribute=format warnings
- Under a configuration including `cppflags=-DUNIVERSAL_PARSER`, warnings listed below show in build time:
```
node.c:396:30: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
... -
12:54 PM Revision 1d91a1ad (git): Cover all warning categories by using `Warning.categories`
-
12:54 PM Revision 03e7b266 (git): Test deprecation warning with `$;`
-
12:46 PM Feature #20331: Should parser warn hash duplication and when clause?
- > Subtle cases like { 1.0 => a, 1.00 => b } and { "\x00" => a, "\0" => b } were also discussed, and some committers wants to keep the warning for the cases, but Matz said no need to warn such cases.
Oh I see, I didn't understand that ... -
05:53 AM Feature #20331: Should parser warn hash duplication and when clause?
- > But we don't want to remove the warnings, so the compiler will need to warn for those cases?
At the dev meeting, Matz said that the compiler doesn't need to warn those cases. He said that just remove the warning except literally con... -
12:31 PM Revision c0b8dee9 (git): [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`
- This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
for dstring literal:
```ruby
"foo
#{bar}"
```
## Parser gem (Expected)
```console
$ bundle exec ruby -Ilib -rparser/ruby33 -ve \
'buf... -
12:31 PM Revision c45ad17f (git): [ruby/prism] Shareable constant nodes
- https://github.com/ruby/prism/commit/473cfed6d0
-
06:44 AM Revision 59785680 (git): Remove unused macro GC_NOTIFY in gc.c
-
06:36 AM Revision 99024a16 (git): Use tag version of minitest-5.22.3
-
05:12 AM Revision 82372753 (git): Deprecate `--dryrun` options in favor of `--dry-run`
-
05:11 AM Revision eceb36c7 (git): downloader.rb: Add `--help` option
-
04:55 AM Revision f0826057 (git): outdate-bundled-gems.rb: Add `--help` option
-
04:34 AM Revision a1ced606 (git): [ruby/stringio] NULL StringIO by `StringIO.new(nil)`
- https://github.com/ruby/stringio/commit/779f71359d
-
02:46 AM Feature #20300: Hash: set value and get pre-existing value in one call
- I'm neutral to this particular method (could be handy). If thread safety is in mind perhaps atomic compare-and-exchange could be better than just exchange, though.
-
01:49 AM Feature #20300: Hash: set value and get pre-existing value in one call
- nobu (Nobuyoshi Nakada) wrote in #note-17:
> I want `ENV.exchange_value` rather than `Hash#exchange_value`.
Is there a reason to put it on `ENV`, but *not* on `Hash`? That seems like a needless restriction to me. -
01:59 AM Revision 1e7c0fcc (git): [PRISM] Fix float in case dispatch
-
01:34 AM Bug #20301: `Set#add?` does two hash look-ups
- shyouhei (Shyouhei Urabe) wrote in #note-8:
> Why not:
Because I didn't think of that :)
I would be okay with it, but I think the thread safety issue is also worth solving. The implementation I'm proposing solves both the performa... -
12:10 AM Bug #20301: `Set#add?` does two hash look-ups
- Yes. `add(o) unless include?(o)` isn't thread safe already. My implementation just doesn't care to improve that.
-
12:37 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- On dev meeting, matz concluded that, but I also think a null-loop bug must be fixed.
However, there are still remaining issues:
- I'm not sure "what the correct behavior of capture-aware null-loop detection".
(I also am not sure... -
12:27 AM Revision 3fcab3cd (git): [ruby/rdoc] Use readline history when ri is interactive
- https://github.com/ruby/rdoc/commit/d0074a23cc
- 12:10 AM Revision 193ebc3c (git): [ruby/rdoc] test: Add tests for RDoc::TokenStream#add_tokens, add_token ,collect_tokens and pop_token
- https://github.com/ruby/rdoc/commit/9ed530b8f9
03/14/2024
-
11:11 PM Revision c3887849 (git): Fix array allocation optimization for f(*a, kw: 1)
- This was broken during the refactoring in 22e488464a412afa58f201c49e54773aa8011320.
-
10:36 PM Feature #20309: Bundled gems for Ruby 3.5
- >At least it seems useful to have some data and extra details on it (the last paragraph).
I see. Thanks for your investigation.
To be precise, there wasn't time to talk about wrapper files. We only discuss about https://bugs.ruby-l... -
02:58 PM Feature #20309: Bundled gems for Ruby 3.5
- OK, thank you. I wanted to make sure my concern on that is clear.
At least it seems useful to have some data and extra details on it (the last paragraph). -
10:55 AM Feature #20309: Bundled gems for Ruby 3.5
- >What about yaml and readline?
There is no conclusion yet. I understood your concern. Do not rush this. -
10:41 AM Feature #20309: Bundled gems for Ruby 3.5
- @hsbt What about [yaml](https://github.com/ruby/yaml/blob/master/lib/yaml.rb) and [readline](https://github.com/ruby/readline/blob/master/lib/readline.rb)?
I think these are not worth moving to bundled gems, i.e. the gains are (AFAIK) v... -
09:44 AM Feature #20309: Bundled gems for Ruby 3.5
- Thanks @Eregon and @jeremyevans0 .
I mostly agreed your comments. And I discussed this at DevMeeting 2024/03/14.
* No one against about `ostruct`. I will do that.
* We should consider to run `irb` without `gem "irb"` of Gemfile un... -
08:44 PM Revision ed2f6852 (git): Update to ruby/spec@89175b2
-
08:44 PM Revision 1d9f9914 (git): Update to ruby/mspec@b8f8f4e
-
07:39 PM Bug #20340 (Closed): Ractor comments not applying to constant targets
- In this example:
```ruby
C, = { foo: bar }
```
You get:
```
== disasm: #<ISeq:<main>@test.rb:1 (1,0)-(1,17)>
0000 putobject :foo ( 1)[Li]
0002 putself
0003 opt_send_witho... -
07:33 PM Bug #20339: Parser segfault with ractor comment
- Sorry, this is actually even simpler:
```ruby
# shareable_constant_value: literal
C = { bar => baz }
``` -
07:32 PM Bug #20339 (Closed): Parser segfault with ractor comment
- ```ruby
foo(
# shareable_constant_value: literal
(C = { bar => baz })
)
``` -
07:19 PM Misc #20028: I'd like my commit bit back
- (I'd like to get started triaging ruby/rdoc issues and PRs ASAP... too much bitrot)
-
07:18 PM Misc #20028: I'd like my commit bit back
- GAH! Took me long enough! https://github.com/ruby/git.ruby-lang.org/pull/79 ❤️
-
05:52 PM Revision c2170e5c (git): Fix typo from gloabl_object_list to global_object_list
-
05:29 PM Revision 4559a161 (git): Move gloabl_object_list from objspace to VM
- This is to be consistent with the mark_object_ary that is in the VM.
-
05:08 PM Revision b0be2961 (git): YJIT: Let yjit_perf.py support perf with Python disabled (#10246)
- * YJIT: Let yjit_perf.py support perf with Python disabled
* Update yjit.md about perf
* Recommend the extra interface by default -
04:56 PM Revision 09d8c99c (git): Ensure test suite is compatible with --frozen-string-literal
- As preparation for https://bugs.ruby-lang.org/issues/20205
making sure the test suite is compatible with frozen string
literals is making things easier. -
04:53 PM Feature #20265 (Closed): Deprecate and remove rb_newobj and rb_newobj_of
- Applied in changeset commit:git|8e1831406ffd385213f67baba0d1fe6d44e9e0ea.
----------
[Feature #20265] Remove rb_newobj and RB_NEWOBJ -
09:42 AM Feature #20265 (Assigned): Deprecate and remove rb_newobj and rb_newobj_of
- Discussed at the dev meeting, and @matz said "go ahead".
-
04:53 PM Revision 4e03d56e (git): [Feature #20265] Update NEWS.md
-
04:53 PM Revision ff51dc56 (git): [Feature #20265] Remove rb_newobj_of and RB_NEWOBJ_OF
-
04:53 PM Revision 8e183140 (git): [Feature #20265] Remove rb_newobj and RB_NEWOBJ
- 04:27 PM Revision bd42c172 (git): Backport #20096 to Ruby 3.3 (#9471)
- Fix memory overread in registry.rb
The terminator is not actually getting filled in; we're simply passing
(two) bytes of empty memory as the NUL terminator. This can lead to
garbage characters getting written to registry values.
Fix th... - 04:27 PM Revision 606dd03e (git): [Bug #20208] Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoi… (#9791)
- Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"
This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440. -
04:26 PM Revision 53f0c5a4 (git): Backport #9498 to Ruby 3.3 (#9805)
- Handle mmap failures for redblack tree cache
The redblack tree cache is totally optional, so if we can't allocate
room for the cache, then just pretend as if the cache is full if mmap
fails
Co-authored-by: Aaron Patterson <tenderlove@r... -
04:26 PM Revision cdcabd8a (git): Backport 3.3: YJIT memory leak fix with additional CI fixes (#9841)
- merge revision(s) 2cc7a56e,b0711b1,db5d9429: [Backport #20209]
YJIT: Avoid leaks by skipping objects with a singleton class
For receiver with a singleton class, there are multiple vectors YJIT can
end up retaini... -
04:20 PM Bug #20150: Memory leak in grapheme clusters
- ruby_3_3 62de3eb5a2e5b1f0f1516dc99241c4c54a1bf691 merged revision(s) b3d612804946e841e47d14e09b6839224a79c1a4.
- 04:09 PM Revision 161545d5 (git): [ruby/reline] Ensure compatibility with frozen string literals
- (https://github.com/ruby/reline/pull/643)
Ref: https://bugs.ruby-lang.org/issues/20205
Ruby is moving forward with enabling frozen string literals
in the future.
Reline being part of the ruby-core test suite should work when
ruby is r... - 03:41 PM Revision d10afe03 (git): [ruby/irb] Rescue from exceptions raised by #name
- (https://github.com/ruby/irb/pull/899)
* Rescue from exceptions raised by #name
Irb might terminate if the class overwrites `name` and raise errors. This commit rescue irb from termination.
* fix for other unknown patterns
https://gi... -
03:40 PM Revision 3822ca98 (git): [ruby/irb] Add disable_irb command to disable debug of binding.irb
- (https://github.com/ruby/irb/pull/898)
* Add disable_irb command to disable debug of binding.irb
* disable_irb doesn't override Kernel.exit
Kernel.exit call is removed because disable_irb does not override Kernel.exit
and workaround t... -
03:15 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- Right, Range is problematic, and only Range with positive indices seems an weird restriction so I think better no Range.
`Thread.each_caller_location(1, 20)` I think there are basically no use cases for this, so I wouldn't add it to k... -
03:08 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- > I think omitting the first N frames is useful.
Agreed, that's the only one I want. The reason I started the issue by asking for the same parameters is purely consistency.
Now, if there are valid reasons not to support some (like ... -
02:53 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- Ah I mistyped, `caller_locations(20)` is of course just setting start, `caller_locations(0, 20)` has no problem, I'll edit my post on Redmine to use the Range form, which is a problem.
-
02:52 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- I think omitting the first N frames is useful.
However I see little reason to have a `length` or `Range`, one can just `break/return` out of the `Thread.each_caller_location`, and it seems pretty rare to need that.
So I think it's best t... -
02:43 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- Seems fine to me. Looking at the code, I don't think it would be difficult to implement.
-
09:32 AM Feature #20335 (Closed): `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- `Thread.each_caller_location` was added to Ruby 3.2 as part of [Feature #16663] and is a very useful API for emitting warnings with a proper source location and similar use cases.
However in many of the cases where I used it, or seen ... -
03:11 PM Misc #20336: DevMeeting-2024-04-17
- * [Feature #20300] Hash: set value and get pre-existing value in one call (eregon)
* It seems generally useful (see latest comments there).
* It is necessary for #20301 (as long as Set is implemented in Ruby, and I think it should).
-
10:17 AM Misc #20336 (Closed): DevMeeting-2024-04-17
- # The next dev meeting
**Date: 2024/04/17 13:00-17:00** (JST)
Log: *TBD*
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bug tracker.
- Dev meeting is a place we can ask Matz, nobu, nurse and o... -
03:06 PM Feature #20300: Hash: set value and get pre-existing value in one call
- nobu (Nobuyoshi Nakada) wrote in #note-17:
> I want `ENV.exchange_value` rather than `Hash#exchange_value`.
Agreed it's a generally useful thing (e.g. to swap an env var and later restore it).
So I think we should add it for both Hash a... -
03:05 PM Feature #20300: Hash: set value and get pre-existing value in one call
- That implementation is incorrect (i.e. less correct than current implementation), and `Hash#exchange_value` is needed to be thread-safe for Set, see https://bugs.ruby-lang.org/issues/20301.
-
10:12 AM Feature #20300: Hash: set value and get pre-existing value in one call
- Discussed at developers meeting. @shyouhei pointed out that `Set#add?` could be improved with a single lookup by looking at the change in size, without this proposal.
https://bugs.ruby-lang.org/issues/20301#note-8
@matz said that w... -
05:22 AM Feature #20300: Hash: set value and get pre-existing value in one call
- I want `ENV.exchange_value` rather than `Hash#exchange_value`.
-
03:04 PM Bug #20301: `Set#add?` does two hash look-ups
- That implementation using `size` is not thread-safe, even on CRuby AFAIK.
For example, if T2 calls `add?` with a new element while T1 calls `add?` with an existing element.
If T1 is just before `m = size` when T2 executes `add(o)`, the... -
07:15 AM Bug #20301: `Set#add?` does two hash look-ups
- nobu (Nobuyoshi Nakada) wrote in #note-9:
> shyouhei (Shyouhei Urabe) wrote in #note-8:
> ...
My bad. Thank you for correction. -
06:41 AM Bug #20301: `Set#add?` does two hash look-ups
- shyouhei (Shyouhei Urabe) wrote in #note-8:
> ```ruby
> ...
The return value is inverse.
-
05:44 AM Bug #20301: `Set#add?` does two hash look-ups
- Why not:
```ruby
def add?(o)
n = size
add(o)
m = size
return n == m ? self : nil
end
```
This implementation involves only one hash lookup.
-
02:40 PM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- What is the decision, to return 0 in both cases (like TruffleRegex behaves), and fix the behavior in Onigmo?
As @jirkamarsik explained above, that is the correct and intended behavior for the null loop optimization, which like any opt... -
09:42 AM Bug #20225: Inconsistent behavior of regex matching for a regex has a null loop
- This was discussed at the February dev meeting and @matz said "give it a try." @make_now_just Can you proceed it?
- 02:18 PM Revision fafe5db7 (git): merge revision(s) b3d612804946e841e47d14e09b6839224a79c1a4: [Backport #20150] (#10253)
- Fix memory leak in grapheme clusters
[Bug #20150]
String#grapheme_cluters and String#each_grapheme_cluster leaks memory
because if the string is not UTF-8, then the created regex will not
be freed.
... -
02:15 PM Bug #20338: certain **kwsplat calls have regressed allocations over past few ruby releases
- Ah nope never mind, that PR is about methods called with a kwarg splat, which your example is not doing.
-
02:12 PM Bug #20338: certain **kwsplat calls have regressed allocations over past few ruby releases
- I haven’t looked at this at all myself, but it tingled my “this is familiar” sense. Is this the same problem as https://github.com/ruby/ruby/pull/10151 ?
-
02:05 PM Bug #20338 (Closed): certain **kwsplat calls have regressed allocations over past few ruby releases
- Given this script:
```
class Foo
def initialize(**kwargs)
end
end
class Bar
def initialize(y:)
end
end
b = GC.stat[:total_allocated_objects]
1000.times {
Foo.new(y:1)
}
p GC.stat[:total_allocated_objects]-b
... -
01:12 PM Feature #20331: Should parser warn hash duplication and when clause?
- Thank you for the response Matz. I just want to clarify what you're asking for the implementation to be, based on what you're saying (let me know if I misunderstand).
> parser should warn only minimal and apparent cases, no base conve... -
08:07 AM Feature #20331: Should parser warn hash duplication and when clause?
- 1. parser should warn only minimal and apparent cases, no base conversion, no bignum allocation. Handling `_` in the number literals is on the border.
2. I don't want to add complicated checks since prism may be used for small devices t... -
01:50 AM Feature #20331: Should parser warn hash duplication and when clause?
- I understand this ticket as "should the parser be responsible for parse integer values" (because if you have the integer values, these warnings are trivial to implement). I think the parser should absolutely be responsible for parsing in...
-
01:08 PM Bug #20334: Time.to_i truncates a fractional timestamp instead of rounding up
- Bit vague to say in the docs that `to_i` and `to_f` "may return a value that rounds or truncates". Why not just say it truncates? Regardless, I can live with it :)
-
01:37 AM Bug #20334 (Feedback): Time.to_i truncates a fractional timestamp instead of rounding up
- It is the intended behavior.
http://ruby-doc.com/3.2.2/Time.html#class-Time-label-Epoch+Seconds
> Other retrieval methods such as `Time#to_i` and `Time#to_f`
> ...
-
12:26 AM Bug #20334 (Feedback): Time.to_i truncates a fractional timestamp instead of rounding up
- Simple steps that can be executed in a ruby interactive shell
```
irb(main):007> t = Time.now
=> 2024-03-14 00:23:55.983885525 +0000
irb(main):008> t.to_f
=> 1710375835.9838855
irb(main):009> t.to_i
=> 1710375835
```
Based o... -
01:03 PM Bug #20090: Anonymous arguments are now syntax errors in unambiguous cases
- ruby_3_3 2a84aaf4a8c8d6d6bbb09416711922532b0033fe merged revision(s) 596db9c1f486d6609a4e97d82c8c71b54609fb6f.
-
01:02 PM Bug #20198: Threaded DNS resolver does not propagate errno to the calling thread
- ruby_3_3 a889304fed63c3206f27d614ab75219271fb4ca9 merged revision(s) 6c0e58a54e3fda604386d9c409e2a9998bbc9352.
-
01:02 PM Bug #20161: Memory leak in regexp grapheme clusters
- ruby_3_3 577f9c7a8334bb33512f01e7db95f6fb15e280b2 merged revision(s) 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b.
-
12:33 PM Feature #20306 (Closed): Add rb_free_at_exit_p
- Applied in changeset commit:git|83618f2cfa004accdd1514de7dcbba291aa7e831.
----------
[Feature #20306] Implement ruby_free_at_exit_p
ruby_free_at_exit_p is a way for extensions to determine whether they
should free all memory at shutdown. -
09:43 AM Feature #20306 (Assigned): Add rb_free_at_exit_p
- Discussed at the dev meeting, and @matz said "go ahead".
-
12:33 PM Revision 83618f2c (git): [Feature #20306] Implement ruby_free_at_exit_p
- ruby_free_at_exit_p is a way for extensions to determine whether they
should free all memory at shutdown. -
12:06 PM Misc #20320: Using OSU Open Source Lab native ppc64le/s390x CI services trigged on pull-requests
- > I opened the following issue ticket to request adding Ubuntu jammy container images. In my understanding, maybe we need the container images to run our tests on the environment.
> ...
What I said above was my mistake. According to the... -
11:25 AM Bug #20337: Complex#inspect mutates the string returned by `real.inspect`
- Same for Complex#to_s.
-
11:23 AM Bug #20337 (Closed): Complex#inspect mutates the string returned by `real.inspect`
- ```
irb(main):001:0> n = Numeric.new
=> #<Numeric:0x00007f81b2308578>
irb(main):004:0> class Numeric; def inspect = super.freeze; end
=> :inspect
irb(main):006:0> Complex(n, 1).inspect
(irb):6:in `inspect': can't modify frozen Stri... -
10:47 AM Bug #20333: segfault while running my tests
- Thanks @shyouhei that seems to be it
-
10:38 AM Feature #13557 (Closed): there's no way to pass backtrace locations as a massaged backtrace
- Applied in changeset commit:git|315bde5a0f95562f58405a43456ec6715ef20d32.
----------
`Exception#set_backtrace` accept arrays of `Backtrace::Location`
[Feature #13557]
Setting the backtrace with an array of strings is lossy. The result... -
10:38 AM Revision 315bde5a (git): `Exception#set_backtrace` accept arrays of `Backtrace::Location`
- [Feature #13557]
Setting the backtrace with an array of strings is lossy. The resulting
exception will return nil on `#backtrace_locations`.
By accepting an array of `Backtrace::Location` instance, we can rebuild
a `Backtrace` instance... -
10:17 AM Misc #20281 (Closed): DevMeeting-2024-03-14
-
10:08 AM Feature #4247 (Rejected): New features for Array#sample, Array#choice
- We discussed this at the dev meeting. No one remembered the discussion from over 10 years ago, so we discussed it anew and concluded that this was a no-go.
A naive API design could be `ary.sample(k, weights: [Float])`, but this would ... - 09:55 AM Revision 2a84aaf4 (git): Fix test session reuse but expire (#9824) (#10250)
- merge revision(s) 596db9c1f486d6609a4e97d82c8c71b54609fb6f: [Backport #20090]
[Feature #19370] Blocks without anonymous parameters should not
affect
---
parse.y | 4 ++--
test/... -
09:45 AM Feature #20261: Add symbol synonyms for '' and nil for IO method line separator arguments
- Discussed at the dev meeting, and @matz (Yukihiro Matsumoto) said he wants to take time to consider it. No conclusion is reached.
-
09:44 AM Bug #20310: ASAN fake stacks need to be marked during GC for non-current execution context
- Discussed at the dev meeting, and @ko1 said the PR looks good to him.
- 09:42 AM Revision a889304f (git): merge revision(s) 6c0e58a54e3fda604386d9c409e2a9998bbc9352: [Backport #20198] (#10252)
- Make sure the correct error is raised for EAI_SYSTEM resolver fail
In case of EAI_SYSTEM, getaddrinfo is supposed to set more detail in
errno; however, because we call getaddrinfo on a thread now, and errno
is th... -
09:40 AM Bug #20203: `TestEnumerable` test failures with GCC 14
- This was discussed at the February dev meeting and @matz said "give it a try." @alanwu Can you please discuss with @ko1 and proceed it?
-
09:39 AM Feature #20244 (Closed): Show the conflicting another chdir block
- Applied in changeset commit:git|8fe86feecdcd0318c9ec88c10d2698beb9878bee.
----------
[Feature #20244] Extract `chdir_lock` and its stuffs -
09:38 AM Revision 72d04bb0 (git): Disable to run appveyor anymore
- [Feature #19982]
-
09:38 AM Revision 8c4b5ac5 (git): Skip AppVeyor and GitHub if only other CI files are changed
-
09:33 AM Revision 5326337d (git): [Feature #20244] Issue a single `Warning.warn` call
- Make the entire series of message lines a multiline string so that the
`Warning.warn` hook can receive them in a single call. -
09:33 AM Revision 67fe0478 (git): [Feature #20244] Register global variable for another thread
- Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
-
09:33 AM Revision 4bb8f858 (git): [Feature #20244] Show the conflicting another chdir block
-
09:33 AM Revision 8fe86fee (git): [Feature #20244] Extract `chdir_lock` and its stuffs
-
09:26 AM Feature #20293 (Closed): Add `Warning.categories` method that returns the warning category names
- Applied in changeset commit:git|1ad366134ded1667745dd9fa70919051869f8d6c.
----------
[Feature #20293] Add `Warning.categories` -
08:58 AM Feature #20293: Add `Warning.categories` method that returns the warning category names
- https://github.com/ruby/ruby/pull/10069
-
09:04 AM Feature #20202 (Rejected): Memoized endless method definitions
- I don't accept this proposal for several reasons:
* I don't see significant use-case
* method set for a class should be stable for consistency/understandability
* fragile method set could be bad for object shape and method caching
... -
08:57 AM Feature #20080 (Feedback): Introduce #bounds method on Range
-
08:56 AM Revision 1ad36613 (git): [Feature #20293] Add `Warning.categories`
-
08:49 AM Bug #20307 (Closed): `Hash#update` from compare_by_identity hash can have unfrozen string keys
- Applied in changeset commit:git|f36a71e26995b69ff72bc132bbcf40ad89571414.
----------
[Bug #20307] Fix `Hash#update` to make frozen copy of string keys -
08:49 AM Revision f36a71e2 (git): [Bug #20307] Fix `Hash#update` to make frozen copy of string keys
-
08:49 AM Revision cd774f4a (git): Extract `RHASH_STRING_KEY_P`
-
08:49 AM Revision c1279a3d (git): Extract `RHASH_IDENTHASH_P`
-
08:41 AM Revision fdf1fa5f (git): Revert "Warn ostruct for Ruby 3.5"
- This reverts commit 1acbdc76d6ee73bc2a4d490f8809bd128abafc1f.
I need to remove ostruct from Rake or fix bundler example.
https://github.com/ruby/ruby/actions/runs/8277371220/job/22647605911#step:11:3428 -
08:27 AM Bug #20224: Backport https://github.com/ruby/ruby/pull/9634 to Ruby 3.3
- Backported to 3.3 by f8f0d342e48a38caac6d32b438c145bb581a51e6
-
08:07 AM Revision 1acbdc76 (git): Warn ostruct for Ruby 3.5
- 07:53 AM Revision 577f9c7a (git): Backport 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b (#10248)
- merge revision(s) 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b: [Backport #--ticket=20161]
Fix memory leak in regexp grapheme clusters
[Bug #20161]
The cc->mbuf gets overwritten, so we need to free it to not leak m... - 07:28 AM Revision d5e9942a (git): Update bundled gems list at 04fc9f87be8dd352e7d892b0d6b085 [ci skip]
-
07:27 AM Revision 04fc9f87 (git): Use released version of bigdecimal
-
06:39 AM Bug #19231: Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block
- https://github.com/nobu/ruby/tree/arith_seq-infinite-end
-
05:35 AM Bug #19231: Integer#step and Float::INFINITY - inconsistent behaviour when called with and without a block
- Weird a little.
```ruby
seq = 0.step(Float::INFINITY, 10)
p seq.class #=> Enumerator::ArithmeticSequence
p seq.first #=> 0
p seq.first(1) #=> [0.0]
```
-
06:12 AM Revision 1cffaf1c (git): minitest-5.22.3 tag is not available yet
-
06:11 AM Feature #15554: warn/error passing a block to a method which never use a block
- Matz accepted to try it with `-w` (WOW!) so I'll make a patch.
- 05:22 AM Revision cc141b61 (git): Update bundled gems list at 07b40044ada7f98f67b3807dddeda7 [ci skip]
-
05:21 AM Revision 07b40044 (git): Use released version of minitest
-
04:30 AM Revision 578f96af (git): [ruby/stringio] [DOC] Package rdoc files
- https://github.com/ruby/stringio/commit/8522c90e4b
-
04:30 AM Revision c913f334 (git): [ruby/stringio] [DOC] Add missing documents
- https://github.com/ruby/stringio/commit/9cc1dfa19c
-
04:30 AM Revision 35706c60 (git): [ruby/stringio] [DOC] Add rdoc task
- https://github.com/ruby/stringio/commit/5dd52d4aec
-
04:19 AM Revision b01d319e (git): [ruby/fcntl] [DOC] Package files for RDoc
- https://github.com/ruby/fcntl/commit/b946e505f1
-
04:01 AM Revision e394f553 (git): [ruby/fcntl] [DOC] Package document files
- https://github.com/ruby/fcntl/commit/ed2d725505
-
03:49 AM Revision 4ae67b1a (git): [ruby/fcntl] [DOC] Add missing documents
- https://github.com/ruby/fcntl/commit/a201ed6682
-
03:49 AM Revision 085daf48 (git): [ruby/fcntl] [DOC] Add task and files for RDoc
- https://github.com/ruby/fcntl/commit/1c7c70fa5d
-
03:49 AM Revision 5fe1853e (git): [ruby/fcntl] Reduce duplicate `O_ACCMODE` definitions
- https://github.com/ruby/fcntl/commit/6a6442a7f8
-
03:49 AM Revision d49b4156 (git): [ruby/fcntl] [DOC] Remove redundant directives
- https://github.com/ruby/fcntl/commit/a99909a90f
-
01:37 AM Bug #20319: Singleton class is being frozen lazily in some cases
- I looked into this and the current behavior is deliberate, as there is a comment stating `should not propagate to meta-meta-class` (see `rb_freeze_singleton_class` definition in `class.c`). See related commit commit:d9a597408f0f192ff25ab...
03/13/2024
-
11:01 PM Revision 00c32f60 (git): [PRISM] Do not send numbered parameters into eval
-
11:01 PM Revision 2f8cbd64 (git): [PRISM] Handle ambiguous_param0 for it and numbered parameters
-
11:01 PM Revision 7c9e6eab (git): Handle nth ref too big
-
06:50 PM Revision 42bfbe9a (git): Remove unused size_pool_edge_names
-
06:50 PM Revision 76f9cfd0 (git): [DOC] Array doc (#10199)
-
06:35 PM Revision 2cfcebb2 (git): [ruby/prism] Warn for maximum number variables
- https://github.com/ruby/prism/commit/2cdbf81c95
-
06:25 PM Revision f0b5d0ad (git): [PRISM] Turn on more tests
-
06:24 PM Revision fa009e39 (git): [PRISM] Static literal strings should be fstrings
-
06:13 PM Revision e6a1baad (git): [PRISM] Fix compiling duplicated keywords
-
05:35 PM Revision a5ac27e9 (git): [ruby/prism] Turn on heredocs nested test for `Prism::Translation::Parser`
- This PR enables the heredocs_nested.txt that was previously skipped testing.
https://github.com/ruby/prism/commit/9c54f7f10b -
05:00 PM Revision c17f33aa (git): [ruby/prism] Only use e suffix for floats if followed by +, -, or digit
- https://github.com/ruby/prism/commit/164de502c9
-
04:51 PM Revision bf17093a (git): [ruby/prism] Fix diagnostic incompatibility for `Prism::Translation::Parser`
- In the case of the `**` and `&` ambiguous prefixes, incompatibilities
remained among https://github.com/ruby/prism/issues/2513.
https://github.com/ruby/prism/commit/3b8b231aae -
04:22 PM Revision 207b0023 (git): YJIT: Fallback cfunc varg splat for ruby2_keywords (#10226)
-
04:19 PM Revision c843afbf (git): Chomp last punctuations from descriptions for `-h`
- The following parts will not be shown for `-h` option. And not to
reach 80 columns. Some terminal emulators (Windows command prompt at
least) wrap the cursor to the next line when reaching the rightmost
column, before exceeding. -
04:06 PM Revision a05dfbd4 (git): [PRISM] Remove ssize_t definition from prism
-
04:06 PM Revision 4dd9602c (git): [ruby/prism] Remove ssize_t usage
- https://github.com/ruby/prism/commit/64c4f1268b
-
04:05 PM Revision 572e7915 (git): [ruby/prism] FSL follow-up
- https://github.com/ruby/prism/commit/097fd2a54f
-
04:03 PM Revision 53a77d9b (git): [ruby/prism] Change `frozen_string_literal` to be a tri-state
- An explicit `false` is not equivalent to the comment being missing,
because the default can be switched with a runtime flag:
```bash
$ ruby --enable-frozen-string-literal -e 'p "foo".frozen?'
true
```
https://github.com/ruby/prism/comm... -
04:02 PM Revision 0f076fa5 (git): [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`
- This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
for empty xstring literal.
## Parser gem (Expected)
```console
$ bundle exec ruby -Ilib -rparser/ruby33 -ve \
'buf = Parser::Source::Buf... - 03:47 PM Revision eb408228 (git): [ruby/openssl] test_provider.rb: Make a legacy provider test optional.
- In some cases such as OpenSSL package in FreeBSD[1], the legacy provider is not
installed intentionally. So, we omit a test depending the legacy provider if the
legacy provider is not loadable.
For the test_openssl_provider_names test, ... - 03:47 PM Revision 17179142 (git): [ruby/openssl] Revert "omit tests related legacy provider"
- This reverts commit https://github.com/ruby/openssl/commit/9b7543d58869.
The case not providing the legacy provider can happen not only in FreeBSD but
also in other platforms. The fix is addressed in the next commit.
https://github.com... - 03:19 PM Revision dd5e625d (git): [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
- This commit fixes the following errors in the tests.
Because the OpenSSL project changed the code to make the time string format
without second invalid. So, we drop the assertions.
```
1) Error: test_generalizedtime(OpenSSL::TestASN1): ... -
02:06 PM Revision 22217e70 (git): [PRISM] Handle parentheses in patterns in prism
-
01:55 PM Revision c6089b56 (git): Don't allow SHAPE_T_OBJECT in rb_shape_alloc_new_child
-
01:55 PM Revision 88373fe2 (git): Update cruby_bindings.inc.rs
-
01:55 PM Revision 3896f994 (git): Make special const and too complex shapes before T_OBJECT shapes
-
01:55 PM Revision 6b0434c0 (git): Don't create per size pool shapes for non-T_OBJECT
-
01:55 PM Revision 6ad347a1 (git): Don't directly read the SIZE_POOL_COUNT in shapes
- This removes the assumption about SIZE_POOL_COUNT for shapes.
-
01:52 PM Revision d1eaa97e (git): [ruby/prism] Track parentheses in patterns
- https://github.com/ruby/prism/commit/62db99f156
-
01:20 PM Revision 3f8ef7ff (git): [ruby/stringio] Define `StringIO::MAX_LENGTH`
- https://github.com/ruby/stringio/commit/0205bd1c86
-
01:05 PM Revision 2fc551e3 (git): Simplify NEWOBJ_OF macro
-
12:38 PM Revision 5fa28ce0 (git): [ruby/prism] Warn `&` interpreted as argument prefix
- This PR makes `Prism` warn `&` interpreted as argument prefix.
This carries a similar meaning to the following Ruby warning:
```console
$ ruby -cwe "foo &bar"
-e:1: warning: `&' interpreted as argument prefix
Syntax OK
```
Previously, ... -
12:38 PM Revision 824e3e6c (git): [ruby/prism] Warn `**` interpreted as argument prefix
- This PR makes Prism warn `**` interpreted as argument prefix.
This carries a similar meaning to the following Ruby warning:
```console
$ ruby -cwe "foo **bar"
-e:1: warning: `**' interpreted as argument prefix
Syntax OK
```
Previously,... -
11:34 AM Revision 7eea268b (git): [ruby/prism] Fix an AST incompatibility for `Prism::Translation::Parser`
- Fixes ruby/prism#2480.
This PR fixes an AST incompatibility between Parser gem and `Prism::Translation::Parser`
for xstring literal with line breaks.
The following case in ruby/prism#2480 has already been addressed in ruby/prism#2576:
... -
11:03 AM Bug #20333 (Third Party's Issue): segfault while running my tests
- Looking at your crash.log, it seems pg_ext is causing the process termination. After googling around it seems a similar issue is reported to the gem: https://github.com/ged/ruby-pg/issues/311 Not sure if this is the exact problem you a...
-
10:41 AM Bug #20333: segfault while running my tests
- Happens when I run `rake` but not `rails test`
Rakefile is
```
require_relative "config/application"
Rails.application.load_tasks
``` -
10:38 AM Bug #20333 (Third Party's Issue): segfault while running my tests
- No sure how to debug it, I had a segfault while running the tests, maybe you will find it useful.
-
10:00 AM Feature #20329: Clean up `--dump` sub-options
- I don't feel particularly strongly about this, but something about have `+-` in the argument feels a little clunky to me.
I understand the desire to not change the existing options like `--dump=insns`, and that we've got ourselves int... -
08:55 AM Feature #20331: Should parser warn hash duplication and when clause?
- > then it's important to show warnings to the user without running the code.
Indeed. But compiling is not running. That said, I see how this would force language servers to have Ruby around, and some may want to implement a Ruby langu... -
08:21 AM Feature #20331: Should parser warn hash duplication and when clause?
- As a language user, I would expect the parser to be able to warn about the keys that are _literally_ same (i.e. same parser nodes), like `{10.2r => :a, ... 10.2r => :b}` or (obviously more frequently) `{a: 1, .... a: 2}`, but I wouldn't ...
-
12:55 AM Feature #20331: Should parser warn hash duplication and when clause?
- I think it's important for the parser to expose these warnings. If someone uses the parser / AST for building a language server, then it's important to show warnings to the user _without_ running the code.
In general, I think it's imp... -
08:39 AM Bug #20188 (Closed): `Module#const_source_location` returns wrong information when real constant was defined but autoload is still ongoing
- Applied in changeset commit:git|a5c5f83b24a1b7024d4e7fe3bbce091634da53b2.
----------
Make `const_source_location` return the real constant as soon as defined
[Bug #20188]
Ref: https://github.com/fxn/zeitwerk/issues/281#issuecomment-18... -
08:39 AM Revision a5c5f83b (git): Make `const_source_location` return the real constant as soon as defined
- [Bug #20188]
Ref: https://github.com/fxn/zeitwerk/issues/281#issuecomment-1893228355
Previously, it would only return the real constant location once the
autoload was fully completed. -
04:46 AM Revision 0b7487b4 (git): [ruby/stringio] Various cleanup for JRuby ext
- (https://github.com/ruby/stringio/pull/85)
* Fix compile warnings on latest Java.
* Adjust one test for JRuby erroring on bad pos= value.
* Replace hard JVM synchronization with a spin lock.
* Avoid duplicate reads of state fields where... - 03:38 AM Revision 8c81a6bd (git): Bump actions/checkout in /.github/actions/setup/directories
- 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... -
03:36 AM Revision 7de60d6b (git): Do not fail launchable verify command
- 03:13 AM Revision 5732e83c (git): Bump github/codeql-action from 3.24.6 to 3.24.7
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.6 to 3.24.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md... -
02:28 AM Revision dec2a819 (git): `--dump=prism_parsetree` is no longer provided
- Since it did not make sense without `--parser=prism` option, just a
duplication. Now it is `--parser=prism --dump=parsetree`. -
01:40 AM Revision a6582ac9 (git): [ruby/prism] Allow newline before block locals
- https://github.com/ruby/prism/commit/1d4df7d874
-
01:26 AM Misc #20281: DevMeeting-2024-03-14
- * [Feature #20024] SyntaxError metadata
* Can we add some information to the syntax error about what kind of error produced it?
* What is a good API? (The discussion on the ticket says a symbol for `:type`.)
* [Misc #20238] Use pr... -
01:18 AM Misc #20201 (Rejected): Should `opt_reverse` be renamed?
03/12/2024
-
10:29 PM Revision 248cf0e4 (git): [ruby/prism] Move index tracking into a call node flag
- https://github.com/ruby/prism/commit/2a2e216558
-
10:29 PM Revision e914fa0d (git): [ruby/prism] Add warning for chained comparisons
- https://github.com/ruby/prism/commit/f9f3620d44
-
10:29 PM Revision 157733b1 (git): [ruby/prism] Add whitespace warnings
- https://github.com/ruby/prism/commit/01d137a0cb
-
10:29 PM Revision 5c848505 (git): [ruby/prism] Warnings for incorrect character literal syntax
- https://github.com/ruby/prism/commit/909508296e
-
09:25 PM Feature #20276: Introduce Fiber interfaces for Blocking operations on Ractors
- If I had to take a guess, I'd say it's a bug with waiting on a Ractor while handling signals?
-
05:00 AM Feature #20276: Introduce Fiber interfaces for Blocking operations on Ractors
- On a side note, I may have unintentionally discovered an IRB bug in the process. If you run the above in IRB and use Ctrl-C to exit, IRB hangs and becomes unresponsive.
-
04:58 AM Feature #20276: Introduce Fiber interfaces for Blocking operations on Ractors
- ioquatix (Samuel Williams) wrote in #note-4:
> I support this proposal.
> ...
Tested on locally and it seems to work, at least with Async. Here's my code.
```ruby
Async do |task|
1.upto(3) do
r = Ractor.new do
Ractor.r... -
08:44 PM Revision 22708be0 (git): Revisions for #10198
- This fixes some inconsistencies introduced by that PR.
-
07:14 PM Revision 19da3b4e (git): Revisions for help text (#10198)
-
06:06 PM Revision 97b5f35a (git): Do not fail CI when Launchable fails
- It seems to randomly fail:
```
+ launchable verify
Organization: 'ruby'
Workspace: 'ruby'
Proxy: None
Platform: 'macOS-12.7.3-x86_64-i386-64bit'
Python version: '3.12.2'
Java command: 'java'
launchable version: '1.83.0'
Authentication f... -
06:06 PM Bug #20332 (Feedback): After upgrading to ruby v 3.2.3 rb_scan_args() skips argument value
Hi,
Note: I am not an expert at ruby.
I am working on ibm_db gem, its an adapter developed using ruby C extension, which helps ruby & rails applications to connect to DB2 database.
Here is a github link for its source https://...-
06:02 PM Revision c3915a07 (git): Skip a flaky GC.compact test for YJIT
- This test has failed without YJIT too:
https://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240301T063003Z.fail.html.gz
However, it somehow fails more often on "YJIT Ubuntu / check RUSTC='rustc +1.58.0'" job.
Nobody is actively l... -
06:02 PM Revision a9eb0400 (git): Check what actually needs to be checked
- RubyVM::YJIT is conditionally defined, depending on --enable-yjit.
However, RubyVM::YJIT.enabled? is always defined as long as RubyVM::YJIT
is defined, so it seems weird to check RubyVM::YJIT.enabled? instead of
RubyVM::YJIT. -
05:38 PM Feature #20298: Introduce `Time()` type-cast / constructor.
- To give some outside perspective, Rust often uses `from` to convert from a type to another. This could be one option for us
```rb
Time.from(whatever)
``` -
05:34 PM Feature #20318: Pattern matching `case ... in` support for triple-dot arguments
- @mame I understand the example is contrived, but even the core library does different things with different arguments. Let's take [`Random.rand`](https://docs.ruby-lang.org/en/3.3/Random.html#method-c-rand) as an example:
```rb
Random.r... -
03:29 AM Feature #20318: Pattern matching `case ... in` support for triple-dot arguments
- I strongly feel "bad smell" for this proposal.
In principle, one method should do one thing.
But this syntax introduces a completly different branching depending on the arguments, which could encourage a weird method behavior.
In fa... -
05:34 PM Revision 5d71880d (git): Embed manifest with VS2013 or later
- Since VS2013, `link.exe` supports `-manifest:embed` option.
[`/MANIFEST` (Create side-by-side assembly manifest)](https://learn.microsoft.com/en-us/cpp/build/reference/manifest-create-side-by-side-assembly-manifest?view=msvc-170&viewFall... -
05:33 PM Revision f8cab4ef (git): [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`
- In practice, the `BACKTICK` is mapped either as `:tXSTRING_BEG` or `:tBACK_REF2`.
The former is used in xstrings like `` `foo` ``, while the latter is utilized as
a back reference in contexts like `` A::` ``.
This PR will make correction... -
05:32 PM Revision 83790e5f (git): [ruby/prism] Consolidate warnings for conditional predicates
- * Also add warnings for literals in predicates
* Also create flip-flops in while/until
https://github.com/ruby/prism/commit/a6b5c523c2 -
05:20 PM Revision a17a33b3 (git): [ruby/prism] Follow ruby/prism#2581
- Due to ruby/prism#2581, the test case for non_alphanumeric_methods.txt has also been restored.
It also solved issues with `def self.`' not limited to constants for `tBACK_REF2` token.
```console
$ bundle exec ruby -Ilib -rprism -rprism/... -
03:32 PM Revision 1e886c04 (git): [ruby/prism] Fix some whitequark/parser lexer compatibilities
- https://github.com/ruby/prism/commit/34e521d071
-
03:28 PM Revision 149a4499 (git): Remove unused function in parse.y
- parse.y:2624:1: warning: unused function 'rb_parser_ary_new'
-
03:17 PM Revision c637f53e (git): [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`
- This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for `tBACK_REF2`:
## Parser gem (Expected)
Returns `tBACK_REF2` token:
```console
$ bundle exec ruby -Ilib -rparser/ruby33 -ve \
'buf = Parser::... -
02:48 PM Revision a41649bf (git): [ruby/prism] Follow #2579
- Due to #2579, the test case for range_begin_open_inclusive.txt has also been restored.
https://github.com/ruby/prism/commit/da173526a1 -
02:15 PM Revision 1ed6b7b4 (git): [ruby/prism] Restore some skipped heredoc tests for `Prism::Translation::Parser`
- This PR restores some heredoc tests that have already passed
for `Prism::Translation::Parser`.
https://github.com/ruby/prism/commit/297b9e2380 -
02:15 PM Revision 72a57076 (git): [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`
- This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for
beginless range:
## Parser gem (Expected)
Returns `tBDOT2` token:
```console
$ bundle exec ruby -Ilib -rparser/ruby33 -ve \
'buf = Parser::S... -
02:10 PM Feature #20331: Should parser warn hash duplication and when clause?
- You don't need an entire bignum library, you only need multiplication and addition. Prism has all of these warnings implemented in https://github.com/ruby/ruby/blob/1e7ee871cbf10375ca149a32d71a29e5e60eed6c/prism/util/pm_integer.c. You're...
-
01:20 PM Feature #20331: Should parser warn hash duplication and when clause?
- > Warnings are not shown by ruby -wc.
Couldn't `ruby -c` be made to compile as well? It's marginally slower but would make sense to me. That would remove the main con from solution 2. -
01:15 PM Feature #20331 (Closed): Should parser warn hash duplication and when clause?
- # Background
Right now, parser warns duplicated hash keys (#1) and when clause (#2).
For example,
```ruby
{1 => :a, 1 => :b}
# => warning: key 1 is duplicated and overwritten on line 1
```
```ruby
case 2
when 1, 1
else
... -
01:43 PM Revision 1e7ee871 (git): Disregard si_addr for fatal signals sent from other processes
- Previously, when another process sends a fatal signals such as SIGBUS
to Ruby, we could mis-interpret it as a stack overflow Ruby itself
generated. When the si_pid field is set on the signal, we shouldn't
check the si_addr field to check... -
01:17 PM Misc #20281: DevMeeting-2024-03-14
- * [Feature #20331] Should parser warn hash duplication and when clause?
* What is the best approach to handle hash duplication warnings and when clause duplication warnings. -
11:03 AM Revision ad2aa6d7 (git): Use `assert_crash_report` in `test_crash_report_pipe`
- Instead of using `assert_in_out_err` directly.
-
10:45 AM Revision 2af6bc26 (git): [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`
- Fixes https://github.com/ruby/prism/pull/2515.
This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
for string literal with line breaks.
https://github.com/ruby/prism/commit/c58466e5bf -
10:16 AM Bug #20277 (Closed): Remove stale `String` test conditionals
- Applied in changeset commit:git|76bd586330d98b8a0023ff35c7fa6014ba3a4715.
----------
[Bug #20277] Remove stale `String` test conditionals
These instance variables for conditional execution have remained
unchanged for nearly twenty year... -
05:32 AM Bug #20277: Remove stale `String` test conditionals
- +1
-
09:46 AM Revision 76bd5863 (git): [Bug #20277] Remove stale `String` test conditionals
- These instance variables for conditional execution have remained
unchanged for nearly twenty years, since YARV merger. -
08:33 AM Bug #20299: Tracepoint staying enable after a disable
- Hm. I see. Thanks for the report.
The problem is the following sequence of operations:
* `tp.enable` - This attaches a global event handler to fire the tracepoint for all threads
* `tp.enable { ...` - When the block begins, it set... -
08:17 AM Revision 9a19cfd4 (git): [Universal Parser] Reduce dependence on RArray in parse.y
- - Introduce `rb_parser_ary_t` structure to partly eliminate RArray from parse.y
- In this patch, `parser_params->tokens` and `parser_params->ast->node_buffer->tokens` are now `rb_parser_ary_t *`
- Instead, `ast_node_all_tokens()` int... -
07:54 AM Feature #19742: Introduce `Module#anonymous?`
- A KISS version of the above is to provide `permanent_name?` only, since the other two can be derived with the help of `mod.name.nil?`, and I suspect that there are not a lot of cases in which you need to know if the name is exactly tempo...
-
07:23 AM Feature #13557: there's no way to pass backtrace locations as a massaged backtrace
- @ko1 all the same use cases arrays of strings are currently used for:
E.g. raising an error with an existing backtrace:
```ruby
raise NicerError, "some message", original_error.backtrace_locations
```
Or with some frames skipp... -
04:28 AM Feature #13557: there's no way to pass backtrace locations as a massaged backtrace
- I'm not against but could you summarize usages?
-
07:02 AM Bug #20321: `require': cannot load such file
- > Yes, but the error mentioned above occurs
I don't get it - what are you doing that make this error happen then? -
05:49 AM Revision f42164e0 (git): Define `ssize_t` on mswin build
-
04:43 AM Feature #14066: Add CAA DNS RR on Resolv
- Note: https://github.com/ruby/resolv/pull/48 has been merged for this request.
-
04:30 AM Feature #14066 (Closed): Add CAA DNS RR on Resolv
-
03:30 AM Revision 21ea290b (git): [ruby/prism] Static literals inspect
- https://github.com/ruby/prism/commit/4913d112da
-
03:22 AM Feature #20329: Clean up `--dump` sub-options
- `--dump=insns` will not be changed.
Since `+` is the separator, `insns+-opt` will be same as the current `insns_without_opt`. -
02:00 AM Revision cb4bc4d0 (git): Pass TESTS environment variable
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
-
02:00 AM Revision 4c0c29e2 (git): Expand Launchable into yjit-macos and yjit-ubuntu