Activity
From 05/13/2023 to 05/19/2023
05/19/2023
-
07:35 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
- @Eregon I don't think that's correct, as the first assigned name persists:
```ruby
m = Module.new
class m::C; end
p m::C.name # => "#<Module:0x000000010789fbe0>::C"
m::D = m::C
p m::D.name # => "#<Module:0x000000010789fbe0>::... -
05:41 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
- TruffleRuby remembers the given basename (`C` in this case) as a separate field, so that's similar to your approach.
But I think we need to validate the module is still reachable through that basename, otherwise we would name it incor... -
02:51 PM Bug #19681: The final classpath of partially named modules is sometimes inconsistent once permanently named
- Would it make sense to store insertion order or otherwise store the order (or what is an alias) so that the constant names could be resolved correctly?
I could not reproduce the bug with the given repro, I assume it only occurs sometimes. -
02:08 PM Bug #19681 (Closed): The final classpath of partially named modules is sometimes inconsistent once permanently named
- Reported to me by @fxn
```ruby
m = Module.new
class m::C; end
p m::C.name # => "#<Module:0x000000010789fbe0>::C"
m::D = m::C
p m::D.name # => "#<Module:0x000000010789fbe0>::C"
M = m
p M::C.name # => "M::D"
```
Expect... -
06:29 PM Feature #19682 (Rejected): ability to get a reference to the "default definee"
- https://blog.yugui.jp/entry/846
"default definee" is a pretty important context so why not make it easy to identify?
Could be a Module class method or a global method (Kernel) or a keyword. -
06:19 PM Feature #19644: Module::current to complement Module::nesting
- Eregon (Benoit Daloze) wrote in #note-1:
> Is `self` not enough? This needs a concrete use case.
`Module::nesting[0]` is the current lexically open module/class, its not `self`
-
05:55 PM Feature #19644: Module::current to complement Module::nesting
- Is `self` not enough? This needs a concrete use case.
-
05:46 PM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- ioquatix (Samuel Williams) wrote in #note-42:
> This isn't just about exception messages. Any time such an object is printed, e.g. via `irb`, a log message, any kind of formatted output, it is less informative without the proposed featu... -
04:03 AM Feature #19520: Support for `Module.new(name)` and `Class.new(superclass, name)`.
- > OTOH, I feel it's enough to get the file:line from the backtrace to investigate/debug/fix when a NoMethodError or similar happens with such an instance of an anonymous class.
This isn't just about exception messages. Any time such a... -
04:23 PM Feature #19634: Pattern matching dynamic key
- I count 44 instances of this in our production code (~100k lines of Elixir), but I don’t think I’ve ever used key and value pinning as shown in the examples above.
But dynamic key matching is precisely what is required when it is requ... -
04:02 PM
Feature #19634: Pattern matching dynamic key
- ______________________________________________
-
02:55 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
- The exceptions are already being chained through `cause`, but I've just updated the tests to make this fact clearer.
Indeed a new exception is created every time. Initially I looked for an API to simply update the backtrace on the exi... -
01:48 PM Revision e8c9f727 (git): [ruby/irb] Simplify each_top_level_statement
- (https://github.com/ruby/irb/pull/576)
* Simplify each_top_level_statement, reduce instance vars
* Update lib/irb/ruby-lex.rb
Co-authored-by: Stan Lo <[email protected]>
* Remove unused ltype from TestRubyLex#check_state response
... -
10:04 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- This was discussed in the last dev meeting. The conclusion was:
> In 3.3 it throws error all keyword arguments to Hash.new. Then Ruby 3.4 allows that Hash.new will accept capacity keyword argument. -
09:42 AM Feature #19610 (Rejected): GC.delay_promotion
- Ok, closing in favor of #19678 then.
-
03:56 AM Revision 875adad9 (git): The too-complex test isn't stablefor RJIT either
- https://github.com/ruby/ruby/actions/runs/5020231516
-
02:33 AM Revision b70e3f44 (git): Skip test_dump_too_complex_shape for YJIT for now
- It fails too often with YJIT:
* https://github.com/ruby/ruby/actions/runs/5015976941/jobs/8992254690
* https://github.com/ruby/ruby/actions/runs/5017310353/jobs/8995281395
* https://github.com/ruby/ruby/actions/runs/5019625711/jobs/9000... -
01:33 AM Revision b54b388f (git): [ruby/irb] Display mod key as `Option` on Darwin platforms
- (https://github.com/ruby/irb/pull/584)
Check RUBY_PLATFORM for `darwin` and modify the mod key from `Alt` to
`Option`. -
01:33 AM Feature #19642: Remove vectored read/write from `io.c`.
- Thanks Nakamura-san for your feedback.
According to POSIX:
> Atomic/non-atomic: A write is atomic if the whole amount written in one operation is not interleaved with data from any other process. This is useful when there are multi... -
01:01 AM Feature #19642: Remove vectored read/write from `io.c`.
- If I remember correctly, writev was introduced for atomic writes, not for performance.
(I am neutral to remove writev.) -
12:49 AM Feature #19642: Remove vectored read/write from `io.c`.
- Thanks for your feedback Aaron.
The concern is less about the internal overhead.
I'm sure different OS can optimise for different situations, e.g. in some cases I imagine `writev` can be faster than `write` if the system call overhead ... -
12:25 AM Revision 74600917 (git): [ruby/openssl] Revert "Skip OpenSSL::TestHMAC#test_dup when running with RHEL9"
- This reverts commit https://github.com/ruby/openssl/commit/9493d4a3bb26.
https://github.com/ruby/openssl/commit/b880a023dd - 12:25 AM Revision b26ddfd7 (git): [ruby/openssl] Fix warnings about the OPENSSL_FIPS macro in OpenSSL 1.1.
- The commit <https://github.com/ruby/openssl/commit/c5b2bc1268bc> made the warnings below
in the case of OpenSSL 1.1 where the `OPENSSL_FIPS` macro is not defined.
```
$ bundle install --standalone
$ bundle exec rake compile -- \
--wi... - 12:25 AM Revision 678d41bc (git): [ruby/openssl] Implement FIPS functions on OpenSSL 3.
- This commit is to implement the `OpenSSL::OPENSSL_FIPS`, `ossl_fips_mode_get`
and `ossl_fips_mode_set` to pass the test `test/openssl/test_fips.rb`.
It seems that the `OPENSSL_FIPS` macro is not used on the FIPS mode case any
more, and ... - 12:25 AM Revision 741a3bd5 (git): [ruby/openssl] CI: Add OpenSSL FIPS mode case.
- test/openssl/fixtures/ssl/openssl_fips.cnf.tmpl:
I referred to the following document for the openssl config file for FIPS mode.
<https://www.openssl.org/docs/manmaster/man7/fips_module.html>
- Making all applications use the FIPS modul... -
12:22 AM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
- Thanks to track this.
I did upgrade our CI instance.
```
[hsbt@rhel9 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.2 (Plow)
```
I try to this test with RHEL 9.2 again. -
12:05 AM Revision 94a513b0 (git): YJIT: Enable debug symbols in dev_nodebug (#7822)
05/18/2023
-
11:42 PM Bug #19680: test_process.rb tests fail sometimes on FreeBSD
- Apologies, I accidentally submitted the issue while I was still writing it, just editing the issue to provide some detail now... (OK - done now)
-
11:41 PM Bug #19680 (Closed): test_process.rb tests fail sometimes on FreeBSD
- I've been investigating the repeated failures of test_process.rb on FreeBSD on rubyci. I'm still working on it but I wanted to open this ticket just to keep others in the loop and gather any pointers any of you might have!
These are s... -
08:28 PM Feature #19642: Remove vectored read/write from `io.c`.
- I understand the concern of copying the `iovec`, but it seems like the overhead of making N calls to `write` would at some point be more expensive than copying the struct once. I guess under the hood `writev` may just be calling `write`...
-
03:26 PM Feature #19642: Remove vectored read/write from `io.c`.
- I would like to do a more comprehensive review of performance, but it seems minimal, even in the best possible circumstance:
```
| |compare-ruby|built-ruby|
|:---------|-----------:|---------:|
|io_write | 2.098| ... -
03:12 PM Feature #19642: Remove vectored read/write from `io.c`.
- https://github.com/ruby/ruby/pull/7825
-
07:20 PM Bug #19386: `test_hmac.rb` of openssl is timeout on RHEL9
- RHEL 9.2 was released. The openssl RPM (maybe version 3.0.7. I haven't checked it by myself) on RHEL 9.2 should fix this issue.
https://developers.redhat.com/articles/2023/05/10/how-new-rhel-92-improves-developer-experience
-
07:00 PM Revision cfb79973 (git): [ruby/irb] Refactor RubyLex's input/io methods
- (https://github.com/ruby/irb/pull/583)
1. Make `RubyLex#set_input` simply assign the input block. This matches
the behavior of `RubyLex#set_prompt`.
2. Merge `RubyLex#set_input`'s IO configuration logic with `#set_auto_indent`
int... -
06:51 PM Misc #19679 (Closed): Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
- # Background
There is currently a Wiki at https://bugs.ruby-lang.org/projects/ruby/wiki which contains documentation of processes, documentation of code, developers' meeting notes, and various other notes.
There are three main prob... -
04:17 PM Revision d74b32db (git): change to test/objectspace, don't rely on Object's shape not being "too complex"
-
04:05 PM Revision 0c3f6992 (git): Introduce gc_mark_table macro
-
02:34 PM Bug #595 (Closed): Fiber ignores ensure clause
- https://github.com/ruby/ruby/commit/2df5a697e2726a11f0441b13fb5c73dd549837c8
- 02:33 PM Revision 2df5a697 (git): Add Fiber#kill, similar to Thread#kill. (#7823)
-
01:21 PM Feature #19610: GC.delay_promotion
- I opened #19678.
-
06:14 AM Feature #19610: GC.delay_promotion
- Should we edit the title or open another ticket?
-
01:20 PM Feature #19678 (Closed): Don't immediately promote children of old objects
- This is an alternate proposal to #19610 where the feature is not configurable and always enabled.
GitHub Pull Request: https://github.com/ruby/ruby/pull/7821
References from an old object to a write barrier protected young object w... -
04:39 AM Feature #19634: Pattern matching dynamic key
- Some actual examples of dynamic key matching in Elixir: https://github.com/search?q=%2F%25%5C%7B%5C%5E%2F+&type=code
-
04:28 AM Feature #19634: Pattern matching dynamic key
- FWIW, Elixir actually supports it, but I don't recall seeing it used in the wild
``` elixir
map = %{mentor_name: "Joe"}
value = "Joe"
key = :mentor_name
match?(%{^key => ^value}, map) # => true
```
OTOH, Elixir does not support `[*, ^... -
03:41 AM Feature #19634: Pattern matching dynamic key
- Probably, you are proposing `mentor_proposals in ^mentor_name => [*, ^mentee_name, *]`. I still cannot imagine the case where dynamic key is useful.
As far as I know, no other language support dynamic key matching. Please be more concre... -
03:44 AM Bug #19677 (Closed): Failed to build ruby from the source code when following the guide
-
03:30 AM Bug #19677: Failed to build ruby from the source code when following the guide
- After the first successful build, I couldn't reproduce the build failure noted above.
In addition to it, the build just after a clean `git clone` finished without errors. So, the build failure may have been triggered by my dirty source ... -
02:39 AM Bug #19677 (Closed): Failed to build ruby from the source code when following the guide
- I followed the document "Building Ruby" (doc/contributing/building_ruby.md) and got build errors.
At the step of "5. Build Ruby: make install", the errors below happened:
```
MBA:build tagomoris$ make -j 8
BASERUBY = /Users/tagomo... -
03:28 AM Revision b695f58d (git): [ruby/irb] Print deprecation warning for `help` command
- (https://github.com/ruby/irb/pull/567)
* Give show_doc its own command class
* Print deprecation warning for `help` command -
02:39 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > now addressed with packwerk from what I understand.
Ah, not exactly (or at least not entirely), but that's another story! :sob:
05/17/2023
-
05:14 PM Feature #12165: Hash#first, Hash#last
- nobu (Nobuyoshi Nakada) wrote in #note-5:
> Although I've not thought about `Hash#last`, once when `st_table` got keeping the insertion order I proposed `Hash#reverse_each` (`st_reverse_foreach` for it precisely) to matz, but was reject... -
01:37 AM Feature #12165: Hash#first, Hash#last
- Although I've not thought about `Hash#last`, once when `st_table` got keeping the insertion order I proposed `Hash#reverse_each` (`st_reverse_foreach` for it precisely) to matz, but was rejected.
-
03:38 PM Feature #19610: GC.delay_promotion
- In the developer meeting in Matsumoto, we discussed this ticket. We agreed that making this feature configurable makes the GC harder to use and leaked too many implementation details. We decided to instead make this feature always enable...
-
01:19 PM Revision cea9c30f (git): Move ar_hint to ar_table_struct
- This allows Hashes with ST tables to fit int he 80 byte size pool.
-
01:19 PM Revision 0938964b (git): Implement Hash ST tables on VWA
-
01:19 PM Revision 5199f2aa (git): Implement Hash AR tables on VWA
-
08:45 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- Yeah, I understand.
I also have the feeling that you are using an autoloader just because it allows you to plug in some tricks towards your isolation goal. But such feature should come from the language to be real. I mean, if isolatio... -
08:04 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- Thanks, that makes sense.
In one way we're not far apart. In another, though, I think we still are, because the difference is really between whether control is delegated to the caller or the callee. "isolation", which is what I'm after ... -
04:42 AM Revision 264ba0f8 (git): [ruby/irb] Fix Test timedout in test_debug_cmd
- (https://github.com/ruby/irb/pull/582)
* Suppress Reline::IOGate.cursor_pos writing escape sequence in test_debug_cmd
* Force use Reline::GeneralIO as Reline::IOGate and remove RUBY_DEBUG_NO_RELINE option for debug test -
02:03 AM Bug #18743: Enumerator#next / peek re-use each others stacktraces
- Seems find to me.
One thing I concerned, `stop_exc` will be re-created every times, and no way to know where it was first used up.
How about chaining by `cause`?
```diff
diff --git a/enumerator.c b/enumerator.c
index b33c1713718.....
05/16/2023
-
07:02 PM Feature #12165: Hash#first, Hash#last
- @nobu Since you commented recently, what do you think about about a performant Hash#last(n=1) and a related performant Hash#reverse_each? Shouldn't any ordered collection that supports bidirectional enumeration, have those?
-
06:41 PM Feature #19644 (Rejected): Module::current to complement Module::nesting
- Module::current == Module::nesting[0] but without needlessly walking the entire nesting hierarchy.
Could be useful for debugging/logging.
It could also be a Kernel global (like `__method__`) or a keyword (like `__FILE__`) -
01:03 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
- Hey again, @ko1. This is just a reminder that the patch is pushed to Github and is waiting for a decision.
Best,
Marcelo -
11:11 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- For example, if you tell me: I have devised this anonymous namespace manager (external to Zeitwerk, in principle) to enforce the desired separation of components in Shopify, and this would be the syntax I'd use, and this is realistic, I'...
-
10:19 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > If I understand correctly, you would not be against, say, a format whereby the file explicitly set its toplevel as anonymous, is that correct?
Correct.
For example, if given `$MyNamespace = Module.new` this was allowed in Ruby:
... -
09:28 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > Our main discrepancy is that I don't like implicit nesting. I want you to open a file and see what it defines.
Agreed.
> ...
Between an app and its gems, yes (at the cost of what I consider boilerplate). Between two gems, there is no... -
05:50 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > Concretely speaking, look at rails_on_im for an example. Here, I made some changes to Rails setup to replace Zeitwerk with Im and autoload an application under a single root namespace (MyApp). It mostly works (minus views, which I have...
-
10:09 AM Bug #14387 (Closed): Ruby 2.5 を Alpine Linux で実行すると比較的浅めで SystemStackError 例外になる
- Ruby 2.5 is EOL today. I'll close this.
If you have this issue with Ruby 3.2, please file it with another issue. Thanks. -
09:54 AM Misc #19581 (Closed): Will Openssl 1.1.x fully support for Ruby3.1 throught the life time of Ruby3.1?
-
08:42 AM Misc #19608 (Closed): Being a co-maintainer of the ruby/openssl for the OpenSSL FIPS mode
- Thank you. If you have any issue, please notify me.
-
08:20 AM Bug #4173: TestProcess#test_wait_and_sigchild が、たまに失敗する
- So I noticed the FreeBSD process tests failed a few times - looking at it today/tomorrow. I also actually managed to reproduce this one on my machine once - http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20230515T183001Z.fail.h...
-
06:58 AM Feature #19643 (Closed): Direct primitive compare sort for Array#sort_by
- Also see https://github.com/ruby/ruby/pull/7805
# Introduction
In most of case sort_by works on primitive type.
Using `qsort_r` or `qsort_s` with function pointer is much slower than compare data directly.
I implement a intro s... - 03:49 AM Revision 4d1ca2e1 (git): Ensure SIGCHLD always uses a signal handler. (#7819)
-
03:20 AM Bug #11582 (Closed): On Solaris, Rational#** returns -Infinity for Rational(0) when passed a negative Float
- This issue is solved by [Misc #15347].
In the C99 spec, The behavior of pow(3) in corner cases are clearly defined.
Since Ruby 2.7, C99 is required to compile CRuby source code, and thus Ruby's pow method conforms to the C99 standard.
05/15/2023
- 09:49 PM Revision 00521320 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.75 to 0.9.77.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.75...v0.9.77)
---
updated-depende... -
06:52 PM Revision 89451434 (git): [wasm] Allocate asyncify buffer on heap to save stack usage
- 02:14 PM Revision ab7bb38a (git): Remove explicit SIGCHLD handling. (#7816)
- * Remove unused SIGCHLD handling.
* Remove unused `init_sigchld`.
* Remove unnecessary `#define RUBY_SIGCHLD (0)`.
* Remove unused `SIGCHLD_LOSSY`. -
01:36 PM Revision bab9966b (git): [DOC] Fix a link [ci skip]
-
01:06 PM Feature #19572: Add a new TracePoint event for rescued exceptions
- We discussed this at the [RubyKaigi dev-meeting](https://bugs.ruby-lang.org/issues/19599) as a topic and I also did a follow up discussion with @ko1. IIRC, the conclusion was:
- This `rescue` event is only for Ruby-level rescue. If ther... -
12:47 PM Misc #19608: Being a co-maintainer of the ruby/openssl for the OpenSSL FIPS mode
- Thank you for discussing the topic in the meeting.
I started to work as a co-maintainer of the ruby/openssl for the FIPS mode. -
10:10 AM Revision 3fe45a31 (git): Process parse.y without temporary files
-
10:01 AM Revision 41dccb6a (git): Lrama v0.5.0 (#7814)
-
06:33 AM Feature #19642 (Closed): Remove vectored read/write from `io.c`.
- https://github.com/socketry/async/issues/228#issuecomment-1546789910 is a comment from the kernel developer who tells us that `writev` is always worse than `write` system call.
A large amount of complexity in `io.c` comes from optiona... -
06:12 AM Revision c7067ed1 (git): Use the rb_sys_fail_str macro in signal.c
- Let signal.c include "internal/error.h" explicitly to ensure that the
identifier rb_sys_fail_str in signal.c refers to the macro defined in
"internal/error.h" instead of the actual function.
That macro reads errno before evaluating its ... -
05:08 AM Bug #19635: errno may be overwritten by rb_sprintf if it triggers GC
- Thank you, I missed it.
Please update the dependency in common.mk too. -
04:37 AM Bug #19635: errno may be overwritten by rb_sprintf if it triggers GC
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Applied in changeset commit:git|e3385f87831f036eaba96558cb4d83c8d5c43901.
> ...
@nobu, thank you for your fix, but the bug related to the `trap` function in `signal.c` still exists.
`gcc -... -
04:37 AM
Bug #4173 (Closed): TestProcess#test_wait_and_sigchild が、たまに失敗する
- Applied in changeset commit:git|8bd4d8867a0222a3c30a0c7ee1f69b06baa8e91a.
----------
Unskip the test skipped in #4173 (#7809)
This test was skipped 12 years ago because it was flaky on FreeBSD and
OpenBSD. Since then, Ruby's SIGCHLD ha... -
04:36 AM Bug #4173: TestProcess#test_wait_and_sigchild が、たまに失敗する
- Just to clarify, there was an unexpected issue with my PR, but only a small part of it was reverted due to some unexpected behaviour. I'll try to complete the removal of that functionality soon.
- 04:37 AM Revision 8bd4d886 (git): Unskip the test skipped in #4173 (#7809)
- This test was skipped 12 years ago because it was flaky on FreeBSD and
OpenBSD. Since then, Ruby's SIGCHLD handling has been substantially
re-written (mostly by Eric Wong @normalperson in 44fc3d08).
These tests now in fact pass reliably... - 03:41 AM Revision d9033d37 (git): Bump ruby/setup-ruby from 1.148.0 to 1.149.0
- Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.148.0 to 1.149.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/d2b39ad0b52eca07d23f3aa14fdf2a3fcc... -
02:47 AM Feature #19641 (Open): Allow setting OpenSSL::SSL::SSLContext in Net::HTTP
- [Abstract]
Allow setting OpenSSL::SSL::SSLContext in Net::HTTP.
[Background]
The current implementation of Net::HTTP in Ruby allows setting certain properties of SSLContext, but not SSLContext itself. This limits the flexibility whe... -
02:15 AM Bug #19640 (Closed): `IO#puts` can generate zero length iov which can cause rb_bug crash.
-
02:14 AM Bug #19640: `IO#puts` can generate zero length iov which can cause rb_bug crash.
- Merged in https://github.com/ruby/ruby/commit/0b2613f44309bddae45562c9f3a14ed43e56959b
-
01:08 AM Bug #19640: `IO#puts` can generate zero length iov which can cause rb_bug crash.
- I added a test, without the patch, it crashes:
```
> make test-all TESTS=test/fiber/test_io.rb
sed 's/{\$([^(){}]*)[^{}]*}//g' common.mk > uncommon.mk
compiling io.c
generating parse.c
revision.h updated
generating arm64-darwin2... - 02:13 AM Revision 0b2613f4 (git): `rb_io_puts` should not write zero length strings. (#7806)
05/14/2023
-
02:24 PM Bug #19025 (Closed): Ripper cannot parse syntax ok code that has numbered parameters
- Applied in changeset commit:git|91c004885fc75a93cadf0094fa86ec3bd0ec25f5.
----------
[Bug #19025] Numbered parameter names are always local variables -
01:25 PM Feature #19294: Enumerator.product works incorrectly with consuming enumerators
- Perhaps `#rewind` could be called, but (IMO) that shouldn't be the default either. Two kwargs?
```ruby
Enumerator.product(*enums, rewind: boolish, memoize: boolish) {|elements| ... }
```
Or one?
```ruby
Enumerator.product(rewind: ... -
05:33 AM Feature #19294: Enumerator.product works incorrectly with consuming enumerators
- @headius and I discussed this. We don't think it is possible to get the output requested without keeping all enumerated elements for arguments after the first argument in memory, which is not acceptable by default. It's possible that b...
-
01:16 PM Revision 91c00488 (git): [Bug #19025] Numbered parameter names are always local variables
-
11:47 AM Bug #19640 (Closed): `IO#puts` can generate zero length iov which can cause rb_bug crash.
- In the fiber scheduler, `IO#puts ""` or `IO#puts nil` can generate a zero length `iov` which causes `io_binwritev_internal` to fail since the result is zero.
We need to fix `IO#puts` so that it does not generate zero length writes, bu... -
11:05 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > The question was: If `/foo` is a root directory, and you want to associate to it an anonymous module as custom namespace, how would `/foo/bar.rb` look like?
Sorry, I read your comment too quickly. I actually removed the entire conce... -
10:26 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- The question was: If `/foo` is a root directory, and you want to associate to it an anonymous module as custom namespace, how would `/foo/bar.rb` look like? So, `/foo/bar.rb` is not `Foo::Bar`. We can also assume, your project has more t...
-
03:47 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- I wrote:
> I personally do not believe this is necessary.
In fact, I realized this is not quite complete. I don't want to require file-level changes for two reasons.
One, it requires changes to every file to make a project (gem or oth... -
02:24 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- > Let's talk anonymous namespaces for a moment in Zeitwerk. If you could assign an anonymous namespace to `/foo` in Zeitwerk, what would go in the top-level `class` or `module` keyword in `/foo/baz.rb`?
I think this is the key point whe... -
10:53 AM Bug #19632: Disable external iterator for frozen enumerator
- +1. And yes peek can have side effect so should be considered mutating method.
-
12:41 AM Bug #19632: Disable external iterator for frozen enumerator
- If a result value is not stored, `peek` invokes the iterator and stores it in its internal state. For that reason, I consider `peek` is also a mutable method like `next`.
If you call `peek` in advance and then call `freeze`, `peek` wi... -
10:46 AM Bug #19639 (Feedback): Escaped newline literals in Regexp are ignored in extended / free-spacing mode
- I don’t think it is a bug, because a backslash at the end of line is line concatenation and those two chars are dropped, in general.
-
10:08 AM Bug #19639 (Feedback): Escaped newline literals in Regexp are ignored in extended / free-spacing mode
- When we want to match whitespace with a Regexp that uses the x-flag, we can do that with escaped literal whitespace:
```ruby
' '[/\ /x] # => " "
```
This works for all whitespace - except newlines:
```ruby
"\n"[/\
/x] # => "... -
10:09 AM Bug #4173: TestProcess#test_wait_and_sigchild が、たまに失敗する
- I had a bit of a look at this and I don't think it's a problem anymore.
This test was skipped 12 years ago because it was flaky on FreeBSD and OpenBSD. Since then, Ruby's SIGCHLD handling has been substantially re-written (mostly by E... -
06:38 AM Revision bdaa4915 (git): Add user argument to some macros used by bison
-
06:38 AM Revision 3150516a (git): Preprocess input parse.y from stdin
-
05:36 AM Bug #5334 (Closed): Segmentation fault in InternetExplorer IServiceProvider interface
-
05:17 AM Revision edca57e6 (git): [wasm] Fix `unreachable` error during printing setjmp trace message
-
05:12 AM Bug #18933: Dir.tmpdir implemented in non-Ractor-safe manner
- Why not just put this in a private constant? I believe that would be Ractor-safe and it would make more sense than a lazy class variable or class instance variable (that's not actually lazy).
-
04:44 AM Feature #18258 (Closed): Ractor.shareable? can be slow and mutates internal object flags.
- @headius and I discussed this and we agree it is not a bug, though potentially the situation could be improved. You could avoid the object flag mutation using a temporary hash per call to shareable, but that would likely make it even sl...
-
04:22 AM Bug #17680 (Closed): tab completion no longer works on irb3.0
- This change from 2.5 is expected due to differences between reline and readline. As readline has been removed from stdlib, reline's behavior is now the only available behavior. Behavior is the same on JRuby. It's possible a pull reques...
-
04:12 AM Bug #17664 (Closed): Behavior of sockets changed in Ruby 3.0 to non-blocking
-
03:58 AM Bug #16959 (Rejected): Weakmap has specs and third-party usage despite being a private API
- WeakMap has now been in the wild with documentation and specs for several years, so I think it has become a de-facto public API. I'm fine closing this, though I still would like to see the other features I have described added to Weakref.
-
03:22 AM Bug #11531 (Rejected): IPAddr#== implements wrong logic
-
03:01 AM Bug #5179: Complex#rationalize and to_r with approximate zeros
- I've explored the behaviour here a bit, and I think I do believe that `0.0` really does represent the concept of "zero". Specifically, it's the number that satisfies the following properties, for all possible non-NaN floats N:
* `abs(... -
01:32 AM Revision b632566f (git): Introduce anddot_multiple_assignment_check function
05/13/2023
-
02:14 PM Bug #19632: Disable external iterator for frozen enumerator
- `peek` does not seem to modify the enumerator? Should we prohibit it (or not)?
-
07:56 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- @shioyama ahhh, I see what you mean now re the sentiment.
So, yes, if someone asks my personal opinion about modifying the nesting externally with `load file, mod` or a new `require`, my personal take is that I don't quite see it in t... -
06:01 AM Feature #19633: Allow passing block to `Kernel#autoload` as alternative to second `filename` argument
- Thanks @fxn for your reply! I was going to update this, but I brought it up at the recent [Dev Meeting](https://bugs.ruby-lang.org/issues/19599#note-14) before RubyKaigi and although there was interest, Matz seemed not to be in favour of...
- 06:59 AM Revision cee69037 (git): Update bundled gems list at 2023-05-13
-
05:54 AM Revision 38ef5f7b (git): Introduce math_arc macro
-
02:21 AM Revision 5f411b9b (git): [rubygems/rubygems] Bump up thor-1.2.2
- https://github.com/rubygems/rubygems/commit/d9a003b4e7
-
01:07 AM Revision 30326844 (git): fix wording of spec description [ci skip]
-
01:04 AM Revision 93dd13d9 (git): Remove warnings and errors in `regexec.c` with `ONIG_DEBUG_...` macros (#7803)
-
12:59 AM Misc #16512: Improving `www.ruby-lang.org` reference by merging with `rubyreferences.github.io`
- I discussed this with @ufuk. We will work this to forward.