Import ncurses-5.1-20001009 onto the vendor branch

This commit is contained in:
Peter Wemm 2000-10-11 07:31:01 +00:00
parent 15589c42fa
commit 18259542b2
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/ncurses/dist/; revision=66963
152 changed files with 10205 additions and 6425 deletions

View File

@ -22,8 +22,8 @@
manual pages are provided for the library and tools.
The ncurses distribution is available via anonymous FTP at the GNU
distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses. It is also
available at [2]ftp://dickey.his.com/ncurses.
distribution site [1]ftp://ftp.gnu.org/pub/gnu/ncurses.
It is also available at [2]ftp://dickey.his.com/ncurses.
Release Notes
@ -52,8 +52,12 @@
control over the use of default colors. This is the principal
visible difference between ncurses 5.1 and preceding versions. The
new extension allows an application to specify what colors pair 0
uses. It defaults to white on black, unless you have invoked
use_default_colors().
uses.
NOTE: Pair 0 defaults to white on black unless you have invoked
use_default_colors() or set it via assume_default_colors(). An
application that calls start_colors() without setting the
background color will consistently have a black background no
matter what color your terminal's background actually is.
* made several fixes to the terminfo-to-termcap conversion, and have
been using the generated termcaps without further hand-tuning.
This builds on the extension use_extended_names() by adding
@ -81,8 +85,8 @@
affects stty lnext on systems such as FreeBSD
* reordered tests during mouse initialization to allow for gpm to
run in xterm, or for xterm to be used under OS/2 EMX. Also dropped
test for $DISPLAY in favor of kmous=\E[M or $TERM containing
"xterm".
test for $DISPLAY in favor of the terminfo capability kmous=\E[M
or if $TERM environment variable contains "xterm".
* added configure option --with-manpage-symlinks, which provides for
fully indexing manpage entries by making symbolic links for the
aliases.
@ -237,7 +241,8 @@
cdk
Curses Development Kit
[3]Curses Development Kit [4]http://dickey.his.com/cdk.
[3]http://www.vexus.ca/CDK.html
[4]http://dickey.his.com/cdk.
ded
directory-editor
@ -254,47 +259,53 @@
Midnight Commander 4.1
file manager
[8]www.gnome.org/mc/.
mutt
mail utility
[8]http://www.mutt.org.
[9]http://www.mutt.org.
ncftp
file-transfer utility
[10]http://www.ncftp.com.
nvi
New vi versions 1.50 are able to use ncurses versions 1.9.7 and
later.
[11]http://www.bostic.com/vi/.
tin
newsreader, supporting color, MIME
[9]http://www.tin.org.
[12]http://www.tin.org.
taper
tape archive utility
[13]http://members.iinet.net.au/~yusuf/taper/.
vh-1.6
Volks-Hypertext browser for the Jargon File
[14]http://www.bg.debian.org/Packages/unstable/text/vh.html.
as well as some that use ncurses for the terminfo support alone:
minicom
terminal emulator
[15]http://www.pp.clinet.fi/~walker/minicom.html.
vile
vi-like-emacs
[10]http://dickey.his.com/vile.
[16]http://dickey.his.com/vile.
The ncurses distribution includes a selection of test programs
(including a few games).
Who's Who and What's What
The original developers of ncurses are [11]Zeyd Ben-Halim and [12]Eric
S. Raymond. Ongoing work is being done by [13]Thomas Dickey and
[14]Jürgen Pfeifer. [15]Thomas Dickey acts as the maintainer for the
The original developers of ncurses are [17]Zeyd Ben-Halim and [18]Eric
S. Raymond. Ongoing work is being done by [19]Thomas Dickey and
[20]Jürgen Pfeifer. [21]Thomas Dickey acts as the maintainer for the
Free Software Foundation, which holds the copyright on ncurses.
Contact the current maintainers at [16]bug-ncurses@gnu.org.
Contact the current maintainers at [22]bug-ncurses@gnu.org.
To join the ncurses mailing list, please write email to
bug-ncurses-request@gnu.org containing the line:
@ -304,7 +315,7 @@ Who's Who and What's What
and testing of this package.
Beta versions of ncurses and patches to the current release are made
available at [17]ftp://dickey.his.com/ncurses.
available at [23]ftp://dickey.his.com/ncurses.
Future Plans
@ -319,10 +330,10 @@ Other Related Resources
The distribution includes and uses a version of the terminfo-format
terminal description file maintained by Eric Raymond.
[18]http://earthspace.net/~esr/terminfo.
[24]http://earthspace.net/~esr/terminfo.
You can find lots of information on terminal-related topics not
covered in the terminfo file at [19]Richard Shuford's archive.
covered in the terminfo file at [25]Richard Shuford's archive.
References
@ -333,15 +344,21 @@ References
5. http://dickey.his.com/ded/ded.html
6. http://dickey.his.com/dialog/dialog.html
7. http://lynx.isc.org/release/
8. http://www.mutt.org/
9. http://www.tin.org/
10. http://dickey.his.com/vile/vile.html
11. mailto:zmbenhal@netcom.com
12. http://www.ccil.org/~esr/home.html
13. mailto:dickey@herndon4.his.com
14. mailto:juergen.pfeifer@gmx.net
15. mailto:dickey@herndon4.his.com
16. mailto:bug-ncurses@gnu.org
17. ftp://dickey.his.com/ncurses
18. http://earthspace.net/~esr/terminfo
19. http://www.cs.utk.edu/~shuford/terminal_index.html
8. file://localhost/usr/build/ncurses/ncurses-5.1-20000704/doc/html/www.gnome.org/mc/
9. http://www.mutt.org/
10. http://www.ncftp.com/
11. http://www.bostic.com/vi/
12. http://www.tin.org/
13. http://members.iinet.net.au/~yusuf/taper/
14. http://www.bg.debian.org/Packages/unstable/text/vh.html
15. http://www.pp.clinet.fi/~walker/minicom.html
16. http://dickey.his.com/vile/vile.html
17. mailto:zmbenhal@netcom.com
18. http://www.ccil.org/~esr/home.html
19. mailto:dickey@herndon4.his.com
20. mailto:juergen.pfeifer@gmx.net
21. mailto:dickey@herndon4.his.com
22. mailto:bug-ncurses@gnu.org
23. ftp://dickey.his.com/ncurses
24. http://earthspace.net/~esr/terminfo
25. http://www.cs.utk.edu/~shuford/terminal_index.html

View File

@ -1,4 +1,4 @@
-- $Id: INSTALL,v 1.36 2000/05/06 17:30:14 tom Exp $
-- $Id: INSTALL,v 1.45 2000/10/08 02:17:57 tom Exp $
---------------------------------------------------------------------
How to install Ncurses/Terminfo on your system
---------------------------------------------------------------------
@ -28,12 +28,12 @@ read the USING NCURSES WITH EMACS section below.
If you are trying to build applications using gpm with ncurses,
read the USING NCURSES WITH GPM section below.
If you are trying to build Elvis using ncurses for terminal support,
read the USING NCURSES WITH ELVIS section below.
If you are running over the Andrew File System see the note below on
USING NCURSES WITH AFS.
If you are cross-compiling, see the note below on BUILDING NCURSES WITH A
CROSS-COMPILER.
If you want to build the Ada95 binding, go to the Ada95 directory and
follow the instructions there. The Ada95 binding is not covered below.
@ -71,7 +71,7 @@ INSTALLATION PROCEDURE:
The package gets installed beneath the --prefix directory as follows:
In $(prefix)/bin: tic, infocmp, captoinfo, tset,
reset, clear, tput, toe
reset, clear, tput, toe
In $(prefix)/lib: libncurses*.* libcurses.a
In $(prefix)/share/terminfo: compiled terminal descriptions
In $(prefix)/include: C header files
@ -107,19 +107,19 @@ INSTALLATION PROCEDURE:
If you do not specify any models, the normal and debug libraries will be
configured. Typing `configure' with no arguments is equivalent to:
./configure --with-normal --with-debug --enable-overwrite
./configure --with-normal --with-debug --enable-overwrite
Typing
./configure --with-shared
./configure --with-shared
makes the shared libraries the default, resulting in
./configure --with-shared --with-normal --with-debug --enable-overwrite
./configure --with-shared --with-normal --with-debug --enable-overwrite
If you want only shared libraries, type
./configure --with-shared --without-normal --without-debug
./configure --with-shared --without-normal --without-debug
Rules for generating shared libraries are highly dependent upon the choice
of host system and compiler. We've been testing shared libraries on Linux
@ -135,7 +135,7 @@ INSTALLATION PROCEDURE:
3. Type `make'. Ignore any warnings, no error messages should be produced.
This should compile the ncurses library, the terminfo compiler tic(1),
captoinfo(1), infocmp(1), toe(1), clear(1) tset(1), reset(1), and tput(1)
programs (see the man pages for explanation of what they do), some test
programs (see the manual pages for explanation of what they do), some test
programs, and the panels, menus, and forms libraries.
4. Run ncurses and several other test programs in the test directory to
@ -154,17 +154,17 @@ INSTALLATION PROCEDURE:
cursor addressing and window scrolling works OK, etc.
5. Once you've tested, you can type `make install' to install libraries,
the programs, the terminfo database and the man pages. Alternately, you
the programs, the terminfo database and the manual pages. Alternately, you
can type `make install' in each directory you want to install. In the
top-level directory, you can do a partial install using these commands:
'make install.progs' installs tic, infocmp, etc...
'make install.includes' installs the headers.
'make install.libs' installs the libraries (and the headers).
'make install.data' installs the terminfo data. (Note: `tic' must
be installed before the terminfo data can be
compiled).
'make install.man' installs the man pages.
'make install.includes' installs the headers.
'make install.libs' installs the libraries (and the headers).
'make install.data' installs the terminfo data. (Note: `tic' must
be installed before the terminfo data can be
compiled).
'make install.man' installs the manual pages.
############################################################################
# CAVEAT EMPTOR: `install.data' run as root will NUKE any existing #
@ -173,9 +173,9 @@ INSTALLATION PROCEDURE:
# this purpose. Don't forget to run tic on the file once you're done. #
############################################################################
The terminfo(5) manual page wants to be preprocessed with tbl(1) before
The terminfo(5) manual page must be preprocessed with tbl(1) before
being formatted by nroff(1). Modern man(1) implementations tend to do
this by default, but you may want to look at your version's man page
this by default, but you may want to look at your version's manual page
to be sure.
If the system already has a curses library that you need to keep using
@ -232,6 +232,351 @@ INSTALLATION PROCEDURE:
possible screen sizes, ncurses will figure out the size automatically.
SUMMARY OF CONFIGURE OPTIONS:
----------------------------
The configure script provides a short list of its options when you type
./configure --help
The --help and several options are common to all configure scripts that are
generated with autoconf. Those are all listed before the line
--enable and --with options recognized:
The other options are specific to this package. We list them in alphabetic
order.
--disable-assumed-color
With ncurses 5.1, we introduced a new function, assume_default_colors()
which allows applications to specify what the default foreground and
background color are assumed to be. Most color applications use
full-screen color; but a few do not color the background. While the
assumed values can be overridden by invoking assume_default_colors(),
you may find it useful to set the assumed values to the pre-5.1
convention, using this configure option.
--disable-big-core
Assume machine has little memory. The configure script attempts to
determine if your machine has enough memory (about 6Mb) to compile the
terminfo database without writing portions to disk. Some allocators
return deceptive results, so you may have to override the configure
script. Or you may be building tic for a smaller machine.
--disable-database
Use only built-in data. The ncurses libraries normally read terminfo
and termcap data from disk. You can configure ncurses to have a
built-in database, aka "fallback" entries. Embedded applications may
have no need for an external database.
--disable-ext-funcs
Disable function-extensions. Configure ncurses without the functions
that are not specified by XSI. See ncurses/modules for the exact
list of library modules that would be suppressed.
--disable-hashmap
Compile without hashmap scrolling-optimization code. This algorithm is
the default.
--disable-leaks
For testing, compile-in code that frees memory that normally would not
be freed, to simplify analysis of memory-leaks.
--disable-macros
For testing, use functions rather than macros. The program will run
more slowly, but it is simpler to debug. This makes a header file
"nomacros.h". See also the --enable-expanded option.
--disable-overwrite
If you are installing ncurses on a system which contains another
development version of curses, or which could be confused by the loader
for another version, we recommend that you leave out the link to
-lcurses. The ncurses library is always available as -lncurses.
Disabling overwrite also causes the ncurses header files to be
installed into a subdirectory, e.g., /usr/local/include/ncurses,
rather than the include directory. This makes it simpler to avoid
compile-time conflicts with other versions of curses.h
--disable-root-environ
Compile with environment restriction, so certain environment variables
are not available when running as root, or via a setuid/setgid
application. These are (for example $TERMINFO) those that allow the
search path for the terminfo or termcap entry to be customized.
--disable-scroll-hints
Compile without scroll-hints code. This option is ignored when
hashmap scrolling is configured, which is the default.
--enable-add-ons=DIR...
This is used to check if this package is a glibc add-on. This is used
only by the glibc makefiles.
--enable-assertions
For testing, compile-in assertion code. This is used only for a few
places where ncurses cannot easily recover by returning an error code.
--enable-broken_linker
A few platforms have what we consider a broken linker: it cannot link
objects from an archive solely by referring to data objects in those
files, but requires a function reference. This configure option
changes several data references to functions to work around this
problem.
NOTE: With ncurses 5.1, this may not be necessary, since we are
told that some linkers interpret uninitialized global data as a
different type of reference which behaves as described above. We have
explicitly initialized all of the global data to work around the
problem.
--enable-bsdpad
Recognize BSD-style prefix padding. Some ancient BSD programs (such as
nethack) call tputs("50") to implement delays.
--enable-colorfgbg
Compile with experimental $COLORFGBG code. That environment variable
is set by some terminal emulators as a hint to applications, by
advertising the default foreground and background colors. During
initialization, ncurses sets color pair 0 to match this.
--enable-const
The curses interface as documented in XSI is rather old, in fact
including features that precede ANSI C. The prototypes generally do
not make effective use of "const". When using stricter compilers (or
gcc with appropriate warnings), you may see warnings about the mismatch
between const and non-const data. We provide a configure option which
changes the interfaces to use const - quieting these warnings and
reflecting the actual use of the parameters more closely. The ncurses
library uses the symbol NCURSES_CONST for these instances of const,
and if you have asked for compiler warnings, will add gcc's const-qual
warning. There will still be warnings due to subtle inconsistencies
in the interface, but at a lower level.
NOTE: configuring ncurses with this option may detract from the
portability of your applications by encouraging you to use const in
places where the XSI curses interface would not allow them. Similar
issues arise when porting to SVr4 curses, which uses const in even
fewer places.
--enable-echo
Use the option --disable-echo to make the build-log less verbose by
suppressing the display of the compile and link commands. This makes
it easier to see the compiler warnings. (You can always use "make -n"
to see the options that are used).
--enable-expanded
For testing, generate functions for certain macros to make them visible
as such to the debugger. See also the --disable-macros option.
--enable-getcap
Use the 4.4BSD getcap code if available, or a bundled version of it to
fetch termcap entries. Entries read in this way cannot use (make
cross-references to) the terminfo tree, but it is faster than reading
/etc/termcap.
--enable-getcap-cache
Cache translated termcaps under the directory $HOME/.terminfo
NOTE: this sounds good - it makes ncurses run faster the second time.
But look where the data comes from - an /etc/termcap containing lots of
entries that are not up to date. If you configure with this option and
forget to install the terminfo database before running an ncurses
application, you will end up with a hidden terminfo database that
generally does not support color and will miss some function keys.
--enable-hard-tabs
Compile-in cursor-optimization code that uses hard-tabs. We would make
this a standard feature except for the concern that the terminfo entry
may not be accurate, or that your stty settings have disabled the use
of tabs.
--enable-no-padding
Compile-in support for the $NCURSES_NO_PADDING environment variable,
which allows you to suppress the effect of non-mandatory padding in
terminfo entries. This is the default, unless you have disabled the
extended functions.
--enable-rpath
Use rpath option when generating shared libraries, and with some
restrictions when linking the corresponding programs. This applies
mainly to systems using the GNU linker (read the manpage).
--enable-safe-sprintf
Compile with experimental safe-sprintf code. You may consider using
this if you are building ncurses for a system that has neither
vsnprintf() or vsprintf(). It is slow, however.
--enable-sigwinch
Compile support for ncurses' SIGWINCH handler. If your application has
its own SIGWINCH handler, ncurses will not use its own. The ncurses
handler causes wgetch() to return KEY_RESIZE when the screen-size
changes. This option is the default, unless you have disabled the
extended functions.
--enable-symlinks
If your system supports symbolic links, make tic use symbolic links
rather than hard links to save diskspace when writing aliases in the
terminfo database.
--enable-tcap-names
Compile-in support for user-definable terminal capabilities. Use the
-x option of tic and infocmp to treat unrecognized terminal
capabilities as user-defined strings. This option is the default,
unless you have disabled the extended functions.
--enable-termcap
Compile in support for reading terminal descriptions from termcap if no
match is found in the terminfo database. See also the --enable-getcap
and --enable-getcap-cache options.
--enable-warnings
Turn on GCC compiler warnings. There should be only a few.
--enable-widec
Compile with experimental wide-character code. This makes a different
version of the libraries (e.g., libncursesw.so), which stores
characters in 16-bits. We provide a simple UTF-8 driver and test
program to use this feature with terminals that can display UTF-8.
NOTE: applications compiled with this configuration are not compatible
with those built for 8-bit characters. You cannot simply make a
symbolic link to equate libncurses.so with libncursesw.so
--enable-xmc-glitch
Compile-in support experimental xmc (magic cookie) code.
--with-ada-compiler=CMD
Specify the Ada95 compiler command (default "gnatmake")
--with-ada-include=DIR
Tell where to install the Ada includes (default:
PREFIX/lib/ada/adainclude)
--with-ada-objects=DIR
Tell where to install the Ada objects (default: PREFIX/lib/ada/adalib)
--with-database=XXX
Specify the terminfo source file to install. Usually you will wish
to install ncurses' default (misc/terminfo.src). Certain systems
have special requirements, e.g, OS/2 EMX has a customized terminfo
source file.
--with-dbmalloc
For testing, compile and link with Conor Cahill's dbmalloc library.
--with-debug
Generate debug-libraries (default). These are named by adding "_g"
to the root, e.g., libncurses_g.a
--with-default-terminfo-dir=XXX
Specify the default terminfo database directory. This is normally
DATADIR/terminfo, e.g., /usr/share/terminfo.
--with-develop
Enable experimental/development options. This does not count those
that change the interface, such as --enable-widec.
--with-dmalloc
For testing, compile and link with Gray Watson's dmalloc library.
--with-fallbacks=XXX
Specify a list of fallback terminal descriptions which will be
compiled into the ncurses library. See CONFIGURING FALLBACK ENTRIES.
--with-gpm
use Alessandro Rubini's GPM library to provide mouse support on the
Linux console.
--with-install-prefix=XXX
Allows you to specify an alternate location for installing ncurses
after building it. The value you specify is prepended to the "real"
install location. This simplifies making binary packages.
NOTE: a few systems build shared libraries with fixed pathnames; this
option probably will not work for those configurations.
--with-manpage-format=XXX
Tell the configure script how you would like to install man-pages. The
option value must be one of these: gzip, compress, BSDI, normal,
formatted. If you do not give this option, the configure script
attempts to determine which is the case.
--with-manpage-renames=XXX
Tell the configure script that you wish to rename the manpages while
installing. Currently the only distribution which does this is
the Linux Debian. The option value specifies the name of a file
that lists the renamed files, e.g., $srcdir/man/man_db.renames
--with-manpage-symlinks
Tell the configure script that you wish to make symbolic links in the
man-directory for aliases to the man-pages. This is the default, but
can be disabled for systems that provide this automatically. Doing
this on systems that do not support symbolic links will result in
copying the man-page for each alias.
--with-normal
Generate normal (i.e., static) libraries (default).
--with-profile
Generate profile-libraries These are named by adding "_p" to the root,
e.g., libncurses_p.a
--with-rcs-ids
Compile-in RCS identifiers. Most of the C files have an identifier.
--with-shared
Generate shared-libraries. The names given depend on the system for
which you are building, typically using a ".so" suffix, along with
symbolic links that refer to the release version.
NOTE: Unless you override the configure script by setting the $CFLAGS
environment variable, these will not be built with the -g debugging
option.
--with-shlib-version=XXX
Specify whether to use the release or ABI version for shared libraries.
This is normally chosen automatically based on the type of system
which you are building on. We use it for testing the configure script.
--with-system-type=XXX
For testing, override the derived host system-type which is used to
decide things such as the linker commands used to build shared
libraries. This is normally chosen automatically based on the type of
system which you are building on. We use it for testing the configure
script.
--with-terminfo-dirs=XXX
Specify a search-list of terminfo directories which will be compiled
into the ncurses library (default: DATADIR/terminfo)
--with-termlib
When building the ncurses library, organize this as two parts: the
curses library (libncurses) and the low-level terminfo library
(libtinfo). This is done to accommodate applications that use only
the latter. The terminfo library is about half the size of the total.
--without-ada
Suppress the configure script's check for Ada95, do not build the
Ada95 binding and related demo.
--without-cxx
XSI curses declares "bool" as part of the interface. C++ also declares
"bool". Neither specifies the size and type of booleans, but both
insist on the same name. We chose to accommodate this by making the
configure script check for the size and type (e.g., unsigned or signed)
that your C++ compiler uses for booleans. If you do not wish to use
ncurses with C++, use this option to tell the configure script to not
adjust ncurses bool to match C++.
--without-cxx-binding
Suppress the configure script's check for C++, do not build the
C++ binding and related demo.
--without-progs
Tell the configure script to suppress the build of ncurses' application
programs (e.g., tic). The test applications will still be built if you
type "make", though not if you simply do "make install".
COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
--------------------------------------------
@ -247,8 +592,23 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
you may encounter when building a system with different versions of
ncurses:
5.0
Interface changes:
5.1 (July 8, 2000)
Interface changes:
+ made the extended terminal capabilities
(configure --enable-tcap-names) a standard feature. This should
be transparent to applications that do not require it.
+ removed the trace() function and related trace support from the
production library.
+ modified curses.h.in, undef'ing some symbols to avoid conflict
with C++ STL.
Added extensions: assume_default_colors().
5.0 (October 23, 1999)
Interface changes:
+ implemented the wcolor_set() and slk_color() functions.
@ -262,7 +622,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
+ modified several prototypes to correspond with 1997 version of X/Open
Curses: [w]attr_get(), [w]attr_set(), border_set() have different
parameters. Some functions were renamed or misspelled:
parameters. Some functions were renamed or misspelled:
erase_wchar(), in_wchntr(), mvin_wchntr(). Some developers have used
attr_get().
@ -332,8 +692,8 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
errors. In 5.0 we added a configure option "--without-cxx-binding"
which controls whether the binding itself is built and installed.
4.2
Interface changes:
4.2 (March 2, 1998)
Interface changes:
+ correct prototype for termattrs() as per XPG4 version 2.
@ -370,7 +730,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
1.9.9g (December 1, 1996)
This fixed most of the problems with 1.9.9e, and made these interface
This fixed most of the problems with 1.9.9e, and made these interface
changes:
+ remove tparam(), which had been provided for compatibility with
@ -407,7 +767,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
1.9.9e (March 24, 1996)
not recommended (a last-minute/untested change left the forms and
menus libraries unusable since they do not repaint the screen).
menus libraries unusable since they do not repaint the screen).
Foreground/background colors are combined incorrectly, working properly
only on a black background. When this was released, the X/Open
specification was available only in draft form.
@ -456,7 +816,7 @@ IF YOU ARE A SYSTEM INTEGRATOR:
reverse-tabulation sequence) rather than ^I. Here are the loadkeys -d
mappings that will set this up:
keycode 15 = Tab Tab
keycode 15 = Tab Tab
alt keycode 15 = Meta_Tab
shift keycode 15 = F26
string F26 ="\033[Z"
@ -559,7 +919,7 @@ BSD CONVERSION NOTES:
an application you probably want to put the remainder of this section
in the package README file.)
The following note applies only if you have configured ncurses with
The following note applies only if you have configured ncurses with
--enable-termcap.
------------------------------- CUT HERE --------------------------------
@ -632,9 +992,10 @@ USING NCURSES WITH GPM:
which is used on Linux console. Be aware that GPM is commonly
installed as a shared library which contains a wrapper for the curses
wgetch() function (libcurses.o). Some integrators have simplified
linking applications by combining all of libcurses.so (the BSD curses)
into the libgpm.so file, producing symbol conflicts with ncurses. You
may be able to work around this problem by linking as follows:
linking applications by combining all or part of libcurses.so (the BSD
curses) into the libgpm.so file, producing symbol conflicts with
ncurses (specifically the wgetch function). You may be able to work
around this problem by linking as follows:
cc -o foo foo.o -lncurses -lgpm -lncurses
@ -644,37 +1005,25 @@ USING NCURSES WITH GPM:
dickey.his.com:/ncurses/gpm-1.10-970125.tar.gz
This patch is incorporated in gpm 1.12; however some integrators
are slow to update this library.
are slow to update this library. Current distributions of gpm can
be configured properly using the --without-curses option.
USING NCURSES WITH ELVIS:
To use ncurses as the screen-painting library for Elvis, apply the
following patch to the Elvis curses
BUILDING NCURSES WITH A CROSS-COMPILER
Ncurses can be built with a cross-compiler. Some parts must be built
with the host's compiler since they are used for building programs
(e.g., ncurses/make_hash and ncurses/make_keys) that generate tables
that are compiled into the ncurses library. You should set the
BUILD_CC environment variable to your host's compiler, and run the
configure script configuring for the cross-compiler.
*** curses.c.orig Sun Jun 26 05:48:23 1994
--- curses.c Sun Feb 11 16:50:41 1996
***************
*** 986,992 ****
{
if (has_IM)
do_IM();
! do_IC();
qaddch(ch);
if (has_EI)
do_EI();
--- 986,995 ----
{
if (has_IM)
do_IM();
!#ifdef NCURSES_VERSION
! else /* ncurses does insertion in a slightly nonstandard way */
!#endif
! do_IC();
qaddch(ch);
if (has_EI)
do_EI();
Note that all of the generated source-files which are part of ncurses
will be made if you use
This patch is for elvis-1.8pl4 but it can even be used for elvis-1.8pl3 with
an offset of -11 lines.
make sources
This would be useful in porting to an environment which has little
support for the tools used to generate the sources, e.g., sed, awk and
Bourne-shell.
BUGS:
Send any feedback to the ncurses mailing list at
@ -682,5 +1031,5 @@ BUGS:
bug-ncurses-request@gnu.org with body that reads:
subscribe ncurses <your-email-address-here>
The Hacker's Guide in the misc directory includes some guidelines
The Hacker's Guide in the doc directory includes some guidelines
on how to report bugs in ways that will get them fixed most quickly.

View File

@ -294,6 +294,7 @@
./doc/html/man/curs_termcap.3x.html
./doc/html/man/curs_terminfo.3x.html
./doc/html/man/curs_touch.3x.html
./doc/html/man/curs_trace.3x.html
./doc/html/man/curs_util.3x.html
./doc/html/man/curs_window.3x.html
./doc/html/man/define_key.3x.html
@ -409,6 +410,7 @@
./form/modules
./include/Caps
./include/MKhashsize.sh
./include/MKncurses_def.sh
./include/MKparametrized.sh
./include/MKterm.h.awk.in
./include/Makefile.in
@ -419,6 +421,7 @@
./include/nc_alloc.h
./include/nc_panel.h
./include/ncurses_cfg.hin
./include/ncurses_defs
./include/term_entry.h
./include/termcap.h.in
./include/tic.h
@ -467,10 +470,11 @@
./man/curs_termcap.3x
./man/curs_terminfo.3x
./man/curs_touch.3x
./man/curs_trace.3x
./man/curs_util.3x
./man/curs_window.3x
./man/default_colors.3x
./man/define_key.3x
./man/dft_fgbg.3x
./man/form.3x
./man/form_cursor.3x
./man/form_data.3x
@ -502,7 +506,7 @@
./man/man_db.renames
./man/manlinks.sed
./man/menu.3x
./man/menu_attribs.3x
./man/menu_attributes.3x
./man/menu_cursor.3x
./man/menu_driver.3x
./man/menu_format.3x
@ -587,7 +591,7 @@
./misc/ncurses.ref
./misc/panel.def
./misc/panel.ref
./misc/run_tic.sh
./misc/run_tic.in
./misc/shlib
./misc/tabset/std
./misc/tabset/stdcrt
@ -726,6 +730,7 @@
./ncurses/tinfo/lib_setup.c
./ncurses/tinfo/lib_termcap.c
./ncurses/tinfo/lib_termname.c
./ncurses/tinfo/lib_tgoto.c
./ncurses/tinfo/lib_ti.c
./ncurses/tinfo/lib_tparm.c
./ncurses/tinfo/lib_tputs.c
@ -736,6 +741,7 @@
./ncurses/tinfo/read_entry.c
./ncurses/tinfo/read_termcap.c
./ncurses/tinfo/setbuf.c
./ncurses/tinfo/strings.c
./ncurses/tinfo/write_entry.c
./ncurses/trace/README
./ncurses/trace/lib_trace.c

View File

@ -198,6 +198,7 @@ libncurses-routines = \
tinfo/lib_setup \
tinfo/lib_termcap \
tinfo/lib_termname \
tinfo/lib_tgoto \
tinfo/lib_ti \
tinfo/lib_tparm \
tinfo/lib_tputs \
@ -207,6 +208,7 @@ libncurses-routines = \
tinfo/read_entry \
tinfo/read_termcap \
tinfo/setbuf \
tinfo/strings \
tinfo/write_entry \
trace/lib_trace \
trace/lib_traceatr \

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.18 1998/08/22 23:45:00 tom Exp $
# $Id: Makefile.in,v 1.20 2000/08/19 19:11:56 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# #
@ -33,8 +33,8 @@
SHELL = /bin/sh
INSTALL_PREFIX=@INSTALL_PREFIX@
CF_MFLAGS = @cf_cv_makeflags@ INSTALL_PREFIX="$(INSTALL_PREFIX)"
DESTDIR=@DESTDIR@
CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
@SET_MAKE@
@ -46,7 +46,7 @@ prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
datadir = @datadir@
ticdir = @TERMINFO@
includedir = @includedir@
libdir = @libdir@
mandir = @mandir@
@ -69,7 +69,7 @@ preinstall :
@ echo ' lib directory: '$(libdir)
@ echo ' include directory: '$(includedir)
@ echo ' man directory: '$(mandir)
@ echo ' terminfo directory: '$(datadir)/terminfo
@ echo ' terminfo directory: '$(ticdir)
@ echo ''
@ test "$(includedir)" = "$(prefix)/include" || \
echo '** Include-directory is not in a standard location'

View File

@ -1,7 +1,7 @@
################################################################################
# Wrapper Makefile for ncurses library under OS/2.
################################################################################
# $Id: Makefile.os2,v 1.8 1998/12/13 02:23:13 tom Exp $
# $Id: Makefile.os2,v 1.10 2000/10/09 23:53:57 Ilya.Zakharevich Exp $
#
# Author: Juan Jose Garcia Ripoll <worm@arrakis.es>.
# Webpage: http://www.arrakis.es/~worm/
@ -13,8 +13,7 @@
#
# touch Makefile
# make -f Makefile.os2 config
# make -f Makefile.os2 CC=gcc HOSTCC=gcc
# make -f Makefile.os2 CC=gcc HOSTCC=gcc
# make -f Makefile.os2 CC=gcc HOSTCC=gcc CXX=gcc
#
# Ignoring the following errors:
# Invalid configuration `os2'...
@ -138,7 +137,7 @@ make.dlls : $(DEFS) $(LIBS) $(DLLS) $(LIBS_AOUT)
$(DEFS) : make.defs
LIBDIR = $(INSTALL_PREFIX)$(libdir)
LIBDIR = $(DESTDIR)$(libdir)
$(LIBDIR) :
mkdir -p $@
@ -188,8 +187,8 @@ realclean ::
# This is a simplified version of misc/Makefile
#
TICDIR = $(INSTALL_PREFIX)$(datadir)/terminfo
TABSETDIR = $(INSTALL_PREFIX)$(datadir)/tabset
TICDIR = $(DESTDIR)$(datadir)/terminfo
TABSETDIR = $(DESTDIR)$(datadir)/tabset
$(TICDIR) :
mkdir -p $@

View File

@ -1,4 +1,4 @@
-- $Id: NEWS,v 1.568 2000/07/02 01:16:51 tom Exp $
-- $Id: NEWS,v 1.599 2000/10/10 01:02:11 tom Exp $
This is a log of changes that ncurses has gone through since Zeyd started
working with Pavel Curtis' original work, pcurses, in 1992.
@ -6,6 +6,324 @@ working with Pavel Curtis' original work, pcurses, in 1992.
Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
Changes since 1.9.9e are recorded by Thomas Dickey.
20001009
+ correct order of options/parameters in run_tic.in invocation of tic,
which did not work with standard getopt() (reported by Ethan
Butterfield <primus@veris.org>).
+ correct logic for 'reverse' variable in lib_vidattr.c, which was
setting it true without checking if newmode had A_REVERSE set, e.g.,
using $TERM=ansi on OS/2 EMX (see 20000917).
> patch by Todd Miller:
+ add a few missing use_terminfo_vars() and fixes up _nc_tgetent().
Previously, _nc_cgetset() would still get called on cp so the
simplest thing is to set cp to NULL if !use_terminfo_vars().
+ added checks for an empty $HOME environment variable.
> patches by Ilya Zakharevich for OS/2 EMX:
+ modify convert_configure.pl to support INSTALL. Change compiler
options in that script to use multithreading, needed for the mouse.
+ modify OS/2 mouse support, retrying as a 2-button mouse if code fails
to set up a 3-button mouse.
+ improve code for OS/2 mouse support, using _nc_timed_wait() to
replace select() call.
20001007
+ change type of ospeed variable back to short to match its use in
legacy applications (reported by Andrey A Chernov).
+ add case to configure script for --enable-rpath on IRIX (patch by
Albert Chin-A-Young).
+ minor fix to position_check() function, to ensure it gets the whole
cursor report before decoding.
+ add configure option --disable-assumed-color, to allow pre-5.1
convention of default colors used for color-pair 0 to be configured
(see assume_default_colors()).
+ rename configure option --enable-hashmap --disable-hashmap, and
reorder the configure options, splitting the experimental and
development
+ add configure option --disable-root-environ, which tells ncurses to
disregard $TERMINFO and similar environment variables if the current
user is root, or running setuid/setgid (based on discussion with
several people).
+ modified misc/run_tic.in to use tic -o, to eliminate dependency on
$TERMINFO variable for installs.
+ add table entry for plab_norm to tput, so it passes in strings
for that capability.
+ modify parse_format() in lib_tparm.c to ignore precision if it is
longer than 10000 (report by Jouko Pynnonen).
+ rewrote limit checks in lib_mvcur.c using new functions
_nc_safe_strcat(), etc. Made other related changes to check lengths
used for strcat/strcpy (report by Jouko Pynnonen <jouko@solutions.fi>).
20000930
+ modify several descriptions, including those for setaf, setab, in
include/Caps to indicate that the entries are parameterized. This
information is used to tell which strings are translated when
converting to termcap. Fixes a problem where the generated termcap
would contain a spurious "%p1" for the terminfo "%p1%d".
+ modify ld -rpath options (e.g., Linux, and Solaris) to use an
absolute pathname for the build tree's lib directory (prompted by
discussion with Albert Chin-A-Young).
+ modify "make install.man" and "make uninstall.man" to include tack's
man-page.
+ various fixes for install scripts used to support configure --srcdir
and --with-install-prefix (reported by Matthew Clarke
<Matthew_Clarke@mindlink.bc.ca>).
+ make configure script checks on variables $GCC and $GXX consistently
compare against 'yes' rather than test if they are nonnull, since
either may be set to the corresponding name of the C or C++ compiler
(report/patch by Albert Chin-A-Young).
20000923
+ modify rs2 capability in xterm-r6 and similar where cursor
save/restore bracketed the sequence for resetting video attributes.
The cursor restore would undo that (from a NetBSD bug report by John
Hawkinson <jhawk@MIT.EDU>).
+ using parameter check added to tic, corrected 27 typos in
terminfo.src -TD
+ modify tic to verify that its inputs are really files, in case
someone tries to read a directory (or /dev/zero).
+ add a check for empty buffers returned by fgets() in comp_scan.c
next_char() function, in case tic is run on a non-text file (fixes
a core dump reported by Aaron Campbell <aaron@cs.dal.ca>).
+ add to railroad.c some code exercising tgoto(), providing an
alternate form of display if the terminal supports cursor addressing.
+ split-out tgoto() again, this time into new file lib_tgoto.c, and
implement a conventional BSD-style tgoto() which is used if the
capability string does not contain terminfo-style padding or
parameters (requested by Andrey A Chernov).
+ add check to tic which reports capabilities that do not reference
the expected number of parameters.
+ add error checking to infocmp's -v and -m options to ensure that
the option value is indeed a number.
20000917
+ add S0, E0 extensions to screen's terminfo entry, which is another
way to solve the misconfiguration issue -TD
+ completed special case for tgoto from 20000916
20000916
+ update xterm terminfo entries to match XFree86 xterm patch #146 -TD
+ add Matrix Orbital terminfo entries (from Eric Z Ayers
<eric@ale.org>).
+ add special case to lib_tparm.c to allow 'screen' program to use a
termcap-style parameter "%." to tgoto() for switching character sets.
+ use LN_S substitution in run_tic.in, to work on OS/2 EMX which has
no symbolic links.
+ updated notes in README.emx regarding autoconf patches.
+ replace a lookup table in lib_vidattr.c used to decode no_color_video
with a logic expression (suggested by Philippe Blain).
+ add a/A toggle to ncurses.c 'b' test, which clears/sets alternate
character set attribute from the displayed text.
+ correct inequality in parameter analysis of rewritten lib_tparm.c
which had the effect of ignoring p9 in set_attributes (sgr), breaking
alternate character set (reported by Piotr Majka <charvel@link.pl>).
+ correct ifdef'ing for GCC_PRINTF, GCC_SCANF which would not compile
with Sun WorkShop compilers since these tokens were empty (cf:
20000902, reported by Albert Chin-A-Young).
20000909
+ correct an uninitialized parameter to open_tempfile() in tic.c which
made "tic -I" give an ambiguous error message about tmpnam.
+ add special case in lib_vidattr.c to reset underline and standout for
devices that have no sgr0 defined (patch by Don Lewis
<Don.Lewis@tsc.tdk.com>). Note that this will not work for bold
mode, since there is no exit-bold-mode capability.
+ improved patch for Make_Enum_Type (patch by Juergen Pfeifer).
+ modify tparm to disallow arithmetic on strings, analyze the varargs
list to read strings as strings and numbers as numbers.
+ modify tparm's internal function spop() to treat a null pointer as
an empty string.
+ modify tput program so it can be renamed or invoked via a link as
'reset' or 'init', producing the same effect as 'tput reset' or 'tput
init'.
+ add private entrypoint _nc_basename(), use to consolidate related
code in progs, as well as accommodating OS/2 EMX pathnames.
+ remove NCURSES_CONST line from edit_cfg.sh to compensate for its
removal (except via AC_SUBST) from configure.in, making --enable-const
work again (reported by Juergen Pfeifer).
+ regen'd configure to pick up "hpux*" change from 20000902.
20000902
+ modify tset.c to check for transformed "reset" program name, if any.
+ add a check for null pointer in Make_Enum_Type() (reported by Steven
W Orr <steveo@world.std.com>).
+ change functions _nc_parse_entry() and postprocess_termcap() to avoid
using strtok(), because it is non-reentrant (reported by Andrey A
Chernov <ache@nagual.pp.ru>).
+ remove "hpux10.*" case from CF_SHARED_OPTS configure script macro.
This differed from the "hpux*" case by using reversed symbolic
links, which made the 5.1 version not match the configuration of
5.0 shared libraries (reported by Albert Chin-A-Young).
+ correct a dependency in Ada95/src/Makefile.in which prevented
building with configure --srcdir (patch by H Nanosecond
<aldomel@ix.netcom.com>).
+ modify ifdef's in curses.h.in to avoid warning if GCC_PRINTF or
GCC_SCANF was not previously defined (reported by Pavel Roskin
<proski@gnu.org>).
+ add MKncurses_def.sh to generate fallback definitions for
ncurses_cfg.h, to quiet gcc -Wundef warnings, modified ifdef's in
code to consistently use "#if" rather than "#ifdef".
20000826
+ add QNX qansi entries to terminfo -TD
+ add os2 entry to misc/emx.src (<jmcoopr@webmail.bmi.net>).
+ add configure option --with-database to allow specifying a different
terminfo source-file to install. On OS/2 EMX, this defaults to
misc/emx.src
+ change misc/run_tic.sh to derive it from misc/run_tic.in, to simplify
setting .exe extension on OS/2 EMX.
+ add .exe extension in Ada95/gen/Makefile.in,
Ada95/samples/Makefile.in, for OS/2 EMX (reported by
<jmcoopr@webmail.bmi.net>).
+ add configure check for filesystems (such as OS/2 EMX) which do not
distinguish between upper/lowercase filenames, use this to fix tags
rules in makefiles.
+ initialize fds[] array to 0's in _nc_timed_wait(); apparently poll()
only sets the revents members of that array when there is activity
corresponding to the related file (report by Glenn Cooper
<gcooper@qantas.com.au>, using Purify on Solaris 5.6).
+ change configure script to use AC_CANONICAL_SYSTEM rather than
AC_CANONICAL_HOST, which means that configure --target will set
a default program-prefix.
+ add note on cross-compiling to INSTALL (which does not rely on the
AC_CANONICAL_* macros).
20000819
+ add cases for EMX OS/2 to config.guess, config.sub
+ new version of config.guess, config.sub from lynx 2.8.4dev.7
+ add definitions via transform.h to allow tic and tput to check for
the transformed aliases rather than the original infotocap, etc.
+ simplify transform-expressions in progs/Makefile.in, make the
uninstall rule work for transformed program names.
+ change symbol used by --install-prefix configure option from
INSTALL_PREFIX to DESTDIR (the latter has become common usage
although the name is misleading).
+ modify programs to use curses_version() string to report the version
of ncurses with which they are compiled rather than the
NCURSES_VERSION string. The function returns the patch level in
addition to the major and minor version numbers.
20000812
+ modify CF_MAN_PAGES configure macro to make transformed program names
a parameter to that macro rather than embedding them in the macro.
+ newer config.guess, config.sub (reference version used in lynx
2.8.4dev.7).
+ add configure option --with-default-terminfo-dir=DIR to allow
specifying the default terminfo database directory (request by Albert
Chin-A-Young).
+ minor updates for terminfo.src from FreeBSD termcap change-history.
+ correct notes in README and INSTALL regarding documentation files
that were moved from misc directory to doc (report by Rich Kulawiec
<rsk@gsp.org>).
+ change most remaining unquoted parameters of 'test' in configure
script to use quotes, for instance fixing a problem in the
--disable-database option (reported by Christian Mondrup
<scancm@biobase.dk>).
+ minor adjustments to work around some of the incompatibilities/bugs
in autoconf 2.29a alpha.
+ add -I/usr/local/include when --with-ncurses option is used in
test/configure script.
+ correct logic in adjust_cancels(), which did not check both
alternatives when reclassifying an extended name between boolean,
number and string, causing an infinite loop in tic.
20000730
+ correct a missing backslash in curses.priv.h
20000729
+ change handling of non_dest_scroll_region in tty_update.c to clear
text after it is shifted in rather than before shifting out. Also
correct row computation (reported by Ruediger Kuhlmann
<uck4@rz.uni-karlsruhe.de>).
+ add/use new trace function to display chtype values from winch() and
getbkgd().
+ add trace mask TRACE_ATTRS, alter several existing _tracef calls that
trace attribute changes under TRACE_CALLS to use this.
+ modify MKlib_gen.sh so that functions returning chtype will call
returnChar().
+ add returnChar() trace, for functions returning chtype.
+ change indent.pro to line up parenthesis.
20000722
+ fix a heap problem with the c++ binding (report by
<alexander_liberson@ninewest.com>, patch by Juergen Pfeifer).
+ minor adjustment to ClrToEOL() to handle an out-of-bounds parameter.
+ modify the check for big-core to force a couple of memory accesses,
which may work as needed for older/less-capable machines (if not,
there's still the explicit configure option).
> fixes based on diff's for Amiga and BeOS found at
http://www.mathematik.uni-karlsruhe.de/~kuhlmann/cross/ncurses/
+ alter definition of NCURSES_CONST to make it non-empty.
+ add amiga-vnc terminfo entry.
+ redefine 'TEXT' in menu.h for AMIGA, since it is reported to have
an (unspecified) symbol conflict.
+ replaced case-statement in _nc_tracebits() for CSIZE with a table to
simplify working around implementations that define random
combinations of the related macros to zero.
+ modify configure test for tcgetattr() to allow for old
implementations, e.g., on BeOS, which only defined it as a macro.
> patches by Bruno Haible:
+ when checking LC_ALL/LC_CTYPE/LANG environment variables for UTF-8
locale, ignore those which are set to an empty value, as per SUSV2.
+ encode 0xFFFD in UTF-8 with 3 bytes, not 2.
+ modify _nc_utf8_outch() to avoid sign-extension when checking for
out-of-range value.
20000715
+ correct manlinks.sed script to avoid using ERE "\+", which is not
understood by older versions of sed (patch by Albert Chin-A-Young).
+ implement configure script options that transform installed program
names, e.g., --program-prefix, including the manpage names and cross
references (patch by Albert Chin-A-Young <china@thewrittenword.com>).
+ correct several mismatches between manpage filename and ".TH"
directives, renaming dft_fgbg.3x to default_colors.3x and
menu_attribs.3x to menu_attributes.3x (report by Todd C Miller).
+ correct missing includes for <string.h> in several places, including
the C++ binding. This is not noted by gcc unless we use the
-fno-builtin option (reported by Igor Schein <igor@txc.com>).
+ modified progs/tset.c and tack/sysdep.c to build with sgttyb
interface if neither termio or termios is available. Tested this
with FreeBSD 2.1.5 (which does have termios - but the sgttyb does
work).
20000708 5.1 release for upload to ftp.gnu.org
+ document configure options in INSTALL.
+ add man-page for ncurses trace functions.
+ correct return value shown in curs_touch.3x for is_linetouched() and
is_wintouched(), in curs_initscr.3x for isendwin(), and in
curs_termattr.3x for has_ic() and has_il().
+ add prototypes for touchline() and touchwin(), adding them to the
list of generated functions.
+ modify fifo_push() to put ERR into the fifo just like other values to
return from wgetch(). It was returning without doing that, making
end-of-file condition incorrectly return a 0 (reported by Todd C
Miller).
+ uncomment CC_SHARED_OPTS for progs and tack (see 971115), since they
are needed for SCO OpenServer.
+ move _nc_disable_period from free_ttype.c to comp_scan.c to appease
dynamic loaders on SCO and IRIX64.
+ add "-a" option to test/ncurses.c to invoke assume_default_colors()
for testing.
+ correct assignment in assume_default_colors() which tells ncurses
whether to use default colors, or the assumed ones (reported by Gary
Funck <gary@Intrepid.Com>).
+ review/correct logic in mk-1st.awk for making symbolic links for
shared libraries, in particular for FreeBSD, etc.
+ regenerate misc/*.def files for OS/2 EMX dll's.
+ correct quoting of values for CC_SHARED_OPTS in aclocal.m4 for
cases openbsd2*, openbsd*, freebsd* and netbsd* (patch by Peter
Wemm) (err in 20000610).
+ minor updates to release notes, as well as adding/updating URLs for
examples cited in announce.html
> several fixes from Philippe Blain <philippe.blain2@freesbee.fr>:
+ correct placement of ifdef for NCURSES_XNAMES in function
_nc_free_termtype(), fixes a memory leak.
+ add a call to _nc_synchook() to the end of function whline() like
that in wvline() (difference was in 1.9.4).
+ make ClearScreen() a little faster by moving two instances of
UpdateAttr() out of for-loops.
+ simplify ClrBottom() by eliminating the tstLine data, using for-loops
(cf: 960428).
20000701 pre-release
+ change minor version to 1, i.e., ncurses 5.1
+ add experimental configure option --enable-colorfgbg to check for

View File

@ -1,4 +1,4 @@
-- $Id: README,v 1.19 1999/10/23 20:39:24 tom Exp $
-- $Id: README,v 1.20 2000/08/12 23:31:21 tom Exp $
-------------------------------------------------------------------------------
README file for the ncurses package
@ -10,7 +10,7 @@ See the file TO-DO for things that still need doing, including known bugs.
Browse the file misc/ncurses-intro.html for narrative descriptions of how
to use ncurses and the panel, menu, and form libraries.
Browse the file misc/hackguide.html for a tour of the package internals.
Browse the file doc/html/hackguide.html for a tour of the package internals.
ROADMAP AND PACKAGE OVERVIEW:
@ -96,10 +96,10 @@ descriptions; the next two (clear and tput) are for use in shell scripts. The
last (tset) is provided for 4.4BSD compatibility. The source code for all of
these lives in the `progs' directory.
Detailed documentation for all libraries and utilities can be found in
the `man' directory. An HTML introduction to ncurses, panels, and
menus programming lives in the `misc' directory. Manpages in HTML format
are under `Ada95/html'.
Detailed documentation for all libraries and utilities can be found in the
`man' and `doc' directories. An HTML introduction to ncurses, panels, and
menus programming lives in the `doc/html' directory. Manpages in HTML format
are under `doc/html/man'.
The `test' directory contains programs that can be used to verify or
demonstrate the functions of the ncurses libraries. See test/README for
@ -171,5 +171,5 @@ suggesting improvements, and generally whining about ncurses :-)
BUGS:
See the INSTALL file for bug and developer-list addresses.
The Hacker's Guide in the misc directory includes some guidelines
The Hacker's Guide in the doc directory includes some guidelines
on how to report bugs in ways that will get them fixed most quickly.

View File

@ -1,5 +1,5 @@
-- $Id: README.emx,v 1.2 2000/05/06 17:41:56 tom Exp $
-- Author: Thomas Dickey <dickey@clark.net>
-- $Id: README.emx,v 1.4 2000/09/16 19:28:28 tom Exp $
-- Author: Thomas Dickey
-------------------------------------------------------------------------------
You can build ncurses on OS/2 in the EMX environment. But you must build and
@ -11,7 +11,7 @@ You can generate a new one if you have autoconf built for EMX. You will need
the EMX development tools, of course. Get these programs to start:
GNU m4 program (version 1.4)
GNU autoconf (version 2.12).
GNU autoconf (version 2.13).
GNU patch (version 2.5)
Apply the autoconf patches from
@ -21,11 +21,8 @@ Apply the autoconf patches from
These are ordered by date:
autoconf-2.12-970309.patch.gz
autoconf-2.12-970429.patch.gz
autoconf-2.12-971222-emx.patch.gz
autoconf-2.12-971222.patch.gz
autoconf-2.12-971230.patch.gz
autoconf-2.13-20000819.patch.gz
autoconf-2.13-20000819-emx.patch.gz
I built my development environment for ncurses using EMX 0.9c at the end of
1997. Much of the EMX patch for autoconf was done originally by J.J.G.Ripoll,

View File

@ -26,11 +26,13 @@ dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,1998
dnl Author: Thomas E. Dickey 1996,1997,1998,1999,2000
dnl
dnl $Id: aclocal.m4,v 1.206 2000/07/01 20:37:36 tom Exp $
dnl $Id: aclocal.m4,v 1.235 2000/10/08 01:01:40 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl See http://dickey.his.com/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl Construct the list of include-options for the C programs in the Ada95
@ -41,7 +43,7 @@ ACPPFLAGS="$ACPPFLAGS -I. -I../../include"
if test "$srcdir" != "."; then
ACPPFLAGS="$ACPPFLAGS -I\$(srcdir)/../../include"
fi
if test -z "$GCC"; then
if test "$GCC" != yes; then
ACPPFLAGS="$ACPPFLAGS -I\$(includedir)"
elif test "$includedir" != "/usr/include"; then
if test "$includedir" = '${prefix}/include' ; then
@ -129,7 +131,7 @@ dnl Treat the configuration-variable specially here, since we're directly
dnl substituting its value (i.e., 1/0).
AC_DEFUN([CF_BOOL_DECL],
[
AC_MSG_CHECKING([for builtin ifelse(AC_LANG,[C],$CC,$CXX) bool type])
AC_MSG_CHECKING([for builtin bool type])
AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
AC_TRY_COMPILE([
#include <stdio.h>
@ -138,7 +140,7 @@ AC_CACHE_VAL(ifelse($1,,cf_cv_builtin_bool,[$1]),[
[ifelse($1,,cf_cv_builtin_bool,[$1])=1],
[ifelse($1,,cf_cv_builtin_bool,[$1])=0])
])
if test $ifelse($1,,cf_cv_builtin_bool,[$1]) = 1
if test "$ifelse($1,,cf_cv_builtin_bool,[$1])" = 1
then AC_MSG_RESULT(yes)
else AC_MSG_RESULT(no)
fi
@ -148,13 +150,13 @@ dnl Test for the size of 'bool' in the configured C++ compiler (e.g., a type).
dnl Don't bother looking for bool.h, since it's been deprecated.
AC_DEFUN([CF_BOOL_SIZE],
[
AC_MSG_CHECKING([for size of ifelse(AC_LANG,[C],$CC,$CXX) bool])
AC_MSG_CHECKING([for size of bool])
AC_CACHE_VAL(cf_cv_type_of_bool,[
rm -f cf_test.out
AC_TRY_RUN([
#include <stdlib.h>
#include <stdio.h>
#if HAVE_GXX_BUILTIN_H
#ifdef HAVE_GXX_BUILTIN_H
#include <g++/builtin.h>
#elif HAVE_GPP_BUILTIN_H
#include <gpp/builtin.h>
@ -259,18 +261,20 @@ AC_TRY_LINK([
[cf_cv_cgetent=no])
])
AC_MSG_RESULT($cf_cv_cgetent)
test $cf_cv_cgetent = yes && AC_DEFINE(HAVE_BSD_CGETENT)
test "$cf_cv_cgetent" = yes && AC_DEFINE(HAVE_BSD_CGETENT)
])dnl
dnl ---------------------------------------------------------------------------
dnl Check if we're accidentally using a cache from a different machine.
dnl Derive the system name, as a check for reusing the autoconf cache.
dnl
dnl If we've packaged config.guess and config.sub, run that (since it does a
dnl better job than uname).
dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
dnl which is useful in cross-compiles.
AC_DEFUN([CF_CHECK_CACHE],
[
if test -f $srcdir/config.guess ; then
AC_CANONICAL_HOST
ifelse([$1],,[AC_CANONICAL_HOST],[$1])
system_name="$host_os"
else
system_name="`(uname -s -r) 2>/dev/null`"
@ -359,7 +363,7 @@ dnl is a late feature for the standard and is not in some recent compilers
dnl (1999/9/11).
AC_DEFUN([CF_CPP_PARAM_INIT],
[
if test -n "$CXX" ; then
if test "$CXX" = yes ; then
AC_CACHE_CHECK(if $CXX accepts parameter initialization,cf_cv_cpp_param_init,[
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
@ -456,7 +460,7 @@ int main() {
[cf_cv_good_bcopy=unknown])
])
],[cf_cv_good_bcopy=no])
if test $cf_cv_good_bcopy = yes ; then
if test "$cf_cv_good_bcopy" = yes ; then
AC_DEFINE(USE_OK_BCOPY)
else
AC_DEFINE(USE_MY_MEMMOVE)
@ -490,12 +494,39 @@ int main() {
test "$cf_cv_working_poll" = "yes" && AC_DEFINE(HAVE_WORKING_POLL)
])dnl
dnl ---------------------------------------------------------------------------
dnl Some old/broken variations define tcgetattr() only as a macro in
dnl termio(s).h
AC_DEFUN([CF_FUNC_TERMIOS],[
AC_REQUIRE([CF_STRUCT_TERMIOS])
AC_CACHE_CHECK(for tcgetattr, cf_cv_have_tcgetattr,[
AC_TRY_LINK([
#include <sys/types.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#define TTY struct termios
#else
#ifdef HAVE_TERMIO_H
#include <termio.h>
#define TTY struct termio
#endif
#endif
],[
TTY foo;
tcgetattr(1, &foo);],
[cf_cv_have_tcgetattr=yes],
[cf_cv_have_tcgetattr=no])])
test "$cf_cv_have_tcgetattr" = yes && AC_DEFINE(HAVE_TCGETATTR)
])dnl
dnl ---------------------------------------------------------------------------
dnl Test for availability of useful gcc __attribute__ directives to quiet
dnl compiler warnings. Though useful, not all are supported -- and contrary
dnl to documentation, unrecognized directives cause older compilers to barf.
AC_DEFUN([CF_GCC_ATTRIBUTES],
[
if test -n "$GCC"
if test "$GCC" = yes
then
cat > conftest.i <<EOF
#ifndef GCC_PRINTF
@ -511,7 +542,7 @@ cat > conftest.i <<EOF
#define GCC_UNUSED /* nothing */
#endif
EOF
if test -n "$GCC"
if test "$GCC" = yes
then
AC_CHECKING([for $CC __attribute__ directives])
changequote(,)dnl
@ -578,7 +609,7 @@ dnl -pedantic
dnl
AC_DEFUN([CF_GCC_WARNINGS],
[
if test -n "$GCC"
if test "$GCC" = yes
then
changequote(,)dnl
cat > conftest.$ac_ext <<EOF
@ -679,7 +710,7 @@ os2*) #(vi
cf_gpp_libname=g++
;;
esac
if test $ac_cv_prog_gxx = yes; then
if test "$ac_cv_prog_gxx" = yes; then
AC_MSG_CHECKING([for lib$cf_gpp_libname])
cf_save="$LIBS"
LIBS="$LIBS -l$cf_gpp_libname"
@ -722,7 +753,7 @@ CPPFLAGS="$CPPFLAGS -I. -I../include"
if test "$srcdir" != "."; then
CPPFLAGS="$CPPFLAGS -I\$(srcdir)/../include"
fi
if test -z "$GCC"; then
if test "$GCC" != yes; then
CPPFLAGS="$CPPFLAGS -I\$(includedir)"
elif test "$includedir" != "/usr/include"; then
if test "$includedir" = '${prefix}/include' ; then
@ -746,7 +777,7 @@ AC_CACHE_VAL(cf_cv_have_isascii,[
[cf_cv_have_isascii=no])
])dnl
AC_MSG_RESULT($cf_cv_have_isascii)
test $cf_cv_have_isascii = yes && AC_DEFINE(HAVE_ISASCII)
test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
])dnl
dnl ---------------------------------------------------------------------------
dnl Compute the library-prefix for the given host system
@ -784,11 +815,19 @@ do
for cf_item in $CF_LIST_MODELS
do
CF_LIB_SUFFIX($cf_item,cf_suffix)
if test $cf_item = shared ; then
if test "$cf_cv_do_symlinks" = yes ; then
case "$cf_cv_shlib_version" in #(vi
rel) cf_suffix="$cf_suffix"'.$(REL_VERSION)' ;; #(vi
abi) cf_suffix="$cf_suffix"'.$(ABI_VERSION)' ;;
esac
fi
fi
cf_libs_to_make="$cf_libs_to_make ../lib/${cf_prefix}${cf_dir}${cf_suffix}"
done
if test $cf_dir = ncurses ; then
case "$LIB_SUBSETS" in
case "$LIB_SUBSETS" in #(vi
termlib+*) #(vi
;;
*) #(vi
@ -838,6 +877,7 @@ do
prefix=$cf_prefix \
suffix=$cf_suffix \
subset=$cf_subset \
ShlibVer=$cf_cv_shlib_version \
DoLinks=$cf_cv_do_symlinks \
rmSoLocs=$cf_cv_rm_so_locs \
ldconfig="$LDCONFIG" \
@ -924,6 +964,18 @@ distclean ::
rm -rf \$(DIRS_TO_MAKE)
CF_EOF
# Special case: tack's manpage lives in its own directory.
if test -d tack ; then
if test -f $srcdir/$tack.h; then
cat >> Makefile <<CF_EOF
install.man \
uninstall.man ::
cd tack && \$(MAKE) \$(CF_MFLAGS) \[$]@
CF_EOF
fi
fi
dnl If we're installing into a subdirectory of /usr/include, etc., we should
dnl prepend the subdirectory's name to the "#include" paths. It won't hurt
dnl anything, and will make it more standardized. It's awkward to decide this
@ -961,7 +1013,7 @@ case \$DST in
done
rm -f \$TMPSRC
sed -f \$TMPSED \$SRC > \$TMPSRC
eval \$PRG \$TMPSRC \$DST/\$SRC
eval \$PRG \$TMPSRC \$DST/\`basename \$SRC\`
rm -f \$TMPSRC \$TMPSED
;;
*)
@ -976,12 +1028,12 @@ for cf_dir in $SRC_SUBDIRS
do
if test -f $srcdir/$cf_dir/headers; then
cat >>$cf_dir/Makefile <<CF_EOF
\$(INSTALL_PREFIX)\$(includedir) :
\$(DESTDIR)\$(includedir) :
\$(srcdir)/../mkinstalldirs \[$]@
install \\
install.libs \\
install.includes :: \$(INSTALL_PREFIX)\$(includedir) \\
install.includes :: \$(AUTO_SRC) \$(DESTDIR)\$(includedir) \\
CF_EOF
j=""
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
@ -992,8 +1044,8 @@ CF_EOF
echo " $j" >>$cf_dir/Makefile
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
do
echo " @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(INSTALL_PREFIX)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
test $i = curses.h && echo " @ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f `basename $i`) ; ../headers.sh \$(INSTALL_DATA) \$(DESTDIR)\$(includedir) \$(srcdir) $i" >>$cf_dir/Makefile
test $i = curses.h && echo " @ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h && \$(LN_S) curses.h ncurses.h)" >>$cf_dir/Makefile
done
cat >>$cf_dir/Makefile <<CF_EOF
@ -1005,8 +1057,8 @@ CF_EOF
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
do
i=`basename $i`
echo " -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
test $i = curses.h && echo " -@ (cd \$(INSTALL_PREFIX)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f $i)" >>$cf_dir/Makefile
test $i = curses.h && echo " -@ (cd \$(DESTDIR)\$(includedir) && rm -f ncurses.h)" >>$cf_dir/Makefile
done
fi
done
@ -1026,15 +1078,6 @@ AC_DEFUN([CF_LIB_SUFFIX],
profile) $2='_p.a' ;;
shared)
case $cf_cv_system_name in
openbsd*|freebsd*)
$2='.so.$(REL_VERSION)' ;;
netbsd*)
if test -f /usr/libexec/ld.elf_so; then
$2='.so'
else
$2='.so.$(REL_VERSION)'
fi
;;
hpux*) $2='.sl' ;;
*) $2='.so' ;;
esac
@ -1114,7 +1157,7 @@ EOF
LIBS="$cf_saveLIBS"
])
AC_MSG_RESULT($cf_cv_link_dataonly)
test $cf_cv_link_dataonly = no && AC_DEFINE(BROKEN_LINKER)
test "$cf_cv_link_dataonly" = no && AC_DEFINE(BROKEN_LINKER)
])dnl
dnl ---------------------------------------------------------------------------
dnl Most Unix systems have both link and symlink, a few don't have symlink.
@ -1161,14 +1204,14 @@ int main()
}
],[
cf_cv_link_funcs="$cf_cv_link_funcs $cf_func"
eval 'ac_cv_func_'$cf_func'=yes'
CF_UPPER(cf_FUNC,$cf_func)
AC_DEFINE_UNQUOTED(HAVE_$cf_FUNC)],[
eval 'ac_cv_func_'$cf_func'=yes'],[
eval 'ac_cv_func_'$cf_func'=no'],[
eval 'ac_cv_func_'$cf_func'=error'])
done
test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no
])
test "$ac_cv_func_link" = yes && AC_DEFINE(HAVE_LINK)
test "$ac_cv_func_symlink" = yes && AC_DEFINE(HAVE_SYMLINK)
fi
])dnl
dnl ---------------------------------------------------------------------------
@ -1208,6 +1251,33 @@ AC_MSG_RESULT($cf_cv_makeflags)
AC_SUBST(cf_cv_makeflags)
])dnl
dnl ---------------------------------------------------------------------------
dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
dnl a monocase filesystem.
AC_DEFUN([CF_MAKE_TAGS],[
AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
if test "$cf_cv_mixedcase" = yes ; then
AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
else
MAKE_UPPER_TAGS=no
fi
if test "$MAKE_UPPER_TAGS" = yes ; then
MAKE_UPPER_TAGS=
else
MAKE_UPPER_TAGS="#"
fi
AC_SUBST(MAKE_UPPER_TAGS)
if test "$MAKE_LOWER_TAGS" = yes ; then
MAKE_LOWER_TAGS=
else
MAKE_LOWER_TAGS="#"
fi
AC_SUBST(MAKE_LOWER_TAGS)
])dnl
dnl ---------------------------------------------------------------------------
dnl Option to allow user to override automatic configuration of manpage format.
dnl There are several special cases.
AC_DEFUN([CF_MANPAGE_FORMAT],
@ -1351,9 +1421,11 @@ changequote({{,}})dnl
# this script is generated by the configure-script
prefix="$cf_prefix"
datadir="$datadir"
TERMINFO="$TERMINFO"
MKDIRS="`cd $srcdir && pwd`/mkinstalldirs"
INSTALL="$INSTALL"
INSTALL_DATA="$INSTALL_DATA"
transform="$program_transform_name"
TMP=\${TMPDIR-/tmp}/man\$\$
trap "rm -f \$TMP" 0 1 2 5 15
@ -1379,16 +1451,52 @@ case \$i in #(vi
fi
aliases=
source=\`basename \$i\`
inalias=\$source
test ! -f \$inalias && inalias="\$srcdir/\$inalias"
if test ! -f \$inalias ; then
echo .. skipped \$source
continue
fi
CF_EOF
if test "$cf_manpage_symlinks" = yes ; then
cat >>man/edit_man.sh <<CF_EOF
aliases=\`sed -f \$srcdir/manlinks.sed \$source | sort -u\`
aliases=\`sed -f \$srcdir/manlinks.sed \$inalias | sort -u\`
CF_EOF
fi
if test "$cf_manpage_renames" = no ; then
cat >>man/edit_man.sh <<CF_EOF
target=$cf_subdir\${section}/\$source
sed -e "s,@DATADIR@,\$datadir," < \$i >\$TMP
# perform program transformations for section 1 man pages
if test \$section = 1 ; then
target=$cf_subdir\${section}/\`echo \$source|sed "\${transform}"\`
else
target=$cf_subdir\${section}/\$source
fi
# replace variables in man page
CF_EOF
ifelse($1,,,{{
for cf_name in $1
do
cat >>man/edit_man.sh <<CF_EOF
prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
CF_EOF
done
}})
cat >>man/edit_man.sh <<CF_EOF
sed -e "s,@DATADIR@,\$datadir," \\
-e "s,@TERMINFO@,\$TERMINFO," \\
CF_EOF
ifelse($1,,,{{
for cf_name in $1
do
cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
cat >>man/edit_man.sh <<CF_EOF
-e "s,@$cf_NAME@,\$prog_$cf_name," \\
CF_EOF
done
}})
cat >>man/edit_man.sh <<CF_EOF
< \$i >\$TMP
CF_EOF
else
cat >>man/edit_man.sh <<CF_EOF
@ -1447,6 +1555,10 @@ cat >>man/edit_man.sh <<CF_EOF
target=\`basename \$target\`
for cf_alias in \$aliases
do
if test \$section = 1 ; then
cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
fi
if test -f \$cf_alias\${suffix} ; then
if ( cmp -s \$target \$cf_alias\${suffix} )
then
@ -1470,6 +1582,10 @@ cat >>man/edit_man.sh <<CF_EOF
cd $cf_subdir\${section} && (
for cf_alias in \$aliases
do
if test \$section = 1 ; then
cf_alias=\`echo \$cf_alias|sed "\${transform}"\`
fi
echo .. \$verb alias \$cf_alias\${suffix}
rm -f \$cf_alias\${suffix}
done
@ -1508,6 +1624,23 @@ ifelse($1,,[
fi
])
dnl ---------------------------------------------------------------------------
dnl Check if the file-system supports mixed-case filenames. If we're able to
dnl create a lowercase name and see it as uppercase, it doesn't support that.
AC_DEFUN([CF_MIXEDCASE_FILENAMES],
[
AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
rm -f conftest CONFTEST
echo test >conftest
if test -f CONFTEST ; then
cf_cv_mixedcase=no
else
cf_cv_mixedcase=yes
fi
rm -f conftest CONFTEST
])
test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
])dnl
dnl ---------------------------------------------------------------------------
dnl Compute the object-directory name from the given model name
AC_DEFUN([CF_OBJ_SUBDIR],
[
@ -1665,7 +1798,7 @@ AC_DEFUN([CF_SHARED_OPTS],
# Some less-capable ports of gcc support only -fpic
CC_SHARED_OPTS=
if test -n "$GCC"
if test "$GCC" = yes
then
AC_MSG_CHECKING(which $CC option to use)
cf_save_CFLAGS="$CFLAGS"
@ -1682,23 +1815,9 @@ AC_DEFUN([CF_SHARED_OPTS],
beos*)
MK_SHARED_LIB='$(CC) -o $[@] -Xlinker -soname=`basename $[@]` -nostart -e 0'
;;
hpux10.*)
# (tested with gcc 2.7.2 -- I don't have c89)
if test -n "$GCC"; then
LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
else
CC_SHARED_OPTS='+Z'
LD_SHARED_OPTS='-Wl,+b,$(libdir)'
fi
MK_SHARED_LIB='$(LD) +b $(libdir) -b +h `basename $[@]` -o $[@]'
# HP-UX shared libraries must be executable, and should be
# readonly to exploit a quirk in the memory manager.
INSTALL_LIB="-m 555"
cf_cv_do_symlinks=reverse
;;
hpux*)
# (tested with gcc 2.7.2 -- I don't have c89)
if test -n "$GCC"; then
if test "$GCC" = yes; then
LD_SHARED_OPTS='-Xlinker +b -Xlinker $(libdir)'
else
CC_SHARED_OPTS='+Z'
@ -1710,45 +1829,51 @@ AC_DEFUN([CF_SHARED_OPTS],
INSTALL_LIB="-m 555"
;;
irix*)
if test "$cf_cv_ld_rpath" = yes ; then
cf_ld_rpath_opt="-Wl,-rpath,"
EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
fi
# tested with IRIX 5.2 and 'cc'.
if test -z "$GCC"; then
if test "$GCC" != yes; then
CC_SHARED_OPTS='-KPIC'
fi
MK_SHARED_LIB='$(LD) -shared -rdata_shared -soname `basename $[@]` -o $[@]'
cf_cv_rm_so_locs=yes
;;
linux*|gnu*)
# tested with Linux 2.0.29 and gcc 2.7.2 (ELF)
test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
if test $DFT_LWR_MODEL = "shared" ; then
LOCAL_LDFLAGS='-Wl,-rpath,../lib'
LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
if test "$DFT_LWR_MODEL" = "shared" ; then
LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
if test $cf_cv_shlib_version = no ; then
MK_SHARED_LIB='$(CC) -shared -Wl,-stats,-lc -o $[@]'
else
MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)`,-stats,-lc -o $[@]'
if test "$cf_cv_ld_rpath" = yes ; then
cf_ld_rpath_opt="-Wl,-rpath,"
EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
fi
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION),-stats,-lc -o $[@]'
;;
openbsd2*)
CC_SHARED_OPTS='$CC_SHARED_OPTS -DPIC'
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
MK_SHARED_LIB='$(LD) -Bshareable -soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
;;
openbsd*|freebsd*)
CC_SHARED_OPTS='$CC_SHARED_OPTS -DPIC'
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
;;
netbsd*)
CC_SHARED_OPTS='$CC_SHARED_OPTS -DPIC'
test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-Wl,-rpath,"
if test $DFT_LWR_MODEL = "shared" && test $cf_cv_ld_rpath = yes ; then
LOCAL_LDFLAGS='-Wl,-rpath,../lib'
LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
test "$cf_cv_ld_rpath" = yes && cf_ld_rpath_opt="-Wl,-rpath,"
if test "$DFT_LWR_MODEL" = "shared" && test "$cf_cv_ld_rpath" = yes ; then
LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
EXTRA_LDFLAGS="-Wl,-rpath,\$(libdir) $EXTRA_LDFLAGS"
MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@].$(ABI_VERSION)` -o $[@]'
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
MK_SHARED_LIB='$(CC) -shared -Wl,-soname,`basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
if test "$cf_cv_shlib_version" = auto; then
if test ! -f /usr/libexec/ld.elf_so; then
cf_cv_shlib_version=rel
fi
fi
else
MK_SHARED_LIB='$(LD) -Bshareable -o $[@]'
fi
@ -1758,56 +1883,63 @@ AC_DEFUN([CF_SHARED_OPTS],
# tested with OSF/1 V3.2 and gcc 2.6.3 (but the c++ demo didn't
# link with shared libs).
MK_SHARED_LIB='$(LD) -set_version $(REL_VERSION):$(ABI_VERSION) -expect_unresolved "*" -shared -soname `basename $[@]`'
test $cf_cv_ld_rpath = yes && cf_ld_rpath_opt="-rpath"
case $host_os in
osf4*)
MK_SHARED_LIB="${MK_SHARED_LIB} -msym"
;;
esac
MK_SHARED_LIB="${MK_SHARED_LIB}"' -o $[@]'
if test $DFT_LWR_MODEL = "shared" ; then
LOCAL_LDFLAGS='-Wl,-rpath,../lib'
LOCAL_LDFLAGS2='-Wl,-rpath,../../lib'
if test "$DFT_LWR_MODEL" = "shared" ; then
LOCAL_LDFLAGS="-Wl,-rpath,`pwd`/lib"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
if test "$cf_cv_ld_rpath" = yes ; then
cf_ld_rpath_opt="-rpath"
# EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
fi
cf_cv_rm_so_locs=yes
;;
sco3.2v5*) # (also uw2* and UW7) hops 13-Apr-98
# tested with osr5.0.5
if test $ac_cv_prog_gcc != yes; then
if test "$ac_cv_prog_gcc" != yes; then
CC_SHARED_OPTS='-belf -KPIC'
fi
MK_SHARED_LIB='$(LD) -dy -G -h `basename [$]@.$(ABI_VERSION)` -o [$]@'
if test $cf_cv_ld_rpath = yes ; then
MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o [$]@'
if test "$cf_cv_ld_rpath" = yes ; then
# only way is to set LD_RUN_PATH but no switch for it
RUN_PATH=$libdir
fi
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
LINK_PROGS='LD_RUN_PATH=$(libdir)'
LINK_TESTS='Pwd=`pwd`;LD_RUN_PATH=`dirname $${Pwd}`/lib'
;;
sunos4*)
# tested with SunOS 4.1.1 and gcc 2.7.0
if test $ac_cv_prog_gcc != yes; then
if test "$ac_cv_prog_gcc" != yes; then
CC_SHARED_OPTS='-KPIC'
fi
MK_SHARED_LIB='$(LD) -assert pure-text -o $[@]'
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
;;
solaris2*)
# tested with SunOS 5.5.1 (solaris 2.5.1) and gcc 2.7.2
if test $ac_cv_prog_gcc != yes; then
if test "$ac_cv_prog_gcc" != yes; then
CC_SHARED_OPTS='-KPIC'
fi
MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@].$(ABI_VERSION)` -o $[@]'
if test $cf_cv_ld_rpath = yes ; then
cf_ld_rpath_opt="-R"
EXTRA_LDFLAGS="-R ../lib:\$(libdir) $EXTRA_LDFLAGS"
MK_SHARED_LIB='$(LD) -dy -G -h `basename $[@] .$(REL_VERSION)`.$(ABI_VERSION) -o $[@]'
if test "$DFT_LWR_MODEL" = "shared" ; then
LOCAL_LDFLAGS="-R `pwd`/lib:\$(libdir)"
LOCAL_LDFLAGS2="$LOCAL_LDFLAGS"
fi
test $cf_cv_shlib_version = auto && cf_cv_shlib_version=rel
if test "$cf_cv_ld_rpath" = yes ; then
cf_ld_rpath_opt="-R"
EXTRA_LDFLAGS="$LOCAL_LDFLAGS $EXTRA_LDFLAGS"
fi
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
;;
sysv5uw7*|unix_sv*)
# tested with UnixWare 7.1.0 (gcc 2.95.2 and cc)
if test $ac_cv_prog_gcc != yes; then
if test "$ac_cv_prog_gcc" != yes; then
CC_SHARED_OPTS='-KPIC'
fi
MK_SHARED_LIB='$(LD) -d y -G -o [$]@'
@ -1823,15 +1955,7 @@ AC_DEFUN([CF_SHARED_OPTS],
rel|abi)
case "$MK_SHARED_LIB" in #(vi
*'-o $[@]')
if test "$cf_cv_do_symlinks" = reverse ; then
AC_ERROR(cannot use --with-shlib-version with this platform)
fi
if test "$cf_cv_shlib_version" = rel ; then
MK_SHARED_LIB="$MK_SHARED_LIB"'.$(REL_VERSION)'
else
MK_SHARED_LIB="$MK_SHARED_LIB"'.$(ABI_VERSION)'
fi
cf_cv_do_symlinks=yes
test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes
;;
*)
AC_MSG_WARN(ignored --with-shlib-version)
@ -1843,11 +1967,11 @@ AC_DEFUN([CF_SHARED_OPTS],
if test -n "$cf_ld_rpath_opt" ; then
AC_MSG_CHECKING(if we need a space after rpath option)
cf_save_LIBS="$LIBS"
LIBS="$LIBS ${cf_ld_rpath_opt}/usr/lib"
LIBS="$LIBS ${cf_ld_rpath_opt}$libdir"
AC_TRY_LINK(, , cf_rpath_space=no, cf_rpath_space=yes)
LIBS="$cf_save_LIBS"
AC_MSG_RESULT($cf_rpath_space)
test $cf_rpath_space = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt "
MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\$(libdir)"
fi
@ -1866,8 +1990,8 @@ dnl Check for definitions & structures needed for window size-changing
dnl FIXME: check that this works with "snake" (HP-UX 10.x)
AC_DEFUN([CF_SIZECHANGE],
[
AC_MSG_CHECKING([declaration of size-change])
AC_CACHE_VAL(cf_cv_sizechange,[
AC_REQUIRE([CF_STRUCT_TERMIOS])
AC_CACHE_CHECK(declaration of size-change, cf_cv_sizechange,[
cf_cv_sizechange=unknown
cf_save_CFLAGS="$CFLAGS"
@ -1877,14 +2001,14 @@ do
CFLAGS="$cf_save_CFLAGS"
test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
AC_TRY_COMPILE([#include <sys/types.h>
#if HAVE_TERMIOS_H
#ifdef HAVE_TERMIOS_H
#include <termios.h>
#else
#if HAVE_TERMIO_H
#ifdef HAVE_TERMIO_H
#include <termio.h>
#endif
#endif
#if NEED_PTEM_H
#ifdef NEED_PTEM_H
/* This is a workaround for SCO: they neglected to define struct winsize in
* termios.h -- it's only in termio.h and ptem.h
*/
@ -1915,36 +2039,18 @@ do
CFLAGS="$cf_save_CFLAGS"
if test "$cf_cv_sizechange" = yes ; then
echo "size-change succeeded ($cf_opts)" >&AC_FD_CC
test -n "$cf_opts" && AC_DEFINE_UNQUOTED($cf_opts)
test -n "$cf_opts" && cf_cv_sizechange="$cf_opts"
break
fi
done
])
AC_MSG_RESULT($cf_cv_sizechange)
test $cf_cv_sizechange != no && AC_DEFINE(HAVE_SIZECHANGE)
])dnl
dnl ---------------------------------------------------------------------------
dnl Check for datatype 'speed_t', which is normally declared via either
dnl sys/types.h or termios.h
AC_DEFUN([CF_SPEED_TYPE],
[
AC_MSG_CHECKING(for speed_t)
OSPEED_INCLUDES=
AC_TRY_COMPILE([#include <sys/types.h>],
[speed_t some_variable = 0],
[OSPEED_TYPE=speed_t],
[OSPEED_TYPE=unsigned])
AC_TRY_COMPILE([#include <termios.h>],
[speed_t some_variable = 0],
[OSPEED_TYPE=speed_t
OSPEED_INCLUDES="#include <termios.h>"],[])
AC_SUBST(OSPEED_TYPE)
AC_SUBST(OSPEED_INCLUDES)
if test "$OSPEED_TYPE" = "unsigned" ; then
AC_MSG_RESULT(no)
AC_DEFINE(speed_t,unsigned)
else
AC_MSG_RESULT(yes)
])
if test "$cf_cv_sizechange" != no ; then
AC_DEFINE(HAVE_SIZECHANGE)
case $cf_cv_sizechange in #(vi
NEED*)
AC_DEFINE_UNQUOTED($cf_cv_sizechange )
;;
esac
fi
])dnl
dnl ---------------------------------------------------------------------------
@ -2013,7 +2119,7 @@ do
SRC_SUBDIRS="$SRC_SUBDIRS $cf_dir"
done
SRC_SUBDIRS="$SRC_SUBDIRS misc test"
test $cf_with_cxx_binding != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
test "$cf_with_cxx_binding" != no && SRC_SUBDIRS="$SRC_SUBDIRS c++"
ADA_SUBDIRS=
if test "$cf_cv_prog_gnat_correct" = yes && test -f $srcdir/Ada95/Makefile.in; then
@ -2060,7 +2166,7 @@ strstreambuf foo(buf, sizeof(buf))
[cf_cv_libstdcpp=no])
LIBS="$cf_save"
])
test $cf_cv_libstdcpp = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname"
fi
])dnl
dnl ---------------------------------------------------------------------------
@ -2073,7 +2179,7 @@ dnl do this if we've found the sigaction function.
dnl
dnl If needed, define SVR4_ACTION.
AC_DEFUN([CF_STRUCT_SIGACTION],[
if test $ac_cv_func_sigaction = yes; then
if test "$ac_cv_func_sigaction" = yes; then
AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
AC_TRY_COMPILE([
#include <sys/types.h>
@ -2096,13 +2202,21 @@ dnl ---------------------------------------------------------------------------
dnl Some machines require _POSIX_SOURCE to completely define struct termios.
dnl If so, define SVR4_TERMIO
AC_DEFUN([CF_STRUCT_TERMIOS],[
if test $ac_cv_header_termios_h = yes ; then
AC_CHECK_HEADERS( \
termio.h \
termios.h \
unistd.h \
)
if test "$ISC" = yes ; then
AC_CHECK_HEADERS( sys/termio.h )
fi
if test "$ac_cv_header_termios_h" = yes ; then
case "$CFLAGS" in
*-D_POSIX_SOURCE*)
termios_bad=dunno ;;
*) termios_bad=maybe ;;
esac
if test $termios_bad = maybe ; then
if test "$termios_bad" = maybe ; then
AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
AC_TRY_COMPILE([#include <termios.h>],
[struct termios foo; int x = foo.c_iflag],
@ -2167,17 +2281,17 @@ AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
AC_CACHE_VAL(cf_cv_sys_time_select,[
AC_TRY_COMPILE([
#include <sys/types.h>
#if HAVE_SYS_TIME_H
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#if HAVE_SYS_SELECT_H
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
],[],[cf_cv_sys_time_select=yes],
[cf_cv_sys_time_select=no])
])
AC_MSG_RESULT($cf_cv_sys_time_select)
test $cf_cv_sys_time_select = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
])dnl
dnl ---------------------------------------------------------------------------
dnl Determine the type we should use for chtype (and attr_t, which is treated
@ -2190,7 +2304,7 @@ AC_REQUIRE([CF_UNSIGNED_LITERALS])
AC_MSG_CHECKING([for type of chtype])
AC_CACHE_VAL(cf_cv_typeof_chtype,[
AC_TRY_RUN([
#if USE_WIDEC_SUPPORT
#ifdef USE_WIDEC_SUPPORT
#include <stddef.h> /* we want wchar_t */
#define WANT_BITS 39
#else
@ -2202,7 +2316,7 @@ int main()
FILE *fp = fopen("cf_test.out", "w");
if (fp != 0) {
char *result = "long";
#if USE_WIDEC_SUPPORT
#ifdef USE_WIDEC_SUPPORT
/*
* If wchar_t is smaller than a long, it must be an int or a
* short. We prefer not to use a short anyway.
@ -2260,7 +2374,7 @@ AC_CACHE_VAL(cf_cv_type_sigaction,[
[cf_cv_type_sigaction=yes],
[cf_cv_type_sigaction=no])])
AC_MSG_RESULT($cf_cv_type_sigaction)
test $cf_cv_type_sigaction = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
test "$cf_cv_type_sigaction" = yes && AC_DEFINE(HAVE_TYPE_SIGACTION)
])dnl
dnl ---------------------------------------------------------------------------
dnl Test if the compiler supports 'U' and 'L' suffixes. Only old compilers
@ -2281,7 +2395,7 @@ dnl $1=uppercase($2)
AC_DEFUN([CF_UPPER],
[
changequote(,)dnl
$1=`echo $2 | tr '[a-z]' '[A-Z]'`
$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
changequote([,])dnl
])dnl
dnl ---------------------------------------------------------------------------

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
<!--
$Id: announce.html.in,v 1.37 2000/07/02 01:48:54 tom Exp $
$Id: announce.html.in,v 1.39 2000/07/04 21:59:36 tom Exp $
-->
<HTML>
<HEAD>
@ -33,7 +33,7 @@ the library and tools.<P>
The ncurses distribution is available via anonymous FTP at
the GNU distribution site
<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
It is also available at
<br>It is also available at
<A HREF="ftp://dickey.his.com/ncurses">ftp://dickey.his.com/ncurses</A>.
<H1>Release Notes</H1>
@ -68,8 +68,14 @@ New features:
provide better control over the use of default colors. This is
the principal visible difference between ncurses 5.1 and preceding
versions. The new extension allows an application to specify what
colors pair 0 uses. It defaults to white on black, unless you
have invoked <code>use_default_colors()</code>.
colors pair 0 uses.
<p>
<em>NOTE</em>: Pair 0 defaults to white on black unless
you have invoked <code>use_default_colors()</code> or set it via
<code>assume_default_colors()</code>. An application that calls
<code>start_colors()</code> without setting the background color
will consistently have a black background no matter what color your
terminal's background actually is.
<li>made several fixes to the terminfo-to-termcap conversion, and
have been using the generated termcaps without further hand-tuning.
@ -103,11 +109,13 @@ New features:
</ul>
<li>modify <code>raw()</code> and <code>noraw()</code> to clear/restore
IEXTEN flag which affects stty lnext on systems such as FreeBSD
IEXTEN flag which affects <code>stty lnext</code> on systems such as FreeBSD
<li>reordered tests during mouse initialization to allow for gpm to run in
xterm, or for xterm to be used under OS/2 EMX. Also dropped test for
$DISPLAY in favor of kmous=\E[M or $TERM containing "xterm".
<li>reordered tests during mouse initialization to allow for gpm to run
in xterm, or for xterm to be used under OS/2 EMX. Also dropped test
for <code>$DISPLAY</code> in favor of the terminfo capability
<code>kmous=\E[M</code> or
if <code>$TERM</code> environment variable contains "xterm".
<li>added configure option <code>--with-manpage-symlinks</code>, which
provides for fully indexing manpage entries by making symbolic links
@ -275,7 +283,8 @@ including (versions starting with those noted):
<DT> cdk
<DD> Curses Development Kit
<br>
<A HREF="http://www.vexus.ca/CDK.html">Curses Development Kit</a>
<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
<br>
<A HREF="http://dickey.his.com/cdk/cdk.html">http://dickey.his.com/cdk</A>.
<DT> ded
<DD> directory-editor
@ -292,27 +301,39 @@ for similar applications on GNU/Linux.
<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
<DT> Midnight Commander 4.1
<DD> file manager
<br>
<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
<DT> mutt
<DD> mail utility
<br>
<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
<DT> ncftp
<DD> file-transfer utility
<br>
<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
<DT> nvi
<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
<br>
<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
<DT> tin
<DD> newsreader, supporting color, MIME
<br>
<A HREF="http://www.tin.org">http://www.tin.org</A>.
<DT> taper
<DD> tape archive utility
<br>
<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
<DT> vh-1.6
<DD> Volks-Hypertext browser for the Jargon File
<br>
<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
</DL>
as well as some that use ncurses for the terminfo support alone:
<DL>
<DT> minicom
<DD> terminal emulator
<br>
<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
<DT> vile
<DD> vi-like-emacs
<br>

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.52 2000/05/28 01:44:34 tom Exp $
# $Id: Makefile.in,v 1.53 2000/08/19 19:12:32 tom Exp $
##############################################################################
# Copyright (c) 1998,1999 Free Software Foundation, Inc. #
# #
@ -41,7 +41,7 @@ CF_MFLAGS = @cf_cv_makeflags@
x = @PROG_EXT@
MODEL = ../@DFT_OBJ_SUBDIR@
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -132,16 +132,16 @@ etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
cp $(srcdir)/etip.h.in $@
sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
$(INSTALL_PREFIX)$(libdir) :
$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
install \
install.libs:: ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)
$(INSTALL) ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
install.libs:: ../lib/$(LIBNAME) $(DESTDIR)$(libdir)
$(INSTALL) ../lib/$(LIBNAME) $(DESTDIR)$(libdir)/$(LIBNAME)
uninstall \
uninstall.libs::
-rm -f $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
-rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace

View File

@ -35,7 +35,7 @@
#include "cursesapp.h"
#include "internal.h"
MODULE_ID("$Id: cursesf.cc,v 1.10 1999/10/30 23:49:28 tom Exp $")
MODULE_ID("$Id: cursesf.cc,v 1.11 2000/06/09 16:15:40 juergen Exp $")
NCursesFormField::~NCursesFormField () {
if (field)
@ -48,7 +48,8 @@ NCursesFormField::~NCursesFormField () {
FIELD**
NCursesForm::mapFields(NCursesFormField* nfields[]) {
int fieldCount = 0,lcv;
FIELD** old_fields;
assert(nfields != 0);
for (lcv=0; nfields[lcv]->field; ++lcv)
@ -63,8 +64,10 @@ NCursesForm::mapFields(NCursesFormField* nfields[]) {
my_fields = nfields;
if (form)
delete[] ::form_fields(form);
if (form && (old_fields = ::form_fields(form))) {
::set_form_fields(form,(FIELD**)0);
delete[] old_fields;
}
return fields;
}

View File

@ -1,6 +1,6 @@
// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
* Copyright (c) 1998,1999 Free Software Foundation, Inc. *
* Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -31,12 +31,13 @@
* Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997 *
****************************************************************************/
// $Id: cursesf.h,v 1.11 1999/10/30 23:59:37 tom Exp $
// $Id: cursesf.h,v 1.12 2000/07/15 21:08:25 tom Exp $
#ifndef _CURSESF_H
#define _CURSESF_H
#include <cursesp.h>
#include <string.h>
extern "C" {
# include <form.h>
@ -91,10 +92,10 @@ class NCursesFormField {
if (err != E_OK)
THROW(new NCursesFormException (err));
}
public:
// Create a 'Null' field. Can be used to delimit a field list
NCursesFormField()
NCursesFormField()
: field((FIELD*)0), ftype((NCursesFieldType*)0) {
}
@ -104,14 +105,14 @@ class NCursesFormField {
int first_row = 0,
int first_col = 0,
int offscreen_rows = 0,
int additional_buffers = 0)
int additional_buffers = 0)
: ftype((NCursesFieldType*)0) {
field = ::new_field(rows,cols,first_row,first_col,
offscreen_rows, additional_buffers);
if (!field)
OnError(errno);
}
virtual ~NCursesFormField ();
// Duplicate the field at a new position
@ -321,12 +322,12 @@ class NCursesForm : public NCursesPanel {
static void frm_term(FORM *);
static void fld_init(FORM *);
static void fld_term(FORM *);
// Calculate FIELD* array for the menu
FIELD** mapFields(NCursesFormField* nfields[]);
protected:
// internal routines
protected:
// internal routines
inline void set_user(void *user) {
UserHook* uptr = (UserHook*)::form_userptr (form);
assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
@ -337,8 +338,8 @@ class NCursesForm : public NCursesPanel {
UserHook* uptr = (UserHook*)::form_userptr (form);
assert (uptr != 0 && uptr->m_back==this && uptr->m_owner==form);
return uptr->m_user;
}
}
void InitForm (NCursesFormField* Fields[],
bool with_frame,
bool autoDeleteFields);
@ -353,14 +354,14 @@ class NCursesForm : public NCursesPanel {
// 'Internal' constructor, builds an object without association to a
// field array.
NCursesForm( int lines,
int cols,
int begin_y = 0,
int begin_x = 0)
: NCursesPanel(lines,cols,begin_y,begin_x),
NCursesForm( int lines,
int cols,
int begin_y = 0,
int begin_x = 0)
: NCursesPanel(lines,cols,begin_y,begin_x),
form ((FORM*)0) {
}
public:
// Create form for the default panel.
NCursesForm (NCursesFormField* Fields[],
@ -372,9 +373,9 @@ class NCursesForm : public NCursesPanel {
// Create a form in a panel with the given position and size.
NCursesForm (NCursesFormField* Fields[],
int lines,
int cols,
int begin_y,
int lines,
int cols,
int begin_y,
int begin_x,
bool with_frame=FALSE, // reserve space for a frame?
bool autoDelete_Fields=FALSE) // do automatic cleanup?
@ -397,17 +398,17 @@ class NCursesForm : public NCursesPanel {
// Set these fields for the form
inline void setFields(NCursesFormField* Fields[]) {
OnError(::set_form_fields(form,mapFields(Fields)));
OnError(::set_form_fields(form,mapFields(Fields)));
}
// Remove the form from the screen
inline void unpost (void) {
OnError (::unpost_form (form));
inline void unpost (void) {
OnError (::unpost_form (form));
}
// Post the form to the screen if flag is true, unpost it otherwise
inline void post(bool flag = TRUE) {
OnError (flag ? ::post_form(form) : ::unpost_form (form));
OnError (flag ? ::post_form(form) : ::unpost_form (form));
}
// Decorations
@ -424,7 +425,7 @@ class NCursesForm : public NCursesPanel {
else
OnError(E_SYSTEM_ERROR);
}
inline void label(const char *topLabel, const char *bottomLabel) {
if (b_framed)
NCursesPanel::label(topLabel,bottomLabel);
@ -578,18 +579,18 @@ template<class T> class NCursesUserForm : public NCursesForm
protected:
// 'Internal' constructor, builds an object without association to a
// field array.
NCursesUserForm( int lines,
int cols,
int begin_y = 0,
NCursesUserForm( int lines,
int cols,
int begin_y = 0,
int begin_x = 0,
const T* p_UserData = (T*)0)
const T* p_UserData = (T*)0)
: NCursesForm(lines,cols,begin_y,begin_x) {
if (form)
set_user ((void *)p_UserData);
}
public:
NCursesUserForm (NCursesFormField Fields[],
NCursesUserForm (NCursesFormField Fields[],
bool with_frame=FALSE,
bool autoDelete_Fields=FALSE)
: NCursesForm (Fields, with_frame, autoDelete_Fields) {
@ -603,11 +604,11 @@ template<class T> class NCursesUserForm : public NCursesForm
if (form)
set_user ((void *)p_UserData);
};
NCursesUserForm (NCursesFormField Fields[],
int lines,
int cols,
int begin_y = 0,
int lines,
int cols,
int begin_y = 0,
int begin_x = 0,
const T* p_UserData = (T*)0,
bool with_frame=FALSE,
@ -616,11 +617,11 @@ template<class T> class NCursesUserForm : public NCursesForm
with_frame, autoDelete_Fields) {
if (form)
set_user ((void *)p_UserData);
};
};
virtual ~NCursesUserForm() {
};
inline T* UserData (void) const {
return (T*)get_user ();
};
@ -645,7 +646,7 @@ class Alpha_Field : public NCursesFieldType {
}
public:
Alpha_Field(int width)
Alpha_Field(int width)
: NCursesFieldType(TYPE_ALPHA),
min_field_width(width) {
}
@ -660,7 +661,7 @@ class Alphanumeric_Field : public NCursesFieldType {
}
public:
Alphanumeric_Field(int width)
Alphanumeric_Field(int width)
: NCursesFieldType(TYPE_ALNUM),
min_field_width(width) {
}
@ -678,7 +679,7 @@ class Integer_Field : public NCursesFieldType {
public:
Integer_Field(int prec, long low=0L, long high=0L)
: NCursesFieldType(TYPE_INTEGER),
: NCursesFieldType(TYPE_INTEGER),
precision(prec), lower_limit(low), upper_limit(high) {
}
};
@ -695,7 +696,7 @@ class Numeric_Field : public NCursesFieldType {
public:
Numeric_Field(int prec, double low=0.0, double high=0.0)
: NCursesFieldType(TYPE_NUMERIC),
: NCursesFieldType(TYPE_NUMERIC),
precision(prec), lower_limit(low), upper_limit(high) {
}
};
@ -757,11 +758,11 @@ class IPV4_Address_Field : public NCursesFieldType {
// -------------------------------------------------------------------------
//
class UserDefinedFieldType : public NCursesFieldType {
friend class UDF_Init; // Internal helper to set up statics
friend class UDF_Init; // Internal helper to set up statics
private:
// For all C++ defined fieldtypes we need only one generic lowlevel
// FIELDTYPE* element.
static FIELDTYPE* generic_fieldtype;
static FIELDTYPE* generic_fieldtype;
protected:
// This are the functions required by the low level libforms functions
@ -793,9 +794,9 @@ class UserDefinedFieldType : public NCursesFieldType {
// -------------------------------------------------------------------------
//
class UserDefinedFieldType_With_Choice : public UserDefinedFieldType {
friend class UDF_Init; // Internal helper to set up statics
friend class UDF_Init; // Internal helper to set up statics
private:
// For all C++ defined fieldtypes with choice functions we need only one
// For all C++ defined fieldtypes with choice functions we need only one
// generic lowlevel FIELDTYPE* element.
static FIELDTYPE* generic_fieldtype_with_choice;

View File

@ -1,6 +1,6 @@
// * this is for making emacs happy: -*-Mode: C++;-*-
/****************************************************************************
* Copyright (c) 1998,1999 Free Software Foundation, Inc. *
* Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -33,8 +33,9 @@
#include "cursesp.h"
#include "internal.h"
#include <string.h>
MODULE_ID("$Id: cursesp.cc,v 1.15 1999/10/30 23:59:37 tom Exp $")
MODULE_ID("$Id: cursesp.cc,v 1.16 2000/07/15 21:08:13 tom Exp $")
NCursesPanel* NCursesPanel::dummy = (NCursesPanel*)0;
@ -42,13 +43,13 @@ void NCursesPanel::init() {
p = ::new_panel(w);
if (!p)
OnError(ERR);
UserHook* hook = new UserHook;
hook->m_user = NULL;
hook->m_back = this;
hook->m_owner = p;
::set_panel_userptr(p, (void *)hook);
}
}
NCursesPanel::~NCursesPanel() {
UserHook* hook = (UserHook*)::panel_userptr(p);
@ -61,7 +62,7 @@ NCursesPanel::~NCursesPanel() {
void
NCursesPanel::redraw() {
PANEL *pan;
pan = ::panel_above(NULL);
while (pan) {
::touchwin(panel_window(pan));
@ -95,20 +96,20 @@ NCursesPanel::frame(const char *title,const char *btitle) {
int err = OK;
if (!title && !btitle) {
err = box();
}
}
else {
err = box();
if (err==OK)
label(title,btitle);
label(title,btitle);
}
OnError(err);
}
void
NCursesPanel::label(const char *tLabel, const char *bLabel) {
if (tLabel)
if (tLabel)
centertext(0,tLabel);
if (bLabel)
if (bLabel)
centertext(maxy(),bLabel);
}

View File

@ -25,7 +25,7 @@
#include "cursesw.h"
#include "internal.h"
MODULE_ID("$Id: cursesw.cc,v 1.16 1999/11/13 23:42:17 tom Exp $")
MODULE_ID("$Id: cursesw.cc,v 1.17 2000/09/02 18:55:31 tom Exp $")
#define COLORS_NEED_INITIALIZATION -1
#define COLORS_NOT_INITIALIZED 0
@ -424,7 +424,7 @@ NCursesWindow::setcolor(short pair)
return OK;
}
#ifdef HAVE_HAS_KEY
#if HAVE_HAS_KEY
extern "C" int _nc_has_mouse(void);
bool NCursesWindow::has_mouse() const {

View File

@ -1,6 +1,6 @@
// * this is for making emacs happy: -*-Mode: C++;-*-
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -34,8 +34,9 @@
#include "cursslk.h"
#include "cursesapp.h"
#include "internal.h"
#include <string.h>
MODULE_ID("$Id: cursslk.cc,v 1.5 1999/05/16 17:31:01 juergen Exp $")
MODULE_ID("$Id: cursslk.cc,v 1.6 2000/07/15 21:07:50 tom Exp $")
void Soft_Label_Key_Set::Soft_Label_Key::operator=(char *text) {
delete[] label;
@ -54,7 +55,7 @@ void Soft_Label_Key_Set::init() {
for(int i=0; i < num_labels; i++) {
slk_array[i].num = i+1;
}
b_attrInit = FALSE;
b_attrInit = FALSE;
}
Soft_Label_Key_Set::Soft_Label_Key_Set() {

View File

@ -1,6 +1,6 @@
// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -31,12 +31,12 @@
* Author: Juergen Pfeifer <juergen.pfeifer@gmx.net> 1997 *
****************************************************************************/
// $Id: internal.h,v 1.5 1999/05/16 17:29:25 juergen Exp $
// $Id: internal.h,v 1.6 2000/09/02 18:22:23 tom Exp $
#ifndef _CPLUS_INTERNAL_H
#define _CPLUS_INTERNAL_H 1
#ifdef USE_RCS_IDS
#if USE_RCS_IDS
#define MODULE_ID(id) static const char Ident[] = id;
#else
#define MODULE_ID(id) /*nothing*/

View File

@ -109,6 +109,9 @@ trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
i?86:OS/2:*:*)
echo "i386-unknown-os2"
exit 0;;
*:NetBSD:*:*)
# Netbsd (nbsd) targets should (where applicable) match one or
# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
@ -431,7 +434,7 @@ EOF
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit 0 ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i?86:AIX:*:*)

View File

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
# Free Software Foundation, Inc.
version='2000-06-13'
version='2000-07-06'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@ -122,6 +122,9 @@ esac
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-os2)
basic_machine=`echo $1 | sed -e 's/86-.*/86/'`
;;
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
@ -218,9 +221,14 @@ case $basic_machine in
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el | mcore \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v | fr30 | avr)
| thumb | d10v | d30v | fr30 | avr)
basic_machine=$basic_machine-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
;;
@ -257,7 +265,7 @@ case $basic_machine in
| f301-* | armv*-* | s390-* | sv1-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
| bs2000-*)
| bs2000-* | tic54x-* | c54x-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
@ -793,6 +801,10 @@ case $basic_machine in
basic_machine=t3e-cray
os=-unicos
;;
tic54x | c54x*)
basic_machine=tic54x-unknown
os=-coff
;;
tx39)
basic_machine=mipstx39-unknown
;;
@ -994,6 +1006,7 @@ case $os in
os=-nto-qnx
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -os2 \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
dnl***************************************************************************
dnl Copyright (c) 1998,1999 Free Software Foundation, Inc. *
dnl Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
dnl *
dnl Permission is hereby granted, free of charge, to any person obtaining a *
dnl copy of this software and associated documentation files (the *
@ -28,15 +28,19 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
dnl
dnl $Id: configure.in,v 1.194 2000/07/01 21:31:07 tom Exp $
dnl $Id: configure.in,v 1.217 2000/10/08 01:02:43 tom Exp $
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.12.971230)
AC_REVISION($Revision: 1.194 $)
dnl
dnl See http://dickey.his.com/autoconf/ for additional information.
dnl
dnl ---------------------------------------------------------------------------
AC_PREREQ(2.13.20000819)
AC_REVISION($Revision: 1.217 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
CF_SUBST_NCURSES_VERSION
CF_CHECK_CACHE
CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
AC_ARG_WITH(system-type,
[ --with-system-type=XXX test: override derived host system-type],
[AC_MSG_WARN(overriding system type to $withval)
@ -79,13 +83,16 @@ CF_CFG_DEFAULTS
### Checks for programs.
AC_PROG_CC
if test -n "$GCC" ; then
AC_MSG_CHECKING(version of gcc)
eval "$CC --version"
if test "$GCC" = yes ; then
AC_MSG_CHECKING(version of gcc)
eval "$CC --version"
fi
if test $host != $build; then
AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)
if test "$host" != $build; then
AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)
else
BUILD_CC="$CC"
fi
AC_SUBST(BUILD_CC)
AC_PROG_CPP
AC_PROG_GCC_TRADITIONAL
AC_ISC_POSIX
@ -121,8 +128,17 @@ else
AC_PROG_CXX
popdef([AC_MSG_ERROR])dnl
fi
changequote(,)dnl
if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; cf_cxx_library=no ; echo No: templates do not work;; esac; fi
if test "$GXX" = yes; then
case "`${CXX-g++} --version`" in
1*|2.[0-6]*)
GXX=""; CXX=""; ac_cv_prog_gxx=no
cf_cxx_library=no
echo No: templates do not work
;;
esac
fi
changequote([,])dnl
AC_MSG_CHECKING(if you want to build C++ binding and demo)
@ -152,12 +168,15 @@ modules_to_build="$modules_to_build progs tack"
fi
modules_to_build="$modules_to_build panel menu form"
AC_ARG_PROGRAM
AC_PROG_AWK
AC_PROG_MAKE_SET
CF_PROG_INSTALL
AC_SYS_LONG_FILE_NAMES
CF_MIXEDCASE_FILENAMES
AC_PROG_LN_S
AC_PROG_RANLIB
CF_MAKE_TAGS
AC_CHECK_PROGS(LINT, tdlint lint alint)
AC_CHECK_PROGS(MAN, man man_db)
AC_SUBST(LINT_OPTS)
@ -178,14 +197,11 @@ AC_ARG_WITH(install-prefix,
[case "$withval" in #(vi
yes|no) #(vi
;;
*) INSTALL_PREFIX="$withval"
*) DESTDIR="$withval"
;;
esac])
AC_MSG_RESULT($INSTALL_PREFIX)
AC_SUBST(INSTALL_PREFIX)
###############################################################################
CF_MAN_PAGES
AC_MSG_RESULT($DESTDIR)
AC_SUBST(DESTDIR)
###############################################################################
CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
@ -275,7 +291,7 @@ AC_ARG_WITH(dbmalloc,
[with_dbmalloc=$withval],
[with_dbmalloc=no])
AC_MSG_RESULT($with_dbmalloc)
if test $with_dbmalloc = yes ; then
if test "$with_dbmalloc" = yes ; then
AC_CHECK_LIB(dbmalloc,debug_malloc)
fi
@ -285,7 +301,7 @@ AC_ARG_WITH(dmalloc,
[with_dmalloc=$withval],
[with_dmalloc=no])
AC_MSG_RESULT($with_dmalloc)
if test $with_dmalloc = yes ; then
if test "$with_dmalloc" = yes ; then
AC_CHECK_LIB(dmalloc,dmalloc_debug)
fi
@ -296,7 +312,7 @@ AC_ARG_WITH(gpm,
[with_gpm=$withval],
[with_gpm=no])
AC_MSG_RESULT($with_gpm)
if test $with_gpm = yes ; then
if test "$with_gpm" = yes ; then
AC_CHECK_LIB(gpm,Gpm_Open,[
EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS"
SHLIB_LIST="-lgpm $SHLIB_LIST"
@ -359,10 +375,28 @@ AC_MSG_RESULT($with_overwrite)
AC_MSG_CHECKING(if external terminfo-database is used)
AC_ARG_ENABLE(database,
[ --disable-database use only built-in data],
[with_database=$enableval],
[with_database=yes])
AC_MSG_RESULT($with_database)
test $with_database != no && AC_DEFINE(USE_DATABASE)
[use_database=$enableval],
[use_database=yes])
AC_MSG_RESULT($use_database)
case $host_os in #(vi
os2*) #(vi
TERMINFO_SRC='${top_srcdir}/misc/emx.src'
;;
*) #(vi
TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
;;
esac
AC_SUBST(TERMINFO_SRC)
if test "$use_database" != no ; then
AC_DEFINE(USE_DATABASE)
AC_MSG_CHECKING(which terminfo source-file will be installed)
AC_ARG_ENABLE(database,
[ --with-database=XXX specify terminfo source to install],
[TERMINFO_SRC=$withval])
AC_MSG_RESULT($TERMINFO_SRC)
fi
AC_MSG_CHECKING(for list of fallback descriptions)
AC_ARG_WITH(fallbacks,
@ -373,6 +407,13 @@ AC_MSG_RESULT($with_fallback)
FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
AC_SUBST(FALLBACK_LIST)
if test "$use_database" = no ; then
if test -z $with_fallback ; then
AC_ERROR(You have disabled the database w/o specifying fallbacks)
fi
TERMINFO="${datadir}/terminfo"
else
AC_MSG_CHECKING(for list of terminfo directories)
CF_WITH_PATHLIST(terminfo-dirs,
[ --with-terminfo-dirs=XXX specify list of terminfo directories],
@ -382,12 +423,19 @@ CF_WITH_PATHLIST(terminfo-dirs,
AC_MSG_RESULT($TERMINFO_DIRS)
test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
if test $with_database = no ; then
if test -z $with_fallback ; then
AC_ERROR(You have disabled the database w/o specifying fallbacks)
fi
AC_MSG_CHECKING(for default terminfo directory)
CF_WITH_PATH(default-terminfo-dir,
[ --with-default-terminfo-dir=DIR default terminfo directory],
TERMINFO,
DATADIR/terminfo,
${datadir}/terminfo)
AC_MSG_RESULT($TERMINFO)
AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
fi
AC_SUBST(TERMINFO)
### use option --disable-big-core to make tic run on small machines
### We need 4Mb, check if we can allocate 50% more than that.
AC_MSG_CHECKING(if big-core option selected)
@ -397,7 +445,13 @@ AC_ARG_ENABLE(big-core,
[AC_TRY_RUN([
#include <stdlib.h>
#include <string.h>
int main() { exit(malloc(6000000L) == 0); }],
int main() {
unsigned long n = 6000000L;
char *s = malloc(n);
if (s != 0)
s[0] = s[n-1] = 0;
exit(s == 0);
}],
[with_big_core=yes],
[with_big_core=no],
[with_big_core=no])])
@ -497,6 +551,9 @@ AC_ARG_WITH(rcs-ids,
AC_MSG_RESULT($with_rcs_ids)
test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
###############################################################################
CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
###############################################################################
CF_HELP_MESSAGE(Extensions:)
@ -508,6 +565,7 @@ AC_ARG_ENABLE(ext-funcs,
[with_ext_funcs=yes])
AC_MSG_RESULT($with_ext_funcs)
if test "$with_ext_funcs" = yes ; then
AC_DEFINE(HAVE_CURSES_VERSION)
AC_DEFINE(HAVE_HAS_KEY)
AC_DEFINE(HAVE_RESIZETERM)
AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
@ -522,22 +580,12 @@ AC_ARG_ENABLE(const,
[with_ext_const=$enableval],
[with_ext_const=no])
AC_MSG_RESULT($with_ext_const)
NCURSES_CONST=""
NCURSES_CONST='/*nothing*/'
if test "$with_ext_const" = yes ; then
AC_DEFINE(NCURSES_CONST,const)
NCURSES_CONST=const
fi
AC_SUBST(NCURSES_CONST)
### use option --enable-hashmap to turn on use of hashmap scrolling logic
AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
AC_ARG_ENABLE(hashmap,
[ --enable-hashmap compile with hashmap scrolling-optimization code],
[with_hashmap=$enableval],
[with_hashmap=yes])
AC_MSG_RESULT($with_hashmap)
test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
AC_ARG_ENABLE(no-padding,
[ --enable-no-padding compile with \$NCURSES_NO_PADDING code],
@ -567,32 +615,71 @@ test "$with_tcap_names" = yes && NCURSES_XNAMES=1
AC_SUBST(NCURSES_XNAMES)
###############################################################################
CF_HELP_MESSAGE(Experimental Code:)
AC_MSG_CHECKING(if you want all experimental code)
# These options are relatively safe to experiment with.
CF_HELP_MESSAGE(Development Code:)
AC_MSG_CHECKING(if you want all development code)
AC_ARG_WITH(develop,
[ --with-develop enable all experimental options for testing],
[ --with-develop enable all development options],
[with_develop=$withval],
[with_develop=no])
AC_MSG_RESULT($with_develop)
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
AC_MSG_CHECKING(if you want experimental colorfgbg code)
AC_MSG_CHECKING(if you want colorfgbg code)
AC_ARG_ENABLE(hard-tabs,
[ --enable-colorfgbg compile with experimental \$COLORFGBG code],
[ --enable-colorfgbg compile with \$COLORFGBG code],
[with_colorfgbg=$enableval],
[with_colorfgbg=$with_develop])
AC_MSG_RESULT($with_colorfgbg)
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
AC_MSG_CHECKING(if you want experimental hard-tabs code)
AC_MSG_CHECKING(if you want hard-tabs code)
AC_ARG_ENABLE(hard-tabs,
[ --enable-hard-tabs compile with experimental hard-tabs code],
[ --enable-hard-tabs compile with hard-tabs code],
[with_hardtabs=$enableval],
[with_hardtabs=$with_develop])
AC_MSG_RESULT($with_hardtabs)
test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
AC_MSG_CHECKING(if you want to use restrict environment when running as root)
AC_ARG_ENABLE(root-environ,
[ --disable-root-environ limit environment when running as root],
[with_root_environ=$enableval],
[with_root_environ=yes])
AC_MSG_RESULT($with_root_environ)
test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
AC_MSG_CHECKING(if you want limited support for xmc)
AC_ARG_ENABLE(xmc-glitch,
[ --enable-xmc-glitch compile with limited support for xmc],
[with_xmc_glitch=$enableval],
[with_xmc_glitch=$with_develop])
AC_MSG_RESULT($with_xmc_glitch)
test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
###############################################################################
# These are just experimental, probably should not be in a package:
CF_HELP_MESSAGE(Experimental Code:)
AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
AC_ARG_ENABLE(assumed-color,
[ --disable-assumed-color do not assume anything about default-colors],
[with_assumed_color=$enableval],
[with_assumed_color=yes])
AC_MSG_RESULT($with_assumed_color)
test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
### use option --enable-hashmap to turn on use of hashmap scrolling logic
AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
AC_ARG_ENABLE(hashmap,
[ --disable-hashmap compile without hashmap scrolling-optimization],
[with_hashmap=$enableval],
[with_hashmap=yes])
AC_MSG_RESULT($with_hashmap)
test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
AC_ARG_ENABLE(safe-sprintf,
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
@ -616,7 +703,7 @@ fi
### use option --enable-widec to turn on use of wide-character support
AC_MSG_CHECKING(if you want experimental wide-character code)
AC_ARG_ENABLE(widec,
[ --enable-widec compile with experimental wide-char code],
[ --enable-widec compile with experimental wide-char/UTF-8 code],
[with_widec=$enableval],
[with_widec=no])
AC_MSG_RESULT($with_widec)
@ -625,19 +712,11 @@ if test "$with_widec" = yes ; then
AC_DEFINE(USE_WIDEC_SUPPORT)
fi
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
AC_MSG_CHECKING(if you want experimental xmc code)
AC_ARG_ENABLE(xmc-glitch,
[ --enable-xmc-glitch compile with experimental xmc code],
[with_xmc_glitch=$enableval],
[with_xmc_glitch=$with_develop])
AC_MSG_RESULT($with_xmc_glitch)
test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
###############################################################################
CF_HELP_MESSAGE(Testing/development Options:)
### use option --disable-echo to suppress full display compiling commands
AC_MSG_CHECKING(if you want to display full commands during build)
AC_ARG_ENABLE(echo,
[ --enable-echo build: display "compiling" commands (default)],
[with_echo=$enableval],
@ -647,9 +726,11 @@ if test "$with_echo" = yes; then
else
ECHO_LINK='@ echo linking $@ ... ;'
fi
AC_MSG_RESULT($with_echo)
AC_SUBST(ECHO_LINK)
### use option --enable-warnings to turn on all gcc warnings
AC_MSG_CHECKING(if you want to see compiler warnings)
AC_ARG_ENABLE(warnings,
[ --enable-warnings build: turn on GCC compiler warnings],
[with_warnings=$enableval])
@ -657,16 +738,19 @@ if test -n "$with_warnings"; then
ADAFLAGS="$ADAFLAGS -gnatg"
CF_GCC_WARNINGS
fi
AC_MSG_RESULT($with_warnings)
CF_GCC_ATTRIBUTES
### use option --enable-assertions to turn on generation of assertion code
AC_MSG_CHECKING(if you want to enable runtime assertions)
AC_ARG_ENABLE(assertions,
[ --enable-assertions test: turn on generation of assertion code],
[with_assertions=$enableval],
[with_assertions=no])
AC_MSG_RESULT($with_assertions)
if test -n "$GCC"
then
if test $with_assertions = no
if test "$with_assertions" = no
then
AC_DEFINE(NDEBUG)
CPPFLAGS="$CPPFLAGS -DNDEBUG"
@ -678,18 +762,18 @@ fi
### use option --disable-leaks to suppress "permanent" leaks, for testing
AC_ARG_ENABLE(leaks,
[ --disable-leaks test: suppress permanent memory-leaks],
[test $enableval = no && AC_DEFINE(NO_LEAKS)])
[test "$enableval" = no && AC_DEFINE(NO_LEAKS)])
AC_DEFINE(HAVE_NC_ALLOC_H)
### use option --enable-expanded to generate certain macros as functions
AC_ARG_ENABLE(expanded,
[ --enable-expanded test: generate functions for certain macros],
[test $enableval = yes && AC_DEFINE(NCURSES_EXPANDED)])
[test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
### use option --disable-macros to suppress macros in favor of functions
AC_ARG_ENABLE(macros,
[ --disable-macros test: use functions rather than macros],
[test $enableval = no && AC_DEFINE(NCURSES_NOMACROS)])
[test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
### Checks for libraries.
AC_CHECK_FUNC(gettimeofday,
@ -722,8 +806,6 @@ sys/poll.h \
sys/select.h \
sys/time.h \
sys/times.h \
termio.h \
termios.h \
ttyent.h \
unistd.h \
)
@ -733,7 +815,6 @@ unistd.h \
if test "$ISC" = yes ; then
AC_CHECK_LIB(cposix,main)
AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
AC_CHECK_HEADERS( sys/termio.h )
fi
CF_SYS_TIME_SELECT
@ -742,7 +823,7 @@ CF_SYS_TIME_SELECT
AC_LANG_C
AC_C_CONST
AC_C_INLINE
test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
CF_TYPEOF_CHTYPE
CF_WIDEC_SHIFT
@ -750,12 +831,14 @@ CF_WIDEC_SHIFT
### Checks for external-data
CF_ERRNO
CF_LINK_DATAONLY
CF_SPEED_TYPE
### Checks for library functions.
AC_CHECK_FUNCS( \
getcwd \
getegid \
geteuid \
getttynam \
issetugid \
memccpy \
mkstemp \
nanosleep \
@ -769,7 +852,6 @@ sigaction \
sigvec \
strdup \
strstr \
tcgetattr \
tcgetpgrp \
times \
vfscanf \
@ -782,7 +864,7 @@ fi
CF_ISASCII
CF_STRUCT_SIGACTION
CF_STRUCT_TERMIOS
CF_FUNC_TERMIOS
dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
if test "$cross_compiling" = yes ; then
@ -807,17 +889,21 @@ CF_BOOL_DECL(cf_cv_cc_bool_type)
if test -n "$CXX" ; then
AC_LANG_CPLUSPLUS
CF_STDCPP_LIBRARY
case "`${CXX-g++} --version`" in
1*|2.[0-6]*)
cf_cxx_library=yes
;;
2.7*)
CF_GPP_LIBRARY
;;
*)
cf_cxx_library=no
;;
esac
if test "$GXX" = yes; then
case "`${CXX-g++} --version`" in
1*|2.[0-6]*)
cf_cxx_library=yes
;;
2.7*)
CF_GPP_LIBRARY
;;
*)
cf_cxx_library=no
;;
esac
else
cf_cxx_library=no
fi
AC_CHECK_HEADERS(typeinfo)
CF_BOOL_DECL
CF_BOOL_SIZE
@ -862,8 +948,8 @@ if test "$ac_cv_prog_gnat_exists" = no; then
cf_ada_make=
else
CF_GNAT_VERSION
AC_CHECK_PROG(m4_exists, m4, yes, no)
if test "$ac_cv_prog_m4_exists" = no; then
AC_CHECK_PROG(M4_exists, m4, yes, no)
if test "$ac_cv_prog_M4_exists" = no; then
cf_cv_prog_gnat_correct=no
echo Ada95 binding required program m4 not found. Ada95 binding disabled.
fi
@ -885,7 +971,7 @@ if test "$cf_cv_prog_gnat_correct" = yes; then
ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
AC_ARG_WITH(ada-compiler,
[ --with-ada-compiler=CMD Specify Ada95 compiler command (default gnatmake)],
[ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
[cf_ada_compiler=$withval],
[cf_ada_compiler=gnatmake])
@ -912,11 +998,6 @@ if test "$cf_cv_prog_gnat_correct" = yes; then
[$]prefix/lib/ada/adalib)
AC_SUBST(ADA_OBJECTS)
# This has been fixed!
# if test $with_shared = no
# then
# AC_MSG_WARN(Ada95 applications will not link properly with static libraries)
# fi
fi
fi
@ -924,7 +1005,7 @@ fi
### using a 'char' for bools. gcc 2.7.0's conversion-warnings are broken too
### badly to consider using for development purposes, but 2.5.8 is okay.
if test -n "$with_warnings"; then
if test -n "$GCC"; then
if test "$GCC" = yes; then
case "`$CC --version`" in
2.6.3)
if test "$cf_cv_type_of_bool" != "char"; then
@ -978,7 +1059,7 @@ AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
AC_MSG_RESULT($DFT_OBJ_SUBDIR)
TINFO_LIST="$SHLIB_LIST"
test $with_termlib = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
AC_MSG_CHECKING(where we will install curses.h)
test "$with_overwrite" = no && \
@ -1014,6 +1095,7 @@ AC_OUTPUT( \
include/curses.h \
include/termcap.h \
include/unctrl.h \
misc/run_tic.sh:misc/run_tic.in \
$SUB_MAKEFILES \
Makefile,[
CF_LIB_RULES
@ -1030,6 +1112,7 @@ LIB_SUFFIX="$LIB_SUFFIX"
LIB_SUBSETS="$LIB_SUBSETS"
LIB_TRACING="$LIB_TRACING"
SRC_SUBDIRS="$SRC_SUBDIRS"
TERMINFO="$TERMINFO"
TINFO_NAME="$TINFO_NAME"
WITH_ECHO="$with_echo"
WITH_OVERWRITE="$with_overwrite"
@ -1039,6 +1122,7 @@ cf_cv_rel_version="$cf_cv_rel_version"
cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
cf_cv_system_name="$cf_cv_system_name"
cf_with_cxx_binding="$cf_with_cxx_binding"
cf_cv_shlib_version="$cf_cv_shlib_version"
target="$target"
],sort)dnl

View File

@ -8,47 +8,83 @@ extproc perl -S -w
#
# run the result like this:
# .\configure
;
# Some frequent manual intervention:
# a) Some makefiles hardwire SHELL = /bin/sh ==> change to: sh
# b) Some makefiles recognize that exe files terminate on .exe
# You need to give this script -no-zexe option...
shift, $no_zexe = 1 if @ARGV and $ARGV[0] eq '-no-zexe';
mkdir '/tmp', 0777 unless -d '/tmp';
print <<EOF;
extproc sh
EOF
print <<EOF unless $no_zexe;
# Make sensible defaults:
CC="gcc -Zexe"
CC="gcc -Zexe -Zmt"
export CC
CXX="gcc -Zexe -Zmt"
export CXX
#GCCOPT="$GCCOPT -Zexe"
#export GCCOPT
EOF
print <<EOF;
CONFIG_SHELL=sh
export CONFIG_SHELL
# Optimization (GNU make 3.74 cannot be loaded :-():
emxload -m 30 sh.exe ls.exe tr.exe id.exe sed.exe # make.exe
emxload -m 30 grep.exe egrep.exe fgrep.exe cat.exe rm.exe mv.exe cp.exe
emxload -m 30 uniq.exe basename.exe sort.exe awk.exe echo.exe
EOF
$checking_path = 0;
while (<>) {
if (/for\s+(\w+)\s+in\s*\$PATH\s*;/) {
if (/for\s+(\w+)\s+in\s*\$(PATH|ac_dummy)\s*;/) {
$checking_path = 1;
$varname = $1;
$subst= <<EOS
$varname="`echo -E \\"\$$varname\\" | tr \\\\\\\\\\\\\\\\ / `"
EOS
}
$checking_path = 0 if /^\s*done\s*$/;
if (/if\s+test\s+-z\s+\"\$INSTALL\"/) {
$checking_install = 1;
}
$checking_install = $checking_path = 0 if /^\s*done\s*$/;
# We want to create an extra line like this one:
# ac_dir="`echo -E \"$ac_dir\" | tr \\\\\\\\ / `"
s{^((\s*)if\s+test)\s*-f\s*(\$$varname/\S+)\s*;}
{$2$subst$1 -f $3 -o -f $3.exe ;}
{$2$subst$1 -f $3 -o -f $3.exe ;}
if $checking_path; # Checking for executables
s/^host=NONE$/host=os2/; # Make default host
# change |/usr/sbin/*| to |/usr/sbin/*|?:[\\/]os2[\\/]install[\\/]*|
# in the list of things to skip (with both cases)
s{\Q|/usr/sbin/*|}
{|/usr/sbin/*|?:[\\\\/]os2[\\\\/]install[\\\\/]*|?:[\\\\/]OS2[\\\\/]INSTALL[\\\\/]*|}
if $checking_install; # Do not accept d:/os2/install/install.exe
s/^(host|build)=NONE$/$1=x86-emx-os2/; # Make default host/build
s/"\$\{IFS}:"$/"\${IFS};"/; # Fix IFS line
s/\bIFS=\":\"$/IFS=";"/; # Fix another IFS line
s/\btest\s+-s\s+conftest\b/test -f conftest/g; # Fix exe test
# This one is needed for curses:
s/host=`\$ac_config_sub \$host_alias`/$&\nif test -z "$host"; then host=\$host_alias; fi/;
s/^\s*host=`.*\$ac_config_sub \$host_alias`/$&\nif test -z "\$host"; then host=\$host_alias; fi/;
s,/bin/sh(?![/\w]),sh,g;
s,^(\s*/usr/sbin/sendmail\s*)\\$,$1 "`whence sendmail | tr '\\\\\\\\' / `" \\,;
print;
}
__END__
Changes: 98/11 : support check for executables in ncurses.
Changes: 98/11 : support check for executables in ncurses.
99/2 : support INSTALL,
new IFS=':' style
99/11 : find sendmail
00/01 : export CONFIG_SHELL
00/10 : new syntax for host=`...` line

View File

@ -1,4 +1,4 @@
# $Id: dist.mk,v 1.207 2000/06/29 23:08:38 tom Exp $
# $Id: dist.mk,v 1.224 2000/10/09 22:47:15 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -10,7 +10,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 1
NCURSES_PATCH = 20000701
NCURSES_PATCH = 20001009
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
<!--
$Id: announce.html,v 1.37 2000/07/02 01:50:20 tom Exp $
$Id: announce.html,v 1.38 2000/07/04 22:41:38 tom Exp $
-->
<HTML>
<HEAD>
@ -33,7 +33,7 @@ the library and tools.<P>
The ncurses distribution is available via anonymous FTP at
the GNU distribution site
<A HREF="ftp://ftp.gnu.org/pub/gnu/ncurses">ftp://ftp.gnu.org/pub/gnu/ncurses</A>.
It is also available at
<br>It is also available at
<A HREF="ftp://dickey.his.com/ncurses">ftp://dickey.his.com/ncurses</A>.
<H1>Release Notes</H1>
@ -68,8 +68,14 @@ New features:
provide better control over the use of default colors. This is
the principal visible difference between ncurses 5.1 and preceding
versions. The new extension allows an application to specify what
colors pair 0 uses. It defaults to white on black, unless you
have invoked <code>use_default_colors()</code>.
colors pair 0 uses.
<p>
<em>NOTE</em>: Pair 0 defaults to white on black unless
you have invoked <code>use_default_colors()</code> or set it via
<code>assume_default_colors()</code>. An application that calls
<code>start_colors()</code> without setting the background color
will consistently have a black background no matter what color your
terminal's background actually is.
<li>made several fixes to the terminfo-to-termcap conversion, and
have been using the generated termcaps without further hand-tuning.
@ -103,11 +109,13 @@ New features:
</ul>
<li>modify <code>raw()</code> and <code>noraw()</code> to clear/restore
IEXTEN flag which affects stty lnext on systems such as FreeBSD
IEXTEN flag which affects <code>stty lnext</code> on systems such as FreeBSD
<li>reordered tests during mouse initialization to allow for gpm to run in
xterm, or for xterm to be used under OS/2 EMX. Also dropped test for
$DISPLAY in favor of kmous=\E[M or $TERM containing "xterm".
<li>reordered tests during mouse initialization to allow for gpm to run
in xterm, or for xterm to be used under OS/2 EMX. Also dropped test
for <code>$DISPLAY</code> in favor of the terminfo capability
<code>kmous=\E[M</code> or
if <code>$TERM</code> environment variable contains "xterm".
<li>added configure option <code>--with-manpage-symlinks</code>, which
provides for fully indexing manpage entries by making symbolic links
@ -275,7 +283,8 @@ including (versions starting with those noted):
<DT> cdk
<DD> Curses Development Kit
<br>
<A HREF="http://www.vexus.ca/CDK.html">Curses Development Kit</a>
<A HREF="http://www.vexus.ca/CDK.html">http://www.vexus.ca/CDK.html</a>
<br>
<A HREF="http://dickey.his.com/cdk/cdk.html">http://dickey.his.com/cdk</A>.
<DT> ded
<DD> directory-editor
@ -292,27 +301,39 @@ for similar applications on GNU/Linux.
<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release</A>.
<DT> Midnight Commander 4.1
<DD> file manager
<br>
<A HREF="www.gnome.org/mc/">www.gnome.org/mc/</A>.
<DT> mutt
<DD> mail utility
<br>
<A HREF="http://www.mutt.org">http://www.mutt.org</A>.
<DT> ncftp
<DD> file-transfer utility
<br>
<A HREF="http://www.ncftp.com">http://www.ncftp.com</A>.
<DT> nvi
<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
<br>
<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>.
<DT> tin
<DD> newsreader, supporting color, MIME
<br>
<A HREF="http://www.tin.org">http://www.tin.org</A>.
<DT> taper
<DD> tape archive utility
<br>
<A HREF="http://members.iinet.net.au/~yusuf/taper/">http://members.iinet.net.au/~yusuf/taper/</A>.
<DT> vh-1.6
<DD> Volks-Hypertext browser for the Jargon File
<br>
<A HREF="http://www.bg.debian.org/Packages/unstable/text/vh.html">http://www.bg.debian.org/Packages/unstable/text/vh.html</A>.
</DL>
as well as some that use ncurses for the terminfo support alone:
<DL>
<DT> minicom
<DD> terminal emulator
<br>
<A HREF="http://www.pp.clinet.fi/~walker/minicom.html">http://www.pp.clinet.fi/~walker/minicom.html</A>.
<DT> vile
<DD> vi-like-emacs
<br>

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.28 2000/05/28 01:40:18 tom Exp $
# $Id: Makefile.in,v 1.30 2000/08/26 21:51:44 tom Exp $
##############################################################################
# Copyright (c) 1998-2000 Free Software Foundation, Inc. #
# #
@ -46,7 +46,7 @@ SHELL = /bin/sh
THIS = Makefile
MODEL = @DFT_LWR_MODEL@
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -108,7 +108,7 @@ install :: $(AUTO_SRC) $(LIBRARIES)
sources : $(AUTO_SRC)
$(INSTALL_PREFIX)$(libdir) :
$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
# make copies to simplify include-paths while still keeping form's include
@ -127,8 +127,8 @@ FORM_PRIV_H = \
tags:
ctags *.[ch]
TAGS:
etags *.[ch]
@MAKE_UPPER_TAGS@TAGS:
@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace

View File

@ -13,7 +13,7 @@
#include "form.priv.h"
MODULE_ID("$Id: fty_enum.c,v 1.11 2000/03/19 01:09:56 Bruno.Haible Exp $")
MODULE_ID("$Id: fty_enum.c,v 1.13 2000/09/10 00:55:26 juergen Exp $")
typedef struct {
char **kwds;
@ -33,20 +33,21 @@ typedef struct {
static void *Make_Enum_Type(va_list * ap)
{
enumARG *argp = (enumARG *)malloc(sizeof(enumARG));
char **kp;
int cnt=0;
if (argp)
{
int cnt = 0;
char **kp = (char **)0;
int ccase, cunique;
argp->kwds = va_arg(*ap,char **);
ccase = va_arg(*ap,int);
cunique = va_arg(*ap,int);
argp->checkcase = ccase ? TRUE : FALSE;
argp->checkunique = cunique ? TRUE : FALSE;
kp = argp->kwds;
while( (*kp++) ) cnt++;
while( (kp && *kp++) ) cnt++;
argp->count = cnt;
}
return (void *)argp;
@ -62,11 +63,12 @@ static void *Make_Enum_Type(va_list * ap)
+--------------------------------------------------------------------------*/
static void *Copy_Enum_Type(const void * argp)
{
const enumARG *ap = (const enumARG *)argp;
enumARG *result = (enumARG *)0;
if (argp)
{
const enumARG *ap = (const enumARG *)argp;
result = (enumARG *)malloc(sizeof(enumARG));
if (result)
*result = *ap;
@ -165,14 +167,14 @@ static bool Check_Enum_Field(FIELD * field, const void * argp)
char *s, *t, *p;
int res;
while( (s=(*kwds++)) )
while( kwds && (s=(*kwds++)) )
{
if ((res=Compare((unsigned char *)s,bp,ccase))!=NOMATCH)
{
p=t=s; /* t is at least a partial match */
if ((unique && res!=EXACT))
{
while( (p = *kwds++) )
while( kwds && (p = *kwds++) )
{
if ((res=Compare((unsigned char *)p,bp,ccase))!=NOMATCH)
{
@ -218,18 +220,20 @@ static bool Next_Enum(FIELD * field, const void * argp)
int cnt = args->count;
unsigned char *bp = (unsigned char *)field_buffer(field,0);
while(cnt--)
{
if (Compare((unsigned char *)(*kwds++),bp,ccase)==EXACT)
break;
}
if (cnt<=0)
kwds = args->kwds;
if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
{
set_field_buffer(field,0,*kwds);
return TRUE;
}
if (kwds) {
while(cnt--)
{
if (Compare((unsigned char *)(*kwds++),bp,ccase)==EXACT)
break;
}
if (cnt<=0)
kwds = args->kwds;
if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
{
set_field_buffer(field,0,*kwds);
return TRUE;
}
}
return FALSE;
}
@ -252,20 +256,22 @@ static bool Previous_Enum(FIELD * field, const void * argp)
bool ccase = args->checkcase;
unsigned char *bp = (unsigned char *)field_buffer(field,0);
while(cnt--)
{
if (Compare((unsigned char *)(*kwds--),bp,ccase)==EXACT)
break;
}
if (cnt<=0)
kwds = &args->kwds[args->count-1];
if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
{
set_field_buffer(field,0,*kwds);
return TRUE;
}
if (kwds) {
while(cnt--)
{
if (Compare((unsigned char *)(*kwds--),bp,ccase)==EXACT)
break;
}
if (cnt<=0)
kwds = &args->kwds[args->count-1];
if ((cnt>=0) || (Compare((const unsigned char *)dummy,bp,ccase)==EXACT))
{
set_field_buffer(field,0,*kwds);
return TRUE;
}
}
return FALSE;
}

View File

@ -29,7 +29,7 @@
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
# $Id: Caps,v 1.25 1999/11/27 20:13:55 tom Exp $
# $Id: Caps,v 1.28 2000/10/01 02:07:36 tom Exp $
#
# This is the master termcap/terminfo capability table.
#
@ -334,7 +334,7 @@ cursor_down cud1 str do YBCGE down one line
cursor_home home str ho YBCGE home cursor (if no cup)
cursor_invisible civis str vi YB-G- make cursor invisible
cursor_left cub1 str le YBCGE move left one space
cursor_mem_address mrcup str CM YB-G- memory relative cursor addressing
cursor_mem_address mrcup str CM YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll YBCGE last line, first column (if no cup)
@ -454,7 +454,7 @@ set_attributes sgr str sa YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st YB-G- set a tab in every row, current columns
set_window wind str wi -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts YB-G- move to status line
to_status_line tsl str ts YB-G- move to status line, column #1
underline_char uc str uc YBCG- underline char and move past it
up_half_line hu str hu YB-G- half a line up
init_prog iprog str iP -B--- path name of program for initialization
@ -633,10 +633,10 @@ set_background setb str Sb ----- Set background color #1
#
# SVr4 added these capabilities to support printers
#
change_char_pitch cpi str ZA ----- Change number of characters per inch
change_line_pitch lpi str ZB ----- Change number of lines per inch
change_res_horz chr str ZC ----- Change horizontal resolution
change_res_vert cvr str ZD ----- Change vertical resolution
change_char_pitch cpi str ZA ----- Change number of characters per inch to #1
change_line_pitch lpi str ZB ----- Change number of lines per inch to #1
change_res_horz chr str ZC ----- Change horizontal resolution to #1
change_res_vert cvr str ZD ----- Change vertical resolution to #1
define_char defc str ZE ----- Define a character
enter_doublewide_mode swidm str ZF ----- Enter double-wide mode
enter_draft_quality sdrfq str ZG ----- Enter draft-quality mode
@ -661,14 +661,14 @@ micro_column_address mhpa str ZY ----- Like column_address in micro mode
micro_down mcud1 str ZZ ----- Like cursor_down in micro mode
micro_left mcub1 str Za ----- Like cursor_left in micro mode
micro_right mcuf1 str Zb ----- Like cursor_right in micro mode
micro_row_address mvpa str Zc ----- Like row_address in micro mode
micro_row_address mvpa str Zc ----- Like row_address #1 in micro mode
micro_up mcuu1 str Zd ----- Like cursor_up in micro mode
order_of_pins porder str Ze ----- Match software bits to print-head pins
parm_down_micro mcud str Zf ----- Like parm_down_cursor in micro mode
parm_left_micro mcub str Zg ----- Like parm_left_cursor in micro mode
parm_right_micro mcuf str Zh ----- Like parm_right_cursor in micro mode
parm_up_micro mcuu str Zi ----- Like parm_up_cursor in micro mode
select_char_set scs str Zj ----- Select character set
select_char_set scs str Zj ----- Select character set, #1
set_bottom_margin smgb str Zk ----- Set bottom margin at current line
set_bottom_margin_parm smgbp str Zl ----- Set bottom margin at line #1 or #2 lines from bottom
set_left_margin_parm smglp str Zm ----- Set left (right) margin at column #1 (#2)
@ -701,9 +701,9 @@ char_set_names csnm str Zy ----- List of character set names
key_mouse kmous str Km ----- Mouse event has occurred
mouse_info minfo str Mi ----- Mouse status information
req_mouse_pos reqmp str RQ ----- Request mouse position
get_mouse getm str Gm ----- Curses should get button events
set_a_foreground setaf str AF ----- Set foreground color using ANSI escape
set_a_background setab str AB ----- Set background color using ANSI escape
get_mouse getm str Gm ----- Curses should get button events, parameter #1 not documented.
set_a_foreground setaf str AF ----- Set foreground color to #1, using ANSI escape
set_a_background setab str AB ----- Set background color to #1, using ANSI escape
pkey_plab pfxl str xl ----- Program function key #1 to type string #2 and show string #3
device_type devt str dv ----- Indicate language/codeset support
code_set_init csin str ci ----- Init sequence for multiple codesets
@ -724,7 +724,7 @@ set_page_length slines str YZ ----- Set page length to #1 lines
#
# SVr4 added these capabilities for direct PC-clone support
#
display_pc_char dispc str S1 ----- Display PC character
display_pc_char dispc str S1 ----- Display PC character #1
enter_pc_charset_mode smpch str S2 ----- Enter PC character display mode
exit_pc_charset_mode rmpch str S3 ----- Exit PC character display mode
enter_scancode_mode smsc str S4 ----- Enter PC scancode mode

View File

@ -0,0 +1,80 @@
#! /bin/sh
# $Id: MKncurses_def.sh,v 1.1 2000/09/02 17:37:35 tom Exp $
##############################################################################
# Copyright (c) 2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h
#
# Author: Thomas E. Dickey <dickey@herndon4.his.com> 2000
#
# Given the choice between constructs such as
#
# #if defined(foo) && foo
# #if foo
#
# we chose the latter. It is guaranteed by the language standard, and there
# appear to be no broken compilers that do not honor that detail. But some
# people want to use gcc's -Wundef option (corresponding to one of the less
# useful features in Watcom's compiler) to check for misspellings. So we
# generate a set of fallback definitions to quiet the warnings without making
# the code ugly.
#
DEFS="${1-ncurses_defs}"
cat <<EOF
/*
* This file is generated by $0
*/
#ifndef NC_DEFINE_H
#define NC_DEFINE_H 1
EOF
${AWK-awk} <$DEFS '
!/^[@#]/ {
if ( NF == 1 )
{
print "#ifndef", $1
print "#define", $1, "0"
print "#endif"
print ""
} else if ( NF != 0 ) {
print "#ifndef", $1
printf "#define"
for (n = 1; n <= NF; n++) {
printf " %s", $n
}
print ""
print "#endif"
print ""
}
}
END {
print "#endif /* NC_DEFINE_H */"
}
'

View File

@ -1,4 +1,5 @@
#!/bin/sh
# $Id: MKparametrized.sh,v 1.5 2000/10/01 00:57:24 tom Exp $
#
# MKparametrized.sh -- generate indirection vectors for various sort methods
#
@ -10,7 +11,7 @@ cat <<EOF
/*
* parametrized.h --- is a termcap capability parametrized?
*
* Note: this file is generated using parametrized.sh, do not edit by hand.
* Note: this file is generated using MKparametrized.sh, do not edit by hand.
* A value of -1 in the table means suppress both pad and % translations.
* A value of 0 in the table means do pad but not % translations.
* A value of 1 in the table means do both pad and % translations.

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.23 2000/05/28 01:33:52 tom Exp $
# $Id: Makefile.in,v 1.26 2000/09/02 17:53:40 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# #
@ -42,7 +42,7 @@
SHELL = /bin/sh
THIS = Makefile
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -66,6 +66,7 @@ CONFIG_SRC = \
# These files are generated by this makefile
AUTO_SRC = \
hashsize.h \
ncurses_def.h \
parametrized.h \
term.h
@ -82,14 +83,17 @@ term.h: $(srcdir)/Caps MKterm.h.awk
hashsize.h: $(srcdir)/Caps $(srcdir)/MKhashsize.sh
sh $(srcdir)/MKhashsize.sh $(srcdir)/Caps >$@
ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
AWK=$(AWK) sh $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
parametrized.h: $(srcdir)/Caps $(srcdir)/MKparametrized.sh
AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(srcdir)/Caps >$@
tags:
ctags *.[ch]
TAGS:
etags *.[ch]
@MAKE_UPPER_TAGS@TAGS:
@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace

View File

@ -31,7 +31,7 @@
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/* $Id: curses.h.in,v 1.92 2000/04/29 18:52:53 tom Exp $ */
/* $Id: curses.h.in,v 1.96 2000/09/16 16:11:01 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
@ -357,13 +357,13 @@ extern int wresize (WINDOW *, int, int);
* We cannot define these in ncurses_cfg.h, since they require parameters to be
* passed (that's non-portable).
*/
#if GCC_PRINTF
#ifdef GCC_PRINTF
#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
#else
#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
#endif
#if GCC_SCANF
#ifdef GCC_SCANF
#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
#else
#define GCC_SCANFLIKE(fmt,var) /*nothing*/
@ -726,6 +726,8 @@ extern int tigetflag(NCURSES_CONST char *); /* implemented */
extern int tigetnum(NCURSES_CONST char *); /* implemented */
extern char *tigetstr(NCURSES_CONST char *); /* implemented */
extern void timeout(int); /* generated */
extern int touchline(WINDOW *, int, int); /* generated */
extern int touchwin(WINDOW *); /* generated */
extern char *tparm(NCURSES_CONST char *, ...); /* implemented */
extern int typeahead(int); /* implemented */
extern int ungetch(int); /* implemented */
@ -1341,6 +1343,7 @@ extern void trace(const unsigned int);
#define TRACE_ICALLS 0x0200 /* trace internal/nested calls */
#define TRACE_CCALLS 0x0400 /* trace per-character calls */
#define TRACE_DATABASE 0x0800 /* trace read/write of terminfo/termcap data */
#define TRACE_ATTRS 0x1000 /* trace attribute updates */
#define TRACE_MAXIMUM 0xffff /* maximum trace level */
#if defined(TRACE) || defined(NCURSES_TEST)

View File

@ -1,7 +1,7 @@
#!/bin/sh
# $Id: edit_cfg.sh,v 1.9 1998/02/11 12:13:46 tom Exp $
# $Id: edit_cfg.sh,v 1.10 2000/09/09 20:29:58 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@ -28,7 +28,7 @@
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
#
# Edit the default value of the term.h file based on the autoconf-generated
# values:
@ -43,7 +43,6 @@ for name in \
HAVE_TCGETATTR \
HAVE_TERMIOS_H \
HAVE_TERMIO_H \
NCURSES_CONST \
BROKEN_LINKER
do
mv $2 $BAK

View File

@ -30,18 +30,24 @@
* Author: Thomas E. Dickey <dickey@clark.net> 1997 *
****************************************************************************/
/*
* $Id: ncurses_cfg.hin,v 1.2 1998/02/11 12:13:46 tom Exp $
* $Id: ncurses_cfg.hin,v 1.3 2000/09/02 17:13:32 tom Exp $
*
* This is a template-file used to generate the "ncurses_cfg.h" file.
*
* Rather than list every definition, the configuration script substitutes
* the definitions that it finds using 'sed'. You need a patch (971222)
* to autoconf 2.12 to do this.
* Rather than list every definition, the configuration script substitutes the
* definitions that it finds using 'sed'. You need a patch (original date
* 971222) to autoconf 2.12 or 2.13 to do this.
*
* See:
* http://dickey.his.com/autoconf/
* ftp://dickey.his.com/autoconf/
*/
#ifndef NC_CONFIG_H
#define NC_CONFIG_H
@DEFS@
#include <ncurses_def.h>
/* The C compiler may not treat these properly but C++ has to */
#ifdef __cplusplus
#undef const

View File

@ -0,0 +1,151 @@
# $Id: ncurses_defs,v 1.4 2000/10/08 01:04:00 tom Exp $
##############################################################################
# Copyright (c) 2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# See "MKncurses_def.sh" for an explanation.
#
# (hint: don't try to define NDEBUG ;-)
BROKEN_LINKER
BSD_TPUTS
CC_HAS_INLINE_FUNCS
CC_HAS_PROTOS
CPP_HAS_PARAM_INIT
DECL_ERRNO
ETIP_NEEDS_MATH_H
GCC_NORETURN /* nothing */
GCC_UNUSED /* nothing */
HAVE_BIG_CORE
HAVE_BSD_CGETENT
HAVE_BUILTIN_H
HAVE_DIRENT_H
HAVE_ERRNO
HAVE_FCNTL_H
HAVE_FORM_H
HAVE_GETCWD
HAVE_GETEGID
HAVE_GETEUID
HAVE_GETOPT_H
HAVE_GETTIMEOFDAY
HAVE_GETTTYNAM
HAVE_GPP_BUILTIN_H
HAVE_GXX_BUILTIN_H
HAVE_HAS_KEY
HAVE_ISASCII
HAVE_ISSETUGID
HAVE_LIBDBMALLOC
HAVE_LIBDMALLOC
HAVE_LIBFORM
HAVE_LIBGPM
HAVE_LIBMENU
HAVE_LIBPANEL
HAVE_LIMITS_H
HAVE_LINK
HAVE_LOCALE_H
HAVE_LONG_FILE_NAMES
HAVE_MEMCCPY
HAVE_MENU_H
HAVE_MKSTEMP
HAVE_NANOSLEEP
HAVE_NC_ALLOC_H
HAVE_PANEL_H
HAVE_POLL
HAVE_POLL_H
HAVE_REGEXPR_H_FUNCS
HAVE_REGEXP_H_FUNCS
HAVE_REGEX_H_FUNCS
HAVE_REMOVE
HAVE_RESIZETERM
HAVE_SELECT
HAVE_SETBUF
HAVE_SETBUFFER
HAVE_SETVBUF
HAVE_SIGACTION
HAVE_SIGVEC
HAVE_SIZECHANGE
HAVE_STRDUP
HAVE_STRSTR
HAVE_SYMLINK
HAVE_SYS_BSDTYPES_H
HAVE_SYS_IOCTL_H
HAVE_SYS_PARAM_H
HAVE_SYS_POLL_H
HAVE_SYS_SELECT_H
HAVE_SYS_TERMIO_H
HAVE_SYS_TIMES_H
HAVE_SYS_TIME_H
HAVE_SYS_TIME_SELECT
HAVE_TCGETATTR
HAVE_TCGETPGRP
HAVE_TELL
HAVE_TERMIOS_H
HAVE_TERMIO_H
HAVE_TIMES
HAVE_TTYENT_H
HAVE_TYPEINFO
HAVE_TYPE_SIGACTION
HAVE_UNISTD_H
HAVE_UNLINK
HAVE_USE_DEFAULT_COLORS
HAVE_VFSCANF
HAVE_VSNPRINTF
HAVE_VSSCANF
HAVE_WORKING_POLL
HAVE_WRESIZE
MIXEDCASE_FILENAMES
NCURSES_EXPANDED
NCURSES_EXT_FUNCS
NCURSES_NOMACROS
NCURSES_NO_PADDING
NDEBUG
NEED_PTEM_H
NO_LEAKS
PURE_TERMINFO
RETSIGTYPE
STDC_HEADERS
SVR4_ACTION
SVR4_TERMIO
SYSTEM_NAME "unknown"
TERMINFO "none"
TYPEOF_CHTYPE
USE_COLORFGBG
USE_DATABASE
USE_GETCAP
USE_GETCAP_CACHE
USE_HARD_TABS
USE_HASHMAP
USE_LINKS
USE_MY_MEMMOVE
USE_OK_BCOPY
USE_RCS_IDS
USE_SAFE_SPRINTF
USE_SCROLL_HINTS
USE_SIGWINCH
USE_SYMLINKS
USE_WIDEC_SUPPORT
USE_XMC_SUPPORT

View File

@ -31,7 +31,7 @@
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/* $Id: termcap.h.in,v 1.10 1999/01/09 22:38:04 Uchiyama.Yasushi Exp $ */
/* $Id: termcap.h.in,v 1.12 2000/10/08 01:06:37 tom Exp $ */
#ifndef _NCU_TERMCAP_H
#define _NCU_TERMCAP_H 1
@ -45,7 +45,6 @@ extern "C"
#endif /* __cplusplus */
#include <sys/types.h>
@OSPEED_INCLUDES@
#undef NCURSES_CONST
#define NCURSES_CONST @NCURSES_CONST@
@ -53,7 +52,7 @@ extern "C"
extern char PC;
extern char *UP;
extern char *BC;
extern @OSPEED_TYPE@ ospeed;
extern short ospeed;
#if !defined(_NCU_TERM_H)
extern char *tgetstr(NCURSES_CONST char *, char **);

View File

@ -32,9 +32,9 @@
****************************************************************************/
/*
* $Id: tic.h,v 1.35 2000/09/09 19:47:16 tom Exp $
* tic.h - Global variables and structures for the terminfo
* compiler.
*
*/
#ifndef __TIC_H
@ -237,6 +237,9 @@ extern const struct name_table_entry * const *_nc_get_hash_table(bool);
#define TERMINFO "/usr/share/terminfo"
#endif
/* access.c */
extern char *_nc_basename(char *);
/* comp_hash.c: name lookup */
struct name_table_entry const *_nc_find_entry(const char *,
const struct name_table_entry *const *);

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.26 2000/04/01 22:15:22 tom Exp $
# $Id: Makefile.in,v 1.28 2000/08/19 19:15:44 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@ -36,27 +36,25 @@
SHELL = /bin/sh
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datadir = @datadir@
mandir = @mandir@
ticdir = $(datadir)/terminfo
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
all \
sources: terminfo.5
$(INSTALL_PREFIX)$(mandir) :
$(DESTDIR)$(mandir) :
$(srcdir)/../mkinstalldirs $@
EDITARGS = $(INSTALL_PREFIX)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
install install.man : terminfo.5 $(INSTALL_PREFIX)$(mandir)
install install.man : terminfo.5 $(DESTDIR)$(mandir)
sh ./edit_man.sh installing $(EDITARGS)
uninstall uninstall.man :

View File

@ -27,10 +27,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: captoinfo.1m,v 1.14 2000/03/19 02:20:28 tom Exp $
.\" $Id: captoinfo.1m,v 1.16 2000/08/13 01:56:49 tom Exp $
.TH captoinfo 1M ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
.SH SYNOPSIS
@ -178,7 +178,7 @@ You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR.
The trace option isn't identical to SVr4's. Under SVr4, instead of following
the -v with a trace level n, you repeat it n times.
.SH SEE ALSO
\fBcurses\fR(3X), \fBinfocmp\fR(1M), \fBterminfo\fR(\*n)
\fBcurses\fR(3X), \fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n)
.SH AUTHOR
Eric S. Raymond <esr@snark.thyrsus.com>
.\"#

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: clear.1,v 1.2 1998/03/11 21:12:53 juergen Exp $
.\" $Id: clear.1,v 1.3 2000/07/15 23:59:35 china Exp $
.TH clear 1 ""
.ds n 5
.SH NAME
@ -39,7 +39,7 @@
environment for the terminal type and then in the \fBterminfo\fR database to
figure out how to clear the screen.
.SH SEE ALSO
\fBtput\fR(1), \fBterminfo\fR(\*n)
\fB@TPUT@\fR(1), \fBterminfo\fR(\*n)
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:

View File

@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_attr.3x,v 1.21 2000/07/01 16:50:07 tom Exp $
.\" $Id: curs_attr.3x,v 1.22 2000/07/08 11:59:58 tom Exp $
.TH curs_attr 3X ""
.SH NAME
\fBattroff\fR, \fBwattroff\fR, \fBattron\fR, \fBwattron\fR,
@ -38,7 +38,8 @@
\fBattr_on\fR, \fBwattr_on\fR,
\fBattr_set\fR, \fBwattr_set\fR,
\fBchgat\fR, \fBwchgat\fR,
\fBmvchgat\fR, \fBmvwchgat\fR - \fBcurses\fR character and window attribute control routines
\fBmvchgat\fR, \fBmvwchgat\fR,
\fBPAIR_NUMBER\fR - \fBcurses\fR character and window attribute control routines
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,13 +26,17 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_color.3x,v 1.10 1998/03/11 21:12:53 juergen Exp $
.\" $Id: curs_color.3x,v 1.16 2000/07/15 22:57:03 tom Exp $
.TH curs_color 3X ""
.SH NAME
\fBstart_color\fR, \fBinit_pair\fR,
\fBinit_color\fR, \fBhas_colors\fR, \fBcan_change_color\fR,
\fBcolor_content\fR, \fBpair_content\fR - \fBcurses\fR color
manipulation routines
\fBstart_color\fR,
\fBinit_pair\fR,
\fBinit_color\fR,
\fBhas_colors\fR,
\fBcan_change_color\fR,
\fBcolor_content\fR,
\fBpair_content\fR,
\fBCOLOR_PAIR\fR - \fBcurses\fR color manipulation routines
.SH SYNOPSIS
\fB# include <curses.h>\fR
.br
@ -83,13 +87,27 @@ just turned on.
The \fBinit_pair\fR routine changes the definition of a color-pair. It takes
three arguments: the number of the color-pair to be changed, the foreground
color number, and the background color number. The value of the first argument
must be between \fB1\fR and \fBCOLOR_PAIRS-1\fR. The value of the second and
color number, and the background color number.
For portable applications:
.TP 5
-
The value of the first argument
must be between \fB1\fR and \fBCOLOR_PAIRS-1\fR.
.TP 5
-
The value of the second and
third arguments must be between 0 and \fBCOLORS\fR (the 0 color pair is wired
to white on black and cannot be changed). If the color-pair was previously
to white on black and cannot be changed).
.PP
If the color-pair was previously
initialized, the screen is refreshed and all occurrences of that color-pair is
changed to the new definition.
As an extension, ncurses allows you to set color pair 0 via
the \fBassume_default_colors\fR routine, or to specify the use of
default colors (color number \fB-1\fR) if you first invoke the
\fBuse_default_colors\fR routine.
The \fBinit_color\fR routine changes the definition of a color. It takes four
arguments: the number of the color to be changed followed by three RGB values
(for the amounts of red, green, and blue components). The value of the first
@ -160,15 +178,18 @@ the background color used when parts of a window are blanked by erasing or
scrolling operations, see \fBcurs_bkgd\fR(3X).
Several caveats apply on 386 and 486 machines with VGA-compatible graphics:
.TP 5
-
COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW combined with
the \fBA_BOLD\fR attribute.
.TP 5
-
The A_BLINK attribute should in theory cause the background to go bright. This
often fails to work, and even some cards for which it mostly works (such as the
Paradise and compatibles) do the wrong thing when you try to set a bright
"yellow" background (you get a blinking yellow foreground instead).
.TP 5
-
Color RGB values are not settable.
.SH PORTABILITY
This implementation satisfies XSI Curses's minimum maximums
@ -177,11 +198,16 @@ for \fBCOLORS\fR and \fBCOLOR_PAIRS\fR.
The \fBinit_pair\fP routine accepts negative values of foreground
and background color to support the \fBuse_default_colors\fP extension,
but only if that routine has been first invoked.
.PP
The assumption that \fBCOLOR_BLACK\fR is the default
background color for all terminals can be modified using the
\fBassume_default_colors\fP extension,
..
.SH SEE ALSO
\fBcurses\fR(3X),
\fBcurs_initscr\fR(3X),
\fBcurs_attr\fR(3X),
\fBdft_fgbg\fR(3X)
\fBdefault_colors\fR(3X)
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:

View File

@ -28,8 +28,8 @@
.\"
.\" Author: Thomas E. Dickey <dickey@clark.net> 1999
.\"
.\" $Id: curs_extend.3x,v 1.4 2000/07/01 16:43:11 tom Exp $
.TH use_default_colors 3X ""
.\" $Id: curs_extend.3x,v 1.6 2000/07/15 22:57:20 tom Exp $
.TH curs_extend 3X ""
.SH NAME
\fBcurs_extend\fR:
\fBcurses_version\fP,
@ -72,8 +72,8 @@ any code depending on them be conditioned using NCURSES_VERSION.
\fBcurs_getch\fR(3X),
\fBcurs_mouse\fR(3X),
\fBcurs_print\fR(3X),
\fBdefault_colors\fR(3X),
\fBdefine_key\fR(3X),
\fBdft_fgbg\fR(3X),
\fBkeybound\fR(3X),
\fBkeyok\fR(3X),
\fBresizeterm\fR(3X),

View File

@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_initscr.3x,v 1.9 2000/07/01 19:56:51 tom Exp $
.\" $Id: curs_initscr.3x,v 1.10 2000/07/08 12:47:39 tom Exp $
.TH curs_initscr 3X ""
.SH NAME
\fBinitscr\fR,
@ -42,7 +42,7 @@
.br
\fBint endwin(void);\fR
.br
\fBint isendwin(void);\fR
\fBbool isendwin(void);\fR
.br
\fBSCREEN *newterm(const char *type, FILE *outfd, FILE *infd);\fR
.br

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998,1999 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -27,12 +27,13 @@
.\" authorization. *
.\"***************************************************************************
.\"
.'" $Id: curs_mouse.3x,v 1.13 1999/09/11 17:28:28 tom Exp $
.'" $Id: curs_mouse.3x,v 1.15 2000/07/08 12:50:08 tom Exp $
.TH curs_mouse 3X ""
.SH NAME
\fBgetmouse\fR, \fBungetmouse\fR,
\fBmousemask\fR, \fBwenclose\fR,
\fBwmouse_trafo\fR, \fBmouseinterval\fR - mouse interface through curses
\fBmouse_trafo\fR, \fBwmouse_trafo\fR,
\fBmouseinterval\fR - mouse interface through curses
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fR
@ -56,7 +57,11 @@ MEVENT;\fR
.br
\fBbool wenclose(WINDOW *win, int y, int x);\fR
.br
\fBbool wmouse_trafo(const WINDOW* win, int* pY, int* pX, bool to_screen);\fR
\fBbool mouse_trafo(int* pY, int* pX, bool to_screen);\fR
.br
\fBbool wmouse_trafo(const WINDOW* win, int* pY, int* pX,\fR
.br
\fBbool to_screen);\fR
.br
\fBint mouseinterval(int erval);\fR
.br

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,12 +26,11 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_pad.3x,v 1.8 1998/12/26 20:09:03 tom Exp $
.\" $Id: curs_pad.3x,v 1.9 2000/07/04 22:38:13 tom Exp $
.TH curs_pad 3X ""
.SH NAME
\fBnewpad\fR, \fBsubpad\fR, \fBprefresh\fR,
\fBpnoutrefresh\fR, \fBpechochar\fR - create and display \fBcurses\fR
pads
\fBpnoutrefresh\fR, \fBpechochar\fR - create and display \fBcurses\fR pads
.SH SYNOPSIS
\fB#include <curses.h>\fR

View File

@ -26,14 +26,14 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_scanw.3x,v 1.10 2000/07/01 20:06:29 tom Exp $
.\" $Id: curs_scanw.3x,v 1.11 2000/07/15 21:48:17 tom Exp $
.TH curs_scanw 3X ""
.SH NAME
\fBscanw\fR,
\fBwscanw\fR,
\fBmvscanw\fR,
\fBmvwscanw\fR,
\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR widow
\fBvwscanw\fR, \fBvw_scanw\fR - convert formatted input from a \fBcurses\fR window
.SH SYNOPSIS
\fB#include <curses.h>\fR

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_termattrs.3x,v 1.4 1998/03/11 21:12:53 juergen Exp $
.\" $Id: curs_termattrs.3x,v 1.6 2000/07/08 12:53:34 tom Exp $
.TH curs_termattrs 3X ""
.SH NAME
\fBbaudrate\fR, \fBerasechar\fR, \fBhas_ic\fR,
@ -39,9 +39,9 @@
.br
\fBchar erasechar(void);\fR
.br
\fBint has_ic(void);\fR
\fBbool has_ic(void);\fR
.br
\fBint has_il(void);\fR
\fBbool has_il(void);\fR
.br
\fBchar killchar(void);\fR
.br

View File

@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_touch.3x,v 1.7 2000/07/01 20:08:04 tom Exp $
.\" $Id: curs_touch.3x,v 1.8 2000/07/08 11:07:57 tom Exp $
.TH curs_touch 3X ""
.SH NAME
\fBtouchwin\fR,
@ -46,9 +46,9 @@
.br
\fBint wtouchln(WINDOW *win, int y, int n, int changed);\fR
.br
\fBint is_linetouched(WINDOW *win, int line);\fR
\fBbool is_linetouched(WINDOW *win, int line);\fR
.br
\fBint is_wintouched(WINDOW *win);\fR
\fBbool is_wintouched(WINDOW *win);\fR
.br
.SH DESCRIPTION
The \fBtouchwin\fR and \fBtouchline\fR routines throw away all

View File

@ -0,0 +1,150 @@
.\"***************************************************************************
.\" Copyright (c) 2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" "Software"), to deal in the Software without restriction, including *
.\" without limitation the rights to use, copy, modify, merge, publish, *
.\" distribute, distribute with modifications, sublicense, and/or sell *
.\" copies of the Software, and to permit persons to whom the Software is *
.\" furnished to do so, subject to the following conditions: *
.\" *
.\" The above copyright notice and this permission notice shall be included *
.\" in all copies or substantial portions of the Software. *
.\" *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
.\" *
.\" Except as contained in this notice, the name(s) of the above copyright *
.\" holders shall not be used in advertising or otherwise to promote the *
.\" sale, use or other dealings in this Software without prior written *
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_trace.3x,v 1.3 2000/07/29 16:34:24 tom Exp $
.TH curs_trace 3X ""
.SH NAME
\fB_tracef\fR,
\fB_tracedump\fR,
\fB_traceattr\fR,
\fB_traceattr2\fR,
\fB_nc_tracebits\fR,
\fB_tracechar\fR,
\fB_tracechtype\fR,
\fB_tracechtype2\fR,
\fB_tracemouse\fR,
\fBtrace\fR - \fBcurses\fR debugging routines
.SH SYNOPSIS
\fB#include <curses.h>\fR
.br
\fBvoid _tracef(const char *format, ...);\fR
.br
\fBvoid _tracedump(const char *label, WINDOW *win);\fR
.br
\fBchar *_traceattr(attr_t attr);\fR
.br
\fBchar *_traceattr2(int buffer, chtype ch);\fR
.br
\fBchar *_nc_tracebits(void);\fR
.br
\fBchar *_tracechar(const unsigned char ch);\fR
.br
\fBchar *_tracechtype(chtype ch);\fR
.br
\fBchar *_tracechtype2(int buffer, chtype ch);\fR
.br
\fBchar *_tracemouse(const MEVENT *event);\fR
.br
\fBvoid trace(const unsigned int param);\fR
.SH DESCRIPTION
The \fBtrace\fR routines are used for debugging the ncurses libraries,
as well as applications which use the ncurses libraries.
These functions are normally available only with the debugging library
\fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
profile) by defining the symbol \fBTRACE\fR.
The principal parts of this interface are the \fBtrace\fR routine which
selectively enables different tracing features, and the \fB_tracef\fR
routine which writes formatted data to the \fItrace\fR file.
Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
in the current directory for output. The parameter is formed by OR'ing
values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB<curses.h>\fR.
These include:
.TP 5
TRACE_DISABLE
turn off tracing.
.TP 5
TRACE_TIMES
trace user and system times of updates.
.TP 5
TRACE_TPUTS
trace tputs calls.
.TP 5
TRACE_UPDATE
trace update actions, old & new screens.
.TP 5
TRACE_MOVE
trace cursor movement and scrolling.
.TP 5
TRACE_CHARPUT
trace all character outputs.
.TP 5
TRACE_ORDINARY
trace all update actions.
The old and new screen contents are written to the trace file
for each refresh.
.TP 5
TRACE_CALLS
trace all curses calls.
The parameters for each call are traced, as well as return values.
.TP 5
TRACE_VIRTPUT
trace virtual character puts, i.e., calls to \fBaddch\fR.
.TP 5
TRACE_IEVENT
trace low-level input processing, including timeouts.
.TP 5
TRACE_BITS
trace state of TTY control bits.
.TP 5
TRACE_ICALLS
trace internal/nested calls.
.TP 5
TRACE_CCALLS
trace per-character calls.
.TP 5
TRACE_DATABASE
trace read/write of terminfo/termcap data.
.TP 5
TRACE_ATTRS
trace changes to video attributes and colors.
.TP 5
TRACE_MAXIMUM
maximum trace level, enables all of the separate trace features.
Some tracing features are enabled whenever the \fBtrace\fR parameter
is nonzero. Some features overlap.
The specific names are used as a guideline.
..
.SH RETURN VALUE
Routines which return a value are designed to be used as parameters
to the \fB_tracef\fR routine.
.SH PORTABILITY
These functions are not part of the XSI interface.
Some other curses implementations are known to
have similar, undocumented features,
but they are not compatible with ncurses.
.SH SEE ALSO
\fBcurses\fR(3X).
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:
.\"# mode:nroff
.\"# fill-column:79
.\"# End:

View File

@ -0,0 +1,133 @@
.\"***************************************************************************
.\" Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" "Software"), to deal in the Software without restriction, including *
.\" without limitation the rights to use, copy, modify, merge, publish, *
.\" distribute, distribute with modifications, sublicense, and/or sell *
.\" copies of the Software, and to permit persons to whom the Software is *
.\" furnished to do so, subject to the following conditions: *
.\" *
.\" The above copyright notice and this permission notice shall be included *
.\" in all copies or substantial portions of the Software. *
.\" *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
.\" *
.\" Except as contained in this notice, the name(s) of the above copyright *
.\" holders shall not be used in advertising or otherwise to promote the *
.\" sale, use or other dealings in this Software without prior written *
.\" authorization. *
.\"***************************************************************************
.\"
.\" Author: Thomas E. Dickey <dickey@clark.net> 1997,1999,2000
.\"
.\" $Id: default_colors.3x,v 1.13 2000/07/15 22:06:50 tom Exp $
.TH default_colors 3X ""
.SH NAME
\fBdefault_colors\fR:
\fBuse_default_colors\fR,
\fBassume_default_colors\fR \- use terminal's default colors
..
.SH SYNOPSIS
\fB#include <curses.h>\fP
\fBint use_default_colors(void);\fP
.br
\fBint assume_default_colors(int fg, int bg);\fP
..
.SH DESCRIPTION
The
.I use_default_colors()
and
.I assume_default_colors()
functions are extensions to the curses library.
They are used with terminals that support ISO 6429 color, or equivalent.
These terminals allow the application to reset color to an unspecified
default value (e.g., with SGR 39 or SGR 49).
.PP
Applications that paint a colored background over the whole screen
do not take advantage of SGR 39 and SGR 49.
Some applications are designed to work with the default background,
using colors only for text.
For example, there are several implementations of the \fBls\fP program
which use colors to denote different file types or permissions.
These "color ls" programs do not necessarily modify the background color,
typically using only the \fIsetaf\fP terminfo capability to set the
foreground color.
Full-screen applications that use default colors can achieve similar
visual effects.
.PP
The first function,
.I use_default_colors()
tells the curses library to assign terminal default
foreground/background colors to color number -1. So init_pair(x,COLOR_RED,-1)
will initialize pair x as red on default background and init_pair(x,-1,COLOR_BLUE) will
initialize pair x as default foreground on blue.
.PP
The other,
.I assume_default_colors()
is a refinement which tells which colors to paint for color pair 0.
This function recognizes a special color number -1,
which denotes the default terminal color.
.PP
The following are equivalent:
.RS
.br
.I use_default_colors();
.br
.I assume_default_colors(-1,-1);
.RE
.PP
These are ncurses extensions.
For other curses implementations, color
number -1 does not mean anything, just as for ncurses before a
successful call of \fIuse_default_colors()\fP or \fIassume_default_colors()\fP.
.PP
Other curses implementations do not allow an application to modify color pair 0.
They assume that the background is COLOR_BLACK,
but do not ensure that the color pair 0 is painted to match the
assumption.
If your application does not use either
.I use_default_colors()
or
.I assume_default_colors()
ncurses will paint a white foreground (text) with black background
for color pair 0.
..
.SH RETURN VALUE
These functions return the integer \fBERR\fP upon failure and \fBOK\fP on success.
They will fail if either the terminal does not support
the \fIorig_pair\fP or \fIorig_colors\fP capability.
If the \fIinitialize_pair\fP capability is found, this causes an
error as well.
..
.SH NOTES
Associated with this extension, the \fBinit_pair\fR(3X) function accepts
negative arguments to specify default foreground or background
colors.
..
.SH PORTABILITY
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that
any code depending on them be conditioned using NCURSES_VERSION.
..
.SH SEE ALSO
\fBcurs_color\fR(3X),
\fBded\fP(1).
..
.SH AUTHOR
Thomas Dickey (from an analysis of the requirements for color xterm
for XFree86 3.1.2C, February 1996).
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:
.\"# mode:nroff
.\"# fill-column:79
.\"# End:

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: form_fieldtype.3x,v 1.7 1998/11/29 01:07:16 Rick.Ohnemus Exp $
.TH form_field 3X ""
.\" $Id: form_fieldtype.3x,v 1.8 2000/07/15 22:02:03 tom Exp $
.TH form_fieldtype 3X ""
.SH NAME
\fBform_fieldtype\fR - define validation-field types
.SH SYNOPSIS

View File

@ -27,10 +27,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: infocmp.1m,v 1.25 2000/06/11 02:08:16 tom Exp $
.\" $Id: infocmp.1m,v 1.27 2000/08/19 18:51:05 tom Exp $
.TH infocmp 1M ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
.SH SYNOPSIS
@ -171,7 +171,7 @@ were not needed.
The location of the compiled \fBterminfo\fR database is taken from the
environment variable \fBTERMINFO\fR . If the variable is not defined, or the
terminal is not found in that location, the system \fBterminfo\fR database,
in \fB@DATADIR@/terminfo\fR, will be used. The options \fB-A\fR
in \fB@TERMINFO@\fR, will be used. The options \fB-A\fR
and \fB-B\fR may be used to override this location. The \fB-A\fR option will
set \fBTERMINFO\fR for the first \fItermname\fR and the \fB-B\fR option will
set \fBTERMINFO\fR for the other \fItermnames\fR. With this, it is possible to
@ -245,7 +245,7 @@ This is mainly useful for testing and analysis, since the compiled
descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
.TP 5
\fB-V\fR
prints out the version of the program in use on standard error and exits.
reports the version of ncurses which was used in this program, and exits.
.TP 5
\fB-e\fR
Dump the capabilities of the given terminal as a C initializer for a
@ -347,6 +347,7 @@ The
\fB-G\fR,
\fB-R\fR,
\fB-T\fR,
\fB-V\fR,
\fB-a\fR,
\fB-e\fR,
\fB-f\fR,

View File

@ -27,10 +27,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: infotocap.1m,v 1.2 2000/03/19 02:19:49 tom Exp $
.\" $Id: infotocap.1m,v 1.3 2000/08/13 01:56:03 tom Exp $
.TH infotocap 1M ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
.SH SYNOPSIS

View File

@ -1,4 +1,4 @@
# $Id: man_db.renames,v 0.18 2000/03/19 00:10:15 tom Exp $
# $Id: man_db.renames,v 0.20 2000/07/15 22:58:35 tom Exp $
# Manual-page renamings for the man_db program
#
captoinfo.1m captoinfo.1
@ -42,11 +42,12 @@ curs_termattrs.3x termattrs.3ncurses
curs_termcap.3x termcap.3ncurses
curs_terminfo.3x terminfo.3ncurses
curs_touch.3x touch.3ncurses
curs_trace.3x trace.3ncurses
curs_util.3x util.3ncurses
curs_window.3x window.3ncurses
curses.3x ncurses.3ncurses
default_colors.3x default_colors.3ncurses
define_key.3x define_key.3ncurses
dft_fgbg.3x use_default_colors.3ncurses
form.3x form.3form
form_cursor.3x cursor.3form
form_data.3x data.3form
@ -75,7 +76,7 @@ infotocap.1m infotocap.1
keybound.3x keybound.3ncurses
keyok.3x keyok.3ncurses
menu.3x menu.3menu
menu_attribs.3x attribs.3menu
menu_attributes.3x attributes.3menu
menu_cursor.3x cursor.3menu
menu_driver.3x driver.3menu
menu_format.3x format.3menu

View File

@ -1,4 +1,4 @@
# $Id: manlinks.sed,v 1.7 2000/07/01 19:50:06 tom Exp $
# $Id: manlinks.sed,v 1.9 2000/09/30 23:32:24 tom Exp $
##############################################################################
# Copyright (c) 2000 Free Software Foundation, Inc. #
# #
@ -53,11 +53,11 @@ s/\\-.*/ -/
s/ /\
/g
}
:syn
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
/^#/d
/^[^(]*$/d
s/^\([^ (]\+ [*]*\)\+//g
s/^\([^ (]* [^ (]* [*]*\)//g
s/^\([^ (]* [*]*\)//g
s/\.SH_(/.SH_/
s/(.*//
s/\.SH_/.SH_(/

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: menu.3x,v 1.13 1998/11/29 01:09:07 Rick.Ohnemus Exp $
.\" $Id: menu.3x,v 1.14 2000/07/15 22:55:59 tom Exp $
.TH menu 3X ""
.SH NAME
\fBmenu\fR - curses extension for programming menus
@ -77,18 +77,18 @@ item_term \fBmenu_hook\fR(3X)
item_userptr \fBmitem_userptr\fR(3X)
item_value \fBmitem_value\fR(3X)
item_visible \fBmitem_visible\fR(3X)
menu_back \fBmenu_attribs\fR(3X)
menu_back \fBmenu_attributes\fR(3X)
menu_driver \fBmenu_driver\fR(3X)
menu_fore \fBmenu_attribs\fR(3X)
menu_fore \fBmenu_attributes\fR(3X)
menu_format \fBmenu_format\fR(3X)
menu_grey \fBmenu_attribs\fR(3X)
menu_grey \fBmenu_attributes\fR(3X)
menu_init \fBmenu_hook\fR(3X)
menu_items \fBmenu_items\fR(3X)
menu_mark \fBmenu_mark\fR(3X)
menu_opts \fBmenu_opts\fR(3X)
menu_opts_off \fBmenu_opts\fR(3X)
menu_opts_on \fBmenu_opts\fR(3X)
menu_pad \fBmenu_attribs\fR(3X)
menu_pad \fBmenu_attributes\fR(3X)
menu_pattern \fBmenu_pattern\fR(3X)
menu_request_by_name \fBmenu_requestname\fR(3X)
menu_request_name \fBmenu_requestname\fR(3X)
@ -108,15 +108,15 @@ set_item_opts \fBmitem_opts\fR(3X)
set_item_term \fBmenu_hook\fR(3X)
set_item_userptr \fBmitem_userptr\fR(3X)
set_item_value \fBmitem_value\fR(3X)
set_menu_back \fBmenu_attribs\fR(3X)
set_menu_fore \fBmenu_attribs\fR(3X)
set_menu_back \fBmenu_attributes\fR(3X)
set_menu_fore \fBmenu_attributes\fR(3X)
set_menu_format \fBmenu_format\fR(3X)
set_menu_grey \fBmenu_attribs\fR(3X)
set_menu_grey \fBmenu_attributes\fR(3X)
set_menu_init \fBmenu_hook\fR(3X)
set_menu_items \fBmenu_items\fR(3X)
set_menu_mark \fBmenu_mark\fR(3X)
set_menu_opts \fBmitem_opts\fR(3X)
set_menu_pad \fBmenu_attribs\fR(3X)
set_menu_pad \fBmenu_attributes\fR(3X)
set_menu_pattern \fBmenu_pattern\fR(3X)
set_menu_spacing \fBmenu_spacing\fR(3X)
set_menu_sub \fBmenu_win\fR(3X)

View File

@ -0,0 +1,100 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
.\" "Software"), to deal in the Software without restriction, including *
.\" without limitation the rights to use, copy, modify, merge, publish, *
.\" distribute, distribute with modifications, sublicense, and/or sell *
.\" copies of the Software, and to permit persons to whom the Software is *
.\" furnished to do so, subject to the following conditions: *
.\" *
.\" The above copyright notice and this permission notice shall be included *
.\" in all copies or substantial portions of the Software. *
.\" *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
.\" *
.\" Except as contained in this notice, the name(s) of the above copyright *
.\" holders shall not be used in advertising or otherwise to promote the *
.\" sale, use or other dealings in this Software without prior written *
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: menu_attributes.3x,v 1.6 1998/11/29 01:09:20 Rick.Ohnemus Exp $
.TH menu_attributes 3X ""
.SH NAME
\fBmenu_attributes\fR - color and attribute control for menus
.SH SYNOPSIS
\fB#include <menu.h>\fR
.br
int set_menu_fore(MENU *menu, chtype attr);
.br
chtype menu_fore(const MENU *menu);
.br
int set_menu_back(MENU *menu, chtype attr);
.br
chtype menu_back(const MENU *menu);
.br
int set_menu_grey(MENU *menu, chtype attr);
.br
chtype menu_grey(const MENU *menu);
.br
int set_menu_pad(MENU *menu, int pad);
.br
int menu_pad(const MENU *menu);
.br
.SH DESCRIPTION
The function \fBset_menu_fore\fR sets the foreground attribute of
\fImenu\fR. This is the highlight used for selected menu items.
\fBmenu_fore\fR returns the foreground attribute. The default
is \fBA_STANDOUT\fR.
The function \fBset_menu_back\fR sets the background attribute of
\fImenu\fR. This is the highlight used for selectable (but not currently
selected) menu items. The function \fBmenu_back\fR returns the background
attribute. The default is \fBA_NORMAL\fR.
The function \fBset_menu_grey\fR sets the grey attribute of \fImenu\fR. This is
the highlight used for un-selectable menu items in menus that permit more than
one selection. The function \fBmenu_grey\fR returns the grey attribute.
The default is \fBA_UNDERLINE\fR.
The function \fBset_menu_pad\fR sets the character used to fill the space
between the name and description parts of a menu item. \fBmenu_pad\fR returns
the given menu's pad character. The default is a blank.
.SH RETURN VALUE
These routines return one of the following:
.TP 5
\fBE_OK\fR
The routine succeeded.
.TP 5
\fBE_SYSTEM_ERROR\fR
System error occurred (see \fBerrno\fR).
.TP 5
\fBE_BAD_ARGUMENT\fR
Routine detected an incorrect or out-of-range argument.
.SH SEE ALSO
\fBcurses\fR(3X) and 3X pages whose names begin "menu_" for detailed
descriptions of the entry points.
.SH NOTES
The header file \fB<menu.h>\fR automatically includes the header file
\fB<curses.h>\fR.
.SH PORTABILITY
These routines emulate the System V menu library. They were not supported on
Version 7 or BSD versions.
.SH AUTHORS
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
S. Raymond.
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:
.\"# mode:nroff
.\"# fill-column:79
.\"# End:

View File

@ -27,11 +27,11 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: ncurses.3x,v 1.39 1999/12/19 01:53:04 tom Exp $
.\" $Id: ncurses.3x,v 1.44 2000/10/08 01:39:26 tom Exp $
.hy 0
.TH ncurses 3X ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBncurses\fR - CRT screen handling and optimization package
.SH SYNOPSIS
@ -198,12 +198,23 @@ l l
l l .
\fBcurses\fR Routine Name/Manual Page Name
=
COLOR_PAIR/\fBcurs_color\fR(3X)
PAIR_NUMBER/\fBcurs_attr\fR(3X)
_nc_tracebits/\fBcurs_trace\fR(3X)*
_traceattr/\fBcurs_trace\fR(3X)*
_traceattr2/\fBcurs_trace\fR(3X)*
_tracechar/\fBcurs_trace\fR(3X)*
_tracechtype/\fBcurs_trace\fR(3X)*
_tracechtype2/\fBcurs_trace\fR(3X)*
_tracedump/\fBcurs_trace\fR(3X)*
_tracef/\fBcurs_trace\fR(3X)*
_tracemouse/\fBcurs_trace\fR(3X)*
addch/\fBcurs_addch\fR(3X)
addchnstr/\fBcurs_addchstr\fR(3X)
addchstr/\fBcurs_addchstr\fR(3X)
addnstr/\fBcurs_addstr\fR(3X)
addstr/\fBcurs_addstr\fR(3X)
assume_default_colors/\fBdft_fgbg\fR(3X)*
assume_default_colors/\fBdefault_colors\fR(3X)*
attr_get/\fBcurs_attr\fR(3X)
attr_off/\fBcurs_attr\fR(3X)
attr_on/\fBcurs_attr\fR(3X)
@ -295,6 +306,7 @@ leaveok/\fBcurs_outopts\fR(3X)
longname/\fBcurs_termattrs\fR(3X)
mcprint/\fBcurs_print\fR(3X)*
meta/\fBcurs_inopts\fR(3X)
mouse_trafo/\fBcurs_mouse\fR(3X)*
mouseinterval/\fBcurs_mouse\fR(3X)*
mousemask/\fBcurs_mouse\fR(3X)*
move/\fBcurs_move\fR(3X)
@ -321,6 +333,7 @@ mvinsstr/\fBcurs_insstr\fR(3X)
mvinstr/\fBcurs_instr\fR(3X)
mvprintw/\fBcurs_printw\fR(3X)
mvscanw/\fBcurs_scanw\fR(3X)
mvvline/\fBcurs_border\fR(3X)
mvwaddch/\fBcurs_addch\fR(3X)
mvwaddchnstr/\fBcurs_addchstr\fR(3X)
mvwaddchstr/\fBcurs_addchstr\fR(3X)
@ -428,12 +441,13 @@ touchwin/\fBcurs_touch\fR(3X)
tparm/\fBcurs_terminfo\fR(3X)
tputs/\fBcurs_termcap\fR(3X)
tputs/\fBcurs_terminfo\fR(3X)
trace/\fBcurs_trace\fR(3X)*
typeahead/\fBcurs_inopts\fR(3X)
unctrl/\fBcurs_util\fR(3X)
ungetch/\fBcurs_getch\fR(3X)
ungetmouse/\fBcurs_mouse\fR(3X)*
untouchwin/\fBcurs_touch\fR(3X)
use_default_colors/\fBdft_fgbg\fR(3X)*
use_default_colors/\fBdefault_colors\fR(3X)*
use_env/\fBcurs_util\fR(3X)
use_extended_names/\fBcurs_extend\fR(3X)*
vidattr/\fBcurs_terminfo\fR(3X)
@ -680,7 +694,7 @@ directories listed in the TERMINFO_DIRS symbol
-
one or more directories whose names are configured and compiled into the
ncurses library, e.g.,
@DATADIR@/terminfo
@TERMINFO@
.RE
.TP 5
TERMINFO_DIRS
@ -695,11 +709,16 @@ the TERMPATH symbol.
This is a list of filenames separated by colons (i.e., ":").
If the TERMPATH symbol is not set, \fBncurses\fR looks in the files
/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap, in that order.
.PP
The library may be configured to disregard the following variables when the
current user is the superuser (root), or if the application uses setuid or
setgid permissions:
$TERMINFO, $TERMINFO_DIRS, $TERMPATH, as well as $HOME.
.SH FILES
.TP 5
@DATADIR@/tabset
directory containing initialization files for the terminal capability database
@DATADIR@/terminfo
@TERMINFO@
terminal capability database
.SH SEE ALSO
\fBterminfo\fR(\*n) and 3X pages whose names begin "curs_" for detailed routine

View File

@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: panel.3x,v 1.9 1998/03/11 21:12:53 juergen Exp $
.\" $Id: panel.3x,v 1.10 2000/08/13 01:56:47 tom Exp $
.TH panel 3X ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
panel - panel stack extension for curses
.SH SYNOPSIS

View File

@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: term.5,v 1.9 1998/03/11 21:12:53 juergen Exp $
.\" $Id: term.5,v 1.10 2000/08/13 01:56:45 tom Exp $
.TH TERM 5
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
term \- format of compiled term file.
.SH SYNOPSIS

View File

@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: term.7,v 1.11 1999/01/24 02:35:14 Todd.Miller Exp $
.\" $Id: term.7,v 1.12 2000/08/13 01:56:42 tom Exp $
.TH TERM 7
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
term \- conventions for naming terminal types
.SH DESCRIPTION

View File

@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: terminfo.head,v 1.8 1998/03/11 21:12:53 juergen Exp $
.\" $Id: terminfo.head,v 1.9 2000/08/13 01:56:40 tom Exp $
.TH TERMINFO 5 "" "" "File Formats"
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
terminfo \- terminal capability data base
.SH SYNOPSIS

View File

@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: tic.1m,v 1.26 2000/03/19 02:18:18 tom Exp $
.\" $Id: tic.1m,v 1.29 2000/08/19 18:51:05 tom Exp $
.TH tic 1M ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBtic\fR - the \fIterminfo\fR entry-description compiler
.SH SYNOPSIS
@ -41,6 +41,7 @@ I\
N\
R\
T\
V\
a\
c\
f\
@ -147,6 +148,9 @@ eliminates size-restrictions on the generated text.
This is mainly useful for testing and analysis, since the compiled
descriptions are limited (e.g., 1023 for termcap, 4096 for terminfo).
.TP
\fB-V\fR
reports the version of ncurses which was used in this program, and exits.
.TP
\fB-r\fR
Force entry resolution (so there are no remaining tc capabilities) even
when doing translation to termcap format. This may be needed if you are
@ -267,6 +271,7 @@ The
\fB-N\fR,
\fB-R\fR,
\fB-T\fR,
\fB-V\fR,
\fB-a\fR,
\fB-e\fR,
\fB-f\fR,
@ -286,8 +291,8 @@ System V does not compile entries to or read entries from your
\fB\*d/?/*\fR
Compiled terminal description database.
.SH SEE ALSO
\fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M), \fBtoe\fR(1M),
\fBcurses\fR(3X), \fBterminfo\fR(\*n).
\fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M), \fB@INFOTOCAP@\fR(1M),
\fB@TOE@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n).
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,10 +26,10 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: toe.1m,v 1.7 1998/03/11 21:12:53 juergen Exp $
.\" $Id: toe.1m,v 1.10 2000/08/19 18:51:05 tom Exp $
.TH toe 1M ""
.ds n 5
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.SH NAME
\fBtoe\fR - table of (terminfo) entries
.SH SYNOPSIS
@ -65,14 +65,14 @@ information showing \fBtoe\fR's progress. The optional integer
\fIn\fR is a number from 1 to 10, interpreted as for \fBtic\fR(1).
.TP 5
\fB-V\fR
prints out the version of the program in use on standard error and exits.
reports the version of ncurses which was used in this program, and exits.
.SH FILES
.TP 5
\fB\*d/?/*\fR
Compiled terminal description database.
.SH SEE ALSO
\fBtic\fR(1M), \fBinfocmp\fR(1M), \fBcaptoinfo\fR(1M), \fBinfotocap\fR(1M),
\fBcurses\fR(3X), \fBterminfo\fR(\*n).
\fB@TIC@\fR(1M), \fB@INFOCMP@\fR(1M), \fB@CAPTOINFO@\fR(1M),
\fB@INFOTOCAP@\fR(1M), \fBcurses\fR(3X), \fBterminfo\fR(\*n).
.\"#
.\"# The following sets edit modes for GNU EMACS
.\"# Local Variables:

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -27,12 +27,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: tput.1,v 1.12 1999/01/24 02:44:26 Jeffrey.C.Honig Exp $
.\" $Id: tput.1,v 1.16 2000/09/09 20:43:33 tom Exp $
.TH tput 1 ""
.ds d @DATADIR@/terminfo
.ds d @TERMINFO@
.ds n 5
.SH NAME
\fBtput\fR - initialize a terminal or query terminfo database
\fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
.SH SYNOPSIS
\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
.br
@ -44,6 +44,8 @@
.br
\fBtput -S\fR \fB<<\fR
.br
\fBtput -V\fR
.br
.SH DESCRIPTION
The \fBtput\fR utility uses the \fBterminfo\fR database to make the
values of terminal-dependent capabilities and information available to
@ -85,6 +87,9 @@ instead of from the command line (see example). Only one
meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
EXIT CODES section).
.TP
\fB-V\fR
reports the version of ncurses which was used in this program, and exits.
.TP
\fBinit\fR
If the \fBterminfo\fR database is present and an entry for the user's
terminal exists (see \fB-T\fR\fItype\fR, above), the following will
@ -110,6 +115,10 @@ user's terminal exists (see \fB-T\fR\fItype\fR above), then the long name
of the terminal will be put out. The long name is the last
name in the first line of the terminal's description in the
\fBterminfo\fR database [see \fBterm\fR(5)].
.PP
If \fBtput\fR is invoked by a link named \fBreset\fR, this has the
same effect as \fBtput reset\fR.
See \fBtset\fR for comparison, which has similar behavior.
.SH EXAMPLES
.TP 5
\fBtput init\fR
@ -153,7 +162,8 @@ Send the sequence to move the cursor to row 23, column 4.
Print the long name from the \fBterminfo\fR database for the
type of terminal specified in the environmental
variable \fBTERM\fR.
.TP 0
.PP
.RS 5
\fBtput -S <<!\fR
.br
\fB> clear\fR
@ -163,6 +173,7 @@ variable \fBTERM\fR.
\fB> bold\fR
.br
\fB> !\fR
.RE
.TP 5
\&
This example shows tput processing several capabilities in one
@ -187,47 +198,51 @@ sequences that set margins and tabs); for more
information, see the "Tabs and Initialization"
section of \fBterminfo\fR(4)
.SH SEE ALSO
\fBclear\fR(1), \fBstty\fR(1), \fBtabs\fR(\*n). \fBprofile\fR(\*n),
\fB@CLEAR@\fR(1), \fBstty\fR(1), \fBtabs\fR(\*n). \fBprofile\fR(\*n),
\fBterminfo\fR(4) in the \fISystem\fR \fIAdministrator\fR'\fIs\fR
\fIReference\fR \fIManual\fR. Chapter 10 of the
\fIProgrammer\fR'\fIs\fR \fIGuide\fR.
.SH EXIT CODES
If \fIcapname\fR is of type boolean, a value of \fB0\fR is set for
TRUE and \fB1\fR for FALSE unless the \fB-S\fR option is used.
.PP
If \fIcapname\fR is of type string, a value of \fB0\fR is set if the
\fIcapname\fR is defined for this terminal \fItype\fR (the value of
\fIcapname\fR is returned on standard output); a value of \fB1\fR is
set if \fIcapname\fR is not defined for this terminal \fItype\fR (a
null value is returned on standard output).
.PP
If \fIcapname\fR is of type boolean or string and the \fB-S\fR option
is used, a value of \fB0\fR is returned to indicate that all lines
were successful. No indication of which line failed can be given so
exit code \fB1\fR will never appear. Exit codes \fB2\fR, \fB3\fR, and
\fB4\fR retain their usual interpretation.
.PP
If \fIcapname\fR is of type integer, a value of \fB0\fR is always set,
whether or not \fIcapname\fR is defined for this terminal \fItype\fR.
To determine if \fIcapname\fR is defined for this terminal \fItype\fR,
the user must test the value of standard output. A value of \fB-1\fR
means that \fIcapname\fR is not defined for this terminal \fItype\fR.
.PP
Any other exit code indicates an error; see the DIAGNOSTICS section.
.SH DIAGNOSTICS
\fBtput\fR prints the following error messages and sets the corresponding exit
codes.
.PP
.TS
l l.
exit code error message
\fB0\fR (\fIcapname\fR is a numeric variable that is not specified in the
\fBterminfo\fR(\*n) database for this terminal type, e.g.
\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
=
\fB0\fR T{
(\fIcapname\fR is a numeric variable that is not specified in the
\fBterminfo\fR(\*n) database for this terminal type, e.g.
\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR)
T}
\fB1\fR no error message is printed, see the \fBEXIT CODES\fR section.
\fB2\fR usage error
\fB3\fR unknown terminal \fItype\fR or no \fBterminfo\fR database
\fB4\fR unknown \fBterminfo\fR capability \fIcapname\fR
=
.TE
.SH PORTABILITY
The \fBlongname\fR and \fB-S\fR options, and the parameter-substitution

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998 Free Software Foundation, Inc. *
.\" Copyright (c) 1998,2000 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" copy of this software and associated documentation files (the *
@ -26,14 +26,14 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: tset.1,v 1.8 1998/12/26 01:44:41 tom Exp $
.\" $Id: tset.1,v 1.12 2000/09/09 20:33:07 tom Exp $
.TH tset 1 ""
.SH NAME
\fBtset\fR - terminal initialization
\fBtset\fR, \fBreset\fR - terminal initialization
.SH SYNOPSIS
tset [-IQqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
.br
reset [-IQqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
.SH DESCRIPTION
\&\fBTset\fR initializes terminals.
\fBTset\fR first determines the type of terminal that you are using.
@ -92,6 +92,12 @@ Set the erase character to \fIch\fR.
-I
Do not send the terminal or tab initialization strings to the terminal.
.TP 5
-Q
Don't display any values for the erase, interrupt and line kill characters.
.TP
\fB-V\fR
reports the version of ncurses which was used in this program, and exits.
.TP 5
-i
Set the interrupt character to \fIch\fR.
.TP 5
@ -102,9 +108,6 @@ Set the line kill character to \fIch\fR.
Specify a mapping from a port type to a terminal.
See below for more information.
.TP 5
-Q
Don't display any values for the erase, interrupt and line kill characters.
.TP 5
-r
Print the terminal type to the standard error output.
.TP 5
@ -228,7 +231,7 @@ environment variables.
/etc/ttys
system port name to terminal type mapping database (BSD versions only).
.TP 5
@DATADIR@/terminfo
@TERMINFO@
terminal capability database
.SH SEE ALSO
csh(1),

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.28 2000/05/28 01:40:08 tom Exp $
# $Id: Makefile.in,v 1.30 2000/08/26 21:51:35 tom Exp $
##############################################################################
# Copyright (c) 1998-2000 Free Software Foundation, Inc. #
# #
@ -46,7 +46,7 @@ SHELL = /bin/sh
THIS = Makefile
MODEL = @DFT_LWR_MODEL@
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -111,7 +111,7 @@ install :: $(AUTO_SRC) $(LIBRARIES)
sources : $(AUTO_SRC)
$(INSTALL_PREFIX)$(libdir) :
$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
# make copies to simplify include-paths while still keeping menu's include
@ -134,8 +134,8 @@ MENU_PRIV_H = \
tags:
ctags *.[ch]
TAGS:
etags *.[ch]
@MAKE_UPPER_TAGS@TAGS:
@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace

View File

@ -33,6 +33,10 @@
#ifndef ETI_MENU
#define ETI_MENU
#ifdef AMIGA
#define TEXT TEXT_ncurses
#endif
#include <curses.h>
#include <eti.h>

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -56,7 +56,7 @@ extern int errno;
#include <nc_alloc.h>
#ifdef USE_RCS_IDS
#if USE_RCS_IDS
#define MODULE_ID(id) static const char Ident[] = id;
#else
#define MODULE_ID(id) /*nothing*/

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.20 1998/02/11 12:13:52 tom Exp $
# $Id: Makefile.in,v 1.29 2000/09/30 20:01:10 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@ -48,7 +48,8 @@ THIS = Makefile
CF_MFLAGS = @cf_cv_makeflags@
@SET_MAKE@
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
top_srcdir = @top_srcdir@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -57,7 +58,8 @@ libdir = @libdir@
datadir = @datadir@
tabsetdir = $(datadir)/tabset
ticdir = $(datadir)/terminfo
ticdir = @TERMINFO@
source = @TERMINFO_SRC@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
@ -69,29 +71,40 @@ sources:
install: install.data
install.data: $(INSTALL_PREFIX)$(libdir) \
$(INSTALL_PREFIX)$(ticdir) \
$(INSTALL_PREFIX)$(tabsetdir)
sh $(srcdir)/run_tic.sh $(bindir) $(srcdir) $(ticdir) $(INSTALL_PREFIX)
install.data : $(DESTDIR)$(libdir) \
$(DESTDIR)$(ticdir) \
$(DESTDIR)$(tabsetdir)
DESTDIR=${DESTDIR} \
prefix=${prefix} \
exec_prefix=${exec_prefix} \
bindir=${bindir} \
top_srcdir=${top_srcdir} \
srcdir=${srcdir} \
datadir=${datadir} \
ticdir=${ticdir} \
source=${source} \
$(SHELL) ./run_tic.sh
@cd $(srcdir)/tabset && \
sh -c 'for i in `echo * | fgrep -v CVS | fgrep -v RCS`; do \
echo installing $$i; \
$(INSTALL_DATA) $$i $(INSTALL_PREFIX)$(tabsetdir); done'
$(SHELL) -c 'for i in * ; do \
if test -f $$i ; then \
echo installing $$i; \
$(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \
fi; done'
$(INSTALL_PREFIX)$(libdir) \
$(INSTALL_PREFIX)$(tabsetdir) \
$(INSTALL_PREFIX)$(ticdir) :
$(DESTDIR)$(libdir) \
$(DESTDIR)$(tabsetdir) \
$(DESTDIR)$(ticdir) :
$(srcdir)/../mkinstalldirs $@
uninstall: uninstall.data
uninstall.data:
-cd $(INSTALL_PREFIX)$(ticdir) && rm -rf *
-cd $(INSTALL_PREFIX)$(tabsetdir) && rm -rf *
-cd $(DESTDIR)$(ticdir) && rm -rf *
-cd $(DESTDIR)$(tabsetdir) && rm -rf *
tags:
TAGS:
@MAKE_UPPER_TAGS@TAGS:
mostlyclean:
-rm -f core tags TAGS *~ *.ln *.atac trace
@ -99,7 +112,7 @@ mostlyclean:
clean :: mostlyclean
distclean: clean
-rm -f Makefile
-rm -f Makefile run_tic.sh
realclean: distclean

View File

@ -1,4 +1,4 @@
# $Id: emx.src,v 1.6 1999/08/15 01:56:54 tom Exp $
# $Id: emx.src,v 1.7 2000/08/27 02:16:08 jmcoopr Exp $
# This is a reformatted copy of the terminfo source for OS/2 EMX from
# Juan Jose Garcia Ripoll <worm@arrakis.es>.
# http://www.arrakis.es/~worm/
@ -193,7 +193,7 @@ ansi.sys|ANSI.SYS 3.1 and later versions,
# kcub1 kb2 kcuf1
#
# End=\0O Down=\0P NxPag=\0Q
# kc1,kend kcud1 kc3,knp
# kc1,kend kcud1 kc3,knp
#
# Ins=\0R Del=\0S
# kich1 kdch1
@ -318,6 +318,19 @@ window|ANSI.SYS window,
smso=\E[1;37;47m,
smul=\E[1;31;47m,
use=emx-base,
os2|OS/2-emx ANSI.SYS,
cuu=\E[%p1%dA,
cuu1=\E[A,
cud=\E[%p1%dB,
cud1=\E[B,
cuf=\E[%p1%dC,
cuf1=\E[C,
cub=\E[%p1%dD,
cub1=\E[D,
sc=\E[s,
rc=\E[u,
use=ansi,
use=mono,
mono|ANSI.SYS mono,
blink=\E[5m,
bold=\E[1m,

View File

@ -1,5 +1,5 @@
LIBRARY form5 INITINSTANCE TERMINSTANCE
DESCRIPTION "NCurses-5-0-990828, module form"
DESCRIPTION "NCurses-5-1-20000704, module form"
CODE LOADONCALL
DATA LOADONCALL NONSHARED MULTIPLE
EXPORTS

View File

@ -14,7 +14,7 @@
/* format braces inline */
-br
/* do not line up parentheses */
-nlp
-lp
/* put the type of a procedure on the line before its name */
-psl
/* do not insert a space between procedure name and '(' */

View File

@ -1,5 +1,5 @@
LIBRARY menu5 INITINSTANCE TERMINSTANCE
DESCRIPTION "NCurses-5-0-990828, module menu"
DESCRIPTION "NCurses-5-1-20000704, module menu"
CODE LOADONCALL
DATA LOADONCALL NONSHARED MULTIPLE
EXPORTS

View File

@ -1,5 +1,5 @@
LIBRARY ncurses5 INITINSTANCE TERMINSTANCE
DESCRIPTION "NCurses-5-0-990828, module ncurses"
DESCRIPTION "NCurses-5-1-20000704, module ncurses"
CODE LOADONCALL
DATA LOADONCALL NONSHARED MULTIPLE
EXPORTS
@ -33,8 +33,8 @@ EXPORTS
"_nc_curr_file_pos" @817 NONAME
"_nc_curr_line" @815 NONAME
"_nc_curr_token" @803 NONAME
"_nc_disable_period" @23 NONAME
"_nc_do_color" @1037 NONAME
"_nc_do_xmc_glitch" @23 NONAME
"_nc_doalloc" @25 NONAME
"_nc_entry_match" @710 NONAME
"_nc_err_abort" @826 NONAME
@ -44,115 +44,109 @@ EXPORTS
"_nc_find_entry" @809 NONAME
"_nc_find_type_entry" @810 NONAME
"_nc_first_name" @622 NONAME
"_nc_flush" @54 NONAME
"_nc_free_entries" @712 NONAME
"_nc_free_termtype" @54 NONAME
"_nc_freeall" @58 NONAME
"_nc_freewin" @59 NONAME
"_nc_get_hash_table" @60 NONAME
"_nc_free_termtype" @58 NONAME
"_nc_freeall" @59 NONAME
"_nc_freewin" @60 NONAME
"_nc_get_hash_table" @63 NONAME
"_nc_get_table" @808 NONAME
"_nc_get_token" @811 NONAME
"_nc_get_tty_mode" @63 NONAME
"_nc_get_tty_mode" @65 NONAME
"_nc_get_type" @823 NONAME
"_nc_getenv_num" @65 NONAME
"_nc_has_mouse" @67 NONAME
"_nc_hash_map" @73 NONAME
"_nc_getenv_num" @67 NONAME
"_nc_has_mouse" @73 NONAME
"_nc_hash_map" @84 NONAME
"_nc_head" @700 NONAME
"_nc_home_terminfo" @84 NONAME
"_nc_home_terminfo" @91 NONAME
"_nc_info_hash_table" @804 NONAME
"_nc_infoalias_table" @807 NONAME
"_nc_infotocap" @830 NONAME
"_nc_init_acs" @91 NONAME
"_nc_init_acs" @92 NONAME
"_nc_init_entry" @702 NONAME
"_nc_init_keytry" @92 NONAME
"_nc_keep_tic_dir" @93 NONAME
"_nc_key_names" @95 NONAME
"_nc_init_keytry" @93 NONAME
"_nc_keep_tic_dir" @95 NONAME
"_nc_key_names" @96 NONAME
"_nc_keypad" @1024 NONAME
"_nc_lib_traceatr" @96 NONAME
"_nc_lib_tracedmp" @97 NONAME
"_nc_lib_tracemouse" @98 NONAME
"_nc_make_oldhash" @103 NONAME
"_nc_make_oldhash" @97 NONAME
"_nc_makenew" @1025 NONAME
"_nc_memmove" @106 NONAME
"_nc_memmove" @98 NONAME
"_nc_merge_entry" @704 NONAME
"_nc_msec_cost" @116 NONAME
"_nc_msec_cost" @103 NONAME
"_nc_mvcur_init" @1014 NONAME
"_nc_mvcur_resume" @117 NONAME
"_nc_mvcur_resume" @106 NONAME
"_nc_mvcur_wrap" @1015 NONAME
"_nc_name_match" @623 NONAME
"_nc_nulls_sent" @118 NONAME
"_nc_oldnums" @119 NONAME
"_nc_ospeed" @120 NONAME
"_nc_nulls_sent" @116 NONAME
"_nc_oldnums" @117 NONAME
"_nc_ospeed" @118 NONAME
"_nc_outch" @1026 NONAME
"_nc_outstr" @1033 NONAME
"_nc_panelhook" @127 NONAME
"_nc_panelhook" @119 NONAME
"_nc_panic_mode" @814 NONAME
"_nc_parse_entry" @706 NONAME
"_nc_printf_string" @129 NONAME
"_nc_printf_string" @120 NONAME
"_nc_push_token" @812 NONAME
"_nc_read_entry" @620 NONAME
"_nc_read_entry_source" @709 NONAME
"_nc_read_file_entry" @621 NONAME
"_nc_read_termcap" @130 NONAME
"_nc_remove_key" @132 NONAME
"_nc_remove_string" @137 NONAME
"_nc_read_termcap" @127 NONAME
"_nc_remove_key" @129 NONAME
"_nc_remove_string" @130 NONAME
"_nc_render" @1027 NONAME
"_nc_reset_input" @813 NONAME
"_nc_resolve_uses" @711 NONAME
"_nc_ripoffline" @142 NONAME
"_nc_ripoffline" @132 NONAME
"_nc_save_str" @703 NONAME
"_nc_screen_chain" @143 NONAME
"_nc_screen_init" @144 NONAME
"_nc_screen_resume" @145 NONAME
"_nc_screen_wrap" @146 NONAME
"_nc_scroll_oldhash" @147 NONAME
"_nc_screen_chain" @137 NONAME
"_nc_screen_init" @142 NONAME
"_nc_screen_resume" @143 NONAME
"_nc_screen_wrap" @144 NONAME
"_nc_scroll_oldhash" @145 NONAME
"_nc_scroll_optimize" @1029 NONAME
"_nc_scroll_window" @1030 NONAME
"_nc_scrolln" @148 NONAME
"_nc_set_buffer" @152 NONAME
"_nc_scrolln" @146 NONAME
"_nc_set_buffer" @147 NONAME
"_nc_set_source" @822 NONAME
"_nc_set_tty_mode" @158 NONAME
"_nc_set_tty_mode" @148 NONAME
"_nc_set_type" @824 NONAME
"_nc_set_writedir" @159 NONAME
"_nc_set_writedir" @152 NONAME
"_nc_setupscreen" @1031 NONAME
"_nc_sigaction" @160 NONAME
"_nc_sigaction" @158 NONAME
"_nc_signal_handler" @1034 NONAME
"_nc_slk_format" @161 NONAME
"_nc_slk_initialize" @162 NONAME
"_nc_slk_format" @159 NONAME
"_nc_slk_initialize" @160 NONAME
"_nc_start_line" @821 NONAME
"_nc_suppress_warnings" @828 NONAME
"_nc_synchook" @1035 NONAME
"_nc_syntax" @820 NONAME
"_nc_syserr_abort" @825 NONAME
"_nc_tail" @701 NONAME
"_nc_tic_dir" @167 NONAME
"_nc_tic_expand" @169 NONAME
"_nc_tic_written" @170 NONAME
"_nc_tic_dir" @161 NONAME
"_nc_tic_expand" @162 NONAME
"_nc_tic_written" @167 NONAME
"_nc_timed_wait" @1036 NONAME
"_nc_tinfo_fkeys" @172 NONAME
"_nc_trace_buf" @178 NONAME
"_nc_trace_tries" @183 NONAME
"_nc_trace_xnames" @184 NONAME
"_nc_tracebits" @185 NONAME
"_nc_tinfo_fkeys" @169 NONAME
"_nc_tracing" @1010 NONAME
"_nc_trans_string" @186 NONAME
"_nc_user_definable" @187 NONAME
"_nc_trans_string" @170 NONAME
"_nc_user_definable" @172 NONAME
"_nc_visbuf" @1012 NONAME
"_nc_visbuf2" @188 NONAME
"_nc_vsscanf" @189 NONAME
"_nc_visbuf2" @178 NONAME
"_nc_vsscanf" @183 NONAME
"_nc_waddch_nosync" @1028 NONAME
"_nc_warning" @827 NONAME
"_nc_wrap_entry" @705 NONAME
"_nc_write_entry" @708 NONAME
"_tracechar" @403 NONAME
"acs_map" @506 NONAME
"addch" @1 NONAME
"addchnstr" @2 NONAME
"addchstr" @3 NONAME
"addnstr" @4 NONAME
"addstr" @5 NONAME
"assume_default_colors" @184 NONAME
"attr_get" @14 NONAME
"attr_off" @193 NONAME
"attr_on" @211 NONAME
"attr_off" @185 NONAME
"attr_on" @186 NONAME
"attr_set" @17 NONAME
"attroff" @11 NONAME
"attron" @12 NONAME
@ -174,14 +168,15 @@ EXPORTS
"clrtobot" @33 NONAME
"clrtoeol" @34 NONAME
"color_content" @35 NONAME
"color_set" @234 NONAME
"color_set" @187 NONAME
"copywin" @37 NONAME
"cur_term" @515 NONAME
"curs_set" @38 NONAME
"curscr" @501 NONAME
"curses_version" @188 NONAME
"def_prog_mode" @39 NONAME
"def_shell_mode" @40 NONAME
"define_key" @238 NONAME
"define_key" @189 NONAME
"del_curterm" @641 NONAME
"delay_output" @41 NONAME
"delch" @42 NONAME
@ -194,11 +189,12 @@ EXPORTS
"echo" @49 NONAME
"echochar" @50 NONAME
"endwin" @52 NONAME
"erase" @193 NONAME
"erasechar" @53 NONAME
"filter" @55 NONAME
"flash" @56 NONAME
"flushinp" @57 NONAME
"getbkgd" @240 NONAME
"getbkgd" @211 NONAME
"getch" @61 NONAME
"getmouse" @356 NONAME
"getnstr" @62 NONAME
@ -208,7 +204,7 @@ EXPORTS
"has_colors" @69 NONAME
"has_ic" @70 NONAME
"has_il" @71 NONAME
"has_key" @242 NONAME
"has_key" @234 NONAME
"hline" @72 NONAME
"idcok" @74 NONAME
"idlok" @75 NONAME
@ -230,16 +226,16 @@ EXPORTS
"is_linetouched" @100 NONAME
"is_wintouched" @101 NONAME
"isendwin" @99 NONAME
"keybound" @251 NONAME
"keybound" @238 NONAME
"keyname" @102 NONAME
"keyok" @263 NONAME
"keyok" @240 NONAME
"keypad" @104 NONAME
"killchar" @105 NONAME
"leaveok" @107 NONAME
"longname" @108 NONAME
"mcprint" @266 NONAME
"mcprint" @242 NONAME
"meta" @109 NONAME
"mouse_trafo" @270 NONAME
"mouse_trafo" @251 NONAME
"mouseinterval" @360 NONAME
"mousemask" @358 NONAME
"move" @110 NONAME
@ -323,7 +319,7 @@ EXPORTS
"reset_prog_mode" @222 NONAME
"reset_shell_mode" @223 NONAME
"resetty" @221 NONAME
"resizeterm" @272 NONAME
"resizeterm" @263 NONAME
"restartterm" @643 NONAME
"ripoffline" @224 NONAME
"savetty" @225 NONAME
@ -339,13 +335,13 @@ EXPORTS
"set_term" @236 NONAME
"setscrreg" @235 NONAME
"setupterm" @644 NONAME
"slk_attr" @274 NONAME
"slk_attr_set" @276 NONAME
"slk_attr" @266 NONAME
"slk_attr_set" @270 NONAME
"slk_attroff" @237 NONAME
"slk_attron" @239 NONAME
"slk_attrset" @241 NONAME
"slk_clear" @243 NONAME
"slk_color" @278 NONAME
"slk_color" @272 NONAME
"slk_init" @244 NONAME
"slk_label" @245 NONAME
"slk_noutrefresh" @246 NONAME
@ -373,24 +369,23 @@ EXPORTS
"tigetflag" @260 NONAME
"tigetnum" @261 NONAME
"tigetstr" @262 NONAME
"timeout" @284 NONAME
"timeout" @274 NONAME
"tparm" @653 NONAME
"tputs" @655 NONAME
"trace" @405 NONAME
"ttytype" @514 NONAME
"typeahead" @264 NONAME
"unctrl" @361 NONAME
"ungetch" @265 NONAME
"ungetmouse" @357 NONAME
"untouchwin" @267 NONAME
"use_default_colors" @285 NONAME
"use_default_colors" @276 NONAME
"use_env" @268 NONAME
"use_extended_names" @286 NONAME
"use_extended_names" @278 NONAME
"vidattr" @269 NONAME
"vidputs" @271 NONAME
"vline" @273 NONAME
"vw_printw" @287 NONAME
"vw_scanw" @294 NONAME
"vw_printw" @284 NONAME
"vw_scanw" @285 NONAME
"vwprintw" @275 NONAME
"vwscanw" @277 NONAME
"waddch" @279 NONAME
@ -401,7 +396,7 @@ EXPORTS
"wattr_get" @291 NONAME
"wattr_off" @293 NONAME
"wattr_on" @292 NONAME
"wattr_set" @297 NONAME
"wattr_set" @286 NONAME
"wattroff" @289 NONAME
"wattron" @288 NONAME
"wattrset" @290 NONAME
@ -412,7 +407,7 @@ EXPORTS
"wclear" @302 NONAME
"wclrtobot" @303 NONAME
"wclrtoeol" @304 NONAME
"wcolor_set" @298 NONAME
"wcolor_set" @287 NONAME
"wcursyncup" @305 NONAME
"wdelch" @306 NONAME
"wdeleteln" @307 NONAME
@ -433,7 +428,7 @@ EXPORTS
"winsnstr" @328 NONAME
"winsstr" @329 NONAME
"winstr" @330 NONAME
"wmouse_trafo" @300 NONAME
"wmouse_trafo" @294 NONAME
"wmove" @338 NONAME
"wnoutrefresh" @339 NONAME
"wprintw" @340 NONAME

View File

@ -1,13 +1,8 @@
LIBRARY panel5 INITINSTANCE TERMINSTANCE
DESCRIPTION "NCurses-5-0-990828, module panel"
DESCRIPTION "NCurses-5-1-20000704, module panel"
CODE LOADONCALL
DATA LOADONCALL NONSHARED MULTIPLE
EXPORTS
"_nc_calculate_obscure" @16 NONAME
"_nc_free_obscure" @17 NONAME
"_nc_override" @18 NONAME
"_nc_panel_is_linked" @19 NONAME
"_nc_panel_link_bottom" @20 NONAME
"bottom_panel" @7 NONAME
"del_panel" @5 NONAME
"hide_panel" @3 NONAME

View File

@ -0,0 +1,146 @@
#!@SHELL@
##############################################################################
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey 1996,2000
#
# $Id: run_tic.in,v 1.10 2000/10/09 22:57:35 tom Exp $
# This script is used to install terminfo.src using tic. We use a script
# because the path checking is too awkward to do in a makefile.
#
# Assumes:
# The leaf directory names (lib, tabset, terminfo)
#
echo '** Building terminfo database, please wait...'
#
# The script is designed to be run from the misc/Makefile as
# make install.data
: ${suffix=@PROG_EXT@}
: ${DESTDIR=@DESTDIR@}
: ${prefix=@prefix@}
: ${exec_prefix=@exec_prefix@}
: ${bindir=@bindir@}
: ${top_srcdir=@top_srcdir@}
: ${srcdir=@srcdir@}
: ${datadir=@datadir@}
: ${ticdir=@TERMINFO@}
: ${source=@TERMINFO_SRC@}
: ${LN_S="@LN_S@"}
test -z "${DESTDIR}" && DESTDIR=
# Allow tic to run either from the install-path, or from the build-directory
case "$PATH" in
:*) PATH=../progs:${DESTDIR}$bindir$PATH ;;
*) PATH=../progs:${DESTDIR}$bindir:$PATH ;;
esac
export PATH
#
# set another env var that doesn't get reset when `shlib' runs, so `shlib' uses
# the PATH we just set.
#
NEWPATH=$PATH
export NEWPATH
PROG_BIN_DIR=${DESTDIR}$bindir
export PROG_BIN_DIR
TERMINFO=${DESTDIR}$ticdir ; export TERMINFO
umask 022
# Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
TICDIR=`echo $TERMINFO | sed -e 's@/share/@/lib/@'`
# Remove the old terminfo stuff; we don't care if it existed before, and it
# would generate a lot of confusing error messages if we tried to overwrite it.
# We explicitly remove its contents rather than the directory itself, in case
# the directory is actually a symbolic link.
( cd $TERMINFO && rm -fr ? 2>/dev/null )
# If we're not installing into /usr/share/, we'll have to adjust the location
# of the tabset files in terminfo.src (which are in a parallel directory).
TABSET=`echo $ticdir | sed -e 's@/terminfo$@/tabset@'`
if test "x$TABSET" != "x/usr/share/tabset" ; then
echo '** adjusting tabset paths'
TMP=${TMPDIR-/tmp}/$$
sed -e s:/usr/share/tabset:$TABSET:g $source >$TMP
trap "rm -f $TMP" 0 1 2 5 15
source=$TMP
fi
cat <<EOF
Running tic to install $TERMINFO ...
You may see messages regarding unknown capabilities, e.g., AX.
These are extended terminal capabilities which can be compiled
using
tic -x
Read the INSTALL document before doing this - it can cause
problems for older ncurses applications.
EOF
if ( $srcdir/shlib tic$suffix -s -o $TERMINFO $source )
then
echo '** built new '$TERMINFO
else
echo '? tic could not build '$TERMINFO
exit 1
fi
# Make a symbolic link to provide compatibility with applications that expect
# to find terminfo under /usr/lib. That is, we'll _try_ to do that. Not
# all systems support symbolic links, and those that do provide a variety
# of options for 'test'.
if test "$TICDIR" != "$TERMINFO" ; then
( rm -f $TICDIR 2>/dev/null )
if ( cd $TICDIR 2>/dev/null )
then
cd $TICDIR
TICDIR=`pwd`
if test $TICDIR != $TERMINFO ; then
# Well, we tried. Some systems lie to us, so the
# installer will have to double-check.
echo "Verify if $TICDIR and $TERMINFO are the same."
echo "The new terminfo is in $TERMINFO; the other should be a link to it."
echo "Otherwise, remove $TICDIR and link it to $TERMINFO."
fi
else
cd ${DESTDIR}$prefix
# Construct a symbolic link that only assumes $ticdir has the
# same $prefix as the other installed directories.
RELATIVE=`echo $ticdir|sed -e 's:^'$prefix'/::'`
if test "$RELATIVE" != "$ticdir" ; then
RELATIVE=../`echo $ticdir|sed -e 's:^'$prefix'/::' -e 's:^/::'`
fi
if ( @LN_S@ $RELATIVE $TICDIR )
then
echo '** linked '$TICDIR' for compatibility'
fi
fi
fi

View File

@ -5,7 +5,7 @@
# bug-ncurses@gnu.org
#
# Version 10.2.1
# $Date: 2000/07/01 21:23:58 $
# $Date: 2000/09/24 02:29:16 $
# terminfo syntax
#
# Eric S. Raymond (current maintainer)
@ -1185,6 +1185,30 @@ qnx|qnx4|qnx console,
rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
smso=\E(, smul=\E[,
#
#
qnxt|qnxt4|QNX4 terminal,
crxm, use=qnx4,
#
qnxm|QNX4 with mouse events,
maddr#1,
chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h,
mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l,
mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l,
smicm=\E/>2h, use=qnx4,
#
qnxw|QNX4 windows,
xvpa, use=qnxm,
#
# Monochrome QNX4 terminal or console. Setting this terminal type will
# allow an application running on a color console to behave as if it
# were a monochrome terminal. Output will be through stdout instead of
# console writes because the term routines will recognize that the
# terminal name starts with 'qnxt'.
#
qnxtmono|Monochrome QNX4 terminal or console,
colors@, pairs@,
scp@, use=qnx4,
# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
# (esr: commented out <scp> and <rmcup> to avoid warnings.)
@ -1194,6 +1218,72 @@ qnxt2|qnx 2.15 serial terminal,
civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@,
rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4,
# QNX ANSI terminal definition
qansi-g|QNX ANSI,
am, eslok, hs, xon,
colors#8, cols#80, it#8, lines#25, ncv#19, pairs#64, wsl#80,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~Oa,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[2J\E[H, cnorm=\E[?25h\E[?12l, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH$<5>, cuu=\E[%p1%dA, cuu1=\E[A,
cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
dl=\E[%p1%dM, dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J,
el=\E[K, el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l,
fsl=\E[?6h\E8, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH,
ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L,
ind=\E[S, indn=\E[%p1%dS, invis=\E[9m,
is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0,
kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt,
kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h,
kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c,
kbs=^H, kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa,
kcmd=\E[G, kcpy=\E[g, kctab=\E[z, kcub1=\E[D, kcud1=\E[B,
kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[p, kend=\E[Y,
kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt,
kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx,
kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~,
kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~,
kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~,
kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~,
kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~,
kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU,
kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh,
khome=\E[H, khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a,
kmov=\ENi, kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo,
kopt=\ENk, kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg,
kri=\E[b, krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T,
ktbc=\ENd, kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m,
rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, ri=\E[T,
rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l, rmso=\E[27m,
rmul=\E[24m, rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smso=\E[7m,
smul=\E[4m, tbc=\E[2g,
tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH,
#
qansi|QNX ansi with console writes,
daisy, xhpa, use=qansi-g,
#
qansi-t|QNX ansi without console writes,
crxm, use=qansi,
#
qansi-m|QNX ansi with mouse,
maddr#1,
chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h,
mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l,
mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l,
smicm=\E[>2h, use=qansi,
#
qansi-w|QNX ansi for windows,
xvpa, use=qansi-m,
#### NetBSD consoles
#
# pcvt termcap database entries (corresponding to release 3.31)
@ -1352,7 +1442,7 @@ rcons|BSD rasterconsole,
rcons-color|BSD rasterconsole with ANSI color,
bce,
colors#8, pairs#64,
op=\E[m, setab=\E[4%dm, setaf=\E[3%dm, use=rcons,
op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons,
# mgterm -- MGL/MGL2, MobileGear Graphic Library
# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
@ -2171,7 +2261,7 @@ vt420pc|DEC VT420 w/PC keyboard,
vt420pcdos|DEC VT420 w/PC for DOS Merge,
lines#25,
dispc=%?%p2%{19}%=%t\E\023\021%e%p2%{32}%<%t\E%p2%c%e%p2%{127}%=%t\E\177%e%p2%c%;,
dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1%{127}%=%t\E\177%e%p1%c%;,
pctrm@,
rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@,
sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc,
@ -2450,7 +2540,7 @@ xterm-r6|xterm-old|xterm X11R6 version,
kslt=\E[4~, meml=\El, memu=\Em, rc=\E8, rev=\E[7m, ri=\EM,
rmacs=^O, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l,
rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7,
sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h,
smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
@ -2483,7 +2573,7 @@ xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
memu=\Em, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
rmso=\E[27m, rmul=\E[24m, rs1=^O,
rs2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, sc=\E7,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
@ -2510,7 +2600,7 @@ xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33,
# This beta version will probably be released in XFree86 4.0.
# This version was released in XFree86 4.0.
xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
npc,
kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~,
@ -2531,7 +2621,54 @@ xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
smcup=\E[?1049h, use=xterm-xf86-v333,
xterm-xfree86|xterm-new|xterm terminal emulator (XFree86 4.0 Window System),
use=xterm-xf86-v40,
npc,
kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~,
kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C,
kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, kend=\EOF, kent=\EOM, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf13=\EO2P, kf14=\EO2Q,
kf15=\EO2R, kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~,
kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~,
kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P,
kf26=\EO5Q, kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~,
kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R,
kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~,
kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf5=\E[15~,
kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\EOH,
kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
use=xterm-basic,
#
# This chunk is used for building the VT220/Sun/PC keyboard variants.
xterm-basic|xterm terminal emulator - common (XFree86),
am, bce, km, mc5i, mir, msgr, xenl,
colors#8, cols#80, it#8, lines#24, pairs#64,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H,
kdch1=\E[3~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El,
memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>,
rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm,
setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
sgr=\E[0%?%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?1049h,
smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
vpa=\E[%i%p1%dd,
# From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
@ -2539,17 +2676,17 @@ xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
xterm-16color|xterm with 16 colors like aixterm,
colors#16, pairs#256,
colors#16, ncv#32, pairs#256,
setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm,
setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm,
setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e%ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
use=xterm-xf86-v40,
use=xterm-xfree86,
# These variants of XFree86 3.9.16 xterm are built as a configure option.
xterm-256color|xterm with 256 colors,
ccc,
colors#256, pairs#256,
colors#256, ncv#32, pairs#256,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm,
setb=\E[48;5;%p1%dm, setf=\E[38;5;%p1%dm,
@ -2583,7 +2720,7 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
invis=\2338m,
is2=\E7\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>,
ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H,
kc1=\217q, kc3=\217s, kcub1=\217D, kcud1=\217B,
kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
@ -2596,11 +2733,11 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
ri=\215, rmacs=^O, rmam=\233?7l, rmcup=\233?1049l,
rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m,
rs1=\Ec,
rs2=\E7\E[62"p\E G\233r\233m\233?7h\233?1;3;4;6l\2334l\E8\E>,
rs2=\E[62"p\E G\E7\233r\E8\233m\233?7h\233?1;3;4;6l\2334l\E>,
sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm,
setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
sgr=\2330%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr=\2330%?%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
sgr0=\233m^O, smacs=^N, smam=\233?7h, smcup=\233?1049h,
smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m,
tbc=\2333g, u6=\233[%i%d;%dR, u7=\E[6n, u8=\233[?1;2c,
@ -2610,18 +2747,38 @@ xterm-hp|XFree86 xterm with hpterm function keys,
kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
kdch1=\EP, kend=\EF, kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es,
kf5=\Et, kf6=\Eu, kf7=\Ev, kf8=\Ew, khome=\Eh, kich1=\EQ,
knp=\ES, kpp=\ET, use=xterm-xfree86,
knp=\ES, kpp=\ET, use=xterm-basic,
xterm-sco|XFree86 xterm with SCO function keys,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F,
kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X, kf13=\E[Y,
kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e,
kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i,
kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n,
kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r,
kf33=\E[s, kf34=\E[t, kf35=\E[u, kf4=\E[P, kf5=\E[Q,
kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
kich1=\E[L, knp=\E[G, kpp=\E[I, use=xterm-basic,
# The xterm-xfree86 description has all of the features, but is not completely
# compatible with vt220. If you are using a Sun or PC keyboard, set the
# sunKeyboard resource to true:
# + maps the editing keypad
# + interprets control-function-key as a second array of keys, so a
# 12-fkey keyboard can support vt220's 20-fkeys.
# + maps numeric keypad "+" to ",".
# + uses DEC-style control sequences for the application keypad.
#
xterm-vt220|XFree86 xterm emulating vt220,
ka1=\EOw, ka3=\EOy, kbeg=\EOu, kbs=^H, kc1=\EOq, kc3=\EOs,
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
kdch1=\E[3~, kend=\E[4~, kent=\EOM, kf1=\EOP, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
use=xterm-xfree86,
ka1=\EOw, ka3=\EOy, kbeg=\EOu, kc1=\EOq, kc3=\EOs, kcbt=\E[Z,
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~,
kent=\EOM, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~,
kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
use=xterm-basic,
xterm-vt52|XFree86 xterm emulating dec vt52,
cols#80, it#8, lines#24,
@ -2670,6 +2827,8 @@ kterm|kterm kanji terminal emulator (X window system),
acsc@, csr=\E[%i%p1%d;%p2%dr, dsl=\E[?H, enacs@, fsl=\E[?F,
kmous=\E[M, rc=\E8, rmacs@, sc=\E7, smacs@,
tsl=\E[?E\E[?%i%dT, use=xterm-r6, use=ecma+color,
kterm-color|kterm-co|kterm with ANSI colors,
ncv@, use=kterm, use=ecma+color,
# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
ich@, ich1@, use=xterm,
@ -3028,6 +3187,8 @@ eterm|gnu emacs term.el terminal emulation,
# G0 (bool) Terminal can deal with ISO 2022 font selection sequences.
# AX (bool) Does understand ANSI set default fg/bg color
# (\E[39m / \E[49m).
# S0 (str) Switch charset 'G0' to the specified charset.
# E0 (str) Switch charset 'G0' back to standard charset.
screen|VT 100/ANSI X3.64 virtual terminal,
OTbs, OTpt, am, km, mir, msgr, xenl, G0,
colors#8, cols#80, it#8, lines#24, pairs#64,
@ -3048,8 +3209,8 @@ screen|VT 100/ANSI X3.64 virtual terminal,
kpp=\E[5~, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m,
rs2=\Ec, sc=\E7, sgr0=\E[m, smacs=^N, smir=\E[4h,
smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g,
use=ecma+color,
smkx=\E[?1h\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, E0=\E(B,
S0=\E(%p1%c, use=ecma+color,
screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
cols#132, use=screen,
@ -3141,7 +3302,7 @@ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode,
rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM,
rmacs=^O, rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l,
rmso=\E[27m, rmul=\E[24m,
rs2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, sc=\E7,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E7,
smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;,
@ -3169,9 +3330,10 @@ ncsa-vt220|NCSA Telnet using vt220-compatible function keys,
#### Pilot Pro Palm-Top
#
# From: Jason Downs <downsj@downsj.com>, 15 Jun 1997 (Top Gun Telnet's author)
# Termcap for Top Gun Telnet and SSH on the Palm Pilot.
# http://www.isaac.cs.berkeley.edu/pilot/tgtelnet.html
pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional,
am, xenl,
OTbs, am, xenl,
cols#39, lines#16,
bel=^G, clear=\Ec, cr=^M, cub1=^H, cud1=^J,
cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I,
@ -3702,7 +3864,7 @@ pcmw|PC running Microsoft Works,
altos2|alt2|altos-2|altos II,
cols#80, it#8, lines#24, xmc#0,
clear=\E[H\E[2J, cr=^M, cub1=^H, cud1=\E[1B, cuf1=\E[1C,
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl=\E[M,
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M,
ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
if=/usr/share/tabset/vt100, il1=\E[L, ind=^J,
is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r,
@ -3743,7 +3905,7 @@ altos7|alt7|altos VII,
acsc=j5k3l2m1n8q\:t4u9v=w0x6, blink=\EG2, bold=\EGt,
clear=\E+^^, cr=^M, cub1=^H, cud1=^J, cuf1=^L,
cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
dim=\EGp, dl=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE,
dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE,
ind=^J, invis=\EG1,
is2=\E`\:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r,
kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H,
@ -4356,12 +4518,12 @@ bobcat|sbobcat|HP 9000 model 300 console,
am, da, db, mir, xhp,
cols#128, it#8, lines#47, xmc#0,
cbt=\Ei, clear=\EH\EJ, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
cup=\E&a%dy%dC$<6/>, cuu1=\EA, dch1=\EP, dl1=\EM$<10*/>,
ed=\EJ, el=\EK, hpa=\E&a%dC$<6/>, ht=^I, il1=\EL$<10*/>,
ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
khome=\Eh, nel=^M^J, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@,
rmul=\E&d@, sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&dB,
smul=\E&dD, vpa=\E&a%dY$<6/>,
cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP,
dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I,
il1=\EL$<10*/>, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB,
kcuf1=\EC, kcuu1=\EA, khome=\Eh, nel=^M^J, rmir=\ER,
rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smir=\EQ,
smkx=\E&s1A, smso=\E&dB, smul=\E&dD, vpa=\E&a%p1%dY$<6/>,
gator-t|HP 9000 model 237 emulating extra-tall AAA,
lines#94, use=gator,
gator|HP 9000 model 237 emulating AAA,
@ -4783,7 +4945,7 @@ pt100|pt200|wren|fenix|prime pt100/pt200,
cbt=\E[Z, clear=\E?, cr=^M, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=\ED, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu=\E[%p1%dA,
cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[M,
cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M,
ed=\E[J\E[r, el=\E[K\E[t, flash=\E$$<200/>\E$P,
home=\E$B, ht=^I, il1=\E[L\E[t, ind=^J, kbs=^H, kcub1=\E[D,
kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E$A, nel=^M^J,
@ -5168,7 +5330,7 @@ tvi921|televideo model 921 with sysline same as page & real vi function,
if=/usr/share/tabset/stdcrt, il1=\EE, ind=^J, invis@,
is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H,
kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>,
ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%,
ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=^M^J, rmacs=\E%%,
rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr,
# without the beeper
# (tvi92B: removed :ko=bt: before translation, I see no backtab cap;
@ -5184,7 +5346,7 @@ tvi92B|televideo model 921 with sysline same as page & real vi function & no bee
invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z,
kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW,
kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE,
nel=^M^J, rmacs=\E%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr,
nel=^M^J, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr,
# (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr)
tvi92D|tvi92B with DTR instead of XON/XOFF & better padding,
dl1=\ER$<2*/>, il1=\EE$<2*/>,
@ -5553,7 +5715,7 @@ tvi955|televideo 955,
civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH,
cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1,
is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1,
knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%,
knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%%,
rmam=\E[=7l, rmxon=^N,
rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee \017\E0P\E6\0\E0p\E4\0\Ef\r,
sgr0=\EG0\E[=5l, smacs=\E$, smam=\E[=7h, smxon=^O,
@ -5640,7 +5802,7 @@ tvi9065|televideo 9065,
pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&,
rep=\E[%p2%db%p1%c, rev=\EG4,
rf=/usr/share/tabset/stdcrt, ri=\Ej, rin=\E[%p1%dT,
rmacs=\E%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H,
rmacs=\E%%, rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H,
rmdc=\0, rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0,
rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1,
@ -7158,9 +7320,9 @@ vt320-k3|MS-Kermit 3.00's vt320 emulation,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
clear=\E[H\E[J, cmdch=\E, cnorm=\E[?25h, cr=^M,
csr=\E[%i%p1%d;%p1%dr, cub=\E[%p1%dD, cub1=^H,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p1%dH, cuu=\E[%p1%dA, cuu1=\E[A,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
dsl=\E[0$~, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l,
@ -7313,6 +7475,43 @@ rbcomm-w|IBM PC with RBcomm in 132 column mode,
is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kbs=^H,
kcub1=^H, kcud1=^J, nel=^M^J, use=rbcomm,
######## LCD DISPLAYS
#
#### Matrix Orbital
# from: Eric Z. Ayers (eric@ale.org)
#
# Matrix Orbital 20x4 LCD display
# Command Character is 0xFE (decimal 254, octal 376)
#
# On this device, cursor addressability isn't possible. The LCD expects:
# 0xfe G <col> <row>
# for cup: %p1 == row and %p2 is column
#
# This line:
# cup=\376G%p2%c%p1%c
# LOOKS like it will work, but sometimes only one of the two numbers is sent.
# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'.
#
# Alas, there is no cursor upline capability on this display.
#
# These entries add some 'sanity stuff' to the clear function. That is, it
# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping,
# and turns off the cursor blinking and stuff like that.
#
# NOTE: calling 'beep' turns on the backlight (bell)
# NOTE: calling 'flash' turns it on and back off (visual bell)
#
MtxOrb| Generic Matrix Orbital LCD display,
bel=\376B^A, clear=\376X\376C\376R\376K\376T,
cnorm=\376K\376T, cub1=\376L, cuf1=\376M,
flash=\376B\001$<200>\376F, home=\376H,
MtxOrb204| 20x4 Matrix Orbital LCD display,
cols#20, lines#4, use=MtxOrb,
MtxOrb162| 16x2 Matrix Orbital LCD display,
cols#16, lines#2, use=MtxOrb,
# The end
######## OLDER TERMINAL TYPES
#
# This section is devoted to older commercial terminal brands that are now
@ -7568,7 +7767,7 @@ att4418|att5418|AT&T 5418 80 cols,
cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m,
dl=\E[%p1%dM, dl1=\E[M, ed=\E[0J, el=\E[0K, home=\E[H,
ich=\E[%p1%d@, ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=^J,
is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%, kcub1=\E@,
is1=\E[?3l, is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@,
kcud1=\EU, kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h,
kf10=\E[m, kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I,
kf15=\E[J, kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E,
@ -7960,7 +8159,7 @@ att605|AT&T 605 80 column 102key keyboard,
att605-pc|ATT 605 in pc term mode,
acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263,
cbt=\E[Z, cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
dch1=\E[P, dl1=\E[M, ich1=\E[@, il=\E[L, il1=\E[L, kcbt=\E[Z,
dch1=\E[P, dl1=\E[M, ich1=\E[@, il1=\E[L, kcbt=\E[Z,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P,
kdl1=\E[M, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N,
kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
@ -9965,7 +10164,7 @@ dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys,
kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3,
kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8,
kf31=^^9, kf32=^^\:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#,
kf37=^^$, kf38=^^%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(,
kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(,
kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w,
kf8=^^x, kf9=^^y, khome=^H,
@ -9978,7 +10177,7 @@ dgkeys+15|Private entry describing 15 DG mode special keys,
kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5,
kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^\:,
kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!,
kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%, kf51=^^&,
kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&,
kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,,
kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x,
kf9=^^y,
@ -10888,7 +11087,7 @@ f100|freedom|freedom100|freedom model 100,
kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r,
kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er,
smacs=\E%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef,
smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef,
vpa=\E[%p1%{32}%+%c, use=adm+sgr,
f100-rv|freedom-rv|freedom 100 in reverse video,
flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100,
@ -11915,10 +12114,10 @@ icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372,
cnorm=\E.3, cr=^M,
csr=\E!%+%p1%{32}%+%p2%{32} cud1=\026, cuf1=^L,
cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c,
cuu1=^K, cvvis=\E.1, dch=\EW, dl1=\ER, home=^^, ht=^I, hts=\E1,
il1=\EE, invis=\E[1ZZ, is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ,
nel=^_, rev=\E[4ZZ, rmir=\Er,
rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I,
hts=\E1, il1=\EE, invis=\E[1ZZ,
is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ,
rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1,
sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ,
sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3,
@ -11945,7 +12144,7 @@ intext|Interactive Systems Corporation modified owl 1200,
kcub1=^_, kcud1=^J, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r,
kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r,
kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<,
rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%,
rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036\:\264\026%%,
smso=^V$\,,
intext2|intextii|INTERACTIVE modified owl 1251,
am, bw, ul,
@ -12065,7 +12264,7 @@ kt7ix|kimtron model kt-7 or 70 in IX mode,
ked=\EY, kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r,
kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ,
nel=^M^J, pulse=\EK, rmacs=\E%, rmir=, rmso=\EG0, rmul=\EG0,
nel=^M^J, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0,
sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef,
#### Microdata/MDIS
@ -12511,7 +12710,7 @@ ergo4000|microterm ergo 4000,
bel=^G, clear=\E[H\E[2J$<80>, cr=^M, cub1=^H, cud1=\E[B,
cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
dch1=\E[1P$<80>, dl1=\E[1M$<5*>, ed=\E[0J$<15>,
el=\E[0K$<13>, ht=^I, il=\E[1L$<5*>, ind=\ED$<20*>,
el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>, ind=\ED$<20*>,
is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>,
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3,
@ -14051,7 +14250,7 @@ apple-videx3|vapple|Apple II with 80 col card,
clear=\Ev, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
cuu1=\EA, el=\Ex, home=\EH, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
kcuu1=\EA, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!,
kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%, kf9=\E&, khome=\EH,
kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH,
#From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL
aepro|Apple II+ running ASCII Express Pro--vt52,
OTbs,
@ -14277,6 +14476,34 @@ amiga-8bit|Amiga ANSI using 8-bit controls,
acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L,
ind=\204, indn@, ri=\215, rin@, use=amiga-h,
# From: Ruediger Kuhlmann <terminfo@ruediger-kuhlmann.de>, 18 Jul 2000
# requires use of appropriate preferences settings.
amiga-vnc|Amiga using VNC console (black on light gray),
am, da, db, msgr, ndscr,
btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#256,
bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p,
clear=\E[H\E[J, cnorm=\E[p\E[>?6l, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D,
cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
cvvis=\E[>?6h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
dl=\E[%p1%dM, dl1=\E[1M, ed=\E[J, el=\E[K, flash=^G,
ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
indn=\E[%p1%dS, invis=\E8m,
is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
kbs=^H, kcbt=\233Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
kcuu1=\E[A, kdch1=\177, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~,
kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~,
kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~,
kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m,
rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmcup=\E[?7h\E[r\E[J,
rmkx=\E[?1l, rmso=\E[21m, rmul=\E[24m, rs1=\Ec,
rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m,
setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m,
sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h,
smso=\E[1m, smul=\E[4m,
# Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
# I'm trying to write a termcap for a commodore b-128, and I'm
# having a little trouble. I've had to map most of my control characters
@ -14515,15 +14742,15 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor
cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P,
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, flash=^G, fsl=^J,
home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=^J,
ip=$<7/>, is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0,
home=\E[H, ht=^I, il=\E[%p1%dL, il1=\E[L, ind=^J, ip=$<7/>,
is1=\E\:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0,
is3=\E[?3l kbs=\010, kclr=\E[2J, kcub1=\E[D, kcud1=\E[B,
kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kdl1=\E[M, kf0=\EOp,
kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu,
kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khome=\E[H,
kich1=\E[4h, kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H,
mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rin=\EM,
rmacs=^O, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
mc0=\E[i, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m,
smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A,
u6=\E[%i%d;%dR, u7=\E[6n,
@ -15892,8 +16119,8 @@ mt70|mt-70|Morrow MD-70; native Morrow mode,
kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r,
kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_,
rmacs=\E%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E], smul=\EG1,
tbc=\E0, use=adm+sgr,
rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E],
smul=\EG1, tbc=\E0, use=adm+sgr,
#### Motorola
#
@ -16891,7 +17118,7 @@ opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys,
sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/,
smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177,
smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(,
uc=\EG8%p1%c\EG0, use=adm+sgr,
uc=\EG8\EG0, use=adm+sgr,
teletec|Teletec Datascreen,
OTbs, am,
cols#80, lines#24,
@ -18346,6 +18573,30 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# 2000/7/1
# * add Eterm (Michael Jennings)
#
# 2000-07-18
# * add amiga-vnc entry.
#
# 2000-08-12
# * correct description of Top Gun Telnet.
# * add kterm-color
#
# 2000-08-26
# * add qansi* entries from QNX ftp site.
#
# 2000-09-16
# * add Matrix Orbital entries by Eric Z. Ayers).
# * add xterm-basic, xterm-sco entries, update related entries to XFree86
# 4.0.1c -TD
#
# 2000-09-17
# * add S0, E0 extensions to screen's entry -TD
#
# 2000-09-23
# * several corrections based on tic's new parameter-checking code -TD
# * modify xterm-r6 and similar rs2 sequences which had \E7...\E8
# bracketing sequences that reset video attributes (\E8 would restore
# them) -TD
#
# The following sets edit modes for GNU EMACS.
# Local Variables:
# fill-prefix:"\t"

View File

@ -1,6 +1,6 @@
# $Id: mk-1st.awk,v 1.40 2000/04/01 20:50:29 tom Exp $
# $Id: mk-1st.awk,v 1.45 2000/08/19 19:13:19 tom Exp $
##############################################################################
# Copyright (c) 1998 Free Software Foundation, Inc. #
# Copyright (c) 1998,2000 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
@ -27,7 +27,7 @@
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
#
# Generate list of objects for a given model library
# Variables:
@ -39,6 +39,7 @@
# depend (optional dependencies for all objects, e.g, ncurses_cfg.h)
# subset ("none", "base", "base+ext_funcs" or "termlib")
# target (cross-compile target, if any)
# ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
# DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
# rmSoLocs ("yes" or "no", flag to add extra clean target)
# overwrite ("yes" or "no", flag to add link to libcurses.a
@ -50,43 +51,50 @@
#
function symlink(src,dst) {
if ( src != dst ) {
printf "rm -f %s; ", dst
printf "$(LN_S) %s %s; ", src, dst
}
}
function rmlink(directory, dst) {
printf "\t-rm -f %s/%s\n", directory, dst
}
function removelinks(directory) {
rmlink(directory, end_name);
if ( DoLinks == "reverse" ) {
if ( ShlibVer == "rel" ) {
rmlink(directory, abi_name);
rmlink(directory, rel_name);
} else if ( ShlibVer == "abi" ) {
rmlink(directory, abi_name);
}
} else {
if ( ShlibVer == "rel" ) {
rmlink(directory, abi_name);
rmlink(directory, lib_name);
} else if ( ShlibVer == "abi" ) {
rmlink(directory, lib_name);
}
}
}
function sharedlinks(directory) {
if ( ShlibVer != "auto" ) {
printf "\tcd %s && (", directory
if ( DoLinks == "reverse" ) {
printf "rm -f %s; ", src
printf "$(LN_S) %s %s; ", dst, src
} else {
printf "rm -f %s; ", dst
printf "$(LN_S) %s %s; ", src, dst
}
}
}
function sharedlinks(directory, add) {
if ( end_name != lib_name ) {
if ( DoLinks == "yes" ) {
abi_name = sprintf("%s.$(ABI_VERSION)", lib_name);
} else {
abi_name = end_name;
}
if (add) {
printf "\tcd %s && (", directory
if ( abi_name != end_name ) {
symlink(end_name, abi_name);
if ( ShlibVer == "rel" ) {
symlink(lib_name, abi_name);
symlink(abi_name, rel_name);
} else if ( ShlibVer == "abi" ) {
symlink(lib_name, abi_name);
}
symlink(abi_name, lib_name);
printf ")\n"
} else {
if ( abi_name != end_name ) {
printf "\t-@rm -f %s/%s\n", directory, abi_name
if ( ShlibVer == "rel" ) {
symlink(rel_name, abi_name);
symlink(abi_name, lib_name);
} else if ( ShlibVer == "abi" ) {
symlink(abi_name, lib_name);
}
printf "\t-@rm -f %s/%s\n", directory, lib_name
}
}
}
function removelinks() {
if ( end_name != lib_name ) {
if ( abi_name != end_name ) {
printf "\t-rm -f ../lib/%s\n", abi_name
}
printf "\t-rm -f ../lib/%s\n", end_name
printf ")\n"
}
}
BEGIN {
@ -151,60 +159,54 @@ END {
lib_name = sprintf("%s%s%s", prefix, name, suffix)
if ( MODEL == "SHARED" )
{
if ( DoLinks == "yes" ) {
end_name = sprintf("%s.$(REL_VERSION)", lib_name);
} else if ( DoLinks == "reverse") {
tmp_name = sprintf("%s.$(ABI_VERSION)", lib_name);
abi_name = sprintf("%s.$(ABI_VERSION)", lib_name);
rel_name = sprintf("%s.$(REL_VERSION)", lib_name);
if ( DoLinks == "reverse") {
end_name = lib_name;
lib_name = tmp_name;
} else {
end_name = lib_name;
if ( ShlibVer == "rel" ) {
end_name = rel_name;
} else if ( ShlibVer == "abi" ) {
end_name = abi_name;
} else {
end_name = lib_name;
}
}
printf "../lib/%s : $(%s_OBJS)\n", lib_name, OBJS
printf "../lib/%s : $(%s_OBJS)\n", end_name, OBJS
print "\t-@rm -f $@"
if ( subset == "termlib") {
printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(TINFO_LIST)\n", OBJS
} else {
printf "\t$(MK_SHARED_LIB) $(%s_OBJS) $(SHLIB_LIST)\n", OBJS
}
sharedlinks("../lib", 1)
print ""
if ( end_name != lib_name ) {
printf "../lib/%s : ../lib/%s\n", end_name, lib_name
}
sharedlinks("../lib")
print ""
print "install \\"
print "install.libs \\"
printf "install.%s :: $(INSTALL_PREFIX)$(libdir) ../lib/%s\n", name, end_name
printf "\t@echo installing ../lib/%s as $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, end_name
if ( DoLinks == "reverse") {
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name
printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, lib_name
} else {
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", end_name
printf "\t$(INSTALL_LIB) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, end_name
}
sharedlinks("$(INSTALL_PREFIX)$(libdir)", 1)
printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, end_name
printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", end_name, end_name
printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", end_name
printf "\t$(INSTALL_LIB) ../lib/%s $(DESTDIR)$(libdir)/%s\n", end_name, end_name
sharedlinks("$(DESTDIR)$(libdir)")
if ( overwrite == "yes" && name == "ncurses" )
{
ovr_name = sprintf("libcurses%s", suffix)
printf "\t@echo linking %s to %s\n", lib_name, ovr_name
printf "\tcd $(INSTALL_PREFIX)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, lib_name, ovr_name
printf "\t@echo linking %s to %s\n", end_name, ovr_name
printf "\tcd $(DESTDIR)$(libdir) && (rm -f %s; $(LN_S) %s %s; )\n", ovr_name, end_name, ovr_name
}
if ( ldconfig != "" ) {
printf "\t- test -z \"$(INSTALL_PREFIX)\" && %s\n", ldconfig
printf "\t- test -z \"$(DESTDIR)\" && %s\n", ldconfig
}
print ""
print "uninstall \\"
print "uninstall.libs \\"
printf "uninstall.%s ::\n", name
printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/%s \n", end_name
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s\n", end_name
sharedlinks("$(INSTALL_PREFIX)$(libdir)", 0)
printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", end_name
removelinks("$(DESTDIR)$(libdir)")
if ( overwrite == "yes" && name == "ncurses" )
{
ovr_name = sprintf("libcurses%s", suffix)
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s \n", ovr_name
printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", ovr_name
}
if ( rmSoLocs == "yes" ) {
print ""
@ -226,47 +228,44 @@ END {
print ""
print "install \\"
print "install.libs \\"
printf "install.%s :: $(INSTALL_PREFIX)$(libdir) ../lib/%s\n", name, lib_name
printf "\t@echo installing ../lib/%s as $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, lib_name
printf "\t$(INSTALL_DATA) ../lib/%s $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name, lib_name
printf "install.%s :: $(DESTDIR)$(libdir) ../lib/%s\n", name, lib_name
printf "\t@echo installing ../lib/%s as $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
printf "\t$(INSTALL_DATA) ../lib/%s $(DESTDIR)$(libdir)/%s\n", lib_name, lib_name
if ( overwrite == "yes" && lib_name == "libncurses.a" )
{
printf "\t@echo linking libcurses.a to libncurses.a \n"
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/libcurses.a \n"
printf "\t(cd $(INSTALL_PREFIX)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
printf "\t@echo linking libcurses.a to libncurses.a\n"
printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
printf "\t(cd $(DESTDIR)$(libdir) && $(LN_S) libncurses.a libcurses.a)\n"
}
printf "\t$(RANLIB) $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name
printf "\t$(RANLIB) $(DESTDIR)$(libdir)/%s\n", lib_name
if ( target == "vxworks" )
{
printf "\t@echo installing ../lib/lib%s.o as $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name, name
printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name, name
printf "\t@echo installing ../lib/lib%s.o as $(DESTDIR)$(libdir)/lib%s.o\n", name, name
printf "\t$(INSTALL_DATA) ../lib/lib%s.o $(DESTDIR)$(libdir)/lib%s.o\n", name, name
}
print ""
print "uninstall \\"
print "uninstall.libs \\"
printf "uninstall.%s ::\n", name
printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/%s \n", lib_name
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/%s\n", lib_name
printf "\t@echo uninstalling $(DESTDIR)$(libdir)/%s\n", lib_name
printf "\t-@rm -f $(DESTDIR)$(libdir)/%s\n", lib_name
if ( overwrite == "yes" && lib_name == "libncurses.a" )
{
printf "\t@echo linking libcurses.a to libncurses.a \n"
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/libcurses.a \n"
printf "\t@echo linking libcurses.a to libncurses.a\n"
printf "\t-@rm -f $(DESTDIR)$(libdir)/libcurses.a\n"
}
if ( target == "vxworks" )
{
printf "\t@echo uninstalling $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name
printf "\t-@rm -f $(INSTALL_PREFIX)$(libdir)/lib%s.o\n", name
printf "\t@echo uninstalling $(DESTDIR)$(libdir)/lib%s.o\n", name
printf "\t-@rm -f $(DESTDIR)$(libdir)/lib%s.o\n", name
}
}
print ""
print "clean ::"
printf "\t-rm -f ../lib/%s\n", lib_name
removelinks("../lib");
print ""
print "mostlyclean::"
printf "\t-rm -f $(%s_OBJS)\n", OBJS
print ""
print "clean ::"
removelinks();
}
else if ( found == 2 )
{

View File

@ -1,4 +1,4 @@
# $Id: Makefile.in,v 1.66 2000/05/28 01:39:56 tom Exp $
# $Id: Makefile.in,v 1.69 2000/08/26 21:51:30 tom Exp $
##############################################################################
# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. #
# #
@ -54,7 +54,7 @@ CF_MFLAGS = @cf_cv_makeflags@
@SET_MAKE@
MODEL = @DFT_LWR_MODEL@
INSTALL_PREFIX = @INSTALL_PREFIX@
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@ -62,8 +62,6 @@ libdir = @libdir@
includedir = @includedir@
datadir = @datadir@
ticdir = $(datadir)/terminfo
INSTALL = @INSTALL@
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
INSTALL_DATA = @INSTALL_DATA@
@ -80,7 +78,7 @@ CFLAGS = @CFLAGS@
INCDIR = $(srcdir)/../include
CPPFLAGS = -I../ncurses -I$(srcdir) @CPPFLAGS@ \
-DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
-DHAVE_CONFIG_H
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
@ -150,7 +148,7 @@ libs :: $(AUTO_SRC) ../lib $(LIBRARIES)
sources: $(AUTO_SRC)
$(INSTALL_PREFIX)$(libdir) :
$(DESTDIR)$(libdir) :
$(srcdir)/../mkinstalldirs $@
../lib : ; mkdir $@
@ -202,8 +200,8 @@ make_hash$x : \
tags:
ctags *.[ch]
TAGS:
etags *.[ch]
@MAKE_UPPER_TAGS@TAGS:
@MAKE_UPPER_TAGS@ etags *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.ln *.atac trace

View File

@ -2,7 +2,7 @@
#
# MKlib_gen.sh -- generate sources from curses.h macro definitions
#
# ($Id: MKlib_gen.sh,v 1.11 1998/01/17 14:16:52 Juan.Jose.Garcia.Ripoll Exp $)
# ($Id: MKlib_gen.sh,v 1.12 2000/07/29 16:30:11 tom Exp $)
#
# The XSI Curses standard requires all curses entry points to exist as
# functions, even though many definitions would normally be shadowed
@ -113,6 +113,11 @@ BEGIN {
print "\n"
skip=1;
if ( $1 == "chtype" ) {
returnType = "Char";
} else {
returnType = "Code";
}
print "M_" $2
print $0;
print "{";
@ -200,7 +205,7 @@ BEGIN {
if (match($0, "^void"))
call = ""
else if (dotrace)
call = "returnCode( ";
call = sprintf("return%s( ", returnType);
else
call = "%%return ";

View File

@ -40,7 +40,7 @@
#include <curses.priv.h>
MODULE_ID("$Id: lib_addstr.c,v 1.17 2000/04/29 21:15:55 tom Exp $")
MODULE_ID("$Id: lib_addstr.c,v 1.18 2000/07/29 16:42:41 tom Exp $")
int
waddnstr(WINDOW *win, const char *const astr, int n)
@ -51,7 +51,7 @@ waddnstr(WINDOW *win, const char *const astr, int n)
T((T_CALLED("waddnstr(%p,%s,%d)"), win, _nc_visbuf(astr), n));
if (win && (str != 0)) {
T(("... current %s", _traceattr(win->_attrs)));
TR(TRACE_VIRTPUT | TRACE_ATTRS, ("... current %s", _traceattr(win->_attrs)));
TR(TRACE_VIRTPUT, ("str is not null"));
code = OK;
if (n < 0)

View File

@ -41,7 +41,7 @@
#include <term.h>
#include <tic.h>
MODULE_ID("$Id: lib_color.c,v 1.51 2000/05/20 20:09:22 tom Exp $")
MODULE_ID("$Id: lib_color.c,v 1.53 2000/09/02 18:02:15 tom Exp $")
/*
* These should be screen structure members. They need to be globals for
@ -85,7 +85,7 @@ static const color_t hls_palette[] =
};
/* *INDENT-ON* */
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
/*
* These are called from _nc_do_color(), which in turn is called from
* vidattr - so we have to assume that SP may be null.
@ -265,7 +265,7 @@ init_pair(short pair, short f, short b)
if ((pair < 0) || (pair >= COLOR_PAIRS))
returnCode(ERR);
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
if (SP->_default_color) {
if (f < 0)
f = C_MASK;
@ -438,7 +438,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
pair_content(old_pair, &old_fg, &old_bg);
if ((fg == C_MASK && old_fg != C_MASK)
|| (bg == C_MASK && old_bg != C_MASK)) {
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
/*
* A minor optimization - but extension. If "AX" is specified in
* the terminal description, treat it as screen's indicator of ECMA
@ -458,7 +458,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
return;
}
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
if (fg == C_MASK)
fg = default_fg();
if (bg == C_MASK)
@ -471,7 +471,7 @@ _nc_do_color(int old_pair, int pair, bool reverse, int (*outc) (int))
bg = xx;
}
T(("setting colors: pair = %d, fg = %d, bg = %d", pair, fg, bg));
TR(TRACE_ATTRS, ("setting colors: pair = %d, fg = %d, bg = %d", pair, fg, bg));
if (fg != C_MASK) {
set_foreground_color(fg, outc);

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -40,17 +40,19 @@
#include <curses.priv.h>
#include <ctype.h>
MODULE_ID("$Id: lib_colorset.c,v 1.5 1999/05/16 17:13:43 juergen Exp $")
MODULE_ID("$Id: lib_colorset.c,v 1.6 2000/07/29 16:37:19 tom Exp $")
int wcolor_set(WINDOW *win, short color_pair_number, void *opts)
int
wcolor_set(WINDOW *win, short color_pair_number, void *opts)
{
T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
if (win && !opts && (color_pair_number >= 0) && (color_pair_number < COLOR_PAIRS)) {
T(("... current %ld", (long) PAIR_NUMBER(win->_attrs)));
toggle_attr_on(win->_attrs,COLOR_PAIR(color_pair_number));
returnCode(OK);
} else
returnCode(ERR);
T((T_CALLED("wcolor_set(%p,%d)"), win, color_pair_number));
if (win
&& !opts
&& (color_pair_number >= 0)
&& (color_pair_number < COLOR_PAIRS)) {
TR(TRACE_ATTRS, ("... current %ld", (long) PAIR_NUMBER(win->_attrs)));
toggle_attr_on(win->_attrs, COLOR_PAIR(color_pair_number));
returnCode(OK);
} else
returnCode(ERR);
}

View File

@ -33,7 +33,7 @@
#include <curses.priv.h>
#include <term.h>
MODULE_ID("$Id: lib_dft_fgbg.c,v 1.11 2000/05/07 01:26:06 tom Exp $")
MODULE_ID("$Id: lib_dft_fgbg.c,v 1.13 2000/07/07 16:50:27 tom Exp $")
/*
* Modify the behavior of color-pair 0 so that the library doesn't assume that
@ -61,7 +61,7 @@ assume_default_colors(int fg, int bg)
if (initialize_pair) /* don't know how to handle this */
returnCode(ERR);
SP->_default_color = (fg != COLOR_WHITE) || (bg != COLOR_BLACK);
SP->_default_color = (fg < 0 || fg == C_MASK) || (bg < 0 || bg == C_MASK);
SP->_has_sgr_39_49 = (tigetflag("AX") == TRUE);
SP->_default_fg = (fg >= 0) ? (fg & C_MASK) : C_MASK;
SP->_default_bg = (bg >= 0) ? (bg & C_MASK) : C_MASK;

View File

@ -40,56 +40,17 @@
#include <curses.priv.h>
MODULE_ID("$Id: lib_getch.c,v 1.47 2000/05/28 01:12:51 tom Exp $")
MODULE_ID("$Id: lib_getch.c,v 1.50 2000/10/09 23:53:57 Ilya.Zakharevich Exp $")
#include <fifo_defs.h>
int ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */
#ifdef USE_EMX_MOUSE
# include <sys/select.h>
static int
kbd_mouse_read(unsigned char *p)
{
fd_set fdset;
int nums = SP->_ifd + 1;
for (;;) {
FD_ZERO(&fdset);
FD_SET(SP->_ifd, &fdset);
if (SP->_checkfd >= 0) {
FD_SET(SP->_checkfd, &fdset);
if (SP->_checkfd >= nums)
nums = SP->_checkfd + 1;
}
if (SP->_mouse_fd >= 0) {
FD_SET(SP->_mouse_fd, &fdset);
if (SP->_mouse_fd >= nums)
nums = SP->_mouse_fd + 1;
}
if (select(nums, &fdset, NULL, NULL, NULL) >= 0) {
int n;
if (SP->_mouse_fd >= 0
&& FD_ISSET(SP->_mouse_fd, &fdset)) { /* Prefer mouse */
n = read(SP->_mouse_fd, p, 1);
} else {
n = read(SP->_ifd, p, 1);
}
return n;
}
if (errno != EINTR) {
return -1;
}
}
}
#endif /* USE_EMX_MOUSE */
static inline int
fifo_peek(void)
{
int ch = SP->_fifo[peek];
T(("peeking at %d", peek));
TR(TRACE_IEVENT, ("peeking at %d", peek));
p_inc();
return ch;
@ -100,7 +61,7 @@ fifo_pull(void)
{
int ch;
ch = SP->_fifo[head];
T(("pulling %d from %d", ch, head));
TR(TRACE_IEVENT, ("pulling %d from %d", ch, head));
if (peek == head) {
h_inc();
@ -129,7 +90,7 @@ fifo_push(void)
errno = 0;
#endif
#if USE_GPM_SUPPORT
#if USE_GPM_SUPPORT || defined(USE_EMX_MOUSE)
if ((SP->_mouse_fd >= 0)
&& (_nc_timed_wait(3, -1, (int *) 0) & 2)) {
SP->_mouse_event(SP);
@ -139,11 +100,7 @@ fifo_push(void)
#endif
{
unsigned char c2 = 0;
#ifdef USE_EMX_MOUSE
n = kbd_mouse_read(&c2);
#else
n = read(SP->_ifd, &c2, 1);
#endif
ch = c2 & 0xff;
}
@ -162,17 +119,17 @@ fifo_push(void)
#endif
if ((n == -1) || (n == 0)) {
T(("read(%d,&ch,1)=%d, errno=%d", SP->_ifd, n, errno));
return ERR;
TR(TRACE_IEVENT, ("read(%d,&ch,1)=%d, errno=%d", SP->_ifd, n, errno));
ch = ERR;
}
T(("read %d characters", n));
TR(TRACE_IEVENT, ("read %d characters", n));
SP->_fifo[tail] = ch;
SP->_fifohold = 0;
if (head == -1)
head = peek = tail;
t_inc();
T(("pushed %#x at %d", ch, tail));
TR(TRACE_IEVENT, ("pushed %#x at %d", ch, tail));
#ifdef TRACE
if (_nc_tracing & TRACE_IEVENT)
_nc_fifo_dump();
@ -223,7 +180,7 @@ wgetch(WINDOW *win)
if (head == -1 && !SP->_raw && !SP->_cbreak) {
char buf[MAXCOLUMNS], *sp;
T(("filling queue in cooked mode"));
TR(TRACE_IEVENT, ("filling queue in cooked mode"));
wgetnstr(win, buf, MAXCOLUMNS);
@ -241,13 +198,13 @@ wgetch(WINDOW *win)
if (!win->_notimeout && (win->_delay >= 0 || SP->_cbreak > 1)) {
int delay;
T(("timed delay in wgetch()"));
TR(TRACE_IEVENT, ("timed delay in wgetch()"));
if (SP->_cbreak > 1)
delay = (SP->_cbreak - 1) * 100;
else
delay = win->_delay;
T(("delay is %d milliseconds", delay));
TR(TRACE_IEVENT, ("delay is %d milliseconds", delay));
if (head == -1) /* fifo is empty */
if (!_nc_timed_wait(3, delay, (int *) 0))

View File

@ -40,7 +40,7 @@
#include <curses.priv.h>
MODULE_ID("$Id: lib_hline.c,v 1.5 2000/04/29 21:14:30 tom Exp $")
MODULE_ID("$Id: lib_hline.c,v 1.6 2000/07/04 14:08:09 Philippe.Blain Exp $")
int
whline(WINDOW *win, chtype ch, int n)
@ -69,6 +69,8 @@ whline(WINDOW *win, chtype ch, int n)
line->text[end] = ch;
end--;
}
_nc_synchook(win);
code = OK;
}
returnCode(code);

View File

@ -84,7 +84,7 @@
#endif
#endif
MODULE_ID("$Id: lib_mouse.c,v 1.52 2000/06/29 23:02:26 tom Exp $")
MODULE_ID("$Id: lib_mouse.c,v 1.55 2000/10/10 00:07:28 Ilya.Zakharevich Exp $")
#define MY_TRACE TRACE_ICALLS|TRACE_IEVENT
@ -130,8 +130,8 @@ _trace_slot(const char *tag)
for (ep = events; ep < events + EV_MAX; ep++)
_tracef("mouse event queue slot %ld = %s",
(long) (ep - events),
_tracemouse(ep));
(long) (ep - events),
_tracemouse(ep));
}
#endif
@ -154,7 +154,7 @@ write_event(int down, int button, int x, int y)
char buf[6];
unsigned long ignore;
strcpy(buf, key_mouse);
strncpy(buf, key_mouse, 3); /* should be "\033[M" */
buf[3] = ' ' + (button - 1) + (down ? 0 : 0x40);
buf[4] = ' ' + x - LEFT_COL + 1;
buf[5] = ' ' + y - TOP_ROW + 1;
@ -169,20 +169,27 @@ mouse_server(unsigned long ignored GCC_UNUSED)
MOUEVENTINFO mouev;
HMOU hmou;
unsigned short mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN | MOUSE_BN3_DOWN;
int nbuttons = 3;
int oldstate = 0;
char errmess[] = "Unexpected termination of mouse thread\r\n";
unsigned long ignore;
char err[80];
unsigned long rc;
/* open the handle for the mouse */
if (MouOpen(NULL, &hmou) == 0) {
if (MouSetEventMask(&mask, hmou) == 0
&& MouDrawPtr(hmou) == 0) {
rc = MouSetEventMask(&mask, hmou);
if (rc) { /* retry with 2 buttons */
mask = MOUSE_BN1_DOWN | MOUSE_BN2_DOWN;
rc = MouSetEventMask(&mask, hmou);
nbuttons = 2;
}
if (rc == 0 && MouDrawPtr(hmou) == 0) {
for (;;) {
/* sit and wait on the event queue */
if (MouReadEventQue(&mouev, &fWait, hmou))
rc = MouReadEventQue(&mouev, &fWait, hmou);
if (rc) {
sprintf(err, "Error reading mouse queue, rc=%lu.\r\n", rc);
break;
}
if (!mouse_activated)
goto finish;
@ -195,24 +202,27 @@ mouse_server(unsigned long ignored GCC_UNUSED)
*/
if ((mouev.fs ^ oldstate) & MOUSE_BN1_DOWN)
write_event(mouev.fs & MOUSE_BN1_DOWN,
mouse_buttons[1], mouev.col, mouev.row);
mouse_buttons[1], mouev.col, mouev.row);
if ((mouev.fs ^ oldstate) & MOUSE_BN2_DOWN)
write_event(mouev.fs & MOUSE_BN2_DOWN,
mouse_buttons[3], mouev.col, mouev.row);
mouse_buttons[3], mouev.col, mouev.row);
if ((mouev.fs ^ oldstate) & MOUSE_BN3_DOWN)
write_event(mouev.fs & MOUSE_BN3_DOWN,
mouse_buttons[2], mouev.col, mouev.row);
mouse_buttons[2], mouev.col, mouev.row);
finish:
oldstate = mouev.fs;
}
}
} else
sprintf(err, "Error setting event mask, buttons=%d, rc=%lu.\r\n",
nbuttons, rc);
DosWrite(2, errmess, strlen(errmess), &ignore);
DosWrite(2, err, strlen(err), &rc);
MouClose(hmou);
}
DosExit(EXIT_THREAD, 0L);
}
static void
server_state(const int state)
{ /* It would be nice to implement pointer-off and stop looping... */
@ -248,8 +258,10 @@ initialize_mousetype(void)
&& strstr(cur_term->type.term_names, "xterm") == 0
&& key_mouse) {
int handles[2];
if (pipe(handles) < 0) {
perror("mouse pipe error");
return;
} else {
int rc;
@ -270,9 +282,10 @@ initialize_mousetype(void)
setmode(handles[1], O_BINARY);
/* Do not use CRT functions, we may single-threaded. */
rc = DosCreateThread((unsigned long *) &mouse_thread,
mouse_server, 0, 0, 8192);
mouse_server, 0, 0, 8192);
if (rc) {
printf("mouse thread error %d=%#x", rc, rc);
return;
} else {
mousetype = M_XTERM;
return;
@ -359,6 +372,23 @@ _nc_mouse_event(SCREEN * sp GCC_UNUSED)
}
#endif
#ifdef USE_EMX_MOUSE
if (SP->_mouse_fd >= 0
&& (_nc_timed_wait(3, 0, (int *) 0) & 2) != 0) {
char kbuf[3];
int i, res = read(M_FD(sp), &kbuf, 3); /* Eat the prefix */
if (res != 3)
printf("Got %d chars instead of 3 for prefix.\n", res);
for (i = 0; i < res; i++) {
if (kbuf[i] != key_mouse[i])
printf("Got char %d instead of %d for prefix.\n",
(int) kbuf[i], (int) key_mouse[i]);
}
return TRUE;
}
#endif /* USE_EMX_MOUSE */
/* xterm: never have to query, mouse events are in the keyboard stream */
return (FALSE); /* no event waiting */
}
@ -419,7 +449,7 @@ _nc_mouse_inline(SCREEN * sp)
kbuf[3] = '\0';
TR(TRACE_IEVENT,
("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
("_nc_mouse_inline sees the following xterm data: '%s'", kbuf));
eventp->id = 0; /* there's only one mouse... */
@ -457,8 +487,8 @@ _nc_mouse_inline(SCREEN * sp)
*/
eventp->bstate =
(BUTTON1_RELEASED |
BUTTON2_RELEASED |
BUTTON3_RELEASED);
BUTTON2_RELEASED |
BUTTON3_RELEASED);
/*
* ...however, because there are no kinds of mouse events under
* xterm that can intervene between press and release, we can
@ -488,9 +518,9 @@ _nc_mouse_inline(SCREEN * sp)
eventp->x = (kbuf[1] - ' ') - 1;
eventp->y = (kbuf[2] - ' ') - 1;
TR(MY_TRACE,
("_nc_mouse_inline: primitive mouse-event %s has slot %ld",
_tracemouse(eventp),
(long) (eventp - events)));
("_nc_mouse_inline: primitive mouse-event %s has slot %ld",
_tracemouse(eventp),
(long) (eventp - events)));
/* bump the next-free pointer into the circular list */
eventp = NEXT(eventp);
@ -514,7 +544,7 @@ mouse_activate(bool on)
switch (mousetype) {
case M_XTERM:
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
keyok(KEY_MOUSE, on);
#endif
TPUTS_TRACE("xterm mouse initialization");
@ -598,9 +628,9 @@ _nc_mouse_parse(int runcount)
*/
if (runcount == 1) {
TR(MY_TRACE,
("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
_tracemouse(prev),
(long) (prev - events)));
("_nc_mouse_parse: returning simple mouse event %s at slot %ld",
_tracemouse(prev),
(long) (prev - events)));
return (prev->id >= 0)
? ((prev->bstate & eventmask) ? TRUE : FALSE)
: FALSE;
@ -616,9 +646,9 @@ _nc_mouse_parse(int runcount)
if (_nc_tracing & TRACE_IEVENT) {
_trace_slot("before mouse press/release merge:");
_tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
}
#endif /* TRACE */
@ -664,9 +694,9 @@ _nc_mouse_parse(int runcount)
if (_nc_tracing & TRACE_IEVENT) {
_trace_slot("before mouse click merge:");
_tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
}
#endif /* TRACE */
@ -700,7 +730,7 @@ _nc_mouse_parse(int runcount)
/* merge click events forward */
if ((ep->bstate &
(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))
&& (follower->bstate &
(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
if ((eventmask & BUTTON1_DOUBLE_CLICKED)
@ -727,9 +757,9 @@ _nc_mouse_parse(int runcount)
/* merge double-click events forward */
if ((ep->bstate &
(BUTTON1_DOUBLE_CLICKED
| BUTTON2_DOUBLE_CLICKED
| BUTTON3_DOUBLE_CLICKED))
(BUTTON1_DOUBLE_CLICKED
| BUTTON2_DOUBLE_CLICKED
| BUTTON3_DOUBLE_CLICKED))
&& (follower->bstate &
(BUTTON1_CLICKED | BUTTON2_CLICKED | BUTTON3_CLICKED))) {
if ((eventmask & BUTTON1_TRIPLE_CLICKED)
@ -761,9 +791,9 @@ _nc_mouse_parse(int runcount)
if (_nc_tracing & TRACE_IEVENT) {
_trace_slot("before mouse event queue compaction:");
_tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
}
#endif /* TRACE */
@ -779,16 +809,16 @@ _nc_mouse_parse(int runcount)
if (_nc_tracing & TRACE_IEVENT) {
_trace_slot("after mouse event queue compaction:");
_tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d",
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
(long) (runp - events),
(long) ((eventp - events) + (EV_MAX - 1)) % EV_MAX,
runcount);
}
for (ep = runp; ep != eventp; ep = NEXT(ep))
if (ep->id != INVALID_EVENT)
TR(MY_TRACE,
("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
_tracemouse(ep),
(long) (ep - events)));
("_nc_mouse_parse: returning composite mouse event %s at slot %ld",
_tracemouse(ep),
(long) (ep - events)));
#endif /* TRACE */
/* after all this, do we have a valid event? */
@ -847,8 +877,8 @@ getmouse(MEVENT * aevent)
*aevent = *prev;
TR(TRACE_IEVENT, ("getmouse: returning event %s from slot %ld",
_tracemouse(prev),
(long) (prev - events)));
_tracemouse(prev),
(long) (prev - events)));
prev->id = INVALID_EVENT; /* so the queue slot becomes free */
returnCode(OK);
@ -888,12 +918,12 @@ mousemask(mmask_t newmask, mmask_t * oldmask)
if (mousetype != M_NONE) {
eventmask = newmask &
(BUTTON_ALT | BUTTON_CTRL | BUTTON_SHIFT
| BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
| BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
| BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
| BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
| BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
| BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
| BUTTON1_PRESSED | BUTTON1_RELEASED | BUTTON1_CLICKED
| BUTTON1_DOUBLE_CLICKED | BUTTON1_TRIPLE_CLICKED
| BUTTON2_PRESSED | BUTTON2_RELEASED | BUTTON2_CLICKED
| BUTTON2_DOUBLE_CLICKED | BUTTON2_TRIPLE_CLICKED
| BUTTON3_PRESSED | BUTTON3_RELEASED | BUTTON3_CLICKED
| BUTTON3_DOUBLE_CLICKED | BUTTON3_TRIPLE_CLICKED);
mouse_activate(eventmask != 0);
@ -910,9 +940,9 @@ wenclose(const WINDOW *win, int y, int x)
if (win) {
y -= win->_yoffset;
return ((win->_begy <= y &&
win->_begx <= x &&
(win->_begx + win->_maxx) >= x &&
(win->_begy + win->_maxy) >= y) ? TRUE : FALSE);
win->_begx <= x &&
(win->_begx + win->_maxx) >= x &&
(win->_begy + win->_maxy) >= y) ? TRUE : FALSE);
}
return FALSE;
}

View File

@ -40,14 +40,14 @@
#include <curses.priv.h>
#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
#endif
#include <term.h> /* clear_screen, cup & friends, cur_term */
#include <tic.h>
MODULE_ID("$Id: lib_newterm.c,v 1.46 2000/07/01 22:26:22 tom Exp $")
MODULE_ID("$Id: lib_newterm.c,v 1.48 2000/09/02 18:11:42 tom Exp $")
#ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */
#define ONLCR 0
@ -191,17 +191,21 @@ newterm(NCURSES_CONST char *name, FILE * ofp, FILE * ifp)
SP->_use_rmso = SGR0_TEST(exit_standout_mode);
SP->_use_rmul = SGR0_TEST(exit_underline_mode);
#ifdef USE_WIDEC_SUPPORT
#if USE_WIDEC_SUPPORT
/*
* XFree86 xterm can be configured to support UTF-8 based on environment
* variable settings.
*/
{
char *s;
if (((s = getenv("LC_ALL")) != 0
|| (s = getenv("LC_CTYPE")) != 0
|| (s = getenv("LANG")) != 0)
&& strstr(s, "UTF-8") != 0) {
s = getenv("LC_ALL");
if (s == NULL || *s == '\0') {
s = getenv("LC_CTYPE");
if (s == NULL || *s == '\0') {
s = getenv("LANG");
}
}
if (s != NULL && *s != '\0' && strstr(s, "UTF-8") != NULL) {
SP->_outch = _nc_utf8_outch;
}
}

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -41,50 +41,51 @@
#include <curses.priv.h>
#if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE)
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
#define _POSIX_SOURCE
#endif
#include <term.h> /* lines, columns, cur_term */
#include <term.h> /* lines, columns, cur_term */
MODULE_ID("$Id: lib_restart.c,v 1.2 1999/07/24 20:10:04 tom Exp $")
MODULE_ID("$Id: lib_restart.c,v 1.3 2000/09/02 18:09:44 tom Exp $")
int restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
int
restartterm(NCURSES_CONST char *termp, int filenum, int *errret)
{
int saveecho = SP->_echo;
int savecbreak = SP->_cbreak;
int saveraw = SP->_raw;
int savenl = SP->_nl;
int saveecho = SP->_echo;
int savecbreak = SP->_cbreak;
int saveraw = SP->_raw;
int savenl = SP->_nl;
T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret));
setupterm(termp, filenum, errret);
setupterm(termp, filenum, errret);
if (saveecho)
echo();
else
noecho();
if (saveecho)
echo();
else
noecho();
if (savecbreak) {
cbreak();
noraw();
} else if (saveraw) {
nocbreak();
raw();
} else {
nocbreak();
noraw();
}
if (savenl)
nl();
else
nonl();
if (savecbreak) {
cbreak();
noraw();
} else if (saveraw) {
nocbreak();
raw();
} else {
nocbreak();
noraw();
}
if (savenl)
nl();
else
nonl();
reset_prog_mode();
reset_prog_mode();
#if USE_SIZECHANGE
_nc_update_screensize();
_nc_update_screensize();
#endif
returnCode(OK);
returnCode(OK);
}

View File

@ -43,7 +43,7 @@
#include <term.h> /* cur_term */
#include <tic.h>
MODULE_ID("$Id: lib_set_term.c,v 1.55 2000/07/02 00:22:18 tom Exp $")
MODULE_ID("$Id: lib_set_term.c,v 1.58 2000/10/04 22:05:48 tom Exp $")
SCREEN *
set_term(SCREEN * screenp)
@ -171,7 +171,7 @@ no_mouse_wrap(SCREEN * sp GCC_UNUSED)
{
}
#if defined(NCURSES_EXT_FUNCS) && defined(USE_COLORFGBG)
#if NCURSES_EXT_FUNCS && USE_COLORFGBG
static char *
extract_fgbg(char *src, int *result)
{
@ -220,17 +220,45 @@ _nc_setupscreen(short slines, short const scolumns, FILE * output)
SP->_endwin = TRUE;
SP->_ofp = output;
SP->_cursor = -1; /* cannot know real cursor shape */
#ifdef NCURSES_NO_PADDING
#if NCURSES_NO_PADDING
SP->_no_padding = getenv("NCURSES_NO_PADDING") != 0;
TR(TRACE_CHARPUT | TRACE_MOVE, ("padding will%s be used",
SP->_no_padding ? " not" : ""));
#endif
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
SP->_default_color = FALSE;
SP->_has_sgr_39_49 = FALSE;
/*
* Set our assumption of the terminal's default foreground and background
* colors. The curs_color man-page states that we can assume that the
* background is black. The origin of this assumption appears to be
* terminals that displayed colored text, but no colored backgrounds, e.g.,
* the first colored terminals around 1980. More recent ones with better
* technology can display not only colored backgrounds, but all
* combinations. So a terminal might be something other than "white" on
* black (green/black looks monochrome too), but black on white or even
* on ivory.
*
* White-on-black is the simplest thing to use for monochrome. Almost
* all applications that use color paint both text and background, so
* the distinction is moot. But a few do not - which is why we leave this
* configurable (a better solution is to use assume_default_colors() for
* the rare applications that do require that sort of appearance, since
* is appears that more users expect to be able to make a white-on-black
* or black-on-white display under control of the application than not).
*/
#ifdef USE_ASSUMED_COLOR
SP->_default_fg = COLOR_WHITE;
SP->_default_bg = COLOR_BLACK;
#ifdef USE_COLORFGBG
#else
SP->_default_fg = C_MASK;
SP->_default_bg = C_MASK;
#endif
#if USE_COLORFGBG
/*
* If rxvt's $COLORFGBG variable is set, use it to specify the assumed
* default colors. Note that rxvt (mis)uses bold colors, equating a bold

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -39,14 +39,15 @@
#include <curses.priv.h>
MODULE_ID("$Id: lib_winch.c,v 1.1 1998/11/14 22:06:09 tom Exp $")
MODULE_ID("$Id: lib_winch.c,v 1.2 2000/07/29 16:41:44 tom Exp $")
chtype winch(WINDOW *win)
chtype
winch(WINDOW *win)
{
T((T_CALLED("winch(%p)"), win));
if (win != 0) {
returnCode(win->_line[win->_cury].text[win->_curx]);
} else {
returnCode(0);
}
T((T_CALLED("winch(%p)"), win));
if (win != 0) {
returnChar(win->_line[win->_cury].text[win->_curx]);
} else {
returnChar(0);
}
}

View File

@ -33,7 +33,7 @@
/*
* $Id: curses.priv.h,v 1.162 2000/06/24 21:06:10 tom Exp $
* $Id: curses.priv.h,v 1.168 2000/10/08 01:24:59 tom Exp $
*
* curses.priv.h
*
@ -99,7 +99,7 @@ extern int errno;
/* Some systems have a broken 'select()', but workable 'poll()'. Use that */
#if HAVE_WORKING_POLL
#define USE_FUNC_POLL 1
#ifdef HAVE_POLL_H
#if HAVE_POLL_H
#include <poll.h>
#else
#include <sys/poll.h>
@ -134,7 +134,7 @@ extern int errno;
* If we don't have signals to support it, don't add a sigwinch handler.
* In any case, resizing is an extended feature. Use it if we've got it.
*/
#ifndef NCURSES_EXT_FUNCS
#if !NCURSES_EXT_FUNCS
#undef HAVE_SIZECHANGE
#endif
@ -144,6 +144,17 @@ extern int errno;
#undef USE_SIGWINCH
#endif
/*
* If desired, one can configure this, disabling environment variables that
* point to custom terminfo/termcap locations.
*/
#ifdef USE_ROOT_ENVIRON
#define use_terminfo_vars() 1
#else
#define use_terminfo_vars() _nc_env_access()
extern int _nc_env_access(void);
#endif
/*
* Not all platforms have memmove; some have an equivalent bcopy. (Some may
* have neither).
@ -288,7 +299,7 @@ struct screen {
SLK *_slk; /* ptr to soft key struct / NULL */
int slk_format; /* selected format for this screen */
/* cursor movement costs; units are 10ths of milliseconds */
#ifdef NCURSES_NO_PADDING
#if NCURSES_NO_PADDING
int _no_padding; /* flag to set if padding disabled */
#endif
int _char_padding; /* cost of character put */
@ -329,9 +340,7 @@ struct screen {
int _ip_cost; /* cost of (insert_padding) */
/* used in lib_mvcur.c */
char * _address_cursor;
int _carriage_return_length;
int _cursor_home_length;
int _cursor_to_ll_length;
/* used in tty_update.c */
int _scrolling; /* 1 if terminal's smart enough to */
/* used in lib_color.c */
@ -339,7 +348,7 @@ struct screen {
int _color_count; /* count of colors in palette */
unsigned short *_color_pairs; /* screen's color pair list */
int _pair_count; /* count of color pairs */
#ifdef NCURSES_EXT_FUNCS
#if NCURSES_EXT_FUNCS
bool _default_color; /* use default colors */
bool _has_sgr_39_49; /* has ECMA default color support */
int _default_fg; /* assumed default foreground */
@ -407,7 +416,7 @@ struct screen {
extern SCREEN *_nc_screen_chain;
#ifdef NCURSES_NOMACROS
#if NCURSES_NOMACROS
#include <nomacros.h>
#endif
@ -530,12 +539,14 @@ typedef struct {
#define TPUTS_TRACE(s) _nc_tputs_trace = s;
#define TRACE_RETURN(value,type) return _nc_retrace_##type(value)
#define returnAttr(code) TRACE_RETURN(code,attr_t)
#define returnChar(code) TRACE_RETURN(code,chtype)
#define returnCode(code) TRACE_RETURN(code,int)
#define returnPtr(code) TRACE_RETURN(code,ptr)
#define returnVoid T((T_RETURN(""))); return
#define returnWin(code) TRACE_RETURN(code,win)
extern WINDOW * _nc_retrace_win(WINDOW *);
extern attr_t _nc_retrace_attr_t(attr_t);
extern attr_t _nc_retrace_chtype(chtype);
extern char *_nc_retrace_ptr(char *);
extern const char *_nc_tputs_trace;
extern int _nc_retrace_int(int);
@ -546,6 +557,7 @@ extern void _nc_fifo_dump(void);
#define TR(n, a)
#define TPUTS_TRACE(s)
#define returnAttr(code) return code
#define returnChar(code) return code
#define returnCode(code) return code
#define returnPtr(code) return code
#define returnVoid return
@ -568,7 +580,7 @@ extern const char *_nc_visbuf2(int, const char *);
(S) = ((S) & ALL_BUT_COLOR) | (at);\
else\
(S) |= (at);\
T(("new attribute is %s", _traceattr((S))));}
TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
#define toggle_attr_off(S,at) {\
@ -583,7 +595,7 @@ extern const char *_nc_visbuf2(int, const char *);
else /* leave color alone */\
(S) &= ~(at);\
}\
T(("new attribute is %s", _traceattr((S))));}
TR(TRACE_ATTRS, ("new attribute is %s", _traceattr((S))));}
#define DelCharCost(count) \
((parm_dch != 0) \
@ -607,7 +619,8 @@ extern const char *_nc_visbuf2(int, const char *);
vidattr(AttrOf(c)); \
if (magic_cookie_glitch > 0 \
&& XMC_CHANGES((chg ^ SP->_current_attr))) { \
T(("%s @%d before glitch %d,%d", \
TR(TRACE_ATTRS, \
("%s @%d before glitch %d,%d", \
__FILE__, __LINE__, \
SP->_cursrow, \
SP->_curscol)); \
@ -619,7 +632,7 @@ extern const char *_nc_visbuf2(int, const char *);
vidattr(AttrOf(c))
#endif
#if defined(NCURSES_EXPANDED) && defined(NCURSES_EXT_FUNCS)
#if NCURSES_EXPANDED && NCURSES_EXT_FUNCS
#undef toggle_attr_on
#define toggle_attr_on(S,at) _nc_toggle_attr_on(&(S), at)
@ -678,14 +691,40 @@ extern void _nc_screen_init(void);
extern void _nc_screen_resume(void);
extern void _nc_screen_wrap(void);
/* lib_mouse.c */
extern int _nc_has_mouse(void);
/* lib_mvcur.c */
#define INFINITY 1000000 /* cost: too high to use */
typedef struct {
char *s_head;
char *s_tail;
size_t s_size;
} string_desc;
/* strings.c */
extern string_desc *_nc_str_init(string_desc * dst, char *src, size_t len);
extern string_desc *_nc_str_null(string_desc * dst, size_t len);
extern string_desc *_nc_str_copy(string_desc * dst, string_desc * src);
extern bool _nc_safe_strcat(string_desc * dst, const char *src);
extern bool _nc_safe_strcpy(string_desc * dst, const char *src);
extern void _nc_mvcur_init(void);
extern void _nc_mvcur_resume(void);
extern void _nc_mvcur_wrap(void);
extern int _nc_scrolln(int, int, int, int);
extern void _nc_screen_init(void);
extern void _nc_screen_resume(void);
extern void _nc_screen_wrap(void);
#if !HAVE_STRSTR
#define strstr _nc_strstr
extern char *_nc_strstr(const char *, const char *);
#endif
/* lib_mouse.c */
extern int _nc_has_mouse(void);
/* safe_sprintf.c */
extern char * _nc_printf_string(const char *fmt, va_list ap);
@ -731,7 +770,7 @@ extern void _nc_trace_tries(struct tries *tree);
extern void _nc_update_screensize(void);
#endif
#ifdef USE_WIDEC_SUPPORT
#if USE_WIDEC_SUPPORT
extern int _nc_utf8_outch(int);
#endif
@ -750,10 +789,6 @@ extern int *_nc_oldnums;
* On systems with a broken linker, define 'SP' as a function to force the
* linker to pull in the data-only module with 'SP'.
*/
#ifndef BROKEN_LINKER
#define BROKEN_LINKER 0
#endif
#if BROKEN_LINKER
#define SP _nc_screen()
extern SCREEN *_nc_screen(void);

View File

@ -42,6 +42,10 @@ int *_nc_oldnums;
void _nc_scroll_optimize(void)
{ /* void */ }
#undef _nc_linedump
void _nc_linedump(void)
{ /* void */ }
/* ./tty/hashmap.c */
#include <term.h>
@ -247,6 +251,7 @@ int pair_content(
#undef _nc_do_color
void _nc_do_color(
int old_pair,
int pair,
bool reverse,
int (*outc)(
@ -894,6 +899,18 @@ void timeout(
int z)
{ /* void */ }
#undef touchline
int touchline(
WINDOW *a1,
int a2,
int z)
{ return(*(int *)0); }
#undef touchwin
int touchwin(
WINDOW *z)
{ return(*(int *)0); }
#undef untouchwin
int untouchwin(
WINDOW *z)
@ -1196,6 +1213,9 @@ int mvcur(
int xnew)
{ return(*(int *)0); }
#undef _nc_optimize_enable
int _nc_optimize_enable;
/* ./base/lib_mvwin.c */
#undef mvwin
@ -1681,21 +1701,52 @@ int wtouchln(
/* ./trace/lib_traceatr.c */
#undef _nc_lib_traceatr
void _nc_lib_traceatr(void)
{ /* void */ }
#undef _traceattr2
char *_traceattr2(
int bufnum,
attr_t newmode)
{ return(*(char **)0); }
#undef _traceattr
char *_traceattr(
attr_t newmode)
{ return(*(char **)0); }
#undef _nc_retrace_attr_t
attr_t _nc_retrace_attr_t(
attr_t code)
{ return(*(attr_t *)0); }
#undef _tracechtype2
char *_tracechtype2(
int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _tracechtype
char *_tracechtype(
chtype ch)
{ return(*(char **)0); }
#undef _nc_retrace_chtype
attr_t _nc_retrace_chtype(
attr_t code)
{ return(*(attr_t *)0); }
/* ./trace/lib_tracedmp.c */
#undef _nc_lib_tracedmp
void _nc_lib_tracedmp(void)
#undef _tracedump
void _tracedump(
const char *name,
WINDOW *win)
{ /* void */ }
/* ./trace/lib_tracemse.c */
#undef _nc_lib_tracemouse
void _nc_lib_tracemouse(void)
{ /* void */ }
#undef _tracemouse
char *_tracemouse(
MEVENT const *ep)
{ return(*(char **)0); }
/* ./tty/lib_tstp.c */
@ -1709,6 +1760,10 @@ void _nc_signal_handler(
/* ./base/lib_ungetch.c */
#undef _nc_fifo_dump
void _nc_fifo_dump(void)
{ /* void */ }
#undef ungetch
int ungetch(
int ch)
@ -1823,6 +1878,7 @@ char *_nc_printf_string(
/* ./tty/tty_update.c */
#include <sys/time.h>
#include <sys/times.h>
#undef doupdate
int doupdate(void)
@ -1898,11 +1954,6 @@ void _nc_toggle_attr_off(
attr_t at)
{ /* void */ }
#undef _nc_can_clear_with
int _nc_can_clear_with(
chtype ch)
{ return(*(int *)0); }
#undef _nc_DelCharCost
int _nc_DelCharCost(
int count)
@ -2016,18 +2067,27 @@ int wresize(
/* ./tinfo/access.c */
#undef _nc_basename
char *_nc_basename(
char *path)
{ return(*(char **)0); }
#undef _nc_access
int _nc_access(
const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_env_access
int _nc_env_access(void)
{ return(*(int *)0); }
/* ./tinfo/add_tries.c */
#undef _nc_add_to_try
void _nc_add_to_try(
struct tries **tree,
char *str,
const char *str,
unsigned short code)
{ /* void */ }
@ -2221,7 +2281,8 @@ void _nc_read_entry_source(
{ /* void */ }
#undef _nc_resolve_uses
int _nc_resolve_uses(void)
int _nc_resolve_uses(
bool fullresolve)
{ return(*(int *)0); }
/* ./tinfo/comp_scan.c */
@ -2236,6 +2297,10 @@ long _nc_comment_start;
long _nc_comment_end;
#undef _nc_start_line
long _nc_start_line;
#undef _nc_curr_token
struct token _nc_curr_token;
#undef _nc_disable_period
bool _nc_disable_period;
#undef _nc_get_token
int _nc_get_token(void)
@ -2243,7 +2308,8 @@ int _nc_get_token(void)
#undef _nc_trans_string
char _nc_trans_string(
char *ptr)
char *ptr,
char *last)
{ return(*(char *)0); }
#undef _nc_push_token
@ -2311,11 +2377,10 @@ char *_nc_home_terminfo(void)
#include <init_keytry.h>
#endif
#undef _nc_tinfo_fkeys
struct tinfo_fkeys _nc_tinfo_fkeys[];
#undef _nc_tinfo_fkeysf
struct tinfo_fkeys *_nc_tinfo_fkeysf(void)
{ return(*(struct tinfo_fkeys **)0); }
#endif
#undef _nc_init_keytry
void _nc_init_keytry(void)
@ -2335,8 +2400,8 @@ void _nc_init_acs(void)
#include <termcap.h>
struct speed {
speed_t s;
int sp;
int s;
int sp;
};
#undef _nc_baudrate
@ -2598,6 +2663,14 @@ char *tgetstr(
char **area)
{ return(*(char **)0); }
/* ./tinfo/lib_termname.c */
#undef termname
char *termname(void)
{ return(*(char **)0); }
/* ./tinfo/lib_tgoto.c */
#undef tgoto
char *tgoto(
const char *string,
@ -2605,12 +2678,6 @@ char *tgoto(
int y)
{ return(*(char **)0); }
/* ./tinfo/lib_termname.c */
#undef termname
char *termname(void)
{ return(*(char **)0); }
/* ./tinfo/lib_ti.c */
#undef tigetflag
@ -2630,9 +2697,12 @@ char *tigetstr(
/* ./tinfo/lib_tparm.c */
typedef union {
unsigned int num;
char *str;
typedef struct {
union {
unsigned int num;
char *str;
} data;
bool num_type;
} stack_frame;
#undef tparm
@ -2646,7 +2716,7 @@ char *tparm(
#undef PC
char PC;
#undef ospeed
speed_t ospeed;
short ospeed;
#undef _nc_nulls_sent
int _nc_nulls_sent;
@ -2655,6 +2725,10 @@ int delay_output(
int ms)
{ return(*(int *)0); }
#undef _nc_flush
void _nc_flush(void)
{ /* void */ }
#undef _nc_outch
int _nc_outch(
int ch)
@ -2677,6 +2751,10 @@ int tputs(
#undef _nc_tracing
unsigned _nc_tracing;
#undef _nc_tputs_trace
const char *_nc_tputs_trace = {0};
#undef _nc_outchars
long _nc_outchars;
#undef trace
void trace(
@ -2694,8 +2772,34 @@ const char *_nc_visbuf(
const char *buf)
{ return(*(const char **)0); }
#undef _tracef
void _tracef(
const char *fmt,
...)
{ /* void */ }
#undef _nc_retrace_int
int _nc_retrace_int(
int code)
{ return(*(int *)0); }
#undef _nc_retrace_ptr
char *_nc_retrace_ptr(
char *code)
{ return(*(char **)0); }
#undef _nc_retrace_win
WINDOW *_nc_retrace_win(
WINDOW *code)
{ return(*(WINDOW **)0); }
/* ./trace/lib_tracebits.c */
typedef struct {
unsigned int val;
const char *name;
} BITNAMES;
#undef _nc_tracebits
char *_nc_tracebits(void)
{ return(*(char **)0); }
@ -2782,8 +2886,6 @@ char *const strnames[] = {0};
char *const strfnames[] = {0};
/* ./tinfo/parse_entry.c */
#undef _nc_curr_token
struct token _nc_curr_token;
#undef _nc_parse_entry
int _nc_parse_entry(
@ -2842,6 +2944,39 @@ void _nc_set_buffer(
bool buffered)
{ /* void */ }
/* ./tinfo/strings.c */
#undef _nc_str_init
string_desc *_nc_str_init(
string_desc *dst,
char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
bool _nc_safe_strcat(
string_desc *dst,
const char *src)
{ return(*(bool *)0); }
#undef _nc_safe_strcpy
bool _nc_safe_strcpy(
string_desc *dst,
const char *src)
{ return(*(bool *)0); }
/* ./trace/trace_buf.c */
typedef struct {

View File

@ -1,4 +1,4 @@
# $Id: modules,v 1.72 2000/02/13 01:03:28 tom Exp $
# $Id: modules,v 1.74 2000/10/03 08:51:18 tom Exp $
##############################################################################
# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc. #
# #
@ -167,6 +167,7 @@ lib_raw lib $(tinfo) ../include/term.h
lib_setup lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h
lib_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h $(INCDIR)/capdefaults.c
lib_termname lib $(tinfo) $(INCDIR)/tic.h
lib_tgoto lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
lib_ti lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
lib_tparm lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
lib_tputs lib $(tinfo) ../include/term.h $(INCDIR)/tic.h
@ -181,6 +182,7 @@ parse_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic
read_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
read_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h
setbuf lib $(tinfo)
strings lib $(tinfo)
trace_buf lib $(trace)
trace_tries lib $(trace)
unctrl lib .

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998 Free Software Foundation, Inc. *
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -27,29 +27,68 @@
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey <dickey@clark.net> 1998 *
* Author: Thomas E. Dickey <dickey@clark.net> 1998,2000 *
****************************************************************************/
#include <curses.priv.h>
#include <tic.h>
MODULE_ID("$Id: access.c,v 1.1 1998/07/25 20:17:09 tom Exp $")
MODULE_ID("$Id: access.c,v 1.4 2000/10/08 01:25:06 tom Exp $")
int _nc_access(const char *path, int mode)
char *
_nc_basename(char *path)
{
if (access(path, mode) < 0) {
if ((mode & W_OK) != 0
&& errno == ENOENT) {
char head[PATH_MAX];
char *leaf = strrchr(strcpy(head, path), '/');
if (leaf == 0)
leaf = head;
*leaf = '\0';
if (head == leaf)
(void)strcpy(head, ".");
return access(head, R_OK|W_OK|X_OK);
}
return -1;
}
return 0;
char *result = strrchr(path, '/');
#ifdef __EMX__
if (result == 0)
result = strrchr(path, '\\');
#endif
if (result == 0)
result = path;
else
result++;
return result;
}
int
_nc_access(const char *path, int mode)
{
if (access(path, mode) < 0) {
if ((mode & W_OK) != 0
&& errno == ENOENT
&& strlen(path) < PATH_MAX) {
char head[PATH_MAX];
char *leaf = _nc_basename(strcpy(head, path));
if (leaf == 0)
leaf = head;
*leaf = '\0';
if (head == leaf)
(void) strcpy(head, ".");
return access(head, R_OK | W_OK | X_OK);
}
return -1;
}
return 0;
}
#ifndef USE_ROOT_ENVIRON
/*
* Returns true if we allow application to use environment variables that are
* used for searching lists of directories, etc.
*/
int
_nc_env_access(void)
{
#if HAVE_ISSETUGID
if (issetugid())
return FALSE;
#elif HAVE_GETEUID && HAVE_GETEGID
if (getuid() != geteuid()
|| getgid() != getegid())
return FALSE;
#endif
return getuid() != 0; /* ...finally, disallow root */
}
#endif

View File

@ -43,7 +43,7 @@
#include <tic.h>
#include <term_entry.h>
MODULE_ID("$Id: alloc_ttype.c,v 1.8 2000/03/25 17:03:11 tom Exp $")
MODULE_ID("$Id: alloc_ttype.c,v 1.10 2000/08/12 21:56:24 tom Exp $")
#if NCURSES_XNAMES
/*
@ -54,7 +54,7 @@ static int
merge_names(char **dst, char **a, int na, char **b, int nb)
{
int n = 0;
while (na && nb) {
while (na > 0 && nb > 0) {
int cmp = strcmp(*a, *b);
if (cmp < 0) {
dst[n++] = *a++;
@ -93,7 +93,7 @@ find_name(char **table, int length, char *name)
static void
realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
ext_Numbers, int ext_Strings)
ext_Numbers, int ext_Strings)
{
int n, m, base;
int limit = (to->ext_Booleans + to->ext_Numbers + to->ext_Strings);
@ -102,8 +102,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
to->num_Booleans += (ext_Booleans - to->ext_Booleans);
to->Booleans = typeRealloc(char, to->num_Booleans, to->Booleans);
for (n = to->ext_Booleans - 1,
m = ext_Booleans - 1,
base = to->num_Booleans - (m + 1); m >= 0; m--) {
m = ext_Booleans - 1,
base = to->num_Booleans - (m + 1); m >= 0; m--) {
if (find_name(to->ext_Names, limit, ext_Names[m])) {
to->Booleans[base + m] = to->Booleans[base + n--];
} else {
@ -116,8 +116,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
to->num_Numbers += (ext_Numbers - to->ext_Numbers);
to->Numbers = typeRealloc(short, to->num_Numbers, to->Numbers);
for (n = to->ext_Numbers - 1,
m = ext_Numbers - 1,
base = to->num_Numbers - (m + 1); m >= 0; m--) {
m = ext_Numbers - 1,
base = to->num_Numbers - (m + 1); m >= 0; m--) {
if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans])) {
to->Numbers[base + m] = to->Numbers[base + n--];
} else {
@ -130,8 +130,8 @@ realign_data(TERMTYPE * to, char **ext_Names, int ext_Booleans, int
to->num_Strings += (ext_Strings - to->ext_Strings);
to->Strings = typeRealloc(char *, to->num_Strings, to->Strings);
for (n = to->ext_Strings - 1,
m = ext_Strings - 1,
base = to->num_Strings - (m + 1); m >= 0; m--) {
m = ext_Strings - 1,
base = to->num_Strings - (m + 1); m >= 0; m--) {
if (find_name(to->ext_Names, limit, ext_Names[m + ext_Booleans + ext_Numbers])) {
to->Strings[base + m] = to->Strings[base + n--];
} else {
@ -235,7 +235,7 @@ _nc_ext_data_index(TERMTYPE * tp, int n, int token_type)
* Adjust tables to remove (not free) an extended name and its corresponding
* data.
*/
static void
static bool
_nc_del_ext_name(TERMTYPE * tp, char *name, int token_type)
{
int j;
@ -270,7 +270,9 @@ _nc_del_ext_name(TERMTYPE * tp, char *name, int token_type)
tp->num_Strings -= 1;
break;
}
return TRUE;
}
return FALSE;
}
/*
@ -345,14 +347,22 @@ adjust_cancels(TERMTYPE * to, TERMTYPE * from)
if (to->Strings[j + j_str] == CANCELLED_STRING) {
if ((k = _nc_find_ext_name(from, to->ext_Names[j], BOOLEAN)) >= 0) {
_nc_del_ext_name(to, name, STRING);
k = _nc_ins_ext_name(to, name, BOOLEAN);
to->Booleans[k] = FALSE;
if (_nc_del_ext_name(to, name, STRING)
|| _nc_del_ext_name(to, name, NUMBER)) {
k = _nc_ins_ext_name(to, name, BOOLEAN);
to->Booleans[k] = FALSE;
} else {
j++;
}
} else if ((k = _nc_find_ext_name(from, to->ext_Names[j],
NUMBER)) >= 0) {
_nc_del_ext_name(to, name, STRING);
k = _nc_ins_ext_name(to, name, NUMBER);
to->Numbers[k] = CANCELLED_NUMERIC;
NUMBER)) >= 0) {
if (_nc_del_ext_name(to, name, STRING)
|| _nc_del_ext_name(to, name, BOOLEAN)) {
k = _nc_ins_ext_name(to, name, NUMBER);
to->Numbers[k] = CANCELLED_NUMERIC;
} else {
j++;
}
}
} else {
j++;
@ -371,7 +381,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
int ext_Booleans, ext_Numbers, ext_Strings;
DEBUG(2, ("align_termtype to(%d:%s), from(%d:%s)", na, to->term_names,
nb, from->term_names));
nb, from->term_names));
if (na != 0 || nb != 0) {
if ((na == nb) /* check if the arrays are equivalent */
@ -402,26 +412,26 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
adjust_cancels(from, to);
ext_Booleans = merge_names(ext_Names,
to->ext_Names,
to->ext_Booleans,
from->ext_Names,
from->ext_Booleans);
to->ext_Names,
to->ext_Booleans,
from->ext_Names,
from->ext_Booleans);
ext_Numbers = merge_names(ext_Names + ext_Booleans,
to->ext_Names
+ to->ext_Booleans,
to->ext_Numbers,
from->ext_Names
+ from->ext_Booleans,
from->ext_Numbers);
to->ext_Names
+ to->ext_Booleans,
to->ext_Numbers,
from->ext_Names
+ from->ext_Booleans,
from->ext_Numbers);
ext_Strings = merge_names(ext_Names + ext_Numbers + ext_Booleans,
to->ext_Names
+ to->ext_Booleans
+ to->ext_Numbers,
to->ext_Strings,
from->ext_Names
+ from->ext_Booleans
+ from->ext_Numbers,
from->ext_Strings);
to->ext_Names
+ to->ext_Booleans
+ to->ext_Numbers,
to->ext_Strings,
from->ext_Names
+ from->ext_Booleans
+ from->ext_Numbers,
from->ext_Strings);
/*
* Now we must reallocate the Booleans, etc., to allow the data to be
* overlaid.
@ -431,7 +441,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
FreeIfNeeded(to->ext_Names);
to->ext_Names = ext_Names;
DEBUG(2, ("realigned %d extended names for '%s' (to)",
NUM_EXT_NAMES(to), to->term_names));
NUM_EXT_NAMES(to), to->term_names));
}
if (nb != (ext_Booleans + ext_Numbers + ext_Strings)) {
nb = (ext_Booleans + ext_Numbers + ext_Strings);
@ -439,7 +449,7 @@ _nc_align_termtype(TERMTYPE * to, TERMTYPE * from)
from->ext_Names = typeRealloc(char *, nb, from->ext_Names);
memcpy(from->ext_Names, ext_Names, sizeof(char *) * nb);
DEBUG(2, ("realigned %d extended names for '%s' (from)",
NUM_EXT_NAMES(from), from->term_names));
NUM_EXT_NAMES(from), from->term_names));
}
}
}

View File

@ -52,7 +52,7 @@
#include <tic.h>
#include <term_entry.h>
MODULE_ID("$Id: comp_parse.c,v 1.40 2000/04/15 16:57:08 tom Exp $")
MODULE_ID("$Id: comp_parse.c,v 1.41 2000/10/03 09:53:49 tom Exp $")
static void sanity_check(TERMTYPE *);
void (*_nc_check_termtype) (TERMTYPE *) = sanity_check;
@ -122,26 +122,29 @@ _nc_free_entries(ENTRY * headp)
}
}
static char *
force_bar(char *dst, char *src)
{
if (strchr(src, '|') == 0) {
size_t len = strlen(src);
if (len >= MAX_NAME_SIZE)
len = MAX_NAME_SIZE;
(void) strncpy(dst, src, len);
(void) strcpy(dst + len, "|");
src = dst;
}
return src;
}
bool
_nc_entry_match(char *n1, char *n2)
/* do any of the aliases in a pair of terminal names match? */
{
char *pstart, *qstart, *pend, *qend;
char nc1[MAX_NAME_SIZE + 1], nc2[MAX_NAME_SIZE + 1];
char nc1[MAX_NAME_SIZE + 2], nc2[MAX_NAME_SIZE + 2];
if (strchr(n1, '|') == 0) {
(void) strncpy(nc1, n1, sizeof(nc1) - 2);
nc1[sizeof(nc1) - 2] = '\0';
(void) strcat(nc1, "|");
n1 = nc1;
}
if (strchr(n2, '|') == 0) {
(void) strncpy(nc2, n2, sizeof(nc2) - 2);
nc2[sizeof(nc2) - 2] = '\0';
(void) strcat(nc2, "|");
n2 = nc2;
}
n1 = force_bar(nc1, n1);
n2 = force_bar(nc2, n2);
for (pstart = n1; (pend = strchr(pstart, '|')); pstart = pend + 1)
for (qstart = n2; (qend = strchr(qstart, '|')); qstart = qend + 1)

View File

@ -50,7 +50,7 @@
#include <term_entry.h>
#include <tic.h>
MODULE_ID("$Id: comp_scan.c,v 1.44 2000/06/10 21:59:21 tom Exp $")
MODULE_ID("$Id: comp_scan.c,v 1.47 2000/09/24 01:15:17 tom Exp $")
/*
* Maximum length of string capability we'll accept before raising an error.
@ -80,6 +80,10 @@ static char separator; /* capability separator */
static int pushtype; /* type of pushback token */
static char pushname[MAX_NAME_SIZE + 1];
#if NCURSES_EXT_FUNCS
bool _nc_disable_period = FALSE; /* used by tic -a option */
#endif
static int last_char(void);
static int next_char(void);
static long stream_pos(void);
@ -149,7 +153,7 @@ _nc_get_token(void)
_nc_set_type(pushname);
DEBUG(3, ("pushed-back token: `%s', class %d",
_nc_curr_token.tk_name, pushtype));
_nc_curr_token.tk_name, pushtype));
pushtype = NO_PUSHBACK;
pushname[0] = '\0';
@ -176,10 +180,10 @@ _nc_get_token(void)
ch = next_char();
if (ch == '.'
#ifdef NCURSES_EXT_FUNCS
&& !_nc_disable_period
#if NCURSES_EXT_FUNCS
&& !_nc_disable_period
#endif
) {
) {
dot_flag = TRUE;
DEBUG(8, ("dot-flag set"));
@ -194,12 +198,12 @@ _nc_get_token(void)
/* have to make some punctuation chars legal for terminfo */
if (!isalnum(ch)
#ifdef NCURSES_EXT_FUNCS
&& !(ch == '.' && _nc_disable_period)
#if NCURSES_EXT_FUNCS
&& !(ch == '.' && _nc_disable_period)
#endif
&& !strchr(terminfo_punct, (char) ch)) {
&& !strchr(terminfo_punct, (char) ch)) {
_nc_warning("Illegal character (expected alphanumeric or %s) - %s",
terminfo_punct, unctrl(ch));
terminfo_punct, unctrl(ch));
_nc_panic_mode(separator);
goto start_token;
}
@ -334,7 +338,7 @@ _nc_get_token(void)
case '@':
if ((ch = next_char()) != separator)
_nc_warning("Missing separator after `%s', have %s",
buffer, unctrl(ch));
buffer, unctrl(ch));
_nc_curr_token.tk_name = buffer;
type = CANCEL;
break;
@ -387,30 +391,30 @@ _nc_get_token(void)
switch (type) {
case BOOLEAN:
_tracef("Token: Boolean; name='%s'",
_nc_curr_token.tk_name);
_nc_curr_token.tk_name);
break;
case NUMBER:
_tracef("Token: Number; name='%s', value=%d",
_nc_curr_token.tk_name,
_nc_curr_token.tk_valnumber);
_nc_curr_token.tk_name,
_nc_curr_token.tk_valnumber);
break;
case STRING:
_tracef("Token: String; name='%s', value=%s",
_nc_curr_token.tk_name,
_nc_visbuf(_nc_curr_token.tk_valstring));
_nc_curr_token.tk_name,
_nc_visbuf(_nc_curr_token.tk_valstring));
break;
case CANCEL:
_tracef("Token: Cancel; name='%s'",
_nc_curr_token.tk_name);
_nc_curr_token.tk_name);
break;
case NAMES:
_tracef("Token: Names; value='%s'",
_nc_curr_token.tk_name);
_nc_curr_token.tk_name);
break;
case EOF:
@ -567,7 +571,7 @@ _nc_trans_string(char *ptr, char *last)
default:
_nc_warning("Illegal character %s in \\ sequence",
unctrl(ch));
unctrl(ch));
*(ptr++) = (char) ch;
} /* endswitch (ch) */
} /* endelse (ch < '0' || ch > '7') */
@ -617,7 +621,7 @@ _nc_push_token(int tokclass)
_nc_get_type(pushname);
DEBUG(3, ("pushing token: `%s', class %d",
_nc_curr_token.tk_name, pushtype));
_nc_curr_token.tk_name, pushtype));
}
/*
@ -732,7 +736,7 @@ next_char(void)
} while
(bufstart != NULL && line[0] == '#');
if (bufstart == NULL)
if (bufstart == NULL || *bufstart == 0)
return (EOF);
while (iswhite(*bufptr))
@ -745,10 +749,19 @@ next_char(void)
if ((len = strlen(bufptr)) > 1) {
if (bufptr[len - 1] == '\n'
&& bufptr[len - 2] == '\r') {
bufptr[len - 2] = '\n';
bufptr[len - 1] = '\0';
len--;
bufptr[len - 1] = '\n';
bufptr[len] = '\0';
}
}
/*
* If we don't have a trailing newline, it's because the line is simply
* too long. Give up. (FIXME: We could instead reallocate the line
* buffer and allow arbitrary-length lines).
*/
if (len == 0 || (bufptr[len - 1] != '\n'))
return (EOF);
}
first_column = (bufptr == bufstart);
@ -778,7 +791,7 @@ end_of_stream(void)
/* are we at end of input? */
{
return ((yyin ? feof(yyin) : (bufptr && *bufptr == '\0'))
? TRUE : FALSE);
? TRUE : FALSE);
}
/* comp_scan.c ends here */

Some files were not shown because too many files have changed in this diff Show More