プロジェクトファイルの相対パス対応につNo.05786
kobachi さん 10/06/08 05:40
 
サポートフォーラムではお世話になりました。
プロジェクトファイルもダブルクリックで開けるようになり、快適に使わせていただ
いております。

http://maruo.dyndns.org:81/turukame/turukame_3/x0904201.html
のやりとりに出ていた.hmbookの相対パス対応について、バグらしい挙動がありまし
たので報告いたします。
使用している秀丸のバージョンはV8.00正式版です。

相対パスで記述されたプロジェクトファイルにフォルダ階層の異なる複数のファイル
が登録されていた場合、
一度フォルダ階層を移動すると、別のフォルダ階層に保存されたファイルが開けなく
なるバグがあるようです。

具体的には、

  \ProjectFolder
    -mainfile.txt
    \sub
      -subfile.txt
    \lib
      -library.txt

というファイル構成をプロジェクトファイル(.hmbook)に保存した後、

  //directory="C:\Users\Anyone\Documents\ProjectFolder"
  "mainfile.txt",name=mainfile.txt
  "sub",group,expand
    "sub\subfile.txt",name=subfile.txt
  "lib",group,expand
    "lib\library.txt",name=library.txt

のようにプロジェクトファイル内のファイル指定を相対パスに変更し、そのプロジェ
クトを開きます。
プロジェクトファイル内のサブフォルダに格納されたファイルを1度でも開くと、
(たとえば、library.txtを開いた後にsubfile.txtやmainfile.txtを開く)

  1. 別のサブフォルダのファイル
    →「(フォルダ名)へのカレントフォルダの移動に失敗しました。」という
ダイアログが出て開けない
  2. プロジェクトの親フォルダのファイル
    →新しいファイルを作成するモードになる(カレントフォルダにファイルが
見つからないためと思われる)

というような挙動を示すようです。

[ ]
RE:05786 プロジェクトファイルの相対パスNo.05788
秀丸担当 さん 10/06/08 10:02
 

手順通りにして試してみたところ、確かに言われている通りになりました。
手動で編集する場合、1つのファイルが絶対パスではない書き方には対応してい
ませんでした。

前に話しのあった相対パスというのは、「//directory=」には.hmbookを保存し
た場所を覚えておき、各ファイルも絶対パスで書き、もし.hmbookとファイル群
をまとめて移動したり、USBメモリなどでドライブが変わったりした場合を想定
して、「//directory=」を元に絶対パスを再構成するというものでした。

各ファイルが絶対パスでない書き方には対応していなかったですが、.hmbookは
手動で書き換えしやすいファイルと言っていることもあるので、こういう書き方
にも対応させていただきます。

[ ]