save でアンドゥーが出来なくなる。No.02386
Iranoan さん 09/04/02 01:28
 
 秀丸担当さん今日は、Iranoan です。
 既に Shift_JIS など Unicode 以外で保存されているファイルで、末尾のマ
クロを実行すると、アンドゥが出来なくなります。「?」が出来なくなるのは
仕方が無いと思いますが、これは仕様でしょうか?
 今ある関数などで、保存する前に、「開いているコードの範囲外の文字が存
在するか?」を調べるのは、現実的ではありませんし...。
 こちらの環境は、WindowsXP+IE7.0+秀丸 Ver.7.11b02 です。
//------------------------------------------------------------
insert "\u9DD7";
save;
undo;
message str( result );

[ ]
RE:02386 save でアンドゥーが出来なくなNo.02387
秀丸担当 さん 09/04/02 14:08
 

> 既に Shift_JIS など Unicode 以外で保存されているファイルで、末尾のマ
>クロを実行すると、アンドゥが出来なくなります。「?」が出来なくなるのは
>仕方が無いと思いますが、これは仕様でしょうか?

保存することによってフォントの文字セットが変わる場合はできないです。
これは仕様とさせていただきたいと思います。

[ ]
RE:02387 save でアンドゥーが出来なくなNo.02388
Iranoan さん 09/04/02 21:24
 
 秀丸担当さん今日は、Iranoan です。
> 保存することによってフォントの文字セットが変わる場合はできないです。
> これは仕様とさせていただきたいと思います。
 動作理由は解りました。

 ただ、それでは発想を転換して、保存する時ではなく、
(1) 現在開いている文字コードで対応していない文字を
    o 書き込んだ
    o 貼り付けた
(2) そのような文字が存在する状況でマクロが実行された
時点にも警告を出せないでしょうが?

 今回は、
・言葉で説明するより、マクロなら曖昧さが無い
・フォーラムの仕組み上、そのままでは表示できない文字がある
の理由で、一通りの作業全体を最小単位として全てマクロにしました。しかし、
実際には、既に書き込みは手作業で行ってありました。そして、上書き保存し
た時点で気が付きました。

 現在の仕様ですと、警告も無く文字が置き換わり、アンドゥも出来なくなる
点は困ります。
 入力を常に監視するのは、処理が重たくなる気もしますが...。

[ ]
RE:02388 save でアンドゥーが出来なくなNo.02391
秀丸担当 さん 09/04/03 09:34
 

> 現在の仕様ですと、警告も無く文字が置き換わり、アンドゥも出来なくなる
>点は困ります。

通常であれば、保存時に警告が出ると思います。
[動作環境]→[ファイル]→[エンコード2]の、
「保存するときのエンコードの種類関連」の中の、
「変換できない文字があったとき警告メッセージを表示」をOFFにされていたと
したら、警告は出ないです。

>(2) そのような文字が存在する状況でマクロが実行された
>時点にも警告を出せないでしょうが?

どのような内容のマクロであっても、全文をチェックしてからマクロ実行という
のは現実的ではないと思います。
たとえば down; という一文だけがあるようなマクロで、それを実行するたびに
全文をチェックするのは辛いと思います。

[ ]
RE:02391 save でアンドゥーが出来なくなNo.02396
Iranoan さん 09/04/03 13:02
 
 秀丸担当さん今日は、Iranoan です。
> [動作環境]→[ファイル]→[エンコード2]の、
> 「保存するときのエンコードの種類関連」の中の、
> 「変換できない文字があったとき警告メッセージを表示」をOFFにされていたと
 確認しましたが、ON のままです。
 また普通に保存する時は警告が出ます。

> どのような内容のマクロであっても、全文をチェックしてからマクロ実行という
> のは現実的ではないと思います。
 そうですか。
 メニューやショート・カット・キーからマクロを実行するコマンドが呼び出
された時 (execmacro 文は除く)、その内容に関わらず、
(1) 保存できない文字があるかチェック
(2) 実際にマクロを実行するか警告表示
    o はい→構わずマクロ実行
    o いいえ→マクロの実行キャンセル
という流れなら、普通に保存する時はすぐに警告が出ますし、(1) はそれと同
じ処理なので時間もかからないと思ったのですが....。

[ ]
RE:02396 save でアンドゥーが出来なくなNo.02397
秀丸担当 さん 09/04/03 14:09
 

> 確認しましたが、ON のままです。
> また普通に保存する時は警告が出ます。

もともとマクロではなく手動で保存されていたということで、そして警告が出る
ということなので、それでいいのではないでしょうか。

マクロでも警告は出ると思います。
出ないとしたら、disableerrormsg;をしているのかもしれないです。

[ ]
RE:02397 save でアンドゥーが出来なくなNo.02400
Iranoan さん 09/04/03 15:31
 
 秀丸担当さん今日は、Iranoan です。
> マクロでも警告は出ると思います。
> 出ないとしたら、disableerrormsg;をしているのかもしれないです。
 仰るとおり、
・マクロで書き込みをしていない
・disableerrormsg を使っていない
の条件を満たせば、メッセージが出ますね。失礼しました。

 マクロで、書き込みはしないで保存をしていたのですが、disableerrormsg
を使っていました。

[ ]