From: Artur Malabarba Date: Sat, 6 Feb 2016 22:46:16 +0000 (+0000) Subject: * lisp/isearch.el (isearch-define-mode-toggle): Improve logic X-Git-Tag: emacs-25.0.91~63 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ffe7dd;p=emacs.git * lisp/isearch.el (isearch-define-mode-toggle): Improve logic --- diff --git a/lisp/isearch.el b/lisp/isearch.el index 6ef4f72db2f..2efa4c7e8ef 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1528,15 +1528,13 @@ The command then executes BODY and updates the isearch prompt." (if docstring (concat "\n" docstring) "")) (interactive) ,@(when function - `((setq isearch-regexp-function - (unless (eq isearch-regexp-function #',function) - #',function)) - (when isearch-regexp-function (setq isearch-regexp nil)))) + `((setq isearch-regexp-function #',function) + (setq isearch-regexp nil))) ,@body (setq isearch-success t isearch-adjusted t) (isearch-update)) (define-key isearch-mode-map ,key #',command-name) - ,@(when (symbolp function) + ,@(when (and function (symbolp function)) `((put ',function 'isearch-message-prefix ,(format "%s " mode)) (put ',function :advertised-binding ,key) (cl-callf (lambda (types) (cons 'choice