福嶋です。

At Fri, 22 Sep 2000 11:25:42 +0900,
Nobuyuki Horie <horie / smail.u-shizuoka-ken.ac.jp> wrote:
> rb_define_method(cFoo, "aMethod_alias", VALUEFUNC(_wrap_Foo_aMethod_alias), 0);
> として、rubyに定義した方がいいように思います。
> というのは、
> 
> void aFunc(int c);
> %name(aFunc_alias) void aFunc(void);
> 
> などとしたときに、temp.ccで関数名の衝突が起こるからです。実際は、
> %name()はクラスで多重定義された関数を持ち込むのに使ったりするので、
> 上記のような定義ができると便利だと思います。

そういうことでしたか。確にSWIG1.3a4ではそうなりますね。

> 実は、swigrubyの0.4あたりでは、このような定義になっていたと思う
> のですが、それ以降に現在のように変更されているので、意図的な変更
> かもしれません。(ruby.cxx (Swig中の)make_wrapper_name(xxx)が
> 変更されているようです。)

なぜそうしたのか、よく覚えてないのですが、直すべきですよね。
多分、深い意図はないです。

というか、このあいだ私自身も、SWIG1.3a4の Examples/python/class を
ruby用に書き換えてテストしてた時に、同じ問題にぶつかりました。です
のでCVS版では、既に修正してあります。

(おそらく)明日リリースされる SWIG1.3a5 では直っているはずなので、そ
ちらで試してみて下さい。

---
福嶋正機