From: Lars Ingebrigtsen Date: Sun, 3 Nov 2019 15:33:15 +0000 (+0100) Subject: describe-font/font-info works with unloaded fonts X-Git-Tag: emacs-27.0.90~755 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5c8375bd681a7819e536dda84d63fb950595967d;p=emacs.git describe-font/font-info works with unloaded fonts * lisp/international/mule-diag.el (describe-font): This function can be used on unloaded fonts, so remove that restriction from the doc string (bug#16815). Also allow completion over all fonts on the system. * src/font.c (Ffont_info): Ditto for the doc string. --- diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el index dcdcafcea77..c4122c92716 100644 --- a/lisp/international/mule-diag.el +++ b/lisp/international/mule-diag.el @@ -835,9 +835,16 @@ The IGNORED argument is ignored." ;;;###autoload (defun describe-font (fontname) - "Display information about a font whose name is FONTNAME. -The font must be already used by Emacs." - (interactive "sFont name (default current choice for ASCII chars): ") + "Display information about a font whose name is FONTNAME." + (interactive + (list (completing-read + "Font name (default current choice for ASCII chars): " + (and window-system + (fboundp 'fontset-list) + ;; The final element in `fontset-list' is a default + ;; (generic) one, so don't include that. + (nconc (butlast (fontset-list)) + (x-list-fonts "*")))))) (or (and window-system (fboundp 'fontset-list)) (error "No fonts being used")) (let ((xref-item (list #'describe-font fontname)) @@ -847,9 +854,8 @@ The font must be already used by Emacs." (setq font-info (font-info fontname)) (if (null font-info) (if (fontp fontname 'font-object) - ;; The font should be surely used. So, there's some - ;; problem about getting information about it. It is - ;; better to print the fontname to show which font has + ;; If there's some problem with getting information about + ;; the font, print the font name to show which font has ;; this problem. (message "No information about \"%s\"" (font-xlfd-name fontname)) (message "No matching font found")) diff --git a/src/font.c b/src/font.c index 7fdadb17c14..156107e5897 100644 --- a/src/font.c +++ b/src/font.c @@ -5127,9 +5127,7 @@ where FEATURE is a symbol representing OpenType feature tag. If the font is not an OpenType font, there are no elements - in CAPABILITY except the font format symbol. - -If the named font is not yet loaded, return nil. */) + in CAPABILITY except the font format symbol. */) (Lisp_Object name, Lisp_Object frame) { struct frame *f;