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

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

[elpa] externals/inspector 453fe2d29a 2/3: inspect-debugger-local functi


From: ELPA Syncer
Subject: [elpa] externals/inspector 453fe2d29a 2/3: inspect-debugger-local function
Date: Tue, 31 May 2022 09:57:37 -0400 (EDT)

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

    inspect-debugger-local function
---
 inspector.el | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/inspector.el b/inspector.el
index 648519ca1e..1347185d59 100644
--- a/inspector.el
+++ b/inspector.el
@@ -640,6 +640,22 @@ When PRESERVE-HISTORY is T, inspector history is not 
cleared."
          (locals (backtrace--locals nframe)))
     (inspector-inspect (inspector--alist-to-plist locals))))
 
+(defun inspect-debugger-local (varname)
+  "Inspect local variable named VARNAME of frame at point in debugger 
backtrace."
+  (interactive
+   (list
+    (completing-read "Local variable: "
+                    (with-current-buffer "*Backtrace*"
+                      ;; The addition of 0 to the return value of 
(debugger-frame-number) is necessary here. Why?? Ugly hack ...
+                      ;; On Emacs 29.0.50 with native comp at least ..
+                      (let ((n (+ (debugger-frame-number) 0)))
+                        (mapcar #'car (backtrace--locals n))))))
+   debugger-mode)
+  (with-current-buffer "*Backtrace*"
+    (let* ((n (debugger-frame-number))
+          (locals (backtrace--locals n)))
+      (inspector-inspect (cdr (assoc (intern varname) locals))))))
+
 ;;;###autoload
 (defun inspect-debugger-current-frame ()
   "Inspect current frame in debugger backtrace."



reply via email to

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