+ lock the prescreen data consistently in newterm, etc., for the
pthreads configuration (report by Tom de Vries).
16 files changed:
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3826 2022/07/03 22:22:14 tom Exp $
+-- $Id: NEWS,v 1.3828 2022/07/09 22:07:08 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
-------------------------------------------------------------------------------
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.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20220709
+ + lock the prescreen data consistently in newterm, etc., for the
+ pthreads configuration (report by Tom de Vries).
+
20220703
+ add consistency check in tic for u6/u7/u8/u9 and NQ capabilities.
+ use NQ to flag entries where the terminal does not support query and
20220703
+ add consistency check in tic for u6/u7/u8/u9 and NQ capabilities.
+ use NQ to flag entries where the terminal does not support query and
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1490 2022/07/03 20:03:28 tom Exp $
+# $Id: dist.mk,v 1.1491 2022/07/09 12:55:00 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# 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 = 3
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 3
-NCURSES_PATCH = 20220703
+NCURSES_PATCH = 20220709
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
/****************************************************************************
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
-MODULE_ID("$Id: lib_newterm.c,v 1.103 2020/09/05 21:34:04 tom Exp $")
+MODULE_ID("$Id: lib_newterm.c,v 1.104 2022/07/09 18:58:58 tom Exp $")
#ifdef USE_TERM_DRIVER
#define NumLabels InfoOf(SP_PARM).numlabels
#ifdef USE_TERM_DRIVER
#define NumLabels InfoOf(SP_PARM).numlabels
newterm(const char *name, FILE *ofp, FILE *ifp)
{
SCREEN *rc;
newterm(const char *name, FILE *ofp, FILE *ifp)
{
SCREEN *rc;
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp);
_nc_forget_prescr();
_nc_unlock_global(prescreen);
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(newterm) (CURRENT_SCREEN_PRE, name, ofp, ifp);
_nc_forget_prescr();
_nc_unlock_global(prescreen);
/****************************************************************************
/****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2021,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef CUR
#define CUR SP_TERMTYPE
#undef CUR
#define CUR SP_TERMTYPE
-MODULE_ID("$Id: lib_set_term.c,v 1.179 2021/05/08 21:48:34 tom Exp $")
+MODULE_ID("$Id: lib_set_term.c,v 1.180 2022/07/09 18:58:58 tom Exp $")
#ifdef USE_TERM_DRIVER
#define MaxColors InfoOf(sp).maxcolors
#ifdef USE_TERM_DRIVER
#define MaxColors InfoOf(sp).maxcolors
_nc_ripoffline(int line, int (*init) (WINDOW *, int))
{
int rc;
_nc_ripoffline(int line, int (*init) (WINDOW *, int))
{
int rc;
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(_nc_ripoffline) (CURRENT_SCREEN_PRE, line, init);
_nc_unlock_global(prescreen);
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(_nc_ripoffline) (CURRENT_SCREEN_PRE, line, init);
_nc_unlock_global(prescreen);
ripoffline(int line, int (*init) (WINDOW *, int))
{
int rc;
ripoffline(int line, int (*init) (WINDOW *, int))
{
int rc;
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(ripoffline) (CURRENT_SCREEN_PRE, line, init);
_nc_unlock_global(prescreen);
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(ripoffline) (CURRENT_SCREEN_PRE, line, init);
_nc_unlock_global(prescreen);
/****************************************************************************
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2022 Thomas E. Dickey *
* Copyright 1998-2009,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2009,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
*/
#include <curses.priv.h>
*/
#include <curses.priv.h>
-MODULE_ID("$Id: lib_slkinit.c,v 1.15 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_slkinit.c,v 1.16 2022/07/09 18:58:58 tom Exp $")
#ifdef USE_SP_RIPOFF
#define SoftkeyFormat SP_PARM->slk_format
#ifdef USE_SP_RIPOFF
#define SoftkeyFormat SP_PARM->slk_format
slk_init(int format)
{
int rc;
slk_init(int format)
{
int rc;
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(slk_init) (CURRENT_SCREEN_PRE, format);
_nc_unlock_global(prescreen);
_nc_lock_global(prescreen);
START_TRACE();
rc = NCURSES_SP_NAME(slk_init) (CURRENT_SCREEN_PRE, format);
_nc_unlock_global(prescreen);
/****************************************************************************
/****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2021,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
-MODULE_ID("$Id: lib_data.c,v 1.86 2021/11/20 23:14:34 tom Exp $")
+MODULE_ID("$Id: lib_data.c,v 1.87 2022/07/09 22:03:21 tom Exp $")
/*
* OS/2's native linker complains if we don't initialize public data when
/*
* OS/2's native linker complains if we don't initialize public data when
NCURSES_EXPORT(int)
_nc_mutex_lock(pthread_mutex_t * obj)
{
NCURSES_EXPORT(int)
_nc_mutex_lock(pthread_mutex_t * obj)
{
- if (_nc_use_pthreads == 0)
- return 0;
- return pthread_mutex_lock(obj);
+ int rc = 0;
+ if (_nc_use_pthreads != 0)
+ rc = pthread_mutex_lock(obj);
+ return rc;
}
NCURSES_EXPORT(int)
_nc_mutex_trylock(pthread_mutex_t * obj)
{
}
NCURSES_EXPORT(int)
_nc_mutex_trylock(pthread_mutex_t * obj)
{
- if (_nc_use_pthreads == 0)
- return 0;
- return pthread_mutex_trylock(obj);
+ int rc = 0;
+ if (_nc_use_pthreads != 0)
+ rc = pthread_mutex_trylock(obj);
+ return rc;
}
NCURSES_EXPORT(int)
_nc_mutex_unlock(pthread_mutex_t * obj)
{
}
NCURSES_EXPORT(int)
_nc_mutex_unlock(pthread_mutex_t * obj)
{
- if (_nc_use_pthreads == 0)
- return 0;
- return pthread_mutex_unlock(obj);
+ int rc = 0;
+ if (_nc_use_pthreads != 0)
+ rc = pthread_mutex_unlock(obj);
+ return rc;
}
#endif /* USE_PTHREADS */
}
#endif /* USE_PTHREADS */
/****************************************************************************
/****************************************************************************
- * Copyright 2018-2020,2021 Thomas E. Dickey *
+ * Copyright 2018-2021,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <locale.h>
#endif
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.215 2021/11/20 23:11:31 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.216 2022/07/09 18:58:58 tom Exp $")
/****************************************************************************
*
/****************************************************************************
*
int rc = ERR;
TERMINAL *termp = 0;
int rc = ERR;
TERMINAL *termp = 0;
_nc_lock_global(prescreen);
START_TRACE();
if (TINFO_SETUP_TERM(&termp, tname, Filedes, errret, reuse) == OK) {
_nc_lock_global(prescreen);
START_TRACE();
if (TINFO_SETUP_TERM(&termp, tname, Filedes, errret, reuse) == OK) {
}
}
_nc_unlock_global(prescreen);
}
}
_nc_unlock_global(prescreen);
-ncurses6 (6.3+20220703) unstable; urgency=low
+ncurses6 (6.3+20220709) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 03 Jul 2022 16:03:28 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Jul 2022 08:55:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20220703) unstable; urgency=low
+ncurses6 (6.3+20220709) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 03 Jul 2022 16:03:28 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Jul 2022 08:55:00 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20220703) unstable; urgency=low
+ncurses6 (6.3+20220709) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 03 Jul 2022 16:03:28 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Jul 2022 08:55:00 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.530 2022/07/03 20:03:28 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.531 2022/07/09 12:55:00 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "3"\r
!define VERSION_YYYY "2022"\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "3"\r
!define VERSION_YYYY "2022"\r
-!define VERSION_MMDD "0703"\r
+!define VERSION_MMDD "0709"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\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.3
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.3
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.3
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.3
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.3
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.3
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
/****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2022 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
traces will be dumped. The program stops and waits for one character of
input at the beginning and end of the interval.
traces will be dumped. The program stops and waits for one character of
input at the beginning and end of the interval.
- $Id: worm.c,v 1.82 2020/02/02 23:34:34 tom Exp $
+ $Id: worm.c,v 1.83 2022/07/09 20:51:25 tom Exp $
*/
#include <test.priv.h>
*/
#include <test.priv.h>
while (!quit_worm((int) (((struct worm *) arg) - worm))) {
while (compare < sequence) {
++compare;
while (!quit_worm((int) (((struct worm *) arg) - worm))) {
while (compare < sequence) {
++compare;
-#if HAVE_USE_WINDOW
- use_window(stdscr, draw_worm, arg);
-#else
- draw_worm(stdscr, arg);
-#endif
+ USING_WINDOW2(stdscr, draw_worm, arg);
}
}
Trace(("...start_worm (done)"));
}
}
Trace(("...start_worm (done)"));
}
#else
for (n = 0, w = &worm[0]; n < number; n++, w++) {
}
#else
for (n = 0, w = &worm[0]; n < number; n++, w++) {
- if (
-#if HAVE_USE_WINDOW
- USING_WINDOW2(stdscr, draw_worm, w)
-#else
- draw_worm(stdscr, w)
-#endif
- )
+ if (USING_WINDOW2(stdscr, draw_worm, w))