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 | dd14db4f5c984da47249ad55be5051dfe9b64e72 (patch) | |
| tree | eb1b319efa47848972592cdf501e0c5cb1cbbed2 | |
| parent | af88d9b7bc0a0ed8f681c218475c282e8841050b (diff) | |
| parent | f1ee146307be073327189e999d030d5d557dadf7 (diff) | |
| download | tcl-dd14db4f5c984da47249ad55be5051dfe9b64e72.zip tcl-dd14db4f5c984da47249ad55be5051dfe9b64e72.tar.gz tcl-dd14db4f5c984da47249ad55be5051dfe9b64e72.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] |
