ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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