-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2170 2014/02/15 23:47:41 tom Exp $
+-- $Id: NEWS,v 1.2172 2014/02/23 01:19:35 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.
+20140222
+ + fix some compiler warnings in win_driver.c
+ + updated notes for wsvt25 based on tack and vttest -TD
+ + add teken entry to show actual properties of FreeBSD's "xterm"
+ console -TD
+
20140215
+ in-progress changes to win_driver.c to implement output without
allocating a console-buffer. This uses a pre-existing environment
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.972 2014/02/15 13:14:55 tom Exp $
+# $Id: dist.mk,v 1.973 2014/02/22 16:55:12 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 = 9
-NCURSES_PATCH = 20140215
+NCURSES_PATCH = 20140222
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
-# $Revision: 1.481 $
-# $Date: 2013/11/02 20:56:05 $
+# $Revision: 1.484 $
+# $Date: 2014/02/22 21:03:37 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta,
km, use=wsvt25,
+# NetBSD 6.x still uses wscons, with minor changes (2014/02/22) -TD
+#
+# TERM is by default vt100 for the console, wsvt25 for other ttys.
+# Initial testing set TERM=xterm, based on comments by developers, found too
+# many differences to continue in that path. However, test-results may be
+# useful to people curious about compatibility with xterm.
+#
+# Testing with tack:
+# -----------------
+# Failed: cbt, bel, flash, cvvis, smul (color), blink, invis
+# There is color-bleeding in the color-pairs screen.
+# Attributes do not work with color
+# Failed: vpa/hpa
+# Failed: kf1-kf4, kf13-kf48, khome, kend
+# (effectively xterm-r6 for function-keys)
+# None of the function or cursor key-modifiers are encoded.
+# Console hangs in the smm/rmm test if TERM=xterm, does not show test
+#
+# Testing with vttest:
+# -------------------
+# Identifies as vt220 with selective erase
+# (however, selective erase refers to DECSCA, SPA)
+# Does not implement vt52
+# Uses spaces to simulate double-size characters
+# Does not support 8-bit controls
+# Does not support VT220 reports
+# Does not support send/receive mode
+# Supports ECH (like rxvt)
+# Does not support DECSCA
+# Does not support any of the ISO-6429 cursor-movement
+# Does not support any of the ISO-6429 miscellaneous tests
+# (SL/SR also leave unexpected char on screen too)
+# Background does not change in menu 11.6.9 (SGR 22-27)
+# None of the xterm special features tests work
+netbsd6|NetBSD wscons in 25 line DEC VT100 mode,
+ kbs=\177, use=wsvt25,
+
# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
# DECstation/pmax.
rcons|BSD rasterconsole,
cons60l1-m|cons60-iso-m|freebsd console w/iso 8859-1 chars (60-line mono),
lines#60, use=cons25l1-m,
+# Starting with FreeBSD 8, an alternative configuration for syscons is provided,
+# which is intended to be xterm-compatible. See for example
+# http://svnweb.freebsd.org/base/stable/8/sys/dev/syscons/
+# in particular scterm-teken.c
+#
+# For FreeBSD 9 and 10:
+# --------------------
+# The /etc/ttys entries for console and other ttys are all configured to set
+# TERM=xterm.
+#
+# Testing with tack:
+# There is no VT100 line-drawing (uses +'s and -'s)
+# Shifted f1-f12 give cons25 codes, rather than xterm function-keys
+#
+# Testing with vttest:
+# Menu 2 diamonds don't work, blink ditto, light background ditto
+# The terminal identifies itself as VT100 with AVO
+# There is no VT52 support
+# There is no doublesize character support
+# The terminal supports ECH (like rxvt)
+# The terminal does not support send/receive mode
+# The terminal supports all of the ISO-6429 cursor-movement
+# The terminal supports some of the ISO-6429 miscellaneous tests
+# (SL/SR also leave unexpected char on screen too)
+#
+# Considering cons25 as a base, the line-drawing mostly works, but is missing
+# the cells which happen to have ASCII control-character values:
+# - ^X arrow pointing up
+# . ^Y arrow pointing down
+# i ^Y lantern
+# ` ^D diamond
+#
+# Those are removed from this entry's acsc string to avoid confusion.
+# The resulting description provides correct line-drawing and function-keys -TD
+teken|syscons with teken,
+ bw@, mir, xenl,
+ acsc=0\333a\260f\370g\361h\261j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
+ civis=\E[?25l, cnorm=\E[?25h, cvvis@, hpa=\E[%i%p1%dG,
+ hts=\EH, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+ kdch1=\E[3~, kend=\E[F, kent=^M, kf1=\EOP, kf10=\E[21~,
+ kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+ kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+ khome=\E[H, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, rmir=\E[4l,
+ smir=\E[4h, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n,
+ u8=\E[?1;2c, u9=\E[c, vpa=\E[%i%p1%dd, use=cons25,
+
#### 386BSD and BSD/OS Consoles
#
# These two are used to demonstrate the any-event mouse support, i.e., by
# using an extended name "XM" which tells ncurses to put the terminal into
# a special mode when initializing the xterm mouse.
-xterm-1002|testing xterm-mouse,
+xterm+sm+1002|testing xterm-mouse,
XM=\E[?1002%?%p1%{1}%=%th%el%;, use=xterm-new,
-xterm-1003|testing xterm-mouse,
+xterm+sm+1003|testing xterm-mouse,
XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new,
+xterm-1002|testing xterm-mouse,
+ use=xterm+sm+1002, use=xterm-new,
+xterm-1003|testing xterm-mouse,
+ use=xterm+sm+1003, use=xterm-new,
+
# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
# asked for some of xterm's advanced features to be added to its terminfo
# entry. It defines extended capabilities not found in standard terminfo or
# (Debian #727119).
# * simplify pfkey expression in ansi.sys -TD
#
+# 2013-11-10
+# * split-out building blocks xterm+sm+1002 and xterm+sm+1003 -TD
+#
+# 2014-02-22
+# * updated notes for wsvt25 based on tack and vttest -TD
+# * add teken entry to show actual properties of FreeBSD's "xterm"
+# console -TD
+#
######## SHANTIH! SHANTIH! SHANTIH!
/****************************************************************************
- * Copyright (c) 1998-2011,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_addch.c,v 1.127 2013/03/17 00:30:29 tom Exp $")
+MODULE_ID("$Id: lib_addch.c,v 1.128 2014/02/23 01:21:08 tom Exp $")
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
s[1] == 0
)
|| (
- (isprint(t) && !iscntrl(t))
+ (isprint((int)t) && !iscntrl((int)t))
#if USE_WIDEC_SUPPORT
|| ((sp == 0 || !sp->_legacy_coding) &&
(WINDOW_EXT(win, addch_used)
/****************************************************************************
- * Copyright (c) 2001-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 2001-2012,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <tic.h>
#include <ctype.h>
-MODULE_ID("$Id: visbuf.c,v 1.42 2012/10/27 20:58:50 tom Exp $")
+MODULE_ID("$Id: visbuf.c,v 1.43 2014/02/23 01:21:08 tom Exp $")
#define NUM_VISBUFS 4
if (c == '"' || c == '\\') {
*tp++ = '\\';
*tp++ = (char) c;
- } else if (is7bits(c) && (isgraph(c) || c == ' ')) {
+ } else if (is7bits((int)c) && (isgraph((int)c) || c == ' ')) {
*tp++ = (char) c;
} else if (c == '\n') {
*tp++ = '\\';
/****************************************************************************
- * Copyright (c) 2002,2010 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2010,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_erasewchar.c,v 1.2 2010/07/24 11:35:12 tom Exp $")
+MODULE_ID("$Id: lib_erasewchar.c,v 1.3 2014/02/23 01:21:08 tom Exp $")
/*
* erasewchar()
T((T_CALLED("erasewchar()")));
if ((value = erasechar()) != ERR) {
- *wch = value;
+ *wch = (wchar_t) value;
result = OK;
}
returnCode(result);
T((T_CALLED("killwchar()")));
if ((value = killchar()) != ERR) {
- *wch = value;
+ *wch = (wchar_t) value;
result = OK;
}
returnCode(result);
/****************************************************************************
- * Copyright (c) 2002-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2013,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <curses.priv.h>
-MODULE_ID("$Id: lib_wacs.c,v 1.13 2013/02/02 17:10:48 tom Exp $")
+MODULE_ID("$Id: lib_wacs.c,v 1.14 2014/02/23 01:21:08 tom Exp $")
NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
if ((_nc_wacs = typeCalloc(cchar_t, ACS_LEN)) != 0) {
for (n = 0; n < SIZEOF(table); ++n) {
- int wide = wcwidth(table[n].value[active]);
+ int wide = wcwidth((wchar_t) table[n].value[active]);
m = table[n].map;
if (active && (wide == 1)) {
#include <curses.priv.h>
#define CUR my_term.type.
-MODULE_ID("$Id: win_driver.c,v 1.23 2014/02/15 23:21:44 tom Exp $")
+MODULE_ID("$Id: win_driver.c,v 1.24 2014/02/23 01:23:29 tom Exp $")
#define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
#define GenMap(vKey,key) MAKELONG(key, vKey)
-#define AdjustY(p) ((p)->buffered ? 0 : (p)->SBI.srWindow.Top)
+#define AdjustY(p) ((p)->buffered ? 0 : (int) (p)->SBI.srWindow.Top)
static const LONG keylist[] =
{
siz.Y = 1;
rec.Left = (short) x;
- rec.Top = (short) y + AdjustY(p);
+ rec.Top = (SHORT) (y + AdjustY(p));
rec.Right = (short) (x + limit - 1);
rec.Bottom = rec.Top;
con_write(TCB, y, 0, empty, Width);
memcpy(empty,
CurScreen(sp)->_line[y].text,
- Width * sizeof(empty[0]));
+ (size_t) Width * sizeof(empty[0]));
}
CurScreen(sp)->_clear = FALSE;
NewScreen(sp)->_clear = FALSE;
if (n > 0) {
memcpy(&CurScreen(sp)->_line[y].text[x0],
&NewScreen(sp)->_line[y].text[x0],
- n * sizeof(CurScreen(sp)->_line[y].text[x0]));
+ (size_t) n * sizeof(CurScreen(sp)->_line[y].text[x0]));
con_write(TCB,
y,
x0,
if (okConsoleHandle(TCB) &&
PropOf(TCB) != 0) {
WORD a = MapColor(fore, color);
- a = ((PropOf(TCB)->SBI.wAttributes) & (fore ? 0xfff8 : 0xff8f)) | a;
+ a |= (WORD) ((PropOf(TCB)->SBI.wAttributes) & (fore ? 0xfff8 : 0xff8f));
SetConsoleTextAttribute(TCB->hdl, a);
get_SBI(TCB);
}
if (lflag & ICANON)
dwFlag |= ENABLE_LINE_INPUT;
else
- dwFlag &= ~ENABLE_LINE_INPUT;
+ dwFlag &= (DWORD) (~ENABLE_LINE_INPUT);
if (lflag & ECHO)
dwFlag |= ENABLE_ECHO_INPUT;
else
- dwFlag &= ~ENABLE_ECHO_INPUT;
+ dwFlag &= (DWORD) (~ENABLE_ECHO_INPUT);
if (iflag & BRKINT)
dwFlag |= ENABLE_PROCESSED_INPUT;
else
- dwFlag &= ~ENABLE_PROCESSED_INPUT;
+ dwFlag &= (DWORD) (~ENABLE_PROCESSED_INPUT);
dwFlag |= ENABLE_MOUSE_INPUT;
if (dwFlag & ENABLE_LINE_INPUT)
lflag |= ICANON;
else
- lflag &= ~ICANON;
+ lflag &= (tcflag_t) (~ICANON);
if (dwFlag & ENABLE_ECHO_INPUT)
lflag |= ECHO;
else
- lflag &= ~ECHO;
+ lflag &= (tcflag_t) (~ECHO);
if (dwFlag & ENABLE_PROCESSED_INPUT)
iflag |= BRKINT;
else
- iflag &= ~BRKINT;
+ iflag &= (tcflag_t) (~BRKINT);
TCB->term.Nttyb.c_iflag = iflag;
TCB->term.Nttyb.c_lflag = lflag;
if (progFlag) /* prog mode */ {
if (defFlag) {
if ((drv_sgmode(TCB, FALSE, &(_term->Nttyb)) == OK)) {
- _term->Nttyb.c_oflag &= ~OFLAGS_TABS;
+ _term->Nttyb.c_oflag &= (tcflag_t) (~OFLAGS_TABS);
code = OK;
}
} else {
bufferSize.X = p->SBI.dwSize.X;
bufferSize.Y = p->SBI.dwSize.Y;
- want = bufferSize.X * bufferSize.Y;
+ want = (size_t) (bufferSize.X * bufferSize.Y);
if ((p->save_screen = malloc(want * sizeof(CHAR_INFO))) != 0) {
bufferCoord.X = bufferCoord.Y = 0;
readRegion.Top = 0;
readRegion.Left = 0;
- readRegion.Bottom = bufferSize.Y - 1;
- readRegion.Right = bufferSize.X - 1;
+ readRegion.Bottom = (SHORT) (bufferSize.Y - 1);
+ readRegion.Right = (SHORT) (bufferSize.X - 1);
T(("... reading console buffer %dx%d into %d,%d - %d,%d at %d,%d",
bufferSize.Y, bufferSize.X,
T((" error %#lx", (unsigned long) GetLastError()));
FreeAndNull(p->save_screen);
- bufferSize.X = p->SBI.srWindow.Right - p->SBI.srWindow.Left + 1;
- bufferSize.Y = p->SBI.srWindow.Bottom - p->SBI.srWindow.Top + 1;
- want = bufferSize.X * bufferSize.Y;
+ bufferSize.X = (SHORT) (p->SBI.srWindow.Right
+ - p->SBI.srWindow.Left + 1);
+ bufferSize.Y = (SHORT) (p->SBI.srWindow.Bottom
+ - p->SBI.srWindow.Top + 1);
+ want = (size_t) (bufferSize.X * bufferSize.Y);
if ((p->save_screen = malloc(want * sizeof(CHAR_INFO))) != 0) {
bufferCoord.X = bufferCoord.Y = 0;
if (GetNumberOfConsoleMouseButtons(&num_buttons)) {
T(("mouse has %ld buttons", num_buttons));
- TCB->info.numbuttons = num_buttons;
+ TCB->info.numbuttons = (int) num_buttons;
} else {
TCB->info.numbuttons = 1;
}
for (i = 0; i < (N_INI + FKEYS); i++) {
if (i < N_INI)
- PropOf(TCB)->rmap[i] = PropOf(TCB)->map[i] = keylist[i];
+ PropOf(TCB)->rmap[i] = PropOf(TCB)->map[i] = (DWORD) keylist[i];
else
PropOf(TCB)->rmap[i] = PropOf(TCB)->map[i] =
GenMap((VK_F1 + (i - N_INI)), (KEY_F(1) + (i - N_INI)));
Properties *p = PropOf(TCB);
COORD loc;
loc.X = (short) x;
- loc.Y = (short) y + AdjustY(p);
+ loc.Y = (short) (y + AdjustY(p));
SetConsoleCursorPosition(TCB->hdl, loc);
ret = OK;
}
SetSP();
for (n = 0; n < SIZEOF(table); ++n) {
- real_map[table[n].acs_code] = table[n].use_code | A_ALTCHARSET;
+ real_map[table[n].acs_code] = (chtype) table[n].use_code | A_ALTCHARSET;
if (sp != 0)
sp->_screen_acs_map[table[n].acs_code] = TRUE;
}
SCREEN *sp;
INPUT_RECORD inp_rec;
BOOL b;
- DWORD nRead = 0, rc = -1;
+ DWORD nRead = 0, rc = (DWORD) (-1);
int code = 0;
FILETIME fstart;
FILETIME fend;
while (true) {
GetSystemTimeAsFileTime(&fstart);
- rc = WaitForSingleObject(TCB->inp, milliseconds);
+ rc = WaitForSingleObject(TCB->inp, (DWORD) milliseconds);
GetSystemTimeAsFileTime(&fend);
diff = (int) tdiff(fstart, fend);
milliseconds = Adjust(milliseconds, diff);
if (sp->_drv_mouse_new_buttons) {
- work.bstate |= decode_mouse(TCB, sp->_drv_mouse_new_buttons);
+ work.bstate |= (mmask_t) decode_mouse(TCB, sp->_drv_mouse_new_buttons);
} else {
/* cf: BUTTON_PRESSED, BUTTON_RELEASED */
- work.bstate |= (decode_mouse(TCB, sp->_drv_mouse_old_buttons) >> 1);
+ work.bstate |= (mmask_t) (decode_mouse(TCB,
+ sp->_drv_mouse_old_buttons)
+ >> 1);
result = TRUE;
}
drv_nap(TERMINAL_CONTROL_BLOCK * TCB GCC_UNUSED, int ms)
{
T((T_CALLED("win32con::drv_nap(%p, %d)"), TCB, ms));
- Sleep(ms);
+ Sleep((DWORD) ms);
returnCode(OK);
}
-ncurses6 (5.9-20140215) unstable; urgency=low
+ncurses6 (5.9-20140222) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Feb 2014 08:14:55 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 22 Feb 2014 11:55:12 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (5.9-20140215) unstable; urgency=low
+ncurses6 (5.9-20140222) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Feb 2014 08:14:55 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 22 Feb 2014 11:55:12 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (5.9-20140215) unstable; urgency=low
+ncurses6 (5.9-20140222) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 15 Feb 2014 08:14:55 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 22 Feb 2014 11:55:12 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.27 2014/02/15 13:25:14 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.28 2014/02/22 16:55:12 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "5"\r
!define VERSION_MINOR "9"\r
!define VERSION_YYYY "2014"\r
-!define VERSION_MMDD "0215"\r
+!define VERSION_MMDD "0222"\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: 5.9
-Release: 20140215
+Release: 20140222
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 5.9
-Release: 20140215
+Release: 20140222
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz