Yukihiro Matsumoto [mailto:matz / ruby-lang.org] aka matz wrote: #|ok, i got a hack. # #|patch follows # #Use unified diff (diff -u), or at least context diff (diff -c). as requested, sir Matz, ---------------------- C:\ruby\lib\ruby\1.8\rdoc\ri>diff -u ri_util.rb.orig ri_util.rb --- ri_util.rb.orig Thu Mar 25 03:59:27 2004 +++ ri_util.rb Sat Jul 09 10:03:10 2005 @@ -30,15 +30,40 @@ separator = nil tokens = arg.split(/(\.|::|#)/) - + + #======================================== + # start of immunization if casing problem + # all programmers are lazy + # so, let us take care of the casing thing + + if tokens.size < 2 + # it's a single word; check if the casing is garbled + t = tokens[0] + if (t != t.downcase) and + (t != t.capitalize) + t.downcase! # it's garbled and we're defaulting to downcase (as method) + end + else + # multiple words + # capitalize them all + tokens.map!{ |x| x.capitalize } + # but methods should be downcased however if present + if tokens[-2] =~ /\.|#|/ + tokens[-1] = tokens[-1].downcase + end + end + + # end of immunization of casing problem + #======================================== + # Skip leading '::', '#' or '.', but remember it might # be a method name qualifier separator = tokens.shift if tokens[0] =~ /^(\.|::|#)/ # Skip leading '::', but remember we potentially have an inst - # leading stuff must be class names + while tokens[0] =~ /^[A-Z]/ @class_names << tokens.shift unless tokens.empty? @@ -72,4 +97,7 @@ def full_class_name @class_names.join("::") end + + end + --------------------------- Thanks and kind regards -botp Thanks also to gavin_k for the capitalize tip. # # matz. #