branch: master commit 2f5cc1166fe957e26dbe52b0c63563c9a11c32d2 Author: Oleh Krehel <ohwoeo...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
swiper.el: Use `with-selected-window' instead of `with-current-buffer' * swiper.el (swiper--buffer): Remove. (swiper--init): Update. (swiper--update-input-helm): Update. (swiper--update-input-ivy): Update. (swiper--update-sel): Update. --- swiper.el | 26 ++++++++------------------ 1 files changed, 8 insertions(+), 18 deletions(-) diff --git a/swiper.el b/swiper.el index da8bdc0..e88d658 100644 --- a/swiper.el +++ b/swiper.el @@ -74,12 +74,8 @@ swiper-match-face-4) "List of `swiper' faces for group matches.") -(defvar swiper--buffer nil - "Store current buffer.") - (defvar swiper--window nil - "Store current window. -This is necessary for `window-start' while in minibuffer.") + "Store the current window.") (defalias 'swiper-font-lock-ensure (if (fboundp 'font-lock-ensure) @@ -128,7 +124,6 @@ This is necessary for `window-start' while in minibuffer.") (deactivate-mark) (setq swiper--len 0) (setq swiper--anchor (line-number-at-pos)) - (setq swiper--buffer (current-buffer)) (setq swiper--window (selected-window))) (defun swiper--ivy () @@ -207,7 +202,7 @@ This is necessary for `window-start' while in minibuffer.") (defun swiper--update-input-helm () "Update selection." (swiper--cleanup) - (with-current-buffer swiper--buffer + (with-selected-window swiper--window (swiper--add-overlays (ivy--regex helm-input) (window-start swiper--window) @@ -224,13 +219,12 @@ This is necessary for `window-start' while in minibuffer.") (num (if (string-match "^[0-9]+" str) (string-to-number (match-string 0 str)) 0))) - (with-current-buffer swiper--buffer + (with-selected-window swiper--window (goto-char (point-min)) (when (plusp num) (goto-char (point-min)) (forward-line (1- num)) - (setf (window-point swiper--window) - (point))) + (recenter)) (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position))))) @@ -239,12 +233,8 @@ This is necessary for `window-start' while in minibuffer.") (push ov swiper--overlays)) (swiper--add-overlays re - (save-excursion - (forward-line (- (window-height swiper--window))) - (point)) - (save-excursion - (forward-line (window-height swiper--window)) - (point)))))) + (window-start swiper--window) + (window-end swiper--window t))))) (defun swiper--add-overlays (re beg end) "Add overlays for RE regexp in current buffer between BEG and END." @@ -312,7 +302,7 @@ This is necessary for `window-start' while in minibuffer.") 0)) pt) (when (> (length re) 0) - (with-current-buffer swiper--buffer + (with-selected-window swiper--window (goto-char (point-min)) (forward-line (1- num)) (when (re-search-forward re (point-max) t) @@ -323,7 +313,7 @@ This is necessary for `window-start' while in minibuffer.") (goto-char pt) (recenter) (swiper--update-input-helm)))) - (with-current-buffer swiper--buffer + (with-selected-window swiper--window (let ((ov (make-overlay (line-beginning-position) (1+ (line-end-position)))))