NetBSD-Users archive

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

Re: curses(3) handling of UTF-8 in various programs



Hello Cág, 

Cág writes:
> [...]  
> Leonardo Taccari wrote:
> [...]  
> > At least regarding the noice problem, that's just a kludge but a
> > possible patch that workaround the problem is attached in this email
> > (it can be used as a LOCALPATCHES for sysutils/noice).
> > Most printw() calls in noice seems easy to be changed to addstr() ones
> > and with them the single bytes are output as-is (IIUC!).
>
> I guess I'll contact upstream about that.
>

At least the proposed workaround is just a kludge that depends on how
addstr() is implemented so it is probably not suitable for upstreaming.

> [...]
> Can we consider this a curses bug?
> [...]

IIUC at least according POSIX printw() maybe it was a bug:

 |     The mvprintw(), mvwprintw(), printw() and wprintw() functions
 |     are analogous to printf(). The effect of these functions is as
 |     though sprintf() were used to format the string, and then
 |     waddstr() were used to add that multi-byte string to the current
 |     or specified window at the current or specified cursor position.

Anyway, Roy fixed that via:

 <https://mail-index.NetBSD.org/source-changes/2019/04/01/msg104681.html>

(i.e.:

 cvs rdiff -u -r1.68 -r1.69 src/lib/libcurses/curses_private.h
 cvs rdiff -u -r1.20 -r1.21 src/lib/libcurses/delwin.c
 cvs rdiff -u -r1.54 -r1.55 src/lib/libcurses/newwin.c
 cvs rdiff -u -r1.26 -r1.27 src/lib/libcurses/printw.c

)

And no local patch is longer needed for noice.


Home | Main Index | Thread Index | Old Index