David Garamond wrote: > Now Ruby2 wants to change so that 'util' in C method calls C#util and > 'self.util' calls CC#util. I very much prefer 'self.util' to be the one > that calls C#util (and I don't think I'll ever use it a lot). The latter > is backwards compatible and how virtually all other languages behave. I totally agree with you. I think a better way of solving this problem is using private methods which are only part of the class for which they are defined. If a subclass defines a method (private, protected or public) with the same name as the private method in the superclass then all calls to the private method made by methods in the superclass call the private method in the super class. All methods calls on the method in the subclass call the method defined there. Public or protected methods defined in superclasses can be overriden in subclasses and when they are called from the superclass the overriden method will be called. I believe this is the way Java and C++ (among others) work. Regards, Peter