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

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

bug#20925: 25.0.50; isearch-exit calls isearch-done twice


From: Katsumi Yamaoka
Subject: bug#20925: 25.0.50; isearch-exit calls isearch-done twice
Date: Mon, 29 Jun 2015 18:27:18 +0900
User-agent: Gnus/5.130014 (真 Gnus v0.14) Emacs/25.0.50 (i686-pc-cygwin)

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.





reply via email to

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