[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 28/38] org-string-width: Handle undefined behaviour in older E
From: |
Ihor Radchenko |
Subject: |
[PATCH v2 28/38] org-string-width: Handle undefined behaviour in older Emacs |
Date: |
Wed, 20 Apr 2022 21:27:42 +0800 |
* 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 188168cdc..e56a234d3 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -926,7 +926,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)
--
2.35.1
--
Ihor Radchenko,
PhD,
Center for Advancing Materials Performance from the Nanoscale (CAMP-nano)
State Key Laboratory for Mechanical Behavior of Materials, Xi'an Jiaotong
University, Xi'an, China
Email: yantar92@gmail.com, ihor_radchenko@alumni.sutd.edu.sg
- [PATCH v2 19/38] Restore old visibility behaviour of org-refile---, (continued)
- [PATCH v2 19/38] Restore old visibility behaviour of org-refile---, Ihor Radchenko, 2022/04/20
- [PATCH v2 17/38] org-compat: Work around some third-party packages using outline-* functions, Ihor Radchenko, 2022/04/20
- [PATCH v2 20/38] Add org-fold-related tests---, Ihor Radchenko, 2022/04/20
- [PATCH v2 22/38] ORG-NEWS: Add list of changes---, Ihor Radchenko, 2022/04/20
- [PATCH v2 23/38] Backport contributed commits---, Ihor Radchenko, 2022/04/20
- [PATCH v2 21/38] org-manual: Update to new org-fold function names---, Ihor Radchenko, 2022/04/20
- [PATCH v2 25/38] Fix bug in org-get-headingFixes #26, where fontification could make the matching and extraction of heading, Anders Johansson, 2022/04/20
- [PATCH v2 24/38] Fix typo: delete-duplicates → delete-dups, Anders Johansson, 2022/04/20
- [PATCH v2 26/38] Rename remaining org-force-cycle-archived, Anders Johansson, 2022/04/20
- [PATCH v2 27/38] Fix org-fold--hide-drawers--overlays---, Ihor Radchenko, 2022/04/20
- [PATCH v2 28/38] org-string-width: Handle undefined behaviour in older Emacs,
Ihor Radchenko <=
- [PATCH v2 29/38] org-string-width: Work around `window-pixel-width' bug in old Emacs, Ihor Radchenko, 2022/04/20
- [PATCH v2 30/38] org-fold-show-set-visibility: Fix edge case when folded region is at BOB, Ihor Radchenko, 2022/04/20
- [PATCH v2 32/38] test-org/string-width: Add tests for strings with prefix properties, Ihor Radchenko, 2022/04/20
- [PATCH v2 31/38] org-fold-core: Fix fontification inside folded regions, Ihor Radchenko, 2022/04/20
- [PATCH v2 33/38] org--string-from-props: Fix handling folds in Emacs <28, Ihor Radchenko, 2022/04/20
- [PATCH v2 34/38] org-link-make-string: Throw error when both LINK and DESCRIPTION are empty, Ihor Radchenko, 2022/04/20
- [PATCH v2 35/38] test-ol/org-toggle-link-display: Fix compatibility with old Emacs, Ihor Radchenko, 2022/04/20
- [PATCH v2 36/38] org-macs.el: Fix fontification checks take 2---, Ihor Radchenko, 2022/04/20
- [PATCH v2 37/38] org-fold-core-fontify-region: Fix cases when fontification is not registered, Ihor Radchenko, 2022/04/20
- [PATCH v2 38/38] org-agenda.el: Re-enable native compilation* lisp/org-agenda.el: Re-enable native compilation as it does not, Ihor Radchenko, 2022/04/20