emacs-diffs
[Top][All Lists]
Advanced

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

feature/zach-soc-bytecode-in-traceback c0b174d: Properly align offset in


From: Rocky Bernstein
Subject: feature/zach-soc-bytecode-in-traceback c0b174d: Properly align offset in backtrace
Date: Fri, 26 Jun 2020 17:16:39 -0400 (EDT)

branch: feature/zach-soc-bytecode-in-traceback
commit c0b174dd000960766478345c7ff2999add953f98
Author: Zach Shaftel <zshaftel@gmail.com>
Commit: rocky <rocky@gnu.org>

    Properly align offset in backtrace
    
    * lisp/emacs-lisp/backtrace.el (backtrace--print-flags): Use format
    width specifier to line up the flags and offset nicely.
---
 lisp/emacs-lisp/backtrace.el | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/lisp/emacs-lisp/backtrace.el b/lisp/emacs-lisp/backtrace.el
index ac6b649..c3f2ff0 100644
--- a/lisp/emacs-lisp/backtrace.el
+++ b/lisp/emacs-lisp/backtrace.el
@@ -257,7 +257,7 @@ frames where the source code location is known.")
     map)
   "Local keymap for `backtrace-mode' buffers.")
 
-(defconst backtrace--flags-width 6
+(defconst backtrace--flags-width 7
   "Width in characters of the flags for a backtrace frame.")
 
 ;;; Navigation and Text Properties
@@ -747,12 +747,13 @@ property for use by navigation."
   (let ((beg (point))
         (flag (plist-get (backtrace-frame-flags frame) :debug-on-exit))
         (source (plist-get (backtrace-frame-flags frame) :source-available))
-        (off (plist-get (backtrace-frame-flags frame) :bytecode-offset)))
+        (offset (plist-get (backtrace-frame-flags frame) :bytecode-offset))
+        ;; right justify and pad the offset (or the empty string)
+        (offset-format (format "%%%ds " (- backtrace--flags-width 3))))
     (when (plist-get view :show-flags)
-      (when source (insert ">"))
-      (when flag (insert "*"))
-      (when off (insert (number-to-string off))))
-    (insert (make-string (- backtrace--flags-width (- (point) beg)) ?\s))
+      (insert (if source ">" " "))
+      (insert (if flag "*" " "))
+      (insert (format offset-format (or offset ""))))
     (put-text-property beg (point) 'backtrace-section 'func)))
 
 (defun backtrace--print-func-and-args (frame _view)



reply via email to

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