General

Profile

gmcgibbon (Gannon McGibbon)

Issues

open closed Total
Assigned issues 0 0 0
Reported issues 0 4 4

Activity

08/14/2024

04:35 PM Ruby Feature #20676: Pathnames aren't Comparable
It looks like I got it wrong. `<=>` does case-sensitive matching and doesn't behave the way I thought it did. Generally, I agree `Pathname#inside?(path)` would be a good addition that addresses my concern.
Thank you!
gmcgibbon (Gannon McGibbon)

08/13/2024

09:43 PM Ruby Feature #20676 (Feedback): Pathnames aren't Comparable
👋
I was working with Pathnames recently and noticed that I could do:
```rb
Pathname("/a/b").to_s <= Pathname("/a/b/c").to_s
```
but could not do:
```rb
Pathname("/a/b") <= Pathname("/a/b/c")
```
to check if pathnames are sub...
gmcgibbon (Gannon McGibbon)

04/15/2024

05:55 PM Ruby Revision 1984f9ae (git): Specify Kernel#autoload? uses current namespace
Because Kernel#autoload? uses the current namespace, it can lead to
potentially confusing results. We should make it clearer that modules
count as separate namespaces to lookup in.
Co-authored-by: Jeremy Evans <code@jeremyevans.net>
Co-...
gmcgibbon (Gannon McGibbon)

04/05/2024

11:00 PM Ruby Bug #20411: Kenrel.autoload? behaviour
Ah, I see. Thank you for clarifying! Strangely, if you use `class B` and not a `module B`, the behaviour changes. Do classes not count as a namespace? I agree the documentation could be improved. I will submit a patch to improve the docs. gmcgibbon (Gannon McGibbon)
09:32 PM Ruby Bug #20411 (Closed): Kenrel.autoload? behaviour
👋 I recently tried checking if a top-level constant was autoloaded within a module, and it doesn't seem to work properly when calling `autoload?` from `Kernel`. Here's a simple reproduction script:
```
autoload :A, "a.rb"
module B...
gmcgibbon (Gannon McGibbon)

03/26/2024

05:53 PM Ruby Revision 4bdb7961 (git): Mark frame info structs with rb_gc_mark_movable
Using rb_gc_mark_movable and a reference update function, we can make
frame infos movable in memory, and avoid pinning frame info backtraces.
```
require "objspace"
exceptions = []
GC.disable
50_000.times do
begin
raise "some exce...
gmcgibbon (Gannon McGibbon)

03/25/2024

02:43 PM Ruby Revision a31ca350 (git): Mark iseq structs with rb_gc_mark_movable
Using rb_gc_mark_movable and a reference update function, we can make
instruction sequences movable in memory, and avoid pinning compiled iseqs.
```
require "objspace"
iseqs = []
GC.disable
50_000.times do
iseqs << RubyVM::Instruction...
gmcgibbon (Gannon McGibbon)

10/05/2022

08:14 AM Ruby Revision 19e4a4c6 (git): [ruby/irb] Rename IDB::ReidlineInputMethod to IRB::RelineInputMethod
Deprecates IDB::ReidlineInputMethod and USE_REIDLINE in favor of
IRB::RelineInputMethod and USE_RELINE. The Input method uses Reline to
read input from the console, so it can be named directly after the
Reline library like other inputs m...
gmcgibbon (Gannon McGibbon)

02/22/2022

09:03 PM Ruby Bug #18600: Aliased method visibility issue on Ruby 3.1
May be related to https://github.com/ruby/ruby/pull/4149. gmcgibbon (Gannon McGibbon)
08:49 PM Ruby Bug #18600 (Closed): Aliased method visibility issue on Ruby 3.1
It seems methods on classes that were originally private in the parent and made public in the child can no longer be aliased correctly:
```
class C
public :system
alias_method :bar, :system
alias_method :system, :bar
end
...
gmcgibbon (Gannon McGibbon)

Also available in: Atom