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