diff --git a/lisp/org-macs.el b/lisp/org-macs.el index 0ccf080a3..0a7da0637 100644 --- a/lisp/org-macs.el +++ b/lisp/org-macs.el @@ -920,7 +920,16 @@ (defun org-string-width (string &optional pixels) (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)