emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 adc04ad5247: * src/intervals.c (set_intervals_multibyte_1): Fix


From: Stefan Monnier
Subject: emacs-29 adc04ad5247: * src/intervals.c (set_intervals_multibyte_1): Fix bug#61887
Date: Fri, 3 Mar 2023 19:13:12 -0500 (EST)

branch: emacs-29
commit adc04ad52474113e5a540b33fbefd389b861a89f
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * 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`.
---
 src/intervals.c | 3 +++
 1 file changed, 3 insertions(+)

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;
     }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]