mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
term: reset the grapheme clustering state on cursor movements
This commit is contained in:
parent
882f4b2468
commit
9e6d334bd8
2 changed files with 8 additions and 0 deletions
|
|
@ -120,6 +120,7 @@
|
||||||
* `--server=<FD>` not working on FreeBSD ([#1956][1956]).
|
* `--server=<FD>` not working on FreeBSD ([#1956][1956]).
|
||||||
* Crash when resetting the terminal and an application had previously
|
* Crash when resetting the terminal and an application had previously
|
||||||
set a custom app ID ([#1963][1963])
|
set a custom app ID ([#1963][1963])
|
||||||
|
* Grapheme clustering state not reset on cursor movements.
|
||||||
|
|
||||||
[1918]: https://codeberg.org/dnkl/foot/issues/1918
|
[1918]: https://codeberg.org/dnkl/foot/issues/1918
|
||||||
[1929]: https://codeberg.org/dnkl/foot/issues/1929
|
[1929]: https://codeberg.org/dnkl/foot/issues/1929
|
||||||
|
|
|
||||||
|
|
@ -2860,6 +2860,8 @@ term_cursor_to(struct terminal *term, int row, int col)
|
||||||
term->grid->cursor.point.col = col;
|
term->grid->cursor.point.col = col;
|
||||||
term->grid->cursor.point.row = row;
|
term->grid->cursor.point.row = row;
|
||||||
|
|
||||||
|
term_reset_grapheme_state(term);
|
||||||
|
|
||||||
term->grid->cur_row = grid_row(term->grid, row);
|
term->grid->cur_row = grid_row(term->grid, row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2876,6 +2878,7 @@ term_cursor_col(struct terminal *term, int col)
|
||||||
|
|
||||||
term->grid->cursor.lcf = false;
|
term->grid->cursor.lcf = false;
|
||||||
term->grid->cursor.point.col = col;
|
term->grid->cursor.point.col = col;
|
||||||
|
term_reset_grapheme_state(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -2885,6 +2888,7 @@ term_cursor_left(struct terminal *term, int count)
|
||||||
term->grid->cursor.point.col -= move_amount;
|
term->grid->cursor.point.col -= move_amount;
|
||||||
xassert(term->grid->cursor.point.col >= 0);
|
xassert(term->grid->cursor.point.col >= 0);
|
||||||
term->grid->cursor.lcf = false;
|
term->grid->cursor.lcf = false;
|
||||||
|
term_reset_grapheme_state(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -2894,6 +2898,7 @@ term_cursor_right(struct terminal *term, int count)
|
||||||
term->grid->cursor.point.col += move_amount;
|
term->grid->cursor.point.col += move_amount;
|
||||||
xassert(term->grid->cursor.point.col < term->cols);
|
xassert(term->grid->cursor.point.col < term->cols);
|
||||||
term->grid->cursor.lcf = false;
|
term->grid->cursor.lcf = false;
|
||||||
|
term_reset_grapheme_state(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -3165,6 +3170,8 @@ term_linefeed(struct terminal *term)
|
||||||
term_scroll(term, 1);
|
term_scroll(term, 1);
|
||||||
else
|
else
|
||||||
term_cursor_down(term, 1);
|
term_cursor_down(term, 1);
|
||||||
|
|
||||||
|
term_reset_grapheme_state(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue