From: nobu@... Date: 2014-04-25T06:17:56+00:00 Subject: [ruby-core:62155] [ruby-trunk - Bug #7842] An alias of a "prepend"ed method skips the original method when calling super Issue #7842 has been updated by Nobuyoshi Nakada. Description updated ---------------------------------------- Bug #7842: An alias of a "prepend"ed method skips the original method when calling super https://bugs.ruby-lang.org/issues/7842#change-46310 * Author: Yusuke Endoh * Status: Closed * Priority: Normal * Assignee: Nobuyoshi Nakada * Category: core * Target version: 2.1.0 * ruby -v: ruby 2.0.0dev (2013-02-13 trunk 39225) [x86_64-linux] * Backport: 1.9.3: DONTNEED, 2.0.0: DONE ---------------------------------------- Hello, ~~~ruby module P def m; puts "P"; super; end end class A def m; puts "A"; end end class B < A def m; puts "B"; end prepend P alias m2 m end B.new.m2 #=> expected: P, B, A #=> actual: P, A ~~~ Is this intentional? It looks weird to me that calling super of `P#m` (as `m2`) skips `A#m`. --- Yusuke Endoh -- https://bugs.ruby-lang.org/