[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/valign f8c521a 050/198: Refactor glyph calculation
From: |
Stefan Monnier |
Subject: |
[elpa] externals/valign f8c521a 050/198: Refactor glyph calculation |
Date: |
Tue, 1 Dec 2020 18:19:14 -0500 (EST) |
branch: externals/valign
commit f8c521a13911a09fc669784f028b126464ad540a
Author: Yuan Fu <casouri@gmail.com>
Commit: Yuan Fu <casouri@gmail.com>
Refactor glyph calculation
* valign.el (valign--tab-width, valign--glyph-width-at-point): Use aref.
---
valign.el | 25 ++++++++-----------------
1 file changed, 8 insertions(+), 17 deletions(-)
diff --git a/valign.el b/valign.el
index 3beb3d6..823cf7c 100644
--- a/valign.el
+++ b/valign.el
@@ -124,13 +124,10 @@ Return nil if not in a cell."
;; redisplay calculates tab width based one the iterators position
;; on-the-fly, to calculate the exact width of a tab, you need to
;; know it’s _position_, that means calculating from the left edge).
- (* (or tab-width 8) ;; FIXME For some unknown reason, tab-width is
- ;; sometimes nil, someone should investigate.
- (aref (car (mapcar
- #'identity (font-get-glyphs
- font
- 0 1 " ")))
- 4)))
+ (* (or tab-width 8)
+ ;; FIXME For some unknown reason, tab-width is
+ ;; sometimes nil, someone should investigate.
+ (aref (aref (font-get-glyphs font 0 1 " ") 0) 4)))
(defun valign--glyph-width-at-point (&optional point)
"Return the pixel width of the glyph at POINT.
@@ -141,16 +138,10 @@ character’s glyph width."
;; car + mapcar to translate the vector to a list.
(if (eq (char-after point) ?\t)
(valign--tab-width (font-at p))
- (aref (car (mapcar
- #'identity (font-get-glyphs
- ;; (font-at 0 nil (buffer-substring p (1+
- ;; p))) doesn’t work, the font is
- ;; sometimes wrong. (font-at p) doesn’t
- ;; work, because it requires the buffer to
- ;; be visible.
- (font-at p)
- p (1+ p))))
- 4))))
+ ;; (font-at 0 nil (buffer-substring p (1+ p))) doesn’t work, the
+ ;; font is sometimes wrong. (font-at p) doesn’t work, because
+ ;; it requires the buffer to be visible.
+ (aref (aref (font-get-glyphs (font-at p) p (1+ p)) 0) 4))))
(defun valign--pixel-width-from-to (from to)
"Return the width of the glyphs from FROM (inclusive) to TO (exclusive).
- [elpa] externals/valign 3a84705 062/198: Suppress some errors, (continued)
- [elpa] externals/valign 3a84705 062/198: Suppress some errors, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 455cb2c 070/198: * valign.el (Version): Change to 1.0.0., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 411754b 073/198: Fix function name, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 16656b5 075/198: * valign.el (valign--calculate-table-info): Record empty columns., Stefan Monnier, 2020/12/01
- [elpa] externals/valign ef090ad 077/198: * valign.el (valign--org-mode-hook): Put our hook at the end., Stefan Monnier, 2020/12/01
- [elpa] externals/valign c13657e 094/198: Fix infinite loop, Stefan Monnier, 2020/12/01
- [elpa] externals/valign a04e1e7 096/198: * valign.el (valign--beginning-of-table): Fix infinite loop., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 1126f3f 113/198: * valign.el (valign-table-quiet): Don't report error even if debug-on-error is non-nil., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 143a4de 143/198: Align tables when re-enabling valign-mode, Stefan Monnier, 2020/12/01
- [elpa] externals/valign a9614de 049/198: Update documentation, Stefan Monnier, 2020/12/01
- [elpa] externals/valign f8c521a 050/198: Refactor glyph calculation,
Stefan Monnier <=
- [elpa] externals/valign 9035bac 055/198: * valign.el (valign--cell-alignment): Give a default alignment., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 258f627 014/198: * valign.el (valign--clean-text-property): Fix., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 9f62c59 027/198: * valign.el (valign--pixel-width-from-to): Fix invisible text detection., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 6905c5d 030/198: Better handling for invisible text, Stefan Monnier, 2020/12/01
- [elpa] externals/valign 46de910 037/198: Remove outdated documentation., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 322f8f5 040/198: * valign.el (valign-separator-row-style): Fix definition., Stefan Monnier, 2020/12/01
- [elpa] externals/valign f3759db 046/198: Add proper right alignment for markdown tables, Stefan Monnier, 2020/12/01
- [elpa] externals/valign dc72743 051/198: Fix infinite loop, Stefan Monnier, 2020/12/01
- [elpa] externals/valign cc3e068 053/198: * valign.el (valign--end-of-table): Change re., Stefan Monnier, 2020/12/01
- [elpa] externals/valign 2014054 057/198: ; * README.org: Minor change., Stefan Monnier, 2020/12/01