* [Comm] Вопрос знатокам Tcl/Tk
@ 2005-05-05 8:53 "А.Китайкин"
2005-05-05 9:20 ` Sergey Bolshakov
0 siblings, 1 reply; 5+ messages in thread
From: "А.Китайкин" @ 2005-05-05 8:53 UTC (permalink / raw)
To: community
Уважаемые знатоки!
А не подскажет ли кто, что могло сломаться или поменяться в 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 я сделал единственный вывод:
конструкции до и после исправления эквивалентны. Однако результат
зависит. Измененная версия работает везде.
Есть ли основания пинать разработчиков скрипта?
С уважением, Анатолий Китайкин.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Вопрос знатокам Tcl/Tk
2005-05-05 8:53 [Comm] Вопрос знатокам Tcl/Tk "А.Китайкин"
@ 2005-05-05 9:20 ` Sergey Bolshakov
2005-05-05 12:42 ` "А.Китайкин"
0 siblings, 1 reply; 5+ messages in thread
From: Sergey Bolshakov @ 2005-05-05 9:20 UTC (permalink / raw)
To: community
>>>>> "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 я сделал единственный вывод:
> конструкции до и после исправления эквивалентны. Однако результат
> зависит. Измененная версия работает везде.
> Есть ли основания пинать разработчиков скрипта?
Конструкции не эквивалентны, поскольку порядок обработки
подвыражений различен. Таким образом, основания пинать
весьма веские.
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Вопрос знатокам Tcl/Tk
2005-05-05 9:20 ` Sergey Bolshakov
@ 2005-05-05 12:42 ` "А.Китайкин"
2005-05-05 13:14 ` Sergey Bolshakov
0 siblings, 1 reply; 5+ messages in thread
From: "А.Китайкин" @ 2005-05-05 12:42 UTC (permalink / raw)
To: community
Sergey Bolshakov пишет:
>Конструкции не эквивалентны, поскольку порядок обработки
>подвыражений различен. Таким образом, основания пинать
>весьма веские.
>
>
>
А тот факт, что старые версии wish все это переваривают,
объясним?
С уважением, Анатолий Китайкин
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Вопрос знатокам Tcl/Tk
2005-05-05 12:42 ` "А.Китайкин"
@ 2005-05-05 13:14 ` Sergey Bolshakov
2005-05-05 15:55 ` "А.Китайкин"
0 siblings, 1 reply; 5+ messages in thread
From: Sergey Bolshakov @ 2005-05-05 13:14 UTC (permalink / raw)
To: community
>>>>> "cetus" == cetus <.> writes:
> Sergey Bolshakov пишет:
>> Конструкции не эквивалентны, поскольку порядок обработки
>> подвыражений различен. Таким образом, основания пинать
>> весьма веские.
>>
>>
>>
> А тот факт, что старые версии wish все это переваривают,
> объясним?
Синтаксически (если считать, что у tcl есть синтаксис :),
обе записи корректны. Разницу в поведении программы предлагаю
отнести на счёт писателя оной :)
Бишь, полагаю, что объяснение вполне может быть найдено :)
--
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Вопрос знатокам Tcl/Tk
2005-05-05 13:14 ` Sergey Bolshakov
@ 2005-05-05 15:55 ` "А.Китайкин"
0 siblings, 0 replies; 5+ messages in thread
From: "А.Китайкин" @ 2005-05-05 15:55 UTC (permalink / raw)
To: community
Sergey Bolshakov пишет:
>Синтаксически (если считать, что у tcl есть синтаксис :),
>обе записи корректны. Разницу в поведении программы предлагаю
>
>
Так все таки wish!
>отнести на счёт писателя оной :)
>
>
Или все таки не wish?
>Бишь, полагаю, что объяснение вполне может быть найдено :)
>
>
>
Если wish, то конечно достаточно объяснения.
А если не wish... Тут уже надо искать мотивацию... :)
С уважением,
Китайкин Анатолий
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-05-05 15:55 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-05 8:53 [Comm] Вопрос знатокам Tcl/Tk "А.Китайкин"
2005-05-05 9:20 ` Sergey Bolshakov
2005-05-05 12:42 ` "А.Китайкин"
2005-05-05 13:14 ` Sergey Bolshakov
2005-05-05 15:55 ` "А.Китайкин"
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git