ncurses 6.0 - patch 20170218
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 19 Feb 2017 02:52:26 +0000 (02:52 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 19 Feb 2017 02:52:26 +0000 (02:52 +0000)
+ 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 "@, -".

44 files changed:
NEWS
VERSION
dist.mk
doc/html/man/adacurses6-config.1.html
doc/html/man/captoinfo.1m.html
doc/html/man/clear.1.html
doc/html/man/curs_getstr.3x.html
doc/html/man/curs_inopts.3x.html
doc/html/man/curs_util.3x.html
doc/html/man/form.3x.html
doc/html/man/infocmp.1m.html
doc/html/man/infotocap.1m.html
doc/html/man/menu.3x.html
doc/html/man/ncurses.3x.html
doc/html/man/ncurses6-config.1.html
doc/html/man/panel.3x.html
doc/html/man/tabs.1.html
doc/html/man/term.5.html
doc/html/man/term.7.html
doc/html/man/terminfo.5.html
doc/html/man/tic.1m.html
doc/html/man/toe.1m.html
doc/html/man/tput.1.html
doc/html/man/tset.1.html
man/curs_getstr.3x
man/curs_inopts.3x
man/curs_util.3x
man/form.3x
man/infocmp.1m
man/menu.3x
man/ncurses.3x
man/panel.3x
man/term.5
man/term.7
man/terminfo.head
man/toe.1m
ncurses/tinfo/read_entry.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
progs/infocmp.c

diff --git a/NEWS b/NEWS
index 5278c3f4641b3748d45d22e525711b938b6dbe6a..3e855116e94ad465fa97084916674bf3c2c0595a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.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
diff --git a/VERSION b/VERSION
index 830d79984963b681c9861a2f7e125d1a9a42b59c..126fac3ecb5d0f4e093a82d68c07fa940f58c65a 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:9  6.0     20170212
+5:0:9  6.0     20170218
diff --git a/dist.mk b/dist.mk
index a3550beb1e3a351011553003a7f5cf36625fa6be..7b8d1871f20cd4f7d635179a4bb4dea3c18e903d 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.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)
index e90e0f90668bd049237f6521f9d60fa1e8404b91..40c72f6d4ad375962efb92e81135562e69a70357 100644 (file)
 </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).
 
 
 
index d703b8671ea2360616a1406ba70d9812ad1664ef..c6add38e53c5206d934e29e87740e076dc2a3091 100644 (file)
 </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>
index c04197f312f6ea232478794c1b3e5333a7782063..1b26e0c2b53ad0d9920317b28f4014d8c8a91ba0 100644 (file)
 </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).
 
 
 
index 8f42e1f57df3ad7f4d60588034063f7b8b9ba76a..61ebd5466726fd48aa8a8c8cca12c8b670eca4ec 100644 (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>
        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).
index 211295e49ab1a11e5ebc2e160912565d9bb3fc75..1d2db7213a897b79b1565d422162648f307245cf 100644 (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>
        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
index 062eabefc624554f53120054c9f709b5016da844..dfef903a36193f6b91ceb7032fcbc21b7dc34796 100644 (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>
 
        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
 
        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
index 6251f05d2ffe5c3190d59ee2e9f98ade94d4fcc4..528ba797e58e1b61e251d668721b66eeebc03cda 100644 (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>
        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>
        <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).
 
 
 
index bf777ce19187aa167573e0a85c62678ff6da6ebb..3f4d43f061166793796231a67c492eeebbf39187 100644 (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>
        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>
        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
        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
             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
+
+            <STRONG>o</STRONG>   "+" (turn on) or
 
-            An  SGR0  designates  an  empty  highlight   sequence
+            <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
 
        <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.
 
        <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>.
 
        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>
index b4b16bfb87f3e5839da4077e05f84e7492e7e293..22d5c1f57f0fa3557194c84950c7cbe5893d1c1b 100644 (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>
index 767b344a5e53b67b18d7ac3b3b9a35ee7ec902e9..d6f2f908ec8c5c78f9d48d44977f6f4353cd8e1e 100644 (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>
        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>
        <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).
 
 
 
index 753ccfebf6df2f9dc93c3050be721cd77233a956..504ac48a0ade730a1258eedca75405e013f77ca0 100644 (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)
 </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
index f6eea73a6a81bf97e4d45091c1f2c0244cb42e53..6c80ea877539e7bae3802dd70f47236ea66d3e8f 100644 (file)
 </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).
 
 
 
index ada9e0858b46800e5a4720b748d91e02de15d7f0..5867e5019425e6f25b41efbc08b1fb5a71b67f98 100644 (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>
 
 </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>
 </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>
index 0eec4f5c90e19280a68c3e3c7cdfd4bb527dbc4f..0869f80b059b4bead7af2c3dfd87be8986595f8e 100644 (file)
 </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).
 
 
 
index 7afb2b08638d7fad162b3ad56f92d47b9f7f79e0..690985ea41288ec9b3e2469c6cd4e76cdd18739d 100644 (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>
 
        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.
 
index 2cb2c11da58205242500d697ae561b7d38f5a49d..ceb5528f5d30d35eda50139ec09c72a1a1c0557c 100644 (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-
        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
        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
index 8530bc4d9133d5e4ef9543559a214255c9a72310..2c8d8b66aa587c4f955e459724ed89ce0a2acb98 100644 (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
        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.
index aabeafd077e5810af75701d5f82b7058b8dd7149..faba1a8696d7372cd38e390e4f1949d5f39558d2 100644 (file)
        <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>
index b6905f703deb7c021a7fc4beb091472ec35eb833..e2a40ab5d1a1165cadf0898e392fdd74c1985a1f 100644 (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
        <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).
 
 
 
index a6888a1f0c657dacc861bf5c63c570611235c886..7fa10e86125c9f681b640fb28a866055d1936bf3 100644 (file)
        <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).
 
 
 
index 62d8626d7982002ba8898a5c48aeb03c705fde9f..70599a4e3345171dcced9076dcbe1aa937705e94 100644 (file)
        <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).
 
 
 
index e8fbbc6df76070be38d64e68360193b183d1ec0a..ee8ae92d48b9307491dc018f1e215842746e37a4 100644 (file)
 .\" 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
index 69ad2c21fe2b964bd8356e051fa024d69313d40f..c1882eaefd99023ae84f671e14b5d3d345f78127 100644 (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.
index 32be55d6310831752a81961baa6f87b6cd74ae0c..f0c4c141ff24855922fadab4b3f9613e230889ae 100644 (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.
index c21f857b3a4540b8312690e5b7a5a86238840e89..64759f2f69677f73025c8dd740e9144fb8ae1c05 100644 (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            *
 .\" 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.
index 1e4bf1f5a8563f26ff0c6f5b81b050f82981dc6f..79a12a4da90104e83648daca2acb37c09db4a100 100644 (file)
 .\" 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
-between two entries.
-This option is useful to show the difference between two
-entries, created by different people, for the same or similar terminals.
+Use the \fB\-q\fP option to show the distinction between
+\fIabsent\fP and \fIcancelled\fP capabilities.
 .PP
-The \fB\-c\fR option produces a list of each capability that is common between
+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.
+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.
index c0be469518ba11ada063c6cec3469a1a90beb4d1..6e61512d71c5cc83ef75fc20736cc08645eed777 100644 (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            *
 .\" 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@).
index 8f33ebd7d87df05cfe257e4bce0f14e836e42e49..902064e6911e25dd9cc2251ee95e71a9d3d42dbb 100644 (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
index 7880e8cd346648e0ebd92661025a6066d3f0beae..0d683130beec49a0689978da241a998c7c563e24 100644 (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            *
 .\" 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
index bab338cbb7d9f6e7e402449f361b43ef81045b0e..571b9f556696b89c8ad2d9b324f406c1c0d2e862 100644 (file)
 .\" 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.
index cee8a012f85f2e46f91e3c5e2f7f734def0ed966..52d366d237d354164039b063620d69b8a5318de0 100644 (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            *
 .\" 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,
index b4c17205ab2d8ab23ba2a02646058b04ae0513fe..fcd27e3ab4f5dd30cfee2345d411be28c6f643f4 100644 (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.
index 001a5d5f245b1177fcfe3096acc1daa57e851906..ed83915224b96315e0ca80408130dbb61701c8bc 100644 (file)
 .\" 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,
index a221e2df59e8ef3280cdfaf6440b5214e9aedad2..fc360bb8e4d8a1ec96bac921100996ed6c3b274a 100644 (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) */
index 03101cdf870e1b9a8e6eae8faa67321e811064a2..ee88beb87f439aa92347ece90cc350beb538217e 100644 (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
 
index 03101cdf870e1b9a8e6eae8faa67321e811064a2..ee88beb87f439aa92347ece90cc350beb538217e 100644 (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
 
index ffc2869368656c5c12a396e8810b7a7a5e98983e..eecd946f2390d5a657737eddcc3573187d74db96 100644 (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
 
index b1f730d44cb739806afca88c7e680d0d8cc073db..3b57caceaa6ba018737b1e3b91dbe25760bccfb7 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.198 2017/02/12 15:37:55 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.199 2017/02/18 13:13:37 tom Exp $\r
 \r
 ; TODO add examples\r
 ; TODO bump ABI to 6\r
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"\r
 !define VERSION_MINOR "0"\r
 !define VERSION_YYYY  "2017"\r
-!define VERSION_MMDD  "0212"\r
+!define VERSION_MMDD  "0218"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index 62da2e0b6cca623fda47fb7e900b9404143ac643..e7ce0fbcc49b0db07c28e2f8fd3160a321c4c1e2 100644 (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
index 08224991dbb904296c7d1b58daba61da9a8bb3cc..4d3e969ff73c7d175f70c2b87dc5973bb43ff21d 100644 (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
index b864ad880278ab00036a86316c3d3ea1211a6516..6035179ca508640bcb5c3b19f49e86149bf3b6e6 100644 (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))