# HG changeset patch # User Richard M. Stallman # Date 937292404 0 # Node ID 2b96c6e05f232782822ec33777d7cec9b5a7702a # Parent b6b86ee3839127c0058a2d3ae86ed237f68fc2e3 (eval-expression-print-level): New variable. (eval-expression-print-length): New variable. (eval-expression-debug-on-error): New variable. (eval-expression): Bind print-level, print-length and debug-on-error from those vars. diff -r b6b86ee38391 -r 2b96c6e05f23 lisp/simple.el --- a/lisp/simple.el Tue Sep 14 06:44:55 1999 +0000 +++ b/lisp/simple.el Tue Sep 14 07:00:04 1999 +0000 @@ -549,6 +549,24 @@ (defvar read-expression-history nil) +(defcustom eval-expression-print-level 4 + "*Value to use for `print-level' when printing value in `eval-expression'." + :group 'lisp + :type 'integer + :version "21.1") + +(defcustom eval-expression-print-length 12 + "*Value to use for `print-length' when printing value in `eval-expression'." + :group 'lisp + :type 'integer + :version "21.1") + +(defcustom eval-expression-debug-on-error t + "*Value to use for `debug-on-error' when evaluating in `eval-expression'." + :group 'lisp + :type 'boolean + :version "21.1") + ;; 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 @@ -560,9 +578,12 @@ nil read-expression-map t 'read-expression-history) current-prefix-arg)) - (setq values (cons (eval eval-expression-arg) values)) - (prin1 (car values) - (if eval-expression-insert-value (current-buffer) t))) + (let ((debug-on-error eval-expression-debug-on-error)) + (setq values (cons (eval eval-expression-arg) values))) + (let ((print-length eval-expression-print-length) + (print-level eval-expression-print-level)) + (prin1 (car values) + (if eval-expression-insert-value (current-buffer) t)))) (defun edit-and-eval-command (prompt command) "Prompting with PROMPT, let user edit COMMAND and eval result.