From: Thomas E. Dickey Date: Sat, 25 Jun 2022 23:51:36 +0000 (+0000) Subject: ncurses 6.3 - patch 20220625 X-Git-Tag: v6.4~28 X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff_plain;h=80803f3a4a1fbdebb4de105cef9a10af36230f3c ncurses 6.3 - patch 20220625 + improve man/curs_bkgd.3x, explaining that bkgdset can affect results for bkgd (report by Anton Vidovic). + correct dsl in dec+sl (report by Rajeev Pillai) -TD + add/use ansi+cpr, decid+cpr -TD --- diff --git a/NEWS b/NEWS index 8dcc59ba..eb1525d9 100644 --- a/NEWS +++ b/NEWS @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.3820 2022/06/18 20:44:04 tom Exp $ +-- $Id: NEWS,v 1.3822 2022/06/25 22:45:37 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,12 @@ 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. +20220625 + + improve man/curs_bkgd.3x, explaining that bkgdset can affect results + for bkgd (report by Anton Vidovic). + + correct dsl in dec+sl (report by Rajeev Pillai) -TD + + add/use ansi+cpr, decid+cpr -TD + 20220618 + add a null-pointer check for term_names field in copy_termtype(), needed for MinGW port (report by Peiyuan Song, cf: 20220521). diff --git a/VERSION b/VERSION index 36fca103..5ca55663 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -5:0:10 6.3 20220618 +5:0:10 6.3 20220625 diff --git a/dist.mk b/dist.mk index 7f14bf37..0af9fc06 100644 --- a/dist.mk +++ b/dist.mk @@ -26,7 +26,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1487 2022/06/18 10:26:27 tom Exp $ +# $Id: dist.mk,v 1.1488 2022/06/25 10:58:36 tom Exp $ # Makefile for creating ncurses distributions. # # This only needs to be used directly as a makefile by developers, but @@ -38,7 +38,7 @@ SHELL = /bin/sh # These define the major/minor/patch versions of ncurses. NCURSES_MAJOR = 6 NCURSES_MINOR = 3 -NCURSES_PATCH = 20220618 +NCURSES_PATCH = 20220625 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) diff --git a/doc/html/man/adacurses6-config.1.html b/doc/html/man/adacurses6-config.1.html index f9da5a19..836efae1 100644 --- a/doc/html/man/adacurses6-config.1.html +++ b/doc/html/man/adacurses6-config.1.html @@ -126,7 +126,7 @@

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/captoinfo.1m.html b/doc/html/man/captoinfo.1m.html
index 25e01e1d..ef4b8df6 100644
--- a/doc/html/man/captoinfo.1m.html
+++ b/doc/html/man/captoinfo.1m.html
@@ -199,7 +199,7 @@
 

SEE ALSO

        infocmp(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 

AUTHOR

diff --git a/doc/html/man/clear.1.html b/doc/html/man/clear.1.html
index 272caf12..b65444a5 100644
--- a/doc/html/man/clear.1.html
+++ b/doc/html/man/clear.1.html
@@ -150,7 +150,7 @@
 

SEE ALSO

        tput(1), terminfo(5), xterm(1).
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/curs_bkgd.3x.html b/doc/html/man/curs_bkgd.3x.html
index 21e0e19f..d4a6a1d4 100644
--- a/doc/html/man/curs_bkgd.3x.html
+++ b/doc/html/man/curs_bkgd.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgd.3x,v 1.34 2022/02/12 20:06:41 tom Exp @
+  * @Id: curs_bkgd.3x,v 1.35 2022/06/25 21:55:45 tom Exp @
 -->
 
 
@@ -66,15 +66,19 @@
 

DESCRIPTION

 
 

bkgdset

-       The bkgdset and wbkgdset routines  manipulate  the  background  of  the
-       named  window.   The  window  background  is a chtype consisting of any
-       combination of attributes  (i.e.,  rendition)  and  a  character.   The
-       attribute part of the background is combined (OR'ed) with all non-blank
-       characters that are written into the  window  with  waddch.   Both  the
-       character  and  attribute parts of the background are combined with the
-       blank characters.  The background becomes a property of  the  character
-       and  moves  with  the character through any scrolling and insert/delete
-       line/character operations.
+       The bkgdset and wbkgdset routines set the background for a  window.   A
+       window's  background  is  a  chtype  consisting  of  any combination of
+       attributes (i.e., rendition) and a character:
+
+       o   The attribute part of the background is combined (OR'ed)  with  all
+           non-blank characters that are written into the window with waddch.
+
+       o   Both  the  character  and  attribute  parts  of  the background are
+           combined with blank characters that are written into the window.
+
+       The background becomes a property of each character and moves with  the
+       character   through  any  scrolling  and  insert/delete  line/character
+       operations.
 
        To the extent possible on a particular terminal, the attribute part  of
        the  background  is displayed as the graphic rendition of the character
@@ -107,61 +111,66 @@
            current character part of the background, it replaces that with the
            new background character.
 
-       o   The  library  then  checks  if the cell uses color, i.e., its color
-           pair value is nonzero.  If not, it simply replaces  the  attributes
-           and  color  pair  in  the  cell  with those from the new background
+           When bkgdset is used to set the background character, that does not
+           update each cell in the window.  A subsequent  call  to  bkgd  will
+           only  modify  the  character  in  cells  which  match  the  current
+           background character.
+
+       o   The library then checks if the cell uses  color,  i.e.,  its  color
+           pair  value  is nonzero.  If not, it simply replaces the attributes
+           and color pair in the cell  with  those  from  the  new  background
            character.
 
-       o   If the cell uses color, and that matches the color in  the  current
+       o   If  the  cell uses color, and that matches the color in the current
            background, the library removes attributes which may have come from
            the current background and adds attributes from the new background.
-           It  finishes  by  setting  the  cell  to use the color from the new
+           It finishes by setting the cell to  use  the  color  from  the  new
            background.
 
-       o   If the cell uses color, and that does not match the  color  in  the
-           current   background,   the  library  updates  only  the  non-color
-           attributes, first removing those  which  may  have  come  from  the
+       o   If  the  cell  uses color, and that does not match the color in the
+           current  background,  the  library  updates  only   the   non-color
+           attributes,  first  removing  those  which  may  have come from the
            current  background,  and  then  adding  attributes  from  the  new
            background.
 
-       If the background's character value is zero, a space is assumed.
+       If the background's character value is zero (0), a space is assumed.
 
-       If the terminal does not support  color,  or  if  color  has  not  been
-       started   with   start_color,  the  new  background  character's  color
+       If  the  terminal  does  not  support  color,  or if color has not been
+       started  with  start_color,  the  new  background   character's   color
        attribute will be ignored.
 
 
 

getbkgd

-       The getbkgd function returns  the  given  window's  current  background
+       The  getbkgd  function  returns  the  given window's current background
        character/attribute pair.
 
 
 

RETURN VALUE

-       These  functions are described in the XSI Curses standard, Issue 4.  It
-       specifies that bkgd and wbkgd return  ERR  on  failure,  but  gives  no
+       These functions are described in the XSI Curses standard, Issue 4.   It
+       specifies  that  bkgd  and  wbkgd  return  ERR on failure, but gives no
        failure conditions.
 
-       The  routines  bkgd and wbkgd return the integer OK, unless the library
+       The routines bkgd and wbkgd return the integer OK, unless  the  library
        has not been initialized.
 
-       In contrast, the SVr4.0 manual says bkgd and wbkgd may return OK "or  a
-       non-negative  integer  if  immedok  is set", which refers to the return
-       value from wrefresh (used to implement the immediate repainting).   The
-       SVr4  curses  wrefresh  returns the number of characters written to the
+       In  contrast, the SVr4.0 manual says bkgd and wbkgd may return OK "or a
+       non-negative integer if immedok is set", which  refers  to  the  return
+       value  from wrefresh (used to implement the immediate repainting).  The
+       SVr4 curses wrefresh returns the number of characters  written  to  the
        screen during the refresh.  This implementation does not do that.
 
 
 

NOTES

        Note that bkgdset and bkgd may be macros.
 
-       X/Open Curses mentions that the character part of the  background  must
-       be  a  single-byte  value.   This  implementation, like SVr4, checks to
-       ensure that, and will reuse the old background character if  the  check
+       X/Open  Curses  mentions that the character part of the background must
+       be a single-byte value.  This  implementation,  like  SVr4,  checks  to
+       ensure  that,  and will reuse the old background character if the check
        fails.
 
 
 

PORTABILITY

-       These  functions  are  described  in  the  XSI Curses standard, Issue 4
+       These functions are described in  the  XSI  Curses  standard,  Issue  4
        (X/Open Curses).
 
 
diff --git a/doc/html/man/curs_bkgrnd.3x.html b/doc/html/man/curs_bkgrnd.3x.html
index 118c9d17..87b126cb 100644
--- a/doc/html/man/curs_bkgrnd.3x.html
+++ b/doc/html/man/curs_bkgrnd.3x.html
@@ -27,7 +27,7 @@
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_bkgrnd.3x,v 1.15 2022/02/12 20:06:41 tom Exp @
+  * @Id: curs_bkgrnd.3x,v 1.16 2022/06/25 21:57:59 tom Exp @
 -->
 
 
@@ -69,13 +69,17 @@
 

bkgrndset

        The bkgrndset and wbkgrndset routines manipulate the background of  the
        named  window.   The  window  background is a cchar_t consisting of any
-       combination of attributes (i.e., rendition) and  a  complex  character.
-       The  attribute part of the background is combined (OR'ed) with all non-
-       blank characters that are written into the window  with  waddch.   Both
-       the  character  and attribute parts of the background are combined with
-       the blank  characters.   The  background  becomes  a  property  of  the
-       character  and  moves  with  the  character  through  any scrolling and
-       insert/delete line/character operations.
+       combination of attributes (i.e., rendition) and a complex character.
+
+       o   The attribute part of the background is combined (OR'ed)  with  all
+           non-blank characters that are written into the window with waddch.
+
+       o   Both  the  character  and  attribute  parts  of  the background are
+           combined with the blank characters.
+
+       The background becomes a property of the character and moves  with  the
+       character   through  any  scrolling  and  insert/delete  line/character
+       operations.
 
        To the extent possible on a particular terminal, the attribute part  of
        the  background  is displayed as the graphic rendition of the character
diff --git a/doc/html/man/form.3x.html b/doc/html/man/form.3x.html
index 6fb89170..c9a65ad8 100644
--- a/doc/html/man/form.3x.html
+++ b/doc/html/man/form.3x.html
@@ -248,7 +248,7 @@
        curses(3x) and related pages whose names  begin  "form_"  for  detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/infocmp.1m.html b/doc/html/man/infocmp.1m.html
index 3d322d0e..67a354e0 100644
--- a/doc/html/man/infocmp.1m.html
+++ b/doc/html/man/infocmp.1m.html
@@ -514,7 +514,7 @@
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 

AUTHOR

diff --git a/doc/html/man/infotocap.1m.html b/doc/html/man/infotocap.1m.html
index 0024f8d6..3181d2c6 100644
--- a/doc/html/man/infotocap.1m.html
+++ b/doc/html/man/infotocap.1m.html
@@ -91,7 +91,7 @@
 

SEE ALSO

        infocmp(1m), tic(1m), curses(3x), terminfo(5)
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 

AUTHOR

diff --git a/doc/html/man/menu.3x.html b/doc/html/man/menu.3x.html
index 81598976..66855df2 100644
--- a/doc/html/man/menu.3x.html
+++ b/doc/html/man/menu.3x.html
@@ -223,7 +223,7 @@
        curses(3x) and related pages whose names  begin  "menu_"  for  detailed
        descriptions of the entry points.
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/ncurses.3x.html b/doc/html/man/ncurses.3x.html
index 928ad027..f1e52047 100644
--- a/doc/html/man/ncurses.3x.html
+++ b/doc/html/man/ncurses.3x.html
@@ -60,7 +60,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 ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
        The  ncurses  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
diff --git a/doc/html/man/ncurses6-config.1.html b/doc/html/man/ncurses6-config.1.html
index d2407d11..9582a535 100644
--- a/doc/html/man/ncurses6-config.1.html
+++ b/doc/html/man/ncurses6-config.1.html
@@ -113,7 +113,7 @@
 

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/panel.3x.html b/doc/html/man/panel.3x.html
index b6d3b253..4fce2123 100644
--- a/doc/html/man/panel.3x.html
+++ b/doc/html/man/panel.3x.html
@@ -281,7 +281,7 @@
 

SEE ALSO

        curses(3x), curs_variables(3x),
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 

AUTHOR

diff --git a/doc/html/man/tabs.1.html b/doc/html/man/tabs.1.html
index dec151cb..5b59e36c 100644
--- a/doc/html/man/tabs.1.html
+++ b/doc/html/man/tabs.1.html
@@ -252,7 +252,7 @@
 

SEE ALSO

        infocmp(1m), tset(1), curses(3x), terminfo(5).
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/terminfo.5.html b/doc/html/man/terminfo.5.html
index 00ca80b7..2712b464 100644
--- a/doc/html/man/terminfo.5.html
+++ b/doc/html/man/terminfo.5.html
@@ -106,7 +106,7 @@
        have, by specifying how to perform screen operations, and by specifying
        padding requirements and initialization sequences.
 
-       This manual describes ncurses version 6.3 (patch 20220604).
+       This manual describes ncurses version 6.3 (patch 20220625).
 
 
 

Terminfo Entry Syntax

diff --git a/doc/html/man/tic.1m.html b/doc/html/man/tic.1m.html
index 5a280feb..86195515 100644
--- a/doc/html/man/tic.1m.html
+++ b/doc/html/man/tic.1m.html
@@ -461,7 +461,7 @@
        captoinfo(1m),   infocmp(1m),   infotocap(1m),   toe(1m),   curses(3x),
        term(5).  terminfo(5).  user_caps(5).
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 

AUTHOR

diff --git a/doc/html/man/toe.1m.html b/doc/html/man/toe.1m.html
index 0322c017..d50ccabb 100644
--- a/doc/html/man/toe.1m.html
+++ b/doc/html/man/toe.1m.html
@@ -171,7 +171,7 @@
        captoinfo(1m),   infocmp(1m),   infotocap(1m),   tic(1m),   curses(3x),
        terminfo(5).
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/tput.1.html b/doc/html/man/tput.1.html
index 1c527ff9..02d80689 100644
--- a/doc/html/man/tput.1.html
+++ b/doc/html/man/tput.1.html
@@ -545,7 +545,7 @@
 

SEE ALSO

        clear(1), stty(1), tabs(1), tset(1), curs_termcap(3x), terminfo(5).
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html
index ea5991cb..8d685259 100644
--- a/doc/html/man/tset.1.html
+++ b/doc/html/man/tset.1.html
@@ -391,7 +391,7 @@
        csh(1),   sh(1),   stty(1),   curs_terminfo(3x),  tty(4),  terminfo(5),
        ttys(5), environ(7)
 
-       This describes ncurses version 6.3 (patch 20220604).
+       This describes ncurses version 6.3 (patch 20220625).
 
 
 
diff --git a/man/curs_bkgd.3x b/man/curs_bkgd.3x
index 2c3d3d4f..f9199ce0 100644
--- a/man/curs_bkgd.3x
+++ b/man/curs_bkgd.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_bkgd.3x,v 1.34 2022/02/12 20:06:41 tom Exp $
+.\" $Id: curs_bkgd.3x,v 1.35 2022/06/25 21:55:45 tom Exp $
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -52,15 +52,18 @@
 .br
 .SH DESCRIPTION
 .SS bkgdset
-The \fBbkgdset\fP and \fBwbkgdset\fP routines manipulate the
-background of the named window.
-The window background is a \fBchtype\fP consisting of
-any combination of attributes (i.e., rendition) and a character.
+The \fBbkgdset\fP and \fBwbkgdset\fP routines
+set the \fIbackground\fP for a window.
+A window's background is a \fBchtype\fP consisting of
+any combination of attributes (i.e., rendition) and a character:
+.bP
 The attribute part of the background is combined (OR'ed) with all non-blank
 characters that are written into the window with \fBwaddch\fP.
+.bP
 Both the character and attribute parts of the background are combined with
-the blank characters.
-The background becomes a property of the
+blank characters that are written into the window.
+.PP
+The background becomes a property of each
 character and moves with the character through any scrolling and
 insert/delete line/character operations.
 .PP
@@ -94,6 +97,11 @@ For each cell in the window, whether or not it is blank:
 The library first compares the \fIcharacter\fP,
 and if it matches the current character part of the background,
 it replaces that with the new background character.
+.IP
+When \fBbkgdset\fP is used to set the background character,
+that does not update each cell in the window.
+A subsequent call to \fBbkgd\fP will only modify the \fIcharacter\fP in
+cells which match the current background character.
 .bP
 The library then checks if the cell uses color,
 i.e., its color pair value is nonzero.
@@ -114,7 +122,7 @@ the library updates only the non-color attributes,
 first removing those which may have come from the current background,
 and then adding attributes from the new background.
 .PP
-If the background's character value is zero, a space is assumed.
+If the background's character value is zero (0), a space is assumed.
 .PP
 If the terminal does not support color,
 or if color has not been started with \fBstart_color\fP,
diff --git a/man/curs_bkgrnd.3x b/man/curs_bkgrnd.3x
index 974e3584..e64f9941 100644
--- a/man/curs_bkgrnd.3x
+++ b/man/curs_bkgrnd.3x
@@ -27,7 +27,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_bkgrnd.3x,v 1.15 2022/02/12 20:06:41 tom Exp $
+.\" $Id: curs_bkgrnd.3x,v 1.16 2022/06/25 21:57:59 tom Exp $
 .de bP
 .ie n  .IP \(bu 4
 .el    .IP \(bu 2
@@ -63,11 +63,14 @@ The \fBbkgrndset\fP and \fBwbkgrndset\fP routines manipulate the
 background of the named window.
 The window background is a \fBcchar_t\fP consisting of
 any combination of attributes (i.e., rendition) and a complex character.
+.bP
 The attribute part of the background is combined (OR'ed) with all non-blank
 characters that are written into the window with \fBwaddch\fP.
+.bP
 Both
 the character and attribute parts of the background are combined with
 the blank characters.
+.PP
 The background becomes a property of the
 character and moves with the character through any scrolling and
 insert/delete line/character operations.
diff --git a/misc/terminfo.src b/misc/terminfo.src
index 6f0c978a..daece803 100644
--- a/misc/terminfo.src
+++ b/misc/terminfo.src
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #	bug-ncurses@gnu.org
 #
-#	$Revision: 1.1010 $
-#	$Date: 2022/06/18 19:10:35 $
+#	$Revision: 1.1014 $
+#	$Date: 2022/06/25 14:43:14 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -619,9 +619,45 @@ ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
 	s0ds=\E(B, s1ds=\E)B, s2ds=\E*B, s3ds=\E+B, tbc=\E[3g,
 	vpa=\E[%i%p1%dd, use=ecma+index, use=pcansi-m,
 
+# ECMA-48 addresses three of the four capabilities here:
+#
+# u6 -
+#	8.3.14 CPR - ACTIVE POSITION REPORT
+#	Notation: (Pn1;Pn2) Representation: CSI Pn1;Pn2 05/02
+#	Parameter default values: Pn1 = 1; Pn2 = 1
+#
+# u7
+#	8.3.35 DSR - DEVICE ST A TUS REPORT
+#	Notation: (Ps) Representation: CSI Ps 06/14
+#	Parameter default value: Ps = 0
+#	DSR is used either to report the status of the sending device or to
+#	request a status report from the receiving device, depending on the
+#	parameter values:
+#	6 a report of the active presentation position or of the active data
+#	  position in the form of ACTIVE POSITION REPORT (CPR) is requested
+#
+# u9 -
+#	8.3.24 DA - DEVICE ATTRIBUTES
+#	Notation: (Ps) Representation: CSI Ps 06/03
+#	Parameter default value: Ps = 0
+#	With a parameter value not equal to 0, DA is used to identify the
+#	device which sends the DA.  The parameter value is a device type
+#	identification code according to a register which is to be established. 
+#	If the parameter value is 0, DA is used to request an identifying DA
+#	from a device.
+#
+# DEC (and most "ANSI") terminals reply with a private-mode ("?") sequence,
+# but that register "which is to be" in ECMA-48 was never established.
+# For terminals that support DA1, a more specific u8 capability is preferred,
+# except for those (such as xterm) which can be configured to return different
+# responses.
+ansi+cpr|ncurses extension for ANSI CPR,
+	u6=\E[%i%d;%dR, u7=\E[6n,
 ansi+enq|ncurses extension for ANSI ENQ,
-	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?%[;0123456789]c,
-	u9=\E[c,
+	u8=\E[?%[;0123456789]c, u9=\E[c, use=ansi+cpr,
+# DEC terminals provided DECID, subsumed into DA1:
+decid+cpr|ncurses extension for DECID,
+	u8=\E[?%[;0123456789]c, u9=\EZ, use=ansi+cpr,
 
 # ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
 # standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
@@ -661,8 +697,8 @@ ansi.sys-old|ANSI.SYS under PC-DOS 2.0,
 	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[k, home=\E[H,
 	is2=\E[m\E[?7h, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
 	khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p, rc=\E[u,
-	rmam=\E[?7l, sc=\E[s, smam=\E[?7h, u6=\E[%i%d;%dR,
-	u7=\E[6n, use=klone+color, use=klone+sgr8,
+	rmam=\E[?7l, sc=\E[s, smam=\E[?7h, use=ansi+cpr,
+	use=klone+color, use=klone+sgr8,
 
 # Keypad:	Home=\0G	Up=\0H	PrPag=\0I
 #		ka1,kh		kcuu1		kpp,ka3
@@ -983,7 +1019,7 @@ linux-basic|Linux console (basic),
 	use=klone+sgr, use=ecma+color, use=linux+sfkeys,
 
 linux+decid|ncurses extension for Linux console DECID,
-	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\EZ,
+	u8=\E[?6c, use=decid+cpr,
 
 linux+sfkeys|shifted function-keys for Linux console,
 	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
@@ -1169,9 +1205,8 @@ kon|kon2|Kanji ON Linux console,
 	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
 	    %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
 	sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smpch=\E[11m,
-	smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[?T,
-	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?6c, u9=\E[c,
-	vpa=\E[%i%p1%dd,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[?T, u8=\E[?6c,
+	vpa=\E[%i%p1%dd, use=ansi+enq,
 
 # release: 0.4.7 2005/05
 #
@@ -1736,7 +1771,7 @@ pccon+base|base capabilities for OpenBSD PC console,
 	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
 	il=\E[%p1%dL, il1=\E[L, ind=\ED, nel=\EE, rc=\E8, ri=\EM,
 	rmam=\E[?7l, rmul=\E[24m, rs2=\Ec, sc=\E7, smam=\E[?7h,
-	smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+	smul=\E[4m, tbc=\E[3g, use=ansi+cpr,
 pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
 	use=pccon+sgr+acs0, use=pccon+base, use=pccon+keys,
 pccon0|OpenBSD PC console with simple ASCII pseudographics,
@@ -5545,8 +5580,8 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
 	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
 	smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=,
 	smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR,
-	u7=\E[6n, u8=\233[?%[;0123456789]c, u9=\E[c,
-	vpa=\233%i%p1%dd, use=xterm+kbs,
+	u8=\233[?%[;0123456789]c, vpa=\233%i%p1%dd,
+	use=ansi+enq, use=xterm+kbs,
 
 # Note: normally xterm supports modified function-keys as described in
 #	XTerm - "Other" modified keys
@@ -5701,7 +5736,7 @@ xterm+sl-alt|alternate access X title line,
 #
 dec+sl|DEC VTxx status line,
 	eslok, hs,
-	dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+	dsl=\E[0$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
 
 #
 # The following xterm variants don't depend on your base version
@@ -6589,10 +6624,9 @@ mlterm2|multi lingual terminal emulator 2.x,
 	    \E(B%;,
 	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
 	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
-	u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
-	vpa=\E[%i%p1%dd, use=vt220+vtedit, use=xterm+alt1049,
-	use=ecma+index, use=mlterm+pcfkeys, use=vt220+cvis,
-	use=xterm+r6f2,
+	u8=\E[?1;2c, vpa=\E[%i%p1%dd, use=ansi+enq,
+	use=vt220+vtedit, use=xterm+alt1049, use=ecma+index,
+	use=mlterm+pcfkeys, use=vt220+cvis, use=xterm+r6f2,
 
 # The insert/delete/home/end keys do not respond to modifiers because mlterm
 # looks in its termcap to decide which string to send.  If it used terminfo
@@ -7169,9 +7203,9 @@ decansi|ANSI emulation with DEC compatibility hacks,
 	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
 	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
 	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
-	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR,
-	u7=\E[6n, vpa=\E[%i%p1%dd, use=vt220+vtedit,
-	use=ecma+index, use=vt220+cvis,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+	use=ansi+cpr, use=vt220+vtedit, use=ecma+index,
+	use=vt220+cvis,
 
 #### VWM
 # http://vwm.sourceforge.net/
@@ -7363,11 +7397,11 @@ st-0.6|simpleterm 0.6,
 	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
 	    %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
 	sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smkx=\E[?1h\E=,
-	smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR,
-	u7=\E[6n, u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, Se=\E[2 q,
-	Ss=\E[%p1%d q, use=vt220+pcedit, use=ecma+index,
-	use=xterm+alt1049, use=vt220+cvis, use=xterm+sl,
-	use=ecma+italics, use=ecma+strikeout,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, u8=\E[?1;2c,
+	vpa=\E[%i%p1%dd, Se=\E[2 q, Ss=\E[%p1%d q, use=ansi+enq,
+	use=vt220+pcedit, use=ecma+index, use=xterm+alt1049,
+	use=vt220+cvis, use=xterm+sl, use=ecma+italics,
+	use=ecma+strikeout,
 #
 # st-0.1.1
 #
@@ -8039,7 +8073,7 @@ eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
 	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?
 	    %p7%t;8%;m,
 	sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
-	u6=\E[%i%d;%dR, u7=\E[6n, use=vt220+pcedit,
+	use=ansi+cpr, use=vt220+pcedit,
 
 # shell.el can "do" color, though not nearly as well.
 #
@@ -9434,8 +9468,7 @@ uwin|U/Win 3.2 console,
 	rmso=\E[27m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
 	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
 	smacs=\E[11m, smir=\E[4h, smpch=\E[11m, smso=\E[7m,
-	smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
-	use=vt220+cvis,
+	smul=\E[4m, tbc=\E[3g, use=ansi+cpr, use=vt220+cvis,
 
 #### Microsoft (miscellaneous)
 
@@ -15727,8 +15760,8 @@ cit101e-rv|C. Itoh CIT-101e (sets reverse video),
 	rev=\E[7m, ri=\EM, rmcup=, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
 	rs1=\Ec\E[?7h\E[>5g, sc=\E7, sgr0=\E[m,
 	smcup=\E[>5g\E[?7h\E[?5h, smir=\E[4h, smso=\E[7m,
-	smul=\E[4m, tbc=\E[3g, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n,
-	u8=\E[?6c, u9=\E[c, use=ecma+index,
+	smul=\E[4m, tbc=\E[3g, u6=\E[%i%p1%d;%p2%dR, u8=\E[?6c,
+	use=ansi+enq, use=ecma+index,
 cit101e-n|CIT-101e w/o am,
 	am@,
 	cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=\n,
@@ -16714,8 +16747,8 @@ dg460-ansi|Data General Dasher 460 in ANSI-mode,
 	rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
 	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;
 	    %?%p1%p3%|%t;7%;m,
-	sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u6=\E[%d;%dR,
-	u7=\E[6n, u8=\E[5n, u9=\E[0n,
+	sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u8=\E[5n, u9=\E[0n,
+	use=ansi+cpr,
 # From: Wayne Throop  (not official)
 # Data General 605x
 # Ought to work for a Model 6242, Type D210 as well as a 605x.
@@ -21426,7 +21459,7 @@ m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'infor
 	rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
 	rs1=\Ec\E[?4l\E[12h, rs2=\Ec\E)0, sc=\E7, sgr0=\E[m,
 	smacs=^N, smir=\E[4h, smso=\E[7m, smul=\E[4m, tsl=^_@A,
-	u6=\E[%i%d;%dR, u7=\E[6n,
+	use=ansi+cpr,
 
 # From: Alexandre Montaron , 18 Jun 1998, updated 19 Sep 2016
 #
@@ -21640,7 +21673,7 @@ screen.minitel1|Screen specific for minitel1,
 	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
 	     yzz||}}~~,
 	bel=\007\E\^ \E\\, bold@, csr@, flash=\Eg\E\^ \E\\, kmous@,
-	rmul@, smul@, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\EZ,
+	rmul@, smul@, u8=\E[?1;2c, use=decid+cpr,
 	use=xterm+x11mouse, use=screen4,
 
 screen.minitel1b|Screen specific for minitel1b,
@@ -21768,7 +21801,7 @@ screen.linux-m1|Linux m1 specific for screen,
 	dim=\E[2m, kbs=^?, kclr=\E\r, kdl1=\E\E[A, kf13=\E[25~,
 	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
 	kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kil1=\E\E[B, rmul@,
-	smul@, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\EZ,
+	smul@, u8=\E[?1;2c,
 	E3=\E[99H\E[2J\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
@@ -21777,7 +21810,7 @@ screen.linux-m1|Linux m1 specific for screen,
 	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
 	   \n\n\n\n\n\n\n\n\n\n,
-	use=xterm+x11mouse, use=screen4,
+	use=decid+cpr, use=xterm+x11mouse, use=screen4,
 
 screen.linux-m1b|Linux m1b specific for screen,
 	colors@, pairs@,
@@ -27605,4 +27638,8 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #	+ amended note for att610+cvis0, as per documentation for att610,
 #	  att620, att730 -TD
 #
+# 2022-06-25
+#	+ correct dsl in dec+sl (report by Rajeev Pillai) -TD
+#	+ add/use ansi+cpr, decid+cpr -TD
+#
 ######## SHANTIH!  SHANTIH!  SHANTIH!
diff --git a/package/debian-mingw/changelog b/package/debian-mingw/changelog
index efb870e2..9db1cc1b 100644
--- a/package/debian-mingw/changelog
+++ b/package/debian-mingw/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220618) unstable; urgency=low
+ncurses6 (6.3+20220625) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 18 Jun 2022 06:26:27 -0400
+ -- Thomas E. Dickey   Sat, 25 Jun 2022 06:58:36 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
diff --git a/package/debian-mingw64/changelog b/package/debian-mingw64/changelog
index efb870e2..9db1cc1b 100644
--- a/package/debian-mingw64/changelog
+++ b/package/debian-mingw64/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220618) unstable; urgency=low
+ncurses6 (6.3+20220625) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 18 Jun 2022 06:26:27 -0400
+ -- Thomas E. Dickey   Sat, 25 Jun 2022 06:58:36 -0400
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
diff --git a/package/debian/changelog b/package/debian/changelog
index a95b22a0..e5a7d9a6 100644
--- a/package/debian/changelog
+++ b/package/debian/changelog
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220618) unstable; urgency=low
+ncurses6 (6.3+20220625) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 18 Jun 2022 06:26:27 -0400
+ -- Thomas E. Dickey   Sat, 25 Jun 2022 06:58:36 -0400
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
diff --git a/package/mingw-ncurses.nsi b/package/mingw-ncurses.nsi
index 896f5112..fe252ba5 100644
--- a/package/mingw-ncurses.nsi
+++ b/package/mingw-ncurses.nsi
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.527 2022/06/18 10:26:27 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.528 2022/06/25 10:58:36 tom Exp $
 
 ; TODO add examples
 ; TODO bump ABI to 6
@@ -10,7 +10,7 @@
 !define VERSION_MAJOR "6"
 !define VERSION_MINOR "3"
 !define VERSION_YYYY  "2022"
-!define VERSION_MMDD  "0618"
+!define VERSION_MMDD  "0625"
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
 
 !define MY_ABI   "5"
diff --git a/package/mingw-ncurses.spec b/package/mingw-ncurses.spec
index 9bbea1d2..037f2c44 100644
--- a/package/mingw-ncurses.spec
+++ b/package/mingw-ncurses.spec
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.3
-Release: 20220618
+Release: 20220625
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/package/ncurses.spec b/package/ncurses.spec
index 212cbc80..68b5e52b 100644
--- a/package/ncurses.spec
+++ b/package/ncurses.spec
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.3
-Release: 20220618
+Release: 20220625
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
diff --git a/package/ncursest.spec b/package/ncursest.spec
index cecc9ed2..2fe689be 100644
--- a/package/ncursest.spec
+++ b/package/ncursest.spec
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.3
-Release: 20220618
+Release: 20220625
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz