タグジャンプが期待通りに動作しない件No.07329
yamashita さん 14/01/22 11:08
 
お世話になっております。

特定の条件下でのタグジャンプが期待通りに動作しません。

動作環境は 秀丸 version 8.33、Windows 7 SP1 です。
(Windows XP Prof. 2002 SP3 だと、以下の問題は発生しません。)

以下、やってることは単純なんですが、手順がちょっと長いです。
すんません。

・explorer で c:/ を開きます。
・c:/ にディレクトリ dir1 を作ります。
 "c:/dir1" ができます。c:/dir1 に移動します。
・c:/dir1 に ディレクトリ dir2 を作ります。
 "c:/dir1/dir2" ができます。
・dir2 にフォーカスを合わせた状態で ctrl-C ctrl-V して、
 dir2 のコピーを作ります。
 "dir2 - コピー" ができます。
・再び dir2 にフォーカスを合わせます。
 この状態で ctrl-C ctrl-V して、もう一度 dir2 のコピーを作ります。
 "dir2 - コピー (2)" ができます。
・"dir2 - コピー (2)" に移動します。
 カレントディレクトリは
 "C:\dir1\dir2 - コピー (2)" です。
 ここにファイル test.txt を作り、秀丸で開きます。
 test.txt で、
 1(return)2(return)3(return)4(return)
 と入力し、保存します。
・この秀丸で、[検索] メニュー [grepの実行] で、
 grep のダイアログを開き、
 ・「検索する文字列」 に 3 と入れます。
 ・「フォルダ」は、初期値は "C:\dir1\dir2 - コピー (2)" ですが、
  これを "C:\dir1" に変えます。
 この条件で grep を実行します。
 grep の結果は
dir2 - コピー (2)\test.txt(3): 3
 となります。
 この grep 結果の上にカーソルを合わせて、タグジャンプします。
 すると、期待通りにジャンプしません。

 説明するまでもないと思いますが、こちらの意図は、
 「dir2 - コピー (2)\test.txt」ファイルの「3」行目にジャンプ
 なのに、タグジャンプは
 「dir2 - コピー 」あるいは「dir2 - コピー」の「2」行目とかを
 探しに行っているのではないかと思います。

 冒頭に書いた、Win XP だと問題が発生しないのは、上記手順で
コピーを作る際のディレクトリ名の命名規則が違うからだと思います。
 Win 7 の場合、「dir2 - コピー」というディレクトリも存在するのが
問題なのではないかと思います。

 仮にこの論点に対応していただけるとして、どのような形をお願い
するのがいいのかをきちんと考えてないのですが、
ちょっと考えたところでは、

  「タグジャンプは、タグ情報が正確であると前提し、
   タグ情報を左端から調べ、
   <存在するファイルのパス名> と <行番号> であると
   解釈しうる最初の組み合わせを見つけたら、ジャンプする」

はどうでしょうか。
 <存在するファイルのパス名> を見つけられなかった時に
どうするのがいいのかはよくわかりません。

もし上記対案で問題があるのであれば、また考えようと思います。

ご検討いただければと思います。

[ ]
RE:07329 タグジャンプが期待通りに動作しNo.07330
秀丸担当 さん 14/01/22 13:17
 

詳しい手順のバグ情報ありがとうございます。

手順に従ってこちらで試してみた限りでは、問題なくタグジャンプできました。
秀丸エディタの動作としては、一応下記のことに近い動作は試行している部分も
あります。

>  「タグジャンプは、タグ情報が正確であると前提し、
>   タグ情報を左端から調べ、
>   <存在するファイルのパス名> と <行番号> であると
>   解釈しうる最初の組み合わせを見つけたら、ジャンプする」


例えば「test.txt(3)」という括弧も含めたそのままのファイル名のファイルが
ある場合、ファイルの存在によって括弧をファイル名に含むかどうかを自動的に
判断します。
例えば、

test.txt(3)(100): xxx

と書かれていたら、「test.txt(3)」というファイルがあれば、「test.txt(3)」
の100行目にジャンプします。
「test.txt(3)」というファイルが無ければ、「test.txt」の3行目にジャンプし
ます。

この挙動に関する問題が何かあると思うのですが、どういうケースでそうなるの
かわかりませんでした。
お手数ですが、XPでもフォルダ名を同じにしてみて起きるかどうかを確認してい
ただけると、フォルダ名によるものか、それとも動作環境など設定によるものか
など、何らかの原因を探るヒントになると思います。

[ ]
RE:07330 すいません、こちらの問題でしたNo.07331
yamashita さん 14/01/22 13:40
 
・・・申し訳ありませぬ。

こちらの問題でした。

タグジャンプに割り当てていると思っていたキーが、
自作のタグジャンプ系のマクロに割り当てられているのを
失念していました。

タグジャンプを実行したところ、期待通り動作しました。

お手数をお掛けしました。

[ ]