При получении некоторых сообщений RSS выскакивает окно с сообщением об ошибке: =========================================================================== node "????gw"???²G?&" does not exist node "????gw"???²G?&" does not exist while executing "Tree::insert .headlines.tree end {????gw"???²G?&} {????gw"???²G?&-article-33} -text {Mozilla 1.7 RC3 и Firefox 0.9 RC} -open 1 ..." ("eval" body line 1) invoked from within "eval [linsert $args 0 Tree::$cmd .headlines.tree]" (procedure ".headlines.tree" line 1) invoked from within "$tw insert end $snode $anode -text $desc -open 1 -fill $options(seencolor) -font $font -data [array get props]" (procedure "message::show_headline" line 129) invoked from within "message::show_headline $from $type $subject $body $thread $priority $x" ("headline" arm line 2) invoked from within "switch -- $type { normal { message::show_dialog $from $type $subject $body $thread $priority $x return } headline { message::show_he..." (procedure "chat::process_message" line 16) invoked from within "chat::process_message $connid $from $id $type $subject $body $err $thread $priority $x" (procedure "client:message" line 25) invoked from within "client:message 1 lor@rss.jabber.ru {} headline {Mozilla 1.7 RC3 и Firefox 0.9 RC} {} {{} {}} {} {} {{x {xmlns jabber:x:oob} {{url {} {} http://www.li..." ("uplevel" body line 1) invoked from within "uplevel \#0 [list client:message $connid $from $id $type $subject $body $err $thread $priority $x]" ("message" arm line 37) invoked from within "switch -- $tag { iq { set useid 0 set id "" set type [wrapper:getattr $vars type] if {[wrapper:isattr $vars id] == 1} { set ..." (procedure "::jlib::parse1" line 25) invoked from within "::jlib::parse1 1 {message {type headline to vsu@altlinux.org from lor@rss.jabber.ru} {{x {xmlns jabber:x:oob} {{url {} {} http://www.linux.org.ru/#577..." ("after" script) =========================================================================== Это проявляется, например, с lenta.ru@rss.jabber.ru, lor@rss.jabber.ru. В то же время сообщения от yandex.main@rss.jabber.ru принимаются нормально.
Предположительно это безобразие началось после обновления с tk-8.4.6-alt1 до tk-8.4.6-alt2 (tkabber-0.9.6beta-alt3 не менялся).
Обновление tcl и tk вроде бы не при чём. А вот откат с tcllib-1.6-alt1 на tcllib-1.4-alt1 помогает (с gazeta.ru@rss.jabber.ru, lenta.ru@rss.jabber.ru что-то пришло).
Это связано с изменением формата вызова ::md5::md5 из tcllib, в cvs-версии tkabber'а используется примерно такая конструкция вместо простого вызова ;:md5::md5: if {[catch { ::md5::md5 -hex $utf8str } ret]} { return [::md5::md5 $utf8str] }
Немного не дописал: if {[catch { ::md5::md5 -hex $utf8str } ret]} { return [::md5::md5 $utf8str] } else { return $ret }
или package require md5 1
Собрана новая вресия - пакет залил
Вроде бы работает.