diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib.c | 2 | ||||
-rw-r--r-- | match.c | 2 |
3 files changed, 10 insertions, 2 deletions
@@ -1,5 +1,13 @@ 2014-03-09 Kaz Kylheku <kaz@kylheku.com> + * lib.c (lazy_sub_str): Bugfix: "from" was mistakenly used + in the adjustment of the "to" value. + + * match.c (search_form): Use predefined constants for -1 and 1 + instead of calling num. + +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" @@ -2064,7 +2064,7 @@ static val lazy_sub_str(val lstr, val from, val to) to = t; } else { if (lt(to, zero)) { - to = plus(from, len = length_str(lstr)); + to = plus(to, len = length_str(lstr)); to = max(zero, to); } @@ -457,7 +457,7 @@ static val search_form(match_line_ctx *c, val needle_form, val from_end) } else { val spec = cons(needle_form, nil); val pos = from_end ? length_str(c->dataline) : c->pos; - val step = from_end ? num(-1) : num(1); + val step = from_end ? negone : one; rlcp(spec, needle_form); |