On Sep 5, 6:46 pm, Yukihiro Matsumoto <m... / ruby-lang.org> wrote:
> Hi,
>
> In message "Re: before, after and around Ruby 1.9"
>     on Thu, 6 Sep 2007 10:32:03 +0900, Joel VanderWerf <vj... / path.berkeley.edu> writes:
>
> |What if you want to reopen _without_ the "around" semantics?
>
> I thought we need to remove the previous one first.
>
> |Could we have these two variations:
> |
> |class Foo < Foo       # <-- This is a type error in 1.8
> |   def foo; super; end # AROUND
> |end
> |
> |class Foo
> |   def foo; super; end # REDEFINE
> |end
> |
> |At least that is a conservative extension.
>
> Or maybe providing two supers, one for the current behavior, the other
> for the new.  I don't whatever name is suitable for new super yet,
> however.

How would you be sure (and why would you want to?) know when a
"previous" exists or not? It rarely make sense to avoid advice.
However, when absolutely needed one can fallback to directed calling
with things like:

  super_at(Object)

or

  as(Object).foo

T.