From shirai at meadowy.org Fri Aug 5 18:29:41 2005 From: shirai at meadowy.org (Hideyuki SHIRAI (=?iso-2022-jp?B?GyRCR3IwZj0oOVQbKEI=?=)) Date: Fri Aug 5 18:30:31 2005 Subject: [migemo] =?iso-2022-jp?b?UmU6IG1pZ2VtbyAbJEJNeE1RO34kThsoQiBpc2Vh?= =?iso-2022-jp?b?cmNoIBskQjBKMzAkThsoQiBsYXp5LWhpZ2hsaWdodCAbJEIkTjVzGyhC?= =?iso-2022-jp?b?GyRCRjAbKEI=?= In-Reply-To: <20050731.115225.262176086.boochang@m4.kcn.ne.jp> References: <20050731.115225.262176086.boochang@m4.kcn.ne.jp> Message-ID: <20050805.182941.10649034.shirai.hideyuki@rdmg.mgcs.mei.co.jp> From: "M.Fujii" さん曰く Subject: [migemo] migemo 利用時の isearch 以外の lazy-highlight の挙動 Message-ID: <20050731.115225.262176086.boochang@m4.kcn.ne.jp> Date: Sun, 31 Jul 2005 11:52:25 +0900 (JST) > [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 をロードせずに起動した場合と比較すれば一目瞭然だと思います) もっと強烈なので、『info で iseach するとエラーになる』というの もあります。これは困っちゃったので、手元では無理やり動くようにし ましたが。。。 > CVS HEAD では isearch-search-fun-function によって、isearch が呼び出す > 検索関数を差し替えることが可能になっています。migemo は > isearch-lazy-highlight-search をまるごと差し替えているので、この機構が > 利用されていない状態になっているので、これが問題の原因だと思います。 isearch-lazy-highlight-search に関してはその通りなのですが、、、 > また、isearch-search-fun-function が設定されているときには、その設定に > よっては migemo を無効にした方が良いのかもしれません。 hexl はそれでも良いと思うのですが、この対処だと info で migemo な isearch が出来なくて寂しいのですよねぇ。。。また、以前調べた ときは、isearch-search-fun-function を設定しているのは hexl と info だけだったのですが、これから増えるかもしれないし。。。 現在、migemo な isearch をするときは、search-forward(), search-backward() の挙動を migemo-do-isearch の値によって変えて いますが、このあたりの「やり方」を変えて、半恒久的な対策をした方 が良いと思っているのですが、まだうまい考えにはたどり着いていませ ん ^^;;; -- 白井秀行 (mailto:shirai@meadowy.org)