diff options
| author | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-06-29 19:20:55 +0200 |
|---|---|---|
| committer | Robin Haberkorn <rhaberkorn@fmsbw.de> | 2026-06-29 19:20:55 +0200 |
| commit | 49587788101dce76111a8b16dfed0889c26b0e61 (patch) | |
| tree | 0d80d8a78efb514a47a25828880ada78a1143438 /TODO | |
| parent | 8601ccfb905a5cc6fe10f7d81a491155f9236f35 (diff) | |
regular expression matching can now be reliably interrupted using CTRL+CHEADmaster-fmsbw-cimaster
* The previous checks for interruptions only helped in a few corner cases
like for very high search-repeat counts or during backwards searches across
the entire buffer.
* But even with terex' more predictable runtime properties
a single regex execution can hang quite a long time.
E.g. `S^EM^X$` on a huge buffer or even more so with backreferences as in
`S^~(.*)\1$`.
* We now use the new tere_set_is_interrupted_cb() to register
teco_interface_is_interrupted(). Types should be compatible as long
as gboolean resolves to int.
* It's no longer necessary to manually check for teco_interface_is_interrupted()
since tere_exec() now returns REG_EINTR in case the callback returned TRUE
in which case it's handled by teco_error_regex_set().
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 6 |
1 files changed, 0 insertions, 6 deletions
@@ -74,12 +74,6 @@ Known Bugs: and b) the file mode and ownership of re-created files can be preserved. We should fall back silently to an (inefficient) memory copy or temporary file strategy if this is detected. - * It is still possible to hang searches on huge files since a single match - could still scan too much memory - e.g. try searching for a word that - occurs only at the end of the huge file. - Can probably be avoided by including `(*MATCH_LIMIT=d)` in the pattern. - A new regexp engine should also allow interruptions within a single match, - so we don't have to invent limits like that. * It is still possible to crash SciTECO using recursive functions, since they map to the C program's call stack. It is perhaps best to use another stack of |
