秀丸4.10β15 マクロ結果のリダイレクトNo.04241
a.sue さん 04/02/22 15:56
 
こちらでははじめまして。
Hidemarnet Explorerのニュースで初めて秀丸4.10βの存在に気づき、β15をインス
トールしました。

4.10β15でマクロの出力結果をconにリダイレクトすると、新しい秀丸に一瞬文字が
見えるのですが、終了後空っぽになってしまいます。
秀丸4.06では結果が表示された秀丸ウインドウが残ります。
また、4.10β15で結果をファイルにリダイレクトするとちゃんとファイルに書き込ま
れます。

手元で試したのは拙作「RCS for 秀丸」のみですが、今下記のような内容のマクロフ
ァイルを作って実行したらうまくいきました。

run "cmd.exe /c echo test > con";

う〜ん、使ってるRCSは一応Win32版です。
とりあえずなんか変なことが起きているというご報告まで。

[ ]
RE:04241 秀丸4.10β15 マクロ結果のリダNo.04242
a.sue さん 04/02/22 18:04
 
追伸
今回使ったRCS for 秀丸はこれです。
http://hide.maruo.co.jp/lib/macro/rcs11.html

rlog.mac のログ表示はうまくいきます。
ci.mac のチェックインの実行結果表示がうまくいきません。
こういうやつです。
-----^
d:\test\RCS/t.txt,v  <--  d:\test\t.txt
file is unchanged; reverting to previous revision 1.1
done
-----$

書いた後で他のメッセージを読んでいてふと思い当たりましたが、
うまくいってないのは排他制御のからみかもしれません。
排他制御関係の設定は下記のようになっています。

ファイルの排他制御
 しない
秀丸で同じファイルを開く場合
 同じファイルを2つ開くことを禁止する
他のソフトでファイルが書き換えられていないか確認
 ファイルのタイムスタンプを時々チェックする

よろしくお願いします。

[ ]
RE:04242 秀丸4.10β15 マクロ結果のリダNo.04266
秀丸担当 さん 04/02/23 16:11
 

>ci.mac のチェックインの実行結果表示がうまくいきません。
>こういうやつです。

再現させることができました。
これは、V4.10β4で、run文でリダイレクトさせたときの仕様が変わり、run文で
リダイレクトした場合、実行結果のほうでマクロが引き続き実行されるようにな
ったためです。

実行結果のほうでloadfileされ、loadfileで「閉じて開く」したときに、実行結
果を閉じて(無題)となった後、開いてファイルが既にあるために元のファイル
へとアクティブが切り替わっています。

もともと、run文でリダイレクトした場合、実行結果にアクティブが移るのにマ
クロの実行が移らないという矛盾が問題であったため、このように修正されてい
ます。
マクロのほうでrun文を実行した後にsetactivehidemaruをすれば回避できると思
いますが、どうでしょうか。

[ ]
RE:04266 秀丸4.10β15 マクロ結果のリダNo.04286
a.sue さん 04/02/23 19:45
 
>再現させることができました。
お手数おかけします。

>これは、V4.10β4で、run文でリダイレクトさせたときの仕様が変わり、run文で
>リダイレクトした場合、実行結果のほうでマクロが引き続き実行されるようにな
>ったためです。
そういうことでしたか。

>マクロのほうでrun文を実行した後にsetactivehidemaruをすれば回避できると思
>いますが、どうでしょうか。
元のマクロ内でコメントにしてあった setactivehidemaru を生かして
loadfile の前に移動したら期待通りの動作になりました。
ありがとうございました。

[ ]
RE:04286 秀丸4.10β15 マクロ結果のリダNo.04298
a.sue さん 04/02/24 00:12
 
>元のマクロ内でコメントにしてあった setactivehidemaru を生かして
>loadfile の前に移動したら期待通りの動作になりました。
>ありがとうございました。
で、これだと4.06ではうまくいかない。
ということでバージョン判定を入れる必要があるようです。

[ ]