unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20925: 25.0.50; isearch-exit calls isearch-done twice
@ 2015-06-29  9:27 Katsumi Yamaoka
  2015-06-29 22:07 ` Juri Linkov
  0 siblings, 1 reply; 3+ messages in thread
From: Katsumi Yamaoka @ 2015-06-29  9:27 UTC (permalink / raw)
  To: 20925

Recipe: C-s [RET] foo [RET]

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  set-buffer(nil)
  (with-current-buffer isearch--current-buffer ...)
  isearch-done()
  isearch-exit() ;; this calls `isearch-done'
  funcall-interactively(isearch-exit)
  call-interactively(isearch-exit nil nil)
  command-execute(isearch-exit)

`isearch-exit' calls `isearch-done' by way of `isearch-edit-string'
and `with-isearch-suspended', and then calls it again.
I don't know why it does so but this change gets rid of the error:

--- isearch.el~	2015-06-28 22:04:38.000000000 +0000
+++ isearch.el	2015-06-29 09:26:19.216444200 +0000
@@ -1184,8 +1184,8 @@
   (if (and search-nonincremental-instead
 	   (= 0 (length isearch-string)))
       (let ((isearch-nonincremental t))
-	(isearch-edit-string)))
-  (isearch-done)
+	(isearch-edit-string))
+    (isearch-done))
   (isearch-clean-overlays))
 
 (defun isearch-fail-pos (&optional msg)

Thanks.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20925: 25.0.50; isearch-exit calls isearch-done twice
  2015-06-29  9:27 bug#20925: 25.0.50; isearch-exit calls isearch-done twice Katsumi Yamaoka
@ 2015-06-29 22:07 ` Juri Linkov
  2015-06-29 23:13   ` Katsumi Yamaoka
  0 siblings, 1 reply; 3+ messages in thread
From: Juri Linkov @ 2015-06-29 22:07 UTC (permalink / raw)
  To: Katsumi Yamaoka; +Cc: 20925

> `isearch-exit' calls `isearch-done' by way of `isearch-edit-string'
> and `with-isearch-suspended', and then calls it again.
> I don't know why it does so but this change gets rid of the error:
>
> --- isearch.el~	2015-06-28 22:04:38.000000000 +0000
> +++ isearch.el	2015-06-29 09:26:19.216444200 +0000
> @@ -1184,8 +1184,8 @@
>    (if (and search-nonincremental-instead
>  	   (= 0 (length isearch-string)))
>        (let ((isearch-nonincremental t))
> -	(isearch-edit-string)))
> -  (isearch-done)
> +	(isearch-edit-string))
> +    (isearch-done))
>    (isearch-clean-overlays))

Thanks, I believe this is the right fix to avoid calling
‘isearch-done’ twice.  Could you please add a short 1-line comment
explaining that ‘isearch-edit-string’ already calls ‘isearch-done’.





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20925: 25.0.50; isearch-exit calls isearch-done twice
  2015-06-29 22:07 ` Juri Linkov
@ 2015-06-29 23:13   ` Katsumi Yamaoka
  0 siblings, 0 replies; 3+ messages in thread
From: Katsumi Yamaoka @ 2015-06-29 23:13 UTC (permalink / raw)
  To: Juri Linkov; +Cc: 20925-done

On Tue, 30 Jun 2015 01:07:08 +0300, Juri Linkov <juri@linkov.net> wrote:
> Thanks, I believe this is the right fix to avoid calling
> ‘isearch-done’ twice.  Could you please add a short 1-line comment
> explaining that ‘isearch-edit-string’ already calls ‘isearch-done’.

Thanks.  Committed.
I'm sorry I was unable to explain it in a short 1-line comment,
but I divided it into an inline comment and a log entry. :)





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-29 23:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-29  9:27 bug#20925: 25.0.50; isearch-exit calls isearch-done twice Katsumi Yamaoka
2015-06-29 22:07 ` Juri Linkov
2015-06-29 23:13   ` Katsumi Yamaoka

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).