[Comm] Вопрос знатокам Tcl/Tk

"А.Китайкин" =?iso-8859-1?q?cetus_=CE=C1_newmail=2Eru?=
Чт Май 5 12:53:28 MSD 2005


    Уважаемые знатоки!

А не подскажет ли кто, что могло сломаться или поменяться в 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 я сделал единственный вывод:
конструкции до и после исправления эквивалентны. Однако результат
зависит. Измененная версия работает везде.

Есть ли основания пинать разработчиков скрипта?



                С уважением, Анатолий Китайкин.



Подробная информация о списке рассылки community