Activity
From 10/15/2024 to 10/21/2024
10/21/2024
-
09:30 PM Feature #15381: Let double splat call `to_h` implicitly
- Eregon (Benoit Daloze) wrote in #note-4:
> Should `**` call `to_h` rather than `to_hash`, similar to `*` calling `to_a` and not `to_ary`?
Hi, I’m learning Ruby and the fact that `**` calls `to_hash` rather than `to_h` surprised me; I wo... -
09:22 PM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
- Thank you very much!
I have confirmed a83c91dd7a addresses the issue on Intel mac:
```console
$ ruby -v
ruby 3.4.0dev (2024-10-21T11:40:42Z master a83c91dd7a) +PRISM [x86_64-darwin24]
$ bundle exec rake
ostruct was loaded fro... -
09:28 AM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
- I don't have an access to Intel mac, but I think https://github.com/ruby/ruby/pull/11519 has indeed an off-by-one bug. I could reproduce the issue on Linux with valgrind by forcing to use the wrong `memrchr` function.
```
$ valgrind ... -
06:15 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
- cc @akr , as maintainer of PP perhaps you have an opinion on how this sort of issue should be handled?
-
04:49 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
- > Struct and Data both assume all member readers are public:
Actually I misread. The `Struct` one uses `Struct#[]` so it would work with Struct. `Data` however has no such method, so two solutions I can think of are:
- Use `send`... -
04:45 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
- The `pp` implementation for `Struct` and `Data` both assume all member readers are public:
```ruby
class Struct # :nodoc:
def pretty_print(q) # :nodoc:
q.group(1, sprintf("#<struct %s", PP.mcall(self, Kernel, :class).name), ... -
04:43 PM Bug #20808: Data#pretty_print doesn't handle private or remove attribute readers
- So the problem isn't with `inspect`, as it only reproduce in `irb`.
It's coming from `pretty_inspect`:
```
>> d.pretty_inspect
/opt/rubies/3.3.5/lib/ruby/3.3.0/pp.rb:432:in `public_send': private method `name' called for an insta... -
04:24 PM Bug #20808 (Closed): Data#pretty_print doesn't handle private or remove attribute readers
- Given the next code:
```
Dog = Data.define(:name) do
def inspect
"Hello!"
end
private
attr_reader :name
end
Dog.new(name: "Fido")
```
It throws an error:
- An error occurred when inspecting the object: #<NoM... -
04:48 PM Revision 5131fb5d (git): Don't clear out flags in rb_gc_obj_free
- If there's a crash after rb_gc_obj_free, it's hard to debug because the
flags have been cleared out already. -
04:12 PM Revision 20c5a3e1 (git): YJIT: Rename method substitution functions and improve docs (+1) (#11919)
- * YJIT: Fill in commented-out assertion
* YJIT: Rename yjit_reg_method() and add links in docs -
03:45 PM Misc #20806: Redmine ML forwarding seems to be broken (likely since Oct 15)
- Thanks. Good news is that it seems that the queue has been preserved 👍
-
09:39 AM Misc #20806 (Closed): Redmine ML forwarding seems to be broken (likely since Oct 15)
- I fixed this at https://github.com/ruby/b.r-l.o/commit/c1c82dc1bd3bd26982cfeaaf56c0a87684ada8d2
`good_job` is not working with Rails 6.1 stable releases. I reverted that and pointed `6-1-stable` again.
Thank you for reporting. -
08:52 AM Misc #20806 (Assigned): Redmine ML forwarding seems to be broken (likely since Oct 15)
- I'm investigating now.
-
07:35 AM Misc #20806 (Closed): Redmine ML forwarding seems to be broken (likely since Oct 15)
- I am subscribed to ruby-core ML and it seems that Redmine have not forwarded any notification there since ~Oct 15. Could somebody PTAL?
-
03:41 PM Revision c4b6ce36 (git): Merge syntax-suggest-2.0.1
-
03:18 PM Bug #19268 (Closed): Mingw64 Build Failure
-
03:12 PM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
- natton (Tien Truong) wrote in #note-9:
> Is there a way to backport this fix to Ruby version 3.1 and 3.2
Ruby 3.2 was recently fixed, and it will be in the next Ruby 3.2 release. Ruby 3.1 is in security fix only mode, and this is no... -
03:00 PM Revision 6588bbfa (git): Fix wmap_compact from potentially corrupting ST table
- Since we hash by the address of the key in the WeakMap, we cannot change
the key in the same entry because deleting the key could require hashing.
This commit changes it to allocate and insert a new entry if the key has
moved. -
03:00 PM Revision ef059707 (git): [DOC] Fix indentation of comment in wmap_compact_table_i
-
11:40 AM Revision a83c91dd (git): Fix an off-by-one error of own memrchr implementation
- and make it support `search_len == 0`, just for the case
Ref [Bug #20796] -
11:07 AM Bug #20807 (Open): String#gsub fails when called from string subclass with a block passed
- When `String#gsub` is called from a string subclass with a block, `Regexp.last_match` is nil, but passed block is executed. Here is example code:
```ruby
def call_gsub(str)
str.gsub(/%/) do
puts "checking #{str.class}"
p... -
10:52 AM Feature #20792: String#with_encoding(encoding)
- Right.
But if it is valid in that encoding, wouldn't you always or almost always then want the String (or a copy of it) in that encoding?
If you do, `.with_encoding` would be more efficient as it keeps the computed coderange.
If you d... -
10:34 AM Feature #20205 (Closed): Enable `frozen_string_literal` by default
- I merged https://github.com/ruby/ruby/pull/11893 which I believe addresses https://bugs.ruby-lang.org/issues/20205#note-56
-
10:05 AM Feature #20205: Enable `frozen_string_literal` by default
- hartator (Julien Khaleghy) wrote in #note-55:
> If the main point is to avoid some kind of bugs, the reverse is also true. `# frozen_string_literal: true` can be a misdirection and introduces its own kind of bugs. IRL this has introduce... -
10:33 AM Revision 257f78fb (git): Show where mutated chilled strings were allocated
- [Feature #20205]
The warning now suggests running with --debug-frozen-string-literal:
```
test.rb:3: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
```
When using --d... -
10:09 AM Bug #20804: Stop reserving stack ahead-of-time in on Linux
- Yes, that’s exactly right. I will go ahead and delete this code then. Thank you!
-
09:52 AM Bug #20804: Stop reserving stack ahead-of-time in on Linux
- In short, you are saying that the issue is supposed to have been fixed since Linux 4.13, right? Then I don't see a problem.
-
10:06 AM Bug #20693: Dir.tmpdir should perform a real access check before warning about writability
- OK. Thank you.
-
09:01 AM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
- vo.x (Vit Ondruch) wrote in #note-2:
> the path should likely be `/usr/libexec/x86_64-linux/ruby`
Just to clarify, the `ruby` would be the binary. Of course it could also be directory should there be need for more files in `libexec` -
07:30 AM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
- > but using --enable-multiarch when not multiarch seems like a misuse of the feature.
I don't disagree. If I had other option, I'd use it. If somebody is interested to help, I'll gladly open separate ticket to share what are my thoughts... -
06:50 AM Feature #20805 (Feedback): Allow Ractor#send from a signal trap Proc
- It was surfaced in https://bugs.ruby-lang.org/issues/18139 that Ractor is designed to "unexpected interruption free" and it's not supposed to have a `kill`-like method.
A better alternative to that would be allow the main Ractor to co...
10/20/2024
-
03:19 PM Bug #19383: Time.now.zone encoding for German display language in Windows is incorrect
- There is another remaining locale related issue.
ref: https://bugs.ruby-lang.org/issues/20774
As an alternative solution, if setlocale(LC_CTYPE, ".65001") could be used, it would solve the problem, but it does not seem to work in all... -
11:17 AM Bug #20796: Segmentation fault in rubyzip tests with ruby 3.4.0-preview2~659 e7cb70be4e on x86_64-darwin24
- > This PR seems relevant, and fits in the (rather large) preview1/preview2 window: https://github.com/ruby/ruby/pull/11519
Thanks for your sharing.
According to git bisect between preview1 and preview2, it is triggered since ruby 3... -
10:33 AM Revision 75ef89ca (git): Remove unused or wrong conversions
- The GMT offset and zone fields are not used in calculating the week
number, and `zone` in `struct vtm` is a `VALUE` and should not be cast
to `char *` at least. - 10:26 AM Revision d21b614b (git): [DOC] Improve `Socket::tcp` with Happy Eyeballs Version 2
- With the introduction of Happy Eyeballs Version 2 to `Socket::tcp`, the following areas have been mainly enhanced:
- How the value specified for `connect_timeout` works
- How Socket.tcp operates with Happy Eyeballs Version 2
A descript... -
09:55 AM Bug #20804 (Closed): Stop reserving stack ahead-of-time in on Linux
- In Linux, the main thread generally only gets a small stack mapped in initially. As the application attempts to use more stack memory, the kernel will map in more stack pages.
In https://github.com/ruby/ruby/pull/822, we added some lo... -
09:38 AM Bug #20693: Dir.tmpdir should perform a real access check before warning about writability
- Sorry it took me so long to get back to you @akr . I've added a short comment about this - if you're OK with it I will commit it. Thanks!
-
08:48 AM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
- ruby_3_2 commit:e55b1af2573eb21db57a06e5509f9868f288b583, commit:2fbae07c42f40ea43b4822e278cc92fb2415cb61, commit:f70e3254e067663e72e6d410370d231e4245e4f4, commit:db5201ffd531d07747de03c55c4cb1c0e9e5c5bf, commit:fc5b9ffad1b0710bd999521d0...
- 06:18 AM Revision fe17697a (git): [ruby/irb] Improve history test's encoding setting
- (https://github.com/ruby/irb/pull/1022)
* improve history test's encoding setting
* fix missing locale error for ci and refactoring
https://github.com/ruby/irb/commit/7f385bc19b -
05:21 AM Bug #19268: Mingw64 Build Failure
- Actually this now works without change on latest version of mingw64 make. This issue can be closed.
-
03:56 AM Bug #19268: Mingw64 Build Failure
- Still a issue in Ruby 3.3.x
One thing I forgot to mention in the original report, the file with the issue is:
ruby-3.3.5/common.mk -
05:21 AM Revision e55b1af2 (git): merge revision(s) ce20367a0e2f1fcfabebf3b6bea732fc71fa79f7: [Backport #20500]
- Define `incflags` also on mswin
-
05:19 AM Revision 2fbae07c (git): merge revision(s) bcb3247072e6973d0f6b50ca5fed238d5824bd28: [Backport #20500]
- [Bug #19778] Pass additional include options to INCFLAGS in common.mk
-
04:56 AM Revision f70e3254 (git): merge revision(s) 5fa6ba9568e87e43e08a4daeba1572254c589fb1: [Backport #20500]
- [Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri)
10/19/2024
-
06:31 PM Bug #20314: Simultaneous Timeout expires may raise an exception after the block
- Ref: https://github.com/ruby/ruby/pull/10851
- 01:00 PM Revision 1c653cab (git): Update default gems list at b101ca598ef7a0b7c81efe673fea52 [ci skip]
- 12:59 PM Revision b101ca59 (git): [ruby/ipaddr] Bump the version to 1.2.7
- https://github.com/ruby/ipaddr/commit/b44d2a1173
- 12:56 PM Revision bfc586b2 (git): [ruby/ipaddr] Use string interpolation instead of format()
- https://github.com/ruby/ipaddr/commit/1f41cd7320
10/18/2024
-
08:06 PM Feature #16986: Anonymous Struct literal
- Eregon (Benoit Daloze) wrote in #note-69:
> That's pretty slow and inefficient as it creates a new Struct subclass for every Hash it's applied to.
> ...
Um ok so I'm voting against a new syntax. It's not necessary. A simple method like... -
07:01 PM Revision 7be9a333 (git): YJIT: Allow shareable consts in multi-ractor mode (#11917)
- * Update yjit-bindgen deps
* YJIT: Allow shareable consts in multi-ractor mode
* Update yjit/src/codegen.rs
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
---------
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> -
06:16 PM Revision e17243d3 (git): Point keyword->table into iseq local table
-
05:15 PM Revision f370a315 (git): [ruby/irb] Suppress "literal string will be frozen in the future"
- warning
(https://github.com/ruby/irb/pull/1019)
* Suppress "literal string will be frozen in the future" warning
Before change:
```console
$ ruby -W -I lib -e 'require "irb"; IRB.setup(nil); IRB::Irb.new.build_statement("1 + 2")'
/Use... -
05:15 PM Revision 09ddfd4d (git): [ruby/irb] Always use alternate sceen on alt-d
- (https://github.com/ruby/irb/pull/988)
https://github.com/ruby/irb/commit/db0a923d62 -
05:06 PM Revision fbabe13b (git): Use rb_id_table_foreach_values for marking Ractor local storage
- Since we only mark the values, we can use rb_id_table_foreach_values to
avoid the overhead of converting the key to an ID. -
05:00 PM Feature #18336: How to deal with Trojan Source vulnerability
- Please consider the issue of ASCII smuggling as a potential aspect of this problem. While I don’t currently see how ASCII smuggling could be used to affect Ruby, I do believe it would be worthwhile to explore if the command "ruby -c" sho...
-
04:35 PM Bug #20803 (Closed): Windows intermittent spec failure - ObjectSpace.memsize_of(:abc)
- This frequently fails on ruby-loco's mingw build, but I think there have been less frequent failures on ucrt and mswin. I've started a new GHA build when it occurs, and it usually passes. I could not repro locally.
```
ObjectSpace.... -
04:19 PM Revision fce5bbd6 (git): [rubygems/rubygems] Add `bundle add --quiet` option
- This option is similar to the `bundle install --quiet` option
https://github.com/rubygems/rubygems/commit/3bd773d827 - 04:03 PM Revision 689f14e2 (git): [ruby/ipaddr] Use string interpolation instead of format()
- https://github.com/ruby/ipaddr/commit/73f59e111f
-
03:12 PM Revision d1b5c109 (git): [DOC] Tweaks for Array#sum
-
03:08 PM Revision 161ea389 (git): [DOC] Tweaks for Array#sort_by!
- 03:00 PM Revision eb8cf1d6 (git): [ruby/ipaddr] Added to_json/as_json method
- Updated to use cidr method when return address with prefix in #as_json
https://github.com/ruby/ipaddr/commit/cf8181d53e -
02:25 PM Revision 6b1268c7 (git): [rubygems/rubygems] Clarify `bundle install --quiet` documentation
- Bundler always exits with a status code.
https://github.com/rubygems/rubygems/commit/3a38bd0b12 -
01:06 PM Revision 3ddaf24c (git): Move object processing in Process.warmup to gc.c
-
05:03 AM Bug #20797: UTC offset seconds part is not checked
- I think the issue is trivial and the making the validation more restrictive could cause errors in applications.
I decided to WONTFIX on ruby_3_2. -
04:58 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
- ruby_3_2 commit:cb75fcef6feb126a67874109ce1503976a6f90cc merged revision(s) commit:6118e8a47394409b53164b60e79fadf348b97db3, commit:dc64448202299633a235f310b8bf2192263f274f.
-
04:58 AM Bug #20755: IO::Buffer#transfer transfers mutable reference to String's memory but not lock ownership
- ruby_3_2 commit:087e4ed6cc9da9cfca1a107058905446ff474bd1 merged revision(s) commit:35e124832e29b65c84d4e0e4e434616859f9bdf5.
-
04:57 AM Revision cb75fcef (git): merge revision(s) 6118e8a47394409b53164b60e79fadf348b97db3, dc64448202299633a235f310b8bf2192263f274f: [Backport #20716]
- Fix method caching bug when including/prepend module A that prepends module B
Fix by always adding the generated iclass to the subclasses list,
otherwise the method cache for the iclass is not cleared when
the me... -
04:57 AM Revision 087e4ed6 (git): merge revision(s) 35e124832e29b65c84d4e0e4e434616859f9bdf5: [Backport #20755]
- [Bug #20755] Frozen string should not be writable via IO::Buffer
-
03:59 AM Bug #20771: make-snapshot is broken with ubuntu-latest
- merged at https://github.com/ruby/ruby/commit/d85516eab59f932d65283572d0b9090005f60c20.
-
03:59 AM Revision d85516ea (git): Disabled annocheck same as f5b6b3dba7b32dcd1f15c150dd78dce6c0d92b1e
- 03:59 AM Revision 4873bbd6 (git): .travis.yml: Drop all the pipelines due to jobs not starting.
- Remove `.travis.yml` as a temporary workaround.
-
03:59 AM Revision dcad0ad9 (git): -l option of 7z is unknown switch with the `ubuntu-latest`.
- https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349
-
03:19 AM Bug #20752: IO::Buffer#slice creates mutable IO::Buffer instance that points to readonly memory (e.g. fronzen String)
- ruby_3_2 commit:5777fe5ab57d6479326bdb21ef9a6b88ea1516dc merged revision(s) commit:637067440f74043c6d79fc649ab8acf1afea25a5.
-
03:19 AM Bug #20719: `Float` converts ASCII-incompatible string
- ruby_3_2 commit:18074c508105244552678cf6afd4b23304cb4c8f merged revision(s) commit:c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775.
-
03:19 AM Bug #20704: Windows: `-C` option does not work for multibyte path name
- ruby_3_2 commit:48af30b068729058c2f45375e67fa76f6240a228 merged revision(s) commit:d33e3d47b84a73b38644f2a3d41881ce9be6ef18.
-
02:55 AM Bug #20501: ruby SEGV
- While trying to backport d592ddd5e619ffe1691b8050de2ccc3e1bd6e080 to ruby_3_2, I found that it depends on 6e64d4370456190541705ec4c6cf3af6bf4ac647 (for [Bug #19862]). And I cannot reproduce the SEGV on rub-3.2.
I decided to set WONTFIX ... - 02:35 AM Revision 9a98b70a (git): [ruby/fiddle] test: Fix a typo
- (https://github.com/ruby/fiddle/pull/154)
https://github.com/ruby/fiddle/commit/1f818e4684 - 02:31 AM Revision 326a21d4 (git): Relax Pure::Parser's comment regex...
- ...to allow any character sequence, including "/*", before then end
sequence of a multi-line ANSI C-style comment
. -
02:30 AM Revision 8feed977 (git): [ruby/json] Assume Encoding is defined
- https://github.com/ruby/json/commit/8713aa4812
-
02:30 AM Revision 20dc1e5c (git): [ruby/json] Always dup argument to preserve original encoding for force_encoding
- https://github.com/ruby/json/commit/db9a489ca2
-
02:30 AM Revision 5777fe5a (git): merge revision(s) 637067440f74043c6d79fc649ab8acf1afea25a5: [Backport #20752]
- [Bug #20752] Slice of readonly `IO::Buffer` also should be readonly
- 02:28 AM Revision 57e1b64c (git): [ruby/json] Fix behavior of trying to parse non-string objects
- https://github.com/ruby/json/commit/e2e9936047
-
02:28 AM Revision c4d4c6b8 (git): [ruby/json] Speedup Parser initialization
- Extracted from: https://github.com/ruby/json/pull/512
Use `rb_hash_lookup2` to check for hash key existence instead
of going through `rb_funcall`.
https://github.com/ruby/json/commit/43835a0d13
Co-Authored-By: lukeg <luke.gru@gmail.com> -
02:25 AM Revision 18074c50 (git): merge revision(s) c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775: [Backport #20719]
- [Bug #20719] `Float` argument must be ASCII compatible
-
02:22 AM Revision 48af30b0 (git): merge revision(s) d33e3d47b84a73b38644f2a3d41881ce9be6ef18: [Backport #20704]
- [Bug #20704] Win32: Fix chdir to non-ASCII path
On Windows, `chdir` in compilers' runtime libraries uses the active
code page, but command line arguments in ruby are always UTF-8, since
commit:33ea2646b98adb49ae2... - 02:07 AM Revision 5152f81f (git): Update default gems list at 8b4df90a24a886ed2ccb4b381d43a5 [ci skip]
-
02:07 AM Revision 8b4df90a (git): [ruby/syntax_suggest] Bump up 2.0.1
- https://github.com/ruby/syntax_suggest/commit/0b9e4081c0
-
01:48 AM Revision 4b21fb12 (git): [ruby/syntax_suggest] Removed empty comment
- https://github.com/ruby/syntax_suggest/commit/e1d9c83736
-
01:36 AM Revision e67137fe (git): [ruby/syntax_suggest] A gem executable should not use require_relative
- Otherwise it makes incorrect assumption about RubyGems layout.
https://github.com/ruby/syntax_suggest/commit/04585d820d
10/17/2024
-
09:59 PM Revision cb39283c (git): YJIT: In stats, group by resolved C method name
- Previously, in the "Top-N most frequent C calls"
section of --yjit-stats output, we printed the class
name of the receiver, not the method owner. This meant
that calls on subclass instances that land on the same
method showed up as diffe... - 09:36 PM Revision 158b8cb5 (git): YJIT: Add compilation log (#11818)
- * YJIT: Add `--yjit-compilation-log` flag to print out the compilation log at exit.
* YJIT: Add an option to enable the compilation log at runtime.
* YJIT: Fix a typo in the `IseqPayload` docs.
* YJIT: Add stubs for getting the YJIT c... -
09:18 PM Bug #20800: Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
- I'm not familiar with this area, but using `--enable-multiarch` when not multiarch seems like a misuse of the feature. Also, can you explain where you'd like it to place `ruby`?
-
08:24 AM Bug #20800 (Closed): Don't place `ruby` executable into `/usr/libexec/x86_64-linux/bin`
- Trying to prepare Ruby 3.4 package for Fedora, it seems that since [1], the `ruby` executable is installed into `/usr/libexec/x86_64-linux/bin`:
~~~
installing binary commands: /usr/libexec/x86_64-linux/bin
~~~
Unfortunat... -
08:54 PM Revision c78e2987 (git): [DOC] Tweaks for Array#sort!
-
08:53 PM Revision b1ffd9e9 (git): [DOC] Tweaks for Array#sort (#11907)
-
08:40 PM Revision 0b38e184 (git): [ruby/rdoc] feature: Render mixed-in methods and constants with
- `--embed-mixins`
(https://github.com/ruby/rdoc/pull/842)
* Embed mixed-in methods and constants with `--embed-mixins`
When `--embed-mixins` option is set:
- methods from an `extend`ed module are documented as singleton methods
- attrs... -
07:07 PM Revision 48899d56 (git): [ruby/json] Sync changes
- Some changes were missed in the automatic sync.
-
05:39 PM Revision e4330536 (git): [ruby/json] Fix State#max_nesting=
- Returning state->max_nesting is not valid because it's not a Ruby object.
https://github.com/ruby/json/commit/6679ceb -
04:31 PM Feature #20792: String#with_encoding(encoding)
- Yeah I'm saying it doesn't require a mutable string because it just checks the current string, it doesn't require a dup/allocation. So this avoids having to allocate a new string to check if it's possible.
-
03:55 PM Revision 494fcc50 (git): Merge RubyGems-3.5.22 and Bundler-2.5.22
-
03:55 PM Revision d03e4228 (git): Merge RubyGems-3.5.21 and Bundler-2.5.21
-
03:37 PM Revision c6828a10 (git): Update maintainers of Prism
-
03:21 PM Revision a7317f53 (git): Add a fast path for ASCII strings
- This optimization is based on a few assumptions:
- Most strings are ASCII only.
- Most strings had their coderange scanned already.
If the above is true, then by checking the string coderange, we can
use a much more streamlined fun... -
01:42 PM Bug #20802 (Closed): It is possible to set the encoding of an IO instance to one that requires binmode when binmode is not set
- I don't know what problems this may cause, but there are guards against setting the encoding of an IO instance to one such as UTF-16LE when the IO instance is not set to binary mode. Here is a method to bypass those guards:
```ruby
f1... -
01:02 PM Revision df48f597 (git): [ruby/json] Get rid of some more outdated compatibility code
- All these macros are available on Ruby 2.3+
https://github.com/ruby/json/commit/227885f460 -
12:22 PM Revision 6105bae3 (git): [ruby/json] Get rid of compatibility code for older rubies
- All of these are for rubies older than 2.3.
https://github.com/ruby/json/commit/811297f86a -
11:35 AM Revision 0e2ac465 (git): Optimize Ext::Generator::State#configure
- If we assume that most of the time the `opts` hash is small
it's faster to go over the provided keys with a `case` than
to test all possible keys one by one.
Before:
```
== Encoding small nested array (121 bytes)
ruby 3.4.0preview2 (20... -
11:35 AM Revision a1c420c7 (git): [ruby/json] generator.c: reduce the number of globals
- Most of these classes and modules don't need to be global variables
https://github.com/ruby/json/commit/b783445ec9 -
11:35 AM Revision 43e08133 (git): [ruby/json] Convert Generator initialize and configure method into Ruby
- This helps very marginally with allocation speed.
https://github.com/ruby/json/commit/25db79dfaa -
10:34 AM Revision 5a189564 (git): ruby-style.el: Minimize backslash columns [ci skip]
- Basically we don't align line continuation backslashes.
-
10:18 AM Bug #20801 (Feedback): Handling non-ascii drive letter on Windows
- On Windows, non-ascii drive letters are allowed for virtual drives. Some Ruby methods do not seem to handle this well.
```
subst ä: C:\tmp\
```
```ruby
File.absolute_path?("ä:/") #=> expected: true, actual: false
File.wr... -
10:11 AM Revision fc11579c (git): [ruby/rdoc] Use scroll-margin-top on anchor targets
- (https://github.com/ruby/rdoc/pull/1190)
This will make the anchor target easier to read.
https://github.com/ruby/rdoc/commit/e2fe4882f4 - 10:10 AM Revision 1f0b5403 (git): [ruby/rdoc] Add scroll-margin-top on all :target elements
- (https://github.com/ruby/rdoc/pull/1174)
https://github.com/ruby/rdoc/commit/7398e5b0ad
Co-authored-by: Stan Lo <stan001212@gmail.com> -
09:31 AM Revision 494d8146 (git): Optimize JSON.dump argument parsing
- `JSON.dump` looks terrible on micro-benchmarks because the way it
handles arguments is quite allocation heavy compared to the actual
JSON generation work.
Profiling the `small hash` benchmarked show 14% of time spent in `Array#compact`
... -
08:54 AM Revision 233f63c7 (git): [ruby/json] Use `RB_ENCODING_GET` instead of `rb_enc_get` to improve performance
- This speeds up `JSON.generate` by about 12% in a benchmark.
https://github.com/ruby/json/commit/4329e30826 -
08:54 AM Revision 0b4257ef (git): [ruby/json] Apply RB_UNLIKELY for less frequently used options
- This speeds up `JSON.generate` by about 4% in a benchmark.
https://github.com/ruby/json/commit/6471710cfc -
08:54 AM Revision 64c24f69 (git): [ruby/json] Stop prebuilding object_delim2
- Also, remove static functions that are no longer used.
This speeds up `JSON.generate` by about 5% in a benchmark.
https://github.com/ruby/json/commit/4c984b2017 -
08:54 AM Revision 186e7720 (git): [ruby/json] Stop prebuilding object_delim
- This speeds up `JSON.generate` by about 4% in a benchmark
https://github.com/ruby/json/commit/ed47a10e4f -
08:54 AM Revision 88719fb3 (git): [ruby/json] Stop prebuilding array_delim
- The purpose of this change is to exploit `fbuffer_append_char` that is
faster than `fbuffer_append`.
`array_delim` was a buffer that concatenated a single comma with
`array_nl`. However, in the typical use case (`JSON.generate(data)`),
... -
08:54 AM Revision fb84aa55 (git): [ruby/json] Directly use `generate_json_string` for object keys
- ... instead of `generate_json`.
Since the object key is already confirmed to be a string, using a
generic dispatch function brings an unnecessary overhead.
This speeds up `JSON.generate` by about 3% in a benchmark.
https://github.com/... -
08:54 AM Revision 3911189f (git): [ruby/json] Use efficient object-type dispatching
- Dispatching based on Ruby's VALUE structure is more efficient than
simply cascaded "if ... else if ..." checks.
This speeds up `JSON.generate` by about 5% in a benchmark.
https://github.com/ruby/json/commit/4f9180debb -
08:54 AM Revision 7962b4c3 (git): [ruby/json] Use `RARRAY_AREF` instead of `rb_ary_entry` to improve performance
- It is safe to use `RARRAY_AREF` here because no Ruby code is executed
between `RARRAY_LEN` and `RARRAY_AREF`.
This speeds up `JSON.generate` by about 4% in a benchmark.
https://github.com/ruby/json/commit/c5d80f9fd4 -
07:44 AM Revision 681787d1 (git): [ruby/syntax_suggest] Fallback to load syntax_suggest/api when failing to load with require_relative.
- https://github.com/ruby/syntax_suggest/commit/b782897560
-
07:32 AM Revision 9da60a14 (git): [ruby/etc] Fix sysconfdir when load-relative
- When relative load paths option is enabled, the prefix is determined
at the runtime. The only way to get it outside libruby is to use
rbconfig.rb.
https://github.com/ruby/etc/commit/e5b498fad9 -
07:10 AM Revision d4a18d4a (git): [rubygems/rubygems] Allow using `gemspec` DSL twice with same dependency and compatible requirements
- https://github.com/rubygems/rubygems/commit/a8d14c1fc2
-
05:33 AM Revision 817f2cc1 (git): Re-ordered Stdlib updates section
-
03:09 AM Revision 72b8fa9e (git): [ruby/win32-registry] Exclude rake files from packages [ci skip]
- https://github.com/ruby/win32-registry/commit/e7b2eeb885
-
02:12 AM Revision 34d800eb (git): [ruby/win32-registry] Exclude mailmap from packages [ci skip]
- https://github.com/ruby/win32-registry/commit/521f93af9e
- 01:51 AM Revision 85ce3b17 (git): [ruby/win32-registry] Fix compatibility with JRuby
- JRuby's fiddle implementation has quite some shortcomings compared with the CRuby impl.
Add JRuby tests in CI.
https://github.com/ruby/win32-registry/commit/7f34184c2e -
01:48 AM Revision 6a49bbd7 (git): [ruby/win32-registry] Move all tests to volatile environment and use per-test individual registry key
- This allows to run all tests in parallel.
Usage of `File` methods is avoided.
Since all tests are executed in the volatile environment of the registry,
the dedicated 'create_volatile' test is removed now.
Also add some documentation to t...
10/16/2024
-
09:57 PM Revision 36b7ad3c (git): [rubygems/rubygems] Fix `bundle check` sometimes locking gems under the wrong source
- https://github.com/rubygems/rubygems/commit/1e5780db0a
Co-authored-by: Taylor Thurlow <thurlow@hey.com> -
09:57 PM Revision def5fdf8 (git): [rubygems/rubygems] Delay and refactor verification of changed sources
- https://github.com/rubygems/rubygems/commit/d5dce93167
-
09:57 PM Revision cff18256 (git): [rubygems/rubygems] No reason for `Definition#sources` to be private
- https://github.com/rubygems/rubygems/commit/432fe083a6
-
09:57 PM Revision 9d5be3d9 (git): [rubygems/rubygems] Lock definition directly
- https://github.com/rubygems/rubygems/commit/55eb6630a8
- 09:56 PM Revision e9e66f74 (git): [rubygems/rubygems] Add missing comma in documentation
- https://github.com/rubygems/rubygems/commit/fe9999f2cf
-
06:52 PM Revision 90aa6aef (git): Fix memory leak in syntax error in prism
- If there is a syntax error, there could be an ast_node in the result.
This could get leaked if there is a syntax error so parsing could not
complete (parsed is not set to true).
For example, the following script leaks memory:
10.ti... -
06:52 PM Revision 4621c9b8 (git): [DOC] Tweaks for Array#slice! (#11902)
-
06:31 PM Revision 5eca11ca (git): RubyVM::InstructionSequence.of Thread::Backtrace::Location
- This would be useful for debugging.
- 06:22 PM Revision 78fb1ab8 (git): * remove trailing spaces. [ci skip]
-
06:22 PM Revision 92519713 (git): [ruby/prism] Add a sample for multiplexing constants
- https://github.com/ruby/prism/commit/e265dc5862
-
06:12 PM Revision 3affd43c (git): [DOC] Tweaks for Array#shuffle
-
06:11 PM Revision f549448e (git): [DOC] Correct related for Array#shuffle!
-
03:56 PM Revision 550ae745 (git): [ruby/prism] Relocation
- https://github.com/ruby/prism/commit/5ea6042408
-
02:17 PM Revision ebfe615a (git): Skip GC compaction tests in test_yjit.rb when not supported
-
12:53 PM Revision c6c1e111 (git): Remove unused shared GC configuration in GitHub Actions
- Shared GC CI is no longer running in the compilers workflow, so we can
remove it from .github/actions/compilers/entrypoint.sh. -
08:49 AM Revision 2bf9c82f (git): [ruby/yaml] Support old version of Psych
- https://github.com/ruby/yaml/commit/5b39653c52
-
08:49 AM Revision c1f6ad56 (git): [ruby/yaml] Also use safe_load on YAML::Store
- https://github.com/ruby/yaml/commit/09691d005f
-
08:04 AM Revision 21bac991 (git): [ruby/yaml] Make YAML::DBM optional
- https://github.com/ruby/yaml/commit/f7c44d3fd7
-
08:04 AM Revision 1d7547f5 (git): [ruby/yaml] Also use safe_load with each_value, values and shift
- https://github.com/ruby/yaml/commit/f47d6123eb
-
08:04 AM Revision d45fb19e (git): [ruby/yaml] Prefer to use YAML.safe_load
- https://github.com/ruby/yaml/commit/c3d0f64224
-
08:04 AM Revision 623897c9 (git): [ruby/yaml] Added basic test cases
- https://github.com/ruby/yaml/commit/36a339c0d7
-
08:04 AM Revision fdcdc05b (git): [ruby/yaml] Removed confused VERSION constant for YAML::DBM
- https://github.com/ruby/yaml/commit/952fd361b1
-
07:11 AM Revision 19969155 (git): [ruby/json] Godounov ==> Godunov
- https://github.com/ruby/json/commit/dbf7e9f473
-
04:35 AM Revision a7a0fb9b (git): Followed up https://github.com/ruby/json/pull/613
-
04:34 AM Revision 1379ef6f (git): [ruby/json] Embedded helper.rb into test_helper.rb
- https://github.com/ruby/json/commit/f8417ffc69
-
04:34 AM Revision 3c1b0f21 (git): [ruby/json] Fixed load path for ext version
- https://github.com/ruby/json/commit/c17823688e
-
04:17 AM Bug #20716: Different instance_method behavior in Ruby 2.7 and Ruby 3.x
- Hi Evans,
I am sorry for my late response.
Is there a way to backport this fix to Ruby version 3.1 and 3.2 - 02:25 AM Revision a4bb2491 (git): Update default gems list at 8af6606b225ade043322cf9d50ac96 [ci skip]
-
02:24 AM Revision 8af6606b (git): Restore missing test-case from https://github.com/ruby/json/commit/c5a6d8042752dca312cfb407a6d3e594458d1cd6
- Co-authored-by: "Jean Boussier" <byroot@ruby-lang.org>
-
02:24 AM Revision fdbead76 (git): [ruby/json] ractor_test.rb: ignore stderr
- When rubygems is double loaded it fails the test.
The warning should happen in the first place but this
makes the test more resilient.
https://github.com/ruby/json/commit/513ddeaeb1 - 02:24 AM Revision 80136b6a (git): Bump version
- 02:24 AM Revision 8d127c9b (git): Use JRuby implementation for TruffleRuby (#149)
- Fix GH-145
Rename `lib/fiddle/jruby.rb` to `lib/fiddle/ffi_backend.rb` as a generic
ffi gem API based implementation.
JRuby and TruffleRuby use `lib/fiddle/ffi_backend.rb`.
---------
Co-authored-by: Benoit Daloze <eregontp@gmail.com> -
02:24 AM Revision bbd5b8dd (git): [ruby/fiddle] Ractor support
- (https://github.com/ruby/fiddle/pull/139)
https://github.com/ruby/fiddle/commit/91d0ea9849
Co-authored-by: Sutou Kouhei <kou@clear-code.com> -
02:06 AM Bug #20799 (Closed): Bug in forwarding to struct methods
- Applied in changeset commit:git|a0ecdbfbfe57a57ab33bdb5e1de4d5dfa8407dbb.
----------
Remove "simple" flag from forwarded ICs
I don't think we should ever consider forwarded IC's to be "simple".
Previously, the "simple" flag would be co... -
02:06 AM Revision a0ecdbfb (git): Remove "simple" flag from forwarded ICs
- I don't think we should ever consider forwarded IC's to be "simple".
Previously, the "simple" flag would be copied to the derived IC and this
happened to cause struct set / get iseqs to write an invalid CC
fastpath:
https://github.com...
10/15/2024
-
11:56 PM Bug #20799 (Closed): Bug in forwarding to struct methods
- This program crashes:
```ruby
Thing = Struct.new(:value)
Obj = Thing.new("ok")
def delegate(...)
Obj.value(...)
end
def no_args
delegate
end
def splat_args(*args)
delegate(*args)
end
no_args
splat_args
``... - 10:59 PM Revision ed993b5b (git): [ruby/rdoc] Generate meta tags based on page's content
- (https://github.com/ruby/rdoc/pull/1091)
https://github.com/ruby/rdoc/commit/716bc16a7d -
07:44 PM Feature #16986: Anonymous Struct literal
- That's pretty slow and inefficient as it creates a new Struct subclass for every Hash it's applied to.
The core idea of this proposal is to make it syntax and disallow **h to make sure that doesn't happen.
This example could be a dec... -
06:54 PM Feature #16986: Anonymous Struct literal
- Adding this here because a new method, something like `as_struct`, feels more Rubyish to me than a new syntax.
I've been using this because it lets me define with standard Hash syntactic sugar, then access the object members with meth... -
06:34 PM Revision f45eb3dc (git): Use GC.respond_to?(:compact) in bootstraptest/test_yjit.rb
- defined?(GC.compact) will always return true even when compaction is not
supported. We should use GC.respond_to?(:compact) instead. -
06:33 PM Revision 644153bf (git): [DOC] Tweaks for Array#shuffle! (#11891)
-
06:02 PM Feature #18242: Parser makes multiple assignment sad in confusing way
- These `and` & `or` operators are good things. They are much more readable for one-liners in some cases.
@matz @nobu I know you are super busy, but is there any way to move this forward? -
01:10 PM Revision 3da3cabf (git): Remove a puts in test_finalizer_thread_raise
-
11:48 AM Revision 48f953d6 (git): [ruby/json] Added license files on gemspec
- https://github.com/ruby/json/commit/81092639e8
-
11:47 AM Revision 914608be (git): The part of ext/json/generator/generator.c is replaced from CVTUTF code.
- * https://github.com/ruby/json/pull/567
* https://github.com/ruby/json/commit/c96351f874 -
11:35 AM Revision 7eed1df1 (git): [ruby/json] Update gemspec files
- https://github.com/ruby/json/commit/0f9564104f
-
10:01 AM Feature #20770: A *new* pipe operator proposal
- Reflecting on the opposing points raised, I believe the pipe operator could work differently, avoiding the issue of "implicit blocks" mentioned by @zverok.
As suggested by @Eregon, translating the operator to local variables reduces t... -
05:52 AM Revision d58ec119 (git): [Bug #20797] Yet another test
-
03:39 AM Feature #15554: warn/error passing a block to a method which never use a block
- In this ticket, `Warning[:strict_unused_block]` is accepted by Matz.
We should discuss `:strict` category in different tickets. - 02:44 AM Revision 6c7209cd (git): Bump github/codeql-action from 3.26.12 to 3.26.13
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.12 to 3.26.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG....