* bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08
@ 2013-12-16 17:51 Drew Adams
2013-12-16 20:22 ` Juri Linkov
0 siblings, 1 reply; 3+ messages in thread
From: Drew Adams @ 2013-12-16 17:51 UTC (permalink / raw)
To: 16169
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@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'
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08
2013-12-16 17:51 bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08 Drew Adams
@ 2013-12-16 20:22 ` Juri Linkov
2013-12-16 21:47 ` Drew Adams
0 siblings, 1 reply; 3+ messages in thread
From: Juri Linkov @ 2013-12-16 20:22 UTC (permalink / raw)
To: Drew Adams; +Cc: 16169
> 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.
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08
2013-12-16 20:22 ` Juri Linkov
@ 2013-12-16 21:47 ` Drew Adams
0 siblings, 0 replies; 3+ messages in thread
From: Drew Adams @ 2013-12-16 21:47 UTC (permalink / raw)
To: Juri Linkov; +Cc: 16169
> > 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.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-12-16 21:47 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-16 17:51 bug#16169: 24.3.50; isearch.el regression between 2013-12-05 and 2013-12-08 Drew Adams
2013-12-16 20:22 ` Juri Linkov
2013-12-16 21:47 ` Drew Adams
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.