[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tty_update: regression in 20180505

From: Leon Winter
Subject: tty_update: regression in 20180505
Date: Thu, 30 Aug 2018 14:01:49 +0200
User-agent: Mutt/1.10.1 (2018-07-13)

Hi Thomas,

the patch 20180505 contains a change in ncurses/tty/tty_update.c which screws up
the rendering of our ncurses/forms application. It seems that somehow we end up
with space ' ' (32) character has A_ALTCHARSET defined. Before it was just
rendered fine but now, instead 0 (NUL) will be the output which in our terminal
(rxvt) is no output at all so all the remaining output is "shifted to the left".
Maybe the new logic is correct and the actual root cause is the logic that
generated the space character with A_ALTCHARSET which is not present in the
_screen_acs_map but it had worked all the time before. To fix our setup we
reverted this change which looks strange to me anyway:

+       if (!SP_PARM->_screen_acs_map[c8]) {
+           chtype temp = UChar(SP_PARM->_acs_map[c8]);
+           RemAttr(attr, A_ALTCHARSET);
+           SetChar(my_ch, temp, AttrOf(attr));
+       }

The if-branch ensures there was no match in the translation table and then uses
an entry (from another datastructure though) from such a translation table
anyway. Why? And if so, should _acs_map[c8] not also be checked for NUL-ness?

Is it worth investigating why there was a space with no entry in the translation
table and A_ALTCHARSET?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]