起動状態におけるコマンドラインで指定さNo.11652
かこん さん 06/12/07 21:47
 
秀丸が起動している状態と起動していない状態において、コマンドラインにファイル
名を指定して秀丸を実行する場合に動作に違いが見受けられます。

1) ファイル名を指定せずに実行。
2) 存在しないファイル名を指定して実行。
3) 存在しているファイル名を指定して実行。

A) 秀丸が起動している状態

1) (無題)のタブが追加されます。
2) そのファイル名で新規ファイルとしてタブが追加されます。
3) そのファイルがタブに追加されます。

B) 秀丸が起動していない状態

1) 新規タブは追加されず単にデスクトップ復元が行なわれます。
2) 1)と同じです。
3) そのファイルがタブに追加されますが、デスクトップ復元は行なわれません。

A-2、A-3、B-1は納得できる動作ですが、特にB-2とB-3はどうもおかしいです。ちな
みにB-3は"デスクトップ復元と起動時ファイル指定"のスレッドにて報告済みです。

私は個人的には、次のような動作を期待してしまうのですが。

A-1) 秀丸にフォーカスがある状態でフォアグラウンドになる。
B-2) A-2と同じ。
B-3) A-3と同じ。

私のように大きなプロジェクトでディレクトリを移動しながら既存ファイルを追加で
開いたり、新規に作成したりする場合に、この動作の違いには困惑させられてしまい
ます。起動状態に関わらず動作には一貫性があるべきだと思うのですが、いかがでし
ょうか?

[ ]
RE:11652 起動状態におけるコマンドラインNo.11655
秀丸担当 さん 06/12/08 09:44
 

>A) 秀丸が起動している状態
>
>1) (無題)のタブが追加されます。
>2) そのファイル名で新規ファイルとしてタブが追加されます。
>3) そのファイルがタブに追加されます。
>
>B) 秀丸が起動していない状態
>
>1) 新規タブは追加されず単にデスクトップ復元が行なわれます。
>2) 1)と同じです。
>3) そのファイルがタブに追加されますが、デスクトップ復元は行なわれません。

他のスレッドでも書いていますが、B-2は問題でした。これはA-2と同様になるよ
うに修正したいと思います。
B-3は、とりあえず仕様ということになります。要望として考えます。
A-1は、これで正しい動作です。

[ ]
RE:11655 起動状態におけるコマンドラインNo.11660
かこん さん 06/12/08 14:47
 
>他のスレッドでも書いていますが、B-2は問題でした。これはA-2と同様になるよ
>うに修正したいと思います。

つまり、B-2はデスクトップ復元後に新規ファイルとしてタブが追加されるという動
作になるのでしょうか?

>B-3は、とりあえず仕様ということになります。要望として考えます。

別スレッド同様、既存ファイル名指定と開くダイアログの両方の場合にデスクトップ
復元を行なう動作を要望としてお願いします。

>A-1は、これで正しい動作です。

これに関してはあまり異論はありませんが、単一インスタンス(プロセス)Windowsア
プリの動作としては、インスタンスが既に起動中のときに、別のインスタンスがファ
イルを指定せずに起動された場合は、既存のインスタンスをフォアグラウンドに持っ
てきてフォーカスを当てるだけというのが一般的だと思います。

秀丸の動作を見ていて感じたことは、恐らくですが、以前にV5.00βの時に指摘した
とおり、複数プロセスと単一ウィンドウという一般的でない仕様が設計上の複雑さと、
動作の不一致性の原因になっているのではと思います。

私個人もWindows系システムソフトの開発に従事していますが、単一プロセスでも複
数スレッドで一つのUIを共有するとWindowsの仕様上、いろいろと難しい問題に直面
します。秀丸はさらにそれを複数プロセスでUI共有をしているようですからウィンド
ウメッセージング等、同期上かなり難しい問題に直面しているのではと思います。

現状の仕様だと簡単にはいかないでしょうが、以前にも指摘したとおり単一プロセス
での設計に移行されたほうが今後の機能拡張などにおける技術的問題を含め、Window
sとの親和性もさらに向上し、不必要な問題を予め回避できるのでは思います。

[ ]
RE:11660 起動状態におけるコマンドラインNo.11664
秀丸担当 さん 06/12/08 15:58
 

>つまり、B-2はデスクトップ復元後に新規ファイルとしてタブが追加されるという動
>作になるのでしょうか?

そんなことはないですよ…

>現状の仕様だと簡単にはいかないでしょうが、以前にも指摘したとおり単一プロセス
>での設計に移行されたほうが今後の機能拡張などにおける技術的問題を含め、Window
>sとの親和性もさらに向上し、不必要な問題を予め回避できるのでは思います。

そういったことは重々承知していますが、いまのところこれが秀丸エディタの動
作です。
基本的にはSDIで、タブモードを採用してもほとんどの互換性を維持しています。
hidemaru.exeを起動したときの挙動はSDIでもタブモードであっても一貫した動
作です。
単一プロセスのマルチスレッド化と、完全な共通ウィンドウ化は両面から考えて
いて一部手元のバージョンでも動いたりしますが、V6.50ではやりません。

[ ]
RE:11664 起動状態におけるコマンドラインNo.11668
かこん さん 06/12/08 16:43
 
>>つまり、B-2はデスクトップ復元後に新規ファイルとしてタブが追加されるという動
>>作になるのでしょうか?
>
>そんなことはないですよ…

揚げ足取るようですみません。
ただ、A-2と同様になるように修正したいとおっしゃっていましたので、つまり新規
ファイルとしてタブが*追加*されるというA-2の動作からすると、B-2もデスクトップ
復元後にタブを追加でないとB-2はA-2とは同様にならないと思いまして確認させてい
ただきました。つまり、担当さんがおっしゃりたかったのはB-2をB-3と同様になるよ
うにということですか?

>基本的にはSDIで、タブモードを採用してもほとんどの互換性を維持しています。
>hidemaru.exeを起動したときの挙動はSDIでもタブモードであっても一貫した動
>作です。

そうですね。確かにこの機能の互換性を持たせたままだとすると現状の設計には納得
するところがありますね。逆に言うと、私が以前まで秀丸を使わなかったのはまさに
このSDIの設計が好きではなかったからでした。私の報告内容が他の人に対して偏っ
ているのはそこに要因があると思います。

>単一プロセスのマルチスレッド化と、完全な共通ウィンドウ化は両面から考えて
>いて一部手元のバージョンでも動いたりしますが、V6.50ではやりません。

それはとてもよいことを聞きました。
次期バージョン、大変期待しています。

[ ]
RE:11668 起動状態におけるコマンドラインNo.11672
秀丸担当 さん 06/12/08 18:30
 

>揚げ足取るようですみません。
>ただ、A-2と同様になるように修正したいとおっしゃっていましたので、つまり新規
>ファイルとしてタブが*追加*されるというA-2の動作からすると、B-2もデスクトップ
>復元後にタブを追加でないとB-2はA-2とは同様にならないと思いまして確認させてい
>ただきました。つまり、担当さんがおっしゃりたかったのはB-2をB-3と同様になるよ
>うにということですか?

そういうことで、お願いします。
このへんで勘弁してください。

[ ]