comparison lisp/simple.el @ 25702:2b96c6e05f23

(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.
author Richard M. Stallman <rms@gnu.org>
date Tue, 14 Sep 1999 07:00:04 +0000
parents af3e44ec3b8c
children f6c190ef2f45
comparison
equal deleted inserted replaced
25701:b6b86ee38391 25702:2b96c6e05f23
547 "Minibuffer keymap used for reading Lisp expressions.") 547 "Minibuffer keymap used for reading Lisp expressions.")
548 (define-key read-expression-map "\M-\t" 'lisp-complete-symbol) 548 (define-key read-expression-map "\M-\t" 'lisp-complete-symbol)
549 549
550 (defvar read-expression-history nil) 550 (defvar read-expression-history nil)
551 551
552 (defcustom eval-expression-print-level 4
553 "*Value to use for `print-level' when printing value in `eval-expression'."
554 :group 'lisp
555 :type 'integer
556 :version "21.1")
557
558 (defcustom eval-expression-print-length 12
559 "*Value to use for `print-length' when printing value in `eval-expression'."
560 :group 'lisp
561 :type 'integer
562 :version "21.1")
563
564 (defcustom eval-expression-debug-on-error t
565 "*Value to use for `debug-on-error' when evaluating in `eval-expression'."
566 :group 'lisp
567 :type 'boolean
568 :version "21.1")
569
552 ;; We define this, rather than making `eval' interactive, 570 ;; We define this, rather than making `eval' interactive,
553 ;; for the sake of completion of names like eval-region, eval-current-buffer. 571 ;; for the sake of completion of names like eval-region, eval-current-buffer.
554 (defun eval-expression (eval-expression-arg 572 (defun eval-expression (eval-expression-arg
555 &optional eval-expression-insert-value) 573 &optional eval-expression-insert-value)
556 "Evaluate EXPRESSION and print value in minibuffer. 574 "Evaluate EXPRESSION and print value in minibuffer.
558 (interactive 576 (interactive
559 (list (read-from-minibuffer "Eval: " 577 (list (read-from-minibuffer "Eval: "
560 nil read-expression-map t 578 nil read-expression-map t
561 'read-expression-history) 579 'read-expression-history)
562 current-prefix-arg)) 580 current-prefix-arg))
563 (setq values (cons (eval eval-expression-arg) values)) 581 (let ((debug-on-error eval-expression-debug-on-error))
564 (prin1 (car values) 582 (setq values (cons (eval eval-expression-arg) values)))
565 (if eval-expression-insert-value (current-buffer) t))) 583 (let ((print-length eval-expression-print-length)
584 (print-level eval-expression-print-level))
585 (prin1 (car values)
586 (if eval-expression-insert-value (current-buffer) t))))
566 587
567 (defun edit-and-eval-command (prompt command) 588 (defun edit-and-eval-command (prompt command)
568 "Prompting with PROMPT, let user edit COMMAND and eval result. 589 "Prompting with PROMPT, let user edit COMMAND and eval result.
569 COMMAND is a Lisp expression. Let user edit that expression in 590 COMMAND is a Lisp expression. Let user edit that expression in
570 the minibuffer, then read and evaluate the result." 591 the minibuffer, then read and evaluate the result."