[GRASS5] v.digit menu entry print problem

Hi developers,

a small problem was reported with v.digit:
If you hit "Q" to quit the module, the message

"Leave digit [n]"
does not appear on some systems.

I think it is a bug with curses_yes_no_default:
src/mapdev/v.digit
menus.c: if (curses_yes_no_default (2, "Leave digit? ", 0))

similar to the stdout/fflush thing. However, I am not sure
how to force such a fflush there.

The curses_yes_no_default() is written in dig_curses.c using Write_info()
also there.

Thanks for any help,

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

Markus Neteler wrote:

a small problem was reported with v.digit:
If you hit "Q" to quit the module, the message

"Leave digit [n]"
does not appear on some systems.

I think it is a bug with curses_yes_no_default:
src/mapdev/v.digit
menus.c: if (curses_yes_no_default (2, "Leave digit? ", 0))

similar to the stdout/fflush thing. However, I am not sure
how to force such a fflush there.

The curses_yes_no_default() is written in dig_curses.c using Write_info()
also there.

I don't think that this is an fflush issue.

Write_info() calls _Write_info() followed by wrefresh(INFO_WIN). If
wrefresh() doesn't result in the text being displayed, then it appears
that curses is broken.

In any case, the call to Write_info() in curses_yes_no_default() is
immediately followed by a call to Get_curses_text(), which in turn
calls wgetch(). Reading from any stream which is associated with a
terminal is supposed to flush any output streams. If this doesn't
happen, then the C library is broken.

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

On Wed, Apr 04, 2001 at 05:21:38AM +0100, Glynn Clements wrote:

Markus Neteler wrote:

> a small problem was reported with v.digit:
> If you hit "Q" to quit the module, the message
>
> "Leave digit [n]"
> does not appear on some systems.
>
> I think it is a bug with curses_yes_no_default:
> src/mapdev/v.digit
> menus.c: if (curses_yes_no_default (2, "Leave digit? ", 0))
>
> similar to the stdout/fflush thing. However, I am not sure
> how to force such a fflush there.
>
> The curses_yes_no_default() is written in dig_curses.c using Write_info()
> also there.

I don't think that this is an fflush issue.

Write_info() calls _Write_info() followed by wrefresh(INFO_WIN). If
wrefresh() doesn't result in the text being displayed, then it appears
that curses is broken.

In any case, the call to Write_info() in curses_yes_no_default() is
immediately followed by a call to Get_curses_text(), which in turn
calls wgetch(). Reading from any stream which is associated with a
terminal is supposed to flush any output streams. If this doesn't
happen, then the C library is broken.

Hi Glynn,

thanks for your notes. It seems that the fellow had a local
problem (so that's matching with above), I just received another
mail that he has it running now. Another person reported that
the problem occurs occasionally, maybe a local problem as well.

Good luck for us :slight_smile:

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----- Original Message -----
From: "Glynn Clements" <glynn.clements@virgin.net>
To: <grass5@geog.uni-hannover.de>
Sent: Wednesday, April 04, 2001 6:21 AM
Subject: Re: [GRASS5] v.digit menu entry print problem

Markus Neteler wrote:

> a small problem was reported with v.digit:
> If you hit "Q" to quit the module, the message
>
> "Leave digit [n]"
> does not appear on some systems.
>
> I think it is a bug with curses_yes_no_default:
> src/mapdev/v.digit
> menus.c: if (curses_yes_no_default (2, "Leave digit? ", 0))
>
> similar to the stdout/fflush thing. However, I am not sure
> how to force such a fflush there.
>
> The curses_yes_no_default() is written in dig_curses.c using

Write_info()

> also there.

I don't think that this is an fflush issue.

Write_info() calls _Write_info() followed by wrefresh(INFO_WIN). If
wrefresh() doesn't result in the text being displayed, then it appears
that curses is broken.

In any case, the call to Write_info() in curses_yes_no_default() is
immediately followed by a call to Get_curses_text(), which in turn
calls wgetch(). Reading from any stream which is associated with a
terminal is supposed to flush any output streams. If this doesn't
happen, then the C library is broken.

--
Glynn Clements <glynn.clements@virgin.net>

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write

to:

minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----- Original Message -----
From: "Markus Neteler" <neteler@geog.uni-hannover.de>
To: <grass5@geog.uni-hannover.de>
Sent: Wednesday, April 04, 2001 10:29 AM
Subject: Re: [GRASS5] v.digit menu entry print problem

On Wed, Apr 04, 2001 at 05:21:38AM +0100, Glynn Clements wrote:
>
> Markus Neteler wrote:
>
> > a small problem was reported with v.digit:
> > If you hit "Q" to quit the module, the message
> >
> > "Leave digit [n]"
> > does not appear on some systems.
> >
> > I think it is a bug with curses_yes_no_default:
> > src/mapdev/v.digit
> > menus.c: if (curses_yes_no_default (2, "Leave digit? ", 0))
> >
> > similar to the stdout/fflush thing. However, I am not sure
> > how to force such a fflush there.
> >
> > The curses_yes_no_default() is written in dig_curses.c using

Write_info()

> > also there.
>
> I don't think that this is an fflush issue.
>
> Write_info() calls _Write_info() followed by wrefresh(INFO_WIN). If
> wrefresh() doesn't result in the text being displayed, then it appears
> that curses is broken.
>
> In any case, the call to Write_info() in curses_yes_no_default() is
> immediately followed by a call to Get_curses_text(), which in turn
> calls wgetch(). Reading from any stream which is associated with a
> terminal is supposed to flush any output streams. If this doesn't
> happen, then the C library is broken.

Hi Glynn,

thanks for your notes. It seems that the fellow had a local
problem (so that's matching with above), I just received another
mail that he has it running now. Another person reported that
the problem occurs occasionally, maybe a local problem as well.

Good luck for us :slight_smile:

Markus

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write

to:

minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'

----------------------------------------
If you want to unsubscribe from GRASS Development Team mailing list write to:
minordomo@geog.uni-hannover.de with
subject 'unsubscribe grass5'