Activity
From 03/15/2022 to 03/21/2022
03/21/2022
-
07:58 PM Revision c129b611 (git): [DOC] Use RDoc inclusions in string.c (#5683)
- As @peterzhu2118 and @duerst have pointed out, putting string method's RDoc into doc/ (which allows non-ASCII in examples) makes the "click to toggle source" feature not work for that method.
This PR moves the primary method doc back in... -
07:30 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- Sorry if the description is confusing. This is a general timeout for all non-blocking IO operations, specified per IO instance.
-
05:11 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- I guess one way to express it is this new IO#timeout would apply to: blocking IO methods on non-blocking IO instances.
-
04:59 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- I'm still confused, in which cases does this timeout apply?
Only non-blocking IO, right?
The issue title says:
> Introduce general `IO#timeout` and `IO#timeout=`for all (non-)blocking operations.
The description says:
> ...
And ... -
03:52 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- > I'm not sure a timeout per IO instance makes sense,
I think it does for various network clients. See for example [`net-protocol`'s `BufferedIO` class](https://github.com/ruby/net-protocol/blob/088e52609a8768c1e6156fa6c5609bbfadd4432... -
04:48 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- Testing Bundler seems to use a Gemfile, so I guess we can just make it point to my branch for testing: https://github.com/ruby/ruby/pull/5684
-
03:41 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- Eregon (Benoit Daloze) wrote in #note-8:
> @jeremyevans0 There is a good chance this is missing `ruby2_keywords` calls in RSpec, could you try with https://github.com/rspec/rspec-mocks/pull/1464?
I'm not sure how to get CI to run wit... -
03:36 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- @jeremyevans0 There is a good chance this is missing `ruby2_keywords` calls in RSpec, could you try with https://github.com/rspec/rspec-mocks/pull/1464?
-
03:26 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- This cannot be merged yet as it currently causes a couple errors in the Bundler specs:
* https://github.com/rubygems/bundler/blob/master/spec/bundler/friendly_errors_spec.rb#L105
* https://github.com/rubygems/bundler/blob/master/spec... -
02:04 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- From the [dev meeting log](https://hackmd.io/koJLPz4eRXKzaaDvVqji7w#Bug-18625-ruby2_keywords-does-not-unmark-the-hash-if-the-receiving-method-has-a-rest-parameter-eregon):
Conclusion:
matz: I think it is good to fix
@mame: It ... -
04:40 PM Revision 1fd1f7bb (git): Fix Markdown syntax in spec/README.md
-
04:37 PM Revision 9f828188 (git): [DOC] Move old NEWS files to a separate directory
- 04:32 PM Revision 35cc7060 (git): * 2022-03-22 [ci skip]
-
04:32 PM Revision 92ef73a9 (git): [ruby/rdoc] Expand the enclosing tree of the current file
- https://github.com/ruby/rdoc/commit/f9f90ef2ff
-
04:32 PM Revision dafe5c13 (git): [ruby/rdoc] Fold files in the page directory
- https://github.com/ruby/rdoc/commit/b7b4cdab6c
-
04:32 PM Revision 034c0977 (git): [ruby/rdoc] Add test_generate_page
- https://github.com/ruby/rdoc/commit/c870284163
-
04:03 PM Feature #18619: Reverse the order of GC Compaction cursor movement
- eightbitraptor (Matthew Valentine-House) wrote in #note-3:
> Thanks for the quick feedback folks.
> ...
After fixing the bug in heapviz. I determined that there was a bug in the way we were handling unmoveable objects that resulted in ... -
01:35 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
- Bump.
Today I just came across a case where I wanted to use this feature.
@nobu according to dev meeting notes you said "will commit", which implies to me this was already coded? Not sure. -
07:54 AM Bug #17529 (Closed): Ractor Segfaults with GC enabled
- Applied in changeset commit:git|a72b7b898c69a116d754d599e8bb061761015255.
----------
merge revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa: [Backport #17529]
alen should be actions ... -
07:53 AM Bug #17529: Ractor Segfaults with GC enabled
- ruby_3_0 a72b7b898c69a116d754d599e8bb061761015255 merged revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa.
-
06:47 AM Bug #17529: Ractor Segfaults with GC enabled
- I guess that the btest failure of ruby_3_0 branch on icc-x64 env may be fixed by `git cherry-pick d0d6227a0da5925acf946a09191f172daf53baf2 fff1edf23ba28267bf57097c269f7fa87530e3fa`.
(An example of this failure is http://rubyci.s3.amazon... -
12:32 AM Bug #17529: Ractor Segfaults with GC enabled
- I confirmed with 3.0.0 that the issue is reproducible.
According to `git bisect`, it seems to be fixed in fff1edf23ba28267bf57097c269f7fa87530e3fa and d0d6227a0da5925acf946a09191f172daf53baf2.
```
$ (git checkout origin/ruby_3_0 && ... -
07:52 AM Revision a72b7b89 (git): merge revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa: [Backport #17529]
- alen should be actions number on ractor_select()
alen was number of rs, but it should be actions number
(taking ractors + receiving + yielding).
---
ractor.c | 13 ++++++-------
1 file changed, 6... -
07:46 AM Revision 1ea12cf5 (git): update common.mk dependency to follow up the previous commit.
-
07:32 AM Revision 1a1701c0 (git): class.c: include gc.h to suppress 'implicit declaration of function' on some environments.
-
07:08 AM Bug #18627: segmentation fault when doing a lot of redundant Module#include
- ruby_3_0 e0146e6cc8f3578b02ad5f228f86bf1aef566d16 merged revision(s) 97426e15d721119738a548ecfa7232b1d027cd34.
-
06:35 AM Revision e0146e6c (git): merge revision(s) 97426e15d721119738a548ecfa7232b1d027cd34: [Backport #18627]
- [Bug #18627] Fix crash when including module
During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain of superclasses of the iclass could
already have been swept (an... -
06:27 AM Bug #16922: single quote should be escaped in xml
- ruby_3_0 branch includes the changeset git|ddd9704ae9bf884d867b6f57a16c095a79393fff.
-
12:51 AM Bug #18651 (Closed): oob access in CP51932 -> CP50220 transcoder
- Hello,
while working on a port of Japanese transcoder, I found a potential out of bounds access:
https://github.com/ruby/ruby/blob/73541cdc2f192f856ab19781472cdccbf9c21f71/enc/trans/iso2022.trans#L465
```tbl0208``` has 126 chars
in...
03/20/2022
-
02:24 PM Feature #18626 (Rejected): 注釈付き代入演算子 ()= の提案
- Very interesting proposal both syntax-wise and semantic-wise. But I have decided that we are not going to introduce any kind of syntax annotation in the language, sorry.
Matz.
文法的にも意味論的にも大変興味深い提案ですが、Ruby言語にいかなる形であれ型宣言や型注釈を導入するつもりはあ... -
01:52 PM Bug #17196: Segmentation Fault with Socket#close in Ractors
- I tried to reproduce the problem at hand, but it seems to have already been fixed in the current master.
According to git bisect, it seemed to be fixed by #18117 https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/b... -
06:42 AM Revision 73541cdc (git): [ruby/rdoc] Allow method source code to scroll [ci skip]
- https://github.com/ruby/rdoc/commit/1bb0496c53
-
06:38 AM Revision 20ad09e5 (git): [ruby/rdoc] Use the custom style `details summary` only in `nav-section`
- https://github.com/ruby/rdoc/commit/7736d3a89c
- 05:28 AM Revision 7b3fdcdf (git): * 2022-03-20 [ci skip]
-
05:26 AM Revision 6946263a (git): [DOC] make internally used classes/methods nodoc
- Empty class documents are generated even with `:stopdoc:`.
03/19/2022
-
02:21 PM Bug #17382: Segfault in String#inspect
- Alternatively, the following seems to solve the problem.
```patch
diff --git a/vm_eval.c b/vm_eval.c
index 76e56fac8a..64af8815ea 100644
--- a/vm_eval.c
+++ b/vm_eval.c
@@ -1018,7 +1018,7 @@ rb_funcallv_with_cc(struct rb_call_data ... -
01:56 PM Bug #17382: Segfault in String#inspect
- I shortened the reproduction code.
```
Array.prepend(Module.new)
module UsingRefinements
using(Module.new do
refine Array do
def inspect
each { |v| v.inspect }
""
end
end
end)
end
... - 01:50 PM Revision 334ca2dc (git): merge revision(s) 496591de96b261b8789332c7f8b2bfbd17658955: [Backport #18578]
- st.c: Do not clear entries_bound when calling Hash#shift for empty
hash
tab->entries_bound is used to check if the bins are full in
rebuild_table_if_necessary.
Hash#shift against an empty hash assigned 0 to tab->entrie... - 01:45 PM Revision 19fec939 (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 Module#===). ... - 01:41 PM Revision 7eaec9a6 (git): merge revision(s) b555e659c4974acc423083b71b1bd5ec6a926046: [Backport #18388]
- Do not use `fcopyfile` if appending to non-empty file [Bug #18388]
`fcopyfile` appends `src` to `to` and then truncates `to` to it's
original size.
---
io.c | 7 +++++++
test/ruby/test_io.rb | 12 ++... - 01:34 PM Revision 5da2a3e3 (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 aliasing a method to the s... - 01:27 PM Revision 2d886af0 (git): merge revision(s) 6a6227e0168b059c3ed34c9f0ace2e5dc2364221: [Backport #18517]
- Shifting zero always results in zero [Bug #18517]
---
numeric.c | 2 ++
1 file changed, 2 insertions(+) - 01:23 PM Revision 81f5453b (git): merge revision(s) 5c7af72304d0ad33cd3f21b24a4bc44e8acd5b2c,d650b17686d49c2ce8e6a87039861154e93d4621: [Backport #18497]
- Assuming EXIT_SUCCESS equals 0 is not portable
---
test/ruby/test_fiber.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
`rb_fiber_terminate` must not return [Bug #18497]
In a forked process from a f... -
01:22 PM Bug #18641: UTF-16 surrogate pairs
- Thank you Martin.
I'm actually working on an Unicode study, I was not interested into representing the emoji with it's codepoint but to actually be able to write non-BMP glyph in UTF-16 by using the surrogates.
As far as I understa... - 01:15 PM Revision ea9b0fe5 (git): merge revision(s) ae5458f228a5477383e9c00425d85d50a3867817: [Backport #18475]
- thread.c: Convert TAG_BREAK to a normal exception at thread top-level
[Bug #18475]
---
test/ruby/test_enum.rb | 11 +++++++++++
thread.c | 3 +++
2 files changed, 14 insertions(+) -
05:33 AM Revision fafa4099 (git): Make a dedecated assertion to clarify failed assertions
-
03:26 AM Bug #18645: fiddle.rb assumes wrong file name for glibc shared object on Alpha
- I think the current hard code is a bad habit, and `ldd` should be primary.
03/18/2022
- 10:17 PM Revision 44998f27 (git): * 2022-03-19 [ci skip]
-
10:17 PM Revision d52f41b7 (git): [DOC] Enhanced RDoc for String (#5675)
- Treats:
#split
#each_line
#lines
#each_byte
#bytes -
09:14 PM Bug #18645 (Third Party's Issue): fiddle.rb assumes wrong file name for glibc shared object on Alpha
- Could you report this to https://github.com/ruby/fiddle/ because ruby/fiddle is the upstream?
-
09:17 AM Bug #18645 (Third Party's Issue): fiddle.rb assumes wrong file name for glibc shared object on Alpha
- On Alpha, the fiddle.rb test fails because the code in helper.rb assumes that the name for the libc shared object file is "libc.so.6" which is not correct for all architectures:
```
ruby -v: ruby 3.0.3p157 (2021-11-24 revision 3fb7d2... -
06:25 PM Feature #18648: ruby2_keywords and ... name arguments with impossible names
- bkuhlmann (Brooke Kuhlmann) wrote in #note-2:
> Hey Aaron, in regards to `*`, `**`, and `&`, those are passthrough parameters (or bare parameters as I like to call them).
Ok, but why doesn't ... create them in this way? Why assign t... -
06:22 PM Feature #18648: ruby2_keywords and ... name arguments with impossible names
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> This isn't a bug, it's currently expected behavior, even if it is a bit inconsistent. I'll switch this to feature, but if you would like the behavior changed, you'll need to respond with ... -
06:12 PM Feature #18648: ruby2_keywords and ... name arguments with impossible names
- Hey Aaron, in regards to `*`, `**`, and `&`, those are passthrough parameters (or bare parameters as I like to call them). For comparison:
``` ruby
# Bare Parameters
def demo(*, **, &) = super
method(:demo).parameters # => [[:re... -
03:59 PM Feature #18648 (Feedback): ruby2_keywords and ... name arguments with impossible names
- This isn't a bug, it's currently expected behavior, even if it is a bit inconsistent. I'll switch this to feature, but if you would like the behavior changed, you'll need to respond with what you would like the behavior changed to. You...
-
03:20 PM Feature #18648 (Feedback): ruby2_keywords and ... name arguments with impossible names
- While investigating a break in a library using reflection, I realized that when ... is used or ruby2_keywords is used that Ruby will name arguments with their symbol, rather than leaving them unnamed. This test demonstrates the issue:
... -
05:44 PM Bug #18409: Crash (free(): invalid pointer) if LD_PRELOAD doesn't explicitly include libjemalloc.so.2
- I requested a 2.7 back port here: https://bugs.ruby-lang.org/issues/18650
-
05:42 PM Bug #18650 (Closed): C Extensions Can Segmentation Fault on Ruby 2.7 Compiled with --with-jemalloc and --enabled-shared
- Greetings,
I've encountered a segmentation fault using the EventMachine gem on Ruby 2.7.5 compiled with configuration options --with-jemalloc and --enabled-shared on Ubuntu. This error is actually fixed in Ruby 3.1.0 via this commit: ... -
04:21 PM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- Actually there is another probably related bug on 3.1: #18649
-
03:55 PM Bug #18474 (Closed): 938e027c seems to have caused a regression in yield handling with concurrent-ruby
-
03:55 PM Bug #18474: 938e027c seems to have caused a regression in yield handling with concurrent-ruby
- @mame Thanks for the repro and explanation.
I've been looking into this and summarized some thoughts in https://github.com/ruby-concurrency/concurrent-ruby/issues/931#issuecomment-1072542582
Since this bug is fixed on 3.1, but 2.6-3.0 a... -
04:20 PM Bug #18649 (Closed): Enumerable#first breaks out of the incorect block when across threads
- ```ruby
def synchronize
yield
end
def execute(task)
success = true
value = reason = nil
end_sync = false
synchronize do
begin
p :before
value = task.call
p :never_reached
success = t... -
01:19 PM Bug #18627 (Closed): segmentation fault when doing a lot of redundant Module#include
- Applied in changeset commit:git|97426e15d721119738a548ecfa7232b1d027cd34.
----------
[Bug #18627] Fix crash when including module
During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain o... -
01:19 PM Revision 97426e15 (git): [Bug #18627] Fix crash when including module
- During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain of superclasses of the iclass could
already have been swept (and become a new object), which would cause a
crash when trying to read ... -
01:14 PM Feature #18644: Coerce anything callable to a Proc
- As background, `to_proc` already exists as a coercion protocol, it's what is used for `call(&callable)`, and there is already `Proc#to_proc`.
I think Option 1 makes sense and would be good to add, since indeed we can easily produce a ... -
05:48 AM Feature #18644 (Open): Coerce anything callable to a Proc
- Functional objects are increasingly popular in Ruby. Having objects that respond to `#call` makes them interchangeable with a `Proc`.
However, when you need to perform some Proc-specific operation, like currying, you have to break the... -
01:03 PM Bug #17302: The TracePoint API does not allow setting multiple line traces within the same method (ISEQ)
- Backport was requested in https://bugs.ruby-lang.org/issues/18646, and I adjusted the Backport field for it.
-
01:02 PM Bug #18646 (Closed): Inconsistent behavior for the targeted TracePoints in ruby 2.6-2.7 and 3+
- I've set the backport field for https://bugs.ruby-lang.org/issues/17302.
For 2.6 it's unlikely given it's soon EOL.
In any case it's up to branch maintainers.
I'll close this since everything is tracked by the backport field now. -
11:28 AM Bug #18646: Inconsistent behavior for the targeted TracePoints in ruby 2.6-2.7 and 3+
- Looks like this was fixed in https://bugs.ruby-lang.org/issues/17302
Any plans to backport to 2.6/2.7? -
09:34 AM Bug #18646 (Closed): Inconsistent behavior for the targeted TracePoints in ruby 2.6-2.7 and 3+
- Ruby 2.6 introduced the API for targeted tracepoints.
But for some reason, before ruby 3.0, tracepoints looks exclusive per iseq.
Consider an example:
```
def somemethod
puts 1
puts 2
puts 3
end
tp1 = TracePoint.new(:... -
09:41 AM Feature #18647 (Open): Non-recursive option for iseq-targeted Tracepoints in ruby 2.6+
- I can see that iseq-targeted TracePoints introduced in ruby 2.6 working recursively and there is no API to avoid that, even on C level, because related method is not exported by rubylib.
This may be handy in some cases, but I'd like to... -
08:58 AM Bug #18643: test-bundler failed on ruby_3_1 CI
- hsbt (Hiroshi SHIBATA) wrote in #note-1:
> https://github.com/ruby/ruby/pull/5608 will fix this issue.
Unfortunately, this will be fix just up until new Bundler is released again. Since we have bumped into this recently in Fedora [1]... -
04:29 AM Bug #18643 (Assigned): test-bundler failed on ruby_3_1 CI
- https://github.com/ruby/ruby/pull/5608 will fix this issue.
-
04:25 AM Bug #18643 (Closed): test-bundler failed on ruby_3_1 CI
- I think that this spec has failed since newer bundler released.
https://github.com/ruby/actions/runs/5590419280?check_suite_focus=true#step:18:199
```
expected "Running `bundle update --bundler \"> 0.a\"` with bundler 2.3.7... -
03:34 AM Revision 634e0a97 (git): Encourage arity argument in Proc#curry documentation for procs with variable arguments
- This uses similar language to that used in Method#curry.
-
03:01 AM Feature #18598: Add String#bytesplice
- String#bytesplice has been added by commit:git|1107839a7fed31339fc947995b7b45b8eaf4041b.
-
02:55 AM Feature #18598 (Closed): Add String#bytesplice
- Applied in changeset commit:git|2fdfd499db489db9eb4046849aa785c3bd382761.
----------
Add a NEWS entry about [Feature #18598] [ci skip] -
01:43 AM Feature #18598: Add String#bytesplice
- Matz said "go ahead".
-
02:53 AM Revision 2fdfd499 (git): Add a NEWS entry about [Feature #18598] [ci skip]
-
02:51 AM Revision 1107839a (git): Add String#bytesplice
-
01:49 AM Bug #18620 (Rejected): Not possible to partially curry lambda or proc's `call` method
- from devmeeting yeasterday:
matz: No change.
matz: it would be good to add a dedicated documentation to Proc#curry, such as “it does not work if the arity is -1”
-
12:24 AM Bug #18641 (Rejected): UTF-16 surrogate pairs
- `"\uD83D\uDC69"` tries to create an UTF-8 string with surrogates. In UTF-8, surrogates are not allowed, and therefore you get an error. Adding `.force_encoding(Encoding::UTF_16)` does not change any of this, the error has already happene...
03/17/2022
-
09:36 PM Feature #18642 (Closed): Named ripper fields
- One of the biggest pain-points working with the existing ripper subclasses is that you have to know what each array index represents in any given node. I'm proposing adding a subclass of ripper where every field is named so that it makes...
-
07:03 PM Bug #18641: UTF-16 surrogate pairs
- test against 3.1.1p18
-
06:55 PM Bug #18641 (Rejected): UTF-16 surrogate pairs
- That Ruby triggers an *invalid Unicode codepoint* error while using surrogate pairs in an UTF-8 string is expected, however those codepoints should be valid in an UTF-16 string.
It is also expected that unpaired surrogates are invalid h... -
06:57 PM Feature #15357 (Closed): Proc#parameters returns incomplete type information
- Applied in changeset commit:git|b6804d62f822237e136e698e006c913df9990ec2.
----------
Make Proc#parameters support lambda keyword for returning parameters as if lambda
This makes it easier to use Proc#parameters to build wrappers.
Impl... -
11:55 AM Feature #15357: Proc#parameters returns incomplete type information
- A lambda: kwarg when it's meant to be used for non-lambda Procs seems confusing.
How about `parameters(from: :source)`, and the default would be `parameters(from: :behavior)`?
Could also be `parameters(from_source: true/false)` or so. -
06:04 AM Feature #15357: Proc#parameters returns incomplete type information
- Hmm, I accept `lambda:` keyword argument (default `false`). There might be a better candidate than `lambda` but it's acceptable at least.
Matz.
-
06:56 PM Revision b8e72bd2 (git): Revert "Faster rb_class_superclass"
- This reverts commit 29b68b89a0c0ea7de46c058fab746550398151f0.
-
06:52 PM Revision b6804d62 (git): Make Proc#parameters support lambda keyword for returning parameters as if lambda
- This makes it easier to use Proc#parameters to build wrappers.
Implements [Feature #15357] -
06:48 PM Revision 29b68b89 (git): Faster rb_class_superclass
- This uses the RCLASS_SUPERCLASSES array to quickly find the next
SUPERCLASS of klass which is a T_CLASS. -
06:18 PM Feature #18563: Add "graphemes" and "each_grapheme" aliases
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> How about `letters` and `each_letter`?
I like the general idea, but to me "letters" mean \p{L}
[retracted part]
Or how about `characters` and `each_character`? -
08:56 AM Feature #18563 (Closed): Add "graphemes" and "each_grapheme" aliases
- For the record, "Grapheme" and "Grapheme cluster" are different concepts. If we call them "grapheme", It's kind of like calling "Wikipedia" as "Wiki".
Until Unicode consortium defines a shorter name for them or the convention calling th... -
08:14 AM Feature #18563: Add "graphemes" and "each_grapheme" aliases
- How about `letters` and `each_letter`?
-
03:42 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- > I'm not sure it's valuable to have per-IO timeout.
`async-io` has used it for years successfully as a protection against slowloris attacks. It ensures that no matter who calls the IO operations, some timeout is associated with it.
... -
12:06 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- This part wasn't answered:
> Is there a concrete/practical example (for this new timeout)?
I'm not sure it's valuable to have per-IO timeout. It's kind of global state, especially if it's set on some globally-shared IO like STDIN/S... -
02:08 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- @matz thanks for your comments.
> time-out may happen from I/O blocking operations or other CPU bound operation. This proposal only covers I/O blocking. Is it OK?
I believe it's acceptable, since it only impacts IO operations.
>... - 03:42 PM Revision 58b35517 (git): * 2022-03-18 [ci skip]
-
03:42 PM Revision f69a9695 (git): Fix potential memory leak at fiber pool
- Do not "allocate then wrap". It leaks the allocated memory if
failed to create the wrapper. -
03:42 PM Revision cdf25cad (git): Fix compilation error with `RB_EXPERIMENTAL_FIBER_POOL`
-
03:35 PM Revision 4fdb10e6 (git): A positional Hash is not keyword arguments [Bug #18632]
-
03:06 PM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
- Having solved a lot of encoding issues for co-workers, especially on Windows, I'm with @Eregon. As the programmers best friend, I think it's worth to try out this minor incompatibility. At least compared to something like the [removal of...
-
11:08 AM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
- I think it's worth changing, the current name is confusing to most Ruby users, and there were only 71 gems out of 170000+ gems, and those gems were patched.
It seems equally unlikely that many applications would depend on `enc.name == "... -
09:03 AM Feature #18576: Rename `ASCII-8BIT` encoding to `BINARY`
- The risk of compatibility has been reduced thanks to @byroot's effort, but probably there still are many applications potentially affected by the change. Considering the benefit (of being slightly more descriptive) and risk (of incompati...
-
02:46 PM Feature #18640 (Open): default empty string argument for `String#sub` and `String#sub!`, e.g. `"hello".sub("l")`
- Most of the time I replace a string with an empty string. And I think that's the main use case.
Also, `String#delete` deletes every character provided when passed a string.
```ruby
class String
alias original_sub sub
alias o... -
02:19 PM Bug #18632 (Closed): Struct.new wrongly treats a positional Hash as keyword arguments
- Applied in changeset commit:git|e660b934b98943826f888f2b73f773c6411cd199.
----------
A positional Hash is not keyword arguments [Bug #18632] -
02:11 PM Feature #18589: Finer-grained constant invalidation
- > I'm not against the proposal, but for the record, the change makes Object#extend and Module#include slow.
I think it's acceptable, because the same code previously would have busted the global constant cache, so it would have made t... -
02:01 PM Feature #18589: Finer-grained constant invalidation
- I am positive introducing this proposal.
Matz.
-
02:00 PM Feature #12655: Accessing the method visibility
- OK, I accept introducing `undefined_instance_methods`. It returns a list of undefined methods of the receiver class.
Unlike `instance_methods` etc. it should not traverse the inheritance chain.
Matz.
-
01:58 PM Bug #11063 (Rejected): Special singleton class should return true for singleton_class? test
- This inconsistency does not have any actual drawback, so we keep the current behavior.
Matz.
-
01:10 PM Feature #18583: Pattern-matching: API for custom unpacking strategies?
- > This, though, raises a question of several match groups, at which point one starts to want more:
> ...
This one could be achieve via guards:
```ruby
case val
in /(foo|bar)/ if $~ in [val]
puts val
in /(?<named>\d+)/ if ... -
11:53 AM Revision e660b934 (git): A positional Hash is not keyword arguments [Bug #18632]
-
11:34 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- Actually not exactly, while ruby2_keywords ships empty with ruby 3.1, manually installing it does bring a `.rb` file.
-
11:31 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- I think an empty gem is the strategy the `ruby2_keywords` gem has already followed on Ruby 3.1 and it worked fine (al least nobody has complained).
-
11:14 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- I think the gem could just be empty, and so `require "io/wait"` would just require the stdlib (or noop if a Ruby impl implements it in core).
I wouldn't set `require_ruby_version`, that dummy io-wait gem would work for all Ruby versions... -
08:03 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- > I think we should only add require_ruby_version = "< 3.2" to io-wait gem after merging io-wait into core IO class
I believe this would cause unnecessary disruption at release time. Some gems will have transitive dependencies on `io-... -
01:16 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- I think we should only add `require_ruby_version = "< 3.2"` to io-wait gem after merging `io-wait` into core `IO` class. I'm still not sure why reason to make `io/wait.rb` to stub file in the future.
-
01:13 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- >Remove io-wait as a dependency of all gems maintained by ruby-core (e.g. net-protocol).
It's already done. -
08:46 AM Bug #18633: proc { |a, **kw| a } autosplats and treats empty kwargs specially
- Should be fixed. Review the patch and merge it if it's OK. @nobu please?
Matz.
-
08:44 AM Revision e9553a8c (git): spec: skip specs where set TZ environment variable for WASI
- WASI doesn't respect TZ env var for now
-
08:33 AM Revision 7023b3d3 (git): spec: disable a part of Kernel.open spec where spawns a process for WASI
- WASI doesn't provide a way to spawn a new process
- 08:29 AM Revision df6f2b64 (git): Update default gems list at fadc7a150c90ad44dee90985b19e79 [ci skip]
-
08:28 AM Revision fadc7a15 (git): [ruby/logger] bump version to 1.5.1
- https://github.com/ruby/logger/commit/c4a4155ab7
-
06:07 AM Revision acbc2bdd (git): Update the test for [Feature #18615]
-
05:42 AM Feature #18615 (Closed): Use -Werror=implicit-function-declaration by default for building C extensions
- Applied in changeset commit:git|329c89bb42bb44467588afc1d41d9f99172dfeb5.
----------
Make implicit function declaration error [Feature #18615]
Enable `-Werror=implicit-function-declaration` by default for
building C extensions for earl... -
04:49 AM Feature #18615: Use -Werror=implicit-function-declaration by default for building C extensions
- I accept it since it's already 2022. I was persuaded. Go ahead.
Matz.
-
05:37 AM Revision 329c89bb (git): Make implicit function declaration error [Feature #18615]
- Enable `-Werror=implicit-function-declaration` by default for
building C extensions for early failures. -
03:26 AM Revision e499d326 (git): spec: disable part of require_relative spec where uses symlink for WASI
- cap-std, an underlying sandbox implementation of WASI in wasmtime, doesn't
allow to create a symlink to an absolute path to enforce sandbox restriction.
See also: https://github.com/bytecodealliance/cap-std/commit/257867a1d3a589b2561b00... -
02:52 AM Misc #18591: DevMeeting-2022-03-17
- I am in wrong time zone. if you have time, can you check these?
- [Feature #18630] Introduce general `IO#timeout` and `IO#timeout=`for all (non-)blocking operations.
- PR is functional. Can we merge it?
- [Bug #18465] Make `IO#wri... -
01:11 AM Revision d06f787e (git): Fix broken links of rdoc
- - `www.ruby-lang.org` links to `./www.ruby-lang.org`
- `cgi['field_name']` links to `./'field_name'` -
01:03 AM Bug #18614 (Open): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
- @hsbt: I'm very sorry, but this error has resurfaced. Yesterday afternoon, it appeared in about half of the tries of `make check`. This morning, it appeared 5 times in 5 attempts.
When I run only the tests in the file, with `make test...
03/16/2022
-
11:21 PM Feature #18639 (Closed): Update Unicode data to Unicode Version 15.0.0
- Unicode Version 15.0.0 is currently in alpha.
See the announcement at http://blog.unicode.org/2022/02/unicode-150-alpha-review.html. At this time, we cannot test this, because not all necessary data files are available yet. The beta p... -
11:13 PM Feature #18037 (Closed): Update Unicode data to Unicode Version 14.0.0
- Closing because the problems with version check for file emoji-variation-sequences.txt are now solved.
-
08:40 AM Feature #18037 (Open): Update Unicode data to Unicode Version 14.0.0
-
01:34 AM Feature #18037 (Closed): Update Unicode data to Unicode Version 14.0.0
- This feature has been implemented with the following commits:
```
commit 48f1e8c5d85043e6adb8e93c94532daa201d42e9
Author: Martin Dürst <duerst@it.aoyama.ac.jp>
Date: Tue Mar 15 18:55:16 2022 +0900
Fix version check to use ... -
11:11 PM Bug #18636 (Closed): Problems with version check for file emoji-variation-sequences.txt
- This was fixed with the following commits and can now be closed.
```
commit 151208a19b09e29d45a79d92d73b67ec2ff692a6
Author: Martin Dürst <duerst@it.aoyama.ac.jp>
Date: Wed Mar 16 15:18:30 2022 +0900
Revert "Fix version ch... -
08:39 AM Bug #18636 (Closed): Problems with version check for file emoji-variation-sequences.txt
- [This problem was detected and reported (on Slack) by Koichi Sasada (@ko1). Koichi also provided a short-time patch. I'm writing this issue to better document the problem (and the solution) for later reference.]
Example of original fa... -
08:48 PM Bug #18638 (Third Party's Issue): CSV parse does not honor field_size_limit option unless and until a comma occurs in the data, and field_size_limit is off by one
- Could you report this to https://github.com/ruby/csv/issues ?
https://github.com/ruby/csv is the upstream. -
08:25 PM Bug #18638 (Third Party's Issue): CSV parse does not honor field_size_limit option unless and until a comma occurs in the data, and field_size_limit is off by one
- When using CSV.parse or CSV.foreach and specifying option `field_size_limit: 2_000`, we do not consistently see an exception raised when a field contains over 2,000 characters.
I was finally able to reproduce the issue as occurring on... -
07:56 PM Bug #18627 (Open): segmentation fault when doing a lot of redundant Module#include
-
07:53 PM Bug #18627: segmentation fault when doing a lot of redundant Module#include
- I debugged this and have a fix here: https://github.com/ruby/ruby/pull/5671
-
07:45 PM Revision 59a1a818 (git): [DOC] Enhanced RDoc for String#split (#5644)
- * Enhanced RDoc for String#split
* Enhanced RDoc for String#split
* Enhanced RDoc for String#split
* Enhanced RDoc for String#split
* Enhanced RDoc for String#split -
07:19 PM Revision f38dcc78 (git): Assume that klass of dummy head is NULL
- klass of the dummy head of the subclass entries should always be NULL.
- 07:15 PM Revision a8703978 (git): * 2022-03-17 [ci skip]
-
07:10 PM Revision 819f4f0e (git): Always skip dummy head of subclass in rb_prepend_module
- The first node of the subclass linked list of always a dummy head, so it
should be skipped. -
05:48 PM Bug #18561: Make singleton def operation and define_singleton_method explicitly use public visibility
- Thank you @jeremyevans0 for the analysis and PR. I agree that the one weird edge case would generally just be unexpected by a user and should be considered a bug.
-
05:37 PM Bug #16922: single quote should be escaped in xml
- See https://github.com/jruby/jruby/pull/7142 for JRuby update of our jcodings encoding backend, plus the test changes from https://github.com/ruby/ruby/pull/3177.
-
05:18 PM Bug #16922: single quote should be escaped in xml
- Requesting backport to 2.6. JRuby runs the CRuby test suite and wants to fix the same issue, but the existing tests in ruby_2_6 branch fail.
-
01:04 PM Bug #18637 (Closed): Segmentation fault for yield inside another Thread
- Ah this seems a clear duplicate of #18475, sorry.
-
12:28 PM Bug #18637 (Closed): Segmentation fault for yield inside another Thread
- ```ruby
puts RUBY_DESCRIPTION
def execute
Thread.new do
yield 42
end.join
end
p first: to_enum(:execute).first
```
(extracted from https://github.com/ruby-concurrency/concurrent-ruby/issues/931)
Output:
```
ruby... -
11:49 AM Revision 6d8f396f (git): Suppress warnings by OpenSSL 3
-
10:12 AM Revision b426de9e (git): [DOC] Prefer local rdoc links
- - ensures exact same version
- avoid generated URLs
- no external access
- concise -
09:58 AM Feature #15592: mode where "autoload" behaves like an immediate "require"
- I'd personally suggest closing this one.
When you offer lazy/eager loading mechanisms, loading has to be _consistent_. You cannot have a code base that loads in lazy mode, but errs in eager mode.
```ruby
# m.rb
module M
autoload :X, ... -
09:51 AM Revision 4d93b629 (git): Initialize mutex for crypt(3) statically
- Assuming that all platforms, where only `crypt` is available but
not `crypt_r`, are POSIX-base. -
08:50 AM Revision f91ea233 (git): Honor if `_Bool` is available
- `AC_HEADER_STDBOOL` rejects stdbool.h in c2x, which is not
conforming to C99. -
06:18 AM Revision 151208a1 (git): Revert "Fix version check to use Emoji version for emoji-variation-sequences.txt"
- This reverts commit 48f1e8c5d85043e6adb8e93c94532daa201d42e9.
-
06:17 AM Revision e85547ae (git): Revert "Allow `.0` version mismatch to pass the tests"
- This reverts commit fc6e4ce62bfa95b6a0d4d4898e1128c1fce4db8a.
-
06:15 AM Revision 6d603cfd (git): add Unicode auxiliary files and Unicode UCD emoji files download for ALWAYS_UPDATE_UNICODE
-
06:05 AM Revision ebcbca96 (git): [ruby/rdoc] Fix full name of known class
- Properly set the name of `File::Constants`, which is the only name
with a namespace in `RDoc::KNOWN_CLASSES`, and fixes longstanding bug
that `File::Constants` becomes `File::File::Constants`.
When it is generated by `rb_file_const` in ... -
02:30 AM Revision fc6e4ce6 (git): Allow `.0` version mismatch to pass the tests
- With `make update-unicode`, some tests failed with the following error
due to header mismatch.
* `RbConfig::CONFIG['UNICODE_EMOJI_VERSION']` => 14.0
* the header line is `# emoji-variation-sequences-14.0.0.txt`
So the last `.0` is mism... -
01:29 AM Bug #18588 (Closed): ruby -e 'p gets' with japanese charactors gets additional invalid leading chars and caught Encoding::InvalidByteSequenceError
- Applied in changeset commit:git|5d90c6010999ac11d25822f13f0b29d377f81755.
----------
Avoid console input behavior in windows 10 [Bug #18588]
When ANSI versions of PeekConsoleInput read multibyte charactor
partially, subsequent ReadFile... -
01:28 AM Revision 5d90c601 (git): Avoid console input behavior in windows 10 [Bug #18588]
- When ANSI versions of PeekConsoleInput read multibyte charactor
partially, subsequent ReadFile returns wrong data on newer Windows
10 versions (probably since Windows Terminal introduced). To
avoid this, use Unicode version of of PeekCo... -
01:28 AM Bug #18623: `make runnable` does not work
- Just for the record, on a completely new checkout:
$ ruby -v
ruby 3.1.0dev (2021-06-03T06:59:33Z master 7e14762159) [x86_64-linux]
$ ./ruby -v
ruby 3.2.0dev (2022-03-15T23:46:04Z master 48f1e8c5d8) [x86_64-linux]
Command used to... -
01:23 AM Bug #18614 (Closed): Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
- I have now confirmed that this error does not resurface on two different checkouts. I'm therefore closing this issue. However, issue #18623, which I reported at about the same time, is still present.
-
01:00 AM Bug #18614: Error (busy loop) in TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home
- @hsbt: Many thanks for your help. This error appeared several times, but today, I have not been able to reproduce it anymore. It is indeed possible that this was a transient problem, as we discussed on March 14. For whatever reason, it s...
03/15/2022
-
11:46 PM Revision 48f1e8c5 (git): Fix version check to use Emoji version for emoji-variation-sequences.txt
-
11:30 PM Revision 56d9d78f (git): Remove Unicode 13.0.0 related files
-
09:53 PM Feature #18634: Variable Width Allocation: Arrays
- Thanks for catching that. It was a math error.
Improvement for numbers where higher is better (e.g. RPS, IPS) is calculated as branch/master.
Improvement for numbers where lower is better (e.g. response times) is calculated as mast... -
09:47 PM Feature #18634: Variable Width Allocation: Arrays
- Improvement is Branch/master?
It seems inconsistent for these 2 example lines:
```
| p100 (ms) | 5.53 | 6.02 | 0.92x |
| p100 (ms) | 5.54 | 7.03 | 1.27x |
```
i.e. the Branch takes less t... -
01:39 PM Feature #18634 (Closed): Variable Width Allocation: Arrays
- # GitHub PR: https://github.com/ruby/ruby/pull/5660
# Feature description
This patch changes arrays to allocate through Variable Width Allocation.
Similar to strings (implemented in ticket [#18239](https://bugs.ruby-lang.org/iss... -
08:43 PM Bug #18633: proc { |a, **kw| a } autosplats and treats empty kwargs specially
- I've submitted a pull request to remove the autosplatting: https://github.com/ruby/ruby/pull/5665
- 03:50 PM Revision bc62cbd5 (git): * 2022-03-16 [ci skip]
-
03:49 PM Revision d76ba1c2 (git): Fast rb_class_inherited_p
- This uses the superclass table recently introduced to implement fast
inheritance checking between classes (ex. Foo < Bar).
This is almost identical to what we do in class_search_class_ancestor
(as called by rb_obj_is_kind_of) except tha... -
02:15 PM Bug #18635 (Closed): Enumerable#inject without block/symbol will return values or raise LocalJumpError
- The following shows inconsistent behavior when no block/symbol are provided to inject.
``` ruby
irb(main):002:0> {}.inject
=> nil
irb(main):003:0> {one: 1}.inject
=> [:one, 1]
irb(main):004:0> {one: 1, two: 2}.inject
(irb):4:in ... -
10:05 AM Feature #18619: Reverse the order of GC Compaction cursor movement
- Thanks for the quick feedback folks.
Eregon (Benoit Daloze) wrote in #note-1:
> From the `After compaction (this PR)` image, it seems some objects of the leftmost heap are not moved, even though they are not pinned, is that a bug? (n... -
08:56 AM Bug #18632: Struct.new wrongly treats a positional Hash as keyword arguments
- `rb_check_arity` with unlimited arguments are:
```
array.c:2420: rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);
array.c:7602: rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);
eval.c:1138: rb_check_arity(argc, 1, UNLIMITED_ARGU... -
07:39 AM Feature #18589: Finer-grained constant invalidation
- I'm not against the proposal, but for the record, the change makes `Object#extend` and `Module#include` slow.
Before the patch:
```
$ time ./miniruby -e 'module M; A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=1; end; 100000... - 02:37 AM Revision 7aabdbe8 (git): [rubygems/rubygems] Fix a typo
- https://github.com/rubygems/rubygems/commit/3e06a91435
-
01:57 AM Bug #18627: segmentation fault when doing a lot of redundant Module#include
- I applied `git bisect` and it said:
```
98fb0ab60eb14e74a484920bd904a3edd4ba52eb is the first bad commit
commit 98fb0ab60eb14e74a484920bd904a3edd4ba52eb
Author: Peter Zhu <peter@peterzhu.ca>
Date: Tue Jan 11 15:21:56 2022 -0500
... -
01:25 AM Revision 459bbdeb (git): wasm/README.md: add manual config.guess download and autoconf steps
- Autoconf distributed with Ubuntu 22.04 is very old and doesn't support
WASI as an OS, so add instructions to download the latest config.guess,
then run `./autogen.sh`.
See also: https://github.com/ruby/chkbuild/commit/2297012efd6364f6fd... -
12:23 AM Revision f2777067 (git): [DOC]Fix FreeBSD Bugzilla link