[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/popon 61b54bea8c 12/15: Fix popon breaking when long lines
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/popon 61b54bea8c 12/15: Fix popon breaking when long lines aren't truncated |
Date: |
Sun, 22 May 2022 12:59:19 -0400 (EDT) |
branch: elpa/popon
commit 61b54bea8c59be176fb4259edf58d50b4dcaf97a
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Fix popon breaking when long lines aren't truncated
---
popon.el | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/popon.el b/popon.el
index fce57b0fde..ba9163fa11 100644
--- a/popon.el
+++ b/popon.el
@@ -290,16 +290,23 @@ when LINE-BEGINNINGS was calculated.")
(defun popon--make-overlays (framebuffer)
"Make overlays to display FRAMEBUFFER on window."
(let ((line-map nil))
- (let ((i 0))
- (dolist (line framebuffer)
- (when (nth 1 line)
- (let* ((key (cons (nth 4 line) (nth 5 line)))
- (pair (assoc key line-map)))
- (unless pair
- (setq pair (list key nil nil))
- (push pair line-map))
- (setf (cadr pair) (or (cadr pair) (nth 2 line)))
- (push (cons (- i (nth 3 line)) (car line)) (caddr pair))))
+ (let ((i 0)
+ (lines-left framebuffer))
+ (while lines-left
+ (let ((line (pop lines-left)))
+ (when (nth 1 line)
+ (when (and (/= (char-before (nth 4 line)) ?\n))
+ (let ((ov (make-overlay (nth 4 line) (nth 4 line))))
+ (push ov (window-parameter nil 'popon-overlays))
+ (overlay-put ov 'window (selected-window))
+ (overlay-put ov 'after-string "\n")))
+ (let* ((key (cons (nth 4 line) (nth 5 line)))
+ (pair (assoc key line-map)))
+ (unless pair
+ (setq pair (list key nil nil))
+ (push pair line-map))
+ (setf (cadr pair) (or (cadr pair) (nth 2 line)))
+ (push (cons (- i (nth 3 line)) (car line)) (caddr pair)))))
(setq i (1+ i))))
(dolist (block line-map)
(let ((ov (make-overlay (caar block) (cdar block))))
- [nongnu] elpa/popon 88d2d3ca2a 09/15: Revert "Fix #1 newline background at end of line", (continued)
- [nongnu] elpa/popon 88d2d3ca2a 09/15: Revert "Fix #1 newline background at end of line", ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon e4d9123e0b 13/15: Fix popon beyond EOB appearing at wrong position, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 7e6a5d6ec6 02/15: Add COPYING, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 7a359994ff 05/15: Add autoload cookies, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 240fb286d8 01/15: Working implementation, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon e6e2e8dff0 10/15: Revert "Revert "Fix #1 newline background at end of line"", ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon aed8ff598d 15/15: Take the fringe width into account, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon c34dd56fbd 04/15: Add installation instruction, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 6c1311600a 11/15: Lower required Emacs version, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 22e76f812c 14/15: Fix Eshell popon error, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 61b54bea8c 12/15: Fix popon breaking when long lines aren't truncated,
ELPA Syncer <=