summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-03-09 20:15:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2014-03-09 20:15:15 -0700
commit0c514dc343033eafde26679f858796549a96cc8d (patch)
tree1a19a73da0d9611a8e8c9908cc0b8adbc90f1b42 /ChangeLog
parent01504b7436608a7501bb06f4f1b965607ceb1345 (diff)
downloadtxr-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--ChangeLog15
1 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 55b06f15..65dcd162 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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