Tcl Source Code

Artifact [5b2d975637]
Login

Artifact 5b2d975637caaebf10f877139ae9630539c8aabe:

Attachment "946952.patch" to ticket [946952ffff] added by dgp 2004-05-03 21:32:29.
Index: library/init.tcl
===================================================================
RCS file: /cvsroot/tcl/tcl/library/init.tcl,v
retrieving revision 1.60
diff -u -r1.60 init.tcl
--- library/init.tcl	17 Mar 2004 18:14:14 -0000	1.60
+++ library/init.tcl	3 May 2004 14:17:03 -0000
@@ -293,13 +293,22 @@
 	    return [uplevel 1 $newcmd]
 	}
 
-	set ret [catch {set cmds [info commands $name*]} msg]
+	set ret [catch {set candidates [info commands $name*]} msg]
 	if {[string equal $name "::"]} {
 	    set name ""
 	}
 	if {$ret != 0} {
 	    return -code $ret -errorcode $errorCode \
-		"error in unknown while checking if \"$name\" is a unique command abbreviation: $msg"
+		"error in unknown while checking if \"$name\" is\
+		a unique command abbreviation:\n$msg"
+	}
+	# Filter out bogus matches when $name contained
+	# a glob-special char [Bug 946952]
+	set cmds [list]
+	foreach x $candidates {
+	    if {[string range $x 0 [expr [string length $name]-1]] eq $name} {
+		lappend cmds $x
+	    }
 	}
 	if {[llength $cmds] == 1} {
 	    return [uplevel 1 [lreplace $args 0 0 $cmds]]