[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/popon 651b648420 06/15: Fix popon breaking on buffers with
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/popon 651b648420 06/15: Fix popon breaking on buffers without final newline |
Date: |
Sun, 22 May 2022 12:59:18 -0400 (EDT) |
branch: elpa/popon
commit 651b648420b3e9fad5366dcea9aa3c69abe03e73
Author: Akib Azmain Turja <akib@disroot.org>
Commit: Akib Azmain Turja <akib@disroot.org>
Fix popon breaking on buffers without final newline
---
popon.el | 55 +++++++++++++++++++++++++++++--------------------------
1 file changed, 29 insertions(+), 26 deletions(-)
diff --git a/popon.el b/popon.el
index eda7300647..cd14e332ce 100644
--- a/popon.el
+++ b/popon.el
@@ -295,32 +295,35 @@ when LINE-BEGINNINGS was calculated.")
(push pair line-map))
(push (cons (- i (nth 2 line)) (car line)) (cdr pair))))
(setq i (1+ i))))
- (let ((newline-at-display t))
- (dolist (block line-map)
- (let ((ov (make-overlay (caar block) (cdar block))))
- (push ov (window-parameter nil 'popon-overlays))
- (overlay-put ov 'window (selected-window))
- (overlay-put ov 'display (if newline-at-display "\n" ""))
- (overlay-put
- ov 'before-string
- (let ((text "")
- (current-offset 0))
- (when (and (= (caar block) (cdar block) (point-max))
- (> (caar block) 0)
- (not (equal (buffer-substring-no-properties
- (1- (caar block)) (caar block))
- "\n")))
- (setq text "\n"))
- (dolist (line (sort (cdr block) #'car-less-than-car))
- (setq text (concat text
- (make-string (- (car line)
- current-offset)
- ?\n)
- (cdr line)))
- (setq current-offset (car line)))
- (add-face-text-property 0 (length text) 'default 'append text)
- (concat text (unless newline-at-display "\n"))))
- (setq newline-at-display (not newline-at-display)))))))
+ (dolist (block line-map)
+ (let ((ov (make-overlay (caar block) (cdar block))))
+ (push ov (window-parameter nil 'popon-overlays))
+ (overlay-put ov 'window (selected-window))
+ (overlay-put ov 'display (copy-sequence '(space :width (0))))
+ (overlay-put
+ ov 'before-string
+ (let ((text "")
+ (current-offset 0))
+ (when (and (= (caar block) (cdar block) (point-max))
+ (not (equal (buffer-substring-no-properties
+ (1- (caar block)) (caar block))
+ "\n")))
+ (setq text "\n"))
+ (dolist (line (sort (cdr block) #'car-less-than-car))
+ (setq text (concat text
+ (make-string (- (car line)
+ current-offset)
+ ?\n)
+ (cdr line)))
+ (setq current-offset (car line)))
+ (add-face-text-property 0 (length text) 'default 'append text)
+ (when (or (not (= (cdar block) (point-max)))
+ (not (< (caar block) (cdar block)))
+ (equal (buffer-substring-no-properties
+ (1- (cdar block)) (cdar block))
+ "\n"))
+ (setq text (concat text "\n")))
+ text))))))
(defun popon--redisplay-1 (force)
"Redisplay popon overlays.
- [nongnu] branch elpa/popon created (now aed8ff598d), ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon cbcfb8d978 03/15: Fix problem with buffer without final newline, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 6d7ee4f32b 07/15: Don't mess up line numbers, ELPA Syncer, 2022/05/22
- [nongnu] elpa/popon 651b648420 06/15: Fix popon breaking on buffers without final newline,
ELPA Syncer <=
- [nongnu] elpa/popon 95c1a57d08 08/15: Fix #1 newline background at end of line, ELPA Syncer, 2022/05/22
- [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