ncurses 6.2 - patch 20200711
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 12 Jul 2020 00:25:08 +0000 (00:25 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 12 Jul 2020 00:25:08 +0000 (00:25 +0000)
+ fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
  Bruckl).
+ additional changes for building with Visual Studio C++ and msys2
  (reports/patches by "Maarten Anonymous")
+ build-improvements for Windows 10 and MinGW (patch by Juergen
  Pfeifer).
+ fix a typo in curs_printw.3x (patch by William Pursell).
+ fix two errors in infotocap which allowed indexing outside the
  buffer (report/testcases by Zhang Gan).
+ update length of strings in infocmp's usage function to restore a
  trailing null on the longest string (report/testcase by Zhang Gen).

31 files changed:
Ada95/aclocal.m4
Ada95/configure
NEWS
README.MinGW
VERSION
aclocal.m4
configure
configure.in
dist.mk
include/nc_mingw.h
man/curs_printw.3x
misc/terminfo.src
ncurses/curses.priv.h
ncurses/tinfo/access.c
ncurses/tinfo/captoinfo.c
ncurses/wcwidth.h
ncurses/widechar/lib_cchar.c
ncurses/widechar/widechars.c
ncurses/win32con/gettimeofday.c
ncurses/win32con/wcwidth.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
progs/dump_entry.c
progs/infocmp.c
test/picsmap.c
test/test.priv.h

index 2857a7804e351ec586b5d68a222477939ea41925..a8db3ae49fc31312adf8ab8cebc0db4b866478c9 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey
 dnl
 dnl
 dnl Author: Thomas E. Dickey
 dnl
-dnl $Id: aclocal.m4,v 1.158 2020/07/04 23:32:09 tom Exp $
+dnl $Id: aclocal.m4,v 1.159 2020/07/11 23:11:37 tom Exp $
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
 dnl Macros used in NCURSES Ada95 auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -3539,7 +3539,7 @@ do
 done
 ])dnl
 dnl ---------------------------------------------------------------------------
 done
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 96 updated: 2020/05/23 19:39:36
+dnl CF_SHARED_OPTS version: 97 updated: 2020/07/11 19:09:29
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -3801,7 +3801,7 @@ CF_EOF
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="[$]LD"
                clopts=()
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="[$]LD"
                clopts=()
-               ldopts=()
+               ldopts=("/subsystem:console")
                libs=()
                isdll=0
                while test \[$]# -gt 0; do
                libs=()
                isdll=0
                while test \[$]# -gt 0; do
index 310555271820587508c3db166ab4d0f46b21e108..2c4a8ae9883db0378667d1b40d10cd9e4d646845 100755 (executable)
@@ -11344,7 +11344,7 @@ CF_EOF
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="$LD"
                clopts=()
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="$LD"
                clopts=()
-               ldopts=()
+               ldopts=("/subsystem:console")
                libs=()
                isdll=0
                while test \$# -gt 0; do
                libs=()
                isdll=0
                while test \$# -gt 0; do
diff --git a/NEWS b/NEWS
index fb6698386793ba7f21477a10ff3679094b9082ad..13eb7aa44ff60261500d3793bcb059dbf95c2705 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3514 2020/07/04 23:28:53 tom Exp $
+-- $Id: NEWS,v 1.3519 2020/07/11 23:21:07 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -46,6 +46,19 @@ 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.
 
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20200711
+       + fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
+         Bruckl).
+       + additional changes for building with Visual Studio C++ and msys2
+         (reports/patches by "Maarten Anonymous")
+       + build-improvements for Windows 10 and MinGW (patch by Juergen
+         Pfeifer).
+       + fix a typo in curs_printw.3x (patch by William Pursell).
+       + fix two errors in infotocap which allowed indexing outside the
+         buffer (report/testcases by Zhang Gan).
+       + update length of strings in infocmp's usage function to restore a
+         trailing null on the longest string (report/testcase by Zhang Gen).
+
 20200704
        + modify version-check with Ada generics to use the same pattern as in
          the check for supported gnat versions (report by Pascal Pignard).
 20200704
        + modify version-check with Ada generics to use the same pattern as in
          the check for supported gnat versions (report by Pascal Pignard).
index 56a2bca21e34bb565224f813b6cbec82cb3fa8a7..f23ef126de5d8e5b828dc72ec5a92538e31c5377 100644 (file)
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: README.MinGW,v 1.10 2020/02/02 23:34:34 tom Exp $
+-- $Id: README.MinGW,v 1.11 2020/07/11 13:31:30 juergen Exp $
 -- Author: Juergen Pfeifer
 -------------------------------------------------------------------------------
 
 -- Author: Juergen Pfeifer
 -------------------------------------------------------------------------------
 
@@ -113,12 +113,6 @@ export PATH_SEPARATOR=";"
 in order to parse the terminfo paths correctly. Terminfo paths should
 always be separated by a seeeemicolon,even when running under MSYS.
 
 in order to parse the terminfo paths correctly. Terminfo paths should
 always be separated by a seeeemicolon,even when running under MSYS.
 
-To support regular expressions properly, ncurses under MinGW should be
-linked against the gnurx regex library, which must be built separately
-under MinGW.  See
-
-    ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/libgnurx-src-2.5.zip
-
 All the options above are - like the whole Windows support -
 experimental.
 
 All the options above are - like the whole Windows support -
 experimental.
 
@@ -135,5 +129,9 @@ A lot is still TODO, e.g.:
   - Workarounds for MinGW's filesystem access are necessary to make infocmp
     work (though tic works).
 
   - Workarounds for MinGW's filesystem access are necessary to make infocmp
     work (though tic works).
 
-To support terminfo, we would need to have an ioctl() simulation for the
-serial and networked terminals.
+Recent Windows 10 releases have a new Console implementation that supports
+ANSI-style terminal emulation. Also, there is a new "Windows Terminal" App
+from Microsoft that hosts the new Console in a tabbed user interface. With
+this, it is possble to try using terminfo, the TERM environment varianle
+should be set to ms-terminal.
+
diff --git a/VERSION b/VERSION
index b2cb5b2918384b858510901a64857941c0023e44..ad06e270e888dd74a406e27f8e3c4c21221c4333 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.2     20200704
+5:0:10 6.2     20200711
index 269b47917abb936a0444733b3dc14fa7f6b7655f..824b4e6b22834e64ef19654143416692a43b09a4 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: aclocal.m4,v 1.916 2020/07/04 23:31:15 tom Exp $
+dnl $Id: aclocal.m4,v 1.920 2020/07/11 23:10:46 tom Exp $
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
 dnl Macros used in NCURSES auto-configuration script.
 dnl
 dnl These macros are maintained separately from NCURSES.  The copyright on
@@ -6377,7 +6377,7 @@ AC_MSG_RESULT($cf_prog_ln_sf)
 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
 ])dnl
 dnl ---------------------------------------------------------------------------
 test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f"
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_REGEX version: 13 updated: 2020/03/10 18:53:47
+dnl CF_REGEX version: 14 updated: 2020/07/11 19:09:29
 dnl --------
 dnl Attempt to determine if we've got one of the flavors of regular-expression
 dnl code that we can support.
 dnl --------
 dnl Attempt to determine if we've got one of the flavors of regular-expression
 dnl code that we can support.
@@ -6389,7 +6389,7 @@ cf_regex_func=no
 cf_regex_libs="regex re"
 case $host_os in
 (mingw*)
 cf_regex_libs="regex re"
 case $host_os in
 (mingw*)
-       cf_regex_libs="gnurx $cf_regex_libs"
+       cf_regex_libs="systre gnurx $cf_regex_libs"
        ;;
 esac
 
        ;;
 esac
 
@@ -6644,7 +6644,7 @@ do
 done
 ])dnl
 dnl ---------------------------------------------------------------------------
 done
 ])dnl
 dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 96 updated: 2020/05/23 19:39:36
+dnl CF_SHARED_OPTS version: 97 updated: 2020/07/11 19:09:29
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
 dnl --------------
 dnl --------------
 dnl Attempt to determine the appropriate CC/LD options for creating a shared
@@ -6906,7 +6906,7 @@ CF_EOF
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="[$]LD"
                clopts=()
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="[$]LD"
                clopts=()
-               ldopts=()
+               ldopts=("/subsystem:console")
                libs=()
                isdll=0
                while test \[$]# -gt 0; do
                libs=()
                isdll=0
                while test \[$]# -gt 0; do
index 26b29bd141942d8579f26a1d183cbd343a690f40..c3ef81b389e50387da2ce131878d08f6befc65ba 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
 #! /bin/sh
-# From configure.in Revision: 1.709 .
+# From configure.in Revision: 1.711 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by Autoconf 2.52.20200111.
 #
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by Autoconf 2.52.20200111.
 #
@@ -6022,7 +6022,7 @@ CF_EOF
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="$LD"
                clopts=()
                # Ignore first argument (compiler) and use LD (link.exe) unconditionally
                LD="$LD"
                clopts=()
-               ldopts=()
+               ldopts=("/subsystem:console")
                libs=()
                isdll=0
                while test \$# -gt 0; do
                libs=()
                isdll=0
                while test \$# -gt 0; do
@@ -18190,7 +18190,7 @@ cf_regex_func=no
 cf_regex_libs="regex re"
 case $host_os in
 (mingw*)
 cf_regex_libs="regex re"
 case $host_os in
 (mingw*)
-       cf_regex_libs="gnurx $cf_regex_libs"
+       cf_regex_libs="systre gnurx $cf_regex_libs"
        ;;
 esac
 
        ;;
 esac
 
 fi
 WITH_OVERWRITE=$with_overwrite
 
 fi
 WITH_OVERWRITE=$with_overwrite
 
+### At least on MinGW a shared library build without libtool
+### requires adding the additional libs to the link list.
+case $cf_cv_system_name in
+(*mingw32*|*mingw64*)
+       if test "$DFT_LWR_MODEL" != "libtool"; then
+          SHLIB_LIST="$SHLIB_LIST ${LIBS}"
+       fi
+       ;;
+*)     ;;
+esac
+
 # used to separate tack out of the tree
 NCURSES_TREE=
 
 # used to separate tack out of the tree
 NCURSES_TREE=
 
@@ -26166,7 +26177,7 @@ EOF
 
 # pkgsrc uses these
 
 
 # pkgsrc uses these
 
-echo "$as_me:26169: checking for desired basename for form library" >&5
+echo "$as_me:26180: checking for desired basename for form library" >&5
 echo $ECHO_N "checking for desired basename for form library... $ECHO_C" >&6
 
 # Check whether --with-form-libname or --without-form-libname was given.
 echo $ECHO_N "checking for desired basename for form library... $ECHO_C" >&6
 
 # Check whether --with-form-libname or --without-form-libname was given.
@@ -26186,10 +26197,10 @@ case "x$FORM_NAME" in
        ;;
 esac
 
        ;;
 esac
 
-echo "$as_me:26189: result: $FORM_NAME" >&5
+echo "$as_me:26200: result: $FORM_NAME" >&5
 echo "${ECHO_T}$FORM_NAME" >&6
 
 echo "${ECHO_T}$FORM_NAME" >&6
 
-echo "$as_me:26192: checking for desired basename for menu library" >&5
+echo "$as_me:26203: checking for desired basename for menu library" >&5
 echo $ECHO_N "checking for desired basename for menu library... $ECHO_C" >&6
 
 # Check whether --with-menu-libname or --without-menu-libname was given.
 echo $ECHO_N "checking for desired basename for menu library... $ECHO_C" >&6
 
 # Check whether --with-menu-libname or --without-menu-libname was given.
@@ -26209,10 +26220,10 @@ case "x$MENU_NAME" in
        ;;
 esac
 
        ;;
 esac
 
-echo "$as_me:26212: result: $MENU_NAME" >&5
+echo "$as_me:26223: result: $MENU_NAME" >&5
 echo "${ECHO_T}$MENU_NAME" >&6
 
 echo "${ECHO_T}$MENU_NAME" >&6
 
-echo "$as_me:26215: checking for desired basename for panel library" >&5
+echo "$as_me:26226: checking for desired basename for panel library" >&5
 echo $ECHO_N "checking for desired basename for panel library... $ECHO_C" >&6
 
 # Check whether --with-panel-libname or --without-panel-libname was given.
 echo $ECHO_N "checking for desired basename for panel library... $ECHO_C" >&6
 
 # Check whether --with-panel-libname or --without-panel-libname was given.
@@ -26232,10 +26243,10 @@ case "x$PANEL_NAME" in
        ;;
 esac
 
        ;;
 esac
 
-echo "$as_me:26235: result: $PANEL_NAME" >&5
+echo "$as_me:26246: result: $PANEL_NAME" >&5
 echo "${ECHO_T}$PANEL_NAME" >&6
 
 echo "${ECHO_T}$PANEL_NAME" >&6
 
-echo "$as_me:26238: checking for desired basename for cxx library" >&5
+echo "$as_me:26249: checking for desired basename for cxx library" >&5
 echo $ECHO_N "checking for desired basename for cxx library... $ECHO_C" >&6
 
 # Check whether --with-cxx-libname or --without-cxx-libname was given.
 echo $ECHO_N "checking for desired basename for cxx library... $ECHO_C" >&6
 
 # Check whether --with-cxx-libname or --without-cxx-libname was given.
@@ -26255,13 +26266,13 @@ case "x$CXX_NAME" in
        ;;
 esac
 
        ;;
 esac
 
-echo "$as_me:26258: result: $CXX_NAME" >&5
+echo "$as_me:26269: result: $CXX_NAME" >&5
 echo "${ECHO_T}$CXX_NAME" >&6
 
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
 echo "${ECHO_T}$CXX_NAME" >&6
 
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
-echo "$as_me:26264: checking for src modules" >&5
+echo "$as_me:26275: checking for src modules" >&5
 echo $ECHO_N "checking for src modules... $ECHO_C" >&6
 
 # dependencies and linker-arguments for test-programs
 echo $ECHO_N "checking for src modules... $ECHO_C" >&6
 
 # dependencies and linker-arguments for test-programs
@@ -26330,7 +26341,7 @@ eval TEST_ROOT=\$${cf_map_lib_basename}_NAME
                fi
        fi
 done
                fi
        fi
 done
-echo "$as_me:26333: result: $cf_cv_src_modules" >&5
+echo "$as_me:26344: result: $cf_cv_src_modules" >&5
 echo "${ECHO_T}$cf_cv_src_modules" >&6
 
 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
 echo "${ECHO_T}$cf_cv_src_modules" >&6
 
 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
@@ -26591,7 +26602,7 @@ case $cf_cv_system_name in
        (*-D_XOPEN_SOURCE_EXTENDED*)
                test -n "$verbose" && echo "    moving _XOPEN_SOURCE_EXTENDED to work around g++ problem" 1>&6
 
        (*-D_XOPEN_SOURCE_EXTENDED*)
                test -n "$verbose" && echo "    moving _XOPEN_SOURCE_EXTENDED to work around g++ problem" 1>&6
 
-echo "${as_me:-configure}:26594: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
+echo "${as_me:-configure}:26605: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
 
                CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
                CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
 
                CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
                CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
@@ -26602,7 +26613,7 @@ esac
 
 # Help to automatically enable the extended curses features when using either
 # the *-config or the ".pc" files by adding defines.
 
 # Help to automatically enable the extended curses features when using either
 # the *-config or the ".pc" files by adding defines.
-echo "$as_me:26605: checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script" >&5
+echo "$as_me:26616: checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script" >&5
 echo $ECHO_N "checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script... $ECHO_C" >&6
 PKG_CFLAGS=
 for cf_loop1 in $CPPFLAGS_after_XOPEN
 echo $ECHO_N "checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script... $ECHO_C" >&6
 PKG_CFLAGS=
 for cf_loop1 in $CPPFLAGS_after_XOPEN
@@ -26618,7 +26629,7 @@ do
        done
        test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
 done
        done
        test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
 done
-echo "$as_me:26621: result: $PKG_CFLAGS" >&5
+echo "$as_me:26632: result: $PKG_CFLAGS" >&5
 echo "${ECHO_T}$PKG_CFLAGS" >&6
 
 # AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
 echo "${ECHO_T}$PKG_CFLAGS" >&6
 
 # AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
@@ -26679,7 +26690,7 @@ then
        cf_filter_syms=$cf_dft_filter_syms
        test -n "$verbose" && echo "    will map symbols to ABI=$cf_cv_abi_version" 1>&6
 
        cf_filter_syms=$cf_dft_filter_syms
        test -n "$verbose" && echo "    will map symbols to ABI=$cf_cv_abi_version" 1>&6
 
-echo "${as_me:-configure}:26682: testing will map symbols to ABI=$cf_cv_abi_version ..." 1>&5
+echo "${as_me:-configure}:26693: testing will map symbols to ABI=$cf_cv_abi_version ..." 1>&5
 
 fi
 
 
 fi
 
@@ -26706,7 +26717,7 @@ fi
 
 # This is used for the *-config script and *.pc data files.
 
 
 # This is used for the *-config script and *.pc data files.
 
-echo "$as_me:26709: checking for linker search path" >&5
+echo "$as_me:26720: checking for linker search path" >&5
 echo $ECHO_N "checking for linker search path... $ECHO_C" >&6
 if test "${cf_cv_ld_searchpath+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 echo $ECHO_N "checking for linker search path... $ECHO_C" >&6
 if test "${cf_cv_ld_searchpath+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -26770,7 +26781,7 @@ done
 test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib
 
 fi
 test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib
 
 fi
-echo "$as_me:26773: result: $cf_cv_ld_searchpath" >&5
+echo "$as_me:26784: result: $cf_cv_ld_searchpath" >&5
 echo "${ECHO_T}$cf_cv_ld_searchpath" >&6
 
 LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'`
 echo "${ECHO_T}$cf_cv_ld_searchpath" >&6
 
 LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'`
@@ -26860,7 +26871,7 @@ DEFS=-DHAVE_CONFIG_H
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:26863: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:26874: creating $CONFIG_STATUS" >&5
 echo "$as_me: creating $CONFIG_STATUS" >&6;}
 cat >$CONFIG_STATUS <<_ACEOF
 #! $SHELL
 echo "$as_me: creating $CONFIG_STATUS" >&6;}
 cat >$CONFIG_STATUS <<_ACEOF
 #! $SHELL
@@ -27036,7 +27047,7 @@ cat >>$CONFIG_STATUS <<\EOF
     echo "$ac_cs_version"; exit 0 ;;
   --he | --h)
     # Conflict between --help and --header
     echo "$ac_cs_version"; exit 0 ;;
   --he | --h)
     # Conflict between --help and --header
-    { { echo "$as_me:27039: error: ambiguous option: $1
+    { { echo "$as_me:27050: 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;}
 Try \`$0 --help' for more information." >&5
 echo "$as_me: error: ambiguous option: $1
 Try \`$0 --help' for more information." >&2;}
@@ -27055,7 +27066,7 @@ Try \`$0 --help' for more information." >&2;}
     ac_need_defaults=false;;
 
   # This is an error.
     ac_need_defaults=false;;
 
   # This is an error.
-  -*) { { echo "$as_me:27058: error: unrecognized option: $1
+  -*) { { echo "$as_me:27069: 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;}
 Try \`$0 --help' for more information." >&5
 echo "$as_me: error: unrecognized option: $1
 Try \`$0 --help' for more information." >&2;}
@@ -27178,7 +27189,7 @@ do
   "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" ;;
   "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:27181: error: invalid argument: $ac_config_target" >&5
+  *) { { echo "$as_me:27192: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
@@ -27677,7 +27688,7 @@ done; }
   esac
 
   if test x"$ac_file" != x-; then
   esac
 
   if test x"$ac_file" != x-; then
-    { echo "$as_me:27680: creating $ac_file" >&5
+    { echo "$as_me:27691: creating $ac_file" >&5
 echo "$as_me: creating $ac_file" >&6;}
     rm -f "$ac_file"
   fi
 echo "$as_me: creating $ac_file" >&6;}
     rm -f "$ac_file"
   fi
@@ -27695,7 +27706,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:27698: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:27709: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -27708,7 +27719,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:27711: error: cannot find input file: $f" >&5
+           { { echo "$as_me:27722: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -27724,7 +27735,7 @@ cat >>$CONFIG_STATUS <<\EOF
       if test -n "$ac_seen"; then
         ac_used=`grep '@datarootdir@' $ac_item`
         if test -z "$ac_used"; then
       if test -n "$ac_seen"; then
         ac_used=`grep '@datarootdir@' $ac_item`
         if test -z "$ac_used"; then
-          { echo "$as_me:27727: WARNING: datarootdir was used implicitly but not set:
+          { echo "$as_me:27738: 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;}
 $ac_seen" >&5
 echo "$as_me: WARNING: datarootdir was used implicitly but not set:
 $ac_seen" >&2;}
@@ -27733,7 +27744,7 @@ $ac_seen" >&2;}
       fi
       ac_seen=`grep '${datarootdir}' $ac_item`
       if test -n "$ac_seen"; then
       fi
       ac_seen=`grep '${datarootdir}' $ac_item`
       if test -n "$ac_seen"; then
-        { echo "$as_me:27736: WARNING: datarootdir was used explicitly but not set:
+        { echo "$as_me:27747: 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_seen" >&5
 echo "$as_me: WARNING: datarootdir was used explicitly but not set:
 $ac_seen" >&2;}
@@ -27770,7 +27781,7 @@ s,@INSTALL@,$ac_INSTALL,;t t
             ac_init=`egrep '[  ]*'$ac_name'[   ]*=' $ac_file`
             if test -z "$ac_init"; then
               ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
             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:27773: WARNING: Variable $ac_name is used but was not set:
+              { echo "$as_me:27784: 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;}
 $ac_seen" >&5
 echo "$as_me: WARNING: Variable $ac_name is used but was not set:
 $ac_seen" >&2;}
@@ -27781,7 +27792,7 @@ $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`
     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:27784: WARNING: Some variables may not be substituted:
+      { echo "$as_me:27795: WARNING: Some variables may not be substituted:
 $ac_seen" >&5
 echo "$as_me: WARNING: Some variables may not be substituted:
 $ac_seen" >&2;}
 $ac_seen" >&5
 echo "$as_me: WARNING: Some variables may not be substituted:
 $ac_seen" >&2;}
@@ -27830,7 +27841,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
   * )   ac_file_in=$ac_file.in ;;
   esac
 
   * )   ac_file_in=$ac_file.in ;;
   esac
 
-  test x"$ac_file" != x- && { echo "$as_me:27833: creating $ac_file" >&5
+  test x"$ac_file" != x- && { echo "$as_me:27844: 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 "$as_me: creating $ac_file" >&6;}
 
   # First look for the input files in the build tree, otherwise in the
@@ -27841,7 +27852,7 @@ echo "$as_me: creating $ac_file" >&6;}
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
       -) echo $tmp/stdin ;;
       [\\/$]*)
          # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:27844: error: cannot find input file: $f" >&5
+         test -f "$f" || { { echo "$as_me:27855: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          echo $f;;
@@ -27854,7 +27865,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
            echo $srcdir/$f
          else
            # /dev/null tree
            echo $srcdir/$f
          else
            # /dev/null tree
-           { { echo "$as_me:27857: error: cannot find input file: $f" >&5
+           { { echo "$as_me:27868: error: cannot find input file: $f" >&5
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
 echo "$as_me: error: cannot find input file: $f" >&2;}
    { (exit 1); exit 1; }; }
          fi;;
@@ -27912,7 +27923,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
   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:27915: $ac_file is unchanged" >&5
+      { echo "$as_me:27926: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
       ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
       ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
@@ -28299,7 +28310,7 @@ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQ
                                (cygdll|msysdll|mingw|msvcdll)
                                        test "x$with_shared_cxx" = xno && test -n "$verbose" && echo "  overriding CXX_MODEL to SHARED" 1>&6
 
                                (cygdll|msysdll|mingw|msvcdll)
                                        test "x$with_shared_cxx" = xno && test -n "$verbose" && echo "  overriding CXX_MODEL to SHARED" 1>&6
 
-echo "${as_me:-configure}:28302: testing overriding CXX_MODEL to SHARED ..." 1>&5
+echo "${as_me:-configure}:28313: testing overriding CXX_MODEL to SHARED ..." 1>&5
 
                                        with_shared_cxx=yes
                                        ;;
 
                                        with_shared_cxx=yes
                                        ;;
index 7454c9aeaf63e1f7df3b13c2061c22ac25e0011f..d64cb1c1ea4f2fd1d00ebb7b32209ba711db2cdb 100644 (file)
@@ -29,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.709 2020/05/31 20:04:09 tom Exp $
+dnl $Id: configure.in,v 1.711 2020/07/11 20:18:40 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl For additional information, see
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl For additional information, see
@@ -38,7 +38,7 @@ dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20200111)
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20200111)
-AC_REVISION($Revision: 1.709 $)
+AC_REVISION($Revision: 1.711 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
@@ -2231,6 +2231,17 @@ fi
 fi
 WITH_OVERWRITE=$with_overwrite
 
 fi
 WITH_OVERWRITE=$with_overwrite
 
+### At least on MinGW a shared library build without libtool
+### requires adding the additional libs to the link list.
+case $cf_cv_system_name in
+(*mingw32*|*mingw64*)
+       if test "$DFT_LWR_MODEL" != "libtool"; then
+          SHLIB_LIST="$SHLIB_LIST ${LIBS}"
+       fi
+       ;;
+*)     ;;
+esac
+
 AC_SUBST(WITH_OVERWRITE)
 AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(WITH_OVERWRITE)
 AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
diff --git a/dist.mk b/dist.mk
index 3a6177490334ec0efce496652b2629f1f0e5f8df..8c94e9d56361d31ae8c7bf6f4fefa2ceb7b91094 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -26,7 +26,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.1359 2020/07/04 13:08:52 tom Exp $
+# $Id: dist.mk,v 1.1360 2020/07/11 08:26:05 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -38,7 +38,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 2
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 6
 NCURSES_MINOR = 2
-NCURSES_PATCH = 20200704
+NCURSES_PATCH = 20200711
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 01455bf7467341be4329bdaec8c3fdbfb643ae19..6729b29d3d0945db4cda179b1bab322f897d1ff3 100644 (file)
  * Author: Thomas Dickey, 2008-on                                           *
  ****************************************************************************/
 
  * Author: Thomas Dickey, 2008-on                                           *
  ****************************************************************************/
 
-/* $Id: nc_mingw.h,v 1.8 2020/02/29 15:46:00 anonymous.maarten Exp $ */
+/* $Id: nc_mingw.h,v 1.9 2020/07/11 22:13:19 tom Exp $ */
 
 #ifndef NC_MINGW_H
 #define NC_MINGW_H 1
 
 #ifdef _WIN32
 
 #ifndef NC_MINGW_H
 #define NC_MINGW_H 1
 
 #ifdef _WIN32
+
 #ifdef WINVER
 #  if WINVER < 0x0501
 #    error WINVER must at least be 0x0501
 #ifdef WINVER
 #  if WINVER < 0x0501
 #    error WINVER must at least be 0x0501
 #include <sys/time.h>          /* for struct timeval */
 #endif
 
 #include <sys/time.h>          /* for struct timeval */
 #endif
 
-extern int _nc_gettimeofday(struct timeval *, void *);
+#ifdef _MSC_VER
+#include <winsock2.h>          /* for struct timeval */
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ncurses_dll.h>
+
+NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
 
 #undef HAVE_GETTIMEOFDAY
 #define HAVE_GETTIMEOFDAY 1
 
 #undef HAVE_GETTIMEOFDAY
 #define HAVE_GETTIMEOFDAY 1
@@ -67,7 +78,11 @@ extern int _nc_gettimeofday(struct timeval *, void *);
 
 #undef wcwidth
 #define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
 
 #undef wcwidth
 #define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
-extern int _nc_wcwidth(wchar_t);
+NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _WIN32 */
 
 
 #endif /* _WIN32 */
 
index cd311fe60f729e2584b0aa0daa823c33483bb4ee..451fdd04a22b96f3fa61319af5425ae8a942bbb8 100644 (file)
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_printw.3x,v 1.26 2020/03/14 23:48:47 tom Exp $
+.\" $Id: curs_printw.3x,v 1.27 2020/07/10 23:06:23 William.Pursell Exp $
 .TH curs_printw 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
 .TH curs_printw 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -70,7 +70,7 @@ In
 effect, the string that would be output by \fBprintf\fR is output
 instead as though \fBwaddstr\fR were used on the given window.
 .PP
 effect, the string that would be output by \fBprintf\fR is output
 instead as though \fBwaddstr\fR were used on the given window.
 .PP
-The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous
+The \fBvwprintw\fR and \fBvw_printw\fR routines are analogous
 to \fBvprintf\fR [see \fBprintf\fR(3)]
 and perform a \fBwprintw\fR using a variable argument list.
 The third argument is a \fBva_list\fR, a pointer to a
 to \fBvprintf\fR [see \fBprintf\fR(3)]
 and perform a \fBwprintw\fR using a variable argument list.
 The third argument is a \fBva_list\fR, a pointer to a
index 707a6b4a6ed05b0b93545a766eb0dd7793146974..dae43d49187acde4ed7ce3aa1fc78f962c2a2c6a 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.807 $
-#      $Date: 2020/06/07 00:16:21 $
+#      $Revision: 1.808 $
+#      $Date: 2020/07/11 20:05:06 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -1029,8 +1029,8 @@ linux2.2|linux 2.2.x console,
 #      'r' scan line 7
 #      '_' scan line 9
 linux2.6|linux 2.6.x console,
 #      'r' scan line 7
 #      '_' scan line 9
 linux2.6|linux 2.6.x console,
-       acsc=++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwx
-            xyyzz{{||}c~~,
+       acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+            yzz{{||}}~~,
        enacs=\E)0, rmacs=^O,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
        enacs=\E)0, rmacs=^O,
        sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
            %t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
@@ -26614,4 +26614,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      + use vt100+enq in screen (report by Alexandre Montaron).
 #      + add screen.linux-s alias (suggested by Alexandre Montaron).
 #
 #      + use vt100+enq in screen (report by Alexandre Montaron).
 #      + add screen.linux-s alias (suggested by Alexandre Montaron).
 #
+# 2020-07-11
+#      + fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
+#        Bruckl).
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
 ######## SHANTIH!  SHANTIH!  SHANTIH!
index 2a511f2bef37f06304340f662249e760128b5bba..20f35659c472ccaca5f8bd645bdbc2090db6f70d 100644 (file)
@@ -35,7 +35,7 @@
  ****************************************************************************/
 
 /*
  ****************************************************************************/
 
 /*
- * $Id: curses.priv.h,v 1.629 2020/06/13 21:58:00 tom Exp $
+ * $Id: curses.priv.h,v 1.630 2020/07/11 20:48:42 anonymous.maarten Exp $
  *
  *     curses.priv.h
  *
  *
  *     curses.priv.h
  *
@@ -2348,7 +2348,7 @@ extern NCURSES_EXPORT(int) _nc_eventlist_timeout(_nc_eventlist *);
  */
 #if USE_WIDEC_SUPPORT
 
  */
 #if USE_WIDEC_SUPPORT
 
-#if defined(_WIN32)
+#if defined(_WIN32) && !defined(_MSC_VER)
 /*
  * MinGW has wide-character functions, but they do not work correctly.
  */
 /*
  * MinGW has wide-character functions, but they do not work correctly.
  */
index c69707feb2c683216487b14bbda6667ab8918f16..047ece40a4a9bf899cbcfe4284eb1d29f9095583 100644 (file)
 
 #include <tic.h>
 
 
 #include <tic.h>
 
-MODULE_ID("$Id: access.c,v 1.25 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: access.c,v 1.26 2020/07/11 20:55:23 anonymous.maarten Exp $")
 
 #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
 
 
 #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
 
+#ifdef _MSC_VER
+# define ACCESS(FN, MODE) access((FN), (MODE)&(R_OK|W_OK))
+#else
+# define ACCESS access
+#endif
+
 NCURSES_EXPORT(char *)
 _nc_rootname(char *path)
 {
 NCURSES_EXPORT(char *)
 _nc_rootname(char *path)
 {
@@ -112,7 +118,7 @@ _nc_access(const char *path, int mode)
 
     if (path == 0) {
        result = -1;
 
     if (path == 0) {
        result = -1;
-    } else if (access(path, mode) < 0) {
+    } else if (ACCESS(path, mode) < 0) {
        if ((mode & W_OK) != 0
            && errno == ENOENT
            && strlen(path) < PATH_MAX) {
        if ((mode & W_OK) != 0
            && errno == ENOENT
            && strlen(path) < PATH_MAX) {
@@ -127,7 +133,7 @@ _nc_access(const char *path, int mode)
            if (head == leaf)
                _nc_STRCPY(head, ".", sizeof(head));
 
            if (head == leaf)
                _nc_STRCPY(head, ".", sizeof(head));
 
-           result = access(head, R_OK | W_OK | X_OK);
+           result = ACCESS(head, R_OK | W_OK | X_OK);
        } else {
            result = -1;
        }
        } else {
            result = -1;
        }
index 9362105ab795ebd4192e812737ca1e798e0eece9..de0133b386c6b50fbafdc7ad07a493ea84b7631f 100644 (file)
@@ -98,7 +98,7 @@
 #include <ctype.h>
 #include <tic.h>
 
 #include <ctype.h>
 #include <tic.h>
 
-MODULE_ID("$Id: captoinfo.c,v 1.99 2020/05/25 21:28:29 tom Exp $")
+MODULE_ID("$Id: captoinfo.c,v 1.100 2020/07/08 21:39:54 tom Exp $")
 
 #if 0
 #define DEBUG_THIS(p) DEBUG(9, p)
 
 #if 0
 #define DEBUG_THIS(p) DEBUG(9, p)
@@ -639,7 +639,7 @@ _nc_infotocap(const char *cap GCC_UNUSED, const char *str, int const parameteriz
     /* we may have to move some trailing mandatory padding up front */
     padding = str + strlen(str) - 1;
     if (padding > str && *padding == '>') {
     /* we may have to move some trailing mandatory padding up front */
     padding = str + strlen(str) - 1;
     if (padding > str && *padding == '>') {
-       if (*--padding == '/')
+       if (padding > (str + 1) && *--padding == '/')
            --padding;
        while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*')
            padding--;
            --padding;
        while (isdigit(UChar(*padding)) || *padding == '.' || *padding == '*')
            padding--;
index e261170188b17b5ce880485d8c3f1c0c3a58f6b7..ccae41a9b994ddebcd731540e538036d2aefa4ef 100644 (file)
@@ -119,7 +119,7 @@ static int bisearch(wchar_t ucs, const struct interval *table, int max) {
  * in ISO 10646.
  */
 
  * in ISO 10646.
  */
 
-int mk_wcwidth(wchar_t ucs)
+NCURSES_EXPORT(int) mk_wcwidth(wchar_t ucs)
 {
   /* sorted list of non-overlapping intervals of non-spacing characters */
   /* generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */
 {
   /* sorted list of non-overlapping intervals of non-spacing characters */
   /* generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */
@@ -207,7 +207,7 @@ int mk_wcwidth(wchar_t ucs)
 }
 
 
 }
 
 
-int mk_wcswidth(const wchar_t *pwcs, size_t n)
+NCURSES_EXPORT(int) mk_wcswidth(const wchar_t *pwcs, size_t n)
 {
   int w, width = 0;
 
 {
   int w, width = 0;
 
@@ -230,7 +230,7 @@ int mk_wcswidth(const wchar_t *pwcs, size_t n)
  * the traditional terminal character-width behaviour. It is not
  * otherwise recommended for general use.
  */
  * the traditional terminal character-width behaviour. It is not
  * otherwise recommended for general use.
  */
-int mk_wcwidth_cjk(wchar_t ucs)
+NCURSES_EXPORT(int) mk_wcwidth_cjk(wchar_t ucs)
 {
   /* sorted list of non-overlapping intervals of East Asian Ambiguous
    * characters, generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */
 {
   /* sorted list of non-overlapping intervals of East Asian Ambiguous
    * characters, generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */
@@ -298,7 +298,7 @@ int mk_wcwidth_cjk(wchar_t ucs)
 }
 
 
 }
 
 
-int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n)
+NCURSES_EXPORT(int) mk_wcswidth_cjk(const wchar_t *pwcs, size_t n)
 {
   int w, width = 0;
 
 {
   int w, width = 0;
 
index ed1d236d900c5e6ee5052fca904d95f31b0980b5..322fe85563151020bebe2cef1b25eebd0056c3bf 100644 (file)
@@ -35,8 +35,9 @@
 */
 
 #include <curses.priv.h>
 */
 
 #include <curses.priv.h>
+#include <wchar.h>
 
 
-MODULE_ID("$Id: lib_cchar.c,v 1.33 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_cchar.c,v 1.34 2020/07/11 22:55:08 tom Exp $")
 
 /* 
  * The SuSv2 description leaves some room for interpretation.  We'll assume wch
 
 /* 
  * The SuSv2 description leaves some room for interpretation.  We'll assume wch
index 35774793216d96b5fcc354a05116fd9b7654fffa..05c75fb1004bf7c2e7a30ad9dd0f36477b7d5a95 100644 (file)
@@ -31,9 +31,9 @@
 
 #if USE_WIDEC_SUPPORT
 
 
 #if USE_WIDEC_SUPPORT
 
-MODULE_ID("$Id: widechars.c,v 1.7 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: widechars.c,v 1.8 2020/07/11 20:48:42 anonymous.maarten Exp $")
 
 
-#if defined(_WIN32)
+#if defined(_WIN32) && !defined(_MSC_VER)
 /*
  * MinGW has wide-character functions, but they do not work correctly.
  */
 /*
  * MinGW has wide-character functions, but they do not work correctly.
  */
index aae54c685a84bdc29673f5022e5dbdce5c054b83..94be7b563b95da95e00f6c5da944cb166483d7e1 100644 (file)
 
 #include <windows.h>
 
 
 #include <windows.h>
 
-MODULE_ID("$Id: gettimeofday.c,v 1.5 2020/02/29 15:46:00 anonymous.maarten Exp $")
+MODULE_ID("$Id: gettimeofday.c,v 1.6 2020/07/11 21:03:53 tom Exp $")
 
 #define JAN1970 116444736000000000LL   /* the value for 01/01/1970 00:00 */
 
 
 #define JAN1970 116444736000000000LL   /* the value for 01/01/1970 00:00 */
 
-#ifdef _MSC_VER
-#include <winsock2.h>
-#endif
-
-int
+NCURSES_EXPORT(int)
 gettimeofday(struct timeval *tv, void *tz GCC_UNUSED)
 {
     union {
 gettimeofday(struct timeval *tv, void *tz GCC_UNUSED)
 {
     union {
index 17ebaa61a145e1408da4a695904cdaa441488717..55843662e8aad7331972d8278553821de5cbcc27 100644 (file)
@@ -28,7 +28,7 @@
  ****************************************************************************/
 #include <curses.priv.h>
 
  ****************************************************************************/
 #include <curses.priv.h>
 
-MODULE_ID("$Id: wcwidth.c,v 1.3 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: wcwidth.c,v 1.4 2020/07/11 21:02:10 tom Exp $")
 
 #if USE_WIDEC_SUPPORT
 #define mk_wcwidth(ucs)          _nc_wcwidth(ucs)
 
 #if USE_WIDEC_SUPPORT
 #define mk_wcwidth(ucs)          _nc_wcwidth(ucs)
@@ -36,10 +36,10 @@ MODULE_ID("$Id: wcwidth.c,v 1.3 2020/02/02 23:34:34 tom Exp $")
 #define mk_wcwidth_cjk(ucs)      _nc_wcwidth_cjk(ucs)
 #define mk_wcswidth_cjk(pwcs, n) _nc_wcswidth_cjk(pwcs, n)
 
 #define mk_wcwidth_cjk(ucs)      _nc_wcwidth_cjk(ucs)
 #define mk_wcswidth_cjk(pwcs, n) _nc_wcswidth_cjk(pwcs, n)
 
-extern int mk_wcwidth(wchar_t);
-extern int mk_wcswidth(const wchar_t *, size_t);
-extern int mk_wcwidth_cjk(wchar_t);
-extern int mk_wcswidth_cjk(const wchar_t *, size_t);
+NCURSES_EXPORT(int) mk_wcwidth(wchar_t);
+NCURSES_EXPORT(int) mk_wcswidth(const wchar_t *, size_t);
+NCURSES_EXPORT(int) mk_wcwidth_cjk(wchar_t);
+NCURSES_EXPORT(int) mk_wcswidth_cjk(const wchar_t *, size_t);
 
 #include <wcwidth.h>
 #else
 
 #include <wcwidth.h>
 #else
index b88f5bd66c6571ed0137fe9cb87d033c9ea3166c..075c096e728dfcb94d7825d0e183d3ab60eaaf97 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200704) unstable; urgency=low
+ncurses6 (6.2+20200711) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jul 2020 09:08:52 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jul 2020 04:26:05 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index b88f5bd66c6571ed0137fe9cb87d033c9ea3166c..075c096e728dfcb94d7825d0e183d3ab60eaaf97 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200704) unstable; urgency=low
+ncurses6 (6.2+20200711) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jul 2020 09:08:52 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jul 2020 04:26:05 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 06e29d3be6be2f69ca5ff6d6253c8688237d2a12..1a55f78e1cfe6d3b15a18152b46a39a86a700142 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.2+20200704) unstable; urgency=low
+ncurses6 (6.2+20200711) unstable; urgency=low
 
   * latest weekly patch
 
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 04 Jul 2020 09:08:52 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 11 Jul 2020 04:26:05 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index 52c4fb71114d925b2ad0028712d30ef4ced329d8..f46c2c20efa7281ce75a598e2b5b8cee75f94dc2 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.403 2020/07/04 13:08:52 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.404 2020/07/11 08:26:05 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "2"\r
 !define VERSION_YYYY  "2020"\r
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "2"\r
 !define VERSION_YYYY  "2020"\r
-!define VERSION_MMDD  "0704"\r
+!define VERSION_MMDD  "0711"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 7c6f24fc697512b3e4a998d1e548c31868ceaac5..0a0ac1f1ed60df4b05b6f37381d2fb44dbb60d94 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.2
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.2
-Release: 20200704
+Release: 20200711
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index d64a7b56c36c4f14e662f87bf7f57735c549dac6..411804b75f60ea197eb890fe66e07469d47f293c 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.2
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.2
-Release: 20200704
+Release: 20200711
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index e50ea65a651bbb02dd637d6d61d8fa6ac05a323a..ab545da0975d1176bc091b06844d2d583b6e1598 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.2
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.2
-Release: 20200704
+Release: 20200711
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index b644e8e7667a9613b4f07be9f9778e4911aec76d..e084e0f0f541a507cba7aa71d75c36e059d18915 100644 (file)
@@ -40,7 +40,7 @@
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
 #include "termsort.c"          /* this C file is generated */
 #include <parametrized.h>      /* so is this */
 
-MODULE_ID("$Id: dump_entry.c,v 1.178 2020/07/04 20:00:29 tom Exp $")
+MODULE_ID("$Id: dump_entry.c,v 1.179 2020/07/08 21:21:11 tom Exp $")
 
 #define DISCARD(string) string = ABSENT_STRING
 #define PRINTF (void) printf
 
 #define DISCARD(string) string = ABSENT_STRING
 #define PRINTF (void) printf
@@ -1125,7 +1125,7 @@ fmt_entry(TERMTYPE2 *tterm,
                        char *s = srccap, *d = buffer;
                        int need = 3 + (int) strlen(name);
                        while ((*d = *s++) != 0) {
                        char *s = srccap, *d = buffer;
                        int need = 3 + (int) strlen(name);
                        while ((*d = *s++) != 0) {
-                           if ((d - buffer + 1) >= (int) sizeof(buffer)) {
+                           if ((d - buffer + 2) >= (int) sizeof(buffer)) {
                                fprintf(stderr,
                                        "%s: value for %s is too long\n",
                                        _nc_progname,
                                fprintf(stderr,
                                        "%s: value for %s is too long\n",
                                        _nc_progname,
index f42ff3416ece69318d9b4706eedd97b8a832c75c..dbdbdc2dfe359545e4399279ed6cd0dddb77bf42 100644 (file)
@@ -43,7 +43,7 @@
 
 #include <dump_entry.h>
 
 
 #include <dump_entry.h>
 
-MODULE_ID("$Id: infocmp.c,v 1.144 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.145 2020/07/07 20:28:47 tom Exp $")
 
 #define MAX_STRING     1024    /* maximum formatted string */
 
 
 #define MAX_STRING     1024    /* maximum formatted string */
 
@@ -1194,8 +1194,9 @@ usage(void)
        DATA("Options:")
     };
 #undef DATA
        DATA("Options:")
     };
 #undef DATA
+    /* length is given here so the compiler can make everything readonly */
 #define DATA(s) s
 #define DATA(s) s
-    static const char options[][45] =
+    static const char options[][46] =
     {
        "  -0    print single-row"
        ,"  -1    print single-column"
     {
        "  -0    print single-row"
        ,"  -1    print single-column"
@@ -1835,8 +1836,8 @@ main(int argc, char *argv[])
                                   tname[termcount]);
 
                status = _nc_read_entry2(tname[termcount],
                                   tname[termcount]);
 
                status = _nc_read_entry2(tname[termcount],
-                                       tfile[termcount],
-                                       &entries[termcount].tterm);
+                                        tfile[termcount],
+                                        &entries[termcount].tterm);
            }
 
            if (status <= 0) {
            }
 
            if (status <= 0) {
index 432fbf7a5790d4894b98438fa372995d6073478a..3c4eb697a4de710a91be75b4e3aa3732bff09dbb 100644 (file)
@@ -27,7 +27,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: picsmap.c,v 1.132 2020/02/02 23:34:34 tom Exp $
+ * $Id: picsmap.c,v 1.134 2020/07/11 23:01:49 tom Exp $
  *
  * Author: Thomas E. Dickey
  *
  *
  * Author: Thomas E. Dickey
  *
@@ -955,6 +955,20 @@ parse_rgb(char **data)
     return result;
 }
 
     return result;
 }
 
+#define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c))
+
+static int
+CaselessCmp(const char *a, const char *b)
+{                              /* strcasecmp isn't portable */
+    while (*a && *b) {
+       int cmp = LOWERCASE(*a) - LOWERCASE(*b);
+       if (cmp != 0)
+           break;
+       a++, b++;
+    }
+    return LOWERCASE(*a) - LOWERCASE(*b);
+}
+
 static RGB_NAME *
 lookup_rgb(const char *name)
 {
 static RGB_NAME *
 lookup_rgb(const char *name)
 {
@@ -962,7 +976,7 @@ lookup_rgb(const char *name)
     if (rgb_table != 0) {
        int n;
        for (n = 0; rgb_table[n].name != 0; ++n) {
     if (rgb_table != 0) {
        int n;
        for (n = 0; rgb_table[n].name != 0; ++n) {
-           if (!strcasecmp(name, rgb_table[n].name)) {
+           if (!CaselessCmp(name, rgb_table[n].name)) {
                result = &rgb_table[n];
                break;
            }
                result = &rgb_table[n];
                break;
            }
index 18cfc9074faf08004d7fa4f577a5b28c88e8b8a4..b352ce7d016dbebcc54b6bd943f56af9c46b5657 100644 (file)
@@ -30,7 +30,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.186 2020/05/10 00:36:06 tom Exp $ */
+/* $Id: test.priv.h,v 1.187 2020/07/11 23:01:49 tom Exp $ */
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
@@ -437,6 +437,13 @@ extern int optind;
 #include <assert.h>
 #include <ctype.h>
 
 #include <assert.h>
 #include <ctype.h>
 
+#if defined(_MSC_VER)
+#undef popen
+#define popen(s,n) _popen(s,n)
+#undef pclose
+#define pclose(s) _pclose(s)
+#endif
+
 #ifndef GCC_NORETURN
 #define GCC_NORETURN           /* nothing */
 #endif
 #ifndef GCC_NORETURN
 #define GCC_NORETURN           /* nothing */
 #endif