This is the mail archive of the mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Updated on sourceware: ncurses-5.2-5

The ncurses package has been updated to ncurses-5.2-5. ncurses is a
package that provides character and terminal handling libraries,
including 'gui-like' panels and menus.  It is often used instead of

CHANGES from ncurses-5.2-4

o Because of improvements in newlib/cygwin1.dll, the 'testscanw.exe'
program (and the scanw() ncurses function) both work.

o 'smcup' and 'rmcup' items added to the cygwin terminfo entry (made
possible by Corinna's improvements to cygwin). These changes allow
programs like 'vi' to save the screen before it starts, and restore that
screen when the program exits.

o To save on bandwidth, the statically-linked test and utility programs
are no longer included.  They previously appeared in
/usr/bin/ncurses-stat/* and /usr/bin/ncurses-test-stat/*.

o Some documentation updates in /usr/doc/ncurses-5.2.README

o For more information, see the announcement for ncurses-5.2-4:


To update your installation, click on the "Install Cygwin now" link on
the web page.  This downloads setup.exe to your
system.  Then, run setup and answer all of the questions.

Note that we have recently stopped downloads from
(aka due to bandwidth limitations.  This means that you will 
need to find a mirror which has this update.

In the US,
is a reliable high bandwidth connection.
In Germany,
is usually pretty good.
In the UK,
is usually up-to-date within 48 hours.

If one of the above doesn't have the latest version of this package
then you can either wait for the site to be updated or find another

The setup.exe program will figure out what needs to be updated on your
system and should install the ncurses package automatically.  

If you have questions or comments, please send them to the Cygwin
mailing list at: .  I would appreciate if you would
use this mailing list rather than emailing me directly.  This includes
ideas and comments about the setup utility or Cygwin in general.

If you want to make a point or ask a question, the Cygwin mailing list
is the appropriate place.


If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there.  It will be in the format:


o Building the package from source requires gcc-2.95.2-7 and
binutils-20001221-1 or later

o cygwin-1.3.1-1 or later is required for proper scanw() operation and
for the new cygwin terminfo entry to work properly.

o A cygwin-specific README and two PATCHES are stored in the source
archive, under <top>/CYGWIN-PATCHES/* (although the first patch,
ncurses-5.2-X.patch, has already been applied to the archive itself).
The cygwin-specific README is also installed by the binary distribution
as described above.

o If you are building a package that depends on the ncurses library, and
you wish to link *statically*, define -DNCURSES_STATIC (or -DALL_STATIC)
to get the 'correct' #define's in ncurses.h &tc. when compiling the .o
files in your package. Also, use 'gcc -static' when linking your

o No special -Ddefine options or link options are needed when building a
package that depends any of the ncurses libraries and you want to link
dynamically (recommended). 

--Chuck Wilson

***********  TERMINFO ENTRIES  ***********


o updated the cygwin terminfo entry with 'smcup' and 'rmcup' items, as
suggested by Corinna's improvements to cygwin.

o for other changes relative to the base ncurses-5.2 dist, see cygwin's
ncurses-5.2-4 release announcement

--------- end terminfo changes log, begin commentary -------------

BASH in a DOS box:

You must set TERM=cygwin, *not* linux (otherwise you get lots of garbage
characters at the command prompt after running any ncurses program.)  If
you want ACS character to work, add 'codepage:oem' to your CYGWIN


I tested these entries under the following configuration:

1) X-Win32 Xserver, rxvt-2.6.2 from cygutils, 'TERM=rxvt-cygwin' using
the '-fn sabvga' font (which is available from
sabvga and the other fonts in that package provide the linedraw
characters that most window fonts do not -- 'normal' windows fonts
provide the accented characters used by most European languages)

2) Bubba's native rxvt-2.7.2 port (,
'TERM=rxvt-cygwin-native', using the Lucida ConsoleP font (-fn "Lucida
ConsoleP-12" (which is available from LuconP
is encoded as DOS codepage 437 by default -- this codepage includes the
linedraw characters -- rather than ANSI or a different national font.)

Note that if you intend to use "rxvt-cygwin" or "rxvt-cygwin-native"
often, you should probably edit your /etc/termcap file; otherwise,
non-curses programs (like the existing vim package) will get really
confused.  I appended duplicate copies of the existing 'rxvt' entry in
/etc/termcap, and changed the names to these aliases.

If you're not concerned about the linedraw characters, or use a
non-codepage437 font, then 'TERM=rxvt' will work just fine in both
X-Win32+cygutils-rxvt-2.6.2 and in bubba's native rxvt-2.7.2.


If you use bash in a dos box, none of the preceding applies to you. 
Keep 'TERM=cygwin' and you'll be fine.  (You might want to add
'codepage:oem' to your CYGWIN var, as described above).


Using these customized TERM settings can sometimes mess things up when
you telnet/ssh to a remote system that does not know about TERMinals
like 'rxvt-cygwin' or 'cygwin'.  There are a number of workarounds:

1) after connecting to the remote host, set your TERM variable to some
least-common-denominator, like TERM=xterm.  This works, but you won't be
able to use the full capabilities of your actual console (be it a
DOSbox==cygwin, or rxvt-cygwin, or rxvt-cygwin-native).  One trick is to
strip off the extra modifiers -- e.g. your .login on the remote system
can test $TERM, and map "TERM=rxvt-cygwin-native" to "TERM=rxvt" (since
'rxvt' exists on every ncurses installation).

2) teach the remote system to understand these new TERM settings. 
However, this requires you to set TERMINFO at each login, to point to
your local terminfo database with the new definitions.  To teach the
remote system, connect to it, and download the following file to the
remote system:
That file contains an excerpt from the full terminfo.src in

While still on the remote system, do the following
  a) export TERMINFO=~/.terminfo  (or 'setenv TERMINFO ~/.terminfo' for
  b) tic cygwin.terminfo-5.2-5
  c) change your login script on the remote machine to set TERMINFO to
point to ~/.terminfo
Now, this may cause problems if you happen to login to that remote
machine *non-remotely* on occaision; you may need to copy some
appropriate terminfo definitions from the main database on the remote
machine to your personal version.  The main database is usually
somewhere like /usr/share/terminfo or /usr/local/lib/terminfo.

If you want to avoid all that and just install a *full* terminfo
database in your ~/.terminfo, use
instead.  (takes 1.5M on an NTFS file system, 650 files + 36

cygwin.terminfo-5.2-5 provides the following small set of terminal
  xterm, xterm-color
  rxvt, rxvt-color, rxvt-cygwin, rxvt-native, rxvt-xpm
  kvt (KDE terminal)
  gnome (GNOME terminal)
  cygwin, cygwinB19, cygwinDBG
  nxterm (Red Hat color xterm from 5.2)

The following are dependencies of the preceeding.  I doubt anybody would
ever set TERM equal to one of these:
  ansi.sys, ansi.sys-old, ansi-m, pcansi-m
  color_xterm, cx, cx100
  klone+acs, klone+color, klone+sgr, klone+sgr-dumb
  xterm-old, xterm-r6

*********  TEST RESULTS, DLL's  **********

see ncurses-5.2-3 announcement:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]