[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ncurses for djgpp
From: |
Thomas Dickey |
Subject: |
Re: ncurses for djgpp |
Date: |
Mon, 6 Aug 2001 20:41:52 -0400 |
User-agent: |
Mutt/1.2.5i |
On Mon, Aug 06, 2001 at 07:58:13PM -0400, Mark E. wrote:
> Hello,
> I've been using an up-to-date djgpp libc.a with ncurses 5.2 with success.
> The latest djgpp in cvs support a large subset of ecma-48 commands. I
> currently have a capability description in termcap format which I plan to
> convert to terminfo format so it can be included in terminfo.src.
>
> Anyway, I have a patch would help better help support djgpp. It's a patch to
> set the number of rows and columns and call tcgetattr in order to enable the
> termios emulation and its ecma support.
>
> I wanted to generate it against an up-to-date ncurses, but the rollup patch
> from July 14th wouldn't apply cleanly in places (certain patches to NEWS for
> example).
I always test the rollup patch against the release (not knowing exactly
what you did, I can't tell what's wrong). You need tar, gzip, uudecode
and of course patch.
> Also, the released 5.2 also doesn't use EXEEXT which causes 'make install' to
> fail when
> installing 'tic', etc.
EXEEXT didn't correspond to any release version of autoconf at the time 5.2
was released.
> I didn't find a ChangeLog, so I haven't included one.
NEWS serves that purpose.
>
> *** lib_setup.c.orig Sat Sep 2 14:13:12 2000
> --- lib_setup.c Mon Aug 6 18:51:12 2001
> *************** _nc_get_screensize(int *linep, int *colp
> *** 136,141 ****
> --- 136,158 ----
> *linep, *colp));
> }
> #endif
> + #ifdef __DJGPP__
> + /* Dummy call to tcgetattr to force use of termios emulation. */
> + if (1) {
> + struct termios t;
> +
> + tcgetattr(0, &t);
> + }
that's a rather ugly solution, btw (would be better to provide a special
function for this than to distort the meaning of tcgetattr).
> + if (*linep <= 0) {
> + int ScreenRows(void);
what library provides ScreenRows() and ScreenCols()?
> + *linep = ScreenRows();
> + }
> + if (*colp <= 0) {
> + int ScreenCols(void);
> + *colp = ScreenCols();
> + }
> + T(("screen size: environment LINES = %d COLUMNS = %d", *linep, *colp));
> + #endif
> #if HAVE_SIZECHANGE
> /* if that didn't work, maybe we can try asking the OS */
> if (*linep <= 0 || *colp <= 0) {
>
> Mark
>
>
> _______________________________________________
> Bug-ncurses mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/bug-ncurses
--
Thomas E. Dickey <address@hidden>
http://dickey.his.com
ftp://dickey.his.com