branch: master
commit 15d0679385fdf3f1d20904ff68ebcb522c4a87d4
Author: denin <[email protected]>
Commit: denin <[email protected]>
copy/move line to an initial window
---
avy.el | 74 +++++++++++++++++++++++++++++++++------------------------------
1 files changed, 39 insertions(+), 35 deletions(-)
diff --git a/avy.el b/avy.el
index 7af1de8..5205145 100644
--- a/avy.el
+++ b/avy.el
@@ -1117,47 +1117,51 @@ Otherwise, forward to `goto-line' with ARG."
"Copy a selected line above the current line.
ARG lines can be used."
(interactive "p")
- (avy-with avy-copy-line
- (let* ((start (avy--line))
- (str (buffer-substring-no-properties
- start
- (save-excursion
- (goto-char start)
- (move-end-of-line arg)
- (point)))))
- (cond ((eq avy-line-insert-style 'above)
- (beginning-of-line)
- (save-excursion
- (insert str "\n")))
- ((eq avy-line-insert-style 'below)
- (end-of-line)
- (insert "\n" str)
- (beginning-of-line))
- (t
- (user-error "Unexpected `avy-line-insert-style'"))))))
+ (let ((initial-window (selected-window)))
+ (avy-with avy-copy-line
+ (let* ((start (avy--line))
+ (str (buffer-substring-no-properties
+ start
+ (save-excursion
+ (goto-char start)
+ (move-end-of-line arg)
+ (point)))))
+ (select-window initial-window)
+ (cond ((eq avy-line-insert-style 'above)
+ (beginning-of-line)
+ (save-excursion
+ (insert str "\n")))
+ ((eq avy-line-insert-style 'below)
+ (end-of-line)
+ (insert "\n" str)
+ (beginning-of-line))
+ (t
+ (user-error "Unexpected `avy-line-insert-style'")))))))
;;;###autoload
(defun avy-move-line (arg)
"Move a selected line above the current line.
ARG lines can be used."
(interactive "p")
- (avy-with avy-move-line
- (let ((start (avy--line)))
- (save-excursion
- (goto-char start)
- (kill-whole-line arg))
- (cond ((eq avy-line-insert-style 'above)
- (beginning-of-line)
- (save-excursion
- (insert
- (current-kill 0))))
- ((eq avy-line-insert-style 'below)
- (end-of-line)
- (newline)
- (save-excursion
- (insert (substring (current-kill 0) 0 -1))))
- (t
- (user-error "Unexpected `avy-line-insert-style'"))))))
+ (let ((initial-window (selected-window)))
+ (avy-with avy-move-line
+ (let ((start (avy--line)))
+ (save-excursion
+ (goto-char start)
+ (kill-whole-line arg))
+ (select-window initial-window)
+ (cond ((eq avy-line-insert-style 'above)
+ (beginning-of-line)
+ (save-excursion
+ (insert
+ (current-kill 0))))
+ ((eq avy-line-insert-style 'below)
+ (end-of-line)
+ (newline)
+ (save-excursion
+ (insert (substring (current-kill 0) 0 -1))))
+ (t
+ (user-error "Unexpected `avy-line-insert-style'")))))))
;;;###autoload
(defun avy-copy-region (arg)