From: Craig B. U. <cup...@ea...> - 2005-08-30 20:18:10
|
On Aug 30, 2005, at 02:43 PM, Joachim Kock wrote: >>> Obviously the resulting string-indices do not work as positions >>> in AlphaTk. >>> >> >> You can easily use [pos::math [minPos] + $indices] to make that >> sort of >> thing work with Alphatk: >> >> set indexlist {} >> foreach idx [regexp -all -inline -indices $splitPat $txt] { >> lappend indexlist [pos::math -w $win [minPos] + $idx] >> } >> > > Of course! Thanks for the hint -- I did not think of this! > I will use this workaround, please wait a couple of days. > > Meanwhile it strikes me that in fact I don't know if Bug 1914 > exists in AlphaTk! I filed it as a core bug for AlphaX, so > logically it might not exist in AlphaTk... If this is true > then the clean [search -all] solution could be implemented for > AlphaTk, and the present [regexp -all] solution could be > considered a temporary workaround in AlphaX for Bug 1914. > And if it is true, then it would sort of strange that there > should be a workaround for AlphaTk for a bug that only exists > in AlphaX! I'm not sure if this is relevant or not, but according to "Extending Alpha" one should never assume that numerical "index" positions returned by something like [regexp -indices] are valid positions, even in AlphaX. If the windowing system ever changes, we don't want to have to reform old code. Using [pos::math] and friends is the recommended method for proper conversion of indices to valid positions, even if this is not "required" by AlphaX at present. Of course, I might not be understanding the issues here, in which case you can just ignore this comment. -- cbu |