From: Stefan Monnier Date: Sat, 4 Mar 2023 00:13:03 +0000 (-0500) Subject: * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887 X-Git-Tag: emacs-29.0.90~256 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=adc04ad52474113e5a540b33fbefd389b861a89f;p=emacs.git * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887 When `total_length` is 0 there should be no subtree at all, but `delete_interval` only deletes one interval, so make sure we don't end up with some stale child of `i`. --- diff --git a/src/intervals.c b/src/intervals.c index 75e37a8c90c..ee976fb1035 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -2333,6 +2333,9 @@ set_intervals_multibyte_1 (INTERVAL i, bool multi_flag, if (TOTAL_LENGTH (i) == 0) { + /* Delete the whole subtree. */ + i->left = NULL; + i->right = NULL; delete_interval (i); return; }