GNU bug report logs - #16169
24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Mon, 16 Dec 2013 17:53:02 UTC

Severity: normal

Found in version 24.3.50

Done: Drew Adams <drew.adams <at> oracle.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 16169 in the body.
You can then email your comments to 16169 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#16169; Package emacs. (Mon, 16 Dec 2013 17:53:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Drew Adams <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 16 Dec 2013 17:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08
Date: Mon, 16 Dec 2013 09:51:51 -0800 (PST)
There are only 3 lines of code that were changed in isearch.el to
introduce this regression.  I don't understand the code well enough to
suggest what's wrong, and I don't yet have a simple recipe from emacs
-Q.

But with my setup, when I do C-a from within Isearch it no longer exits
Isearch.  Maybe that description will ring a bell?

Here is a diff between the two isearch.el versions (from 12-05 and 12-08):

***************
*** 637,642 ****
--- 637,644 ----
  ;; 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,909 ****
--- 906,914 ----
  
    (setq overriding-terminal-local-map isearch-mode-map)
    (run-hooks 'isearch-mode-hook)
+   ;; Remember the initial map possibly modified
+   ;; by external packages in isearch-mode-hook.  (Bug#16035)
+   (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,2241 ****
      (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)))
       ;; Don't exit Isearch for isearch key bindings.
       ((commandp (lookup-key isearch-mode-map key nil)))
       ;; Optionally edit the search string instead of exiting.
--- 2240,2246 ----
      (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--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.

I'm guessing that it will take someone familiar with the isearch.el code
(e.g. Juri) much less time to figure out what is wrong here than it will
for me to try to understand the code and narrow things down in my setup
to figure it out.  And if you can offer suggestions wrt things to check
I'll be glad to do so.

There might be other differences as well, but so far I haven't noticed
any.  I haven't tried much, though, and there is a lot to try, since the
code has been altered in fundamental ways since the end of September.
The good news is that at least simple, superficial use of Isearch in my
setup does not show other breakage.

Hoping you can enlighten me a bit about this - what to check etc.  Or
that if there is an Emacs bug perhaps you can recognize it, given only
the info provided here.  Thx.

In GNU Emacs 24.3.50.1 (i686-pc-mingw32)
 of 2013-12-08 on ODIEONE
Bzr revision: 115426 jan.h.d <at> swipnet.se-20131208125914-y6dc16jem2hg3tao
Windowing system distributor `Microsoft Corp.', version 6.1.7601
Configured using:
 `configure --prefix=/c/Devel/emacs/binary --enable-checking=yes,glyphs
 'CFLAGS=-O0 -g3' LDFLAGS=-Lc:/Devel/emacs/lib
 CPPFLAGS=-Ic:/Devel/emacs/include'




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16169; Package emacs. (Mon, 16 Dec 2013 20:35:03 GMT) Full text and rfc822 format available.

Message #8 received at 16169 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 16169 <at> debbugs.gnu.org
Subject: Re: bug#16169: 24.3.50;
 isearch.el regression between 2013-12-05 and 2013-12-08
Date: Mon, 16 Dec 2013 22:22:19 +0200
> There are only 3 lines of code that were changed in isearch.el to
> introduce this regression.  I don't understand the code well enough to
> suggest what's wrong, and I don't yet have a simple recipe from emacs
> -Q.
>
> But with my setup, when I do C-a from within Isearch it no longer exits
> Isearch.  Maybe that description will ring a bell?

Yes, it rings a bell to you.  In your isearch+.el set
isearch--saved-overriding-local-map to overriding-terminal-local-map
in isearch-mode that you replaced with your own implementation.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#16169; Package emacs. (Mon, 16 Dec 2013 21:48:01 GMT) Full text and rfc822 format available.

Message #11 received at 16169 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Juri Linkov <juri <at> jurta.org>
Cc: 16169 <at> debbugs.gnu.org
Subject: RE: bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and
 2013-12-08
Date: Mon, 16 Dec 2013 13:47:12 -0800 (PST)
> > There are only 3 lines of code that were changed in isearch.el to
> > introduce this regression.  I don't understand the code well enough to
> > suggest what's wrong, and I don't yet have a simple recipe from emacs
> > -Q.
> >
> > But with my setup, when I do C-a from within Isearch it no longer exits
> > Isearch.  Maybe that description will ring a bell?
> 
> Yes, it rings a bell to you.  In your isearch+.el set
> isearch--saved-overriding-local-map to overriding-terminal-local-map
> in isearch-mode that you replaced with your own implementation.

Thanks, Juri.  That was not so obvious (for me).  The problem I noticed
appears also in builds (e.g. in October) that do not even have
`isearch--saved-overriding-local-map'.  Diffing the introduction of this
regression (in October) did not help me see what needed to be done.

I will close this bug.




bug closed, send any further explanations to 16169 <at> debbugs.gnu.org and Drew Adams <drew.adams <at> oracle.com> Request was from Drew Adams <drew.adams <at> oracle.com> to control <at> debbugs.gnu.org. (Mon, 16 Dec 2013 21:49:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 14 Jan 2014 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.