[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."