Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Elena Zannoni <ezannoni@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: Stephane Carrez <stcarrez@nerim.fr>,
	Tom Tromey <tromey@redhat.com>, Gdb List <gdb@sources.redhat.com>
Subject: Re: build failure in TUI
Date: Mon, 26 Aug 2002 17:37:00 -0000	[thread overview]
Message-ID: <15722.51529.896535.794594@localhost.redhat.com> (raw)
In-Reply-To: <15722.51086.256427.159708@localhost.redhat.com>

Elena Zannoni writes:
 > Daniel Jacobowitz writes:
 >  > On Tue, Aug 27, 2002 at 01:51:45AM +0200, Stephane Carrez wrote:
 >  > > Hi!
 >  > > 
 >  > > Elena Zannoni wrote:
 >  > > 
 >  > > >[...]
 >  > > > > Debian has this:
 >  > > > > #define CTRL_CHAR(c) ((c) < control_character_threshold && (((c) & 
 >  > > > 0x80) == 0))
 >  > > > > 
 >  > > > > I'm not sure offhand if this is fixed in stock readline 4.3, or if it
 >  > > > > is Debian local.
 >  > > > > 
 >  > > >
 >  > > >It's in 4.3.
 >  > > >
 >  > > >Elena
 >  > > >
 >  > > 
 >  > > 
 >  > > We can temporarily override it in tuiIO.c to use 4.3 definition and until 
 >  > > we have readline 4.3.
 >  > > 
 >  > > 
 >  > > The TUI does not build with readline 4.3 (on the branch) because it uses 
 >  > > readline internal
 >  > > 
 >  > > variables that have disappeared.  I filed a gdb PR for that.  But this must 
 >  > > not prevent
 >  > > a possible use of readline 4.3 for gdb 5.3.
 >  > 
 >  > They've been renamed, into _rl_.  They're visible in at least the
 >  > Debian readline packages, since I've built TUI with readline 4.3.  I
 >  > suspect there are accessors you're supposed to be using, though... The
 > 
 > I see these documented in readline/CHANGES as having been made
 > internal only. I don't see any accessor functions. You can still use
 > it, but they shouldn't be exported.
 > 
 > Elena
 > 
 >

OK, answering my own question:

the TUI should be using this (untested, uncompiled):
Index: tuiWin.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiWin.c,v
retrieving revision 1.19
diff -u -r1.19 tuiWin.c
--- tuiWin.c    1 Mar 2002 06:19:28 -0000       1.19
+++ tuiWin.c    27 Aug 2002 00:35:42 -0000
@@ -639,8 +639,9 @@
 tuiResizeAll (void)
 {
   int heightDiff, widthDiff;
-  extern int screenheight, screenwidth;                /* in readline */
+  int screenheight, screenwidth;               /* in readline */
 
+  rl_get_screen_size (&screenheight, &screenwidth);
   widthDiff = screenwidth - termWidth ();
   heightDiff = screenheight - termHeight ();
   if (heightDiff || widthDiff)


 


 >  > patch I'm using:
 >  > 
 >  > Debian local - some variables were renamed in readline 4.2.
 >  > 
 >  > diff -urNp gdb-5.2.cvs20010401/gdb/tui.orig/tuiWin.c gdb-5.2.cvs20010401/gdb/tui/tuiWin.c
 >  > --- gdb-5.2.cvs20010401/gdb/tui.orig/tuiWin.c	Sun Mar 31 22:09:42 2002
 >  > +++ gdb-5.2.cvs20010401/gdb/tui/tuiWin.c	Sun Mar 31 23:01:27 2002
 >  > @@ -639,10 +639,10 @@ void
 >  >  tuiResizeAll (void)
 >  >  {
 >  >    int heightDiff, widthDiff;
 >  > -  extern int screenheight, screenwidth;		/* in readline */
 >  > +  extern int _rl_screenheight, _rl_screenwidth;		/* in readline */
 >  >  
 >  > -  widthDiff = screenwidth - termWidth ();
 >  > -  heightDiff = screenheight - termHeight ();
 >  > +  widthDiff = _rl_screenwidth - termWidth ();
 >  > +  heightDiff = _rl_screenheight - termHeight ();
 >  >    if (heightDiff || widthDiff)
 >  >      {
 >  >        TuiLayoutType curLayout = currentLayout ();
 >  > @@ -656,8 +656,8 @@ tuiResizeAll (void)
 >  >        if (winWithFocus != cmdWin)
 >  >  	keypad (cmdWin->generic.handle, FALSE);
 >  >        init_page_info ();
 >  > -      setTermHeightTo (screenheight);
 >  > -      setTermWidthTo (screenwidth);
 >  > +      setTermHeightTo (_rl_screenheight);
 >  > +      setTermWidthTo (_rl_screenwidth);
 >  >        if (curLayout == SRC_DISASSEM_COMMAND ||
 >  >  	curLayout == SRC_DATA_COMMAND || curLayout == DISASSEM_DATA_COMMAND)
 >  >  	numWinsDisplayed++;
 >  > @@ -684,8 +684,8 @@ tuiResizeAll (void)
 >  >  	  if (heightDiff == 0)
 >  >  	    newHeight = firstWin->generic.height;
 >  >  	  else if ((firstWin->generic.height + splitDiff) >=
 >  > -		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  > -	    newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1;
 >  > +		   (_rl_screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  > +	    newHeight = _rl_screenheight - MIN_CMD_WIN_HEIGHT - 1;
 >  >  	  else if ((firstWin->generic.height + splitDiff) <= 0)
 >  >  	    newHeight = MIN_WIN_HEIGHT;
 >  >  	  else
 >  > @@ -694,7 +694,7 @@ tuiResizeAll (void)
 >  >  	  _makeInvisibleAndSetNewHeight (firstWin, newHeight);
 >  >  	  cmdWin->generic.origin.y = locator->origin.y + 1;
 >  >  	  cmdWin->generic.width += widthDiff;
 >  > -	  newHeight = screenheight - cmdWin->generic.origin.y;
 >  > +	  newHeight = _rl_screenheight - cmdWin->generic.origin.y;
 >  >  	  _makeInvisibleAndSetNewHeight (cmdWin, newHeight);
 >  >  	  _makeVisibleWithNewHeight (firstWin);
 >  >  	  _makeVisibleWithNewHeight (cmdWin);
 >  > @@ -722,8 +722,8 @@ tuiResizeAll (void)
 >  >  	    newHeight = firstWin->generic.height;
 >  >  	  else if ((firstWin->generic.height +
 >  >  		    secondWin->generic.height + (splitDiff * 2)) >=
 >  > -		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  > -	    newHeight = (screenheight - MIN_CMD_WIN_HEIGHT - 1) / 2;
 >  > +		   (_rl_screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  > +	    newHeight = (_rl_screenheight - MIN_CMD_WIN_HEIGHT - 1) / 2;
 >  >  	  else if ((firstWin->generic.height + splitDiff) <= 0)
 >  >  	    newHeight = MIN_WIN_HEIGHT;
 >  >  	  else
 >  > @@ -742,9 +742,9 @@ tuiResizeAll (void)
 >  >  	    newHeight = secondWin->generic.height;
 >  >  	  else if ((firstWin->generic.height +
 >  >  		    secondWin->generic.height + (splitDiff * 2)) >=
 >  > -		   (screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  > +		   (_rl_screenheight - MIN_CMD_WIN_HEIGHT - 1))
 >  >  	    {
 >  > -	      newHeight = screenheight - MIN_CMD_WIN_HEIGHT - 1;
 >  > +	      newHeight = _rl_screenheight - MIN_CMD_WIN_HEIGHT - 1;
 >  >  	      if (newHeight % 2)
 >  >  		newHeight = (newHeight / 2) + 1;
 >  >  	      else
 >  > 
 >  > -- 
 >  > Daniel Jacobowitz
 >  > MontaVista Software                         Debian GNU/Linux Developer


      reply	other threads:[~2002-08-27  0:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-26 14:18 Tom Tromey
2002-08-26 14:21 ` Daniel Jacobowitz
2002-08-26 14:31   ` Elena Zannoni
2002-08-26 14:51     ` Stephane Carrez
2002-08-26 15:04       ` Elena Zannoni
2002-08-26 15:31       ` Daniel Jacobowitz
2002-08-26 17:29         ` Elena Zannoni
2002-08-26 17:37           ` Elena Zannoni [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=15722.51529.896535.794594@localhost.redhat.com \
    --to=ezannoni@redhat.com \
    --cc=drow@mvista.com \
    --cc=gdb@sources.redhat.com \
    --cc=stcarrez@nerim.fr \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox