diff options
-rw-r--r-- | lisp/ChangeLog | 3 | ||||
-rw-r--r-- | lisp/buff-menu.el | 15 |
2 files changed, 11 insertions, 7 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2ac43c58125..04fff3dfcc1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2009-11-06 Chong Yidong <cyd@stupidchicken.com> + * buff-menu.el (Buffer-menu-buffer+size): Use display property to + align size column (Bug#4839). + * emacs-lisp/autoload.el (autoload-rubric): Always issue a provide statement. diff --git a/lisp/buff-menu.el b/lisp/buff-menu.el index d838f5ee18f..6ef7195c426 100644 --- a/lisp/buff-menu.el +++ b/lisp/buff-menu.el @@ -678,12 +678,13 @@ For more information, see the function `buffer-menu'." (setq name (copy-sequence name))) (add-text-properties 0 (length name) name-props name) (add-text-properties 0 (length size) size-props size) - (concat name - (make-string (- Buffer-menu-buffer+size-width - (string-width name) - (string-width size)) - ?\s) - size)) + (let ((name+space-width (- Buffer-menu-buffer+size-width + (string-width size)))) + (concat name + (propertize (make-string (- name+space-width (string-width name)) + ?\s) + 'display `(space :align-to ,(+ 4 name+space-width))) + size))) (defun Buffer-menu-sort (column) "Sort the buffer menu by COLUMN." @@ -889,7 +890,7 @@ For more information, see the function `buffer-menu'." ;; This way we avoid problems with unusual buffer names. (let ((name (nth 2 buffer)) (size (int-to-string (nth 3 buffer)))) - (Buffer-menu-buffer+size name size + (Buffer-menu-buffer+size name size `(buffer-name ,name buffer ,(car buffer) font-lock-face buffer-menu-buffer |