「開く」ダイアログでのワイルドカード関No.33241
yamashita さん 14/06/09 12:21
 
お世話になっております。

2013-08-16 23:44 に、ワイルドカードの件で質問し、
その際は Iranoan さん という方から返答をもらって納得したのですが、
疑問に思うところがあって、再度質問します。

秀丸 8.35 です。

[その他] メニュー [動作環境] [ファイル] [「開く」のダイアログボックス] を
Windows 3.1 タイプ にしています。

新しいディレクトリを作成し、そこに
hoge.bash
という名前のファイルを作成します。

(0)
以下で
[その他] メニュー [動作環境] [ファイル] [最初のワイルドカード]
の内容を変更するので、ここの設定をどこかに確保しておきます。

(1)
[その他] メニュー [動作環境] [ファイル] [最初のワイルドカード] を
*.bash
だけにします。

hoge.bash を開き、[ファイル] メニュー [開く] を実行します。

ダイアログの「最初のワイルドカード」は、*.bash で、
ダイアログの候補のファイル名には
hoge.bash
が表示されています。(ここまでは期待通りの動作)

(2)
次に、[その他] メニュー [動作環境] [ファイル] [最初のワイルドカード] を
*.bas
だけにします。

再度 hoge.bash を開き、[ファイル] メニュー [開く] を実行します。

すると、ダイアログの「最初のワイルドカード」は、
*.bas;*.bash
になっていて(= *.bash が追加されていて)、ダイアログの候補のファイル名は
hoge.bash
hoge.bash
と hoge.bash が2度表示されています。(期待に反する動作)


どうやら(2)では、
「最初のワイルドカード」に入っていない拡張子 bash のファイルを
開いている秀丸でダイアログが実行されたので、
「最初のワイルドカード」に *.bash が自動追加されたのではないでしょうか。

そして、windows 3.1 ダイアログの仕様により、*.bas と *.bash の
両方が hoge.bash にマッチしているのだと思います。

この *.bash の自動追加は、windows 側の仕様でしょうか、それとも秀丸の
仕様でしょうか。

[ ]
RE:33241 「開く」ダイアログでのワイルドNo.33242
秀丸担当 さん 14/06/09 13:49
 

ワイルドカードに、現在開いているファイルの拡張子を自動的に追加するのは、
秀丸エディタが独自に行っています。

重複するファイル名を除去するように修正してもいいといえばいいのですが、い
まさらながらで、Windows3.1タイプをいつまでサポートするのかという感じもし
ます。
とはいえ、もともとWindows3.1タイプの仕様に加えて独自に日付順にソートする
処理もあり、それほど難しいことでもないので今後のバージョンで検討します。


参考までの情報として、コマンドプロンプトで8.3ファイル名を作らないように
して、そもそもそういう問題が起きないようにすることもできるようです。
管理者でコマンドプロンプトを起動して、「fsutil 8dot3name set 1」としたら、
新しく作成したディレクトリにファイルを作ると、そのディレクトリでは大丈夫
でした。
参考ページ:
http://www.atmarkit.co.jp/fwin2k/win2ktips/1200disable83/disable83.html

[ ]
RE:33242 「開く」ダイアログでのワイルドNo.33243
yamashita さん 14/06/09 14:52
 
なるほど。
> ワイルドカードに、現在開いているファイルの拡張子を自動的に追加する
これは、いい仕様だと思います。


> fsutil 8dot3name set 1
関連の情報、ありがとうございました。
これはもしかすると別件で疑問に思っている windows の「妙な」動作
に関連している可能性があり、大変ありがたいです。
(特定の状況で、ファイル検索が思うようにできないと言っている
ユーザが遠隔地にいるのですが、どうも状況がよくわからなくて
困っていました。)

もしかすると私の手元はこれで解決するかも知れませんが、
慎重にやりたいのでしばらく(数日程度)お時間をいただきたいです。


また、私の疑問点への秀丸側での対応もご検討いただけるとのことで、
古い仕様への対応でお手数を増やすことになり恐縮です。


ちなみにいまだに windows 3.1 タイプのダイアログを使っているのは、
以下の理由によります。

「開く」のダイアログが開いた時は、windows 3.1 タイプに限らずどの
ダイアログでも、フォーカスはワイルドカードなどが書かれている
テキストボックスにあります。
windows 3.1 タイプのダイアログでは、そこから tab を1回押せば
ファイル名候補のリストボックスにフォーカスが移りますので、
たとえば m で始まるファイルを探すには、
[ダイアログを開く] tab m m ...
と打っていけば見つかります。
私の認識では、他のダイアログだと tab ではなく shift + tab などを
要します。右手をちょっと勤勉に働かせれば済む話なのですが、
なぜこの場面で shift キーを押さなければいけないのかがさっぱり
理解できず、結構つらいものがあります。

んーともしかして、この辺の仕様についての理解が間違ってますでしょうか。

[ ]
RE:33243 「開く」ダイアログでのワイルドNo.33244
秀丸担当 さん 14/06/09 15:47
 

Windows95タイプ以降の開くダイアログでは、Shift+Tabを押さなくてはいけない
のはその通りで、Windows95が出た当初は私も苦痛でした。

Shift+Tabは次第に慣れましたが、Windows Vistaになってから、Shift+Tabを2
回押さなくてはいけなくなったのが、個人的にはどうしても耐えられませんでし
た。

ちなみにまた参考情報として、秀丸ファイラーClassicを使うとVista以降でも
Shift+Tab一回で操作できます。
あと秀丸ファイラーClassicの開くダイアログ上の「...」ボタンより、最初から
ファイル一覧にフォーカスが行く設定もあります。

[ ]
RE:33244 「開く」ダイアログでのワイルドNo.33249
yamashita さん 14/06/10 15:43
 

> Windows95が出た当初は私も苦痛
ですよね。
なんか自分固有の問題かと思って、こっそり win 3.1 タイプを
使っていたのですが、世界中の人が shift + tab 押してるわけですかw
わけわからんですな。

私としては秀丸が windows 3.1 タイプをフォローして
いただける限りはこれで行きたいです。

ところで、秀丸ファイラーに言及されていたので、改めて
秀丸ファイラーを見てみたのですが、
これ、いいじゃないですか。
今まで知りませんでしたが、たぶん、欲しかった奴ですわw
もうちょい、いろいろ動かしてみます。

[ ]