Subject: bug#15233: pp-eval-expression: Signature parity with `eval-expression'

From: Drew Adams <[email-masked]>
Date: Sun, 1 Sep 2013 08:23:33 -0700 (PDT)

> eval-expression takes INSERT-VALUE.  But `pp-eval-expression' doesn't.
> But it should.

FWIW -

Done 5 years ago in pp+.el (and probably suggested to Emacs Dev as well).
http://www.emacswiki.org/emacs-en/download/pp%2b.el

Other pp+.el enhancements to `pp-eval-expression', which Emacs could
consider or integrate:

* Does not use 'emacs-lisp-mode-hook'.

* Fontifies the result buffer, `*Pp Eval Output*'.

* Makes several EmacsLisp keybindings available while reading the
  expression - uses a new keymap, 'pp-read-expression-map'.
  You can use: 
   'C-M-q' to indent a sexp
   'C-M-x' to eval a sexp
   'TAB' to Lisp-indent
   'M-TAB' to complete a Lisp symbol

* (With a prefix arg, inserts the pretty-printed result in the
  current buffer.)  With a negative prefix arg and a string result,
  inserts it without enclosing double-quotes (`"').

* Respects new options 'pp-eval-expression-print-length' and
  'pp-eval-expression-print-level', which control the print length
  and print level.  Respects 'eval-expression-debug-on-error'.

[FWIW2, I use (substitute-key-definition 'eval-expression
                                         'pp-eval-expression
                                         global-map).]