Activity
From 03/07/2024 to 03/13/2024
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 <[email protected]>
-
02:00 AM Revision 4c0c29e2 (git): Expand Launchable into yjit-macos and yjit-ubuntu
03/11/2024
-
11:30 PM Revision 2c349cf4 (git): Use NEWOBJ_OF_ec in NEWOBJ_OF_0
-
11:06 PM Feature #20276: Introduce Fiber interfaces for Blocking operations on Ractors
- I support this proposal.
A simple way to deal with this right now might be the following code (I have not tested it):
```ruby
Thread.new do
other_ractor.take
end.value
```
In general, the `block`/`unblock` operations shoul... -
09:56 PM Feature #19742: Introduce `Module#anonymous?`
- Now, the name of classes and modules can be one of three things:
1. `nil`
2. Temporary
3. Permanent
Maybe it would make sense to provide matching predicates, say:
1. `mod.anonymous?`
2. `mod.temporary_name?`
3. `mod.permanen... - 07:46 PM Revision 132df4d1 (git): [ruby/prism] Document `InstanceVariableWriteNode` fields
- (https://github.com/ruby/prism/pull/2161)
* Document InstanceVariableWriteNode fields
* Reference lexing docs in name field documentation
* Update config.yml
---------
https://github.com/ruby/prism/commit/015b3a857e
Co-authored-by:... - 07:45 PM Revision e407e3f4 (git): [ruby/prism] Document `ClassVariableWriteNode` fields
- (https://github.com/ruby/prism/pull/2162)
* Make ClassVariableWriteNode operator_loc non-nullable
* Document ClassVariableWriteNode fields
* Update config.yml
---------
https://github.com/ruby/prism/commit/659b133888
Co-authored-by... -
04:51 PM Revision a6dac9bb (git): [PRISM] Parse stdin on CLI with prism
-
03:12 PM Revision 6242a82c (git): [ruby/prism] Provide more documentation for pm_integer_parse_digit_values
- https://github.com/ruby/prism/commit/c3fcb5031f
-
03:11 PM Revision 2dfa95a2 (git): [ruby/prism] Stop crashing on invalid integers
- https://github.com/ruby/prism/commit/afac2d6646
-
03:04 PM Revision e12bc5c5 (git): Remove dead function rb_obj_rgengc_promoted_p
-
02:49 PM Revision 2ab75bc4 (git): [ruby/prism] Support offset
- https://github.com/ruby/prism/commit/665f533373
-
02:41 PM Revision a295eeba (git): Pass `RUN_OPTS` in YJIT macos test (#10214)
- `RUN_OPTS` environment variable is set but not passed to the test
task, unlike yjit-ubuntu.yml. -
01:37 PM Bug #20319: Singleton class is being frozen lazily in some cases
- > This bug should be fairly simple to fix by having `Kernel#freeze` go up the singleton class chain and freeze all currently instantiated singleton classes.
Yeah, that seems the smaller fix for now and at least it fixes a "should-be-i... -
01:35 PM Bug #20319: Singleton class is being frozen lazily in some cases
- jeremyevans0 (Jeremy Evans) wrote in #note-4:
> I disagree. If you do not freeze the object's singleton class, then you can define or undefine any method in the singleton class, which is almost the same as being able to modify the obje... -
01:30 PM Revision 9f315779 (git): Reuse rb_gc_writebarrier_unprotect in rb_copy_wb_protected_attribute
-
11:46 AM Misc #20320: Using OSU Open Source Lab native ppc64le/s390x CI services trigged on pull-requests
- Let me share the update.
The team at OSU Open Source Lab prepared the infra for us to try the ppc64le/s390x CI services.
We can log the Jenkins CI services by GitHub accounts. Right now only 2 GitHub accounts "ruby" and "junaruga" (m... - 11:00 AM Revision 08961ce8 (git): [ruby/rdoc] Allow rich definition list labels for Markdown
- Previously, any sort of "rich" markup for a definition list's label
would cause the Markdown parser to not recognize a definition list:
```ruby
md = <<~md
`one`
: This is a definition
md
doc = RDoc::Markdown.parse(md)
doc # => [doc:... - 07:26 AM Revision 7a398adc (git): [DOC] security.rdoc: fix YAML security documentation
- Since https://github.com/ruby/ruby/commit/fbb4e3f96c10de2240f2d87eac19cf6f62f65fea
`YAML` does not unmarshal arbitrary ruby objects. -
05:03 AM Revision 5c32b31a (git): Bundle unmerged rbs for testing (#10211)
-
05:00 AM Feature #20329: Clean up `--dump` sub-options
- What will replace `insns`? I don't want to type `insns+opt` every single time. If it stays as is and `insns_without_opt` is changed to `insns-opt` (insns minus opt) or something, I'm good.
-
03:29 AM Revision 2552984a (git): Skip documentation changes
- Many contributors just include the word `documentation` in titles, but
not utilize `[DOC]` tag or `Documentation` label.
03/10/2024
-
04:24 PM Revision d0be77fb (git): Pre-build commands to clean
-
03:46 PM Revision 9f60fd9d (git): Ignore failures on removing ext sub directories
- When multiple libraries exist in a subdirectory under `ext`, `rmdir
-p` may fail, because other directories have not been removed yet or
the parent directory has been removed by other `distclean`. `rmdir`
in GNU coreutils has `--ignore-... -
03:46 PM Revision 51f4f141 (git): Clean up the build directory if `clean` is set to true
-
03:08 PM Revision 22459a8f (git): Clean up dummy files
-
02:23 PM Feature #15554: warn/error passing a block to a method which never use a block
- Eregon (Benoit Daloze) wrote in #note-19:
> It would need to warn by default to address that.
Or you need to use $VERBOSE, or it could be a new category like `Warning[:strict]`. But it only indicates a *possible* problem, not *defini... -
01:18 PM Revision fb00d002 (git): Clean up ext/Setup file
-
01:12 PM Revision 0fb39ab1 (git): Clean intermediate files and debug info for each target
- By replacing `ALLOBJS` suffix with intermediate file suffixes instead
of roughly removing by wildcards. Made `cleanlibs` append `.dSYM`
suffix for each word in `TARGET_SO`, not the end of the entire list. -
12:32 PM Revision 8e3cb69a (git): Report to Launchable at post-run
- Instead of separate two actions, register the post run at setup.
Co-authored-by: Naoto Ono <[email protected]> -
10:25 AM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
- Seems related to shape and jemalloc.
Maybe `parent_index` in `redblack_cache_ancestors` is -1?
cc @tenderlovemaking -
10:12 AM Revision b12343c3 (git): merge revision(s) d2cd903c85f38f42c6aefc6d97a1558f74d8d9db:
- [ruby/openssl] pkey/ec: constify
https://github.com/ruby/openssl/commit/6fb3499a7b
---
ext/openssl/ossl_pkey_ec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
03/09/2024
-
02:08 PM Revision d94ad002 (git): Report non-empty directories [ci skip]
- No longer used or generated files/directories sometimes remain
unremoved. -
10:34 AM Revision 2976d91a (git): Include default gems directories in installed list
-
10:33 AM Bug #20330 (Closed): [BUG] Segmentation fault at 0xffffffffffffffff
- I get a segfault from ruby on fly.io (a platform to run full stack apps).
As you can see from the stacktracke im using a jemalloc version but im getting the same crash with the
ruby:3.3.0-slim docker image. (Thats the docker file: htt... -
10:17 AM Revision e9f77da5 (git): Reorder and move `install?` blocks after method definitions
-
09:45 AM Revision 6bfb6e60 (git): Merged intermediate class `GemInstaller` to `UnpackedInstaller`
-
09:04 AM Revision ced648f9 (git): Shorten too long message at uninstalling
-
05:46 AM Revision a6991021 (git): [ruby/rdoc] [DOC] Improve documentation of include directive file search
- Searching the file in the "current directory" could be read as the
directory from which RDoc is run. This is incorrect, as the file is
first searched in the directory containing the current documented file.
Also this directory is search... - 03:50 AM Revision 5ac6194c (git): [ruby/rdoc] Fix ToRdoc generating incorrect {label,name}-lists
- Previously, trying to round-trip label-list and name-lists with the
ToRdoc converter was not possible:
```ruby
doc = <<~RDOC
foo ::
bar ::
hi
RDOC
markup = RDoc::Markup.parse(doc)
markup # => [doc: [list: NOTE [item: ["foo ", "bar"];...
03/08/2024
-
07:18 PM Revision 35c20cda (git): [ruby/prism] Simplify the regular expression ASCII-only check
- https://github.com/ruby/prism/commit/b7851f4c2d
-
07:18 PM Revision cfcbbbd8 (git): [ruby/prism] Simplify the ASCII-only check in regexp
- https://github.com/ruby/prism/commit/b0935be727
-
07:07 PM Revision dd24d884 (git): [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser`
- Fixes https://github.com/ruby/prism/pull/2512.
This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
for `HEREDOC_END` with a newline.
https://github.com/ruby/prism/commit/b67d1e0c6f -
06:48 PM Revision 609bbad1 (git): [ruby/prism] Fix up regexp memory leaks
- https://github.com/ruby/prism/commit/4dc58a533a
-
06:48 PM Revision a564f30f (git): [ruby/prism] Extract out pm_regexp_token_buffer_t
- https://github.com/ruby/prism/commit/7bbe4224a3
- 06:48 PM Revision 4e1d19c4 (git): [ruby/prism] Add initial implementation of `Regexp` validation.
- https://github.com/ruby/prism/commit/6bf1b8edf0
- 06:48 PM Revision d473256a (git): [ruby/prism] Extract a magic value to a named constant.
- https://github.com/ruby/prism/commit/54d14a35a9
- 06:48 PM Revision 82fb6a90 (git): [ruby/prism] Track both the unescaped bytes and source string for a regular expression so we can accurately set its encoding flags.
- https://github.com/ruby/prism/commit/dc6dd3a926
-
06:04 PM Bug #20321: `require': cannot load such file
- Has been done
-
01:42 PM Bug #20321: `require': cannot load such file
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-10:
> Maybe I’m missing something but it looks like your build worked? I can’t see any error message and the build finishes by installing everything to the right place in /usr/local
Yes... -
01:16 PM Bug #20321: `require': cannot load such file
- Maybe I’m missing something but it looks like your build worked? I can’t see any error message and the build finishes by installing everything to the right place in /usr/local
-
01:06 PM Bug #20321: `require': cannot load such file
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-8:
> I need the output that those commands printed, though.
Get [here](https://dist.justman10000.de/log) -
03:45 PM Bug #20328: optparse omits the option's description in the --help output if the description is an Array
- Correct. The `type` (third position) must be a primitive (or custom type, example: [Versionaire](https://alchemists.io/projects/versionaire#_optionparser)).
Keep in mind -- in your first example above -- you *must* supply a required (... -
02:10 AM Bug #20328: optparse omits the option's description in the --help output if the description is an Array
- Ah ha! I suppose also adding an explicit option type class would help differentiate between option's desired value and the description lines?
```ruby
opts.on('-m', '--multiline-opt', String, 'Line one', 'Line two') do |test|
end... -
12:42 AM Bug #20328: optparse omits the option's description in the --help output if the description is an Array
- The confusion is with the array (third argument) used with your `--multiline-opt` option. If you change it to the following, you'll get the desired result:
``` ruby
opts.on "-m", "--multiline-opt", "Line one", "Line two"
```
The ... -
01:13 PM Revision 2d80b609 (git): Retire RUBY_MARK_UNLESS_NULL
- Marking `Qnil` or `Qfalse` works fine, having
an extra macro to avoid it isn't needed. -
12:33 PM Revision af8a4205 (git): Fix an error for `Prism::Translation::Parser::Lexer`
- This PR fixes the following error for `Prism::Translation::Parser::Lexer` on the main branch:
```console
$ cat example.rb
'a' # aあ
"
#{x}
"
$ bundle exec rubocop
Parser::Source::Range: end_pos must not be less than begin_pos
/Users/koi... - 10:13 AM Revision 4756eaf5 (git): [ruby/rdoc] Fix ToMarkdown missing newlines for label-lists
- Previously, using ToMarkdown on a label-list would generate output that
could not be reparsed by the RDoc::Markdown parser:
```
md = <<~MD
apple
: a red fruit
banana
: a yellow fruit
MD
doc = RDoc::Markdown.parse(md)
doc # => [doc: [l... -
09:46 AM Feature #20329 (Closed): Clean up `--dump` sub-options
- Currently we have 5 options for `--dump` command line option.
* insns
* insns_without_opt
* yydebug(+error-tolerant)
* parsetree(+error-tolerant)
* parsetree_with_comment(+error-tolerant)
Among these, `insns_without_opt` is a v... -
09:23 AM Revision e8f796e9 (git): [ruby/irb] rdoc version lock is required
- (https://github.com/ruby/irb/pull/897)
Some features of irb do not work properly when using the old rdoc.
I have compared several major versions and found that it works as intended from 4.0.0.
This problem occurs when there is a Gemfil... - 03:27 AM Revision 86ce78d7 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.89 to 0.9.90.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.89...v0.9.90)
---
updated-depende... -
02:58 AM Revision 69cfcd46 (git): Remove duplicate dependency line
-
01:15 AM Revision 52a2bc4a (git): Try to run CI with Ubuntu 22.04
03/07/2024
-
11:13 PM Revision 7e118320 (git): [ruby/prism] Fix up test suite
- https://github.com/ruby/prism/commit/2929c35630
-
11:02 PM Revision 811296b4 (git): [PRISM] Use new integer logic
-
11:02 PM Revision f5294ebb (git): [ruby/prism] Shared integer parsing logic
- https://github.com/ruby/prism/commit/a2594a23c1
-
11:02 PM Revision c1462250 (git): [ruby/prism] Style and allocation functions
- https://github.com/ruby/prism/commit/97f838c323
-
11:02 PM Revision 81f02eb6 (git): [ruby/prism] Change pm_integer_t structure
- https://github.com/ruby/prism/commit/588acf823f
-
11:02 PM Revision 5113d6b0 (git): [ruby/prism] Faster pm_integer_parse pm_integer_string using karatsuba algorithm
- https://github.com/ruby/prism/commit/ae4fb6b988
-
11:02 PM Revision 4186609d (git): [ruby/prism] Add bignum parse test
- https://github.com/ruby/prism/commit/503a0ea6cd
-
11:02 PM Revision 05526a44 (git): [ruby/prism] Make pm_integer -> Integer faster
- https://github.com/ruby/prism/commit/47601e7928
-
10:03 PM Bug #20328 (Rejected): optparse omits the option's description in the --help output if the description is an Array
- If you define an option using `OptionParser#on`, but give the option's description as a multi-line Array, then the option's description is omitted from the `--help` output.
## Steps To Reproduce
```ruby
#!/usr/bin/env ruby
requ... -
09:23 PM Revision 977012ba (git): [ruby/prism] Remove restrict to fix windows 2015
- https://github.com/ruby/prism/commit/f0a2ce1c0e
-
08:40 PM Revision ec159fc8 (git): [ruby/prism] Support parsing streams
- https://github.com/ruby/prism/commit/efdc2b7222
-
08:25 PM Revision 76e11595 (git): [ruby/prism] Fix up tilde heredoc line continuations
- https://github.com/ruby/prism/commit/15e74b2f65
-
08:12 PM Feature #20326: Add an `undefined` for use as a default argument.
- zverok (Victor Shepelev) wrote in #note-6:
> Unfortunately, such APIs are sometimes unavoidable, especially in implementing various generic algorithms (and not business logic).
I agree it's unfortunately unavoidable too often, so I r... -
05:38 PM Feature #20326: Add an `undefined` for use as a default argument.
- > Personally, I don't like an API that distinguishes between "nil is passed" and "nothing is passed".
Unfortunately, such APIs are sometimes unavoidable, especially in implementing various generic algorithms (and not business logic).... -
04:50 PM Feature #20326: Add an `undefined` for use as a default argument.
- mame (Yusuke Endoh) wrote in #note-4:
> Personally, I don't like an API that distinguishes between "nil is passed" and "nothing is passed".
I fully agree. As far as options/keywords go, an empty hash should be considered semantically i... -
05:27 AM Feature #20326: Add an `undefined` for use as a default argument.
- Personally, I don't like an API that distinguishes between "nil is passed" and "nothing is passed". I don't think we should introduce any feature to encourage such an API.
When we want to conditionally pass the argument to such an API, ... -
03:59 AM Feature #20326: Add an `undefined` for use as a default argument.
- Any idea/feedback is welcome.
-
03:58 AM Feature #20326 (Feedback): Add an `undefined` for use as a default argument.
-
08:05 PM Bug #20321: `require': cannot load such file
- I need the output that those commands printed, though.
-
08:03 PM Bug #20321: `require': cannot load such file
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-6:
> V=1 make the ruby build system print out all the commands it is running.
> ...
```shell
wget http://ftp.ruby-lang.org/pub/ruby/3.3/ruby-3.3.0.zip
unzip ruby-3.3.0.zip
mv ruby-3.3.... -
07:54 PM Bug #20321: `require': cannot load such file
- V=1 make the ruby build system print out all the commands it is running.
Can you attach the complete output of all of the commands you used to build Ruby please? -
06:17 PM Bug #20321: `require': cannot load such file
- And i have now this:
> `read': No such file or directory @ rb_sysopen - .ruby-version.sample -
04:02 PM Bug #20321: `require': cannot load such file
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-3:
> Can you run with `make V=1 install` instead of `make install`, and attach the full compiler output? That should give a clearer idea of what stage of the build is going wrong.
Worki... -
06:06 PM Revision 18ee7c9a (git): 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 refinement module.
Fixes [Bug #20246] -
06:03 PM Bug #20325: Enumerator.product.size bug with zero * infinite enumerators
- It seems like an infinite size with a `0` always has a product count of `0`. An infinite size preceding a `nil` has either a product count of `0` or infinity, but it's not lazily calculable so seems like it should be `nil`.
-
05:39 PM Bug #20325: Enumerator.product.size bug with zero * infinite enumerators
- I agree the behavior aligns with the documentation and tests. On the other hand, there seem to be two scenarios where the lazily calculated size of infinity doesn't line up with the determinable product count.
One, referenced above, i... -
04:10 PM Revision 4a4e5dd9 (git): Setup ruby before setup directories
- When `makeup: true`, setup/directories also prepare auto generated
source files, and requires baseruby. -
02:05 PM Revision 0e4bfd08 (git): [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`
- Fixes https://github.com/ruby/prism/pull/2506.
This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
for symbols quoted with line breaks.
https://github.com/ruby/prism/commit/06ab4df8cd -
11:12 AM Bug #20096: Ruby 3.2.2 win32/registry: Junk appended to Windows Registry String Value
- ruby_3_3 ade02f3c8909a8bf630af2c88f00b7bd7ff02682 merged revision(s) 051a874325c177e040301878069c2b28f5d06ce6.
-
08:13 AM Revision 78725f14 (git): RMDIRS includes `-p` option [ci skip]
-
07:40 AM Revision 1c083c4d (git): Clean up files made by runnable in clean-runnable [ci skip]
-
07:29 AM Revision d1c66456 (git): Ingore errors when removing intermediate files recursively [ci skip]
-
05:33 AM Revision 810779fa (git): Clean up dump file generated by `--yjit-exit-locations` [ci skip]
-
05:16 AM Revision fbec42fb (git): Clean up the incidentals to encoding/transcoding objects [ci skip]
-
04:59 AM Bug #20327 (Closed): Time.new behaves differently when passing a zone as timezone object
- Applied in changeset commit:git|d3279a0c11ca45ca85027e7eb74dc4aac52c478b.
----------
[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. Hist... -
01:56 AM Bug #20327 (Closed): Time.new behaves differently when passing a zone as timezone object
- Time.new with a timezone object for the zone argument produces incorrect utc_offset when passing seconds as a Rational.
``` ruby
require "tzinfo"
# This correctly outputs 0 as the utc_offset
puts Time.new(2024, 1, 1, 23, 59, 59.9... -
04:08 AM Revision d3279a0c (git): [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. -
02:42 AM Revision e13fd48f (git): [PRISM] Update dependencies for prism diagnostics
-
02:42 AM Revision 5141643a (git): [ruby/prism] Fix rebase templates
- https://github.com/ruby/prism/commit/31b8c6142f
-
02:42 AM Revision d266b714 (git): [ruby/prism] Use the diagnostic types in the parser translation layer
- https://github.com/ruby/prism/commit/1a8a0063dc
-
02:42 AM Revision 48ca2ce5 (git): [ruby/prism] Dispatch on_tlambda and on_tlambeg
- https://github.com/ruby/prism/commit/1ca58e0121
-
02:42 AM Revision 56026eda (git): [ruby/prism] Use the diagnostic types in the ripper translation layer
- https://github.com/ruby/prism/commit/a7ab3a41c8
-
02:42 AM Revision 38c27744 (git): [ruby/prism] Expose types on diagnostics
- https://github.com/ruby/prism/commit/a735c2262f
- 02:15 AM Revision c0cb3f60 (git): Update default gems list at 9fcb2bd5c0ddf5356287d23f7c33b8 [ci skip]
-
02:14 AM Revision 9fcb2bd5 (git): [ruby/irb] Bump version to v1.12.0
- (https://github.com/ruby/irb/pull/895)
https://github.com/ruby/irb/commit/a79e84a692 -
01:05 AM Revision 2bc4575a (git): Removed unused fixtures at time examples