diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 7a40ca36b8f..237d93922ff 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -3749,26 +3749,45 @@ Print result in minibuffer." (concat (edebug-safe-prin1-to-string (car values)) (eval-expression-print-format (car values)))))) -(defun edebug-eval-last-sexp () +(defun edebug-eval-last-sexp (&optional no-truncate) "Evaluate sexp before point in the outside environment. -Print value in minibuffer." - (interactive) - (edebug-eval-expression (edebug-last-sexp))) +Print value in minibuffer. -(defun edebug-eval-print-last-sexp () +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))))) + (if no-truncate + (let ((edebug-print-length nil) + (edebug-print-level nil)) + (edebug-eval-expression (edebug-last-sexp))) + (edebug-eval-expression (edebug-last-sexp)))) + +(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." - (interactive) +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 - (edebug-safe-prin1-to-string (edebug-safe-eval form)))) + (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") - )) + (princ "\n"))) ;;; Edebug Minor Mode |