# HG changeset patch # User John Paul Wallington # Date 1192845038 0 # Node ID b8519672d45164b3b773c3c3ceeb43d90d16c1c0 # Parent 771c063a16df9268e51da8e8ff995861027e8b08 (describe-variable-custom-version-info): New function to return variable's version or package version note. (describe-variable): Use it, display result. diff -r 771c063a16df -r b8519672d451 lisp/help-fns.el --- a/lisp/help-fns.el Sat Oct 20 01:46:38 2007 +0000 +++ b/lisp/help-fns.el Sat Oct 20 01:50:38 2007 +0000 @@ -456,6 +456,28 @@ (and (or any-symbol (boundp sym)) sym))))) 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 (defun describe-variable (variable &optional buffer frame) "Display the full documentation of VARIABLE (a symbol). @@ -646,16 +668,23 @@ (with-current-buffer standard-output (insert (or doc "Not documented as a variable.")))) ;; Make a link to customize if this variable can be customized. - (if (custom-variable-p variable) - (let ((customize-label "customize")) + (when (custom-variable-p variable) + (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) - (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))))) + (princ output)))) + (print-help-return-message) (save-excursion (set-buffer standard-output)