Activity
From 02/01/2022 to 02/07/2022
02/07/2022
-
11:40 PM Bug #18575: [BUG] unsupported: T_NONE
- tenderlovemaking (Aaron Patterson) wrote in #note-2:
> Hi,
> ...
Thank you for the response!
~~I think it is possible that `csv` version is responsible for this? I updated my test script to pull in `csv` tag 3.2.2 and it no longer error... -
11:19 PM Bug #18575: [BUG] unsupported: T_NONE
- Hi,
Thanks for the short repro script! I think this might have been fixed, but I'm not sure what revision. Ruby 3.1.0 doesn't crash with your test script, so maybe there's a commit that needs to be backported. -
10:45 PM Bug #18575: [BUG] unsupported: T_NONE
- I think i have managed to produce a relatively simply repro script:
```ruby
require 'csv'
parsed = CSV.parse("Foo,bAr,baZ\nfoo,bar,baz", headers: true)
while true
parsed.map do |row|
obj = row.to_h
obj.transform_keys! { |k| k... -
09:28 PM Bug #18575 (Closed): [BUG] unsupported: T_NONE
- I am seeing this error cropping up in my application, particularly when processing large CSV files. It seems to be semi-related to https://bugs.ruby-lang.org/issues/16689 (Hash#transform_values!, but this particular issue is with Hash#tr...
-
10:52 PM Misc #18557: DevMeeting-2022-02-17
- * [Feature #16989] Sets: need ♥️
* matz has already accepted adding Sets as default. However, there hasn’t been any updates on the progress -
10:31 PM Misc #18557: DevMeeting-2022-02-17
- * [Bug #18487] Kernel#binding behaves differently depending on implementation language of items on the stack (jeremyevans0)
* Is it OK to limit Kernel#binding to only look at the preceding frame, instead of the closest Ruby-level fram... -
06:22 PM Misc #18557: DevMeeting-2022-02-17
- "byroot (Jean Boussier)" <noreply@ruby-lang.org> wrote:
> Issue #18557 has been updated by byroot (Jean Boussier).
>
>
> [Feature #18566] Merge `io-wait` gem into core `IO` class. (byroot)
> - It's very small and any non-trivia... -
08:45 AM Misc #18557: DevMeeting-2022-02-17
- [Feature #18566] Merge `io-wait` gem into core `IO` class. (byroot)
- It's very small and any non-trivial IO code will require it.
- Merge io-wait into io.c for Ruby 3.2
- Remove io-wait as a dependency of all gems maintained by... -
09:54 PM Bug #16689: [BUG] try to mark T_NONE object
- Would it be possible to share the repro script that was deleted at https://github.com/Shopify/ruby-repro? I have encountered a similar issue with `Hash#transform_keys` (see https://bugs.ruby-lang.org/issues/18575) and it would be helpful...
- 04:41 PM Revision 546730b7 (git): * 2022-02-08 [ci skip]
-
04:39 PM Revision 8ca7b0b6 (git): [DOC] Fix broken links to operator methods
- Once https://github.com/ruby/rdoc/pull/865 is merged, these hacks
are no longer needed. -
04:28 PM Revision 07bf6585 (git): [DOC] Fix broken links to case_mapping.rdoc
-
04:27 PM Revision 16fdc1ff (git): [DOC] Fix broken links to literals.rdoc
-
04:18 PM Revision bc5662d9 (git): [DOC] Simplify links to global methods
-
03:14 PM Bug #18570: Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
- ruby_3_1 73159727ed88a8f739038984c847bb7313336450.
-
07:54 AM Bug #18570: Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
- I got the owner grant of ipaddr gem and released ipaddr-1.2.4.
@naruse Please merge https://github.com/ruby/ruby/pull/5526 to `ruby_3_1` branch. - 03:14 PM Revision bb4d9f82 (git): * 2022-02-08 [ci skip]
-
03:14 PM Revision 73159727 (git): Merge ipaddr-1.2.4 (#5526)
- [Bug #18570]
-
02:52 PM Revision f53f4919 (git): [DOC] Replace with IO@Modes
-
02:52 PM Revision 9b3115ff (git): [DOC] Remove extra period
-
02:52 PM Revision a12e2f9a (git): [DOC] Remove extra closing curly bracket
-
02:52 PM Revision a32e5e1b (git): [DOC] Use RDoc link style for links in the same class/module
- I used this regex:
(?<=\[)#(?:class|module)-([A-Za-z]+)-label-([A-Za-z0-9\-\+]+)
And performed a global find & replace for this:
rdoc-ref:$1@$2 -
02:52 PM Revision f9a2802b (git): [DOC] Use RDoc link style for links to other classes/modules
- I used this regex:
([A-Za-z]+)\.html#(?:class|module)-[A-Za-z]+-label-([A-Za-z0-9\-\+]+)
And performed a global find & replace for this:
rdoc-ref:$1@$2 -
02:52 PM Revision ecd469fa (git): [DOC] Fix links in documentation for File and IO
- Fixes some typos and dead links.
-
02:06 PM Revision 981a75db (git): [rubygems/rubygems] Fix missing rdoc for Gem::Version
- The rdoc for Gem::Version is available here:
* https://docs.ruby-lang.org/en/3.0/Gem/Version.html
However it is currently missing from:
* https://ruby-doc.org/stdlib-3.1.0/libdoc/rubygems/rdoc/Gem/Version.html
* https://docs.ruby-lang.o... -
01:46 PM Bug #18574 (Closed): Backport Get `ruby_nonempty_memcpy` to have C linkage to to ruby_3_0
- Would it be possible to backport https://github.com/ruby/ruby/pull/4429 to ruby_3_0?
I did check out the `ruby_3_0` branch, applied the patch. It builds successfully, now I'm running `make check` to verify if it's working. -
11:08 AM Bug #18562: throw_data passed to rescue through require
- ruby_3_1 807dd0479267a067e8208a2053b446fa13a2e66f merged revision(s) c79d2e54748f52c5023b0a1ee441561df9826c17.
-
11:08 AM Revision 807dd047 (git): merge revision(s) c79d2e54748f52c5023b0a1ee441561df9826c17: [Backport #18562]
- Fix TAG_THROW through require [Bug #18562]
Previously this was being incorrectly swapped with TAG_RAISE in the next
line. This would end up checking the T_IMEMO throw_data to the exception
handling (which calls M... -
10:58 AM Bug #18501: [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary
- ruby_3_1 86c8e15170484fe23b311e567717053f147ffd9c merged revision(s) 2a76440fac62b.
-
10:58 AM Revision 86c8e151 (git): merge revision(s) 2a76440fac62b: [Backport #18501]
- [Bug #18501] Fire write barrier after hash has been written
Before this change the write barrier was executed before the key and
value were actually reachable via the Hash. This could cause
inconsistencies in ob... -
10:55 AM Bug #18556: error: use of undeclared identifier 'MAP_ANONYMOUS'
- ruby_3_1 e54289bb632047b750f9c9371410d1adff2a740a merged revision(s) 67f4729.
-
10:55 AM Revision e54289bb (git): merge revision(s) 67f4729: [Backport #18556]
- [Bug#18556] Fallback `MAP_ ANONYMOUS`
Define `MAP_ANONYMOUS` to `MAP_ANON` if undefined on old systems.
---
gc.c | 4 ++++
1 file changed, 4 insertions(+) -
10:02 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- A concrete issue caused by adding `digest` as a needless dependency for net-*: https://github.com/oracle/truffleruby/issues/2577
It's also a particularly obscure error because TruffleRuby does define these classes but the default gem wi... -
06:30 AM Revision 01693807 (git): Appveyor: Link vcpkg DLLs except for readline
-
04:40 AM Revision 8fe2ce83 (git): [MSWin] Link all vcpkg DLLs except for readline
-
04:40 AM Revision 65ccae5b (git): [MSWin] Install libyaml using vcpkg
-
03:19 AM Feature #18573: Object#pack1
- 今日のOffice Hourで話したんですが、レシーバごとにそれにふさわしい書式って限定されるはずなので、何でも屋のpackではなく、たとえばIntegerならビット幅とエンディアンを指定してバイナリ表現を得るメソッド、StringならNUL-terminatedなバイナリを得るメソッド、などをそれぞれ用意すべきかも、と思いました。
-
03:02 AM Feature #18573: Object#pack1
- String#format / String#% のような感じで書式の方をレシーバにする方がよさそうですが、unpackとの対称性を考えると名前が難しいかも。
-
02:49 AM Feature #18573: Object#pack1
- packしたいもの(のclass)はすごく限定的なので、Objectに生やすのはどうかなあと思いました。
-
02:55 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- I talked with @matz. He decided to go ahead with it as is, as it is not a serious problem.
If you want an exact compatibility with the traditional `Exception#message`, please remove a class name from detailed_message.
```
exc = Ru... -
12:52 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- > I agree this would make a lot of sense, also for `io-nonblock` which is also just a couple IO methods.
Agree, please remove tiny .so since they're frequently needed.
Ulrich Drepper (former glibc maintainer) states:
Every DSO ...
02/06/2022
-
06:43 PM Bug #18562: throw_data passed to rescue through require
- byroot (Jean Boussier) wrote in #note-2:
> @jhawthorn that was a master only issue right? I could repo it with any released version.
Thanks for checking. I didn't realize this before, but it seems that this needs `--disable-gems` to ... -
10:55 AM Bug #18562: throw_data passed to rescue through require
- @jhawthorn that was a master only issue right? I could repo it with any released version.
-
02:10 AM Bug #18562 (Closed): throw_data passed to rescue through require
- Applied in changeset commit:git|c79d2e54748f52c5023b0a1ee441561df9826c17.
----------
Fix TAG_THROW through require [Bug #18562]
Previously this was being incorrectly swapped with TAG_RAISE in the next
line. This would end up checking t... -
04:33 PM Feature #18573 (Open): Object#pack1
- # 概要
String#unpack1 の逆の Object#pack1 が欲しい。
# 背景
Array#pack というメソッドがありますが、レシーバーの Array の要素数が 1 つしかないことが良くあります。
``` ruby
[codepoint].pack('U')
[digest].pack('m0')
[mail_body].pack('M')
[ip_address].pack('N')
```
標準添付ライブ... -
03:44 PM Revision a07fa198 (git): Improve links to labels in string.c and struct.c (#5531)
- 03:03 PM Revision 893b0fd7 (git): * 2022-02-07 [ci skip]
-
01:23 PM Revision 402d7648 (git): [MSWin] Install libffi using vcpkg
-
01:22 PM Revision b9083c20 (git): [MSWin] Cache installed vcpkg packages
-
10:24 AM Revision 90a540e9 (git): Appveyor: Try readline extension
-
10:23 AM Revision 2cf687fe (git): Appveyor: DBM extensions have not been bundled already
-
10:22 AM Revision 7ce3a100 (git): Fold command line items
-
02:10 AM Revision c79d2e54 (git): Fix TAG_THROW through require [Bug #18562]
- Previously this was being incorrectly swapped with TAG_RAISE in the next
line. This would end up checking the T_IMEMO throw_data to the exception
handling (which calls Module#===). This happened to not break existing
tests because Module...
02/05/2022
-
08:05 PM Revision 3e6c6c74 (git): {DOC] Enhanced RDoc for io.c (#5529)
- Changes parameter name from simple opts to open_opts or enc_opts when appropriate; leaves the name unchanged when more than one kind of option is allowed.
- 06:06 PM Revision 3ec2ffed (git): * 2022-02-06 [ci skip]
-
06:05 PM Revision 603ab709 (git): support concurrent btest execution
- * `-j` option for concurrent test with threads
* `-jN` uses N threads
* `-j` uses nproc/2 threads
* Introduce `BT` struct to manage configurations
* Introduce `Assertion` to manage all assertions
* Remove all toplevel instance variab... -
11:01 AM Bug #18572 (Closed): Performance regression when invoking refined methods
- Since Ruby 3.0, defining a refinement for a method slows down its execution even if we do not activate the refinement:
```ruby
require "benchmark_driver"
source = <<~RUBY
class Hash
def symbolize_keys
transform_keys { |ke...
02/04/2022
-
10:41 PM Bug #18501: [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary
- > I'd like to let it run for a few more days to be fully certain though.
We ran it quite enough and saw no more crashes, so we're quite confident the patches work.
I'm marking 3.0 and older as DONTNEED because ne never noticed that... -
10:36 PM Bug #18501 (Closed): [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary
- Applied in changeset commit:git|2a76440fac62bb0f6e53ccada07caf4b47b78cf9.
----------
[Bug #18501] Fire write barrier after hash has been written
Before this change the write barrier was executed before the key and
value were actually r... -
09:07 AM Bug #18501: [BUG] try to mark T_NONE object in RubyVM::InstructionSequence. load_from_binary
- @tenderlovemaking implemented a patch for this: https://github.com/ruby/ruby/pull/5525, we deployed it on our infra and so far the bug is gone. I'd like to let it run for a few more days to be fully certain though.
@tenderlovemaking, ... -
10:36 PM Revision 2a76440f (git): [Bug #18501] Fire write barrier after hash has been written
- Before this change the write barrier was executed before the key and
value were actually reachable via the Hash. This could cause
inconsistencies in object coloration which would lead to accidental
collection of dup'd keys.
Example:
1... - 10:27 PM Revision 06e96b92 (git): * 2022-02-05 [ci skip]
-
10:26 PM Revision 06a28ec4 (git): [DOC] Enhanced RDoc for io.c (#5527)
- Treats:
IO.binread (abbreviated to be like IO.binwrite).
IO.write
IO.binwrite
IO.copystream
IO#external_encoding
IO#internal_encoding
IO#set_encoding -
09:12 PM Bug #18570 (Closed): Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
-
09:15 AM Bug #18570 (Assigned): Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
- I've prepared to merge ipaddr-1.2.4 at https://github.com/ruby/ruby/pull/5526
But I have no grant for releasing ipaddr-1.2.4 gem.
@knu Can you release ipaddr-1.2.4 from the v1.2.4 tag of ruby/ipaddr or add me to ipaddr gem owners?... -
08:15 AM Bug #18570 (Closed): Please Backport 77fe1fca0abb56f7f07725c0a3803d53a315c853 from the ipaddr gem to Ruby 3.1
- For some reason the following code causes an exception with Ruby 3.1:
``` ruby
require "ipaddr"
([IPAddr.new("192.168.56.0/21").freeze].freeze).any?{ |range| range.include?(IPAddr.new("192.168.1.0")) }
```
which breaks vagrant with ... -
09:12 PM Bug #18569 (Rejected): RubyVM::InstructionSequence#disasm returns nil for composed functions
- I agree, this is expected behavior, since there is no instruction sequence for a composed proc. If you would like an instruction sequence, you need to manually compose the proc in Ruby.
-
09:04 PM Bug #18556 (Closed): error: use of undeclared identifier 'MAP_ANONYMOUS'
-
05:54 PM Bug #18257: rb_mRubyVMFrozenCore is broken by GC run
- So the TracePoint API must use similar paths. Therefore, looking at vm_trace.c, I have noticed this [1] line:
~~~
trace_arg->self != rb_mRubyVMFrozenCore /* skip special methods. TODO: remove it. */) {
~~~
I have traced their ori... -
01:26 PM Bug #18257: rb_mRubyVMFrozenCore is broken by GC run
- It is actually reproducible everywhere. I was able to reproduce it on x86_64 although it fails less frequently.
-
04:10 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- byroot (Jean Boussier) wrote in #note-12:
> It's not a "one or the other" scenario. We can perfectly explore both.
Yes, but if we manage to slim RubyGems boot like lazy-rubygems does, it loads so little Ruby code that I think there i... -
12:10 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- > That would only work on CRuby, so as such would be unusable on anything but CRuby.
> ...
It's not a "one or the other" scenario. We can perfectly explore both. -
11:49 AM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- > Over 80% of CRuby's base startup is due to eagerly booting RubyGems. We can do better!
It's not the main point here, but perhaps still worth noting: `--disable-gems` implies `--disable=error_highlight,did_you_mean`.
In my own brief l... -
11:33 AM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- byroot (Jean Boussier) wrote in #note-9:
> Another thing that could be explored would be to leverage `RubyVM::InstructionSequence.compile_file(path)`. If we indeed have a mapping of the gems content, we could define `load_iseq`, at leas... -
07:42 AM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- Another thing that could be explored would be to leverage `RubyVM::InstructionSequence.compile_file(path)`. If we indeed have a mapping of the gems content, we could define `load_iseq`, at least for the duration of rubygems's "boot".
-
12:55 PM Revision 46f65751 (git): [DOC] Enhanced RDoc for io.c (#5511)
- Treats:
IO.foreach
IO.readlines
IO.read
IO.binread -
11:46 AM Misc #18557: DevMeeting-2022-02-17
- * [Feature #18571] Removed the bundled sources from release package after Ruby 3.2
* (dummy comment) -
11:45 AM Feature #18571 (Closed): Removed the bundled sources from release package after Ruby 3.2
- We shipped release package with the 3rd party source for mswin environment especially.
The current status is here:
* libyaml: psych gem, ruby repo and package always bundled it.
* libffi: only ruby package bundled it. fiddle ge...
02/03/2022
- 11:26 PM Revision 203b1fc7 (git): Add documentation for regexp emoji named character property
-
08:55 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- > Now Exception#detailed_message has a responsibility to highlight the message, so it need to insert the class name
I see. Thanks for the explanation!
> ...
I don't think adding another option just for that is necessary. I'll first... -
02:06 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- mame (Yusuke Endoh) wrote in #note-25:
> But I agree that this is not a big deal.
Exactly. At this point it's kind of a bikeshed, it's just that according to #note-1 Sentry displays the exception class above the message, so it would be ... -
10:38 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- Thank you for your comment!
st0012 (Stan Lo) wrote in #note-24:
> I think it'll be fine but I'm not sure why the class name needs to be added as well?
The current error printer inserts the exception class name.
```
$ ruby -e '... -
09:59 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- > My concern was that Sentry will now use #detailed_message instead of #message, but it will now include the exception class, unlike before. But if Sentry is ok with that there's no problem.
I think it'll be fine but I'm not sure why ... -
01:28 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- Dan0042 (Daniel DeLorme) wrote in #note-22:
> My concern was that Sentry will now use #detailed_message instead of #message, but it will now include the exception class, unlike before. But if Sentry is ok with that there's no problem.
... -
08:07 PM Revision 9fab2c1a (git): Add the size pool slot size to the output of ObjectSpace.dump/dump_all
- 08:07 PM Revision a3caf196 (git): * 2022-02-04 [ci skip]
-
08:06 PM Revision af321ea7 (git): Move total_freed_pages to size pool
-
08:06 PM Revision a9221406 (git): Move total_allocated_pages to size pool
-
06:46 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- > https://github.com/rubygems/rubygems/pull/4199
Interesting, that seems a helpful step, although I suspect there would still be a significant overhead over `--disable-gems`, as long as we load so much Ruby code during startup.
I t... -
04:17 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- > I think a faster boot time while still having RubyGems enabled by default would be good for all Rubies.
Thank you for providing those links... I knew I had seen that code but could not remember where it was located.
Making these ... -
02:21 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- I worked on https://github.com/rubygems/rubygems/pull/4199 a while ago which avoided all gemspec evaluation during boot if I recall correct, and made things faster. But I never wrapped it up, I'll try to make it happen and re-measure its...
-
12:48 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- I think a faster boot time while still having RubyGems enabled by default would be good for all Rubies.
https://github.com/oracle/truffleruby/blob/14ec2c2673188d47374a0570cf036864fcafe0b3/src/main/ruby/truffleruby/core/truffle/gem_util.... -
06:05 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- @deivid That is a good point.
For io-wait/io-nonblock it just seems very unlikely to have security vulnerabilities in them, but for `digest`/`strscan` that is less clear. -
02:18 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- > Being a default gem is already enough to fix a security issue without a CRuby release.
This is currently enough to be able to _release_ security fixes independently, but only if dependencies are explicitly recorded in lockfiles the... -
01:34 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- vo.x (Vit Ondruch) wrote in #note-19:
> Unlikely? How about openssl in Ruby 3.1?
By "those parts of stdlib" I meant the 4 gems listed above.
io-wait & io-nonblock have < 5 methods each. Digest and strscan APIs are very stable and ne... -
01:22 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Eregon (Benoit Daloze) wrote in #note-14:
> vo.x (Vit Ondruch) wrote in #note-11:
> ...
Unlikely? How about openssl in Ruby 3.1?
> , and even if they do feature checking is always better to support more Ruby versions (e.g., `respond... -
11:51 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- deivid (David Rodríguez) wrote in #note-15:
> Just to be clear, if in this particular case, for pragmatism, it is considered best that these dependencies should be removed, that's fine with me, but I don't think that warrants making this... -
11:36 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Also I recall issues with the `spring` gem that were fixed by correctly specifying their dependency on default gems like `tmpdir`. I could probably find more.
And again, I do understand the argument made that some stuff is not worth g... -
11:32 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- As an example of 1), I run into trouble with bigdecimal 1.x vs 2.x due to missing proper dependency specifications.
Just to be clear, if in this particular case, for pragmatism, it is considered best that these dependencies should be ... -
11:02 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- vo.x (Vit Ondruch) wrote in #note-11:
> 1) Not specifying dependencies prevents major changes. If there is default gem A of version 1.5.2 and there should be major update in future version of Ruby, lets say to the version 2.0.0. If some ... -
10:21 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- I said it in other places too but It's also my opinion that dependencies on default gems should be explicit, for the reasons stated by others.
-
04:24 PM Misc #18557: DevMeeting-2022-02-17
- * [Feature #18568] Explore lazy RubyGems boot to reduce need for --disable-gems
* With more and more default gems, RubyGems has become a major part of Ruby's startup time.
* On CRuby, the base boot time is reduced by 80% using `--dis... -
02:22 PM Revision 424374d3 (git): Fix case when gc_marks_continue does not yield slots
- gc_marks_continue will start sweeping when it finishes marking. However,
if the heap we are trying to allocate into is full, then the sweeping
may not yield any free slots. If we don't call gc_sweep_continue
immediate after this, then an... -
12:58 PM Bug #18569: RubyVM::InstructionSequence#disasm returns nil for composed functions
- Don't take my word as definitive, but I'd say it's expected. `Proc#<<` return has no "source code":
```ruby
>> proc{}.source_location
=> ["(irb)", 4]
> ...
=> nil
```
Think of it as a "delegator", it has no InstructionSequence ... -
10:46 AM Bug #18569 (Rejected): RubyVM::InstructionSequence#disasm returns nil for composed functions
- I was testing function composition Proc#>> (https://ruby-doc.org/core-2.6/Proc.html#method-i-3E-3E) and noticed that when disassembling composed functions it always returns nil.
``` ruby
first_proc = proc { |x| x + 2 }
puts RubyVM::... -
06:54 AM Feature #13110: Byte-based operations for String
- Personally I prefer byterindex because it's a C-like name (I guess String#rindex came from rindex(3)).
However, I follow Matz's decision.
-
02:21 AM Revision 8f3a36fb (git): Fix indents [ci skip]
02/02/2022
-
11:14 PM Feature #13110: Byte-based operations for String
- Eregon (Benoit Daloze) wrote in #note-21:
> I think it should be `byte_index`, `byte_rindex` and `byte_offset`.
> ...
Yes, byterindex may be hard to read.
If we choose byte_*, it may be good to introduce aliases like byte_slice for ex... -
05:58 PM Feature #13110: Byte-based operations for String
- I think it should be `byte_index`, `byte_rindex` and `byte_offset`.
I know there is `String#byteslice`/`getbyte`/`setbyte`, but `byterindex` starts to be really hard to read to the point it doesn't look like a proper Ruby method name to... -
07:10 AM Feature #13110 (Assigned): Byte-based operations for String
- I've created a pull request which adds String#byteindex, String#byterindex, and MatchData#byteoffset:
https://github.com/ruby/ruby/pull/5518 - 11:05 PM Revision 6728f692 (git): * 2022-02-03 [ci skip]
-
11:05 PM Bug #18516: Memory leak on aliasing method to itself
- ruby_3_1 42c9ef769f210d88241a114395dd5ffc27b2fb87 merged revision(s) 7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d80702bd98a8276243a7fcaa2a158b3bfb659.
-
11:04 PM Revision 42c9ef76 (git): merge revision(s) 7ff1bf317887c0d7b21e91ad548d07b9f05c540c,e89d80702bd98a8276243a7fcaa2a158b3bfb659: [Backport #18516]
- An alias can suppress method redefinition warning
---
test/ruby/test_alias.rb | 11 +++++++++++
1 file changed, 11 insertions(+)
Fix memory leak at the same named alias [Bug #18516]
When aliasi... -
10:07 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- I agree that io-wait at a minimum should not be gemified. Perhaps digest. I think this is a different argument than the overall issue you raised.
I disagree that gems made default should not listed. My main scenario is you have a... -
09:31 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Eregon (Benoit Daloze) wrote in #note-9:
> These gems are default gems and so available by default, and for the foreseeable future they will always be shipped with Ruby, so there is no risk to not being super explicit about these depend... -
09:24 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- There are stdlib gems of dubious value, like io-wait or digest, but I'm not sure where to draw the line. My rule of thumb would be that if a stdlib exists as a gem, other gems that need it should explicitly depend upon it, because that's...
-
07:33 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- These gems are default gems and so available by default, and for the foreseeable future they will always be shipped with Ruby, so there is no risk to not being super explicit about these dependencies (and most code out there using them d...
-
07:23 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- While I understand the issue, I believe the correct approach is to actually specify the dependencies and specify them always and everywhere. Yes, that will break something somewhere, but once everything is gemifie and all dependencies ar...
-
12:06 PM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Another issue with upstreaming code to default gems is some default gems need many internals and those should not be gems, they should be core or stdlib.
For TruffleRuby for instance, I don't want to expose many internals to support `st... -
11:58 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Here is a set of PR to solve the issue for JRuby and TruffleRuby for net-* gems:
https://github.com/ruby/net-protocol/pull/6
https://github.com/ruby/net-imap/pull/56
https://github.com/ruby/net-pop/pull/10
https://github.com/ruby/net... -
11:48 AM Bug #18567: Depending on default gems in stdlib gems when not needed considered harmful
- Here is a practical example of needless dependencies on default gems causing JRuby to not be able to install e.g. `net-imap`, even though JRuby has the needed stdlibs:
https://gist.github.com/eregon/5ea86a9625fc32844c81c5f1448d02d0 -
11:22 AM Bug #18567 (Closed): Depending on default gems in stdlib gems when not needed considered harmful
- CRuby over time moves more and more code to default gems, to bundled gems and or even stops shipping some gems which used to be stdlibs (#5481).
I believe the main motivation for that is being to fix security issues without needing to m... -
08:10 PM Revision 7529c538 (git): [ruby/net-http] Do not set SNI hostname if connecting to IP address
- RFC 6066, section 3, explicitly disallows the use of an IP address
as an SNI server name. So check if the connection is being made
to an IP address using the resolv regexps, and do not set an SNI
hostname in that case.
Recent changes t... -
07:24 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- @eregon I remember seeing code in TruffleRuby that built up an index of default gem files, so it would know which ones might need to trigger a gem load. I cannot find that now.
Could you provide some links to show how this is handled,... -
07:19 PM Feature #18568: Explore lazy RubyGems boot to reduce need for --disable-gems
- Another comparison: in JRuby, RubyGems booting accounts for around 1/3 of JRuby's startup time in our "fastest" mode. Given how poor our startup time is already, we are understandably interested in ways to speed it up.
-
07:13 PM Feature #18568 (Feedback): Explore lazy RubyGems boot to reduce need for --disable-gems
- In https://bugs.ruby-lang.org/issues/17684 there was debate about whether the `--disable-gems` flag should be removed. Several folks were in favor, since Ruby without RubyGems is fairly limited, but others wanted to keep the flag for sma...
-
06:04 PM Feature #13653: Bundled zlib helper
- And for macOS: try to not mess up your system by installing random stuff in /usr/local, that's the source of many issues reported to `ruby-build`.
Using Homebrew is fine (or MacPorts), but manually installing stuff in /usr/local is aski... -
01:42 AM Feature #13653 (Closed): Bundled zlib helper
- After 4 years, We should remove the bundled source code like zlib, libyaml, libffi.
for mswin users: use vcpkg, other platforms: use the official package manager like apt, dnf. - 05:21 PM Revision 3ca244a2 (git): * 2022-02-03 [ci skip]
-
05:20 PM Revision 2913a2f5 (git): Treat TS_ICVARC cache as separate from TS_IVC cache
-
03:42 PM Feature #18368: Range#step semantics for non-Numeric ranges
- "Dead-on-arrival" hyberbole aside, it does seem that using `+` semantics would allow Range#step to work "for free" with many existing classes.
More importantly, I realized there is no need to introduce any backward incompatibility: if b... -
02:52 PM Revision 7b77d466 (git): Decouple GC slot sizes from RVALUE
- Add a new macro BASE_SLOT_SIZE that determines the slot size.
For Variable Width Allocation (compiled with USE_RVARGC=1), all slot
sizes are powers-of-2 multiples of BASE_SLOT_SIZE.
For USE_RVARGC=0, BASE_SLOT_SIZE is set to sizeof(RVA... -
02:51 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- My concern was that Sentry will now use #detailed_message instead of #message, but it will now include the exception class, unlike before. But if Sentry is ok with that there's no problem.
-
06:23 AM Feature #18438: Add `Exception#additional_message` to show additional error information
- @Dan0042 I think your last comment is a different topic. I'd like to keep one proposal as small as I can.
-
01:52 PM Revision af107710 (git): Add `econv_get_encoding` function
-
01:39 PM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- I agree this would make a lot of sense, also for `io-nonblock` which is also just a couple IO methods.
-
08:55 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- It makes sense to me.
-
08:52 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- I am happy to do the initial implementation.
-
08:17 AM Feature #18566 (Closed): Merge `io-wait` and `io-nonblock` gems into core IO
- I think we should reconsider status of `io-wait`, and consider simply merging it into core's `IO`.
According to @nobu it's only a gem for "historical" reasons.
Any non trivial IO code will likely make use of it, and it's just 400 l... -
12:21 PM Revision d8c54bac (git): [ruby/net-protocol] Fix typo in gem description [ci skip]
- https://github.com/ruby/net-protocol/commit/35d7b08a54
-
12:17 PM Revision 94687a68 (git): [ruby/net-protocol] Drop unused gemspec directives
- This gem exposes no executables.
https://github.com/ruby/net-protocol/commit/3c4def2a64 - 08:53 AM Revision 7bef8ed1 (git): Update bundled gems list at 2022-02-02
-
08:32 AM Misc #18557: DevMeeting-2022-02-17
- - [Feature #18498] Introduce a public `WeakKeysMap` that compares by equality (byroot)
- Ruby's current weak reference constructs are not very usable.
- The most useful weak collection that is offered by most platform is `WeakKeysMap... -
01:43 AM Misc #18557: DevMeeting-2022-02-17
- * [Feature #18513] Hide patchlevel from `ruby -v`
* There is no reason to display it now.
-
07:57 AM Revision 6794f8cf (git): Merge pull request #5482 from hsbt/rubygems-3-3-bundler-2-3
- Merge RubyGems 3.3.x and Bundler 2.3.x
- 04:30 AM Revision 69463805 (git): * 2022-02-02 [ci skip]
-
04:29 AM Revision 27046210 (git): Remove "Miscellaneous checks" from CI
- It is expected to use on master branch
- 04:26 AM Revision ea6b6f1a (git): Update bundled gems list at d4a8c04dc7bb1c9aa48eaf50dc6b18 [ci skip]
-
04:25 AM Revision d4a8c04d (git): Update RBS (#5515)
- * Bundle RBS 2.1.0
-
02:22 AM Bug #18565 (Rejected): strptime reports invalid date when string is "130AM" and format string is '%I:%M%p'
- I don't think this is a bug. `strptime` is supposed to be the inverse of `strftime`:
```ruby
DateTime.now.strftime('%I%M%p')
# => "0617PM"
DateTime.now.strftime('%l%M%p')
# => " 617PM"
```
If you pass the same formats to `st... -
02:06 AM Bug #18565 (Rejected): strptime reports invalid date when string is "130AM" and format string is '%I:%M%p'
- `DateTime.strptime("1:30PM", '%I:%M%p')` and `DateTime.strptime("1:30PM", '%l:%M%p')` both return
`#<DateTime: 2022-02-01T13:30:00+00:00 ((2459612j,48600s,0n),+0s,2299161j)>`
`DateTime.strptime("130PM", '%I%M%p')` and `DateTime.strpt... - 12:08 AM Revision bb845fb9 (git): * 2022-02-02 [ci skip]
-
12:08 AM Revision aff4b219 (git): Fix a typo [ci skip]
02/01/2022
-
11:11 PM Bug #18436: Fix Pathname dot directory globbing
- I noticed this change just now. We have some programs which depended on the previous behavior. It loses backward compatibility, so I think it should have been noted in NEWS.md in Ruby 3.1.0. I understand it's too late to say that, though.
-
09:27 PM Bug #18560: "Compaction isn't available on this platform" error running PG test suite on ppc64le
- FWIW, TruffleRuby has `Primitive.method_unimplement` specifically to achieve to achieve the same as `rb_f_notimplement` but in Ruby code.
Example usage: https://github.com/oracle/truffleruby/blob/4eddae9d18137567beb25e6e4ef2c932fa9de7ab... -
05:27 PM Bug #18560: "Compaction isn't available on this platform" error running PG test suite on ppc64le
- Thx for the clarification. For now, I have reported the original issue to the PG upstream [1]. Keeping this open should there be a chance to follow the `fork` example.
[1] https://github.com/ged/ruby-pg/issues/423 -
08:47 PM Misc #18557: DevMeeting-2022-02-17
- - [Feature #18249] The ABI version of dev builds of CRuby does not correspond to the ABI
- ABI checking for development Ruby.
- Calculates the MD5 hash of header files during compilation of Ruby, stores this MD5 in native exten... -
08:37 PM Bug #18249: The ABI version of dev builds of CRuby does not correspond to the ABI
- Hello, I’d like to summarize the motivation for this feature and the implementation I proposed.
# Motivation for this feature
At Shopify, we run Ruby head on CI daily against several services. We also run Ruby head on a small porti... -
08:27 PM Feature #18563: Add "graphemes" and "each_grapheme" aliases
- (I have added to the description an url to matz's original statement)
-
07:44 PM Feature #18563 (Closed): Add "graphemes" and "each_grapheme" aliases
- https://bugs.ruby-lang.org/issues/13780#note-10
> grapheme sounds like an element in the grapheme cluster. How about each_grapheme_cluster?
> ...
Languages that have added grapheme cluster support seem to be almost exclusively opting... -
07:50 PM Feature #18438: Add `Exception#additional_message` to show additional error information
- I have created another ticket to summarize the final spec of this proposal: #18564.
-
07:49 PM Feature #18564 (Closed): Add Exception#detailed_message
- (This ticket is for recording the final spec of #18438)
## Proposal
I would introduce a method `Exception#detailed_message`, and let the default error printer use it instead of `Exception#message` to create a error output.
```
... -
02:19 PM Feature #17873: Update of default gems in Ruby 3.1
- Eregon (Benoit Daloze) wrote in #note-38:
> Note: Whenever a gem is extracted from stdlib, we should be careful the gem can be installed on older Ruby versions, otherwise it's not possible for a library to depend on this newer gem via R... -
02:17 PM Feature #17873: Update of default gems in Ruby 3.1
- Note: Whenever a gem is extracted from stdlib, we should be careful the gem can be installed on older Ruby versions, otherwise it's not possible for a library to depend on this newer gem via RubyGems (and it has to, otherwise `require` f...
-
12:56 PM Bug #18443: IO read/write/wait hook bug fixes.
- ruby_3_1 cd4aae430da8303dac9f1be2d1e1b7ce1bc8a458 merged revision(s) f27eb8148f5a72bbacfebfecc7de9305471bb5c9,d75f7078c831d45ab5ba2fae4fbb308d01a21e46,d5836db1b398a7936b0461b3011db66f6cc8c490.
-
12:56 PM Revision cd4aae43 (git): merge revision(s) f27eb8148f5a72bbacfebfecc7de9305471bb5c9,d75f7078c831d45ab5ba2fae4fbb308d01a21e46,d5836db1b398a7936b0461b3011db66f6cc8c490: [Backport #18443]
- Sync io-console gem.
---
ext/io/console/console.c | 8 ++++++--
test/io/console/test_io_console.rb | 8 ++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
[ruby/io-console] bum... -
12:53 PM Revision 8177e3b8 (git): Revert "Fix console.c usage of `rb_io_wait`."
- This reverts commit aa3b2c81c8de2e70bd100e92436f15c03523eaf7.
-
12:42 PM Bug #18517: 0 << (2**40) is NoMemoryError but 0 << (2**80) is 0
- ruby_3_1 1f17463dec2ab1535096cb56005a840eae4fea5b merged revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221.
-
12:41 PM Revision 1f17463d (git): merge revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221: [Backport #18517]
- Shifting zero always results in zero [Bug #18517]
---
numeric.c | 2 ++
1 file changed, 2 insertions(+) -
12:28 PM Misc #16512: Improving `www.ruby-lang.org` reference by merging with `rubyreferences.github.io`
- @hsbt I am up to the task!
There would be a few questions of what's the best way of handling it, I'll prepare the plan/list this week. Basically, there should be made a decision on the process of synchronization of the docs, and updat... -
12:15 PM Misc #16512: Improving `www.ruby-lang.org` reference by merging with `rubyreferences.github.io`
- @zverok Can you handle this? I'll support to migrate your documentation to www.ruby-lang.org or docs.ruby-lang.org.
- 11:07 AM Revision 0b2f6b94 (git): [rubygems/rubygems] Skip "seller shipped" notification after delivery
- If a Shipment has been delivered, there is no point in notifying the
buyer that the seller shipped. Instead, we should simply notify the
buyer that the shipment was delivered. This is relevant in cases where
the seller is late to mark a ... -
11:04 AM Revision f6894711 (git): [ruby/io-wait] Exclude rake files from packages
- https://github.com/ruby/io-wait/commit/7be58cd7f4
-
05:38 AM Feature #18462: Proposal to merge WASI based WebAssembly support
- mame (Yusuke Endoh) wrote in #note-4:
> Feel free to ask me if you have a question.
Wow, thanks for putting this together! I did in fact have a question, but I figure we can move the conversation somewhere else to keep this Ruby tick... -
01:59 AM Feature #18462: Proposal to merge WASI based WebAssembly support
- Hi @jez
Here you are: https://github.com/mame/emruby/
In short, please setup emsdk and then try `./configure --host wasm32-unknown-emscripten --with-static-linked-ext --with-ext=(an extension names that you want to statically link)... -
05:11 AM Revision ddb9d60f (git): [ruby/io-wait] Make the gem a noop on Rubies older than 2.6
- Ref: https://github.com/mikel/mail/pull/1439
Some gems depend on io-wait, but still support older rubies,
so they have to chose between droping support or not listing io-wait.
But io-wait could act a a noop on older rubies.
https://gi... - 04:22 AM Revision 804dca7b (git): Update default gems list at fc4fbeef28b1d243e45d7fc8d60778 [ci skip]
-
04:22 AM Revision fc4fbeef (git): [ruby/io-wait] bump up to 0.2.2
- https://github.com/ruby/io-wait/commit/e15a2486b2
-
03:21 AM Revision ec906191 (git): Restore workaround for test_rubygems.rb, It still fails with chkbuild encironment
-
01:39 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- headius (Charles Nutter) wrote in #note-25:
> Is there a way to prohibit the `to_enum` form? I don't think it will be useful to support since it may vary greatly across implementations (depending on what the stack looks like and what ge... -
12:45 AM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- Is there a way to prohibit the `to_enum` form? I don't think it will be useful to support since it may vary greatly across implementations (depending on what the stack looks like and what gets included).
It does raise a question for m...