Hi -- On Wed, 21 May 2003, Hal E. Fulton wrote: > Think for a moment about why we have > the keyword "super" -- it's a way of > distinguishing between the current > method and the one in the parent, but > it's also a convenient shorthand that > does not depend on the method name. > > I once proposed a keyword "prior" that > would refer to the old definition of a > method that was being replaced. This > would make unnecessary the idiom of > explicitly creating an alias and then > calling the old method by name. > > But Matz replied (I'm paraphrasing) > that this was a part of a more general > problem, and that something like Lisp's > defadvice was the answer. I don't know about defadvice either, but a thought or two anyway: 'prior' might have a usefulness, but it would not be a drop-in replacement for what alias currently does (which of course is also very different from what super does). alias'ing a method makes that method callable in a general way, so: class A def x; end end class B alias :y :x def z; y; end # 'prior' would be meaningless here end I have some instinct that tells me that a method cannot, as a general matter, "know" that it is replacing an existing method (because it may or may not be, depending on dynamically evaluated conditions), but I can't quite think my way through it. Perhaps I'll try to babelfish thing with Matz's weblog :-) David -- David Alan Black home: dblack / superlink.net work: blackdav / shu.edu Web: http://pirate.shu.edu/~blackdav