ncurses 6.0 - patch 20170218

+ fix several formatting issues with manual pages.
+ correct read of terminfo entry in which all strings are absent or
  explicitly cancelled.  Before this fix, the result was that all were
  treated as only absent.
+ modify infocmp to suppress mixture of absent/cancelled capabilities
  that would only show as "NULL, NULL", unless the -q option is used,
  e.g., to show "-, @" or "@, -".
This commit is contained in:
Thomas E. Dickey 2017-02-19 02:52:26 +00:00
parent 44a63c85c1
commit ce4803687b
44 changed files with 323 additions and 192 deletions

11
NEWS
View File

@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.2758 2017/02/12 15:37:55 tom Exp $
-- $Id: NEWS,v 1.2760 2017/02/18 22:23:44 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -45,6 +45,15 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20170218
+ fix several formatting issues with manual pages.
+ correct read of terminfo entry in which all strings are absent or
explicitly cancelled. Before this fix, the result was that all were
treated as only absent.
+ modify infocmp to suppress mixture of absent/cancelled capabilities
that would only show as "NULL, NULL", unless the -q option is used,
e.g., to show "-, @" or "@, -".
20170212
+ build-fixes for PGI compilers (report by Adam J. Stewart)
+ accept whitespace in sed expression for generating expanded.c

View File

@ -1 +1 @@
5:0:9 6.0 20170212
5:0:9 6.0 20170218

View File

@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.1147 2017/02/12 15:37:55 tom Exp $
# $Id: dist.mk,v 1.1148 2017/02/18 13:13:37 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -37,7 +37,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 0
NCURSES_PATCH = 20170212
NCURSES_PATCH = 20170218
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -131,7 +131,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -198,7 +198,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>

View File

@ -147,7 +147,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_getstr.3x,v 1.20 2017/01/07 19:25:15 tom Exp @
* @Id: curs_getstr.3x,v 1.21 2017/02/18 16:37:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -123,7 +123,7 @@
function keys; the SVr4.0 documentation claimed that "spe-
cial keys" (such as function keys, "home" key, "clear"
key, <EM>etc</EM>.) are "interpreted", without giving details. It
lied. In fact, the `character' value appended to the
lied. In fact, the "character" value appended to the
string by those implementations was predictable but not
useful (being, in fact, the low-order eight bits of the
key's KEY_ value).

View File

@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_inopts.3x,v 1.24 2017/01/07 19:25:15 tom Exp @
* @Id: curs_inopts.3x,v 1.25 2017/02/18 16:39:44 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -294,7 +294,7 @@
may be macros.
The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in
that they attempt to restore to normal (`cooked') mode
that they attempt to restore to normal ("cooked") mode
from raw and cbreak modes respectively. Mixing raw/noraw
and cbreak/nocbreak calls leads to tty driver control
states that are hard to predict or understand; it is not

View File

@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: curs_util.3x,v 1.46 2017/01/07 19:35:54 tom Exp @
* @Id: curs_util.3x,v 1.47 2017/02/18 16:43:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -346,9 +346,9 @@
The strings returned by <STRONG>unctrl</STRONG> in this implementation are
determined at compile time, showing C1 controls from the
upper-128 codes with a `~' prefix rather than `^'. Other
upper-128 codes with a "~" prefix rather than "^". Other
implementations have different conventions. For example,
they may show both sets of control characters with `^',
they may show both sets of control characters with "^",
and strip the parameter to 7 bits. Or they may ignore C1
controls and treat all of the upper-128 codes as print-
able. This implementation uses 8 bits but does not modify
@ -357,7 +357,7 @@
Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to
change the output of <STRONG>keyname</STRONG>, i.e., it determines whether
to use the `M-' prefix for "meta" keys (codes in the range
to use the "M-" prefix for "meta" keys (codes in the range
128 to 255). Both <STRONG>use_legacy_coding</STRONG> and <STRONG>meta</STRONG> succeed only
after curses is initialized. X/Open Curses does not docu-
ment the treatment of codes 128 to 159. When treating

View File

@ -1,7 +1,7 @@
<!--
* t
****************************************************************************
* 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 *
@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: form.3x,v 1.28 2016/10/29 22:26:35 tom Exp @
* @Id: form.3x,v 1.29 2017/02/18 16:46:53 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -217,9 +217,9 @@
files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
In your library list, libform.a should be before libn-
curses.a; that is, you want to say `-lform -lncurses', not
curses.a; that is, you want to say "-lform -lncurses", not
the other way around (which would give you a link error
using most linkers).
when using static libraries).
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
@ -239,7 +239,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: infocmp.1m,v 1.61 2017/02/05 00:27:46 tom Exp @
* @Id: infocmp.1m,v 1.65 2017/02/18 19:21:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -78,25 +78,43 @@
terminal <EM>termname</EM> with each of the descriptions given by
the entries for the other terminal's <EM>termnames</EM>. If a
capability is defined for only one of the terminals, the
value returned will depend on the type of the capability:
<STRONG>F</STRONG> for boolean variables, <STRONG>-1</STRONG> for integer variables, and
<STRONG>NULL</STRONG> for string variables.
value returned depends on the type of the capability:
The <STRONG>-d</STRONG> option produces a list of each capability that is
different between two entries. This option is useful to
show the difference between two entries, created by dif-
ferent people, for the same or similar terminals.
<STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
The <STRONG>-c</STRONG> option produces a list of each capability that is
common between two or more entries. Capabilities that are
not set are ignored. This option can be used as a quick
check to see if the <STRONG>-u</STRONG> option is worth using.
<STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
The <STRONG>-n</STRONG> option produces a list of each capability that is
in none of the given entries. If no <EM>termnames</EM> are given,
the environment variable <STRONG>TERM</STRONG> will be used for both of the
<EM>termnames</EM>. This can be used as a quick check to see if
anything was left out of a description.
Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM>
and <EM>cancelled</EM> capabilities.
These options produce a list which you can use to compare
two or more terminal descriptions:
<STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM>
between two entries. Each item in the list shows ":"
after the capability name, followed by the capability
values, separated by a comma.
<STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM>
between two or more entries. Missing capabilities
are ignored. Each item in the list shows "=" after
the capability name, followed by the capability
value.
The <STRONG>-u</STRONG> option provides a related output, showing the
first terminal description rewritten to use the sec-
ond as a building block via the "use=" clause.
<STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of
the given entries. Each item in the list shows "!"
before the capability name.
Normally only the conventional capabilities are
shown. Use the <STRONG>-x</STRONG> option to add the BSD-compatibil-
ity capabilities (names prefixed with "OT").
If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environ-
ment variable <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
@ -132,7 +150,7 @@
All padding information for strings will be collected
together and placed at the beginning of the string where
<STRONG>termcap</STRONG> expects it. Mandatory padding (padding informa-
tion with a trailing '/') will become optional.
tion with a trailing "/") will become optional.
All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but
which are derivable from other <STRONG>terminfo</STRONG> variables, will be
@ -159,6 +177,8 @@
equivalents, and some terminal types which commonly have
such sequences, are:
<STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
---------------------------------------------------------------
<STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
@ -356,18 +376,21 @@
It also recognizes a SGR action corresponding to
ANSI/ISO 6429/ECMA Set Graphics Rendition, with the
values NORMAL, BOLD, UNDERLINE, BLINK, and REVERSE.
All but NORMAL may be prefixed with `+' (turn on) or
`-' (turn off).
All but NORMAL may be prefixed with
An SGR0 designates an empty highlight sequence
<STRONG>o</STRONG> "+" (turn on) or
<STRONG>o</STRONG> "-" (turn off).
An SGR0 designates an empty highlight sequence
(equivalent to {SGR:NORMAL}).
<STRONG>-l</STRONG> Set output format to terminfo.
<STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
<STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format,
print the compiled (binary) format in hexadecimal or
<STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format,
print the compiled (binary) format in hexadecimal or
base64 form, depending on the option's value:
1 hexadecimal
@ -378,10 +401,13 @@
<STRONG>-q</STRONG> This makes the output a little shorter:
<STRONG>o</STRONG> Make the comparison listing shorter by omitting
subheadings, and using "-" for absent capabili-
<STRONG>o</STRONG> Make the comparison listing shorter by omitting
subheadings, and using "-" for absent capabili-
ties, "@" for canceled rather than "NULL".
<STRONG>o</STRONG> However, show differences between absent and can-
celled capabilities.
<STRONG>o</STRONG> Omit the "Reconstructed from" comment for source
listings.
@ -466,7 +492,13 @@
<STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG> and <STRONG>-t</STRONG> options are not supported in SVr4
curses.
The <STRONG>-r</STRONG> option's notion of `termcap' capabilities is System
SVr4 infocmp does not distinguish between absent and can-
celled capabilities. Also, it shows missing integer capa-
bilities as <STRONG>-1</STRONG> (the internal value used to represent miss-
ing integers). This implementation shows those as "NULL",
for consistency with missing strings.
The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System
V Release 4's. Actual BSD curses versions will have a
more restricted set. To see only the 4.4BSD set, use <STRONG>-r</STRONG>
<STRONG>-RBSD</STRONG>.
@ -482,7 +514,7 @@
http://invisible-island.net/ncurses/tctest.html
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>

View File

@ -88,7 +88,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>

View File

@ -1,7 +1,7 @@
<!--
* t
****************************************************************************
* Copyright (c) 1998-2010,2014 Free Software Foundation, Inc. *
* Copyright (c) 1998-2014,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 *
@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: menu.3x,v 1.22 2014/08/16 20:32:08 tom Exp @
* @Id: menu.3x,v 1.23 2017/02/18 16:49:46 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -198,9 +198,9 @@
files <STRONG>&lt;curses.h&gt;</STRONG> and <STRONG>&lt;eti.h&gt;</STRONG>.
In your library list, libmenu.a should be before libn-
curses.a; that is, you want to say `-lmenu -lncurses', not
the other way around (which would usually give a link-
error).
curses.a; that is, you should say "-lmenu -lncurses", not
the other way around (which would give a link-error when
using static libraries).
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
@ -217,7 +217,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -27,7 +27,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: ncurses.3x,v 1.128 2017/02/05 00:33:02 tom Exp @
* @Id: ncurses.3x,v 1.129 2017/02/18 16:50:46 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -60,7 +60,7 @@
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 20170204).
<STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
The <STRONG>ncurses</STRONG> library emulates the curses library of System
V Release 4 UNIX, and XPG4 (X/Open Portability Guide)
@ -295,7 +295,7 @@
</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
The following table lists each <STRONG>curses</STRONG> routine and the name
of the manual page on which it is described. Routines
flagged with `*' are ncurses-specific, not described by
flagged with "*" are ncurses-specific, not described by
XPG4 or present in SVr4.
<STRONG>curses</STRONG> Routine Name Manual Page Name

View File

@ -114,7 +114,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -1,6 +1,6 @@
<!--
****************************************************************************
* 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 *
@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: panel.3x,v 1.20 2016/10/15 17:02:31 tom Exp @
* @Id: panel.3x,v 1.21 2017/02/18 16:53:23 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -194,9 +194,9 @@
</PRE><H2><a name="h2-NOTE">NOTE</a></H2><PRE>
In your library list, libpanel.a should be before libn-
curses.a; that is, you want to say `-lpanel -lncurses',
not the other way around (which would usually give a link-
error).
curses.a; that is, you should say "-lpanel -lncurses", not
the other way around (which would give a link-error with
static libraries).
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
@ -208,7 +208,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>

View File

@ -170,7 +170,7 @@
</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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: term.5,v 1.25 2017/01/07 18:45:42 tom Exp @
* @Id: term.5,v 1.26 2017/02/18 16:58:21 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -132,7 +132,7 @@
The terminal names section comes next. It contains the
first line of the terminfo description, listing the vari-
ous names for the terminal, separated by the `|' charac-
ous names for the terminal, separated by the "|" charac-
ter. The section is terminated with an ASCII NUL charac-
ter.

View File

@ -1,6 +1,6 @@
<!--
****************************************************************************
* Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
* Copyright (c) 1998-2011,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 *
@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp @
* @Id: term.7,v 1.24 2017/02/18 17:01:51 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -63,8 +63,8 @@
If you use a dialup line, the type of device attached to
it may vary. Older UNIX systems pre-set a very dumb ter-
minal type like `dumb' or `dialup' on dialup lines. Newer
ones may pre-set `vt100', reflecting the prevalence of DEC
minal type like "dumb" or "dialup" on dialup lines. Newer
ones may pre-set "vt100", reflecting the prevalence of DEC
VT100-compatible terminals and personal-computer emula-
tors.
@ -73,7 +73,7 @@
if the remote terminfo or termcap entry for your type is
not compatible with yours, but this situation is rare and
can almost always be avoided by explicitly exporting
`vt100' (assuming you are in fact using a VT100-superset
"vt100" (assuming you are in fact using a VT100-superset
console, terminal, or terminal emulator.)
In any case, you are free to override the system <STRONG>TERM</STRONG> set-
@ -108,7 +108,7 @@
described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the
names by which terminfo knows a terminal, separated by `|'
names by which terminfo knows a terminal, separated by "|"
(pipe-bar) characters with the last name field terminated
by a comma. The first name field is the type's <EM>primary</EM>
<EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
@ -200,7 +200,7 @@
intended to specify a line height, that suffix should go
first. So, for a hypothetical FuBarCo model 2317 terminal
in 30-line mode with reverse video, best form would be
<STRONG>fubar-30-rv</STRONG> (rather than, say, `fubar-rv-30').
<STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
Terminal types that are written not as standalone entries,
but rather as components to be plugged into other entries

View File

@ -5,7 +5,7 @@
* Note: this must be run through tbl before nroff.
* The magic cookie on the first line triggers this under some man programs.
****************************************************************************
* Copyright (c) 1998-2013,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 *
@ -31,7 +31,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: terminfo.head,v 1.22 2016/10/15 17:02:31 tom Exp @
* @Id: terminfo.head,v 1.23 2017/02/18 17:04:53 tom Exp @
* Head of terminfo man page ends here
* @Id: terminfo.tail,v 1.76 2017/01/07 18:32:49 tom Exp @
* Beginning of terminfo.tail file
@ -75,13 +75,13 @@
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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
Entries in <EM>terminfo</EM> consist of a sequence of `,' separated
Entries in <EM>terminfo</EM> consist of a sequence of "," separated
fields (embedded commas may be escaped with a backslash or
notated as \054). White space after the `,' separator is
notated as \054). White space after the "," separator is
ignored. The first entry for each terminal gives the
names which are known for the terminal, separated by `|'
names which are known for the terminal, separated by "|"
characters. The first name given is the most common
abbreviation for the terminal, the last name given should
be a long name fully identifying the terminal, and all
@ -90,7 +90,7 @@
no blanks; the last name may well contain upper case and
blanks for readability.
Lines beginning with a `#' in the first column are treated
Lines beginning with a "#" in the first column are treated
as comments. While comment lines are legal at any point,
the output of <STRONG>captoinfo</STRONG> and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>)
will move comments so they occur only between entries.

View File

@ -403,7 +403,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>

View File

@ -26,7 +26,7 @@
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
* @Id: toe.1m,v 1.28 2017/01/14 19:55:36 tom Exp @
* @Id: toe.1m,v 1.29 2017/02/18 17:10:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
@ -82,7 +82,7 @@
<STRONG>-u</STRONG> <EM>file</EM>
says to write a report to the standard output,
listing dependencies in the given terminfo/termcap
source file. The report condenses the `use' rela-
source file. The report condenses the "use" rela-
tion: each line consists of the primary name of a
terminal that has use capabilities, followed by a
colon, followed by the whitespace-separated primary
@ -93,7 +93,7 @@
says to write a report to the standard output,
listing reverse dependencies in the given ter-
minfo/termcap source file. The report reverses the
`use' relation: each line consists of the primary
"use" relation: each line consists of the primary
name of a terminal that occurs in use capabilities,
followed by a colon, followed by the whitespace-
separated primary names of all terminals which
@ -120,7 +120,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -530,7 +530,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -435,7 +435,7 @@
<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 20170204).
This describes <STRONG>ncurses</STRONG> version 6.0 (patch 20170218).

View File

@ -26,8 +26,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_getstr.3x,v 1.20 2017/01/07 19:25:15 tom Exp $
.\" $Id: curs_getstr.3x,v 1.21 2017/02/18 16:37:18 tom Exp $
.TH curs_getstr 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.na
.hy 0
.SH NAME
@ -81,7 +85,7 @@ backspace is echoed as deletion of the previous character (typically a left
motion).
.SH RETURN VALUE
All routines return the integer \fBERR\fR upon failure and an \fBOK\fR (SVr4
specifies only "an integer value other than \fBERR\fR") upon successful
specifies only \*(``an integer value other than \fBERR\fR\*('') upon successful
completion.
.PP
X/Open defines no error conditions.
@ -95,7 +99,7 @@ This implementation provides an extension as well.
If a SIGWINCH interrupts the function, it will return \fBKEY_RESIZE\fP
rather than \fBOK\fP or \fBERR\fP.
.PP
Functions with a "mv" prefix first perform a cursor movement using
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
@ -108,9 +112,14 @@ This implementation returns ERR if the window pointer is null,
or if the lower-level \fBwgetch\fR(3X) call returns an ERR.
.PP
SVr3 and early SVr4 curses implementations did not reject function keys;
the SVr4.0 documentation claimed that "special keys" (such as function
keys, "home" key, "clear" key, \fIetc\fR.) are "interpreted", without
giving details. It lied. In fact, the `character' value appended to the
the SVr4.0 documentation claimed that \*(``special keys\*(''
(such as function keys,
\*(``home\*('' key,
\*(``clear\*('' key,
\fIetc\fR.) are \*(``interpreted\*('',
without giving details.
It lied.
In fact, the \*(``character\*('' value appended to the
string by those implementations was predictable but not useful
(being, in fact, the low-order eight bits of the key's KEY_ value).
.PP

View File

@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_inopts.3x,v 1.24 2017/01/07 19:25:15 tom Exp $
.\" $Id: curs_inopts.3x,v 1.25 2017/02/18 16:39:44 tom Exp $
.TH curs_inopts 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
@ -267,7 +267,7 @@ If \fIfd\fR is
.\"
.SH RETURN VALUE
All routines that return an integer return \fBERR\fR upon failure and OK (SVr4
specifies only "an integer value other than \fBERR\fR") upon successful
specifies only \*(``an integer value other than \fBERR\fR\*('') upon successful
completion, unless otherwise noted in the preceding routine descriptions.
.PP
X/Open does not define any error conditions.
@ -298,13 +298,13 @@ ncurses loads the key-definitions for the current terminal description.
If the terminal description includes extended string capabilities,
e.g., from using the \fB\-x\fP option of \fB@TIC@\fP,
then ncurses also defines keys for the capabilities whose names
begin with "k".
begin with \*(``k\*(''.
The corresponding keycodes are generated and (depending on previous
loads of terminal descriptions) may differ from one execution of a
program to the next.
The generated keycodes are recognized by the \fBkeyname\fP function
(which will then return a name beginning with "k" denoting the
terminfo capability name rather than "K", used for curses key-names).
(which will then return a name beginning with \*(``k\*('' denoting the
terminfo capability name rather than \*(``K\*('', used for curses key-names).
On the other hand, an application can use \fBdefine_key\fP to establish
a specific keycode for a given string.
This makes it possible for an application to check for an extended
@ -334,7 +334,7 @@ Note that \fBecho\fR, \fBnoecho\fR, \fBhalfdelay\fR, \fBintrflush\fR,
\fBqiflush\fR, \fBtimeout\fR, and \fBwtimeout\fR may be macros.
.PP
The \fBnoraw\fR and \fBnocbreak\fR calls follow historical practice in that
they attempt to restore to normal (`cooked') mode from raw and cbreak modes
they attempt to restore to normal (\*(``cooked\*('') mode from raw and cbreak modes
respectively.
Mixing raw/noraw and cbreak/nocbreak calls leads to tty driver
control states that are hard to predict or understand; it is not recommended.

View File

@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: curs_util.3x,v 1.46 2017/01/07 19:35:54 tom Exp $
.\" $Id: curs_util.3x,v 1.47 2017/02/18 16:43:03 tom Exp $
.TH curs_util 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
@ -341,9 +341,9 @@ parameter values outside the 0 to 255 range.
.PP
The strings returned by \fBunctrl\fR in this implementation are determined
at compile time,
showing C1 controls from the upper-128 codes with a `~' prefix rather than `^'.
showing C1 controls from the upper-128 codes with a \*(``~\*('' prefix rather than \*(``^\*(''.
Other implementations have different conventions.
For example, they may show both sets of control characters with `^',
For example, they may show both sets of control characters with \*(``^\*('',
and strip the parameter to 7 bits.
Or they may ignore C1 controls and treat all of the upper-128 codes as
printable.
@ -354,7 +354,7 @@ change the output of \fBunctrl\fP.
.PP
Likewise, the \fBmeta\fP(3X) function allows the caller to change the
output of \fBkeyname\fP, i.e.,
it determines whether to use the `M\-' prefix
it determines whether to use the \*(``M\-\*('' prefix
for \*(``meta\*('' keys (codes in the range 128 to 255).
Both \fBuse_legacy_coding\fP and \fBmeta\fP succeed only after
curses is initialized.

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" 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 *
@ -27,8 +27,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: form.3x,v 1.28 2016/10/29 22:26:35 tom Exp $
.\" $Id: form.3x,v 1.29 2017/02/18 16:46:53 tom Exp $
.TH form 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
\fBform\fR \- curses extension for programming forms
.SH SYNOPSIS
@ -196,8 +200,8 @@ The header file \fB<form.h>\fR automatically includes the header files
\fB<curses.h>\fR and \fB<eti.h>\fR.
.PP
In your library list, libform.a should be before libncurses.a; that is,
you want to say `\-lform \-lncurses', not the other way around (which would
give you a link error using most linkers).
you want to say \*(``\-lform \-lncurses\*('', not the other way around
(which would give you a link error when using static libraries).
.SH PORTABILITY
These routines emulate the System V forms library. They were not supported on
Version 7 or BSD versions.

View File

@ -27,8 +27,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: infocmp.1m,v 1.61 2017/02/05 00:27:46 tom Exp $
.\" $Id: infocmp.1m,v 1.65 2017/02/18 19:21:05 tom Exp $
.TH @INFOCMP@ 1M ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.ds n 5
.de bP
.IP \(bu 4
@ -89,27 +93,46 @@ the \fB\-d\fR option will be assumed.
\fItermname\fR with each of the descriptions given by the entries for the other
terminal's \fItermnames\fR.
If a capability is defined for only one of the
terminals, the value returned will depend on the type of the capability:
\fBF\fR for boolean variables, \fB\-1\fR for integer variables, and \fBNULL\fR
for string variables.
terminals, the value returned depends on the type of the capability:
.bP
\fBF\fR for missing boolean variables
.bP
\fBNULL\fR for missing integer or string variables
.PP
The \fB\-d\fR option produces a list of each capability that is different
Use the \fB\-q\fP option to show the distinction between
\fIabsent\fP and \fIcancelled\fP capabilities.
.PP
These options produce a list which you can use to compare two
or more terminal descriptions:
.TP 5
\fB\-d\fR
produces a list of each capability that is \fIdifferent\fP
between two entries.
This option is useful to show the difference between two
entries, created by different people, for the same or similar terminals.
.PP
The \fB\-c\fR option produces a list of each capability that is common between
Each item in the list shows \*(``:\*('' after the capability name,
followed by the capability values, separated by a comma.
.TP
\fB\-c\fR
produces a list of each capability that is \fIcommon\fP between
two or more entries.
Capabilities that are not set are ignored.
This option can be
used as a quick check to see if the \fB\-u\fR option is worth using.
.PP
The \fB\-n\fR option produces a list of each capability that is in none of
the given entries.
If no \fItermnames\fR are given, the environment variable \fBTERM\fR
will be used for both of the \fItermnames\fR.
This can be used as a quick
check to see if anything was left out of a description.
Missing capabilities are ignored.
Each item in the list shows \*(``=\*('' after the capability name,
followed by the capability value.
.IP
The \fB\-u\fR option provides a related output,
showing the first terminal description rewritten to use the second
as a building block via the \*(``use=\*('' clause.
.TP
\fB\-n\fR
produces a list of each capability that is in \fInone\fP of the given entries.
Each item in the list shows \*(``!\*('' before the capability name.
.IP
Normally only the conventional capabilities are shown.
Use the \fB\-x\fP option to add the BSD-compatibility
capabilities (names prefixed with \*(``OT\*('').
.IP
If no \fItermnames\fR are given,
\fB@INFOCMP@\fR uses the environment variable \fBTERM\fR
for each of the \fItermnames\fR.
.SS Source Listing Options [\-I] [\-L] [\-C] [\-r]
The \fB\-I\fR, \fB\-L\fR, and \fB\-C\fR options will produce a source listing for
each terminal named.
@ -148,7 +171,7 @@ and trim excess whitespace (use the \fB\-0\fP option for that).
All padding information for strings will be collected together and placed
at the beginning of the string where \fBtermcap\fR expects it.
Mandatory
padding (padding information with a trailing '/') will become optional.
padding (padding information with a trailing \*(``/\*('') will become optional.
.PP
All \fBtermcap\fR variables no longer supported by \fBterminfo\fR, but which
are derivable from other \fBterminfo\fR variables, will be output.
@ -381,7 +404,13 @@ DEC[+\-]ARM/auto-repeat mode
It also recognizes a SGR action corresponding to ANSI/ISO 6429/ECMA Set
Graphics Rendition, with the values NORMAL, BOLD, UNDERLINE, BLINK, and
REVERSE.
All but NORMAL may be prefixed with `+' (turn on) or `\-' (turn off).
All but NORMAL may be prefixed with
.RS
.bP
\*(``+\*('' (turn on) or
.bP
\*(``\-\*('' (turn off).
.RE
.IP
An SGR0 designates an empty highlight sequence (equivalent to {SGR:NORMAL}).
.TP 5
@ -412,9 +441,11 @@ This makes the output a little shorter:
.RS
.bP
Make the comparison listing shorter by omitting subheadings, and using
"\-" for absent capabilities, "@" for canceled rather than "NULL".
\*(``\-\*('' for absent capabilities, \*(``@\*('' for canceled rather than \*(``NULL\*(''.
.bP
Omit the "Reconstructed from" comment for source listings.
However, show differences between absent and cancelled capabilities.
.bP
Omit the \*(``Reconstructed from\*('' comment for source listings.
.RE
.TP 5
\fB\-R\fR\fIsubset\fR
@ -425,9 +456,9 @@ the full set of SVR4/XSI Curses terminfo; and variants such as AIX
that have their own extensions incompatible with SVr4/XSI.
.IP
Available terminfo
subsets are "SVr1", "Ultrix", "HP", and "AIX"; see \fBterminfo\fR(\*n) for
subsets are \*(``SVr1\*('', \*(``Ultrix\*('', \*(``HP\*('', and \*(``AIX\*(''; see \fBterminfo\fR(\*n) for
details.
You can also choose the subset "BSD" which selects only capabilities
You can also choose the subset \*(``BSD\*('' which selects only capabilities
with termcap equivalents recognized by 4.4BSD.
.TP
\fB\-s \fR\fI[d|i|l|c]\fR
@ -518,7 +549,13 @@ The
\fB\-t\fR
options are not supported in SVr4 curses.
.PP
The \fB\-r\fR option's notion of `termcap' capabilities is System V Release 4's.
SVr4 infocmp does not distinguish between absent and cancelled capabilities.
Also, it shows missing integer capabilities as \fB\-1\fP
(the internal value used to represent missing integers).
This implementation shows those as \*(``NULL\*('',
for consistency with missing strings.
.PP
The \fB\-r\fR option's notion of \*(``termcap\*('' capabilities is System V Release 4's.
Actual BSD curses versions will have a more restricted set.
To see only the
4.4BSD set, use \fB\-r\fR \fB\-RBSD\fR.

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998-2010,2014 Free Software Foundation, Inc. *
.\" Copyright (c) 1998-2014,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 *
@ -27,8 +27,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: menu.3x,v 1.22 2014/08/16 20:32:08 tom Exp $
.\" $Id: menu.3x,v 1.23 2017/02/18 16:49:46 tom Exp $
.TH menu 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.SH NAME
\fBmenu\fR \- curses extension for programming menus
.SH SYNOPSIS
@ -171,8 +175,8 @@ The header file \fB<menu.h>\fR automatically includes the header files
\fB<curses.h>\fR and \fB<eti.h>\fR.
.PP
In your library list, libmenu.a should be before libncurses.a; that is,
you want to say `\-lmenu \-lncurses', not the other way around (which would
usually give a link-error).
you should say \*(``\-lmenu \-lncurses\*('', not the other way around
(which would give a link-error when using static libraries).
.SH PORTABILITY
These routines emulate the System V menu library. They were not supported on
Version 7 or BSD versions.
@ -180,8 +184,8 @@ Version 7 or BSD versions.
Juergen Pfeifer. Manual pages and adaptation for ncurses by Eric
S. Raymond.
.SH SEE ALSO
\fBcurses\fR(3X) and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
\fBcurses\fR(3X) and related pages whose names begin \*(``menu_\*(''
for detailed descriptions of the entry points.
.PP
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).

View File

@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: ncurses.3x,v 1.128 2017/02/05 00:33:02 tom Exp $
.\" $Id: ncurses.3x,v 1.129 2017/02/18 16:50:46 tom Exp $
.hy 0
.TH ncurses 3X ""
.ie \n(.g .ds `` \(lq
@ -307,7 +307,7 @@ For example, \fBwaddch\fP becomes \fBwadd_wch\fP.
.SS Routine Name Index
The following table lists each \fBcurses\fR routine and the name of
the manual page on which it is described.
Routines flagged with `*'
Routines flagged with \*(``*\*(''
are ncurses-specific, not described by XPG4 or present in SVr4.
.PP
.TS

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" 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 *
@ -26,8 +26,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: panel.3x,v 1.20 2016/10/15 17:02:31 tom Exp $
.\" $Id: panel.3x,v 1.21 2017/02/18 16:53:23 tom Exp $
.TH panel 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.ds n 5
.ds d @TERMINFO@
.SH NAME
@ -172,8 +176,8 @@ move to the top of the stack. You are cautioned to use the correct
function to ensure compatibility with native panel libraries.
.SH NOTE
In your library list, libpanel.a should be before libncurses.a; that is,
you want to say `\-lpanel \-lncurses', not the other way around (which would
usually give a link-error).
you should say \*(``\-lpanel \-lncurses\*('', not the other way around
(which would give a link-error with static libraries).
.SH FILES
.P
panel.h

View File

@ -26,8 +26,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: term.5,v 1.25 2017/01/07 18:45:42 tom Exp $
.\" $Id: term.5,v 1.26 2017/02/18 16:58:21 tom Exp $
.TH term 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.ds n 5
.ds d @TERMINFO@
.SH NAME
@ -118,7 +122,7 @@ integers as two bytes and compute the little-endian value.
The terminal names section comes next.
It contains the first line of the terminfo description,
listing the various names for the terminal,
separated by the `|' character.
separated by the \*(``|\*('' character.
The section is terminated with an \s-1ASCII NUL\s+1 character.
.PP
The boolean flags have one byte for each flag.

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
.\" Copyright (c) 1998-2011,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 *
@ -26,8 +26,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: term.7,v 1.23 2011/12/17 23:32:17 tom Exp $
.\" $Id: term.7,v 1.24 2017/02/18 17:01:51 tom Exp $
.TH term 7
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.ds n 5
.ds d @TERMINFO@
.SH NAME
@ -44,14 +48,14 @@ or \fB/etc/ttys\fR (BSD UNIXes).
This will nearly always suffice for workstation and microcomputer consoles.
.PP
If you use a dialup line, the type of device attached to it may vary. Older
UNIX systems pre-set a very dumb terminal type like `dumb' or `dialup' on
dialup lines. Newer ones may pre-set `vt100', reflecting the prevalence of DEC
UNIX systems pre-set a very dumb terminal type like \*(``dumb\*('' or \*(``dialup\*('' on
dialup lines. Newer ones may pre-set \*(``vt100\*('', reflecting the prevalence of DEC
VT100-compatible terminals and personal-computer emulators.
.PP
Modern telnets pass your \fBTERM\fR environment variable from the local side to
the remote one. There can be problems if the remote terminfo or termcap entry
for your type is not compatible with yours, but this situation is rare and
can almost always be avoided by explicitly exporting `vt100' (assuming you
can almost always be avoided by explicitly exporting \*(``vt100\*('' (assuming you
are in fact using a VT100-superset console, terminal, or terminal emulator.)
.PP
In any case, you are free to override the system \fBTERM\fR setting to your
@ -81,7 +85,7 @@ letter). This command dumps a capability file in the text format described by
\fBterminfo\fR(\*n).
.PP
The first line of a \fBterminfo\fR(\*n) description gives the names by which
terminfo knows a terminal, separated by `|' (pipe-bar) characters with the last
terminfo knows a terminal, separated by \*(``|\*('' (pipe-bar) characters with the last
name field terminated by a comma. The first name field is the type's
\fIprimary name\fR, and is the one to use when setting \fBTERM\fR. The last
name field (if distinct from the first) is actually a description of the
@ -172,7 +176,7 @@ Wide; terminal is in 132 column mode.
Conventionally, if your terminal type is a variant intended to specify a
line height, that suffix should go first. So, for a hypothetical FuBarCo
model 2317 terminal in 30-line mode with reverse video, best form would be
\fBfubar\-30\-rv\fR (rather than, say, `fubar\-rv\-30').
\fBfubar\-30\-rv\fR (rather than, say, \*(``fubar\-rv\-30\*('').
.PP
Terminal types that are written not as standalone entries, but rather as
components to be plugged into other entries via \fBuse\fP capabilities,

View File

@ -1,5 +1,5 @@
.\"***************************************************************************
.\" Copyright (c) 1998-2013,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 *
@ -26,7 +26,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: terminfo.head,v 1.22 2016/10/15 17:02:31 tom Exp $
.\" $Id: terminfo.head,v 1.23 2017/02/18 17:04:53 tom Exp $
.TH terminfo 5 "" "" "File Formats"
.ds n 5
.ds d @TERMINFO@
@ -57,18 +57,18 @@ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
.PP
Entries in
.I terminfo
consist of a sequence of `,' separated fields (embedded commas may be
consist of a sequence of \*(``,\*('' separated fields (embedded commas may be
escaped with a backslash or notated as \\054).
White space after the `,' separator is ignored.
White space after the \*(``,\*('' separator is ignored.
The first entry for each terminal gives the names which are known for the
terminal, separated by `|' characters.
terminal, separated by \*(``|\*('' characters.
The first name given is the most common abbreviation for the terminal,
the last name given should be a long name fully identifying the terminal,
and all others are understood as synonyms for the terminal name.
All names but the last should be in lower case and contain no blanks;
the last name may well contain upper case and blanks for readability.
.PP
Lines beginning with a `#' in the first column are treated as comments.
Lines beginning with a \*(``#\*('' in the first column are treated as comments.
While comment lines are legal at any point, the output of \fB@CAPTOINFO@\fP
and \fB@INFOTOCAP@\fP (aliases for \fB@TIC@\fP)
will move comments so they occur only between entries.

View File

@ -26,8 +26,12 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: toe.1m,v 1.28 2017/01/14 19:55:36 tom Exp $
.\" $Id: toe.1m,v 1.29 2017/02/18 17:10:26 tom Exp $
.TH @TOE@ 1M ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.ie \n(.g .ds '' \(rq
.el .ds '' ''
.ds n 5
.ds d @TERMINFO@
.SH NAME
@ -68,7 +72,7 @@ sort the output by the entry names.
\fB\-u\fR \fIfile\fR
says to write a report to the standard output,
listing dependencies in the given terminfo/termcap source file.
The report condenses the `use' relation:
The report condenses the \*(``use\*('' relation:
each line consists of the primary name of a terminal that
has use capabilities,
followed by a colon,
@ -80,7 +84,7 @@ followed by a newline
\fB\-U\fR \fIfile\fR
says to write a report to the standard output,
listing reverse dependencies in the given terminfo/termcap source file.
The report reverses the `use' relation:
The report reverses the \*(``use\*('' relation:
each line consists of the primary name of a
terminal that occurs in use capabilities,
followed by a colon,

View File

@ -41,7 +41,7 @@
#include <tic.h>
MODULE_ID("$Id: read_entry.c,v 1.140 2017/02/05 01:49:55 tom Exp $")
MODULE_ID("$Id: read_entry.c,v 1.141 2017/02/18 23:39:22 tom Exp $")
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
@ -212,17 +212,10 @@ _nc_read_termtype(TERMTYPE *ptr, char *buffer, int limit)
}
want = (unsigned) (str_size + name_size + 1);
if (str_size) {
/* try to allocate space for the string table */
if (str_count * 2 >= MAX_ENTRY_SIZE
|| (string_table = typeMalloc(char, want)) == 0) {
returnDB(TGETENT_NO);
}
} else {
str_count = 0;
if ((string_table = typeMalloc(char, want)) == 0) {
returnDB(TGETENT_NO);
}
/* try to allocate space for the string table */
if (str_count * 2 >= MAX_ENTRY_SIZE
|| (string_table = typeMalloc(char, want)) == 0) {
returnDB(TGETENT_NO);
}
/* grab the name (a null-terminated string) */

View File

@ -1,8 +1,8 @@
ncurses6 (6.0+20170212) unstable; urgency=low
ncurses6 (6.0+20170218) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 12 Feb 2017 10:37:55 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 18 Feb 2017 08:13:37 -0500
ncurses6 (5.9-20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.0+20170212) unstable; urgency=low
ncurses6 (6.0+20170218) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 12 Feb 2017 10:37:55 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 18 Feb 2017 08:13:37 -0500
ncurses6 (5.9-20131005) unstable; urgency=low

View File

@ -1,8 +1,8 @@
ncurses6 (6.0+20170212) unstable; urgency=low
ncurses6 (6.0+20170218) unstable; urgency=low
* latest weekly patch
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 12 Feb 2017 10:37:55 -0500
-- Thomas E. Dickey <dickey@invisible-island.net> Sat, 18 Feb 2017 08:13:37 -0500
ncurses6 (5.9-20120608) unstable; urgency=low

View File

@ -1,4 +1,4 @@
; $Id: mingw-ncurses.nsi,v 1.198 2017/02/12 15:37:55 tom Exp $
; $Id: mingw-ncurses.nsi,v 1.199 2017/02/18 13:13:37 tom Exp $
; TODO add examples
; TODO bump ABI to 6
@ -10,7 +10,7 @@
!define VERSION_MAJOR "6"
!define VERSION_MINOR "0"
!define VERSION_YYYY "2017"
!define VERSION_MMDD "0212"
!define VERSION_MMDD "0218"
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
!define MY_ABI "5"

View File

@ -3,7 +3,7 @@
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.0
Release: 20170212
Release: 20170218
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

View File

@ -1,7 +1,7 @@
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.0
Release: 20170212
Release: 20170218
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz

View File

@ -1,5 +1,5 @@
/****************************************************************************
* 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 *
@ -42,7 +42,7 @@
#include <dump_entry.h>
MODULE_ID("$Id: infocmp.c,v 1.140 2016/10/01 19:09:22 tom Exp $")
MODULE_ID("$Id: infocmp.c,v 1.142 2017/02/18 18:40:18 tom Exp $")
#define MAX_STRING 1024 /* maximum formatted string */
@ -136,6 +136,33 @@ canonical_name(char *ptr, char *buf)
return (buf);
}
static bool
no_boolean(int value)
{
bool result = (value == ABSENT_BOOLEAN);
if (!strcmp(s_absent, s_cancel))
result = !VALID_BOOLEAN(value);
return result;
}
static bool
no_numeric(int value)
{
bool result = (value == ABSENT_NUMERIC);
if (!strcmp(s_absent, s_cancel))
result = !VALID_NUMERIC(value);
return result;
}
static bool
no_string(char *value)
{
bool result = (value == ABSENT_STRING);
if (!strcmp(s_absent, s_cancel))
result = !VALID_STRING(value);
return result;
}
/***************************************************************************
*
* Predicates for dump function
@ -326,7 +353,7 @@ dump_boolean(int val)
static void
dump_numeric(int val, char *buf)
/* display the value of a boolean capability */
/* display the value of a numeric capability */
{
switch (val) {
case ABSENT_NUMERIC:
@ -434,7 +461,7 @@ compare_predicate(PredType type, PredIdx idx, const char *name)
switch (compare) {
case C_DIFFERENCE:
b2 = next_entry->Booleans[idx];
if (!(b1 == ABSENT_BOOLEAN && b2 == ABSENT_BOOLEAN) && b1 != b2)
if (!(no_boolean(b1) && no_boolean(b2)) && (b1 != b2))
(void) printf("\t%s: %s%s%s.\n",
name,
dump_boolean(b1),
@ -482,7 +509,7 @@ compare_predicate(PredType type, PredIdx idx, const char *name)
switch (compare) {
case C_DIFFERENCE:
n2 = next_entry->Numbers[idx];
if (!((n1 == ABSENT_NUMERIC && n2 == ABSENT_NUMERIC)) && n1 != n2) {
if (!(no_numeric(n1) && no_numeric(n2)) && n1 != n2) {
dump_numeric(n1, buf1);
dump_numeric(n2, buf2);
(void) printf("\t%s: %s, %s.\n", name, buf1, buf2);
@ -530,7 +557,7 @@ compare_predicate(PredType type, PredIdx idx, const char *name)
switch (compare) {
case C_DIFFERENCE:
s2 = next_entry->Strings[idx];
if (capcmp(idx, s1, s2)) {
if (!(no_string(s1) && no_string(s2)) && capcmp(idx, s1, s2)) {
dump_string(s1, buf1);
dump_string(s2, buf2);
if (strcmp(buf1, buf2))