kevinlin-openai
274727d37f
Delete Thai combining marks one at a time in the composer ( #38662 )
...
## Why
Backspace should let users remove Thai vowel and tone marks without deleting the
entire grapheme cluster.
## What changed
- Treat Thai nonspacing marks as individual backward-deletion boundaries.
- Keep embedded text elements atomic and preserve the existing behavior for
other grapheme clusters, including decomposed Latin text and joined emoji.
## Testing
Add coverage for successive deletion of Thai marks, cursor rendering after
deletion, unchanged non-Thai grapheme handling, and atomic Thai text elements.
GitOrigin-RevId: f4834183909d93f4b4dd92f5d93e89235dc2b621
2026-08-14 22:35:23 +00:00
..
2026-08-14 01:44:33 +00:00
2026-08-14 19:11:41 +00:00
2026-08-13 13:57:25 +00:00
2026-08-14 13:44:51 +00:00
2026-08-10 03:28:19 +00:00
2026-08-10 18:44:58 +00:00
2026-08-10 01:39:55 +00:00
2026-08-12 22:58:46 +00:00
2026-08-11 03:39:02 +00:00
2026-08-14 05:03:39 +00:00
2026-08-13 19:35:22 +00:00
2026-08-14 20:30:30 +00:00
2026-08-13 19:35:22 +00:00
2026-08-13 19:35:22 +00:00
2026-08-14 20:42:35 +00:00
2026-08-14 21:03:00 +00:00
2026-08-14 18:30:45 +00:00
2026-08-05 16:09:01 +00:00
2026-08-14 17:32:37 +00:00
2026-08-13 23:13:37 +00:00
2026-08-14 19:57:04 +00:00
2026-08-04 22:58:02 +00:00
2026-08-14 20:53:22 +00:00
2026-08-07 00:23:38 +00:00
2026-08-14 22:28:33 +00:00
2026-08-14 21:17:29 +00:00
2026-08-14 00:54:45 +00:00
2026-08-07 11:30:17 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 19:35:22 +00:00
2026-08-14 17:32:37 +00:00
2026-08-13 11:11:26 +00:00
2026-08-14 19:11:41 +00:00
2026-08-14 13:44:51 +00:00
2026-08-14 19:11:41 +00:00
2026-08-07 19:56:29 +00:00
2026-08-10 15:50:53 +00:00
2026-08-14 12:16:51 +00:00
2026-08-13 15:23:09 +00:00
2026-08-13 21:13:07 +00:00
2026-08-10 22:12:14 +00:00
2026-08-14 05:03:39 +00:00
2026-08-13 20:04:57 +00:00
2026-08-13 19:35:22 +00:00
2026-08-14 13:44:51 +00:00
2026-08-14 18:01:06 +00:00
2026-08-14 01:23:59 +00:00
2026-08-14 18:26:20 +00:00
2026-08-12 22:33:18 +00:00
2026-08-13 02:40:49 +00:00
2026-08-10 14:25:13 +00:00
2026-08-13 01:52:02 +00:00
2026-08-14 21:17:29 +00:00
2026-08-07 18:33:46 +00:00
2026-08-13 23:29:52 +00:00
2026-08-14 13:44:51 +00:00
2026-08-06 03:11:42 +00:00
2026-08-14 11:47:12 +00:00
2026-08-10 15:43:10 +00:00
2026-08-13 18:30:51 +00:00
2026-08-08 16:58:26 +00:00
2026-08-14 01:49:00 +00:00
2026-08-13 23:38:02 +00:00
2026-08-13 19:35:22 +00:00
2026-08-13 23:38:02 +00:00
2026-08-14 05:49:33 +00:00
2026-08-14 22:35:23 +00:00
2026-08-13 23:29:52 +00:00
2026-08-14 22:28:33 +00:00
2026-08-14 17:32:37 +00:00
2026-08-14 20:23:49 +00:00
2026-08-14 20:23:49 +00:00
2026-08-11 23:40:07 +00:00