aboutsummaryrefslogtreecommitdiffstats
path: root/src/indent.c
diff options
context:
space:
mode:
authorEli Zaretskii2019-01-02 17:55:45 +0200
committerEli Zaretskii2019-01-02 17:55:45 +0200
commit1cef2d7cbea407eaeff5c65e9594e03fabe3bf5e (patch)
tree456d095c98137f695d2f6b6cdd94ffd87dee93a7 /src/indent.c
parent48776b70115edf3775df19d80f734048dadff198 (diff)
downloademacs-1cef2d7cbea407eaeff5c65e9594e03fabe3bf5e.tar.gz
emacs-1cef2d7cbea407eaeff5c65e9594e03fabe3bf5e.zip
Fix text direction of the HarfBuzz shaping buffer
* src/indent.c (scan_for_column, compute_motion): * src/xdisp.c (CHAR_COMPOSED_P): Pass PDIR argument to composition_reseat_it. * src/composite.c (composition_reseat_it): Accept an additional argument PDIR that provides the current paragraph's base direction; all callers changed. Use PDIR to fix calculation of the DIRECTION argument to autocmp_chars. (Bug#33944) * src/composite.h: Include dispextern.h. (composition_reseat_it): Update prototype.
Diffstat (limited to 'src/indent.c')
-rw-r--r--src/indent.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/indent.c b/src/indent.c
index 18855768d37..e0d35f87652 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -599,7 +599,7 @@ scan_for_column (ptrdiff_t *endpos, EMACS_INT *goalcol, ptrdiff_t *prevcol)
599 if (cmp_it.id >= 0 599 if (cmp_it.id >= 0
600 || (scan == cmp_it.stop_pos 600 || (scan == cmp_it.stop_pos
601 && composition_reseat_it (&cmp_it, scan, scan_byte, end, 601 && composition_reseat_it (&cmp_it, scan, scan_byte, end,
602 w, NULL, Qnil))) 602 w, NEUTRAL_DIR, NULL, Qnil)))
603 composition_update_it (&cmp_it, scan, scan_byte, Qnil); 603 composition_update_it (&cmp_it, scan, scan_byte, Qnil);
604 if (cmp_it.id >= 0) 604 if (cmp_it.id >= 0)
605 { 605 {
@@ -1506,7 +1506,7 @@ compute_motion (ptrdiff_t from, ptrdiff_t frombyte, EMACS_INT fromvpos,
1506 if (cmp_it.id >= 0 1506 if (cmp_it.id >= 0
1507 || (pos == cmp_it.stop_pos 1507 || (pos == cmp_it.stop_pos
1508 && composition_reseat_it (&cmp_it, pos, pos_byte, to, win, 1508 && composition_reseat_it (&cmp_it, pos, pos_byte, to, win,
1509 NULL, Qnil))) 1509 NEUTRAL_DIR, NULL, Qnil)))
1510 composition_update_it (&cmp_it, pos, pos_byte, Qnil); 1510 composition_update_it (&cmp_it, pos, pos_byte, Qnil);
1511 if (cmp_it.id >= 0) 1511 if (cmp_it.id >= 0)
1512 { 1512 {