diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-02-06 14:58:55 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-02-06 14:58:55 (GMT) |
commit | 29caec6e52a4bd2f355d954f7fe7ab52a08970b9 (patch) | |
tree | eb1b319efa47848972592cdf501e0c5cb1cbbed2 | |
parent | 54c5c0e6bbd3b0c8b2f912279471c2c83f2519ca (diff) | |
parent | 6ae9b07791e4bc024b8fea78a48c60df7e269d12 (diff) | |
download | tcl-29caec6e52a4bd2f355d954f7fe7ab52a08970b9.zip tcl-29caec6e52a4bd2f355d954f7fe7ab52a08970b9.tar.gz tcl-29caec6e52a4bd2f355d954f7fe7ab52a08970b9.tar.bz2 |
Fix [86b3c15f0c]: ::unknown has infinite recursion in a corner case
-rw-r--r-- | library/init.tcl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/library/init.tcl b/library/init.tcl index a98dbb8..3200955 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -371,14 +371,14 @@ proc unknown args { return -options $::tcl::UnknownOptions $::tcl::UnknownResult } - set ret [catch {set candidates [info commands $name*]} msg] + set ret [catch [list uplevel 1 [list info commands $name*]] candidates] if {$name eq "::"} { set name "" } if {$ret != 0} { dict append opts -errorinfo \ "\n (expanding command prefix \"$name\" in unknown)" - return -options $opts $msg + return -options $opts $candidates } # Filter out bogus matches when $name contained # a glob-special char [Bug 946952] |