Nobuyoshi Nakada wrote:
> Hi,
> 
> At Wed, 6 Aug 2008 20:16:00 +0900,
> Otto Hilska wrote in [ruby-core:18145]:
>> Since most other Ruby classes have a name with the first letter in 
>> uppercase, I think "fatal" should be no exception.
> 
> Ruby scripts should not use it.
> 

It's still available for the scripts. For example, running in Rails 
environment:

 >> Object.subclasses
SyntaxError: (eval):1:in `subclasses_of': compile error
(eval):1: syntax error, unexpected tIDENTIFIER, expecting tCONSTANT
defined?(::fatal) && ::fatal.object_id == k.object_id
                 ^
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/object/extending.rb:15:in 
`subclasses_of'
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/object/extending.rb:13:in 
`eval'
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/object/extending.rb:15:in 
`subclasses_of'
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/object/extending.rb:13:in 
`each_object'
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/object/extending.rb:13:in 
`subclasses_of'
         from 
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.0/lib/active_support/core_ext/class/removal.rb:16:in 
`subclasses'
         from (irb):1

There're some other cases too, where having a class with a lower-case 
first letter can cause surprising effects. For me the problem was when 
we were importing Ruby sources (and thus all classes) to apidock.com.

If 'fatal' should not be used in scripts, changing the name should not 
cause compatibility issues either. So what are the reasons for keeping 
it lower-case?

  - Otto