Commit 05849e2a authored by John Paul Wallington's avatar John Paul Wallington
Browse files

(describe-variable-custom-version-info): New function to return

variable's version or package version note.
(describe-variable): Use it, display result.
parent cc349341
...@@ -456,6 +456,28 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound." ...@@ -456,6 +456,28 @@ If ANY-SYMBOL is non-nil, don't insist the symbol be bound."
(and (or any-symbol (boundp sym)) sym))))) (and (or any-symbol (boundp sym)) sym)))))
0)) 0))
(defun describe-variable-custom-version-info (variable)
(let ((custom-version (get variable 'custom-version))
(cpv (get variable 'custom-package-version))
(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))
(when cpv
(let* ((package (car-safe cpv))
(version (car (cdr-safe cpv)))
(pkg-versions (assq package customize-package-emacs-version-alist))
(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"
(if emacsv
(format " that is part of Emacs %s" emacsv))
".\n")
version package))))))
output))
;;;###autoload ;;;###autoload
(defun describe-variable (variable &optional buffer frame) (defun describe-variable (variable &optional buffer frame)
"Display the full documentation of VARIABLE (a symbol). "Display the full documentation of VARIABLE (a symbol).
...@@ -646,16 +668,23 @@ it is displayed along with the global value." ...@@ -646,16 +668,23 @@ it is displayed along with the global value."
(with-current-buffer standard-output (with-current-buffer standard-output
(insert (or doc "Not documented as a variable.")))) (insert (or doc "Not documented as a variable."))))
;; Make a link to customize if this variable can be customized. ;; Make a link to customize if this variable can be customized.
(if (custom-variable-p variable) (when (custom-variable-p variable)
(let ((customize-label "customize")) (let ((customize-label "customize"))
(terpri)
(terpri)
(princ (concat "You can " customize-label " this variable."))
(with-current-buffer standard-output
(save-excursion
(re-search-backward
(concat "\\(" customize-label "\\)") nil t)
(help-xref-button 1 'help-customize-variable variable))))
;; Note variable's version or package version
(let ((output (describe-variable-custom-version-info variable)))
(when output
(terpri) (terpri)
(terpri) (terpri)
(princ (concat "You can " customize-label " this variable.")) (princ output))))
(with-current-buffer standard-output
(save-excursion
(re-search-backward
(concat "\\(" customize-label "\\)") nil t)
(help-xref-button 1 'help-customize-variable variable)))))
(print-help-return-message) (print-help-return-message)
(save-excursion (save-excursion
(set-buffer standard-output) (set-buffer standard-output)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment