From: Alexandre Ferrieux on 19 May 2010 17:25 On May 19, 9:25 pm, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > On 19 mai, 13:58, "MartinLemburg(a)Siemens-PLM" > > <martin.lemburg.siemens-...(a)gmx.net> wrote: > > Hi Miguel, > > > why this is a bug? > > tcl shimmers "always"! > > Because shimmering is only an aspect of underlying data (the internal > rep), while the semantics of Tcl values is strictly defined by their > (extended UTF8) string representation. > > So yes, shimmering is allowed, but it does not have the right to > discard the string rep ! > Only a direct change to the value (like [dict set], [incr], [lappend]) > can do that. In that case the internal rep is updated and the string > rep discarded; later on a new string rep may be requested and > computed. That's the essence of the Tcl_Obj internal representation > cache, which by design always respects EIAS. To be more precise, what happen(ed) here is that a pure-list (no string rep) was going through the list->dict shortcut without special care for the loss of information of duplicate keys. This was fixed in the 8.6 branch by Donal on 2010-02-24, by forcing the computation of the whole list's string rep as soon as one duplicate key was encountered. A backport may be indicated if a 8.5.9 is due. -Alex
From: Alexandre Ferrieux on 19 May 2010 18:05 On May 19, 11:25 pm, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> wrote: > On May 19, 9:25 pm, Alexandre Ferrieux <alexandre.ferri...(a)gmail.com> > wrote: > > > > > > > On 19 mai, 13:58, "MartinLemburg(a)Siemens-PLM" > > > <martin.lemburg.siemens-...(a)gmx.net> wrote: > > > Hi Miguel, > > > > why this is a bug? > > > tcl shimmers "always"! > > > Because shimmering is only an aspect of underlying data (the internal > > rep), while the semantics of Tcl values is strictly defined by their > > (extended UTF8) string representation. > > > So yes, shimmering is allowed, but it does not have the right to > > discard the string rep ! > > Only a direct change to the value (like [dict set], [incr], [lappend]) > > can do that. In that case the internal rep is updated and the string > > rep discarded; later on a new string rep may be requested and > > computed. That's the essence of the Tcl_Obj internal representation > > cache, which by design always respects EIAS. > > To be more precise, what happen(ed) here is that a pure-list (no > string rep) was going through the list->dict shortcut without special > care for the loss of information of duplicate keys. This was fixed in > the 8.6 branch by Donal on 2010-02-24, by forcing the computation of > the whole list's string rep as soon as one duplicate key was > encountered. A backport may be indicated if a 8.5.9 is due. > > -Alex Backport done. -Alex
From: Bruce on 19 May 2010 18:59 Bruce wrote: >> some incorrect stuff.... please ignore my post - i was thinking about the shimmering since a dict command was used, not the missign/invlaidated string rep tha should have remained - please read Alex's msgs for correct info Sorry, bruce
First
|
Prev
|
Pages: 1 2 3 Prev: different buttons Next: Changing color on cascade menu arrow and top menu |