diff options
author | Alan Mackenzie <acm@muc.de> | 2019-03-01 17:35:12 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2019-03-01 17:37:56 +0000 |
commit | 31182c1d17f6f7bc946d5e4576e025c9b975e0b5 (patch) | |
tree | 49f54fc69a83fbc5f7a7c01a82fe1e1417a94a59 /GNUmakefile | |
parent | 287f2a676405009a6927fe7c33e36299a86b2827 (diff) | |
download | emacs-31182c1d17f6f7bc946d5e4576e025c9b975e0b5.tar.gz |
Maintain interval ->position fields correctly in update_interval
Also fix some anomalies in the handling of byte positions in regexp-emacs.c
This fixes bug #34525.
* src/intervals.c (SET_PARENT_POSITION): New macro.
(update_interval): When moving to an interval's parent, set that parent's
->position field, to maintain the consistency of the tree.
* src/intervals.h (struct interval): Amend the comment describing when
->position is valid.
* src/pdumper.c: Update the hash associated with struct interval.
* src/regex-emacs.c: (re_match_2_internal): Only invoke POINTER_TO_OFFSET on a
known character boundary. Only perform arithmetic on character positions, not
on byte positions. Correct the argument to an invocation of
UPDATE_SYNTAX_TABLE_FORWARD by adding 1 to it (in case wordend:).
* src/syntax.c: (update_syntax_table): Remove the now redundant code that set
the ->position field of all parents of the interval found by update_interval.
Diffstat (limited to 'GNUmakefile')
0 files changed, 0 insertions, 0 deletions