「実行中」の秀丸に対する selectall, copNo.07514
yamashita さん 15/02/24 11:02
 
秀丸エディタ&関連ソフトサポート会議室 コメント 34017 の末尾に書いた
「いろいろできるとうれしい」の関連です。

現状、コマンド実行中でタイトルバーに「実行中」と出ている秀丸では、
以下ができません。

・[編集] メニューで [すべてを選択] し、[コピー] する。

これができれば、別秀丸に paste し、現状までの表示に対していろいろ操作できます。
これを行うため、以下のようなマクロを考えました。

// setactivehidemaru でずれると面倒なので
// hidemaruhandle の一覧 #hh[] を取得しておく。
#ii = 0;
while (#ii < hidemarucount) {
    #hh[#ii] = hidemaruhandle(#ii);
    #ii = #ii + 1;
}

// #hh[] の中で、executing の秀丸があったら、selectall, copy して break
// executing 秀丸が複数ある時の事はまた今度考える。
#ii = 0;
while (#ii < hidemarucount) {
    setactivehidemaru #hh[#ii];
    if (filetype == "executing") {
        selectall;
        copy;
        break;
    }
    #ii = #ii + 1;
}
// 最初の秀丸に戻しておく
setactivehidemaru #hh[0];

endmacro;

で、論点は以下の2点です。

(1)質問
これで大丈夫そうでしょうか。
それともなんか危ないでしょうか。

(2)たぶんバグの報告
上記マクロを実行すると、やはり executing の秀丸で表示がずれます。
おそらく、
秀丸エディタ&関連ソフトサポート会議室 コメント 34017
の論点と同じと思いますが、念のためご報告します。

[ ]
RE:07514 「実行中」の秀丸に対する selecNo.07515
秀丸担当 さん 15/02/24 13:06
 

プログラム実行で標準出力を出している最中にマクロでsetactivehidemruされる
ことは想定されていませんでした。
こういう状態になるとスクロールと同じ問題が起きてしまいました。
grepについては、以前に似たご指摘をいただいてgrep中はマクロ動作させず、完
了したら続行するというようにしていました。
少なくとも、プログラム実行のときでもgrepのように完了後に続行させるような
対策をしたいと思います。

それとは別に、実行中の内容を知りたいということはご要望として、ご意見参考
にさせていただこうと思います。
もしやるとしたら、カーソル位置に挿入するときはどうしてもできないので、フ
ァイルの末尾に挿入する動作のときだけ特別な動作にするということが考えられ
ると思います。

現状でやるとしたら、秀丸エディタに対して出力ではなく、ファイルに出力する
ようにして、ファイルを秀丸エディタで直接開くと、途中経過を見ることができ
ると思います。

[ ]
RE:07515 コメントNo.07516
yamashita さん 15/02/24 22:08
 
やっぱり想定外マクロだったですか。

では、マクロっぽい方向は諦めるとして、少し考えたのですが、
たぶん私のやりたいこと
「秀丸で計算経過を眺めていて、気がついたことがあった時だけ、ちょこちょこやる」
の解決のためには、

コマンドの出力を tee コマンド(linux 系のコマンドです)で秀丸とファイルに分け、
実行する。この際、出力先ファイルも自動的に管理する。

みたいな感じでやるのが良さそうな気がしてきました。
したがって、現時点では、この件に関して特にお願いしたいことは無くなりました。
あのマクロの方向も不要ですので、コメント 07514 一番下のバグ報告の件だけ、
お願いします。

お騒がせしました。

また気が変わったらお願いに出てきます。

[ ]