aboutsummaryrefslogtreecommitdiff
path: root/jimdb
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2023-01-13 10:23:19 +1000
committerSteve Bennett <steveb@workware.net.au>2023-02-13 10:43:00 +1000
commit517d85974c7cf8d4f894f46251462e14b6fc562f (patch)
tree2e4eebd4f75671687827d484803e1a2da1d60d88 /jimdb
parentdb26fe46ea9a35d403067498f4b85eee82b431b0 (diff)
downloadjimtcl-517d85974c7cf8d4f894f46251462e14b6fc562f.zip
jimtcl-517d85974c7cf8d4f894f46251462e14b6fc562f.tar.gz
jimtcl-517d85974c7cf8d4f894f46251462e14b6fc562f.tar.bz2
Tcl-compatible 'info frame'
Returns a dictionary with file, line, cmd, (possibly) proc and level. And support 'info frame 0' for the current command. Note that now all evaluation frames are captured, not just call frames. Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jimdb')
-rwxr-xr-xjimdb4
1 files changed, 3 insertions, 1 deletions
diff --git a/jimdb b/jimdb
index 929dac2..f72974d 100755
--- a/jimdb
+++ b/jimdb
@@ -378,7 +378,9 @@ proc debugger::_db {type file line result name arglist} {
# Build the active stacktrace
set s(stacktrace) {}
foreach level [range 1 [info level]] {
- lassign [info frame $level] p f l
+ set frame [info frame $level]
+ set f [dict get $frame file]
+ set l [dict get $frame line]
lassign [info level $level] p pargs
lappend s(stacktrace) [list $f $l $p $pargs]
}