tech-userlevel archive

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

Re: namespace pollution by curses



On Fri, Mar 8, 2019 at 7:36 AM Rin Okuyama <rokuyama.rk%gmail.com@localhost> wrote:

> On 2019/03/08 22:53, Martin Husemann wrote:
> > On Fri, Mar 08, 2019 at 10:41:51PM +0900, Rin Okuyama wrote:
> >
> >> I've found that this is because curses uses a global variable "state":
> >> https://nxr.netbsd.org/xref/src/lib/libcurses/getch.c#50
> >> https://nxr.netbsd.org/xref/src/lib/libcurses/get_wch.c#52
> >
> > Can both variants of inkey() co-exist?
> > I would just make both decalarations static.
>
> Hmm, I could not find a description in SUSv4 on what happens if both
> single- and wide-character interfaces are used in the same terminal.
>
> I suppose that it is not a best practice, but the question is
> whether there are applications depending on the current behavior.
>
> "state" was turned into global when wide curses was merged:
> http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libcurses/getch.c#rev1.48
>
> Brett, Ruibiao, do you remember why?
>
> Thanks,
> rin
>

I can't remember if we had discussed the situation in which we have both
single- and wide-characters in the same terminal.

If we are certain that it won't happen, I agree that we can go ahead with
removing the references of "state" in the wide-character code, and making
it static in getch.c

Thanks

Ruibiao



Home | Main Index | Thread Index | Old Index