searchkey popped search.raw and then search.seed but never touched search.back, so once the typed syllable was gone the query was nothing but the client's own text: an empty preedit above a full candidate list drawn from syllables the user had not selected, and Enter rewrote them. With 상 written and 태 typed, Ctrl+H offered 狀態; one Backspace left the query 상 and 128 candidates, and Enter replaced the 상 with 上 and dropped the 태 altogether. Undo now runs backwards through what happened -- the keys typed since Ctrl+H, then the reach Ctrl+H made, then the syllable that seeded it -- so the same Backspace narrows 상태 to 태 and offers 太, which is also the only way there was ever going to be to convert the syllable alone. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
23 KiB
23 KiB