diff options
author | Juri Linkov <juri@jurta.org> | 2004-05-28 21:00:14 +0000 |
---|---|---|
committer | Juri Linkov <juri@jurta.org> | 2004-05-28 21:00:14 +0000 |
commit | fa219ebdf78561d9f74619522ab9c70bc1badafa (patch) | |
tree | e52f8a475969a161e9b75596ae8ebf12276e9b38 /lisp | |
parent | b40ea20a66404a42ee11d2690b8aa8657fba3388 (diff) | |
download | emacs-fa219ebdf78561d9f74619522ab9c70bc1badafa.tar.gz |
(eval-expression-print-format): New fun.
(eval-expression): Print additionally the value returned by
`eval-expression-print-format'.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/simple.el | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/lisp/simple.el b/lisp/simple.el index 1cf3601b5b1..c72b6a929de 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -785,6 +785,23 @@ If nil, don't change the value of `debug-on-error'." :type 'boolean :version "21.1") +(defun eval-expression-print-format (value) + "Format VALUE as a result of evaluated expression. +Return a formatted string which is displayed in the echo area +in addition to the value printed by prin1 in functions which +display the result of expression evaluation." + (if (and (integerp value) + (or (not (eq this-command 'eval-last-sexp)) + (eq this-command last-command) + (and (boundp 'edebug-active) edebug-active))) + (let ((char-string + (if (or (and (boundp 'edebug-active) edebug-active) + (eq this-command 'eval-last-sexp)) + (prin1-char value)))) + (if char-string + (format " (0%o, 0x%x) = %s" value value char-string) + (format " (0%o, 0x%x)" value value))))) + ;; We define this, rather than making `eval' interactive, ;; for the sake of completion of names like eval-region, eval-current-buffer. (defun eval-expression (eval-expression-arg @@ -819,7 +836,10 @@ the echo area." (with-no-warnings (let ((standard-output (current-buffer))) (eval-last-sexp-print-value (car values)))) - (prin1 (car values) t)))) + (prog1 + (prin1 (car values) t) + (let ((str (eval-expression-print-format (car values)))) + (if str (princ str t))))))) (defun edit-and-eval-command (prompt command) "Prompting with PROMPT, let user edit COMMAND and eval result. |