emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 5c8375b: describe-font/font-info works with unloaded fonts


From: Lars Ingebrigtsen
Subject: master 5c8375b: describe-font/font-info works with unloaded fonts
Date: Sun, 3 Nov 2019 10:33:25 -0500 (EST)

branch: master
commit 5c8375bd681a7819e536dda84d63fb950595967d
Author: Lars Ingebrigtsen <address@hidden>
Commit: Lars Ingebrigtsen <address@hidden>

    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.
---
 lisp/international/mule-diag.el | 18 ++++++++++++------
 src/font.c                      |  4 +---
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/lisp/international/mule-diag.el b/lisp/international/mule-diag.el
index dcdcafc..c4122c9 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 7fdadb1..156107e 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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]