summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
63d2670)
+ improve check in misc/Makefile.in for empty $PKG_CONFIG_LIBDIR
+ modify wnoutrefresh to call pnoutrefresh if its parameter is a pad,
rather than treating it as an error, and modify new_panel to permit
its window-parameter to be a pad (report by Giorgos Xou).
+ fix a memory-leak in del_curterm (prompted by discussion with Bram
Moolenaar, cf:
20210821).
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.3738 2021/10/31 00:31:12 tom Exp $
+-- $Id: NEWS,v 1.3741 2021/11/06 23:43:40 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.
+20211106
+ + improve check in misc/Makefile.in for empty $PKG_CONFIG_LIBDIR
+ + modify wnoutrefresh to call pnoutrefresh if its parameter is a pad,
+ rather than treating it as an error, and modify new_panel to permit
+ its window-parameter to be a pad (report by Giorgos Xou).
+ + fix a memory-leak in del_curterm (prompted by discussion with Bram
+ Moolenaar, cf: 20210821).
+
20211030
+ simplify some references to WINDOWS._flags using macros.
+ add a "check" rule in Ada95 makefile, to help with test-packages.
20211030
+ simplify some references to WINDOWS._flags using macros.
+ add a "check" rule in Ada95 makefile, to help with test-packages.
# 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.1447 2021/10/30 08:33:19 tom Exp $
+# $Id: dist.mk,v 1.1448 2021/11/06 08:19:47 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 = 20211030
+NCURSES_PATCH = 20211106
# 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)
-# $Id: Makefile.in,v 1.78 2021/07/03 19:07:50 tom Exp $
+# $Id: Makefile.in,v 1.79 2021/11/06 23:36:12 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
# directory during this rule:
@MAKE_PC_FILES@install \
@MAKE_PC_FILES@install.libs :: pc-files
# directory during this rule:
@MAKE_PC_FILES@install \
@MAKE_PC_FILES@install.libs :: pc-files
-@MAKE_PC_FILES@ @$(SHELL) -c 'case "x$(DESTDIR)$(PKG_CONFIG_LIBDIR)" in \
+@MAKE_PC_FILES@ @$(SHELL) -c 'case "x$(PKG_CONFIG_LIBDIR)" in \
@MAKE_PC_FILES@ x/*) \
@MAKE_PC_FILES@ mkdir -p $(DESTDIR)$(PKG_CONFIG_LIBDIR); \
@MAKE_PC_FILES@ for name in $(PC_FILES); do \
@MAKE_PC_FILES@ x/*) \
@MAKE_PC_FILES@ mkdir -p $(DESTDIR)$(PKG_CONFIG_LIBDIR); \
@MAKE_PC_FILES@ for name in $(PC_FILES); do \
/****************************************************************************
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2008,2009 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2008,2009 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
-MODULE_ID("$Id: lib_delwin.c,v 1.21 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_delwin.c,v 1.22 2021/11/06 21:54:14 tom Exp $")
static bool
cannot_delete(WINDOW *win)
{
WINDOWLIST *p;
bool result = TRUE;
static bool
cannot_delete(WINDOW *win)
{
WINDOWLIST *p;
bool result = TRUE;
+ if (IS_PAD(win)) {
+ result = FALSE;
+ } else {
- SCREEN *sp = _nc_screen_of(win);
+ SCREEN *sp = _nc_screen_of(win);
- for (each_window(SP_PARM, p)) {
- if (&(p->win) == win) {
- result = FALSE;
- } else if ((p->win._flags & _SUBWIN) != 0
- && p->win._parent == win) {
- result = TRUE;
- break;
+ for (each_window(SP_PARM, p)) {
+ if (&(p->win) == win) {
+ result = FALSE;
+ } else if (IS_SUBWIN(&(p->win))
+ && p->win._parent == win) {
+ result = TRUE;
+ break;
+ }
if (win == 0
|| cannot_delete(win)) {
result = ERR;
if (win == 0
|| cannot_delete(win)) {
result = ERR;
+ } else if (IS_PAD(win)) {
+ win->_parent = NULL;
+ result = OK;
} else {
#if NCURSES_SP_FUNCS
SCREEN *sp = _nc_screen_of(win);
#endif
} else {
#if NCURSES_SP_FUNCS
SCREEN *sp = _nc_screen_of(win);
#endif
- if (win->_flags & _SUBWIN)
- else if (CurScreen(SP_PARM) != 0)
+ } else if (CurScreen(SP_PARM) != 0) {
touchwin(CurScreen(SP_PARM));
touchwin(CurScreen(SP_PARM));
result = _nc_freewin(win);
}
_nc_unlock_global(curses);
result = _nc_freewin(win);
}
_nc_unlock_global(curses);
extern int malloc_errfd; /* FIXME */
#endif
extern int malloc_errfd; /* FIXME */
#endif
-MODULE_ID("$Id: lib_freeall.c,v 1.75 2021/10/23 18:53:46 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.76 2021/11/06 21:52:49 tom Exp $")
/*
* Free all ncurses data. This is used for testing only (there's no practical
/*
* Free all ncurses data. This is used for testing only (there's no practical
WINDOW *p_win = &(p->win);
bool found = FALSE;
WINDOW *p_win = &(p->win);
bool found = FALSE;
+ if (IS_PAD(p_win))
+ continue;
+
#ifndef USE_SP_WINDOWLIST
if (p->screen != SP_PARM)
continue;
#ifndef USE_SP_WINDOWLIST
if (p->screen != SP_PARM)
continue;
/****************************************************************************
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Copyright 1998-2010,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
-MODULE_ID("$Id: lib_refresh.c,v 1.46 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_refresh.c,v 1.47 2021/11/06 22:22:03 tom Exp $")
NCURSES_EXPORT(int)
wrefresh(WINDOW *win)
NCURSES_EXPORT(int)
wrefresh(WINDOW *win)
T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
T((T_CALLED("wnoutrefresh(%p)"), (void *) win));
- /*
- * This function will break badly if we try to refresh a pad.
- */
- if ((win == 0)
- || (win->_flags & _ISPAD))
+ /*
+ * Handle pads as a special case.
+ */
+ if (IS_PAD(win)) {
+ returnCode(pnoutrefresh(win,
+ win->_pad._pad_y,
+ win->_pad._pad_x,
+ win->_pad._pad_top,
+ win->_pad._pad_left,
+ win->_pad._pad_bottom,
+ win->_pad._pad_right));
+ }
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
_tracedump("...win", win);
#ifdef TRACE
if (USE_TRACEF(TRACE_UPDATE)) {
_tracedump("...win", win);
/****************************************************************************
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 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 <termcap.h> /* ospeed */
#include <tic.h> /* VALID_STRING */
#include <termcap.h> /* ospeed */
#include <tic.h> /* VALID_STRING */
-MODULE_ID("$Id: lib_cur_term.c,v 1.43 2020/10/24 18:54:32 tom Exp $")
+MODULE_ID("$Id: lib_cur_term.c,v 1.44 2021/11/06 19:04:21 tom Exp $")
#undef CUR
#define CUR TerminalType(termp).
#undef CUR
#define CUR TerminalType(termp).
/* discard memory used in tgetent's cache for this terminal */
_nc_tgetent_leak(termp);
#endif
/* discard memory used in tgetent's cache for this terminal */
_nc_tgetent_leak(termp);
#endif
+ free(termp->tparm_state.fmt_buff);
+ free(termp->tparm_state.out_buff);
-ncurses6 (6.3+20211030) unstable; urgency=low
+ncurses6 (6.3+20211106) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20211030) unstable; urgency=low
+ncurses6 (6.3+20211106) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.3+20211030) unstable; urgency=low
+ncurses6 (6.3+20211106) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 30 Oct 2021 04:33:19 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 06 Nov 2021 04:19:47 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.489 2021/10/30 08:33:19 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.490 2021/11/06 08:19:47 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 "2021"\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "3"\r
!define VERSION_YYYY "2021"\r
-!define VERSION_MMDD "1030"\r
+!define VERSION_MMDD "1106"\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
*/
#include "panel.priv.h"
*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_new.c,v 1.23 2021/06/17 21:20:30 tom Exp $")
+MODULE_ID("$Id: p_new.c,v 1.24 2021/10/23 15:12:06 tom Exp $")
#ifdef TRACE
static char *stdscr_id;
#ifdef TRACE
static char *stdscr_id;
(void)root_panel(NCURSES_SP_ARG);
assert(_nc_stdscr_pseudo_panel);
(void)root_panel(NCURSES_SP_ARG);
assert(_nc_stdscr_pseudo_panel);
- if (!(win->_flags & _ISPAD) && (pan = AllocPanel("new_panel")))
+ if ((pan = AllocPanel("new_panel")) != NULL)
{
pan->win = win;
pan->above = (PANEL *)0;
{
pan->win = win;
pan->above = (PANEL *)0;