Activity
From 04/11/2024 to 04/17/2024
04/17/2024
-
11:16 PM Feature #20215: Introduce `IO#readable?`
- Thank you for the explanation of the motivation.
I feel it is reasonable.
However, mame-san still had a question yesterday: why don't you detect an error in writing a request?
I guess it is because writing the request may not fail.
... -
04:25 AM Feature #20215: Introduce `IO#readable?`
- After considering the various use cases I have, I think the easiest to describe problem is knowing whether a connection is still "connected" or not, i.e. whether read will definitely fail or might succeed.
I added a full working examp... -
01:13 AM Feature #20215: Introduce `IO#readable?`
- I couldn't understand the motivation of this issue.
However, the state of the read side of unidirectional data flow (Unix pipe, half of a stream socket, etc.) can be one of the following.
1. We can read 1 or more bytes immediately.... -
12:07 AM Feature #20215: Introduce `IO#readable?`
- > Even if client.eof? returns false without blocking, it could still result in an EOF with zero read bytes. Therefore, it would be better to do read without unnecessary checks.
I understand, thanks for your question. I may not be able... -
11:10 PM Revision 9e0c6311 (git): Update refs [ci skip]
-
11:10 PM Revision 41456eb0 (git): Support Misc tracker [ci skip]
-
10:44 PM Feature #20350: Return chilled string from Symbol#to_s
- I am in favor of experimenting. I am in favor of moving to immutable strings in the future if there are no significant incompatibility issues.
Matz. -
10:29 PM Revision 0727d32b (git): Don't verify during gc_enter when gc is disabled.
- RGENGC_CHECK_MODE >=3 fails with an incinsistency in the old object
count during ec_finalization.
This is due to inconsistency introduced to the object graph using T_DATA
finalizers.
This is explained in commit 79df14c04b452411b9d17e26... -
09:48 PM Revision 8b813015 (git): YJIT: A64: Use CBZ/CBNZ to check for zero
- * YJIT: A64: Add CBZ and CBNZ encoding functions
* YJIT: A64: Use CBZ/CBNZ to check for zero
Instead of emitting `cmp x0, #0` plus `b.z #target`, A64 offers Compare
and Branch on Zero for us to just do `cbz x0, #target`. This commit
ut... - 08:45 PM Revision 48846d6b (git): add #2709’s new RBIs to `.gemspec`
-
08:16 PM Revision 3a4035a7 (git): Reduce the number of references to need_major_gc
-
07:40 PM Misc #20432: Proposal for workflow changes related to teeny releases
- I think it would be helpful for communications and expectation setting if there was a regular release cadence. Personally I'd be quite happy with quarterly releases, and I only really care about the latest stable.
The main one I'd li... -
07:30 PM Feature #15554: warn/error passing a block to a method which never use a block
- Yes I understand that too. And this will certainly cause a few false negative, but should also remove a lot more false positive.
I don't know if this is the best solution, but based on the warnings I saw in Rails test suite, I think i... -
07:28 PM Feature #15554: warn/error passing a block to a method which never use a block
- IIUC @ko1's PR, for example the issue of https://bugs.ruby-lang.org/issues/15554#note-27 wouldn't be found if there is a single `def excluding(*args, &block)` defined anywhere in the loaded code (which does not seem unlikely).
-
04:46 PM Feature #15554: warn/error passing a block to a method which never use a block
- > I think https://github.com/ruby/ruby/pull/10559 is warning too little, I commented there.
There is definitely a very fine line to walk here between false positives and false negatives.
Some of these warnings are very valuable, as... -
12:52 PM Feature #15554: warn/error passing a block to a method which never use a block
- ko1 (Koichi Sasada) wrote in #note-30:
> doesn't show warning.
I think https://github.com/ruby/ruby/pull/10559 is warning too little, I commented there.
From my understanding it will not warn if there exists any method of the same name ... -
12:34 PM Feature #15554: warn/error passing a block to a method which never use a block
- > doesn't show warning.
You are right, I got confused a bit my a `method_missing`. Please ignore that remark about `...`.
On another note, these warnings found another small issue in the Rails test suite: https://github.com/rails/r... -
11:12 AM Feature #15554: warn/error passing a block to a method which never use a block
- byroot (Jean Boussier) wrote in #note-28:
> - It generated some false positive because of `...` delegation for methods that don't accept a block.
for examoles?
```ruby
class C
def bar = yield
def foo(...)
bar(...)
e... -
11:07 AM Feature #15554: warn/error passing a block to a method which never use a block
- Matz hesitates to force to put `&_` (or other tricks) for duck typing methods, so I try to skip warning if a `foo` uses block, any other `foo` doesn't warn this warning even if it doesn't use a block.
```ruby
class C0
... -
10:17 AM Feature #15554: warn/error passing a block to a method which never use a block
- I worked on clearing these warnings from the Rails test suite: https://github.com/Shopify/rails/commit/640c7c751fa2b5d3d2e634685fbf0807c639a2ca
- It caught one big mistake in the test suite: https://github.com/Shopify/rails/commit/640... -
07:00 PM Revision 4cc58ea0 (git): YJIT: Optimize local variables when EP == BP (#10487)
-
06:59 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- > I also don't see any valid use case for Thread.each_caller_location with a Range with negative begin or end
It's still a slightly cheaper version of `caller_locations(range).each`. I agree that it's not super useful, but I don't thi... -
06:54 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- @byroot It's both, but for TruffleRuby I'm pretty sure the first matters much more.
These few allocations are no big deal on the JVM, so I would expect similar on JRuby.
Walking the stack is also obviously slower with a deeper stack (e... -
05:15 PM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- > the point of Thread.each_caller_location is to not walk the entire stack
Is it to not walk the entire stack, or simply not to generate the `Backtrace::Location` objects for the entire stack? My guess is that the later is most of th... -
10:25 AM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- mame (Yusuke Endoh) wrote in #note-11:
> A little addition: the dicussion about length and range was considered (not ignored), but @matz said he didn't see the need to make it inconsistent with Kernel#caller and Kernel#caller_locations ... -
10:16 AM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- A little addition: the dicussion about length and range was considered (not ignored), but @matz said he didn't see the need to make it inconsistent with Kernel#caller and Kernel#caller_locations in this case.
-
09:47 AM Feature #20335 (Closed): `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- Applied in changeset commit:git|09638741ba4d9547a0e48af8c767744fb1d7f68d.
----------
[Feature #20335] `Thread.each_caller_location` arguments
Accecpt the same arguments as `caller` and `caller_locations`. -
09:34 AM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- Accepted. Thank you.
Matz.
-
07:53 AM Feature #20335: `Thread.each_caller_location` should accept the same arguments as `caller` and `caller_locations`
- https://github.com/ruby/ruby/pull/10554
-
06:36 PM Revision ca764062 (git): [ruby/irb] Remove internal-only methods from Command::Base
- (https://github.com/ruby/irb/pull/922)
* Remove internal-only methods from Command::Base
Command#ruby_args and Command#unwrap_string_literal are used for default command's argument backward compatibility.
Moved these methods to another... -
06:30 PM Misc #20435: DevMeeting-2024-06-06
- Note: The next dev meeting in May will be held in person, co-located with RubyKaigi 2024 in Okinawa, Japan. @ko1 will create the ticket for that separately.
-
06:26 PM Misc #20435 (Closed): DevMeeting-2024-06-06
- # The next dev meeting
**Date: 2024/06/06 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-06-06.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t... -
06:26 PM Misc #20336 (Closed): DevMeeting-2024-04-17
-
06:17 PM Revision 98c84ef4 (git): [rubygems/rubygems] Excluding local platform from lockfile should not affect musl vs gnu case
- This case is for not locking things like `arm-darwin-23` when the
lockfile already includes `arm-darwin`, so that we don't infinitely keep
redundant versioned platforms in the lockfile when not necessary.
We detect this with `Gem::Platf... -
06:01 PM Revision 814dedce (git): Remove unused ruby_sighandler_t
-
05:54 PM Revision 51485e63 (git): [PRISM] Generate the reflection file
-
05:54 PM Revision d186eb36 (git): [ruby/prism] Add a reflection API for determining the fields of a node
- https://github.com/ruby/prism/commit/f3f9950a74
-
05:33 PM Revision ee6e591b (git): Use unsigned long long for object ID
- Since unsigned long long are minumum 64 bits, we have at least 10**17
object IDs available, so there is no chance it will overflow. -
05:13 PM Bug #20433: Hash.inspect for some hash returns syntax invalid representation
- An easy fix would be for `Hash#inspect` to include spaces around `=>`. It would also read much nicer in my opinion.
-
12:17 PM Bug #20433 (Closed): Hash.inspect for some hash returns syntax invalid representation
- For these hashes, Hash.inspect returns a syntax invalid representation:
~~~ruby
{ :a! => 1 } # {:a!=>1}
{ :a? => 1 } # {:a?=>1}
{ :* => 1 } # {:*=>1}
{ :== => 1 } # {:===>1}
{ :< => 1 } # {:<=>1}
~~~
`eval(hash.inspect)` will r... -
04:12 PM Revision 15b659ca (git): [ruby/reline] Refactor nomultiline and multiline mode difference
- (https://github.com/ruby/reline/pull/653)
* Support multiline input in Reline.readline internally, reduce multiline-singleline branch
* Add readline(singleline) prompt test with force inserting multiline text
https://github.com/ruby/r... -
03:58 PM Misc #20434 (Open): Deprecate encoding-related regular expression modifiers
- This is a follow-up to @duerst's comment here: https://bugs.ruby-lang.org/issues/20406#note-6.
As noted in the other issue, there are many encodings that factor in to how a regular expression operates. This includes:
* The encoding... -
02:36 PM Revision 8c8068c0 (git): [PRISM] Remove old make targets for state stack
-
02:36 PM Revision f72436f8 (git): [ruby/prism] Inline pm_state_stack
-
01:49 PM Revision 209e2f27 (git): Don't allow T_NIL in gc_is_moveable_obj
- gc_is_moveable_obj is only given GC managed objects, and T_NIL cannot be
a GC managed type. -
12:31 PM Revision 24705659 (git): Inline single use variables
-
12:21 PM Bug #20089: Fiber#kill transfers to root fiber
- In the case of transfer, it may be possible to store the previous fiber, and on exiting a fiber, when no explicit transfer takes place, transfer back to the fiber that originally transferred into it. I think this is fairly compatible wit...
-
11:36 AM Bug #20414 (Closed): `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- Merged in <https://github.com/ruby/ruby/commit/6ade36c06b7cef948099b8f5f483763498705d12>.
-
10:03 AM Bug #20414: `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- Thanks @matz.
To clarify, there are two issues are we addressing.
(1) Improve consistency of `Thread.current.raise` and `Fiber.current.raise`.
(2) Follow `resuming_fiber` when raising exceptions.
They overlap, so are addressed ... -
06:19 AM Bug #20414: `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- I see no problem in the proposal. I agree.
Matz.
-
11:26 AM Revision e9d7478d (git): relax unused block warning for duck typing
- if a method `foo` uses a block, other (unrelated) method `foo`
can receives a block. So try to relax the unused block warning
condition.
```ruby
class C0
def f = yield
end
class C1 < C0
def f = nil
... - 11:08 AM Revision 6ade36c0 (git): `Fiber#raise` recursively raises on nested resuming_fiber. (#10482)
- * Improve consistency of `Fiber.current.raise`.
-
10:57 AM Feature #20300: Hash: set value and get pre-existing value in one call
- @matz said he was not sure what a name is good for this method because its true motivation is unclear.
It was originally intended as a method to improve the efficiency of `Set#add?`, but the use case was shifted to a method for thread... -
04:30 AM Feature #20300: Hash: set value and get pre-existing value in one call
- AMomchilov (Alexander Momchilov) wrote in #note-21:
> nobu (Nobuyoshi Nakada) wrote in #note-17:
> ...
`ENV` is a hash-like object, so I'm for `Hash#exchange_value` too. -
10:56 AM Feature #20347 (Closed): Separate docs task from all
- Applied in changeset commit:git|cc37c89c2f4253a6f39a36ad610d0ba89c4257e8.
----------
Separate docs task from main to install-*
[Feature #20347] -
09:29 AM Feature #20347: Separate docs task from all
- In [dev meeting](https://bugs.ruby-lang.org/issues/20336), no one against this. I will do this.
Note:
According to [ruby-dev:39325](https://blade.ruby-lang.org/ruby-dev/39325), we added `docs` task to `all` because we avoid to gene... -
10:56 AM Revision 945a0334 (git): Update build and install document related https://blade.ruby-lang.org/ruby-dev/39325
-
10:56 AM Revision cc37c89c (git): Separate docs task from main to install-*
- [Feature #20347]
-
10:38 AM Revision e7493df7 (git): Improve phrasing of ignored block warnings
-
10:16 AM Revision 55b68d6c (git): Revert an accidentally merged change [ci skip]
-
10:07 AM Misc #20422 (Closed): Bugfix release process
- We continue to discuss release process at #20432
-
01:46 AM Misc #20422: Bugfix release process
- I want to upgrade to 3.3, but it's blocked due to #20184.
A segfault on low memory system(~256MB). -
09:47 AM Revision 09638741 (git): [Feature #20335] `Thread.each_caller_location` arguments
- Accecpt the same arguments as `caller` and `caller_locations`.
-
08:41 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- > I see no reason to keep them. It is practically proven unnecessary
I disagree. Just to give one example among many, it's very useful when tracking memory leaks. For instance you notice some pattern of a Hash growing, being able from... -
08:38 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- Why not just stop dumping string values? I'm proposing this because I see no reason to keep them. It is practically proven unnecessary; all non-ASCII bits are already silently dropped and no one complains. I prefer simple API for Obje...
-
08:40 AM Revision 7bc66a36 (git): skip on Prism generated iseq
-
08:35 AM Revision eac3dee9 (git): test_uplus_minus: Use a different string literal
- This test fail relatively frequently and it's unclear what is
happening.
```
str: {"address":"0x7fbdeb26d4e0", "type":"STRING", "shape_id":1, "slot_size":40, "class":"0x7fbdd1e0ec50", "frozen":true, "embedded":true, "fstring":true, "byt... -
08:07 AM Revision d31eda8e (git): Add NEWS entry for [[Feature #20429]]
- Followup: https://github.com/ruby/ruby/pull/10532
-
08:03 AM Revision f9f30180 (git): `ISeq#to_a` respects `use_block` status
- ```ruby
b = RubyVM::InstructionSequence.compile('def f = yield; def g = nil').to_a
pp b
#=>
...
{:use_block=>true},
...
``` -
07:58 AM Feature #20429 (Closed): Emit a performance warning when specially optimized core methods are redefined
-
07:57 AM Feature #20429: Emit a performance warning when specially optimized core methods are redefined
- Sounds reasonable. Accepted.
Matz.
-
06:10 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- gcc version :
$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
OS and it's version:
$ lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:print... -
04:58 AM Feature #6413 (Rejected): Make Dir.entries default to Dir.entries(Dir.pwd)
- As a language with concurrency, I don't think depending on the current directory implicitly is a good idea.
Matz.
-
04:55 AM Feature #5133 (Rejected): Array#unzip as an alias of Array#transpose
- `unzip` is not really intuitive with Ruby's OO design. Unlike Haskell, Ruby does not have static type issues.
Matz.
- 02:45 AM Revision 0b630d64 (git): Bump ruby/setup-ruby from 1.173.0 to 1.174.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.173.0 to 1.174.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/5f19ec79cedfadb78ab837f95b87734d00... -
01:29 AM Bug #20418 (Closed): `StringIO#read(..., buffer)` doesn't preserve buffer's encoding - Applied in changeset commit:git|75154dec73e1329693866e3a88cb9febb7635417.
----------
[ruby/stringio] strio_read: preserve buffer encoding on partial
reads
(https://github.com/ruby/stringio/pull/95)
[[Bug #20418]](https://bugs.ruby-lang... - 01:29 AM Revision 75154dec (git): [ruby/stringio] strio_read: preserve buffer encoding on partial
- reads
(https://github.com/ruby/stringio/pull/95)
[[Bug #20418]](https://bugs.ruby-lang.org/issues/20418)
Ruby IO#read preserves the encoding on partial read, but change it when
reading the whole IO
from commit https://github.com/ruby/... -
01:15 AM Revision f34409bf (git): [ruby/prism] Fix up more clang-analyzer failures
- https://github.com/ruby/prism/commit/f9a1abbc64
04/16/2024
-
09:53 PM Misc #20422: Bugfix release process
- In speaking about 3.3.1, we are working in progress for [that](https://github.com/ruby/ruby/commits/ruby_3_3/).
Please wait for complete that work. -
01:33 PM Misc #20422: Bugfix release process
- Thanks for bringing this up. I [tried to discuss it at the last dev meeting](https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-03-14.md?plain=1#L637), but I think the core team missed my question.
-
07:44 PM Feature #20405: Inline comments
- I think, unironically, this could be a nice addition. Maybe with a syntax closer to the current comments?
```rb
p #= This is a comment #= and nested one =# =# :| # => :|
```
or more C-like:
```rb
p #* This is a comment #* and nested o... -
07:17 PM Misc #20336: DevMeeting-2024-04-17
- * [Misc #20432] Proposal for workflow changes related to teeny releases (ufuk)
* This is related to the agenda item proposed by @hsbt in https://bugs.ruby-lang.org/issues/20336#note-12
* Can we discuss the proposals to make branch ... -
04:47 PM Misc #20336: DevMeeting-2024-04-17
- @matheusrich Are you organizing old tickets? If so, I thank you for your activity, and would respectfully recommend that you aim to close/reject them in principle.
The fact that a proposal has remained undecided for a long time suggests... -
05:26 AM Misc #20336: DevMeeting-2024-04-17
- * [Misc #20422] Bugfix release process
* I would like to discuss about the current release workflow.
-
06:34 PM Revision d6debba8 (git): Don't check for dynamic symbol in gc_is_moveable_obj
- All GC managed symbols are dynamic symbols so we don't need to check it.
-
05:36 PM Feature #20215: Introduce `IO#readable?`
- Before the dev meeting, I talked with @akr, who designed the Ruby IO, but we could not understand the motivation of the following branch.
```
if client.eof? # <--- Can hang here!
```
Can you explain what you want to do by this br... -
09:54 AM Feature #20215: Introduce `IO#readable?`
- After some discussion, I investigated libc's `feof`:
1. https://github.com/bminor/glibc/blob/14e56bd4ce15ac2d1cc43f762eb2e6b83fec1afe/libio/feof.c
2. https://github.com/bminor/glibc/blob/14e56bd4ce15ac2d1cc43f762eb2e6b83fec1afe/libio... -
01:13 AM Feature #20215: Introduce `IO#readable?`
- > Would io.wait_readable(0) work instead? If not, why not?
(1) I don't think it makes sense to add `wait_*` to `StringIO` but it does make sense to add `readable?` to `StringIO`.
(2) `wait_readable(0)` is impossible to replicate the des... -
05:24 PM Revision e5df8897 (git): Don't check for thread in gc_sweep_page
- We should always have a thread when we sweep so we don't need to check
that it exists. -
03:39 PM Misc #20432 (Closed): Proposal for workflow changes related to teeny releases
- ## Aim
- The cadence of CRuby stable releases is very important for how the project is perceived. Users of CRuby want to get more frequent releases with bug and security fixes, so that they feel confident that their projects and busin... -
03:20 PM Revision f06670c5 (git): Eliminate usage of OBJ_FREEZE_RAW
- Previously it would bypass the `FL_ABLE` check, but
since shapes introduction, it started having a different
behavior than `OBJ_FREEZE`, as it would onyl set the `FL_FREEZE`
flag, but not update the shape.
I have no indication of this c... -
03:20 PM Revision 7380e3d3 (git): RB_OBJ_FREEZE_RAW: Set the object shape
-
02:41 PM Revision 39b13e58 (git): YJIT: End send fallback blocks (#10539)
-
02:30 PM Revision 646a0089 (git): [ruby/prism] Fix up clang-analyzer violations
- https://github.com/ruby/prism/commit/259aef2acd
-
02:06 PM Revision 79df0f13 (git): [ruby/reline] Refactor history move and history search
- (https://github.com/ruby/reline/pull/651)
https://github.com/ruby/reline/commit/90e43e01d4 -
01:32 PM Revision 982dfa07 (git): [ruby/prism] Better error recovery for unwritable nodes
- https://github.com/ruby/prism/commit/4828e73263
- 12:44 PM Revision e8f3ea3f (git): Update default gems list at 8e341d81c9a5d9874c2d4b65d87342 [ci skip]
-
12:42 PM Revision 8e341d81 (git): [ruby/reline] Bump version to 0.5.2
- (https://github.com/ruby/reline/pull/682)
https://github.com/ruby/reline/commit/17d12cc511 -
11:58 AM Revision 639449fe (git): [ruby/reline] Implement changing editing mode
- (https://github.com/ruby/reline/pull/681)
https://github.com/ruby/reline/commit/501b9a6c5f -
10:55 AM Bug #20430 (Closed): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- Duplicate of #20431
-
10:32 AM Bug #20430 (Closed): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- I'm trying to build ruby 3.3.0 with openssl 1.1.0. It fails with below error. My base ruby is 3.2.2.
In file included from ./include/ruby/internal/arithmetic/char.h:23,
from ./include/ruby/internal/arithmetic.h:24,
... -
10:55 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- Could you elaborate your environment? OS and its version, C compiler and its version, etc.
-
10:33 AM Bug #20431 (Closed): Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
- I'm trying to build ruby from scratch with openss1.1.0. But it's failing with below error.
In file included from ./include/ruby/internal/arithmetic/char.h:23,
from ./include/ruby/internal/arithmetic.h:24,
... -
10:27 AM Feature #20428 (Closed): Ability to reference current class/module in lexical scope
-
10:24 AM Revision 54d472d9 (git): [rubygems/rubygems] Honor a specified path as the temporary diretory if given
- ## The problem
Currently the tests are executed in the fixed name directory "tmp"
under the top source directory. However it makes the tests fail when
the source path contains symlinks. Or unable to even start if the top
source direct... -
10:11 AM Feature #20429: Emit a performance warning when specially optimized core methods are redefined
- +1, great idea.
I will likely do the same in TruffleRuby (there is already a way to find out via `--engine.TraceAssumptions` but that's more general and less user-friendly). -
06:25 AM Feature #20429 (Closed): Emit a performance warning when specially optimized core methods are redefined
- MRI has a number of core methods with special handling in the interpreter and both JITs that if they are redefined negatively impact Ruby performance.
The methods currently are (I may be missing a few):
- `Integer`: `#+`, `#-`, `... -
08:41 AM Feature #20351: Optionally extract common GC routines into a DSO
- Do you have an idea of a timeline for Ractor local GC? Is there an open feature request I can read (I've searched on Redmine and I can't find one).
It's hard for us to assess any collisions between this work and Ractor local GC at the... -
01:01 AM Feature #20351: Optionally extract common GC routines into a DSO
- Please note that we are working on ractor local GC and I'm not sure we can fix "GC interface".
-
07:49 AM Bug #20325 (Closed): Enumerator.product.size bug with zero * infinite enumerators
- Applied in changeset commit:git|29110fe18d8f10f649cbcd43a9726069bfff1c54.
----------
[Bug #20325] `Enumerator.product.size` is 0 if any size is 0 -
07:13 AM Revision 29110fe1 (git): [Bug #20325] `Enumerator.product.size` is 0 if any size is 0
-
06:41 AM Feature #20350: Return chilled string from Symbol#to_s
- > `Symbol#name` returns frozen string. It is not enough?
It doesn't work well with duck typing. It's common to have a method that call `to_s` on the argument, and the argument can be a Symbol or another type:
```ruby
def some_meth... -
06:30 AM Feature #20350: Return chilled string from Symbol#to_s
- `Symbol#name` returns frozen string.
It is not enough?
-
06:33 AM Bug #20340: Ractor comments not applying to constant targets
- good catch.
-
06:09 AM Revision 53a8ad15 (git): Escape colons in pre-commit dependency [ci skip]
- Colons are special in Makefiles.
-
05:48 AM Revision f8f542bd (git): [ruby/pathname] Remove check for File.birthtime
- File.birthtime has existed since Ruby 2.2, and pathname requires Ruby
>= 2.7.0, so the method will always be there.
https://github.com/ruby/pathname/commit/aca9613bbf - 04:22 AM Revision c4974273 (git): Bump github/codeql-action from 3.24.10 to 3.25.0
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.10 to 3.25.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.m... -
02:22 AM Revision 7227b859 (git): Merge RubyGems 3.5.9 and Bundler 2.5.9 (Fixed CI at Ruby 3.3) (#10348)
- * Merge RubyGems-3.5.6 and Bundler-2.5.6
* Merge RubyGems-3.5.7 and Bundler-2.5.7
* Merge RubyGems-3.5.8 and Bundler-2.5.8
* Partly reverted about https://github.com/rubygems/rubygems/pull/7483
* Merge RubyGems-3.5.9 and Bundler-2.5.9 -
02:01 AM Revision 4fcf007e (git): [DOC] Update NEWS.md [Misc #18984]
04/15/2024
- 11:33 PM Revision fc8099ae (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.91 to 0.9.94.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.91...v0.9.94)
---
updated-depende... - 11:33 PM Revision 0118f542 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.91 to 0.9.94.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.91...v0.9.94)
---
updated-depende... -
10:32 PM Feature #20428: Ability to reference current class/module in lexical scope
- ufuk (Ufuk Kayserilioglu) wrote in #note-1:
> I think you should be able to use `Module.nesting.first` to get the closest lexical nesting to the executing code. There might be edge-cases where this doesn't work the way you might want it... -
10:28 PM Feature #20428: Ability to reference current class/module in lexical scope
- I think you should be able to use `Module.nesting.first` to get the closest lexical nesting to the executing code. There might be edge-cases where this doesn't work the way you might want it to work, but it definitely works for your exam...
-
10:17 PM Feature #20428 (Closed): Ability to reference current class/module in lexical scope
- Hello! As far as I know, there is no way to reference the current `Class` or `Module` one is inside of lexically in Ruby. Would it make sense to add a syntax/keyword for this?
``` ruby
module Foo
module Bar
def blah
pu... -
10:15 PM Revision ebaa87f6 (git): Remove unused functions from `struct rb_parser_config_struct`
-
09:40 PM Feature #15554: warn/error passing a block to a method which never use a block
- Also to include a positive note, it's definitely pointing at valuable things, e.g. from our test suite:
```ruby
SOME_LIST.excluding(things) do |behaviour|
test "#... snip #{behaviour.serialize}" do
# ...snip
... -
09:33 PM Feature #15554: warn/error passing a block to a method which never use a block
- I'm yet to process the warnings uncovered in our app, but to share an early one I think is relevant, from `statsd-instrument`:
```ruby
def distribution(key, value = UNSPECIFIED, sample_rate: nil, tags: nil, no_prefix: false, &b... -
04:42 AM Feature #15554 (Closed): warn/error passing a block to a method which never use a block
- Applied in changeset commit:git|9180e33ca3a5886fec3f9e0a2f48072b55914e65.
----------
show warning for unused block
With verbopse mode (-w), the interpreter shows a warning if
a block is passed to a method which does not use the given b... -
03:22 AM Feature #15554: warn/error passing a block to a method which never use a block
- merged, but please give us your feedback.
-
08:02 PM Feature #20351 (Closed): Optionally extract common GC routines into a DSO
-
08:02 PM Feature #20351: Optionally extract common GC routines into a DSO
- Closed by https://github.com/ruby/ruby/pull/10456
-
06:50 PM Revision f5d89267 (git): Add --with-shared-gc to Ubuntu CI
-
06:50 PM Revision 065710c0 (git): Initialize external GC Library
- Co-Authored-By: Peter Zhu <peter@peterzhu.ca>
-
06:50 PM Revision a2ea4ec3 (git): Add --with-shared-gc build flag
-
06:29 PM Revision f86fb1ed (git): add allocation benchmark
-
05:58 PM Bug #20411 (Closed): Kenrel.autoload? behaviour
- Fixed by commit:1984f9aedcbb11f0770257eb5ecd4d4f37e0efd5
-
05:55 PM Revision 1984f9ae (git): Specify Kernel#autoload? uses current namespace
- Because Kernel#autoload? uses the current namespace, it can lead to
potentially confusing results. We should make it clearer that modules
count as separate namespaces to lookup in.
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
Co-... -
05:44 PM Revision 733d50f0 (git): Remove dependency on gc.h for darray.h
-
04:57 PM Revision 66bfcba5 (git): Not all `nm`s support the `--help` option
-
04:21 PM Revision d019b3ba (git): Emit a performance warning when redefining specially optimized methods
- This makes it easier to notice a dependency is causing interpreter or
JIT deoptimization.
```ruby
Warning[:performance] = true
class String
def freeze
super
end
end
```
```
./test.rb:4: warning: Redefining 'String#freeze' disa... -
03:59 PM Revision 2eafed0f (git): YJIT: A64: Avoid intermediate register in `opt_and` and friends (#10509)
- Same idea as the x64 equivalent in c2622b52536c5, removing the register
shuffle coming from the pop two, push one stack motion these VM
instructions perform.
```
# Insn: 0004 opt_or (stack_size: 2)
- orr x11, x1, x9
- mov x1, x11
... -
01:31 PM Revision 0a4e3f23 (git): [ruby/reline] Remove not implemented method
- (https://github.com/ruby/reline/pull/680)
https://github.com/ruby/reline/commit/84762fc588 -
01:15 PM Revision 43f4da3e (git): [ruby/reline] Fix vi_to_column which was broken
- (https://github.com/ruby/reline/pull/679)
https://github.com/ruby/reline/commit/9e93ad52e7 -
12:56 PM Revision 07ff4aa1 (git): Include more debug information in test_uplus_minus
-
11:51 AM Revision 9b1e97b2 (git): [Universal parser] DeVALUE of p->debug_lines and ast->body.script_lines
- This patch is part of universal parser work.
## Summary
- Decouple VALUE from members below:
- `(struct parser_params *)->debug_lines`
- `(rb_ast_t *)->body.script_lines`
- Instead, they are now `rb_parser_ary_t *`
- They can also... -
09:06 AM Revision bb1c3418 (git): Add more assertions in `test_uplus_minus`
- Not along after 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0 CI
started to rarely fail this test:
```
TestString#test_uplus_minus: Test::Unit::AssertionFailedError: uminus deduplicates [Feature #13077].
1) Failure:
TestString#test_uplus_m... -
08:56 AM Revision 9a57b047 (git): `super{}` doesn't use block
- `super(){}`, `super{}` and `super(&b)` doesn't use the given
block so warn unused block warning when calling a method which
doesn't use block with above `super` expressions.
e.g.: `def f = super{B1}` (warn on `f{B2}` because `B2` is not... -
05:53 AM Revision 145cced9 (git): fix incorrect warning.
- `super()` (not zsuper) passes the passed block and
it can be used.
```ruby
class C0
def foo; yield; end
end
class C1 < C0
def foo; super(); end
end
C1.new.foo{p :block} #=> :block
``` - 05:07 AM Revision b6a10a15 (git): Update default gems list at fc363944b40e4031b447f91fa89793 [ci skip]
-
05:06 AM Revision fc363944 (git): [ruby/optparse] bump up to 0.5.0
- https://github.com/ruby/optparse/commit/f5018a8b1c
- 05:06 AM Revision 33bf1fc1 (git): * 2024-04-15 [ci skip]
-
05:05 AM Revision 5aca51d3 (git): No longer download zlib source
- Although zlib package in vcpkg is still 1.2.12, it should be no
problem in ruby tests. -
05:05 AM Revision ecf9b15c (git): [MSWin] Install libffi using vcpkg
-
05:05 AM Revision d2dc49d8 (git): We didn't invoke leaked-globals at ruby_3_0
-
05:05 AM Revision c86a8529 (git): openssl of Ruby 3.0 couldn't build with c2x compiler
-
05:05 AM Revision 2d8337b0 (git): coroutine=pthread is not working with Ruby 3.0
-
05:05 AM Revision e85273c5 (git): tool/leaked-globals: ignore function typedef [ci skip]
-
05:05 AM Revision f95abc3c (git): Canonicalization functions were removed already
- At b958e2add835d62c0a62edaf9a23ecbbd70a3635
-
05:05 AM Revision 682d7e31 (git): Ignore symbols declared in the platform header
-
05:05 AM Revision 3fdc8e90 (git): Ignore objects from the "missing" directory
-
05:05 AM Revision 10b30c7d (git): Get rid of \K for old BASERUBYs which have a bug in String#scan
-
05:05 AM Revision 984ff9c6 (git): Exclude entry points
-
05:05 AM Revision cbe3a916 (git): Support AC_FUNC_MEMCMP
-
05:05 AM Revision 3b9012ec (git): Backport compilers.yml from ruby_3_1
-
05:05 AM Revision 2676046c (git): Don't upgrade brew packages
- 05:05 AM Revision 3229fb97 (git): * 2024-04-15 [ci skip]
-
05:05 AM Revision 74879c7d (git): We no longer use Cirrus CI
-
05:05 AM Revision b0aff455 (git): [MSWin] Install libffi using vcpkg
-
05:05 AM Revision 1fb8872b (git): Skip c99 and c2x compilers because Ruby 3.1 couldn't build openssl gem with them.
- https://github.com/ruby/ruby/actions/runs/8657971535/job/23741841371?pr=10512
https://github.com/ruby/ruby/actions/runs/8657971535/job/23741841091?pr=10512 -
05:05 AM Revision e9175573 (git): merge revision(s) 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f:
- Fix test session reuse but expire (#9824)
* OpenSSL 3.2.1 30 Jan 2024 is also broken
Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
tentatively.
---
test/net/http/test_http... -
05:05 AM Revision cf8149ab (git): Try to fix https://github.com/ruby/ruby/actions/runs/8370868368/job/22918952425?pr=10321
- ruby_3_2 fixed that with https://github.com/ruby/ruby/commit/e777064e4b064fd77aca65c123f1919433f6732d
-
03:08 AM Revision 9180e33c (git): show warning for unused block
- With verbopse mode (-w), the interpreter shows a warning if
a block is passed to a method which does not use the given block.
Warning on:
* the invoked method is written in C
* the invoked method is not `initialize`
* not invoked with ...
04/14/2024
-
09:29 PM Revision 515e52a0 (git): Emit `warn` event for duplicated hash keys on ripper
- Need to use `rb_warn` macro instead of calling `rb_compile_warn`
directly to emit `warn` event on ripper. -
05:33 PM Revision 339128b1 (git): [ruby/reline] Refactored Default Key Bindings
- (https://github.com/ruby/reline/pull/678)
* Reduce duplicate method
* Configured default key mapping with Readline when the method exists
* Remove undefined methods
https://github.com/ruby/reline/commit/155f7047bb -
02:28 PM Revision 1648c443 (git): [ruby/reline] Refactor waiting_proc and waiting_operator_proc
- (https://github.com/ruby/reline/pull/649)
* Fix waiting_proc precedence
* Fix waiting_operator bugs
* Add waiting_proc and vi_waiting_operator test
* Fix vi waiting operator arg number
vi_arg and vi_waiting_operator_arg should be mu... -
11:35 AM Revision 8d5d6ec6 (git): [pty] Fix missing `or`
-
11:27 AM Revision 3368913b (git): [pty] Fix `ptsname_r` fallback
- If `posix_openpt` is available, also `ptsname` should be available.
-
11:01 AM Revision 04ba96e6 (git): [ruby/irb] Allow defining custom commands in IRB
- (https://github.com/ruby/irb/pull/886)
This is a feature that has been requested for a long time. It is now
possible to define custom commands in IRB.
Example usage:
```ruby
require "irb/command"
class HelloCommand < IRB::Command::Ba... - 09:13 AM Revision 76b10f2e (git): [ruby/reline] Support `menu-complete-backward` command for upward
- navigation
(https://github.com/ruby/reline/pull/677)
Fixes https://github.com/ruby/reline/pull/675
This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This chang... -
05:49 AM Bug #20427 (Closed): Backport: Heap buffer overflow in `Array#sort!` when block modifies target array
- commit:c479492a6701dcef3d3a96de8946ecf7beb079d4
-
12:47 AM Bug #20427 (Closed): Backport: Heap buffer overflow in `Array#sort!` when block modifies target array
- **(note: It was decided we should handle this in the public issue tracker in security ticket #2327648)**
The attached patch [has been applied to `master`](https://github.com/ruby/ruby/pull/10522) and should apply to latest `3.3.0` for... -
01:51 AM Revision 38b8bdb8 (git): Remove undefined function's prototype declaration
- 89cfc152071 removed the definition of these functions.
-
12:08 AM Revision 924b928e (git): Remove unused functions from `struct rb_parser_config_struct`
-
12:08 AM Revision 5970386a (git): Use `rb_parser_string_t *` for `delayed.token`
04/13/2024
-
11:41 PM Revision c479492a (git): Resize ary when `Array#sort!` block modifies embedded ary
- In cases where `rb_ary_sort_bang` is called with a block and
tmp is an embedded array, we need to account for the block
potentially impacting the capacity of ary.
ex:
```
var_0 = (1..70).to_a
var_0.sort! do |var_0_block_129, var_1_block... -
08:40 PM Misc #20422: Bugfix release process
- I would also love to see more transparency here. We want to upgrade to 3.3, but we're currently blocked due to https://bugs.ruby-lang.org/issues/20091 and unsure when a patch release will hit.
-
07:29 PM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
- matz (Yukihiro Matsumoto) wrote in #note-14:
> I don't object to the proposal itself. But as @ko1 searched, there are so many gems that compare `Encoding#name` and `ASCII-8BIT`.
> ...
I've been developing with Ruby for some 10+ years n...
04/12/2024
-
11:47 PM Revision 43a6690d (git): [PRISM] Enable passing test_parenthesised_statement_argument
-
09:46 PM Revision 3c075675 (git): [ruby/prism] Better error message on statement inside argument list
- https://github.com/ruby/prism/commit/3b1a99526a
-
09:46 PM Revision 10d0abb4 (git): [PRISM] Enable passing tests from latest prism
-
09:46 PM Revision 7baecc2e (git): [PRISM] Emit parse warnings before raising syntax errors
-
09:46 PM Revision 650b5e5a (git): [PRISM] Enable more passing tests
-
09:07 PM Feature #20425: Optimize forwarding callers and callees
- tenderlovemaking (Aaron Patterson) wrote in #note-4:
> ko1 (Koichi Sasada) wrote in #note-2:
> ...
I tried running `vm_call` benchmarks. I can't tell if there is any impact. Benchmark results are [here](https://gist.github.com/tenderl... -
04:10 PM Feature #20425: Optimize forwarding callers and callees
- ko1 (Koichi Sasada) wrote in #note-2:
> I think it is good idea but I'm concerned that the code on github may affect normal cases because of additional code path.
It only impacts the `send` instruction and `invokesuper` instruction. ... -
05:28 AM Feature #20425: Optimize forwarding callers and callees
- Instead of introducing new rules and complex code, I think providing lightweight container than Array/Hash is better.
Consider `def f(...) = g(...)`:
* Introducing argument object (like JS) by imemo and pass it as a unique paramete... -
04:37 AM Feature #20425: Optimize forwarding callers and callees
- I think it is good idea but I'm concerned that the code on github may affect normal cases because of additional code path.
-
05:49 PM Revision 1521af32 (git): [ruby/prism] Better error message on invalid def
- https://github.com/ruby/prism/commit/d398e7d22c
-
05:30 PM Revision 52b86239 (git): [ruby/prism] Syntax error for block argument on yield
- https://github.com/ruby/prism/commit/9feeafbc67
-
04:50 PM Revision 0424c1fa (git): [ruby/prism] Fix up embdoc lexing on EOF
- https://github.com/ruby/prism/commit/8ee43be26d
-
04:05 PM Misc #20336: DevMeeting-2024-04-17
- * [Bug #20424] Zlib readpartial double allocations when reading into outbuf
* Major source of allocations for rubygems & bundler
* the linked PR fixes and has been open for a while, can we merge & ship it? -
03:37 PM Bug #20426: crash on aarch64 linux when using fibers (regression with 3.3)
- I believe this is the same issue as https://bugs.ruby-lang.org/issues/20085 which is fixed and back-ported, waiting for a release of 3.3.1.
-
02:54 PM Bug #20426 (Closed): crash on aarch64 linux when using fibers (regression with 3.3)
- We are seeing crashes when using Ruby 3.3 on aarch64-linux and the concurrent-ruby gem. We reduced the crashing testcase to:
```
Fiber.new {}.resume
```
which crashes on 3.3.0:
```
🍖 froydnj@froydnj-arm64-devbox(graviton):~/... -
03:27 PM Revision 9bab179c (git): Don't treat flonum specially in object ID
- flonum is just a special constant, so we don't need to treat it in any
special way. -
03:27 PM Revision edec690e (git): Refactor how object IDs work for special consts
- We don't need to treat static symbols in any special way since they
can't be confused with other special consts or GC managed objects. -
03:07 PM Revision 3629d4df (git): [PRISM] Enable passing tests for prism
-
02:58 PM Revision c41ecf3f (git): [ruby/prism] Create the warning for unreachable statements
- https://github.com/ruby/prism/commit/e17c86b886
-
02:30 PM Revision c553d348 (git): [ruby/prism] Warn void regardless of eval
- https://github.com/ruby/prism/commit/48ba434fa4
-
02:29 PM Revision 5f2bcbb6 (git): [PRISM] Ensure no void warnings in rubyoptions test
-
02:10 PM Revision 8e514bed (git): [ruby/prism] Remove outdated comment
- https://github.com/ruby/prism/commit/9adc88ddf8
-
02:10 PM Revision 4fc457e2 (git): [ruby/prism] Implement the void statement warning
- https://github.com/ruby/prism/commit/802ff71cd4
- 01:55 PM Revision 0924ff2d (git): [ruby/prism] Fix parser translation's heredoc whitespace calculation
- Given this example:
```rb
<<~HEREDOC
#{x}
HEREDOC
```
Both the parser gem and Prism's translation layer would generate the following AST:
```
s(:dstr,
s(:begin,
s(:int, 1)),
s(:str, " a\n"))
```
However, the parser gem inse... -
01:52 PM Revision abd05c84 (git): Sync latest prism
- 01:31 PM Revision a64a42ae (git): [rubygems/rubygems] `bundle add --glob` continued- quote glob value invocation in specs, add banner text for CLI recommending single quotes
- https://github.com/rubygems/rubygems/commit/6d2cf955f9
- 01:31 PM Revision c4b5f3f1 (git): [rubygems/rubygems] bundler CLI option for add gem --glob=
- Bundler online documentation says that if the gem is located within a subdirectory of a git repository,
you can use the `:glob` option to specify the location of its .gemspec
`gem 'cf-copilot', git: 'https://github.com/cloudfoundry/copi... -
12:01 PM Revision f1d9e895 (git): [ruby/irb] Pass statements to Context#evaluate
- (https://github.com/ruby/irb/pull/920)
This has a few benefits:
- We can keep hiding the evaluation logic inside the Context level, which
has always been the convention until #824 was merged recently.
- Although not an official API, ... -
09:31 AM Revision 7b8b936f (git): [DOC] Fix the wrong comment
- This function checks the CL's superclasses containing the class C at
the end of it. That means C is a superclass of CL, not a subclass. -
09:22 AM Revision 91c457e0 (git): Parenthesized SVN IDs in .mailmap look too verbose [ci skip]
-
08:02 AM Revision 69823b97 (git): [Bug #20423] Fix error message of prism
-
07:59 AM Bug #20423 (Closed): Anonymous block forwarding shouldn't work with ... but it does
- Applied in changeset commit:git|e36988450e9e9ccccb41c72135f1e57790920668.
----------
[Bug #20423] Disallow anonymous block within argument forwarding -
07:30 AM Bug #20423: Anonymous block forwarding shouldn't work with ... but it does
- https://github.com/ruby/ruby/pull/10514
-
07:07 AM Revision e3698845 (git): [Bug #20423] Disallow anonymous block within argument forwarding
-
12:31 AM Revision 971b5527 (git): [PRISM] Suppress compiler warnings
- ../prism_compile.c: In function ‘pm_compile_node’:
../compile.c:583:24: warning: ‘retry_end_l’ may be used uninitialized in this function [-Wmaybe-uninitialized]
583 | anchor->last->next = elem;
| ~~~~~~~~~~~~~~~~~~~^~~~~...
04/11/2024
-
11:58 PM Feature #20425: Optimize forwarding callers and callees
- We have tests that measure allocations. I had to update the tests because of the reduction in allocations, so you can see the impact of this patch [here](https://github.com/ruby/ruby/pull/10510/files#diff-4ce0c19ae42a98cc312d3fd2870a13d...
-
11:52 PM Feature #20425 (Closed): Optimize forwarding callers and callees
- [This PR](https://github.com/ruby/ruby/pull/10510) optimizes forwarding callers and callees. It only optimizes methods that only take `...` as their parameter, and then pass `...` to other calls.
Calls it optimizes look like this:
... -
07:47 PM Revision 842f151d (git): [PRISM] Enable more passing tests
- 07:35 PM Revision c5e661b1 (git): [rubygems/rubygems] Fix installing plugins via relative paths
- This affected both CLI and Gemfile installs
https://github.com/rubygems/rubygems/commit/a0d101a8df -
07:20 PM Bug #20424 (Closed): ZLib::GZipReader always double allocates strings when passed outbuf, significantly increasing memory usage
- In trying to improve the memory performance during the install of rubygems, we previously found a bug in `eof?`. Further investigation into the memory usage during the fix for this bug found wasteful allocating of strings in readpartial ...
-
06:53 PM Revision cd516ebd (git): [ruby/prism] Add Location#chop
- https://github.com/ruby/prism/commit/5dd57f4b84
-
06:39 PM Bug #20423 (Closed): Anonymous block forwarding shouldn't work with ... but it does
- According to [this note](https://bugs.ruby-lang.org/issues/11256#note-16), anonymous block forwarding should only be supported when explicitly used in the method signature.
For example:
```ruby
def foo(&) = bar(&) # OK
def foo = ... -
06:39 PM Revision 58f93eec (git): [PRISM] Fix break in super block
-
05:21 PM Misc #20422 (Closed): Bugfix release process
- I was wondering if it would be possible to have more frequent bug fix releases of the latest stable Ruby. For example, if there was a 3.x.1 available two to three months after 3.x came out, it would make it more appealing to upgrade fro...
-
04:18 PM Revision bb5ed8b3 (git): [PRISM] Fix flags on local variable operator write nodes
-
04:08 PM Revision f2369de2 (git): Remove redundant cast
- ptr is already of the VALUE type, so we don't need to cast it.
-
03:57 PM Bug #20421 (Closed): String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
- When String#index and String#byteindex are called with Regexp and offset they clear `$~` (that contains result of the last Regexp matching) when offset < -size. But they don't clear `$~` when offset > size what seems inconsistent:
```... -
02:47 PM Revision ca81f5a5 (git): Realclean extracted bundled gems and lock files
-
02:47 PM Revision 2df46385 (git): Cleanings of .bundle do not need cleanings of ext
-
02:37 PM Revision c2622b52 (git): YJIT: x64: Remove register shuffle with `opt_and` and friends (#10498)
- This is best understood by looking at the change to the output:
```diff
# Insn: 0002 opt_and (stack_size: 2)
- mov rax, rsi
- and rax, rdi
- mov rsi, rax
+ and rsi, rdi
```
It's a bit awkward to match against due to how stack... -
02:17 PM Bug #20418: `StringIO#read(..., buffer)` doesn't preserve buffer's encoding
- Seems legit to me. Proposed patch: https://github.com/ruby/stringio/pull/95
-
12:48 PM Revision db0cf1ae (git): prism_compile.c: use rb_enc_interned_str to reduce allocations
- The `rb_fstring(rb_enc_str_new())` pattern is inefficient because:
- It passes a mutable string to `rb_fstring` so if it has to be interned it will first be duped.
- It an equivalent interned string already exists, we allocated the stri... -
12:12 PM Revision 56f9ac8d (git): [ruby/prism] More unreachables
- https://github.com/ruby/prism/commit/735f3122c2
-
12:08 PM Revision 9183101a (git): prism_compile.c: X_STRING should be frozen
- The backtick method recieves a frozen string unless it is interpolated.
Otherwise the string held in the ISeq could be mutated by a custom
backtick method. -
11:25 AM Revision b2f8de3d (git): Launchable: Correctly configure the missing "os" flavor in ubuntu.yaml
-
11:01 AM Bug #20420 (Assigned): benchmark/gc/redblack.rb license clarification
- The file states `# License is License is Apache-2` but I wonder how comes. This was imported by commit:git|2802afffd688f4f3dce0492a45dab82bfc80e070 on Jun 20, 2013 and claims to be imported from https://github.com/jruby/rubybench/blob/ma...
-
08:57 AM Revision e7f8db90 (git): [pty] Support `ptsname_r` of glibc
- Although glibc `ptsname_r` man page mentions Tru64 and HP-UX, this
function appears to be declared obsolete on both. -
07:04 AM Revision 1b830740 (git): compile.c: use rb_enc_interned_str to reduce allocations
- The `rb_fstring(rb_enc_str_new())` pattern is inneficient because:
- It passes a mutable string to `rb_fstring` so if it has to be interned
it will first be duped.
- It an equivalent interned string already exists, we allocated the st... -
06:53 AM Revision ed303cd5 (git): Fix a typo in a comment
-
06:24 AM Bug #20397: The nkf license in LEGAL file seems to be obsolete
- Yes, releases do include nkf. But the repo is split. I think nkf's situation shall be cleared for its own sake. LEGAL should no longer be the primary source of truth for that library.
-
03:57 AM Revision 501a32c6 (git): Remove duplicated `st_init_table_with_size` definition
- `st_init_table_with_size` is already defined in universal_parser.c.
-
03:34 AM Feature #19056 (Closed): Introduce `Fiber.annotation` for attaching messages to fibers.
- I released this as a gem.
https://github.com/ioquatix/fiber-annotation
Maybe it can be adopted if it proves itself to be useful. - 03:16 AM Revision e9fd3475 (git): [DOC] Typo fix in NEWS.md
- Fix https://github.com/ruby/ruby/pull/10366
-
03:09 AM Bug #20417 (Closed): RubyVM::AbstractSyntaxTree.parse warns about block local variables
- Applied in changeset commit:git|207788466eedfdefcf09fdc5c6217547b5ce4ed1.
----------
[Bug #20417] Block local variables do not need to warn about unused -
03:03 AM Revision 20778846 (git): [Bug #20417] Block local variables do not need to warn about unused
-
03:00 AM Revision 5d9fd674 (git): put empty `rb_gc_force_recycle()`
- and declare it will be removed soon.
ddtrace is still referes the API and build was failed.
See https://github.com/DataDog/dd-trace-rb/pull/3578
Maybe threre are only few users of this C-API now so we can remove
it soon. -
02:56 AM Revision 87ad5ca3 (git): Remove unused function from `struct rb_parser_config_struct`
-
02:41 AM Misc #20336: DevMeeting-2024-04-17
- - [Bug #20414] `Fiber#raise` should recurse to `resumed_fiber` rather than failing.
- Make `Fiber#raise` work even when the fiber is resuming another fiber.
- Can we accept this change?
- [Feature #20215] Introduce `IO#readable?`
-... -
02:32 AM Revision 76732b3e (git): Remove unused AREF macro
-
01:28 AM Revision 39be11a1 (git): Fix segv when parsing `command` by ripper
- 89cfc152071 made this event dispatch to pass `Qundef`
to user defined callback method by mistake.
This commit fix it to be `nil`.