From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: community@altlinux.ru Subject: Re: [Comm] =?koi8-r?b?98/Q0s/T?= =?koi8-r?b?INrOwdTPy8HN?= Tcl/Tk References: <4279DF08.9050501@newmail.ru> From: Sergey Bolshakov Date: Thu, 05 May 2005 13:20:02 +0400 In-Reply-To: <4279DF08.9050501@newmail.ru> (cetus@newmail.ru's message of "Thu, 05 May 2005 12:53:28 +0400") Message-ID: User-Agent: Gnus/5.1006 (Gnus v5.10.6) XEmacs/21.4 (Jumbo Shrimp, linux) MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 May 2005 09:20:03 -0000 Archived-At: List-Archive: List-Post: >>>>> "cetus" == cetus <.> writes: > Уважаемые знатоки! > А не подскажет ли кто, что могло сломаться или поменяться в Tcl/Tk > где-то между Master 2.0 и Master 2.2? > Поясню суть вопроса: есть скрипт, который работает в Spring 2001 и > Master 2.0. Под Master 2.2/2.4 для запуска скрипта требуется внесение > исправлений, без которых он вываливается с ошибками. В основном > это замена двойных кавычек на фигурные скобки: > - catch "$le subwidget entry insert 0 [set ::$varname]" > + catch {$le subwidget entry insert 0 [set ::$varname]} > - foreach v [getopt $varname] "$le appendhistory $v" > + foreach v [getopt $varname] {$le appendhistory $v} > Здесь не понравились скобки квадратные: > - if {[catch [set variable_props($varname)]]==0} { > + if {[catch {set variable_props($varname)}]==0} { > Из беглого взгляда в доку по Tcl/Tk я сделал единственный вывод: > конструкции до и после исправления эквивалентны. Однако результат > зависит. Измененная версия работает везде. > Есть ли основания пинать разработчиков скрипта? Конструкции не эквивалентны, поскольку порядок обработки подвыражений различен. Таким образом, основания пинать весьма веские. --