「GREPして置き換え」が変No.11501
白雲斎 さん 06/12/01 17:42
 
こんにちは、白雲斎です。
Windows XP, 秀丸エディタ 6.50b2

「GREPして置き換え」が、正常に置き換えをしてくれません。

実験環境:

    [folder]
        index1.html (Shift_JIS) (内部スタイルに body 2個)
        index2.html (Shift_JIS)
        index3.html (JIS)
        test.txt

実行:

    1. test.txtを開く
    2. 以下の条件で「GREPして置き換え」を実行する。
        ・検索する文字      :body
        ・置換する文字      :BODY
        ・検索するファイル  :*.htm
        ・オプション        :大文字/小文字の区別のみ
                              単語の検索はどちらでも

結果:

    ------------------------------------------------
    index1.html(12): html, body, div {
    index1.html(16): body {
    index1.html(28): <body>
    index1.html(62): </body>
    index2.html(6): <meta ... charset=Shift_JIS">
    index3.html(6): <meta ... charset=ISO-2022-JP">
    ----------------
    3 個のファイルを検索しました。
    3 個のファイルを全て置換して、上書き保存しました。
    6 個の置換を行ないました。
    ------------------------------------------------

    index2.html と index3.html の結果が変です。
    ・"body"のない行が検索されている。
      (両ファイルとも、<body>...</body> がある)
    ・「プレビュー」を有効にすると、プレビューの段階で"Shift_JIS"と
      "ISO-2022-JP"が"BODY"に置き換えられている様子が見える。
    ・両ファイル共、実行前後で内容に変化はないが、タイム・スタンプは変化
      している。

再現しますか?

[ ]
RE:11501 「GREPして置き換え」が変No.11502
白雲斎 さん 06/12/01 17:59
 
白雲斎です。

タイミングが悪かったかな!?
先ほど、ベータ3にアップデートしましたが、結果は同じでした。

[ ]
RE:11502 「GREPして置き換え」が変No.11504
秀丸担当 さん 06/12/01 18:04
 

>    index2.html と index3.html の結果が変です。
>    ・"body"のない行が検索されている。
>      (両ファイルとも、<body>...</body> がある)
>    ・「プレビュー」を有効にすると、プレビューの段階で"Shift_JIS"と
>      "ISO-2022-JP"が"BODY"に置き換えられている様子が見える。
>    ・両ファイル共、実行前後で内容に変化はないが、タイム・スタンプは変化
>      している。

それはまずい問題かもしれないのですぐ直さないといけないかもしれないです。
いろいろ試してみましたが、再現することができませんでした。
もし差し支えなければ、問題が起きる範囲のサンプルとなるファイルと、設定内
容をファイルに保存したものを送っていただけると助かります。
もし送っていただける場合、xxxxxxxx@nifty.ne.jp まで秀丸担当宛であること
を書いて送ってください。

いろいろ確認していたら、該当のファイルを開いたとき、自動実行マクロが実行
されてしまっていることがわかりました。
そのようなことはないでしょうか。
他にも何か条件と思われることはないでしょうか。

[ ]
RE:11504 「GREPして置き換え」が変No.11506
白雲斎 さん 06/12/01 18:26
 
こんにちは 秀丸担当 さん、白雲斎です。

>いろいろ確認していたら、該当のファイルを開いたとき、自動実行マクロが実行
>されてしまっていることがわかりました。
>そのようなことはないでしょうか。
>他にも何か条件と思われることはないでしょうか。

申し訳ない。仰るとおりです。
自動起動マクロの「保存直前と直後」にマクロを登録していました。
マクロは、保存直後において、filetypeがHTML系ならエンコード判定をして、
charset/encoding を書き換えると言う物です。
マクロの中で検索を実行しており、その結果バッファが変化したものと思います。
マクロの登録を抹消すると、正常に置き換え出来ました。

しかし、登録を抹消したままでは自動起動マクロの意味がなさないので、「GREP
して置き換え」の時は、自動起動マクロを無効してもらえると良いのですが。

[ ]
RE:11506 「GREPして置き換え」が変No.11507
秀丸担当 さん 06/12/01 18:31
 

>申し訳ない。仰るとおりです。
>自動起動マクロの「保存直前と直後」にマクロを登録していました。
>マクロは、保存直後において、filetypeがHTML系ならエンコード判定をして、
>charset/encoding を書き換えると言う物です。
>マクロの中で検索を実行しており、その結果バッファが変化したものと思います。
>マクロの登録を抹消すると、正常に置き換え出来ました。
>
>しかし、登録を抹消したままでは自動起動マクロの意味がなさないので、「GREP
>して置き換え」の時は、自動起動マクロを無効してもらえると良いのですが。

そうでしたか。原因がわかってよかったです。
grepして置換の動作中は、自動起動マクロは動作しないように修正します。
すぐβ4にしたいところではありますが、月曜日にβ4にします。
それまで我慢してもらえますでしょうか。

[ ]
RE:11507 「GREPして置き換え」が変No.11512
白雲斎 さん 06/12/01 18:53
 
こんにちは 秀丸担当 さん、白雲斎です。

>そうでしたか。原因がわかってよかったです。
>grepして置換の動作中は、自動起動マクロは動作しないように修正します。
>すぐβ4にしたいところではありますが、月曜日にβ4にします。
>それまで我慢してもらえますでしょうか。

我慢しますとも!
それでは、よろしくお願いします。

[ ]