Activity
From 11/03/2021 to 11/09/2021
11/09/2021
-
04:55 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
- I think it'd be good to understand the slow down here.
Is it due to having the method in Ruby and using `Primitive.`?
It seems unexpectedly high for that.
Or maybe the fact there is a declared keyword argument is slow if the kwarg is n... -
09:04 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
- It's quite a hotspot in our cache serializers:
- https://github.com/Shopify/paquito/blob/aabd8740175f37b382d425da004636266d546901/lib/paquito/types.rb#L88
- https://github.com/Shopify/paquito/blob/aabd8740175f37b382d425da00463626... -
04:38 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
- Could anybody share use cases (preferably a link to a particular code calling it) where `Time.at`'s performance matters?
-
04:47 PM Feature #18035: Introduce general model/semantic for immutability.
- @Dan0042 I think you can experiment with that in a gem if you'd like.
I wouldn't call the module `Immutable` to avoid mixing the two concepts.
I think concretely it would be hard and not necessarily useful to use that refinement for ... -
04:42 PM Feature #18035: Introduce general model/semantic for immutability.
- Re flags, can we just remove the highest FL_USER flags and use it to mark immutable instead?
Those FL_USER flags are actually not meant to be used by gems BTW (#18059). -
04:33 PM Feature #18035: Introduce general model/semantic for immutability.
- Question for the immutability-minded folks here. What would you think of an `Immutable` refinement like:
```ruby
module Immutable
refine String do
def +(other)
super.freeze
end
def <<(other)
raise Immu... -
04:32 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- @zverok No, that can't work because then in your example the actual place where the stack is queried is e.g. inside `#find` which e.g. adds an extra entry on the stack.
Also in general we can't use Enumerable/Enumerator here, the passed... -
01:28 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- Can't the specialized Enumerator be used for that? The downside is it probably would be inconsistent with the existing protocol of `caller`, so maybe the new method would be necessary, but, roughly speaking:
```ruby
lazy_caller.find { ... -
12:36 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- The non-local return like `return frame` is likely to be rather costly in this case unfortunately.
Stack walking typically can't be JITed since it accesses a lot of VM stuff, and so the exception/jump for the `return` (or `break`) is qu... -
12:27 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
- :+1: this seems a great idea.
I was initially thinking this might be tricky to implement, but it seems most APIs to walk the stack out there already allow to do arbitrary calls from inside a callback (e.g., Java 9's `StackWalker`, `Tr... -
02:45 PM Feature #18127: Ractor-local version of Singleton
- ioquatix (Samuel Williams) wrote in #note-4:
> 1. Existing Ruby code is incompatible with Ractor.
> ...
That's a really good summary of the current situation with Ractor. Too many things need to be modified, frozen, restricted, even fo... -
01:19 AM Feature #18127: Ractor-local version of Singleton
- I appreciate the work that is being done here. However I am against introducing this feature as currently proposed and think that more discussion is required.
This change does not address the fact that `Singleton` remains broken when us... -
12:43 PM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
- No need to say sorry. Thanks for providing fixes. https://github.com/ruby/ruby/pull/5097 resolves segmentation fault at Rails test.
-
12:23 PM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
- Could you please try this PR? https://github.com/ruby/ruby/pull/5097
I knew that the fix was incomplete but I couldn't fix it before preview1. I'm sorry. -
11:02 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
- Thanks for the update.
I have attempt to validate the fix, actually it still raises segmentation fault with `ruby 3.1.0preview1` including 428227472fc6563046d8138aab17f07bef6af753 .
```
$ bundle exec rake test
/home/yahonda/.rben... -
07:15 AM Bug #18282 (Closed): Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
- Applied in changeset commit:git|428227472fc6563046d8138aab17f07bef6af753.
----------
class.c: calculate the length of Class.descendants in advance
GC must not be triggered during callback of rb_class_foreach_subclass.
To prevent GC, we... -
12:21 PM Revision 0d3898ec (git): [rubygems/rubygems] Remove more unused stuff from make command parsing
- https://github.com/rubygems/rubygems/commit/eba7d173d4
-
12:21 PM Revision ba3dfe6e (git): [rubygems/rubygems] This method is never passed a block
- https://github.com/rubygems/rubygems/commit/d79ade274b
- 12:21 PM Revision d713b602 (git): [rubygems/rubygems] Fix assert_contains_make_command on make defined by environment variable.
- The `parse_make_command_line` in `assert_contains_make_command` fails to get
the make targets correctly, when the make command is set with make options by
environment variable such as `export make='make -j2'` at
lib/rubygems/ext/builder.... -
12:21 PM Revision ec6352c1 (git): [rubygems/rubygems] Improve error message when make command doesn't match
- https://github.com/rubygems/rubygems/commit/8c2725e9a6
-
08:31 AM Revision 54bda176 (git): test/ruby/test_iseq.rb: Prevent a warning
- http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz
```
[ 9898/21145] TestISeq#test_super_with_block_and_kwrest/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_iseq.rb:1: warning: meth... -
08:30 AM Revision cf50f948 (git): test/ruby/test_enum.rb: Prevent a warning
- http://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20211109T063003Z.log.html.gz
```
[ 1960/21145] TestEnumerable#test_to_a_keywords/home/chkbuild/chkbuild/tmp/build/20211109T063003Z/ruby/test/ruby/test_enum.rb:138: warning: method red... -
08:10 AM Revision d5ae8925 (git): Add doc for `a_call` and `a_return` events of TracePoint
-
08:09 AM Revision 75aae66c (git): Some codes replace to `RBOOL` macro (#5023)
- * Some code replace and using RBOOL macro
* Fix indent
* Using RBOOL in syserr_eqq function - 07:56 AM Revision c1c13c58 (git): Add one more test example for swap instruction
-
07:21 AM Revision 5a3b2e61 (git): Needs `$` in `make` command line to be escaped
-
07:21 AM Revision 5680c38c (git): Use valid `ec` for postponed job.
- Postponed job can be registered from non-Ruby thread, which means
`ec` in TLS can be NULL. In this case, use main thread's `ec` instead.
See https://github.com/ruby/ruby/pull/4108
and https://github.com/ruby/ruby/pull/4336 -
07:11 AM Revision 3628616d (git): Remove a redundant condition
-
07:11 AM Revision 64007fc5 (git): class.c (Class#descendants): Ingore subclasses created after estimation
- It is theoretically possible if a finalizer creates a subclass.
-
07:11 AM Revision 037da506 (git): class.c: Use ALLOC_N instead of ALLOCA_N
-
07:11 AM Revision 42822747 (git): class.c: calculate the length of Class.descendants in advance
- GC must not be triggered during callback of rb_class_foreach_subclass.
To prevent GC, we can not use rb_ary_push. Instead, this changeset calls
rb_class_foreach_subclass twice: first counts the subclasses, then
allocates a buffer (which ... -
06:20 AM Revision 3ff0a0b4 (git): Filter method names only if filtering method name only
- If sole `filter` option doesn't seem including test case name,
match with method name only.
And if the filter is a Regexp or String, it never matches method
name symbols. -
05:52 AM Revision 6cf7c0a4 (git): test/readline/test_readline.rb: skip a test on i686-linux
- ... because readline library (or libtinfo) seems to cause SEGV
internally even with Readline 8.1.
This SEGV is caught as SystemStackError, which leads to a test failure.
http://rubyci.s3.amazonaws.com/debian-i386/ruby-master/log/2021110... -
05:39 AM Revision 1290bdf1 (git): test/ruby/test_fiber.rb: Extend timeout on Solaris
- The test usually takes 200 sec. on Solaris, so the timeout of 300 sec.
looks too short. -
02:30 AM Revision 1d609707 (git): Fix a link [ci skip]
-
02:09 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
- Eregon (Benoit Daloze) wrote in #note-22:
> @mame How do you explain the test I linked above fails (still does with latest CRuby) then?
The exception is raised immediately after the block returns, and before `handle_interrupt` return... - 01:56 AM Revision d7432fde (git): [rubygems/rubygems] Use `shellsplit` instead of array of strings
- Previously, the command string to be used for the shell command
was first generated and then split using shellsplit. This change
reverts the current behavior as it breaks if the value of remote
contains a space.
https://github.com/rubyg...
11/08/2021
-
09:41 PM Revision e014c9d6 (git): [ci skip] Update NEWS.md for [Feature #18290]
-
09:27 PM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- @matz thanks, I will rebase and merge it with experimental warning.
-
02:35 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
- I am not fully satisfied with the quality of the code (at the last time I checked a while ago), but basically, I agree with the merging.
So let us experiment with it.
Matz.
-
09:25 PM Bug #18295 (Third Party's Issue): gtk2 won't work with newest versions of its dependencies
- This looks like an issue with your setup. You'll need to install version 3.4.3 of the atk, pango, and gdk_pixbuf2 gems (see https://rubygems.org/gems/gtk2/versions/3.4.3). Looks like the ruby-gnome maintainers stopped supporting gtk2 s...
-
09:13 PM Bug #18295 (Third Party's Issue): gtk2 won't work with newest versions of its dependencies
- I am running an up-to-date version of Artix, which installs ruby-atk 3.4.5-1 ruby-pango 3.4.5-1 and ruby-gdk_pixbuf2 3.4.5-1.
But it would seem that ruby-gtk2 3.4.3 wants specifically that version of the above three packages (at least, ... -
08:39 PM Revision 39d3d24a (git): [Feature #18290] Remove tests that test use of rb_gc_force_recycle
- Remove tests that assume objects get force recycled.
-
07:24 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
- I have been hoping to do the same operation here for my org, as a way to distribute a universal Ruby binary that would be usable on both Intel and Apple Silicon machines, and to be able to build it on Intel. I seem to run into the same p...
-
07:16 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
- I was able to repro this on Ubuntu 20.04 on an AMD CPU. Looks like moving these functions from `time.c` to `timev.rb` is the reason.
77e7082e824af8523c1e7c3bfc111c2e52e7e3b3 (Moved Time.at to builtin)
```
Time.at ... -
02:27 PM Bug #18293 (Closed): Time.at in master branch was 25% slower then Ruby 3.0
- − | Ruby 3.0.2 | Ruby 3.1.0-dev | result
-- | -- | -- | --
Time.at | 8.223M | 6.190M | 0.753x
### Environment
- MacBook Pro (14inch, 2021)
- macOS 12.0
- Apple M1 Max
- Apple clang ve... -
07:06 PM Feature #18290 (Closed): Deprecate rb_gc_force_recycle
- Applied in changeset commit:git|aeae6e2842e1702dfb89b8ae69b48c4f5f64c662.
----------
[Feature #18290] Remove all usages of rb_gc_force_recycle
This commit removes usages of rb_gc_force_recycle since it is a burden
to maintain and makes... -
07:05 PM Revision 30940648 (git): [Feature #18290] Deprecate rb_gc_force_recycle and remove invalidate_mark_stack_chunk
- This commit deprecates rb_gc_force_recycle and coverts it to a no-op
function. Also removes invalidate_mark_stack_chunk since only
rb_gc_force_recycle uses it. -
07:05 PM Revision aeae6e28 (git): [Feature #18290] Remove all usages of rb_gc_force_recycle
- This commit removes usages of rb_gc_force_recycle since it is a burden
to maintain and makes changes to the GC difficult. -
06:38 PM Revision aa5bccfc (git): NEWS.md: Mention Process._fork [[Feature #17795]]
-
06:33 PM Bug #18294 (Closed): error when parsing regexp comment
- The following code generates the error "too short escaped multibyte character"
``` ruby
_re = /
foo # \M-ca
/x
```
Removing the \ or doubling it makes the error disappear.
Since this is in comment text, I would expect to be abl... - 06:33 PM Revision 83749338 (git): * 2021-11-09 [ci skip]
-
06:32 PM Revision efe7e6e9 (git): Bundle rbs 1.7.0.beta.5
-
06:13 PM Feature #12125: Proposal: Shorthand operator for Object#method
- Hello,
I cannot help myself to see than all proposal are of the form:
` (expression) (shorthand_operator) (method_name)`
while I had seen some interesting option, to me, that format seem to add an obsure behaviour rater than a shorthan... -
06:01 PM Misc #18266: DevelopersMeeting20211118Japan
- * [Feature #6210] load should provide a way to specify the top-level module (jeremyevans0)
* This is fairly easy to implement in a backwards compatible manner, and seems useful.
* Are we OK adding this feature? If so, is the pull ... -
05:33 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
- @mame How do you explain the test I linked above fails (still does with latest CRuby) then?
https://bugs.ruby-lang.org/issues/17849#note-16
Anyway, we all agree nobody should rely on that, and it's also unrealistic to ask people to e... -
08:58 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
- @headius
headius (Charles Nutter) wrote in #note-18:
> This is incorrect code.
I believe that my code is correct under the current implementation of MRI. You may think that the method invocation itself `Thread.handle_interrupt(..... -
03:45 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
- Eregon (Benoit Daloze) wrote in #note-10:
> I'd assume on that object's singleton class like `instance_exec`, but I guess it's not the only possibility.
I would assume the same thing; it would be pretty strange if this defined a `foo... -
01:27 PM Bug #18292 (Closed): 3.1.0-dev `include` cause Module to be marked as initialized
- Some subtle change I found while testing our app compatibility with Ruby head:
```ruby
class Mod1 < Module
def initialize(...)
super
end
end
p Mod1.new
class Mod2 < Module
def initialize(...)
include Enumerabl... -
01:15 PM Revision bd2674ad (git): [rubygems/rubygems] Use bundler-graph instead of bundler-viz
- https://github.com/rubygems/rubygems/commit/a54cca13db
-
11:43 AM Feature #18272: Please replace unsafe SHA1 with another digest algorithm
- Another suggestion from our internal discussion:
```
SHA1 should work for you, though it would be better if you could switch to EVP API from old SHA* API, if you by chance still use it.
``` -
09:35 AM Revision 7cc4e147 (git): Get rid of implicit expansion to `long double` on ix86
-
09:33 AM Revision 395738e8 (git): Separate TestReadline#test_interrupt_in_other_thread
- This method is already known to fail on Travis-CI arm32-linux.
-
09:04 AM Revision a64f7e9c (git): Try 32bit environment
-
08:08 AM Revision 2772f856 (git): Prefer ANSI-style prototypes over old K&R-style definitions
-
08:08 AM Revision b47f7afb (git): Fix filename typo [Bug #18140]
- 07:07 AM Revision b5ca8ebc (git): Update bundled_gems at 2021-11-08
-
06:14 AM Revision 833c69ee (git): Convert IDs to Integers
- As the ID serial is 32bit value and internal IDs created in the
parser are assigned from its maximum value, Symbol converted from
it will exceed 32bit and overflow on 32bit platforms. - 03:52 AM Revision f3bae1a2 (git): * 2021-11-08 [ci skip]
- 03:52 AM Revision 3501e0cb (git): memory_view.c: Add _memory_view_entry member in rb_memory_view_t (#5088)
11/07/2021
-
11:46 AM Revision e0a5c3d2 (git): [MinGW] Set job names
-
11:46 AM Revision 8dc2fce2 (git): [MinGW] Highlight where groups
-
11:46 AM Revision 7068255b (git): [MinGW] Run in sh
-
11:46 AM Revision acd82cc3 (git): [MinGW] Run test-spec
-
11:46 AM Revision 5ebda74a (git): [MinGW] Pass -j option via environment variables
-
11:46 AM Revision 6295e348 (git): [MinGW] Clear BUNDLER_VERSION unconditinally
-
11:46 AM Revision dc4dd96b (git): [MinGW] Remove unnecessary encoding settings
-
11:46 AM Revision 8acb2a9b (git): [MinGW] Use autogen
-
11:46 AM Revision ec032e86 (git): [MinGW] Clear prefix and move the directory to DESTDIR
- Also the destination will be created at the installation.
-
11:46 AM Revision ba0e3ea1 (git): [MSWin] Pass TESTOPTS via RUBY_TESTOPTS
-
11:46 AM Revision 30583bc9 (git): [MSWin] Split nmake step
- The workflow output grouping seems effective even in the middle of
lines. -
11:39 AM Revision 5eb54c49 (git): [MinGW] Set job env vars at once
-
04:13 AM Revision ac642df2 (git): Revert "Fix typo in ChangeLog-2.0.0 [ci skip]"
- This reverts commit e5792e7d552235e17a93d50a26c375db1974148f.
Because this is correct ChangeLog of
https://github.com/ruby/ruby/commit/89fef02f1305887d97ddcf96cc4df9109ce414e2
and reverted commit makes inconsistency with
https://github.... - 03:40 AM Revision 45db04ee (git): * 2021-11-07 [ci skip]
-
03:40 AM Revision ec657f44 (git): Refine the error message for hidden variables
-
03:40 AM Revision 334b69e5 (git): rb_id_serial_to_id: return unregistered ID as an internal ID
- ```ruby
def foo(*); ->{ super }; end
```
This code makes anonymous parameters which is not registered as an
ID. The problem is that when Ractors try to scan `getlocal`
instructions, it puts the Symbol corresponding to the parameter
in ...
11/06/2021
-
01:25 PM Feature #18287: Support nil value for sort in Dir.glob
- Eregon (Benoit Daloze) wrote in #note-8:
> ```ruby
> ...
I would love to see that explicit behavior in `Dir.glob`, which in my opinion would be less surprising and more straightforward.
-
12:19 PM Feature #18287: Support nil value for sort in Dir.glob
- nobu (Nobuyoshi Nakada) wrote in #note-7:
> For instance,
> ...
`base` is not a boolean argument ("do this or do not this behavior"), it doesn't apply.
BTW it seems Kernel#Integer ignores the second argument if not an Integer which I ... -
01:24 AM Feature #18287: Support nil value for sort in Dir.glob
- Eregon (Benoit Daloze) wrote in #note-5:
> @jeremyevans0 Do you know any other core method with this behavior?
There are so many methods that it's hard to name them all.
For instance,
```ruby
Integer("010", nil) #=> 8
```
-
12:36 PM Feature #18291: When use =~ with named group, if regex is on the right side, variable not defined.
- jeremyevans0 (Jeremy Evans) wrote in #note-1:
> `regexp.rdoc` documents that the literal regexp must be on the left hand side in order to assign to local variables, so this is not a bug. Switching to feature request.
Hi, Jeremy, tha... -
12:03 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
- Another way would be to default to `Thread.handle_interrupt(Exception => :on_blocking) do` for all threads, which is more or less what happens with the Fiber scheduler.
Then `Thread#raise` would only affect blocking calls.
OTOH it mean... -
08:39 AM Revision 66b08476 (git): Check the reading size range
-
08:37 AM Revision 6d540c1b (git): merge revision(s) d0a05fd4b40ff0f88728c4897e67b68185128f54:
- Fixed FD leaks
---
test/socket/test_tcp.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
07:57 AM Bug #18264: TracePoint leaks memory
- ruby_3_0 75e74993916e9abda1a74164fed5b59fc3d9b7ce merged revision(s) a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12.
-
07:47 AM Revision 75e74993 (git): merge revision(s) a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12: [Backport #18264]
- [Bug #18264] Fix memory leak in TracePoint
TracePoint leaks memory because it allocates a `rb_tp_t` struct
without ever freeing it (it is created with `RUBY_TYPED_NEVER_FREE`).
---
test/ruby/test_settrac... -
07:45 AM Bug #18252: Backport openssl 2.2.1 to ruby_3_0
- Merged at 00e89fe36b57e2d7c4ea269bc827d9806edef5ed.
-
05:33 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- `grep` doesn't appear to have the same issue as `to_a`, since it explicitly calls `each` with no arguments (unlike `to_a`, which delegates arguments to `each`). Same thing with `count`. So I'm not sure what the issue is in the `grep` o...
-
05:00 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- jeremyevans0 (Jeremy Evans) wrote in #note-5:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> ...
Same as this issue.
> > And `IO#each` has the separator and limit arguments, I wonder how to pass them.
> ...
As the number of argument... -
02:26 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> Recently I've encountered similar issue with `grep(regexp, chomp: true)`.
What's the issue with `grep`? If it is a keyword issue, we can probably fix it.
> ...
`IO#each` doesn't use key... -
02:06 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- Recently I've encountered similar issue with `grep(regexp, chomp: true)`.
And `IO#each` has the separator and limit arguments, I wonder how to pass them. -
01:46 AM Revision e5792e7d (git): Fix typo in ChangeLog-2.0.0 [ci skip]
-
12:06 AM Revision 666a9185 (git): [rubygems/rubygems] GNU Make needs DESTDIR on Windows environment like msys or mingw
- https://github.com/rubygems/rubygems/commit/7fd987d30d
11/05/2021
-
09:01 PM Revision fbd6cc58 (git): YJIT: Support iseq sends with mixed kwargs (#5082)
- * YJIT: Support iseq sends with mixed kwargs
Co-authored-by: Kevin Newton <kddnewton@gmail.com>
* Add additional comments to iseq sends
Co-authored-by: Kevin Newton <kddnewton@gmail.com> -
08:54 PM Revision 9cc2c74b (git): YJIT: Implement checkkeyword (#5083)
- Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
Co-authored-by: John Crepezzi <john.crepezzi@gmail.com> -
07:44 PM Revision 91a90626 (git): YJIT: use shorter encoding for mov(r64,imm) when unambiguous (#5081)
- * YJIT: use shorter encoding for mov(r64,imm) when unambiguous
Previously, for small constants such as `mov(RAX, imm_opnd(Qundef))`,
we emit an instruction with an 8-byte immediate. This form commonly
gets the `movabs` mnemonic.
In 64-... -
07:06 PM Feature #18287: Support nil value for sort in Dir.glob
- Eregon (Benoit Daloze) wrote in #note-5:
> @jeremyevans0 Do you know any other core method with this behavior?
I don't, but I didn't do an audit.
> ...
That changes the behavior if the option is not passed, which is very much not ... -
06:38 PM Feature #18287: Support nil value for sort in Dir.glob
- @jeremyevans0 Do you know any other core method with this behavior?
I am sure they are many dozens that meet my criteria above (in fact, all core methods except this one AFAIK).
And BTW I think the code is better without the `== false`... -
06:42 PM Misc #18266: DevelopersMeeting20211118Japan
- * [Feature #18287] Support nil value for sort in Dir.glob (eregon)
* Let's be consistent for core methods and treat `nil` as `false`, or raise if not boolean.
-
08:55 AM Misc #18266: DevelopersMeeting20211118Japan
- - [Feature #18273] `Class#subclasses`
- Something we forgot to discuss as part of [Feature #14394].
- There are cases where you only want direct subclasses, not the whole tree.
- Can either be `Class#subclasses` like in Active ... - 04:39 PM Revision 82ae9b09 (git): [rubygems/rubygems] Fix url
- https://github.com/rubygems/rubygems/commit/6a5a80eff7
-
03:22 PM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
- Applied in changeset commit:git|e83c02a768af61cd0890a75e90bcae1119d8bd93.
----------
Delegate keywords from Enumerable#to_a to #each
Fixes [Bug #18289] -
02:10 PM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
- I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/5086
-
11:11 AM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
- `Enumerable#to_a` has always delegated its arguments to `#each`, but it does not handle keyword arguments. This seems like an oversight.
My project uses keyword arguments to an #each method, and this has broken Enumerable#to_a as of r... - 03:22 PM Revision f1ca64ed (git): * 2021-11-06 [ci skip]
-
03:22 PM Revision e83c02a7 (git): Delegate keywords from Enumerable#to_a to #each
- Fixes [Bug #18289]
-
03:21 PM Feature #18291: When use =~ with named group, if regex is on the right side, variable not defined.
- `regexp.rdoc` documents that the literal regexp must be on the left hand side in order to assign to local variables, so this is not a bug. Switching to feature request.
-
03:12 PM Feature #18291 (Open): When use =~ with named group, if regex is on the right side, variable not defined.
- Following code not work.
```rb
if "Billy Zheng" =~ /(?<first_name>\w+)\s+(?<last_name>\w+)/
p first_name
p last_name
end
# NameError: undefined local variable or method `first_name' for main:Object
```
But, if we switch... -
02:20 PM Revision 907aa475 (git): [rubygems/rubygems] Fix `ruby setup.rb` command when `--prefix` is passed
- https://github.com/rubygems/rubygems/commit/8d04092f6e
-
02:20 PM Revision d47831d5 (git): [rubygems/rubygems] Bin dir should fall inside destdir
- Since that's what happens in real life when `--destdir` is passed.
https://github.com/rubygems/rubygems/commit/55637bdc8a -
02:20 PM Revision ef6752c6 (git): [rubygems/rubygems] Remove unnecessary test setup
- The method being unit tested here doesn't use
`RbConfig::CONFIG["bindir"]`.
https://github.com/rubygems/rubygems/commit/d3f092ad14 -
02:20 PM Revision f5a4fdae (git): [rubygems/rubygems] Remove unnecessarily changing GEM_HOME
- At this point gem paths are already loaded and memoize. Changing
`GEM_HOME` has no effect.
https://github.com/rubygems/rubygems/commit/a1f62f0939 -
02:20 PM Revision 87a8b224 (git): [rubygems/rubygems] Simplify `--destdir` test
- https://github.com/rubygems/rubygems/commit/0571fd1ec6
-
02:20 PM Revision e60c1f75 (git): [rubygems/rubygems] Refactor setup tests to not always pass `--prefix`
- Standard usage should be tested by default. I will add a test for
`--prefix` once I fix that option since it's not working correctly at
the moment.
https://github.com/rubygems/rubygems/commit/50a7e34586 -
02:20 PM Revision 5b941ec9 (git): [rubygems/rubygems] Remove unnecessary loop
- Rubygems installs a single executable. Make that explicit.
https://github.com/rubygems/rubygems/commit/2839d15521 -
02:01 PM Feature #18290 (Closed): Deprecate rb_gc_force_recycle
- # GitHub PR: https://github.com/ruby/ruby/pull/4363
I'm proposing to deprecate `rb_gc_force_recycle` and make it a no-op function because it is a burden to maintain and makes changes to the GC difficult. It is also easy to incorrectly... -
11:03 AM Revision 56119c52 (git): Skip TestIRB::TestInit#test_recovery_sigint on Solaris
- The test randomly gets stuck on Solaris:
http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20211105T060014Z.fail.html.gz
```
1) Error:
TestIRB::TestInit#test_recovery_sigint:
Timeout::Error: execution of assert_in_out_err ... -
07:00 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
- I think this is the same issue as #17862, #17922, #17988, and #18071. See also https://github.com/typhoeus/ethon/issues/193.
-
06:34 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
- Getting below error while installing Pod.
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome. -
01:32 AM Revision bfc0a71a (git): Suppress unused-function warnings
-
01:20 AM Revision f62f020f (git): Add the test of `Dir.glob` when `sort: true` is given explicitly
-
12:58 AM Revision 1ce3706c (git): [DOC] Fix indent as single paragraph [ci skip]
-
12:58 AM Revision f3812e6c (git): [DOC] Needs `call-seq` directives [ci skip]
-
12:58 AM Revision 53e2bba0 (git): [DOC] Markup the literal false, and constant [ci skip]
-
12:34 AM Revision 30886be9 (git): Skip bundled gem with an extension library under with-static-linked-ext
- .. mainly to fix emscripten CI
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-wasm64_emscripten/log/20211104T024621Z.fail.html.gz
11/04/2021
-
10:35 PM Revision 16331d9a (git): [rubygems/rubygems] Explicitly ignored empty value for DESTDIR
- https://github.com/rubygems/rubygems/commit/69dcc02553
-
10:35 PM Revision 33d01b73 (git): [rubygems/rubygems] Skip to set DESTDIR option when it's not provided for mswin platform
- https://github.com/rubygems/rubygems/commit/b93546c8d8
-
10:23 PM Revision 1506c822 (git): [rubygems/rubygems] Don't apply `--destdir` twice when running `setup.rb`
- Prior to this patch, if I ran:
ruby setup.rb --destdir /foo
Then Bundler files would be written into /foo/foo, because destdir was
being prepended, even though `bundler_spec.bin_dir` already included
destdir.
https://github.com/ru... -
10:23 PM Revision 9503dd91 (git): [rubygems/rubygems] Fix `--destdir` handling on Windows
- Driver letters were not accounted for in one place.
https://github.com/rubygems/rubygems/commit/fbe42460d7 -
10:23 PM Revision 5e855be8 (git): [rubygems/rubygems] More refactoring of `--destdir` handling
- https://github.com/rubygems/rubygems/commit/f42c2025ed
-
10:23 PM Revision 70cbca48 (git): [rubygems/rubygems] Refactor `--destdir` handling
- https://github.com/rubygems/rubygems/commit/8aab3d11b0
-
08:05 PM Revision 2421527d (git): YJIT code pages refactoring for code GC (#5073)
- * New code page allocation logic
* Fix leaked globals
* Fix leaked symbols, yjit asm tests
* Make COUNTED_EXIT take a jit argument, so we can eliminate global ocb
* Remove extra whitespace
* Change block start_pos/end_pos to be poin... -
04:22 PM Bug #17106: Build ruby 2.6.6 from git source
- > I still see this build error on the latest ruby_2_6 branch (commit: 95ba9053e20ad8d113af37b3f1f4cbfff1f6a8f1).
```
$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
$ which ruby
/usr/local/ruby-3.0.2/bin... -
03:33 PM Bug #17106: Build ruby 2.6.6 from git source
- I still see this build error on the latest ruby_2_6 branch (commit: `95ba9053e20ad8d113af37b3f1f4cbfff1f6a8f1`).
I needed to apply the commit `47720e2255f34ecad49763c66a7ea02a55a3f60a` to pass the `make` on Fedora 34.
```
$ bison --... - 03:54 PM Revision 85b4cf16 (git): * 2021-11-05 [ci skip]
-
03:54 PM Revision 0c69f240 (git): test/ruby/test_gc_compact.rb: Backpatch the URL to the PR
-
03:54 PM Revision 8821a0de (git): test/ruby/test_gc_compact.rb: Do not run on s390x
- The compaction tests get stuck randomly on s390x for unknown reason.
http://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20211104T030003Z.fail.html.gz
```
[13715/21145] TestGCCompact#test_gc_compact_statstimeout: output interval exceed... -
02:36 PM Feature #18287: Support nil value for sort in Dir.glob
- Eregon (Benoit Daloze) wrote in #note-3:
> This is inconsistent with basically every Ruby method out there.
I disagree. It's not uncommon for me to do:
```ruby
def m(opts={})
do_something unless opts[:something] == false
#... -
11:32 AM Feature #18287: Support nil value for sort in Dir.glob
- This is inconsistent with basically every +core+ Ruby method out there +taking a boolean/boolean-like argument+.
For all core methods, either:
* the value is converted to a boolean, and then nil/false mean the same
* the value can only ... -
09:22 AM Feature #18287: Support nil value for sort in Dir.glob
- This is intentional and documented as:
```ruby
# The results which matched single wildcard or character set are sorted in
# binary ascending order, unless false is given as the optional +sort+
# keyword argument. The order of ... -
09:17 AM Feature #18287: Support nil value for sort in Dir.glob
- `nil` means the default behavior, that is `sort: true`.
-
08:47 AM Feature #18287 (Closed): Support nil value for sort in Dir.glob
- Good day, everyone.
I would like to suggest (or question) the support of a `nil` value for `sort` argument in `Dir.glob`.
I find this behaviour a bit surprising, here is an example:
```
irb(main):001:0> Dir.glob("brace/a{.js,*}",... -
02:06 PM Revision 539c42ed (git): [rubygems/rubygems] Fix typos
- https://github.com/rubygems/rubygems/commit/f328ef6f77
-
02:00 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Could you try with the master, and show more backtraces?
Sure. Similar error, though this time running the universal `ruby` on Apple Silicon just results in a `Killed: 9` message. I'm unabl... -
07:14 AM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
- Could you try with the master, and show more backtraces?
-
01:19 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
- Ah, maybe Koichi meant that `bind_call` doesn't change the default definee like `instance_exec` does?
i.e., does
```ruby
class C
-> {
def foo
end
}.bind_call(Object.new)
end
```
define `foo` on that object's singlet... -
01:13 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
- byroot (Jean Boussier) wrote in #note-8:
> Assuming I correctly understand how it would work, then yes it would be great to have it to replace lots of costly `instance_exec`.
I don't think it would change anything performance-wise. T... -
11:39 AM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
- > only as a replacement for instance_exec(&proc).
Assuming I correctly understand how it would work, then yes it would be great to have it to replace lots of costly `instance_exec`. -
01:16 PM Misc #18266: DevelopersMeeting20211118Japan
- * [Misc #18285] NoMethodError#message uses a lot of CPU/is really expensive to call (eregon)
* OK to do https://bugs.ruby-lang.org/issues/18285#note-11 and no longer call custom #inspect for NoMethodError?
* Same for NameError?
* ... -
11:51 AM Revision 3d8e1ee4 (git): [ruby/net-http] Warn deprecated old constants
- https://github.com/ruby/net-http/commit/2a97b4729b
-
11:51 AM Revision b49dbe02 (git): [ruby/net-http] Fix the typo in a constant name
- https://github.com/ruby/net-http/commit/dada6007bf
-
11:44 AM Revision 5f2c4e34 (git): [ruby/net-http] Reset keep_alive timer on new connection
- The last_communicated timestamp is for HTTP persistent connection, to
decide whether the current TCP connection may be reused for the
subsequent requests or not. Naturally, the timer must be reset if the
connection is recreated since it ... -
09:34 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- Thanks Benoit for stating in very clear and exact terms what I was trying to express :)
-
03:58 AM Revision a53aab12 (git): Fix typos [ci skip]
-
03:08 AM Revision ee9f7fc2 (git): fix typo in ChangeLog-1.9.3
11/03/2021
-
11:58 PM Revision e1ae889c (git): [ruby/racc] Fix a private method name
- https://github.com/ruby/racc/commit/1f52571225
-
11:58 PM Revision acf5ccd1 (git): [ruby/racc] Fix typo in a local variable name
- https://github.com/ruby/racc/commit/03d0b86b90
-
11:57 PM Bug #18243: Ractor.make_shareable does not freeze the receiver of a Proc but allows accessing ivars of it
- From #18276,
I think the best solution by far is `Ractor.make_shareable(proc.bind(nil))` (concise, clear, clean as it does not pass unshared object to other Ractor), and raise on `Ractor.make_shareable(proc)` if the Proc's `self` is not ... - 11:56 PM Revision 481aa61c (git): * 2021-11-04 [ci skip]
-
11:56 PM Revision f6330a45 (git): [ruby/rdoc] Fix typos in test method names [ci skip]
- https://github.com/ruby/rdoc/commit/8386333323
-
11:54 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
- Dan0042 (Daniel DeLorme) wrote in #note-6:
> Why not `proc.bind(obj).call` ? It seems a more "proper" API, more composable. You can bind once and then call multiple times. Maybe `Ractor.make_shareable(proc.bind(nil))`. I understand the ... -
11:46 PM Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a String
- The fix for #12689 seems clear, such variables need to be Thread-local (or even Fiber-local).
That's already what TruffleRuby does (mentioned in that issue) and it seems JRuby is doing the same (https://github.com/jruby/jruby/issues/303... -
02:03 PM Feature #12745: String#(g)sub(!) should pass a MatchData to the block, not a String
- I would love to see this resurrected.
If you want the MatchData in a gsub block, at first it looks like you can just use `Regexp.last_match`.
But I think this, along with variables like `$1`, may not be thread-safe? See for insta... -
11:39 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- Re special casing, true/false/nil are typically already special-cased for exception messages (because `#<TrueClass:0x0000000000000014>` is too confusing, everyone expects `true` or `true:TrueClass`, which is BTW the current formatting: `...
-
04:33 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- My suggestion is indeed to only include the class + perhaps the pointer id or the object id for regular user classes, and then special case true/false/nil and perhaps String and symbols.
-
04:16 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- > I was trying to use that to make a case that perhaps the default should not be to use #inspect, not to use the inspect always :)
Not sure if I got you right, but in my opinion the old behavior of only using it if it was smaller than... -
12:06 PM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- > Well I for one complained about that limit, hence why I opened the ticket.
Right! Thanks for pointing it out.
> ...
Good point. What I meant was that for a long time it seemed OK to not get the `#inspect` information some of the ... -
11:22 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- > I'm actually talking about NoMethodError, not NameError, so I don't think this issue is caused by the did you mean gem behavior
No the confusion is mine, I assumed it was a `did_you_mean` perf issue without fully digging into your r... -
09:15 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- #### Important note! I'm actually talking about **`NoMethodError`**, not **`NameError`**, so I don't think this issue is caused by the did you mean gem behavior (which I really like).
This may have been confusing because both of them ... -
09:52 PM Bug #18284: Macosx M1
- I'm not sure it's related, but a `pod` related error came up on the #ruby IRC channel today, and the user solved their problem by using this command:
```
sudo arch -x86_64 gem install ffi
```
Which they found here: https://stacko... -
04:21 PM Bug #18286 (Closed): Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
- A universal arm64/x86_84 ruby binary for macOS built on a x86_64 machine segfaults/is killed when executed on an arm64 machine.
To reproduce:
* On an Intel Mac: `git clone https://github.com/ruby/ruby && cd ruby && git checkout v3_0_... -
02:43 PM Revision 5b8d22eb (git): [ruby/openssl] Fix typos [ci skip]
- https://github.com/ruby/openssl/commit/708ebf2f7a
-
10:55 AM Revision b5d9c442 (git): [ruby/optparse] Fix typo [ci skip]
- https://github.com/ruby/optparse/commit/0aa18752cf
-
10:11 AM Revision e9a13332 (git): Fix typos [ci skip]
-
08:42 AM Revision c5224c71 (git): [rubygems/rubygems] Fix `gem install` vs `gem fetch` inconsistency
- https://github.com/rubygems/rubygems/commit/b3e985799e
-
05:00 AM Revision 9fc7ea64 (git): configure.ac: don't use shutdown on emscripten
- ... to absorb a change on Ubuntu 21.10