emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 6ad223fa9f: trace.el: Preserve the line structure


From: Stefan Monnier
Subject: master 6ad223fa9f: trace.el: Preserve the line structure
Date: Fri, 4 Mar 2022 12:18:50 -0500 (EST)

branch: master
commit 6ad223fa9f0d30f321dea90f2228873d166003bb
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    trace.el: Preserve the line structure
    
    Print newlines appearing inside values (i.e. inside strings) as \n
    rather than actual newlines so as to avoid messing up the main
    structure of the trace buffer.
    
    * lisp/emacs-lisp/trace.el (trace-entry-message)
    (trace-exit-message, trace--read-args): Quote newlines
---
 lisp/emacs-lisp/trace.el | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/trace.el b/lisp/emacs-lisp/trace.el
index 71eca5a323..165f5c7bfe 100644
--- a/lisp/emacs-lisp/trace.el
+++ b/lisp/emacs-lisp/trace.el
@@ -172,9 +172,10 @@ You can call this function to add internal values in the 
trace buffer."
 LEVEL is the trace level, ARGS is the list of arguments passed to FUNCTION,
 and CONTEXT is a string describing the dynamic context (e.g. values of
 some global variables)."
-  (let ((print-circle t))
+  (let ((print-circle t)
+        (print-escape-newlines t))
     (format "%s%s%d -> %S%s\n"
-            (mapconcat 'char-to-string (make-string (max 0 (1- level)) ?|) " ")
+            (mapconcat #'char-to-string (make-string (max 0 (1- level)) ?|) " 
")
             (if (> level 1) " " "")
             level
             ;; FIXME: Make it so we can click the function name to jump to its
@@ -187,7 +188,8 @@ some global variables)."
 LEVEL is the trace level, VALUE value returned by FUNCTION,
 and CONTEXT is a string describing the dynamic context (e.g. values of
 some global variables)."
-  (let ((print-circle t))
+  (let ((print-circle t)
+        (print-escape-newlines t))
     (format "%s%s%d <- %s: %S%s\n"
             (mapconcat 'char-to-string (make-string (1- level) ?|) " ")
             (if (> level 1) " " "")
@@ -278,7 +280,8 @@ If `current-prefix-arg' is non-nil, also read a buffer and 
a \"context\"
                                      nil read-expression-map t
                                      'read-expression-history))))
         (lambda ()
-          (let ((print-circle t))
+          (let ((print-circle t)
+                (print-escape-newlines t))
             (concat " [" (prin1-to-string (eval exp t)) "]"))))))))
 
 ;;;###autoload



reply via email to

[Prev in Thread] Current Thread [Next in Thread]