diff options
Diffstat (limited to 'lisp/server.el')
-rw-r--r-- | lisp/server.el | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/server.el b/lisp/server.el index e0465324e05..2e344084d0f 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -666,6 +666,16 @@ The following commands are accepted by the client: (run-with-timer 0 nil (lexical-let ((proc proc)) (lambda () (server-process-filter proc "")))) (top-level)) + (condition-case nil + ;; If we're running isearch, we must abort it to allow Emacs to + ;; display the buffer and switch to it. + (mapc #'(lambda (buffer) + (with-current-buffer buffer + (when (bound-and-true-p isearch-mode) + (isearch-cancel)))) + (buffer-list)) + ;; Signaled by isearch-cancel + (quit (message nil))) (let ((prev (process-get proc 'previous-string))) (when prev (setq string (concat prev string)) |