Mercurial > emacs
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." |