[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/valign 84dc2ce 153/198: Fix misalignment
From: |
Stefan Monnier |
Subject: |
[elpa] externals/valign 84dc2ce 153/198: Fix misalignment |
Date: |
Tue, 1 Dec 2020 18:19:38 -0500 (EST) |
branch: externals/valign
commit 84dc2ce537abdb24249e46b8f78357cd42d972b6
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Fix misalignment
* valign.el (valign--pixel-width-from-to): Calculate line-prefix
correctly.
---
valign.el | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/valign.el b/valign.el
index 4e5774b..8831062 100644
--- a/valign.el
+++ b/valign.el
@@ -159,12 +159,24 @@ properties must be cleaned before using this.
If WITH-PREFIX is non-nil, don’t subtract the width of line
prefix."
- (let ((window (get-buffer-window)))
+ (let* ((window (get-buffer-window))
+ ;; This computes the prefix width. This trick doesn’t seem
+ ;; work if the point is at the beginning of a line, so we use
+ ;; TO instead of FROM.
+ ;;
+ ;; Why all this fuss: Org puts some display property on white
+ ;; spaces in a cell: (space :relative-width 1). And that
+ ;; messes up the calculation of prefix: now it returns the
+ ;; width of a space instead of 0 when there is no line
+ ;; prefix. So we move the test point around until it doesn’t
+ ;; sit on a character with display properties.
+ (line-prefix
+ (let ((pos to))
+ (while (get-char-property pos 'display)
+ (cl-decf pos))
+ (car (window-text-pixel-size window pos pos)))))
(- (car (window-text-pixel-size window from to))
- ;; This computes the prefix width. This trick doesn’t seem work
- ;; if the point is at the beginning of a line.
- (if with-prefix 0 (car (window-text-pixel-size window to to)))
- ;; FIXME: Workaround.
+ (if with-prefix 0 line-prefix)
(if (bound-and-true-p display-line-numbers-mode)
(line-number-display-width 'pixel)
0))))
- [elpa] externals/valign 5b0c557 107/198: * README.org (Customization): Update., (continued)
- [elpa] externals/valign 5b0c557 107/198: * README.org (Customization): Update., Stefan Monnier, 2020/12/01
- [elpa] externals/valign d37ce14 185/198: Add column padding, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 58f5dc8 190/198: * valign.el: Update keywords., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 666e7d7 175/198: * valign.el (valign--end-of-table): Fix infinite loop., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 6a4a91b 159/198: Add a case for empty cells, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 2054ccf 160/198: Fix fancy bar, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 4f3eccd 166/198: Fix wrong argument nil error when valign-region receives no arguments, Stefan Monnier, 2020/12/01
- [elpa] externals/valign fe1160a 157/198: * valign.el (valign-mode): Remove obsolete code., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 6e3e6ce 158/198: ; Add test file and Makefile, Stefan Monnier, 2020/12/01
- [elpa] externals/valign eb22fae 150/198: Add hooks to org-indent-mode, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 84dc2ce 153/198: Fix misalignment,
Stefan Monnier <=
- [elpa] externals/valign 55cde13 162/198: * valign.el (valign-table-1): Add indent., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 6e01d5b 172/198: Update README, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 7c67cf6 186/198: Update documentation, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 762b115 144/198: * valign.el (valign--separator-row-add-overlay): Change 'valign--glyph-width-at-point' to 'valign--pixel-width-from-to'., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 1858260 146/198: * valign.el: Bump version to 2.2.0, Stefan Monnier, 2020/12/01
- [elpa] externals/valign ac5bdad 154/198: Fix cell-width calculation, Stefan Monnier, 2020/12/01
- [elpa] externals/valign e94782a 180/198: Remove org-agenda-finalize-hook, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 5e70d9b 196/198: Fix beginning- and end-of-table functions, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 44f065d 131/198: * valign.el: Bump version to 2.1.0, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 693f086 135/198: * valign.el (valign-mode): Change tab-advice to :after., Stefan Monnier, 2020/12/01