diff --git a/strans.c b/strans.c index 21d199d..ade368e 100644 --- a/strans.c +++ b/strans.c @@ -653,14 +653,16 @@ emojiquery(void) static void hanjaquery(void) { - Str tail; + Str kouho[Maxkouho], tail; + int i, n; transstr(im.l, &search.seed, &search.raw, &tail); search.text = search.back; sappend(&search.text, &tail); clearkouho(); - im.nkouho = dictprefix(getlang(LangHANJA)->dict, &search.text, - im.kouho, Maxkouho); + n = dictprefix(getlang(LangHANJA)->dict, &search.text, kouho, Maxkouho); + for(i = 0; i < n; i++) + addkouho(&kouho[i]); selectfirst(); } diff --git a/tests/engine_test.c b/tests/engine_test.c index c3b2dd9..2c3e60d 100644 --- a/tests/engine_test.c +++ b/tests/engine_test.c @@ -2072,6 +2072,8 @@ engine_hanja_word_prefix(struct ct *t) Str com; hanjabegin(&f, LangKO); + /* Two readings under one prefix may share a word; it shows once. */ + setdict(f.dictlang->dict, "민민", "民"); sclear(&com); if(!CT_CHECK(t, keystroke('h', Mctrl, &com)) || !typekeys(t, "als", &com))