comparison lisp/emacs-lisp/lisp-mode.el @ 52208:4a7f0e1b3678

(eval-last-sexp-print-value): New subroutine, broken out of eval-last-sexp-1. (eval-last-sexp-1): Use eval-last-sexp-print-value.
author Richard M. Stallman <rms@gnu.org>
date Sun, 17 Aug 2003 00:18:15 +0000
parents e363b422bcd4
children c701c5555888
comparison
equal deleted inserted replaced
52207:c26f56efcd5d 52208:4a7f0e1b3678
510 (list 'lambda 510 (list 'lambda
511 '(&rest args) 511 '(&rest args)
512 expr 512 expr
513 'args))))) 513 'args)))))
514 expr))))))) 514 expr)))))))
515 (let ((unabbreviated (let ((print-length nil) (print-level nil)) 515 (eval-last-sexp-print-value value))))
516 (prin1-to-string value))) 516
517 (print-length eval-expression-print-length) 517 (defun eval-last-sexp-print-value (value)
518 (print-level eval-expression-print-level) 518 (let ((unabbreviated (let ((print-length nil) (print-level nil))
519 (char-string (prin1-char value)) 519 (prin1-to-string value)))
520 (beg (point)) 520 (print-length eval-expression-print-length)
521 end) 521 (print-level eval-expression-print-level)
522 (prog1 522 (char-string (prin1-char value))
523 (prin1 value) 523 (beg (point))
524 (if (and (eq standard-output t) char-string) 524 end)
525 (princ (concat " = " char-string))) 525 (prog1
526 (setq end (point)) 526 (prin1 value)
527 (when (and (bufferp standard-output) 527 (if (and (eq standard-output t) char-string)
528 (or (not (null print-length)) 528 (princ (concat " = " char-string)))
529 (not (null print-level))) 529 (setq end (point))
530 (not (string= unabbreviated 530 (when (and (bufferp standard-output)
531 (buffer-substring-no-properties beg end)))) 531 (or (not (null print-length))
532 (last-sexp-setup-props beg end value 532 (not (null print-level)))
533 unabbreviated 533 (not (string= unabbreviated
534 (buffer-substring-no-properties beg end)) 534 (buffer-substring-no-properties beg end))))
535 )))))) 535 (last-sexp-setup-props beg end value
536 unabbreviated
537 (buffer-substring-no-properties beg end))
538 ))))
536 539
537 540
538 (defun eval-last-sexp (eval-last-sexp-arg-internal) 541 (defun eval-last-sexp (eval-last-sexp-arg-internal)
539 "Evaluate sexp before point; print value in minibuffer. 542 "Evaluate sexp before point; print value in minibuffer.
540 Interactively, with prefix argument, print output into current buffer." 543 Interactively, with prefix argument, print output into current buffer."