po 22. 3. 2021 v 13:13 odesílatel Thomas Munro <thomas.mu...@gmail.com>
napsal:

> On Mon, Mar 22, 2021 at 5:10 PM Pavel Stehule <pavel.steh...@gmail.com>
> wrote:
> > probably there will not be an issue inside ncurses - the most complex
> part of get_event is polling of input sources - tty and some other. The
> pspg should not to stop there on tty reading.
>
> The problem is that Apple's /dev/tty device is defective, and doesn't
> work in poll().  It always returns immediately with revents=POLLNVAL,
> but pspg assumes that data is ready and tries to read the keyboard and
> then blocks until I press a key.  This seems to fix it:
>
> +#ifndef __APPLE__
> +               /* macOS can't use poll() on /dev/tty */
>                 state.tty = fopen("/dev/tty", "r+");
> +#endif
>                 if (!state.tty)
>                         state.tty = fopen(ttyname(fileno(stdout)), "r");
>
> A minor problem is that on macOS, _GNU_SOURCE doesn't seem to imply
> NCURSES_WIDECHAR, so I suspect Unicode will be broken unless you
> manually add -DNCURSES_WIDECHAR=1, though I didn't check.
>

For record, this issue is fixed in pspg 4.5.0.

Regards

Pavel

Reply via email to