Feature #14138

Define English.rb aliases by default and eliminate the library

Added by headius (Charles Nutter) almost 3 years ago. Updated almost 3 years ago.

Target version:


There are many good reasons to simply define all the English.rb global aliases at boot:

  • JRuby has done it for years with zero reported bugs.
  • Rubinius has done it for years with zero reported bugs.
  • Globals are in general discouraged, so the likelihood of collision with a user library is very low.
  • The globals that remain are better indicated by using the long name rather than the Perl-esque short names.
  • One less library to maintain.

The only argument to not do this seems to be the collision concern, but that has not affected hundreds of users of JRuby and Rubinius over the past decade. I think we're safe.

This would be ideal for 2.5, if it's not too late, since this is the big "gemifying" release. Eliminating English.rb would fit into that well.

Related issues

Related to Ruby master - Feature #14240: warn four special variables: $; $, $/ $\Closedjeremyevans0 (Jeremy Evans)Actions
Related to Ruby master - Feature #16963: Remove English.rb from Ruby 2.8/3.0Assignedhsbt (Hiroshi SHIBATA)Actions

Also available in: Atom PDF