Mercurial > emacs
changeset 62947:2a5dbdf6d22a
(list-faces-display): Improve the formatting by computing the maximum length
required for any face-name (reworked patch of 1999-01-11, accidentally deleted
on 1999-07-21).
(internal-find-face): Remove redundant info in docstring.
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Wed, 01 Jun 2005 10:42:47 +0000 |
parents | f3d98f3c498a |
children | eb64de7c6f1b |
files | lisp/faces.el |
diffstat | 1 files changed, 19 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/faces.el Wed Jun 01 08:21:48 2005 +0000 +++ b/lisp/faces.el Wed Jun 01 10:42:47 2005 +0000 @@ -183,10 +183,7 @@ If the optional argument FRAME is given, this gets the face NAME for that frame; otherwise, it uses the selected frame. If FRAME is the symbol t, then the global, non-frame face is returned. -If NAME is already a face, it is simply returned. - -This function is defined for compatibility with Emacs 20.2. It -should not be used anymore." +If NAME is already a face, it is simply returned." (facep name)) (make-obsolete 'internal-find-face 'facep "21.1") @@ -1154,18 +1151,24 @@ arg, prompt for a regular expression." (interactive (list (and current-prefix-arg (read-string "List faces matching regexp: ")))) - (let ((faces (sort (face-list) #'string-lessp)) + (let ((all-faces (zerop (length regexp))) (frame (selected-frame)) + (max-length 0) + faces line-format disp-frame window face-name) - (when (> (length regexp) 0) - (setq faces - (delq nil - (mapcar (lambda (f) - (when (string-match regexp (symbol-name f)) - f)) - faces))) - (unless faces - (error "No faces matching \"%s\"" regexp))) + ;; We filter and take the max length in one pass + (setq faces + (delq nil + (mapcar (lambda (f) + (let ((s (symbol-name f))) + (when (or all-faces (string-match regexp s)) + (setq max-length (max (length s) max-length)) + f))) + (sort (face-list) #'string-lessp)))) + (unless faces + (error "No faces matching \"%s\"" regexp)) + (setq max-length (1+ max-length) + line-format (format "%%-%ds" max-length)) (with-output-to-temp-buffer "*Faces*" (save-excursion (set-buffer standard-output) @@ -1180,7 +1183,7 @@ (setq help-xref-stack nil) (dolist (face faces) (setq face-name (symbol-name face)) - (insert (format "%25s " face-name)) + (insert (format line-format face-name)) ;; Hyperlink to a customization buffer for the face. Using ;; the help xref mechanism may not be the best way. (save-excursion @@ -1205,7 +1208,7 @@ (goto-char beg) (forward-line 1) (while (not (eobp)) - (insert " ") + (insert-char ?\s max-length) (forward-line 1)))) (goto-char (point-min))) (print-help-return-message))