emacs-diffs
[Top][All Lists]
Advanced

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

master 0bfc4b3: Avoid losing composition state in handle_stop_backwards


From: Pip Cet
Subject: master 0bfc4b3: Avoid losing composition state in handle_stop_backwards
Date: Tue, 2 Jun 2020 18:43:14 -0400 (EDT)

branch: master
commit 0bfc4b3dd36a415f118b4b67bfacf99efd6f28c5
Author: Pip Cet <pipcet@gmail.com>
Commit: Pip Cet <pipcet@gmail.com>

    Avoid losing composition state in handle_stop_backwards
    
    * src/xdisp.c (handle_stop_backwards): Save composition iterator state
    across our forward scan.  (Bug#41626)
---
 src/xdisp.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/xdisp.c b/src/xdisp.c
index 0f06a38..f65c3eb 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -8692,6 +8692,7 @@ handle_stop_backwards (struct it *it, ptrdiff_t charpos)
   ptrdiff_t where_we_are = (bufp ? IT_CHARPOS (*it) : IT_STRING_CHARPOS (*it));
   struct display_pos save_current = it->current;
   struct text_pos save_position = it->position;
+  struct composition_it save_cmp_it = it->cmp_it;
   struct text_pos pos1;
   ptrdiff_t next_stop;
 
@@ -8719,6 +8720,7 @@ handle_stop_backwards (struct it *it, ptrdiff_t charpos)
   it->bidi_p = true;
   it->current = save_current;
   it->position = save_position;
+  it->cmp_it = save_cmp_it;
   next_stop = it->stop_charpos;
   it->stop_charpos = it->prev_stop;
   handle_stop (it);



reply via email to

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