ncurses 5.7 - patch 20100306

+ generate manpages for the *-config scripts, adapted from help2man
  (suggested by Sven Joachim).
+ use va_copy() in _nc_printf_string() to avoid conflicting use of
  va_list value in _nc_printf_length() (report by Wim Lewis).
This commit is contained in:
Thomas E. Dickey 2010-03-07 00:37:08 +00:00
parent 677412a37f
commit d49a800c7f
16 changed files with 659 additions and 314 deletions

View File

@ -1,7 +1,7 @@
#! /bin/sh
# $Id: adacurses-config.in,v 1.5 2009/01/11 00:08:19 tom Exp $
# $Id: adacurses-config.in,v 1.6 2010/03/06 21:05:01 tom Exp $
##############################################################################
# Copyright (c) 2007,2009 Free Software Foundation, Inc. #
# Copyright (c) 2007-2009,2010 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"), #
@ -43,22 +43,37 @@ VERSION=@NCURSES_MAJOR@.@NCURSES_MINOR@.@NCURSES_PATCH@
CFLAGS="-I$ADA_INCLUDE -aO$ADA_OBJECTS"
LIBS="-L$ADA_OBJECTS -lAdaCurses"
THIS="adacurses"
case "x$1" in
x--version)
echo AdaCurses $VERSION
;;
x--cflags)
echo $CFLAGS
;;
x--libs)
echo $LIBS
;;
x)
# if no parameter is given, give what gnatmake needs
echo "$CFLAGS -i -largs $LIBS"
;;
*)
echo 'Usage: adacurses@DFT_ARG_SUFFIX@-config [--version | --cflags | --libs]' >&2
exit 1
;;
x--version)
echo AdaCurses $VERSION
;;
x--cflags)
echo $CFLAGS
;;
x--libs)
echo $LIBS
;;
x)
# if no parameter is given, give what gnatmake needs
echo "$CFLAGS -i -largs $LIBS"
;;
x--help)
cat <<ENDHELP
Usage: ${THIS}-config [options]
Options:
--cflags echos the C compiler flags needed to compile with ${THIS}
--libs echos the libraries needed to link with ${THIS}
--version echos the release+patchdate version of ${THIS}
--help prints this message
ENDHELP
;;
*)
echo 'Usage: adacurses@DFT_ARG_SUFFIX@-config [--version | --cflags | --libs]' >&2
exit 1
;;
esac

View File

@ -533,6 +533,8 @@
./include/tic.h
./include/unctrl.h.in
./install-sh
./man/MKada_config.in
./man/MKncu_config.in
./man/MKterminfo.sh
./man/Makefile.in
./man/captoinfo.1m

8
NEWS
View File

@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.1507 2010/02/27 21:51:12 tom Exp $
-- $Id: NEWS,v 1.1509 2010/03/06 21:03:02 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -45,6 +45,12 @@ 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.
20100306
+ generate manpages for the *-config scripts, adapted from help2man
(suggested by Sven Joachim).
+ use va_copy() in _nc_printf_string() to avoid conflicting use of
va_list value in _nc_printf_length() (report by Wim Lewis).
20100227
+ add Ada95/configure script, to use in tar-file created by
Ada95/make-tar.sh

36
aclocal.m4 vendored
View File

@ -28,7 +28,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: aclocal.m4,v 1.491 2010/01/30 23:42:10 tom Exp $
dnl $Id: aclocal.m4,v 1.492 2010/03/06 18:47:56 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
@ -62,13 +62,13 @@ AC_DEFUN([AM_LANGINFO_CODESET],
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ADA_INCLUDE_DIRS version: 5 updated: 2006/10/14 15:23:15
dnl CF_ADA_INCLUDE_DIRS version: 6 updated: 2010/02/26 19:52:07
dnl -------------------
dnl Construct the list of include-options for the C programs in the Ada95
dnl binding.
AC_DEFUN([CF_ADA_INCLUDE_DIRS],
[
ACPPFLAGS="-I. -I../../include $ACPPFLAGS"
ACPPFLAGS="-I. -I../include -I../../include $ACPPFLAGS"
if test "$srcdir" != "."; then
ACPPFLAGS="-I\${srcdir}/../../include $ACPPFLAGS"
fi
@ -5259,6 +5259,36 @@ if test "$cf_cv_utf8_lib" = "add-on" ; then
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_VA_COPY version: 2 updated: 2010/03/04 05:37:29
dnl ----------
dnl check for va_copy, part of stdarg.h
dnl Also, workaround for glibc's __va_copy, by checking for both.
AC_DEFUN([CF_VA_COPY],[
AC_CACHE_CHECK(for va_copy, cf_cv_have_va_copy,[
AC_TRY_LINK([
#include <stdarg.h>
],[
static va_list dst;
static va_list src;
va_copy(dst, src)],
cf_cv_have_va_copy=yes,
cf_cv_have_va_copy=no)])
test "$cf_cv_have_va_copy" = yes && AC_DEFINE(HAVE_VA_COPY)
AC_CACHE_CHECK(for __va_copy, cf_cv_have___va_copy,[
AC_TRY_LINK([
#include <stdarg.h>
],[
static va_list dst;
static va_list src;
__va_copy(dst, src)],
cf_cv_have___va_copy=yes,
cf_cv_have___va_copy=no)])
test "$cf_cv_have___va_copy" = yes && AC_DEFINE(HAVE___VA_COPY)
])
dnl ---------------------------------------------------------------------------
dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12
dnl ----------
dnl Use AC_VERBOSE w/o the warnings

636
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -28,14 +28,14 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
dnl $Id: configure.in,v 1.484 2010/02/27 21:34:00 tom Exp $
dnl $Id: configure.in,v 1.487 2010/03/06 21:29:37 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.484 $)
AC_REVISION($Revision: 1.487 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
@ -1394,6 +1394,7 @@ CF_TYPE_SIGACTION
CF_SIZECHANGE
CF_FUNC_MEMMOVE
CF_FUNC_POLL
CF_VA_COPY
AC_FUNC_VFORK
# special check for test/ditto.c
@ -1870,6 +1871,7 @@ 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${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
fi
CF_DIRS_TO_MAKE
@ -1904,6 +1906,7 @@ test "$use_database" = yes && \
SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
if test x"$enable_pc_files" = xyes ; then \
SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"

View File

@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.748 2010/02/26 21:31:09 tom Exp $
# $Id: dist.mk,v 1.749 2010/03/06 17:59:20 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 = 7
NCURSES_PATCH = 20100227
NCURSES_PATCH = 20100306
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,6 +1,6 @@
# $Id: ncurses_defs,v 1.41 2008/11/16 00:19:59 juergen Exp $
# $Id: ncurses_defs,v 1.42 2010/03/06 18:08:33 tom Exp $
##############################################################################
# Copyright (c) 2000-2007,2008 Free Software Foundation, Inc. #
# Copyright (c) 2000-2008,2010 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"), #
@ -115,6 +115,7 @@ HAVE_SETBUF
HAVE_SETBUFFER
HAVE_SETUPTERM 1
HAVE_SETVBUF
HAVE_SGTTY_H
HAVE_SIGACTION
HAVE_SIGVEC
HAVE_SIZECHANGE

56
man/MKada_config.in Normal file
View File

@ -0,0 +1,56 @@
.\"***************************************************************************
.\" Copyright (c) 2010 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: MKada_config.in,v 1.3 2010/03/06 22:29:06 tom Exp $
.TH ADACURSES "1" "" "" "User Commands"
.SH NAME
adacurses-config \- helper script for AdaCurses libraries
.SH SYNOPSIS
.B adacurses-config
[\fIoptions\fR]
.SH DESCRIPTION
This is a shell script which simplifies configuring an application to use
the AdaCurses library binding to ncurses.
.SH OPTIONS
.TP
\fB\-\-cflags\fR
echos the gnat (Ada compiler) flags needed to compile with adacurses
.TP
\fB\-\-libs\fR
echos the gnat libraries needed to link with adacurses
.TP
\fB\-\-version\fR
echos the release+patchdate version of adacurses
.TP
\fB\-\-help\fR
prints this message
.SH "SEE ALSO"
\fBcurses\fR(3X)
.PP
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).

98
man/MKncu_config.in Normal file
View File

@ -0,0 +1,98 @@
.\"***************************************************************************
.\" Copyright (c) 2010 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: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp $
.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 ""
.SH NAME
@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config \- helper script for ncurses libraries
.SH SYNOPSIS
.B @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config
[\fIoptions\fR]
.SH DESCRIPTION
This is a shell script which simplifies configuring applications against
a particular set of ncurses libraries.
.SH OPTIONS
.TP
\fB\-\-prefix\fR
echos the package\-prefix of ncurses
.TP
\fB\-\-exec\-prefix\fR
echos the executable\-prefix of ncurses
.TP
\fB\-\-cflags\fR
echos the C compiler flags needed to compile with ncurses
.TP
\fB\-\-libs\fR
echos the libraries needed to link with ncurses
.TP
\fB\-\-version\fR
echos the release+patchdate version of ncurses
.TP
\fB\-\-abi\-version\fR
echos the ABI version of ncurses
.TP
\fB\-\-mouse\-version\fR
echos the mouse\-interface version of ncurses
.TP
\fB\-\-bindir\fR
echos the directory containing ncurses programs
.TP
\fB\-\-datadir\fR
echos the directory containing ncurses data
.TP
\fB\-\-includedir\fR
echos the directory containing ncurses header files
.TP
\fB\-\-libdir\fR
echos the directory containing ncurses libraries
.TP
\fB\-\-mandir\fR
echos the directory containing ncurses manpages
.TP
\fB\-\-terminfo\fR
echos the $TERMINFO terminfo database path, e.g.,
.RS
@TERMINFO@
.RE
.TP
\fB\-\-terminfo\-dirs\fR
echos the $TERMINFO_DIRS directory list, e.g.,
.RS
@TERMINFO_DIRS@
.RE
.TP
\fB\-\-termpath\fR
echos the $TERMPATH termcap list, if support for termcap is configured.
.TP
\fB\-\-help\fR
prints this message
.SH "SEE ALSO"
\fBcurses\fR(3X)
.PP
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).

View File

@ -1,6 +1,6 @@
# $Id: Makefile.in,v 1.41 2007/03/31 15:54:06 tom Exp $
# $Id: Makefile.in,v 1.42 2010/03/06 20:59:25 tom Exp $
##############################################################################
# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. #
# Copyright (c) 1998-2007,2010 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"), #
@ -77,4 +77,4 @@ clean: mostlyclean
sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed
distclean realclean: clean
rm -f Makefile ../edit_man.* ../man_alias.*
rm -f Makefile *-config.1 ../edit_man.* ../man_alias.*

View File

@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. #
# Copyright (c) 1998-2009,2010 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.43 2009/08/04 00:30:32 tom Exp $
# $Id: man_db.renames,v 1.45 2010/03/06 22:21:42 tom Exp $
# Manual-page renamings for the man_db program
#
# Files:
@ -175,4 +175,15 @@ system.3 system.3
regcomp.3x regcomp.3
regexec.3x regexec.3
#
# Generated:
adacurses-config.1 adacurses-config.1
#
ncurses5-config.1 ncurses5-config.1
ncursesw5-config.1 ncursesw5-config.1
#
ncurses6-config.1 ncurses6-config.1
ncursesw6-config.1 ncursesw6-config.1
ncursest6-config.1 ncursest6-config.1
ncurseswt6-config.1 ncurseswt6-config.1
#
# vile:cfgmode

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
* Copyright (c) 1998-2009,2010 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 @@
#include <curses.priv.h>
#include <ctype.h>
MODULE_ID("$Id: safe_sprintf.c,v 1.22 2009/04/18 18:46:46 tom Exp $")
MODULE_ID("$Id: safe_sprintf.c,v 1.23 2010/03/06 20:26:10 tom Exp $")
#if USE_SAFE_SPRINTF
@ -222,7 +222,12 @@ NCURSES_SP_NAME(_nc_printf_string) (NCURSES_SP_DCLx
if (fmt != 0) {
#if USE_SAFE_SPRINTF
int len = _nc_printf_length(fmt, ap);
va_list ap2;
int len;
begin_va_copy(ap2, ap);
len = _nc_printf_length(fmt, ap2);
end_va_copy(ap2);
if ((int) my_length < len + 1) {
my_length = 2 * (len + 1);

View File

@ -35,7 +35,7 @@
/*
* $Id: curses.priv.h,v 1.451 2010/02/06 19:15:52 tom Exp $
* $Id: curses.priv.h,v 1.452 2010/03/06 19:15:50 tom Exp $
*
* curses.priv.h
*
@ -177,6 +177,20 @@ extern NCURSES_EXPORT(int) _nc_env_access (void);
extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t);
#endif
/*
* If we have va_copy(), use it for assigning va_list's.
*/
#if defined(HAVE___VA_COPY)
#define begin_va_copy(dst,src) __va_copy(dst, src)
#define end_va_copy(dst) va_end(dst)
#elif defined(va_copy) || defined(HAVE_VA_COPY)
#define begin_va_copy(dst,src) va_copy(dst, src)
#define end_va_copy(dst) va_end(dst)
#else
#define begin_va_copy(dst,src) (dst) = (src)
#define end_va_copy(dst) /* nothing */
#endif
/*
* Scroll hints are useless when hashmap is used
*/

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 2007,2008 Free Software Foundation, Inc. *
* Copyright (c) 2007-2008,2010 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: demo_panels.c,v 1.33 2008/08/04 13:33:48 tom Exp $
* $Id: demo_panels.c,v 1.34 2010/03/06 18:14:04 tom Exp $
*
* Demonstrate a variety of functions from the panel library.
*/
@ -494,6 +494,7 @@ show_panels(PANEL * px[MAX_PANELS + 1])
PANEL *pan;
int j;
memset(table, 0, sizeof(table));
for (j = 1; j <= MAX_PANELS; ++j) {
table[j].valid = (px[j] != 0);
if (table[j].valid) {

View File

@ -40,7 +40,7 @@ AUTHOR
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
$Id: ncurses.c,v 1.355 2010/01/09 16:52:17 tom Exp $
$Id: ncurses.c,v 1.356 2010/03/06 18:45:14 tom Exp $
***************************************************************************/
@ -4761,12 +4761,13 @@ panner_legend(int line)
"Number repeats. Toggle legend:? filler:a timer:t scrollmark:s."
};
int n = ((int) SIZEOF(legend) - (LINES - line));
if (line < LINES && (n >= 0)) {
move(line, 0);
if (show_panner_legend)
printw("%s", legend[n]);
clrtoeol();
return show_panner_legend;
if (n >= 0) {
if (move(line, 0) != ERR) {
if (show_panner_legend)
printw("%s", legend[n]);
clrtoeol();
return show_panner_legend;
}
}
return FALSE;
}