]> git.eshelyaron.com Git - emacs.git/commitdiff
Tweak multi-line expressions in pp--format-function
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 4 Nov 2021 22:16:47 +0000 (23:16 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 4 Nov 2021 22:16:47 +0000 (23:16 +0100)
* lisp/emacs-lisp/pp.el (pp--format-function): Fix up multi-line
expressions.

lisp/emacs-lisp/pp.el
test/lisp/emacs-lisp/pp-resources/code-formats.erts

index 67a21c53915993df6dbc7bb1e3c3b8891d6437e4..df837fa691e6d6ad35e3c48631a09e82abe99e3a 100644 (file)
@@ -267,8 +267,14 @@ Ignores leading comment characters."
     ;; Get the first entries on the first line.
     (if indent
         (pp--format-definition sexp indent edebug)
-      (while sexp
-        (pp--insert " " (pop sexp))))
+      (let ((prev 0))
+        (while sexp
+          (let ((start (point)))
+            ;; Don't put sexps on the same line as a multi-line sexp
+            ;; preceding it.
+            (pp--insert (if (> prev 1) "\n" " ")
+                        (pop sexp))
+            (setq prev (count-lines start (point)))))))
     (insert ")")))
 
 (defun pp--format-definition (sexp indent edebug)
index f48e262f69d63b9ac704d864553b47e264fa1d28..c2733d84daec4723cc760f6670e5769f3634b1ec 100644 (file)
@@ -40,7 +40,8 @@ Name: code-formats3
   (let ((a 1)
         (b 2))
     (zot-zot-zot-zot-zot-zot 1 2 (funcall
-                                  bar-bar-bar-bar-bar-bar-bar-bar-bar-bar 2))))
+                                  bar-bar-bar-bar-bar-bar-bar-bar-bar-bar
+                                  2))))
 =-=-=
 
 
@@ -103,3 +104,13 @@ Name: code-formats9
   (interactive)
   1)
 =-=-=
+
+
+Name: code-formats10
+
+=-=
+(funcall foo (concat "zot" (if (length> site 0) site
+                             "bar")
+                     "+"
+                     (string-replace " " "+" query)))
+=-=-=