]> git.eshelyaron.com Git - emacs.git/commitdiff
Only print offset for byte-code functions feature/soc-bytecode-in-traceback
authorZach Shaftel <zshaftel@gmail.com>
Wed, 15 Jul 2020 16:20:20 +0000 (12:20 -0400)
committerrocky <rocky@gnu.org>
Wed, 15 Jul 2020 17:13:59 +0000 (13:13 -0400)
* lisp/emacs-lisp/backtrace.el (backtrace--print-flags): Check if the
function is compiled and only print the offset in that case.

lisp/emacs-lisp/backtrace.el

index c3f2ff0cfec67a98c70df28dfc46e1e4af4458f4..f67e1dd72ace1232d9e8c86f6acf486cddc1bc22 100644 (file)
@@ -749,11 +749,13 @@ property for use by navigation."
         (source (plist-get (backtrace-frame-flags frame) :source-available))
         (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))))
+        (offset-format (format "%%%ds " (- backtrace--flags-width 3)))
+        (fun (ignore-errors (indirect-function (backtrace-frame-fun frame)))))
     (when (plist-get view :show-flags)
       (insert (if source ">" " "))
       (insert (if flag "*" " "))
-      (insert (format offset-format (or offset ""))))
+      (insert (format offset-format
+                      (or (and (byte-code-function-p fun) offset) ""))))
     (put-text-property beg (point) 'backtrace-section 'func)))
 
 (defun backtrace--print-func-and-args (frame _view)