Hello ruby-core,

I've been using ruby as my primary language for two years now and I like it
quite a lot. I'd like to start contributing back to it, but I don't know
where to begin. Does anyone have any pointers as to where I can be helpful?

A bit of background: I'm pretty comfortable with the ruby language, C api,
and codebase. I've written a couple of small C extensions and have a
cursory understanding of how the garbage collector works and how objects
are stored. More recently, I've been spending some time learning about how
YARV works (iseq generation, opcodes, method definition, FrozenCore, etc).

I have been looking into https://bugs.ruby-lang.org/issues/5776, and I've
made some progress. At some point between 1.9.2 and 1.9.3 the visibility of
top level inner method definitions changed from private to public:
https://gist.github.com/2973857. Because everything typed into irb is
eval'd with the binding from inside the top level Object#irb_binding method
(lib/irb/workspace.rb:51), all top level method definitions in irb have
become public. I haven't learned enough yet to know why this change
happened and if it was intended, but I imagine I can get there soon.

Hopefully this is enough to help you understand the level I'm at. I'm happy
to continue working on #5776 or contribute to something else. Any advice or
direction would be wonderful.

Thanks!
-Dave