ユニコード文字のあるファイルでGREP(現No.23673
白雲斎 さん 07/09/25 07:59
 
こんにちは、白雲斎です。
Windows XP, 秀丸エディタ 7.01

未保存のファイル、もしくはユニコードでないエンコードの更新中ファイルにユ
ニコード文字がある状態でGREP(現在の内容)を実行すると、

『文字コード変換できない文字がふくまれていたので、?マークや同義の文字に
変換して保存しました。読み込みし直しますか?』

と問い合わせてきます。

「いいえ」を選択すると、
    検索文もユニコードの場合には、何もヒットしません。
    (当然と言えば当然ですが…)
「はい」を選択すると、
    未保存のファイルでは実行面のファイル内容がすべて破棄され、更新中のフ
    ァイルでは編集箇所が破棄されてしまい、やり直しも出来ない状態になりま
    す。(これもある意味当然か!?)

これは問題ではありませんか?
と言うか、GREP実行で読み込みし直しの問い合わせをされることが問題!?


-- 再現マクロ --------------------------
newfile;
#c = 0x4e24;
insertfix unichar(#c) + "\n";
searchdown2 unichar(#c);
message str(result);
localgrep unichar(#c);
----------------------------------------

[ ]
RE:23673 ユニコード文字のあるファイルでNo.23679
秀丸担当 さん 07/09/25 15:01
 

>これは問題ではありませんか?
>と言うか、GREP実行で読み込みし直しの問い合わせをされることが問題!?

これは問題でした。ご指摘ありがとうございます。
読み込みし直しの問い合わせが出ること自体が問題です。
とりあえずこの問い合わせは出ないように修正しようと思います。

さらに、エンコードがUnicodeない状態で、Unicode文字をgrepすることにも対応
が必要ですが、V7.xx正式で動きを変えるのは危険なので、現時点ではできない
ということにさせていただこかと思います。
エンコードをUnicodeにするとできます。

[ ]
RE:23679 ユニコード文字のあるファイルでNo.23682
白雲斎 さん 07/09/25 17:23
 
こんにちは“秀丸担当”さん、白雲斎です。

>これは問題でした。ご指摘ありがとうございます。
>読み込みし直しの問い合わせが出ること自体が問題です。
>とりあえずこの問い合わせは出ないように修正しようと思います。
>
>さらに、エンコードがUnicodeない状態で、Unicode文字をgrepすることにも対応
>が必要ですが、V7.xx正式で動きを変えるのは危険なので、現時点ではできない
>ということにさせていただこかと思います。

これは、当分の間(次のVer8まで)
・未保存のファイル
・エンコードがユニコードでないファイルにユニコード文字がある更新中ファイ
  ル
では、GREP(現在の内容)が失敗する場合もあるが、その正否を知る手段がない
となるのでしょうか?

>エンコードをUnicodeにするとできます。

これは保存しないとダメですよね。
一時ファイルの生成方法を調整することで、何とかならないでしょうか?
(と無責任に言ってみる。例の高速化問題も関係あるのかな〜)

[ ]
RE:23682 ユニコード文字のあるファイルでNo.23683
秀丸担当 さん 07/09/25 17:33
 

>これは、当分の間(次のVer8まで)
>・未保存のファイル
>・エンコードがユニコードでないファイルにユニコード文字がある更新中ファイ
>  ル
>では、GREP(現在の内容)が失敗する場合もあるが、その正否を知る手段がない
>となるのでしょうか?

いまのところそういうことになってしまいます。申し訳ありません。

>これは保存しないとダメですよね。
>一時ファイルの生成方法を調整することで、何とかならないでしょうか?
>(と無責任に言ってみる。例の高速化問題も関係あるのかな〜)

newfile;
setencode 2;

とすればできると思います。

[ ]
RE:23683 ユニコード文字のあるファイルでNo.23690
白雲斎 さん 07/09/26 10:26
 
こんにちは“秀丸担当”さん、白雲斎です。

>いまのところそういうことになってしまいます。申し訳ありません。

修正されるのを気長に待ちたいと思います。

>newfile;
>setencode 2;
>
>とすればできると思います。

元に戻す、戻さないを考えると面倒です。

※普段、unicode文字のあるなしを意識するのは、保存操作をする時のみです。
※マクロ・ファイルの上で実験した後、unicodeのまま上書きしてしまい、マク
  ロが動作しないとパニックになりました。

[ ]
RE:23690 ユニコード文字のあるファイルでNo.23697
秀丸担当 さん 07/09/26 15:12
 

>元に戻す、戻さないを考えると面倒です。
>
>※普段、unicode文字のあるなしを意識するのは、保存操作をする時のみです。
>※マクロ・ファイルの上で実験した後、unicodeのまま上書きしてしまい、マク
>  ロが動作しないとパニックになりました。

そう言われると、ちょっとつらいですが。
修正自体は簡単で、対応はすぐできます。
ただレベルダウンが気になるだけなのですが、仕様ではなくバグと言ってもいい
ので、やっぱり修正してみようかと。
例の高速化の問題も、場合によっては何らかの影響もあるかも。

[ ]
RE:23697 ユニコード文字のあるファイルでNo.23698
白雲斎 さん 07/09/26 17:21
 
こんにちは“秀丸担当”さん、白雲斎です。

>修正自体は簡単で、対応はすぐできます。
>ただレベルダウンが気になるだけなのですが、仕様ではなくバグと言ってもいい
>ので、やっぱり修正してみようかと。
>例の高速化の問題も、場合によっては何らかの影響もあるかも。

おお! よろしくお願いします。

[ ]