[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/coterm e64027a 43/80: Restore 'window-point' of non-sel
From: |
ELPA Syncer |
Subject: |
[elpa] externals/coterm e64027a 43/80: Restore 'window-point' of non-selected windows |
Date: |
Wed, 13 Oct 2021 18:57:33 -0400 (EDT) |
branch: externals/coterm
commit e64027a440fd08903d75b6b70adc4a9c8d6d91ab
Author: m <>
Commit: m <>
Restore 'window-point' of non-selected windows
---
coterm.el | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/coterm.el b/coterm.el
index 5df3688..902035b 100644
--- a/coterm.el
+++ b/coterm.el
@@ -436,6 +436,7 @@ If `coterm--t-home-marker' is nil, initialize it sensibly."
(will-insert-newlines 0)
restore-point
last-match-end
+ old-pmark
buf
ctl-params ctl-end)
@@ -465,6 +466,7 @@ If `coterm--t-home-marker' is nil, initialize it sensibly."
(with-current-buffer buf
(setq restore-point (if (= (point) pmark) pmark (point-marker)))
+ (setq old-pmark (copy-marker pmark window-point-insertion-type))
(coterm--t-maybe-adjust-from-pmark pmark)
(save-restriction
(widen)
@@ -543,7 +545,7 @@ If `coterm--t-home-marker' is nil, initialize it sensibly."
(?A (ins)) ;; Ignore term.el specific \eAnSiT sequences
(?\[
(pcase (aref string (1- ctl-end))
- (?m ; Let `comint-output-filter-functions' handle this
+ (?m ;; Let `comint-output-filter-functions' handle this
(pass-through))
(char
(setq ctl-params (mapcar #'string-to-number
@@ -697,9 +699,25 @@ If `coterm--t-home-marker' is nil, initialize it sensibly."
(coterm--t-goto 0 0)
(recenter 0)))
+ ;; Restore point (this restores it only for the selected window)
(goto-char restore-point)
(unless (eq restore-point pmark)
- (set-marker restore-point nil)))))))
+ (set-marker restore-point nil))
+
+ ;; Restore points of non-selected windows, if their `window-point'
+ ;; was on pmark
+ (let* ((sel-win (selected-window))
+ (w (next-window sel-win nil t)))
+ ;; Avoid infinite loop in strange case where minibuffer window
+ ;; is selected but not active.
+ (while (window-minibuffer-p w)
+ (setq w (next-window w nil t)))
+ (while (not (eq w sel-win))
+ (and (eq buf (window-buffer w))
+ (= (window-point w) old-pmark)
+ (set-window-point w pmark))
+ (setq w (next-window w nil t)))
+ (set-marker old-pmark nil)))))))
(provide 'coterm)
;;; coterm.el ends here
- [elpa] externals/coterm dfebb62 46/80: Add comint output filter function buffer locally, (continued)
- [elpa] externals/coterm dfebb62 46/80: Add comint output filter function buffer locally, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm bd103f9 56/80: [auto-char] Fix searching in less, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm d5042f6 65/80: Inhibit Emacs from automatically decoding \r\n into \n, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 90823af 77/80: Revert "Inhibit Emacs from automatically decoding \r\n into \n", ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 066cd45 70/80: Explain how coterm does/doesn't do line-wrapping, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 08208f3 33/80: Handle \r\n sequence properly, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm f334168 24/80: Rename function, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 8b2836e 28/80: Fix incorrect handling of incomplete escape sequences, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 1ec97d2 29/80: \n doesn't go to column 0, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 9184a46 34/80: Always synchronize pmark at the end, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm e64027a 43/80: Restore 'window-point' of non-selected windows,
ELPA Syncer <=
- [elpa] externals/coterm 8f0a13b 44/80: Refactor scroll snapping, snap in all windows, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm dc5f8db 38/80: Improve doc string, add autoload cookie, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm ee37b4b 39/80: Initial support for char-mode and scroll snapping, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 6f42ba6 45/80: Initialize home marker properly, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 5e40af4 47/80: Prevent modification of user input harder, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm dc9466e 57/80: Implement \t (move cursor to tab stop), needed for "emacs -nw", ELPA Syncer, 2021/10/13
- [elpa] externals/coterm db17a99 62/80: Describe terminal emulation, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm c52f413 67/80: Keep char mode in less after pressing a digit, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm c717c84 75/80: Bind inhibit-read-only to t for terminal emulation, ELPA Syncer, 2021/10/13
- [elpa] externals/coterm 570ae6d 74/80: Mention auto char mode as a difference from term.el, ELPA Syncer, 2021/10/13