Re: build failure in TUI

Daniel Jacobowitz
2002-08-26T22:31:58Z

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
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