branch: master commit 6a73928e6e58a5cbcf606979a65d04407de8702b Author: Michael Heerdegen <michael_heerde...@web.de> Commit: Michael Heerdegen <michael_heerde...@web.de>
fix invisible fringe markers positioned in invisible lines (e.g. org) on-screen-beginning-of-line, on-screen-end-of-line: use forward-visible-line, end-of-visible-line --- on-screen.el | 13 ++++++++----- 1 files changed, 8 insertions(+), 5 deletions(-) diff --git a/on-screen.el b/on-screen.el index 7f74c77..c03d674 100644 --- a/on-screen.el +++ b/on-screen.el @@ -298,11 +298,14 @@ Type M-x customize-group on-screen RET for configuration." (on-screen-beginning-of-line 0) (point)))))))) -(defalias 'on-screen-beginning-of-line - 'beginning-of-line) +(defun on-screen-beginning-of-line (&optional n) + (callf or n 1) + (forward-visible-line (- n 1))) -(defalias 'on-screen-end-of-line - 'end-of-line) +(defun on-screen-end-of-line (&optional n) + (callf or n 1) + (forward-visible-line (- n 1)) + (end-of-visible-line)) (defun on-screen-record-data (win area &optional timer overlays) ;; The collected data has the form ((beg end) timer overlays), and @@ -401,7 +404,7 @@ remember nil for the timer." (defun on-screen-fringe-string (topp leftp &optional inversep) "Return a string suitable for displaying fringe markers." (let ((xor (lambda (x y) (if x (not y) y)))) - (propertize (copy-sequence "on-screen") + (propertize (purecopy " ") 'display (list (if leftp 'left-fringe 'right-fringe) (if (funcall xor topp (not inversep)) (if leftp 'top-left-angle 'top-right-angle)