Activity
From 09/12/2024 to 09/18/2024
09/18/2024
-
11:55 PM Bug #20597 (Closed): `eval('break if false')` should raise SyntaxError but retuns nil
- Applied in changeset commit:git|268c72377b06b7d84a0998ca241340d0f58768f6.
----------
Raise a compile error for break/next/redo inside eval in cases where it is optimized away
In cases where break/next/redo are not valid syntax, they sh... -
11:54 PM Revision 268c7237 (git): Raise a compile error for break/next/redo inside eval in cases where it is optimized away
- In cases where break/next/redo are not valid syntax, they should
raise a SyntaxError even if inside a conditional block that is
optimized away.
Fixes [Bug #20597]
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
08:47 PM Revision 984a791d (git): [DOC] Escape the word GC in GC.config
-
07:46 PM Revision 29f2cb83 (git): Fix evaluation order issue in f(**h, &h.delete(key))
- Previously, this would delete the key in `h` before keyword
splatting `h`. This goes against how ruby handles `f(*a, &a.pop)`
and similar expressions.
Fix this by having the compiler check whether the block pass
expression is safe. If... -
07:18 PM Revision e358104e (git): [DOC] Fix formatting for ways to create Range objects
-
06:26 PM Revision 9c12c39e (git): Revert "Fix evaluation order issue in f(**h, &h.delete(key))"
- This reverts commit 07d3bf4832532ae7446c9a6924d79aed60a7a9a5.
No failures in the pull request CI, but there are now allocation
test failures. -
06:18 PM Bug #20640 (Closed): Evaluation Order Issue in f(**h, &h.delete(key))
- Applied in changeset commit:git|07d3bf4832532ae7446c9a6924d79aed60a7a9a5.
----------
Fix evaluation order issue in f(**h, &h.delete(key))
Previously, this would delete the key in h before keyword
splatting h. This goes against how rub... -
06:18 PM Revision 07d3bf48 (git): Fix evaluation order issue in f(**h, &h.delete(key))
- Previously, this would delete the key in h before keyword
splatting h. This goes against how ruby handles f(*a, &a.pop)
and similar expressions.
Fix this by having the compiler check whether the block pass
expression is safe. If it is... -
04:58 PM Revision f8e1c93f (git): Move more of GC.latest_gc_info into Ruby
-
04:42 PM Bug #20740 (Closed): prism_compile coding issue for PM_FORWARDING_SUPER_NODE
- Applied in changeset commit:git|c14b60630d680addd5b4ef9c9b159a26a5446483.
----------
Fix coding issue in prism_compile.c
Make sure to set back `ISEQ_COMPILE_DATA(iseq)->current_block` for
forwarding super nodes with a block.
Fixes [Bu... -
04:42 PM Revision 461c4896 (git): [rubygems/rubygems] Add a note about when hack can be removed
- https://github.com/rubygems/rubygems/commit/058b29fe98
-
04:42 PM Revision ae214be9 (git): [rubygems/rubygems] Fix TODO
- https://github.com/rubygems/rubygems/commit/2cd13005f6
-
04:42 PM Revision 47db8bc0 (git): [rubygems/rubygems] Stop fighting with ourselves
- https://github.com/rubygems/rubygems/commit/7cf2fdcfa1
-
03:52 PM Revision c14b6063 (git): Fix coding issue in prism_compile.c
- Make sure to set back `ISEQ_COMPILE_DATA(iseq)->current_block` for
forwarding super nodes with a block.
Fixes [Bug #20740] -
03:52 PM Revision 96da3f16 (git): [ruby/prism] Allow returns in default parameter values
- https://github.com/ruby/prism/commit/e98ea15596
-
02:18 PM Revision 5df5eba4 (git): Change rb_gc_impl_get_measure_total_time to return a bool
-
01:29 PM Bug #20755 (Closed): IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
- `IO::Buffer.for` with a block yields a mutable IO::Buffer that shares underlying memory with a mutable String. While the block is executed, the String instance is temporarily locked and cannot be modified or frozen.
If you call `#transf... -
12:14 PM Bug #20754: [doc] `Hash::new` is missing from rdoc for 3.4
- What a simple fix, now I know myself. Thank you!
-
12:06 PM Bug #20754 (Closed): [doc] `Hash::new` is missing from rdoc for 3.4
- Applied in changeset commit:git|f82618578666ee720bdc0ec8e4aeace541f2d953.
----------
[Bug #20754] Document in hash.rb -
11:40 AM Bug #20754 (Closed): [doc] `Hash::new` is missing from rdoc for 3.4
- I was interested in the `capacity` argument added in https://github.com/ruby/ruby/pull/10357 but found any reference to it missing from https://docs.ruby-lang.org/en/master/Hash.html
`::new` just links to docs from `BasicObject`. Docs... -
12:03 PM Revision f8261857 (git): [Bug #20754] Document in hash.rb
-
12:02 PM Misc #20717: DevMeeting-2024-10-03
- * [Feature #20750] Expose ruby_thread_has_gvl_p in ruby/thread.h (eregon)
* I think rb_thread_call_with_gvl() should be allowed if the GVL is already acquired, it seems a much nicer way to solve the use cases the OP pointed out (for a ... -
12:00 PM Feature #20750: Allow rb_thread_call_with_gvl to work when thread already has GVL
- OK the issue/bug is
https://github.com/ruby/ruby/blob/4797b0704ae49fb42c8ad9a45028efbe2298b5f5/thread.c#L1899
```
if (brb == 0) {
rb_bug("rb_thread_call_with_gvl: called by a thread which has GVL.");
}
```
@ko1 I t... -
11:56 AM Feature #20750: Allow rb_thread_call_with_gvl to work when thread already has GVL
- So what is the concrete issue if the pattern above is replaced by `rb_thread_call_with_gvl(method_call, &context);`?
Does `rb_thread_call_with_gvl()` fail if the GVL is already acquired?
If so, I think that would be a bug of `rb_thre... -
11:48 AM Bug #20745: IO::Buffer#copy triggers UB when src/dest buffers overlap
- I don't think we can legitimately expose an API that can lead to a crash if used incorrectly.
So yeah, I think we should check for overlapping pointer and either degrade to another copy routine that support overlapping pointers or rai... -
08:03 AM Bug #20745: IO::Buffer#copy triggers UB when src/dest buffers overlap
- If this is an intentional restriction to gain performance, I would like to propose adding documentation that the methods are unsafe and should not be used for overlapping copies. Not all Ruby users are familiar to C.
But `IO::Buffer` ... -
02:19 AM Bug #20745: IO::Buffer#copy triggers UB when src/dest buffers overlap
- Since the doc says "using `memcpy`", it may be intentionally undetermined/unsupported.
> Efficiently copy from a source IO::Buffer into the buffer, at +offset+
> ...
-
10:17 AM Bug #20753 (Closed): [doc] IO::Buffer examples try to write into readonly buffer returned from IO::Buffer.for
- `IO::Buffer.for` without a block returns a readonly `IO::Buffer`. Some examples in the documentation for `IO::Buffer` write into the readonly buffers, which actually raise an `IO::Buffer::AccessError`.
From `IO::Buffer#clear`:
> ```
... -
10:00 AM Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
- It results in bus errors with 3.1 and 3.2.
```
$ ruby3.2 -e 'IO::Buffer.for(RUBY_DESCRIPTION).slice.set_string("perl", 0, 4)'
-e:1: [BUG] Bus Error at 0x0000000100f08b18
ruby 3.2.5 (2024-07-26 revision 31d0f1a2e7) [arm64-darwin23]
... -
09:38 AM Bug #20752 (Closed): IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
- ```irb
irb(main):001> RUBY_DESCRIPTION.frozen?
=> true
irb(main):002> IO::Buffer.for(RUBY_DESCRIPTION).set_string('perl', 0, 4)
(irb):2:in 'IO::Buffer#set_string': Buffer is not writable! (IO::Buffer::AccessError)
from (irb)... -
06:30 AM Feature #20309: Bundled gems for Ruby 3.5
- Eregon (Benoit Daloze) wrote in #note-38:
> vo.x (Vit Ondruch) wrote in #note-35:
> ...
I was not aware of `--prefer-local` (I am trying to avoid Bundler as much as I can), but yes, that sounds as reasonable alternative. -
02:16 AM Revision 4797b070 (git): Prevent a warning (retry)
- ```
test/ruby/test_case.rb:75: warning: 'when' clause on line 75 duplicates 'when' clause on line 75 and is ignored
``` -
12:59 AM Revision 94a17f32 (git): Detect existing Visual Studio instances using `vswhere.exe`
- https://learn.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances?view=vs-2022#using-vswhereexe
> `vswhere.exe` is automatically included in Visual Studio 2017 and
> later - 12:06 AM Revision 7c4b0284 (git): YJIT: Accept key for runtime_stats to return only that stat (#11536)
09/17/2024
-
11:49 PM Bug #20751 (Closed): Regression in Prism related to use of return in default argument values
- kddnewton (Kevin Newton) wrote in #note-2:
> I believe this was fixed this morning. Could you double-check that this is still an issue?
Looks like it is fixed in ruby/prism, but not ruby/ruby, since https://github.com/ruby/prism/comm... -
11:37 PM Bug #20751: Regression in Prism related to use of return in default argument values
- I believe this was fixed this morning. Could you double-check that this is still an issue?
-
11:19 PM Bug #20751 (Closed): Regression in Prism related to use of return in default argument values
- All versions of parse.y dating at least back to Ruby 1.8.7, and Prism in both Ruby 3.3.5 and 3.4.0preview1, correctly parses this code:
```ruby
class A
def foo(b = nil || (return))
end
end
```
The master branch, unless `--... -
10:34 PM Feature #20750: Allow rb_thread_call_with_gvl to work when thread already has GVL
- Hello Benoit,
Thank you for your question.
Eregon (Benoit Daloze) wrote in #note-1:
> This seems like a strange pattern, why not just use `rb_thread_call_with_gvl` and remove the condition?
> ...
Yes, agreed. The pattern seems ov... -
08:03 PM Feature #20750: Allow rb_thread_call_with_gvl to work when thread already has GVL
- Note that the majority of the search results are just CRuby using it, and GitHub not detecting it's effectively copies of CRuby.
This seems like a strange pattern, why not just use `rb_thread_call_with_gvl` and remove the condition?
... -
04:52 PM Feature #20750 (Open): Allow rb_thread_call_with_gvl to work when thread already has GVL
- Hello All,
I'm hoping we can make `ruby_thread_has_gvl_p` a public method and no longer experimental.
I saw the following code in a gem that was not compiling with ruby 3.3:
``` c
// int ruby_thread_has_gvl_p(void); // <== line... -
10:12 PM Revision 39679d7f (git): [ruby/uri] Fix spelling of "cannot"
- https://github.com/ruby/uri/commit/77241d6508
-
08:35 PM Revision 5307c65c (git): Make rb_gc_impl_set_measure_total_time return void
-
08:09 PM Revision b203e667 (git): [rubygems/rubygems] Fix spelling, it's "cannot" rather than "can not"
- https://github.com/rubygems/rubygems/commit/3434f094a2
-
07:22 PM Revision dc61c7fc (git): Rename rb_gc_impl_get_profile_total_time to rb_gc_impl_get_total_time
-
07:22 PM Revision 2af080bd (git): Change rb_gc_impl_get_profile_total_time to return unsigned long long
-
07:22 PM Revision 5de7517b (git): Use unsigned long long for marking and sweeping time
-
06:47 PM Revision 748933aa (git): [ruby/prism] Accept "do" blocks in some parameter default values
- https://github.com/ruby/prism/commit/6d7b734dbe
-
02:39 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- Earlopain (A S) wrote in #note-5:
> Should this just work? If I do:
> ...
When Ruby is parsing/scanning code, and it gets to an expression that could be a local variable or method call, Ruby checks the local variables in scope. If the... -
09:00 AM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- Should this just work? If I do:
```rb
if a = 0.zero?
p a
end
```
it has no problem with it. I would expect these to be equivalent. Never wrote the one-liner myself, the longer form above I definitly do though
-
02:34 PM Revision 0160dafc (git): Replace all GC.disable with EnvUtil.without_gc
-
02:07 PM Revision 82151a86 (git): Fix a typo, sorry!
-
01:52 PM Revision fd5e5839 (git): Prevent two warnings
- ```
/home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby/test_case.rb:73: warning: 'when' clause on line 73 duplicates 'when' clause on line 73 and is ignored
/home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby... -
12:40 PM Bug #20749: Error message not shown in output with prism
- This was an issue with the error_highlight gem. I made a PR here: https://github.com/ruby/error_highlight/pull/48
-
12:37 PM Feature #20309: Bundled gems for Ruby 3.5
- vo.x (Vit Ondruch) wrote in #note-35:
> I don't think it is bad idea to start using `bundle install --local`, i.e. use gems which are already available on the system. And on top of that, stop using Bundler in containers for runtime in pr... -
09:40 AM Feature #20309: Bundled gems for Ruby 3.5
- > I don't think so. Bundler should provide that feature for like debug, stackprof and irb. I and @mame (Yusuke Endoh) discussed about that. We sometimes need to use that tools without updating Gemfile and its lockfile.
Yeah, that soun... -
08:53 AM Feature #20309: Bundled gems for Ruby 3.5
- >The fact that we want binding.irb to work regardless of being in a bundle exec context or not feels like a sign that irb should probably stay as a default gem?
I don't think so. Bundler should provide that feature for like `debug`, `... -
11:10 AM Revision cf063c00 (git): [rubygems/rubygems] Bump rubies in CI to 3.3.5
- A spec needed changes because now loading the default `json` prints a
warning about `ostruct` getting loaded although it will be removed in
the future. Use a different default gem to test this.
https://github.com/rubygems/rubygems/commi... -
08:48 AM Bug #20734: Test failure at FreeBSD 14.1
- I could build 4ca588eede and `git clean -fxd`.
But Ruby CI is still stopped from Sep 5th.
https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/recent.html
I'm investigating now. -
08:37 AM Bug #20631: Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
- `Process.daemon` is working fine at macOS 15.1 beta3 and Xcode 16 RC.
I enabled `TestProcess#test_daemon_noclose` again at https://github.com/ruby/ruby/commit/1ecac5d4ed620247bdb74fa2c20e1665fae75b1a -
07:16 AM Revision 1ecac5d4 (git): TestProcess#test_daemon_noclose is working fine with macOS 15.1 beta3 and Xcode 16 RC
-
06:44 AM Revision 95f08f2b (git): Skip failing examples related with https://github.com/ruby/ruby/commit/d81b0588bb3c97167d1f7e2d2a74185e0c19b68c
-
06:37 AM Revision c0116860 (git): Removed accidentally commit for snapshot file of prism
-
06:12 AM Revision d81b0588 (git): [ruby/strscan] Accept String as a pattern at non head
- (https://github.com/ruby/strscan/pull/106)
It supports non-head match cases such as StringScanner#scan_until.
If we use a String as a pattern, we can improve match performance.
Here is a result of the including benchmark.
## CRuby
It... -
05:41 AM Revision 7d80c139 (git): Unlock parallel_tests
-
05:39 AM Revision 80e934c2 (git): [rubygems/rubygems] Fix `--local` hitting the network when default gems are included
- https://github.com/rubygems/rubygems/commit/b9a2d4d539
-
05:39 AM Revision 335d6309 (git): [rubygems/rubygems] Improve spec
- The behavior it's testing is independent from the bundle path being
used.
https://github.com/rubygems/rubygems/commit/9a4b32ec82 -
05:39 AM Revision 166cde7d (git): [rubygems/rubygems] Fix spec to setup a default gem correctly
- Looking at the description is something that used to be done a long time
ago.
https://github.com/rubygems/rubygems/commit/9c226f52a6 -
05:39 AM Revision 7428709d (git): [rubygems/rubygems] Inline a private method
- Removes an (in my opinion) excessive indirection and handles options
more consistently.
https://github.com/rubygems/rubygems/commit/642e6d2c0c -
05:39 AM Revision 7e0934d3 (git): [rubygems/rubygems] Consistently access install options through symbol keys
- https://github.com/rubygems/rubygems/commit/7ddf1dc70a
-
05:15 AM Revision 70111fcc (git): Prevent a warning due to error recovery of prism
-
05:10 AM Revision d90da940 (git): Prevent warnings for RubyVM::AbstractSyntaxTree.parse in test_ast.rb
-
04:56 AM Revision d84b062b (git): Prevent warning: assigned but unused variable - message
- 03:54 AM Revision 4ca588ee (git): Bump github/codeql-action from 3.26.6 to 3.26.7
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.6 to 3.26.7.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md... -
03:52 AM Revision bb2d2473 (git): [DOC] Fix autoload method formatting
-
03:46 AM Revision bb7025b7 (git): Activate irb if irb is bundled gems
-
03:44 AM Revision 76d927f8 (git): Prevent prism warnings in syntax exhaustive tests
- [Bug #20736]
-
12:28 AM Revision 4e59e7d3 (git): [Bug #20737] Do not warn default gems to be promoted in Ruby 3.5 (#11613)
-
12:11 AM Bug #20723 (Closed): `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
- Applied in changeset commit:git|e08d5239b68ad61a731f4938cf963e37a5e88c25.
----------
Ensure fiber scheduler is woken up when close interrupts read
If one thread is reading and another closes that socket, the close
blocks waiting for th... -
12:11 AM Revision e08d5239 (git): Ensure fiber scheduler is woken up when close interrupts read
- If one thread is reading and another closes that socket, the close
blocks waiting for the read to abort cleanly. This ensures that Ruby is
totally done with the file descriptor _BEFORE_ we tell the OS to close
and potentially re-use it.
...
09/16/2024
-
08:35 PM Feature #20309: Bundled gems for Ruby 3.5
- Eregon (Benoit Daloze) wrote in #note-34:
> There is an additional issue with making fiddle a bundled gem: it means any usage now must have libffi headers available or it will fail to install.
> ...
I don't think it is bad idea to star... -
10:27 AM Feature #20309: Bundled gems for Ruby 3.5
- There is an additional issue with making fiddle a bundled gem: it means any usage now must have libffi headers available or it will fail to install.
Before, it would just work because fiddle would have been built when CRuby was built.
... -
07:58 PM Revision 50d4840b (git): Move desired_compaction_pages_i inside of GC_CAN_COMPILE_COMPACTION
- Fixes the following warning on WebAssembly:
gc/default.c:7306:1: warning: unused function 'desired_compaction_pages_i' [-Wunused-function]
desired_compaction_pages_i(struct heap_page *page, void *data) -
07:55 PM Bug #20747 (Closed): [prism] regression in retry precedence
-
07:28 PM Bug #20747: [prism] regression in retry precedence
- I have opened a PR to fix this: https://github.com/ruby/prism/pull/3073.
-
08:26 AM Bug #20747 (Closed): [prism] regression in retry precedence
- Since prism has been made the default, our test suite now fail to boot with the following error:
```ruby
syntax error found (SyntaxError)
298 | raise e
299 | else
> 300 | retry
| ^~... -
07:55 PM Revision 7e2ae30f (git): [ruby/prism] Handle retry doubly nested under rescue
- Fixes [Bug #20747]
https://github.com/ruby/prism/commit/d3194715a9 -
06:58 PM Bug #20744 (Closed): syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
- Applied in changeset commit:git|2ea1950510003dbce5a761a712039ed69fa499f2.
----------
[ruby/prism] Do not leak explicit encoding
Fixes [Bug #20744]
https://github.com/ruby/prism/commit/f1b8b1b2a2 -
06:41 PM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
- I have opened a PR to fix this.
https://github.com/ruby/prism/pull/3071 -
12:49 PM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
- Thank you for the report, I will take a look.
-
07:07 AM Bug #20744: syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
- I'm unsure if this is the same case as Rails, but I found a reproduce code.
``` ruby
# encoding: US-ASCII
str = String.new("hello \xFC", encoding: Encoding::ISO_8859_1).encode(Encoding::UTF_8)
puts str =~ /hello \u{fc}/
```
#... -
04:33 AM Bug #20744 (Closed): syntax error found (SyntaxError) `UTF-8 mixed within US-ASCII source` reported Ruby with Prism parser
- I'm reporting this issue based on Rails Nightly CI against Ruby 3.4.0dev.
https://buildkite.com/rails/rails-nightly/builds/1023#0191ed31-1d77-4705-ab65-cecab76e2c88/1175-1209
I have not able to create a minimum test case without Rails... -
06:57 PM Revision 2ea19505 (git): [ruby/prism] Do not leak explicit encoding
- Fixes [Bug #20744]
https://github.com/ruby/prism/commit/f1b8b1b2a2 -
06:38 PM Revision 1e53e462 (git): Don't export unnecessary string functions
- These functions are not used publicly, so we don't need to export them.
-
06:31 PM Bug #20741 (Closed): RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
-
03:04 PM Bug #20741: RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
- I have submitted a PR that will fix this https://github.com/ruby/ruby/pull/11632.
-
06:31 PM Revision 2beb4c6e (git): [PRISM] Assume an eval context for RubyVM::ISEQ compile
- Fixes [Bug #20741]
-
05:36 PM Revision 6c4ce726 (git): [ruby/irb] Use InstructionSequence#script_lines to get method source
- (https://github.com/ruby/irb/pull/1005)
It works with both prism and parse.y
https://github.com/ruby/irb/commit/bcfaa72d5a -
04:33 PM Revision 1c3981cb (git): [DOC] Tweaks for Array#select!
-
04:33 PM Revision 4e17fa29 (git): Tweaks or Array#select
-
04:14 PM Misc #20717: DevMeeting-2024-10-03
- * [Misc #20728] Add eileencodes as a core committer
* She's made many useful contributions
* She's currently helping to maintain Prism / Prism Compiler and it would be helpful if she can merge her own commits -
08:05 AM Misc #20717: DevMeeting-2024-10-03
- * [Misc #20746] Request to migrate the `json` gem from `flori/json` repository to `ruby/json` (byroot)
* Current maintainers don't have full administrative rights over the repo, which is problematic.
* We've been trying to contact ... -
03:54 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- Actually, the pattern is fairly common, I should have searched for `unless` usage in addition to `if`:
```
lib/rdoc/code_object/any_method.rb: return nil unless klass = @store.find_class_or_module(klass_name)
lib/rdoc/code_obje... -
03:48 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- Eregon (Benoit Daloze) wrote in #note-2:
> jeremyevans0 (Jeremy Evans) wrote in #note-1:
> ...
The pattern is used in the standard library. Here's a list of assignments in post-conditionals that don't use parentheses around the assign... -
11:42 AM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Assigning in post-conditionals is a fairly common in Ruby.
Is it? I don't think I've seen that often or maybe even never.
-
03:54 PM Bug #20748 (Closed): Issue with defined? given method call with block in prism compiler
- Applied in changeset commit:git|1e52dde82af10f2a2ec648b34dce30bec4154245.
----------
[PRISM] Match defined behavior for explicit block
Fixes [Bug #20748] -
03:29 PM Bug #20748: Issue with defined? given method call with block in prism compiler
- I agree it's weird but it could cause an incompatibility I guess, `defined?()` is a weird one for sure.
-
03:16 PM Bug #20748: Issue with defined? given method call with block in prism compiler
- I have opened a PR for this to match the behavior exactly, but I will say I think Prism's behavior is actually correct here. Right now compile.c results in:
```ruby
puts defined?(undefined_method(){}) # => "expression"
puts defined?... -
01:59 PM Bug #20748 (Closed): Issue with defined? given method call with block in prism compiler
- test.rb
```ruby
puts defined?(undefined_method(){})
```
```
./ruby --parser=parse.y -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
expression
```
```
./ruby --parser=prism -I../ruby... -
03:53 PM Revision 1e52dde8 (git): [PRISM] Match defined behavior for explicit block
- Fixes [Bug #20748]
-
02:41 PM Bug #20237 (Closed): Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
-
06:42 AM Bug #20237: Unable to unshare(CLONE_NEWUSER) in Linux because of timer thread
- Thank you @ko1 for sharing the current situation. I'm fine with closing this ticket as it is due to the design decision and (AFAIK) the original behavior had never been documented.
-
02:16 PM Bug #20749 (Closed): Error message not shown in output with prism
- test.rb:
```ruby
p = Proc.new
```
```
./ruby --parser=parse.y -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
../ruby/test.rb:1:in 'Proc.new': tried to create Proc object without a bloc... -
01:27 PM Revision 50564f88 (git): ASAN unpoison whole heap page after adding to size pool
-
01:27 PM Revision 46ba3752 (git): Don't return inside of asan_unpoisoning_object
-
01:27 PM Revision c5a782df (git): Replace with asan_unpoisoning_object
-
01:13 PM Revision f4f46af9 (git): Complete spec
- Co-authored-by: Vít Ondruch <vondruch@redhat.com>
-
01:13 PM Revision 2bfeedc0 (git): [rubygems/rubygems] Simplify handling default gem caching
- By the time `cached_gem` is called, default gem cache has already been
handled. So no need to try redownload it again, it's enough to check the
cache location directly.
https://github.com/rubygems/rubygems/commit/70e10236b6 -
12:44 PM Revision d57bc870 (git): [PRISM] Remove snapshot testing from Prism sync
-
11:38 AM Misc #20746: Request to migrate the json gem from flori/json repository to ruby/json
- +1, as I wrote in https://github.com/flori/json/issues/591 I think this is important for many reasons.
-
08:02 AM Misc #20746 (Closed): Request to migrate the json gem from flori/json repository to ruby/json
- ### Context
The `json` gem, which is part of Ruby's default gems, is the only default gem (aside from `rubygems` itself) for which the source repository isn't under the `ruby/` organization.
@naruse and @hsbt, the two maintainers h... -
11:37 AM Revision fab01b15 (git): [rubygems/rubygems] Remove temporary `.lock` files left around by gem installer
- https://github.com/rubygems/rubygems/commit/edbb2e3475
-
11:37 AM Revision 7411caa1 (git): [rubygems/rubygems] Make sure implementations of `Gem.open_file_with_flock` match
- https://github.com/rubygems/rubygems/commit/174a8e5284
-
06:51 AM Bug #20745: IO::Buffer#copy triggers UB when src/dest buffers overlap
- `#set_string` in combination with `.for` with a block has the same problem.
```shell-session
% docker run --platform=linux/amd64 --rm ruby:3.3.5-alpine3.20 ruby -e 's=+"0123456789"; IO::Buffer.for(s) {|b| b.set_string(s, 3, 7, 0) }; ... -
06:33 AM Bug #20745 (Closed): IO::Buffer#copy triggers UB when src/dest buffers overlap
- The current implementation of `IO::Buffer#copy` uses `memcpy` to copy data between the two memory regions. `memcpy` has a requirement that the source and destination must not overlap; otherwise the behavior is undefined.
When copying ... -
01:35 AM Feature #20738: Removing a specific entry from a hash literal
- It would be better to explain the motive. This is an appropriate code.
``` ruby
{
foo: 1
bar: 2
}
```
This is not a mistake, but it's a circuitous code.
``` ruby
h = {}
h[:foo] = 1
h[:bar] = 2
h
```
The gist of ... -
01:19 AM Feature #20738: Removing a specific entry from a hash literal
- I would like to offer that as I used a simple grep pattern, I could only find simple examples. I wanted to show that this is not as rare as it seems.
09/15/2024
-
07:15 PM Bug #20726: Issue with hash without braces when assigned to constant with ractor literals
- This problem was not reproduced with `--parser=prism`, but with `--parser=parse.y`.
```ruby
# shareable_constant_value: literal
# test.rb
puts RUBY_DESCRIPTION
A = [a: 1]
p A
```
```shell
$ ruby --parser=prism test.rb
r... -
06:07 PM Bug #20743: ruby doesn't properly split RUBY_DEBUG_LOG_FILTER into items
- Apparently introduced in the following commit:
https://github.com/ruby/ruby/commit/5a4f997b2e8e819ed40731cd769826112072a9d4#diff-1cae4f3b0e13ea38a331366fa5370f5648b2c37090a19e8fba9b8e921c36f505R369 -
05:58 PM Bug #20743 (Assigned): ruby doesn't properly split RUBY_DEBUG_LOG_FILTER into items
- ```
$ docker run --rm alpine:3.20.3 sh -euxc '
apk add git build-base autoconf ruby yaml-dev zlib-dev openssl-dev libffi-dev
git clone https://github.com/ruby/ruby
cd ruby
git checkout 532af89e3b5b78dd3a6fe29c6cc64ad... -
06:06 PM Feature #20738: Removing a specific entry from a hash literal
- > There are several Rails codes that can be improved with this feature.
As one of the maintainer of the code you linked to, I agree with @jeremyevans0 that it's currently fine as it is. I wouldn't use such feature if it was added. -
04:32 PM Feature #20738: Removing a specific entry from a hash literal
- ursm (Keita Urashima) wrote in #note-9:
> There are several Rails codes that can be improved with this feature. In my opinion, it is especially useful in multiple situations, such as generating JSON responses and constructing HTTP reque... -
12:36 PM Feature #20738: Removing a specific entry from a hash literal
- Eregon (Benoit Daloze) wrote in #note-8:
> I don't think it's very frequent to need this to warrant a syntax change either.
There are several Rails codes that can be improved with this feature. In my opinion, it is especially useful ... -
05:52 PM Feature #20742: Trying to assign to a variable in statement modifier should emit a warning
- Assigning in post-conditionals is a fairly common in Ruby. If this is to be a warning, it would have to be limited to cases where the variable being assigned in the post-conditional was not in scope before the post-conditional, and is a...
-
05:42 PM Feature #20742 (Open): Trying to assign to a variable in statement modifier should emit a warning
- There is an example in Control Expressions documentation:
```
p a if a = 0.zero? # raises NameError “undefined local variable or method ‘a’”.
```
However, if we had already defined `a` there would be no exception raised. If one u... -
10:25 AM Bug #20736: prism emits wrong warnings in syntax-error code
- I think good error recovery is key to have helpful error messages when writing Ruby code.
Maybe one way here is to not show warnings if there are any errors?
OTOH I think it is not a big usability problem, warnings appear first and t... -
12:51 AM Bug #20736: prism emits wrong warnings in syntax-error code
- https://github.com/ruby/ruby/pull/11626
-
12:46 AM Bug #20736: prism emits wrong warnings in syntax-error code
- I wonder if error recovery is needed in the interpreter's parser. It might be a benefit to be able to output almost all syntax errors in one run. However, I am not sure about the benefit, given the such confusing warnings.
Well, let's... -
09:10 AM Bug #20741: RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
- > prism?
Yes:
```
$ ./miniruby --parser=parse.y -we 'p RubyVM::InstructionSequence.compile("42").eval'
42
$ ./miniruby --parser=prism -we 'p RubyVM::InstructionSequence.compile("42").eval'
<compiled>:1: warning: possibly useles... -
01:05 AM Bug #20741 (Closed): RubyVM::InstructionSequence.compile emits a wrong warning (prism?)
- ```
$ ./local/bin/ruby -we 'p RubyVM::InstructionSequence.compile("42").eval'
<compiled>:1: warning: possibly useless use of a literal in void context
42
``` -
01:06 AM Revision 532af89e (git): Prevent warnings: the block passed to ... may be ignored
-
01:05 AM Revision bc13ec73 (git): Prevent warnings: assigned but unused variable
09/14/2024
-
04:34 PM Feature #20738: Removing a specific entry from a hash literal
- I don't think it's OK to magically drop entries from a literal based on some value, it's way too surprising.
Notably this would make the capacity of the literal potentially wrong, etc.
And of course `Hash::DROP` could leak into some vari... -
05:24 AM Feature #20738: Removing a specific entry from a hash literal
- I believe that the following two points will prevent the same problems as in the past:
1. Use a value that is never used (e.g., Hash::DROP) instead of nil.
2. Special treatment of “special value” only if the hash is constructed with ... -
04:53 AM Feature #20738: Removing a specific entry from a hash literal
- History. Long ago in Ruby, such a special value actually existed. It was `nil`.
```ruby
# ruby 1.4.6
h = { 1 => 2 }
p h #=> {1=>2}
# This removes the key 1
h[1] = nil
p h #=> {}
```
However, there were more and more ... -
07:54 AM Bug #20730: LoadError if Rakefile has shebang
- `ruby` command handles a shebang, but it is not a part of the Ruby syntax.
Parsers should not consider shebang lines.
09/13/2024
-
08:58 PM Bug #20736: prism emits wrong warnings in syntax-error code
- Right now Prism is lexing `9a` as an integer and then an identifier. So it's effectively parsing it as `1; 2; 9; a`. That's why it's warning that `9` is a useless literal. I could change this in the parser to parse it instead as a missin...
-
07:51 PM Bug #20736: prism emits wrong warnings in syntax-error code
- Although I can understand the technical reason, I still feel a bit uncomfortable when the warning says “use of a literal” since `9a` is clearly not a literal to the human eye.
As a practical matter, this behavior causes a lot of warni... -
05:02 PM Bug #20736 (Feedback): prism emits wrong warnings in syntax-error code
-
03:32 PM Bug #20736: prism emits wrong warnings in syntax-error code
- This is because Prism recovers from the syntax error. For example:
```ruby
eval("1; 2; 9a; 3; 4; 5; 9b")
```
with Prism this will give:
```
(eval at test.rb:1):1: warning: possibly useless use of a literal in void context
(e... -
03:23 AM Bug #20736 (Feedback): prism emits wrong warnings in syntax-error code
- ```
$ ./local/bin/ruby -w --parser=parse.y -e 'begin eval("0a"); rescue SyntaxError; end'
$ ./local/bin/ruby -w --parser=prism -e 'begin eval("0a"); rescue SyntaxError; end'
(eval at -e:1):1: warning: possibly useless use of a literal... -
07:30 PM Revision ddbd6440 (git): [ruby/prism] Stat file first to check directory
- https://github.com/ruby/prism/commit/4ed7de537b
-
07:16 PM Bug #20473: Ractor array/hash literals
- Okay, makes sense. Maybe if/when ractors are used more I'll take a look at this again.
-
07:13 PM Revision f85efc97 (git): [ruby/prism] Expose main_script in serialization API
- https://github.com/ruby/prism/commit/0b527ca93f
-
06:13 PM Bug #20735 (Closed): prism emits "ambiguous `&`" warning
-
04:49 PM Bug #20735: prism emits "ambiguous `&`" warning
- I have opened https://github.com/ruby/ruby/pull/11622 to fix this.
-
02:40 AM Bug #20735 (Closed): prism emits "ambiguous `&`" warning
- ```
$ ./local/bin/ruby -w --parser=parse.y -e 'def foo(&) = nil; foo &:bar'
$ ./local/bin/ruby -w --parser=prism -e 'def foo(&) = nil; foo &:bar'
-e:1: warning: ambiguous `&` has been interpreted as an argument prefix
``` -
06:09 PM Bug #20730 (Closed): LoadError if Rakefile has shebang
- Applied in changeset commit:git|9afc6a981deae6e23d938cf5c2c4baadfeaafdb1.
----------
[PRISM] Only parse shebang on main script
Fixes [Bug #20730] -
03:23 PM Bug #20730: LoadError if Rakefile has shebang
- I have opened https://github.com/ruby/ruby/pull/11617 to fix this.
-
01:19 AM Bug #20730 (Closed): LoadError if Rakefile has shebang
- `LoadError` exception will be raised when invoke the rake task with latest ruby 3.4-dev.
### Reproduce code
Here is example code.
```ruby
#!/usr/bin/env rake
p "Hello"
```
### Result
```
$ ruby -v
ruby 3.4.0dev (2024-09... -
06:09 PM Revision 77521afa (git): [PRISM] Do not warn ambiguous ampersand when symbol literal
- Fixes [Bug #20735]
-
05:44 PM Feature #20309: Bundled gems for Ruby 3.5
- Regarding `irb`, I find it concerning that we need to add code like this: https://github.com/ruby/ruby/blob/9afc6a981deae6e23d938cf5c2c4baadfeaafdb1/prelude.rb#L12-L44. Those are internals of Bundler that are likely to break, and I can't...
-
05:16 PM Bug #20737: Accidentally changed warning target on Ruby 3.3
- Agreed, I didn't expect new warnings in 3.3.5 when 3.3.4 did not warn, and extra warnings can break CI (e.g. #20713).
-
05:57 AM Bug #20737 (Closed): Accidentally changed warning target on Ruby 3.3
- https://github.com/ruby/ruby/pull/11613
-
04:10 AM Bug #20737: Accidentally changed warning target on Ruby 3.3
- Makes sense. Let's revert that back to the Ruby 3.3.4 one in Ruby 3.3.6.
-
04:03 AM Bug #20737 (Closed): Accidentally changed warning target on Ruby 3.3
- I heard that concern from yhonda.
I request to backport bundled_gems.rb that is same version of the current master. After that, Ruby 3.3.5 show warnings when some default gems was loaded.
https://github.com/ruby/ruby/blob/ruby_3_3/... -
05:12 PM Misc #20739: Test suite does not carry over CLI options
- I think it's a real issue and sometimes valuable to fix (it hurts the coverage of tests * flags).
#6648 could be helpful to automatically inherit passed flags.
Alternatively, we could ensure we only pass options for tests through `RUBYOP... -
01:37 PM Misc #20739 (Open): Test suite does not carry over CLI options
- I'm not sure if anything needs to change here, but I wanted to report this in case anyone had any particular ideas. When running the ruby/ruby test suite, lots of tests call `EnvUtil.invoke_ruby` directly or indirectly through `assert_in...
-
05:01 PM Bug #20731 (Closed): warning: mismatched indentations at 'when' appears with prism enabled ruby
-
04:08 PM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
- I have opened https://github.com/ruby/ruby/pull/11620 to fix this.
-
02:42 AM Bug #20731 (Assigned): warning: mismatched indentations at 'when' appears with prism enabled ruby
-
01:37 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
- @mame
Thanks! -
01:34 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
- The wrong warning with `rss` gem is a different issue. I have created a separate ticket #20732.
-
01:24 AM Bug #20731: warning: mismatched indentations at 'when' appears with prism enabled ruby
- I also have similar issues with `rss`.
```
/Users/hsbt/Documents/github.com/ruby/ruby/gems/src/rss/lib/rss/1.0.rb:81: warning: mismatched indentations at ‘else’ with ‘if’ at 79
(snip)
```
https://github.com/ruby/rss/blob/master/... -
01:20 AM Bug #20731 (Closed): warning: mismatched indentations at 'when' appears with prism enabled ruby
- ### Steps to reproduce
1. Create a `case_sample.rb` file
```
foo = :bar
case foo
when :bar
p 'foo is :bar'
when :baz
# do something
else
# do something
end
```
2. Run this file against the latest Ruby 3.4.0... -
04:51 PM Revision 9afc6a98 (git): [PRISM] Only parse shebang on main script
- Fixes [Bug #20730]
-
04:51 PM Revision d42d1905 (git): [PRISM] Allow case/when to be indented with no warning
- Fixes [Bug #20731]
-
04:45 PM Bug #20740: prism_compile coding issue for PM_FORWARDING_SUPER_NODE
- PR here: https://github.com/ruby/ruby/pull/11621
-
04:44 PM Bug #20740 (Closed): prism_compile coding issue for PM_FORWARDING_SUPER_NODE
- I found a coding issue in prism_compile.c but I can't find a bug that would result from it.
The `current_block` is not set back when a block is given. -
04:09 PM Bug #20732 (Closed): prism emits "mismatched indentations" warning in eval
- Applied in changeset commit:git|74f315c3f5908512dfdeeab2dd76d93e98149769.
----------
[PRISM] Turn off mismatched indentation warnings in eval
Fixes [Bug #20732] -
03:26 PM Bug #20732: prism emits "mismatched indentations" warning in eval
- I have opened https://github.com/ruby/ruby/pull/11618 to fix this.
-
01:28 AM Bug #20732 (Closed): prism emits "mismatched indentations" warning in eval
- ```ruby
eval(<<-EOC)
if @check
end
EOC
```
```
$ ruby --parser=parse.y -w t.rb
$ ruby --parser=prism -w t.rb
(eval at t.rb:1):2: warning: mismatched indentations at 'end' with 'if' at 1
```
This issue actually occurs in ... -
04:08 PM Revision 74f315c3 (git): [PRISM] Turn off mismatched indentation warnings in eval
- Fixes [Bug #20732]
-
03:05 PM Revision 353997dd (git): [ruby/prism] Refactor and move common node flags count into a constant to reuse in templates
- https://github.com/ruby/prism/commit/c20bf05ecc
-
03:05 PM Revision 38f8f42e (git): [ruby/prism] Unify code style of flags generation in the nodes templates
- https://github.com/ruby/prism/commit/dbb7e0a44e
-
02:58 PM Feature #20738: Removing a specific entry from a hash literal
- With the previous idea, I can't have both removing entries and returning nil depending on the condition.
``` ruby
# If user.child? is true and user.parent is nil, I want parent_name: nil, but the entry is removed.
{
?parent_name:... -
01:17 PM Feature #20738: Removing a specific entry from a hash literal
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> "A special value" doesn't feel like a good idea to me.
Hmmm, does that mean we should extend the syntax? For example, something like this?
``` ruby
{
foo: 1,
?bar: nil
} #=> {foo... -
12:16 PM Feature #20738: Removing a specific entry from a hash literal
- Yes, I sometimes do that as well. However, I am not happy that the shape of the resulting hash is unclear.
-
11:59 AM Feature #20738: Removing a specific entry from a hash literal
- How about using `**`?
```ruby
def bar? = false
{
foo: 1,
**(bar? ? { bar: 2 } : {})
}
# => {:foo=>1}
```
Also, you can use `**nil` in ruby 3.4-dev.
```ruby
def bar? = false
{
foo: 1,
**({ bar: 2 } if bar?)... -
07:57 AM Feature #20738: Removing a specific entry from a hash literal
- "A special value" doesn't feel like a good idea to me.
-
07:33 AM Feature #20738 (Rejected): Removing a specific entry from a hash literal
- Sometimes I want to decide whether or not to add a particular entry to a hash depending on a condition. If the entire hash does not use nil, I can use Hash#compact.
```ruby
{
foo: 1,
bar: bar? ? 2 : nil
}.compact
```
But i... -
02:06 PM Revision c996f409 (git): Ignore -Wdangling-pointer in rb_gc_set_stack_end
- Fixes this compiler warning:
thread.c:4530:18: warning: storing the address of local variable ‘stack_end’ in ‘*stack_end_p’ [-Wdangling-pointer=]
4530 | *stack_end_p = &stack_end;
| ~~~~~~~~~~~~~^~~~~~~~~~~~ -
01:17 PM Revision f0dcbbe9 (git): [ruby/prism] Reverse-sync numbered reference range handling
- https://github.com/ruby/prism/commit/a2f57ef6e3
-
12:42 PM Revision 36b2fea6 (git): [rubygems/rubygems] Remove `BUNDLER_IGNORE_DEFAULT_GEM`
- As long as we use a high enough test version, the default version of
Bundler should never get in the middle.
https://github.com/rubygems/rubygems/commit/d63f0818aa -
12:42 PM Revision 8e2d971b (git): [rubygems/rubygems] Remove redundant arguments passed to `bundle` helper
- They are used by default.
https://github.com/rubygems/rubygems/commit/0b7f7d879f -
12:42 PM Revision 64252851 (git): [rubygems/rubygems] Make sure test does not load system version of Bundler
- https://github.com/rubygems/rubygems/commit/d850ea1d95
-
10:37 AM Bug #20725 (Closed): Inconsistent handling of doubly-unbounded ranges in Range#overlap?
- Applied in changeset commit:git|24493779b79bb57fd2e71bf6e0ababe95448a9d6.
----------
[Bug #20725] Should not call compare on `nil`-endpoint
It means unbounded, always inclusive of other ranges. -
01:56 AM Bug #20725: Inconsistent handling of doubly-unbounded ranges in Range#overlap?
- https://github.com/ruby/ruby/pull/11609
-
09:23 AM Revision 24493779 (git): [Bug #20725] Should not call compare on `nil`-endpoint
- It means unbounded, always inclusive of other ranges.
-
07:52 AM Revision 0f3dc2f9 (git): Prevent warnings "the block passed to ... may be ignored"
-
07:45 AM Bug #20723: `IO#close` is broken on Ruby 3.3+ when using the Fiber scheduler.
- Sorry about this. I think https://github.com/ruby/ruby/pull/11614 is the smallest diff that will fix the issue (and this should probably be backported to 3.3).
Separately to that, I wonder if we need to wrap up some common function fo... -
06:49 AM Revision b6c7226f (git): Put typeprof.gemspec
-
06:49 AM Revision f090d1fa (git): Try to find bundled gem version from lib/*/version.rb
-
06:49 AM Revision cf5b9658 (git): Use the development version of typeprof in test-bundled-gems
- 05:35 AM Revision 58942023 (git): typo otherBasis -> orthoBasis
- The original function name in ao.c was orthoBasis.
I guess the function is generating orthonormal basis (https://en.wikipedia.org/wiki/Orthonormal_basis). -
04:19 AM Revision 3146cbbb (git): Dont't warn reline called from irb, reline is already declared at irb gemspec
-
02:39 AM Revision 6ae05584 (git): [ruby/net-http] Prevent warnings
- ```
/home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:32: warning: assigned but unused variable - e
/home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:61: warning: assigned but unu... -
02:34 AM Revision 5e3f1b6a (git): Prevent a warning: assigned but unused variable - exp_events
-
02:32 AM Revision d1d0c50c (git): Prevent a warning: assigned but unused variable - t0
-
02:30 AM Bug #20734 (Closed): Test failure at FreeBSD 14.1
- FreeBSD 14.1 build is also failure with ruby master. This is different error from #20733
```
[hsbt@freebsd ~/ruby]$ make
BASERUBY = /usr/local/bin/ruby --disable=gems
CC = clang
LD = ld
LDSHARED =... -
02:29 AM Bug #20733 (Open): Build failure OpenSSL extension with FreeBSD 13.3
- FreeBSD 13.3 build on Ruby CI was failure from 1 week ago. I manually build ruby master on FreeBSD 13 and got the following error.
```
[hsbt@freebsd /usr/home/hsbt/ruby]$ make
BASERUBY = /usr/local/bin/ruby --disable=gems
... -
01:39 AM Misc #20728: Propose Eileen Uchitelle as a core committer
- I thought she was a committer long ago.
-
12:47 AM Bug #20729 (Closed): Test failure with 0fc8422a05 and native mswin environment
- I got the following failure with mswin environment.
```
1) Failure:
TestRubyOptions#test_command_line_progname_nonascii [C:/Users/hsbt/DevDrive/github.com/ruby/ruby/test/ruby/test_rubyoptions.rb:1086]:
[ruby-dev:48752] [Bug #1055... -
12:28 AM Revision d80a81c1 (git): Constify `struct getpwnam_r_args::login`
09/12/2024
-
10:44 PM Misc #20728: Propose Eileen Uchitelle as a core committer
- +1
-
08:48 PM Misc #20728: Propose Eileen Uchitelle as a core committer
- +1
-
08:25 PM Misc #20728: Propose Eileen Uchitelle as a core committer
- +1
-
08:17 PM Misc #20728: Propose Eileen Uchitelle as a core committer
- +1, I think Eileen would make a great addition, especially as a maintainer on the Prism parser / compiler. She's also been participating in the MMtk GC integration and her help in that area is valuable as well.
-
07:18 PM Misc #20728 (Closed): Propose Eileen Uchitelle as a core committer
- I'd like to propose Eileen Uchitelle (@eileencodes) as a core committer. Now that Prism ([Feature #20564]) is merged, I would like her help maintaining the Prism parser and compiler without having to go through me to get patches merged.
... -
09:36 PM Feature #20564 (Open): Switch default parser to Prism
- >Is there the criteria for reverting this until Ruby 3.4 release?
I'm still waiting this answer. -
05:43 PM Feature #20564 (Closed): Switch default parser to Prism
- Per this ticket, I have merged https://github.com/ruby/ruby/pull/11497 to switch the default parser on master. The caveats in this ticket still apply, and I will be working on those next.
As a part of this PR I have added a new GitHub... -
08:03 PM Revision 0fc8422a (git): Move checks for heap traversal to rb_gc_mark_weak
- If we are during heap traversal, we don't want to call rb_gc_impl_mark_weak.
This commit moves that check from rb_gc_impl_mark_weak to rb_gc_mark_weak. -
08:03 PM Revision 92b7b78e (git): Assert that we are during GC when marking
-
08:03 PM Revision 661f64e8 (git): Add variable objspace in RB_GC_MARK_OR_TRAVERSE
-
08:03 PM Revision 606db2c4 (git): Move special const checks to rb_gc_mark_weak
-
07:49 PM Revision 2d495300 (git): [PRISM] Fix up pm_compile_branch_condition issue with single insn iseqs
-
07:19 PM Revision 0960c8aa (git): [DOC] Tweaks for Array#fetch_values (#11603)
-
07:18 PM Revision ce5fd35b (git): [DOC] Tweaks for Array#fetch (#11602)
-
07:07 PM Revision 05e02783 (git): [PRISM] Ignore test_parse_directory if error is nil
-
06:55 PM Bug #20473: Ractor array/hash literals
- Truthfully it might not be worth adding these optimizations. It's a lot to maintain in both compilers, and this kind of literal is extremely unlikely to be used with Ractors until other problems with Ractors are solved. I would just as s...
-
06:40 PM Bug #20473: Ractor array/hash literals
- I added back the array literal optimizations here: https://github.com/luke-gru/ruby/tree/bug20473
I didn't send a PR because it's not working with prism yet. Let me know if this is an okay solution, I could get it working for prism to... -
06:09 PM Bug #20727 (Assigned): YJIT segmentation fault inside of invalidate_block_version
- For a while we've been seeing an occasional segfault in production inside of YJIT's invalidation code. It seems to happen most often when a invalidation on a widely used CME.
```
[BUG] Segmentation fault at 0x0000000000000014"
"ruby... -
05:43 PM Bug #20586 (Closed): Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted
- Applied in changeset commit:git|f2919bd11c570fc5f5440d1f101be38f61e3d16b.
----------
Add error checking to readdir, telldir, and closedir calls in dir.c
Raise SystemCallError exception when these functions return an error.
This change... -
05:43 PM Revision 9c461cd1 (git): [PRISM] Check error type for parsing directory
-
05:43 PM Revision 38ba15be (git): [ruby/prism] Check errno for parsing directory
- https://github.com/ruby/prism/commit/d68ea29d04
-
05:43 PM Revision ca61729f (git): Fix opening multibyte character filepath on Windows
-
05:43 PM Revision d4af38ec (git): Fix FILE_SHARE_* permissions for Windows in read_entire_file
-
05:43 PM Revision d5232fd7 (git): Temporarily exclude some TestRubyOptions test for parse.y
- The description has been updated when running with Prism to have
+PRISM, which means that tests asserting against the description
when running with --parser=parse.y will be incorrect if the
subprocess ends up using Prism. We need to fix ... -
05:43 PM Revision f59b908e (git): [PRISM] Omit some TestAST tests when Prism is enabled
-
05:43 PM Revision d4ab1e44 (git): [PRISM] Move compile scope node to its own function
-
05:43 PM Revision c4b43692 (git): [PRISM] Move case node compilation into its own function
-
05:43 PM Revision ea2af578 (git): Switch the default parser from parse.y to Prism
- This commit switches the default parser to Prism. There are a
couple of additional changes related to this that are a part of
this as well to make this happen.
* Switch the default parser in parse.h
* Remove the Prism-specific workflow ... -
05:04 PM Revision f2919bd1 (git): Add error checking to readdir, telldir, and closedir calls in dir.c
- Raise SystemCallError exception when these functions return an error.
This changes behavior for the following case (found by the tests):
```ruby
dir1 = Dir.new('..')
dir2 = Dir.for_fd(dir1.fileno)
dir1.close
dir2.close
```
The above c... -
03:50 PM Revision 15135030 (git): [ruby/prism] Do not warn \r in shebang on windows
- https://github.com/ruby/prism/commit/e8c862ca1f
-
03:04 PM Revision a542479a (git): [ruby/irb] Remove KEYWORD_ALIASES which handled special alias name
- of irb_break irb_catch and irb_next command
(https://github.com/ruby/irb/pull/1004)
* Remove KEYWORD_ALIASES which handled special alias name of irb_break irb_catch and irb_next command
* Remove unused instance variable user_aliases
C... -
02:47 PM Revision fcb05830 (git): Accept version range
- Single `Integer` argument means an exact match to the major version.
-
02:33 PM Revision d8aa8f41 (git): Related for Array#eql?
-
02:32 PM Revision c147e43b (git): [DOC] Related for Array#empty?
-
02:32 PM Revision 471d3950 (git): [DOC] Tweaks for Array#each_index
-
02:24 PM Revision ad761ad2 (git): Release GVL for get{pwnam,pwuid,grgid,grnam}_r calls in process.c
- Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
as doing so is not thread-safe. Another C extension could have
a concurrent call, and derefencing the returned pointer from
these calls could result in a segfault.
Have rb_h... -
02:23 PM Bug #20620: singleton_method undefined for module using "extend self"
- I submitted a pull request to implement this: https://github.com/ruby/ruby/pull/11605
In terms of compatibility issues:
* For singleton classes that prepend a module, and have the method defined in both the singleton class and prep... -
02:15 PM Revision b10500b7 (git): Assume VM is locked in rb_vm_ci_free
- The GC always locks the VM, so we don't need to lock it in rb_vm_ci_free.
-
01:30 PM Bug #20726 (Closed): Issue with hash without braces when assigned to constant with ractor literals
- ```ruby
# shareable_constant_value: literal
a = 'hi'
A = ['hello' => a]
p A
```
gives:
```
./ruby -I../ruby/lib -I. -I.ext/x86_64-linux -I.ext/common -r./x86_64-linux-fake ../ruby/test.rb
-- raw disasm--------
trace:... -
01:03 PM Bug #20725 (Closed): Inconsistent handling of doubly-unbounded ranges in Range#overlap?
- The new `Range#overlap?` method does not seem to have a clear definition of how it behaves when passed ranges with nil begin **and** end `(nil..)`.
In the following two cases, it seems to treat this type of range as an "infinite" rang... -
12:06 PM Revision f47c057c (git): Remove unnecessary file
-
12:06 PM Revision 885cf350 (git): Lrama v0.6.10
-
07:28 AM Revision 2a1962fc (git): Warn missing irb cases
-
07:28 AM Revision 86fcfcb3 (git): Fixed ensure scope
-
07:28 AM Revision 6c9f0be6 (git): Don't use instance variable
-
07:28 AM Revision ee064d1c (git): Back to Bundler.ui and Bundler::Definition.no_lock
-
07:28 AM Revision 754e15f4 (git): Support bundler/inline mode
-
07:28 AM Revision 70c66137 (git): Use better resolution by Bundler at force_activate
-
03:53 AM Feature #19908: Update to Unicode 15.1
- >I think it's more prudent to do 15.1 first, then 16.0.
Agreed, thanks! -
03:21 AM Feature #19908: Update to Unicode 15.1
- hsbt (Hiroshi SHIBATA) wrote in #note-8:
> Unicode 16.0 has been released.
> ...
I think it's more prudent to do 15.1 first, then 16.0. I hope to be able to work on this soon. I created a separate issue for 16.0. -
01:56 AM Feature #19908: Update to Unicode 15.1
- Unicode 16.0 has been released.
https://www.unicode.org/versions/Unicode16.0.0/
Should we move this instead of 15.1? -
03:20 AM Feature #20724 (Closed): Update to Unicode 16.0
- Unicode 16.0 has been released (see https://www.unicode.org/versions/Unicode16.0.0/). We should update to 16.0 after updating to 15.1.