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