Function: edebug-eval-print-last-sexp

edebug-eval-print-last-sexp is an interactive and byte-compiled function defined in edebug.el.gz.

Signature

(edebug-eval-print-last-sexp &optional NO-TRUNCATE)

Documentation

Evaluate sexp before point in outside environment; insert value.

This prints the value into current buffer.

If NO-TRUNCATE is non-nil (or interactively with a prefix argument of zero), show the full length of the expression, not limited by edebug-print-length or edebug-print-level.

View in manual

Probably introduced at or before Emacs version 27.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/edebug.el.gz
(defun edebug-eval-print-last-sexp (&optional no-truncate)
  "Evaluate sexp before point in outside environment; insert value.
This prints the value into current buffer.

If NO-TRUNCATE is non-nil (or interactively with a prefix
argument of zero), show the full length of the expression, not
limited by `edebug-print-length' or `edebug-print-level'."
  (interactive
   (list (and current-prefix-arg
              (zerop (prefix-numeric-value current-prefix-arg)))))
  (let* ((form (edebug-last-sexp))
	 (result-string
	  (edebug-outside-excursion
	   (if no-truncate
               (let ((edebug-print-length nil)
                     (edebug-print-level nil))
                 (edebug-safe-prin1-to-string (edebug-safe-eval form)))
             (edebug-safe-prin1-to-string (edebug-safe-eval form)))))
	 (standard-output (current-buffer)))
    (princ "\n")
    ;; princ the string to get rid of quotes.
    (princ result-string)
    (princ "\n")))