From 9ffe7ddd5e1ba93f327cfe985e9476571d7a2873 Mon Sep 17 00:00:00 2001 From: Artur Malabarba Date: Sat, 6 Feb 2016 22:46:16 +0000 Subject: [PATCH] * lisp/isearch.el (isearch-define-mode-toggle): Improve logic --- lisp/isearch.el | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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 -- 2.39.2