This commit was generated by cvs2svn to compensate for changes in r174993,
which included commits to RCS files with non-trunk default branches.
This commit is contained in:
commit
ca7562e9c2
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: INSTALL,v 1.114 2006/12/17 19:58:19 tom Exp $
|
||||
-- $Id: INSTALL,v 1.122 2007/12/01 19:37:47 tom Exp $
|
||||
---------------------------------------------------------------------
|
||||
How to install Ncurses/Terminfo on your system
|
||||
---------------------------------------------------------------------
|
||||
@ -304,6 +304,11 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
return deceptive results, so you may have to override the configure
|
||||
script. Or you may be building tic for a smaller machine.
|
||||
|
||||
--disable-big-strings
|
||||
Disable compile-time optimization of predefined tables which puts
|
||||
all of their strings into a very long string, to reduce relocation
|
||||
overhead.
|
||||
|
||||
--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
|
||||
@ -334,6 +339,16 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
For testing, compile-in code that frees memory that normally would not
|
||||
be freed, to simplify analysis of memory-leaks.
|
||||
|
||||
Any implementation of curses must not free the memory associated with
|
||||
a screen, since (even after calling endwin()), it must be available
|
||||
for use in the next call to refresh(). There are also chunks of
|
||||
memory held for performance reasons. That makes it hard to analyze
|
||||
curses applications for memory leaks. To work around this, build
|
||||
a debugging version of the ncurses library which frees those chunks
|
||||
which it can, and provides the _nc_free_and_exit() function to free
|
||||
the remainder on exit. The ncurses utility and test programs use this
|
||||
feature, e.g., via the ExitProgram() macro.
|
||||
|
||||
--disable-lp64
|
||||
The header files will ignore use of the _LP64 symbol to make chtype
|
||||
and mmask_t types 32 bits (they may be long on 64-bit hosts, for
|
||||
@ -358,6 +373,13 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
rather than the include directory. This makes it simpler to avoid
|
||||
compile-time conflicts with other versions of curses.h
|
||||
|
||||
--disable-relink
|
||||
If --enable-rpath is given, the generated makefiles normally will
|
||||
rebuild the libraries during install. Use this option to simply
|
||||
copy whatever the linked produced.
|
||||
|
||||
This option is ignored if --enable-rpath is not given.
|
||||
|
||||
--disable-root-environ
|
||||
Compile with environment restriction, so certain environment variables
|
||||
are not available when running as root, or via a setuid/setgid
|
||||
@ -476,12 +498,22 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
may not be accurate, or that your stty settings have disabled the use
|
||||
of tabs.
|
||||
|
||||
--enable-mixed-case
|
||||
Controls whether the filesystem on which the terminfo database resides
|
||||
supports mixed-case filenames (normal for UNIX, but not on other
|
||||
systems). If you do not specify this option, the configure script
|
||||
checks the current filesystem.
|
||||
|
||||
--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-reentrant
|
||||
Compile experimental configuration which improves reentrant use of the
|
||||
library by reducing global and static variables.
|
||||
|
||||
--enable-rpath
|
||||
Use rpath option when generating shared libraries, and (with some
|
||||
restrictions) when linking the corresponding programs. This originally
|
||||
@ -495,6 +527,9 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
environment variable, they do not work with setuid applications since
|
||||
the LD_LIBRARY_PATH variable would be unset in that situation.
|
||||
|
||||
This option does not apply to --with-libtool, since libtool makes
|
||||
extra assumptions about rpath.
|
||||
|
||||
--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
|
||||
@ -659,10 +694,16 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
|
||||
See also --without-dlsym
|
||||
|
||||
--with-hashed-db
|
||||
--with-hashed-db[=XXX]
|
||||
Use a hashed database for storing terminfo data rather than storing
|
||||
each compiled entry in a separate binary file within a directory
|
||||
tree.
|
||||
|
||||
In particular, this uses the Berkeley database 1.8.5 interface, as
|
||||
provided by that and its successors db 2, 3, and 4. The actual
|
||||
interface is slightly different in the successor versions of the
|
||||
Berkeley database. The database should have been configured using
|
||||
"--enable-compat185".
|
||||
|
||||
If you use this option for configuring ncurses, tic will only be able
|
||||
to write entries in the hashed database. infocmp can still read
|
||||
@ -674,6 +715,12 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
You cannot have a directory containing both hashed-database and
|
||||
filesystem-based terminfo entries.
|
||||
|
||||
Use the parameter value to give the install-prefix used for the
|
||||
datbase, e.g.,
|
||||
--with-hashed-db=/usr/local/BigBase
|
||||
to find the corresponding include- and lib-directories under the
|
||||
given directory.
|
||||
|
||||
See also the --enable-getcap option.
|
||||
|
||||
--with-install-prefix=XXX
|
||||
@ -833,6 +880,15 @@ SUMMARY OF CONFIGURE OPTIONS:
|
||||
Specify a search-list of termcap files which will be compiled into the
|
||||
ncurses library (default: /etc/termcap:/usr/share/misc/termcap)
|
||||
|
||||
--with-ticlib[=XXX]
|
||||
When building the ncurses library, build a separate library for
|
||||
the modules that are used only by the utility programs. Normally
|
||||
those would be bundled with the termlib or ncurses libraries.
|
||||
|
||||
If an option value is given, that overrides the name of the tic
|
||||
library. As in termlib, there is no ABI difference between the
|
||||
"wide" libticw.so and libtic.so
|
||||
|
||||
--with-trace
|
||||
Configure the trace() function as part of the all models of the ncurses
|
||||
library. Normally it is part of the debug (libncurses_g) library only.
|
||||
|
@ -4,6 +4,7 @@
|
||||
./Ada95/README
|
||||
./Ada95/TODO
|
||||
./Ada95/gen/Makefile.in
|
||||
./Ada95/gen/adacurses-config.in
|
||||
./Ada95/gen/gen.c
|
||||
./Ada95/gen/html.m4
|
||||
./Ada95/gen/normal.m4
|
||||
@ -20,6 +21,7 @@
|
||||
./Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4
|
||||
./Ada95/gen/terminal_interface-curses-panels.ads.m4
|
||||
./Ada95/gen/terminal_interface-curses-trace.ads.m4
|
||||
./Ada95/gen/terminal_interface-curses.adb.m4
|
||||
./Ada95/gen/terminal_interface-curses.ads.m4
|
||||
./Ada95/samples/Makefile.in
|
||||
./Ada95/samples/README
|
||||
@ -163,7 +165,6 @@
|
||||
./Ada95/src/terminal_interface-curses-text_io.adb
|
||||
./Ada95/src/terminal_interface-curses-text_io.ads
|
||||
./Ada95/src/terminal_interface-curses-trace.adb_p
|
||||
./Ada95/src/terminal_interface-curses.adb
|
||||
./Ada95/src/terminal_interface.ads
|
||||
./INSTALL
|
||||
./MANIFEST
|
||||
@ -553,8 +554,10 @@
|
||||
./man/curs_instr.3x
|
||||
./man/curs_inwstr.3x
|
||||
./man/curs_kernel.3x
|
||||
./man/curs_legacy.3x
|
||||
./man/curs_mouse.3x
|
||||
./man/curs_move.3x
|
||||
./man/curs_opaque.3x
|
||||
./man/curs_outopts.3x
|
||||
./man/curs_overlay.3x
|
||||
./man/curs_pad.3x
|
||||
@ -709,7 +712,8 @@
|
||||
./mk-0th.awk
|
||||
./mk-1st.awk
|
||||
./mk-2nd.awk
|
||||
./mkinstalldirs
|
||||
./mk-hdr.awk
|
||||
./mkdirs.sh
|
||||
./ncurses/Makefile.in
|
||||
./ncurses/README
|
||||
./ncurses/README.IZ
|
||||
@ -799,6 +803,7 @@
|
||||
./ncurses/base/safe_sprintf.c
|
||||
./ncurses/base/sigaction.c
|
||||
./ncurses/base/tries.c
|
||||
./ncurses/base/use_window.c
|
||||
./ncurses/base/version.c
|
||||
./ncurses/base/vsscanf.c
|
||||
./ncurses/base/wresize.c
|
||||
@ -808,6 +813,8 @@
|
||||
./ncurses/llib-lncursesw
|
||||
./ncurses/modules
|
||||
./ncurses/tinfo/MKcaptab.awk
|
||||
./ncurses/tinfo/MKcaptab.sh
|
||||
./ncurses/tinfo/MKcodes.awk
|
||||
./ncurses/tinfo/MKfallback.sh
|
||||
./ncurses/tinfo/MKkeys_list.sh
|
||||
./ncurses/tinfo/MKnames.awk
|
||||
@ -824,6 +831,7 @@
|
||||
./ncurses/tinfo/comp_scan.c
|
||||
./ncurses/tinfo/db_iterator.c
|
||||
./ncurses/tinfo/doalloc.c
|
||||
./ncurses/tinfo/entries.c
|
||||
./ncurses/tinfo/free_ttype.c
|
||||
./ncurses/tinfo/getenv_num.c
|
||||
./ncurses/tinfo/hashed_db.c
|
||||
@ -856,6 +864,7 @@
|
||||
./ncurses/tinfo/setbuf.c
|
||||
./ncurses/tinfo/strings.c
|
||||
./ncurses/tinfo/trim_sgr0.c
|
||||
./ncurses/tinfo/use_screen.c
|
||||
./ncurses/tinfo/write_entry.c
|
||||
./ncurses/trace/README
|
||||
./ncurses/trace/lib_trace.c
|
||||
@ -891,6 +900,7 @@
|
||||
./ncurses/widechar/lib_in_wchnstr.c
|
||||
./ncurses/widechar/lib_ins_wch.c
|
||||
./ncurses/widechar/lib_inwstr.c
|
||||
./ncurses/widechar/lib_key_name.c
|
||||
./ncurses/widechar/lib_pecho_wchar.c
|
||||
./ncurses/widechar/lib_slk_wset.c
|
||||
./ncurses/widechar/lib_unget_wch.c
|
||||
@ -934,29 +944,6 @@
|
||||
./progs/toe.c
|
||||
./progs/tput.c
|
||||
./progs/tset.c
|
||||
./tack/COPYING
|
||||
./tack/HISTORY
|
||||
./tack/Makefile.in
|
||||
./tack/README
|
||||
./tack/ansi.c
|
||||
./tack/charset.c
|
||||
./tack/color.c
|
||||
./tack/control.c
|
||||
./tack/crum.c
|
||||
./tack/edit.c
|
||||
./tack/fun.c
|
||||
./tack/init.c
|
||||
./tack/menu.c
|
||||
./tack/modes.c
|
||||
./tack/modules
|
||||
./tack/output.c
|
||||
./tack/pad.c
|
||||
./tack/scan.c
|
||||
./tack/sync.c
|
||||
./tack/sysdep.c
|
||||
./tack/tack.1
|
||||
./tack/tack.c
|
||||
./tack/tack.h
|
||||
./tar-copy.sh
|
||||
./test/Makefile.in
|
||||
./test/README
|
||||
@ -981,6 +968,7 @@
|
||||
./test/demo_termcap.c
|
||||
./test/ditto.c
|
||||
./test/dots.c
|
||||
./test/dots_mvcur.c
|
||||
./test/echochar.c
|
||||
./test/edit_field.c
|
||||
./test/edit_field.h
|
||||
@ -992,8 +980,11 @@
|
||||
./test/gdc.c
|
||||
./test/hanoi.c
|
||||
./test/hashtest.c
|
||||
./test/inch_wide.c
|
||||
./test/inchs.c
|
||||
./test/ins_wide.c
|
||||
./test/inserts.c
|
||||
./test/key_names.c
|
||||
./test/keynames.c
|
||||
./test/knight.c
|
||||
./test/linux-color.dat
|
||||
@ -1010,8 +1001,15 @@
|
||||
./test/rain.c
|
||||
./test/redraw.c
|
||||
./test/savescreen.c
|
||||
./test/savescreen.sh
|
||||
./test/tclock.c
|
||||
./test/test.priv.h
|
||||
./test/test_arrays.c
|
||||
./test/test_get_wstr.c
|
||||
./test/test_getstr.c
|
||||
./test/test_instr.c
|
||||
./test/test_inwstr.c
|
||||
./test/test_opaque.c
|
||||
./test/testaddch.c
|
||||
./test/testcurs.c
|
||||
./test/testscanw.c
|
||||
|
@ -1,5 +1,5 @@
|
||||
-------------------------------------------------------------------------------
|
||||
-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. --
|
||||
-- Copyright (c) 1998-2006,2007 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 --
|
||||
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: NEWS,v 1.1056 2006/12/17 20:36:26 tom Exp $
|
||||
-- $Id: NEWS,v 1.1188 2007/12/22 23:56:08 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
This is a log of changes that ncurses has gone through since Zeyd started
|
||||
@ -45,9 +45,512 @@ See the AUTHORS file for the corresponding full names.
|
||||
Changes through 1.9.9e did not credit all contributions;
|
||||
it is not possible to add this information.
|
||||
|
||||
20071222
|
||||
+ continue implementing support for threading demo by adding mutex
|
||||
for delwin().
|
||||
|
||||
20071215
|
||||
+ add several functions to C++ binding which wrap C functions that
|
||||
pass a WINDOW* parameter (request by Chris Lee).
|
||||
|
||||
20071201
|
||||
+ add note about configure options needed for Berkeley database to the
|
||||
INSTALL file.
|
||||
+ improve checks for version of Berkeley database libraries.
|
||||
+ amend fix for rpath to not modify LDFLAGS if the platform has no
|
||||
applicable transformation (report by Christian Ebert, cf: 20071124).
|
||||
|
||||
20071124
|
||||
+ modify configure option --with-hashed-db to accept a parameter which
|
||||
is the install-prefix of a given Berkeley Database (prompted by
|
||||
pierre4d2 comments).
|
||||
+ rewrite wrapper for wcrtomb(), making it work on Solaris. This is
|
||||
used in the form library to determine the length of the buffer needed
|
||||
by field_buffer (report by Alfred Fung).
|
||||
+ remove unneeded window-parameter from C++ binding for wresize (report
|
||||
by Chris Lee).
|
||||
|
||||
20071117
|
||||
+ modify the support for filesystems which do not support mixed-case to
|
||||
generate 2-character (hexadecimal) codes for the lower-level of the
|
||||
filesystem terminfo database (request by Michail Vidiassov).
|
||||
+ add configure option --enable-mixed-case, to allow overriding the
|
||||
configure script's check if the filesystem supports mixed-case
|
||||
filenames.
|
||||
+ add wresize() to C++ binding (request by Chris Lee).
|
||||
+ define NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS in curses.h to make
|
||||
it simpler to tell if the extended functions and/or colors are
|
||||
declared.
|
||||
|
||||
20071103
|
||||
+ update memory-leak checks for changes to names.c and codes.c
|
||||
+ correct acsc strings in h19, z100 (patch by Benjamin C W Sittler).
|
||||
|
||||
20071020
|
||||
+ continue implementing support for threading demo by adding mutex
|
||||
for use_window().
|
||||
+ add mrxvt terminfo entry, add/fix xterm building blocks for modified
|
||||
cursor keys -TD
|
||||
+ compile with FreeBSD "contemporary" TTY interface (patch by
|
||||
Rong-En Fan).
|
||||
|
||||
20071013
|
||||
+ modify makefile rules to allow clear, tput and tset to be built
|
||||
without libtic. The other programs (infocmp, tic and toe) rely on
|
||||
that library.
|
||||
+ add/modify null-pointer checks in several functions for SP and/or
|
||||
the WINDOW* parameter (report by Thorben Krueger).
|
||||
+ fixes for field_buffer() in formw library (see Redhat Bugzilla
|
||||
#310071, patches by Miroslav Lichvar).
|
||||
+ improve performance of NCURSES_CHAR_EQ code (patch by Miroslav
|
||||
Lichvar).
|
||||
+ update/improve mlterm and rxvt terminfo entries, e.g., for
|
||||
the modified cursor- and keypad-keys -TD
|
||||
|
||||
20071006
|
||||
+ add code to curses.priv.h ifdef'd with NCURSES_CHAR_EQ, which
|
||||
changes the CharEq() macro to an inline function to allow comparing
|
||||
cchar_t struct's without comparing gaps in a possibly unpacked
|
||||
memory layout (report by Miroslav Lichvar).
|
||||
|
||||
20070929
|
||||
+ add new functions to lib_trace.c to setup mutex's for the _tracef()
|
||||
calls within the ncurses library.
|
||||
+ for the reentrant model, move _nc_tputs_trace and _nc_outchars into
|
||||
the SCREEN.
|
||||
+ start modifying test/worm.c to provide threading demo (incomplete).
|
||||
+ separated ifdef's for some BSD-related symbols in tset.c, to make
|
||||
it compile on LynxOS (report by Greg Gemmer).
|
||||
20070915
|
||||
+ modify Ada95/gen/Makefile to use shlib script, to simplify building
|
||||
shared-library configuration on platforms lacking rpath support.
|
||||
+ build-fix for Ada95/src/Makefile to reflect changed dependency for
|
||||
the terminal-interface-curses-aux.adb file which is now generated.
|
||||
+ restructuring test/worm.c, for use_window() example.
|
||||
|
||||
20070908
|
||||
+ add use_window() and use_screen() functions, to develop into support
|
||||
for threaded library (incomplete).
|
||||
+ fix typos in man/curs_opaque.3x which kept the install script from
|
||||
creating symbolic links to two aliases created in 20070818 (report by
|
||||
Rong-En Fan).
|
||||
|
||||
20070901
|
||||
+ remove a spurious newline from output of html.m4, which caused links
|
||||
for Ada95 html to be incorrect for the files generated using m4.
|
||||
+ start investigating mutex's for SCREEN manipulation (incomplete).
|
||||
+ minor cleanup of codes.c/names.c for --enable-const
|
||||
+ expand/revise "Routine and Argument Names" section of ncurses manpage
|
||||
to address report by David Givens in newsgroup discussion.
|
||||
+ fix interaction between --without-progs/--with-termcap configure
|
||||
options (report by Michail Vidiassov).
|
||||
+ fix typo in "--disable-relink" option (report by Michail Vidiassov).
|
||||
|
||||
20070825
|
||||
+ fix a sign-extension bug in infocmp's repair_acsc() function
|
||||
(cf: 971004).
|
||||
+ fix old configure script bug which prevented "--disable-warnings"
|
||||
option from working (patch by Mike Frysinger).
|
||||
|
||||
20070818
|
||||
+ add 9term terminal description (request by Juhapekka Tolvanen) -TD
|
||||
+ modify comp_hash.c's string output to avoid misinterpreting a null
|
||||
"\0" followed by a digit.
|
||||
+ modify MKnames.awk and MKcodes.awk to support big-strings.
|
||||
This only applies to the cases (broken linker, reentrant) where
|
||||
the corresponding arrays are accessed via wrapper functions.
|
||||
+ split MKnames.awk into two scripts, eliminating the shell redirection
|
||||
which complicated the make process and also the bogus timestamp file
|
||||
which was introduced to fix "make -j".
|
||||
+ add test/test_opaque.c, test/test_arrays.c
|
||||
+ add wgetscrreg() and wgetparent() for applications that may need it
|
||||
when NCURSES_OPAQUE is defined (prompted by Bryan Christ).
|
||||
|
||||
20070812
|
||||
+ amend treatment of infocmp "-r" option to retain the 1023-byte limit
|
||||
unless "-T" is given (cf: 981017).
|
||||
+ modify comp_captab.c generation to use big-strings.
|
||||
+ make _nc_capalias_table and _nc_infoalias_table private accessed via
|
||||
_nc_get_alias_table() since the tables are used only within the tic
|
||||
library.
|
||||
+ modify configure script to skip Intel compiler in CF_C_INLINE.
|
||||
+ make _nc_info_hash_table and _nc_cap_hash_table private accessed via
|
||||
_nc_get_hash_table() since the tables are used only within the tic
|
||||
library.
|
||||
|
||||
20070728
|
||||
+ make _nc_capalias_table and _nc_infoalias_table private, accessed via
|
||||
_nc_get_alias_table() since they are used only by parse_entry.c
|
||||
+ make _nc_key_names private since it is used only by lib_keyname.c
|
||||
+ add --disable-big-strings configure option to control whether
|
||||
unctrl.c is generated using the big-string optimization - which may
|
||||
use strings longer than supported by a given compiler.
|
||||
+ reduce relocation tables for tic, infocmp by changing type of
|
||||
internal hash tables to short, and make those private symbols.
|
||||
+ eliminate large fixed arrays from progs/infocmp.c
|
||||
|
||||
20070721
|
||||
+ change winnstr() to stop at the end of the line (cf: 970315).
|
||||
+ add test/test_get_wstr.c
|
||||
+ add test/test_getstr.c
|
||||
+ add test/test_inwstr.c
|
||||
+ add test/test_instr.c
|
||||
|
||||
20070716
|
||||
+ restore a call to obtain screen-size in _nc_setupterm(), which
|
||||
is used in tput and other non-screen applications via setupterm()
|
||||
(Debian #433357, reported by Florent Bayle, Christian Ohm,
|
||||
cf: 20070310).
|
||||
|
||||
20070714
|
||||
+ add test/savescreen.c test-program
|
||||
+ add check to trace-file open, if the given name is a directory, add
|
||||
".log" to the name and try again.
|
||||
+ add konsole-256color entry -TD
|
||||
+ add extra gcc warning options from xterm.
|
||||
+ minor fixes for ncurses/hashmap test-program.
|
||||
+ modify configure script to quiet c++ build with libtool when the
|
||||
--disable-echo option is used.
|
||||
+ modify configure script to disable ada95 if libtool is selected,
|
||||
writing a warning message (addresses FreeBSD ports/114493).
|
||||
+ update config.guess, config.sub
|
||||
|
||||
20070707
|
||||
+ add continuous-move "M" to demo_panels to help test refresh changes.
|
||||
+ improve fix for refresh of window on top of multi-column characters,
|
||||
taking into account some split characters on left/right window
|
||||
boundaries.
|
||||
|
||||
20070630
|
||||
+ add "widec" row to _tracedump() output to help diagnose remaining
|
||||
problems with multi-column characters.
|
||||
+ partial fix for refresh of window on top of multi-column characters
|
||||
which are partly overwritten (report by Sadrul H Chowdhury).
|
||||
+ ignore A_CHARTEXT bits in vidattr() and vid_attr(), in case
|
||||
multi-column extension bits are passed there.
|
||||
+ add setlocale() call to demo_panels.c, needed for wide-characters.
|
||||
+ add some output flags to _nc_trace_ttymode to help diagnose a bug
|
||||
report by Larry Virden, i.e., ONLCR, OCRNL, ONOCR and ONLRET,
|
||||
|
||||
20070623
|
||||
+ add test/demo_panels.c
|
||||
+ implement opaque version of setsyx() and getsyx().
|
||||
|
||||
20070612
|
||||
+ corrected xterm+pcf2 terminfo modifiers for F1-F4, to match xterm
|
||||
#226 -TD
|
||||
+ split-out key_name() from MKkeyname.awk since it now depends upon
|
||||
wunctrl() which is not in libtinfo (report by Rong-En Fan).
|
||||
|
||||
20070609
|
||||
+ add test/key_name.c
|
||||
+ add stdscr cases to test/inchs.c and test_inch_wide.c
|
||||
+ update test/configure
|
||||
+ correct formatting of DEL (0x7f) in _nc_vischar().
|
||||
+ null-terminate result of wunctrl().
|
||||
+ add null-pointer check in key_name() (report by Andreas Krennmair,
|
||||
cf: 20020901).
|
||||
|
||||
20070602
|
||||
+ adapt mouse-handling code from menu library in form-library
|
||||
(discussion with Clive Nicolson).
|
||||
+ add a modification of test/dots.c, i.e., test/dots_mvcur.c to
|
||||
illustrate how to use mvcur().
|
||||
+ modify wide-character flavor of SetAttr() to preserve the
|
||||
WidecExt() value stored in the .attr field, e.g., in case it
|
||||
is overwritten by chgat (report by Aleksi Torhamo).
|
||||
+ correct buffer-size for _nc_viswbuf2n() (report by Aleksi Torhamo).
|
||||
+ build-fixes for Solaris 2.6 and 2.7 (patch by Peter O'Gorman).
|
||||
|
||||
20070526
|
||||
+ modify keyname() to use "^X" form only if meta() has been called, or
|
||||
if keyname() is called without initializing curses, e.g., via
|
||||
initscr() or newterm() (prompted by LinuxBase #1604).
|
||||
+ document some portability issues in man/curs_util.3x
|
||||
+ add a shadow copy of TTY buffer to _nc_prescreen to fix applications
|
||||
broken by moving that data into SCREEN (cf: 20061230).
|
||||
|
||||
20070512
|
||||
+ add 'O' (wide-character panel test) in ncurses.c to demonstrate a
|
||||
problem reported by Sadrul H Chowdhury with repainting parts of
|
||||
a fullwidth cell.
|
||||
+ modify slk_init() so that if there are preceding calls to
|
||||
ripoffline(), those affect the available lines for soft-keys (adapted
|
||||
from patch by Clive Nicolson).
|
||||
+ document some portability issues in man/curs_getyx.3x
|
||||
|
||||
20070505
|
||||
+ fix a bug in Ada95/samples/ncurses which caused a variable to
|
||||
become uninitialized in the "b" test.
|
||||
+ fix Ada95/gen/Makefile.in adahtml rule to account for recent
|
||||
movement of files, fix a few incorrect manpage references in the
|
||||
generated html.
|
||||
+ add Ada95 binding to _nc_freeall() as Curses_Free_All to help with
|
||||
memory-checking.
|
||||
+ correct some functions in Ada95 binding which were using return value
|
||||
from C where none was returned: idcok(), immedok() and wtimeout().
|
||||
+ amend recent changes for Ada95 binding to make it build with
|
||||
Cygwin's linker, e.g., with configure options
|
||||
--enable-broken-linker --with-ticlib
|
||||
|
||||
20070428
|
||||
+ add a configure check for gcc's options for inlining, use that to
|
||||
quiet a warning message where gcc's default behavior changed from
|
||||
3.x to 4.x.
|
||||
+ improve warning message when checking if GPM is linked to curses
|
||||
library by not warning if its use of "wgetch" is via a weak symbol.
|
||||
+ add loader options when building with static libraries to ensure that
|
||||
an installed shared library for ncurses does not conflict. This is
|
||||
reported as problem with Tru64, but could affect other platforms
|
||||
(report Martin Mokrejs, analysis by Tim Mooney).
|
||||
+ fix build on cygwin after recent ticlib/termlib changes, i.e.,
|
||||
+ adjust TINFO_SUFFIX value to work with cygwin's dll naming
|
||||
+ revert a change from 20070303 which commented out dependency of
|
||||
SHLIB_LIST in form/menu/panel/c++ libraries.
|
||||
+ fix initialization of ripoff stack pointer (cf: 20070421).
|
||||
|
||||
20070421
|
||||
+ move most static variables into structures _nc_globals and
|
||||
_nc_prescreen, to simplify storage.
|
||||
+ add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
|
||||
type for data manipulated by signal handlers (prompted by comments
|
||||
in mailing.openbsd.bugs newsgroup).
|
||||
+ modify CF_WITH_LIBTOOL to allow one to pass options such as -static
|
||||
to the libtool create- and link-operations.
|
||||
|
||||
20070414
|
||||
+ fix whitespace in curs_opaque.3x which caused a spurious ';' in
|
||||
the installed aliases (report by Peter Santoro).
|
||||
+ fix configure script to not try to generate adacurses-config when
|
||||
Ada95 tree is not built.
|
||||
|
||||
20070407
|
||||
+ add man/curs_legacy.3x, man/curs_opaque.3x
|
||||
+ fix acs_map binding for Ada95 when --enable-reentrant is used.
|
||||
+ add adacurses-config to the Ada95 install, based on version from
|
||||
FreeBSD port, in turn by Juergen Pfeifer in 2000 (prompted by
|
||||
comment on comp.lang.ada newsgroup).
|
||||
+ fix includes in c++ binding to build with Intel compiler
|
||||
(cf: 20061209).
|
||||
+ update install rule in Ada95 to use mkdirs.sh
|
||||
> other fixes prompted by inspection for Coverity report:
|
||||
+ modify ifdef's for c++ binding to use try/catch/throw statements
|
||||
+ add a null-pointer check in tack/ansi.c request_cfss()
|
||||
+ fix a memory leak in ncurses/base/wresize.c
|
||||
+ corrected check for valid memu/meml capabilities in
|
||||
progs/dump_entry.c when handling V_HPUX case.
|
||||
> fixes based on Coverity report:
|
||||
+ remove dead code in test/bs.c
|
||||
+ remove dead code in test/demo_defkey.c
|
||||
+ remove an unused assignment in progs/infocmp.c
|
||||
+ fix a limit check in tack/ansi.c tools_charset()
|
||||
+ fix tack/ansi.c tools_status() to perform the VT320/VT420
|
||||
tests in request_cfss(). The function had exited too soon.
|
||||
+ fix a memory leak in tic.c's make_namelist()
|
||||
+ fix a couple of places in tack/output.c which did not check for EOF.
|
||||
+ fix a loop-condition in test/bs.c
|
||||
+ add index checks in lib_color.c for color palettes
|
||||
+ add index checks in progs/dump_entry.c for version_filter() handling
|
||||
of V_BSD case.
|
||||
+ fix a possible null-pointer dereference in copywin()
|
||||
+ fix a possible null-pointer dereference in waddchnstr()
|
||||
+ add a null-pointer check in _nc_expand_try()
|
||||
+ add a null-pointer check in tic.c's make_namelist()
|
||||
+ add a null-pointer check in _nc_expand_try()
|
||||
+ add null-pointer checks in test/cardfile.c
|
||||
+ fix a double-free in ncurses/tinfo/trim_sgr0.c
|
||||
+ fix a double-free in ncurses/base/wresize.c
|
||||
+ add try/catch block to c++/cursesmain.cc
|
||||
|
||||
20070331
|
||||
+ modify Ada95 binding to build with --enable-reentrant by wrapping
|
||||
global variables (bug: acs_map does not yet work).
|
||||
+ modify Ada95 binding to use the new access-functions, allowing it
|
||||
to build/run when NCURSES_OPAQUE is set.
|
||||
+ add access-functions and macros to return properties of the WINDOW
|
||||
structure, e.g., when NCURSES_OPAQUE is set.
|
||||
+ improved install-sh's quoting.
|
||||
+ use mkdirs.sh rather than mkinstalldirs, e.g., to use fixes from
|
||||
other programs.
|
||||
|
||||
20070324
|
||||
+ eliminate part of the direct use of WINDOW data from Ada95 interface.
|
||||
+ fix substitutions for termlib filename to make configure option
|
||||
--enable-reentrant work with --with-termlib.
|
||||
+ change a constructor for NCursesWindow to allow compiling with
|
||||
NCURSES_OPAQUE set, since we cannot pass a reference to
|
||||
an opaque pointer.
|
||||
|
||||
20070317
|
||||
+ ignore --with-chtype=unsigned since unsigned is always added to
|
||||
the type in curses.h; do the same for --with-mmask-t.
|
||||
+ change warning regarding --enable-ext-colors and wide-character
|
||||
in the configure script to an error.
|
||||
+ tweak error message in CF_WITH_LIBTOOL to distinguish other programs
|
||||
such as Darwin's libtool program (report by Michail Vidiassov)
|
||||
+ modify edit_man.sh to allow for multiple substitutions per line.
|
||||
+ set locale in misc/ncurses-config.in since it uses a range
|
||||
+ change permissions libncurses++.a install (report by Michail
|
||||
Vidiassov).
|
||||
+ corrected length of temporary buffer in wide-character version
|
||||
of set_field_buffer() (related to report by Bryan Christ).
|
||||
|
||||
20070311
|
||||
+ fix mk-1st.awk script install_shlib() function, broken in 20070224
|
||||
changes for cygwin (report by Michail Vidiassov).
|
||||
|
||||
20070310
|
||||
+ increase size of array in _nc_visbuf2n() to make "tic -v" work
|
||||
properly in its similar_sgr() function (report/analysis by Peter
|
||||
Santoro).
|
||||
+ add --enable-reentrant configure option for ongoing changes to
|
||||
implement a reentrant version of ncurses:
|
||||
+ libraries are suffixed with "t"
|
||||
+ wrap several global variables (curscr, newscr, stdscr, ttytype,
|
||||
COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES and TABSIZE) as
|
||||
functions returning values stored in SCREEN or cur_term.
|
||||
+ move some initialization (LINES, COLS) from lib_setup.c,
|
||||
i.e., setupterm() to _nc_setupscreen(), i.e., newterm().
|
||||
|
||||
20070303
|
||||
+ regenerated html documentation.
|
||||
+ add NCURSES_OPAQUE symbol to curses.h, will use to make structs
|
||||
opaque in selected configurations.
|
||||
+ move the chunk in lib_acs.c which resets acs capabilities when
|
||||
running on a terminal whose locale interferes with those into
|
||||
_nc_setupscreen(), so the libtinfo/libtinfow files can be made
|
||||
identical (requested by Miroslav Lichvar).
|
||||
+ do not use configure variable SHLIB_LIBS for building libraries
|
||||
outside the ncurses directory, since that symbol is customized
|
||||
only for that directory, and using it introduces an unneeded
|
||||
dependency on libdl (requested by Miroslav Lichvar).
|
||||
+ modify mk-1st.awk so the generated makefile rules for linking or
|
||||
installing shared libraries do not first remove the library, in
|
||||
case it is in use, e.g., libncurses.so by /bin/sh (report by Jeff
|
||||
Chua).
|
||||
+ revised section "Using NCURSES under XTERM" in ncurses-intro.html
|
||||
(prompted by newsgroup comment by Nick Guenther).
|
||||
|
||||
20070224
|
||||
+ change internal return codes of _nc_wgetch() to check for cases
|
||||
where KEY_CODE_YES should be returned, e.g., if a KEY_RESIZE was
|
||||
ungetch'd, and read by wget_wch().
|
||||
+ fix static-library build broken in 20070217 changes to remove "-ldl"
|
||||
(report by Miroslav Lichvar).
|
||||
+ change makefile/scripts for cygwin to allow building termlib.
|
||||
+ use Form_Hook in manpages to match form.h
|
||||
+ use Menu_Hook in manpages, as well as a few places in menu.h
|
||||
+ correct form- and menu-manpages to use specific Field_Options,
|
||||
Menu_Options and Item_Options types.
|
||||
+ correct prototype for _tracechar() in manpage (cf: 20011229).
|
||||
+ correct prototype for wunctrl() in manpage.
|
||||
|
||||
20070217
|
||||
+ fixes for $(TICS_LIST) in ncurses/Makefile (report by Miroslav
|
||||
Lichvar).
|
||||
+ modify relinking of shared libraries to apply only when rpath is
|
||||
enabled, and add --disable-relink option which can be used to
|
||||
disable the feature altogether (reports by Michail Vidiassov,
|
||||
Adam J Richter).
|
||||
+ fix --with-termlib option for wide-character configuration, stripping
|
||||
the "w" suffix in one place (report by Miroslav Lichvar).
|
||||
+ remove "-ldl" from some library lists to reduce dependencies in
|
||||
programs (report by Miroslav Lichvar).
|
||||
+ correct description of --enable-signed-char in configure --help
|
||||
(report by Michail Vidiassov).
|
||||
+ add pattern for GNU/kFreeBSD configuration to CF_XOPEN_SOURCE,
|
||||
which matches an earlier change to CF_SHARED_OPTS, from xterm #224
|
||||
fixes.
|
||||
+ remove "${DESTDIR}" from -install_name option used for linking
|
||||
shared libraries on Darwin (report by Michail Vidiassov).
|
||||
|
||||
20070210
|
||||
+ add test/inchs.c, test_inch_wide.c, to test win_wchnstr().
|
||||
+ remove libdl from library list for termlib (report by Miroslav
|
||||
Lichvar).
|
||||
+ fix configure.in to allow --without-progs --with-termlib (patch by
|
||||
Miroslav Lichvar).
|
||||
+ modify win_wchnstr() to ensure that only a base cell is returned
|
||||
for each multi-column character (prompted by report by Wei Kong
|
||||
regarding change in mvwin_wch() cf: 20041023).
|
||||
|
||||
20070203
|
||||
+ modify fix_wchnstr() in form library to strip attributes (and color)
|
||||
from the cchar_t array (field cells) read from a field's window.
|
||||
Otherwise, when copying the field cells back to the window, the
|
||||
associated color overrides the field's background color (report by
|
||||
Ricardo Cantu).
|
||||
+ improve tracing for form library, showing created forms, fields, etc.
|
||||
+ ignore --enable-rpath configure option if --with-shared was omitted.
|
||||
+ add _nc_leaks_tinfo(), _nc_free_tic(), _nc_free_tinfo() entrypoints
|
||||
to allow leak-checking when both tic- and tinfo-libraries are built.
|
||||
+ drop CF_CPP_VSCAN_FUNC macro from configure script, since C++ binding
|
||||
no longer relies on it.
|
||||
+ disallow combining configure script options --with-ticlib and
|
||||
--enable-termcap (report by Rong-En Fan).
|
||||
+ remove tack from ncurses tree.
|
||||
|
||||
20070128
|
||||
+ fix typo in configure script that broke --with-termlib option
|
||||
(report by Rong-En Fan).
|
||||
|
||||
20070127
|
||||
+ improve fix for FreeBSD gnu/98975, to allow for null pointer passed
|
||||
to tgetent() (report by Rong-en Fan).
|
||||
+ update tack/HISTORY and tack/README to tell how to build it after
|
||||
it is removed from the ncurses tree.
|
||||
+ fix configure check for libtool's version to trim blank lines
|
||||
(report by sci-fi@hush.ai).
|
||||
+ review/eliminate other original-file artifacts in cursesw.cc, making
|
||||
its license consistent with ncurses.
|
||||
+ use ncurses vw_scanw() rather than reading into a fixed buffer in
|
||||
the c++ binding for scanw() methods (prompted by report by Nuno Dias).
|
||||
+ eliminate fixed-buffer vsprintf() calls in c++ binding.
|
||||
|
||||
20070120
|
||||
+ add _nc_leaks_tic() to separate leak-checking of tic library from
|
||||
term/ncurses libraries, and thereby eliminate a library dependency.
|
||||
+ fix test/mk-test.awk to ignore blank lines.
|
||||
+ correct paths in include/headers, for --srcdir (patch by Miroslav
|
||||
Lichvar).
|
||||
|
||||
20070113
|
||||
+ add a break-statement in misc/shlib to ensure that it exits on the
|
||||
_first_ matched directory (report by Paul Novak).
|
||||
+ add tack/configure, which can be used to build tack outside the
|
||||
ncurses build-tree.
|
||||
+ add --with-ticlib option, to build/install the tic-support functions
|
||||
in a separate library (suggested by Miroslav Lichvar).
|
||||
|
||||
20070106
|
||||
+ change MKunctrl.awk to reduce relocation table for unctrl.o
|
||||
+ change MKkeyname.awk to reduce relocation table for keyname.o
|
||||
(patch by Miroslav Lichvar).
|
||||
|
||||
20061230
|
||||
+ modify configure check for libtool's version to trim blank lines
|
||||
(report by sci-fi@hush.ai).
|
||||
+ modify some modules to allow them to be reentrant if _REENTRANT is
|
||||
defined: lib_baudrate.c, resizeterm.c (local data only)
|
||||
+ eliminate static data from some modules: add_tries.c, hardscroll.c,
|
||||
lib_ttyflags.c, lib_twait.c
|
||||
+ improve manpage install to add aliases for the transformed program
|
||||
names, e.g., from --program-prefix.
|
||||
+ used linklint to verify links in the HTML documentation, made fixes
|
||||
to manpages as needed.
|
||||
+ fix a typo in curs_mouse.3x (report by William McBrine).
|
||||
+ fix install-rule for ncurses5-config to make the bin-directory.
|
||||
|
||||
20061223
|
||||
+ modify configure script to omit the tic (terminfo compiler) support
|
||||
from ncurses library if --without-progs option is given.
|
||||
+ modify install rule for ncurses5-config to do this via "install.libs"
|
||||
+ modify shared-library rules to allow FreeBSD 3.x to use rpath.
|
||||
+ update config.guess, config.sub
|
||||
|
||||
20061217 5.6 release for upload to ftp.gnu.org
|
||||
|
||||
20061217
|
||||
20061217
|
||||
+ add ifdef's for <wctype.h> for HPUX, which has the corresponding
|
||||
definitions in <wchar.h>.
|
||||
+ revert the va_copy() change from 20061202, since it was neither
|
||||
@ -62,7 +565,7 @@ it is not possible to add this information.
|
||||
+ modify configure --with-gpm option to allow it to accept a parameter,
|
||||
i.e., the name of the dynamic GPM library to load via dlopen()
|
||||
(requested by Bryan Henderson).
|
||||
+ add configure option --with-valgrind (from vile).
|
||||
+ add configure option --with-valgrind, changes from vile.
|
||||
+ modify configure script AC_TRY_RUN and AC_TRY_LINK checks to use
|
||||
'return' in preference to 'exit()'.
|
||||
|
||||
@ -1524,7 +2027,8 @@ it is not possible to add this information.
|
||||
20031108
|
||||
+ add DJGPP to special case of DOS-style drive letters potentially
|
||||
appearing in TERMCAP environment variable.
|
||||
+ fix some spelling in comments (reports by jmc, Jonathon Gray).
|
||||
+ fix some spelling in comments (reports by Jason McIntyre, Jonathon
|
||||
Gray).
|
||||
+ update config.guess, config.sub
|
||||
|
||||
20031101
|
||||
@ -1814,7 +2318,7 @@ it is not possible to add this information.
|
||||
"--srcdir" work (report by Warren L Dodge).
|
||||
+ correct missing definition of $(CC) in Ada95/gen/Makefile.in
|
||||
(reported by Warren L Dodge <warrend@mdhost.cse.tek.com>).
|
||||
+ fix typos and whitespace in manpages (patch by jmc
|
||||
+ fix typos and whitespace in manpages (patch by Jason McIntyre
|
||||
<jmc@prioris.mini.pw.edu.pl>).
|
||||
|
||||
20030503
|
||||
@ -3449,7 +3953,7 @@ it is not possible to add this information.
|
||||
|
||||
20000923
|
||||
+ modify rs2 capability in xterm-r6 and similar where cursor
|
||||
save/restore bracketed the sequence for resetting video attributes.
|
||||
save/restore bracketed the sequence for resetting video attributes.
|
||||
The cursor restore would undo that (report by John Hawkinson
|
||||
<jhawk@MIT.EDU> (see NetBSD misc/11052)).
|
||||
+ using parameter check added to tic, corrected 27 typos in
|
||||
@ -4266,7 +4770,7 @@ it is not possible to add this information.
|
||||
<bledp@voila.fr>)).
|
||||
+ change renaming of dft_fgbg.3x to use_default_colors.3ncurses in
|
||||
man_db.renames, since Debian is not concerned with 14-character
|
||||
filename limitation (from Debian bug report by Josip Rodin
|
||||
filename limitation (Debian bug report by Josip Rodin
|
||||
<joy@cibalia.gkvk.hr>).
|
||||
+ corrected scoansi terminfo entry by testing with scoterm and console.
|
||||
+ revert change from 990614 to terminal_interface-curses-forms.ads.m4,
|
||||
@ -5309,7 +5813,7 @@ it is not possible to add this information.
|
||||
|
||||
980321
|
||||
+ revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t
|
||||
declared (from Adam J. Richter <adam@yggdrasil.com>)
|
||||
declared (from Adam J Richter <adam@yggdrasil.com>)
|
||||
+ remove spurious curs_set() call from leaveok() (J T Conklin).
|
||||
+ corrected handling leaveok() in doupdate() (patch by Alexander V.
|
||||
Lukyanov).
|
||||
|
@ -1,5 +1,5 @@
|
||||
-------------------------------------------------------------------------------
|
||||
-- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. --
|
||||
-- Copyright (c) 1998-2006,2007 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 --
|
||||
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: TO-DO,v 1.48 2006/10/28 19:49:16 tom Exp $
|
||||
-- $Id: TO-DO,v 1.49 2007/02/03 16:29:17 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
SHORT-TERM TO-DO ITEMS:
|
||||
@ -58,9 +58,6 @@ Known Problems:
|
||||
+ The window classes defined in the c++ subdirectory need documentation. Some
|
||||
C++ programmer could earn a lot of good karma by doing this...
|
||||
|
||||
+ The resizeterm() function does not handle ripped-off lines such as that done
|
||||
for the slk_XXX functions.
|
||||
|
||||
+ vid_attr() should support the set_a_attributes (sgr1) string, but does not.
|
||||
There appear to be no terminals that require that functionality.
|
||||
|
||||
@ -75,19 +72,19 @@ Portability (or lack thereof):
|
||||
ncurses/tty/lib_tstp.c .
|
||||
|
||||
+ In theory, vwprintw and vwscanf are supposed to use the older varargs.h
|
||||
interface for handling variadic argument lists. Linux doesn't have
|
||||
varargs.h, it has the newer X/Open-standard stdargs.h equivalent. So these
|
||||
functions use stdargs instead. This is unlikely to be a problem unless
|
||||
you're building ncurses on a System V old enough to only have varargs.h.
|
||||
(Solaris 2.5.1 uses the stdarg.h binding as well).
|
||||
interface for handling variadic argument lists (and are deprecated by X/Open
|
||||
for that reason). Linux doesn't have varargs.h, it has the newer
|
||||
X/Open-standard stdargs.h equivalent. So these functions use stdargs
|
||||
instead. This is unlikely to be a problem unless you're building ncurses on
|
||||
a System V old enough to only have varargs.h. (Solaris 2.5.1 used the
|
||||
stdarg.h binding as well).
|
||||
|
||||
+ If you're using a BSD earlier than 4.4BSD, or a Linux old enough not to have
|
||||
a native vsscanf(3) in its library, vwscanw() will not work. You lose. (It
|
||||
should work on any System V, however). If you want to fix this, add an
|
||||
implementation to ncurses/vsscanf.c.
|
||||
|
||||
+ The C++ binding fails to build with a few C++ compilers, mainly with
|
||||
configure script problems with vsscanf().
|
||||
+ The C++ binding fails to build with a few C++ compilers.
|
||||
|
||||
+ terminfo.5 does not format with the SunOS (and most other platform's) tbl
|
||||
utility because it relies on a diversion for each table entry. Get the
|
||||
@ -106,7 +103,7 @@ LONGER-TERM TO-DO ITEMS:
|
||||
|
||||
1. Extended COSE conformance
|
||||
|
||||
There is an XPG4 standard recently released which describes a superset
|
||||
There is an XPG4 standard released in 1996 which describes a superset
|
||||
of the SVr4 API. The library is BASE conformant with this standard.
|
||||
We would like to make ncurses fully conformant at the EXTENDED level
|
||||
supporting internationalization.
|
||||
|
642
contrib/ncurses/aclocal.m4
vendored
642
contrib/ncurses/aclocal.m4
vendored
@ -1,5 +1,5 @@
|
||||
dnl***************************************************************************
|
||||
dnl Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
dnl Copyright (c) 1998-2006,2007 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,7 +28,7 @@ dnl***************************************************************************
|
||||
dnl
|
||||
dnl Author: Thomas E. Dickey 1995-on
|
||||
dnl
|
||||
dnl $Id: aclocal.m4,v 1.407 2006/12/17 16:12:38 tom Exp $
|
||||
dnl $Id: aclocal.m4,v 1.442 2007/12/01 20:02:42 tom Exp $
|
||||
dnl Macros used in NCURSES auto-configuration script.
|
||||
dnl
|
||||
dnl These macros are maintained separately from NCURSES. The copyright on
|
||||
@ -166,6 +166,99 @@ fi
|
||||
|
||||
AC_SUBST(EXTRA_CPPFLAGS)
|
||||
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_ADD_INCDIR version: 8 updated: 2007/07/30 19:22:58
|
||||
dnl -------------
|
||||
dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
|
||||
dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
|
||||
dnl but old versions (and some misinstalled ones) need that. To make things
|
||||
dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to
|
||||
dnl the include-path).
|
||||
AC_DEFUN([CF_ADD_INCDIR],
|
||||
[
|
||||
if test -n "$1" ; then
|
||||
for cf_add_incdir in $1
|
||||
do
|
||||
while test $cf_add_incdir != /usr/include
|
||||
do
|
||||
if test -d $cf_add_incdir
|
||||
then
|
||||
cf_have_incdir=no
|
||||
if test -n "$CFLAGS$CPPFLAGS" ; then
|
||||
# a loop is needed to ensure we can add subdirs of existing dirs
|
||||
for cf_test_incdir in $CFLAGS $CPPFLAGS ; do
|
||||
if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then
|
||||
cf_have_incdir=yes; break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if test "$cf_have_incdir" = no ; then
|
||||
if test "$cf_add_incdir" = /usr/local/include ; then
|
||||
if test "$GCC" = yes
|
||||
then
|
||||
cf_save_CPPFLAGS=$CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
|
||||
AC_TRY_COMPILE([#include <stdio.h>],
|
||||
[printf("Hello")],
|
||||
[],
|
||||
[cf_have_incdir=yes])
|
||||
CPPFLAGS=$cf_save_CPPFLAGS
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$cf_have_incdir" = no ; then
|
||||
AC_VERBOSE(adding $cf_add_incdir to include-path)
|
||||
ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)"
|
||||
|
||||
cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
|
||||
test "$cf_top_incdir" = "$cf_add_incdir" && break
|
||||
cf_add_incdir="$cf_top_incdir"
|
||||
else
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_ADD_LIBDIR version: 5 updated: 2007/07/30 19:12:03
|
||||
dnl -------------
|
||||
dnl Adds to the library-path
|
||||
dnl
|
||||
dnl Some machines have trouble with multiple -L options.
|
||||
dnl
|
||||
dnl $1 is the (list of) directory(s) to add
|
||||
dnl $2 is the optional name of the variable to update (default LDFLAGS)
|
||||
dnl
|
||||
AC_DEFUN([CF_ADD_LIBDIR],
|
||||
[
|
||||
if test -n "$1" ; then
|
||||
for cf_add_libdir in $1
|
||||
do
|
||||
if test $cf_add_libdir = /usr/lib ; then
|
||||
:
|
||||
elif test -d $cf_add_libdir
|
||||
then
|
||||
cf_have_libdir=no
|
||||
if test -n "$LDFLAGS$LIBS" ; then
|
||||
# a loop is needed to ensure we can add subdirs of existing dirs
|
||||
for cf_test_libdir in $LDFLAGS $LIBS ; do
|
||||
if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then
|
||||
cf_have_libdir=yes; break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test "$cf_have_libdir" = no ; then
|
||||
AC_VERBOSE(adding $cf_add_libdir to library-path)
|
||||
ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,[$]$2)"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34
|
||||
@ -612,6 +705,50 @@ fi
|
||||
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06
|
||||
dnl -------------------
|
||||
dnl Check if GPM is already linked with curses. If so - and if the linkage
|
||||
dnl is not "weak" - warn about this because it can create problems linking
|
||||
dnl applications with ncurses.
|
||||
AC_DEFUN([CF_CHECK_GPM_WGETCH],[
|
||||
AC_CHECK_LIB(gpm,Gpm_Wgetch,[
|
||||
|
||||
AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[
|
||||
cf_cv_check_gpm_wgetch=unknown
|
||||
if test "$cross_compiling" != yes ; then
|
||||
|
||||
cat >conftest.$ac_ext <<CF_EOF
|
||||
#include <gpm.h>
|
||||
int main()
|
||||
{
|
||||
Gpm_Wgetch();
|
||||
${cf_cv_main_return:-return}(0);
|
||||
}
|
||||
CF_EOF
|
||||
|
||||
cf_save_LIBS="$LIBS"
|
||||
# This only works if we can look at the symbol table. If a shared
|
||||
# library is stripped for install, we cannot use that. So we're forced
|
||||
# to rely on the static library, noting that some packagers may not
|
||||
# include it.
|
||||
LIBS="-static -lgpm -dynamic $LIBS"
|
||||
if AC_TRY_EVAL(ac_compile) ; then
|
||||
if AC_TRY_EVAL(ac_link) ; then
|
||||
cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'`
|
||||
test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes
|
||||
test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no
|
||||
fi
|
||||
fi
|
||||
rm -f conftest*
|
||||
LIBS="$cf_save_LIBS"
|
||||
fi
|
||||
])
|
||||
|
||||
if test "$cf_cv_check_gpm_wgetch" != yes ; then
|
||||
AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
|
||||
fi
|
||||
])])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18
|
||||
dnl -----------------
|
||||
dnl Check if the C++ compiler accepts duplicate parameter initialization. This
|
||||
@ -703,82 +840,36 @@ fi
|
||||
test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28
|
||||
dnl -----------------
|
||||
dnl Check if the g++ compiler supports vscan function (not a standard feature).
|
||||
AC_DEFUN([CF_CPP_VSCAN_FUNC],
|
||||
[
|
||||
if test -n "$CXX"; then
|
||||
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
AC_CHECK_HEADERS(strstream.h)
|
||||
|
||||
AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[
|
||||
for cf_vscan_func in strstream strstream_cast stdio
|
||||
do
|
||||
case $cf_vscan_func in #(vi
|
||||
stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi
|
||||
strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;;
|
||||
strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;;
|
||||
esac
|
||||
AC_TRY_LINK([
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#define $cf_vscan_defs 1
|
||||
#if defined(USE_STDIO_VSCAN)
|
||||
#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN)
|
||||
#include <strstream.h>
|
||||
#endif
|
||||
|
||||
int scanw(const char* fmt, ...)
|
||||
{
|
||||
int result = -1;
|
||||
char buf[BUFSIZ];
|
||||
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
#if defined(USE_STDIO_VSCAN)
|
||||
if (::vsscanf(buf, fmt, args) != -1)
|
||||
result = 0;
|
||||
#elif defined(USE_STRSTREAM_VSCAN)
|
||||
strstreambuf ss(buf, sizeof(buf));
|
||||
if (ss.vscan(fmt, args) != -1)
|
||||
result = 0;
|
||||
#elif defined(USE_STRSTREAM_VSCAN_CAST)
|
||||
strstreambuf ss(buf, sizeof(buf));
|
||||
if (ss.vscan(fmt, (_IO_va_list)args) != -1)
|
||||
result = 0;
|
||||
#else
|
||||
#error case $cf_vscan_func failed
|
||||
#endif
|
||||
va_end(args);
|
||||
return result;
|
||||
}
|
||||
],[int tmp, foo = scanw("%d", &tmp)],
|
||||
[cf_cv_cpp_vscan_func=$cf_vscan_func; break],
|
||||
[cf_cv_cpp_vscan_func=no])
|
||||
test "$cf_cv_cpp_vscan_func" != no && break
|
||||
done
|
||||
])
|
||||
|
||||
AC_LANG_RESTORE
|
||||
dnl CF_C_INLINE version: 2 updated: 2007/08/11 14:09:50
|
||||
dnl -----------
|
||||
dnl Check if the C compiler supports "inline".
|
||||
dnl $1 is the name of a shell variable to set if inline is supported
|
||||
dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size
|
||||
AC_DEFUN([CF_C_INLINE],[
|
||||
AC_C_INLINE
|
||||
$1=
|
||||
if test "$ac_cv_c_inline" != no ; then
|
||||
$1=inline
|
||||
if test "$INTEL_COMPILER" = yes
|
||||
then
|
||||
:
|
||||
elif test "$GCC" = yes
|
||||
then
|
||||
AC_CACHE_CHECK(if gcc supports options to tune inlining,cf_cv_gcc_inline,[
|
||||
cf_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="$CFLAGS --param max-inline-insns-single=$2"
|
||||
AC_TRY_COMPILE([inline int foo(void) { return 1; }],
|
||||
[${cf_cv_main_return:-return} foo()],
|
||||
[cf_cv_gcc_inline=yes],
|
||||
[cf_cv_gcc_inline=no])
|
||||
CFLAGS=$cf_save_CFLAGS
|
||||
])
|
||||
if test "$cf_cv_gcc_inline" = yes ; then
|
||||
CF_ADD_CFLAGS([--param max-inline-insns-single=$2])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
case $cf_cv_cpp_vscan_func in #(vi
|
||||
stdio) #(vi
|
||||
AC_DEFINE(CPP_HAS_VSCAN_FUNC)
|
||||
AC_DEFINE(USE_STDIO_VSCAN)
|
||||
;;
|
||||
strstream)
|
||||
AC_DEFINE(CPP_HAS_VSCAN_FUNC)
|
||||
AC_DEFINE(USE_STRSTREAM_VSCAN)
|
||||
;;
|
||||
strstream_cast)
|
||||
AC_DEFINE(CPP_HAS_VSCAN_FUNC)
|
||||
AC_DEFINE(USE_STRSTREAM_VSCAN_CAST)
|
||||
;;
|
||||
esac
|
||||
AC_SUBST($1)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
|
||||
@ -1070,7 +1161,7 @@ esac
|
||||
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_GCC_ATTRIBUTES version: 10 updated: 2005/05/28 13:16:28
|
||||
dnl CF_GCC_ATTRIBUTES version: 11 updated: 2007/07/29 09:55:12
|
||||
dnl -----------------
|
||||
dnl Test for availability of useful gcc __attribute__ directives to quiet
|
||||
dnl compiler warnings. Though useful, not all are supported -- and contrary
|
||||
@ -1097,7 +1188,7 @@ if test "$GCC" = yes
|
||||
then
|
||||
AC_CHECKING([for $CC __attribute__ directives])
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line __oline__ "configure"
|
||||
#line __oline__ "${as_me-configure}"
|
||||
#include "confdefs.h"
|
||||
#include "conftest.h"
|
||||
#include "conftest.i"
|
||||
@ -1159,7 +1250,7 @@ if test "$GCC" = yes ; then
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29
|
||||
dnl CF_GCC_WARNINGS version: 22 updated: 2007/07/29 09:55:12
|
||||
dnl ---------------
|
||||
dnl Check if the compiler supports useful warning options. There's a few that
|
||||
dnl we don't use, simply because they're too noisy:
|
||||
@ -1184,7 +1275,7 @@ AC_REQUIRE([CF_GCC_VERSION])
|
||||
CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS)
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line __oline__ "configure"
|
||||
#line __oline__ "${as_me-configure}"
|
||||
int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
|
||||
EOF
|
||||
|
||||
@ -1205,7 +1296,7 @@ then
|
||||
AC_CHECKING([for $CC warning options])
|
||||
cf_save_CFLAGS="$CFLAGS"
|
||||
EXTRA_CFLAGS="-Wall"
|
||||
for cf_opt in $1 \
|
||||
for cf_opt in \
|
||||
wd1419 \
|
||||
wd1682 \
|
||||
wd1683 \
|
||||
@ -1561,11 +1652,24 @@ AC_LANG_RESTORE
|
||||
AC_SUBST(EXTRA_CXXFLAGS)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_HASHED_DB version: 1 updated: 2006/08/19 09:16:14
|
||||
dnl CF_HASHED_DB version: 3 updated: 2007/11/24 17:43:37
|
||||
dnl ------------
|
||||
dnl Look for an instance of the Berkeley hashed database.
|
||||
dnl
|
||||
dnl $1 = optional parameter, to specify install-prefix for the database.
|
||||
AC_DEFUN([CF_HASHED_DB],
|
||||
[
|
||||
ifelse([$1],,,[
|
||||
case $1 in #(vi
|
||||
yes|*able*) #(vi
|
||||
;;
|
||||
*)
|
||||
if test -d "$1" ; then
|
||||
CF_ADD_INCDIR($1/include)
|
||||
CF_ADD_LIBDIR($1/lib)
|
||||
fi
|
||||
esac
|
||||
])
|
||||
AC_CHECK_HEADER(db.h,[
|
||||
CF_HASHED_DB_VERSION
|
||||
if test "$cf_cv_hashed_db_version" = unknown ; then
|
||||
@ -1583,7 +1687,7 @@ fi
|
||||
])
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_HASHED_DB_LIBS version: 6 updated: 2006/12/16 12:33:30
|
||||
dnl CF_HASHED_DB_LIBS version: 7 updated: 2007/12/01 15:01:37
|
||||
dnl -----------------
|
||||
dnl Given that we have the header and version for hashed database, find the
|
||||
dnl library information.
|
||||
@ -1591,7 +1695,7 @@ AC_DEFUN([CF_HASHED_DB_LIBS],
|
||||
[
|
||||
AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[
|
||||
cf_cv_hashed_db_libs=unknown
|
||||
for cf_db_libs in db$cf_cv_hashed_db_version db ''
|
||||
for cf_db_libs in db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db ''
|
||||
do
|
||||
cf_save_libs="$LIBS"
|
||||
if test -n "$cf_db_libs"; then
|
||||
@ -1655,7 +1759,7 @@ done
|
||||
])
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_HASHED_DB_VERSION version: 2 updated: 2006/08/19 15:12:49
|
||||
dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37
|
||||
dnl --------------------
|
||||
dnl Given that we have the header file for hashed database, find the version
|
||||
dnl information.
|
||||
@ -1664,7 +1768,7 @@ AC_DEFUN([CF_HASHED_DB_VERSION],
|
||||
AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[
|
||||
cf_cv_hashed_db_version=unknown
|
||||
|
||||
for cf_db_version in 1 2 3 4
|
||||
for cf_db_version in 1 2 3 4 5
|
||||
do
|
||||
CF_MSG_LOG(checking for db version $cf_db_version)
|
||||
AC_TRY_COMPILE([
|
||||
@ -1778,7 +1882,7 @@ AC_MSG_RESULT($cf_cv_have_isascii)
|
||||
test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_LARGEFILE version: 6 updated: 2006/09/23 19:07:52
|
||||
dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50
|
||||
dnl ------------
|
||||
dnl Add checks for large file support.
|
||||
AC_DEFUN([CF_LARGEFILE],[
|
||||
@ -1796,6 +1900,7 @@ ifdef([AC_FUNC_FSEEKO],[
|
||||
# the config.h
|
||||
test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES "
|
||||
test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE "
|
||||
test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits "
|
||||
|
||||
AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[
|
||||
AC_TRY_COMPILE([
|
||||
@ -1816,6 +1921,48 @@ ifdef([AC_FUNC_FSEEKO],[
|
||||
])
|
||||
])
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_LDFLAGS_STATIC version: 2 updated: 2007/04/28 15:25:27
|
||||
dnl -----------------
|
||||
dnl Check for compiler/linker flags used to temporarily force usage of static
|
||||
dnl libraries. This depends on the compiler and platform. Use this to help
|
||||
dnl ensure that the linker picks up a given library based on its position in
|
||||
dnl the list of linker options and libraries.
|
||||
AC_DEFUN([CF_LDFLAGS_STATIC],[
|
||||
|
||||
if test "$GCC" = yes ; then
|
||||
LDFLAGS_STATIC=-static
|
||||
LDFLAGS_SHARED=-dynamic
|
||||
else
|
||||
case $cf_cv_system_name in #(
|
||||
aix[[45]]*) #( from ld manpage
|
||||
LDFLAGS_STATIC=-bstatic
|
||||
LDFLAGS_SHARED=-bdynamic
|
||||
;;
|
||||
hpux*) #( from ld manpage for hpux10.20, hpux11.11
|
||||
# We could also use just "archive" and "shared".
|
||||
LDFLAGS_STATIC=-Wl,-a,archive_shared
|
||||
LDFLAGS_SHARED=-Wl,-a,shared_archive
|
||||
;;
|
||||
irix*) #( from ld manpage IRIX64
|
||||
LDFLAGS_STATIC=-Bstatic
|
||||
LDFLAGS_SHARED=-Bdynamic
|
||||
;;
|
||||
osf[[45]]*) #( from ld manpage osf4.0d, osf5.1
|
||||
# alternative "-oldstyle_liblookup" (not in cc manpage)
|
||||
LDFLAGS_STATIC=-noso
|
||||
LDFLAGS_SHARED=-so_archive
|
||||
;;
|
||||
solaris2*)
|
||||
LDFLAGS_STATIC=-Bstatic
|
||||
LDFLAGS_SHARED=-Bdynamic
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_SUBST(LDFLAGS_STATIC)
|
||||
AC_SUBST(LDFLAGS_SHARED)
|
||||
])
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32
|
||||
dnl ----------
|
||||
dnl Check for libutf8
|
||||
@ -1852,11 +1999,11 @@ ifelse($1,,,[$1=$LIB_PREFIX])
|
||||
AC_SUBST(LIB_PREFIX)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_LIB_RULES version: 40 updated: 2006/10/14 15:23:15
|
||||
dnl CF_LIB_RULES version: 50 updated: 2007/03/24 18:26:59
|
||||
dnl ------------
|
||||
dnl Append definitions and rules for the given models to the subdirectory
|
||||
dnl Makefiles, and the recursion rule for the top-level Makefile. If the
|
||||
dnl subdirectory is a library-source directory, modify the LIBRARIES list in
|
||||
dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in
|
||||
dnl the corresponding makefile to list the models that we'll generate.
|
||||
dnl
|
||||
dnl For shared libraries, make a list of symbolic links to construct when
|
||||
@ -1875,7 +2022,6 @@ do
|
||||
continue
|
||||
elif test -f $srcdir/$cf_dir/modules; then
|
||||
|
||||
IMPORT_LIB=
|
||||
SHARED_LIB=
|
||||
LIBS_TO_MAKE=
|
||||
for cf_item in $cf_LIST_MODELS
|
||||
@ -1922,9 +2068,7 @@ do
|
||||
# use autodetected ${cf_prefix} for import lib and static lib, but
|
||||
# use 'cyg' prefix for shared lib.
|
||||
if test $cf_cv_shlib_version = cygdll ; then
|
||||
SHARED_LIB="cyg${cf_dir}\${ABI_VERSION}.dll"
|
||||
IMPORT_LIB="${cf_prefix}${cf_dir}.dll.a"
|
||||
LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/\${SHARED_LIB} ../lib/\${IMPORT_LIB}"
|
||||
LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}\${ABI_VERSION}.dll"
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
@ -1933,17 +2077,34 @@ do
|
||||
|
||||
if test $cf_dir = ncurses ; then
|
||||
cf_subsets="$LIB_SUBSETS"
|
||||
cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'`
|
||||
if test "$cf_termlib" != "$cf_subsets" ; then
|
||||
cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
|
||||
LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
|
||||
fi
|
||||
cf_r_parts="$cf_subsets"
|
||||
|
||||
while test -n "$cf_r_parts"
|
||||
do
|
||||
cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
|
||||
cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'`
|
||||
if test "$cf_l_parts" != "$cf_r_parts" ; then
|
||||
case $cf_l_parts in #(vi
|
||||
*termlib*) #(vi
|
||||
cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
|
||||
;;
|
||||
*ticlib*)
|
||||
cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE"
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
|
||||
fi
|
||||
|
||||
sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \
|
||||
-e "s%@IMPORT_LIB@%$IMPORT_LIB%" \
|
||||
-e "s%@SHARED_LIB@%$SHARED_LIB%" \
|
||||
$cf_dir/Makefile >$cf_dir/Makefile.out
|
||||
mv $cf_dir/Makefile.out $cf_dir/Makefile
|
||||
@ -1968,13 +2129,20 @@ do
|
||||
case $cf_subset in
|
||||
*base*)
|
||||
;;
|
||||
termlib*)
|
||||
*termlib*)
|
||||
cf_libname=$TINFO_LIB_SUFFIX
|
||||
if test -n "${DFT_ARG_SUFFIX}" ; then
|
||||
# undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
|
||||
cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
|
||||
fi
|
||||
;;
|
||||
;;
|
||||
ticlib*)
|
||||
cf_libname=$TICS_LIB_SUFFIX
|
||||
if test -n "${DFT_ARG_SUFFIX}" ; then
|
||||
# undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX
|
||||
cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"`
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
@ -2015,8 +2183,11 @@ do
|
||||
prefix=$cf_prefix \
|
||||
suffix=$cf_suffix \
|
||||
subset=$cf_subset \
|
||||
TermlibRoot=$TINFO_NAME \
|
||||
TermlibSuffix=$TINFO_SUFFIX \
|
||||
ShlibVer=$cf_cv_shlib_version \
|
||||
ShlibVerInfix=$cf_cv_shlib_version_infix \
|
||||
ReLink=${cf_cv_do_relink-no} \
|
||||
DoLinks=$cf_cv_do_symlinks \
|
||||
rmSoLocs=$cf_cv_rm_so_locs \
|
||||
ldconfig="$LDCONFIG" \
|
||||
@ -2103,8 +2274,8 @@ done
|
||||
|
||||
cat >> Makefile <<CF_EOF
|
||||
|
||||
install.data \\
|
||||
uninstall.data ::
|
||||
install.libs uninstall.libs \\
|
||||
install.data uninstall.data ::
|
||||
$MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@
|
||||
|
||||
install.man \\
|
||||
@ -2113,7 +2284,7 @@ uninstall.man ::
|
||||
|
||||
distclean ::
|
||||
rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
|
||||
rm -f headers.sh headers.sed
|
||||
rm -f headers.sh headers.sed mk_shared_lib.sh
|
||||
rm -rf \${DIRS_TO_MAKE}
|
||||
CF_EOF
|
||||
|
||||
@ -2224,41 +2395,10 @@ do
|
||||
fi
|
||||
|
||||
if test -f $srcdir/$cf_dir/headers; then
|
||||
cat >>$cf_dir/Makefile <<CF_EOF
|
||||
\${DESTDIR}\${includedir} :
|
||||
sh \${srcdir}/../mkinstalldirs \[$]@
|
||||
|
||||
install \\
|
||||
install.libs \\
|
||||
install.includes :: \${AUTO_SRC} \${DESTDIR}\${includedir} \\
|
||||
CF_EOF
|
||||
j=""
|
||||
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
|
||||
do
|
||||
test -n "$j" && echo " $j \\" >>$cf_dir/Makefile
|
||||
j=$i
|
||||
done
|
||||
|
||||
echo " $j" >>$cf_dir/Makefile
|
||||
|
||||
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
|
||||
do
|
||||
echo " @ (cd \${DESTDIR}\${includedir} && rm -f `basename $i`) ; ../headers.sh \${INSTALL_DATA} \${DESTDIR}\${includedir} \${srcdir} $i" >>$cf_dir/Makefile
|
||||
test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h && \${LN_S} curses.h ncurses.h)" >>$cf_dir/Makefile
|
||||
done
|
||||
|
||||
cat >>$cf_dir/Makefile <<CF_EOF
|
||||
|
||||
uninstall \\
|
||||
uninstall.libs \\
|
||||
uninstall.includes ::
|
||||
CF_EOF
|
||||
for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"`
|
||||
do
|
||||
i=`basename $i`
|
||||
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
|
||||
$AWK -f $srcdir/mk-hdr.awk \
|
||||
subset="$LIB_SUBSETS" \
|
||||
compat="$WITH_CURSES_H" \
|
||||
$srcdir/$cf_dir/headers >>$cf_dir/Makefile
|
||||
fi
|
||||
|
||||
if test -f $srcdir/$cf_dir/modules; then
|
||||
@ -2776,7 +2916,7 @@ AC_ARG_WITH(manpage-tbl,
|
||||
AC_MSG_RESULT($MANPAGE_TBL)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_MAN_PAGES version: 31 updated: 2006/12/09 12:27:08
|
||||
dnl CF_MAN_PAGES version: 35 updated: 2007/03/31 11:47:29
|
||||
dnl ------------
|
||||
dnl Try to determine if the man-pages on the system are compressed, and if
|
||||
dnl so, what format is used. Use this information to construct a script that
|
||||
@ -2826,6 +2966,7 @@ case "$MANPAGE_FORMAT" in #(vi
|
||||
esac
|
||||
|
||||
cf_edit_man=./edit_man.sh
|
||||
cf_man_alias=`pwd`/man_alias.sed
|
||||
|
||||
cat >$cf_edit_man <<CF_EOF
|
||||
#! /bin/sh
|
||||
@ -2841,7 +2982,7 @@ NCURSES_PATCH="$NCURSES_PATCH"
|
||||
NCURSES_OSPEED="$NCURSES_OSPEED"
|
||||
TERMINFO="$TERMINFO"
|
||||
|
||||
MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs"
|
||||
MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh"
|
||||
|
||||
INSTALL="$INSTALL"
|
||||
INSTALL_DATA="$INSTALL_DATA"
|
||||
@ -2889,6 +3030,32 @@ case \$i in #(vi
|
||||
\$MKDIRS \$cf_subdir\$section
|
||||
fi
|
||||
fi
|
||||
|
||||
# replace variables in man page
|
||||
if test ! -f $cf_man_alias ; then
|
||||
cat >>$cf_man_alias <<-CF_EOF2
|
||||
s,@DATADIR@,\$datadir,g
|
||||
s,@TERMINFO@,\$TERMINFO,g
|
||||
s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g
|
||||
s,@NCURSES_MINOR@,\$NCURSES_MINOR,g
|
||||
s,@NCURSES_PATCH@,\$NCURSES_PATCH,g
|
||||
s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g
|
||||
CF_EOF
|
||||
ifelse($1,,,[
|
||||
for cf_name in $1
|
||||
do
|
||||
cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
|
||||
cf_name=`echo $cf_name|sed "$program_transform_name"`
|
||||
cat >>$cf_edit_man <<-CF_EOF
|
||||
s,@$cf_NAME@,$cf_name,
|
||||
CF_EOF
|
||||
done
|
||||
])
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
CF_EOF2
|
||||
echo "...made $cf_man_alias"
|
||||
fi
|
||||
|
||||
aliases=
|
||||
cf_source=\`basename \$i\`
|
||||
inalias=\$cf_source
|
||||
@ -2901,7 +3068,7 @@ CF_EOF
|
||||
|
||||
if test "$MANPAGE_ALIASES" != no ; then
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias | sort -u\`
|
||||
aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\`
|
||||
CF_EOF
|
||||
fi
|
||||
|
||||
@ -2922,36 +3089,13 @@ cat >>$cf_edit_man <<CF_EOF
|
||||
cf_target="\$cf_source"
|
||||
fi
|
||||
cf_target="\$cf_subdir\${section}/\${cf_target}"
|
||||
|
||||
CF_EOF
|
||||
fi
|
||||
|
||||
# replace variables in man page
|
||||
ifelse($1,,,[
|
||||
for cf_name in $1
|
||||
do
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
prog_$cf_name=\`echo $cf_name|sed "\${transform}"\`
|
||||
sed -f $cf_man_alias \\
|
||||
CF_EOF
|
||||
done
|
||||
])
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
sed -e "s,@DATADIR@,\$datadir," \\
|
||||
-e "s,@TERMINFO@,\$TERMINFO," \\
|
||||
-e "s,@NCURSES_MAJOR@,\$NCURSES_MAJOR," \\
|
||||
-e "s,@NCURSES_MINOR@,\$NCURSES_MINOR," \\
|
||||
-e "s,@NCURSES_PATCH@,\$NCURSES_PATCH," \\
|
||||
-e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\
|
||||
CF_EOF
|
||||
|
||||
ifelse($1,,,[
|
||||
for cf_name in $1
|
||||
do
|
||||
cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
-e "s,@$cf_NAME@,\$prog_$cf_name," \\
|
||||
CF_EOF
|
||||
done
|
||||
])
|
||||
|
||||
if test -f $MANPAGE_RENAMES ; then
|
||||
cat >>$cf_edit_man <<CF_EOF
|
||||
@ -3012,6 +3156,7 @@ cat >>$cf_edit_man <<CF_EOF
|
||||
if test \$verb = installing ; then
|
||||
echo \$verb \$cf_target
|
||||
\$INSTALL_DATA \$TMP \$cf_target
|
||||
test -d \$cf_subdir\${section} &&
|
||||
test -n "\$aliases" && (
|
||||
cd \$cf_subdir\${section} && (
|
||||
cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\`
|
||||
@ -3053,8 +3198,11 @@ cat >>$cf_edit_man <<CF_EOF
|
||||
)
|
||||
)
|
||||
elif test \$verb = removing ; then
|
||||
echo \$verb \$cf_target
|
||||
rm -f \$cf_target
|
||||
test -f \$cf_target && (
|
||||
echo \$verb \$cf_target
|
||||
rm -f \$cf_target
|
||||
)
|
||||
test -d \$cf_subdir\${section} &&
|
||||
test -n "\$aliases" && (
|
||||
cd \$cf_subdir\${section} && (
|
||||
for cf_alias in \$aliases
|
||||
@ -3192,12 +3340,12 @@ if test "$cf_cv_func_mkstemp" = yes ; then
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52
|
||||
dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12
|
||||
dnl ----------
|
||||
dnl Write a debug message to config.log, along with the line number in the
|
||||
dnl configure script.
|
||||
AC_DEFUN([CF_MSG_LOG],[
|
||||
echo "(line __oline__) testing $* ..." 1>&AC_FD_CC
|
||||
echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49
|
||||
@ -3680,7 +3828,73 @@ $1=`echo "$2" | \
|
||||
-e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'`
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_SHARED_OPTS version: 41 updated: 2006/12/09 12:32:00
|
||||
dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52
|
||||
dnl -------------
|
||||
dnl Remove the given library from the symbol
|
||||
dnl
|
||||
dnl $1 = target (which could be the same as the source variable)
|
||||
dnl $2 = source (including '$')
|
||||
dnl $3 = library to remove
|
||||
define([CF_REMOVE_LIB],
|
||||
[
|
||||
# remove $3 library from $2
|
||||
$1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'`
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_RPATH_HACK version: 3 updated: 2007/12/01 11:14:13
|
||||
dnl -------------
|
||||
AC_DEFUN([CF_RPATH_HACK],
|
||||
[
|
||||
AC_REQUIRE([CF_SHARED_OPTS])
|
||||
AC_MSG_CHECKING(for updated LDFLAGS)
|
||||
if test -n "$LDFLAGS" ; then
|
||||
AC_MSG_RESULT(maybe)
|
||||
CF_VERBOSE(...checking LDFLAGS $LDFLAGS)
|
||||
CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS)
|
||||
case "$EXTRA_LDFLAGS" in #(vi
|
||||
-Wl,-rpath,*) #(vi
|
||||
cf_rpath_hack="-Wl,-rpath,"
|
||||
;;
|
||||
-R\ *)
|
||||
cf_rpath_hack="-R "
|
||||
;;
|
||||
-R*)
|
||||
cf_rpath_hack="-R"
|
||||
;;
|
||||
*)
|
||||
cf_rpath_hack=
|
||||
;;
|
||||
esac
|
||||
if test -n "$cf_rpath_hack" ; then
|
||||
cf_rpath_dst=
|
||||
for cf_rpath_src in $LDFLAGS
|
||||
do
|
||||
CF_VERBOSE(Filtering $cf_rpath_src)
|
||||
case $cf_rpath_src in #(vi
|
||||
-L*) #(vi
|
||||
if test "$cf_rpath_hack" = "-R " ; then
|
||||
cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'`
|
||||
else
|
||||
cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$cf_rpath_hack%`
|
||||
fi
|
||||
CF_VERBOSE(...Filter $cf_rpath_tmp)
|
||||
EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
|
||||
;;
|
||||
*)
|
||||
cf_rpath_dst="$cf_rpath_dst $cf_rpath_src"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
LDFLAGS=$cf_rpath_dst
|
||||
CF_VERBOSE(...checked LDFLAGS $LDFLAGS)
|
||||
CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_SHARED_OPTS version: 46 updated: 2007/02/24 18:58:09
|
||||
dnl --------------
|
||||
dnl --------------
|
||||
dnl Attempt to determine the appropriate CC/LD options for creating a shared
|
||||
@ -3757,14 +3971,27 @@ AC_DEFUN([CF_SHARED_OPTS],
|
||||
;;
|
||||
cygwin*)
|
||||
CC_SHARED_OPTS=
|
||||
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,--out-implib=../lib/${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/${SHARED_LIB}'
|
||||
MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}'
|
||||
cf_cv_shlib_version=cygdll
|
||||
cf_cv_shlib_version_infix=cygdll
|
||||
cat >mk_shared_lib.sh <<-CF_EOF
|
||||
#!/bin/sh
|
||||
SHARED_LIB=\[$]1
|
||||
IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\`
|
||||
shift
|
||||
cat <<-EOF
|
||||
Linking shared library
|
||||
** SHARED_LIB \[$]SHARED_LIB
|
||||
** IMPORT_LIB \[$]IMPORT_LIB
|
||||
EOF
|
||||
exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB}
|
||||
CF_EOF
|
||||
chmod +x mk_shared_lib.sh
|
||||
;;
|
||||
darwin*)
|
||||
EXTRA_CFLAGS="-no-cpp-precomp"
|
||||
CC_SHARED_OPTS="-dynamic"
|
||||
MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${DESTDIR}${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
|
||||
MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]'
|
||||
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi
|
||||
cf_cv_shlib_version_infix=yes
|
||||
AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [
|
||||
@ -3818,11 +4045,11 @@ AC_DEFUN([CF_SHARED_OPTS],
|
||||
CF_SHARED_SONAME
|
||||
MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname',-stats,-lc -o $[@]'
|
||||
;;
|
||||
openbsd2*)
|
||||
openbsd[[2-9]].*)
|
||||
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
||||
MK_SHARED_LIB='${LD} -Bshareable -soname,`basename $[@].${ABI_VERSION}` -o $[@]'
|
||||
;;
|
||||
openbsd*|freebsd[[23]]*)
|
||||
openbsd*|freebsd[[12]].*)
|
||||
CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC"
|
||||
MK_SHARED_LIB='${LD} -Bshareable -o $[@]'
|
||||
test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel
|
||||
@ -4043,6 +4270,41 @@ done
|
||||
fi
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12
|
||||
dnl ---------------
|
||||
dnl signal handler, but there are some gcc depedencies in that recommendation.
|
||||
dnl Try anyway.
|
||||
AC_DEFUN([CF_SIG_ATOMIC_T],
|
||||
[
|
||||
AC_MSG_CHECKING(for signal global datatype)
|
||||
AC_CACHE_VAL(cf_cv_sig_atomic_t,[
|
||||
for cf_type in \
|
||||
"volatile sig_atomic_t" \
|
||||
"sig_atomic_t" \
|
||||
"int"
|
||||
do
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
#include <stdio.h>
|
||||
|
||||
extern $cf_type x;
|
||||
$cf_type x;
|
||||
static void handler(int sig)
|
||||
{
|
||||
x = 5;
|
||||
}],
|
||||
[signal(SIGINT, handler);
|
||||
x = 1],
|
||||
[cf_cv_sig_atomic_t=$cf_type],
|
||||
[cf_cv_sig_atomic_t=no])
|
||||
test "$cf_cv_sig_atomic_t" != no && break
|
||||
done
|
||||
])
|
||||
AC_MSG_RESULT($cf_cv_sig_atomic_t)
|
||||
test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t)
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16
|
||||
dnl -------------
|
||||
dnl Check for definitions & structures needed for window size-changing
|
||||
@ -4503,11 +4765,12 @@ AC_DEFUN([CF_UPPER],
|
||||
$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
|
||||
dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
|
||||
dnl ----------
|
||||
dnl Use AC_VERBOSE w/o the warnings
|
||||
AC_DEFUN([CF_VERBOSE],
|
||||
[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
|
||||
CF_MSG_LOG([$1])
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20
|
||||
@ -4643,7 +4906,7 @@ if test "$with_gpm" != no ; then
|
||||
fi
|
||||
])
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_WITH_LIBTOOL version: 10 updated: 2006/10/14 15:23:15
|
||||
dnl CF_WITH_LIBTOOL version: 18 updated: 2007/04/08 20:02:38
|
||||
dnl ---------------
|
||||
dnl Provide a configure option to incorporate libtool. Define several useful
|
||||
dnl symbols for the makefile rules.
|
||||
@ -4692,7 +4955,7 @@ LIB_PREP="$RANLIB"
|
||||
# doing:
|
||||
LIB_CLEAN=
|
||||
LIB_COMPILE=
|
||||
LIB_LINK=
|
||||
LIB_LINK='${CC}'
|
||||
LIB_INSTALL=
|
||||
LIB_UNINSTALL=
|
||||
|
||||
@ -4718,12 +4981,12 @@ ifdef([AC_PROG_LIBTOOL],[
|
||||
AC_MSG_ERROR(Cannot find libtool)
|
||||
fi
|
||||
])dnl
|
||||
LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` -o'
|
||||
LIB_OBJECT='${OBJECTS}.o=.lo)'
|
||||
LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} -o'
|
||||
LIB_OBJECT='${OBJECTS:.o=.lo}'
|
||||
LIB_SUFFIX=.la
|
||||
LIB_CLEAN='${LIBTOOL} --mode=clean'
|
||||
LIB_COMPILE='${LIBTOOL} --mode=compile'
|
||||
LIB_LINK='${LIBTOOL} --mode=link'
|
||||
LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}'
|
||||
LIB_INSTALL='${LIBTOOL} --mode=install'
|
||||
LIB_UNINSTALL='${LIBTOOL} --mode=uninstall'
|
||||
LIB_PREP=:
|
||||
@ -4734,10 +4997,10 @@ ifdef([AC_PROG_LIBTOOL],[
|
||||
# Save the version in a cache variable - this is not entirely a good
|
||||
# thing, but the version string from libtool is very ugly, and for
|
||||
# bug reports it might be useful to have the original string.
|
||||
cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
|
||||
cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
|
||||
AC_MSG_RESULT($cf_cv_libtool_version)
|
||||
if test -z "$cf_cv_libtool_version" ; then
|
||||
AC_MSG_ERROR(This is not libtool)
|
||||
AC_MSG_ERROR(This is not GNU libtool)
|
||||
fi
|
||||
|
||||
# special hack to add --tag option for C++ compiler
|
||||
@ -4758,6 +5021,7 @@ test -z "$LIBTOOL" && ECHO_LT=
|
||||
|
||||
AC_SUBST(LIBTOOL)
|
||||
AC_SUBST(LIBTOOL_CXX)
|
||||
AC_SUBST(LIBTOOL_OPTS)
|
||||
|
||||
AC_SUBST(LIB_CREATE)
|
||||
AC_SUBST(LIB_OBJECT)
|
||||
@ -4772,7 +5036,7 @@ AC_SUBST(LIB_UNINSTALL)
|
||||
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_WITH_PATH version: 7 updated: 2006/08/03 15:20:08
|
||||
dnl CF_WITH_PATH version: 8 updated: 2007/05/13 13:16:35
|
||||
dnl ------------
|
||||
dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just
|
||||
dnl defaulting to yes/no.
|
||||
@ -4786,7 +5050,9 @@ dnl
|
||||
AC_DEFUN([CF_WITH_PATH],
|
||||
[AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),,
|
||||
ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl
|
||||
if ifelse($5,,true,[test -n "$5"]) ; then
|
||||
CF_PATH_SYNTAX(withval)
|
||||
fi
|
||||
$3="$withval"
|
||||
AC_SUBST($3)dnl
|
||||
])dnl
|
||||
@ -4896,7 +5162,7 @@ CF_NO_LEAKS_OPTION(valgrind,
|
||||
[USE_VALGRIND])
|
||||
])dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl CF_XOPEN_SOURCE version: 24 updated: 2006/04/02 16:41:09
|
||||
dnl CF_XOPEN_SOURCE version: 25 updated: 2007/01/29 18:36:38
|
||||
dnl ---------------
|
||||
dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
|
||||
dnl or adapt to the vendor's definitions to get equivalent functionality,
|
||||
@ -4930,7 +5196,7 @@ hpux*) #(vi
|
||||
irix[[56]].*) #(vi
|
||||
CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
|
||||
;;
|
||||
linux*|gnu*) #(vi
|
||||
linux*|gnu*|k*bsd*-gnu) #(vi
|
||||
CF_GNU_SOURCE
|
||||
;;
|
||||
mirbsd*) #(vi
|
||||
|
34
contrib/ncurses/config.guess
vendored
34
contrib/ncurses/config.guess
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
timestamp='2006-07-02'
|
||||
timestamp='2007-05-17'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -161,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
arm*) machine=arm-unknown ;;
|
||||
sh3el) machine=shl-unknown ;;
|
||||
sh3eb) machine=sh-unknown ;;
|
||||
sh5el) machine=sh5le-unknown ;;
|
||||
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
|
||||
esac
|
||||
# The Operating System including object format, if it has switched
|
||||
@ -329,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*)
|
||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
@ -780,7 +781,7 @@ EOF
|
||||
i*:CYGWIN*:*)
|
||||
echo ${UNAME_MACHINE}-pc-cygwin
|
||||
exit ;;
|
||||
i*:MINGW*:*)
|
||||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
@ -790,12 +791,15 @@ EOF
|
||||
i*:PW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-pw32
|
||||
exit ;;
|
||||
x86:Interix*:[3456]*)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
EM64T:Interix*:[3456]*)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
*:Interix*:[3456]*)
|
||||
case ${UNAME_MACHINE} in
|
||||
x86)
|
||||
echo i586-pc-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
EM64T | authenticamd)
|
||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||
exit ;;
|
||||
esac ;;
|
||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||
echo i${UNAME_MACHINE}-pc-mks
|
||||
exit ;;
|
||||
@ -950,6 +954,9 @@ EOF
|
||||
x86_64:Linux:*:*)
|
||||
echo x86_64-unknown-linux-gnu
|
||||
exit ;;
|
||||
xtensa:Linux:*:*)
|
||||
echo xtensa-unknown-linux-gnu
|
||||
exit ;;
|
||||
i*86:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us. cd to the root directory to prevent
|
||||
@ -1208,6 +1215,15 @@ EOF
|
||||
SX-6:SUPER-UX:*:*)
|
||||
echo sx6-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-7:SUPER-UX:*:*)
|
||||
echo sx7-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-8:SUPER-UX:*:*)
|
||||
echo sx8-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
SX-8R:SUPER-UX:*:*)
|
||||
echo sx8r-nec-superux${UNAME_RELEASE}
|
||||
exit ;;
|
||||
Power*:Rhapsody:*:*)
|
||||
echo powerpc-apple-rhapsody${UNAME_RELEASE}
|
||||
exit ;;
|
||||
|
28
contrib/ncurses/config.sub
vendored
28
contrib/ncurses/config.sub
vendored
@ -4,7 +4,7 @@
|
||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
|
||||
# Inc.
|
||||
|
||||
timestamp='2006-08-14'
|
||||
timestamp='2007-06-28'
|
||||
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
@ -245,12 +245,12 @@ case $basic_machine in
|
||||
| bfin \
|
||||
| c4x | clipper \
|
||||
| d10v | d30v | dlx | dsp16xx \
|
||||
| fr30 | frv \
|
||||
| fido | fr30 | frv \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
| maxq | mb | microblaze | mcore \
|
||||
| maxq | mb | microblaze | mcore | mep \
|
||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||
| mips16 \
|
||||
| mips64 | mips64el \
|
||||
@ -276,6 +276,7 @@ case $basic_machine in
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||
| pyramid \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
| sh64 | sh64le \
|
||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||
@ -323,7 +324,7 @@ case $basic_machine in
|
||||
| clipper-* | craynv-* | cydra-* \
|
||||
| d10v-* | d30v-* | dlx-* \
|
||||
| elxsi-* \
|
||||
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
|
||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
@ -474,8 +475,8 @@ case $basic_machine in
|
||||
basic_machine=craynv-cray
|
||||
os=-unicosmp
|
||||
;;
|
||||
cr16c)
|
||||
basic_machine=cr16c-unknown
|
||||
cr16)
|
||||
basic_machine=cr16-unknown
|
||||
os=-elf
|
||||
;;
|
||||
crds | unos)
|
||||
@ -682,6 +683,10 @@ case $basic_machine in
|
||||
basic_machine=i386-pc
|
||||
os=-mingw32
|
||||
;;
|
||||
mingw32ce)
|
||||
basic_machine=arm-unknown
|
||||
os=-mingw32ce
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
@ -924,6 +929,9 @@ case $basic_machine in
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sh5el)
|
||||
basic_machine=sh5le-unknown
|
||||
;;
|
||||
sh64)
|
||||
basic_machine=sh64-unknown
|
||||
;;
|
||||
@ -1218,7 +1226,7 @@ case $os in
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@ -1370,6 +1378,9 @@ else
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
score-*)
|
||||
os=-elf
|
||||
;;
|
||||
spu-*)
|
||||
os=-elf
|
||||
;;
|
||||
@ -1410,6 +1421,9 @@ case $basic_machine in
|
||||
m68*-cisco)
|
||||
os=-aout
|
||||
;;
|
||||
mep-*)
|
||||
os=-elf
|
||||
;;
|
||||
mips*-cisco)
|
||||
os=-elf
|
||||
;;
|
||||
|
4291
contrib/ncurses/configure
vendored
4291
contrib/ncurses/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
dnl***************************************************************************
|
||||
dnl Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
dnl Copyright (c) 1998-2006,2007 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,14 +28,14 @@ dnl***************************************************************************
|
||||
dnl
|
||||
dnl Author: Thomas E. Dickey 1995-on
|
||||
dnl
|
||||
dnl $Id: configure.in,v 1.383 2006/12/17 01:26:06 tom Exp $
|
||||
dnl $Id: configure.in,v 1.429 2007/11/24 22:42:43 tom Exp $
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl
|
||||
dnl See http://invisible-island.net/autoconf/ for additional information.
|
||||
dnl
|
||||
dnl ---------------------------------------------------------------------------
|
||||
AC_PREREQ(2.13.20020210)
|
||||
AC_REVISION($Revision: 1.383 $)
|
||||
AC_REVISION($Revision: 1.429 $)
|
||||
AC_INIT(ncurses/base/lib_initscr.c)
|
||||
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
|
||||
|
||||
@ -150,13 +150,28 @@ CF_PROG_INSTALL
|
||||
CF_PROG_LINT
|
||||
AC_PROG_LN_S
|
||||
|
||||
AC_SYS_LONG_FILE_NAMES
|
||||
|
||||
AC_MSG_CHECKING(if we should assume mixed-case filenames)
|
||||
AC_ARG_ENABLE(mixed-case,
|
||||
[ --enable-mixed-case tic should assume mixed-case filenames],
|
||||
[enable_mixedcase=$enableval],
|
||||
[enable_mixedcase=auto])
|
||||
AC_MSG_RESULT($enable_mixedcase)
|
||||
if test "$enable_mixedcase" = "auto" ; then
|
||||
CF_MIXEDCASE_FILENAMES
|
||||
else
|
||||
cf_cv_mixedcase=$enable_mixedcase
|
||||
if test "$enable_mixedcase" = "yes" ; then
|
||||
AC_DEFINE(MIXEDCASE_FILENAMES)
|
||||
fi
|
||||
fi
|
||||
|
||||
# do this after mixed-case option (tags/TAGS is not as important as tic).
|
||||
AC_PROG_MAKE_SET
|
||||
CF_MAKE_TAGS
|
||||
CF_MAKEFLAGS
|
||||
|
||||
AC_SYS_LONG_FILE_NAMES
|
||||
CF_MIXEDCASE_FILENAMES
|
||||
|
||||
dnl These are standard among *NIX systems, but not when cross-compiling
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, ':')
|
||||
AC_CHECK_TOOL(LD, ld, ld)
|
||||
@ -255,6 +270,9 @@ CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
|
||||
AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal")
|
||||
AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL")
|
||||
|
||||
TICS_NAME=tic
|
||||
AC_SUBST(TICS_NAME)
|
||||
|
||||
TINFO_NAME=tinfo
|
||||
AC_SUBST(TINFO_NAME)
|
||||
|
||||
@ -280,6 +298,13 @@ AC_ARG_WITH(termlib,
|
||||
[with_termlib=no])
|
||||
AC_MSG_RESULT($with_termlib)
|
||||
|
||||
AC_MSG_CHECKING(if you want to build a separate tic library)
|
||||
AC_ARG_WITH(ticlib,
|
||||
[ --with-ticlib generate separate tic library],
|
||||
[with_ticlib=$withval],
|
||||
[with_ticlib=no])
|
||||
AC_MSG_RESULT($with_ticlib)
|
||||
|
||||
### Checks for special libraries, must be done up-front.
|
||||
SHLIB_LIST=""
|
||||
CF_WITH_GPM
|
||||
@ -304,9 +329,7 @@ if test "$with_gpm" != no ; then
|
||||
SHLIB_LIST="-lgpm $SHLIB_LIST"
|
||||
fi
|
||||
AC_DEFINE(HAVE_LIBGPM)
|
||||
AC_CHECK_LIB(gpm,Gpm_Wgetch,[
|
||||
AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
|
||||
])
|
||||
CF_CHECK_GPM_WGETCH
|
||||
fi
|
||||
|
||||
CF_WITH_SYSMOUSE
|
||||
@ -336,12 +359,22 @@ esac
|
||||
AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg)
|
||||
AC_MSG_RESULT($LD_MODEL)
|
||||
|
||||
case $DFT_LWR_MODEL in
|
||||
shared)
|
||||
AC_MSG_CHECKING(if rpath option should be used)
|
||||
AC_ARG_ENABLE(rpath,
|
||||
[ --enable-rpath use rpath option when generating shared libraries],
|
||||
[cf_cv_ld_rpath=$enableval],
|
||||
[cf_cv_ld_rpath=no])
|
||||
AC_MSG_RESULT($cf_cv_ld_rpath)
|
||||
AC_MSG_CHECKING(if shared libraries should be relinked during install)
|
||||
AC_ARG_ENABLE(relink,
|
||||
[ --disable-relink relink shared libraries during install],
|
||||
[cf_cv_do_relink=$enableval],
|
||||
[cf_cv_do_relink=yes])
|
||||
AC_MSG_RESULT($cf_cv_do_relink)
|
||||
;;
|
||||
esac
|
||||
|
||||
CF_SHARED_OPTS
|
||||
if test "$CC_SHARED_OPTS" = "unknown"; then
|
||||
@ -470,6 +503,19 @@ int main() {
|
||||
AC_MSG_RESULT($with_big_core)
|
||||
test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
|
||||
|
||||
### ISO C only guarantees 512-char strings, we have tables which load faster
|
||||
### when constructed using "big" strings.
|
||||
AC_MSG_CHECKING(if big-strings option selected)
|
||||
AC_ARG_ENABLE(big-strings,
|
||||
[ --disable-big-strings assume compiler has only standard-size strings],
|
||||
[with_big_strings=no],
|
||||
[with_big_strings=yes])
|
||||
AC_MSG_RESULT($with_big_strings)
|
||||
|
||||
USE_BIG_STRINGS=0
|
||||
test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
|
||||
AC_SUBST(USE_BIG_STRINGS)
|
||||
|
||||
### use option --enable-termcap to compile in the termcap fallback support
|
||||
AC_MSG_CHECKING(if you want termcap-fallback support)
|
||||
AC_ARG_ENABLE(termcap,
|
||||
@ -487,6 +533,10 @@ if test "$with_termcap" != "yes" ; then
|
||||
AC_DEFINE(PURE_TERMINFO)
|
||||
else
|
||||
|
||||
if test "$with_ticlib" != no ; then
|
||||
AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
|
||||
fi
|
||||
|
||||
AC_DEFINE(USE_TERMCAP)
|
||||
AC_MSG_CHECKING(for list of termcap files)
|
||||
CF_WITH_PATHLIST(termpath,
|
||||
@ -683,7 +733,7 @@ AC_SUBST(cf_cv_enable_lp64)
|
||||
|
||||
CF_LARGEFILE
|
||||
|
||||
### use option --disable-tparm-varargs to make tparm() conform to X/Open
|
||||
### use option --disable-tparm-varargs to make tparm() conform to X/Open
|
||||
AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
|
||||
AC_ARG_ENABLE(tparm-varargs,
|
||||
[ --disable-tparm-varargs compile tparm() without varargs interface],
|
||||
@ -802,7 +852,7 @@ else
|
||||
fi
|
||||
AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
|
||||
AC_ARG_ENABLE(signed-char,
|
||||
[ --enable-signed-char compile with SIGWINCH handler],
|
||||
[ --enable-signed-char compile using signed Boolean's in term.h],
|
||||
[with_signed_char=$enableval],
|
||||
[with_signed_char=no])
|
||||
AC_MSG_RESULT($with_signed_char)
|
||||
@ -895,7 +945,7 @@ AC_MSG_RESULT($with_ext_colors)
|
||||
NCURSES_EXT_COLORS=0
|
||||
if test "$with_ext_colors" = yes ; then
|
||||
if test "$with_widec" != yes ; then
|
||||
AC_MSG_WARN(This option applies only to wide-character library)
|
||||
AC_MSG_ERROR(This option applies only to wide-character library)
|
||||
else
|
||||
# cannot be ABI 5 since it changes sizeof(cchar_t)
|
||||
CF_NCURSES_ABI_6
|
||||
@ -919,6 +969,33 @@ if test "$with_ext_mouse" = yes ; then
|
||||
fi
|
||||
AC_SUBST(NCURSES_MOUSE_VERSION)
|
||||
|
||||
# Reentrant code has to be opaque; there's little advantage to making ncurses
|
||||
# opaque outside of that, so there is no --enable-opaque option.
|
||||
AC_MSG_CHECKING(if you want experimental reentrant code)
|
||||
AC_ARG_ENABLE(reentrant,
|
||||
[ --enable-reentrant compile with experimental reentrant code],
|
||||
[with_reentrant=$enableval],
|
||||
[with_reentrant=no])
|
||||
AC_MSG_RESULT($with_reentrant)
|
||||
if test "$with_reentrant" = yes ; then
|
||||
cf_cv_enable_reentrant=1
|
||||
cf_cv_enable_opaque="NCURSES_INTERNALS"
|
||||
NCURSES_OPAQUE=1
|
||||
NCURSES_SIZE_T=int
|
||||
LIB_SUFFIX="t${LIB_SUFFIX}"
|
||||
AC_DEFINE(USE_REENTRANT)
|
||||
CF_NCURSES_ABI_6
|
||||
else
|
||||
cf_cv_enable_reentrant=0
|
||||
cf_cv_enable_opaque="NCURSES_OPAQUE"
|
||||
NCURSES_OPAQUE=0
|
||||
NCURSES_SIZE_T=short
|
||||
fi
|
||||
AC_SUBST(cf_cv_enable_reentrant)
|
||||
AC_SUBST(cf_cv_enable_opaque)
|
||||
AC_SUBST(NCURSES_OPAQUE)
|
||||
AC_SUBST(NCURSES_SIZE_T)
|
||||
|
||||
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
|
||||
AC_ARG_ENABLE(safe-sprintf,
|
||||
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
|
||||
@ -961,6 +1038,7 @@ if test "$with_echo" = yes; then
|
||||
else
|
||||
ECHO_LINK='@ echo linking $@ ... ;'
|
||||
test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
|
||||
test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
|
||||
fi
|
||||
AC_MSG_RESULT($with_echo)
|
||||
AC_SUBST(ECHO_LINK)
|
||||
@ -972,9 +1050,9 @@ AC_ARG_ENABLE(warnings,
|
||||
[with_warnings=$enableval])
|
||||
AC_MSG_RESULT($with_warnings)
|
||||
|
||||
if test -n "$with_warnings"; then
|
||||
if test "x$with_warnings" = "xyes"; then
|
||||
ADAFLAGS="$ADAFLAGS -gnatg"
|
||||
CF_GCC_WARNINGS
|
||||
CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
|
||||
if test "$cf_with_cxx" = yes ; then
|
||||
CF_GXX_WARNINGS(Wno-unused)
|
||||
fi
|
||||
@ -1088,26 +1166,21 @@ CF_SYS_TIME_SELECT
|
||||
### checks for compiler characteristics
|
||||
AC_LANG_C
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
|
||||
NCURSES_INLINE=
|
||||
if test "$ac_cv_c_inline" != no ; then
|
||||
AC_DEFINE(CC_HAS_INLINE_FUNCS)
|
||||
NCURSES_INLINE=inline
|
||||
fi
|
||||
AC_SUBST(NCURSES_INLINE)
|
||||
CF_C_INLINE(NCURSES_INLINE,1200)
|
||||
CF_SIG_ATOMIC_T
|
||||
|
||||
if test $NCURSES_CHTYPE = auto ; then
|
||||
CF_TYPEOF_CHTYPE
|
||||
else
|
||||
cf_cv_typeof_chtype=$NCURSES_CHTYPE
|
||||
fi
|
||||
test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
|
||||
AC_SUBST(cf_cv_typeof_chtype)
|
||||
|
||||
CF_UNSIGNED_LITERALS
|
||||
cf_cv_1UL="1"
|
||||
test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U"
|
||||
test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L"
|
||||
test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
|
||||
test ".$cf_cv_typeof_chtype" = .long && cf_cv_1UL="${cf_cv_1UL}L"
|
||||
AC_SUBST(cf_cv_1UL)
|
||||
|
||||
if test $NCURSES_MMASK_T = auto ; then
|
||||
@ -1115,6 +1188,7 @@ if test $NCURSES_MMASK_T = auto ; then
|
||||
else
|
||||
cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
|
||||
fi
|
||||
test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
|
||||
AC_SUBST(cf_cv_typeof_mmask_t)
|
||||
|
||||
### Checks for external-data
|
||||
@ -1170,7 +1244,7 @@ CF_FUNC_POLL
|
||||
|
||||
if test "$with_hashed_db" != no ; then
|
||||
AC_DEFINE(USE_HASHED_DB)
|
||||
CF_HASHED_DB
|
||||
CF_HASHED_DB($with_hashed_db)
|
||||
fi
|
||||
|
||||
dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
|
||||
@ -1200,14 +1274,13 @@ if test -n "$CXX" ; then
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_HEADERS(typeinfo)
|
||||
AC_CHECK_HEADERS(iostream typeinfo)
|
||||
|
||||
CF_BOOL_DECL
|
||||
CF_BOOL_SIZE
|
||||
CF_ETIP_DEFINES
|
||||
CF_CPP_PARAM_INIT
|
||||
CF_CPP_STATIC_CAST
|
||||
CF_CPP_VSCAN_FUNC
|
||||
|
||||
CXX_AR='$(AR)'
|
||||
CXX_AR_OPTS='$(AR_OPTS)'
|
||||
@ -1284,9 +1357,22 @@ AC_SUBST(USE_CXX_BOOL)
|
||||
|
||||
CF_HELP_MESSAGE(Ada95 Binding Options:)
|
||||
|
||||
dnl If the Ada95 source-tree is present, add that to the build unless it will
|
||||
dnl not work, or was not requested.
|
||||
if test -f "${srcdir}/Ada95/Makefile.in" ; then
|
||||
|
||||
dnl libtool does not know anything about GNAT, though a change made in 1998
|
||||
dnl provided for it "someday". Disable the ada subtree if we are using
|
||||
dnl libtool -TD 20070714
|
||||
if test "$cf_with_ada" != "no" ; then
|
||||
if test "$with_libtool" != "no"; then
|
||||
AC_MSG_WARN(libtool does not support Ada - disabling feature)
|
||||
cf_with_ada=no
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Check for availability of GNU Ada Translator (GNAT).
|
||||
dnl At the moment we support no other Ada95 compiler.
|
||||
if test -f "${srcdir}/Ada95/Makefile.in" ; then
|
||||
if test "$cf_with_ada" != "no" ; then
|
||||
cf_ada_make=gnatmake
|
||||
AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
|
||||
@ -1369,22 +1455,44 @@ end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
|
||||
|
||||
fi
|
||||
fi
|
||||
else
|
||||
cf_with_ada=no
|
||||
fi
|
||||
|
||||
### Construct the library-subsets, if any, from this set of keywords:
|
||||
### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES).
|
||||
### Construct the ncurses library-subsets, if any, from this set of keywords:
|
||||
### none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
|
||||
###
|
||||
### ticlib modules may be a separate library, otherwise contained in termlib.
|
||||
### termlib modules may be a separate library, otherwise contained in ncurses.
|
||||
###
|
||||
### The of "+" or " " between the tokens controls the way the script
|
||||
### chooses to split module lists into libraries.
|
||||
###
|
||||
### (see CF_LIB_RULES).
|
||||
AC_MSG_CHECKING(for library subsets)
|
||||
LIB_SUBSETS=
|
||||
|
||||
if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
|
||||
LIB_SUBSETS="${LIB_SUBSETS}ticlib"
|
||||
if test "$with_ticlib" != no ; then
|
||||
LIB_SUBSETS="${LIB_SUBSETS} "
|
||||
else
|
||||
LIB_SUBSETS="${LIB_SUBSETS}+"
|
||||
fi
|
||||
fi
|
||||
|
||||
LIB_SUBSETS="${LIB_SUBSETS}termlib"
|
||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
|
||||
if test "$with_termlib" != no ; then
|
||||
LIB_SUBSETS="termlib"
|
||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
|
||||
LIB_SUBSETS="${LIB_SUBSETS} "
|
||||
else
|
||||
LIB_SUBSETS="termlib+"
|
||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+"
|
||||
LIB_SUBSETS="${LIB_SUBSETS}+"
|
||||
fi
|
||||
|
||||
LIB_SUBSETS="${LIB_SUBSETS}base"
|
||||
test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
|
||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
|
||||
|
||||
AC_MSG_RESULT($LIB_SUBSETS)
|
||||
|
||||
### Construct the list of include-directories to be generated
|
||||
@ -1399,10 +1507,12 @@ AC_MSG_RESULT($DFT_ARG_SUFFIX)
|
||||
|
||||
AC_MSG_CHECKING(default library-dependency suffix)
|
||||
CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
|
||||
DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX
|
||||
if test $DFT_LWR_MODEL = shared ; then
|
||||
case $cf_cv_system_name in #(vi
|
||||
cygwin*)
|
||||
DFT_DEP_SUFFIX=".dll.a"
|
||||
DFT_LIB_SUFFIX=".dll"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
@ -1426,16 +1536,53 @@ AC_MSG_RESULT($CXX_LIB_SUFFIX)
|
||||
AC_SUBST(CXX_LIB_SUFFIX)
|
||||
fi
|
||||
|
||||
# do not want -ldl in build except as needed for -lncurses dependency
|
||||
if test "$with_dlsym" = yes ; then
|
||||
if test $DFT_LWR_MODEL = shared || \
|
||||
test $DFT_LWR_MODEL = libtool ; then
|
||||
CF_REMOVE_LIB(LIBS,$LIBS,dl)
|
||||
fi
|
||||
fi
|
||||
### Set up low-level terminfo dependencies for makefiles.
|
||||
TINFO_LIST="$SHLIB_LIST"
|
||||
|
||||
# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
|
||||
# do not need libdl
|
||||
TICS_LIST=
|
||||
if test "$with_dlsym" = yes ; then
|
||||
CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
|
||||
fi
|
||||
|
||||
if test "$with_ticlib" != no ; then
|
||||
|
||||
if test "$with_ticlib" != yes ; then
|
||||
TICS_NAME=$with_ticlib
|
||||
TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
||||
TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
||||
TICS_LIB_SUFFIX="${with_ticlib}"
|
||||
else
|
||||
TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}"
|
||||
TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
|
||||
TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
|
||||
fi
|
||||
TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
|
||||
else
|
||||
TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
||||
fi
|
||||
AC_SUBST(TICS_ARG_SUFFIX)
|
||||
AC_SUBST(TICS_DEP_SUFFIX)
|
||||
AC_SUBST(TICS_LIB_SUFFIX)
|
||||
AC_SUBST(TICS_ARGS)
|
||||
|
||||
if test "$with_termlib" != no ; then
|
||||
|
||||
if test "$with_termlib" != yes ; then
|
||||
TINFO_NAME=$with_termlib
|
||||
TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
||||
TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
||||
TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
|
||||
TINFO_LIB_SUFFIX="${with_termlib}"
|
||||
else
|
||||
TINFO_SUFFIX=${DFT_LIB_SUFFIX}
|
||||
TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
|
||||
TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
|
||||
TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
|
||||
@ -1450,21 +1597,48 @@ if test "$with_termlib" != no ; then
|
||||
else
|
||||
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
|
||||
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
|
||||
TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
|
||||
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
|
||||
SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
|
||||
fi
|
||||
else
|
||||
# the next lines are needed for linking libtic over libncurses
|
||||
TINFO_NAME=${LIB_NAME}
|
||||
TINFO_SUFFIX=${DFT_LIB_SUFFIX}
|
||||
TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
|
||||
TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
||||
|
||||
TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
|
||||
fi
|
||||
|
||||
if test "$DFT_LWR_MODEL" = shared ; then
|
||||
case $cf_cv_system_name in #(vi
|
||||
cygwin*)
|
||||
# "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
|
||||
TINFO_SUFFIX=.dll
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
AC_SUBST(TINFO_ARG_SUFFIX)
|
||||
AC_SUBST(TINFO_DEP_SUFFIX)
|
||||
AC_SUBST(TINFO_LIB_SUFFIX)
|
||||
AC_SUBST(TINFO_ARGS)
|
||||
|
||||
if test "$with_dlsym" = yes ; then
|
||||
CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
|
||||
fi
|
||||
|
||||
# needed for Ada95
|
||||
TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
|
||||
AC_SUBST(TINFO_ARGS2)
|
||||
|
||||
case $DFT_LWR_MODEL in
|
||||
normal|debug|profile)
|
||||
CF_LDFLAGS_STATIC
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING(where we will install curses.h)
|
||||
test "$with_overwrite" = no && \
|
||||
test "x$includedir" = 'x${prefix}/include' && \
|
||||
@ -1481,9 +1655,14 @@ fi
|
||||
fi
|
||||
|
||||
AC_SUBST(WITH_OVERWRITE)
|
||||
AC_SUBST(TICS_LIST)
|
||||
AC_SUBST(TINFO_LIST)
|
||||
AC_SUBST(SHLIB_LIST)
|
||||
|
||||
# used to separate tack out of the tree
|
||||
NCURSES_TREE=
|
||||
AC_SUBST(NCURSES_TREE)
|
||||
|
||||
### predefined stuff for the test programs
|
||||
AC_DEFINE(HAVE_SLK_COLOR)
|
||||
|
||||
@ -1491,6 +1670,11 @@ AC_DEFINE(HAVE_SLK_COLOR)
|
||||
### with the appropriate compile-rules.
|
||||
|
||||
CF_SRC_MODULES($modules_to_build)
|
||||
|
||||
if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
|
||||
SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
|
||||
fi
|
||||
|
||||
CF_DIRS_TO_MAKE
|
||||
|
||||
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
|
||||
@ -1500,6 +1684,11 @@ AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${
|
||||
### Now that we're done running tests, add the compiler-warnings, if any
|
||||
CF_ADD_CFLAGS($EXTRA_CFLAGS)
|
||||
|
||||
### If we're building with rpath, try to link non-standard libs that way too.
|
||||
if test "$DFT_LWR_MODEL" = "shared"; then
|
||||
CF_RPATH_HACK
|
||||
fi
|
||||
|
||||
### Define substitutions for header files to avoid name-pollution
|
||||
CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
|
||||
CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
|
||||
@ -1540,13 +1729,19 @@ TERMINFO="$TERMINFO"
|
||||
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
|
||||
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
|
||||
TINFO_NAME="$TINFO_NAME"
|
||||
TINFO_SUFFIX="$TINFO_SUFFIX"
|
||||
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
|
||||
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
|
||||
TICS_NAME="$TICS_NAME"
|
||||
WITH_CURSES_H="$with_curses_h"
|
||||
WITH_ECHO="$with_echo"
|
||||
WITH_OVERWRITE="$with_overwrite"
|
||||
cf_LIST_MODELS="$cf_list_models"
|
||||
cf_cv_abi_version="$cf_cv_abi_version"
|
||||
cf_cv_do_relink="$cf_cv_do_relink"
|
||||
cf_cv_do_symlinks="$cf_cv_do_symlinks"
|
||||
cf_cv_enable_lp64="$cf_cv_enable_lp64"
|
||||
cf_cv_enable_opaque="$cf_cv_enable_opaque"
|
||||
cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
|
||||
cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
|
||||
cf_cv_rel_version="$cf_cv_rel_version"
|
||||
|
@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -25,7 +25,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: dist.mk,v 1.567 2006/12/17 19:58:35 tom Exp $
|
||||
# $Id: dist.mk,v 1.620 2007/12/22 20:41:31 tom Exp $
|
||||
# Makefile for creating ncurses distributions.
|
||||
#
|
||||
# This only needs to be used directly as a makefile by developers, but
|
||||
@ -37,7 +37,7 @@ SHELL = /bin/sh
|
||||
# These define the major/minor/patch versions of ncurses.
|
||||
NCURSES_MAJOR = 5
|
||||
NCURSES_MINOR = 6
|
||||
NCURSES_PATCH = 20061217
|
||||
NCURSES_PATCH = 20071222
|
||||
|
||||
# We don't append the patch to the version, since this only applies to releases
|
||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||
@ -106,6 +106,7 @@ manhtml:
|
||||
fi ;\
|
||||
done
|
||||
# change some things to make weblint happy:
|
||||
@cat man_alias.sed >> subst.tmp
|
||||
@echo 's/<B>/<STRONG>/g' >> subst.tmp
|
||||
@echo 's/<\/B>/<\/STRONG>/g' >> subst.tmp
|
||||
@echo 's/<I>/<EM>/g' >> subst.tmp
|
||||
|
@ -261,7 +261,7 @@ Library Overview
|
||||
lib_tracedmp.c lib_tracemse.c trace_buf.c
|
||||
|
||||
It is rather unlikely you will ever need to change these, unless you
|
||||
want to introduce a new debug trace level for some reasoon.
|
||||
want to introduce a new debug trace level for some reason.
|
||||
|
||||
There is another group of files that do direct I/O via tputs(),
|
||||
computations on the terminal capabilities, or queries to the OS
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
|
||||
<!--
|
||||
$Id: ncurses-intro.html,v 1.41 2005/12/24 15:47:05 tom Exp $
|
||||
$Id: ncurses-intro.html,v 1.43 2007/03/03 19:31:50 tom Exp $
|
||||
****************************************************************************
|
||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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 *
|
||||
@ -914,15 +914,14 @@ Here is some sample code for shellout:
|
||||
|
||||
<H3><A NAME="xterm">Using NCURSES under XTERM</A></H3>
|
||||
|
||||
A resize operation in X sends SIGWINCH to the application running under xterm.
|
||||
The <CODE>ncurses</CODE> library provides an experimental signal
|
||||
handler, but in general does not catch this signal, because it cannot
|
||||
know how you want the screen re-painted. You will usually have to write the
|
||||
SIGWINCH handler yourself. Ncurses can give you some help. <P>
|
||||
A resize operation in X sends <CODE>SIGWINCH</CODE> to the application running
|
||||
under xterm.
|
||||
|
||||
The easiest way to code your SIGWINCH handler is to have it do an
|
||||
<CODE>endwin</CODE>, followed by an <CODE>refresh</CODE> and a screen repaint you code
|
||||
yourself. The <CODE>refresh</CODE> will pick up the new screen size from the
|
||||
The easiest way to handle <CODE>SIGWINCH</CODE>
|
||||
is to do an <CODE>endwin</CODE>,
|
||||
followed by an <CODE>refresh</CODE> and a screen repaint you code
|
||||
yourself.
|
||||
The <CODE>refresh</CODE> will pick up the new screen size from the
|
||||
xterm's environment. <P>
|
||||
|
||||
That is the standard way, of course (it even works with some vendor's curses
|
||||
@ -934,8 +933,17 @@ not resize subwindows which must be shrunk.
|
||||
are limited to the new screen dimensions, and pads <CODE>stdscr</CODE>
|
||||
with blanks if the screen is larger. <P>
|
||||
|
||||
Finally, ncurses can be configured to provide its own SIGWINCH handler,
|
||||
based on <CODE>resizeterm</CODE>.
|
||||
The <CODE>ncurses</CODE> library provides a SIGWINCH signal handler,
|
||||
which pushes a <CODE>KEY_RESIZE</CODE> via the wgetch() calls.
|
||||
When <CODE>ncurses</CODE> returns that code,
|
||||
it calls <code>resizeterm</CODE>
|
||||
to update the size of the standard screen's window, repainting that
|
||||
(filling with blanks or truncating as needed).
|
||||
It also resizes other windows,
|
||||
but its effect may be less satisfactory because it cannot
|
||||
know how you want the screen re-painted.
|
||||
You will usually have to write special-purpose code to handle
|
||||
<CODE>KEY_RESIZE</CODE> yourself.
|
||||
|
||||
<H3><A NAME="screens">Handling Multiple Terminal Screens</A></H3>
|
||||
|
||||
@ -2184,7 +2192,7 @@ These requests treat the list as cyclic; that is, <CODE>REQ_NEXT_PAGE</CODE>
|
||||
from the last page goes to the first, and <CODE>REQ_PREV_PAGE</CODE> from
|
||||
the first page goes to the last.
|
||||
|
||||
<H3><A NAME="#ffield">Inter-Field Navigation Requests</A></H3>
|
||||
<H3><A NAME="ffield">Inter-Field Navigation Requests</A></H3>
|
||||
|
||||
These requests handle navigation between fields on the same page.
|
||||
|
||||
@ -2238,7 +2246,7 @@ of B and C to the right of B. A <CODE>REQ_MOVE_RIGHT</CODE> from A will
|
||||
go to B only if A, B, and C <EM>all</EM> share the same first line;
|
||||
otherwise it will skip over B to C.
|
||||
|
||||
<H3><A NAME="#fifield">Intra-Field Navigation Requests</A></H3>
|
||||
<H3><A NAME="fifield">Intra-Field Navigation Requests</A></H3>
|
||||
|
||||
These requests drive movement of the edit cursor within the currently
|
||||
selected field.
|
||||
|
@ -174,7 +174,7 @@ Scope of This Document
|
||||
The ncurses package was originated by Pavel Curtis. The original
|
||||
maintainer of this package is Zeyd Ben-Halim <zmbenhal@netcom.com>.
|
||||
Eric S. Raymond <esr@snark.thyrsus.com> wrote many of the new features
|
||||
in versions after 1.8.1 and wrote most of this introduction. Jürgen
|
||||
in versions after 1.8.1 and wrote most of this introduction. Juergen
|
||||
Pfeifer wrote all of the menu and forms code as well as the Ada95
|
||||
binding. Ongoing work is being done by Thomas Dickey (maintainer).
|
||||
Contact the current maintainers at bug-ncurses@gnu.org.
|
||||
@ -798,15 +798,9 @@ Hints, Tips, and Tricks
|
||||
Using NCURSES under XTERM
|
||||
|
||||
A resize operation in X sends SIGWINCH to the application running
|
||||
under xterm. The ncurses library provides an experimental signal
|
||||
handler, but in general does not catch this signal, because it cannot
|
||||
know how you want the screen re-painted. You will usually have to
|
||||
write the SIGWINCH handler yourself. Ncurses can give you some help.
|
||||
|
||||
The easiest way to code your SIGWINCH handler is to have it do an
|
||||
endwin, followed by an refresh and a screen repaint you code yourself.
|
||||
The refresh will pick up the new screen size from the xterm's
|
||||
environment.
|
||||
under xterm. The easiest way to handle SIGWINCH is to do an endwin,
|
||||
followed by an refresh and a screen repaint you code yourself. The
|
||||
refresh will pick up the new screen size from the xterm's environment.
|
||||
|
||||
That is the standard way, of course (it even works with some vendor's
|
||||
curses implementations). Its drawback is that it clears the screen to
|
||||
@ -816,8 +810,13 @@ Hints, Tips, and Tricks
|
||||
limited to the new screen dimensions, and pads stdscr with blanks if
|
||||
the screen is larger.
|
||||
|
||||
Finally, ncurses can be configured to provide its own SIGWINCH
|
||||
handler, based on resizeterm.
|
||||
The ncurses library provides a SIGWINCH signal handler, which pushes a
|
||||
KEY_RESIZE via the wgetch() calls. When ncurses returns that code, it
|
||||
calls resizeterm to update the size of the standard screen's window,
|
||||
repainting that (filling with blanks or truncating as needed). It also
|
||||
resizes other windows, but its effect may be less satisfactory because
|
||||
it cannot know how you want the screen re-painted. You will usually
|
||||
have to write special-purpose code to handle KEY_RESIZE yourself.
|
||||
|
||||
Handling Multiple Terminal Screens
|
||||
|
||||
@ -889,11 +888,11 @@ Compatibility with Older Versions
|
||||
To understand why this is a problem, remember that screen updates are
|
||||
calculated between two representations of the entire display. The
|
||||
documentation says that when you refresh a window, it is first copied
|
||||
to the virtual screen, and then changes are calculated to update
|
||||
the physical screen (and applied to the terminal). But "copied to" is
|
||||
not very specific, and subtle differences in how copying works can
|
||||
produce different behaviors in the case where two overlapping windows
|
||||
are each being refreshed at unpredictable intervals.
|
||||
to the virtual screen, and then changes are calculated to update the
|
||||
physical screen (and applied to the terminal). But "copied to" is not
|
||||
very specific, and subtle differences in how copying works can produce
|
||||
different behaviors in the case where two overlapping windows are each
|
||||
being refreshed at unpredictable intervals.
|
||||
|
||||
What happens to the overlapping region depends on what wnoutrefresh()
|
||||
does with its argument -- what portions of the argument window it
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: Makefile.in,v 1.42 2006/10/14 20:40:36 tom Exp $
|
||||
# $Id: Makefile.in,v 1.47 2007/04/28 14:56:11 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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 1996-on
|
||||
#
|
||||
# Makefile for form source code.
|
||||
#
|
||||
@ -91,7 +91,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
|
||||
|
||||
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
|
||||
|
||||
LINK = $(LIBTOOL_LINK) $(CC)
|
||||
LINK = $(LIBTOOL_LINK)
|
||||
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
|
||||
|
||||
SHLIB_DIRS = -L../lib
|
||||
@ -106,8 +106,6 @@ ABI_VERSION = @cf_cv_abi_version@
|
||||
|
||||
RANLIB = @LIB_PREP@
|
||||
|
||||
IMPORT_LIB = @IMPORT_LIB@
|
||||
SHARED_LIB = @SHARED_LIB@
|
||||
LIBRARIES = @LIBS_TO_MAKE@
|
||||
|
||||
LINT = @LINT@
|
||||
@ -126,7 +124,7 @@ sources : $(AUTO_SRC)
|
||||
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(libdir) :
|
||||
sh $(srcdir)/../mkinstalldirs $@
|
||||
sh $(srcdir)/../mkdirs.sh $@
|
||||
|
||||
# make copies to simplify include-paths while still keeping form's include
|
||||
# file in this directory.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2005,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fld_def.c,v 1.33 2005/04/16 17:31:17 tom Exp $")
|
||||
MODULE_ID("$Id: fld_def.c,v 1.36 2007/10/13 19:29:58 tom Exp $")
|
||||
|
||||
/* this can't be readonly */
|
||||
static FIELD default_field =
|
||||
@ -93,7 +93,7 @@ _nc_Make_Argument(const FIELDTYPE *typ, va_list *ap, int *err)
|
||||
assert(err != 0 && ap != (va_list *)0);
|
||||
if ((typ->status & _LINKED_TYPE) != 0)
|
||||
{
|
||||
p = (TypeArgument *)malloc(sizeof(TypeArgument));
|
||||
p = typeMalloc(TypeArgument, 1);
|
||||
|
||||
if (p != 0)
|
||||
{
|
||||
@ -141,7 +141,7 @@ _nc_Copy_Argument(const FIELDTYPE *typ, const TypeArgument *argp, int *err)
|
||||
assert(err != 0 && argp != 0);
|
||||
if ((typ->status & _LINKED_TYPE) != 0)
|
||||
{
|
||||
p = (TypeArgument *)malloc(sizeof(TypeArgument));
|
||||
p = typeMalloc(TypeArgument, 1);
|
||||
|
||||
if (p != 0)
|
||||
{
|
||||
@ -289,8 +289,9 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf)
|
||||
nrow >= 0 &&
|
||||
nbuf >= 0 &&
|
||||
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
||||
(New_Field = (FIELD *)malloc(sizeof(FIELD))) != 0)
|
||||
(New_Field = typeMalloc(FIELD, 1)) != 0)
|
||||
{
|
||||
T((T_CREATE("field %p"), New_Field));
|
||||
*New_Field = default_field;
|
||||
New_Field->rows = rows;
|
||||
New_Field->cols = cols;
|
||||
@ -304,7 +305,7 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf)
|
||||
|
||||
#if USE_WIDEC_SUPPORT
|
||||
New_Field->working = newpad(1, Buffer_Length(New_Field) + 1);
|
||||
New_Field->expanded = (char **)calloc(1 + (unsigned)rows, sizeof(char *));
|
||||
New_Field->expanded = typeCalloc(char *, 1 + (unsigned)nbuf);
|
||||
#endif
|
||||
|
||||
if (_nc_Copy_Type(New_Field, &default_field))
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2004,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fld_dup.c,v 1.10 2004/12/25 22:24:10 tom Exp $")
|
||||
MODULE_ID("$Id: fld_dup.c,v 1.12 2007/10/13 19:30:21 tom Exp $")
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
| Facility : libnform
|
||||
@ -56,8 +56,9 @@ dup_field(FIELD *field, int frow, int fcol)
|
||||
T((T_CALLED("dup_field(%p,%d,%d)"), field, frow, fcol));
|
||||
if (field && (frow >= 0) && (fcol >= 0) &&
|
||||
((err = E_SYSTEM_ERROR) != 0) && /* trick : this resets the default error */
|
||||
(New_Field = (FIELD *)malloc(sizeof(FIELD))))
|
||||
(New_Field = typeMalloc(FIELD, 1)))
|
||||
{
|
||||
T((T_CREATE("field %p"), New_Field));
|
||||
*New_Field = *_nc_Default_Field;
|
||||
New_Field->frow = frow;
|
||||
New_Field->fcol = fcol;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2004,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fld_ftlink.c,v 1.11 2004/12/25 22:24:10 tom Exp $")
|
||||
MODULE_ID("$Id: fld_ftlink.c,v 1.13 2007/10/13 19:30:35 tom Exp $")
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
| Facility : libnform
|
||||
@ -56,10 +56,11 @@ link_fieldtype(FIELDTYPE *type1, FIELDTYPE *type2)
|
||||
T((T_CALLED("link_fieldtype(%p,%p)"), type1, type2));
|
||||
if (type1 && type2)
|
||||
{
|
||||
nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE));
|
||||
nftyp = typeMalloc(FIELDTYPE, 1);
|
||||
|
||||
if (nftyp)
|
||||
{
|
||||
T((T_CREATE("fieldtype %p"), nftyp));
|
||||
*nftyp = *_nc_Default_FieldType;
|
||||
nftyp->status |= _LINKED_TYPE;
|
||||
if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS))
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2004,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fld_link.c,v 1.9 2004/12/25 22:24:10 tom Exp $")
|
||||
MODULE_ID("$Id: fld_link.c,v 1.11 2007/10/13 19:30:43 tom Exp $")
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
| Facility : libnform
|
||||
@ -57,8 +57,9 @@ link_field(FIELD *field, int frow, int fcol)
|
||||
T((T_CALLED("link_field(%p,%d,%d)"), field, frow, fcol));
|
||||
if (field && (frow >= 0) && (fcol >= 0) &&
|
||||
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
||||
(New_Field = (FIELD *)malloc(sizeof(FIELD))))
|
||||
(New_Field = typeMalloc(FIELD, 1)))
|
||||
{
|
||||
T((T_CREATE("field %p"), New_Field));
|
||||
*New_Field = *_nc_Default_Field;
|
||||
New_Field->frow = frow;
|
||||
New_Field->fcol = fcol;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2004,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fld_newftyp.c,v 1.13 2004/12/25 22:24:10 tom Exp $")
|
||||
MODULE_ID("$Id: fld_newftyp.c,v 1.15 2007/10/13 19:30:55 tom Exp $")
|
||||
|
||||
static FIELDTYPE const default_fieldtype =
|
||||
{
|
||||
@ -76,10 +76,11 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *),
|
||||
T((T_CALLED("new_fieldtype(%p,%p)"), field_check, char_check));
|
||||
if ((field_check) || (char_check))
|
||||
{
|
||||
nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE));
|
||||
nftyp = typeMalloc(FIELDTYPE, 1);
|
||||
|
||||
if (nftyp)
|
||||
{
|
||||
T((T_CREATE("fieldtype %p"), nftyp));
|
||||
*nftyp = default_fieldtype;
|
||||
nftyp->fcheck = field_check;
|
||||
nftyp->ccheck = char_check;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: frm_def.c,v 1.20 2006/11/04 16:57:15 tom Exp $")
|
||||
MODULE_ID("$Id: frm_def.c,v 1.22 2007/10/13 19:31:17 tom Exp $")
|
||||
|
||||
/* this can't be readonly */
|
||||
static FORM default_form =
|
||||
@ -186,8 +186,9 @@ Connect_Fields(FORM *form, FIELD **fields)
|
||||
RETURN(E_BAD_ARGUMENT);
|
||||
|
||||
/* allocate page structures */
|
||||
if ((pg = (_PAGE *) malloc(page_nr * sizeof(_PAGE))) != (_PAGE *) 0)
|
||||
if ((pg = typeMalloc(_PAGE, page_nr)) != (_PAGE *) 0)
|
||||
{
|
||||
T((T_CREATE("_PAGE %p"), pg));
|
||||
form->page = pg;
|
||||
}
|
||||
else
|
||||
@ -290,11 +291,12 @@ new_form(FIELD **fields)
|
||||
{
|
||||
int err = E_SYSTEM_ERROR;
|
||||
|
||||
FORM *form = (FORM *)malloc(sizeof(FORM));
|
||||
FORM *form = typeMalloc(FORM, 1);
|
||||
|
||||
T((T_CALLED("new_form(%p)"), fields));
|
||||
if (form)
|
||||
{
|
||||
T((T_CREATE("form %p"), form));
|
||||
*form = *_nc_Default_Form;
|
||||
if ((err = Associate_Fields(form, fields)) != E_OK)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: frm_driver.c,v 1.76 2006/11/04 18:45:35 tom Exp $")
|
||||
MODULE_ID("$Id: frm_driver.c,v 1.85 2007/11/24 21:32:53 tom Exp $")
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
This is the core module of the form library. It contains the majority
|
||||
@ -262,7 +262,19 @@ wins_wchnstr(WINDOW *w, cchar_t *s, int n)
|
||||
static int
|
||||
fix_wchnstr(WINDOW *w, cchar_t *s, int n)
|
||||
{
|
||||
int x;
|
||||
|
||||
win_wchnstr(w, s, n);
|
||||
/*
|
||||
* This function is used to extract the text only from the window.
|
||||
* Strip attributes and color from the string so they will not be added
|
||||
* back when copying the string to the window.
|
||||
*/
|
||||
for (x = 0; x < n; ++x)
|
||||
{
|
||||
RemAttr(s[x], A_ATTRIBUTES);
|
||||
SetPair(s[x], 0);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
@ -651,6 +663,7 @@ Field_Grown(FIELD *field, int amount)
|
||||
|
||||
result = TRUE; /* allow sharing of recovery on failure */
|
||||
|
||||
T((T_CREATE("fieldcell %p"), newbuf));
|
||||
field->buf = newbuf;
|
||||
for (i = 0; i <= field->nbuf; i++)
|
||||
{
|
||||
@ -724,6 +737,34 @@ Field_Grown(FIELD *field, int amount)
|
||||
return (result);
|
||||
}
|
||||
|
||||
#ifdef NCURSES_MOUSE_VERSION
|
||||
/*---------------------------------------------------------------------------
|
||||
| Facility : libnform
|
||||
| Function : int Field_encloses(FIELD *field, int ry, int rx)
|
||||
|
|
||||
| Description : Check if the given coordinates lie within the given field.
|
||||
|
|
||||
| Return Values : E_OK - success
|
||||
| E_BAD_ARGUMENT - invalid form pointer
|
||||
| E_SYSTEM_ERROR - form has no current field or
|
||||
| field-window
|
||||
+--------------------------------------------------------------------------*/
|
||||
static int
|
||||
Field_encloses(FIELD *field, int ry, int rx)
|
||||
{
|
||||
T((T_CALLED("Field_encloses(%p)"), field));
|
||||
if (field != 0
|
||||
&& field->frow <= ry
|
||||
&& (field->frow + field->rows) > ry
|
||||
&& field->fcol <= rx
|
||||
&& (field->fcol + field->cols) > rx)
|
||||
{
|
||||
RETURN(E_OK);
|
||||
}
|
||||
RETURN(E_INVALID_FIELD);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
| Facility : libnform
|
||||
| Function : int _nc_Position_Form_Cursor(FORM * form)
|
||||
@ -4149,6 +4190,83 @@ form_driver(FORM *form, int c)
|
||||
res = (BI->cmd) (form);
|
||||
}
|
||||
}
|
||||
#ifdef NCURSES_MOUSE_VERSION
|
||||
else if (KEY_MOUSE == c)
|
||||
{
|
||||
MEVENT event;
|
||||
WINDOW *win = form->win ? form->win : stdscr;
|
||||
WINDOW *sub = form->sub ? form->sub : win;
|
||||
|
||||
getmouse(&event);
|
||||
if ((event.bstate & (BUTTON1_CLICKED |
|
||||
BUTTON1_DOUBLE_CLICKED |
|
||||
BUTTON1_TRIPLE_CLICKED))
|
||||
&& wenclose(win, event.y, event.x))
|
||||
{ /* we react only if the click was in the userwin, that means
|
||||
* inside the form display area or at the decoration window.
|
||||
*/
|
||||
int ry = event.y, rx = event.x; /* screen coordinates */
|
||||
|
||||
res = E_REQUEST_DENIED;
|
||||
if (mouse_trafo(&ry, &rx, FALSE))
|
||||
{ /* rx, ry are now "curses" coordinates */
|
||||
if (ry < sub->_begy)
|
||||
{ /* we clicked above the display region; this is
|
||||
* interpreted as "scroll up" request
|
||||
*/
|
||||
if (event.bstate & BUTTON1_CLICKED)
|
||||
res = form_driver(form, REQ_PREV_FIELD);
|
||||
else if (event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
res = form_driver(form, REQ_PREV_PAGE);
|
||||
else if (event.bstate & BUTTON1_TRIPLE_CLICKED)
|
||||
res = form_driver(form, REQ_FIRST_FIELD);
|
||||
}
|
||||
else if (ry > sub->_begy + sub->_maxy)
|
||||
{ /* we clicked below the display region; this is
|
||||
* interpreted as "scroll down" request
|
||||
*/
|
||||
if (event.bstate & BUTTON1_CLICKED)
|
||||
res = form_driver(form, REQ_NEXT_FIELD);
|
||||
else if (event.bstate & BUTTON1_DOUBLE_CLICKED)
|
||||
res = form_driver(form, REQ_NEXT_PAGE);
|
||||
else if (event.bstate & BUTTON1_TRIPLE_CLICKED)
|
||||
res = form_driver(form, REQ_LAST_FIELD);
|
||||
}
|
||||
else if (wenclose(sub, event.y, event.x))
|
||||
{ /* Inside the area we try to find the hit item */
|
||||
int i;
|
||||
|
||||
ry = event.y;
|
||||
rx = event.x;
|
||||
if (wmouse_trafo(sub, &ry, &rx, FALSE))
|
||||
{
|
||||
int min_field = form->page[form->curpage].pmin;
|
||||
int max_field = form->page[form->curpage].pmax;
|
||||
|
||||
for (i = min_field; i <= max_field; ++i)
|
||||
{
|
||||
FIELD *field = form->field[i];
|
||||
|
||||
if (Field_Is_Selectable(field)
|
||||
&& Field_encloses(field, ry, rx) == E_OK)
|
||||
{
|
||||
res = _nc_Set_Current_Field(form, field);
|
||||
if (res == E_OK)
|
||||
res = _nc_Position_Form_Cursor(form);
|
||||
if (res == E_OK
|
||||
&& (event.bstate & BUTTON1_DOUBLE_CLICKED))
|
||||
res = E_UNKNOWN_COMMAND;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
res = E_REQUEST_DENIED;
|
||||
}
|
||||
#endif /* NCURSES_MOUSE_VERSION */
|
||||
else if (!(c & (~(int)MAX_REGULAR_CHARACTER)))
|
||||
{
|
||||
/*
|
||||
@ -4261,7 +4379,7 @@ set_field_buffer(FIELD *field, int buffer, const char *value)
|
||||
wclear(field->working);
|
||||
mvwaddstr(field->working, 0, 0, value);
|
||||
|
||||
if ((widevalue = (FIELD_CELL *)calloc(len, sizeof(FIELD_CELL))) == 0)
|
||||
if ((widevalue = typeCalloc(FIELD_CELL, len + 1)) == 0)
|
||||
{
|
||||
RETURN(E_SYSTEM_ERROR);
|
||||
}
|
||||
@ -4341,10 +4459,7 @@ field_buffer(const FIELD *field, int buffer)
|
||||
init_mb(state);
|
||||
next = _nc_wcrtomb(0, data[n].chars[0], &state);
|
||||
if (!isEILSEQ(next))
|
||||
{
|
||||
if (next != 0)
|
||||
need += next;
|
||||
}
|
||||
need += next;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4358,7 +4473,7 @@ field_buffer(const FIELD *field, int buffer)
|
||||
{
|
||||
wclear(field->working);
|
||||
mvwadd_wchnstr(field->working, 0, 0, data, size);
|
||||
mvwinnstr(field->working, 0, 0, result, (int)need + 1);
|
||||
mvwinnstr(field->working, 0, 0, result, (int)need);
|
||||
}
|
||||
#else
|
||||
result = Address_Of_Nth_Buffer(field, buffer);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_alnum.c,v 1.19 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_alnum.c,v 1.21 2007/10/13 19:31:52 tom Exp $")
|
||||
|
||||
#define thisARG alnumARG
|
||||
|
||||
@ -55,10 +55,13 @@ thisARG;
|
||||
static void *
|
||||
Make_This_Type(va_list *ap)
|
||||
{
|
||||
thisARG *argp = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *argp = typeMalloc(thisARG, 1);
|
||||
|
||||
if (argp)
|
||||
argp->width = va_arg(*ap, int);
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), argp));
|
||||
argp->width = va_arg(*ap, int);
|
||||
}
|
||||
|
||||
return ((void *)argp);
|
||||
}
|
||||
@ -75,10 +78,13 @@ static void *
|
||||
Copy_This_Type(const void *argp)
|
||||
{
|
||||
const thisARG *ap = (const thisARG *)argp;
|
||||
thisARG *result = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *result = typeMalloc(thisARG, 1);
|
||||
|
||||
if (result)
|
||||
*result = *ap;
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), result));
|
||||
*result = *ap;
|
||||
}
|
||||
|
||||
return ((void *)result);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_alpha.c,v 1.21 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_alpha.c,v 1.23 2007/10/13 19:32:09 tom Exp $")
|
||||
|
||||
#define thisARG alphaARG
|
||||
|
||||
@ -55,10 +55,13 @@ thisARG;
|
||||
static void *
|
||||
Make_This_Type(va_list *ap)
|
||||
{
|
||||
thisARG *argp = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *argp = typeMalloc(thisARG, 1);
|
||||
|
||||
if (argp)
|
||||
argp->width = va_arg(*ap, int);
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), argp));
|
||||
argp->width = va_arg(*ap, int);
|
||||
}
|
||||
|
||||
return ((void *)argp);
|
||||
}
|
||||
@ -75,10 +78,13 @@ static void *
|
||||
Copy_This_Type(const void *argp)
|
||||
{
|
||||
const thisARG *ap = (const thisARG *)argp;
|
||||
thisARG *result = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *result = typeMalloc(thisARG, 1);
|
||||
|
||||
if (result)
|
||||
*result = *ap;
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), result));
|
||||
*result = *ap;
|
||||
}
|
||||
|
||||
return ((void *)result);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_enum.c,v 1.20 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_enum.c,v 1.22 2007/10/13 19:32:26 tom Exp $")
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -56,7 +56,7 @@ enumARG;
|
||||
static void *
|
||||
Make_Enum_Type(va_list *ap)
|
||||
{
|
||||
enumARG *argp = (enumARG *)malloc(sizeof(enumARG));
|
||||
enumARG *argp = typeMalloc(enumARG, 1);
|
||||
|
||||
if (argp)
|
||||
{
|
||||
@ -64,6 +64,7 @@ Make_Enum_Type(va_list *ap)
|
||||
char **kp = (char **)0;
|
||||
int ccase, cunique;
|
||||
|
||||
T((T_CREATE("enumARG %p"), argp));
|
||||
argp->kwds = va_arg(*ap, char **);
|
||||
ccase = va_arg(*ap, int);
|
||||
cunique = va_arg(*ap, int);
|
||||
@ -96,10 +97,13 @@ Copy_Enum_Type(const void *argp)
|
||||
{
|
||||
const enumARG *ap = (const enumARG *)argp;
|
||||
|
||||
result = (enumARG *)malloc(sizeof(enumARG));
|
||||
result = typeMalloc(enumARG, 1);
|
||||
|
||||
if (result)
|
||||
*result = *ap;
|
||||
{
|
||||
T((T_CREATE("enumARG %p"), result));
|
||||
*result = *ap;
|
||||
}
|
||||
}
|
||||
return (void *)result;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_int.c,v 1.20 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_int.c,v 1.22 2007/10/13 19:32:40 tom Exp $")
|
||||
|
||||
#if USE_WIDEC_SUPPORT
|
||||
#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
|
||||
@ -63,10 +63,11 @@ thisARG;
|
||||
static void *
|
||||
Make_This_Type(va_list *ap)
|
||||
{
|
||||
thisARG *argp = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *argp = typeMalloc(thisARG, 1);
|
||||
|
||||
if (argp)
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), argp));
|
||||
argp->precision = va_arg(*ap, int);
|
||||
argp->low = va_arg(*ap, long);
|
||||
argp->high = va_arg(*ap, long);
|
||||
@ -90,9 +91,12 @@ Copy_This_Type(const void *argp)
|
||||
|
||||
if (argp)
|
||||
{
|
||||
result = (thisARG *) malloc(sizeof(thisARG));
|
||||
result = typeMalloc(thisARG, 1);
|
||||
if (result)
|
||||
*result = *ap;
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), result));
|
||||
*result = *ap;
|
||||
}
|
||||
}
|
||||
return (void *)result;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_num.c,v 1.23 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_num.c,v 1.25 2007/10/13 19:32:54 tom Exp $")
|
||||
|
||||
#if HAVE_LOCALE_H
|
||||
#include <locale.h>
|
||||
@ -74,10 +74,11 @@ thisARG;
|
||||
static void *
|
||||
Make_This_Type(va_list *ap)
|
||||
{
|
||||
thisARG *argn = (thisARG *) malloc(sizeof(thisARG));
|
||||
thisARG *argn = typeMalloc(thisARG, 1);
|
||||
|
||||
if (argn)
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), argn));
|
||||
argn->precision = va_arg(*ap, int);
|
||||
argn->low = va_arg(*ap, double);
|
||||
argn->high = va_arg(*ap, double);
|
||||
@ -107,9 +108,12 @@ Copy_This_Type(const void *argp)
|
||||
|
||||
if (argp)
|
||||
{
|
||||
result = (thisARG *) malloc(sizeof(thisARG));
|
||||
result = typeMalloc(thisARG, 1);
|
||||
if (result)
|
||||
*result = *ap;
|
||||
{
|
||||
T((T_CREATE("thisARG %p"), result));
|
||||
*result = *ap;
|
||||
}
|
||||
}
|
||||
return (void *)result;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +34,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: fty_regex.c,v 1.19 2006/04/22 21:33:05 tom Exp $")
|
||||
MODULE_ID("$Id: fty_regex.c,v 1.21 2007/10/13 19:33:50 tom Exp $")
|
||||
|
||||
#if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */
|
||||
#include <regex.h>
|
||||
@ -105,15 +105,17 @@ Make_RegularExpression_Type(va_list *ap)
|
||||
char *rx = va_arg(*ap, char *);
|
||||
RegExp_Arg *preg;
|
||||
|
||||
preg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg));
|
||||
preg = typeMalloc(RegExp_Arg, 1);
|
||||
|
||||
if (preg)
|
||||
{
|
||||
if (((preg->pRegExp = (regex_t *) malloc(sizeof(regex_t))) != 0)
|
||||
T((T_CREATE("RegExp_Arg %p"), preg));
|
||||
if (((preg->pRegExp = typeMalloc(regex_t, 1)) != 0)
|
||||
&& !regcomp(preg->pRegExp, rx,
|
||||
(REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
|
||||
{
|
||||
preg->refCount = (unsigned long *)malloc(sizeof(unsigned long));
|
||||
T((T_CREATE("regex_t %p"), preg->pRegExp));
|
||||
preg->refCount = typeMalloc(unsigned long, 1);
|
||||
|
||||
*(preg->refCount) = 1;
|
||||
}
|
||||
@ -130,20 +132,21 @@ Make_RegularExpression_Type(va_list *ap)
|
||||
char *rx = va_arg(*ap, char *);
|
||||
RegExp_Arg *pArg;
|
||||
|
||||
pArg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg));
|
||||
pArg = typeMalloc(RegExp_Arg, 1);
|
||||
|
||||
if (pArg)
|
||||
{
|
||||
int blen = RX_INCREMENT;
|
||||
|
||||
T((T_CREATE("RegExp_Arg %p"), pArg));
|
||||
pArg->compiled_expression = NULL;
|
||||
pArg->refCount = (unsigned long *)malloc(sizeof(unsigned long));
|
||||
pArg->refCount = typeMalloc(unsigned long, 1);
|
||||
|
||||
*(pArg->refCount) = 1;
|
||||
|
||||
do
|
||||
{
|
||||
char *buf = (char *)malloc(blen);
|
||||
char *buf = typeMalloc(char, blen);
|
||||
|
||||
if (buf)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 1998 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998,2006 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"), #
|
||||
@ -29,3 +29,4 @@
|
||||
# Author: Thomas E. Dickey <dickey@clark.net> 1996
|
||||
#
|
||||
$(srcdir)/form.h
|
||||
# vile:makemode
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: modules,v 1.14 2004/12/25 23:29:22 tom Exp $
|
||||
# $Id: modules,v 1.15 2006/12/24 00:52:58 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998,2004 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2004,2006 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
|
||||
# Author: Thomas E. Dickey 1995-on
|
||||
#
|
||||
|
||||
@ base
|
||||
@ -72,3 +72,5 @@ fty_int lib $(srcdir) $(FORM_PRIV_H)
|
||||
fty_ipv4 lib $(srcdir) $(FORM_PRIV_H)
|
||||
fty_num lib $(srcdir) $(FORM_PRIV_H)
|
||||
fty_regex lib $(srcdir) $(FORM_PRIV_H)
|
||||
|
||||
# vile:makemode
|
||||
|
@ -1,6 +1,7 @@
|
||||
# vile:awkmode
|
||||
BEGIN {
|
||||
print "/****************************************************************************"
|
||||
print " * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *"
|
||||
print " * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *"
|
||||
print " * *"
|
||||
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
|
||||
print " * copy of this software and associated documentation files (the *"
|
||||
@ -33,7 +34,7 @@ BEGIN {
|
||||
print "/* and: Thomas E. Dickey 1995-on */"
|
||||
print "/****************************************************************************/"
|
||||
print ""
|
||||
print "/* $Id: MKterm.h.awk.in,v 1.47 2006/11/26 01:18:23 tom Exp $ */"
|
||||
print "/* $Id: MKterm.h.awk.in,v 1.49 2007/08/18 11:44:26 tom Exp $ */"
|
||||
print ""
|
||||
print "/*"
|
||||
print "** term.h -- Definition of struct term"
|
||||
@ -229,26 +230,26 @@ END {
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
||||
print ""
|
||||
print "#if BROKEN_LINKER"
|
||||
print "#define boolnames _nc_boolnames()"
|
||||
print "#define boolcodes _nc_boolcodes()"
|
||||
print "#define boolfnames _nc_boolfnames()"
|
||||
print "#define numnames _nc_numnames()"
|
||||
print "#define numcodes _nc_numcodes()"
|
||||
print "#define numfnames _nc_numfnames()"
|
||||
print "#define strnames _nc_strnames()"
|
||||
print "#define strcodes _nc_strcodes()"
|
||||
print "#define strfnames _nc_strfnames()"
|
||||
print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);"
|
||||
print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);"
|
||||
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
|
||||
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
|
||||
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
|
||||
print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
|
||||
print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
|
||||
print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
|
||||
print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
|
||||
print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
|
||||
print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
|
||||
print ""
|
||||
print "#else"
|
||||
print ""
|
||||
@ -291,10 +292,10 @@ END {
|
||||
print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
|
||||
print ""
|
||||
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* implemented */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* implemented */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#endif /* __NCURSES_H */"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
* and: Thomas E. Dickey 1996-on *
|
||||
****************************************************************************/
|
||||
|
||||
/* $Id: curses.h.in,v 1.167 2006/11/26 01:14:54 tom Exp $ */
|
||||
/* $Id: curses.h.in,v 1.181 2007/11/18 00:32:03 tom Exp $ */
|
||||
|
||||
#ifndef __NCURSES_H
|
||||
#define __NCURSES_H
|
||||
@ -102,11 +102,18 @@
|
||||
#undef NCURSES_COLOR_T
|
||||
#define NCURSES_COLOR_T short
|
||||
|
||||
/*
|
||||
* Definition used to make WINDOW and similar structs opaque.
|
||||
*/
|
||||
#ifndef @cf_cv_enable_opaque@
|
||||
#define NCURSES_OPAQUE @NCURSES_OPAQUE@
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The internal type used for window dimensions.
|
||||
*/
|
||||
#undef NCURSES_SIZE_T
|
||||
#define NCURSES_SIZE_T short
|
||||
#define NCURSES_SIZE_T @NCURSES_SIZE_T@
|
||||
|
||||
/*
|
||||
* Control whether tparm() supports varargs or fixed-parameter list.
|
||||
@ -137,7 +144,7 @@ typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t;
|
||||
#include <stddef.h> /* we want wchar_t */
|
||||
#endif /* _XOPEN_SOURCE_EXTENDED */
|
||||
|
||||
/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also
|
||||
/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also
|
||||
* implement it. If so, we must use the C++ compiler's type to avoid conflict
|
||||
* with other interfaces.
|
||||
*
|
||||
@ -184,7 +191,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XSI attributes. In the ncurses implementation, they are identical to the
|
||||
* X/Open attributes. In the ncurses implementation, they are identical to the
|
||||
* A_ attributes.
|
||||
*/
|
||||
#define WA_ATTRIBUTES A_ATTRIBUTES
|
||||
@ -206,9 +213,6 @@ extern "C" {
|
||||
#define WA_VERTICAL A_VERTICAL
|
||||
|
||||
/* colors */
|
||||
extern NCURSES_EXPORT_VAR(int) COLORS;
|
||||
extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
|
||||
|
||||
#define COLOR_BLACK 0
|
||||
#define COLOR_RED 1
|
||||
#define COLOR_GREEN 2
|
||||
@ -220,8 +224,8 @@ extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
|
||||
|
||||
/* line graphics */
|
||||
|
||||
#if @BROKEN_LINKER@
|
||||
extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void);
|
||||
#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@
|
||||
NCURSES_WRAPPED_VAR(chtype*, acs_map);
|
||||
#define acs_map (_nc_acs_map())
|
||||
#else
|
||||
extern NCURSES_EXPORT_VAR(chtype) acs_map[];
|
||||
@ -346,6 +350,8 @@ typedef struct
|
||||
attr_t attr;
|
||||
wchar_t chars[CCHARW_MAX];
|
||||
#if @NCURSES_EXT_COLORS@
|
||||
#undef NCURSES_EXT_COLORS
|
||||
#define NCURSES_EXT_COLORS @NCURSES_PATCH@
|
||||
int ext_color; /* color pair, must be more than 16-bits */
|
||||
#endif
|
||||
}
|
||||
@ -353,6 +359,7 @@ cchar_t;
|
||||
|
||||
#endif /* _XOPEN_SOURCE_EXTENDED */
|
||||
|
||||
#if !NCURSES_OPAQUE
|
||||
struct ldat;
|
||||
|
||||
struct _win_st
|
||||
@ -409,41 +416,7 @@ struct _win_st
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
|
||||
|
||||
extern NCURSES_EXPORT_VAR(int) LINES;
|
||||
extern NCURSES_EXPORT_VAR(int) COLS;
|
||||
extern NCURSES_EXPORT_VAR(int) TABSIZE;
|
||||
|
||||
/*
|
||||
* This global was an undocumented feature under AIX curses.
|
||||
*/
|
||||
extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */
|
||||
|
||||
/*
|
||||
* These functions are extensions - not in XSI Curses.
|
||||
*/
|
||||
#if @NCURSES_EXT_FUNCS@
|
||||
extern NCURSES_EXPORT(bool) is_term_resized (int, int);
|
||||
extern NCURSES_EXPORT(char *) keybound (int, int);
|
||||
extern NCURSES_EXPORT(const char *) curses_version (void);
|
||||
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
|
||||
extern NCURSES_EXPORT(int) define_key (const char *, int);
|
||||
extern NCURSES_EXPORT(int) key_defined (const char *);
|
||||
extern NCURSES_EXPORT(int) keyok (int, bool);
|
||||
extern NCURSES_EXPORT(int) resize_term (int, int);
|
||||
extern NCURSES_EXPORT(int) resizeterm (int, int);
|
||||
extern NCURSES_EXPORT(int) use_default_colors (void);
|
||||
extern NCURSES_EXPORT(int) use_extended_names (bool);
|
||||
extern NCURSES_EXPORT(int) use_legacy_coding (int);
|
||||
extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
|
||||
extern NCURSES_EXPORT(void) nofilter(void);
|
||||
#else
|
||||
#define curses_version() NCURSES_VERSION
|
||||
#endif
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
/*
|
||||
* This is an extension to support events...
|
||||
@ -537,7 +510,7 @@ extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Function prototypes. This is the complete XSI Curses list of required
|
||||
* Function prototypes. This is the complete X/Open Curses list of required
|
||||
* functions. Those marked `generated' will have sources generated from the
|
||||
* macro definitions later in this file, in order to satisfy XPG4.2
|
||||
* requirements.
|
||||
@ -741,7 +714,7 @@ extern NCURSES_EXPORT(int) standout (void); /* generated */
|
||||
extern NCURSES_EXPORT(int) standend (void); /* generated */
|
||||
extern NCURSES_EXPORT(int) start_color (void); /* implemented */
|
||||
extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */
|
||||
extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */
|
||||
extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* implemented */
|
||||
extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */
|
||||
extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */
|
||||
extern NCURSES_EXPORT(char *) termname (void); /* implemented */
|
||||
@ -825,17 +798,16 @@ extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented *
|
||||
extern NCURSES_EXPORT(int) putp (const char *); /* implemented */
|
||||
|
||||
#if NCURSES_TPARM_VARARGS
|
||||
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */
|
||||
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */
|
||||
#else
|
||||
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* implemented */
|
||||
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* implemented */
|
||||
extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */
|
||||
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
|
||||
#endif
|
||||
|
||||
extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */
|
||||
|
||||
/*
|
||||
* These functions are not in X/Open, but we use them in macro definitions:
|
||||
*/
|
||||
extern NCURSES_EXPORT(int) getattrs (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(int) getcurx (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(int) getcury (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(int) getbegx (const WINDOW *); /* generated */
|
||||
@ -846,12 +818,58 @@ extern NCURSES_EXPORT(int) getparx (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
|
||||
/*
|
||||
* vid_attr() was implemented originally based on a draft of XSI curses.
|
||||
* vid_attr() was implemented originally based on a draft of X/Open curses.
|
||||
*/
|
||||
#ifndef _XOPEN_SOURCE_EXTENDED
|
||||
#define vid_attr(a,pair,opts) vidattr(a)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These functions are extensions - not in X/Open Curses.
|
||||
*/
|
||||
#undef NCURSES_EXT_FUNCS
|
||||
#if @NCURSES_EXT_FUNCS@
|
||||
#undef NCURSES_EXT_FUNCS
|
||||
#define NCURSES_EXT_FUNCS @NCURSES_PATCH@
|
||||
typedef int (*NCURSES_CALLBACK)(WINDOW *, void *);
|
||||
extern NCURSES_EXPORT(bool) is_term_resized (int, int);
|
||||
extern NCURSES_EXPORT(char *) keybound (int, int);
|
||||
extern NCURSES_EXPORT(const char *) curses_version (void);
|
||||
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
|
||||
extern NCURSES_EXPORT(int) define_key (const char *, int);
|
||||
extern NCURSES_EXPORT(int) key_defined (const char *);
|
||||
extern NCURSES_EXPORT(int) keyok (int, bool);
|
||||
extern NCURSES_EXPORT(int) resize_term (int, int);
|
||||
extern NCURSES_EXPORT(int) resizeterm (int, int);
|
||||
extern NCURSES_EXPORT(int) use_default_colors (void);
|
||||
extern NCURSES_EXPORT(int) use_extended_names (bool);
|
||||
extern NCURSES_EXPORT(int) use_legacy_coding (int);
|
||||
extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_CALLBACK, void *);
|
||||
extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_CALLBACK, void *);
|
||||
extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
|
||||
extern NCURSES_EXPORT(void) nofilter(void);
|
||||
|
||||
/*
|
||||
* These extensions provide access to information stored in the WINDOW even
|
||||
* when NCURSES_OPAQUE is set:
|
||||
*/
|
||||
extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* generated */
|
||||
extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
|
||||
|
||||
#else
|
||||
#define curses_version() NCURSES_VERSION
|
||||
#endif
|
||||
|
||||
/* attributes */
|
||||
|
||||
#define NCURSES_ATTR_SHIFT 8
|
||||
@ -892,11 +910,18 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
#define getmaxyx(win,y,x) (y = getmaxy(win), x = getmaxx(win))
|
||||
#define getparyx(win,y,x) (y = getpary(win), x = getparx(win))
|
||||
|
||||
#define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
|
||||
else getyx(newscr,(y),(x)); \
|
||||
#define getsyx(y,x) do { if (is_leaveok(newscr)) \
|
||||
(y) = (x) = -1; \
|
||||
else \
|
||||
getyx(newscr,(y), (x)); \
|
||||
} while(0)
|
||||
#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \
|
||||
else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \
|
||||
|
||||
#define setsyx(y,x) do { if ((y) == -1 && (x) == -1) \
|
||||
leaveok(newscr, TRUE); \
|
||||
else { \
|
||||
leaveok(newscr, FALSE); \
|
||||
wmove(newscr, (y), (x)); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#ifndef NCURSES_NOMACROS
|
||||
@ -918,15 +943,17 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
#define gettmode()
|
||||
|
||||
/* It seems older SYSV curses versions define these */
|
||||
#define getattrs(win) ((win)?(win)->_attrs:A_NORMAL)
|
||||
#define getcurx(win) ((win)?(win)->_curx:ERR)
|
||||
#define getcury(win) ((win)?(win)->_cury:ERR)
|
||||
#define getbegx(win) ((win)?(win)->_begx:ERR)
|
||||
#define getbegy(win) ((win)?(win)->_begy:ERR)
|
||||
#define getmaxx(win) ((win)?((win)->_maxx + 1):ERR)
|
||||
#define getmaxy(win) ((win)?((win)->_maxy + 1):ERR)
|
||||
#define getparx(win) ((win)?(win)->_parx:ERR)
|
||||
#define getpary(win) ((win)?(win)->_pary:ERR)
|
||||
#if !NCURSES_OPAQUE
|
||||
#define getattrs(win) ((win) ? (win)->_attrs : A_NORMAL)
|
||||
#define getcurx(win) ((win) ? (win)->_curx : ERR)
|
||||
#define getcury(win) ((win) ? (win)->_cury : ERR)
|
||||
#define getbegx(win) ((win) ? (win)->_begx : ERR)
|
||||
#define getbegy(win) ((win) ? (win)->_begy : ERR)
|
||||
#define getmaxx(win) ((win) ? ((win)->_maxx + 1) : ERR)
|
||||
#define getmaxy(win) ((win) ? ((win)->_maxy + 1) : ERR)
|
||||
#define getparx(win) ((win) ? (win)->_parx : ERR)
|
||||
#define getpary(win) ((win) ? (win)->_pary : ERR)
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
#define wstandout(win) (wattrset(win,A_STANDOUT))
|
||||
#define wstandend(win) (wattrset(win,A_NORMAL))
|
||||
@ -934,12 +961,14 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
#define wattron(win,at) wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
|
||||
#define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
|
||||
|
||||
#if !NCURSES_OPAQUE
|
||||
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
|
||||
#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \
|
||||
(win)->_attrs = (at))
|
||||
#else
|
||||
#define wattrset(win,at) ((win)->_attrs = (at))
|
||||
#endif
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
#define scroll(win) wscrl(win,1)
|
||||
|
||||
@ -956,7 +985,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
#define winchstr(w, s) winchnstr(w, s, -1)
|
||||
#define winsstr(w, s) winsnstr(w, s, -1)
|
||||
|
||||
#if !NCURSES_OPAQUE
|
||||
#define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1)
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
#define waddstr(win,str) waddnstr(win,str,-1)
|
||||
#define waddchstr(win,str) waddchnstr(win,str,-1)
|
||||
|
||||
@ -1064,11 +1096,14 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
/*
|
||||
* Some wide-character functions can be implemented without the extensions.
|
||||
*/
|
||||
#if !NCURSES_OPAQUE
|
||||
#define getbkgd(win) ((win)->_bkgd)
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
#define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a))
|
||||
#define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
|
||||
|
||||
#if !NCURSES_OPAQUE
|
||||
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
|
||||
#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
|
||||
(win)->_color = (p), \
|
||||
@ -1082,9 +1117,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
(void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
|
||||
OK)
|
||||
#endif
|
||||
#endif /* NCURSES_OPAQUE */
|
||||
|
||||
/*
|
||||
* XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
|
||||
* X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
|
||||
* varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to
|
||||
* use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already
|
||||
* use stdarg.h, so...
|
||||
@ -1100,8 +1136,75 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
||||
NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These macros are extensions - not in X/Open Curses.
|
||||
*/
|
||||
#if @NCURSES_EXT_FUNCS@
|
||||
#if !NCURSES_OPAQUE
|
||||
#define is_cleared(win) ((win)->_clear)
|
||||
#define is_idcok(win) ((win)->_idcok)
|
||||
#define is_idlok(win) ((win)->_idlok)
|
||||
#define is_immedok(win) ((win)->_immed)
|
||||
#define is_keypad(win) ((win)->_use_keypad)
|
||||
#define is_leaveok(win) ((win)->_leaveok)
|
||||
#define is_nodelay(win) ((win)->_delay == 0)
|
||||
#define is_notimeout(win) ((win)->_notimeout)
|
||||
#define is_scrollok(win) ((win)->_scroll)
|
||||
#define is_syncok(win) ((win)->_sync)
|
||||
#define wgetparent(win) ((win) ? (win)->_parent : 0)
|
||||
#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* NCURSES_NOMACROS */
|
||||
|
||||
/*
|
||||
* Public variables.
|
||||
*
|
||||
* Notes:
|
||||
* a. ESCDELAY was an undocumented feature under AIX curses.
|
||||
* It gives the ESC expire time in milliseconds.
|
||||
* b. ttytype is needed for backward compatibility
|
||||
*/
|
||||
#if @cf_cv_enable_reentrant@
|
||||
|
||||
NCURSES_WRAPPED_VAR(WINDOW *, curscr);
|
||||
NCURSES_WRAPPED_VAR(WINDOW *, newscr);
|
||||
NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
|
||||
NCURSES_WRAPPED_VAR(char *, ttytype);
|
||||
NCURSES_WRAPPED_VAR(int, COLORS);
|
||||
NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
|
||||
NCURSES_WRAPPED_VAR(int, COLS);
|
||||
NCURSES_WRAPPED_VAR(int, ESCDELAY);
|
||||
NCURSES_WRAPPED_VAR(int, LINES);
|
||||
NCURSES_WRAPPED_VAR(int, TABSIZE);
|
||||
|
||||
#define curscr NCURSES_PUBLIC_VAR(curscr())
|
||||
#define newscr NCURSES_PUBLIC_VAR(newscr())
|
||||
#define stdscr NCURSES_PUBLIC_VAR(stdscr())
|
||||
#define ttytype NCURSES_PUBLIC_VAR(ttytype())
|
||||
#define COLORS NCURSES_PUBLIC_VAR(COLORS())
|
||||
#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
|
||||
#define COLS NCURSES_PUBLIC_VAR(COLS())
|
||||
#define ESCDELAY NCURSES_PUBLIC_VAR(ESCDELAY())
|
||||
#define LINES NCURSES_PUBLIC_VAR(LINES())
|
||||
#define TABSIZE NCURSES_PUBLIC_VAR(TABSIZE())
|
||||
|
||||
#else
|
||||
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
|
||||
extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
|
||||
extern NCURSES_EXPORT_VAR(char) ttytype[];
|
||||
extern NCURSES_EXPORT_VAR(int) COLORS;
|
||||
extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
|
||||
extern NCURSES_EXPORT_VAR(int) COLS;
|
||||
extern NCURSES_EXPORT_VAR(int) ESCDELAY;
|
||||
extern NCURSES_EXPORT_VAR(int) LINES;
|
||||
extern NCURSES_EXPORT_VAR(int) TABSIZE;
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Pseudo-character tokens outside ASCII range. The curses wgetch() function
|
||||
* will return any given one of these only if the corresponding k- capability
|
||||
|
@ -1,8 +1,9 @@
|
||||
/* $Id: curses.tail,v 1.15 2007/03/10 17:51:24 tom Exp $ */
|
||||
/*
|
||||
* vile:cmode:
|
||||
* This file is part of ncurses, designed to be appended after curses.h.in
|
||||
* (see that file for the relevant copyright).
|
||||
*/
|
||||
/* $Id: curses.tail,v 1.14 2006/05/27 16:28:29 tom Exp $ */
|
||||
|
||||
/* mouse interface */
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
/* $Id: curses.wide,v 1.34 2007/03/10 17:52:23 tom Exp $ */
|
||||
/*
|
||||
* vile:cmode:
|
||||
* This file is part of ncurses, designed to be appended after curses.h.in
|
||||
* (see that file for the relevant copyright).
|
||||
*/
|
||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
||||
|
||||
/* $Id: curses.wide,v 1.32 2006/05/27 19:44:23 tom Exp $ */
|
||||
|
||||
extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
|
||||
|
||||
#define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c])
|
||||
@ -197,10 +197,13 @@ extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* imple
|
||||
#define wadd_wchstr(win,str) wadd_wchnstr(win,str,-1)
|
||||
#define waddwstr(win,wstr) waddnwstr(win,wstr,-1)
|
||||
#define wget_wstr(w,t) wgetn_wstr(w,t,-1)
|
||||
#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK)
|
||||
#define win_wchstr(w,c) win_wchnstr(w,c,-1)
|
||||
#define wins_wstr(w,t) wins_nwstr(w,t,-1)
|
||||
|
||||
#if !NCURSES_OPAQUE
|
||||
#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK)
|
||||
#endif
|
||||
|
||||
#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,y,x,c)
|
||||
#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,y,x,s,n)
|
||||
#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,y,x,s)
|
||||
|
@ -1,5 +1,6 @@
|
||||
# $Id: headers,v 1.9 2007/01/20 19:57:04 Miroslav.Lichvar Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -26,10 +27,16 @@
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
#
|
||||
# Author: Thomas E. Dickey <dickey@clark.net> 1996
|
||||
# Author: Thomas E. Dickey 1996-on
|
||||
#
|
||||
term.h
|
||||
curses.h
|
||||
unctrl.h
|
||||
termcap.h
|
||||
$(srcdir)/ncurses_dll.h
|
||||
@ ticlib
|
||||
$(srcdir)/tic.h
|
||||
$(srcdir)/term_entry.h
|
||||
$(srcdir)/nc_tparm.h
|
||||
|
||||
# vile:makemode
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2005,2007 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 *
|
||||
@ -29,7 +29,7 @@
|
||||
/****************************************************************************
|
||||
* Author: Thomas E. Dickey <dickey@clark.net> 1996,1997 *
|
||||
****************************************************************************/
|
||||
/* $Id: nc_alloc.h,v 1.13 2005/01/16 00:27:35 tom Exp $ */
|
||||
/* $Id: nc_alloc.h,v 1.15 2007/02/03 18:40:23 tom Exp $ */
|
||||
|
||||
#ifndef NC_ALLOC_included
|
||||
#define NC_ALLOC_included 1
|
||||
@ -67,8 +67,11 @@ extern "C" {
|
||||
#define HAVE_NC_FREEALL 1
|
||||
struct termtype;
|
||||
extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN;
|
||||
extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN;
|
||||
extern NCURSES_EXPORT(void) _nc_free_tic(int) GCC_NORETURN;
|
||||
extern NCURSES_EXPORT(void) _nc_free_tparm(void);
|
||||
extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void);
|
||||
extern NCURSES_EXPORT(void) _nc_leaks_tic(void);
|
||||
#define ExitProgram(code) _nc_free_and_exit(code)
|
||||
#endif
|
||||
|
||||
@ -87,6 +90,9 @@ extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t);
|
||||
extern NCURSES_EXPORT(char *) _nc_strdup(const char *);
|
||||
#endif
|
||||
|
||||
/* entries.c */
|
||||
extern NCURSES_EXPORT(void) _nc_leaks_tinfo(void);
|
||||
|
||||
#define typeMalloc(type,elts) (type *)malloc((elts)*sizeof(type))
|
||||
#define typeCalloc(type,elts) (type *)calloc((elts),sizeof(type))
|
||||
#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (elts)*sizeof(type))
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: ncurses_defs,v 1.30 2006/08/05 19:27:02 tom Exp $
|
||||
# $Id: ncurses_defs,v 1.35 2007/10/06 21:18:16 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2000-2005,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 2000-2006,2007 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"), #
|
||||
@ -33,10 +33,8 @@
|
||||
|
||||
BROKEN_LINKER
|
||||
BSD_TPUTS
|
||||
CC_HAS_INLINE_FUNCS
|
||||
CC_HAS_PROTOS
|
||||
CPP_HAS_PARAM_INIT
|
||||
CPP_HAS_VSCAN_FUNC
|
||||
CURSES_ACS_ARRAY acs_map
|
||||
CURSES_WACS_ARRAY _nc_wacs
|
||||
DECL_ERRNO
|
||||
@ -68,6 +66,7 @@ HAVE_GPM_H
|
||||
HAVE_GPP_BUILTIN_H
|
||||
HAVE_GXX_BUILTIN_H
|
||||
HAVE_HAS_KEY
|
||||
HAVE_IOSTREAM
|
||||
HAVE_ISASCII
|
||||
HAVE_ISSETUGID
|
||||
HAVE_LANGINFO_CODESET
|
||||
@ -159,6 +158,7 @@ HAVE_WORKING_POLL
|
||||
HAVE_WRESIZE
|
||||
HAVE__DOSCAN
|
||||
MIXEDCASE_FILENAMES
|
||||
NCURSES_CHAR_EQ
|
||||
NCURSES_EXPANDED
|
||||
NCURSES_EXT_COLORS
|
||||
NCURSES_EXT_FUNCS
|
||||
@ -189,12 +189,10 @@ USE_LINKS
|
||||
USE_MY_MEMMOVE
|
||||
USE_OK_BCOPY
|
||||
USE_RCS_IDS
|
||||
USE_REENTRANT
|
||||
USE_SAFE_SPRINTF
|
||||
USE_SCROLL_HINTS
|
||||
USE_SIGWINCH
|
||||
USE_STDIO_VSCAN
|
||||
USE_STRSTREAM_VSCAN
|
||||
USE_STRSTREAM_VSCAN_CAST
|
||||
USE_SYMLINKS
|
||||
USE_SYSMOUSE
|
||||
USE_TERMCAP
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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 *
|
||||
@ -25,7 +25,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/* $Id: ncurses_dll.h,v 1.5 2006/04/22 22:07:51 tom Exp $ */
|
||||
/* $Id: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */
|
||||
|
||||
#ifndef NCURSES_DLL_H_incl
|
||||
#define NCURSES_DLL_H_incl 1
|
||||
@ -76,4 +76,11 @@
|
||||
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
|
||||
#endif
|
||||
|
||||
/*
|
||||
* For reentrant code, we map the various global variables into SCREEN by
|
||||
* using functions to access them.
|
||||
*/
|
||||
#define NCURSES_PUBLIC_VAR(name) _nc_##name
|
||||
#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
|
||||
|
||||
#endif /* NCURSES_DLL_H_incl */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2006,2007 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,7 +33,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
/*
|
||||
* $Id: tic.h,v 1.55 2006/08/19 14:17:49 tom Exp $
|
||||
* $Id: tic.h,v 1.62 2007/08/11 16:12:43 tom Exp $
|
||||
* tic.h - Global variables and structures for the terminfo
|
||||
* compiler.
|
||||
*/
|
||||
@ -163,16 +163,6 @@ struct token
|
||||
|
||||
extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
|
||||
|
||||
/*
|
||||
* List of keynames with their corresponding code.
|
||||
*/
|
||||
struct kn {
|
||||
const char *name;
|
||||
int code;
|
||||
};
|
||||
|
||||
extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[];
|
||||
|
||||
/*
|
||||
* Offsets to string capabilities, with the corresponding functionkey
|
||||
* codes.
|
||||
@ -185,11 +175,11 @@ struct tinfo_fkeys {
|
||||
#if BROKEN_LINKER
|
||||
|
||||
#define _nc_tinfo_fkeys _nc_tinfo_fkeysf()
|
||||
extern NCURSES_EXPORT(struct tinfo_fkeys *) _nc_tinfo_fkeysf (void);
|
||||
extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void);
|
||||
|
||||
#else
|
||||
|
||||
extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[];
|
||||
extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[];
|
||||
|
||||
#endif
|
||||
|
||||
@ -214,14 +204,9 @@ struct alias
|
||||
const char *source;
|
||||
};
|
||||
|
||||
extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[];
|
||||
extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[];
|
||||
|
||||
extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[];
|
||||
extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[];
|
||||
|
||||
extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
|
||||
extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool);
|
||||
extern NCURSES_EXPORT(const short *) _nc_get_hash_table (bool);
|
||||
extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool);
|
||||
|
||||
#define NOTFOUND ((struct name_table_entry *) 0)
|
||||
|
||||
@ -259,7 +244,7 @@ extern NCURSES_EXPORT(char *) _nc_rootname (char *);
|
||||
|
||||
/* comp_hash.c: name lookup */
|
||||
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry
|
||||
(const char *, const struct name_table_entry *const *);
|
||||
(const char *, const short *);
|
||||
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry
|
||||
(const char *, int, const struct name_table_entry *);
|
||||
|
||||
|
@ -1,19 +1,37 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5 (mit/util/scripts/install.sh).
|
||||
#
|
||||
# Copyright 1991 by the Massachusetts Institute of Technology
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Permission to use, copy, modify, distribute, and sell this software and its
|
||||
# documentation for any purpose is hereby granted without fee, provided that
|
||||
# the above copyright notice appear in all copies and that both that
|
||||
# copyright notice and this permission notice appear in supporting
|
||||
# documentation, and that the name of M.I.T. not be used in advertising or
|
||||
# publicity pertaining to distribution of the software without specific,
|
||||
# written prior permission. M.I.T. makes no representations about the
|
||||
# suitability of this software for any purpose. It is provided "as is"
|
||||
# without express or implied warranty.
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# 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, 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
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
@ -56,7 +74,7 @@ dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
-c) instcmd=$cpprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
@ -79,7 +97,7 @@ while [ x"$1" != x ]; do
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
@ -106,7 +124,7 @@ done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
echo "$0: no input file specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
@ -116,7 +134,7 @@ if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
if [ -d "$dst" ]; then
|
||||
instcmd=:
|
||||
chmodcmd=""
|
||||
else
|
||||
@ -128,17 +146,17 @@ else
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
if [ -f "$src" ] || [ -d "$src" ]
|
||||
then
|
||||
:
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
echo "$0: $src does not exist" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
echo "$0: no destination specified" >&2
|
||||
exit 1
|
||||
else
|
||||
:
|
||||
@ -147,16 +165,16 @@ else
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
if [ -d "$dst" ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
dst=$dst/`basename "$src"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
@ -165,48 +183,48 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
IFS="${IFS-$defaultIFS}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
oIFS=$IFS
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS=$oIFS
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
pathcomp=$pathcomp$1
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
if [ ! -d "$pathcomp" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
$mkdirprog "$pathcomp"
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
pathcomp=$pathcomp/
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
$doit $instcmd "$dst" &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
dstfile=`basename "$dst" $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
@ -214,20 +232,24 @@ else
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
dstfile=`basename "$dst"`
|
||||
else
|
||||
:
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
rmtmp=$dstdir/#rm.$$#
|
||||
|
||||
# Trap to clean up temp files at exit.
|
||||
|
||||
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
$doit $instcmd "$src" "$dsttmp" &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
@ -235,17 +257,38 @@ else
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi &&
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
|
||||
|
||||
# Now remove or move aside any old file at destination location. We try this
|
||||
# two ways since rm can't unlink itself on some systems and the destination
|
||||
# file might be busy for other reasons. In this case, the final cleanup
|
||||
# might fail but the new file should still install successfully.
|
||||
|
||||
{
|
||||
if [ -f "$dstdir/$dstfile" ]
|
||||
then
|
||||
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
|
||||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
|
||||
{
|
||||
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
|
||||
(exit 1); exit
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
|
||||
|
||||
fi &&
|
||||
|
||||
# The final little trick to "correctly" pass the exit status to the exit trap.
|
||||
|
||||
exit 0
|
||||
{
|
||||
(exit 0); exit
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: Makefile.in,v 1.39 2005/07/16 17:26:45 tom Exp $
|
||||
# $Id: Makefile.in,v 1.41 2007/03/31 15:54:06 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -52,7 +52,7 @@ depend :
|
||||
tags :
|
||||
|
||||
$(DESTDIR)$(mandir) :
|
||||
sh $(srcdir)/../mkinstalldirs $@
|
||||
sh $(srcdir)/../mkdirs.sh $@
|
||||
|
||||
EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
|
||||
|
||||
@ -77,4 +77,4 @@ clean: mostlyclean
|
||||
sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed
|
||||
|
||||
distclean realclean: clean
|
||||
rm -f Makefile ../edit_man.*
|
||||
rm -f Makefile ../edit_man.* ../man_alias.*
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,16 +27,16 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: captoinfo.1m,v 1.20 2006/05/13 15:14:01 tom Exp $
|
||||
.TH captoinfo 1M ""
|
||||
.\" $Id: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp $
|
||||
.TH @CAPTOINFO@ 1M ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
\fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
|
||||
\fB@CAPTOINFO@\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
|
||||
.SH SYNOPSIS
|
||||
\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
|
||||
\fB@CAPTOINFO@\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
|
||||
.SH DESCRIPTION
|
||||
\fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each
|
||||
\fB@CAPTOINFO@\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each
|
||||
one found, an equivalent \fBterminfo\fR description is written to standard
|
||||
output. Termcap \fBtc\fR capabilities are translated directly to terminfo
|
||||
\fBuse\fR capabilities.
|
||||
@ -67,7 +67,7 @@ Compiled terminal description database.
|
||||
.SH TRANSLATIONS FROM NONSTANDARD CAPABILITIES
|
||||
.PP
|
||||
Some obsolete nonstandard capabilities will automatically be translated
|
||||
into standard (SVr4/XSI Curses) terminfo capabilities by \fBcaptoinfo\fR.
|
||||
into standard (SVr4/XSI Curses) terminfo capabilities by \fB@CAPTOINFO@\fR.
|
||||
Whenever one of these automatic translations is done, the program
|
||||
will issue an notification to stderr, inviting the user to check that
|
||||
it has not mistakenly translated a completely unknown and random
|
||||
@ -145,7 +145,7 @@ GG acs magic cookie count
|
||||
.TE
|
||||
.PP
|
||||
If the single-line capabilities occur in an entry, they will automatically
|
||||
be composed into an \fBacsc\fR string. The double-line capabilities and
|
||||
be composed into an \fIacsc\fR string. The double-line capabilities and
|
||||
\fBGG\fR are discarded with a warning message.
|
||||
.PP
|
||||
IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible
|
||||
@ -164,17 +164,17 @@ font2 s2ds
|
||||
font3 s3ds
|
||||
.TE
|
||||
.PP
|
||||
Additionally, the AIX \fBbox1\fR capability will be automatically translated to
|
||||
an \fBacsc\fR string.
|
||||
Additionally, the AIX \fIbox1\fR capability will be automatically translated to
|
||||
an \fIacsc\fR string.
|
||||
.PP
|
||||
Hewlett-Packard's terminfo library supports two nonstandard terminfo
|
||||
capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock).
|
||||
capabilities \fImeml\fR (memory lock) and \fImemu\fR (memory unlock).
|
||||
These will be discarded with a warning message.
|
||||
.SH NOTES
|
||||
This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode.
|
||||
You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR.
|
||||
This utility is actually a link to \fB@TIC@\fR(1M), running in \fI-I\fR mode.
|
||||
You can use other \fB@TIC@\fR options such as \fB-f\fR and \fB-x\fR.
|
||||
.PP
|
||||
The trace option isn't identical to SVr4's. Under SVr4, instead of following
|
||||
The trace option is not identical to SVr4's. Under SVr4, instead of following
|
||||
the \fB-v\fR with a trace level n, you repeat it n times.
|
||||
.SH SEE ALSO
|
||||
\fB@INFOCMP@\fR(1M),
|
||||
|
@ -26,20 +26,20 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: clear.1,v 1.5 2006/07/01 21:55:09 tom Exp $
|
||||
.TH clear 1 ""
|
||||
.\" $Id: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp $
|
||||
.TH @CLEAR@ 1 ""
|
||||
.ds n 5
|
||||
.SH NAME
|
||||
\fBclear\fR - clear the terminal screen
|
||||
\fB@CLEAR@\fR - clear the terminal screen
|
||||
.SH SYNOPSIS
|
||||
\fBclear\fR
|
||||
\fB@CLEAR@\fR
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
\fBclear\fR clears your screen if this is possible. It looks in the
|
||||
\fB@CLEAR@\fR clears your screen if this is possible. It looks in the
|
||||
environment for the terminal type and then in the \fBterminfo\fR database to
|
||||
figure out how to clear the screen.
|
||||
.PP
|
||||
\fBclear\fR ignores any command-line parameters that may be present.
|
||||
\fB@CLEAR@\fR ignores any command-line parameters that may be present.
|
||||
.SH SEE ALSO
|
||||
\fB@TPUT@\fR(1), \fBterminfo\fR(\*n)
|
||||
.PP
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_add_wch.3x,v 1.5 2006/12/02 17:02:35 tom Exp $
|
||||
.\" $Id: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp $
|
||||
.TH curs_add_wch 3X ""
|
||||
.SH NAME
|
||||
\fBadd_wch\fP,
|
||||
@ -82,7 +82,7 @@ and the rendition specified by \fIwch\fP is ignored.
|
||||
-
|
||||
If the character part of \fIwch\fP is
|
||||
a tab, newline, backspace or other control character,
|
||||
the window is updated and the cursor moves as if \fBaddch\fR(3X) were called.
|
||||
the window is updated and the cursor moves as if \fBaddch\fR were called.
|
||||
.PP
|
||||
The \fBecho_wchar\fP
|
||||
function is functionally equivalent to a call to
|
||||
@ -122,7 +122,7 @@ Those are not currently implemented in \fBncurses\fP.
|
||||
.PP
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_addch\fR(3X),
|
||||
\fBcurs_attr_get\fR(3X),
|
||||
\fBcurs_attr\fR(3X),
|
||||
\fBcurs_clear\fR(3X),
|
||||
\fBcurs_outopts\fR(3X),
|
||||
\fBcurs_refresh\fR(3X),
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: curs_addch.3x,v 1.25 2006/12/02 17:02:22 tom Exp $
|
||||
.\" $Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_addch 3X ""
|
||||
.SH NAME
|
||||
\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
|
||||
@ -87,7 +87,7 @@ their equivalents.
|
||||
.SS Line Graphics
|
||||
The following variables may be used to add line drawing characters to the
|
||||
screen with routines of the \fBaddch\fR family. The default character listed
|
||||
below is used if the \fBacsc\fR capability doesn't define a terminal-specific
|
||||
below is used if the \fBacsc\fR capability does not define a terminal-specific
|
||||
replacement for it.
|
||||
The names are taken from VT100 nomenclature.
|
||||
.PP
|
||||
@ -168,7 +168,7 @@ This is true of other implementations, but is not documented.
|
||||
\fBcurs_inch\fR(3X),
|
||||
\fBcurs_outopts\fR(3X),
|
||||
\fBcurs_refresh\fR(3X),
|
||||
\fBputc\fR(3S).
|
||||
\fBputc\fR(3).
|
||||
.PP
|
||||
Comparable functions in the wide-character (ncursesw) library are
|
||||
described in
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: curs_attr.3x,v 1.30 2006/07/15 18:39:05 tom Exp $
|
||||
.\" $Id: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp $
|
||||
.TH curs_attr 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -253,6 +253,9 @@ This implementation returns an error
|
||||
if the window pointer is null.
|
||||
The \fBwcolor_set\fP function returns an error if the color pair parameter
|
||||
is outside the range 0..COLOR_PAIRS-1.
|
||||
This implementation also provides
|
||||
\fBgetattrs\fR
|
||||
for compatibility with older versions of curses.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_addch\fR(3X),
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_border.3x,v 1.18 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_border.3x,v 1.19 2007/02/24 16:15:38 tom Exp $
|
||||
.TH curs_border 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -64,9 +64,9 @@
|
||||
.br
|
||||
\fBint wvline(WINDOW *win, chtype ch, int n);\fR
|
||||
.br
|
||||
\fBmvhline(int y, int x, chtype ch, int n);\fR
|
||||
\fBint mvhline(int y, int x, chtype ch, int n);\fR
|
||||
.br
|
||||
\fBmvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
|
||||
\fBint mvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR
|
||||
.br
|
||||
\fBint mvvline(int y, int x, chtype ch, int n);\fR
|
||||
.br
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_deleteln.3x,v 1.10 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_deleteln 3X ""
|
||||
.SH NAME
|
||||
\fBdeleteln\fR,
|
||||
@ -79,7 +79,7 @@ error conditions.
|
||||
Note that all but \fBwinsdelln\fR may be macros.
|
||||
.PP
|
||||
These routines do not require a hardware line delete or insert feature in the
|
||||
terminal. In fact, they won't use hardware line delete/insert unless
|
||||
terminal. In fact, they will not use hardware line delete/insert unless
|
||||
\fBidlok(..., TRUE)\fR has been set on the current window.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X)
|
||||
|
@ -28,7 +28,7 @@
|
||||
.\"
|
||||
.\" Author: Thomas E. Dickey 1999-on
|
||||
.\"
|
||||
.\" $Id: curs_extend.3x,v 1.15 2006/02/25 21:04:43 tom Exp $
|
||||
.\" $Id: curs_extend.3x,v 1.17 2006/12/24 18:01:48 tom Exp $
|
||||
.TH curs_extend 3X ""
|
||||
.SH NAME
|
||||
\fBcurses_version\fP,
|
||||
@ -56,7 +56,7 @@ is able to use user-defined or nonstandard names
|
||||
which may be compiled into the terminfo
|
||||
description, i.e., via the terminfo or termcap interfaces.
|
||||
Normally these names are available for use, since the essential decision
|
||||
is made by using the \fB-x\fP option of \fItic\fP to compile
|
||||
is made by using the \fB-x\fP option of \fB@TIC@\fP to compile
|
||||
extended terminal definitions.
|
||||
However you can disable this feature
|
||||
to ensure compatibility with other implementations of curses.
|
||||
@ -68,11 +68,11 @@ any code depending on them be conditioned using NCURSES_VERSION.
|
||||
\fBcurs_getch\fR(3X),
|
||||
\fBcurs_mouse\fR(3X),
|
||||
\fBcurs_print\fR(3X),
|
||||
\fBcurs_util\fR(3X),
|
||||
\fBdefault_colors\fR(3X),
|
||||
\fBdefine_key\fR(3X),
|
||||
\fBkeybound\fR(3X),
|
||||
\fBkeyok\fR(3X),
|
||||
\fBnofilter\fR(3X),
|
||||
\fBresizeterm\fR(3X),
|
||||
\fBwresize\fR(3X).
|
||||
.SH AUTHOR
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_getcchar.3x,v 1.8 2006/07/15 22:51:07 wcmbrine Exp $
|
||||
.\" $Id: curs_getcchar.3x,v 1.10 2006/12/24 16:00:02 tom Exp $
|
||||
.TH curs_getcchar 3X ""
|
||||
.SH NAME
|
||||
\fBgetcchar\fP,
|
||||
@ -132,10 +132,10 @@ Otherwise, it returns \fBERR\fP.
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
Functions:
|
||||
\fBcurs_attr\fR(3X),
|
||||
\fBcurs_color\fR(3X),
|
||||
\fBcurses\fR(3X),
|
||||
\fBwcwidth\fR(3X),
|
||||
\fBcurs_attr_get\fR(3X),
|
||||
\fBcan_change_color\fR(3X).
|
||||
\fBwcwidth\fR(3).
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_getyx.3x,v 1.13 2006/05/27 20:28:05 tom Exp $
|
||||
.\" $Id: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp $
|
||||
.TH curs_getyx 3X ""
|
||||
.SH NAME
|
||||
\fBgetyx\fR,
|
||||
@ -69,7 +69,7 @@ The
|
||||
\fBgetmaxyx\fR
|
||||
macros are described in the XSI Curses standard, Issue 4.
|
||||
.PP
|
||||
This implementation also provides
|
||||
This implementation also provides functions
|
||||
\fBgetbegx\fR,
|
||||
\fBgetbegy\fR,
|
||||
\fBgetcurx\fR,
|
||||
@ -79,10 +79,25 @@ This implementation also provides
|
||||
\fBgetparx\fR and
|
||||
\fBgetpary\fR
|
||||
for compatibility with older versions of curses.
|
||||
X/Open does not define a corresponding \fBgetcuryx\fP function,
|
||||
though that would be needed to make references to the WINDOW structure opaque.
|
||||
.PP
|
||||
Although X/Open Curses does not address this,
|
||||
many implementations provide members of the WINDOW structure
|
||||
containing values corresponding to these macros.
|
||||
For best portability, do not rely on using the data in WINDOW,
|
||||
since some implementations make WINDOW opaque (do not allow
|
||||
direct use of its members).
|
||||
.PP
|
||||
Besides the problem of opaque structures,
|
||||
the data stored in like-named members may not have like-values in
|
||||
different implementations.
|
||||
For example, the WINDOW._maxx and WINDOW._maxy values in ncurses
|
||||
have (at least since release 1.8.1) differed by one from some
|
||||
other implementations.
|
||||
The difference is hidden by means of the macro \fBgetmaxyx\fP.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X)
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_legacy\fR(3X),
|
||||
\fBcurs_opaque\fR(3X)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_insstr.3x,v 1.17 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_insstr.3x,v 1.18 2006/12/24 14:59:30 tom Exp $
|
||||
.TH curs_insstr 3X ""
|
||||
.SH NAME
|
||||
\fBinsstr\fR,
|
||||
@ -90,7 +90,7 @@ This is probably an error, since it makes this group of functions inconsistent.
|
||||
Also, no implementation of curses documents this inconsistency.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X),
|
||||
\fBunctrl\fR(3X),
|
||||
\fBcurs_util\fR(3X),
|
||||
\fBcurs_clear\fR(3X),
|
||||
\fBcurs_inch\fR(3X).
|
||||
.\"#
|
||||
|
93
contrib/ncurses/man/curs_legacy.3x
Normal file
93
contrib/ncurses/man/curs_legacy.3x
Normal file
@ -0,0 +1,93 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 2007 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_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp $
|
||||
.TH curs_legacy 3X ""
|
||||
.SH NAME
|
||||
\fBgetbegx\fR,
|
||||
\fBgetbegy\fR,
|
||||
\fBgetcurx\fR,
|
||||
\fBgetcury\fR,
|
||||
\fBgetmaxx\fR,
|
||||
\fBgetmaxy\fR,
|
||||
\fBgetparx\fR,
|
||||
\fBgetpary\fR - get \fBcurses\fR cursor and window coordinates
|
||||
.SH SYNOPSIS
|
||||
\fB#include <curses.h>\fR
|
||||
.sp
|
||||
\fBint getbegx(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getbegy(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getcurx(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getcury(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getmaxx(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getmaxy(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getparx(WINDOW *win);\fR
|
||||
.br
|
||||
\fBint getpary(WINDOW *win);\fR
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The \fBgetbegy\fR and \fBgetbegx\fR functions return the same
|
||||
data as \fBgetbegyx\fR.
|
||||
.PP
|
||||
The \fBgetcury\fR and \fBgetcurx\fR functions return the same
|
||||
data as \fBgetyx\fR.
|
||||
.PP
|
||||
The \fBgetmaxy\fR and \fBgetmaxx\fR functions return the same
|
||||
data as \fBgetmaxyx\fR.
|
||||
.PP
|
||||
The \fBgetpary\fR and \fBgetparx\fR functions return the same
|
||||
data as \fBgetparyx\fR.
|
||||
.SH RETURN VALUE
|
||||
These functions return an integer,
|
||||
or ERR if the window parameter is null.
|
||||
.SH NOTES
|
||||
All of these interfaces are provided as macros and functions.
|
||||
The macros are suppressed (and only the functions provided)
|
||||
when \fBNCURSES_OPAQUE\fR is defined.
|
||||
The standard forms such as \fBgetyx\fP must be implemented as macros,
|
||||
and (in this implementation) are defined in terms of the functions
|
||||
described here,
|
||||
to avoid reliance on internal details of the WINDOW structure.
|
||||
.SH PORTABILITY
|
||||
These functions were supported on Version 7, BSD or System V implementations.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_getyx\fR(3X),
|
||||
\fBcurs_opaque\fR(3X)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
.\"# mode:nroff
|
||||
.\"# fill-column:79
|
||||
.\"# End:
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2005,2006 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: curs_mouse.3x,v 1.28 2005/05/15 16:18:19 tom Exp $
|
||||
.\" $Id: curs_mouse.3x,v 1.30 2006/12/30 23:43:34 tom Exp $
|
||||
.TH curs_mouse 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -158,22 +158,23 @@ if it is and FALSE otherwise.
|
||||
It is useful for determining what subset of
|
||||
the screen windows enclose the location of a mouse event.
|
||||
.PP
|
||||
The \fBwmouse_trafo\fR function transforms a given pair of coordinates from
|
||||
stdscr-relative coordinates to screen-relative coordinates or vice versa.
|
||||
The \fBwmouse_trafo\fR function transforms a given pair of coordinates
|
||||
from stdscr-relative coordinates
|
||||
to coordinates relative to the given window or vice versa.
|
||||
Please remember, that stdscr-relative coordinates are not always identical
|
||||
to screen-relative coordinates due to the mechanism to reserve lines on top
|
||||
or bottom of the screen for other purposes (ripoff() call, see also slk_...
|
||||
functions).
|
||||
to window-relative coordinates due to the mechanism to reserve lines on top
|
||||
or bottom of the screen for other purposes
|
||||
(see the \fBripoffline()\fP and \fBslk_init\fR calls, for example).
|
||||
If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers
|
||||
\fBpY, pX\fR must reference the coordinates of a location inside the window
|
||||
\fBwin\fR.
|
||||
They are converted to screen-relative coordinates and returned
|
||||
\fBpY, pX\fR must reference the coordinates of a location
|
||||
inside the window \fBwin\fR.
|
||||
They are converted to window-relative coordinates and returned
|
||||
through the pointers.
|
||||
If the conversion was successful, the function returns \fBTRUE\fR.
|
||||
If one of the parameters was NULL or the location is
|
||||
not inside the window, \fBFALSE\fR is returned.
|
||||
If \fBto_screen\fR is
|
||||
\fBFALSE\fR, the pointers \fBpY, pX\fR must reference screen-relative
|
||||
\fBFALSE\fR, the pointers \fBpY, pX\fR must reference window-relative
|
||||
coordinates.
|
||||
They are converted to stdscr-relative coordinates if the
|
||||
window \fBwin\fR encloses this point.
|
||||
@ -184,6 +185,10 @@ Please notice, that the referenced coordinates
|
||||
are only replaced by the converted coordinates if the transformation was
|
||||
successful.
|
||||
.PP
|
||||
The \fBmouse_trafo\fR function performs the same translation
|
||||
as \fBwmouse_trafo\fR,
|
||||
using stdscr for \fBwin\fR.
|
||||
.PP
|
||||
The \fBmouseinterval\fR function sets the maximum time (in thousands of a
|
||||
second) that can elapse between press and release events for them to
|
||||
be recognized as a click.
|
||||
@ -259,7 +264,7 @@ OS/2 EMX
|
||||
.RE
|
||||
If you are using an unsupported configuration,
|
||||
mouse events will not be visible to
|
||||
\fBncurses\fR(3X) (and the \fBwmousemask\fR function will always
|
||||
\fBncurses\fR(3X) (and the \fBmousemask\fR function will always
|
||||
return \fB0\fR).
|
||||
.PP
|
||||
If the terminfo entry contains a \fBXM\fR string,
|
||||
@ -276,14 +281,17 @@ for use with touch screens (which may be pressure-sensitive) or with
|
||||
3D-mice/trackballs/power gloves.
|
||||
.SH BUGS
|
||||
Mouse events under xterm will not in fact be ignored during cooked mode,
|
||||
if they have been enabled by \fBwmousemask\fR.
|
||||
if they have been enabled by \fBmousemask\fR.
|
||||
Instead, the xterm mouse
|
||||
report sequence will appear in the string read.
|
||||
.PP
|
||||
Mouse events under xterm will not be detected correctly in a window with
|
||||
its keypad bit off, since they are interpreted as a variety of function key.
|
||||
Your terminfo description must have \fBkmous\fR set to "\\E[M" (the beginning
|
||||
of the response from xterm for mouse clicks).
|
||||
Your terminfo description should have \fBkmous\fR set to "\\E[M"
|
||||
(the beginning of the response from xterm for mouse clicks).
|
||||
Other values for \fBkmous\fR are permitted,
|
||||
but under the same assumption,
|
||||
i.e., it is the beginning of the response.
|
||||
.PP
|
||||
Because there are no standard terminal responses that would serve to identify
|
||||
terminals which support the xterm mouse protocol, \fBncurses\fR assumes that
|
||||
@ -291,7 +299,9 @@ if your $TERM environment variable contains "xterm",
|
||||
or \fBkmous\fR is defined in
|
||||
the terminal description, then the terminal may send mouse events.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X).
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_kernel\fR(3X),
|
||||
\fBcurs_slk\fR(3X).
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
133
contrib/ncurses/man/curs_opaque.3x
Normal file
133
contrib/ncurses/man/curs_opaque.3x
Normal file
@ -0,0 +1,133 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 2007 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_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp $
|
||||
.TH curs_opaque 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
.SH NAME
|
||||
\fBis_cleared\fR,
|
||||
\fBis_idlok\fR,
|
||||
\fBis_idcok\fR,
|
||||
\fBis_immedok\fR,
|
||||
\fBis_keypad\fR,
|
||||
\fBis_leaveok\fR,
|
||||
\fBis_nodelay\fR,
|
||||
\fBis_timeout\fR,
|
||||
\fBis_scrollok\fR,
|
||||
\fBis_syncok\fR - \fBcurses\fR window properties
|
||||
.ad
|
||||
.hy
|
||||
.SH SYNOPSIS
|
||||
\fB#include <curses.h>\fR
|
||||
.sp
|
||||
\fBbool is_cleared(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_idcok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_idlok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_immedok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_keypad(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_leaveok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_nodelay(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_notimeout(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_scrollok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBbool is_syncok(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBWINDOW * wgetparent(const WINDOW *win);\fR
|
||||
.br
|
||||
\fBint wgetscrreg(const WINDOW *win, int *top, int *bottom);\fR
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
This implementation provides functions which return properties
|
||||
set in the WINDOW structure, allowing it to be ``opaque'' if
|
||||
the symbol \fBNCURSES_OPAQUE\fR is defined:
|
||||
.TP 5
|
||||
\fBis_cleared\fR
|
||||
returns the value set in \fBclearok\fR
|
||||
.TP 5
|
||||
\fBis_idcok\fR
|
||||
returns the value set in \fBidcok\fR
|
||||
.TP 5
|
||||
\fBis_idlok\fR
|
||||
returns the value set in \fBidlok\fR
|
||||
.TP 5
|
||||
\fBis_immedok\fR
|
||||
returns the value set in \fBimmedok\fR
|
||||
.TP 5
|
||||
\fBis_keypad\fR
|
||||
returns the value set in \fBkeypad\fR
|
||||
.TP 5
|
||||
\fBis_leaveok\fR
|
||||
returns the value set in \fBleaveok\fR
|
||||
.TP 5
|
||||
\fBis_nodelay\fR
|
||||
returns the value set in \fBnodelay\fR
|
||||
.TP 5
|
||||
\fBis_notimeout\fR
|
||||
returns the value set in \fBnotimeout\fR
|
||||
.TP 5
|
||||
\fBis_scrollok\fR
|
||||
returns the value set in \fBscrollok\fR
|
||||
.TP 5
|
||||
\fBis_syncok\fR
|
||||
returns the value set in \fBsyncok\fR
|
||||
.TP 5
|
||||
\fBwgetparent\fR
|
||||
returns the parent WINDOW pointer for subwindows,
|
||||
or NULL for windows having no parent.
|
||||
.TP 5
|
||||
\fBwgetscrreg\fR
|
||||
returns the top and bottom rows for the scrolling margin as set in \fBwsetscrreg\fP.
|
||||
.SH RETURN VALUE
|
||||
These functions all return TRUE or FALSE, except as noted.
|
||||
.SH NOTES
|
||||
Both a macro and a function are provided for each name.
|
||||
.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 ncurses extensions
|
||||
be conditioned using NCURSES_VERSION.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_inopts\fR(3X),
|
||||
\fBcurs_outopts\fR(3X),
|
||||
\fBcurs_window\fR(3X)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
.\"# mode:nroff
|
||||
.\"# fill-column:79
|
||||
.\"# End:
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2005,2007 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_outopts.3x,v 1.20 2005/05/15 16:18:32 tom Exp $
|
||||
.\" $Id: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_outopts 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -91,7 +91,7 @@ This option should be enabled only if the
|
||||
application needs insert/delete line, for example, for a screen editor.
|
||||
It is
|
||||
disabled by default because insert/delete line tends to be visually annoying
|
||||
when used in applications where it isn't really needed.
|
||||
when used in applications where it is not really needed.
|
||||
If insert/delete line
|
||||
cannot be used, \fBcurses\fR redraws the changed portions of all lines.
|
||||
.PP
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_printw.3x,v 1.16 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_printw.3x,v 1.17 2006/12/24 16:05:17 tom Exp $
|
||||
.TH curs_printw 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -55,12 +55,12 @@
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
|
||||
routines are analogous to \fBprintf\fR [see \fBprintf\fR(3S)]. In
|
||||
routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)]. In
|
||||
effect, the string that would be output by \fBprintf\fR is output
|
||||
instead as though \fBwaddstr\fR were used on the given window.
|
||||
.PP
|
||||
The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous
|
||||
to \fBvprintf\fR [see \fBprintf\fR(3S)]
|
||||
to \fBvprintf\fR [see \fBprintf\fR(3)]
|
||||
and perform a \fBwprintw\fR using a variable argument list.
|
||||
The third argument is a \fBva_list\fR, a pointer to a
|
||||
list of arguments, as defined in \fB<stdarg.h>\fR.
|
||||
@ -85,7 +85,7 @@ cannot be used in the same file as \fB<stdarg.h>\fR.
|
||||
This implementation uses \fB<stdarg.h>\fR for both, because that header
|
||||
is included in \fB<curses.h\fR>.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X), \fBprintf\fR(3S), \fBvprintf(3S)\fR
|
||||
\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf(3)\fR
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_scanw.3x,v 1.13 2006/02/25 21:42:22 tom Exp $
|
||||
.\" $Id: curs_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp $
|
||||
.TH curs_scanw 3X ""
|
||||
.SH NAME
|
||||
\fBscanw\fR,
|
||||
@ -50,7 +50,7 @@
|
||||
\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR
|
||||
.SH DESCRIPTION
|
||||
The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to
|
||||
\fBscanf\fR [see \fBscanf\fR(3S)]. The effect of these routines is as though
|
||||
\fBscanf\fR [see \fBscanf\fR(3)]. The effect of these routines is as though
|
||||
\fBwgetstr\fR were called on the window, and the resulting line used as input
|
||||
for \fBsscanf\fR(3). Fields which do not map to a variable in the \fIfmt\fR
|
||||
field are lost.
|
||||
@ -88,7 +88,7 @@ since the OK value (zero) is likely to be misleading.
|
||||
One possible way to get useful results would be to use a "%n" conversion
|
||||
at the end of the format string to ensure that something was processed.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S)
|
||||
\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: curs_scr_dump.3x,v 1.6 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_scr_dump.3x,v 1.7 2006/12/24 16:05:49 tom Exp $
|
||||
.TH curs_scr_dump 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -93,7 +93,7 @@ considered invalid "if the time-stamp of the tty is old" but do not define
|
||||
"old".
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X),
|
||||
\fBcurs_util\fR(3X), \fBsystem\fR(3S)
|
||||
\fBcurs_util\fR(3X), \fBsystem\fR(3)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_slk.3x,v 1.15 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_slk 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -95,7 +95,7 @@ labels of up to eight characters each. In addition to this, the ncurses
|
||||
implementation supports a mode where it simulates 12 labels of up to five
|
||||
characters each. This is most common for todays PC like enduser devices.
|
||||
Please note that ncurses simulates this mode by taking over up to two lines at
|
||||
the bottom of the screen, it doesn't try to use any hardware support for this
|
||||
the bottom of the screen, it does not try to use any hardware support for this
|
||||
mode.
|
||||
.PP
|
||||
The \fBslk_init\fR routine must be called before \fBinitscr\fR or \fBnewterm\fR
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2003,2007 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.9 2003/12/27 18:37:47 tom Exp $
|
||||
.\" $Id: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_termattrs 3X ""
|
||||
.SH NAME
|
||||
\fBbaudrate\fR,
|
||||
@ -101,7 +101,7 @@ overwritten by each call to \fBnewterm\fR and is not restored by
|
||||
\fBnewterm\fR if \fBlongname\fR is going to be used with multiple
|
||||
terminals.
|
||||
.PP
|
||||
If a given terminal doesn't support a video attribute that an
|
||||
If a given terminal does not support a video attribute that an
|
||||
application program is trying to use, \fBcurses\fR may substitute a
|
||||
different video attribute for it.
|
||||
The \fBtermattrs\fR and \fBterm_attrs\fR functions
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_termcap.3x,v 1.20 2006/02/25 21:50:01 tom Exp $
|
||||
.\" $Id: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp $
|
||||
.TH curs_termcap 3X ""
|
||||
.ds n 5
|
||||
.SH NAME
|
||||
@ -122,7 +122,7 @@ Routines that return pointers return \fBNULL\fR on error.
|
||||
.SH BUGS
|
||||
If you call \fBtgetstr\fR to fetch \fBca\fR or any other parameterized string,
|
||||
be aware that it will be returned in terminfo notation, not the older and
|
||||
not-quite-compatible termcap notation. This won't cause problems if all
|
||||
not-quite-compatible termcap notation. This will not cause problems if all
|
||||
you do with it is call \fBtgoto\fR or \fBtparm\fR, which both expand
|
||||
terminfo-style strings as terminfo.
|
||||
(The \fBtgoto\fR function, if configured to support termcap, will check
|
||||
@ -158,7 +158,7 @@ e.g., not distinguishing between input and output.
|
||||
In particular, some applications are reported to declare and/or
|
||||
modify \fBospeed\fR.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3S).
|
||||
\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3).
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1999-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1999-2006,2007 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_terminfo.3x,v 1.24 2006/11/04 21:50:03 tom Exp $
|
||||
.\" $Id: curs_terminfo.3x,v 1.28 2007/05/26 20:09:06 tom Exp $
|
||||
.TH curs_terminfo 3X ""
|
||||
.ds n 5
|
||||
.na
|
||||
@ -64,7 +64,7 @@
|
||||
.br
|
||||
\fBint del_curterm(TERMINAL *\fR\fIoterm\fR\fB);\fR
|
||||
.br
|
||||
\fBint restartterm(const char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
|
||||
\fBint restartterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR
|
||||
.br
|
||||
\fBchar *tparm(char *\fR\fIstr\fR\fB, ...);\fR
|
||||
.br
|
||||
@ -99,16 +99,22 @@ recommended.
|
||||
Initially, \fBsetupterm\fR should be called. Note that
|
||||
\fBsetupterm\fR is automatically called by \fBinitscr\fR and
|
||||
\fBnewterm\fR. This defines the set of terminal-dependent variables
|
||||
[listed in \fBterminfo\fR(\*n)]. The \fBterminfo\fR variables
|
||||
[listed in \fBterminfo\fR(\*n)].
|
||||
The \fBterminfo\fR variables
|
||||
\fBlines\fR and \fBcolumns\fR are initialized by \fBsetupterm\fR as
|
||||
follows: If \fBuse_env(FALSE)\fR has been called, values for
|
||||
follows:
|
||||
.RS
|
||||
.PP
|
||||
If \fBuse_env(FALSE)\fR has been called, values for
|
||||
\fBlines\fR and \fBcolumns\fR specified in \fBterminfo\fR are used.
|
||||
.PP
|
||||
Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR
|
||||
exist, their values are used. If these environment variables do not
|
||||
exist and the program is running in a window, the current window size
|
||||
is used. Otherwise, if the environment variables do not exist, the
|
||||
values for \fBlines\fR and \fBcolumns\fR specified in the
|
||||
\fBterminfo\fR database are used.
|
||||
.RE
|
||||
.PP
|
||||
The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this
|
||||
order) to get the definitions for these strings, numbers, and flags.
|
||||
@ -183,7 +189,8 @@ except that it is called after restoring memory to a previous state (for
|
||||
example, when reloading a game saved as a core image dump). It assumes that
|
||||
the windows and the input and output options are the same as when memory was
|
||||
saved, but the terminal type and baud rate may be different. Accordingly,
|
||||
it saves various tty state bits, does a setupterm, and then restores the bits.
|
||||
it saves various tty state bits, calls \fBsetupterm\fP,
|
||||
and then restores the bits.
|
||||
.PP
|
||||
The \fBtparm\fR routine instantiates the string \fIstr\fR with
|
||||
parameters \fIpi\fR. A pointer is returned to the result of \fIstr\fR
|
||||
@ -288,6 +295,9 @@ The function \fBsetterm\fR is not described in the XSI Curses standard and must
|
||||
be considered non-portable. All other functions are as described in the XSI
|
||||
curses standard.
|
||||
.PP
|
||||
\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP.
|
||||
This is not part of X/Open Curses, but is assumed by some applications.
|
||||
.PP
|
||||
In System V Release 4, \fBset_curterm\fR has an \fBint\fR return type and
|
||||
returns \fBOK\fR or \fBERR\fR. We have chosen to implement the XSI Curses
|
||||
semantics.
|
||||
@ -309,7 +319,7 @@ the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR.
|
||||
So though it is documented as a terminfo function,
|
||||
\fBmvcur\fR is really a curses function which is not well specified.
|
||||
.PP
|
||||
XSI states that the old location must be given.
|
||||
XSI states that the old location must be given for \fBmvcur\fP.
|
||||
This implementation allows the caller to use -1's for the old ordinates.
|
||||
In that case, the old location is unknown.
|
||||
.PP
|
||||
@ -317,7 +327,7 @@ Extended terminal capability names, e.g., as defined by \fBtic\ -x\fP,
|
||||
are not stored in the arrays described in this section.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_termcap\fR(3X),
|
||||
\fBputc\fR(3S), \fBterminfo\fR(\*n)
|
||||
\fBputc\fR(3), \fBterminfo\fR(\*n)
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 2000-2002,2005 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 2000-2005,2007 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_trace.3x,v 1.7 2005/05/15 17:02:54 tom Exp $
|
||||
.\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $
|
||||
.TH curs_trace 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -56,7 +56,7 @@
|
||||
.br
|
||||
\fBchar *_nc_tracebits(void);\fR
|
||||
.br
|
||||
\fBchar *_tracechar(const unsigned char ch);\fR
|
||||
\fBchar *_tracechar(int);\fR
|
||||
.br
|
||||
\fBchar *_tracechtype(chtype ch);\fR
|
||||
.br
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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_util.3x,v 1.21 2006/08/26 14:17:48 tom Exp $
|
||||
.\" $Id: curs_util.3x,v 1.25 2007/05/26 21:44:42 tom Exp $
|
||||
.TH curs_util 3X ""
|
||||
.na
|
||||
.hy 0
|
||||
@ -49,7 +49,7 @@
|
||||
.sp
|
||||
\fBchar *unctrl(chtype c);\fR
|
||||
.br
|
||||
\fBchar *wunctrl(cchar_t *c);\fR
|
||||
\fBwchar_t *wunctrl(cchar_t *c);\fR
|
||||
.br
|
||||
\fBchar *keyname(int c);\fR
|
||||
.br
|
||||
@ -146,6 +146,29 @@ returns an error if the associated \fBfwrite\fP calls return an error.
|
||||
The XSI Curses standard, Issue 4 describes these functions.
|
||||
It states that \fBunctrl\fR and \fBwunctrl\fR will return a null pointer if
|
||||
unsuccessful, but does not define any error conditions.
|
||||
This implementation checks for three cases:
|
||||
.RS
|
||||
.TP 5
|
||||
-
|
||||
the parameter is a 7-bit US-ASCII code.
|
||||
This is the case that X/Open Curses documented.
|
||||
.TP 5
|
||||
-
|
||||
the parameter is in the range 128-159, i.e., a C1 control code.
|
||||
If \fBuse_legacy_coding\fP has been called with a \fB2\fP parameter,
|
||||
\fBunctrl\fP returns the parameter, i.e., a one-character string with
|
||||
the parameter as the first character.
|
||||
Otherwise, it returns ``~@'', ``~A'', etc., analogous to ``^@'', ``^A'', C0 controls.
|
||||
.IP
|
||||
X/Open Curses does not document whether \fBunctrl\fP can be called before
|
||||
initializing curses.
|
||||
This implementation permits that,
|
||||
and returns the ``~@'', etc., values in that case.
|
||||
.TP 5
|
||||
-
|
||||
parameter values outside the 0 to 255 range.
|
||||
\fBunctrl\fP returns a null pointer.
|
||||
.RE
|
||||
.PP
|
||||
The SVr4 documentation describes the action of \fBfilter\fR only in the vaguest
|
||||
terms. The description here is adapted from the XSI Curses standard (which
|
||||
@ -157,13 +180,24 @@ showing C1 controls from the upper-128 codes with a `~' prefix rather than `^'.
|
||||
Other implementations have different conventions.
|
||||
For example, they may show both sets of control characters with `^',
|
||||
and strip the parameter to 7 bits.
|
||||
Or they may ignore C1 controls and treat all of the upper-1280 codes as
|
||||
Or they may ignore C1 controls and treat all of the upper-128 codes as
|
||||
printable.
|
||||
This implementation uses 8 bits but does not modify the string to reflect
|
||||
locale.
|
||||
The \fBuse_legacy_coding\fP function allows the caller to
|
||||
change the output of \fBunctrl\fP.
|
||||
.PP
|
||||
Likewise, the \fBmeta\fP function allows the caller to change the
|
||||
output of \fBkeyname\fP, i.e.,
|
||||
it determines whether to use the `M-' prefix
|
||||
for ``meta'' keys (codes in the range 128 to 255).
|
||||
Both \fBuse_legacy_coding\fP and \fBmeta\fP succeed only after
|
||||
curses is initialized.
|
||||
X/Open Curses does not document the treatment of codes 128 to 159.
|
||||
When treating them as ``meta'' keys
|
||||
(or if \fBkeyname\fP is called before initializing curses),
|
||||
this implementation returns strings ``M-^@'', ``M-^A'', etc.
|
||||
.PP
|
||||
The \fBkeyname\fP function may return the names of user-defined
|
||||
string capabilities which are defined in the terminfo entry via the \fB-x\fP
|
||||
option of \fBtic\fP.
|
||||
@ -178,11 +212,12 @@ It was not supported on Version 7, BSD or System V implementations.
|
||||
It is recommended that any code depending on ncurses extensions
|
||||
be conditioned using NCURSES_VERSION.
|
||||
.SH SEE ALSO
|
||||
\fBuse_legacy_coding\fR(3),
|
||||
\fBlegacy_coding\fR(3X),
|
||||
\fBcurses\fR(3X),
|
||||
\fBcurs_initscr\fR(3X),
|
||||
\fBcurs_kernel\fR(3X),
|
||||
\fBcurs_scr_dump\fR(3X).
|
||||
\fBcurs_scr_dump\fR(3X),
|
||||
\fBlegacy_coding\fR(3X).
|
||||
.\"#
|
||||
.\"# The following sets edit modes for GNU EMACS
|
||||
.\"# Local Variables:
|
||||
|
@ -28,7 +28,7 @@
|
||||
.\"
|
||||
.\" Author: Thomas E. Dickey 1997,1999,2000,2005
|
||||
.\"
|
||||
.\" $Id: default_colors.3x,v 1.19 2006/02/25 21:49:19 tom Exp $
|
||||
.\" $Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp $
|
||||
.TH default_colors 3X ""
|
||||
.SH NAME
|
||||
\fBuse_default_colors\fR,
|
||||
@ -104,9 +104,8 @@ 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.
|
||||
Associated with this extension, the \fBinit_pair\fR function accepts
|
||||
negative arguments to specify default foreground or background colors.
|
||||
.PP
|
||||
The \fIuse_default_colors()\fP function was added to support \fIded\fP.
|
||||
This is a full-screen application which uses curses to manage only part
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: form_driver.3x,v 1.12 2006/11/04 18:51:00 tom Exp $
|
||||
.\" $Id: form_driver.3x,v 1.15 2007/06/02 22:56:49 tom Exp $
|
||||
.TH form_driver 3X ""
|
||||
.SH NAME
|
||||
\fBform_driver\fR - command-processing loop of the form system
|
||||
@ -38,7 +38,7 @@ int form_driver(FORM *form, int c);
|
||||
.SH DESCRIPTION
|
||||
Once a form has been posted (displayed), you should funnel input events to it
|
||||
through \fBform_driver\fR. This routine has two major input cases; either
|
||||
the input is a form navigation request or it's a printable ASCII character.
|
||||
the input is a form navigation request or it is a printable ASCII character.
|
||||
The form driver requests are as follows:
|
||||
.TP 5
|
||||
REQ_NEXT_PAGE
|
||||
@ -221,6 +221,57 @@ Display previous field choice.
|
||||
If the second argument is a printable ASCII character, the driver places it
|
||||
in the current position in the current field. If it is one of the forms
|
||||
requests listed above, that request is executed.
|
||||
.SS MOUSE HANDLING
|
||||
.PP
|
||||
If the second argument is the KEY_MOUSE special key, the associated
|
||||
mouse event is translated into one of the above pre-defined requests.
|
||||
Currently only clicks in the user window (e.g. inside the form display
|
||||
area or the decoration window) are handled.
|
||||
.PP
|
||||
If you click above the display region of the form:
|
||||
.RS
|
||||
.TP
|
||||
a REQ_PREV_FIELD is generated for a single click,
|
||||
.TP
|
||||
a REQ_PREV_PAGE is generated for a double-click and
|
||||
.TP
|
||||
a REQ_FIRST_FIELD is generated for a triple-click.
|
||||
.RE
|
||||
.PP
|
||||
If you click below the display region of the form:
|
||||
.RS
|
||||
.TP
|
||||
a REQ_NEXT_FIELD is generated for a single click,
|
||||
.TP
|
||||
a REQ_NEXT_PAGE is generated for a double-click and
|
||||
.TP
|
||||
a REQ_LAST_FIELD is generated for a triple-click.
|
||||
.RE
|
||||
.PP
|
||||
If you click at an field inside the display area of the form:
|
||||
.RS
|
||||
.TP 3
|
||||
-
|
||||
the form cursor is positioned to that field.
|
||||
.TP 3
|
||||
-
|
||||
If you double-click a field,
|
||||
the form cursor is positioned to that field
|
||||
and \fBE_UNKNOWN_COMMAND\fR is returned.
|
||||
This return value makes sense,
|
||||
because a double click usually means that an field-specific action should
|
||||
be returned.
|
||||
It is exactly the purpose of this return value to signal that an
|
||||
application specific command should be executed.
|
||||
.TP 3
|
||||
-
|
||||
If a translation
|
||||
into a request was done, \fBform_driver\fR returns the result of this request.
|
||||
.RE
|
||||
.PP
|
||||
If you clicked outside the user window or the mouse event couldn't be translated
|
||||
into a form request an \fBE_REQUEST_DENIED\fR is returned.
|
||||
.SS APPLICATION-DEFINED COMMANDS
|
||||
.PP
|
||||
If the second argument is neither printable ASCII nor one of the above
|
||||
pre-defined form requests, the driver assumes it is an application-specific
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: form_field_new.3x,v 1.14 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: form_field_new.3x,v 1.16 2007/06/02 20:40:07 tom Exp $
|
||||
.TH form_field_new 3X ""
|
||||
.SH NAME
|
||||
\fBform_field_new\fR - create and destroy form fields
|
||||
@ -93,8 +93,8 @@ These routines emulate the System V forms library. They were not supported on
|
||||
Version 7 or BSD versions.
|
||||
.PP
|
||||
It may be unwise to count on the set of attributes copied by
|
||||
\fBdup_field\fR(3X) being portable; the System V forms library documents are
|
||||
not very explicit about what gets copied and what doesn't.
|
||||
\fBdup_field\fR being portable; the System V forms library documents are
|
||||
not very explicit about what gets copied and what does not.
|
||||
.SH AUTHORS
|
||||
Juergen Pfeifer. Manual pages and adaptation for new curses by Eric
|
||||
S. Raymond.
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,20 +27,20 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: form_field_opts.3x,v 1.12 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: form_field_opts.3x,v 1.13 2007/02/24 17:34:27 tom Exp $
|
||||
.TH form_field_opts 3X ""
|
||||
.SH NAME
|
||||
\fBform_field_opts\fR - set and get field options
|
||||
.SH SYNOPSIS
|
||||
\fB#include <form.h>\fR
|
||||
.br
|
||||
int set_field_opts(FIELD *field, OPTIONS opts);
|
||||
int set_field_opts(FIELD *field, Field_Options opts);
|
||||
.br
|
||||
int field_opts_on(FIELD *field, OPTIONS opts);
|
||||
int field_opts_on(FIELD *field, Field_Options opts);
|
||||
.br
|
||||
int field_opts_off(FIELD *field, OPTIONS opts);
|
||||
int field_opts_off(FIELD *field, Field_Options opts);
|
||||
.br
|
||||
OPTIONS field_opts(const FIELD *field);
|
||||
Field_Options field_opts(const FIELD *field);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The function \fBset_field_opts\fR sets all the given field's option bits (field
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: form_field_validation.3x,v 1.15 2006/11/04 17:14:19 tom Exp $
|
||||
.\" $Id: form_field_validation.3x,v 1.16 2006/12/24 16:08:08 tom Exp $
|
||||
.TH form_field_validation 3X ""
|
||||
.SH NAME
|
||||
\fBform_field_validation\fR - data type validation for fields
|
||||
@ -99,7 +99,7 @@ For details of the precision handling see \fBprintf's\fR man-page.
|
||||
TYPE_REGEXP
|
||||
Regular expression data. Requires a regular expression \fB(char *)\fR third argument;
|
||||
the data is valid if the regular expression matches it. Regular expressions
|
||||
are in the format of \fBregcomp\fR(3X) and \fBregexec\fR(3X). Please notice
|
||||
are in the format of \fBregcomp\fR and \fBregexec\fR. Please notice
|
||||
that the regular expression must match the whole field. If you have for
|
||||
example an eight character wide field, a regular expression "^[0-9]*$" always
|
||||
means that you have to fill all eight positions with digits. If you want to
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,28 +27,28 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: form_hook.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: form_hook.3x,v 1.9 2007/02/24 17:34:18 tom Exp $
|
||||
.TH form_hook 3X ""
|
||||
.SH NAME
|
||||
\fBform_hook\fR - set hooks for automatic invocation by applications
|
||||
.SH SYNOPSIS
|
||||
\fB#include <form.h>\fR
|
||||
.br
|
||||
int set_field_init(FORM *form, void (*func)(FORM *));
|
||||
int set_field_init(FORM *form, Form_Hook func);
|
||||
.br
|
||||
void (*)(FORM *) field_init(const FORM *form);
|
||||
Form_Hook field_init(const FORM *form);
|
||||
.br
|
||||
int set_field_term(FORM *form, void (*func)(FORM *));
|
||||
int set_field_term(FORM *form, Form_Hook func);
|
||||
.br
|
||||
void (*)(FORM *) field_term(const FORM *form);
|
||||
Form_Hook field_term(const FORM *form);
|
||||
.br
|
||||
int set_form_init(FORM *form, void (*func)(FORM *));
|
||||
int set_form_init(FORM *form, Form_Hook func);
|
||||
.br
|
||||
void (*)(FORM *) form_init(const FORM *form);
|
||||
Form_Hook form_init(const FORM *form);
|
||||
.br
|
||||
int set_form_term(FORM *form, void (*func)(FORM *));
|
||||
int set_form_term(FORM *form, Form_Hook func);
|
||||
.br
|
||||
void (*)(FORM *) form_term(const FORM *form);
|
||||
Form_Hook form_term(const FORM *form);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
These functions make it possible to set hook functions to be called at various
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,20 +27,20 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: form_opts.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: form_opts.3x,v 1.9 2007/02/24 17:34:36 tom Exp $
|
||||
.TH form_opts 3X ""
|
||||
.SH NAME
|
||||
\fBform_opts\fR - set and get form options
|
||||
.SH SYNOPSIS
|
||||
\fB#include <form.h>\fR
|
||||
.br
|
||||
int set_form_opts(FORM *form, OPTIONS opts);
|
||||
int set_form_opts(FORM *form, Field_Options opts);
|
||||
.br
|
||||
int form_opts_on(FORM *form, OPTIONS opts);
|
||||
int form_opts_on(FORM *form, Field_Options opts);
|
||||
.br
|
||||
int form_opts_off(FORM *form, OPTIONS opts);
|
||||
int form_opts_off(FORM *form, Field_Options opts);
|
||||
.br
|
||||
OPTIONS form_opts(const FORM *form);
|
||||
Field_Options form_opts(const FORM *form);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The function \fBset_form_opts\fR sets all the given form's option bits (form
|
||||
|
@ -27,14 +27,14 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: infocmp.1m,v 1.43 2006/05/13 15:14:01 tom Exp $
|
||||
.TH infocmp 1M ""
|
||||
.\" $Id: infocmp.1m,v 1.44 2006/12/24 18:16:31 tom Exp $
|
||||
.TH @INFOCMP@ 1M ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
\fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions
|
||||
\fB@INFOCMP@\fR - compare or print out \fIterminfo\fR descriptions
|
||||
.SH SYNOPSIS
|
||||
\fBinfocmp\fR [\fB-\
|
||||
\fB@INFOCMP@\fR [\fB-\
|
||||
1\
|
||||
C\
|
||||
E\
|
||||
@ -66,7 +66,7 @@ x\
|
||||
.br
|
||||
[\fItermname\fR...]
|
||||
.SH DESCRIPTION
|
||||
\fBinfocmp\fR can be used to compare a binary \fBterminfo\fR entry with other
|
||||
\fB@INFOCMP@\fR can be used to compare a binary \fBterminfo\fR entry with other
|
||||
terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the
|
||||
\fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the
|
||||
binary file (\fBterm\fR) in a variety of formats. In all cases, the boolean
|
||||
@ -77,7 +77,7 @@ If no options are specified and zero or one \fItermnames\fR are specified, the
|
||||
\fB-I\fR option will be assumed. If more than one \fItermname\fR is specified,
|
||||
the \fB-d\fR option will be assumed.
|
||||
.SS Comparison Options [-d] [-c] [-n]
|
||||
\fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal
|
||||
\fB@INFOCMP@\fR compares the \fBterminfo\fR description of the first terminal
|
||||
\fItermname\fR with each of the descriptions given by the entries for the other
|
||||
terminal's \fItermnames\fR. If a capability is defined for only one of the
|
||||
terminals, the value returned will depend on the type of the capability:
|
||||
@ -114,7 +114,7 @@ used for the terminal name.
|
||||
.PP
|
||||
The source produced by the \fB-C\fR option may be used directly as a
|
||||
\fBtermcap\fR entry, but not all parameterized strings can be changed to
|
||||
the \fBtermcap\fR format. \fBinfocmp\fR will attempt to convert most of the
|
||||
the \fBtermcap\fR format. \fB@INFOCMP@\fR will attempt to convert most of the
|
||||
parameterized information, and anything not converted will be plainly marked in
|
||||
the output and commented out. These should be edited by hand.
|
||||
.PP
|
||||
@ -162,7 +162,7 @@ analyzing the differences between the first \fItermname\fR and the other
|
||||
other terminals. In this manner, it is possible to retrofit generic terminfo
|
||||
entries into a terminal's description. Or, if two similar terminals exist, but
|
||||
were coded at different times or by different people so that each description
|
||||
is a full description, using \fBinfocmp\fR will show what can be done to change
|
||||
is a full description, using \fB@INFOCMP@\fR will show what can be done to change
|
||||
one description to be relative to the other.
|
||||
.PP
|
||||
A capability will get printed with an at-sign (@) if it no longer exists in the
|
||||
@ -176,18 +176,18 @@ The order of the other \fItermname\fR entries is significant. Since the
|
||||
terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities,
|
||||
specifying two \fBuse=\fR entries that contain differing entries for the same
|
||||
capabilities will produce different results depending on the order that the
|
||||
entries are given in. \fBinfocmp\fR will flag any such inconsistencies between
|
||||
entries are given in. \fB@INFOCMP@\fR will flag any such inconsistencies between
|
||||
the other \fItermname\fR entries as they are found.
|
||||
.PP
|
||||
Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that
|
||||
contains that capability will cause the second specification to be ignored.
|
||||
Using \fBinfocmp\fR to recreate a description can be a useful check to make
|
||||
Using \fB@INFOCMP@\fR to recreate a description can be a useful check to make
|
||||
sure that everything was specified correctly in the original source
|
||||
description.
|
||||
.PP
|
||||
Another error that does not cause incorrect compiled files, but will slow down
|
||||
the compilation time, is specifying extra \fBuse=\fR fields that are
|
||||
superfluous. \fBinfocmp\fR will flag any other \fItermname use=\fR fields that
|
||||
superfluous. \fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that
|
||||
were not needed.
|
||||
.SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR]
|
||||
The location of the compiled \fBterminfo\fR database is taken from the
|
||||
@ -208,7 +208,7 @@ the fields will be printed several to a line to a maximum width
|
||||
of 60 characters.
|
||||
.TP
|
||||
\fB-a\fR
|
||||
tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding
|
||||
tells \fB@INFOCMP@\fP to retain commented-out capabilities rather than discarding
|
||||
them. Capabilities are commented by prefixing them with a period.
|
||||
.TP 5
|
||||
\fB-E\fR
|
||||
@ -367,9 +367,9 @@ Normally when translating from terminfo to termcap,
|
||||
untranslatable capabilities are commented-out.
|
||||
.TP 5
|
||||
\fB-U\fR
|
||||
tells \fBinfocmp\fP to not post-process the data after parsing the source file.
|
||||
tells \fB@INFOCMP@\fP to not post-process the data after parsing the source file.
|
||||
This feature helps when comparing the actual contents of two source files,
|
||||
since it excludes the inferences that \fBinfocmp\fP makes to fill in missing
|
||||
since it excludes the inferences that \fB@INFOCMP@\fP makes to fill in missing
|
||||
data.
|
||||
.TP 5
|
||||
\fB-V\fR
|
||||
@ -413,7 +413,7 @@ The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's.
|
||||
Actual BSD curses versions will have a more restricted set. To see only the
|
||||
4.4BSD set, use \fB-r\fR \fB-RBSD\fR.
|
||||
.SH BUGS
|
||||
The \fB-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode.
|
||||
The \fB-F\fR option of \fB@INFOCMP@\fR(1M) should be a \fB@TOE@\fR(1M) mode.
|
||||
.SH SEE ALSO
|
||||
\fB@CAPTOINFO@\fR(1M),
|
||||
\fB@INFOTOCAP@\fR(1M),
|
||||
|
@ -27,16 +27,16 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: infotocap.1m,v 1.6 2006/05/13 15:35:45 tom Exp $
|
||||
.TH infotocap 1M ""
|
||||
.\" $Id: infotocap.1m,v 1.8 2006/12/24 20:13:56 tom Exp $
|
||||
.TH @INFOTOCAP@ 1M ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
\fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
|
||||
\fB@INFOTOCAP@\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description
|
||||
.SH SYNOPSIS
|
||||
\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
|
||||
\fB@INFOTOCAP@\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
|
||||
.SH DESCRIPTION
|
||||
\fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each
|
||||
\fB@INFOTOCAP@\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each
|
||||
one found, an equivalent \fBtermcap\fR description is written to standard
|
||||
output. Terminfo \fBuse\fR capabilities are translated directly to termcap
|
||||
\fBtc\fR capabilities.
|
||||
@ -59,12 +59,12 @@ change the output to \fIwidth\fR characters.
|
||||
\*d
|
||||
Compiled terminal description database.
|
||||
.SH NOTES
|
||||
This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode.
|
||||
You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR.
|
||||
This utility is actually a link to \fI@TIC@\fR, running in \fI-C\fR mode.
|
||||
You can use other \fI@TIC@\fR options such as \fB-f\fR and \fB-x\fR.
|
||||
.SH SEE ALSO
|
||||
\fBcurses\fR(3X),
|
||||
\fBtic\fR(1M),
|
||||
\fBinfocmp\fR(1M),
|
||||
\fB@TIC@\fR(1M),
|
||||
\fB@INFOCMP@\fR(1M),
|
||||
\fBterminfo\fR(\*n)
|
||||
.PP
|
||||
This describes \fBncurses\fR
|
||||
|
@ -28,7 +28,7 @@
|
||||
.\"
|
||||
.\" Author: Thomas E. Dickey
|
||||
.\"
|
||||
.\" $Id: legacy_coding.3x,v 1.2 2006/02/25 21:50:01 tom Exp $
|
||||
.\" $Id: legacy_coding.3x,v 1.3 2006/12/24 15:12:55 tom Exp $
|
||||
.TH legacy_coding 3X ""
|
||||
.SH NAME
|
||||
\fBuse_legacy_coding\fR \- use terminal's default colors
|
||||
@ -50,7 +50,7 @@ The \fIlevel\fP parameter controls the result:
|
||||
.TP 5
|
||||
0
|
||||
the library functions normally,
|
||||
rendering nonprinting characters as described in \fBunctrl\fP(3X).
|
||||
rendering nonprinting characters as described in \fBunctrl\fP.
|
||||
.TP
|
||||
1
|
||||
the library ignores \fBisprintf\fP for codes in the range 160-255.
|
||||
|
@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -25,7 +25,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: man_db.renames,v 0.36 2006/05/13 23:47:25 tom Exp $
|
||||
# $Id: man_db.renames,v 0.39 2007/04/07 23:06:31 tom Exp $
|
||||
# Manual-page renamings for the man_db program
|
||||
#
|
||||
# Files:
|
||||
@ -67,8 +67,10 @@ curs_insstr.3x insstr.3ncurses
|
||||
curs_instr.3x instr.3ncurses
|
||||
curs_inwstr.3x inwstr.3ncurses
|
||||
curs_kernel.3x kernel.3ncurses
|
||||
curs_legacy.3x legacy.3ncurses
|
||||
curs_mouse.3x mouse.3ncurses
|
||||
curs_move.3x move.3ncurses
|
||||
curs_opaque.3x opaque.3ncurses
|
||||
curs_outopts.3x outopts.3ncurses
|
||||
curs_overlay.3x overlay.3ncurses
|
||||
curs_pad.3x pad.3ncurses
|
||||
@ -159,12 +161,15 @@ tset.1 tset.1
|
||||
vprintf.3s vprintf.3
|
||||
wresize.3x wresize.3ncurses
|
||||
#
|
||||
# Other cross-references:
|
||||
addch.3x addch.3ncurses
|
||||
can_change_color.3x can_change_color.3ncurses
|
||||
curs_attr_get.3x attr_get.3ncurses
|
||||
dup_field.3x dup_field.3ncurses
|
||||
init_pair.3x init_pair.3ncurses
|
||||
#
|
||||
# Other:
|
||||
tack.1m tack.1
|
||||
#
|
||||
getty.1 getty.8
|
||||
scanf.3 scanf.3
|
||||
ttys.5 ttys.4
|
||||
termio.7 termios.3
|
||||
system.3 system.3
|
||||
regcomp.3x regcomp.3
|
||||
regexec.3x regexec.3
|
||||
#
|
||||
# vile:cfgmode
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: menu_driver.3x,v 1.12 2006/11/04 17:13:50 tom Exp $
|
||||
.\" $Id: menu_driver.3x,v 1.14 2007/06/02 22:50:09 tom Exp $
|
||||
.TH menu_driver 3X ""
|
||||
.SH NAME
|
||||
\fBmenu_driver\fR - command-processing loop of the menu system
|
||||
@ -38,7 +38,7 @@ int menu_driver(MENU *menu, int c);
|
||||
.SH DESCRIPTION
|
||||
Once a menu has been posted (displayed), you should funnel input events to it
|
||||
through \fBmenu_driver\fR. This routine has three major input cases; either
|
||||
the input is a menu navigation request, it's a printable ASCII character or it
|
||||
the input is a menu navigation request, it is a printable ASCII character or it
|
||||
is the KEY_MOUSE special key associated with an mouse event.
|
||||
The menu driver requests are as follows:
|
||||
.TP 5
|
||||
@ -100,25 +100,56 @@ the new pattern. If there is no such match, \fBmenu_driver\fR returns
|
||||
.PP
|
||||
If the second argument is one of the above pre-defined requests, the
|
||||
corresponding action is performed.
|
||||
.SS MOUSE HANDLING
|
||||
.PP
|
||||
If the second argument is the KEY_MOUSE special key, the associated
|
||||
mouse event is translated into one of the above pre-defined requests.
|
||||
Currently only clicks in the user window (e.g. inside the menu display
|
||||
area or the decoration window) are handled. If you click above the
|
||||
display region of the menu, a REQ_SCR_ULINE is generated, if you
|
||||
doubleclick a REQ_SCR_UPAGE is generated and if you tripleclick a
|
||||
REQ_FIRST_ITEM is generated. If you click below the display region of
|
||||
the menu, a REQ_SCR_DLINE is generated, if you doubleclick a REQ_SCR_DPAGE
|
||||
is generated and if you tripleclick a REQ_LAST_ITEM is generated. If you
|
||||
click at an item inside the display area of the menu, the menu cursor
|
||||
is positioned to that item. If you double-click at an item a REQ_TOGGLE_ITEM
|
||||
is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes
|
||||
sense, because a double click usually means that an item-specific action should
|
||||
be returned. It's exactly the purpose of this return value to signal that an
|
||||
application specific command should be executed. If a translation
|
||||
area or the decoration window) are handled.
|
||||
.PP
|
||||
If you click above the display region of the menu:
|
||||
.RS
|
||||
.TP
|
||||
a REQ_SCR_ULINE is generated for a single click,
|
||||
.TP
|
||||
a REQ_SCR_UPAGE is generated for a double-click and
|
||||
.TP
|
||||
a REQ_FIRST_ITEM is generated for a triple-click.
|
||||
.RE
|
||||
.PP
|
||||
If you click below the display region of the menu:
|
||||
.RS
|
||||
.TP
|
||||
a REQ_SCR_DLINE is generated for a single click,
|
||||
.TP
|
||||
a REQ_SCR_DPAGE is generated for a double-click and
|
||||
.TP
|
||||
a REQ_LAST_ITEM is generated for a triple-click.
|
||||
.RE
|
||||
.PP
|
||||
If you click at an item inside the display area of the menu:
|
||||
.RS
|
||||
.TP 3
|
||||
-
|
||||
the menu cursor is positioned to that item.
|
||||
.TP 3
|
||||
-
|
||||
If you double-click an item a REQ_TOGGLE_ITEM
|
||||
is generated and \fBE_UNKNOWN_COMMAND\fR is returned.
|
||||
This return value makes sense,
|
||||
because a double click usually means that an item-specific action should
|
||||
be returned.
|
||||
It is exactly the purpose of this return value to signal that an
|
||||
application specific command should be executed.
|
||||
.TP 3
|
||||
-
|
||||
If a translation
|
||||
into a request was done, \fBmenu_driver\fR returns the result of this request.
|
||||
.RE
|
||||
.PP
|
||||
If you clicked outside the user window or the mouse event couldn't be translated
|
||||
into a menu request an \fBE_REQUEST_DENIED\fR is returned.
|
||||
.SS APPLICATION-DEFINED COMMANDS
|
||||
.PP
|
||||
If the second argument is neither printable ASCII nor one of the above
|
||||
pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,28 +27,28 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: menu_hook.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: menu_hook.3x,v 1.9 2007/02/24 17:34:08 tom Exp $
|
||||
.TH menu_hook 3X ""
|
||||
.SH NAME
|
||||
\fBmenu_hook\fR - set hooks for automatic invocation by applications
|
||||
.SH SYNOPSIS
|
||||
\fB#include <menu.h>\fR
|
||||
.br
|
||||
int set_item_init(MENU *menu, void (*func)(MENU *));
|
||||
int set_item_init(MENU *menu, Menu_Hook func);
|
||||
.br
|
||||
void (*)(MENU *) item_init(const MENU *menu);
|
||||
Menu_Hook item_init(const MENU *menu);
|
||||
.br
|
||||
int set_item_term(MENU *menu, void (*func)(MENU *));
|
||||
int set_item_term(MENU *menu, Menu_Hook func);
|
||||
.br
|
||||
void (*)(MENU *) item_term(const MENU *menu);
|
||||
Menu_Hook item_term(const MENU *menu);
|
||||
.br
|
||||
int set_menu_init(MENU *menu, void (*func)(MENU *));
|
||||
int set_menu_init(MENU *menu, Menu_Hook func);
|
||||
.br
|
||||
void (*)(MENU *) menu_init(const MENU *menu);
|
||||
Menu_Hook menu_init(const MENU *menu);
|
||||
.br
|
||||
int set_menu_term(MENU *menu, void (*func)(MENU *));
|
||||
int set_menu_term(MENU *menu, Menu_Hook func);
|
||||
.br
|
||||
void (*)(MENU *) menu_term(const MENU *menu);
|
||||
Menu_Hook menu_term(const MENU *menu);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
These functions make it possible to set hook functions to be called at various
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,20 +27,20 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: menu_opts.3x,v 1.9 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: menu_opts.3x,v 1.10 2007/02/24 17:33:59 tom Exp $
|
||||
.TH menu_opts 3X ""
|
||||
.SH NAME
|
||||
\fBmenu_opts\fR - set and get menu options
|
||||
.SH SYNOPSIS
|
||||
\fB#include <menu.h>\fR
|
||||
.br
|
||||
int set_menu_opts(MENU *menu, OPTIONS opts);
|
||||
int set_menu_opts(MENU *menu, Menu_Options opts);
|
||||
.br
|
||||
int menu_opts_on(MENU *menu, OPTIONS opts);
|
||||
int menu_opts_on(MENU *menu, Menu_Options opts);
|
||||
.br
|
||||
int menu_opts_off(MENU *menu, OPTIONS opts);
|
||||
int menu_opts_off(MENU *menu, Menu_Options opts);
|
||||
.br
|
||||
OPTIONS menu_opts(const MENU *menu);
|
||||
Menu_Options menu_opts(const MENU *menu);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The function \fBset_menu_opts\fR sets all the given menu's option bits (menu
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,20 +27,20 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: mitem_opts.3x,v 1.8 2006/11/04 17:12:00 tom Exp $
|
||||
.\" $Id: mitem_opts.3x,v 1.9 2007/02/24 17:33:32 tom Exp $
|
||||
.TH mitem_opts 3X ""
|
||||
.SH NAME
|
||||
\fBmitem_opts\fR - set and get menu item options
|
||||
.SH SYNOPSIS
|
||||
\fB#include <menu.h>\fR
|
||||
.br
|
||||
int set_item_opts(ITEM *item, OPTIONS opts);
|
||||
int set_item_opts(ITEM *item, Item_Options opts);
|
||||
.br
|
||||
int item_opts_on(ITEM *item, OPTIONS opts);
|
||||
int item_opts_on(ITEM *item, Item_Options opts);
|
||||
.br
|
||||
int item_opts_off(ITEM *item, OPTIONS opts);
|
||||
int item_opts_off(ITEM *item, Item_Options opts);
|
||||
.br
|
||||
OPTIONS item_opts(const ITEM *item);
|
||||
Item_Options item_opts(const ITEM *item);
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The function \fBset_item_opts\fR sets all the given item's option bits (menu
|
||||
|
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: ncurses.3x,v 1.81 2006/12/02 19:23:11 tom Exp $
|
||||
.\" $Id: ncurses.3x,v 1.89 2007/09/01 18:57:29 tom Exp $
|
||||
.hy 0
|
||||
.TH ncurses 3X ""
|
||||
.ds n 5
|
||||
@ -39,19 +39,27 @@
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The \fBncurses\fR library routines give the user a terminal-independent method
|
||||
of updating character screens with reasonable optimization. This
|
||||
implementation is ``new curses'' (ncurses) and is the approved replacement for
|
||||
of updating character screens with reasonable optimization.
|
||||
This implementation is ``new curses'' (ncurses) and
|
||||
is the approved replacement for
|
||||
4.4BSD classic curses, which has been discontinued.
|
||||
This describes \fBncurses\fR
|
||||
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
||||
.PP
|
||||
The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V
|
||||
Release 4 UNIX, and the XPG4 curses standard (XSI curses) but the \fBncurses\fR
|
||||
library is freely redistributable in source form. Differences from the SVr4
|
||||
The \fBncurses\fR library emulates the \fBcurses\fR(3X) library of
|
||||
System V Release 4 UNIX,
|
||||
and XPG4 (X/Open Portability Guide) curses (also known as XSI curses).
|
||||
XSI stands for X/Open System Interfaces Extension.
|
||||
The \fBncurses\fR library is freely redistributable in source form.
|
||||
Differences from the SVr4
|
||||
curses are summarized under the \fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and
|
||||
described in detail in the respective \fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections
|
||||
of individual man pages.
|
||||
.PP
|
||||
The \fBncurses\fR library also provides many useful extensions,
|
||||
i.e., features which cannot be implemented by a simple add-on library
|
||||
but which require access to the internals of the library.
|
||||
.PP
|
||||
A program using these routines must be linked with the \fB-lncurses\fR option,
|
||||
or (if it has been generated) with the debugging library \fB-lncurses_g\fR.
|
||||
(Your system integrator may also have installed these libraries under
|
||||
@ -68,8 +76,9 @@ and access to low-level terminal-manipulation routines.
|
||||
.PP
|
||||
To initialize the routines, the routine \fBinitscr\fR or \fBnewterm\fR
|
||||
must be called before any of the other routines that deal with windows
|
||||
and screens are used. The routine \fBendwin\fR must be called before
|
||||
exiting. To get character-at-a-time input without echoing (most
|
||||
and screens are used.
|
||||
The routine \fBendwin\fR must be called before exiting.
|
||||
To get character-at-a-time input without echoing (most
|
||||
interactive, screen oriented programs want this), the following
|
||||
sequence should be used:
|
||||
.sp
|
||||
@ -82,60 +91,72 @@ Most programs would additionally use the sequence:
|
||||
\fBkeypad(stdscr, TRUE);\fR
|
||||
.sp
|
||||
Before a \fBcurses\fR program is run, the tab stops of the terminal
|
||||
should be set and its initialization strings, if defined, must be
|
||||
output. This can be done by executing the \fBtput init\fR command
|
||||
should be set and its initialization strings, if defined, must be output.
|
||||
This can be done by executing the \fBtput init\fR command
|
||||
after the shell environment variable \fBTERM\fR has been exported.
|
||||
\fBtset(1)\fR is usually responsible for doing this.
|
||||
[See \fBterminfo\fR(\*n) for further details.]
|
||||
.PP
|
||||
The \fBncurses\fR library permits manipulation of data structures,
|
||||
called \fIwindows\fR, which can be thought of as two-dimensional
|
||||
arrays of characters representing all or part of a CRT screen. A
|
||||
default window called \fBstdscr\fR, which is the size of the terminal
|
||||
screen, is supplied. Others may be created with \fBnewwin\fR.
|
||||
arrays of characters representing all or part of a CRT screen.
|
||||
A default window called \fBstdscr\fR, which is the size of the terminal
|
||||
screen, is supplied.
|
||||
Others may be created with \fBnewwin\fR.
|
||||
.PP
|
||||
Note that \fBcurses\fR does not handle overlapping windows, that's done by
|
||||
the \fBpanel\fR(3X) library. This means that you can either use
|
||||
the \fBpanel\fR(3X) library.
|
||||
This means that you can either use
|
||||
\fBstdscr\fR or divide the screen into tiled windows and not using
|
||||
\fBstdscr\fR at all. Mixing the two will result in unpredictable, and
|
||||
undesired, effects.
|
||||
\fBstdscr\fR at all.
|
||||
Mixing the two will result in unpredictable, and undesired, effects.
|
||||
.PP
|
||||
Windows are referred to by variables declared as \fBWINDOW *\fR.
|
||||
These data structures are manipulated with routines described here and
|
||||
elsewhere in the \fBncurses\fR manual pages. Among those, the most basic
|
||||
routines are \fBmove\fR and \fBaddch\fR. More general versions of
|
||||
elsewhere in the \fBncurses\fR manual pages.
|
||||
Among those, the most basic
|
||||
routines are \fBmove\fR and \fBaddch\fR.
|
||||
More general versions of
|
||||
these routines are included with names beginning with \fBw\fR,
|
||||
allowing the user to specify a window. The routines not beginning
|
||||
allowing the user to specify a window.
|
||||
The routines not beginning
|
||||
with \fBw\fR affect \fBstdscr\fR.
|
||||
.PP
|
||||
After using routines to manipulate a window, \fBrefresh\fR is called,
|
||||
telling \fBcurses\fR to make the user's CRT screen look like
|
||||
\fBstdscr\fR. The characters in a window are actually of type
|
||||
\fBstdscr\fR.
|
||||
The characters in a window are actually of type
|
||||
\fBchtype\fR, (character and attribute data) so that other information
|
||||
about the character may also be stored with each character.
|
||||
.PP
|
||||
Special windows called \fIpads\fR may also be manipulated. These are windows
|
||||
Special windows called \fIpads\fR may also be manipulated.
|
||||
These are windows
|
||||
which are not constrained to the size of the screen and whose contents need not
|
||||
be completely displayed. See \fBcurs_pad\fR(3X) for more information.
|
||||
be completely displayed.
|
||||
See \fBcurs_pad\fR(3X) for more information.
|
||||
.PP
|
||||
In addition to drawing characters on the screen, video attributes and colors
|
||||
may be supported, causing the characters to show up in such modes as
|
||||
underlined, in reverse video, or in color on terminals that support such
|
||||
display enhancements. Line drawing characters may be specified to be output.
|
||||
display enhancements.
|
||||
Line drawing characters may be specified to be output.
|
||||
On input, \fBcurses\fR is also able to translate arrow and function keys that
|
||||
transmit escape sequences into single values. The video attributes, line
|
||||
transmit escape sequences into single values.
|
||||
The video attributes, line
|
||||
drawing characters, and input values use names, defined in \fB<curses.h>\fR,
|
||||
such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
|
||||
.PP
|
||||
If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
|
||||
program is executing in a window environment, line and column information in
|
||||
the environment will override information read by \fIterminfo\fR. This would
|
||||
effect a program running in an AT&T 630 layer, for example, where the size of a
|
||||
the environment will override information read by \fIterminfo\fR.
|
||||
This would affect a program running in an AT&T 630 layer,
|
||||
for example, where the size of a
|
||||
screen is changeable (see \fBENVIRONMENT\fR).
|
||||
.PP
|
||||
If the environment variable \fBTERMINFO\fR is defined, any program using
|
||||
\fBcurses\fR checks for a local terminal definition before checking in the
|
||||
standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
|
||||
standard place.
|
||||
For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
|
||||
compiled terminal definition is found in
|
||||
.sp
|
||||
\fB\*d/a/att4424\fR.
|
||||
@ -155,43 +176,100 @@ permission in \fB\*d\fR is not available.
|
||||
.PP
|
||||
The integer variables \fBLINES\fR and \fBCOLS\fR are defined in
|
||||
\fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the
|
||||
screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
|
||||
screen.
|
||||
The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
|
||||
\fB0\fR, respectively.
|
||||
.PP
|
||||
The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR
|
||||
which is used for certain low-level operations like clearing and redrawing a
|
||||
screen containing garbage. The \fBcurscr\fR can be used in only a few
|
||||
routines.
|
||||
.
|
||||
screen containing garbage.
|
||||
The \fBcurscr\fR can be used in only a few routines.
|
||||
.\"
|
||||
.SS Routine and Argument Names
|
||||
Many \fBcurses\fR routines have two or more versions. The routines prefixed
|
||||
with \fBw\fR require a window argument. The routines prefixed with \fBp\fR
|
||||
require a pad argument. Those without a prefix generally use \fBstdscr\fR.
|
||||
Many \fBcurses\fR routines have two or more versions.
|
||||
The routines prefixed with \fBw\fR require a window argument.
|
||||
The routines prefixed with \fBp\fR require a pad argument.
|
||||
Those without a prefix generally use \fBstdscr\fR.
|
||||
.PP
|
||||
The routines prefixed with \fBmv\fR require a \fIy\fR and \fIx\fR
|
||||
coordinate to move to before performing the appropriate action. The
|
||||
\fBmv\fR routines imply a call to \fBmove\fR before the call to the
|
||||
other routine. The coordinate \fIy\fR always refers to the row (of
|
||||
the window), and \fIx\fR always refers to the column. The upper
|
||||
left-hand corner is always (0,0), not (1,1).
|
||||
coordinate to move to before performing the appropriate action.
|
||||
The \fBmv\fR routines imply a call to \fBmove\fR before the call to the
|
||||
other routine.
|
||||
The coordinate \fIy\fR always refers to the row (of
|
||||
the window), and \fIx\fR always refers to the column.
|
||||
The upper left-hand corner is always (0,0), not (1,1).
|
||||
.PP
|
||||
The routines prefixed with \fBmvw\fR take both a window argument and
|
||||
\fIx\fR and \fIy\fR coordinates. The window argument is always
|
||||
specified before the coordinates.
|
||||
\fIx\fR and \fIy\fR coordinates.
|
||||
The window argument is always specified before the coordinates.
|
||||
.PP
|
||||
In each case, \fIwin\fR is the window affected, and \fIpad\fR is the
|
||||
pad affected; \fIwin\fR and \fIpad\fR are always pointers to type
|
||||
\fBWINDOW\fR.
|
||||
.PP
|
||||
Option setting routines require a Boolean flag \fIbf\fR with the value
|
||||
\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The
|
||||
variables \fIch\fR and \fIattrs\fR below are always of type
|
||||
\fBchtype\fR. The types \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and
|
||||
\fBchtype\fR are defined in \fB<curses.h>\fR. The type \fBTERMINAL\fR
|
||||
is defined in \fB<term.h>\fR. All other arguments are integers.
|
||||
\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR.
|
||||
Most of the data types used in the library routines,
|
||||
such as \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and \fBchtype\fR
|
||||
are defined in \fB<curses.h>\fR.
|
||||
Types used for the terminfo routines such as
|
||||
\fBTERMINAL\fR are defined in \fB<term.h>\fR.
|
||||
.PP
|
||||
This manual page describes functions which may appear in any configuration
|
||||
of the library.
|
||||
There are two common configurations of the library:
|
||||
.RS
|
||||
.TP 5
|
||||
ncurses
|
||||
the "normal" library, which handles 8-bit characters.
|
||||
The normal (8-bit) library stores characters combined with attributes
|
||||
in \fBchtype\fP data.
|
||||
.IP
|
||||
Attributes alone (no corresponding character) may be stored in \fBchtype\fP
|
||||
or the equivalent \fBattr_t\fP data.
|
||||
In either case, the data is stored in something like an integer.
|
||||
.IP
|
||||
Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBchtype\fP.
|
||||
.TP 5
|
||||
ncursesw
|
||||
the so-called "wide" library, which handles multibyte characters
|
||||
(See the section on \fBALTERNATE CONFIGURATIONS\fP).
|
||||
The "wide" library includes all of the calls from the "normal" library.
|
||||
It adds about one third more calls using data types which store
|
||||
multibyte characters:
|
||||
.RS
|
||||
.TP 5
|
||||
.B cchar_t
|
||||
corresponds to \fBchtype\fP.
|
||||
However it is a structure, because more data is stored than can fit into
|
||||
an integer.
|
||||
The characters are large enough to require a full integer value - and there
|
||||
may be more than one character per cell.
|
||||
The video attributes and color are stored in separate fields of the structure.
|
||||
.IP
|
||||
Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBcchar_t\fP.
|
||||
.TP 5
|
||||
.B wchar_t
|
||||
stores a "wide" character.
|
||||
Like \fBchtype\fP, this may be an integer.
|
||||
.TP 5
|
||||
.B wint_t
|
||||
stores a \fBwchar_t\fP or \fBWEOF\fP - not the same, though both may have
|
||||
the same size.
|
||||
.RE
|
||||
.IP
|
||||
The "wide" library provides new functions which are analogous to
|
||||
functions in the "normal" library.
|
||||
There is a naming convention which relates many of the normal/wide variants:
|
||||
a "_w" is inserted into the name.
|
||||
For example, \fBwaddch\fP becomes \fBwadd_wch\fP.
|
||||
.RE
|
||||
.PP
|
||||
.\"
|
||||
.SS Routine Name Index
|
||||
The following table lists each \fBcurses\fR routine and the name of
|
||||
the manual page on which it is described. Routines flagged with `*'
|
||||
the manual page on which it is described.
|
||||
Routines flagged with `*'
|
||||
are ncurses-specific, not described by XPG4 or present in SVr4.
|
||||
.PP
|
||||
.TS
|
||||
@ -275,15 +353,24 @@ flash/\fBcurs_beep\fR(3X)
|
||||
flushinp/\fBcurs_util\fR(3X)
|
||||
get_wch/\fBcurs_get_wch\fR(3X)
|
||||
get_wstr/\fBcurs_get_wstr\fR(3X)
|
||||
getattrs/\fBcurs_attr\fR(3X)
|
||||
getbegx/\fBcurs_legacy\fR(3X)*
|
||||
getbegy/\fBcurs_legacy\fR(3X)*
|
||||
getbegyx/\fBcurs_getyx\fR(3X)
|
||||
getbkgd/\fBcurs_bkgd\fR(3X)
|
||||
getbkgrnd/\fBcurs_bkgrnd\fR(3X)
|
||||
getcchar/\fBcurs_getcchar\fR(3X)
|
||||
getch/\fBcurs_getch\fR(3X)
|
||||
getcurx/\fBcurs_legacy\fR(3X)*
|
||||
getcury/\fBcurs_legacy\fR(3X)*
|
||||
getmaxx/\fBcurs_legacy\fR(3X)*
|
||||
getmaxy/\fBcurs_legacy\fR(3X)*
|
||||
getmaxyx/\fBcurs_getyx\fR(3X)
|
||||
getmouse/\fBcurs_mouse\fR(3X)*
|
||||
getn_wstr/\fBcurs_get_wstr\fR(3X)
|
||||
getnstr/\fBcurs_getstr\fR(3X)
|
||||
getparx/\fBcurs_legacy\fR(3X)*
|
||||
getpary/\fBcurs_legacy\fR(3X)*
|
||||
getparyx/\fBcurs_getyx\fR(3X)
|
||||
getstr/\fBcurs_getstr\fR(3X)
|
||||
getsyx/\fBcurs_kernel\fR(3X)
|
||||
@ -321,7 +408,18 @@ insstr/\fBcurs_insstr\fR(3X)
|
||||
instr/\fBcurs_instr\fR(3X)
|
||||
intrflush/\fBcurs_inopts\fR(3X)
|
||||
inwstr/\fBcurs_inwstr\fR(3X)
|
||||
is_cleared/\fBcurs_opaque\fR(3X)*
|
||||
is_idcok/\fBcurs_opaque\fR(3X)*
|
||||
is_idlok/\fBcurs_opaque\fR(3X)*
|
||||
is_immedok/\fBcurs_opaque\fR(3X)*
|
||||
is_keypad/\fBcurs_opaque\fR(3X)*
|
||||
is_leaveok/\fBcurs_opaque\fR(3X)*
|
||||
is_linetouched/\fBcurs_touch\fR(3X)
|
||||
is_nodelay/\fBcurs_opaque\fR(3X)*
|
||||
is_notimeout/\fBcurs_opaque\fR(3X)*
|
||||
is_scrollok/\fBcurs_opaque\fR(3X)*
|
||||
is_syncok/\fBcurs_opaque\fR(3X)*
|
||||
is_term_resized/\fBresizeterm\fR(3X)*
|
||||
is_wintouched/\fBcurs_touch\fR(3X)
|
||||
isendwin/\fBcurs_initscr\fR(3X)
|
||||
key_defined/\fBkey_defined\fR(3X)*
|
||||
@ -431,6 +529,7 @@ nl/\fBcurs_outopts\fR(3X)
|
||||
nocbreak/\fBcurs_inopts\fR(3X)
|
||||
nodelay/\fBcurs_inopts\fR(3X)
|
||||
noecho/\fBcurs_inopts\fR(3X)
|
||||
nofilter/\fBcurs_util\fR(3X)*
|
||||
nonl/\fBcurs_outopts\fR(3X)
|
||||
noqiflush/\fBcurs_inopts\fR(3X)
|
||||
noraw/\fBcurs_inopts\fR(3X)
|
||||
@ -519,6 +618,7 @@ untouchwin/\fBcurs_touch\fR(3X)
|
||||
use_default_colors/\fBdefault_colors\fR(3X)*
|
||||
use_env/\fBcurs_util\fR(3X)
|
||||
use_extended_names/\fBcurs_extend\fR(3X)*
|
||||
use_legacy_coding/\fBlegacy_coding\fR(3X)*
|
||||
vid_attr/\fBcurs_terminfo\fR(3X)
|
||||
vid_puts/\fBcurs_terminfo\fR(3X)
|
||||
vidattr/\fBcurs_terminfo\fR(3X)
|
||||
@ -617,16 +717,16 @@ integer value other than \fBERR\fR upon successful completion, unless
|
||||
otherwise noted in the routine descriptions.
|
||||
.PP
|
||||
All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR,
|
||||
\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. The return
|
||||
values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
|
||||
\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR.
|
||||
The return values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and
|
||||
\fBgetmaxyx\fR are undefined (i.e., these should not be used as the
|
||||
right-hand side of assignment statements).
|
||||
.PP
|
||||
Routines that return pointers return \fBNULL\fR on error.
|
||||
.SH ENVIRONMENT
|
||||
The following environment symbols are useful for customizing the
|
||||
runtime behavior of the \fBncurses\fR library. The most important
|
||||
ones have been already discussed in detail.
|
||||
runtime behavior of the \fBncurses\fR library.
|
||||
The most important ones have been already discussed in detail.
|
||||
.TP 5
|
||||
BAUDRATE
|
||||
The debugging library checks this environment symbol when the application
|
||||
@ -722,7 +822,7 @@ If it is not specified, \fBncurses\fR uses 132.
|
||||
NCURSES_ASSUMED_COLORS
|
||||
Override the compiled-in assumption that the
|
||||
terminal's default colors are white-on-black
|
||||
(see \fBassume_default_colors\fR(3X)).
|
||||
(see \fBdefault_colors\fR(3X)).
|
||||
You may set the foreground and background color values with this environment
|
||||
variable by proving a 2-element list: foreground,background.
|
||||
For example, to tell ncurses to not assume anything
|
||||
@ -739,7 +839,7 @@ You can also adjust your \fBstty\fP settings to avoid the problem.
|
||||
.TP 5
|
||||
NCURSES_NO_MAGIC_COOKIES
|
||||
Some terminals use a magic-cookie feature which requires special handling
|
||||
to make highlighting and other video attributes display properly.
|
||||
to make highlighting and other video attributes display properly.
|
||||
You can suppress the highlighting entirely for these terminals by
|
||||
setting this environment variable.
|
||||
.TP 5
|
||||
@ -761,18 +861,21 @@ is for your program to do this by pausing after
|
||||
operations that the terminal does slowly, such as clearing the display.
|
||||
.IP
|
||||
As a result, many terminal descriptions (including the vt100)
|
||||
have delay times embedded. You may wish to use these descriptions,
|
||||
have delay times embedded.
|
||||
You may wish to use these descriptions,
|
||||
but not want to pay the performance penalty.
|
||||
.IP
|
||||
Set the NCURSES_NO_PADDING symbol to disable all but mandatory
|
||||
padding. Mandatory padding is used as a part of special control
|
||||
padding.
|
||||
Mandatory padding is used as a part of special control
|
||||
sequences such as \fIflash\fR.
|
||||
.TP 5
|
||||
NCURSES_NO_SETBUF
|
||||
Normally \fBncurses\fR enables buffered output during terminal initialization.
|
||||
This is done (as in SVr4 curses) for performance reasons.
|
||||
For testing purposes, both of \fBncurses\fR and certain applications,
|
||||
this feature is made optional. Setting the NCURSES_NO_SETBUF variable
|
||||
this feature is made optional.
|
||||
Setting the NCURSES_NO_SETBUF variable
|
||||
disables output buffering, leaving the output in the original (usually
|
||||
line buffered) mode.
|
||||
.TP 5
|
||||
@ -944,12 +1047,14 @@ descriptions.
|
||||
.SH EXTENSIONS
|
||||
The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR)
|
||||
that falls back to the old-style /etc/termcap file if the terminal setup code
|
||||
cannot find a terminfo entry corresponding to \fBTERM\fR. Use of this feature
|
||||
cannot find a terminfo entry corresponding to \fBTERM\fR.
|
||||
Use of this feature
|
||||
is not recommended, as it essentially includes an entire termcap compiler in
|
||||
the \fBncurses\fR startup code, at significant cost in core and startup cycles.
|
||||
.PP
|
||||
The \fBncurses\fR library includes facilities for capturing mouse events on
|
||||
certain terminals (including xterm). See the \fBcurs_mouse\fR(3X)
|
||||
certain terminals (including xterm).
|
||||
See the \fBcurs_mouse\fR(3X)
|
||||
manual page for details.
|
||||
.PP
|
||||
The \fBncurses\fR library includes facilities for responding to window
|
||||
@ -974,38 +1079,48 @@ control over color contrasts.
|
||||
See the \fBdefault_colors\fR(3X) manual page for details.
|
||||
.PP
|
||||
The \fBncurses\fR library includes a function for directing application output
|
||||
to a printer attached to the terminal device. See the \fBcurs_print\fR(3X)
|
||||
manual page for details.
|
||||
to a printer attached to the terminal device.
|
||||
See the \fBcurs_print\fR(3X) manual page for details.
|
||||
.SH PORTABILITY
|
||||
The \fBncurses\fR library is intended to be BASE-level conformant with the XSI
|
||||
Curses standard. The EXTENDED XSI Curses functionality
|
||||
The \fBncurses\fR library is intended to be BASE-level conformant with XSI
|
||||
Curses.
|
||||
The EXTENDED XSI Curses functionality
|
||||
(including color support) is supported.
|
||||
.PP
|
||||
A small number of local differences (that is, individual differences between
|
||||
the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR
|
||||
sections of the library man pages.
|
||||
.PP
|
||||
The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4. See
|
||||
the \fBcurs_getch\fR(3X) manual page for details.
|
||||
This implementation also contains several extensions:
|
||||
.RS 5
|
||||
.PP
|
||||
The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4. See
|
||||
the \fBcurs_slk\fR(3X) manual page for details.
|
||||
The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4.
|
||||
See the \fBcurs_getch\fR(3X) manual page for details.
|
||||
.PP
|
||||
The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4.
|
||||
See the \fBcurs_slk\fR(3X) manual page for details.
|
||||
.PP
|
||||
The routines \fBgetmouse\fR, \fBmousemask\fR, \fBungetmouse\fR,
|
||||
\fBmouseinterval\fR, and \fBwenclose\fR relating to mouse interfacing are not
|
||||
part of XPG4, nor are they present in SVr4. See the \fBcurs_mouse\fR(3X)
|
||||
manual page for details.
|
||||
part of XPG4, nor are they present in SVr4.
|
||||
See the \fBcurs_mouse\fR(3X) manual page for details.
|
||||
.PP
|
||||
The routine \fBmcprint\fR was not present in any previous curses
|
||||
implementation. See the \fBcurs_print\fR(3X) manual page for details.
|
||||
The routine \fBmcprint\fR was not present in any previous curses implementation.
|
||||
See the \fBcurs_print\fR(3X) manual page for details.
|
||||
.PP
|
||||
The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4. See
|
||||
the \fBwresize\fR(3X) manual page for details.
|
||||
The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4.
|
||||
See the \fBwresize\fR(3X) manual page for details.
|
||||
.PP
|
||||
The WINDOW structure's internal details can be hidden from application
|
||||
programs.
|
||||
See \fBcurs_opaque\fR(3X) for the discussion of \fBis_scrollok\fR, etc.
|
||||
.RE
|
||||
.PP
|
||||
In historic curses versions, delays embedded in the capabilities \fBcr\fR,
|
||||
\fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay
|
||||
bits in the UNIX tty driver. In this implementation, all padding is done by
|
||||
NUL sends. This method is slightly more expensive, but narrows the interface
|
||||
bits in the UNIX tty driver.
|
||||
In this implementation, all padding is done by sending NUL bytes.
|
||||
This method is slightly more expensive, but narrows the interface
|
||||
to the UNIX kernel significantly and increases the package's portability
|
||||
correspondingly.
|
||||
.SH NOTES
|
||||
@ -1013,8 +1128,8 @@ The header file \fB<curses.h>\fR automatically includes the header files
|
||||
\fB<stdio.h>\fR and \fB<unctrl.h>\fR.
|
||||
.PP
|
||||
If standard output from a \fBncurses\fR program is re-directed to something
|
||||
which is not a tty, screen updates will be directed to standard error. This
|
||||
was an undocumented feature of AT&T System V Release 3 curses.
|
||||
which is not a tty, screen updates will be directed to standard error.
|
||||
This was an undocumented feature of AT&T System V Release 3 curses.
|
||||
.SH AUTHORS
|
||||
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
|
||||
Based on pcurses by Pavel Curtis.
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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: panel.3x,v 1.12 2006/05/13 15:35:45 tom Exp $
|
||||
.\" $Id: panel.3x,v 1.14 2007/05/12 20:45:20 tom Exp $
|
||||
.TH panel 3X ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
@ -84,13 +84,13 @@ Panel routines are a functional layer added to \fBcurses\fR(3X), make only
|
||||
high-level curses calls, and work anywhere terminfo curses does.
|
||||
.SH FUNCTIONS
|
||||
.TP
|
||||
\fBnew_panel(win)\fR
|
||||
.B new_panel(win)
|
||||
allocates a \fBPANEL\fR structure, associates it with
|
||||
\fBwin\fR, places the panel on the top of the stack (causes it
|
||||
to be displayed above any other panel) and returns a
|
||||
pointer to the new panel.
|
||||
.TP
|
||||
\fBvoid update_panels()\fR
|
||||
.B update_panels()
|
||||
refreshes the virtual screen to reflect the relations between the
|
||||
panels in the stack, but does not call doupdate() to refresh the
|
||||
physical screen. Use this function and not wrefresh or wnoutrefresh.
|
||||
@ -98,52 +98,57 @@ update_panels() may be called more than once before a call to
|
||||
doupdate(), but doupdate() is the function responsible for updating
|
||||
the physical screen.
|
||||
.TP
|
||||
\fBdel_panel(pan)\fR
|
||||
.B del_panel(pan)
|
||||
removes the given panel from the stack and deallocates the
|
||||
\fBPANEL\fR structure (but not its associated window).
|
||||
.TP
|
||||
\fBhide_panel(pan)\fR
|
||||
.B hide_panel(pan)
|
||||
removes the given panel from the panel stack and thus hides it from
|
||||
view. The \fBPANEL\fR structure is not lost, merely removed from the stack.
|
||||
.TP
|
||||
\fBshow_panel(pan)\fR
|
||||
.B panel_hidden(pan)
|
||||
returns TRUE if the panel is in the panel stack,
|
||||
FALSE if it is not.
|
||||
If the panel is a null pointer, return ERR.
|
||||
.TP
|
||||
.B show_panel(pan)
|
||||
makes a hidden panel visible by placing it on top of the panels in the
|
||||
panel stack. See COMPATIBILITY below.
|
||||
.TP
|
||||
\fBtop_panel(pan)\fR
|
||||
.B top_panel(pan)
|
||||
puts the given visible panel on top of all panels in the stack. See
|
||||
COMPATIBILITY below.
|
||||
.TP
|
||||
\fBbottom_panel(pan)\fR
|
||||
.B bottom_panel(pan)
|
||||
puts panel at the bottom of all panels.
|
||||
.TP
|
||||
\fBmove_panel(pan,starty,startx)\fR
|
||||
.B move_panel(pan,starty,startx)
|
||||
moves the given panel window so that its upper-left corner is at
|
||||
\fBstarty\fR, \fBstartx\fR. It does not change the position of the
|
||||
panel in the stack. Be sure to use this function, not \fBmvwin()\fR,
|
||||
to move a panel window.
|
||||
.TP
|
||||
\fBreplace_panel(pan,window)\fR
|
||||
.B replace_panel(pan,window)
|
||||
replaces the current window of panel with \fBwindow\fR (useful, for
|
||||
example if you want to resize a panel; if you're using \fBncurses\fR,
|
||||
you can call \fBreplace_panel\fR on the output of \fBwresize\fR(3X)).
|
||||
It does not change the position of the panel in the stack.
|
||||
.TP
|
||||
\fBpanel_above(pan)\fR
|
||||
.B panel_above(pan)
|
||||
returns a pointer to the panel above pan. If the panel argument is
|
||||
\fB(PANEL *)0\fR, it returns a pointer to the bottom panel in the stack.
|
||||
.TP
|
||||
\fBpanel_below(pan)\fR
|
||||
.B panel_below(pan)
|
||||
returns a pointer to the panel just below pan. If the panel argument
|
||||
is \fB(PANEL *)0\fR, it returns a pointer to the top panel in the stack.
|
||||
.TP
|
||||
\fBset_panel_userptr(pan,ptr)\fR
|
||||
.B set_panel_userptr(pan,ptr)
|
||||
sets the panel's user pointer.
|
||||
.TP
|
||||
\fBpanel_userptr(pan)\fR
|
||||
.B panel_userptr(pan)
|
||||
returns the user pointer for a given panel.
|
||||
.TP
|
||||
\fBpanel_window(pan)\fR
|
||||
.B panel_window(pan)
|
||||
returns a pointer to the window of the given panel.
|
||||
.SH DIAGNOSTICS
|
||||
Each routine that returns a pointer returns \fBNULL\fR if an error
|
||||
|
@ -26,8 +26,8 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: term.5,v 1.17 2006/12/03 01:08:16 tom Exp $
|
||||
.TH TERM 5
|
||||
.\" $Id: term.5,v 1.19 2006/12/24 18:12:38 tom Exp $
|
||||
.TH term 5
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
@ -74,7 +74,7 @@ An 8 or more bit byte is assumed, but no assumptions about byte ordering
|
||||
or sign extension are made.
|
||||
.PP
|
||||
The compiled file is created with the
|
||||
.I tic
|
||||
.B @TIC@
|
||||
program, and read by the routine
|
||||
.IR setupterm .
|
||||
The file is divided into six parts:
|
||||
|
@ -1,5 +1,5 @@
|
||||
.\"***************************************************************************
|
||||
.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *
|
||||
.\" Copyright (c) 1998-2006,2007 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,8 +26,8 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: term.7,v 1.15 2006/02/25 21:47:06 tom Exp $
|
||||
.TH TERM 7
|
||||
.\" $Id: term.7,v 1.18 2007/06/02 20:40:07 tom Exp $
|
||||
.TH term 7
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
@ -66,14 +66,14 @@ which you wish to override the system default type for your line.
|
||||
Terminal type descriptions are stored as files of capability data underneath
|
||||
\*d. To browse a list of all terminal names recognized by the system, do
|
||||
.sp
|
||||
toe | more
|
||||
@TOE@ | more
|
||||
.sp
|
||||
from your shell. These capability files are in a binary format optimized for
|
||||
retrieval speed (unlike the old text-based \fBtermcap\fR format they replace);
|
||||
to examine an entry, you must use the \fBinfocmp\fR(1) command. Invoke it as
|
||||
follows:
|
||||
to examine an entry, you must use the \fB@INFOCMP@\fR(1M) command.
|
||||
Invoke it as follows:
|
||||
.sp
|
||||
infocmp \fIentry-name\fR
|
||||
@INFOCMP@ \fIentry-name\fR
|
||||
.sp
|
||||
where \fIentry-name\fR is the name of the type you wish to examine (and the
|
||||
name of its capability file the subdirectory of \*d named for its first
|
||||
@ -119,7 +119,7 @@ i.e. \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR. It should
|
||||
multi-platform environment! If a model number follows, it should indicate
|
||||
either the OS release level or the console driver release level.
|
||||
.PP
|
||||
The root name for a terminal emulator (assuming it doesn't fit one of the
|
||||
The root name for a terminal emulator (assuming it does not fit one of the
|
||||
standard ANSI or vt100 types) should be the program name or a readily
|
||||
recognizable abbreviation of it (i.e. \fBversaterm\fR, \fBctrm\fR).
|
||||
.PP
|
||||
|
@ -26,8 +26,8 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: terminfo.head,v 1.13 2006/05/13 15:35:45 tom Exp $
|
||||
.TH TERMINFO 5 "" "" "File Formats"
|
||||
.\" $Id: terminfo.head,v 1.16 2007/03/04 00:09:46 tom Exp $
|
||||
.TH terminfo 5 "" "" "File Formats"
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
@ -51,7 +51,7 @@ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
||||
Entries in
|
||||
.I terminfo
|
||||
consist of a sequence of `,' separated fields (embedded commas may be
|
||||
escaped with a backslash or notated as \e054).
|
||||
escaped with a backslash or notated as \\054).
|
||||
White space after the `,' separator is ignored.
|
||||
The first entry for each terminal gives the names which are known for the
|
||||
terminal, separated by `|' characters.
|
||||
@ -62,14 +62,14 @@ All names but the last should be in lower case and contain no blanks;
|
||||
the last name may well contain upper case and blanks for readability.
|
||||
.PP
|
||||
Lines beginning with a `#' in the first column are treated as comments.
|
||||
While comment lines are legal at any point, the output of \fIcaptoinfo\fP
|
||||
and \fIinfotocap\fP (aliases for \fItic\fP)
|
||||
While comment lines are legal at any point, the output of \fB@CAPTOINFO@\fP
|
||||
and \fB@INFOTOCAP@\fP (aliases for \fB@TIC@\fP)
|
||||
will move comments so they occur only between entries.
|
||||
.PP
|
||||
Newlines and leading tabs may be used for formatting entries for readability.
|
||||
These are removed from parsed entries.
|
||||
The \fIinfocmp\ -f\fP option relies on this to format if-then-else expressions:
|
||||
the result can be read by \fItic\fP.
|
||||
The \fB@INFOCMP@\ -f\fP option relies on this to format if-then-else expressions:
|
||||
the result can be read by \fB@TIC@\fP.
|
||||
.PP
|
||||
Terminal names (except for the last, verbose entry) should
|
||||
be chosen using the following conventions.
|
||||
|
@ -1,11 +1,11 @@
|
||||
.\" $Id: terminfo.tail,v 1.44 2006/04/01 22:47:01 tom Exp $
|
||||
.\" $Id: terminfo.tail,v 1.48 2007/06/02 20:30:40 tom Exp $
|
||||
.\" Beginning of terminfo.tail file
|
||||
.\" This file is part of ncurses.
|
||||
.\" See "terminfo.head" for copyright.
|
||||
.ps +1
|
||||
..
|
||||
.
|
||||
.SS A Sample Entry
|
||||
..
|
||||
.
|
||||
The following entry, describing an ANSI-standard terminal, is representative
|
||||
of what a \fBterminfo\fR entry for a modern terminal typically looks like.
|
||||
.PP
|
||||
@ -297,7 +297,7 @@ while the Lear Siegler \s-1ADM-3\s0 is described as
|
||||
Cursor addressing and other strings requiring parameters
|
||||
in the terminal are described by a
|
||||
parameterized string capability, with
|
||||
.IR printf (3S)
|
||||
.IR printf (3)
|
||||
like escapes \fB%x\fR in it.
|
||||
For example, to address the cursor, the
|
||||
.B cup
|
||||
@ -395,7 +395,7 @@ It is possible to form else-if's a la Algol 68:
|
||||
.IP
|
||||
where c\di\u are conditions, b\di\u are bodies.
|
||||
.IP
|
||||
Use the \fB-f\fP option of \fBtic\fP or \fBinfocmp\fP to see
|
||||
Use the \fB-f\fP option of \fBtic\fP or \fB@INFOCMP@\fP to see
|
||||
the structure of if-the-else's.
|
||||
Some strings, e.g., \fBsgr\fP can be very complicated when written
|
||||
on one line.
|
||||
@ -993,7 +993,7 @@ with the rest of the terminfo description.
|
||||
They are normally sent to the terminal, by the
|
||||
.I init
|
||||
option of the
|
||||
.IR tput
|
||||
.IR @TPUT@
|
||||
program, each time the user logs in.
|
||||
They will be printed in the following order:
|
||||
.RS
|
||||
@ -1578,7 +1578,7 @@ and the application has only allocated a 1k buffer,
|
||||
*
|
||||
and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
|
||||
the whole entry into the buffer, no matter what its length, to see
|
||||
if it's the entry it wants,
|
||||
if it is the entry it wants,
|
||||
.TP 5
|
||||
*
|
||||
and \fBtgetent()\fP is searching for a terminal type that either is the
|
||||
@ -1599,19 +1599,19 @@ here but will return incorrect data for the terminal.
|
||||
.PP
|
||||
The "after tc expansion" length will have a similar effect to the
|
||||
above, but only for people who actually set TERM to that terminal
|
||||
type, since \fBtgetent()\fP only does "tc" expansion once it's found the
|
||||
type, since \fBtgetent()\fP only does "tc" expansion once it is found the
|
||||
terminal type it was looking for, not while searching.
|
||||
.PP
|
||||
In summary, a termcap entry that is longer than 1023 bytes can cause,
|
||||
on various combinations of termcap libraries and applications, a core
|
||||
dump, warnings, or incorrect operation.
|
||||
If it's too long even before
|
||||
If it is too long even before
|
||||
"tc" expansion, it will have this effect even for users of some other
|
||||
terminal types and users whose TERM variable does not have a termcap
|
||||
entry.
|
||||
.PP
|
||||
When in -C (translate to termcap) mode, the \fBncurses\fR implementation of
|
||||
\fBtic\fR(1) issues warning messages when the pre-tc length of a termcap
|
||||
\fB@TIC@\fR(1M) issues warning messages when the pre-tc length of a termcap
|
||||
translation is too long.
|
||||
The -c (check) option also checks resolved (after tc
|
||||
expansion) lengths.
|
||||
@ -1688,7 +1688,7 @@ files containing terminal descriptions
|
||||
\fB@TIC@\fR(1M),
|
||||
\fB@INFOCMP@\fR(1M),
|
||||
\fBcurses\fR(3X),
|
||||
\fBprintf\fR(3S),
|
||||
\fBprintf\fR(3),
|
||||
\fBterm\fR(\*n).
|
||||
.SH AUTHORS
|
||||
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
|
||||
|
@ -26,8 +26,8 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: tic.1m,v 1.43 2006/05/13 15:14:01 tom Exp $
|
||||
.TH tic 1M ""
|
||||
.\" $Id: tic.1m,v 1.44 2006/12/24 17:59:11 tom Exp $
|
||||
.TH @TIC@ 1M ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
@ -92,7 +92,7 @@ Otherwise these are ignored.
|
||||
.TP
|
||||
\fB-C\fR
|
||||
Force source translation to termcap format. Note: this differs from the \fB-C\fR
|
||||
option of \fIinfocmp\fR(1M) in that it does not merely translate capability
|
||||
option of \fB@INFOCMP@\fR(1M) in that it does not merely translate capability
|
||||
names, but also translates terminfo strings to termcap format. Capabilities
|
||||
that are not translatable are left in the entry under their terminfo names
|
||||
but commented out with two preceding dots.
|
||||
|
@ -26,8 +26,8 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: toe.1m,v 1.18 2006/05/13 15:14:01 tom Exp $
|
||||
.TH toe 1M ""
|
||||
.\" $Id: toe.1m,v 1.20 2006/12/24 17:20:37 tom Exp $
|
||||
.TH @TOE@ 1M ""
|
||||
.ds n 5
|
||||
.ds d @TERMINFO@
|
||||
.SH NAME
|
||||
@ -67,7 +67,7 @@ followed by a newline.
|
||||
specifies that (verbose) output be written to standard error,
|
||||
showing \fBtoe\fR's progress.
|
||||
The optional parameter \fIn\fR is a number from 1 to 10,
|
||||
interpreted as for \fBtic\fR(1).
|
||||
interpreted as for \fB@TIC@\fR(1M).
|
||||
.TP
|
||||
\fB-V\fR
|
||||
reports the version of ncurses which was used in this program, and exits.
|
||||
|
@ -27,27 +27,27 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: tput.1,v 1.25 2006/05/13 15:14:01 tom Exp $
|
||||
.TH tput 1 ""
|
||||
.\" $Id: tput.1,v 1.27 2006/12/24 18:11:31 tom Exp $
|
||||
.TH @TPUT@ 1 ""
|
||||
.ds d @TERMINFO@
|
||||
.ds n 1
|
||||
.SH NAME
|
||||
\fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database
|
||||
\fB@TPUT@\fR, \fBreset\fR - initialize a terminal or query terminfo database
|
||||
.SH SYNOPSIS
|
||||
\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
|
||||
\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ]
|
||||
.br
|
||||
\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR
|
||||
\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBinit\fR
|
||||
.br
|
||||
\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR
|
||||
\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBreset\fR
|
||||
.br
|
||||
\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR
|
||||
\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBlongname\fR
|
||||
.br
|
||||
\fBtput -S\fR \fB<<\fR
|
||||
\fB@TPUT@ -S\fR \fB<<\fR
|
||||
.br
|
||||
\fBtput -V\fR
|
||||
\fB@TPUT@ -V\fR
|
||||
.br
|
||||
.SH DESCRIPTION
|
||||
The \fBtput\fR utility uses the \fBterminfo\fR database to make the
|
||||
The \fB@TPUT@\fR utility uses the \fBterminfo\fR database to make the
|
||||
values of terminal-dependent capabilities and information available to
|
||||
the shell (see \fBsh\fR(1)), to initialize or reset the terminal, or
|
||||
return the long name of the requested terminal type.
|
||||
@ -55,15 +55,15 @@ The result depends upon the capability's type:
|
||||
.RS
|
||||
.TP 5
|
||||
string
|
||||
\fBtput\fR writes the string to the standard output.
|
||||
\fB@TPUT@\fR writes the string to the standard output.
|
||||
No trailing newline is supplied.
|
||||
.TP
|
||||
integer
|
||||
\fBtput\fR writes the decimal value to the standard output,
|
||||
\fB@TPUT@\fR writes the decimal value to the standard output,
|
||||
with a trailing newline.
|
||||
.TP
|
||||
boolean
|
||||
\fBtput\fR simply sets the exit code
|
||||
\fB@TPUT@\fR simply sets the exit code
|
||||
(\fB0\fR for TRUE if the terminal has the capability,
|
||||
\fB1\fR for FALSE if it does not),
|
||||
and writes nothing to the standard output.
|
||||
@ -74,7 +74,7 @@ the application should test the exit code
|
||||
(e.g., \fB$?\fR, see \fBsh\fR(1)) to be sure it is \fB0\fR.
|
||||
(See the \fBEXIT CODES\fR and \fBDIAGNOSTICS\fR sections.)
|
||||
For a complete list of capabilities
|
||||
and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n).
|
||||
and the \fIcapname\fR associated with each, see \fBterminfo\fR(5).
|
||||
.TP
|
||||
\fB-T\fR\fItype\fR
|
||||
indicates the \fItype\fR of terminal. Normally this option is
|
||||
@ -94,21 +94,21 @@ If the capability is a string that takes parameters, the arguments
|
||||
.IP
|
||||
Most parameters are numbers.
|
||||
Only a few terminfo capabilities require string parameters;
|
||||
\fBtput\fR uses a table to decide which to pass as strings.
|
||||
Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution.
|
||||
\fB@TPUT@\fR uses a table to decide which to pass as strings.
|
||||
Normally \fB@TPUT@\fR uses \fBtparm\fR (3X) to perform the substitution.
|
||||
If no parameters are given for the capability,
|
||||
\fBtput\fR writes the string without performing the substitution.
|
||||
\fB@TPUT@\fR writes the string without performing the substitution.
|
||||
.TP
|
||||
\fB-S\fR
|
||||
allows more than one capability per invocation of \fBtput\fR. The
|
||||
capabilities must be passed to \fBtput\fR from the standard input
|
||||
allows more than one capability per invocation of \fB@TPUT@\fR. The
|
||||
capabilities must be passed to \fB@TPUT@\fR from the standard input
|
||||
instead of from the command line (see example).
|
||||
Only one \fIcapname\fR is allowed per line.
|
||||
The \fB-S\fR option changes the
|
||||
meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the
|
||||
EXIT CODES section).
|
||||
.IP
|
||||
Again, \fBtput\fR uses a table and the presence of parameters in its input
|
||||
Again, \fB@TPUT@\fR uses a table and the presence of parameters in its input
|
||||
to decide whether to use \fBtparm\fR (3X),
|
||||
and how to interpret the parameters.
|
||||
.TP
|
||||
@ -157,58 +157,58 @@ 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.
|
||||
If \fB@TPUT@\fR is invoked by a link named \fBreset\fR, this has the
|
||||
same effect as \fB@TPUT@ reset\fR.
|
||||
See \fBtset\fR for comparison, which has similar behavior.
|
||||
.SH EXAMPLES
|
||||
.TP 5
|
||||
\fBtput init\fR
|
||||
\fB@TPUT@ init\fR
|
||||
Initialize the terminal according to the type of
|
||||
terminal in the environmental variable \fBTERM\fR. This
|
||||
command should be included in everyone's .profile after
|
||||
the environmental variable \fBTERM\fR has been exported, as
|
||||
illustrated on the \fBprofile\fR(5) manual page.
|
||||
.TP 5
|
||||
\fBtput -T5620 reset\fR
|
||||
\fB@TPUT@ -T5620 reset\fR
|
||||
Reset an AT&T 5620 terminal, overriding the type of
|
||||
terminal in the environmental variable \fBTERM\fR.
|
||||
.TP 5
|
||||
\fBtput cup 0 0\fR
|
||||
\fB@TPUT@ cup 0 0\fR
|
||||
Send the sequence to move the cursor to row \fB0\fR, column \fB0\fR
|
||||
(the upper left corner of the screen, usually known as the "home"
|
||||
cursor position).
|
||||
.TP 5
|
||||
\fBtput clear\fR
|
||||
\fB@TPUT@ clear\fR
|
||||
Echo the clear-screen sequence for the current terminal.
|
||||
.TP 5
|
||||
\fBtput cols\fR
|
||||
\fB@TPUT@ cols\fR
|
||||
Print the number of columns for the current terminal.
|
||||
.TP 5
|
||||
\fBtput -T450 cols\fR
|
||||
\fB@TPUT@ -T450 cols\fR
|
||||
Print the number of columns for the 450 terminal.
|
||||
.TP 5
|
||||
\fBbold=`tput smso` offbold=`tput rmso`\fR
|
||||
\fBbold=`@TPUT@ smso` offbold=`@TPUT@ rmso`\fR
|
||||
Set the shell variables \fBbold\fR, to begin stand-out mode
|
||||
sequence, and \fBoffbold\fR, to end standout mode sequence,
|
||||
for the current terminal. This might be followed by a
|
||||
prompt: \fBecho "${bold}Please type in your name: ${offbold}\\c"\fR
|
||||
.TP 5
|
||||
\fBtput hc\fR
|
||||
\fB@TPUT@ hc\fR
|
||||
Set exit code to indicate if the current terminal is a hard copy terminal.
|
||||
.TP 5
|
||||
\fBtput cup 23 4\fR
|
||||
\fB@TPUT@ cup 23 4\fR
|
||||
Send the sequence to move the cursor to row 23, column 4.
|
||||
.TP 5
|
||||
\fBtput cup\fR
|
||||
\fB@TPUT@ cup\fR
|
||||
Send the terminfo string for cursor-movement, with no parameters substituted.
|
||||
.TP 5
|
||||
\fBtput longname\fR
|
||||
\fB@TPUT@ longname\fR
|
||||
Print the long name from the \fBterminfo\fR database for the
|
||||
type of terminal specified in the environmental
|
||||
variable \fBTERM\fR.
|
||||
.PP
|
||||
.RS 5
|
||||
\fBtput -S <<!\fR
|
||||
\fB@TPUT@ -S <<!\fR
|
||||
.br
|
||||
\fB> clear\fR
|
||||
.br
|
||||
@ -220,7 +220,7 @@ variable \fBTERM\fR.
|
||||
.RE
|
||||
.TP 5
|
||||
\&
|
||||
This example shows \fBtput\fR processing several capabilities in one invocation.
|
||||
This example shows \fB@TPUT@\fR processing several capabilities in one invocation.
|
||||
It clears the screen,
|
||||
moves the cursor to position 10, 10
|
||||
and turns on bold (extra bright) mode.
|
||||
@ -238,7 +238,7 @@ information, see the "Tabs and Initialization"
|
||||
section of \fBterminfo\fR(5)
|
||||
.SH EXIT CODES
|
||||
If the \fB-S\fR option is used,
|
||||
\fBtput\fR checks for errors from each line,
|
||||
\fB@TPUT@\fR checks for errors from each line,
|
||||
and if any errors are found, will set the exit code to 4 plus the
|
||||
number of lines with errors.
|
||||
If no errors are found, the exit code is \fB0\fR.
|
||||
@ -285,8 +285,8 @@ exit code error message
|
||||
=
|
||||
\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)
|
||||
\fBterminfo\fR(5) database for this terminal type, e.g.
|
||||
\fB@TPUT@ -T450 lines\fR and \fB@TPUT@ -T2621 xmc\fR)
|
||||
T}
|
||||
\fB1\fR no error message is printed, see the \fBEXIT CODES\fR section.
|
||||
\fB2\fR usage error
|
||||
|
@ -26,7 +26,7 @@
|
||||
.\" authorization. *
|
||||
.\"***************************************************************************
|
||||
.\"
|
||||
.\" $Id: tset.1,v 1.18 2006/07/29 11:34:07 tom Exp $
|
||||
.\" $Id: tset.1,v 1.19 2006/12/24 15:00:30 tom Exp $
|
||||
.TH tset 1 ""
|
||||
.SH NAME
|
||||
\fBtset\fR, \fBreset\fR - terminal initialization
|
||||
@ -272,7 +272,7 @@ terminal capability database
|
||||
csh(1),
|
||||
sh(1),
|
||||
stty(1),
|
||||
setupterm(3X),
|
||||
curs_terminfo(3X),
|
||||
tty(4),
|
||||
terminfo(5),
|
||||
ttys(5),
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: Makefile.in,v 1.43 2006/10/14 20:40:36 tom Exp $
|
||||
# $Id: Makefile.in,v 1.48 2007/04/28 14:56:11 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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 1996-on
|
||||
#
|
||||
# Makefile for menu source code.
|
||||
#
|
||||
@ -91,7 +91,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
|
||||
|
||||
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
|
||||
|
||||
LINK = $(LIBTOOL_LINK) $(CC)
|
||||
LINK = $(LIBTOOL_LINK)
|
||||
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
|
||||
|
||||
SHLIB_DIRS = -L../lib
|
||||
@ -106,8 +106,6 @@ ABI_VERSION = @cf_cv_abi_version@
|
||||
|
||||
RANLIB = @LIB_PREP@
|
||||
|
||||
IMPORT_LIB = @IMPORT_LIB@
|
||||
SHARED_LIB = @SHARED_LIB@
|
||||
LIBRARIES = @LIBS_TO_MAKE@
|
||||
|
||||
LINT = @LINT@
|
||||
@ -128,7 +126,7 @@ sources : $(AUTO_SRC)
|
||||
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(libdir) :
|
||||
sh $(srcdir)/../mkinstalldirs $@
|
||||
sh $(srcdir)/../mkdirs.sh $@
|
||||
|
||||
# make copies to simplify include-paths while still keeping menu's include
|
||||
# file in this directory.
|
||||
|
@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
# Copyright (c) 1998 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998,2006 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"), #
|
||||
@ -30,3 +30,4 @@
|
||||
#
|
||||
$(srcdir)/eti.h
|
||||
$(srcdir)/menu.h
|
||||
# vile:makemode
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2003,2007 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 *
|
||||
@ -30,7 +30,7 @@
|
||||
* Author: Juergen Pfeifer, 1995,1997 *
|
||||
****************************************************************************/
|
||||
|
||||
/* $Id: menu.h,v 1.18 2003/11/08 20:48:24 tom Exp $ */
|
||||
/* $Id: menu.h,v 1.19 2007/02/24 17:32:13 tom Exp $ */
|
||||
|
||||
#ifndef ETI_MENU
|
||||
#define ETI_MENU
|
||||
@ -217,23 +217,23 @@ extern NCURSES_EXPORT(int) pos_menu_cursor (const MENU *);
|
||||
extern NCURSES_EXPORT(int) post_menu (MENU *);
|
||||
extern NCURSES_EXPORT(int) scale_menu (const MENU *,int *,int *);
|
||||
extern NCURSES_EXPORT(int) set_current_item (MENU *menu,ITEM *item);
|
||||
extern NCURSES_EXPORT(int) set_item_init (MENU *,void(*)(MENU *));
|
||||
extern NCURSES_EXPORT(int) set_item_init (MENU *, Menu_Hook);
|
||||
extern NCURSES_EXPORT(int) set_item_opts (ITEM *,Item_Options);
|
||||
extern NCURSES_EXPORT(int) set_item_term (MENU *,void(*)(MENU *));
|
||||
extern NCURSES_EXPORT(int) set_item_term (MENU *, Menu_Hook);
|
||||
extern NCURSES_EXPORT(int) set_item_userptr (ITEM *, void *);
|
||||
extern NCURSES_EXPORT(int) set_item_value (ITEM *,bool);
|
||||
extern NCURSES_EXPORT(int) set_menu_back (MENU *,chtype);
|
||||
extern NCURSES_EXPORT(int) set_menu_fore (MENU *,chtype);
|
||||
extern NCURSES_EXPORT(int) set_menu_format (MENU *,int,int);
|
||||
extern NCURSES_EXPORT(int) set_menu_grey (MENU *,chtype);
|
||||
extern NCURSES_EXPORT(int) set_menu_init (MENU *,void(*)(MENU *));
|
||||
extern NCURSES_EXPORT(int) set_menu_init (MENU *, Menu_Hook);
|
||||
extern NCURSES_EXPORT(int) set_menu_items (MENU *,ITEM **);
|
||||
extern NCURSES_EXPORT(int) set_menu_mark (MENU *, const char *);
|
||||
extern NCURSES_EXPORT(int) set_menu_opts (MENU *,Menu_Options);
|
||||
extern NCURSES_EXPORT(int) set_menu_pad (MENU *,int);
|
||||
extern NCURSES_EXPORT(int) set_menu_pattern (MENU *,const char *);
|
||||
extern NCURSES_EXPORT(int) set_menu_sub (MENU *,WINDOW *);
|
||||
extern NCURSES_EXPORT(int) set_menu_term (MENU *,void(*)(MENU *));
|
||||
extern NCURSES_EXPORT(int) set_menu_term (MENU *, Menu_Hook);
|
||||
extern NCURSES_EXPORT(int) set_menu_userptr (MENU *,void *);
|
||||
extern NCURSES_EXPORT(int) set_menu_win (MENU *,WINDOW *);
|
||||
extern NCURSES_EXPORT(int) set_top_row (MENU *,int);
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: modules,v 1.16 2004/12/25 22:06:33 tom Exp $
|
||||
# $Id: modules,v 1.17 2006/12/24 00:52:39 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998,2004 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2004,2006 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 1996-on
|
||||
#
|
||||
|
||||
@ base
|
||||
@ -59,3 +59,5 @@ m_sub lib $(srcdir) $(MENU_PRIV_H)
|
||||
m_trace lib $(srcdir) $(MENU_PRIV_H)
|
||||
m_userptr lib $(srcdir) $(MENU_PRIV_H)
|
||||
m_win lib $(srcdir) $(MENU_PRIV_H)
|
||||
|
||||
# vile:makemode
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: Makefile.in,v 1.40 2006/10/21 13:28:03 tom Exp $
|
||||
# $Id: Makefile.in,v 1.43 2007/03/31 15:54:17 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -76,7 +76,7 @@ depend :
|
||||
|
||||
sources :
|
||||
|
||||
install : install.data install.scripts
|
||||
install : install.data install.libs
|
||||
|
||||
install.data : terminfo.tmp \
|
||||
$(DESTDIR)$(libdir) \
|
||||
@ -103,7 +103,7 @@ install.data : terminfo.tmp \
|
||||
|
||||
NCURSES_CONFIG = ncurses@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config
|
||||
|
||||
install.scripts : ncurses-config
|
||||
install.libs : $(DESTDIR)$(bindir) ncurses-config
|
||||
$(INSTALL_PROG) ncurses-config $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
|
||||
|
||||
terminfo.tmp : run_tic.sed $(source)
|
||||
@ -115,19 +115,20 @@ run_tic.sed :
|
||||
ticdir=${ticdir} \
|
||||
$(SHELL) $(srcdir)/gen_edit.sh >$@
|
||||
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(libdir) \
|
||||
$(DESTDIR)$(datadir) \
|
||||
$(DESTDIR)$(tabsetdir) :
|
||||
$(SHELL) $(top_srcdir)/mkinstalldirs $@
|
||||
$(SHELL) $(top_srcdir)/mkdirs.sh $@
|
||||
|
||||
uninstall : uninstall.data uninstall.scripts
|
||||
uninstall : uninstall.data uninstall.libs
|
||||
|
||||
uninstall.data :
|
||||
-test -d $(DESTDIR)$(tabsetdir) && rm -rf $(DESTDIR)$(tabsetdir)
|
||||
-test -d $(DESTDIR)$(ticdir) && rm -rf $(DESTDIR)$(ticdir)
|
||||
-test -f $(DESTDIR)$(ticfile) && rm -f $(DESTDIR)$(ticfile)
|
||||
|
||||
uninstall.scripts :
|
||||
uninstall.libs :
|
||||
-rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
|
||||
|
||||
tags :
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!@SHELL@
|
||||
# $Id: ncurses-config.in,v 1.11 2006/10/28 20:22:52 tom Exp $
|
||||
# $Id: ncurses-config.in,v 1.12 2007/03/17 20:02:19 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 2006,2007 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"), #
|
||||
@ -40,6 +40,11 @@ mandir="@mandir@"
|
||||
|
||||
THIS="ncurses@DFT_ARG_SUFFIX@"
|
||||
|
||||
LANG=C; export LANG
|
||||
LANGUAGE=C; export LANGUAGE
|
||||
LC_ALL=C; export LC_ALL
|
||||
LC_CTYPE=C; export LC_CTYPE
|
||||
|
||||
test $# = 0 && exec @SHELL@ $0 --error
|
||||
|
||||
while test $# -gt 0; do
|
||||
|
@ -29,7 +29,7 @@
|
||||
#
|
||||
# Author: Thomas E. Dickey <dickey@clark.net> 1996
|
||||
#
|
||||
# $Id: shlib,v 1.10 2005/06/25 22:41:17 tom Exp $
|
||||
# $Id: shlib,v 1.11 2007/01/13 17:09:52 tom Exp $
|
||||
# Use this script as a wrapper when running executables linked to shared
|
||||
# libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed
|
||||
# the soname's path within the linked executable (such as IRIX), e.g,
|
||||
@ -81,6 +81,7 @@ for p in lib ../lib ../../lib ../../../lib
|
||||
do
|
||||
if test -d $p; then
|
||||
q=`cd $p; pwd`
|
||||
break
|
||||
elif test -f configure && test ! -d ../$p ; then
|
||||
break
|
||||
fi
|
||||
|
@ -6,8 +6,8 @@
|
||||
# Report bugs and new terminal descriptions to
|
||||
# bug-ncurses@gnu.org
|
||||
#
|
||||
# $Revision: 1.303 $
|
||||
# $Date: 2006/10/07 17:52:03 $
|
||||
# $Revision: 1.318 $
|
||||
# $Date: 2007/11/03 19:02:01 $
|
||||
#
|
||||
# The original header is preserved below for reference. It is noted that there
|
||||
# is a "newer" version which differs in some cosmetic details (but actually
|
||||
@ -317,6 +317,16 @@ vanilla|dumb tty,
|
||||
OTbs,
|
||||
bel=^G, cr=^M, cud1=^J, ind=^J,
|
||||
|
||||
# This is almost the same as "dumb", but with no prespecified width.
|
||||
# DEL and ^C are hardcoded to act as kill characters.
|
||||
# ^D acts as a line break (just like newline).
|
||||
# It also interprets
|
||||
# \033];xxx\007
|
||||
# for compatibility with xterm -TD
|
||||
9term|Plan9 terminal emulator for X,
|
||||
am,
|
||||
OTnl=^J, bel=^G, cud1=^J,
|
||||
|
||||
#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
|
||||
#
|
||||
# See the end-of-file comment for more on these.
|
||||
@ -2691,8 +2701,9 @@ putty|PuTTY terminal emulator,
|
||||
vt100-putty|Reset PuTTY to pure vt100,
|
||||
rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
|
||||
use=vt100,
|
||||
# palette is hardcoded...
|
||||
putty-256color|PuTTY 0.58 with xterm 256-colors,
|
||||
use=xterm+256color, use=putty,
|
||||
initc@, use=xterm+256color, use=putty,
|
||||
|
||||
# One of the keyboard selections is "VT100+".
|
||||
# pterm (the X11 port) uses shifted F1-F10 as F11-F20
|
||||
@ -3015,11 +3026,10 @@ xterm-xfree86|xterm terminal emulator (XFree86),
|
||||
xterm-new|modern xterm terminal emulator,
|
||||
npc,
|
||||
indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H,
|
||||
kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~,
|
||||
kRIT=\E[1;2C, kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB,
|
||||
kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, kent=\EOM, khome=\EOH,
|
||||
kich1=\E[2~, kind=\E[1;2B, kmous=\E[M, knp=\E[6~,
|
||||
kpp=\E[5~, kri=\E[1;2A, rin=\E[%p1%dT, use=xterm+pcfkeys,
|
||||
kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE,
|
||||
kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
||||
kend=\EOF, kent=\EOM, khome=\EOH, kich1=\E[2~, kmous=\E[M,
|
||||
knp=\E[6~, kpp=\E[5~, rin=\E[%p1%dT, use=xterm+pcfkeys,
|
||||
use=xterm-basic,
|
||||
#
|
||||
# This fragment describes as much of XFree86 xterm's "pc-style" function
|
||||
@ -3060,25 +3070,30 @@ xterm+pcfkeys|fragment for PC-style fkeys,
|
||||
# modifyCursorKeys resource. These fragments list the modified cursor-keys
|
||||
# that might apply to xterm+pcfkeys with different values of that resource.
|
||||
xterm+pcc3|fragment with modifyCursorKeys:3,
|
||||
kDN=\E[>1;2B, kDN5=\E[>1;5B, kDN6=\E[>1;6B,
|
||||
kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B,
|
||||
kri=\E[>1;2A, kDN=\E[>1;2B, kDN5=\E[>1;5B, kDN6=\E[>1;6B,
|
||||
kLFT5=\E[>1;5D, kLFT6=\E[>1;6D, kRIT5=\E[>1;5C,
|
||||
kRIT6=\E[>1;6C, kUP=\E[>1;2A, kUP5=\E[>1;5A,
|
||||
kUP6=\E[>1;6A,
|
||||
|
||||
xterm+pcc2|fragment with modifyCursorKeys:2,
|
||||
kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
|
||||
kDN=\E[1;2B, kDN5=\E[1;5B, kDN6=\E[1;6B, kLFT5=\E[1;5D,
|
||||
kLFT6=\E[1;6D, kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP=\E[1;2A,
|
||||
kUP5=\E[1;5A, kUP6=\E[1;6A,
|
||||
|
||||
xterm+pcc1|fragment with modifyCursorKeys:1,
|
||||
kDN=\E[2B, kDN5=\E[5B, kDN6=\E[6B, kLFT5=\E[5D,
|
||||
kLFT6=\E[6D, kRIT5=\E[5C, kRIT6=\E[6C, kUP=\E[2A,
|
||||
kUP5=\E[5A, kUP6=\E[6A,
|
||||
kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B,
|
||||
kDN5=\E[5B, kDN6=\E[6B, kLFT5=\E[5D, kLFT6=\E[6D,
|
||||
kRIT5=\E[5C, kRIT6=\E[6C, kUP=\E[2A, kUP5=\E[5A,
|
||||
kUP6=\E[6A,
|
||||
|
||||
xterm+pcc0|fragment with modifyCursorKeys:0,
|
||||
kDN=\EO2B, kDN5=\EO5B, kDN6=\EO6B, kLFT5=\EO5D,
|
||||
kLFT6=\EO6D, kRIT5=\EO5C, kRIT6=\EO6C, kUP=\EO2A,
|
||||
kUP5=\EO5A, kUP6=\EO6A,
|
||||
kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B,
|
||||
kDN5=\EO5B, kDN6=\EO6B, kLFT5=\EO5D, kLFT6=\EO6D,
|
||||
kRIT5=\EO5C, kRIT6=\EO6C, kUP=\EO2A, kUP5=\EO5A,
|
||||
kUP6=\EO6A,
|
||||
|
||||
#
|
||||
# Here are corresponding fragments from xterm patch #216:
|
||||
#
|
||||
@ -3101,24 +3116,37 @@ xterm+pcf0|fragment with modifyFunctionKeys:0,
|
||||
kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P,
|
||||
kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
|
||||
#
|
||||
xterm+pcf2|fragment with modifyFunctionKeys:0,
|
||||
xterm+pcf2|fragment with modifyFunctionKeys:2,
|
||||
kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
|
||||
kf13=\E[2P, kf14=\E[2Q, kf15=\E[2R, kf16=\E[2S,
|
||||
kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S,
|
||||
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=\E[5P, kf26=\E[5Q,
|
||||
kf27=\E[5R, kf28=\E[5S, kf29=\E[15;5~, kf3=\EOR,
|
||||
kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q,
|
||||
kf27=\E[1;5R, kf28=\E[1;5S, 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=\E[6P, kf38=\E[6Q, kf39=\E[6R,
|
||||
kf4=\EOS, kf40=\E[6S, kf41=\E[15;6~, kf42=\E[17;6~,
|
||||
kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R,
|
||||
kf4=\EOS, kf40=\E[1;6S, 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~, kf49=\E[3P,
|
||||
kf5=\E[15~, kf50=\E[3Q, kf51=\E[3R, kf52=\E[3S,
|
||||
kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~,
|
||||
kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~,
|
||||
kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\E[4P,
|
||||
kf62=\E[4Q, kf63=\E[4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
|
||||
kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~,
|
||||
kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R,
|
||||
kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
|
||||
kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
|
||||
kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~,
|
||||
kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~,
|
||||
kf8=\E[19~, kf9=\E[20~,
|
||||
#
|
||||
# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
|
||||
# Alternatively, the same scheme with old-style function keys as in xterm-r6
|
||||
# is shown here (because that is used in mrxvt and mlterm):
|
||||
xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2,
|
||||
kf1=\E[11~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
|
||||
kf16=\E[14;2~, kf2=\E[12~, kf25=\E[11;5~, kf26=\E[12;5~,
|
||||
kf27=\E[13;5~, kf28=\E[14;5~, kf3=\E[13~, kf37=\E[11;6~,
|
||||
kf38=\E[12;6~, kf39=\E[13;6~, kf4=\E[14~, kf40=\E[14;6~,
|
||||
kf49=\E[11;3~, kf50=\E[12;3~, kf51=\E[13;3~,
|
||||
kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~,
|
||||
kf63=\E[13;4~, use=xterm+pcf2,
|
||||
#
|
||||
# This chunk is used for building the VT220/Sun/PC keyboard variants.
|
||||
xterm-basic|modern xterm terminal emulator - common,
|
||||
@ -3157,6 +3185,8 @@ xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
|
||||
xterm-16color|xterm with 16 colors like aixterm,
|
||||
use=ibm+16color, use=xterm-new,
|
||||
|
||||
# This is a compile-time feature of XFree86 xterm beginning with
|
||||
# patch #111 (1999/7/10) -TD
|
||||
xterm+256color|xterm 256-color feature,
|
||||
ccc,
|
||||
colors#256, pairs#32767,
|
||||
@ -3165,6 +3195,18 @@ xterm+256color|xterm 256-color feature,
|
||||
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
|
||||
setb@, setf@,
|
||||
|
||||
# This is a compile-time feature of XFree86 xterm beginning with
|
||||
# patch #115 (1999/9/18) -TD
|
||||
#
|
||||
# Note that the escape sequences used are the same as for 256-colors - xterm
|
||||
# has a different table of default color resource values. If built for
|
||||
# 256-colors, it can still handle an 88-color palette by using the initc
|
||||
# capability.
|
||||
#
|
||||
# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals
|
||||
# which support the xterm+256color feature support the associated initc
|
||||
# capability. So it is cancelled in the entries which use this and/or the
|
||||
# xterm+256color block.
|
||||
xterm+88color|xterm 88-color feature,
|
||||
colors#88, pairs#7744, use=xterm+256color,
|
||||
|
||||
@ -3444,11 +3486,23 @@ gnome-fc5|GNOME Terminal,
|
||||
rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
|
||||
use=ansi+enq, use=xterm+pcc0, use=gnome-rh90,
|
||||
|
||||
gnome|GNOME Terminal,
|
||||
use=gnome-fc5,
|
||||
# GNOME Terminal 2.18.1 (2007 snapshot)
|
||||
#
|
||||
# For any "recent" version of gnome-terminal, it is futile to attempt to
|
||||
# support modifiers on cursor- and keypad keys because the program usually
|
||||
# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset
|
||||
# of the keys (which more/less correspond to the termcap values), and will
|
||||
# interpret those according to the $TERM value, but others not in the
|
||||
# terminfo according to some constantly changing set of hacker guidelines -TD
|
||||
gnome-2007|GNOME Terminal snapshot 2.18.1,
|
||||
use=xterm+pcc2, use=gnome-fc5,
|
||||
|
||||
gnome|GNOME Terminal,
|
||||
use=gnome-2007,
|
||||
|
||||
# palette is hardcoded...
|
||||
gnome-256color|GNOME Terminal with xterm 256-colors,
|
||||
use=xterm+256color, use=gnome,
|
||||
initc@, use=xterm+256color, use=gnome,
|
||||
|
||||
# XFCE Terminal 0.2.5.4beta2
|
||||
#
|
||||
@ -3551,14 +3605,29 @@ konsole-16color|klone of xterm-16color,
|
||||
konsole|KDE console window,
|
||||
use=konsole-xf4x,
|
||||
|
||||
# Based on mlterm 2.9.2's mlterm.ti, with corrections/additions from reading
|
||||
# the source code and running tack -TD
|
||||
# palette is hardcoded...
|
||||
konsole-256color|KDE console window with xterm 256-colors,
|
||||
initc@, use=xterm+256color, use=konsole,
|
||||
|
||||
# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
|
||||
#
|
||||
# This is nominally a vt102 emulator, with features borrowed from rxvt and
|
||||
# It is nominally a vt102 emulator, with features borrowed from rxvt and
|
||||
# xterm.
|
||||
#
|
||||
# There are some problems with vttest:
|
||||
# test of character sets leaves it in line-drawing mode.
|
||||
# The function keys are numbered based on shift/control/alt modifiers, except
|
||||
# that the control-modifier itself is used to spawn a new copy of mlterm (the
|
||||
# "-P" option). So control/F1 to control/F12 may not be usable, depending on
|
||||
# how it is configured.
|
||||
#
|
||||
# kf1 to kf12 \E[11~ to \E[24~
|
||||
# shift kf1 to kf12 \E[11;2~ to \E[24;2~
|
||||
# alt kf1 to kf12 \E[11;3~ to \E[24;3~
|
||||
# shift/alt kf1 to kf12 \E[11;4~ to \E[24;4~
|
||||
# control kf1 to kf12 \E[11;5~ to \E[24;5~ (maybe)
|
||||
# control/shift kf1 to kf12 \E[11;6~ to \E[24;6~
|
||||
# control/alt kf1 to kf12 \E[11;7~ to \E[24;7~
|
||||
# control/shit/alt kf1 to kf12 \E[11;8~ to \E[24;8~
|
||||
#
|
||||
mlterm|multi lingual terminal emulator,
|
||||
am, eslok, km, mc5i, mir, msgr, npc, xenl,
|
||||
colors#8, cols#80, it#8, lines#24, pairs#64,
|
||||
@ -3574,21 +3643,29 @@ mlterm|multi lingual terminal emulator,
|
||||
ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS,
|
||||
is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
|
||||
kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
||||
kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~,
|
||||
kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~,
|
||||
kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
|
||||
kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~,
|
||||
kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, mc0=\E[i,
|
||||
nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
|
||||
rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l,
|
||||
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
|
||||
rmso=\E[27m, rmul=\E[24m,
|
||||
kdch1=\E[3~, kend=\EOF, kent=\EOM, kfnd=\E[1~, khome=\EOH,
|
||||
kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~,
|
||||
mc0=\E[i, nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
|
||||
rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l,
|
||||
rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
|
||||
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
|
||||
sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
|
||||
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;,
|
||||
sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7\E[?47h,
|
||||
sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h,
|
||||
smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
|
||||
tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq,
|
||||
tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
|
||||
vpa=\E[%i%p1%dd, use=mlterm+pcfkeys, use=xterm+r6f2,
|
||||
|
||||
# The insert/delete/home/end keys do not respond to modifiers because mlterm
|
||||
# looks in its termcap to decide which string to send. If it used terminfo
|
||||
# (when available), it could use the extended names introduced for xterm.
|
||||
mlterm+pcfkeys|fragment for PC-style fkeys,
|
||||
kLFT=\EO1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO1;2C,
|
||||
kDN=\EO1;2B, kDN5=\EO1;5B, kDN6=\EO1;6B, kIC5=\E[2;5~,
|
||||
kIC6=\E[2;6~, kLFT5=\EO1;5D, kLFT6=\EO1;6D,
|
||||
kNXT5=\E[6;5~, kNXT6=\E[6;6~, kPRV5=\E[5;5~,
|
||||
kPRV6=\E[5;6~, kRIT5=\EO1;5C, kRIT6=\EO1;6C, kUP=\EO1;2A,
|
||||
kUP5=\EO1;5A, kUP6=\EO1;6A,
|
||||
|
||||
# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
|
||||
# Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
|
||||
@ -3607,7 +3684,7 @@ mlterm|multi lingual terminal emulator,
|
||||
#
|
||||
# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
|
||||
# Since rxvt is not really compatible with xterm, it should be configured as
|
||||
# "rxvt" (monochrome) and "rxvt-color".
|
||||
# "rxvt" or "rxvt-color".
|
||||
#
|
||||
# removed dch/dch1 because they are inconsistent with bce/ech -TD
|
||||
# remove km as per tack test -TD
|
||||
@ -3677,6 +3754,7 @@ rxvt-basic|rxvt terminal base (X Window System),
|
||||
# F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @
|
||||
# F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @
|
||||
# F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @
|
||||
#
|
||||
# Application
|
||||
# Up ESC [ A ESC [ a ESC O a ESC O A
|
||||
# Down ESC [ B ESC [ b ESC O b ESC O B
|
||||
@ -3704,10 +3782,18 @@ rxvt-basic|rxvt terminal base (X Window System),
|
||||
# XK_KP_8 8 ESC O x
|
||||
# XK_KP_9 9 ESC O y
|
||||
#
|
||||
# The source-code for rxvt actually defines mappings for F21-F35, using
|
||||
# "ESC [ 35 ~" to "ESC [ 49 ~". Keyboards with more than 12 function keys
|
||||
# are rare, so this entry uses the shift- and control-modifiers as in
|
||||
# xterm+pcfkeys to define keys past F12.
|
||||
#
|
||||
# kIC is normally not used, since rxvt performs a paste for that (shifted
|
||||
# insert), unless private mode 35 is set.
|
||||
#
|
||||
# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD
|
||||
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
|
||||
rxvt+pcfkeys|fragment for PC-style fkeys,
|
||||
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E2$, kLFT=\E[d,
|
||||
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
|
||||
kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
|
||||
kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^,
|
||||
kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
|
||||
@ -3722,7 +3808,10 @@ rxvt+pcfkeys|fragment for PC-style fkeys,
|
||||
kf41=\E[33\^, kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@,
|
||||
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
|
||||
kfnd=\E[1~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
|
||||
kslt=\E[4~, kDN=\E[b, kDN5=\EOb, kLFT5=\EOd, kRIT5=\EOc,
|
||||
kslt=\E[4~, kDC5=\E[3\^, kDC6=\E[3@, kDN=\E[b, kDN5=\EOb,
|
||||
kEND5=\E[8\^, kEND6=\E[8@, kHOM5=\E[7\^, kHOM6=\E[7@,
|
||||
kIC5=\E[2\^, kIC6=\E[2@, kLFT5=\EOd, kNXT5=\E[6\^,
|
||||
kNXT6=\E[6@, kPRV5=\E[5\^, kPRV6=\E[5@, kRIT5=\EOc,
|
||||
kUP=\E[a, kUP5=\EOa,
|
||||
|
||||
rxvt|rxvt terminal emulator (X Window System),
|
||||
@ -3747,6 +3836,13 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw
|
||||
rxvt-16color|xterm with 16 colors like aixterm,
|
||||
ncv#32, use=ibm+16color, use=rxvt,
|
||||
|
||||
# mrxvt 0.5.3
|
||||
#
|
||||
# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
|
||||
# makes its function-keys different from other flavors of rxvt -TD
|
||||
mrxvt|multitabbed rxvt,
|
||||
use=xterm+pcc2, use=xterm+r6f2, use=rxvt,
|
||||
|
||||
# From: Michael Jennings <mej@valinux.com>
|
||||
#
|
||||
# Eterm 0.9.3
|
||||
@ -15183,6 +15279,82 @@ ncr7901|ncr 7901 model,
|
||||
sgr0=^O, smso=\E0Q\016, smul=\E0`\016,
|
||||
vpa=\013%p1%{64}%+%c,
|
||||
|
||||
# Newbury Data Recording Limited (Newbury Data)
|
||||
#
|
||||
# Have been manufacturing and reselling various peripherals for a long time
|
||||
# They don't make terminals anymore, but are still in business (in 2007).
|
||||
# Their e-mail address is at ndsales@newburydata.co.uk
|
||||
# and their post address is:
|
||||
#
|
||||
# Newbury Data Recording Ltd,
|
||||
# Premier Park, Road One,
|
||||
# Winsford, Cheshire, CW7 3PT
|
||||
#
|
||||
# Their technical support is still good, they sent me for free a printed copy
|
||||
# of the 9500 user manual and I got it just 1 week after I first contacted them
|
||||
# (in 2005)!
|
||||
|
||||
# NDR 9500
|
||||
# Manufactured in the early/mid eighties, behaves almost the same as a
|
||||
# Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but
|
||||
# keep the same keyboard layout), add an optional 25-line mode, replace the DIP
|
||||
# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC !
|
||||
# 2), here is the NDR 9500. Even the line-lock, albeit disabled, is
|
||||
# recognized: if you type in "ESC !", the next (third) character is not
|
||||
# echoed, showing that the terminal was actually waiting for a parameter!
|
||||
ndr9500|nd9500|Newbury Data 9500,
|
||||
am, bw, hs, mc5i, mir, msgr, ul, xon,
|
||||
cols#80, lines#24, wsl#79,
|
||||
acsc=qKnImAjDwNuLtMvOlBkCxJ, bel=^G, cbt=\EI, civis=\E.0,
|
||||
clear=\E;, cnorm=\E.1, cr=^M, cub1=^H, cud1=^V, cuf1=^L,
|
||||
cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
|
||||
dim=\E), dl1=\ER, dsl=\Eh, ed=\EY, el=\ET,
|
||||
flash=\Eb$<50/>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1,
|
||||
ich1=\EQ, il1=\EE, ind=^J, is2=\Ew\E'\EDF\El\Er\EO,
|
||||
kDC=\Er, kDL=\EO, kEOL=\Et, kIC=\Eq, kcbt=\EI, kclr=^Z,
|
||||
kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
|
||||
ked=\EY, kel=\ET, kent=^M, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
|
||||
kf12=^A`\r, kf13=^Aa\r, kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r,
|
||||
kf17=^Ae\r, kf18=^Af\r, kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r,
|
||||
kf21=^Ai\r, kf22=^Aj\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, kprt=\EP, mc4=\Ea, mc5=\E`, nel=^_,
|
||||
pfloc=\E|%{48}%p1%+%c2%p2\031,
|
||||
pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej,
|
||||
rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
|
||||
sgr=\E%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
|
||||
sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
|
||||
tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H,
|
||||
|
||||
ndr9500-nl|NDR 9500 with no status line,
|
||||
hs@,
|
||||
wsl@,
|
||||
dsl@, fsl@, tsl@, use=ndr9500,
|
||||
|
||||
ndr9500-25|NDR 9500 with 25th line enabled,
|
||||
lines#25, use=ndr9500,
|
||||
|
||||
ndr9500-25-nl|NDR 9500 with 25 lines and no status line,
|
||||
lines#25, use=ndr9500-nl,
|
||||
|
||||
ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink),
|
||||
msgr@,
|
||||
xmc#1,
|
||||
blink=\EG2, invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0,
|
||||
sgr=\E%%\E(%?%p5%p8%|%t\E)%;%?%p9%t\E$%;\EG%{48}%?%p7%t%{1}%+%;%?%p4%t%{2}%+%;%?%p3%p1%|%t%{4}%+%;%?%p2%t%{8}%+%;%c,
|
||||
sgr0=\EG0\E%%\E(, smso=\EG4, smul=\EG8, use=ndr9500,
|
||||
|
||||
ndr9500-25-mc|NDR 500 with 25 lines and magic cookies,
|
||||
lines#25, use=ndr9500-mc,
|
||||
|
||||
ndr9500-mc-nl|NDR 9500 with magic cookies and no status line,
|
||||
hs@,
|
||||
wsl@,
|
||||
dsl@, fsl@, tsl@, use=ndr9500-mc,
|
||||
|
||||
ndr9500-25-mc-nl|NDR 9500 with 25 lines and magic cookies and no status line,
|
||||
lines#25, use=ndr9500-mc-nl,
|
||||
|
||||
#### Perkin-Elmer (Owl)
|
||||
#
|
||||
# These are official terminfo entries from within Perkin-Elmer.
|
||||
@ -18147,19 +18319,19 @@ h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor,
|
||||
h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19,
|
||||
OTbs, am, eslok, hs, mir, msgr,
|
||||
cols#80, it#8, lines#24,
|
||||
acsc=, bel=^G, clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB,
|
||||
cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
|
||||
cvvis=\Ex4, dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH,
|
||||
ht=^I, ind=^J, ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB,
|
||||
kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
|
||||
kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue,
|
||||
lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
|
||||
smacs=\EF, smir=\E@, smso=\Ep,
|
||||
tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo,
|
||||
acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{, bel=^G,
|
||||
clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC,
|
||||
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ex4,
|
||||
dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, ind=^J,
|
||||
ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
|
||||
kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW,
|
||||
kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, lf7=red,
|
||||
lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
|
||||
smir=\E@, smso=\Ep, tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo,
|
||||
h19-u|heathkit with underscore cursor,
|
||||
cnorm@, cvvis@, use=h19-b,
|
||||
h19-g|h19g|heathkit w/block cursor,
|
||||
cnorm=\Ex4, use=h19-b,
|
||||
cnorm=\Ex4, cvvis@, use=h19-b,
|
||||
alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19,
|
||||
lines#60,
|
||||
dl1=\EM, il1=\EL, use=h19,
|
||||
@ -18285,14 +18457,15 @@ z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor,
|
||||
z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc,
|
||||
OTbs, OTpt, mir, msgr,
|
||||
OTkn#10, cols#80, it#8, lines#24,
|
||||
acsc=, clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB,
|
||||
cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>,
|
||||
cuu1=\EA, cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>,
|
||||
ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H,
|
||||
kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES,
|
||||
kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
|
||||
kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
|
||||
smacs=\EF, smir=\E@, smso=\Ep,
|
||||
acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{,
|
||||
clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, cuf1=\EC,
|
||||
cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, cuu1=\EA,
|
||||
cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, ed=\EJ, el=\EK,
|
||||
home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, kcub1=\ED, kcud1=\EB,
|
||||
kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, kf2=\ET, kf3=\EU,
|
||||
kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EOI,
|
||||
khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF,
|
||||
smir=\E@, smso=\Ep,
|
||||
p19|h19-b with il1/dl1,
|
||||
dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b,
|
||||
# From: <ucscc!B.fiatlux@ucbvax.berkeley.edu>
|
||||
@ -20696,6 +20869,99 @@ v3220|LANPAR Vision II model 3220/3221/3222,
|
||||
# * Back off the xterm entry to use r6 as a base.
|
||||
# 9.13.22 (Sat Nov 30 11:51:31 EST 1996):
|
||||
# * Added dec-vt220 at Adrian Garside's request.
|
||||
#
|
||||
#-(original-changelog-1996/12/29-to-1998/02/28-by-TD)---------------------------
|
||||
#
|
||||
# 10.1.0 (Sun Dec 29 02:36:31 EST 1996): withdrawn
|
||||
# * Minor corrections to xterm entries.
|
||||
# * Replaced EWAN telnet entry.
|
||||
# * Dropped the reorder script generator. It was a fossil.
|
||||
# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
|
||||
# * Replaced minitel-2 entry.
|
||||
# * Added MGR, ansi-nt.
|
||||
# 9.13.24 (Sun Feb 23 20:55:23 EST 1997):
|
||||
# * Thorsten Lockert added termcap `bs' to a lot of types, working from
|
||||
# the 4.4BSD Lite2 file.
|
||||
#
|
||||
# 10.1.1 (Sat May 3 21:41:27 EDT 1997):
|
||||
# * Use setaf/setab consistently with SVr4.
|
||||
# * Remove ech, el1 from cons25w, they do not work in FreeBSD 2.1.5
|
||||
# 10.1.2 (Sat May 24 21:10:57 EDT 1997)
|
||||
# * update xterm-xf86-v32 to match XFree86 3.2A (changes F1-F4)
|
||||
# * add xterm-16color, for XFree86 3.3
|
||||
# 10.1.3 (Sat May 31 12:21:05 EDT 1997)
|
||||
# * correct typo in emu
|
||||
# * correct typo in vt102-w (Robert Wuest)
|
||||
# * make new entry xterm-xf86-v33, restored xterm-xf86-v32.
|
||||
# 10.1.4 (Sun Jun 15 08:29:05 EDT 1997)
|
||||
# * remove ech capability from rxvt (it does the wrong thing)
|
||||
# 10.1.5 (Sat Jun 28 21:34:36 EDT 1997)
|
||||
# * remove spurious newlines from several entries (hp+color, wy50,
|
||||
# wy350, wy370-nk, wy99gt-tek, wy370-tek, ibm3161, tek4205, ctrm,
|
||||
# gs6300)
|
||||
# 10.1.6 (Sat Jul 5 15:08:16 EDT 1997)
|
||||
# * correct rmso capability of wy50-mc
|
||||
# 10.1.7 (Sat Jul 12 20:05:55 EDT 1997)
|
||||
# * add cbt to xterm-xf86-v32
|
||||
# * disentangle some entries from 'xterm', preferring xterm-r6 in case
|
||||
# 'xterm' is derived from xterm-xf86-v32, which implements ech and
|
||||
# other capabilities not in xterm-r6.
|
||||
# * remove alternate character set from kterm entry.
|
||||
# 10.1.8 (Sat Aug 2 18:43:18 EDT 1997)
|
||||
# * correct acsc entries for ACS_LANTERN, which is 'i', not 'I'.
|
||||
# 10.1.9 (Sat Aug 23 17:54:38 EDT 1997)
|
||||
# * add xterm-8bit entry.
|
||||
# 10.1.10 (Sat Oct 4 18:17:13 EDT 1997)
|
||||
# * repair several places where early version of tic replaced \, with \\\,
|
||||
# * make acsc entries canonical form (sorted, uniq).
|
||||
# * modify acsc entries for linux, linux-koi8
|
||||
# * new rxvt entry, from corrected copy of distribution in rxvt 2.21b
|
||||
# * add color, mouse support to kterm.
|
||||
# 10.1.11 (Sat Oct 11 14:57:10 EDT 1997)
|
||||
# * correct wy120 smxon/tbc capabilities which were stuck together.
|
||||
# 10.1.12 (Sat Oct 18 17:38:41 EDT 1997)
|
||||
# * add entry for xterm-xf86-v39t
|
||||
# 10.1.13 (Sat Nov 8 13:43:33 EST 1997)
|
||||
# * add u8,u9 to sun-il description
|
||||
# 10.1.14 (Sat Nov 22 19:59:03 EST 1997)
|
||||
# * add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
|
||||
# version.
|
||||
# * add hds200 description (Walter Skorski)
|
||||
# * add EMX 0.9b descriptions
|
||||
# * correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
|
||||
# * rename xhpterm back to hpterm.
|
||||
# 10.1.15 (Sat Nov 29 19:21:59 EST 1997)
|
||||
# * change initc in linux-c-nc to use 0..1000 range.
|
||||
# 10.1.16 (Sat Dec 13 19:41:59 EST 1997)
|
||||
# * remove hpa/vpa from rxvt, which implements them incorrectly.
|
||||
# * add sgr0 for rxvt.
|
||||
# * remove bogus smacs/rmacs from EMX descriptions.
|
||||
# 10.1.17 (Sat Dec 20 17:54:10 EST 1997)
|
||||
# * revised entry for att7300
|
||||
# 10.1.18 (Sat Jan 3 17:58:49 EST 1998)
|
||||
# * use \0 rather than \200.
|
||||
# * rename rxvt-color to rxvt to match rxvt 2.4.5 distribution.
|
||||
# 10.1.19 (Sat Jan 17 14:24:57 EST 1998)
|
||||
# * change xterm (xterm-xf86-v40), xterm-8bit rs1 to use hard reset.
|
||||
# * rename xterm-xf86-v39t to xterm-xf86-v40
|
||||
# * remove bold/underline from sun console entries since they're not
|
||||
# implemented.
|
||||
# 10.1.20 (Sat Jan 24 11:02:51 EST 1998)
|
||||
# * add beterm entry (Fred Fish)
|
||||
# * add irix-color/xwsh entry.
|
||||
# * turn ncv off for linux.
|
||||
# 10.1.21 (Sat Jan 31 17:39:16 EST 1998)
|
||||
# * set ncv for FreeBSD console (treat colors with reverse specially).
|
||||
# * remove sgr string from qnx based on report by Xiaodan Tang
|
||||
# 10.1.22 (Wed Feb 11 18:40:12 EST 1998)
|
||||
# * remove spurious commas from descriptions
|
||||
# * correct xterm-8bit to match XFree86 3.9Ad F1-F4.
|
||||
# 10.1.23 (Sat Feb 28 17:48:38 EST 1998)
|
||||
# * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc,
|
||||
# apparently based on cp-866).
|
||||
#
|
||||
#-(replaced-changelog-1998/02/28-by-ESR)----------------------------------------
|
||||
#
|
||||
# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
|
||||
# * Replaced minitel-2 entry.
|
||||
# * Added MGR, ansi-nt.
|
||||
@ -20748,6 +21014,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
|
||||
# * Incorporated att700 from the Boundless Technology FTP site.
|
||||
# * Miscellaneous contact-address and Web-page updates.
|
||||
#
|
||||
#-(changelog-beginning-ncurses-4.2)---------------------------------------------
|
||||
#
|
||||
# 1998/5/9
|
||||
# * add nxterm and xterm-color terminfo description (request by Cristian
|
||||
# Gafton <gafton@redhat.com>).
|
||||
@ -21309,6 +21577,36 @@ v3220|LANPAR Vision II model 3220/3221/3222,
|
||||
# * add several GNU Screen variations with 16- and 256-colors, and
|
||||
# status line (Alain Bench).
|
||||
#
|
||||
# 2007-03-03
|
||||
# * add Newbury Data entries (Jean-Charles Billaud).
|
||||
#
|
||||
# 2007-06-10
|
||||
# * corrected xterm+pcf2 modifiers for F1-F4, match xterm #226 -TD
|
||||
#
|
||||
# 2007-07-14
|
||||
# * restore section of pre-ncurses-4.2 changelog to fix attribution -TD
|
||||
# * add konsole-256color entry -TD
|
||||
#
|
||||
# 2007-08-18
|
||||
# * add 9term entry (request by Juhapekka Tolvanen) -TD
|
||||
#
|
||||
# 2007-10-13
|
||||
# * correct kIC in rxvt+pcfkeys (prompted by Debian #446444) -TD
|
||||
# * add shift-control- and control-modified keys for rxvt editing
|
||||
# keypad -TD
|
||||
# * update mlterm entry to 2.9.3 -TD
|
||||
# * add mlterm+pcfkeys -TD
|
||||
#
|
||||
# 2007-10-20
|
||||
# * move kLFT, kRIT, kind and kri capabilities from xterm-new to
|
||||
# xterm+pcc0, etc., to make the corresponding building blocks reflect
|
||||
# xterm's capabilities -TD
|
||||
# * add mrxvt entry -TD
|
||||
# * add xterm+r6f2, use in mlterm and mrxvt entries -TD
|
||||
#
|
||||
# 2007-11-03
|
||||
# * correct acsc strings for h19 and z100 (Benjamin Sittler)
|
||||
#
|
||||
# The following sets edit modes for GNU EMACS.
|
||||
# Local Variables:
|
||||
# fill-prefix:"\t"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# $Id: mk-1st.awk,v 1.68 2006/10/08 00:14:08 tom Exp $
|
||||
# $Id: mk-1st.awk,v 1.78 2007/03/24 22:10:55 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. #
|
||||
# Copyright (c) 1998-2006,2007 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"), #
|
||||
@ -37,9 +37,12 @@
|
||||
# model (directory into which we compile, e.g., "obj")
|
||||
# prefix (e.g., "lib", for Unix-style libraries)
|
||||
# suffix (e.g., "_g.a", for debug libraries)
|
||||
# subset ("none", "base", "base+ext_funcs" or "termlib")
|
||||
# subset ("none", "base", "base+ext_funcs" or "termlib", etc.)
|
||||
# ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable)
|
||||
# ShlibVerInfix ("yes" or "no", determines location of version #)
|
||||
# TermlibRoot ("tinfo" or other root for libterm.so)
|
||||
# TermlibSuffix (".so" or other suffix for libterm.so)
|
||||
# ReLink ("yes", or "no", flag to rebuild shared libs on install)
|
||||
# DoLinks ("yes", "reverse" or "no", flag to add symbolic links)
|
||||
# rmSoLocs ("yes" or "no", flag to add extra clean target)
|
||||
# ldconfig (path for this tool, if used)
|
||||
@ -52,6 +55,64 @@
|
||||
# Mixed-case variable names are ok.
|
||||
# HP/UX requires shared libraries to have executable permissions.
|
||||
#
|
||||
function is_ticlib() {
|
||||
return ( subset ~ /^ticlib$/ );
|
||||
}
|
||||
function is_termlib() {
|
||||
return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ );
|
||||
}
|
||||
# see lib_name
|
||||
function lib_name_of(a_name) {
|
||||
return sprintf("%s%s%s", prefix, a_name, suffix)
|
||||
}
|
||||
# see imp_name
|
||||
function imp_name_of(a_name) {
|
||||
if (ShlibVerInfix == "cygdll") {
|
||||
result = sprintf("%s%s%s.a", prefix, a_name, suffix);
|
||||
} else {
|
||||
result = "";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
# see abi_name
|
||||
function abi_name_of(a_name) {
|
||||
if (ShlibVerInfix == "cygdll") {
|
||||
result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix);
|
||||
} else if (ShlibVerInfix == "yes") {
|
||||
result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix);
|
||||
} else {
|
||||
result = sprintf("%s.$(ABI_VERSION)", lib_name_of(a_name));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
# see rel_name
|
||||
function rel_name_of(a_name) {
|
||||
if (ShlibVerInfix == "cygdll") {
|
||||
result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix);
|
||||
} else if (ShlibVerInfix == "yes") {
|
||||
result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix);
|
||||
} else {
|
||||
result = sprintf("%s.$(REL_VERSION)", lib_name_of(a_name));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
# see end_name
|
||||
function end_name_of(a_name) {
|
||||
if ( MODEL != "SHARED" ) {
|
||||
result = lib_name_of(a_name);
|
||||
} else if ( DoLinks == "reverse") {
|
||||
result = lib_name_of(a_name);
|
||||
} else {
|
||||
if ( ShlibVer == "rel" ) {
|
||||
result = rel_name_of(a_name);
|
||||
} else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) {
|
||||
result = abi_name_of(a_name);
|
||||
} else {
|
||||
result = lib_name_of(a_name);
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
function symlink(src,dst) {
|
||||
if ( src != dst ) {
|
||||
printf "rm -f %s; ", dst
|
||||
@ -64,19 +125,19 @@ function rmlink(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);
|
||||
}
|
||||
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);
|
||||
}
|
||||
if ( ShlibVer == "rel" ) {
|
||||
rmlink(directory, abi_name);
|
||||
rmlink(directory, lib_name);
|
||||
} else if ( ShlibVer == "abi" ) {
|
||||
rmlink(directory, lib_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
function make_shlib(objs, shlib_list) {
|
||||
@ -103,27 +164,53 @@ function sharedlinks(directory) {
|
||||
printf ")\n"
|
||||
}
|
||||
}
|
||||
function shlib_rule(directory) {
|
||||
if ( ShlibVer == "cygdll" ) {
|
||||
dst_libs = sprintf("%s/$(SHARED_LIB) %s/$(IMPORT_LIB)", directory, directory);
|
||||
} else {
|
||||
dst_libs = sprintf("%s/%s", directory, end_name);
|
||||
# termlib may be named explicitly via "--with-termlib=XXX", which overrides
|
||||
# any suffix. Temporarily override "suffix" to account for this.
|
||||
function termlib_end_of() {
|
||||
termlib_save_suffix = suffix;
|
||||
suffix = TermlibSuffix;
|
||||
termlib_temp_result = end_name_of(TermlibRoot);
|
||||
suffix = termlib_save_suffix;
|
||||
return termlib_temp_result;
|
||||
}
|
||||
function shlib_build(directory) {
|
||||
dst_libs = sprintf("%s/%s", directory, end_name);
|
||||
printf "%s : \\\n", dst_libs
|
||||
printf "\t\t%s \\\n", directory
|
||||
if (subset ~ /^base/ || subset == "ticlib" ) {
|
||||
save_suffix = suffix
|
||||
sub(/^[^.]\./,".",suffix)
|
||||
if (directory != "../lib") {
|
||||
printf "\t\t%s/%s \\\n", "../lib", termlib_end_of();
|
||||
}
|
||||
printf "\t\t%s/%s \\\n", directory, termlib_end_of();
|
||||
suffix = save_suffix
|
||||
}
|
||||
printf "%s : %s $(%s_OBJS)\n", dst_libs, directory, OBJS
|
||||
printf "\t\t$(%s_OBJS)\n", OBJS
|
||||
printf "\t@echo linking $@\n"
|
||||
print "\t-@rm -f %s", dst_libs;
|
||||
if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) {
|
||||
make_shlib(OBJS, "TINFO_LIST")
|
||||
if ( is_ticlib() ) {
|
||||
make_shlib(OBJS, "TICS_LIST")
|
||||
} else if ( is_termlib() ) {
|
||||
make_shlib(OBJS, "TINFO_LIST")
|
||||
} else {
|
||||
make_shlib(OBJS, "SHLIB_LIST")
|
||||
make_shlib(OBJS, "SHLIB_LIST")
|
||||
}
|
||||
sharedlinks(directory)
|
||||
}
|
||||
function shlib_install(directory) {
|
||||
src_lib1 = sprintf("../lib/%s", end_name);
|
||||
dst_lib1 = sprintf("%s/%s", directory, end_name);
|
||||
printf "%s : \\\n", dst_lib1
|
||||
printf "\t\t%s \\\n", directory
|
||||
printf "\t\t%s\n", src_lib1
|
||||
printf "\t@echo installing $@\n"
|
||||
printf "\t$(INSTALL_LIB) %s %s\n", src_lib1, dst_lib1;
|
||||
sharedlinks(directory)
|
||||
}
|
||||
function install_dll(directory,filename) {
|
||||
src_name = sprintf("../lib/%s", filename);
|
||||
dst_name = sprintf("$(DESTDIR)%s/%s", directory, filename);
|
||||
printf "\t@echo installing %s as %s\n", src_name, dst_name
|
||||
printf "\t-@rm -f %s\n", dst_name
|
||||
if ( directory == "$(bindir)" ) {
|
||||
program = "$(INSTALL) -m 755";
|
||||
} else {
|
||||
@ -153,6 +240,9 @@ BEGIN {
|
||||
printf "# subset: %s\n", subset
|
||||
printf "# ShlibVer: %s\n", ShlibVer
|
||||
printf "# ShlibVerInfix: %s\n", ShlibVerInfix
|
||||
printf "# TermlibRoot: %s\n", TermlibRoot
|
||||
printf "# TermlibSuffix: %s\n", TermlibSuffix
|
||||
printf "# ReLink: %s\n", ReLink
|
||||
printf "# DoLinks: %s\n", DoLinks
|
||||
printf "# rmSoLocs: %s\n", rmSoLocs
|
||||
printf "# ldconfig: %s\n", ldconfig
|
||||
@ -163,7 +253,9 @@ BEGIN {
|
||||
}
|
||||
using = 1
|
||||
}
|
||||
if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) {
|
||||
if ( is_ticlib() ) {
|
||||
OBJS = MODEL "_P"
|
||||
} else if ( is_termlib() ) {
|
||||
OBJS = MODEL "_T"
|
||||
} else {
|
||||
OBJS = MODEL
|
||||
@ -205,33 +297,15 @@ END {
|
||||
if ( found == 1 )
|
||||
{
|
||||
print ""
|
||||
lib_name = sprintf("%s%s%s", prefix, name, suffix)
|
||||
lib_name = lib_name_of(name);
|
||||
if ( MODEL == "SHARED" )
|
||||
{
|
||||
if (ShlibVerInfix == "cygdll") {
|
||||
abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix);
|
||||
rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix);
|
||||
imp_name = sprintf("%s%s%s.a", prefix, name, suffix);
|
||||
} else if (ShlibVerInfix == "yes") {
|
||||
abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix);
|
||||
rel_name = sprintf("%s%s.$(REL_VERSION)%s", prefix, name, suffix);
|
||||
} else {
|
||||
abi_name = sprintf("%s.$(ABI_VERSION)", lib_name);
|
||||
rel_name = sprintf("%s.$(REL_VERSION)", lib_name);
|
||||
}
|
||||
if ( DoLinks == "reverse") {
|
||||
end_name = lib_name;
|
||||
} else {
|
||||
if ( ShlibVer == "rel" ) {
|
||||
end_name = rel_name;
|
||||
} else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) {
|
||||
end_name = abi_name;
|
||||
} else {
|
||||
end_name = lib_name;
|
||||
}
|
||||
}
|
||||
abi_name = abi_name_of(name);
|
||||
rel_name = rel_name_of(name);
|
||||
imp_name = imp_name_of(name);
|
||||
end_name = end_name_of(name);
|
||||
|
||||
shlib_rule("../lib")
|
||||
shlib_build("../lib")
|
||||
|
||||
print ""
|
||||
print "install \\"
|
||||
@ -249,7 +323,11 @@ END {
|
||||
lib_dir = "$(DESTDIR)$(libdir)";
|
||||
printf "install.%s :: %s/%s\n", name, lib_dir, end_name
|
||||
print ""
|
||||
shlib_rule(lib_dir)
|
||||
if ( ReLink == "yes" ) {
|
||||
shlib_build(lib_dir)
|
||||
} else {
|
||||
shlib_install(lib_dir)
|
||||
}
|
||||
}
|
||||
|
||||
if ( overwrite == "yes" && name == "ncurses" )
|
||||
@ -393,3 +471,4 @@ END {
|
||||
}
|
||||
}
|
||||
}
|
||||
# vile:ts=4 sw=4
|
||||
|
107
contrib/ncurses/mk-hdr.awk
Normal file
107
contrib/ncurses/mk-hdr.awk
Normal file
@ -0,0 +1,107 @@
|
||||
# $Id: mk-hdr.awk,v 1.2 2007/03/31 15:48:45 tom Exp $
|
||||
##############################################################################
|
||||
# Copyright (c) 2007 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 2007
|
||||
#
|
||||
# Generate install/uninstall rules for header files
|
||||
# Variables:
|
||||
# subset ("none", "base", "base+ext_funcs" or "termlib", etc.)
|
||||
# compat ("yes" or "no", flag to add link to curses.h
|
||||
#
|
||||
function basename(path) {
|
||||
sub(/^.*\//,"",path)
|
||||
return path;
|
||||
}
|
||||
BEGIN {
|
||||
found = 0
|
||||
using = 1
|
||||
count = 0
|
||||
}
|
||||
/^@/ {
|
||||
using = 0
|
||||
if (subset == "none") {
|
||||
using = 1
|
||||
} else if (index(subset,$2) > 0) {
|
||||
using = 1
|
||||
} else {
|
||||
using = 0
|
||||
}
|
||||
}
|
||||
/^[@#]/ {
|
||||
next
|
||||
}
|
||||
{
|
||||
if (using && NF != 0) {
|
||||
if (found == 0) {
|
||||
print ""
|
||||
print "# generated by mk-hdr.awk"
|
||||
printf "# subset: %s\n", subset
|
||||
printf "# compat: %s\n", compat
|
||||
print ""
|
||||
found = 1
|
||||
}
|
||||
data[count] = $1
|
||||
count = count + 1
|
||||
}
|
||||
}
|
||||
END {
|
||||
if ( count > 0 )
|
||||
{
|
||||
print "${DESTDIR}${includedir} :"
|
||||
print " sh ${srcdir}/../mkdirs.sh $@"
|
||||
print ""
|
||||
print "install \\"
|
||||
print "install.libs \\"
|
||||
print "install.includes :: ${AUTO_SRC} ${DESTDIR}${includedir} \\"
|
||||
|
||||
for (i = 0; i < count - 1; ++i) {
|
||||
printf " %s \\\n", data[i]
|
||||
}
|
||||
printf " %s\n", data[count - 1]
|
||||
|
||||
for (i = 0; i < count; ++i) {
|
||||
printf " @ (cd ${DESTDIR}${includedir} && rm -f %s) ; ../headers.sh ${INSTALL_DATA} ${DESTDIR}${includedir} ${srcdir} %s\n", basename(data[i]), data[i]
|
||||
if (data[i] == "curses.h" && compat == "yes") {
|
||||
printf " @ (cd ${DESTDIR}${includedir} && rm -f ncurses.h && ${LN_S} %s ncurses.h)\n", data[i]
|
||||
}
|
||||
}
|
||||
print ""
|
||||
print "uninstall \\"
|
||||
print "uninstall.libs \\"
|
||||
print "uninstall.includes ::"
|
||||
|
||||
for (i = 0; i < count; ++i) {
|
||||
printf " -@ (cd ${DESTDIR}${includedir} && rm -f %s)\n", basename(data[i])
|
||||
if (data[i] == "curses.h" && compat == "yes") {
|
||||
printf " -@ (cd ${DESTDIR}${includedir} && rm -f ncurses.h)\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# vile:ts=4 sw=4
|
51
contrib/ncurses/mkdirs.sh
Normal file
51
contrib/ncurses/mkdirs.sh
Normal file
@ -0,0 +1,51 @@
|
||||
#! /bin/sh
|
||||
# $Id: mkdirs.sh,v 1.5 2007/03/25 22:29:46 tom Exp $
|
||||
# -----------------------------------------------------------------------------
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
# Author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Last modified: 1994-03-25
|
||||
# Public domain
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
errstatus=0
|
||||
umask 022
|
||||
|
||||
for file in ${1+"$@"} ; do
|
||||
set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
|
||||
shift
|
||||
|
||||
pathcomp=
|
||||
for d in ${1+"$@"} ; do
|
||||
pathcomp="$pathcomp$d"
|
||||
case "$pathcomp" in
|
||||
-* ) pathcomp=./$pathcomp ;;
|
||||
esac
|
||||
|
||||
if test ! -d "$pathcomp"; then
|
||||
echo "mkdir $pathcomp" 1>&2
|
||||
case "$pathcomp" in
|
||||
[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: )
|
||||
;; # DOSISH systems
|
||||
* )
|
||||
mkdir "$pathcomp"
|
||||
errstatus=$?
|
||||
if test $errstatus != 0
|
||||
then
|
||||
# may have failed if invoked in a parallel "make -j# install"
|
||||
if test -d "$pathcomp"
|
||||
then
|
||||
errstatus=0
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
pathcomp="$pathcomp/"
|
||||
done
|
||||
done
|
||||
|
||||
exit $errstatus
|
||||
|
||||
# mkinstalldirs ends here
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user