bug-ncurses
[Top][All Lists]
Advanced

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

Re: Ncurses 5.9 -> 6.0 - libform


From: Thomas Dickey
Subject: Re: Ncurses 5.9 -> 6.0 - libform
Date: Sun, 17 May 2020 07:10:07 -0400
User-agent: NeoMutt/20170113 (1.7.2)

On Sun, May 17, 2020 at 10:59:21AM +0100, Mike Aubury wrote:
> I get the same behaviour with the wgetch and sleep - works on 5.9, nothing
> on 6.0

well -- retracing my footsteps:

+ the exact screensize wasn't stated:

        a wide screen (200 odd columns wide)

+ in my attached "doit" script, I made an assumption (the value might matter)

+ when I tested, I built ncurses using ABI 5, and simply ran the example
  program from the corresponding "test" directory.

  The actual configure options might matter.  In mine, I added --with-trace
  so that the attached "testit" script would capture a "trace" file, in case
  I needed that.

+ ltrace shows the return-value from functions.  You might see a failure from
  one, e.g., a null pointer when creating a derwin if the screensize was too
  small.

+ just to check - when you're testing, the example program (rather than the
  original) is what I'm assuming you're reporting results from :-)

> 
> As I said - and I don't know if this makes any difference - I'm logging in
> using putty, with TERM=xterm
> 
> On Sat, 16 May 2020 at 23:42, Thomas Dickey <address@hidden> wrote:
> 
> > On Fri, May 15, 2020 at 01:45:14PM +0100, Mike Aubury wrote:
> > > Ok - heres a sample program - derived from calls detected using "ltrace"
> > > (its impossible to extract the main application into a small example) -
> > so
> > > apologies for it being terrible, bad names, void*s' etc
> > >
> > > This is run on a putty session with a wide screen (200 odd columns wide)
> > -
> > > if you're running on anything else - you might need to adjust the
> > > window/field sizes
> >
> > I think the problem is the "sleep" call.
> > That can interfere with flushing the output buffer.
> >
> > However, I'm not certain, since in a quick build of 5.9 and 6.2-current,
> > both gave me a blank screen.  But replacing the sleep() with a wgetch()
> > (or "napms(6000)" should work) made both versions show text.
> >
> > See attached
> >
> > > #include <curses.h>
> > > #include <form.h>
> > > #include <panel.h>
> > > main() {
> > > void *ptr0=initscr ( ); //0x13c21e0
> > > void *ptr1=newwin (0, 0, 0, 0 ); //0x13d12a0
> > > void *ptr2=new_panel (ptr1 ); //0x13db400
> > > void *ptr7=derwin (ptr1, 1, 198, 0, 0 ); //0x13dbb60
> > > FIELD *ptr8=new_field (1, 5, 0, 0,0,0 ); //0x1375700
> > > set_field_buffer (ptr8, 0, "XXX") ;
> > > FIELD *ptr10=new_field (1, 193, 0, 5,0,0 ); //0x13de270
> > > set_field_buffer (ptr10, 0, "yyy") ;
> > > FIELD *fields[3];
> > > fields[0]=ptr8;
> > > fields[1]=ptr10;
> > > fields[2]=0;
> > > FORM *ptr12=new_form (fields ); //0x13757c0
> > > set_form_win (ptr12, ptr7) ;
> > > set_form_sub (ptr12, 0) ;
> > > post_form (ptr12 );
> > > set_current_field(ptr12,ptr10);
> > > pos_form_cursor (ptr12 );
> > > update_panels ( );
> > > doupdate ( );
> > > sleep(6);
> >   ^^^^^^^^
> > > endwin();
> > > }
> > >
> > >
> > >
> > > When I run this against 5.9 - it displays.
> > > XXX  yyy
> > >
> > > When I run against 6.0 - it displays nothing.
> > >
> > >
> > > On Fri, 15 May 2020 at 01:53, Thomas Dickey <address@hidden> wrote:
> > >
> > > > On Thu, May 14, 2020 at 07:30:19PM +0100, Mike Aubury wrote:
> > > > > (I know this is probably getting filed under "not enough
> > information", or
> > > > > "hey thats a really old version you have there", but just on the
> > > > > offchance someone might have some pointers...)
> > > > >
> > > > > I've got an application that's been working for years, and a client
> > has
> > > > > just tried using it on Centos8 and a particular command (a "prompt")
> > > > > doesnt work..
> > > > >
> > > > > In the app - i open a form with a label and a field, get them to
> > type in
> > > > a
> > > > > value and return it.
> > > > > Centos comes with ncurses 6.2, I also tried 6.0 and it also breaks,
> > but
> > > > > ncurses 5.9 on the same machine works fine.
> > > > >
> > > > > So - does anyone have any ideas on why fields might not be
> > displaying on
> > > > > 6.0, when it worked fine on 5.9, or have any ideas of what I can do
> > to
> > > > > troubleshoot?
> > > >
> > > > not offhand (that's several years).  I don't recall any particular
> > > > changes in the form library, but a quick diff shows that about 10%
> > > > of the source changed since 5.9 (a lot of that would be cosmetic,
> > > > but still...)
> > > >
> > > > If it's something that I could test, I could look into it.
> > > >
> > > > --
> > > > Thomas E. Dickey <address@hidden>
> > > > https://invisible-island.net
> > > > ftp://ftp.invisible-island.net
> > > >
> >
> > --
> > Thomas E. Dickey <address@hidden>
> > https://invisible-island.net
> > ftp://ftp.invisible-island.net
> >

-- 
Thomas E. Dickey <address@hidden>
https://invisible-island.net
ftp://ftp.invisible-island.net

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]