diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-03-09 20:15:15 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-03-09 20:15:15 -0700 |
commit | 0c514dc343033eafde26679f858796549a96cc8d (patch) | |
tree | 1a19a73da0d9611a8e8c9908cc0b8adbc90f1b42 /ChangeLog | |
parent | 01504b7436608a7501bb06f4f1b965607ceb1345 (diff) | |
download | txr-0c514dc343033eafde26679f858796549a96cc8d.tar.gz txr-0c514dc343033eafde26679f858796549a96cc8d.tar.bz2 txr-0c514dc343033eafde26679f858796549a96cc8d.zip |
Fixing broken processing of horizontal matching across
long lines produced by @(freeform). Once the matching
passes about 4000 characters, the "consume_prefix"
function kicks in to save memory. Then any code which is
not properly written to handle this displaced situation
will break.
* match.c (h_text, h_var, h_coll, h_parallel, h_fun): Bugfix.
The recursive calls to match_line return an absolute position.
From this value we must subtract c->base if we are to
compare it with c->pos, or update c->pos. If we use the
absolute value, we are abruptly jumping ahead in the data.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,18 @@ +2014-03-09 Kaz Kylheku <kaz@kylheku.com> + + Fixing broken processing of horizontal matching across + long lines produced by @(freeform). Once the matching + passes about 4000 characters, the "consume_prefix" + function kicks in to save memory. Then any code which is + not properly written to handle this displaced situation + will break. + + * match.c (h_text, h_var, h_coll, h_parallel, h_fun): Bugfix. + The recursive calls to match_line return an absolute position. + From this value we must subtract c->base if we are to + compare it with c->pos, or update c->pos. If we use the + absolute value, we are abruptly jumping ahead in the data. + 2014-03-08 Kaz Kylheku <kaz@kylheku.com> Issue: match_regex and search_regex were continuing to feed characters |