branch: elpa/isl
commit bf1f95699018fd06ede310711566eec041628b7d
Author: Thierry Volpiatto <[email protected]>
Commit: Thierry Volpiatto <[email protected]>
Prevent recentering aggressively on exit
Save and restore window-start.
---
isl.el | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/isl.el b/isl.el
index 1154572a58b..7fb1c7a1a1b 100644
--- a/isl.el
+++ b/isl.el
@@ -81,6 +81,7 @@
(defvar isl--yank-point nil)
(defvar isl--quit nil)
(defvar isl--invalid nil)
+(defvar isl--window-start nil)
(defvar-local isl--buffer-invisibility-spec nil)
(defconst isl-space-regexp "\\s\\\\s-"
"Match a quoted space in a string.")
@@ -429,7 +430,8 @@ It put overlay on current position, move to next overlay
using
(let ((ov (make-overlay (pos-bol) (1+ (pos-eol)))))
(overlay-put ov 'face 'isl-line)
(sit-for 0.2)
- (delete-overlay ov)))
+ (delete-overlay ov))
+ (setq isl--window-start (window-start)))
;; Call `exit-minibuffer' out of the `with-selected-window' block to
;; avoid error with the emacs-28 version.
(exit-minibuffer))
@@ -1079,7 +1081,9 @@ Arguments INITIAL-INPUT and DEFAULT are same as in
`read-from-minibuffer'."
((and (boundp 'markdown-mode-map)
(derived-mode-p 'markdown-mode))
(markdown-show-entry)))
- (error nil))))))
+ (error nil)))
+ (when isl--window-start
+ (set-window-start (selected-window) isl--window-start)))))
(defun isl-search-1 (&optional resume input)
@@ -1100,6 +1104,7 @@ Note that INPUT cannot be used with a non nil value for
RESUME."
isl-current-buffer (current-buffer)
isl--buffer-invisibility-spec buffer-invisibility-spec
cursor-in-non-selected-windows nil))
+ (setq isl--window-start nil)
(when (and (buffer-live-p isl-current-buffer)
(not (member (buffer-name isl-current-buffer)
isl-noresume-buffers)))