ncurses 5.7 - patch 20090815
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 16 Aug 2009 00:18:43 +0000 (00:18 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 16 Aug 2009 00:18:43 +0000 (00:18 +0000)
+ correct use of terminfo capabilities for initializing soft-keys,
  broken in 20090509 merging.
+ modify wgetch() to ensure it checks SIGWINCH when it gets an error
  in non-blocking mode (patch by Clemens Ladisch).
+ use PATH_SEPARATOR symbol when substituting into run_tic.sh, to
  help with builds on non-Unix platforms such as OS/2 EMX.
+ modify scripting for misc/run_tic.sh to test configure script's
  $cross_compiling variable directly rather than comparing host/build
  compiler names (prompted by comment in GenToo #249363).
+ fix configure script option --with-database, which was coded as an
  enable-type switch.
+ build-fixes for --srcdir (report by Frederic L W Meunier).

12 files changed:
NEWS
configure
configure.in
dist.mk
include/Makefile.in
misc/Makefile.in
misc/run_tic.in
ncurses/Makefile.in
ncurses/base/lib_getch.c
ncurses/base/lib_slk.c
ncurses/base/lib_slkrefr.c
ncurses/tty/lib_vidattr.c

diff --git a/NEWS b/NEWS
index 3a8cc4769553f8bc0768dfbd6516ac769f6d5f84..4976f4fb9322d973b7a620d6efa06427c3a5bc1d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1417 2009/08/08 18:08:44 tom Exp $
+-- $Id: NEWS,v 1.1421 2009/08/15 23:09:41 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,20 @@ 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.
 
+20090815
+       + correct use of terminfo capabilities for initializing soft-keys,
+         broken in 20090509 merging.
+       + modify wgetch() to ensure it checks SIGWINCH when it gets an error
+         in non-blocking mode (patch by Clemens Ladisch).
+       + use PATH_SEPARATOR symbol when substituting into run_tic.sh, to
+         help with builds on non-Unix platforms such as OS/2 EMX.
+       + modify scripting for misc/run_tic.sh to test configure script's
+         $cross_compiling variable directly rather than comparing host/build
+         compiler names (prompted by comment in GenToo #249363).
+       + fix configure script option --with-database, which was coded as an
+         enable-type switch.
+       + build-fixes for --srcdir (report by Frederic L W Meunier).
+
 20090808
        + separate _nc_find_entry() and _nc_find_type_entry() from
          implementation details of hash function.
index 92f365d4e21bd8ba5f42a4ebc13dd28135dba3a9..2aec51b941d34a545e655a0b8af678f9d7480999 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 1.472 .
+# From configure.in Revision: 1.473 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by Autoconf 2.52.20081225.
 #
@@ -5693,9 +5693,9 @@ EOF
        echo "$as_me:5693: checking which terminfo source-file will be installed" >&5
 echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6
 
-# Check whether --enable-database or --disable-database was given.
-if test "${enable_database+set}" = set; then
-  enableval="$enable_database"
+# Check whether --with-database or --without-database was given.
+if test "${with_database+set}" = set; then
+  withval="$with_database"
   TERMINFO_SRC=$withval
 fi;
        echo "$as_me:5701: result: $TERMINFO_SRC" >&5
@@ -17965,6 +17965,7 @@ s,@HAVE_TCGETATTR@,$HAVE_TCGETATTR,;t t
 s,@HAVE_TERMIO_H@,$HAVE_TERMIO_H,;t t
 s,@HAVE_TERMIOS_H@,$HAVE_TERMIOS_H,;t t
 s,@MAKE_PC_FILES@,$MAKE_PC_FILES,;t t
+s,@cross_compiling@,$cross_compiling,;t t
 CEOF
 
 EOF
@@ -18079,7 +18080,7 @@ done; }
   esac
 
   if test x"$ac_file" != x-; then
-    { echo "$as_me:18082: creating $ac_file" >&5
+    { echo "$as_me:18083: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
     rm -f "$ac_file"
   fi
@@ -18097,7 +18098,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:18100: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:18101: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -18110,7 +18111,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:18113: error: cannot find input file: $f" >&5
+           { { echo "$as_me:18114: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -18176,7 +18177,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
   * )   ac_file_in=$ac_file.in ;;
   esac
 
-  test x"$ac_file" != x- && { echo "$as_me:18179: creating $ac_file" >&5
+  test x"$ac_file" != x- && { echo "$as_me:18180: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
 
   # First look for the input files in the build tree, otherwise in the
@@ -18187,7 +18188,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:18190: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:18191: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -18200,7 +18201,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:18203: error: cannot find input file: $f" >&5
+           { { echo "$as_me:18204: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -18258,7 +18259,7 @@ cat >>$CONFIG_STATUS <<\EOF
   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:18261: $ac_file is unchanged" >&5
+      { echo "$as_me:18262: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
       ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
index b4a20c2ac1fbef34ea921f0c2754796f8ab44cc0..798b177a4c5e566f9b7a38caebf3134fd332a6f4 100644 (file)
@@ -28,14 +28,14 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.472 2009/07/18 16:18:30 tom Exp $
+dnl $Id: configure.in,v 1.473 2009/08/15 16:28:00 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.472 $)
+AC_REVISION($Revision: 1.473 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -445,7 +445,7 @@ if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 
        AC_MSG_CHECKING(which terminfo source-file will be installed)
-       AC_ARG_ENABLE(database,
+       AC_ARG_WITH(database,
                [  --with-database=XXX     specify terminfo source to install],
                [TERMINFO_SRC=$withval])
        AC_MSG_RESULT($TERMINFO_SRC)
@@ -1872,6 +1872,7 @@ else
 MAKE_PC_FILES="#"
 fi
 AC_SUBST(MAKE_PC_FILES)
+AC_SUBST(cross_compiling)
 
 AC_OUTPUT( \
        include/MKterm.h.awk \
diff --git a/dist.mk b/dist.mk
index 56d5f24379f0554bcab49db11154ca1b6eb82eed..c19f79b2afcc6e13afe81f4e59e44449c448f448 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.714 2009/08/08 15:23:25 tom Exp $
+# $Id: dist.mk,v 1.715 2009/08/10 20:48:14 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 = 20090808
+NCURSES_PATCH = 20090815
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 59d2cfc8f21b012d5107db835cf1445ecb54ccb9..ce528409a6860aee086daa8b0fa7da0a64af8ca6 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: Makefile.in,v 1.36 2009/06/13 21:42:45 tom Exp $
+# $Id: Makefile.in,v 1.37 2009/08/10 20:50:04 tom Exp $
 ##############################################################################
-# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc.                #
+# Copyright (c) 1998,2001,2009 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"), #
@@ -64,6 +64,7 @@ TERMINFO_CAPS = $(srcdir)/@TERMINFO_CAPS@
 CONFIG_SRC = \
        MKterm.h.awk \
        curses.head \
+       ncurses_dll.h \
        termcap.h \
        unctrl.h
 
@@ -72,7 +73,6 @@ AUTO_SRC = \
        curses.h \
        hashsize.h \
        ncurses_def.h \
-       ncurses_dll.h \
        parametrized.h \
        term.h
 
index 6b71b6265bebe3e4cd26187fe69791af7ffdf9b3..ff1c527d07ffd3a355fb4e995a9316fce46a066d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.51 2009/02/07 18:17:17 Miroslav.Lichvar Exp $
+# $Id: Makefile.in,v 1.52 2009/08/15 17:13:49 tom Exp $
 ##############################################################################
 # Copyright (c) 1998-2008,2009 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -57,9 +57,6 @@ bindir                = @bindir@
 libdir         = @libdir@
 datadir                = @datadir@
 
-CC             = @CC@
-HOSTCC         = @BUILD_CC@
-
 tabsetdir      = $(datadir)/tabset
 ticdir         = @TERMINFO@
 ticfile                = $(ticdir).db
@@ -93,8 +90,7 @@ install.data :        terminfo.tmp \
        datadir=${datadir} \
        ticdir=${ticdir} \
        source=terminfo.tmp \
-       THIS_CC="$(CC)" \
-       THAT_CC="$(HOSTCC)" \
+       cross_compiling=@cross_compiling@ \
        $(SHELL) ./run_tic.sh
        @cd $(srcdir)/tabset && \
                $(SHELL) -c 'for i in * ; do \
index 2732403a393d4da7d54c5ceef0d1aa625782790c..fa20601e3b17829c9a2decc850695cd2ac3a20d0 100644 (file)
@@ -1,7 +1,7 @@
 #!@SHELL@
-# $Id: run_tic.in,v 1.23 2006/10/28 19:43:30 tom Exp $
+# $Id: run_tic.in,v 1.24 2009/08/15 17:19:36 tom Exp $
 ##############################################################################
-# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -28,7 +28,7 @@
 # authorization.                                                             #
 ##############################################################################
 #
-# Author: Thomas E. Dickey 1996,2000
+# Author: Thomas E. Dickey 1996-on
 #
 # This script is used to install terminfo.src using tic.  We use a script
 # because the path checking is too awkward to do in a makefile.
@@ -52,8 +52,7 @@ echo '** Building terminfo database, please wait...'
 : ${ticdir=@TERMINFO@}
 : ${source=@TERMINFO_SRC@}
 : ${LN_S="@LN_S@"}
-: ${THAT_CC=cc}
-: ${THIS_CC=cc}
+: ${cross_compiling=no}
 : ${ext_funcs=@NCURSES_EXT_FUNCS@}
 
 test -z "${DESTDIR}" && DESTDIR=
@@ -61,10 +60,10 @@ test -z "${DESTDIR}" && DESTDIR=
 # Allow tic to run either from the install-path, or from the build-directory.
 # Do not do this if we appear to be cross-compiling.  In that case, we rely
 # on the host's copy of tic to compile the terminfo database.
-if test "$THAT_CC" = "$THIS_CC" ; then
+if test "x$cross_compiling" = "xno" ; then
 case "$PATH" in
-:*) PATH=../progs:../lib:${DESTDIR}$bindir$PATH ;;
-*) PATH=../progs:../lib:${DESTDIR}$bindir:$PATH ;;
+@PATH_SEPARATOR@*) PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir$PATH ;;
+*) PATH=../progs@PATH_SEPARATOR@../lib@PATH_SEPARATOR@${DESTDIR}$bindir@PATH_SEPARATOR@$PATH ;;
 esac
 export PATH
 SHLIB="sh $srcdir/shlib"
index a46c3291dffc7472785a90c9813f40f9e1696242..b0bf05d264ba1a1d5c5d6eb359bd48982e1cd158 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.118 2009/08/08 17:42:06 tom Exp $
+# $Id: Makefile.in,v 1.119 2009/08/10 09:06:37 tom Exp $
 ##############################################################################
 # Copyright (c) 1998-2007,2009 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -206,7 +206,7 @@ make_hash$(BUILD_EXEEXT) : \
                ../include/hashsize.h
        $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
 
-./expanded.c : curses.priv.h $(serial)/MKexpanded.sh
+./expanded.c : $(srcdir)/curses.priv.h $(serial)/MKexpanded.sh
        sh -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
 
 ./comp_captab.c: \
index 8609a90659ee42246f0cf721ae254b023b3b7284..cdc965fec5e0b4518e9a477ebd0094c86c51c2c0 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_getch.c,v 1.106 2009/07/25 17:02:03 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.107 2009/08/15 20:41:24 Clemens.Ladisch Exp $")
 
 #include <fifo_defs.h>
 
@@ -110,9 +110,9 @@ NCURSES_SP_NAME(get_escdelay) (NCURSES_SP_DCL0)
 
 #if NCURSES_SP_FUNCS
 NCURSES_EXPORT(int)
-get_escdelay (void)
+get_escdelay(void)
 {
-    return NCURSES_SP_NAME(get_escdelay)(CURRENT_SCREEN);
+    return NCURSES_SP_NAME(get_escdelay) (CURRENT_SCREEN);
 }
 #endif
 #endif /* NCURSES_EXT_FUNCS */
@@ -467,7 +467,7 @@ _nc_wgetch(WINDOW *win,
            }
 #endif
            if (!rc) {
-               returnCode(ERR);
+               goto check_sigwinch;
            }
        }
        /* else go on to read data available */
@@ -529,6 +529,7 @@ _nc_wgetch(WINDOW *win,
     }
 
     if (ch == ERR) {
+      check_sigwinch:
 #if USE_SIZECHANGE
        if (_nc_handle_sigwinch(sp)) {
            _nc_update_screensize(sp);
index a1dea62660ebd75ba2ea9cd87cf5363da3505821..d0407cec483d749d227a92956b05017ed6983185 100644 (file)
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_slk.c,v 1.40 2009/07/19 00:34:07 tom Exp $")
+MODULE_ID("$Id: lib_slk.c,v 1.42 2009/08/15 23:05:02 tom Exp $")
+
+#ifdef USE_TERM_DRIVER
+#define NumLabels    InfoOf(SP_PARM).numlabels
+#define NoColorVideo InfoOf(SP_PARM).nocolorvideo
+#define LabelWidth   InfoOf(SP_PARM).labelwidth
+#define LabelHeight  InfoOf(SP_PARM).labelheight
+#else
+#define NumLabels    num_labels
+#define NoColorVideo no_color_video
+#define LabelWidth   label_width
+#define LabelHeight  label_height
+#endif
 
 /*
  * Free any memory related to soft labels, return an error.
@@ -107,8 +119,9 @@ _nc_format_slks(NCURSES_SP_DCLx int cols)
                    x += max_length;
                    x += (i == 2 || i == 4) ? gap : 1;
                }
-           } else
-               returnCode(slk_failed(NCURSES_SP_ARG));
+           } else {
+               return slk_failed(NCURSES_SP_ARG);
+           }
        }
     }
     SP_PARM->_slk->dirty = TRUE;
@@ -141,7 +154,7 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
     term = TerminalOf(SP_PARM);
     assert(term);
 
-    numlab = InfoOf(SP_PARM).numlabels;
+    numlab = NumLabels;
 
     if (SP_PARM->_slk) {       /* we did this already, so simply return */
        returnCode(OK);
@@ -158,7 +171,7 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
      * with colors.  In that case, we're still guaranteed that "reverse" would
      * work.
      */
-    if ((InfoOf(SP_PARM).nocolorvideo & 1) == 0)
+    if ((NoColorVideo & 1) == 0)
        SetAttr(SP_PARM->_slk->attr, A_STANDOUT);
     else
        SetAttr(SP_PARM->_slk->attr, A_REVERSE);
@@ -167,7 +180,7 @@ _nc_slk_initialize(WINDOW *stwin, int cols)
                             ? numlab
                             : MAX_SKEY(SP_PARM->slk_format));
     SP_PARM->_slk->maxlen = ((numlab > 0)
-                            ? InfoOf(SP_PARM).labelwidth * InfoOf(SP_PARM).labelheight
+                            ? LabelWidth * LabelHeight
                             : MAX_SKEY_LEN(SP_PARM->slk_format));
     SP_PARM->_slk->labcnt = ((SP_PARM->_slk->maxlab < MAX_SKEY(SP_PARM->slk_format))
                             ? MAX_SKEY(SP_PARM->slk_format)
index 81a01c9665b4a9d994dda984ec9eea5013967ed0..5323e0e6c08ea7ee3de169e9600c4d7e01dd8353 100644 (file)
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_slkrefr.c,v 1.21 2009/06/06 20:26:17 tom Exp $")
+MODULE_ID("$Id: lib_slkrefr.c,v 1.23 2009/08/15 23:08:28 tom Exp $")
+
+#ifdef USE_TERM_DRIVER
+#define NumLabels    InfoOf(SP_PARM).numlabels
+#else
+#define NumLabels    num_labels
+#endif
 
 /*
  * Paint the info line for the PC style SLK emulation.
@@ -81,7 +87,7 @@ slk_intern_refresh(SCREEN *sp)
 
     slk = sp->_slk;
     fmt = sp->slk_format;
-    numlab = InfoOf(sp).numlabels;
+    numlab = NumLabels;
 
     if (slk->hidden)
        return;
index 88f1e1a246656134ad30cd55b28d28a666e0f853..d2a8264ac4c8a5b9ff279f0f88614ce9d17af9e6 100644 (file)
@@ -69,7 +69,7 @@
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_vidattr.c,v 1.57 2009/05/23 20:46:28 tom Exp $")
+MODULE_ID("$Id: lib_vidattr.c,v 1.58 2009/08/15 22:12:01 tom Exp $")
 
 #define doPut(mode) \
        TPUTS_TRACE(#mode); \
@@ -344,7 +344,6 @@ NCURSES_SP_NAME(termattrs) (NCURSES_SP_DCL0)
        attrs = CallDriver(SP_PARM, conattr);
 #else
 
-    T((T_CALLED("termattrs()")));
     if (enter_alt_charset_mode)
        attrs |= A_ALTCHARSET;