ncurses 6.1 - patch 20190216
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 17 Feb 2019 02:40:14 +0000 (02:40 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 17 Feb 2019 02:40:14 +0000 (02:40 +0000)
+ improve manual page description of TABSIZE.
+ add test/demo_tabs program.

40 files changed:
MANIFEST
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_addch.3x.html
doc/html/man/curs_variables.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/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_addch.3x
man/curs_variables.3x
man/manhtml.aliases
man/ncurses.3x
man/tabs.1
ncurses/trace/lib_tracebits.c
ncurses/trace/visbuf.c
package/debian-mingw/changelog
package/debian-mingw64/changelog
package/debian/changelog
package/mingw-ncurses.nsi
package/mingw-ncurses.spec
package/ncurses.spec
package/ncursest.spec
test/demo_tabs.c [new file with mode: 0644]
test/modules
test/programs
test/test.priv.h

index 27a22f6389d5949e3c876854543dd2c824f9dba0..6e4e56cb63dfc0a21384650ef8e2399d9ee356b3 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./test/demo_menus.c
 ./test/demo_new_pair.c
 ./test/demo_panels.c
+./test/demo_tabs.c
 ./test/demo_termcap.c
 ./test/demo_terminfo.c
 ./test/ditto.c
diff --git a/NEWS b/NEWS
index 71f1b8d5ec244db418d92cdd358d940e2933e8cb..130758dbd4153312edbac53c13a13ddc7002bfdd 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.3272 2019/02/10 00:56:56 tom Exp $
+-- $Id: NEWS,v 1.3275 2019/02/16 23:45:57 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,10 @@ 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.
 
+20190216
+       + improve manual page description of TABSIZE.
+       + add test/demo_tabs program.
+
 20190209
        + add check in tic to provide warnings for mismatched number of
          parameters in the documented user-capability extensions.
@@ -9374,7 +9378,7 @@ it is not possible to add this information.
 20000701 pre-release
        + change minor version to 1, i.e., ncurses 5.1
        + add experimental configure option --enable-colorfgbg to check for
-         $COLORTERM variable as set by rxvt/aterm/Eterm.
+         $COLORFGBG variable as set by rxvt/aterm/Eterm.
        + add Eterm terminfo entry (Michael Jennings <mej@valinux.com>).
        + modify manlinks.sed to pick aliases from the SYNOPSIS section, and
          several manpages so manlinks.sed can find aliases for creating
diff --git a/VERSION b/VERSION
index 6d567fe619be12ab68bb968e9b3e39e1a5634062..c1cda65e6f369d11bb329b02e3680c4a71097605 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-5:0:10 6.1     20190209
+5:0:10 6.1     20190216
diff --git a/dist.mk b/dist.mk
index 0e00ff4eb55a32aec0d30b3e2dc029c3f39d1c88..636d49f33808da3a0e80d7e5d6a152dff79243ce 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.1266 2019/02/09 15:12:47 tom Exp $
+# $Id: dist.mk,v 1.1267 2019/02/13 22:19:33 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 = 1
-NCURSES_PATCH = 20190209
+NCURSES_PATCH = 20190216
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 1a977aace04c9322295848a8017f5b51c21e8cfc..a1c82c693682892b0d82e4c8875380b3767ca84b 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 1fe16e093a1392471d70cf2cc5ffbe0a3010dc27..926b17046e18892f0228ab3e8835c253133e9ff0 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 405d47ca29764eed4fc504933d5ee96b5676bdb1..b53f89f2fff0e62f4786cb6459f5821495b997ad 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 74834b36d5ff0c214ef7e518f829954378650506..8cdd9869bd9e333ce6b81ea67afe55355c8d1e93 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2018,2019 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: curs_addch.3x,v 1.46 2018/07/28 21:02:35 tom Exp @
+  * @Id: curs_addch.3x,v 1.47 2019/02/16 23:50:17 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
-       The  <STRONG>TABSIZE</STRONG> variable is implemented in some versions of curses, but is
-       not part of X/Open curses.
+       The  <STRONG>TABSIZE</STRONG>  variable  is  implemented  in  SVr4 and other versions of
+       curses, but is not part of X/Open curses  (see  <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>  for
+       more details).
 
        If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
-       current  row of the window.  This is true of other implementations, but
+       current row of the window.  This is true of other implementations,  but
        is not documented.
 
 
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,  <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,  <STRONG>curs_out-</STRONG>
        <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
 
-       Comparable  functions  in  the  wide-character  (ncursesw)  library are
+       Comparable functions  in  the  wide-character  (ncursesw)  library  are
        described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
 
 
index 72baa5620a4b1767a966a23971b4c1e957d59da4..bf39786c5bb88f9332f27007d72a78b5fa8f37d4 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 2010-2017,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 2010-2018,2019 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: curs_variables.3x,v 1.11 2018/07/28 22:37:10 tom Exp @
+  * @Id: curs_variables.3x,v 1.12 2019/02/16 23:43:23 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
-       ESCDELAY  and TABSIZE are extensions, not provided in most other imple-
-       mentations of curses.
+       <STRONG>TABSIZE</STRONG>  is  a feature of SVr4 curses which is not documented by X/Open
+       curses.
 
-       ESCDELAY is an extension in AIX curses:
+       <STRONG>o</STRONG>   In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip-
+           tion's  <STRONG>init_tabs</STRONG> capability.  After that, it can be altered by the
+           applications using SVr4 curses.
 
-       <STRONG>o</STRONG>   In AIX, the units for ESCDELAY are <EM>fifths</EM> of a millisecond.
+           SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the  posi-
+           tion  of  tabstops  for  updating both the virtual screen with <STRONG>add-</STRONG>
+           <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
 
-       <STRONG>o</STRONG>   The default value for AIX's ESCDELAY is 0.1 seconds.
+       <STRONG>o</STRONG>   This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for  up-
+           dating  the  virtual  screen.   It  uses the terminal description's
+           <STRONG>init_tabs</STRONG> capability  for  computing  tab  stops  on  the  physical
+           screen.
 
-       <STRONG>o</STRONG>   AIX also enforces a limit of 10,000 seconds for ESCDELAY; this  im-
+       <STRONG>o</STRONG>   Other  implementations  differ.  For instance, NetBSD curses allows
+           <STRONG>TABSIZE</STRONG> to be set through an environment variable.  This  implemen-
+           tation does not.
+
+       <STRONG>ESCDELAY</STRONG> is an extension in AIX curses:
+
+       <STRONG>o</STRONG>   In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond.
+
+       <STRONG>o</STRONG>   The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds.
+
+       <STRONG>o</STRONG>   AIX  also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im-
            plementation currently has no upper limit.
 
-       This  implementation has long used ESCDELAY with units of milliseconds,
-       making it impossible to be completely compatible with  AIX.   Likewise,
-       most  users have either decided to override the value, or rely upon its
+       This implementation has long used <STRONG>ESCDELAY</STRONG> with units of  milliseconds,
+       making  it  impossible to be completely compatible with AIX.  Likewise,
+       most users have either decided to override the value, or rely upon  its
        default value.
 
 
index add1da1b6ed4b78a4bdfa1873b83887bdf06ad49..4b2ac570f395d480c93fc7911492c6fb1ded8097 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "form_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index f899bf7896f376e0dc911550ab25847abc50f615..d46f8fd441008fa0948a195185b9e581dbcd62b0 100644 (file)
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 13cfd50a1902943555528c1dc74cc8e815c1d075..ab8b0f4a054dfd1252bb76d7f7ff2626ab805945 100644 (file)
@@ -85,7 +85,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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 1baa65662b7574654dc0eb696dbe7100ca3ae7a0..7ef05ebca9710e5b41a4ce9978f5eaf87da2f85e 100644 (file)
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>  and  related  pages  whose names begin "menu_" for detailed
        descriptions of the entry points.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 2af18f531a84b963461faf4a45365a8ac281e645..f060b652f2a0bd6a7858d55694765f5cc7c1fe52 100644 (file)
@@ -1,7 +1,7 @@
 <!-- 
   * t
   ****************************************************************************
-  * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 1998-2018,2019 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: ncurses.3x,v 1.140 2018/07/28 23:30:17 tom Exp @
+  * @Id: ncurses.3x,v 1.141 2019/02/16 15:07:20 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
@@ -59,7 +59,7 @@
        method of updating  character  screens  with  reasonable  optimization.
        This  implementation  is  "new  curses"  (ncurses)  and is the approved
        replacement for 4.4BSD classic curses,  which  has  been  discontinued.
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
        The  <STRONG>ncurses</STRONG>  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
                     use_env                  <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
                     use_extended_names       <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
                     use_legacy_coding        <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
-                    use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+                    use_tioctl               <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
                     vid_attr                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
 
                     vid_puts                 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
index 93b05b6445bcbd2058eca5154c4f2fa4ef6bbd07..d88aa76cb34cf944f8498f68619498f9b0cc3f48 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 0b66b8878d8dd4740afb8c7ed3f6defddad8b4eb..3a74743a2394567fe2ee0a5ed83fc563b40722b4 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index d082112b952f6ad096162835efa37822822b8a15..5498b36216c70136ca48131424edce5e3f41b697 100644 (file)
@@ -1,6 +1,6 @@
 <!-- 
   ****************************************************************************
-  * Copyright (c) 2008-2017,2018 Free Software Foundation, Inc.              *
+  * Copyright (c) 2008-2018,2019 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: tabs.1,v 1.19 2018/07/28 21:46:31 tom Exp @
+  * @Id: tabs.1,v 1.20 2019/02/16 23:56:38 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
        ing the tabstops), and later <STRONG>cat</STRONG> the file to the screen,  setting  tab-
        stops at that point.
 
+       These  are  hardware  tabs, which cannot be queried rapidly by applica-
+       tions running in the terminal, if at all.  Curses and other full-screen
+       applications  may  use  hardware tabs in optimizing their output to the
+       terminal.  If the hardware tabstops differ from the information in  the
+       terminal database, the result is unpredictable.
+
 
 </PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 206ead16ecf00e4b16b42656aee4aa2e11b6b955..4dc182e00546ed04f28d8338d00a671800d2809a 100644 (file)
@@ -74,7 +74,7 @@
        <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
        have, by specifying how to perform screen operations, and by specifying
        padding  requirements  and  initialization  sequences.   This describes
-       <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
index 62069c724803ba88812ba8229f9ce5fa0f9fde66..5c437e85fd1cad7028cebdc4b50cc2f2c7631f07 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 </PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
index 8ae6f3a2409d68b2dce7c56d5fb5309859eeb62e..0b08e5034245d59cf4ecd5fb45bfb5fc063aea1b 100644 (file)
        <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>,  <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>,  <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,  <STRONG>ter-</STRONG>
        <STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index 02094a7f85a9fc26ea70d3b243c6073bbfcc4f72..67898ac960ad67d51ba56b5ca7dc7ccdb441f4fb 100644 (file)
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
 
-       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index a3e17817623e3547a48bbc4d0b0039732b8193de..d1738b8231e2620f15a2cc3e4390c29788775d27 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.1 (patch 20190121).
+       This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20190216).
 
 
 
index d502faabdb03521d40697f15450adbf7f45c77ac..729382d49fcce828c3014db21c49bcd9587cc6fd 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2018,2019 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 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_addch.3x,v 1.46 2018/07/28 21:02:35 tom Exp $
+.\" $Id: curs_addch.3x,v 1.47 2019/02/16 23:50:17 tom Exp $
 .TH curs_addch 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -252,8 +252,9 @@ before attempting call \fBwaddch\fP, and
 call \fBwadd_wch\fP for characters which cannot be handled by \fBwaddch\fP.
 .SS TABSIZE
 .LP
-The \fBTABSIZE\fR variable is implemented in some versions of curses,
-but is not part of X/Open curses.
+The \fBTABSIZE\fR variable is implemented in SVr4 and other versions of curses,
+but is not part of X/Open curses
+(see \fBcurs_variables\fR(3X) for more details).
 .LP
 If \fIch\fR is a carriage return,
 the cursor is moved to the beginning of the current row of the window.
index 6b9fb59a4db002af602625dddd5f877df678e3e9..fffad7149ecf29c0d251ea244c56869b8f23480a 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2010-2017,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2010-2018,2019 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: curs_variables.3x,v 1.11 2018/07/28 22:37:10 tom Exp $
+.\" $Id: curs_variables.3x,v 1.12 2019/02/16 23:43:23 tom Exp $
 .TH curs_variables 3X ""
 .ie \n(.g .ds `` \(lq
 .el       .ds `` ``
@@ -139,19 +139,38 @@ or \fBnewterm\fR(3X).
 If \fBcurses\fP is configured to use separate curses/terminfo libraries,
 most of these variables reside in the curses library.
 .SH PORTABILITY
-ESCDELAY and TABSIZE are extensions,
-not provided in most other implementations of curses.
+\fBTABSIZE\fP is a feature of SVr4 curses
+which is not documented by X/Open curses.
+.bP
+In SVr4 curses, \fBTABSIZE\fP is initially set from the terminal description's
+\fBinit_tabs\fP capability.
+After that, it can be altered by the applications using SVr4 curses.
+.IP
+SVr4 curses uses the current value of \fBTABSIZE\fP to
+compute the position of tabstops for updating both
+the virtual screen with \fBaddch\fP(3X) as well as
+the physical screen with \fBmvcur\fP(3X).
+.bP
+This implementation uses the current value of \fBTABSIZE\fP only for
+updating the virtual screen.
+It uses the terminal description's \fBinit_tabs\fP capability for
+computing tab stops on the physical screen.
+.bP
+Other implementations differ.
+For instance, NetBSD curses allows \fBTABSIZE\fP to be set through
+an environment variable.
+This implementation does not.
 .PP
-ESCDELAY is an extension in AIX curses:
+\fBESCDELAY\fP is an extension in AIX curses:
 .bP
-In AIX, the units for ESCDELAY are \fIfifths\fP of a millisecond.
+In AIX, the units for \fBESCDELAY\fP are \fIfifths\fP of a millisecond.
 .bP
-The default value for AIX's ESCDELAY is 0.1 seconds.
+The default value for AIX's \fBESCDELAY\fP is 0.1 seconds.
 .bP
-AIX also enforces a limit of 10,000 seconds for ESCDELAY;
+AIX also enforces a limit of 10,000 seconds for \fBESCDELAY\fP;
 this implementation currently has no upper limit.
 .PP
-This implementation has long used ESCDELAY with units of milliseconds,
+This implementation has long used \fBESCDELAY\fP with units of milliseconds,
 making it impossible to be completely compatible with AIX.
 Likewise, most users have either decided to override the value,
 or rely upon its default value.
index 5c97b54ff92745aa8eeb08e45c1bad03153d7835..6db78f3a14a285522a07e190119fa11f0d03693f 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: manhtml.aliases,v 1.12 2017/04/22 14:07:02 tom Exp $
+# $Id: manhtml.aliases,v 1.13 2019/02/16 23:44:49 tom Exp $
 #***************************************************************************
-# Copyright (c) 2013-2016,2017 Free Software Foundation, Inc.              *
+# Copyright (c) 2013-2017,2019 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            *
@@ -43,6 +43,7 @@ is_scrollok(3X)               curs_opaque(3X)
 keypad(3X)             curs_inopts(3X)
 longname(3X)           curs_termattrs(3X)
 meta(3X)               curs_inopts(3X)
+mvcur(3X)              curs_terminfo(3X)
 newterm(3X)            curs_initscr(3X)
 refresh(3X)            curs_refresh(3X)
 reset_shell_mode(3X)   curs_kernel(3X)
index a8d67af5581a3e89104cbc5f648bda8e4b6b943a..475046b1ef48552ab0aed5cf6e7ac84a2331d5ba 100644 (file)
@@ -1,6 +1,6 @@
 '\" t
 .\"***************************************************************************
-.\" Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 1998-2018,2019 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 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: ncurses.3x,v 1.140 2018/07/28 23:30:17 tom Exp $
+.\" $Id: ncurses.3x,v 1.141 2019/02/16 15:07:20 tom Exp $
 .hy 0
 .TH ncurses 3X ""
 .ie \n(.g .ds `` \(lq
@@ -679,7 +679,7 @@ use_default_colors/\fBdefault_colors\fR(3X)*
 use_env/\fBcurs_util\fR(3X)
 use_extended_names/\fBcurs_extend\fR(3X)*
 use_legacy_coding/\fBlegacy_coding\fR(3X)*
-use_tioctl/\fBcurs_util\fR(3X)
+use_tioctl/\fBcurs_util\fR(3X)*
 vid_attr/\fBcurs_terminfo\fR(3X)
 vid_puts/\fBcurs_terminfo\fR(3X)
 vidattr/\fBcurs_terminfo\fR(3X)
index d34f8e0fe30928ec4b87882af5dd7f2a522f0467..2a127f339119288b4537c778c89b5e13eeeb8c7d 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2008-2017,2018 Free Software Foundation, Inc.              *
+.\" Copyright (c) 2008-2018,2019 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: tabs.1,v 1.19 2018/07/28 21:46:31 tom Exp $
+.\" $Id: tabs.1,v 1.20 2019/02/16 23:56:38 tom Exp $
 .TH @TABS@ 1 ""
 .ds n 5
 .ie \n(.g .ds `` \(lq
@@ -69,6 +69,13 @@ Like \fB@CLEAR@\fR(1), \fB@TABS@\fR writes to the standard output.
 You can redirect the standard output to a file (which prevents
 \fB@TABS@\fR from actually changing the tabstops),
 and later \fBcat\fP the file to the screen, setting tabstops at that point.
+.PP
+These are hardware tabs, which cannot be queried rapidly by applications
+running in the terminal, if at all.
+Curses and other full-screen applications may use hardware tabs
+in optimizing their output to the terminal.
+If the hardware tabstops differ from the information in the terminal
+database, the result is unpredictable.
 .SH OPTIONS
 .SS General Options
 .TP 5
index f880b674403164a3ac373c0597444da4f822c9f8..43b29a9496e0d44c5b984c3712f0431355ee5ecd 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2012,2015 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2015,2019 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            *
@@ -34,7 +34,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_tracebits.c,v 1.26 2015/04/19 14:58:39 tom Exp $")
+MODULE_ID("$Id: lib_tracebits.c,v 1.27 2019/02/16 22:12:08 tom Exp $")
 
 #if HAVE_SYS_TERMIO_H
 #include <sys/termio.h>                /* needed for ISC */
@@ -130,7 +130,7 @@ _nc_trace_ttymode(TTY * tty)
        DATA(ONOCR),
        DATA(ONLRET),
        DATAX()
-#define ALLOUT (OPOST|OFLAGS_TABS|ONLCR|OCRNL|ONOCR|ONLRET)
+#define ALLOUT (OPOST|OFLAGS_TABS|ONLCR|OCRNL|ONOCR|ONLRET|OFLAGS_TABS)
     }, cflags[] =
     {
        DATA(CLOCAL),
index 581bfbd259bd5a76862dd09616fdbcc8acb40f82..17b590a725291a1851b654c7d5951273f6eed71a 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2001-2016,2017 Free Software Foundation, Inc.              *
+ * Copyright (c) 2001-2017,2019 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 <tic.h>
 #include <ctype.h>
 
-MODULE_ID("$Id: visbuf.c,v 1.49 2017/10/21 23:34:20 tom Exp $")
+MODULE_ID("$Id: visbuf.c,v 1.50 2019/02/16 21:18:42 tom Exp $")
 
 #define NUM_VISBUFS 4
 
@@ -80,6 +80,9 @@ _nc_vischar(char *tp, unsigned c LIMIT_ARG)
     } else if (c == '\b') {
        *tp++ = '\\';
        *tp++ = 'b';
+    } else if (c == '\t') {
+       *tp++ = '\\';
+       *tp++ = 't';
     } else if (c == '\033') {
        *tp++ = '\\';
        *tp++ = 'e';
index c549a7c8ad4ce9104ee73152fb9456e674397b3c..f1b538349df9bee42812e1ce726cccfde7a2f58b 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190209) unstable; urgency=low
+ncurses6 (6.1+20190216) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 09 Feb 2019 10:12:47 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 Feb 2019 17:19:33 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index c549a7c8ad4ce9104ee73152fb9456e674397b3c..f1b538349df9bee42812e1ce726cccfde7a2f58b 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190209) unstable; urgency=low
+ncurses6 (6.1+20190216) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 09 Feb 2019 10:12:47 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 Feb 2019 17:19:33 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
index 07da9be82edaa047c3c5429731c6b3269f0dee7f..f0ae539ba76c8b1b9c601fd7b62fc62e704111ec 100644 (file)
@@ -1,8 +1,8 @@
-ncurses6 (6.1+20190209) unstable; urgency=low
+ncurses6 (6.1+20190216) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey <dickey@invisible-island.net>  Sat, 09 Feb 2019 10:12:47 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net>  Wed, 13 Feb 2019 17:19:33 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
index f8f3dd8a159d6e9caf924d15dbd8ff8cbbf31967..9fabdcbbeebf4d18f1c48eb906955b9eebbf30b3 100644 (file)
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.313 2019/02/09 15:12:47 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.314 2019/02/13 22:19:33 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 "1"\r
 !define VERSION_YYYY  "2019"\r
-!define VERSION_MMDD  "0209"\r
+!define VERSION_MMDD  "0216"\r
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
 \r
 !define MY_ABI   "5"\r
index e8753e1ee16e20bc6856f0e49c80853580a837c6..11df0aa90ebf629697b9983fb97b301812a08bc2 100644 (file)
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.1
-Release: 20190209
+Release: 20190216
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index 6b16ccc8ed10b5372683d8599a3177dcca2ecfc5..b74ee1e1b21699df5dd02c8e2b078ba9bc5d3297 100644 (file)
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.1
-Release: 20190209
+Release: 20190216
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
index c9072a0325785edaada56f9184a4fb85c2204c00..b699a9a91782abd1af62456dd28e04565adfda82 100644 (file)
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.1
-Release: 20190209
+Release: 20190216
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/test/demo_tabs.c b/test/demo_tabs.c
new file mode 100644 (file)
index 0000000..68023a3
--- /dev/null
@@ -0,0 +1,116 @@
+/****************************************************************************
+ * Copyright (c) 2019 Free Software Foundation, Inc.                        *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/*
+ * Author: Thomas E. Dickey
+ *
+ * $Id: demo_tabs.c,v 1.2 2019/02/17 01:01:11 tom Exp $
+ *
+ * A simple demo of tabs in curses.
+ */
+#include "test.priv.h"
+
+static void
+usage(void)
+{
+    static const char *msg[] =
+    {
+       "Usage: demo_tabs [options]",
+       "",
+       "Print a grid to test tab-stops with the curses interface",
+       "",
+       "Options:",
+       " -l COUNT total number of lines to show",
+       " -t NUM   set TABSIZE variable to the given value",
+    };
+    unsigned n;
+    for (n = 0; n < SIZEOF(msg); ++n) {
+       fprintf(stderr, "%s\n", msg[n]);
+    }
+    ExitProgram(EXIT_FAILURE);
+}
+
+int
+main(int argc, char *argv[])
+{
+    int tabstop;
+    int n, col, row, step;
+    int line_limit = -1;
+    int curses_stops = -1;
+
+    while ((n = getopt(argc, argv, "l:t:")) != -1) {
+       switch (n) {
+       case 'l':
+           line_limit = atoi(optarg);
+           break;
+       case 't':
+           curses_stops = atoi(optarg);
+           break;
+       default:
+           usage();
+           break;
+       }
+    }
+
+    initscr();
+    noecho();
+    cbreak();
+    if (curses_stops > 0)
+       set_tabsize(curses_stops);
+    tabstop = tigetnum("it");
+    if (tabstop <= 0)
+       tabstop = 8;
+    for (row = 0; row < LINES; ++row) {
+       move(row, 0);
+       for (col = step = 0; col < COLS - 1; ++col) {
+           if (row == 0) {
+               chtype ch = '-';
+               if ((col % tabstop) == 0)
+                   ch = '+';
+               addch(ch);
+           } else if (col + 1 < row) {
+               addch('*');
+           } else {
+               printw("%x", step);
+               col = (row + (tabstop * ++step));
+               col /= tabstop;
+               col *= tabstop;
+               col -= 1;
+               if ((col + tabstop) < COLS)
+                   addch('\t');
+               refresh();
+           }
+       }
+       addch('\n');
+       if (line_limit > 0 && row >= line_limit)
+           break;
+    }
+    getch();
+    endwin();
+    ExitProgram(EXIT_SUCCESS);
+}
index 4862b10008d9979e84e0c03864157c2b99f4e6c4..40a0c09b9689a86ced01f625023405ad7e4d9174 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: modules,v 1.69 2018/12/29 15:32:12 tom Exp $
+# $Id: modules,v 1.70 2019/02/16 19:35:47 tom Exp $
 ##############################################################################
-# Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2018,2019 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -47,6 +47,7 @@ demo_keyok    progs           $(srcdir)       $(HEADER_DEPS)
 demo_menus     progs           $(srcdir)       $(HEADER_DEPS)  ../include/menu.h
 demo_new_pair  progs           $(srcdir)       $(HEADER_DEPS)  $(srcdir)/popup_msg.h
 demo_panels    progs           $(srcdir)       $(HEADER_DEPS)  ../include/panel.h
+demo_tabs      progs           $(srcdir)       $(HEADER_DEPS)
 demo_termcap   progs           $(srcdir)       $(HEADER_DEPS)
 demo_terminfo  progs           $(srcdir)       $(HEADER_DEPS)
 ditto          progs           $(srcdir)       $(HEADER_DEPS)
index e9e5144ccffc89cbbcc5acad958db1b250ee16e0..e1266b862ab414f7085d79d69789436acbf21f3f 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: programs,v 1.43 2018/12/29 15:32:00 tom Exp $
+# $Id: programs,v 1.44 2019/02/16 21:38:16 tom Exp $
 ##############################################################################
-# Copyright (c) 2006-2017,2018 Free Software Foundation, Inc.                #
+# Copyright (c) 2006-2018,2019 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -45,6 +45,7 @@ demo_keyok    $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   demo_keyok
 demo_menus     $(LDFLAGS_DEFAULT)      $(LOCAL_LIBS)   demo_menus
 demo_new_pair  $(LDFLAGS_DEFAULT)      $(LOCAL_LIBS)   demo_new_pair popup_msg
 demo_panels    $(LDFLAGS_DEFAULT)      $(LOCAL_LIBS)   demo_panels
+demo_tabs      $(LDFLAGS_CURSES)       $(LOCAL_LIBS)   demo_tabs
 demo_termcap   $(LDFLAGS_TINFO)        $(LOCAL_LIBS)   demo_termcap
 demo_terminfo  $(LDFLAGS_TINFO)        $(LOCAL_LIBS)   demo_terminfo
 ditto          $(LDFLAGS_THREADS)      $(LOCAL_LIBS)   ditto
index f820a33d255d458e4934bf02c0f6654bf4ff7a7c..ec7d29ad472cccd21dd866fb1a66cb5adf36ae9e 100644 (file)
@@ -29,7 +29,7 @@
 /****************************************************************************
  *  Author: Thomas E. Dickey                    1996-on                     *
  ****************************************************************************/
-/* $Id: test.priv.h,v 1.177 2019/02/02 19:57:53 tom Exp $ */
+/* $Id: test.priv.h,v 1.178 2019/02/17 01:03:18 tom Exp $ */
 
 #ifndef __TEST_PRIV_H
 #define __TEST_PRIV_H 1
@@ -469,6 +469,10 @@ extern int optind;
 #define slk_clear()            /* nothing */
 #endif
 
+#if !NCURSES_EXT_FUNCS
+#define set_tabsize(n) TABSIZE = (n)
+#endif
+
 #if HAVE_TPUTS_SP
 #define USE_SP_FUNCS 1
 #else