branch: externals/org commit 2e3566e1e9bd302b2fa47854df5d146ad0f68045 Author: Ihor Radchenko <yanta...@gmail.com> Commit: Ihor Radchenko <yanta...@gmail.com>
org-string-width: Handle undefined behaviour in older Emacs * lisp/org-macs.el (org-string-width): Force older Emacs treating invisible text with ellipsis as zero-width. Newer Emacs versions do exactly this. --- lisp/org-macs.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/org-macs.el b/lisp/org-macs.el index 188168cdce..e56a234d32 100644 --- a/lisp/org-macs.el +++ b/lisp/org-macs.el @@ -926,7 +926,16 @@ Return width in pixels when PIXELS is non-nil." (with-temp-buffer (setq-local display-line-numbers nil) (setq-local buffer-invisibility-spec - current-invisibility-spec) + (if (listp current-invisibility-spec) + (mapcar (lambda (el) + ;; Consider elipsis to have 0 width. + ;; It is what Emacs 28+ does, but we have + ;; to force it in earlier Emacs versions. + (if (and (consp el) (cdr el)) + (list (car el)) + el)) + current-invisibility-spec) + current-invisibility-spec)) (setq-local char-property-alias-alist current-char-property-alias-alist) (let (pixel-width symbol-width)