From: Oleh Krehel Date: Fri, 27 Nov 2015 22:21:40 +0000 (+0100) Subject: Fix the issue caused by recursive swiper calls X-Git-Url: https://code.delx.au/gnu-emacs-elpa/commitdiff_plain/ac09f6b2ea56d7f1d7c46ce4659907ec1fb079bf Fix the issue caused by recursive swiper calls * swiper.el (swiper--ivy): Look at the return result of `ivy-read'; looking at `ivy-exit' no longer works. Fixes #311 --- diff --git a/swiper.el b/swiper.el index a744de982..45492a18e 100644 --- a/swiper.el +++ b/swiper.el @@ -353,22 +353,24 @@ When non-nil, INITIAL-INPUT is the initial search pattern." (point-min) (save-excursion (beginning-of-visual-line) (point))) (1- (line-number-at-pos)))) - (minibuffer-allow-text-properties t)) + (minibuffer-allow-text-properties t) + res) (unwind-protect - (ivy-read - "Swiper: " - candidates - :initial-input initial-input - :keymap swiper-map - :preselect preselect - :require-match t - :update-fn #'swiper--update-input-ivy - :unwind #'swiper--cleanup - :action #'swiper--action - :re-builder #'swiper--re-builder - :history 'swiper-history - :caller 'swiper) - (when (null ivy-exit) + (setq res + (ivy-read + "Swiper: " + candidates + :initial-input initial-input + :keymap swiper-map + :preselect preselect + :require-match t + :update-fn #'swiper--update-input-ivy + :unwind #'swiper--cleanup + :action #'swiper--action + :re-builder #'swiper--re-builder + :history 'swiper-history + :caller 'swiper)) + (unless res (goto-char swiper--opoint))))) (defun swiper-toggle-face-matching ()