summaryrefslogtreecommitdiff
path: root/lisp/help.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-11-10 18:52:18 +0000
committerRichard M. Stallman <rms@gnu.org>1996-11-10 18:52:18 +0000
commitaacde083906fd37983caf387688142a1f91f899e (patch)
treeebab07011b1eb2f49b7452db829ceb21dff3361e /lisp/help.el
parent6d0e5e3052572903a7c9b96fc6997d58453fd07e (diff)
downloademacs-aacde083906fd37983caf387688142a1f91f899e.tar.gz
(describe-variable): Pretty-print the values.
Put doc string first, if the value is long.
Diffstat (limited to 'lisp/help.el')
-rw-r--r--lisp/help.el70
1 files changed, 44 insertions, 26 deletions
diff --git a/lisp/help.el b/lisp/help.el
index e775139ddb8..46c0975dd99 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -592,32 +592,50 @@ Returns the documentation as a string, also."
(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)