Subject: Re: bug#25302: 25.1; `isearch-allow-prefix' does not allow `C-u C-u'

From: [email-masked]
Date: Fri, 30 Dec 2016 17:27:43 -0500

tags 25302 patch
quit

Drew Adams <[email-masked]> writes:

> 1. emacs -Q
>
> 2. Ensure that `isearch-allow-prefix' is non-nil, which it is by default.
>
> 3. Search for anything, such as character `e', then hit `C-u C-u':
>
>  C-s e C-u C-u
>
> The second `C-u' terminates Isearch.  It should not.  The raw prefix arg
> `(16)' should be passed through to whatever command is invoked by the
> next key sequence.
>
> The second `C-u' acts as if `isearch-allow-prefix' were nil.

This seems to fix it:

diff --git i/lisp/isearch.el w/lisp/isearch.el
index 9846f0b..04a9af1 100644
--- i/lisp/isearch.el
+++ w/lisp/isearch.el
@@ -2389,7 +2389,7 @@ isearch-pre-command-hook
       (setq this-command 'isearch-edit-string))
      ;; Handle a scrolling function or prefix argument.
      ((or (and isearch-allow-prefix
-	       (memq this-command '(universal-argument
+               (memq this-command '(universal-argument universal-argument-more
 				    digit-argument negative-argument)))
 	  (and isearch-allow-scroll
 	       (symbolp this-command)