Subject: Re: bug#7534: 24.0.50; G-g within Isearch regexp mode

From: Juri Linkov <[email-masked]>
Date: Sun, 05 Dec 2010 23:11:57 +0000

> So, IMO, the main principle for C-g (within Isearch mode) should be:
> * if there is unmatched and/or incomplete input --> Delete it.
> * Otherwise --> Exit Isearch mode.

Please try the following patch.  Does it provide the behavior
you are asking for?

=== modified file 'lisp/isearch.el'
--- lisp/isearch.el	2010-10-02 22:37:21 +0000
+++ lisp/isearch.el	2010-12-05 23:08:19 +0000
@@ -1253,7 +1253,7 @@ (defun isearch-abort ()
   (interactive)
 ;;  (ding)  signal instead below, if quitting
   (discard-input)
-  (if isearch-success
+  (if (and isearch-success (not isearch-error))
       ;; If search is successful, move back to starting point
       ;; and really do quit.
       (progn