Activity
From 05/26/2023 to 06/01/2023
06/01/2023
-
09:55 PM Revision 10621f7c (git): Revert "Fix cvar caching when class is cloned"
- This reverts commit 77d1b082470790c17c24a2f406b4fec5d522636b.
-
08:10 PM Revision 2d2893f2 (git): [ruby/irb] Improve debug command tests
- (https://github.com/ruby/irb/pull/594)
* Use require_relative for envutil.rb
Requiring test helper files with `require_relative` allows running the tests
with `ruby -Itest test/irb/test_debug_cmd.rb` without having to set up
the load p... -
07:27 PM Bug #19705 (Rejected): Ruby IPAddr class accepting wrong IPv6 address string
- It's expected that IPv6 with zone identifiers addresses are supported starting in Ruby 3.1 (ipaddr 1.2.3). See #10911 and https://github.com/ruby/ipaddr/pull/24.
-
10:52 AM Bug #19705 (Rejected): Ruby IPAddr class accepting wrong IPv6 address string
- We are middle of upgrading ruby versions v2.7.3 -> v3.1.3
One of our test cases are failing related to valid ipv6 address string, check the following
````
# ruby 2.7.3
IPAddr.new('fe80::85e:7530:69ec:9074%en0').ipv6?
=> IPAddr::... -
04:16 PM Revision 39968112 (git): YJIT: Introduce RubyVM::YJIT.stats_string (#7857)
- * YJIT: Introduce RubyVM::YJIT.printed_stats
* Use #string instead
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* Rename it to #stats_string
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
---------
... -
03:52 PM Revision 77d1b082 (git): Fix cvar caching when class is cloned
- The class variable cache that was added in
https://github.com/ruby/ruby/pull/4544 changed the behavior of class
variables on cloned classes. As reported when a class is cloned AND a
class variable was set, and the class variable was read... - 01:54 PM Revision b7ee51e8 (git): Expose `enum rb_io_event` flags without `_t` suffix. (#7887)
- 12:46 PM Revision 47a8de60 (git): Drop `_t` suffix from struct names. (#7886)
- POSIX reserves `_t` suffix in types.
-
12:44 PM Revision a5e1d549 (git): [DOC] Mention the edge case of `any?`/`all?`
-
12:32 PM Revision a16cffe3 (git): Simplify duplicated code
- The capacity of the string can be calculated using the str_capacity
function. -
12:32 PM Revision 8a8618d4 (git): Don't refetch ptr and len
- The call to RSTRING_GETMEM already fetched the pointer and length, so we
don't need to fetch it again. -
12:16 PM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
- With the --deployment option true:
This commit introduced the issue: https://github.com/rubygems/rubygems/commit/09b90646f42a6591c280bbd7484c9bb0aa26b6ae
This commit fixed the issue: https://github.com/rubygems/rubygems/commit/d55ad9b01... -
08:55 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
- Thank you. I can confirm that PR fixes what I described in the initial report.
Unfortunately, I recently found second manifestation of this, even with the patch it will fail due to a similar reason of preferring archful gem when `depl... -
07:57 AM Bug #19576: Backport request: Gemfile.lock resolving is broken with bundler shipped with Ruby 3.1.4
- I prepared to release new versions with your commits.
https://github.com/rubygems/rubygems/pull/6717 - 11:41 AM Revision d5a53331 (git): [ruby/stringio] Avoid direct struct usage.
- (https://github.com/ruby/stringio/pull/54)
We will eventually want to refactor this, but for now this is compatible
enough. -
11:11 AM Feature #19057: Hide implementation of `rb_io_t`.
- I'm in favour of eventually deprecating `rb_io_t` and I think that means anything related to it.
I think deprecations can make things a little easier but I'm not against breaking things that are out of our control.
I'm happy to fix thi... -
09:56 AM Feature #19057: Hide implementation of `rb_io_t`.
- I am not sure there is an easier path here, IMO it's OK for some extensions to break while they test against ruby-head, and to adapt to it (and we are not close to December).
It would be nicer to deprecate first, but I am not sure how f... -
12:53 AM Feature #19057 (Assigned): Hide implementation of `rb_io_t`.
-
12:52 AM Feature #19057: Hide implementation of `rb_io_t`.
- Unfortunately this was reverted due to some extensions no longer compiling.
- https://bugs.ruby-lang.org/issues/19704
I think it's expected that some dependencies using internal details of `rb_io_t` should be fixed. -
10:02 AM Feature #19616: Remove ext/readline from Ruby 3.3
- I noticed Rails's Gemfile added a dependency to readline-ext in https://github.com/rails/rails/commit/a6e0b0acb2d1e85a8f90bdf956e7549bcad46896 due to some incompatibility.
I filed https://github.com/ruby/reline/issues/546 to hopefully r... -
09:41 AM Revision 957b6a49 (git): rb_io_descriptor() is available since 3.1
- 08:43 AM Revision 64ec1813 (git): Restores the changes in `io-console` without breaking backwards compatibility. (#7882)
- This reverts commit 35da41b29bf0a1a8fd2cd7e1d7fcb036ca8c2c7c.
This updates `io-console` to avoid accessing the internal details of `rb_io_t`
and instead use `rb_io_descriptor` and `rb_io_path` etc. -
08:37 AM Revision edee9b6a (git): Use a real Ruby mutex in rb_io_close_wait_list (#7884)
- Because a thread calling IO#close now blocks in a native condvar wait,
it's possible for there to be _no_ threads left to actually handle
incoming signals/ubf calls/etc.
This manifested as failing tests on Solaris 10 (SPARC), because:
... -
05:46 AM Revision d8f33349 (git): [ruby/syntax_suggest] Use hard-coded filename for executables.
- It's hard to handle between ruby/syntax_suggest and ruby/ruby at gemspec.
https://github.com/ruby/syntax_suggest/commit/0ee7496668 - 05:23 AM Revision a218ed56 (git): Hide the usage of `rb_io_t` where possible. (#7880)
- This retries the compatible parts of the previously reverted PR so we can continue to update related code without breaking backwards compatibility.
-
02:59 AM Feature #19702: Promote racc as bundled gems
- https://github.com/ruby/ruby/pull/7877
-
12:55 AM Misc #19684: DevMeeting-2023-06-08
- - [Feature #19057] Hide implementation of `rb_io_t`.
- ~~So far the agreed approach is to hide the entire implementation and fix dependencies.~~ We tried it and it caused some downstream issues.
- Are we okay to deprecate the public ... -
12:39 AM Bug #19704 (Closed): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
- Applied in changeset commit:git|85dcc4866d9ff29834596e9186cc97d622ee06f8.
----------
Revert "Hide most of the implementation of `struct rb_io`. (#6511)"
This reverts commit 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.
fix [Bug #19704]
ht... -
12:00 AM Bug #19704: Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
- https://github.com/ruby/stringio is also build failure since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.
-
12:36 AM Revision 35da41b2 (git): Revert https://github.com/ruby/io-console/pull/43
- This reverts commit 1889133c04f337fec3969cb5040a544088249046 and
commit 764207e47ce38d1b73774a8e65114c87bc888298.
Followed up with https://github.com/ruby/ruby/commit/85dcc4866d9ff29834596e9186cc97d622ee06f8
05/31/2023
-
11:43 PM Revision 85dcc486 (git): Revert "Hide most of the implementation of `struct rb_io`. (#6511)"
- This reverts commit 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2.
fix [Bug #19704]
https://bugs.ruby-lang.org/issues/19704
This breaks compatibility for extension libraries. Such changes
need a discussion. -
11:25 PM Bug #19704 (Assigned): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
-
03:47 PM Bug #19704 (Closed): Unable to install readline-ext since 18e55fc1e1ec20e8f3166e3059e76c885fc9f8f2
- Rails CI against Ruby 3.3.0dev fails to install readline-ext recenty.
https://buildkite.com/rails/rails/builds/96780#01886e3f-eaef-405c-b58a-e90c66c3036b
According to git bisect, it is triggered by 18e55fc1e1ec20e8f3166e3059e76c885fc... -
08:16 PM Revision e4163112 (git): More debug code to GC compaction test
-
06:03 PM Revision e8212c55 (git): Fix flaky test in test_objspace.rb
- Ensure that the frozen string is promoted to the old generation by
running the GC 4 times. -
04:11 PM Revision 55c9c658 (git): ruby/spec no longer supports 2.7 since it is EOL
-
02:34 PM Bug #19703 (Open): text/binary mode of parent process fd is not properly inherited on windows
- Windows OS can't inherit parent process fds greater than 2, but C runtime library support this.
https://learn.microsoft.com/en-us/cpp/c-runtime-library/spawn-wspawn-functions#environment-of-the-spawned-process
So I made test tool bel... -
01:22 PM Revision 1ac17693 (git): Add debug code to GC compaction test
- This test is flaky on some CI systems.
-
12:35 PM Bug #19701: The rb_classext_t::classpath field is not marked for T_ICLASS
- I prefer option 2 as most (if not all other) ICLASS do not have a classpath so we shouldn't be paying the performance penalty of marking the field for all ICLASS, it would be a waste of computational effort to make only `FrozenCore` easi...
-
06:26 AM Bug #19701 (Open): The rb_classext_t::classpath field is not marked for T_ICLASS
- I am hacking Ruby to dump information about some objects, and I found that the `rb_classext_t::classpath` field for `T_ICLASS` objects sometimes contains dangling references to dead objects.
The commit https://github.com/ruby/ruby/com... -
09:11 AM Misc #19684: DevMeeting-2023-06-08
- * [Bug #19702] Promote racc as bundled gems
* Does anyone have objection this? -
09:04 AM Feature #19702 (Closed): Promote racc as bundled gems
- In the past, we need to bundle `racc` runtime for RD parser of RDoc. Now, We have racc compiler and runtime in ruby repository.
I'm not sure we should bundle and maintain `racc` as stdlib(= default gems) in the future. Can we promote ... -
06:15 AM Revision e502600f (git): Assertion on message length for the `-h` option
-
06:15 AM Bug #19700 (Feedback): TestProcess#test_execopts_redirect_open_fifo_interrupt_print is flaky on macOS
- The test `TestProcess#test_execopts_redirect_open_fifo_interrupt_print` in `test_process.rb` is flaky on macOS for me. Sometimes, it just hangs forever.
This test is testing what happens when:
* You have two processes
* One is blo... -
06:14 AM Bug #19685: ruby --helpに --yydebugの情報がない
- > * ruby -h は一画面に収まるようにしたいのでこっちの説明はよく使うものだけにしたい
> ...
ということで、`usage_msg[]`ではなく`help_msg[]`のほうに追加してください -
04:55 AM Revision 3bc5f6b2 (git): [rubygems/rubygems] tool_dir needs to handle ruby/ruby repo now
- https://github.com/rubygems/rubygems/commit/550d90f4ba
-
01:02 AM Misc #19599: DevMeeting-2023-05-10 @ Matsumoto, Japan
- Is a log going to be posted?
05/30/2023
-
11:42 PM Feature #19698: Need an idiomatic way to define an empty range
- What is your “intention” to use an “empty” range?
And what do you think “idiomatic” way is? -
10:55 PM Misc #19684: DevMeeting-2023-06-08
- * [Bug #11704] Refinements only get "used" once in loop (jeremyevans0)
* Is it expected that if a refinement is activated for a block, it remains activated if the block is re-entered?
* This is how CRuby works, but may be confusing... -
10:43 PM Bug #9944 (Rejected): in ruby for windows in "system" a redirection to append a file works incorrectly
- @headius and I discussed this on the train back from RubyKaigi and determined this is a Windows-specific limitation, not a Ruby bug, and nothing Ruby does can fix the issue in all cases.
-
10:09 PM Feature #19699 (Closed): Need a way to store values like dig
- I believe this is a duplicate of [Feature #14564], [Feature #13179] and [Feature #11747].
This was previously rejected by Matz because it was lacking a use case and lacking a proper name.
I'm somewhat sympathetic to this feature re... -
08:07 PM Feature #19699: Need a way to store values like dig
- Currently, there is no way to perform a `.store` operation on nested hashes in Ruby as there is for accessing them using `.dig`, so I would like to propose something like:
Hash#dig_store(*args, **kwargs), which fills the value at *arg... -
08:05 PM Feature #19699 (Closed): Need a way to store values like dig
- Currently, there is no way to perform a `.store` operation on nested hashes in Ruby as there is for accessing them using `.dig`, so I would like to propose something like:
Hash#dig_store(*args, **kwargs, arg = nil), which fills the va... -
06:41 PM Misc #19693: Data initialization is significantly slower than Struct
- Have you tried:
```ruby
def initialize(_a = nil, _b = nil, a: _a, b: _b)
```
But that too I'm not sure is spec compliant, as it would allow to call `Foo.new("a", a: "also_a")` -
06:36 PM Misc #19693: Data initialization is significantly slower than Struct
- @Eregon Just in case you are interested, I tried implementing your suggestion:
> Defining a `new` singleton method on the Data subclass, in Ruby and with explicit keyword arguments should be able to then use the literal kwargs optimiz... -
06:03 PM Feature #19694: Add Regexp#timeout= setter
- I guess the only noteworthy argument for a change goes like this:
A custom `timeout` only being available on `Regexp::new` might lead people to write less performant code.
I'm not sure this is a strong argument. The big Regexps th... -
10:12 AM Feature #19694: Add Regexp#timeout= setter
- janosch-x (Janosch Müller) wrote in #note-7:
> ```ruby
> ...
That, and as proposed in the description, doesn't really work if literal Regexps are created at parse time, before execution.
This is the case on CRuby:
```
$ ruby --disab... -
03:20 PM Revision 1f74e25c (git): YJIT: Force showing a backtrace on panic (#7869)
-
12:53 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- byroot (Jean Boussier) wrote in #note-5:
> > FWIW I've touched on the potential feature request in the stdlib uri library which was not further discussed
> ...
here: https://github.com/ruby/uri/issues/76 -
12:50 PM Revision 4bbeed61 (git): Merge RubyGems/Bundler master from 4076391fce5847689bf2ec402b17133fe4e32285
-
12:39 PM Revision 30b960ba (git): [ruby/io-nonblock] Add TruffleRuby support and add it in CI
- * Do not use a C extension on TruffleRuby for these 3 methods.
https://github.com/ruby/io-nonblock/commit/1b8e52abfa -
12:39 PM Revision c7c8e4c9 (git): [ruby/io-nonblock] Use the correct pattern for the fallback of rb_io_descriptor()
- * See https://github.com/ruby/io-console/pull/43/commits/d1d9aef45ceb14365fdf0ebee3e5ea06f27da682
https://github.com/ruby/io-nonblock/commit/dadb42422b -
12:27 PM Misc #19122: Use MADV_DONTNEED instead of MADV_FREE when freeing a Fiber's stack
- ioquatix (Samuel Williams) wrote in #note-5:
> If you want to use a specific mode (OS specific), you can do this:
> ...
Thanks for adding this!
> As for making this the default, I suppose we could consider it but we'd need to confi... -
01:44 AM Bug #19680 (Closed): test_process.rb tests fail sometimes on FreeBSD
- Closed per request.
-
01:42 AM Bug #19680: test_process.rb tests fail sometimes on FreeBSD
- FreeBSD 13.1 CI hasn't failed since these fixes were merged so *touch wood* I think we can call this done.
-
01:43 AM Revision ec9364e5 (git): [ruby/racc] Remove ErrorSymbolValue reference
- I cannot find where this is defined. I'm guessing neither this
nor the else branch is ever hit. I only found out when testing
VM changes, which had a bug that exposed this.
https://github.com/ruby/racc/commit/8983d0c134 -
01:04 AM Feature #19057 (Closed): Hide implementation of `rb_io_t`.
- https://github.com/ruby/ruby/pull/6511 was merged.
In addition, the following related PRs were merged:
- https://github.com/ruby/etc/pull/26
- https://github.com/ruby/io-wait/pull/25
- https://github.com/ruby/io-console/pull/43
A few ... - 01:02 AM Revision 18e55fc1 (git): Hide most of the implementation of `struct rb_io`. (#6511)
- * Add rb_io_path and rb_io_open_descriptor.
* Use rb_io_open_descriptor to create PTY objects
* Rename FMODE_PREP -> FMODE_EXTERNAL and expose it
FMODE_PREP I believe refers to the concept of a "pre-prepared" file, but
FMODE_EXTERNAL ...
05/29/2023
-
10:23 PM Feature #19694: Add Regexp#timeout= setter
- I think it is better if no code can mutate the timeout of the Regexps that are passed into it, even if that affected only dupped or non-literal Regexps.
If it is really necessary to set custom timeouts on literals, maybe something lik... - 09:24 PM Revision 7ddcd062 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.77 to 0.9.78.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.77...v0.9.78)
---
updated-depende... -
07:33 PM Revision f61bd3ca (git): [ruby/cgi] Add TruffleRuby support and add it in CI
- https://github.com/ruby/cgi/commit/1240fec9c9
-
07:31 PM Revision 610038f3 (git): [ruby/etc] Use the correct pattern for the fallback of rb_io_descriptor()
- * See https://github.com/ruby/io-console/pull/43/commits/d1d9aef45ceb14365fdf0ebee3e5ea06f27da682
https://github.com/ruby/etc/commit/5185685003 -
04:33 PM Revision 99ce4156 (git): Refactor guards for Time.new spec
-
03:55 PM Revision b7a26dfa (git): Unify error messages of rb_num2ulong and rb_num2ull
- The error messages were slightly different due, which causes different
behaviour on 32-bit and 64-bit systems. -
01:27 PM Revision c48d496e (git): Update to ruby/spec@c3677cf
- 01:01 PM Revision 98f500d0 (git): [ruby/openssl] Remove usage of IO internals.
- 12:37 PM Revision 764207e4 (git): [ruby/io-console] Remove trailing whitespace.
- https://github.com/ruby/io-console/commit/55f1586463
- 12:30 PM Revision 1889133c (git): [ruby/io-console] Remove usage of IO internals.
- (https://github.com/ruby/io-console/pull/43)
https://github.com/ruby/io-console/commit/4b839a504f
Co-authored-by: Benoit Daloze <eregontp@gmail.com> -
09:15 AM Feature #19057: Hide implementation of `rb_io_t`.
- ianks (Ian Ker-Seymer) wrote in #note-8:
> > With one tweak: not int rb_ioptr_descriptor(struct rb_io *ioptr); but int rb_io_descriptor(VALUE io);.
> ...
What do you mean? `struct RBasic*` to `VALUE` or vice-versa?
Almost every C API ... -
09:05 AM Feature #19695: mkmf: Adding the extra option --with-verbose to enable verbose mode.
- > $ rake compiler -- --with-verbose
Sorry for my typo in the commit message. It's not "rake compiler" but "rake compile".
```
$ rake compile -- --with-verbose
``` -
08:55 AM Feature #19695 (Closed): mkmf: Adding the extra option --with-verbose to enable verbose mode. - Applied in changeset commit:git|57459b83a9a52ab921094a1562fe3056df9a437a.
----------
mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)
This commit is to add an extra option to enable verbose mode (V=1) in the
... -
03:01 AM Feature #19695: mkmf: Adding the extra option --with-verbose to enable verbose mode.
- LGTM
-
09:01 AM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
- I enabled GitHub wiki page: https://github.com/ruby/ruby/wiki
- 08:09 AM Revision 57459b83 (git): mkmf: Add the extra option `--with-verbose` to enable verbose mode. (#7863)
- This commit is to add an extra option to enable verbose mode (V=1) in the
generated `Makefile` at runtime of the Ruby to print compiler command lines by
the commands below when building native extensions. It's possible to enable the
verb... -
05:06 AM Feature #19698 (Open): Need an idiomatic way to define an empty range
- It seems there is no idiomatic way to define an empty range. We can define empty ranges in several ways such as
``` ruby
irb(main):001:0> (0...0).none?
=> true
irb(main):002:0> (1...-1).none?
=> true
```
I think the above exam... -
02:56 AM Misc #19691: File.realpath on Windows does not return actual case of the file
- `File.absolute_path` and `File.expand_path` normalize a short path to the long path, and the case too (maybe as a side effect).
05/28/2023
-
09:20 AM Revision d5ef373b (git): [ruby/irb] Set maximum document dialog height by
- preferred_dialog_height provided by Reline
(https://github.com/ruby/irb/pull/591)
https://github.com/ruby/irb/commit/df6907aca9 - 08:40 AM Revision 14abb799 (git): [ruby/io-nonblock] Remove usage of IO internals.
- (https://github.com/ruby/io-nonblock/pull/11)
https://github.com/ruby/io-nonblock/commit/caa2b94d19 - 08:01 AM Revision 55393645 (git): [ruby/io-nonblock] Revert "Remove usage of IO internals."
- This reverts commit https://github.com/ruby/io-nonblock/commit/9772b6dcb63c.
https://github.com/ruby/io-nonblock/commit/08cabf78e1 - 07:49 AM Revision 26dd9c5f (git): [ruby/io-nonblock] Remove usage of IO internals.
- https://github.com/ruby/io-nonblock/commit/9772b6dcb6
-
07:05 AM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- > FWIW I've touched on the potential feature request in the stdlib uri library which was not further discussed
That issue started as mentioning the removal of URI.escape, which probably prevented it from getting more attention.
I t... - 05:09 AM Revision 881757c0 (git): [ruby/io-wait] Remove usage of IO internals.
- (https://github.com/ruby/io-wait/pull/25)
https://github.com/ruby/io-wait/commit/e5854b46c7 - 05:08 AM Revision 00d66746 (git): [ruby/etc] Remove usage of IO internals.
- (https://github.com/ruby/etc/pull/26)
https://github.com/ruby/etc/commit/ea15eceb13 -
02:19 AM Feature #19057: Hide implementation of `rb_io_t`.
- > With one tweak: not int rb_ioptr_descriptor(struct rb_io *ioptr); but int rb_io_descriptor(VALUE io);.
> ...
I have mixed feelings about this. On one hand, it does successfully hide the implementation. On the other, casting pointers t...
05/27/2023
-
10:54 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- I agree with byroot, this shouldn't be solved at the resolve layer.
FWIW I've [touched on the potential feature request in the stdlib uri library](https://bugs.ruby-lang.org/issues/17309) which was not further discussed. Since then, I'v... -
02:39 PM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- clairity (claire c) wrote:
> i try to resolve a registered international domain, and instead of receiving DNS records, get an `incompatible character encodings` error:
> ...
edit: i should add that unicode remaining unicode characters ... -
08:30 AM Feature #19697: Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- While I think Ruby should offer a way to handle unicode domains, I'm not sure punycode should be handled at the Resolve layer though.
Either way, this looks more like a feature request to me. -
05:54 AM Feature #19697 (Open): Resolv::DNS resolution for international domains fails with "Encoding::CompatibilityError: incompatible character encodings: UTF-8 and ASCII-8BIT"
- i try to resolve a registered international domain, and instead of receiving DNS records, get an `incompatible character encodings` error:
```
# irb
3.2.2 :001 > require 'resolv'
3.2.2 :002 > res = Resolv::DNS.open { |dns| dns.get... -
05:53 PM Misc #19693: Data initialization is significantly slower than Struct
- janosch-x (Janosch Müller) wrote in #note-8:
> BTW using literal kwargs in Ruby also makes struct initialization with keywords 3 times faster:
Exactly, passing literal kwargs from Ruby to Ruby is optimized, passing kwargs from/to C i... -
05:09 PM Misc #19693: Data initialization is significantly slower than Struct
- > I suppose it wouldn't hurt.
I think its beautiful 😁
Another option could be to bypass the initializer by default and only patch it into a Data subclass when `initialize` is redefined (as detected via `method_added` or so).
> .... -
12:51 PM Misc #19693: Data initialization is significantly slower than Struct
- > This is a kind of cheat
Hum, if I'm reading this correctly, you check is `initialize` was redefined, and if it wasn't you bypass the initializer entirely?
I suppose it wouldn't hurt.
-
10:14 AM Misc #19693: Data initialization is significantly slower than Struct
- This is a kind of cheat, but...
https://github.com/nobu/ruby/tree/data-optimize
---
compare-ruby: ruby 3.3.0dev (2023-05-26T17:07:47Z master c6e4337a99) [x86_64-darwin22]
built-ruby: ruby 3.3.0dev (2023-05-27T10:07:26Z data-optim... -
03:07 PM Revision cf0b9e0d (git): [ruby/reline] Fix scrolldown condition in dialog rendering
- (https://github.com/ruby/reline/pull/541)
https://github.com/ruby/reline/commit/ad6faada3f -
02:48 PM Revision 5d137a7f (git): [ruby/reline] Use appropriate dialog height and reduce screen pushup
- problem
(https://github.com/ruby/reline/pull/542)
* Provide preferred_dialog_height for dialog positioning
* Fix rendering test -
10:12 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- IMO we should find a way for RSpec to enable them by default, it is hurting RSpec users and destroying ruby-core's efforts to provide nice migration paths.
Maybe more voices on that RSpec issue could help to convince the RSpec devs (but... -
09:55 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- Given that RSpec doesn't want to enable deprecation warnings by default, and that they were turned off mostly because the keyword related deprecations were very verbose, should we reconsider enabling them by default?
I kinda feel it's... -
10:12 AM Feature #19057: Hide implementation of `rb_io_t`.
- Given the discussion here, I just want to aim for "Hide all the details".
Thanks everyone, the discussion has been most helpful.
I especially like the discussions around undefined behaviour and the example showing aliasing issues (did ... -
09:58 AM Feature #19057: Hide implementation of `rb_io_t`.
- ioquatix (Samuel Williams) wrote in #note-3:
> Maybe it's CRuby problem, but there is a performance issue with such an implementation which has to extract and follow the pointer to the struct over and over again.
It's pretty rare to ... -
08:49 AM Feature #19057: Hide implementation of `rb_io_t`.
- I did a bit of research on this topic this evening.
Firstly, some technical notes r.e. undefined behaviour.
My understanding is that "Current proposal" is really undefined behaviour. This is in the C standard, section 6.5.2.3, poin... - 09:48 AM Revision bf1bc536 (git): Improve `read`/`write`/`pread`/`pwrite` consistency. (#7860)
- * Documentation consistency.
* Improve consistency of `pread`/`pwrite` implementation when given length.
* Remove HAVE_PREAD / HAVE_PWRITE - it is no longer optional.
05/26/2023
-
08:36 PM Bug #19696: YJIT panicked - branch stubs should never enlarge branches
- I understand it's intermittent and hard to reproduce, but could you try running it with `RUST_BACKTRACE=1` environment variable to see the backtrace? Even if we can't reproduce it on our end, a backtrace might be useful for fixing the is...
-
05:34 PM Revision c37ebfe0 (git): Remove dead code in string.c
- The STR_DEC_LEN macro is not used.
-
05:07 PM Revision c6e4337a (git): [DOC] No document under win32
- Also .document was removed at 57bc4cfa283582f7c4c7013bb8a979e0baf3236c.
- 04:26 PM Revision 94e5ecbb (git): [ruby/rdoc] Improve `<summary>` CSS on sidebar
- - Use a smaller font size for the toggle symbol. (Currently, it seems a little too large)
- Use the child combinator (`>`) to unify selectors.
- Use `margin-left` instead of whitespace within the `content` property.
- Use `::` instead of... - 04:24 PM Revision 54b7ce0b (git): [ruby/rdoc] Improve layout CSS
- - Use the `grid` property for the page layout.
- https://caniuse.com/css-grid
- Adjust the `<main>` margin.
- Make the sidebar responsive and resizable.
- https://caniuse.com/css-math-functions
- https://caniuse.com/css-resize
Not... -
03:05 PM Feature #19694: Add Regexp#timeout= setter
- byroot (Jean Boussier) wrote in #note-5:
> I assume you could have an internal regexp object that is deduplicated and immutable, and the actual `Regexp` object that is exposed could be a tuple of `(internal_regexp, timeout)`.
Not really... -
01:57 PM Feature #19694: Add Regexp#timeout= setter
- > I do get the point that Regexp.new is less nice than /.../.
The main issue with `Regexp.new` is that it compile the regexp on each invocation, which is slow. So you can't just translate from one syntax to the other, you also have to... -
09:38 AM Feature #19694: Add Regexp#timeout= setter
- On TruffleRuby all Regexp instances are frozen, notably because they are all globally cached and deduplicated, so this pattern with `dup` + setter cannot work.
Also it seems clearly better that a Regexp timeout is passed when creating t... -
05:14 AM Feature #19694: Add Regexp#timeout= setter
- I agree with @austin, calling `new` with `timeout:` feels simpler and better than `dup` then set.
-
02:58 PM Revision 618a04d2 (git): Document throw/catch in the control expressions document [ci skip]
- This are implemented as Kernel methods and not keywords, but I
still think they are worth documenting with the other control
flow expressions. -
02:55 PM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
- hsbt (Hiroshi SHIBATA) wrote in #note-1:
> So, I suggest to use option 1 at first for this migration
I agree, this makes sense and will allow me to execute the migration. Please let me know when we are ready to move forward with th... -
01:24 PM Revision 4847b7ac (git): T_HASH is no longer on transient heap
-
01:20 PM Revision d62ae187 (git): [DOC] Link fix (#7862)
- 01:19 PM Revision 6d450d62 (git): testing_ruby.md: Update `make test-all` tips [ci skip]
-
09:28 AM Misc #19693: Data initialization is significantly slower than Struct
- Defining a `new` singleton method on the Data subclass, in Ruby and with explicit keyword arguments should be able to then use the literal kwargs optimization, but that means using `eval` or so and then needing to validate all argument n...
-
06:50 AM Bug #19680: test_process.rb tests fail sometimes on FreeBSD
- OK so https://github.com/ruby/ruby/pull/7864 and https://github.com/ruby/ruby/pull/7865 were merged, so this _should_ be fixed. I'll keep an eye out on the CI tests over the weekend and see if this clears things up.
I also have https:... - 05:51 AM Revision cc698c6c (git): * expand tabs. [ci skip]
- Please consider using misc/expand_tabs.rb as a pre-commit hook.
-
05:51 AM Revision d1628fea (git): Remvoe very high timeout on test_race_gets_and_close
- This test should be fixed and fast now because the closing thread sleeps
appropriately waiting for the file descriptor to be unused. - 05:51 AM Revision 66871c5a (git): Fix busy-loop when waiting for file descriptors to close
- When one thread is closing a file descriptor whilst another thread is
concurrently reading it, we need to wait for the reading thread to be
done with it to prevent a potential EBADF (or, worse, file descriptor
reuse).
At the moment, tha... -
05:51 AM Revision 54a74c42 (git): Move rb_thread_cond_struct definition into thread_native.h
- On Win32, currently, rb_nativethread_cond_t is an incomplete type
because it's a typedef for `struct rb_thread_cond_struct`. That means
you can't actually allocate a rb_nativethread_cond_t unless you also
include THREAD_IMPL_H (since its... -
05:48 AM Revision 8c4da473 (git): Remove excessive timeout on test_wait_exception for FreeBSD
- This should now be fixed by the previous commit.
- 05:48 AM Revision 8e1abef4 (git): Fix a potential busy-loop in the thread scheduler (esp. on FreeBSD)
- This patch fixes a potential busy-loop in the thread scheduler. If there
are two threads, the main thread (where Ruby signal handlers must run)
and a sleeping thread, it is possible for the following sequence of
events to occur:
* The s... - 03:39 AM Revision 3dae55ea (git): Bump github/codeql-action from 2.3.3 to 2.3.5
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.3 to 2.3.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
...