summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/pp.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-01-13 10:39:58 +0200
committerEli Zaretskii <eliz@gnu.org>2023-01-13 10:39:58 +0200
commit2a2b1d09ac77f66629cb5b968d5f7e6451a2c8a9 (patch)
treeae899fc78aa4492d3de80e42f9022be0aa5e2df8 /lisp/emacs-lisp/pp.el
parentdfb38fb2ee623a78f7e7e15e0b6f11e4768cef48 (diff)
downloademacs-2a2b1d09ac77f66629cb5b968d5f7e6451a2c8a9.tar.gz
Fix minor issues with 'pp' and related commands
* etc/NEWS: * lisp/emacs-lisp/pp.el (pp-use-max-width, pp-emacs-lisp-code): Mention in doc string that formatting via 'pp-emacs-lisp-code' could be slow. (pp-eval-expression, pp-macroexpand-expression): Honor 'pp-use-max-width'. (Bug#58687)
Diffstat (limited to 'lisp/emacs-lisp/pp.el')
-rw-r--r--lisp/emacs-lisp/pp.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/pp.el b/lisp/emacs-lisp/pp.el
index ebda37419f7..e6e3cd6c6f4 100644
--- a/lisp/emacs-lisp/pp.el
+++ b/lisp/emacs-lisp/pp.el
@@ -47,7 +47,9 @@ Otherwise this should be a number."
(defcustom pp-use-max-width nil
"If non-nil, `pp'-related functions will try to fold lines.
-The target width is given by the `pp-max-width' variable."
+The target width is given by the `pp-max-width' variable.
+Note that this could slow down `pp' considerably when formatting
+large lists."
:type 'boolean
:version "29.1")
@@ -162,14 +164,15 @@ Also add the value to the front of the list in the variable `values'."
(message "Evaluating...")
(let ((result (eval expression lexical-binding)))
(values--store-value result)
- (pp-display-expression result "*Pp Eval Output*")))
+ (pp-display-expression result "*Pp Eval Output*" pp-use-max-width)))
;;;###autoload
(defun pp-macroexpand-expression (expression)
"Macroexpand EXPRESSION and pretty-print its value."
(interactive
(list (read--expression "Macroexpand: ")))
- (pp-display-expression (macroexpand-1 expression) "*Pp Macroexpand Output*"))
+ (pp-display-expression (macroexpand-1 expression) "*Pp Macroexpand Output*"
+ pp-use-max-width))
(defun pp-last-sexp ()
"Read sexp before point. Ignore leading comment characters."
@@ -219,7 +222,8 @@ Ignores leading comment characters."
;;;###autoload
(defun pp-emacs-lisp-code (sexp)
"Insert SEXP into the current buffer, formatted as Emacs Lisp code.
-Use the `pp-max-width' variable to control the desired line length."
+Use the `pp-max-width' variable to control the desired line length.
+Note that this could be slow for large SEXPs."
(require 'edebug)
(let ((obuf (current-buffer)))
(with-temp-buffer