[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1e2fbb5: Improve support of display-line-numbers in
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master 1e2fbb5: Improve support of display-line-numbers in tabulated-list-mode |
Date: |
Sat, 19 Aug 2017 06:38:28 -0400 (EDT) |
branch: master
commit 1e2fbb5e6345591cfe618fea90ac1ff8f82f3d33
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Improve support of display-line-numbers in tabulated-list-mode
* lisp/emacs-lisp/tabulated-list.el
(tabulated-list-line-number-width): New function.
(tabulated-list-init-header, tabulated-list-print-entry): Use it.
(Bug#27895)
---
lisp/emacs-lisp/tabulated-list.el | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/lisp/emacs-lisp/tabulated-list.el
b/lisp/emacs-lisp/tabulated-list.el
index 955b664..a0a74ce 100644
--- a/lisp/emacs-lisp/tabulated-list.el
+++ b/lisp/emacs-lisp/tabulated-list.el
@@ -186,6 +186,17 @@ If ADVANCE is non-nil, move forward by one line
afterwards."
Populated by `tabulated-list-init-header'.")
(defvar tabulated-list--header-overlay nil)
+(defun tabulated-list-line-number-width ()
+ "Return the width taken by display-line-numbers in the current buffer."
+ ;; line-number-display-width returns the value for the selected
+ ;; window, which might not be the window in which the current buffer
+ ;; is displayed.
+ (let ((cbuf-window (get-buffer-window (current-buffer))))
+ (if (window-live-p cbuf-window)
+ (with-selected-window cbuf-window
+ (+ (line-number-display-width) 2))
+ 4)))
+
(defun tabulated-list-init-header ()
"Set up header line for the Tabulated List buffer."
;; FIXME: Should share code with tabulated-list-print-col!
@@ -195,7 +206,7 @@ Populated by `tabulated-list-init-header'.")
keymap ,tabulated-list-sort-button-map))
(cols nil))
(if display-line-numbers
- (setq x (+ x (line-number-display-width) 2)))
+ (setq x (+ x (tabulated-list-line-number-width))))
(push (propertize " " 'display `(space :align-to ,x)) cols)
(dotimes (n (length tabulated-list-format))
(let* ((col (aref tabulated-list-format n))
@@ -413,7 +424,7 @@ of column descriptors."
(ncols (length tabulated-list-format))
(inhibit-read-only t))
(if display-line-numbers
- (setq x (+ x (line-number-display-width) 2)))
+ (setq x (+ x (tabulated-list-line-number-width))))
(if (> tabulated-list-padding 0)
(insert (make-string x ?\s)))
(let ((tabulated-list--near-rows ; Bind it if not bound yet (Bug#25506).
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 1e2fbb5: Improve support of display-line-numbers in tabulated-list-mode,
Eli Zaretskii <=