git gui を起動すると実行が終わらないNo.31617
あかもず さん 12/10/17 15:40
 
秀丸担当様:

不具合というほどではないのですが、バージョン管理システム git の gui モードを、
秀丸の その他 / プログラム実行から「git gui」と入れて実行すると、gitを終了し
ても、標準出力を受けている秀丸が「実行中」のままになります。マクロのrunも同
様です。

ほかのコマンド・・・cvsやsvn・・・ではこういうことはないので、gitの方も何か
やっているんだと思いますが、一応報告しておきます。秀丸はv8.10、gitはWin32ネ
イティブ(Cygwinではないという意味)の1.7.11.msysgit.1、git-gui v0.16.GITGUI、
OSはWin7 32bitです。

とりあえず、「実行中」ウィンドウをマウスで左クリックすれば実行中断できるので、
そのあとウィンドウを閉じています。

以上、よろしくお願い申し上げます。

[ ]
RE:31617 git gui を起動すると実行が終わNo.31621
秀丸担当 さん 12/10/17 17:31
 

>不具合というほどではないのですが、バージョン管理システム git の gui モードを、
>秀丸の その他 / プログラム実行から「git gui」と入れて実行すると、gitを終了し
>ても、標準出力を受けている秀丸が「実行中」のままになります。マクロのrunも同
>様です。

報告ありがとうございます。
プログラム実行とrun文は、コンソールアプリとGUIアプリを自動的に判断するよ
うに初期のころ作られていて、それを判断する方法は実際には無いのでEXEファ
イルにアイコンが存在するかどうかによって判断してしまっているところがあり
ます。
その後その判断はあいまいであまりよくないということで、互換性のためこの仕
様は残ってしまっていますが、プログラム実行の「オプション>>」と、runex文
が追加されました。
「オプション>>」で詳細設定をONにして、標準出力をOFFに明示指定すると実行
できると思います。

[ ]
RE:31621 git gui を起動すると実行が終わNo.31624
あかもず さん 12/10/18 01:57
 
秀丸担当様:

お世話になります。早速の回答ありがとうございます。

>プログラム実行とrun文は、コンソールアプリとGUIアプリを自動的に判断するよ
>うに初期のころ作られていて、それを判断する方法は実際には無いのでEXEファ
>イルにアイコンが存在するかどうかによって判断してしまっているところがあり
>ます。

ちょっと調べてみると、svn(sliksvn)はアイコンあり、
cvs(Cygwin付属)とgitはアイコンなしでした。
確かにcvsとsvnで挙動が違いますね。
cvsは何もつけなくても秀丸に出力を吐き出すのに対し、
svn(アイコンあり)は > con をつけないとコンソールウィンドウを
作ってそっちに出力を吐き出して、終了するとさっくり消えますね。

実は私の秀丸は[Alt]+[Enter]で現在行の内容をrunコマンドに
「> con」付きで渡すようになっていて、これで実行している分には
svnもcvsも動きは同じだった・・・という、
やっぱり「忘れてました」というパターンでした(申し訳ない)。

gutはコマンドラインで使っている分には秀丸上で普通に動くのですが、
git gui とするとアイコンなしなのにGUIを立ち上げるからこうなるのかな。

>その後その判断はあいまいであまりよくないということで、互換性のためこの仕
>様は残ってしまっていますが、プログラム実行の「オプション>>」と、runex文
>が追加されました。
>「オプション>>」で詳細設定をONにして、標準出力をOFFに明示指定すると実行
>できると思います。

コンソールウィンドウが一瞬出ますが、確かにきちんと動くようになりました。
マクロでrunexを使ってごにょごにょすることにします。
どうもありがとうございました。

[ ]
RE:31624 git gui を起動すると実行が終わNo.31631
秀丸担当 さん 12/10/18 11:40
 

>コンソールウィンドウが一瞬出ますが、確かにきちんと動くようになりました。
>マクロでrunexを使ってごにょごにょすることにします。
>どうもありがとうございました。

ウィンドウを表示するかどうかは、>conなどで標準出力を得ている場合は自動的
に非表示になりますが、「詳細設定」をしている場合は「ウィンドウ表示」を
「なし」にすることで明示的に指定できます。

ただ本当のGUIアプリだとしたら見えないウィンドウが出て操作できないことに
なってしまうので十分な注意が必要です。

git guiの場合は、試してみたところでは、git自体はコンソールアプリ的な振る
舞いをしていて、「ウィンドウ表示」を「なし」にしても大丈夫そうです。
実際のGUIアプリは、gitを経由してwish.exeという別のプログラムが動いている
ようです。

[ ]