Nedit handles this type of iterative concatenation poorly due to how it manages string memory.
Instead, you might try creating a large array and using join() at the end to create the final string. I don't have source in front of me right now, but I believe this will work better. -Steve ----- Original Message ---- From: AVKuznetsov <[EMAIL PROTECTED]> To: Nedit <[email protected]> Sent: Monday, March 3, 2008 5:58:40 AM Subject: two bugs Hi, I made a macro for word completion via local dict server and tried its stability for huge number of completions. Following bugs were observed. a) The macro uses calltip to show a list of completions. In a long list (~5000 lines) lines superimposes each other. Seems, overflowed "line counter" drops to zero and new lines are "printed" over previous ones. b) Creation of long lists completely hangs the system. The cause for the hanging is described as follows. In the following simple string = "" for(i=0; i<N ; i++) string = string "\n" i each iteration eats memory since new string is created. On my system (1.2G memory + 800M swap) a top limit of iterations is 19800 and string of length of 107K is created. Both memory and swap are full and AND THEY ARE NOT FREED WHEN MACRO IS COMPLETED! Simple estimation shows that the memory occupation corresponds to number of created interim strings. When all memory is occupied (N~20000 in my case) a system completely hangs. Described bugs are observed for both NEdit-5.5 linux binary and CVS compiled against Motif-2.2.3 run at the X-server "The X.Org Foundation 70101000" Must I add this message to the BugsTracker? Alexey Kuznetsov -- NEdit Develop mailing list - [email protected] http://www.nedit.org/mailman/listinfo/develop ____________________________________________________________________________________ Never miss a thing. Make Yahoo your home page. http://www.yahoo.com/r/hs -- NEdit Develop mailing list - [email protected] http://www.nedit.org/mailman/listinfo/develop
