emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/inspector 49c8c75ada 44/93: Fixes to Emacs debug backtr


From: ELPA Syncer
Subject: [elpa] externals/inspector 49c8c75ada 44/93: Fixes to Emacs debug backtrace inspection
Date: Tue, 24 May 2022 18:57:58 -0400 (EDT)

branch: externals/inspector
commit 49c8c75ada1df6a5aa33461f14cd0e861791cdd3
Author: Mariano Montone <marianomontone@gmail.com>
Commit: Mariano Montone <marianomontone@gmail.com>

    Fixes to Emacs debug backtrace inspection
---
 inspector.el | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/inspector.el b/inspector.el
index db0cf09257..c1f2417b2e 100644
--- a/inspector.el
+++ b/inspector.el
@@ -451,18 +451,35 @@ When PRESERVE-HISTORY is T, inspector history is not 
cleared."
   (let ((result (eval (eval-sexp-add-defvars (elisp--preceding-sexp)) 
lexical-binding)))
     (inspector-inspect result)))
 
+;;-- Inspection from Emacs debugger
+
 (defun debugger-inspect-locals ()
   "Inspect local variables of the frame at point in debugger backtrace."
   (interactive)
-  (let* ((nframe (1+ (debugger-frame-number 'skip-base)))
-         (base (debugger--backtrace-base))
-         (locals (backtrace--locals nframe base)))
+  (let* ((nframe (debugger-frame-number))
+         (locals (backtrace--locals nframe)))
     (inspector-inspect (inspector--alist-to-plist locals))))
 
+(defun debugger-inspect-current-frame ()
+  "Inspect current frame in debugger backtrace."
+  (interactive)
+  (let* ((nframe (debugger-frame-number))
+         (frame (backtrace-frame nframe)))
+    (inspector-inspect frame)))
+
+(defun debugger-inspect-frame-and-locals ()
+  "Inspect current frame and locals in debugger backtrace."
+  (interactive)
+  (let* ((nframe (debugger-frame-number))
+         (locals (backtrace--locals nframe))
+        (frame (backtrace-frame nframe)))
+    (inspector-inspect (list :frame frame
+                            :locals (inspector--alist-to-plist locals)))))
+
 ;;--------- Inspector mode ---------------------------------
 
 ;; Press letter 'i' in debugger backtrace to inspect locals.
-(define-key debugger-mode-map (kbd "i") 'debugger-inspect-locals)
+(define-key debugger-mode-map (kbd "i") 'debugger-inspect-frame-and-locals)
 
 (defvar inspector-mode-map
   (let ((map (make-keymap)))



reply via email to

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