-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1386 2009/05/10 21:27:04 tom Exp $
+-- $Id: NEWS,v 1.1388 2009/05/17 00:20:31 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.
+20090516
+ + work around antique BSD game's manipulation of stdscr, etc., versus
+ SCREEN's copy of the pointer (Debian #528411).
+ + add a cast to wattrset macro to avoid compiler warning when comparing
+ its result against ERR (adapted from patch by Matt Kraii, Debian
+ #528374).
+
20090510
+ continue integrating "sp-funcs" by Juergen Pfeifer (incomplete).
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.699 2009/05/10 21:27:04 tom Exp $
+# $Id: dist.mk,v 1.700 2009/05/15 23:35:19 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 = 5
NCURSES_MINOR = 7
-NCURSES_PATCH = 20090510
+NCURSES_PATCH = 20090516
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: curses.h.in,v 1.199 2009/05/09 15:48:04 tom Exp $ */
+/* $Id: curses.h.in,v 1.200 2009/05/16 23:27:59 tom Exp $ */
#ifndef __NCURSES_H
#define __NCURSES_H
#if !NCURSES_OPAQUE
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \
- (win)->_attrs = (at))
+ NCURSES_CAST(int, (win)->_attrs = (at)))
#else
-#define wattrset(win,at) ((win)->_attrs = (at))
+#define wattrset(win,at) NCURSES_CAST(int, (win)->_attrs = (at))
#endif
#endif /* NCURSES_OPAQUE */
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_addch.c,v 1.118 2009/04/18 23:53:04 tom Exp $")
+MODULE_ID("$Id: lib_addch.c,v 1.119 2009/05/15 23:47:26 tom Exp $")
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
/*
* Build up multibyte characters until we have a wide-character.
*/
- if_WIDEC({
#if NCURSES_SP_FUNCS
- SCREEN *sp = _nc_screen_of(win);
+#define DeriveSP() SCREEN *sp = _nc_screen_of(win);
+#else
+#define DeriveSP() /*nothing*/
#endif
+ if_WIDEC({
+ DeriveSP();
if (WINDOW_EXT(win, addch_used) != 0 || !Charable(ch)) {
int len = _nc_build_wch(win, CHREF(ch));
#include <ctype.h>
-MODULE_ID("$Id: tty_update.c,v 1.255 2009/05/10 00:53:14 tom Exp $")
+MODULE_ID("$Id: tty_update.c,v 1.256 2009/05/17 00:13:49 tom Exp $")
/*
* This define controls the line-breakout optimization. Every once in a
T((T_CALLED("doupdate()")));
+#if !USE_REENTRANT
+ /*
+ * It is "legal" but unlikely that an application could assign a new
+ * value to one of the standard windows. Check for that possibility
+ * and try to recover.
+ *
+ * We do not allow applications to assign new values in the reentrant
+ * model.
+ */
+#define SyncScreens(internal,exported) \
+ if (internal == 0) internal = exported; \
+ if (internal != exported) exported = internal
+
+ SyncScreens(CurScreen(SP_PARM), curscr);
+ SyncScreens(NewScreen(SP_PARM), newscr);
+ SyncScreens(StdScreen(SP_PARM), stdscr);
+#endif
+
if (CurScreen(SP_PARM) == 0
- || NewScreen(SP_PARM) == 0)
+ || NewScreen(SP_PARM) == 0
+ || StdScreen(SP_PARM) == 0)
returnCode(ERR);
#ifdef TRACE