From f1de8da7bfc6ffbc6c2f9c87452d8a11aee4bc62 Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 5 Jul 2007 18:03:43 +0000 Subject: * library/init.tcl (unknown): Corrected inconsistent error message in interactive [unknown] when empty command is invoked. [Bug 1743676] FossilOrigin-Name: 3cd62440543a7c17e00ebc6b0d5e35d9f2643c5f --- ChangeLog | 5 +++++ library/init.tcl | 23 +++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index b90b807..bc54f8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-07-05 Don Porter + + * library/init.tcl (unknown): Corrected inconsistent error message + in interactive [unknown] when empty command is invoked. [Bug 1743676] + 2007-06-30 Donal K. Fellows * generic/tclBinary.c (Tcl_BinaryObjCmd): De-fang an instance of the diff --git a/library/init.tcl b/library/init.tcl index 8105642..be02fa1 100644 --- a/library/init.tcl +++ b/library/init.tcl @@ -3,7 +3,7 @@ # Default system startup file for Tcl-based applications. Defines # "unknown" procedure and auto-load facilities. # -# RCS: @(#) $Id: init.tcl,v 1.55.2.6 2005/07/22 21:59:40 dgp Exp $ +# RCS: @(#) $Id: init.tcl,v 1.55.2.7 2007/07/05 18:03:45 dgp Exp $ # # Copyright (c) 1991-1993 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. @@ -312,19 +312,18 @@ proc unknown args { "error in unknown while checking if \"$name\" is\ a unique command abbreviation:\n$msg" } - # Handle empty $name separately due to strangeness in [string first] - if {$name eq ""} { - if {[llength $candidates] != 1} { - return -code error "empty command name \"\"" - } - return [uplevel 1 [lreplace $args 0 0 [lindex $candidates 0]]] - } # Filter out bogus matches when $name contained # a glob-special char [Bug 946952] - set cmds [list] - foreach x $candidates { - if {[string first $name $x] == 0} { - lappend cmds $x + if {$name eq ""} { + # Handle empty $name separately due to strangeness + # in [string first] (See RFE 1243354) + set cmds $candidates + } else { + set cmds [list] + foreach x $candidates { + if {[string first $name $x] == 0} { + lappend cmds $x + } } } if {[llength $cmds] == 1} { -- cgit v0.12