# ncurses 6.3 - patch 20220219 - Thomas E. Dickey # # ------------------------------------------------------------------------------ # # Ncurses 6.3 is at # ftp://ftp.invisible-island.net/ncurses/ # https://invisible-mirror.net/archives/ncurses/ # https://ftp.gnu.org/gnu/ncurses/ # # Patches for ncurses 6.3 can be found at # ftp://ftp.invisible-island.net/ncurses/6.3 # https://invisible-mirror.net/archives/ncurses/6.3 # # ------------------------------------------------------------------------------ # ftp://ftp.invisible-island.net/ncurses/6.3/ncurses-6.3-20220219.patch.gz # patch by Thomas E. Dickey # created Sun Feb 20 02:01:54 UTC 2022 # ------------------------------------------------------------------------------ # NEWS | 6 ++ # VERSION | 2 # dist.mk | 4 - # doc/html/man/adacurses6-config.1.html | 2 # doc/html/man/captoinfo.1m.html | 2 # doc/html/man/clear.1.html | 2 # doc/html/man/form.3x.html | 2 # doc/html/man/infocmp.1m.html | 2 # doc/html/man/infotocap.1m.html | 2 # doc/html/man/menu.3x.html | 2 # doc/html/man/ncurses.3x.html | 2 # doc/html/man/ncurses6-config.1.html | 2 # doc/html/man/panel.3x.html | 2 # doc/html/man/resizeterm.3x.html | 71 +++++++++++++++++++++++--------- # doc/html/man/tabs.1.html | 2 # doc/html/man/terminfo.5.html | 2 # doc/html/man/tic.1m.html | 2 # doc/html/man/toe.1m.html | 2 # doc/html/man/tput.1.html | 2 # doc/html/man/tset.1.html | 2 # man/manhtml.aliases | 5 +- # man/resizeterm.3x | 60 ++++++++++++++++++++++----- # 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 # test/picsmap.c | 32 +++++++++----- # 30 files changed, 159 insertions(+), 75 deletions(-) # ------------------------------------------------------------------------------ Index: NEWS Prereq: 1.3778 --- ncurses-6.3-20220212+/NEWS 2022-02-12 20:15:29.000000000 +0000 +++ ncurses-6.3-20220219/NEWS 2022-02-20 00:40:32.000000000 +0000 @@ -26,7 +26,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.3778 2022/02/12 20:15:29 tom Exp $ +-- $Id: NEWS,v 1.3780 2022/02/20 00:40:32 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -46,6 +46,10 @@ Changes through 1.9.9e did not credit all contributions; it is not possible to add this information. +20220219 + + expanded description in man/resizeterm.3x + + additional workaround for ImageMagick in test/picsmap.c + 20220212 + improve font-formatting in other manpages, for consistency. + correct/improve font-formatting in curs_wgetch.3x (patch by Benno Index: VERSION --- ncurses-6.3-20220212+/VERSION 2022-02-12 15:31:08.000000000 +0000 +++ ncurses-6.3-20220219/VERSION 2022-02-19 12:13:47.000000000 +0000 @@ -1 +1 @@ -5:0:10 6.3 20220212 +5:0:10 6.3 20220219 Index: dist.mk Prereq: 1.1466 --- ncurses-6.3-20220212+/dist.mk 2022-02-12 15:31:08.000000000 +0000 +++ ncurses-6.3-20220219/dist.mk 2022-02-19 12:13:47.000000000 +0000 @@ -26,7 +26,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.1466 2022/02/12 15:31:08 tom Exp $ +# $Id: dist.mk,v 1.1467 2022/02/19 12:13:47 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 = 3 -NCURSES_PATCH = 20220212 +NCURSES_PATCH = 20220219 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) Index: doc/html/man/adacurses6-config.1.html --- ncurses-6.3-20220212+/doc/html/man/adacurses6-config.1.html 2022-02-12 19:58:31.000000000 +0000 +++ ncurses-6.3-20220219/doc/html/man/adacurses6-config.1.html 2022-02-20 00:42:56.000000000 +0000 @@ -126,7 +126,7 @@

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/captoinfo.1m.html
--- ncurses-6.3-20220212+/doc/html/man/captoinfo.1m.html	2022-02-12 20:17:47.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/captoinfo.1m.html	2022-02-20 00:42:56.000000000 +0000
@@ -199,7 +199,7 @@
 

SEE ALSO

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

AUTHOR

Index: doc/html/man/clear.1.html
--- ncurses-6.3-20220212+/doc/html/man/clear.1.html	2022-02-12 20:17:47.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/clear.1.html	2022-02-20 00:42:56.000000000 +0000
@@ -150,7 +150,7 @@
 

SEE ALSO

        tput(1), terminfo(5), xterm(1).
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/form.3x.html
--- ncurses-6.3-20220212+/doc/html/man/form.3x.html	2022-02-12 19:58:34.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/form.3x.html	2022-02-20 00:42:59.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/infocmp.1m.html
--- ncurses-6.3-20220212+/doc/html/man/infocmp.1m.html	2022-02-12 20:17:51.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/infocmp.1m.html	2022-02-20 00:43:00.000000000 +0000
@@ -514,7 +514,7 @@
 
        https://invisible-island.net/ncurses/tctest.html
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 

AUTHOR

Index: doc/html/man/infotocap.1m.html
--- ncurses-6.3-20220212+/doc/html/man/infotocap.1m.html	2022-02-12 20:17:51.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/infotocap.1m.html	2022-02-20 00:43:00.000000000 +0000
@@ -91,7 +91,7 @@
 

SEE ALSO

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

AUTHOR

Index: doc/html/man/menu.3x.html
--- ncurses-6.3-20220212+/doc/html/man/menu.3x.html	2022-02-12 19:58:35.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/menu.3x.html	2022-02-20 00:43:00.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/ncurses.3x.html
--- ncurses-6.3-20220212+/doc/html/man/ncurses.3x.html	2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/ncurses.3x.html	2022-02-20 00:43:01.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
        The  ncurses  library emulates the curses library of System V Release 4
        UNIX, and XPG4 (X/Open Portability Guide) curses  (also  known  as  XSI
Index: doc/html/man/ncurses6-config.1.html
--- ncurses-6.3-20220212+/doc/html/man/ncurses6-config.1.html	2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/ncurses6-config.1.html	2022-02-20 00:43:01.000000000 +0000
@@ -113,7 +113,7 @@
 

SEE ALSO

        curses(3x)
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/panel.3x.html
--- ncurses-6.3-20220212+/doc/html/man/panel.3x.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/panel.3x.html	2022-02-20 00:43:01.000000000 +0000
@@ -281,7 +281,7 @@
 

SEE ALSO

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

AUTHOR

Index: doc/html/man/resizeterm.3x.html
--- ncurses-6.3-20220212+/doc/html/man/resizeterm.3x.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/resizeterm.3x.html	2022-02-20 00:43:01.000000000 +0000
@@ -28,7 +28,7 @@
   * authorization.                                                           *
   ****************************************************************************
   * Author: Thomas E. Dickey 1996-on
-  * @Id: resizeterm.3x,v 1.31 2022/02/12 20:07:29 tom Exp @
+  * @Id: resizeterm.3x,v 1.32 2022/02/20 00:32:18 tom Exp @
 -->
 
 
@@ -63,28 +63,60 @@
 

DESCRIPTION

        This is an extension to the curses library.  It provides callers with a
        hook  into  the  ncurses  data  to resize windows, primarily for use by
-       programs running in an X Window terminal (e.g., xterm).
+       programs running in  an  X  Window  terminal  (e.g.,  xterm)  when  the
+       terminal's screen size is changed by the user:
 
+       o   Curses  windows  cannot extend outside the screen.  If the terminal
+           is shrunk, curses windows must be shrunk to fit.
+
+       o   If the terminal is stretched, rows and/or columns can be  added  to
+           existing  windows.   The  added  cells  should  match  the  current
+           attributes of the windows.
+
+       If the calling program has not set up a handler for  SIGWINCH  when  it
+       initializes  ncurses  (e.g.,  using  initscr(3x)  or newterm(3x)), then
+       ncurses sets a handler for SIGWINCH which notifies the library  when  a
+       window-size   event   has   occurred.   The  library  checks  for  this
+       notification
+
+       o   when reading input data,
+
+       o   when implicitly resuming program mode (e.g., between endwin(3x) and
+           wrefresh(3x)), and
+
+       o   when explicitly resuming program mode in restartterm(3x).
+
+       When the library has found that the terminal's window-size has changed,
+       it calls resizeterm to update its data structures.
+
+       An application which establishes its  own  SIGWINCH  handler  can  call
+       resizeterm,  but  in  that case, the library will not see SIGWINCH, and
+       proper layout will rely upon the application.
+
+
+

FUNCTIONS

 
 

resizeterm

-       The function resizeterm resizes the standard and current windows to the
-       specified  dimensions,  and  adjusts other bookkeeping data used by the
-       ncurses library that record the window dimensions such as the LINES and
-       COLS variables.
+       The function resizeterm resizes the standard and current windows (i.e.,
+       stdscr  and  curscr)  to  the  specified  dimensions, and adjusts other
+       bookkeeping data used by the ncurses library  that  record  the  window
+       dimensions such as the LINES and COLS variables.
 
 
 

resize_term

-       Most  of the work is done by the inner function resize_term.  The outer
-       function resizeterm adds bookkeeping for the SIGWINCH handler, as  well
-       as repainting the soft-key area (see slk_touch(3x)).
-
-       When  resizing  the windows, resize_term blank-fills the areas that are
-       extended.  The calling application should  fill  in  these  areas  with
-       appropriate data.
-
-       The  resize_term function attempts to resize all windows.  However, due
-       to the calling convention of pads, it is not possible to  resize  these
-       without additional interaction with the application.
+       Most  of  the  work  for  resizeterm  is  done  by  the  inner function
+       resize_term.  The outer function resizeterm adds  bookkeeping  for  the
+       SIGWINCH  handler,  as  well  as  repainting  the  soft-key  area  (see
+       slk_touch(3x)).
+
+       The resize_term function attempts to resize all  windows.   This  helps
+       with simple applications.  However:
+
+       o   It is not possible to automatically resize pads.
+
+       o   Applications  which  have  complicated  layouts  should  check  for
+           KEY_RESIZE returned from wgetch, and  adjust  their  layout,  e.g.,
+           using wresize and mvwin, or by recreating the windows.
 
        When  resizing  windows,  resize_term  recursively  adjusts subwindows,
        keeping them within the updated parent window's limits.  If a top-level
@@ -116,7 +148,7 @@
 
        o   on receipt of a SIGWINCH, the handler sets a flag
 
-       o   which is tested in wgetch(3x) and doupdate,
+       o   which is tested in wgetch(3x), doupdate(3x) and restartterm(3x),
 
        o   in turn, calling the resizeterm function,
 
@@ -166,7 +198,8 @@
 

SEE ALSO

        infocmp(1m), tset(1), curses(3x), terminfo(5).
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/terminfo.5.html
--- ncurses-6.3-20220212+/doc/html/man/terminfo.5.html	2022-02-12 19:58:36.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/terminfo.5.html	2022-02-20 00:43:02.000000000 +0000
@@ -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 20220212).
+       This manual describes ncurses version 6.3 (patch 20220219).
 
 
 

Terminfo Entry Syntax

Index: doc/html/man/tic.1m.html
--- ncurses-6.3-20220212+/doc/html/man/tic.1m.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tic.1m.html	2022-02-20 00:43:02.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 

AUTHOR

Index: doc/html/man/toe.1m.html
--- ncurses-6.3-20220212+/doc/html/man/toe.1m.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/toe.1m.html	2022-02-20 00:43:02.000000000 +0000
@@ -171,7 +171,7 @@
        captoinfo(1m),   infocmp(1m),   infotocap(1m),   tic(1m),   curses(3x),
        terminfo(5).
 
-       This describes ncurses version 6.3 (patch 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/tput.1.html
--- ncurses-6.3-20220212+/doc/html/man/tput.1.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tput.1.html	2022-02-20 00:43:02.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: doc/html/man/tset.1.html
--- ncurses-6.3-20220212+/doc/html/man/tset.1.html	2022-02-12 20:17:52.000000000 +0000
+++ ncurses-6.3-20220219/doc/html/man/tset.1.html	2022-02-20 00:43:02.000000000 +0000
@@ -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 20220212).
+       This describes ncurses version 6.3 (patch 20220219).
 
 
 
Index: man/manhtml.aliases
Prereq:  1.19 
--- ncurses-6.3-20220212+/man/manhtml.aliases	2020-12-12 14:45:55.000000000 +0000
+++ ncurses-6.3-20220219/man/manhtml.aliases	2022-02-20 00:39:41.000000000 +0000
@@ -1,6 +1,6 @@
-# $Id: manhtml.aliases,v 1.19 2020/12/12 14:45:55 tom Exp $
+# $Id: manhtml.aliases,v 1.20 2022/02/20 00:39:41 tom Exp $
 #***************************************************************************
-# Copyright 2019,2020 Thomas E. Dickey                                     *
+# Copyright 2019-2020,2022 Thomas E. Dickey                                *
 # Copyright 2013,2017 Free Software Foundation, Inc.                       *
 #                                                                          *
 # Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -50,6 +50,7 @@
 newterm(3X)		curs_initscr(3X)
 refresh(3X)		curs_refresh(3X)
 reset_shell_mode(3X)	curs_kernel(3X)
+restartterm(3X)		curs_terminfo(3X)
 set_term(3X)		curs_initscr(3X)
 setcchar(3X)		curs_getcchar(3X)
 setupterm(3X)		curs_terminfo(3X)
Index: man/resizeterm.3x
Prereq:  1.31 
--- ncurses-6.3-20220212+/man/resizeterm.3x	2022-02-12 20:07:29.000000000 +0000
+++ ncurses-6.3-20220219/man/resizeterm.3x	2022-02-20 00:32:18.000000000 +0000
@@ -29,7 +29,7 @@
 .\"
 .\" Author: Thomas E. Dickey 1996-on
 .\"
-.\" $Id: resizeterm.3x,v 1.31 2022/02/12 20:07:29 tom Exp $
+.\" $Id: resizeterm.3x,v 1.32 2022/02/20 00:32:18 tom Exp $
 .TH resizeterm 3X ""
 .de bP
 .ie n  .IP \(bu 4
@@ -51,28 +51,63 @@
 .PP
 This is an extension to the curses library.
 It provides callers with a hook into the \fBncurses\fP data to resize windows,
-primarily for use by programs running in an X Window terminal (e.g., xterm).
+primarily for use by programs running in an X Window terminal (e.g., xterm)
+when the terminal's screen size is changed by the user:
+.bP
+Curses windows cannot extend outside the screen.
+If the terminal is shrunk, curses windows must be shrunk to fit.
+.bP
+If the terminal is stretched,
+rows and/or columns can be added to existing windows.
+The added cells should match the current attributes of the windows.
+.PP
+If the calling program has not set up a handler for \fBSIGWINCH\fP
+when it initializes \fBncurses\fP
+(e.g., using \fBinitscr\fP(3X) or \fBnewterm\fP(3X)),
+then \fBncurses\fP sets a handler for \fBSIGWINCH\fP which notifies
+the library when a window-size event has occurred.
+The library checks for this notification
+.bP
+when reading input data,
+.bP
+when implicitly resuming program mode
+(e.g., between \fBendwin\fP(3X) and \fBwrefresh\fP(3X)),
+and
+.bP
+when explicitly resuming program mode in \fBrestartterm\fP(3X).
+.PP
+When the library has found that the terminal's window-size has
+changed, it calls \fBresizeterm\fP to update its data structures.
+.PP
+An application which establishes its own \fBSIGWINCH\fP handler
+can call \fBresizeterm\fP, but in that case, the library will not
+see \fBSIGWINCH\fP, and proper layout will rely upon the application.
+.SH FUNCTIONS
 .SS resizeterm
 .PP
 The function \fBresizeterm\fP resizes the standard and current windows
+(i.e., \fBstdscr\fP and \fBcurscr\fP)
 to the specified dimensions, and adjusts other bookkeeping data used by
 the \fBncurses\fP library that record the window dimensions
 such as the \fBLINES\fP and \fBCOLS\fP variables.
 .SS resize_term
 .PP
-Most of the work is done by the inner function \fBresize_term\fP.
+Most of the work for \fBresizeterm\fP is
+done by the inner function \fBresize_term\fP.
 The outer function \fBresizeterm\fP adds bookkeeping
 for the \fBSIGWINCH\fP handler,
 as well as repainting the soft-key area (see \fBslk_touch\fP(3X)).
 .PP
-When resizing the windows,
-\fBresize_term\fP blank-fills the areas that are extended.
-The calling application should fill in these areas with appropriate data.
-.PP
 The \fBresize_term\fP function attempts to resize all windows.
-However, due to the calling convention of pads,
-it is not possible to resize these
-without additional interaction with the application.
+This helps with simple applications.
+However:
+.bP
+It is not possible to automatically resize pads.
+.bP
+Applications which have complicated layouts should check for
+\fBKEY_RESIZE\fP returned from \fBwgetch\fP,
+and adjust their layout, e.g., using \fBwresize\fP and \fBmvwin\fP,
+or by recreating the windows.
 .PP
 When resizing windows, \fBresize_term\fP recursively adjusts subwindows,
 keeping them within the updated parent window's limits.
@@ -101,7 +136,10 @@
 .bP
 on receipt of a \fBSIGWINCH\fP, the handler sets a flag
 .bP
-which is tested in \fBwgetch\fP(3X) and \fBdoupdate\fP,
+which is tested in
+\fBwgetch\fP(3X),
+\fBdoupdate\fP(3X) and
+\fBrestartterm\fP(3X),
 .bP
 in turn, calling the \fBresizeterm\fP function,
 .bP
Index: package/debian-mingw/changelog
--- ncurses-6.3-20220212+/package/debian-mingw/changelog	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian-mingw/changelog	2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey   Sat, 19 Feb 2022 07:13:47 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
Index: package/debian-mingw64/changelog
--- ncurses-6.3-20220212+/package/debian-mingw64/changelog	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian-mingw64/changelog	2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey   Sat, 19 Feb 2022 07:13:47 -0500
 
 ncurses6 (5.9-20131005) unstable; urgency=low
 
Index: package/debian/changelog
--- ncurses-6.3-20220212+/package/debian/changelog	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/debian/changelog	2022-02-19 12:13:47.000000000 +0000
@@ -1,8 +1,8 @@
-ncurses6 (6.3+20220212) unstable; urgency=low
+ncurses6 (6.3+20220219) unstable; urgency=low
 
   * latest weekly patch
 
- -- Thomas E. Dickey   Sat, 12 Feb 2022 10:31:08 -0500
+ -- Thomas E. Dickey   Sat, 19 Feb 2022 07:13:47 -0500
 
 ncurses6 (5.9-20120608) unstable; urgency=low
 
Index: package/mingw-ncurses.nsi
Prereq:  1.506 
--- ncurses-6.3-20220212+/package/mingw-ncurses.nsi	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/mingw-ncurses.nsi	2022-02-19 12:13:47.000000000 +0000
@@ -1,4 +1,4 @@
-; $Id: mingw-ncurses.nsi,v 1.506 2022/02/12 15:31:08 tom Exp $
+; $Id: mingw-ncurses.nsi,v 1.507 2022/02/19 12:13:47 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  "0212"
+!define VERSION_MMDD  "0219"
 !define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
 
 !define MY_ABI   "5"
Index: package/mingw-ncurses.spec
--- ncurses-6.3-20220212+/package/mingw-ncurses.spec	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/mingw-ncurses.spec	2022-02-19 12:13:47.000000000 +0000
@@ -3,7 +3,7 @@
 Summary: shared libraries for terminal handling
 Name: mingw32-ncurses6
 Version: 6.3
-Release: 20220212
+Release: 20220219
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
Index: package/ncurses.spec
--- ncurses-6.3-20220212+/package/ncurses.spec	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/ncurses.spec	2022-02-19 12:13:47.000000000 +0000
@@ -1,7 +1,7 @@
 Summary: shared libraries for terminal handling
 Name: ncurses6
 Version: 6.3
-Release: 20220212
+Release: 20220219
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
Index: package/ncursest.spec
--- ncurses-6.3-20220212+/package/ncursest.spec	2022-02-12 15:31:08.000000000 +0000
+++ ncurses-6.3-20220219/package/ncursest.spec	2022-02-19 12:13:47.000000000 +0000
@@ -1,7 +1,7 @@
 Summary: Curses library with POSIX thread support.
 Name: ncursest6
 Version: 6.3
-Release: 20220212
+Release: 20220219
 License: X11
 Group: Development/Libraries
 Source: ncurses-%{version}-%{release}.tgz
Index: test/picsmap.c
Prereq:  1.142 
--- ncurses-6.3-20220212+/test/picsmap.c	2022-02-06 01:44:34.000000000 +0000
+++ ncurses-6.3-20220219/test/picsmap.c	2022-02-19 21:30:04.000000000 +0000
@@ -27,7 +27,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: picsmap.c,v 1.142 2022/02/06 01:44:34 tom Exp $
+ * $Id: picsmap.c,v 1.144 2022/02/19 21:30:04 tom Exp $
  *
  * Author: Thomas E. Dickey
  *
@@ -1383,7 +1383,6 @@
 		char *t;
 		char *s = t = strchr(buffer, '#');
 		bool matched = FALSE;
-		bool blurred = FALSE;
 
 		if (s != 0) {
 		    /* after the "#RGB", there are differences - just ignore */
@@ -1391,6 +1390,7 @@
 			++s;
 		    *++s = '\0';
 		}
+
 		if (match_c(buffer,
 			    "%d,%d: (%d,%d,%d,%d) #%x ",
 			    &col, &row,
@@ -1401,25 +1401,33 @@
 				   "%d,%d: (%f%%,%f%%,%f%%,%d) #%x ",
 				   &col, &row,
 				   &rf, &gf, &bf, &nocolor,
+				   &check) ||
+			   match_c(buffer,
+				   "%d,%d: (%f%%,%f%%,%f%%) #%x ",
+				   &col, &row,
+				   &rf, &gf, &bf,
 				   &check)) {
 		    matched = TRUE;
-		    blurred = TRUE;	/* 6.9.11 scaling is broken... */
+
 #define fp_fix(n) (int) (MaxRGB * (((n) > 100.0 ? 100.0 : (n)) / 100.0))
+
 		    r = fp_fix(rf);
 		    g = fp_fix(gf);
 		    b = fp_fix(bf);
 		}
+		if ((s - t) > 8)	/* 6 hex digits vs 8 */
+		    check /= 256;
 		if (matched) {
 		    int which, c;
-
-		    if ((s - t) > 8)	/* 6 hex digits vs 8 */
-			check /= 256;
-		    if (blurred) {
-			/* revisit this when ImageMagick is fixed */
-		    } else if (r > MaxRGB ||
-			       g > MaxRGB ||
-			       b > MaxRGB ||
-			       check != (unsigned) ((r << 16) | (g << 8) | b)) {
+		    int want_r = (check >> 16) & 0xff;
+		    int want_g = (check >> 8) & 0xff;
+		    int want_b = (check >> 0) & 0xff;
+
+#define fp_err(tst,ref) ((tst > MaxRGB) || ((tst - ref)*(tst - ref)) > 4)
+
+		    if (fp_err(r, want_r) ||
+			fp_err(g, want_g) ||
+			fp_err(b, want_b)) {
 			okay = FALSE;
 			break;
 		    }