# ncurses 6.5 - patch 20250426 - Thomas E. Dickey # # ------------------------------------------------------------------------------ # # Ncurses 6.5 is at # https://invisible-island.net/archives/ncurses/ # https://invisible-mirror.net/archives/ncurses/ # https://ftp.gnu.org/gnu/ncurses/ # # Patches for ncurses 6.5 can be found at # https://invisible-island.net/archives/ncurses/6.5 # https://invisible-mirror.net/archives/ncurses/6.5 # # ------------------------------------------------------------------------------ # https://invisible-island.net/archives/ncurses/6.5/ncurses-6.5-20250426.patch.gz # patch by Thomas E. Dickey # created Sun Apr 27 00:01:37 UTC 2025 # ------------------------------------------------------------------------------ # NEWS | 7 + # VERSION | 2 # dist.mk | 4 - # doc/html/man/curs_addch.3x.html | 133 ++++++++++++++++++++++++------------- # doc/html/man/ncurses.3x.html | 2 # doc/html/man/terminfo.5.html | 2 # man/curs_addch.3x | 66 +++++++++++++++++- # misc/terminfo.src | 98 +++++++++++++++++++-------- # package/debian-mingw/changelog | 4 - # package/debian-mingw64/changelog | 4 - # package/debian/changelog | 4 - # package/mingw-ncurses.nsi | 4 - # package/mingw-ncurses.spec | 2 # package/ncurses.spec | 2 # package/ncursest.spec | 2 # 15 files changed, 241 insertions(+), 95 deletions(-) # ------------------------------------------------------------------------------ Index: NEWS Prereq: 1.4275 --- ncurses-6.5-20250419+/NEWS 2025-04-19 23:31:31.000000000 +0000 +++ ncurses-6.5-20250426/NEWS 2025-04-26 20:14:16.000000000 +0000 @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.4275 2025/04/19 23:31:31 tom Exp $ +-- $Id: NEWS,v 1.4277 2025/04/26 20:14:16 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,11 @@ Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20250426 + + expand note on extensions in curs_addch.3x + + add illumos, sun-16color, sun-256color, sun-direct -TD + + add wyse+cvis -TD + 20250419 + add note on scrolling and lower-right corner to waddch and wadd_wch manual pages. Index: VERSION --- ncurses-6.5-20250419+/VERSION 2025-04-19 10:37:06.000000000 +0000 +++ ncurses-6.5-20250426/VERSION 2025-04-26 10:13:45.000000000 +0000 @@ -1 +1 @@ -5:0:10 6.5 20250419 +5:0:10 6.5 20250426 Index: dist.mk Prereq: 1.1665 --- ncurses-6.5-20250419+/dist.mk 2025-04-19 10:37:06.000000000 +0000 +++ ncurses-6.5-20250426/dist.mk 2025-04-26 10:13:45.000000000 +0000 @@ -26,7 +26,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1665 2025/04/19 10:37:06 tom Exp $ +# $Id: dist.mk,v 1.1666 2025/04/26 10:13:45 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -38,7 +38,7 @@ # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 5 -NCURSES_PATCH = 20250419 +NCURSES_PATCH = 20250426 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) Index: doc/html/man/curs_addch.3x.html --- ncurses-6.5-20250419+/doc/html/man/curs_addch.3x.html 2025-04-19 23:33:03.000000000 +0000 +++ ncurses-6.5-20250426/doc/html/man/curs_addch.3x.html 2025-04-26 20:32:39.000000000 +0000 @@ -28,19 +28,19 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_addch.3x,v 1.136 2025/04/19 22:53:46 tom Exp @ + * @Id: curs_addch.3x,v 1.137 2025/04/26 19:57:22 tom Exp @ --> -curs_addch 3x 2025-04-19 ncurses 6.5 Library calls +curs_addch 3x 2025-04-26 ncurses 6.5 Library calls -

curs_addch 3x 2025-04-19 ncurses 6.5 Library calls

+

curs_addch 3x 2025-04-26 ncurses 6.5 Library calls

 curs_addch(3x)                   Library calls                  curs_addch(3x)
 
@@ -276,8 +276,51 @@
        and  are  not  standard.   However,  many  publicly  available terminfo
        entries include  acs_chars  (acsc)  capabilities  in  which  their  key
        characters  (pryz{|})  are  embedded,  and  a second-hand list of their
-       character descriptions has  come  to  light.   The  ncurses  developers
-       invented ACS-prefixed names for them.
+       character descriptions has come to  light,  which  identifies  them  as
+       VT100 special characters.
+
+       The DEC Special Character and Line Drawing Set (VT100) is indexed by an
+       ASCII character in the range 96 (`) to 126 (~).  That  index  character
+       is  part  of  the  definition  for  the curses ACS_ symbols.  The VT100
+       special characters can be categorized in three groups:
+
+       o   useful graphic symbols with a  standard  ACS_  symbol,  (e.g.,  the
+           line-drawing symbols),
+
+       o   possibly useful characters (these non-standard symbols),
+
+       o   representations  of  control characters (e.g., newline and vertical
+           tabulation).
+
+       A few ACS_ symbols do not  fit  into  DEC's  VT100  scheme.   The  AT&T
+       Teletype  5410v1  arrow  symbols  and ACS_BLOCK use indices outside the
+       range 96 to 126.  Two of the  Teletype  symbols  use  indices  in  that
+       range, with different meaning versus the VT100:
+
+       o   ACS_BOARD corresponds to the VT100 symbol for newline
+
+       o   ACS_LANTERN corresponds to the VT100 symbol for vertical tabulation
+
+       AT&T defined ACS_ names for the most useful graphic symbols, as well as
+       for its own.  Its header file commented:
+
+       /*
+        * Standard alternate character set.  The current ACS world is evolving,
+        * so we support only a widely available subset: the line drawing characters
+        * from the VT100, plus a few from the Teletype 5410v1.  Eventually there
+        * may be support of more sophisticated ACS line drawing, such as that
+        * in the Teletype 5410, the HP line drawing set, and the like.  There may
+        * be support for some non line oriented characters as well.
+        *
+        * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+        * is the right, b is the bottom, and l is the left.  t, r, b, and l might
+        * be B (blank), S (single), D (double), or T (thick).  The subset defined
+        * here only uses B and S.
+        */
+
+       Although these less-useful graphic symbols were not given  names,  they
+       were  used  in  terminfo entries.  The ncurses developers invented ACS-
+       prefixed names for them.
 
 
 

PORTABILITY

@@ -287,79 +330,79 @@
        X/Open Curses Issue 4 describes these functions.  It specifies no error
        conditions for them.
 
-       SVr4  describes  a  successful  return  value only as "an integer value
+       SVr4 describes a successful return value  only  as  "an  integer  value
        other than ERR".
 
-       The defaults specified for forms-drawing characters apply in the  POSIX
+       The  defaults specified for forms-drawing characters apply in the POSIX
        locale.
 
 
 

ACS Symbols

-       X/Open  Curses  states  that  the  ACS_ definitions are char constants.
+       X/Open Curses states that the  ACS_  definitions  are  char  constants.
        Some implementations are problematic.
 
-       o   Solaris curses, for example, defines the ACS symbols as  constants;
+       o   Solaris  curses, for example, defines the ACS symbols as constants;
            others define them as elements of an array.
 
-           SVr4  used  an array, acs_map, as does ncurses.  NetBSD curses also
-           uses an array, actually  named  _acs_char,  with  a  "#define"  for
+           SVr4 used an array, acs_map, as does ncurses.  NetBSD  curses  also
+           uses  an  array,  actually  named  _acs_char,  with a "#define" for
            compatibility.
 
-       o   HP-UX  curses  equates  some  of  the ACS_ symbols to the analogous
-           WACS_ symbols as if the ACS_  symbols  were  wide  characters  (see
-           curs_add_wch(3x)).   The  misdefined  symbols  are  the  arrows and
+       o   HP-UX curses equates some of the  ACS_  symbols  to  the  analogous
+           WACS_  symbols  as  if  the  ACS_ symbols were wide characters (see
+           curs_add_wch(3x)).  The  misdefined  symbols  are  the  arrows  and
            others that are not used for line drawing.
 
-       o   X/Open Curses (Issues 2 through 7) has a  typographical  error  for
-           the  ACS_LANTERN  symbol,  equating  its  "VT100+ Character" to "I"
-           (capital I), while the header  files  for  SVr4  curses  and  other
+       o   X/Open  Curses  (Issues 2  through 7) has a typographical error for
+           the ACS_LANTERN symbol, equating  its  "VT100+  Character"  to  "I"
+           (capital  I),  while  the  header  files  for SVr4 curses and other
            implementations use "i" (small i).
 
-           None  of  the terminal descriptions on Unix platforms use uppercase
-           I, except  for  Solaris  (in  its  terminfo  entry  for  screen(1),
-           apparently  based on the X/Open documentation around 1995).  On the
-           other hand, its gs6300 (AT&T PC6300 with EMOTS  Terminal  Emulator)
+           None of the terminal descriptions on Unix platforms  use  uppercase
+           I,  except  for  Solaris  (in  its  terminfo  entry  for screen(1),
+           apparently based on the X/Open documentation around 1995).  On  the
+           other  hand,  its gs6300 (AT&T PC6300 with EMOTS Terminal Emulator)
            description uses lowercase i.
 
        The displayed values of ACS_ constants depend on
 
-       o   the  ncurses  ABI  --  for example, wide-character versus non-wide-
-           character configurations  (the  former  is  capable  of  displaying
+       o   the ncurses ABI -- for  example,  wide-character  versus  non-wide-
+           character  configurations  (the  former  is  capable  of displaying
            Unicode while the latter is not), and
 
        o   whether the locale uses UTF-8 encoding.
 
-       In  certain  cases,  the  terminal  is  unable to display forms-drawing
-       characters  except  by  using  UTF-8;  see  the   discussion   of   the
+       In certain cases, the  terminal  is  unable  to  display  forms-drawing
+       characters   except   by   using  UTF-8;  see  the  discussion  of  the
        NCURSES_NO_UTF8_ACS environment variable in ncurses(3x).
 
 
 

Character Set

-       X/Open  Curses  assumes  that the parameter passed to waddch contains a
-       single character.  That character may have been more  than  eight  bits
-       wide  in  an  SVr3 or SVr4 implementation, but X/Open Curses leaves the
-       width of a non-wide character code unspecified.  The  standard  further
-       does  not specify the internal structure of a chtype, though the use of
-       bit operations to combine the character  code  with  attributes  and  a
+       X/Open Curses assumes that the parameter passed to  waddch  contains  a
+       single  character.   That  character may have been more than eight bits
+       wide in an SVr3 or SVr4 implementation, but X/Open  Curses  leaves  the
+       width  of  a non-wide character code unspecified.  The standard further
+       does not specify the internal structure of a chtype, though the use  of
+       bit  operations  to  combine  the  character code with attributes and a
        color pair identifier into a chtype for passage to waddch is common.  A
        portable application uses only the macros discussed in curs_attr(3x) to
        manipulate a chtype.
 
        In ncurses, chtype holds an eight-bit character, but the library allows
-       a multibyte character sequence to be passed via a succession  of  calls
-       to  waddch.   Other  implementations  do  not;  a waddch call transmits
-       exactly one character, which may be rendered  in  one  or  more  screen
-       locations  depending  on  whether  it  is  printable  (see unctrl(3x)).
-       Depending on the locale, ncurses  inspects  the  byte  passed  in  each
-       waddch  call  and  checks whether the latest call continues a multibyte
-       character.   When  a  character  is  complete,  ncurses  displays   the
-       character   and  advances  the  cursor.   If  the  calling  application
+       a  multibyte  character sequence to be passed via a succession of calls
+       to waddch.  Other implementations  do  not;  a  waddch  call  transmits
+       exactly  one  character,  which  may  be rendered in one or more screen
+       locations depending  on  whether  it  is  printable  (see  unctrl(3x)).
+       Depending  on  the  locale,  ncurses  inspects  the byte passed in each
+       waddch call and checks whether the latest call  continues  a  multibyte
+       character.    When  a  character  is  complete,  ncurses  displays  the
+       character  and  advances  the  cursor.   If  the  calling   application
        interrupts the succession of bytes in a multibyte character sequence by
        changing the current location -- for example, with wmove(3x) -- ncurses
        discards the incomplete character.
 
        For  portability  to  other  implementations,  do  not  rely  upon  the
-       foregoing  behavior.  Check whether a character can be represented as a
+       foregoing behavior.  Check whether a character can be represented as  a
        single byte in the current locale.
 
        o   If it can, call either waddch or wadd_wch.
@@ -370,24 +413,24 @@
 

HISTORY

        4BSD (1980) introduced waddch and its variants.
 
-       SVr3 (1987) added the echochar and wechochar functions and most of  the
-       ACS_  constants, except for ACS_GEQUAL, ACS_LEQUAL, ACS_NEQUAL, ACS_PI,
+       SVr3  (1987) added the echochar and wechochar functions and most of the
+       ACS_ constants, except for ACS_GEQUAL, ACS_LEQUAL, ACS_NEQUAL,  ACS_PI,
        ACS_S3, ACS_S7, and ACS_STERLING.
 
        ncurses 1.9.6 (1995) furnished the remaining ACS_ constants.
 
 
 

SEE ALSO

-       curs_add_wch(3x) describes comparable functions of the ncurses  library
+       curs_add_wch(3x)  describes comparable functions of the ncurses library
        in its wide-character configuration (ncursesw).
 
        curses(3x),    curs_addchstr(3x),    curs_addstr(3x),    curs_attr(3x),
-       curs_bkgd(3x),   curs_clear(3x),    curs_inch(3x),    curs_outopts(3x),
+       curs_bkgd(3x),    curs_clear(3x),    curs_inch(3x),   curs_outopts(3x),
        curs_refresh(3x), curs_variables(3x), putchar(3)
 
 
 
-ncurses 6.5                       2025-04-19                    curs_addch(3x)
+ncurses 6.5                       2025-04-26                    curs_addch(3x)