summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-10-02 17:57:05 +0300
committerEli Zaretskii <eliz@gnu.org>2014-10-02 17:57:05 +0300
commit3d900a84e4c4ab643885728e536f6575054a1d2a (patch)
treef966eb7cdbf17c1efd748c456eccb9826bf100b5
parentef9bcf3b409648f36c5745e22d147f50a144524f (diff)
downloademacs-3d900a84e4c4ab643885728e536f6575054a1d2a.tar.gz
Fix bug #18584 with assertion violations while scrolling.
src/xdisp.c (move_it_by_lines): Call reseat_1 after moving the iterator backwards, to resync the bidi iterator.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 808a8f94c74..331da12aa13 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-02 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (move_it_by_lines): Call reseat_1 after moving the
+ iterator backwards, to resync the bidi iterator. (Bug#18584)
+
2014-10-01 Jan Djärv <jan.h.d@swipnet.se>
* xfaces.c (Finternal_set_lisp_face_attribute): Don't try to
diff --git a/src/xdisp.c b/src/xdisp.c
index c68d1375ff7..80d4d52531a 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9748,6 +9748,7 @@ move_it_by_lines (struct it *it, ptrdiff_t dvpos)
back_to_previous_visible_line_start (it);
it->vpos--;
}
+ reseat_1 (it, it->current.pos, 1);
}
else
RESTORE_IT (it, it, it2data);