1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

Make describe-face also output the version information

* 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.
This commit is contained in:
Lars Ingebrigtsen 2019-07-14 18:50:23 +02:00
parent ac57c50938
commit 783eca5715
2 changed files with 15 additions and 6 deletions

View 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)))))))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

View 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