./ncurses/llib-ltinfow
./ncurses/modules
./ncurses/new_pair.h
+./ncurses/report_offsets.c
./ncurses/tinfo/MKcaptab.awk
./ncurses/tinfo/MKcaptab.sh
./ncurses/tinfo/MKcodes.awk
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2847 2017/05/27 22:31:39 tom Exp $
+-- $Id: NEWS,v 1.2851 2017/06/03 23:27:40 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20170603
+ + add option to picsmap to use color-palette files, e.g., for mapping
+ to xterm-256color.
+ + move the data in SCREEN used for the alloc_pair() function to the
+ end, to restore compatibility between ncurses/ncursesw libtinfo
+ (report/patch by Miroslav Lichvar).
+ + add build-time utility "report_offsets" to help show when the various
+ configurations of tinfo library are compatible or not.
+
20170527
+ improved test/picsmap.c:
+ lookup named colors for xpm files in rgb.txt
-5:0:9 6.0 20170527
+5:0:9 6.0 20170603
#! /bin/sh
-# From configure.in Revision: 1.641 .
+# From configure.in Revision: 1.642 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by Autoconf 2.52.20150926.
+# Generated by Autoconf 2.52.20170501.
#
# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
# Free Software Foundation, Inc.
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.52.20150926. Invocation command line was
+generated by GNU Autoconf 2.52.20170501. Invocation command line was
$ $0 $@
#include "confdefs.h"
int
-main ()
+main (void)
{
;
#include "confdefs.h"
int
-main ()
+main (void)
{
;
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifndef __GNUC__
choke me
#include "confdefs.h"
int
-main ()
+main (void)
{
;
#include <stdlib.h>
$ac_declaration
int
-main ()
+main (void)
{
exit (42);
;
#include "confdefs.h"
$ac_declaration
int
-main ()
+main (void)
{
exit (42);
;
int argc;
char **argv;
int
-main ()
+main (void)
{
return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
;
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifndef __GNUC__
choke me
#include "confdefs.h"
int
-main ()
+main (void)
{
;
#include <stdlib.h>
$ac_declaration
int
-main ()
+main (void)
{
exit (42);
;
#include "confdefs.h"
$ac_declaration
int
-main ()
+main (void)
{
exit (42);
;
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello world!\n")
builtin and then its argument prototype would still apply. */
char Gpm_Open ();
int
-main ()
+main (void)
{
Gpm_Open ();
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char dlsym ();
int
-main ()
+main (void)
{
dlsym ();
;
#include "confdefs.h"
#include <dlfcn.h>
int
-main ()
+main (void)
{
void *obj;
builtin and then its argument prototype would still apply. */
char Gpm_Wgetch ();
int
-main ()
+main (void)
{
Gpm_Wgetch ();
;
#endif
int
-main ()
+main (void)
{
struct mouse_info the_mouse;
#include "confdefs.h"
int
-main ()
+main (void)
{
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
int x = 1
;
#include "confdefs.h"
int
-main ()
+main (void)
{
int i;
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello\n");
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello work\n");
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello");
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _XOPEN_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _XOPEN_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _DEFAULT_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _POSIX_C_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _POSIX_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _POSIX_C_SOURCE
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _XOPEN_SOURCE
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _XOPEN_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _POSIX_C_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _POSIX_SOURCE
#include "confdefs.h"
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _POSIX_C_SOURCE
#include "confdefs.h"
#include <stdlib.h>
int
-main ()
+main (void)
{
#ifndef _XOPEN_SOURCE
#include "confdefs.h"
#include <stdlib.h>
int
-main ()
+main (void)
{
#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _XOPEN_SOURCE
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifdef _XOPEN_SOURCE
#include <sys/signal.h>
int
-main ()
+main (void)
{
int x = SIGWINCH
;
#include <sys/signal.h>
int
-main ()
+main (void)
{
int x = SIGWINCH
;
#include <sys/signal.h>
int
-main ()
+main (void)
{
#if SIGWINCH != $cf_sigwinch
#include "confdefs.h"
#include <langinfo.h>
int
-main ()
+main (void)
{
char* cs = nl_langinfo(CODESET);
;
#endif
int
-main ()
+main (void)
{
wint_t foo = 0;
#include <sys/types.h>
int
-main ()
+main (void)
{
#ifndef _XOPEN_SOURCE_EXTENDED
#include <sys/types.h>
int
-main ()
+main (void)
{
#if _XOPEN_SOURCE_EXTENDED- < 0
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include <stdlib.h>
int
-main ()
+main (void)
{
putwc(0,0);
;
#include <libutf8.h>
int
-main ()
+main (void)
{
putwc(0,0);
;
#include <libutf8.h>
int
-main ()
+main (void)
{
putwc(0,0);
;
#include <libutf8.h>
int
-main ()
+main (void)
{
putwc(0,0);
;
#include <libutf8.h>
int
-main ()
+main (void)
{
putwc(0,0);
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello")
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
mbstate_t state
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
mbstate_t value
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
wchar_t state
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
wchar_t value
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
wint_t state
;
#include <libutf8.h>
#endif
int
-main ()
+main (void)
{
wint_t value
;
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
&& LARGE_OFF_T % 2147483647 == 1)
? 1 : -1];
int
-main ()
+main (void)
{
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
return !fseeko;
;
#define _LARGEFILE_SOURCE 1
#include <stdio.h>
int
-main ()
+main (void)
{
return !fseeko;
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
return fseeko && fseeko (stdin, 0, 0);
;
#include <dirent.h>
int
-main ()
+main (void)
{
/* if transitional largefile support is setup, this is true */
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
-main ()
+main (void)
{
int i;
for (i = 0; i < 256; i++)
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
if ((signed char *) 0)
return 0;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (signed char)) >= 0)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (signed char)) <= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (signed char)) >= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (signed char)) <= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
FILE *f = fopen ("conftest.val", "w");
if (!f)
#include <pthread.h>
int
-main ()
+main (void)
{
int rc = pthread_create(0,0,0,0);
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include <stdio.h>
int
-main ()
+main (void)
{
#if defined(__GNUC__)
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifdef __INTEL_COMPILER
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifdef __clang__
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifdef __INTEL_COMPILER
#include "confdefs.h"
int
-main ()
+main (void)
{
#ifdef __clang__
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char strlcat ();
int
-main ()
+main (void)
{
strlcat ();
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char dmalloc_debug ();
int
-main ()
+main (void)
{
dmalloc_debug ();
;
builtin and then its argument prototype would still apply. */
char debug_malloc ();
int
-main ()
+main (void)
{
debug_malloc ();
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char gettimeofday ();
int
-main ()
+main (void)
{
gettimeofday ();
;
#include <math.h>
int
-main ()
+main (void)
{
double x = rand(); printf("result = %g\n", pow(sin(x),x))
;
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int
-main ()
+main (void)
{
int i;
for (i = 0; i < 256; i++)
#include <$ac_hdr>
int
-main ()
+main (void)
{
if ((DIR *) 0)
return 0;
builtin and then its argument prototype would still apply. */
char opendir ();
int
-main ()
+main (void)
{
opendir ();
;
builtin and then its argument prototype would still apply. */
char opendir ();
int
-main ()
+main (void)
{
opendir ();
;
#include <time.h>
int
-main ()
+main (void)
{
if ((struct tm *) 0)
return 0;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char regcomp ();
int
-main ()
+main (void)
{
regcomp ();
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
builtin and then its argument prototype would still apply. */
char compile ();
int
-main ()
+main (void)
{
compile ();
;
#include "confdefs.h"
#include <$cf_regex_hdr>
int
-main ()
+main (void)
{
char *p = compile("", "", "", 0);
#include <sys/types.h>
#include <$cf_regex_hdr>
int
-main ()
+main (void)
{
regex_t *p;
#include <$cf_header>
int
-main ()
+main (void)
{
int x = optind; char *y = optarg
;
#include "confdefs.h"
int
-main ()
+main (void)
{
main ();
;
builtin and then its argument prototype would still apply. */
char bzero ();
int
-main ()
+main (void)
{
bzero ();
;
#endif
int
-main ()
+main (void)
{
;
#include "confdefs.h"
int
-main ()
+main (void)
{
/* FIXME: Include the comments suggested by Paul. */
#ifndef __cplusplus
#include "confdefs.h"
inline int foo(void) { return 1; }
int
-main ()
+main (void)
{
${cf_cv_main_return:-return} foo()
;
x = 5;
}
int
-main ()
+main (void)
{
signal(SIGINT, handler);
x = 1
#include "confdefs.h"
int
-main ()
+main (void)
{
long x = 1L + 1UL + 1U + 1
;
#include <sys/types.h>
#include <errno.h>
int
-main ()
+main (void)
{
int x = (int) errno
;
extern int errno;
int
-main ()
+main (void)
{
errno = 2
;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include <stdlib.h>
int
-main ()
+main (void)
{
char temp[128];
#pragma GCC diagnostic error "-Wincompatible-pointer-types-discards-qualifiers"
#include <stdlib.h>
int
-main ()
+main (void)
{
char temp[128];
#include "confdefs.h"
#include <ctype.h>
int
-main ()
+main (void)
{
int x = isascii(' ')
;
#include <sys/types.h>
#include <signal.h>
int
-main ()
+main (void)
{
struct sigaction act
;
#include <sys/types.h>
#include <signal.h>
int
-main ()
+main (void)
{
struct sigaction act
;
#include "confdefs.h"
#include <termios.h>
int
-main ()
+main (void)
{
struct termios foo; int x = foo.c_iflag
;
#define _POSIX_SOURCE
#include <termios.h>
int
-main ()
+main (void)
{
struct termios foo; int x = foo.c_iflag
;
#endif
int
-main ()
+main (void)
{
TTY foo;
#include <stdarg.h>
#include <stdio.h>
int
-main ()
+main (void)
{
va_list ap;
#include <stdarg.h>
#include <stdio.h>
int
-main ()
+main (void)
{
FILE strbuf;
#include <stdarg.h>
#include <stdio.h>
int
-main ()
+main (void)
{
FILE strbuf;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include <stdio.h>
/* If setvbuf has the reversed format, exit 0. */
int
-main ()
+main (void)
{
/* This call has the arguments reversed.
A reversed system may check and see that the address of main
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
if ((intptr_t *) 0)
return 0;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
if ((ssize_t *) 0)
return 0;
#include <signal.h>
int
-main ()
+main (void)
{
sigaction_t x
;
#endif
int
-main ()
+main (void)
{
#ifdef TIOCGSIZE
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
#include <stdarg.h>
int
-main ()
+main (void)
{
static va_list dst;
#include <stdarg.h>
int
-main ()
+main (void)
{
static va_list dst;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
if ((pid_t *) 0)
return 0;
char (*f) ();
int
-main ()
+main (void)
{
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
# include <unistd.h>
#endif
/* Some systems only have a dummy stub for fork() */
- int main ()
+ int main (void)
{
if (fork() < 0)
$ac_main_return (1);
}
int
-main ()
+main (void)
{
pid_t parent = getpid ();
pid_t child;
builtin and then its argument prototype would still apply. */
char openpty ();
int
-main ()
+main (void)
{
openpty ();
;
#include <$cf_header>
int
-main ()
+main (void)
{
int x = openpty((int *)0, (int *)0, (char *)0,
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello")
;
#include "confdefs.h"
#include <stdio.h>
int
-main ()
+main (void)
{
printf("Hello")
;
#endif
int
-main ()
+main (void)
{
DBT *foo = 0
;
#include <db.h>
int
-main ()
+main (void)
{
char *path = "/tmp/foo";
#include "confdefs.h"
int
-main ()
+main (void)
{
bool foo = false
;
#endif
int
-main ()
+main (void)
{
bool foo = false
;
#include <sys/types.h>
int
-main ()
+main (void)
{
bool x = false
;
#include <iostream>
int
-main ()
+main (void)
{
std::cout << "Hello World!" << std::endl;
#include <iostream>
int
-main ()
+main (void)
{
std::cout << "Hello World!" << std::endl;
#include <$cf_gpp_libname/builtin.h>
int
-main ()
+main (void)
{
two_arg_error_handler_t foo2 = lib_error_handler
;
#include <builtin.h>
int
-main ()
+main (void)
{
two_arg_error_handler_t foo2 = lib_error_handler
;
using std::endl;
using std::cerr;
int
-main ()
+main (void)
{
cerr << "testing" << endl;
#include "confdefs.h"
int
-main ()
+main (void)
{
bool foo = false
;
#endif
int
-main ()
+main (void)
{
bool foo = false
;
#include <sys/types.h>
int
-main ()
+main (void)
{
bool x = false
;
#include <etip.h.in>
int
-main ()
+main (void)
{
;
};
int
-main ()
+main (void)
{
const char* p_UserData = static_cast<char*>(0)
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
if ((wchar_t *) 0)
return 0;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (wchar_t)) >= 0)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (wchar_t)) <= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (wchar_t)) >= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
int _array_ [1 - 2 * !((sizeof (wchar_t)) <= $ac_mid)]
;
#include "confdefs.h"
$ac_includes_default
int
-main ()
+main (void)
{
FILE *f = fopen ("conftest.val", "w");
if (!f)
int cf_ldflags_static(FILE *fp);
int
-main ()
+main (void)
{
return cf_ldflags_static(stdin);
if test "x$cross_compiling" = xyes ; then
ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
+ CHECK_BUILD="#"
else
ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
+ CHECK_BUILD=
fi
ac_config_files="$ac_config_files include/MKterm.h.awk include/curses.head:include/curses.h.in include/ncurses_dll.h include/termcap.h include/unctrl.h $SUB_SCRIPTS $SUB_MAKEFILES Makefile"
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:23517: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:23519: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
cat >>$CONFIG_STATUS <<EOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.52.20150926,
+configured by $0, generated by GNU Autoconf 2.52.20170501,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
- { { echo "$as_me:23693: error: ambiguous option: $1
+ { { echo "$as_me:23695: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
- -*) { { echo "$as_me:23712: error: unrecognized option: $1
+ -*) { { echo "$as_me:23714: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
## Running config.status. ##
## ----------------------- ##
-This file was extended by $as_me 2.52.20150926, executed with
+This file was extended by $as_me 2.52.20170501, executed with
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
"include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
- *) { { echo "$as_me:23831: error: invalid argument: $ac_config_target" >&5
+ *) { { echo "$as_me:23833: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
s,@MISC_UNINSTALL_DATA@,$MISC_UNINSTALL_DATA,;t t
s,@UNALTERED_SYMS@,$UNALTERED_SYMS,;t t
s,@ADAGEN_LDFLAGS@,$ADAGEN_LDFLAGS,;t t
+s,@CHECK_BUILD@,$CHECK_BUILD,;t t
CEOF
EOF
esac
if test x"$ac_file" != x-; then
- { echo "$as_me:24310: creating $ac_file" >&5
+ { echo "$as_me:24313: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:24328: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:24331: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:24341: error: cannot find input file: $f" >&5
+ { { echo "$as_me:24344: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
if test -n "$ac_seen"; then
ac_used=`grep '@datarootdir@' $ac_item`
if test -z "$ac_used"; then
- { echo "$as_me:24357: WARNING: datarootdir was used implicitly but not set:
+ { echo "$as_me:24360: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&2;}
fi
ac_seen=`grep '${datarootdir}' $ac_item`
if test -n "$ac_seen"; then
- { echo "$as_me:24366: WARNING: datarootdir was used explicitly but not set:
+ { echo "$as_me:24369: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&2;}
ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file`
if test -z "$ac_init"; then
ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
- { echo "$as_me:24403: WARNING: Variable $ac_name is used but was not set:
+ { echo "$as_me:24406: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&5
echo "$as_me: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&2;}
egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out
if test -s $tmp/out; then
ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
- { echo "$as_me:24414: WARNING: Some variables may not be substituted:
+ { echo "$as_me:24417: WARNING: Some variables may not be substituted:
$ac_seen" >&5
echo "$as_me: WARNING: Some variables may not be substituted:
$ac_seen" >&2;}
* ) ac_file_in=$ac_file.in ;;
esac
- test x"$ac_file" != x- && { echo "$as_me:24463: creating $ac_file" >&5
+ test x"$ac_file" != x- && { echo "$as_me:24466: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:24474: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:24477: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo $srcdir/$f
else
# /dev/null tree
- { { echo "$as_me:24487: error: cannot find input file: $f" >&5
+ { { echo "$as_me:24490: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
- { echo "$as_me:24545: $ac_file is unchanged" >&5
+ { echo "$as_me:24548: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
(cygdll|msysdll|mingw)
test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
-echo "${as_me:-configure}:24890: testing overriding CXX_MODEL to SHARED ..." 1>&5
+echo "${as_me:-configure}:24893: testing overriding CXX_MODEL to SHARED ..." 1>&5
with_shared_cxx=yes
;;
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: configure.in,v 1.641 2017/04/13 23:35:03 tom Exp $
+dnl $Id: configure.in,v 1.642 2017/06/03 13:26:42 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.52.20030208)
-AC_REVISION($Revision: 1.641 $)
+AC_REVISION($Revision: 1.642 $)
AC_INIT(ncurses/base/lib_initscr.c)
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
if test "x$cross_compiling" = xyes ; then
ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
+ CHECK_BUILD="#"
else
ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
+ CHECK_BUILD=
fi
AC_SUBST(ADAGEN_LDFLAGS)
+AC_SUBST(CHECK_BUILD)
AC_OUTPUT( \
include/MKterm.h.awk \
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1165 2017/05/21 16:57:02 tom Exp $
+# $Id: dist.mk,v 1.1166 2017/05/29 23:10:42 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 0
-NCURSES_PATCH = 20170527
+NCURSES_PATCH = 20170603
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.21 2017/02/18 16:37:18 tom Exp @
+ * @Id: curs_getstr.3x,v 1.22 2017/05/30 21:08:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
In this implementation, these functions return an error if the window
pointer is null, or if its timeout expires without having any data.
- This implementation provides an extension as well. If a SIGWINCH in-
+ This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in-
terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
Functions with a "mv" prefix first perform a cursor movement using
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.27 2017/03/04 20:59:02 tom Exp @
+ * @Id: curs_initscr.3x,v 1.28 2017/05/30 21:12:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
Quoting from X/Open Curses, section 3.1.1:
<EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
- <EM>SIGINT,</EM> <EM>SIGQUIT</EM> <EM>and</EM> <EM>SIGTSTP</EM> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
- <EM>SIG</EM><STRONG>_</STRONG><EM>DFL</EM> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
+ <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
+ <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
<EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
<EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposi-</EM>
terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
<STRONG>SIGWINCH</STRONG>
- This handles the window-size changes which were initially ignored
- in the standardization efforts. The handler sets a (signal-safe)
- variable which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
+ This handles the window-size changes which were ignored in the
+ standardization efforts. The handler sets a (signal-safe) vari-
+ able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
<STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
<STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.48 2017/04/22 14:05:14 tom Exp @
+ * @Id: curs_util.3x,v 1.49 2017/05/30 21:09:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
in those to override the results from the operating system or ter-
minal database.
- <STRONG>Ncurses</STRONG> also updates the screen size in response to SIGWINCH, un-
+ <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.133 2017/05/06 14:32:49 tom Exp @
+ * @Id: ncurses.3x,v 1.134 2017/05/30 21:07:33 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
method 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 <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
The <STRONG>ncurses</STRONG> library includes facilities for responding to window resiz-
ing events, e.g., when running in an xterm. See the <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and
<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details. In addition, the library may be
- configured with a SIGWINCH handler.
+ configured with a <STRONG>SIGWINCH</STRONG> handler.
The <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
of terminals by allowing the application designer to define additional
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey 1996-on
- * @Id: resizeterm.3x,v 1.22 2017/01/07 19:25:15 tom Exp @
+ * @Id: resizeterm.3x,v 1.23 2017/05/30 21:08:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer
- function <STRONG>resizeterm</STRONG> adds bookkeeping for the SIGWINCH handler. When
+ function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler. When
resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are
extended. The calling application should fill in these areas with
appropriate data. The <STRONG>resize_term</STRONG> function attempts to resize all win-
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
While these functions are intended to be used to support a signal han-
- dler (i.e., for SIGWINCH), care should be taken to avoid invoking them
+ dler (i.e., for <STRONG>SIGWINCH</STRONG>), care should be taken to avoid invoking them
in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted, since
it uses those functions.
- If ncurses is configured to supply its own SIGWINCH handler,
+ If ncurses is configured to supply its own <STRONG>SIGWINCH</STRONG> handler,
- <STRONG>o</STRONG> on receipt of a SIGWINCH, the handler sets a flag
+ <STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
<STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides
the library's use of the window size obtained from the operating sys-
- tem. Thus, even if a SIGWINCH is received, no screen size change may
+ tem. Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no screen size change may
be recorded.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
<EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences. This describes
- <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
<STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
<STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
<STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170520).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170603).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.21 2017/02/18 16:37:18 tom Exp $
+.\" $Id: curs_getstr.3x,v 1.22 2017/05/30 21:08:31 tom Exp $
.TH curs_getstr 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
if its timeout expires without having any data.
.PP
This implementation provides an extension as well.
-If a SIGWINCH interrupts the function, it will return \fBKEY_RESIZE\fP
+If a \fBSIGWINCH\fP interrupts the function, it will return \fBKEY_RESIZE\fP
rather than \fBOK\fP or \fBERR\fP.
.PP
Functions with a \*(``mv\*('' prefix first perform a cursor movement using
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.27 2017/03/04 20:59:02 tom Exp $
+.\" $Id: curs_initscr.3x,v 1.28 2017/05/30 21:12:51 tom Exp $
.TH curs_initscr 3X ""
.de bP
.IP \(bu 4
Quoting from X/Open Curses, section 3.1.1:
.RS 5
.PP
-\fICurses implementations may provide for special handling of the SIGINT,
-SIGQUIT and SIGTSTP signals if their disposition is SIG_DFL at the time
+\fICurses implementations may provide for special handling of the \fBSIGINT\fP,
+\fBSIGQUIT\fP and \fBSIGTSTP\fP signals
+if their disposition is \fBSIG_DFL\fP at the time
\fBinitscr\fP is called \fP...
.PP
\fIAny special handling for these signals may remain in effect for the
It also updates the saved terminal modes with \fBdef_shell_mode\fP (see curs_kernel(3X)).
.TP 5
.B SIGWINCH
-This handles the window-size changes which were initially ignored in
+This handles the window-size changes which were ignored in
the standardization efforts.
The handler sets a (signal-safe) variable
which is later tested in \fBwgetch\fP (see curs_getch(3X)).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.48 2017/04/22 14:05:14 tom Exp $
+.\" $Id: curs_util.3x,v 1.49 2017/05/30 21:09:21 tom Exp $
.TH curs_util 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
using a value in those to override the results
from the operating system or terminal database.
.IP
-\fBNcurses\fP also updates the screen size in response to SIGWINCH,
+\fBNcurses\fP also updates the screen size in response to \fBSIGWINCH\fP,
unless overridden by the \fBLINES\fR or \fBCOLUMNS\fR environment variables,
.SS use_tioctl
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.133 2017/05/06 14:32:49 tom Exp $
+.\" $Id: ncurses.3x,v 1.134 2017/05/30 21:07:33 tom Exp $
.hy 0
.TH ncurses 3X ""
.ie \n(.g .ds `` \(lq
resizing events, e.g., when running in an xterm.
See the \fBresizeterm\fR(3X)
and \fBwresize\fR(3X) manual pages for details.
-In addition, the library may be configured with a SIGWINCH handler.
+In addition, the library may be configured with a \fBSIGWINCH\fP handler.
.PP
The \fBncurses\fR library extends the fixed set of function key capabilities
of terminals by allowing the application designer to define additional
.\"
.\" Author: Thomas E. Dickey 1996-on
.\"
-.\" $Id: resizeterm.3x,v 1.22 2017/01/07 19:25:15 tom Exp $
+.\" $Id: resizeterm.3x,v 1.23 2017/05/30 21:08:21 tom Exp $
.TH resizeterm 3X ""
.de bP
.IP \(bu 4
.SS resize_term
.PP
Most of the work is done by the inner function \fBresize_term\fR.
-The outer function \fBresizeterm\fR adds bookkeeping for the SIGWINCH handler.
+The outer function \fBresizeterm\fR adds bookkeeping for the \fBSIGWINCH\fP handler.
When resizing the windows,
\fBresize_term\fR blank-fills the areas that are extended.
The calling application should fill in these areas with appropriate data.
or if an error occurs while (re)allocating memory for the windows.
.SH NOTES
While these functions are intended to be used to support a signal handler
-(i.e., for SIGWINCH), care should be taken to avoid invoking them in a
+(i.e., for \fBSIGWINCH\fP), care should be taken to avoid invoking them in a
context where \fBmalloc\fR or \fBrealloc\fR may have been interrupted,
since it uses those functions.
.PP
-If ncurses is configured to supply its own SIGWINCH handler,
+If ncurses is configured to supply its own \fBSIGWINCH\fP handler,
.bP
-on receipt of a SIGWINCH, the handler sets a flag
+on receipt of a \fBSIGWINCH\fP, the handler sets a flag
.bP
which is tested in \fBwgetch\fP(3X) and \fBdoupdate\fP,
.bP
If the environment variables \fBLINES\fP or \fBCOLUMNS\fP are set,
this overrides the library's use of the window size obtained from
the operating system.
-Thus, even if a SIGWINCH is received,
+Thus, even if a \fBSIGWINCH\fP is received,
no screen size change may be recorded.
.SH PORTABILITY
.PP
-# $Id: Makefile.in,v 1.152 2016/06/25 21:13:06 tom Exp $
+# $Id: Makefile.in,v 1.154 2017/06/03 13:02:30 tom Exp $
##############################################################################
-# Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2016,2017 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"), #
win32con = $(srcdir)/win32con
################################################################################
-all \
-libs :: $(AUTO_SRC) ../lib $(LIBRARIES)
+all libs :: $(AUTO_SRC) ../lib $(LIBRARIES)
+
+@CHECK_BUILD@all libs :: report_offsets$(BUILD_EXEEXT)
sources: $(AUTO_SRC)
../include/hashsize.h
$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+report_offsets$(BUILD_EXEEXT) : \
+ $(srcdir)/report_offsets.c
+ $(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(srcdir)/report_offsets.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+ ./report_offsets$(BUILD_EXEEXT)
+
./expanded.c : $(srcdir)/curses.priv.h $(serial)/MKexpanded.sh
$(SHELL) -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
-rm -f $(AUTO_SRC)
-rm -f make_keys$(BUILD_EXEEXT)
-rm -f make_hash$(BUILD_EXEEXT)
+ -rm -f report_offsets$(BUILD_EXEEXT)
-rm -rf .libs *.dSYM *.map
distclean :: clean
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.572 2017/04/20 09:05:57 tom Exp $
+ * $Id: curses.priv.h,v 1.573 2017/06/02 23:19:52 tom Exp $
*
* curses.priv.h
*
int _pair_count; /* same as COLOR_PAIRS */
int _pair_limit; /* actual limit of color-pairs */
#if NCURSES_EXT_FUNCS
-#if USE_NEW_PAIR
- void *_ordered_pairs; /* index used by alloc_pair() */
- int _pairs_used; /* actual number of color-pairs used */
- int _recent_pair; /* number for most recent free-pair */
-#endif
bool _assumed_color; /* use assumed colors */
bool _default_color; /* use default colors */
bool _has_sgr_39_49; /* has ECMA default color support */
bool _screen_acs_fix;
bool _screen_unicode;
#endif
+#if NCURSES_EXT_FUNCS && USE_NEW_PAIR
+ void *_ordered_pairs; /* index used by alloc_pair() */
+ int _pairs_used; /* actual number of color-pairs used */
+ int _recent_pair; /* number for most recent free-pair */
+#endif
};
extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain;
--- /dev/null
+/****************************************************************************
+ * Copyright (c) 2017 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 *
+ ****************************************************************************/
+
+#include <curses.priv.h>
+
+MODULE_ID("$Id: report_offsets.c,v 1.5 2017/06/03 13:52:28 tom Exp $")
+
+#define show_size(type) \
+ printf("%6ld\t" #type "\n", (long)sizeof(type))
+#define show_offset(type,member) \
+ printf("%6ld\t" #type "." #member "\n", (long)offsetof(type,member))
+
+int
+main(void)
+{
+ printf("Size/offsets of data structures:\n");
+
+ show_size(attr_t);
+ show_size(chtype);
+#if NCURSES_WIDECHAR
+ show_size(cchar_t);
+#endif
+ show_size(mmask_t);
+ show_size(MEVENT);
+ show_size(NCURSES_BOOL);
+
+ printf("\n");
+ show_size(SCREEN);
+ show_offset(SCREEN, _panelHook);
+#if USE_REENTRANT
+ show_offset(SCREEN, _ttytype);
+#endif
+#ifdef TRACE
+ show_offset(SCREEN, tracechr_buf);
+#endif
+#ifdef USE_SP_WINDOWLIST
+ show_offset(SCREEN, _windowlist);
+#endif
+ show_offset(SCREEN, rsp);
+#if NCURSES_EXT_FUNCS
+#if USE_NEW_PAIR
+ show_offset(SCREEN, _ordered_pairs);
+#endif
+#if NCURSES_SP_FUNCS
+ show_offset(SCREEN, use_tioctl);
+#endif
+#endif
+#if USE_WIDEC_SUPPORT
+ show_offset(SCREEN, _screen_acs_fix);
+#endif
+
+ printf("\n");
+ show_size(TERMINAL);
+ show_offset(TERMINAL, type);
+ show_offset(TERMINAL, Filedes);
+#if defined(TERMIOS)
+ show_offset(TERMINAL, Ottyb);
+ show_offset(TERMINAL, Nttyb);
+#endif
+ show_offset(TERMINAL, _baudrate);
+ show_offset(TERMINAL, _termname);
+#if NCURSES_EXT_COLORS && HAVE_INIT_EXTENDED_COLOR
+ show_offset(TERMINAL, type2);
+#endif
+
+ printf("\n");
+ show_size(TERMTYPE);
+#if NCURSES_XNAMES
+ show_offset(TERMTYPE, ext_str_table);
+ show_offset(TERMTYPE, ext_Strings);
+#endif
+
+ printf("\n");
+ show_size(WINDOW);
+#if NCURSES_WIDECHAR
+ show_offset(WINDOW, _bkgrnd);
+#if NCURSES_EXT_COLORS
+ show_offset(WINDOW, _color);
+#endif
+#endif
+ return EXIT_SUCCESS;
+}
-ncurses6 (6.0+20170527) unstable; urgency=low
+ncurses6 (6.0+20170603) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 21 May 2017 12:57:02 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 29 May 2017 19:10:42 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20170527) unstable; urgency=low
+ncurses6 (6.0+20170603) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 21 May 2017 12:57:02 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 29 May 2017 19:10:42 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20170527) unstable; urgency=low
+ncurses6 (6.0+20170603) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 21 May 2017 12:57:02 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Mon, 29 May 2017 19:10:42 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.213 2017/05/21 16:57:02 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.214 2017/05/29 23:10:42 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "0"\r
!define VERSION_YYYY "2017"\r
-!define VERSION_MMDD "0527"\r
+!define VERSION_MMDD "0603"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
-Release: 20170527
+Release: 20170603
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20170527
+Release: 20170603
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
* authorization. *
****************************************************************************/
/*
- * $Id: picsmap.c,v 1.29 2017/05/28 00:19:58 tom Exp $
+ * $Id: picsmap.c,v 1.35 2017/06/04 00:20:15 tom Exp $
*
* Author: Thomas E. Dickey
*
* TODO write picture left-to-right/top-to-bottom
* TODO write picture randomly
* TODO add one-shot option vs repeat-count before exiting
- * TODO add option for assumed palette of terminal
* TODO add option for init_color
* TODO add option for init_color vs init_extended_color
* TODO add option for init_pair vs alloc_pair
* TODO use pad to allow pictures larger than screen
+ * TODO improve load of image-file's color-table using tsearch.
*/
#include <test.priv.h>
#include <sys/types.h>
#include <sys/stat.h>
+#undef CUR /* use only the curses interface */
+
#define L_BLOCK '['
#define R_BLOCK ']'
#define L_CURLY '{'
#define R_CURLY '}'
+#define okCOLOR(n) ((n) >= 0 && (n) < COLORS)
+#define okRGB(n) ((n) >= 0 && (n) <= 1000)
+#define Scaled256(n) (NCURSES_COLOR_T) (int)(((n) * 1000.0) / 256)
+#define ScaledColor(n) (NCURSES_COLOR_T) (int)(((n) * 1000.0) / scale)
+
typedef struct {
int ch; /* nominal character to display */
int fg; /* foreground color */
typedef struct {
const char *name;
int value;
+} RGB_NAME;
+
+typedef struct {
+ short red;
+ short green;
+ short blue;
} RGB_DATA;
+static void giveup(const char *fmt,...) GCC_PRINTFLIKE(1, 2);
+
static bool in_curses = FALSE;
-static RGB_DATA *rgb_table;
+static RGB_NAME *rgb_table;
+static RGB_DATA *all_colors;
static void
free_data(char **data)
char **result = 0;
struct stat sb;
+ if (in_curses)
+ endwin();
+
printf("** %s\n", filename);
+
if (stat(filename, &sb) == 0
&& (sb.st_mode & S_IFMT) == S_IFREG
&& sb.st_size != 0) {
{
static const char *msg[] =
{
- "Usage: picsmap [-x rgb-path] [xbm-file [...]]"
+ "Usage: picsmap [options] [imagefile [...]]",
+ "Read/display one or more xbm/xpm files (possibly use \"convert\")",
+ "",
+ "Options:",
+ " -p palette",
+ " -r rgb-path"
};
size_t n;
+ if (in_curses)
+ endwin();
+
fflush(stdout);
for (n = 0; n < SIZEOF(msg); n++)
fprintf(stderr, "%s\n", msg[n]);
usage();
}
+static void
+init_palette(const char *palette_file)
+{
+ if (palette_file != 0) {
+ int cp;
+
+ all_colors = typeMalloc(RGB_DATA, (unsigned) COLORS);
+ for (cp = 0; cp < COLORS; ++cp) {
+ color_content(cp,
+ &all_colors[cp].red,
+ &all_colors[cp].green,
+ &all_colors[cp].blue);
+ if (palette_file != 0) {
+ char **data = read_file(palette_file);
+ if (data != 0) {
+ int n;
+ int red, green, blue;
+ int scale = 1000;
+ int c;
+ for (n = 0; data[n] != 0; ++n) {
+ if (sscanf(data[n], "scale:%d", &c) == 1) {
+ scale = c;
+ } else if (sscanf(data[n], "%d:%d %d %d",
+ &c,
+ &red,
+ &green,
+ &blue) == 4
+ && okCOLOR(c)
+ && okRGB(red)
+ && okRGB(green)
+ && okRGB(blue)) {
+ /* *INDENT-EQLS* */
+ all_colors[c].red = ScaledColor(red);
+ all_colors[c].green = ScaledColor(green);
+ all_colors[c].blue = ScaledColor(blue);
+ }
+ }
+ free_data(data);
+ }
+ }
+ }
+ } else if (COLORS > 1) {
+ /* *INDENT-EQLS* */
+ int power2 = 1;
+ int shift = 0;
+
+ while (power2 < COLORS) {
+ ++shift;
+ power2 <<= 1;
+ }
+
+ if (power2 != COLORS || (shift % 3) != 0) {
+ giveup("With %d colors, you need a palette-file", COLORS);
+ }
+ }
+}
+
+/*
+ * Map the 24-bit RGB value to a color index if using a palette, otherwise to a
+ * direct color value.
+ */
static int
map_color(int value)
{
- int r = (value & 0xff0000) >> 16;
- int g = (value & 0x00ff00) >> 8;
- int b = (value & 0x0000ff) >> 0;
- /* TODO simple mapping into COLOR_BLACK .. COLOR_WHITE */
- int result = ((r >= 128) << 2) + ((g >= 128) << 1) + (b >= 128);
+ int result = value;
+
+ if (result < 0) {
+ result = -1;
+ } else {
+ /* *INDENT-EQLS* */
+ int red = (value & 0xff0000) >> 16;
+ int green = (value & 0x00ff00) >> 8;
+ int blue = (value & 0x0000ff) >> 0;
+
+ if (all_colors != 0) {
+#define Diff2(n,m) ((m) - all_colors[n].m) * ((m) - all_colors[n].m)
+#define Diff2S(n) Diff2(n,red) + Diff2(n,green) + Diff2(n,blue)
+ int d2 = Diff2S(0);
+ int n;
+
+ /* *INDENT-EQLS* */
+ red = Scaled256(red);
+ green = Scaled256(green);
+ blue = Scaled256(blue);
+
+ for (result = 0, n = 1; n < COLORS; ++n) {
+ int d = Diff2(n, red) + Diff2(n, green) + Diff2(n, blue);
+ if (d < d2) {
+ d2 = d;
+ result = n;
+ }
+ }
+ } else { /* direct color */
+ int power2 = 1;
+ int shifts = 8;
+
+ while (power2 < COLORS) {
+ power2 <<= 3;
+ shifts--;
+ }
+
+ if (shifts > 0) {
+ /* TODO: round up */
+ red >>= shifts;
+ green >>= shifts;
+ blue >>= shifts;
+ result = ((red << (2 * (8 - shifts)))
+ + (green << (8 - shifts))
+ + blue);
+ }
+ }
+ }
return result;
}
return result;
}
-static RGB_DATA *
+static RGB_NAME *
parse_rgb(char **data)
{
char buf[BUFSIZ];
char *s, *t;
size_t item = 0;
size_t need;
- RGB_DATA *result = 0;
+ RGB_NAME *result = 0;
for (need = 0; data[need] != 0; ++need) ;
- result = typeCalloc(RGB_DATA, need + 2);
+ result = typeCalloc(RGB_NAME, need + 2);
for (n = 0; data[n] != 0; ++n) {
if (strlen(t = data[n]) >= sizeof(buf) - 1)
return result;
}
-static RGB_DATA *
+static RGB_NAME *
lookup_rgb(const char *name)
{
- RGB_DATA *result = 0;
+ RGB_NAME *result = 0;
if (rgb_table != 0) {
int n;
for (n = 0; rgb_table[n].name != 0; ++n) {
{
int state = 0;
PICS_HEAD *result = typeCalloc(PICS_HEAD, 1);
- RGB_DATA *by_name;
+ RGB_NAME *by_name;
int n;
int cells = 0;
int color = 0;
main(int argc, char *argv[])
{
int n;
+ const char *palette_path = 0;
const char *rgb_path = "/etc/X11/rgb.txt";
- while ((n = getopt(argc, argv, "r:")) != -1) {
+ while ((n = getopt(argc, argv, "p:r:")) != -1) {
switch (n) {
+ case 'p':
+ palette_path = optarg;
+ break;
case 'r':
rgb_path = optarg;
break;
}
}
- if (argc > 1) {
+ if (optind < argc) {
char **rgb_data = read_file(rgb_path);
if (rgb_data)
initscr();
cbreak();
noecho();
- if (has_colors())
+ if (has_colors()) {
start_color();
+ init_palette(palette_path);
+ }
scrollok(stdscr, FALSE);
endwin();
}
+ if (optind >= argc)
+ giveup("expected at least one image filename");
- for (n = 1; n < argc; ++n) {
+ for (n = optind; n < argc; ++n) {
PICS_HEAD *pics;
char **data = read_file(argv[n]);