all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@jurta.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 16035@debbugs.gnu.org, Anders Lindgren <andlind@gmail.com>
Subject: bug#16035: 24.3.50; Custom isearch broken on trunk (e.g. change-log-mode)
Date: Thu, 05 Dec 2013 03:20:03 +0200	[thread overview]
Message-ID: <87mwkgay9s.fsf@mail.jurta.org> (raw)
In-Reply-To: <jwva9ggsdq9.fsf-monnier+emacsbugs@gnu.org> (Stefan Monnier's message of "Wed, 04 Dec 2013 12:57:38 -0500")

>> 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.
>
> Great to hear.  Juri, can you do that for me?

I tested this patch, and it seems to fix the second case reported
by Anders.  If the patch is correct then I could install it.

>> 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.
>
> Sounds right, as well.  Juri, can you take care of that while you're at it?

I already installed the fix for this case a day ago in revno:115368
Anders, can you try this fix? Only the first case that you reported
has been fixed and installed, and the second case fixed by this patch
will be installed soon too.

=== modified file 'lisp/isearch.el'
--- lisp/isearch.el	2013-12-04 00:12:02 +0000
+++ lisp/isearch.el	2013-12-05 01:18:56 +0000
@@ -637,6 +637,8 @@ (defvar isearch-input-method-function ni
 ;; isearch is invoked.
 (defvar isearch-input-method-local-p nil)
 
+(defvar isearch-saved-overriding-local-map nil)
+
 ;; Minor-mode-alist changes - kind of redundant with the
 ;; echo area, but if isearching in multiple windows, it can be useful.
 
@@ -904,6 +906,7 @@ (defun isearch-mode (forward &optional r
 
   (setq overriding-terminal-local-map isearch-mode-map)
   (run-hooks 'isearch-mode-hook)
+  (setq isearch-saved-overriding-local-map overriding-terminal-local-map)
 
   ;; Pushing the initial state used to be before running isearch-mode-hook,
   ;; but a hook might set `isearch-push-state-function' used in
@@ -2235,7 +2238,7 @@ (defun isearch-pre-command-hook ()
     (cond
      ;; Don't exit Isearch if we're in the middle of some
      ;; set-temporary-overlay-map thingy like universal-argument--mode.
-     ((not (eq overriding-terminal-local-map isearch-mode-map)))
+     ((not (eq overriding-terminal-local-map isearch-saved-overriding-local-map)))
      ;; Don't exit Isearch for isearch key bindings.
      ((commandp (lookup-key isearch-mode-map key nil)))
      ;; Optionally edit the search string instead of exiting.






  parent reply	other threads:[~2013-12-05  1:20 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03  9:38 bug#16035: 24.3.50; Custom isearch broken on trunk (e.g. change-log-mode) Anders Lindgren
2013-12-04  0:14 ` Juri Linkov
2013-12-04  0:18 ` Juri Linkov
2013-12-04  0:37   ` Juri Linkov
2013-12-04  4:31   ` Stefan Monnier
2013-12-04 11:48     ` Anders Lindgren
2013-12-04 17:57       ` Stefan Monnier
2013-12-04 21:49         ` Anders Lindgren
2013-12-05  1:20         ` Juri Linkov [this message]
2013-12-05  2:45           ` Stefan Monnier
2013-12-06  0:57             ` Juri Linkov
2013-12-11  0:12               ` Juri Linkov
2013-12-16  8:13                 ` Anders Lindgren
2013-12-16 20:32                   ` Juri Linkov
2013-12-17  6:17                     ` Anders Lindgren
2013-12-17 19:38                       ` Juri Linkov
2013-12-18  8:02                         ` Anders Lindgren
2013-12-18 23:22                           ` Juri Linkov
2013-12-19 13:35                             ` Stefan Monnier
2013-12-19 20:39                               ` Juri Linkov
2013-12-05 15:33           ` Anders Lindgren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mwkgay9s.fsf@mail.jurta.org \
    --to=juri@jurta.org \
    --cc=16035@debbugs.gnu.org \
    --cc=andlind@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.