Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
but mostly comprises patches to ease building on NetBSD pkgsrc. Tom Dickey
has been kind enough to accept our patches back into the main source tree.
Many thanks to him.
|
|
|
|
|
|
support for termcap, new extensions for color, several bug fixes, minor API
changes, buffer-overrun checks.
|
|
|
|
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.
|
|
do it.
|
|
We decided to release ncurses as a new whole number release (5.0)
because it incorporates several interface changes, including some that
would invalidate existing shared libraries. These are the highlights
from the change-log since ncurses 4.2 release.
Interface changes:
* The principal source of changes to the interface comes from the
release of X/Open Curses in 1997. Earlier versions of ncurses (4.0
and before) were based on a draft version of the specification.
The release version adds parameters to some functions to support
the evolving internationalization of curses. These summarize the
impact:
+ modified several prototypes to correspond with 1997 version
of X/Open Curses (affects ABI since developers have used
attr_get).
+ corrected prototypes for slk_* functions, using chtype rather
than attr_t.
+ the slk_attr_{set,off,on} functions need an additional void*
parameter according to XSI.
+ correct macros for wattr_set, wattr_get, separate wattrset
macro from these to preserve behavior that allows attributes
to be combined with color pair numbers.
+ reviewed/updated curses.h, term.h against X/Open Curses Issue
4 Version 2. This includes making some parameters
NCURSES_CONST rather than const, e.g., in termcap.h.
+ reviewed/corrected macros in curses.h as per XSI document.
+ add set_a_attributes and set_pglen_inch to terminfo
structure, as per XSI and Solaris 2.5.
* The newest version of the X/Open Curses is implemented on Solaris
and other vendor's systems. It adds new features to the terminfo
descriptions:
+ implement tparm %l format.
+ implement tparm printf-style width and precision for %s, %d,
%x, %o as per XSI.
* We made additional changes to reduce impact by future interface
changes:
+ rename key_names[] array to _nc_key_names since it is not
part of the curses interface.
+ move macro winch to a function, to hide details of struct
ldat
* modify configure script to embed ABI in shared libraries for HP-UX
10.x (detailed request by Tim Mooney).
* modify configuration of shared libraries on Digital Unix so that
versioning is embedded in the library, rather than implied by
links (patch by Tim Mooney).
New features:
* enable sigwinch handler by default.
* turn on hashmap scrolling code by default
* improved support for termcap applications
+ modify tput to accept termcap names as an alternative to
terminfo names.
+ provide support for termcap PC variable by copying it from
terminfo data and using it as the padding character in tputs.
+ provide support for termcap ospeed variable by copying it
from the internal cur_term member, and using ospeed as the
baudrate reference for the delay_output and tputs functions.
+ change name-comparisons in lib_termcap to compare no more
than 2 characters.
+ add configure option --enable-tcap-names, which essentially
allows users to define new capabilities as in termcap.
* add mouse support to ncurses menus.
* add mouse and dll support for OS/2 EMX
* modify terminfo parsing to accept octal and hexadecimal constants
* add configure option --enable-no-padding, to allow environment
variable $NCURSES_NO_PADDING to eliminate non-mandatory padding,
thereby making terminal emulators (e.g., for vt100) a little more
efficient.
* modify lib_color.c to eliminate dependency on orig_colors and
orig_pair, since SVr4 curses does not require these either, but
uses them when they are available.
* add -f option to infocmp and tic, which formats the terminfo
if/then/else/endif so that they are readable (with newlines and
tabs).
* modify tic to compile into %'char' form in preference to
%{number}, since that is a little more efficient.
Major bug fixes:
* modify lib_tstp.c to block SIGTTOU when handling SIGTSTP, fixes a
problem where ncurses applications which were run via a shell
script would hang when given a ^Z. Also, check if the terminal's
process group is consistent, i.e., a shell has not taken ownership
of it, before deciding to save the current terminal settings in
the SIGTSTP handler.
* suppress sc/rc capabilities from terminal description if they
appear in smcup/rmcup. This affects only scrolling optimization,
to fix a problem reported by several people with xterm's alternate
screen, though the problem is more general.
* modify relative_move and tputs to avoid an interaction with the
BSD-style padding. The relative_move function could produce a
string to replace on the screen which began with a numeric
character, which was then interpreted by tputs as padding.
* modify setupterm so that cancelled strings are treated the same as
absent strings, cancelled and absent booleans false (does not
affect tic, infocmp).
* modify lib_vidattr.c to allow for terminal types (e.g.,
xterm-color) which may reset all attributes in the 'op'
capability, so that colors are set before turning on bold and
other attributes, but still after turning attributes off.
* use 'access()' to check if ncurses library should be permitted to
open or modify files with fopen/open/link/unlink/remove calls, in
case the calling application is running in setuid mode.
* correction to doupdate, for case where terminal does not support
insert/delete character. The logic did not check that there was a
difference in alignment of changes to old/new screens before
repainting the whole non-blank portion of the line. Modified to
fall through into logic that reduces by the portion which does not
differ.
|
|
library. This was a side-effect of trying to deal with --with-cxx and
--without-cxx. We accept the default --with-cxx. This should work
regardless of whether libg++ exists.
|
|
|
|
Better to disable build for the demo explicitly.
|
|
|
|
ago. With this switch on, configure DTRT WRT the "bool" data type, resulting
in bizarre compile errors when using ncurses with c++ later:
/usr/pkg/include/ncurses.h:96: abstract declarator used as declaration
(caused by a "typedef bool;")
|
|
|
|
libncurses.la is listed first. This allows a previous installation
of ncurses to exist and have the build of the current ncurses still
find the correct libs.
|
|
appropriate (Johnny?) may want to put his name into the MAINTAINER
field.
|
|
a libg++ lying around.
|
|
|
|
* Libtoolize library build.
|
|
># XXX The following comment is somewhat incorrect. The package will build
># XXX correctly on alpha, and even build shared libs, but not quite correctly:
># XXX The shlibs have no SONAME, so references to them from programs
># XXX will end up being to libfoo.so. This may cause upgrade problems in the
># XXX future. However, an ncurses binary package appeared e.g. with 1.4,
># XXX seemingly built from these bits, so it's probably best to just enable
># XXX it for now. -- cgd 19990613
Note that that's a generic ELF problem, and not limited to the Alpha, as well.
|
|
pattern match format. Minor pkglint along the way.
|
|
|
|
on alpha. There may be more, but I haven't seen them yet.
|
|
- New, optional Makefile variable HOMEPAGE, specifies a URL for
the home page of the software if it has one.
- The value of HOMEPAGE is used to add a link from the
README.html files.
- pkglint updated to know about it. The "correct" location for
HOMEPAGE in the Makefile is after MAINTAINER, in that same
section.
|
|
|
|
|
|
|
|
${PREFIX}/lib/terminfo symlink, as we have no need for the
"compatibility".
|
|
Remove redundant (and sometimes erroneous) comments.
|
|
|
|
#include <ncurses.h>, not <curses.h>.
|
|
trailing '@') - pointed out by Rob Windsor. Move configure script
mods to patch-ab, and coalesce them.
|
|
have ${PREFIX}/lib in ld.so.conf instead. This ensures things
even work after a reboot.
|
|
|
|
there is another instance of "ncurses" e.g. in "/usr/local".
|
|
|
|
|
|
ldconfig||/usr/bin/true
|
|
intended to be in a shared object should not be compiled as
Position Independent Code.
Attempt to fix ncurses' man page problems once and for all. The
configure script tries to be smart, and checks the date(1) manual page
to see if it's been compressed, and, if it has been, installs ncurses
manual pages compressed. I've removed this check, so that all pages
are installed (as far as ncurses thinks) uncompressed, and then use
the standard pkgsrc mechanisms for compressing them.
|
|
|
|
Fixed after Frederick Bruckman <fb@enteract.com> told me via email.
|
|
/usr/pkg/man//man1/captoinfo.1.gz: No such file or directory
ncurses 1.9.9g doesn't install manpages in compressed form, so
no need to define MANCOMPRESSED (for folks that want their
manpages compressed, they shallt set MANZ!).
|
|
installed by this package. Don't remove non-existent directories, use
the correct names for manual pages (wresize.3, not curs_resize.3), use
the real directory names (share/terminfo/foo, not lib/terminfo/foo),
and use the correct names for the terminfo files.
|
|
reality, which allows the package to be installed without MANZ set
in the environment.
|
|
|
|
Add MANCOMPRESSED, as newer version gzips the manual pages.
Remember to merge the new shared objects in with ldconfig.
Add version numbers to the shared objects in the derived Makefiles.
|
|
|
|
Add section 5 and 7 manual pages and MAN[57] definitions.
Add standard format header, and fill in hubertf's name as maintainer
(you're welcome, Hubert).
|
|
|