Large search&replace-all operations easily kill jEdit because of OutOfMemory errors.
Give the user the option to disable the undo/redo log for search&replace all operations.
A prototype implementation is attached in patch https://sourceforge.net/tracker/?func=detail&aid=3529803&group_id=588&atid=300588
A example file to test this is attached: search for ',' and replace all with ', '
(note the extra space).
The OOM error happens in the AWT thread and is not catched by the normal jEdit exception
handling, so the user never get the response of the OutOfMemory error. The java process
just continues to burn cpu and never finishes.
Submitted | thomasmey - 2012-05-26 09:36:18 | Assigned | |
---|---|---|---|
Priority | 5 | Labels | |
Status | open | Group | None |
Resolution | None |
2012-05-26 09:36:19 thomasmey |
example file to demonstrate the behaviour jedit-slow-search-replace.txt.zip (147.9Kio) |
---|---|
2012-05-26 11:12:55 jarekczek |
Thomas, could you desribe where you suggest to put the new option? So that we know that without compiling patched jedit. |
2012-05-26 11:22:03 thomasmey |
The option to disable the undo/redo log for the search&replace-all operation should be a checkbox in the settings of the search dialog. When the checkbox is set the next search&replace-all operation is performed without an undo/redo log. When the checkbox is not set, the next search&replace-all operation should work as is. The checkbox should only influence the search&replace-all operation. |
2012-05-26 11:27:15 thomasmey |
jEdit-disable-undo-preview.png (44.9Kio) |
2012-05-27 21:21:29 jarekczek |
This checkbox, useful in some situations, may still be controversial. I think I have
an idea of having the functionality in a way that no-one would object.
|
2012-05-29 18:42:02 thomasmey |
I really like your idea and I'll implement something over this week.
|
2012-05-29 21:17:24 thomasmey |
First prototype with some glitches jEdit-disableundo-ask-user.patch (6.8Kio) |
2012-05-30 05:36:50 thomasmey |
It seems as no mail get's send out, when you just attach a patch to a request. so: first prototype patch attached, that still has some glitches. |
2012-05-31 19:49:09 thomasmey |
Hello,
|