bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16035: 24.3.50; Custom isearch broken on trunk (e.g. change-log-mode


From: Anders Lindgren
Subject: bug#16035: 24.3.50; Custom isearch broken on trunk (e.g. change-log-mode)
Date: Wed, 4 Dec 2013 12:48:52 +0100

Hi Stefan!

I tried you solution and it works perfectly! Just make sure to save the keymap after the call to "(run-hooks 'isearch-mode-hook)", as this is where packages like "folding" installs its keymap.

Juri and Stefan:

While looking around the isearch code, I came up with a theory why multi-buffer search in change-log-mode no longer works. isearch adds its hook to the LOCAL pre-command-hook. As change-log-mode search change buffer and the hook is not installed in the new buffer, the user can't exit isearch.

Sincerely,
    Anders Lindgren


On Wed, Dec 4, 2013 at 5:31 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> folding.el performs such initialization in `folding-isearch-hook-function':
>
>           (funcall (symbol-function 'set)
>                    'overriding-terminal-local-map folding-isearch-mode-map)

Maybe folding.el is out of luck and will need to be updated.

An alternative is to make isearch record the
overriding-terminal-local-map that was set "at the beginning" (which
should be folding-isearch-mode-map for the folding-isearch and
isearch-mode-map in the normal isearch), and then
change the check to

     ((not (eq overriding-terminal-local-map
               isearch-saved-overriding-local-map))

But depending on how folding-isearch-mode-map is defined this may not be
sufficient, and changes to folding.el will be needed.


        Stefan


reply via email to

[Prev in Thread] Current Thread [Next in Thread]