Follow-up Comment #1, bug #60030 (project screen): Try this:
diff --git a/src/encoding.c b/src/encoding.c index 11c3c41..e1ea364 100644 --- a/src/encoding.c +++ b/src/encoding.c @@ -1164,7 +1164,9 @@ void utf8_handle_comb(unsigned int c, struct mchar *mc) if (c1 >= 0xd800 && c1 < 0xe000) comb_tofront(root, c1 - 0xd800); i = combchars[root]->prev; - if (c1 == i + 0xd800) { + if (i == (unsigned int)root) + i = combchars[root ^ 1]->prev; /* steal from other root */ + if (i == 0x800 || i == 0x801 || c1 == i + 0xd800) { /* completely full, can't recycle */ mc->image = '?'; mc->font = 0; _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?60030> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/