From boochang at m4.kcn.ne.jp Sun Jul 31 11:52:25 2005 From: boochang at m4.kcn.ne.jp (M.Fujii) Date: Sun Jul 31 11:52:27 2005 Subject: [migemo] =?iso-2022-jp?b?bWlnZW1vIBskQk14TVE7fiROGyhCIGlzZWFyY2gg?= =?iso-2022-jp?b?GyRCMEozMCROGyhCIGxhenktaGlnaGxpZ2h0IBskQiRONXNGMBsoQg==?= Message-ID: <20050731.115225.262176086.boochang@m4.kcn.ne.jp> 藤井です。 emacs CVS HEAD では、query-replace などでも lazy-highlight が可能になっ ているようですが、これに関連して migemo 利用時に lazy-highlight に一部 不具合が生じます。 再現手順は以下のとおりです。 [case 1] 1. emacs (CVS HEAD)を起動し migemo を有効にする。 2. migemo が有効な状態で isearch を行なう。 3. M-x query-replace を実行し、置換する文字列を指定する。 (ここで複数の文字列が置換されるようにすることがポイント) 4. ここで、置換の対象となる部分がハイライトされるはずだが、 ハイライトされない。 (大抵その代わりに migemo で検索した文字列がハイライトされる) [case 2] 1. emacs (CVS HEAD)を起動し migemo を有効にする。 2. このメールに添付したサンプルファイルを hexl-mode で開く。 3. isearch で "fg" で検索すると、"f" の直後で改行している箇所がハイライ トされない。 (migemo をロードせずに起動した場合と比較すれば一目瞭然だと思います) 私の環境(Meadow 3.00-dev, NTEmacs CVS HEAD)では確実に再現します。 (case 1 はまれに再現しない場合もあるようです) isearch-lazy-highlight-search を migemo で差し替えていますが、これが悪 さをしているようです。CVS HEAD では isearch 以外でも lazy-highlight を 利用するようになっているので、差し替え部分の再検討が必要なのではないか と思います。 CVS HEAD では isearch-search-fun-function によって、isearch が呼び出す 検索関数を差し替えることが可能になっています。migemo は isearch-lazy-highlight-search をまるごと差し替えているので、この機構が 利用されていない状態になっているので、これが問題の原因だと思います。 また、isearch-search-fun-function が設定されているときには、その設定に よっては migemo を無効にした方が良いのかもしれません。 具体的修正案を提案できてなくてすみませんが、対応宜しくお願いします。 以上です。 -- 藤井 正行 / Masayuki FUJII ( boochang@m4.kcn.ne.jp )