調査したことのまとめ&軽くメモ。
取り込んだファイルのネームスペース作成の所で、
hima_system.pas THiSystem.ImportFile (l.1549):
Namespace.CreateNewSpace(f.Fileno);
となっている。一方で「ネームスペース変更」命令で渡された引数の Namespace を検索するのには tangoId を使っている。そのため、どうやってもそのネームスペースが存在しないことになってしまっている(たまたま"存在"することは…ほとんどないと思う)。
そこで簡易(*)修正案:
Namespace.CreateNewSpace(hi_tango2id(FName));
のようにすれば、"『Library.nako』にネームスペース変更"と正常に使える。
簡易(*) … 「ネームスペース変更」命令の引数はファイル名「Library.nako」にすべきか接頭辞「Library」にすべきか。どちらが良いか分からなかったし、どちらにしても細かいことするのが面倒(本音)だったからそれ以上試していない。(それぞれ、接頭辞の場合はパスと拡張子を除く処理が、ファイルの場合はパスの展開とかの処理が必要になる)
----
直接本件とは関係ありませんが、条件コンパイルが一部上手く行ってないですね。{$ELSE}側が空気になってるみたい(?)です。(通常版用の doAngou6() が {$ELSE} 内で定義されているハズなのに、 doAngou6 が未定義と怒られる。)