harp:~ > cat a.rb
module M
   def [] *a, &b
     super
   ensure
     p 'overridden method called'
   end
   alias_method 'slice', '[]'
end

( a = [0,1,2] ).extend M
a[0]
a.slice(0)


harp:~ > ruby181 a.rb
"overridden method called"
"overridden method called"


harp:~ > ruby186 a.rb
"overridden method called"
"overridden method called"
a.rb:3:in `slice': super: no superclass method `[]' (NoMethodError)
         from a.rb:13


thoughts?

-a
-- 
be kind whenever possible... it is always possible.
- the dalai lama