>>zakkiさん
情報提供ありがとうございます。
なるほど、確かに呼び出しより後ろで定義されたローカル関数を
@module名なしで書いても、プリプロセッサ出力では
@module名が補われていました。
それにしても、関数の定義の位置関係に依存して動くとか動かないとか
決まるってのは言語仕様的にどうなんでしょう。
あと次のスクリプト
#module mod
#deffunc test
myfunc
return
// ローカル関数
#deffunc local myfunc
mes "local myfunc in mod"
return
#global
#module mod2
// グローバル関数
#deffunc myfunc
mes "myfunc in mod2"
return
#global
test
を実行して"myfunc in mod2"が表示されるというのも
直感に反しますね。
毎回@module名を付けたほうが安全な気がしてきました。