マークとマクロの組み合わせで...No.01317
Iranoan さん 07/08/02 18:23
 
 秀丸担当さん今日は、Iranoan です。
 通常「マーク一覧」から [移動] すると、移動先のファイルが開いている場
合は、そのウィンドウに移動するだけで、新たにファイルは開かないと思いま
す。しかし、条件が重なると必ずファイルを開いてしまいます。
(1) 適当なファイルで、「マーク」をつける
(2) 末尾のマクロを用意しておき (1) のファイルに対して、
    Hidemaru.exe /xreactive.mac /j20 sample.txt
    を実行 (行番号は幾つでも良い)
    →この時点で、開き直したファイルにマークがついていない (これがそも
    そもおかしい?)
(3)「マーク一覧」から [移動]
    →別のウィンドウでファイルを開いてしまう
    こちらのウィンドウには「マーク」が付いている

 こちらの環境は、WindowsXP+IE6.0+秀丸 Ver.7.00β19 です。
//----------------- reactive.mac -----------------
showwindow 0;
##handle = hidemaruhandle( 0 );
##x = column + 1;
##y = lineno;
##winNo = findhidemaru( filename );
$file = filename;
closenew;
openfile "/j" + str( ##y ) + "," + str( ##x ) + " " + $file;
closehidemaru ##handle;
showwindow 1;

[ ]
RE:01317 マークとマクロの組み合わせで..No.01319
秀丸担当 さん 07/08/03 10:05
 

>合は、そのウィンドウに移動するだけで、新たにファイルは開かないと思いま
>す。しかし、条件が重なると必ずファイルを開いてしまいます。

手順通りにしてやってみましたが、再現させることができませんでした。
何か他に条件と思われることはないでしょうか?

[ ]
RE:01319 マークとマクロの組み合わせで..No.01325
Iranoan さん 07/08/04 22:02
 
 秀丸担当さん今日は、Iranoan です。
> 手順通りにしてやってみましたが、再現させることができませんでした。
 すいません、元々のマクロが間違っていました。(別の部分を削除していた)
showwindow 0;
##handle = hidemaruhandle( 0 );
##x = column + 1;
##y = lineno;
##winNo = findhidemaru( filename );
$file = filename;
setactivehidemaru ##winNo;
movetolineno ##x, ##y;
closehidemaru ##handle;

[ ]
RE:01325 マークとマクロの組み合わせで..No.01327
秀丸担当 さん 07/08/06 11:12
 

再現させることができました。
マクロでも再現できましたが、普通に二重に開くだけで再現させることができま
した。
同じファイルを二重に開いて、上書き禁止として開いたり、かまわずに開いたり
すると、新しく開いたほうのみがマークが有効なウィンドウとなり、片方は無効
となります。
これはこれで問題ではありますが、内部的な都合で今のところこれは仕方ないと
いうことにさせてください。

無効になってしまったウィンドウだけが残った場合、無効なままです。このとき、
再読み込みをしても回復しないです。
とりあえず、再読み込みした場合は回復するように修正してみようと思います。

[ ]
RE:01327 マークとマクロの組み合わせで..No.01328
Iranoan さん 07/08/06 12:49
 
 秀丸担当さん今日は、Iranoan です。
> これはこれで問題ではありますが、内部的な都合で今のところこれは仕方ないと
> いうことにさせてください。
>
> 無効になってしまったウィンドウだけが残った場合、無効なままです。このとき、
> 再読み込みをしても回復しないです。
> とりあえず、再読み込みした場合は回復するように修正してみようと思います。
 解りました。宜しくお願いします。

[ ]