標準出力を秀丸に取り込めないNo.04899
noriaki さん 00/02/10 23:51
 
皆さんこんばんは(^^)。久しぶりにやってきました。

秀丸エディタ3.03をさっそく使ってみたところ,マクロのrunでの
標準出力の取り込みが正常に機能していないようです。標準出力の
最後が改行になっていないと,runの処理が終了しないようです。
[その他][プログラム実行]でも,conに標準出力をリダイレクトす
ると同様の結果になります。

また,ヘルプの「リダイレクトの応用」に,

  filename を「con」にすると、範囲選択されている場合は、
  範囲選択の内容と出力結果を置換するようになります。
  「>filename 」や「>con」を指定しないでおくと新規の秀丸
  に出力されます。

とありますが,「>con」を指定しないでおいても,新規の秀丸には
出力されないようです。


以下は実験結果です。

次のようなマクロを書きました。

// ------------------------------------------------------
// runで標準出力を秀丸に取り込む
$cmd = input("コマンドを入力してください");
if ( result == 0 ) {
    endmacro;
}

if ( selecting == 1 ) {
    run $cmd + " <con >con";
}
else {
    run $cmd + " >con";
}
endmacro;
// ------------------------------------------------------

そして,次のようなPerlのスクリプトを書きました。

print "line1\n";    # 1行目
print "line2";      # 2行目

1行目を選択して上のマクロでPerlを起動すると,マクロの実行は
終了し,1行目は「line1」で置き換わります。しかし,1行目と2行目
を選択して同様にPerlを起動すると,「line1」が秀丸に書き出さ
れた状態で止まり,マクロが終了しません。

2行目を,

print "line2\n";# 2行目

というように改行するようにすると,

line1
line2

と秀丸に書き出され,正常にマクロが終了しているようです。

同様に何行書き出しても,出力の最後が改行でない場合は同じよう
に正しく動作していないように見えます。

C言語でWin32コンソールモードで動作する同様のプログラムを書い
ても,同じ結果でした。

秀丸エディタ3.03,3.04の両方で再現します。OSはWindows98でした。

[ ]
RE:04899 標準出力を秀丸に取り込めないNo.04924
秀丸担当 さん 00/02/14 17:25
 
>秀丸エディタ3.03をさっそく使ってみたところ,マクロのrunでの
>標準出力の取り込みが正常に機能していないようです。標準出力の
>最後が改行になっていないと,runの処理が終了しないようです。
>[その他][プログラム実行]でも,conに標準出力をリダイレクトす
>ると同様の結果になります。

すみません。この件は3.05で修正します。

>また,ヘルプの「リダイレクトの応用」に,
>
>> filename を「con」にすると、範囲選択されている場合は、
>> 範囲選択の内容と出力結果を置換するようになります。
>> 「>filename 」や「>con」を指定しないでおくと新規の秀丸
>> に出力されます。
>
>とありますが,「>con」を指定しないでおいても,新規の秀丸には
>出力されないようです。

これはどうもWindows95,98のシリーズではEXEファイルのタイプ
を調べるAPIがうまく動かないようなので>conとしなければ
ならないようです。NTではできす。

[ ]
RE:04924 標準出力を秀丸に取り込めないNo.04938
noriaki さん 00/02/14 23:12
 
>>[その他][プログラム実行]でも,conに標準出力をリダイレクトす
>>ると同様の結果になります。
>
>すみません。この件は3.05で修正します。

よろしくお願いします。

>>とありますが,「>con」を指定しないでおいても,新規の秀丸には
>>出力されないようです。
>
>これはどうもWindows95,98のシリーズではEXEファイルのタイプ
>を調べるAPIがうまく動かないようなので>conとしなければ
>ならないようです。NTではできす。

そうなんですか。となると,自分でEXEファイルを調べないといかんので,
めんどくさそうですね。

[ ]
RE:04924 標準出力を秀丸に取り込めないNo.04988
noriaki さん 00/02/17 22:24
 
>>最後が改行になっていないと,runの処理が終了しないようです。
>>[その他][プログラム実行]でも,conに標準出力をリダイレクトす
>>ると同様の結果になります。
>
>すみません。この件は3.05で修正します。

3.05で直っているのを確認しました。ありがとうございました。

[ ]