RE: :Text::FindAndReplaceAll()

"Jack D." <[email protected]>
Newsgroups gmane.comp.lang.perl.tk
Message-ID <[email protected]>
 
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On 
> Behalf Of ????? ????????
> Sent: December 16, 2005 7:34 AM
> To: [email protected]
> Subject: Tk::Text::FindAndReplaceAll()
> 
> I have a Tk::TextUndo widget. It has context menu which also 
> holds Replace option. 
> I put a single word 'gallo' as a text. Than choose Replace 
> (Direction: any, Mode: regexp, Case: any), put '.*' as a 
> pattern and whatever as a replacement. Push "ReplaceAll". Works fine.
> Now I put as a text 'gallo' and from the next line 'ballo'. 
> Than choose Replace (Direction: any, Mode: regexp, Case: 
> any), put '.*' as a pattern and non-empty replacement. Push 
> "ReplaceAll". The result - application is hanged (100% CPU 
> consumption). Works fine however if replacement is empty.
> 
> This wouldn't be the issue if
> $text_undo->FindAndReplaceAll('-regexp', '-case', qr/.*/, 
> 'whatever'); didn't behave the same nasty way.
> 
> Is it something I missed or is there a bug in Tk (ActivePerl 
> 5.8.7.813)?

Seems like a bug in the FindNext subroutine of Tk::Text. Basically using (.)
or (.*) doesn't seem to work properly.
i.e. the program gets stuck in a while loop because the $saved_insert never
matches the $compared_index in the source code. I have cc'd the ptk mailing
list for their thoughts. 

Jack
-++**==--++**==--++**==--++**==--++**==--++**==--++**==
This message was posted through the Stanford campus mailing list
server.  If you wish to unsubscribe from this mailing list, send the
message body of "unsubscribe ptk" to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.