Mercurial > emacs
changeset 16557:4ff6a0f0f5c7
(describe-variable): Pretty-print the values.
Put doc string first, if the value is long.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 10 Nov 1996 18:52:18 +0000 |
parents | 3a1df67c6677 |
children | 40a1e1451821 |
files | lisp/help.el |
diffstat | 1 files changed, 44 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/help.el Sun Nov 10 05:02:38 1996 +0000 +++ b/lisp/help.el Sun Nov 10 18:52:18 1996 +0000 @@ -592,32 +592,50 @@ (list (if (equal val "") v (intern val))))) (if (symbolp variable) - (with-output-to-temp-buffer "*Help*" - (prin1 variable) - (if (not (boundp variable)) - (princ " is void") - (princ "'s value is ") - (prin1 (symbol-value variable))) - (terpri) - (if (local-variable-p variable) - (progn - (princ (format "Local in buffer %s; " (buffer-name))) - (if (not (default-boundp variable)) - (princ "globally void") - (princ "global value is ") - (prin1 (default-value variable))) - (terpri))) - (terpri) - (princ "Documentation:") - (terpri) - (let ((doc (documentation-property variable 'variable-documentation))) - (princ (or doc "not documented as a variable."))) - (print-help-return-message) - (save-excursion - (set-buffer standard-output) - (help-mode) - ;; Return the text we displayed. - (buffer-string))) + (let (valvoid) + (with-output-to-temp-buffer "*Help*" + (prin1 variable) + (if (not (boundp variable)) + (progn + (princ " is void") + (terpri) + (setq valvoid t)) + (princ "'s value is ") + (terpri) + (pp (symbol-value variable)) + (terpri)) + (if (local-variable-p variable) + (progn + (princ (format "Local in buffer %s; " (buffer-name))) + (if (not (default-boundp variable)) + (princ "globally void") + (princ "global value is ") + (terpri) + (pp (default-value variable))) + (terpri))) + (terpri) + (save-current-buffer + (set-buffer standard-output) + (if (> (count-lines (point-min) (point-max)) 10) + (progn + (goto-char (point-min)) + (if valvoid + (forward-line 1) + (forward-sexp 1) + (delete-region (point) (progn (end-of-line) (point))) + (insert "'s value is shown below.\n\n") + (save-excursion + (insert "\n\nValue:")))))) + (princ "Documentation:") + (terpri) + (let ((doc (documentation-property variable 'variable-documentation))) + (princ (or doc "not documented as a variable."))) + (print-help-return-message) + (save-excursion + (set-buffer standard-output) + (help-mode) + ;; Return the text we displayed. + (buffer-string)))) (message "You did not specify a variable"))) (defun where-is (definition)