[不具合] openfile /cでファイルタイプ別No.14328
手風琴 さん 03/03/22 02:50
 
秀丸担当さま、こんばんは。
手風琴です。

私は新規の秀丸を開くときに下のようなマクロで
ファイルタイプ別の設定を切り替えています。

menu".txt(&T)",
".c .cpp(&C)",
 ".h(&H)",
 ".mac(&M)",
 ".ini(&I)",
 ".asm(&A)",
 ".html(&X)";

if ( result == 1) {
openfile "/c.txt";
}
if ( result == 2 ) {
openfile "/c.cpp";
}
else if ( result == 3 ) {
openfile "/c.h";
}
else if ( result == 4 ) {
openfile "/c.mac";
}
else if ( result == 5 ) {
openfile "/c.ini";
}
else if ( result == 6 ) {
openfile "/c.asm";
}
else if ( result == 7 ) {
openfile "/c.html";
}

多分Ver3.19からだと思うのですが、このマクロを呼び出した後で
「ファイル」−「開く」でファイルを開くと別の拡張子の設定でファイルが
開かれるようになってしまいました。例えば.macファイルを開いたのに
.cの設定になってしまう、といった具合です。
エクスプローラーからダブルクリックで開いた場合は正常に動作するみたいです。

秀丸 Ver3.19
Windows2000 SP3
IE 5.5 SP2


[ ]
RE:14328 [不具合] openfile /cでファイルNo.14348
安久津 さん 03/03/24 13:38
 
あくつです。

タイトルが
(無題) - 秀丸
になっていると大丈夫ですが、
(無題)(更新) - 秀丸
だとダメですね。このことでしょうか。
clearupdates も title "(無題) - 秀丸"; も効きません。
以下でごまかすとか。

//if( filetype != "new" ) endmacro;
//if( basename != "" ) endmacro;
menu".txt(&T)",
".c .cpp(&C)",
 ".h(&H)",
 ".mac(&M)",
 ".ini(&I)",
 ".asm(&A)",
 ".html(&X)";

if( result==0 ) endmacro;
##old = hidemaruhandle(0);
if ( result == 1) {
    openfile "/c.txt";
}
else if ( result == 2 ) {
    openfile "/c.cpp";
}
else if ( result == 3 ) {
    openfile "/c.h";
}
else if ( result == 4 ) {
    openfile "/c.mac";
}
else if ( result == 5 ) {
    openfile "/c.ini";
}
else if ( result == 6 ) {
    openfile "/c.asm";
}
else if ( result == 7 ) {
    openfile "/c.html";
}
##new = hidemaruhandle(0);
if( ##new == ##old ) endmacro;
setactivehidemaru ##old;
disabledraw;
##cx = x; ##cy = y;
selectall; cut;
setactivehidemaru ##new;
closehidemaruforced ##old;
disabledraw;
paste;
moveto ##cx, ##cy;
endmacro;

[ ]
RE:14348 [不具合] openfile /cでファイルNo.14349
手風琴 さん 03/03/24 15:50
 
手風琴です。
コメントありがとうございます。

>あくつです。
>
>タイトルが
>(無題) - 秀丸
>になっていると大丈夫ですが、
>(無題)(更新) - 秀丸
>だとダメですね。このことでしょうか。
(略)

すいません、おっしゃってることがいまいちわからないんですが、
私がやりたいことはファイルタイプを指定して新規の秀丸を
開くことでして、編集中のファイルのファイルタイプ別設定を
切り替えることではないです。
(提示していただいたマクロを見るとそういう風に解釈しておられる
ように感じました)

私の書いたマクロ自体は意図したとおりに動いていまして、
マクロ自体は問題にしていません。
問題はくだんのマクロを実行した後に「ファイル−開く」から
ファイルを開くと、開いたファイルのファイルタイプ別設定が
別の拡張子のものになってしまう(例えば.cなのに.macの設定に
なっていたりする)事がある、ということです。

紛らわしい書き方ですいません。


以下、秀丸担当様へ

肝心なことを書き忘れていましたが、
マクロの実行後、確実に現象が発生するわけではないです。
なにか他にも条件があるような気もするのですが確実な再現方法は
分かっていません。しかしごくまれにしか発生しないってわけでもないです。
一日作業していたら必ず発生します。また一度発生すると常駐秀丸も含め
すべての秀丸を終了させないとほぼ確実に発生するようになります。
(逆にいうと秀丸をすべて終了させると起こらなくなる。)

現象が発生した時にファイルタイプ別設定のダイアログを開くと
一番上にある設定リストの名称は正しい名称が表示されています。
(ファイル名がhoge.cならちゃんとC言語ソースファイルと表示される)
しかし強調表示その他の設定項目はすべて別のファイルタイプの設定に
すげかわってしまっています。
感じとしては秀丸内部で持っている設定の名称と実際の設定データとを
結びつけるポインタがずれてしまっているような感じです。

それから「ファイル−開く」だけじゃなくて常駐秀丸の履歴から
開いた場合でも現象が発生します。


[ ]
RE:14349 [不具合] openfile /cでファイルNo.14350
舩橋幸雄 さん 03/03/24 17:12
 
舩橋です。

>ファイルを開くと、開いたファイルのファイルタイプ別設定が
>別の拡張子のものになってしまう(例えば.cなのに.macの設定に
>なっていたりする)事がある、ということです。

素朴な疑問ですが、.macの形式で作成したファイルを.cで保存した
りしていませんよね?

[ ]
RE:14350 [不具合] openfile /cでファイルNo.14351
手風琴 さん 03/03/24 17:39
 
手風琴です。

>舩橋です。
>
>>ファイルを開くと、開いたファイルのファイルタイプ別設定が
>>別の拡張子のものになってしまう(例えば.cなのに.macの設定に
>>なっていたりする)事がある、ということです。
>
>素朴な疑問ですが、.macの形式で作成したファイルを.cで保存した
>りしていませんよね?

してないです。
仮にしてたとしてもそれでファイルタイプ別の設定が
変になるのはおかしいと思います。

[ ]
RE:14349 [不具合] openfile /cでファイルNo.14352
安久津 さん 03/03/24 17:49
 
あくつです。

>私がやりたいことはファイルタイプを指定して新規の秀丸を
>開くことでして、編集中のファイルのファイルタイプ別設定を
>切り替えることではないです。
>(提示していただいたマクロを見るとそういう風に解釈しておられる
>ように感じました)
なるほど。

(1) 任意のファイルタイプ別の設定で[新規ファイル]を開く。
(2)[既に開かれた新規ファイル]を任意のファイルタイプ別の設定に変える。

後者(2)と勘違いしました。(^^ )>>

>紛らわしい書き方ですいません。
いえ、こちらこそ。(^^;)

では。

[ ]
RE:14351 [不具合] openfile /cでファイルNo.14353
ひろ さん 03/03/24 18:37
 
 手風琴さん今日は、ひろです。
> >素朴な疑問ですが、.macの形式で作成したファイルを.cで保存した
> >りしていませんよね?
>
> してないです。
 手風琴さんの仰ることが再現しないですが、起きるとしたらやはりおかしな
動作だと思います。しかし
> 仮にしてたとしてもそれでファイルタイプ別の設定が
> 変になるのはおかしいと思います。
が、/c オプション付きで起動したウィンドウであってもおかしくないです。
つまり仮に現在の「ファイルタイプ別の設定」が、(ファイル名が付いている/
いないに関わらず、) *.mac の設定になっていても、sample.c と名前をつけ
たら *.c の設定になるのは素直な動作です。何故なら、新規作成では通常
「共通」の設定になりますが、この様な動作でないと、ファイル保存をしても
「共通」のままになってしない、とても不便です。因みに保存をしなくても、
ファイル名の変更で「ファイルタイプ」が変われば同じです。

[ ]
RE:14353 [不具合] openfile /cでファイルNo.14356
秀丸担当 さん 03/03/24 19:03
 
>が、/c オプション付きで起動したウィンドウであってもおかしくないです。
>つまり仮に現在の「ファイルタイプ別の設定」が、(ファイル名が付いている/
>いないに関わらず、) *.mac の設定になっていても、sample.c と名前をつけ
>たら *.c の設定になるのは素直な動作です。何故なら、新規作成では通常
>「共通」の設定になりますが、この様な動作でないと、ファイル保存をしても
>「共通」のままになってしない、とても不便です。因みに保存をしなくても、
>ファイル名の変更で「ファイルタイプ」が変われば同じです。

やってみたところ、再現することができました。
ファイルタイプ別の設定ダイアログの上部の「...の設定」の表示と、
実際の内容が食い違ってしまっています。
バグのようですので修正させていただきます。

[ ]
RE:14356 [不具合] openfile /cでファイルNo.14359
手風琴 さん 03/03/24 19:40
 
>やってみたところ、再現することができました。
>ファイルタイプ別の設定ダイアログの上部の「...の設定」の表示と、
>実際の内容が食い違ってしまっています。
>バグのようですので修正させていただきます。

おお、再現しましたか。
再現しないと言われたらどうしようかと思ってました。
修正よろしくお願いします。

コメントをくださった安久津さん、舩橋さん、ひろさん、
どうもありがとうございました。

[ ]
RE:14353 [不具合] openfile /cでファイルNo.14360
手風琴 さん 03/03/24 19:55
 
ひろさんこんにちは。
手風琴です。

>> 仮にしてたとしてもそれでファイルタイプ別の設定が
>> 変になるのはおかしいと思います。
>が、/c オプション付きで起動したウィンドウであってもおかしくないです。
>つまり仮に現在の「ファイルタイプ別の設定」が、(ファイル名が付いている/
>いないに関わらず、) *.mac の設定になっていても、sample.c と名前をつけ
>たら *.c の設定になるのは素直な動作です。

この動作については了解しています。
ここでいうおかしいというのは上の私の投稿で説明した
現象が起こるのはおかしいでしょう?って意味での発言でした。
紛らわしくってすいません。

[ ]