-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2822 2017/04/22 20:29:13 tom Exp $
+-- $Id: NEWS,v 1.2829 2017/04/30 01:26:45 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.
+20170429
+ + corrected a case where $with_gpm was set to "maybe" after CF_WITH_GPM,
+ overlooked in 20160528 fixes (report by Alexandre Bury).
+ + improve a couple of test-program's help-messages.
+ + corrected loop in rain.c from 20170415 changes.
+ + modify winnstr and winchnstr to return error if the output pointer is
+ null, as well as adding a null pointer check of the window pointer
+ for better compatibility with other implementations.
+ + improve discussion of NetBSD curses in scr_dump.5
+ + modify LIMIT_TYPED macro in new_pair.h to avoid changing sign of the
+ value to be limited (reports by Darby Payne, Rob Boudreau).
+ + update config.guess, config.sub from
+ http://git.savannah.gnu.org/cgit/config.git
+
20170422
+ build-fix for termcap-configuration (report by Chi-Hsuan Yen).
+ improve terminfo manual page discussion of control- and graphics-
-5:0:9 6.0 20170422
+5:0:9 6.0 20170429
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.808 2017/02/26 00:34:27 tom Exp $
+dnl $Id: aclocal.m4,v 1.809 2017/04/29 22:41:39 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_WITH_GPM version: 9 updated: 2016/05/28 20:33:31
+dnl CF_WITH_GPM version: 10 updated: 2017/04/29 18:32:18
dnl -----------
dnl
dnl The option parameter (if neither yes/no) is assumed to be the name of
AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
with_gpm=yes
else
- AC_CHECK_LIB(gpm,Gpm_Open,[:],[
+ AC_CHECK_LIB(gpm,Gpm_Open,[with_gpm=yes],[
if test "$with_gpm" = maybe; then
AC_MSG_WARN(Cannot link with GPM library)
with_gpm=no
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-01-01'
+timestamp='2017-03-05'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
- echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
- *)
- echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ UNAME_PROCESSOR=x86_64 ;;
+ i386)
+ UNAME_PROCESSOR=i586 ;;
esac
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
+ NSX-?:NONSTOP_KERNEL:*:*)
+ echo nsx-tandem-nsk${UNAME_RELEASE}
+ exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
# Configuration validation subroutine script.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-01-01'
+timestamp='2017-04-02'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
- | i370 | i860 | i960 | ia64 \
+ | i370 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
+ | wasm32 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
- | i*86-* | i860-* | i960-* | ia64-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
+ | wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
nsr-tandem)
basic_machine=nsr-tandem
;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
basic_machine=a29k-wrs
os=-vxworks
;;
+ wasm32)
+ basic_machine=wasm32-unknown
+ ;;
w65*)
basic_machine=w65-wdc
os=-none
echo "$as_me:5353: result: $ac_cv_lib_gpm_Gpm_Open" >&5
echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6
if test $ac_cv_lib_gpm_Gpm_Open = yes; then
- :
+ with_gpm=yes
else
if test "$with_gpm" = maybe; then
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1157 2017/04/16 10:19:41 tom Exp $
+# $Id: dist.mk,v 1.1158 2017/04/23 14:51:25 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 = 20170422
+NCURSES_PATCH = 20170429
# 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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.16 2017/04/29 21:31:17 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
(the number of characters retrieved, exclusive of the
trailing 0).
- No error conditions are defined. If the <EM>chstr</EM> parameter
- is null, no data is returned, and the return value is ze-
- ro.
+ X/Open Curses defines no error conditions. In this imple-
+ mentation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
outside the window, or if the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all routines except <STRONG>winchnstr</STRONG> may be macros.
- SVr4 does not document whether the result string is zero-
- terminated; it does not document whether a length limit
+ Note that all routines except <STRONG>winchnstr</STRONG> may be macros.
+ SVr4 does not document whether the result string is zero-
+ terminated; it does not document whether a length limit
argument includes any trailing 0; and it does not document
the meaning of the return value.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard,
- Issue 4. It is no more specific than the SVr4 documenta-
+ These functions are described in the XSI Curses standard,
+ Issue 4. It is no more specific than the SVr4 documenta-
tion on the trailing 0. It does specify that the success-
ful return of the functions is <STRONG>OK</STRONG>.
</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_inch.3x.html">curs_inch(3x)</A></STRONG>.
- Comparable functions in the wide-character (ncursesw) li-
+ Comparable functions in the wide-character (ncursesw) li-
brary are described in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
<!--
****************************************************************************
- * Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,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 *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp @
+ * @Id: curs_instr.3x,v 1.17 2017/04/29 21:37:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
All of the functions return <STRONG>ERR</STRONG> upon failure, or the num-
ber of characters actually read into the string.
- X/Open defines no error conditions. In this implementa-
- tion, if the window parameter is null or the str parameter
- is null, a zero is returned.
+ X/Open Curses defines no error conditions. In this imple-
+ mentation:
- Functions with a "mv" prefix first perform a cursor move-
- ment using <STRONG>wmove</STRONG>, and return an error if the position is
+ <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+
+ <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
+
+ Functions with a "mv" prefix first perform a cursor move-
+ ment using <STRONG>wmove</STRONG>, and return an error if the position is
outside the window, or if the window pointer is null.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- SVr4 does not document whether a length limit includes or
+ SVr4 does not document whether a length limit includes or
excludes the trailing NUL.
- The ncurses library extends the XSI description by allow-
- ing a negative value for <EM>n</EM>. In this case, the functions
+ The ncurses library extends the XSI description by allow-
+ ing a negative value for <EM>n</EM>. In this case, the functions
return the string ending at the right margin.
<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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
http://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
sonable optimization. This implementation is "new curses"
(ncurses) and is the approved replacement for 4.4BSD clas-
sic curses, which has been discontinued. This describes
- <STRONG>ncurses</STRONG> version 6.0 (patch 20170422).
+ <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: scr_dump.5,v 1.9 2017/04/22 18:44:25 tom Exp @
+ * @Id: scr_dump.5,v 1.10 2017/04/29 20:53:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
- As of April 2017, NetBSD curses does not yet support
- screen dumps.
+ As of April 2017, NetBSD curses does not support <STRONG>scr_dump</STRONG>
+ and <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has
+ <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+
+ Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps
+ with a useful magic number. It writes
+
+ <STRONG>o</STRONG> the curses shared library major and minor versions as
+ the first two bytes (e.g., 7 and 1),
+
+ <STRONG>o</STRONG> followed by a binary dump of the <STRONG>WINDOW</STRONG>,
+
+ <STRONG>o</STRONG> some data for wide-characters referenced by the <STRONG>WINDOW</STRONG>
+ structure, and
+
+ <STRONG>o</STRONG> finally, lines as done by other implementations.
</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
****************************************************************************
* @Id: terminfo.head,v 1.32 2017/04/22 13:52:49 tom Exp @
* Head of terminfo man page ends here
- * @Id: terminfo.tail,v 1.84 2017/04/22 16:00:56 tom Exp @
+ * @Id: terminfo.tail,v 1.85 2017/04/22 18:59:02 tom Exp @
* Beginning of terminfo.tail file
* This file is part of ncurses.
* See "terminfo.head" for copyright.
nals by giving a set of capabilities which they have, by
specifying how to perform screen operations, and by speci-
fying padding requirements and initialization sequences.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
</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><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
<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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
<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 20170422).
+ This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170429).
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
+.\" $Id: curs_inchstr.3x,v 1.16 2017/04/29 21:31:17 tom Exp $
.TH curs_inchstr 3X ""
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
+.de bP
+.IP \(bu 4
+..
.na
.hy 0
.SH NAME
other than \fBERR\fR upon successful completion (the number of characters
retrieved, exclusive of the trailing 0).
.PP
-No error conditions are defined.
-If the \fIchstr\fP parameter is null,
-no data is returned,
-and the return value is zero.
+X/Open Curses defines no error conditions.
+In this implementation:
+.bP
+If the \fIwin\fP parameter is null, an error is returned,
+.bP
+If the \fIchstr\fP parameter is null, an error is returned,
.PP
-Functions with a "mv" prefix first perform a cursor movement using
+Functions with a \*(``mv\*('' prefix first perform a cursor movement using
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
.SH NOTES
.\"***************************************************************************
-.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2010,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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.16 2010/12/04 18:38:55 tom Exp $
+.\" $Id: curs_instr.3x,v 1.17 2017/04/29 21:37:55 tom Exp $
.TH curs_instr 3X ""
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
+.de bP
+.IP \(bu 4
+..
.SH NAME
\fBinstr\fR,
\fBinnstr\fR,
All of the functions return \fBERR\fR upon failure,
or the number of characters actually read into the string.
.PP
-X/Open defines no error conditions.
-In this implementation,
-if the window parameter is null or the str parameter is null,
-a zero is returned.
+X/Open Curses defines no error conditions.
+In this implementation:
+.bP
+If the \fIwin\fP parameter is null, an error is returned,
+.bP
+If the \fIchstr\fP parameter is null, an error is returned,
.PP
-Functions with a "mv" prefix first perform a cursor movement using
+Functions with a \*(``mv\*('' prefix first perform a cursor movement using
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
.SH NOTES
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: scr_dump.5,v 1.9 2017/04/22 18:44:25 tom Exp $
+.\" $Id: scr_dump.5,v 1.10 2017/04/29 20:53:55 tom Exp $
.TH scr_dump 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.NE
.SS NetBSD
.PP
-As of April 2017, NetBSD curses does not yet support screen dumps.
+As of April 2017, NetBSD curses does
+not support \fBscr_dump\fP and \fBscr_restore\fP
+(or \fBscr_init\fP, \fBscr_set\fP),
+although it has \fBputwin\fP and \fBgetwin\fP.
+.PP
+Like ncurses5, NetBSD \fBputwin\fP does not identify its dumps with a
+useful magic number.
+It writes
+.bP
+the curses shared library major and minor versions
+as the first two bytes (e.g., 7 and 1),
+.bP
+followed by a binary dump of the \fBWINDOW\fP,
+.bP
+some data for wide-characters referenced by the \fBWINDOW\fP structure, and
+.bP
+finally, lines as done by other implementations.
.SH EXAMPLE
.PP
Given a simple program which writes text to the screen
/****************************************************************************
- * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2010,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 *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_inchstr.c,v 1.12 2010/12/20 01:37:41 tom Exp $")
+MODULE_ID("$Id: lib_inchstr.c,v 1.16 2017/04/30 00:10:25 tom Exp $")
NCURSES_EXPORT(int)
winchnstr(WINDOW *win, chtype *str, int n)
T((T_CALLED("winchnstr(%p,%p,%d)"), (void *) win, (void *) str, n));
- if (!str)
- returnCode(0);
+ if (!win || !str) {
+ i = ERR;
+ } else {
+ int row = win->_cury;
+ int col = win->_curx;
+ NCURSES_CH_T *text = win->_line[row].text;
- if (win) {
- for (; (n < 0 || (i < n)) && (win->_curx + i <= win->_maxx); i++)
- str[i] =
- (chtype) CharOf(win->_line[win->_cury].text[win->_curx + i]) |
- AttrOf(win->_line[win->_cury].text[win->_curx + i]);
+ for (; (n < 0 || (i < n)) && (col + i <= win->_maxx); i++) {
+ str[i] = (((chtype) CharOf(text[col + i]) & A_CHARTEXT) |
+ AttrOf(text[col + i]));
+ }
+ str[i] = (chtype) 0;
}
- str[i] = (chtype) 0;
returnCode(i);
}
/****************************************************************************
- * Copyright (c) 1998-2014,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 *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_instr.c,v 1.22 2016/05/28 23:11:26 tom Exp $")
+MODULE_ID("$Id: lib_instr.c,v 1.23 2017/04/29 21:16:20 tom Exp $")
NCURSES_EXPORT(int)
winnstr(WINDOW *win, char *str, int n)
T((T_CALLED("winnstr(%p,%p,%d)"), (void *) win, str, n));
- if (!str)
- returnCode(0);
-
- if (win) {
- int row, col;
-
- getyx(win, row, col);
+ if (!win || !str) {
+ i = ERR;
+ } else {
+ int row = win->_cury;
+ int col = win->_curx;
+ NCURSES_CH_T *text = win->_line[row].text;
if (n < 0)
- n = win->_maxx - win->_curx + 1;
+ n = win->_maxx - col + 1;
for (; i < n;) {
#if USE_WIDEC_SUPPORT
- cchar_t *cell = &(win->_line[row].text[col]);
+ cchar_t *cell = &(text[col]);
attr_t attrs;
NCURSES_PAIRS_T pair;
mbstate_t state;
}
}
#else
- str[i++] = (char) CharOf(win->_line[row].text[col]);
+ str[i++] = (char) CharOf(text[col]);
#endif
if (++col > win->_maxx) {
break;
}
}
+ str[i] = '\0'; /* SVr4 does not seem to count the null */
}
- str[i] = '\0'; /* SVr4 does not seem to count the null */
T(("winnstr returns %s", _nc_visbuf(str)));
returnCode(i);
}
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_mouse.c,v 1.171 2017/03/25 21:20:35 tom Exp $")
+MODULE_ID("$Id: lib_mouse.c,v 1.173 2017/04/30 01:22:04 tom Exp $")
#include <tic.h>
{
sp->_mouse_gpm_found = FALSE;
if ((sp->_dlopen_gpm = dlopen(LIBGPM_SONAME, my_RTLD)) != 0) {
+#pragma GCC diagnostic push
+#if (defined(__GNUC__) && (__GNUC__ >= 5)) || defined(__clang__)
+#pragma GCC diagnostic ignored "-Wpedantic"
+#endif
if (GET_DLSYM(gpm_fd) == 0 ||
GET_DLSYM(Gpm_Open) == 0 ||
GET_DLSYM(Gpm_Close) == 0 ||
GET_DLSYM(Gpm_GetEvent) == 0) {
+#pragma GCC diagnostic pop
T(("GPM initialization failed: %s", dlerror()));
unload_gpm_library(sp);
} else {
/****************************************************************************
- * 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 *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: lib_screen.c,v 1.85 2016/09/10 18:38:36 tom Exp $")
+MODULE_ID("$Id: lib_screen.c,v 1.86 2017/04/23 15:07:27 tom Exp $")
#define MAX_SIZE 0x3fff /* 16k is big enough for a window or pad */
#define TOP_SLIMIT _nc_SLIMIT(sizeof(buffer))
/*
- * Use 0x8888 as the magic number for new-format files, since it cannot be
+ * Use 0x888888 as the magic number for new-format files, since it cannot be
* mistaken for the _cury/_curx pair of 16-bit numbers which start the old
* format. It happens to be unused in the file 5.22 database (2015/03/07).
*/
-# $Id: modules,v 1.121 2017/03/01 01:58:12 tom Exp $
+# $Id: modules,v 1.122 2017/04/29 20:23:50 tom Exp $
##############################################################################
# Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. #
# #
charable lib $(wide) $(HEADER_DEPS)
lib_add_wch lib $(wide) $(HEADER_DEPS)
lib_box_set lib $(wide) $(HEADER_DEPS)
-lib_cchar lib $(wide) $(HEADER_DEPS)
+lib_cchar lib $(wide) $(HEADER_DEPS) $(srcdir)/new_pair.h
lib_erasewchar lib $(wide) $(HEADER_DEPS)
lib_get_wch lib $(wide) $(HEADER_DEPS)
lib_get_wstr lib $(wide) $(HEADER_DEPS)
/*
* Common type definitions and macros for new_pair.c, lib_color.c
*
- * $Id: new_pair.h,v 1.5 2017/04/02 14:46:34 tom Exp $
+ * $Id: new_pair.h,v 1.6 2017/04/29 20:25:29 tom Exp $
*/
#ifndef NEW_PAIR_H
#define USE_NEW_PAIR NCURSES_EXT_COLORS
-#define LIMIT_TYPED(n,t) (t)(((t)(n) < 0) ? MAX_OF_TYPE(t) : (n))
+#define LIMIT_TYPED(n,t) \
+ (t)(((n) > MAX_OF_TYPE(t)) \
+ ? MAX_OF_TYPE(t) \
+ : ((n) < -MAX_OF_TYPE(t)) \
+ ? -MAX_OF_TYPE(t) \
+ : (n))
#define limit_COLOR(n) LIMIT_TYPED(n,NCURSES_COLOR_T)
#define limit_PAIRS(n) LIMIT_TYPED(n,NCURSES_PAIRS_T)
-ncurses6 (6.0+20170422) unstable; urgency=low
+ncurses6 (6.0+20170429) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 16 Apr 2017 06:19:41 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Apr 2017 10:51:25 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20170422) unstable; urgency=low
+ncurses6 (6.0+20170429) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 16 Apr 2017 06:19:41 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Apr 2017 10:51:25 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.0+20170422) unstable; urgency=low
+ncurses6 (6.0+20170429) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 16 Apr 2017 06:19:41 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 23 Apr 2017 10:51:25 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.208 2017/04/16 10:19:41 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.209 2017/04/23 14:51:25 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 "0422"\r
+!define VERSION_MMDD "0429"\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: 20170422
+Release: 20170429
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
-Release: 20170422
+Release: 20170429
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
* authorization. *
****************************************************************************/
/*
- * $Id: inch_wide.c,v 1.8 2017/04/15 18:52:39 tom Exp $
+ * $Id: inch_wide.c,v 1.9 2017/04/29 22:03:21 tom Exp $
*/
/*
int in_wch(cchar_t *wcval);
" ESC/^Q - quit",
" h,j,k,l (and arrow-keys) - move viewport",
" w - recur to new window",
+ " for next input file",
0
};
setlocale(LC_ALL, "");
if (argc < 2) {
- fprintf(stderr, "usage: %s file\n", argv[0]);
+ fprintf(stderr, "usage: %s file1 [file2 [...]]\n", argv[0]);
return EXIT_FAILURE;
}
* authorization. *
****************************************************************************/
/*
- * $Id: inchs.c,v 1.13 2017/04/15 18:52:10 tom Exp $
+ * $Id: inchs.c,v 1.14 2017/04/29 22:03:26 tom Exp $
*
* Author: Thomas E Dickey
*/
" ESC/^Q - quit",
" h,j,k,l (and arrow-keys) - move viewport",
" w - recur to new window",
+ " for next input file",
0
};
WINDOW *txtbox = 0;
setlocale(LC_ALL, "");
if (argc < 2) {
- fprintf(stderr, "usage: %s file\n", argv[0]);
+ fprintf(stderr, "usage: %s file1 [file2 [...]]\n", argv[0]);
return EXIT_FAILURE;
}
* authorization. *
****************************************************************************/
/*
- * $Id: rain.c,v 1.42 2017/04/15 19:32:33 tom Exp $
+ * $Id: rain.c,v 1.43 2017/04/30 01:08:14 tom Exp $
*/
#include <test.priv.h>
#include <popup_msg.h>
case HELP_KEY_1:
popup_msg(stdscr, help);
break;
+ case ERR:
+ break;
default:
beep();
}