What controls the print depth of lisp forms? For example:

(macroexpand '(defun foo () (let ((bar)) (+ 1 2))))


(defalias (quote foo) (function (lambda nil (let ... ...))))

in the *Messages* buffer.

  • See the variables eval-expression-print-length and eval-expression-print-level . Here is a semi-related thread: emacs.stackexchange.com/questions/7978/…
    – lawlist
    Sep 25, 2016 at 22:26
  • Thanks; those led me to the ones I was really looking for, print-length and print-level. Sep 25, 2016 at 22:35
  • One of you: Please post the answer as an answer, so the question does not remain "unanswered". Thx.
    – Drew
    Sep 25, 2016 at 23:12
  • It says I can do that in 2 days. Sep 26, 2016 at 2:40

1 Answer 1


Print length/depth for the echo area are in eval-expression-print-length and eval-expresssion-print-depth respectively.

For general printing (e.g. princ), the relevant variables are print-length and print-level.

  • I don't see eval-expresssion-print-depth in the current latest version of emacs, but I do see eval-expresssion-print-level.
    – gsgx
    Apr 11 at 7:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.