]> git.eshelyaron.com Git - emacs.git/commitdiff
Make describe-face also output the version information
authorLars Ingebrigtsen <larsi@gnus.org>
Sun, 14 Jul 2019 16:50:23 +0000 (18:50 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Sun, 14 Jul 2019 16:50:27 +0000 (18:50 +0200)
* lisp/help-fns.el (describe-variable-custom-version-info): Allow
taking a type as an optional input, so this can be used for faces,
too (bug#30527).

* lisp/faces.el (describe-face): Use this to output the version
information.

lisp/faces.el
lisp/help-fns.el

index f9e8c6c58b8c98bf24e5ec885b3165782c43f130..5193c216d0acd9593889889195f2ced3bfb7328b 100644 (file)
@@ -1416,6 +1416,8 @@ argument, prompt for a regular expression using `read-regexp'."
        (dolist (face (face-list))
          (copy-face face face frame disp-frame)))))
 
+(declare-function describe-variable-custom-version-info "help-fns"
+                  (variable &optional type))
 
 (defun describe-face (face &optional frame)
   "Display the properties of face FACE on FRAME.
@@ -1428,6 +1430,7 @@ If FRAME is omitted or nil, use the selected frame."
   (interactive (list (read-face-name "Describe face"
                                      (or (face-at-point t) 'default)
                                      t)))
+  (require 'help-fns)
   (let* ((attrs '((:family . "Family")
                  (:foundry . "Foundry")
                  (:width . "Width")
@@ -1524,7 +1527,12 @@ If FRAME is omitted or nil, use the selected frame."
                          (re-search-backward ": \\([^:]+\\)" nil t)
                          (help-xref-button 1 'help-face attr)))
                    (insert "\n")))))
-           (terpri)))))))
+           (terpri)
+            (let ((version-info (describe-variable-custom-version-info
+                                 f 'face)))
+              (when version-info
+                (insert version-info)
+                (terpri)))))))))
 
 \f
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index 39f701ae2a8d2d9b93efd1b33691fc27cc941c70..0b5c547d6b08cbe78f760d01036311c673e09def 100644 (file)
@@ -860,14 +860,15 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
                 (and (or any-symbol (boundp sym)) sym)))))
         0)))
 
-(defun describe-variable-custom-version-info (variable)
+(defun describe-variable-custom-version-info (variable &optional type)
   (let ((custom-version (get variable 'custom-version))
        (cpv (get variable 'custom-package-version))
+        (type (or type "variable"))
        (output nil))
     (if custom-version
        (setq output
-             (format "This variable was introduced, or its default value was changed, in\nversion %s of Emacs.\n"
-                     custom-version))
+             (format "This %s was introduced, or its default value was changed, in\nversion %s of Emacs.\n"
+                      type custom-version))
       (when cpv
        (let* ((package (car-safe cpv))
               (version (if (listp (cdr-safe cpv))
@@ -877,11 +878,11 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
               (emacsv (cdr (assoc version pkg-versions))))
          (if (and package version)
              (setq output
-                   (format (concat "This variable was introduced, or its default value was changed, in\nversion %s of the %s package"
+                   (format (concat "This %s was introduced, or its default value was changed, in\nversion %s of the %s package"
                                    (if emacsv
                                        (format " that is part of Emacs %s" emacsv))
                                    ".\n")
-                           version package))))))
+                           type version package))))))
     output))
 
 ;;;###autoload