-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3107 2018/03/31 22:45:41 tom Exp $
+-- $Id: NEWS,v 1.3111 2018/04/08 00:56:30 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.
+20180407
+ + clarify in manual pages that vwprintw and vwscanw are obsolete,
+ not part of X/Open Curses since 2007.
+ + use "const" in some prototypes rather than NCURSES_CONST where X/Open
+ Curses was updated to do this, e.g., wscanw, newterm, the terminfo
+ interface. Also use "const" for consistency in the termcap
+ interface, which was withdrawn by X/Open Curses in Issue 5 (2007).
+ As of Issue 7, X/Open Curses still lacks "const" for certain return
+ values, e.g., keyname().
+
20180331
+ improve terminfo write/read by modifying the fourth item of the
extended header to denote the number of valid strings in the extended
+ amend Scaled256() macro in test/picsmap.c to cover the full range
0..1000 (report by Roger Pau Monne).
+ add some checks in tracemunch for undefined variables.
+ + trim some redundant capabilities from st-0.7 -TD
+ + trim unnecessary setf/setb from interix -TD
20180317
+ fix a check in infotocap which may not have detected a problem when
-5:0:10 6.1 20180331
+5:0:10 6.1 20180407
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1217 2018/03/31 15:26:33 tom Exp $
+# $Id: dist.mk,v 1.1218 2018/04/07 13:38:08 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 = 1
-NCURSES_PATCH = 20180331
+NCURSES_PATCH = 20180407
# 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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
<!--
****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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_initscr.3x,v 1.29 2017/11/18 23:47:37 tom Exp @
+ * @Id: curs_initscr.3x,v 1.30 2018/04/07 20:54:12 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*newterm(char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
+ <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
<STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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_printw.3x,v 1.21 2017/01/07 17:33:45 tom Exp @
+ * @Id: curs_printw.3x,v 1.22 2018/04/07 20:18:55 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
<STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions. The func-
- tion <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced by a
- function <STRONG>vw_printw</STRONG> using the <STRONG><stdarg.h></STRONG> interface. The Single Unix
- Specification, Version 2 states that <STRONG>vw_printw</STRONG> is preferred to <STRONG>vw-</STRONG>
- <STRONG>printw</STRONG> since the latter requires including <STRONG><varargs.h></STRONG>, which cannot be
- used in the same file as <STRONG><stdarg.h></STRONG>. This implementation uses
- <STRONG><stdarg.h></STRONG> for both, because that header is included in <STRONG><curses.h</STRONG>>.
+ In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
+ port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
+
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
+ function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
+ by a function <STRONG>vw_printw</STRONG> using the <STRONG><stdarg.h></STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
+ preferred to <STRONG>vwprintw</STRONG> since the latter requires including
+ <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
+ This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
+ is included in <STRONG><curses.h</STRONG>>.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
+ <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>.
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>.
<!--
****************************************************************************
- * Copyright (c) 1998-2010,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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_scanw.3x,v 1.19 2017/11/21 00:46:31 tom Exp @
+ * @Id: curs_scanw.3x,v 1.23 2018/04/07 20:56:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>scanw(char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
- <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+ <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>int</STRONG> <STRONG>y,</STRONG> <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>...);</STRONG>
+ <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
+
+ /* obsolete */
+ <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*win,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*fmt,</STRONG> <STRONG>va_list</STRONG> <STRONG>varglist);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions. The func-
- tion <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced by a
- function <STRONG>vw_scanw</STRONG> using the <STRONG><stdarg.h></STRONG> interface. The Single Unix
- Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is preferred to <STRONG>vwscanw</STRONG>
- since the latter requires including <STRONG><varargs.h></STRONG>, which cannot be used
- in the same file as <STRONG><stdarg.h></STRONG>. This implementation uses <STRONG><stdarg.h></STRONG>
- for both, because that header is included in <STRONG><curses.h</STRONG>>.
+ In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
+ legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
+
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
+ replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG><stdarg.h></STRONG> interface.
+
+ <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
+ preferred to <STRONG>vwscanw</STRONG> since the latter requires including
+ <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
+ This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
+ is included in <STRONG><curses.h</STRONG>>.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
+ <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
Both XSI and The Single Unix Specification, Version 2 state that these
- functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>. Since the underlying <STRONG>scanf(3)</STRONG> can return
- the number of items scanned, and the SVr4 code was documented to use
- this feature, this is probably an editing error which was introduced in
- XSI, rather than being done intentionally. Portable applications
- should only test if the return value is <STRONG>ERR</STRONG>, since the <STRONG>OK</STRONG> value (zero)
- is likely to be misleading. One possible way to get useful results
- would be to use a "%n" conversion at the end of the format string to
- ensure that something was processed.
+ functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
+
+ <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
+ scanned, and the SVr4 code was documented to use this feature, this
+ is probably an editing error which was introduced in XSI, rather
+ than being done intentionally.
+
+ <STRONG>o</STRONG> This implementation returns the number of items scanned, for com-
+ patibility with SVr4 curses. As of 2018, NetBSD curses also
+ returns the number of items scanned. Both ncurses and NetBSD
+ curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
+
+ <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
+ since the <STRONG>OK</STRONG> value (zero) is likely to be misleading.
+
+ One possible way to get useful results would be to use a "%n" con-
+ version at the end of the format string to ensure that something
+ was processed.
</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_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG>scanf(3)</STRONG>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
+ <STRONG>scanf(3)</STRONG>.
<!--
****************************************************************************
- * Copyright (c) 2010-2015,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 2010-2017,2018 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_sp_funcs.3x,v 1.9 2017/03/27 08:35:44 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.10 2018/04/07 20:58:41 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
<STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
- <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
+ <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
<STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
<STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
<STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
+ <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.37 2018/01/23 10:14:38 tom Exp @
+ * @Id: curs_termcap.3x,v 1.39 2018/04/07 20:51:27 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
<STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*bp,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*name);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum(char</STRONG> <STRONG>*id);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tgetstr(char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetent(const</STRONG> <STRONG>char</STRONG> <STRONG>*bp,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*name);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*id);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*id,</STRONG> <STRONG>char</STRONG> <STRONG>**area);</STRONG>
<STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*cap,</STRONG> <STRONG>int</STRONG> <STRONG>col,</STRONG> <STRONG>int</STRONG> <STRONG>row);</STRONG>
<STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*str,</STRONG> <STRONG>int</STRONG> <STRONG>affcnt,</STRONG> <STRONG>int</STRONG> <STRONG>(*putc)(int));</STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions. However,
- they are marked TO BE WITHDRAWN and may be removed in future versions.
-
- Neither the XSI Curses standard nor the SVr4 man pages documented the
- return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
- turned ever since SVr1. In particular, an omission in the XSI Curses
- documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
- or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati-
- bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
+ These functions are provided for supporting legacy applications, and
+ should not be used in new programs:
+
+ <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev-
+ er, they are marked TO BE WITHDRAWN and may be removed in future
+ versions.
+
+ <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
+ (along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
+
+ Neither the XSI Curses standard nor the SVr4 man pages documented the
+ return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
+ turned ever since SVr1. In particular, an omission in the XSI Curses
+ documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
+ or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati-
+ bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
Version 2 rather than in ncurses.
External variables are provided for support of certain termcap applica-
tions. However, termcap applications' use of those variables is poorly
documented, e.g., not distinguishing between input and output. In par-
- ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
+ ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
<STRONG>peed</STRONG>.
- The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
+ The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
used escapes many application developers. The original BSD 4.2 termcap
library (and historical relics thereof) did not require a trailing null
- NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
- Some applications assume that the termcap interface does not require
+ NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+ Some applications assume that the termcap interface does not require
the trailing NUL for the parameter name. Taking into account these is-
sues:
- <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
- identifier provided that was at the end of the terminal descrip-
+ <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
+ identifier provided that was at the end of the terminal descrip-
tion. You should not rely upon this behavior in portable programs.
- This implementation disallows matches against single-character ca-
+ This implementation disallows matches against single-character ca-
pability names.
- <STRONG>o</STRONG> This implementation disallows matches by the termcap interface
+ <STRONG>o</STRONG> This implementation disallows matches by the termcap interface
against extended capability names which are longer than two charac-
ters.
<!--
****************************************************************************
- * Copyright (c) 1999-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1999-2017,2018 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_terminfo.3x,v 1.57 2017/11/21 00:46:31 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.58 2018/04/07 21:09:12 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
The <STRONG>tputs</STRONG> routine applies padding information to the string <EM>str</EM> and
outputs it:
- <STRONG>o</STRONG> The <EM>str</EM> must be a terminfo string variable or the return value from
- <STRONG>tparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+ <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
+ value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+
+ The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
+ which happens to share this function name with the <EM>terminfo</EM> inter-
+ face.
<STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
<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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
method of updating character screens with reasonable optimization.
This implementation is "new curses" (ncurses) and is the approved
replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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="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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
<EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences. This describes
- <STRONG>ncurses</STRONG> version 6.1 (patch 20180331).
+ <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
<STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
<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.1 (patch 20180331).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20180407).
lcurl = "{";
rcurl = "}";
print "/****************************************************************************"
- print " * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. *"
+ print " * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *"
print " * *"
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
print " * copy of this software and associated documentation files (the *"
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
- print "/* $Id: MKterm.h.awk.in,v 1.67 2017/04/06 00:19:26 tom Exp $ */"
+ print "/* $Id: MKterm.h.awk.in,v 1.68 2018/04/07 20:51:01 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print ""
print "/* miscellaneous entry points */"
print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
- print "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);"
+ print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);"
print ""
print "/* terminfo entry points, also declared in curses.h */"
print "#if !defined(__NCURSES_H)"
- print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(char *) tigetstr (const char *);"
print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
print "extern NCURSES_EXPORT(int) putp (const char *);"
- print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) tigetflag (const char *);"
+ print "extern NCURSES_EXPORT(int) tigetnum (const char *);"
print ""
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
- print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */"
+ print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */"
print "#else"
- print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
- print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
+ print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */"
+ print "extern NCURSES_EXPORT(char *) tparm_varargs (const char *, ...); /* special */"
print "#endif"
print ""
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "#if !defined(NCURSES_TERMCAP_H_incl)"
- print "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);"
+ print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);"
print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
- print "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) tgetflag (const char *);"
+ print "extern NCURSES_EXPORT(int) tgetnum (const char *);"
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
print "#endif /* NCURSES_TERMCAP_H_incl */"
print ""
print " */"
print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
print ""
- print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
- print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);"
print ""
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
- print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */"
print "#else"
- print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
- print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, const char *, ...); /* special */"
print "#endif"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
- print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);"
+ print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
- print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);"
- print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);"
+ print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
print ""
print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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 *
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: curses.h.in,v 1.257 2017/11/21 00:11:37 tom Exp $ */
+/* $Id: curses.h.in,v 1.258 2018/04/07 20:36:11 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
extern NCURSES_EXPORT(int) mvinstr (int, int, char *); /* generated */
extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...) /* implemented */
GCC_PRINTFLIKE(3,4);
-extern NCURSES_EXPORT(int) mvscanw (int,int, NCURSES_CONST char *,...) /* implemented */
+extern NCURSES_EXPORT(int) mvscanw (int,int, const char *,...) /* implemented */
GCC_SCANFLIKE(3,4);
extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int); /* generated */
extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype); /* generated */
extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */
extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
GCC_PRINTFLIKE(4,5);
-extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...) /* implemented */
+extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, const char *,...) /* implemented */
GCC_SCANFLIKE(4,5);
extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */
extern NCURSES_EXPORT(int) napms (int); /* implemented */
extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */
-extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */
+extern NCURSES_EXPORT(SCREEN *) newterm (const char *,FILE *,FILE *); /* implemented */
extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */
extern NCURSES_EXPORT(int) nl (void); /* implemented */
extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */
extern NCURSES_EXPORT(int) reset_shell_mode (void); /* implemented */
extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int)); /* implemented */
extern NCURSES_EXPORT(int) savetty (void); /* implemented */
-extern NCURSES_EXPORT(int) scanw (NCURSES_CONST char *,...) /* implemented */
+extern NCURSES_EXPORT(int) scanw (const char *,...) /* implemented */
GCC_SCANFLIKE(1,2);
extern NCURSES_EXPORT(int) scr_dump (const char *); /* implemented */
extern NCURSES_EXPORT(int) scr_init (const char *); /* implemented */
extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */
extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
-extern NCURSES_EXPORT(int) vwscanw (WINDOW *, NCURSES_CONST char *,va_list); /* implemented */
-extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, NCURSES_CONST char *,va_list); /* generated */
+extern NCURSES_EXPORT(int) vwscanw (WINDOW *, const char *,va_list); /* implemented */
+extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, const char *,va_list); /* generated */
extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype); /* implemented */
extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int); /* implemented */
extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *); /* generated */
GCC_PRINTFLIKE(2,3);
extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int); /* implemented */
extern NCURSES_EXPORT(int) wrefresh (WINDOW *); /* implemented */
-extern NCURSES_EXPORT(int) wscanw (WINDOW *, NCURSES_CONST char *,...) /* implemented */
+extern NCURSES_EXPORT(int) wscanw (WINDOW *, const char *,...) /* implemented */
GCC_SCANFLIKE(2,3);
extern NCURSES_EXPORT(int) wscrl (WINDOW *,int); /* implemented */
extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int); /* implemented */
/*
* These are also declared in <term.h>:
*/
-extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *); /* implemented */
-extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *); /* implemented */
-extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented */
+extern NCURSES_EXPORT(int) tigetflag (const char *); /* implemented */
+extern NCURSES_EXPORT(int) tigetnum (const char *); /* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (const char *); /* implemented */
extern NCURSES_EXPORT(int) putp (const char *); /* implemented */
#if NCURSES_TPARM_VARARGS
-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */
+extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */
#else
-extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG); /* special */
-extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
+extern NCURSES_EXPORT(char *) tparm (const char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG); /* special */
+extern NCURSES_EXPORT(char *) tparm_varargs (const char *, ...); /* special */
#endif
extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
-extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, const char *, FILE *, FILE *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
/****************************************************************************
- * Copyright (c) 1998-2000,2001 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2001,2018 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 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-/* $Id: termcap.h.in,v 1.17 2001/03/24 21:53:27 tom Exp $ */
+/* $Id: termcap.h.in,v 1.18 2018/04/07 20:46:20 tom Exp $ */
#ifndef NCURSES_TERMCAP_H_incl
#define NCURSES_TERMCAP_H_incl 1
#include <sys/types.h>
-#undef NCURSES_CONST
-#define NCURSES_CONST @NCURSES_CONST@
-
#undef NCURSES_OSPEED
#define NCURSES_OSPEED @NCURSES_OSPEED@
extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
#if !defined(NCURSES_TERM_H_incl)
-extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
+extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
extern NCURSES_EXPORT(int) tgetent (char *, const char *);
-extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
-extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
+extern NCURSES_EXPORT(int) tgetflag (const char *);
+extern NCURSES_EXPORT(int) tgetnum (const char *);
extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
#endif
.\"***************************************************************************
-.\" Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2017,2018 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_initscr.3x,v 1.29 2017/11/18 23:47:37 tom Exp $
+.\" $Id: curs_initscr.3x,v 1.30 2018/04/07 20:54:12 tom Exp $
.TH curs_initscr 3X ""
.de bP
.ie n .IP \(bu 4
.br
\fBbool isendwin(void);\fR
.br
-\fBSCREEN *newterm(char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR
+\fBSCREEN *newterm(const char *\fP\fItype\fP\fB, FILE *\fP\fIoutfd\fP\fB, FILE *\fP\fIinfd\fP\fB);\fR
.br
\fBSCREEN *set_term(SCREEN *\fP\fInew\fP\fB);\fR
.br
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2017,2018 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_printw.3x,v 1.21 2017/01/07 17:33:45 tom Exp $
+.\" $Id: curs_printw.3x,v 1.22 2018/04/07 20:18:55 tom Exp $
.TH curs_printw 3X ""
+.de bP
+.ie n .IP \(bu 4
+.el .IP \(bu 2
+..
.na
.hy 0
.SH NAME
.br
\fBint mvwprintw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
.br
-\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
-.br
\fBint vw_printw(WINDOW *win, const char *fmt, va_list varglist);\fR
+.sp
+/* obsolete */
.br
+\fBint vwprintw(WINDOW *win, const char *fmt, va_list varglist);\fR
.SH DESCRIPTION
The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR
routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)]. In
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions. The function
+In this implementation, \fBvw_printw\fP and \fBvwprintw\fP are equivalent,
+to support legacy applications.
+However, the latter (\fBvwprintw\fP) is obsolete:
+.bP
+The XSI Curses standard, Issue 4 described these functions. The function
\fBvwprintw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
\fBvw_printw\fR using the \fB<stdarg.h>\fR interface.
+.bP
The Single Unix Specification, Version 2 states that
\fBvw_printw\fR is preferred to \fBvwprintw\fR since the latter requires
including \fB<varargs.h>\fR, which
cannot be used in the same file as \fB<stdarg.h>\fR.
-This implementation uses \fB<stdarg.h>\fR for both, because that header
-is included in \fB<curses.h\fR>.
+This implementation uses \fB<stdarg.h>\fR for both,
+because that header is included in \fB<curses.h\fR>.
+.bP
+X/Open Curses, Issue 5 (December 2007) marked \fBvwprintw\fP (along with
+\fBvwscanw\fP and the termcap interface) as withdrawn.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf\fR(3).
+.na
+\fBcurses\fR(3X),
+\fBcurs_addstr\fR(3X),
+\fBcurs_scanw\fR(3X),
+\fBcurs_termcap\fP(3X),
+\fBprintf\fR(3),
+\fBvprintf\fR(3).
.\"***************************************************************************
-.\" Copyright (c) 1998-2010,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 1998-2017,2018 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_scanw.3x,v 1.19 2017/11/21 00:46:31 tom Exp $
+.\" $Id: curs_scanw.3x,v 1.23 2018/04/07 20:56:03 tom Exp $
.TH curs_scanw 3X ""
+.de bP
+.ie n .IP \(bu 4
+.el .IP \(bu 2
+..
.SH NAME
\fBscanw\fR,
\fBwscanw\fR,
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
-\fBint scanw(char *fmt, ...);\fR
+\fBint scanw(const char *fmt, ...);\fR
.br
-\fBint wscanw(WINDOW *win, char *fmt, ...);\fR
+\fBint wscanw(WINDOW *win, const char *fmt, ...);\fR
.br
-\fBint mvscanw(int y, int x, char *fmt, ...);\fR
+\fBint mvscanw(int y, int x, const char *fmt, ...);\fR
.br
-\fBint mvwscanw(WINDOW *win, int y, int x, char *fmt, ...);\fR
+\fBint mvwscanw(WINDOW *win, int y, int x, const char *fmt, ...);\fR
.br
-\fBint vw_scanw(WINDOW *win, char *fmt, va_list varglist);\fR
+\fBint vw_scanw(WINDOW *win, const char *fmt, va_list varglist);\fR
+.sp
+/* obsolete */
.br
-\fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR
+\fBint vwscanw(WINDOW *win, const char *fmt, va_list varglist);\fR
.SH DESCRIPTION
The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to
\fBscanf\fR [see \fBscanf\fR(3)]. The effect of these routines is as though
\fBwmove\fP, and return an error if the position is outside the window,
or if the window pointer is null.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions. The function
+In this implementation, \fBvw_scanw\fP and \fBvwscanw\fP are equivalent,
+to support legacy applications.
+However, the latter (\fBvwscanw\fP) is obsolete:
+.bP
+The XSI Curses standard, Issue 4 described these functions,
+noting that the function
\fBvwscanw\fR is marked TO BE WITHDRAWN, and is to be replaced by a function
\fBvw_scanw\fR using the \fB<stdarg.h>\fR interface.
+.bP
The Single Unix Specification, Version 2 states that
\fBvw_scanw\fR is preferred to \fBvwscanw\fR since the latter requires
including \fB<varargs.h>\fR, which
cannot be used in the same file as \fB<stdarg.h>\fR.
This implementation uses \fB<stdarg.h>\fR for both, because that header
is included in \fB<curses.h\fR>.
+.bP
+X/Open Curses, Issue 5 (December 2007) marked \fBvwscanw\fP (along with
+\fBvwprintw\fP and the termcap interface) as withdrawn.
.LP
Both XSI and The Single Unix Specification, Version 2 state that these
functions return \fBERR\fP or \fBOK\fP.
+.bP
Since the underlying \fBscanf\fR(3) can return the number of items scanned,
and the SVr4 code was documented to use this feature,
this is probably an editing error which was introduced in XSI,
rather than being done intentionally.
+.bP
+This implementation returns the number of items scanned,
+for compatibility with SVr4 curses.
+As of 2018, NetBSD curses also returns the number of items scanned.
+Both ncurses and NetBSD curses call \fBvsscanf\fP to scan the string,
+which returns \fBEOF\fP on error.
+.bP
Portable applications should only test if the return value is \fBERR\fP,
since the \fBOK\fP value (zero) is likely to be misleading.
+.IP
One possible way to get useful results would be to use a "%n" conversion
at the end of the format string to ensure that something was processed.
.SH SEE ALSO
-\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3)
+.na
+\fBcurses\fR(3X),
+\fBcurs_getstr\fR(3X),
+\fBcurs_printw\fR(3X),
+\fBcurs_termcap\fP(3X),
+\fBscanf\fR(3).
.\"***************************************************************************
-.\" Copyright (c) 2010-2015,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 2010-2017,2018 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_sp_funcs.3x,v 1.9 2017/03/27 08:35:44 tom Exp $
+.\" $Id: curs_sp_funcs.3x,v 1.10 2018/04/07 20:58:41 tom Exp $
.TH curs_sp_funcs 3X ""
.na
.hy 0
.br
\fBSCREEN* new_prescr(void);\fR
.br
-\fBSCREEN* newterm_sp(SCREEN*, NCURSES_CONST char *, FILE *, FILE *);\fR
+\fBSCREEN* newterm_sp(SCREEN*, const char *, FILE *, FILE *);\fR
.br
\fBWINDOW* newwin_sp(SCREEN*, int, int, int, int);\fR
.br
.br
\fBint tgetent_sp(SCREEN*, char *, const char *);\fR
.br
-\fBint tgetnum_sp(SCREEN*, NCURSES_CONST char *);\fR
+\fBint tgetnum_sp(SCREEN*, const char *);\fR
.br
-\fBchar* tgetstr_sp(SCREEN*, NCURSES_CONST char *, char **);\fR
+\fBchar* tgetstr_sp(SCREEN*, const char *, char **);\fR
.br
-\fBint tigetflag_sp(SCREEN*, NCURSES_CONST char *);\fR
+\fBint tigetflag_sp(SCREEN*, const char *);\fR
.br
-\fBint tigetnum_sp(SCREEN*, NCURSES_CONST char *);\fR
+\fBint tigetnum_sp(SCREEN*, const char *);\fR
.br
-\fBchar* tigetstr_sp(SCREEN*, NCURSES_CONST char *);\fR
+\fBchar* tigetstr_sp(SCREEN*, const char *);\fR
.br
\fBint tputs_sp(SCREEN*, const char *, int, NCURSES_SP_OUTC);\fR
.ad
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.37 2018/01/23 10:14:38 tom Exp $
+.\" $Id: curs_termcap.3x,v 1.39 2018/04/07 20:51:27 tom Exp $
.TH curs_termcap 3X ""
.de bP
.ie n .IP \(bu 4
.br
\fBextern @NCURSES_OSPEED@ ospeed;\fR
.sp
-\fBint tgetent(char *bp, const char *name);\fR
+\fBint tgetent(const char *bp, const char *name);\fR
.br
-\fBint tgetflag(char *id);\fR
+\fBint tgetflag(const char *id);\fR
.br
-\fBint tgetnum(char *id);\fR
+\fBint tgetnum(const char *id);\fR
.br
-\fBchar *tgetstr(char *id, char **area);\fR
+\fBchar *tgetstr(const char *id, char **area);\fR
.br
\fBchar *tgoto(const char *cap, int col, int row);\fR
.br
This implementation checks for, and modifies the data shown to the
termcap interface to accommodate termcap's limitation in this respect.
.SH PORTABILITY
+These functions are provided for supporting legacy applications,
+and should not be used in new programs:
+.bP
The XSI Curses standard, Issue 4 describes these functions. However, they
are marked TO BE WITHDRAWN and may be removed in future versions.
+.bP
+X/Open Curses, Issue 5 (December 2007) marked the termcap interface
+(along with \fBvwprintw\fP and \fBvwscanw\fP) as withdrawn.
.PP
Neither the XSI Curses standard nor the SVr4 man pages documented the return
values of \fBtgetent\fR correctly, though all three were in fact returned ever
.\"***************************************************************************
-.\" Copyright (c) 1999-2016,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 1999-2017,2018 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_terminfo.3x,v 1.57 2017/11/21 00:46:31 tom Exp $
+.\" $Id: curs_terminfo.3x,v 1.58 2018/04/07 21:09:12 tom Exp $
.TH curs_terminfo 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
The \fBtputs\fR routine applies padding information to the string
\fIstr\fR and outputs it:
.bP
-The \fIstr\fR must be a terminfo string
-variable or the return value from \fBtparm\fR, \fBtgetstr\fR, or
-\fBtgoto\fR.
+The \fIstr\fR parameter must be a terminfo string
+variable or the return value from
+\fBtparm\fR, \fBtiparm\fP, \fBtgetstr\fR, or \fBtgoto\fR.
+.IP
+The \fBtgetstr\fP and \fBtgoto\fP functions are part of the \fItermcap\fP
+interface, which happens to share this function name with the \fIterminfo\fP interface.
.bP
\fIaffcnt\fR is the number of lines affected, or 1 if
not applicable.
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.682 $
-# $Date: 2018/02/24 14:23:54 $
+# $Revision: 1.684 $
+# $Date: 2018/03/18 00:08:38 $
#
# 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
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
kcbt@, kent@, oc=\E]104\007,
- setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
- %=%t3%e%p1%d%;m,
- setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
- %=%t3%e%p1%d%;m,
sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
- Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
- kDN3=\E[1;3B, kDN5=\E[1;5B, kLFT3=\E[1;3D, kLFT5=\E[1;5D,
- kNXT3=\E[6;3~, kNXT5=\E[6;5~, kPRV3=\E[5;3~,
- kPRV5=\E[5;5~, kRIT3=\E[1;3C, kRIT5=\E[1;5C,
- kUP3=\E[1;3A, kUP5=\E[1;5A, use=ecma+strikeout,
- use=st-0.6,
+ Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
+ kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
+ kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
+ kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
+ use=ecma+strikeout, use=st-0.6,
# st-0.4.1
#
kll=\E[U, knp=\E[T, kpp=\E[S, kri=\EF-, ll=\E[U, nel=\r\n,
op=\E[m, rc=\E[u, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT,
rmcup=\E[2b\E[u\r\E[K, rmso=\E[m, rmul=\E[m, rs1=\Ec,
- sc=\E[s, setb=\E[%p1%{40}%+%dm, setf=\E[%p1%{30}%+%dm,
- sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[7m, smul=\E[4m,
- use=ansi+rep, use=klone+color,
+ sc=\E[s, sgr0=\E[0m, smcup=\E[s\E[1b, smso=\E[7m,
+ smul=\E[4m, use=ansi+rep, use=klone+color,
opennt-35|ntconsole-35|OpenNT-term35 compatible with color,
lines#35, use=opennt,
# + correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
# + fix remaining flash capabilities with trailing mandatory delays -TD
#
+# 2018-03-17
+# + trim some redundant capabilities from st-0.7 -TD
+# + trim unnecessary setf/setb from interix -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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 <tic.h>
-MODULE_ID("$Id: lib_newterm.c,v 1.100 2017/07/22 23:19:00 tom Exp $")
+MODULE_ID("$Id: lib_newterm.c,v 1.101 2018/04/07 20:36:22 tom Exp $")
#ifdef USE_TERM_DRIVER
#define NumLabels InfoOf(SP_PARM).numlabels
NCURSES_EXPORT(SCREEN *)
NCURSES_SP_NAME(newterm) (NCURSES_SP_DCLx
- NCURSES_CONST char *name,
+ const char *name,
FILE *ofp,
FILE *ifp)
{
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(SCREEN *)
-newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp)
+newterm(const char *name, FILE *ofp, FILE *ifp)
{
SCREEN *rc;
_nc_lock_global(prescreen);
/****************************************************************************
- * Copyright (c) 1998-2009,2011 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2011,2018 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_scanw.c,v 1.13 2011/10/22 16:31:35 tom Exp $")
+MODULE_ID("$Id: lib_scanw.c,v 1.15 2018/04/07 21:28:27 tom Exp $")
NCURSES_EXPORT(int)
-vwscanw(WINDOW *win, NCURSES_CONST char *fmt, va_list argp)
+vwscanw(WINDOW *win, const char *fmt, va_list argp)
{
char buf[BUFSIZ];
+ int code = ERR;
- if (wgetnstr(win, buf, (int) sizeof(buf) - 1) == ERR)
- return (ERR);
+ if (wgetnstr(win, buf, (int) sizeof(buf) - 1) != ERR) {
+ if ((code = vsscanf(buf, fmt, argp)) == EOF) {
+ code = ERR;
+ }
+ }
- return (vsscanf(buf, fmt, argp));
+ return code;
}
NCURSES_EXPORT(int)
-scanw(NCURSES_CONST char *fmt,...)
+scanw(const char *fmt,...)
{
int code;
va_list ap;
}
NCURSES_EXPORT(int)
-wscanw(WINDOW *win, NCURSES_CONST char *fmt,...)
+wscanw(WINDOW *win, const char *fmt,...)
{
int code;
va_list ap;
}
NCURSES_EXPORT(int)
-mvscanw(int y, int x, NCURSES_CONST char *fmt,...)
+mvscanw(int y, int x, const char *fmt,...)
{
int code;
va_list ap;
}
NCURSES_EXPORT(int)
-mvwscanw(WINDOW *win, int y, int x, NCURSES_CONST char *fmt,...)
+mvwscanw(WINDOW *win, int y, int x, const char *fmt,...)
{
int code;
va_list ap;
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.597 2018/03/04 01:06:04 tom Exp $
+ * $Id: curses.priv.h,v 1.599 2018/04/07 21:47:46 tom Exp $
*
* curses.priv.h
*
extern NCURSES_EXPORT(char *) _nc_get_locale(void);
extern NCURSES_EXPORT(int) _nc_unicode_locale(void);
extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(TERMINAL *);
-extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, int);
+extern NCURSES_EXPORT(int) _nc_setupterm(const char *, int, int *, int);
extern NCURSES_EXPORT(void) _nc_tinfo_cmdch(TERMINAL *, int);
#ifdef USE_PTHREADS
*/
#ifdef USE_TERM_DRIVER
extern NCURSES_EXPORT(void) _nc_get_screensize(SCREEN *, TERMINAL *, int *, int *);
-extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, NCURSES_CONST char *, int , int *, int);
+extern NCURSES_EXPORT(int) _nc_setupterm_ex(TERMINAL **, const char *, int , int *, int);
#define TINFO_GET_SIZE(sp, tp, lp, cp) \
_nc_get_screensize(sp, tp, lp, cp)
#define TINFO_SET_CURTERM(sp, tp) \
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.191 2018/03/04 01:06:34 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.192 2018/04/07 21:10:20 tom Exp $")
/****************************************************************************
*
NCURSES_EXPORT(int)
TINFO_SETUP_TERM(TERMINAL **tp,
- NCURSES_CONST char *tname,
+ const char *tname,
int Filedes,
int *errret,
int reuse)
* the same TERMINAL data (see comment).
*/
NCURSES_EXPORT(int)
-_nc_setupterm(NCURSES_CONST char *tname,
+_nc_setupterm(const char *tname,
int Filedes,
int *errret,
int reuse)
* Make cur_term point to the structure.
*/
NCURSES_EXPORT(int)
-setupterm(NCURSES_CONST char *tname, int Filedes, int *errret)
+setupterm(const char *tname, int Filedes, int *errret)
{
START_TRACE();
return _nc_setupterm(tname, Filedes, errret, FALSE);
/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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_termcap.c,v 1.86 2017/12/23 18:18:13 tom Exp $")
+MODULE_ID("$Id: lib_termcap.c,v 1.87 2018/04/07 21:11:15 tom Exp $")
NCURSES_EXPORT_VAR(char *) UP = 0;
NCURSES_EXPORT_VAR(char *) BC = 0;
START_TRACE();
T((T_CALLED("tgetent()")));
- TINFO_SETUP_TERM(&termp, (NCURSES_CONST char *) name,
- STDOUT_FILENO, &rc, TRUE);
+ TINFO_SETUP_TERM(&termp, name, STDOUT_FILENO, &rc, TRUE);
#ifdef USE_TERM_DRIVER
if (termp == 0 ||
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetflag) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+NCURSES_SP_NAME(tgetflag) (NCURSES_SP_DCLx const char *id)
{
int result = 0; /* Solaris returns zero for missing flag */
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tgetflag(NCURSES_CONST char *id)
+tgetflag(const char *id)
{
return NCURSES_SP_NAME(tgetflag) (CURRENT_SCREEN, id);
}
***************************************************************************/
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tgetnum) (NCURSES_SP_DCLx NCURSES_CONST char *id)
+NCURSES_SP_NAME(tgetnum) (NCURSES_SP_DCLx const char *id)
{
int result = ABSENT_NUMERIC;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tgetnum(NCURSES_CONST char *id)
+tgetnum(const char *id)
{
return NCURSES_SP_NAME(tgetnum) (CURRENT_SCREEN, id);
}
***************************************************************************/
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(tgetstr) (NCURSES_SP_DCLx NCURSES_CONST char *id, char **area)
+NCURSES_SP_NAME(tgetstr) (NCURSES_SP_DCLx const char *id, char **area)
{
char *result = NULL;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(char *)
-tgetstr(NCURSES_CONST char *id, char **area)
+tgetstr(const char *id, char **area)
{
return NCURSES_SP_NAME(tgetstr) (CURRENT_SCREEN, id, area);
}
/****************************************************************************
- * Copyright (c) 2000-2008,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2000-2012,2018 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 <ctype.h>
#include <termcap.h>
-MODULE_ID("$Id: lib_tgoto.c,v 1.16 2012/02/24 02:08:08 tom Exp $")
+MODULE_ID("$Id: lib_tgoto.c,v 1.17 2018/04/07 21:11:48 tom Exp $")
#if !PURE_TERMINFO
static bool
result = tgoto_internal(string, x, y);
else
#endif
- result = TPARM_2((NCURSES_CONST char *) string, y, x);
+ result = TPARM_2(string, y, x);
returnPtr(result);
}
/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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 <tic.h>
-MODULE_ID("$Id: lib_ti.c,v 1.32 2017/04/11 01:15:42 tom Exp $")
+MODULE_ID("$Id: lib_ti.c,v 1.33 2018/04/07 20:36:41 tom Exp $")
#if 0
static bool
#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tigetflag) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+NCURSES_SP_NAME(tigetflag) (NCURSES_SP_DCLx const char *str)
{
int result = ABSENT_BOOLEAN;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tigetflag(NCURSES_CONST char *str)
+tigetflag(const char *str)
{
return NCURSES_SP_NAME(tigetflag) (CURRENT_SCREEN, str);
}
#endif
NCURSES_EXPORT(int)
-NCURSES_SP_NAME(tigetnum) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+NCURSES_SP_NAME(tigetnum) (NCURSES_SP_DCLx const char *str)
{
int result = CANCELLED_NUMERIC; /* Solaris returns a -1 on error */
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(int)
-tigetnum(NCURSES_CONST char *str)
+tigetnum(const char *str)
{
return NCURSES_SP_NAME(tigetnum) (CURRENT_SCREEN, str);
}
#endif
NCURSES_EXPORT(char *)
-NCURSES_SP_NAME(tigetstr) (NCURSES_SP_DCLx NCURSES_CONST char *str)
+NCURSES_SP_NAME(tigetstr) (NCURSES_SP_DCLx const char *str)
{
char *result = CANCELLED_STRING;
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(char *)
-tigetstr(NCURSES_CONST char *str)
+tigetstr(const char *str)
{
return NCURSES_SP_NAME(tigetstr) (CURRENT_SCREEN, str);
}
/****************************************************************************
- * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2018 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 <ctype.h>
#include <tic.h>
-MODULE_ID("$Id: lib_tparm.c,v 1.104 2017/08/02 01:23:51 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.105 2018/04/07 21:12:12 tom Exp $")
/*
* char *
#endif
NCURSES_EXPORT(char *)
-tparm_varargs(NCURSES_CONST char *string,...)
+tparm_varargs(const char *string,...)
{
va_list ap;
char *result;
#if !NCURSES_TPARM_VARARGS
NCURSES_EXPORT(char *)
-tparm_proto(NCURSES_CONST char *string,
+tparm_proto(const char *string,
TPARM_ARG a1,
TPARM_ARG a2,
TPARM_ARG a3,
#include <sys/types.h>
#include <tic.h>
-MODULE_ID("$Id: read_termcap.c,v 1.94 2018/02/24 22:36:15 tom Exp $")
+MODULE_ID("$Id: read_termcap.c,v 1.95 2018/04/07 21:12:50 tom Exp $")
#if !PURE_TERMINFO
#define TC_REF_LOOP -3
#define TC_UNRESOLVED -4 /* this is not returned by BSD cgetent */
-static NCURSES_CONST char *
+static const char *
get_termpath(void)
{
- NCURSES_CONST char *result;
+ const char *result;
if (!use_terminfo_vars() || (result = getenv("TERMPATH")) == 0)
result = TERMPATH;
int i;
char pathbuf[PBUFSIZ]; /* holds raw path of filenames */
CGETENT_CONST char *pathvec[PVECSIZ]; /* point to names in pathbuf */
- NCURSES_CONST char *termpath;
+ const char *termpath;
string_desc desc;
*lineno = 1;
-ncurses6 (6.1+20180331) unstable; urgency=low
+ncurses6 (6.1+20180407) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 31 Mar 2018 11:26:33 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Apr 2018 09:38:08 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20180331) unstable; urgency=low
+ncurses6 (6.1+20180407) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 31 Mar 2018 11:26:33 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Apr 2018 09:38:08 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20180331) unstable; urgency=low
+ncurses6 (6.1+20180407) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 31 Mar 2018 11:26:33 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Apr 2018 09:38:08 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.264 2018/03/31 15:26:33 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.265 2018/04/07 13:38:08 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "1"\r
!define VERSION_YYYY "2018"\r
-!define VERSION_MMDD "0331"\r
+!define VERSION_MMDD "0407"\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.1
-Release: 20180331
+Release: 20180407
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.1
-Release: 20180331
+Release: 20180407
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
#!/usr/bin/env perl
-# $Id: tracemunch,v 1.18 2018/03/22 08:50:15 tom Exp $
+# $Id: tracemunch,v 1.19 2018/04/07 20:37:08 tom Exp $
##############################################################################
-# Copyright (c) 1998-2005,2017 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2017,2018 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"), #