From 58e112fe18abe48321a9a9b676d76fdb68ee833a Mon Sep 17 00:00:00 2001 From: Zach Shaftel Date: Fri, 5 Jun 2020 15:06:29 -0400 Subject: [PATCH] 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 ac6b6492790..c3f2ff0cfec 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) -- 2.39.5