Update of bug #55138 (project screen): Status: None => Duplicate
_______________________________________________________ Follow-up Comment #14: It's well known deficiency, there is quite few similar bug reports: 24208 hardcopy doesn't handle Unicode. 36172 hardstatus utf-8 padding 39330 Cannot :title ♬ 44366 hardstatus lastline UTF-8 corruption 52296 Some unicode characters in hardstatus corrupt screen + hardstatus There are things that can be done. 1. massage current encoding handling into hardstatus 2. rewrite whole encoding handling from scratch (noting where inputs come from, and where outputs are) Personally I prefer option 2, because currently due to legacy reasons, we keep encoded character in 4 variables (image, font, fontx, mbcs), while we could just use one uin32_t (/uct4_t) and decode all input to utf-32 and then encode it to output format. In fact I already tried following this path, using libunistring helpers (https://github.com/amade/screen/tree/encoding-rewrite), but it got bit messy and I started thinking that maybe screen should have its own set of encoding handling functions like it has now, but rewritten from scratch. Still it requires plugging a lot of input/output handling into correct places. There is quite few input points as well as output. input points are: * disp_readev_fn - display input function (user input) * win_readev_fn - everything we read from windows (program output) * Input - input prompt (confirmation etc.) * config file - .screenrc * all variables read from command line * getenv output points are: * disp_writeev_fn - display output function (screen output - composite of program output) * win_writeev_fn - everything we write to windows (user input - passed to running program) * logfiles * setenv * hardcopy and probably few that I missed, but became obvious when you start working on it. Although now that I look again at work that I did, maybe it's not that bad, could probably use rebasing on latest code, some cleanup and then fixing rest of unfinished conversions and maybe rethinking some places where we convert stuff if it can be done in better way. _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?55138> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/