-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4107 2024/04/14 00:19:51 tom Exp $
+-- $Id: NEWS,v 1.4109 2024/04/14 09:43:45 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20240414
+ + build/bug-fix for check-size feature (reports by Sam James, Gabriele
+ Balducci).
+
20240413
+ improve formatting/style of manpages (patches by Branden Robinson).
+ provide for padding in check-size feature, using new_prescr() to
-5:0:10 6.4 20240413
+5:0:10 6.4 20240414
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1606 2024/04/13 11:28:20 tom Exp $
+# $Id: dist.mk,v 1.1607 2024/04/14 08:48:20 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 4
-NCURSES_PATCH = 20240413
+NCURSES_PATCH = 20240414
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.235 2024/04/13 20:35:14 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.239 2024/04/14 17:03:40 tom Exp $")
/****************************************************************************
*
static bool
set_position(NCURSES_SP_DCLx TERMINAL *termp, int row, int col)
{
- bool result = FALSE;
+ bool result;
char *actual = TIPARM_2(cursor_address, row, col);
T((T_CALLED("set_position %d,%d)"), row, col));
- if (NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "set_position", actual) == OK)
- result = TRUE;
+#if NCURSES_SP_FUNCS
+ result = (NCURSES_SP_NAME(_nc_putp) (NCURSES_SP_ARGx "set_position",
+ actual) == OK);
NCURSES_SP_NAME(_nc_flush) (NCURSES_SP_ARG);
+#else
+ /* This does not support padding because without sp-funcs, we have only
+ * the interface using stdio, but we are not guaranteed that Filedes
+ * is the same as fileno(stdout).
+ */
+ result = FALSE;
+ if (actual != NULL) {
+ size_t want = strlen(actual);
+ int have = (int) write(termp->Filedes, actual, want);
+ result = ((int) want == have);
+ }
+#endif
returnBool(result);
}
* So we do a simple check to exclude pseudo-terminals.
*/
static void
-_nc_check_screensize(NCURSES_SP_DCLx TERMINAL *termp, int *linep, int *colp)
+_nc_check_screensize(SCREEN *sp, TERMINAL *termp, int *linep, int *colp)
{
int fd = termp->Filedes;
TTY saved;
- const char *name;
+ const char *name = NULL;
if (IsRealTty(fd, name)
&& VALID_STRING(cursor_address)
sp->_term = termp;
NCURSES_SP_NAME(baudrate) (NCURSES_SP_ARG);
}
+#else
+ (void) sp;
#endif
- T(("checking screensize of %s", name));
+ T(("trying CPR (u7/u6) with %s", name));
alter.c_lflag &= (unsigned) ~(ECHO | ICANON | ISIG | IEXTEN);
alter.c_iflag &= (unsigned) ~(IXON | BRKINT | PARMRK);
alter.c_cc[VMIN] = 0;
}
/* restore tty modes */
SET_TTY(fd, &saved);
+ } else {
+ T(("NOT trying CPR with fd %d (%s): %s",
+ fd, NonNull(name), NC_ISATTY(fd) ? "tty" : "not a tty"));
}
_nc_default_screensize(termp, linep, colp);
#endif
#if HAVE_SIZECHANGE
/* try asking the OS */
- if (!NC_ISATTY(cur_term->Filedes)) {
+ if (NC_ISATTY(cur_term->Filedes)) {
STRUCT_WINSIZE size;
errno = 0;
_nc_default_screensize(termp, linep, colp);
} else {
- _nc_check_screensize(NCURSES_SP_ARGx termp, linep, colp);
+ _nc_check_screensize(sp, termp, linep, colp);
}
/*
OldNumber(termp, columns) = (short) (*colp);
#endif
} else {
- _nc_check_screensize(NCURSES_SP_ARGx termp, linep, colp);
+ _nc_check_screensize(sp, termp, linep, colp);
}
T(("screen size is %dx%d", *linep, *colp));
-ncurses6 (6.4+20240413) unstable; urgency=low
+ncurses6 (6.4+20240414) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Apr 2024 07:28:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240413) unstable; urgency=low
+ncurses6 (6.4+20240414) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Apr 2024 07:28:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240413) unstable; urgency=low
+ncurses6 (6.4+20240414) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 13 Apr 2024 07:28:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.641 2024/04/13 11:28:20 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.642 2024/04/14 08:48:20 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "4"\r
!define VERSION_YYYY "2024"\r
-!define VERSION_MMDD "0413"\r
+!define VERSION_MMDD "0414"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.4
-Release: 20240413
+Release: 20240414
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.4
-Release: 20240413
+Release: 20240414
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.4
-Release: 20240413
+Release: 20240414
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz