diff --git a/core/defuns/defuns-evil.el b/core/defuns/defuns-evil.el index 808d01179..9ee49158c 100644 --- a/core/defuns/defuns-evil.el +++ b/core/defuns/defuns-evil.el @@ -192,13 +192,15 @@ monkey patch it to use pop-to-buffer." ;;;###autoload (defun doom*evil-esc-quit () "Close popups, disable search highlights and quit the minibuffer if open." - (let ((minib-p (minibuffer-window-active-p (minibuffer-window))) - (evil-hl-p (evil-ex-hl-active-p 'evil-ex-search))) - (when minib-p (abort-recursive-edit)) - (when evil-hl-p (evil-ex-nohighlight)) - ;; Close non-repl popups and clean up `doom-popup-windows' - (unless (or minib-p evil-hl-p (bound-and-true-p doom-popup-mode)) - (doom/popup-close-all)))) + (if (and (doom/popup-p) (memq :noesc doom-popup-rule)) + (doom/popup-close) + (let ((minib-p (minibuffer-window-active-p (minibuffer-window))) + (evil-hl-p (evil-ex-hl-active-p 'evil-ex-search))) + (when minib-p (abort-recursive-edit)) + (when evil-hl-p (evil-ex-nohighlight)) + ;; Close non-repl popups and clean up `doom-popup-windows' + (unless (or minib-p evil-hl-p) + (doom/popup-close-all))))) ;;;###autoload (defun doom*evil-ex-replace-special-filenames (file-name)