-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2085 2013/08/05 00:51:45 tom Exp $
+-- $Id: NEWS,v 1.2089 2013/08/17 21:17:42 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.
+20130816
+ + add checks in tic to warn about terminals which lack cursor
+ addressing, capabilities or having those, are marked as hard_copy or
+ generic_type.
+ + use --without-progs in mingw-ncurses rpm.
+ + split out _nc_init_termtype() from alloc_entry.c to use in MinGW
+ port when tic and other programs are not needed.
+
20130805
+ minor fixes to the --disable-overwrite logic, to ensure that the
configured $(includedir) is not cancelled by the mingwxx-filesystem
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.674 2013/08/03 22:18:08 tom Exp $
+dnl $Id: aclocal.m4,v 1.675 2013/08/17 18:43:56 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
AC_SUBST(LIB_PREFIX)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_LIB_RULES version: 72 updated: 2013/03/24 17:10:41
+dnl CF_LIB_RULES version: 73 updated: 2013/08/03 18:18:08
dnl ------------
dnl Append definitions and rules for the given models to the subdirectory
dnl Makefiles, and the recursion rule for the top-level Makefile. If the
AC_SUBST(EXTRA_LDFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 79 updated: 2013/07/27 17:57:16
+dnl CF_SHARED_OPTS version: 81 updated: 2013/08/03 18:18:08
dnl --------------
dnl --------------
dnl Attempt to determine the appropriate CC/LD options for creating a shared
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SRC_MODULES version: 26 updated: 2012/01/07 15:08:24
+dnl CF_SRC_MODULES version: 27 updated: 2013/08/03 18:18:08
dnl --------------
dnl For each parameter, test if the source-directory exists, and if it contains
dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.940 2013/08/05 00:52:17 tom Exp $
+# $Id: dist.mk,v 1.941 2013/08/17 17:15:43 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 = 20130805
+NCURSES_PATCH = 20130816
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
- print "/* $Id: MKterm.h.awk.in,v 1.61 2013/05/25 20:04:51 tom Exp $ */"
+ print "/* $Id: MKterm.h.awk.in,v 1.62 2013/08/17 19:21:56 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);"
print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
+ print "extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE *const);"
print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);"
print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
/****************************************************************************
- * Copyright (c) 1998-2011,2012 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2012,2013 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>
-MODULE_ID("$Id: alloc_entry.c,v 1.57 2012/10/27 21:32:23 tom Exp $")
+MODULE_ID("$Id: alloc_entry.c,v 1.58 2013/08/17 19:20:38 tom Exp $")
#define ABSENT_OFFSET -1
#define CANCELLED_OFFSET -2
_nc_init_entry(TERMTYPE *const tp)
/* initialize a terminal type data block */
{
- unsigned i;
-
#if NO_LEAKS
if (tp == 0) {
if (stringbuf != 0) {
if (stringbuf == 0)
TYPE_MALLOC(char, (size_t) MAX_STRTAB, stringbuf);
-#if NCURSES_XNAMES
- tp->num_Booleans = BOOLCOUNT;
- tp->num_Numbers = NUMCOUNT;
- tp->num_Strings = STRCOUNT;
- tp->ext_Booleans = 0;
- tp->ext_Numbers = 0;
- tp->ext_Strings = 0;
-#endif
- if (tp->Booleans == 0)
- TYPE_MALLOC(NCURSES_SBOOL, BOOLCOUNT, tp->Booleans);
- if (tp->Numbers == 0)
- TYPE_MALLOC(short, NUMCOUNT, tp->Numbers);
- if (tp->Strings == 0)
- TYPE_MALLOC(char *, STRCOUNT, tp->Strings);
-
- for_each_boolean(i, tp)
- tp->Booleans[i] = FALSE;
-
- for_each_number(i, tp)
- tp->Numbers[i] = ABSENT_NUMERIC;
-
- for_each_string(i, tp)
- tp->Strings[i] = ABSENT_STRING;
-
next_free = 0;
+
+ _nc_init_termtype(tp);
}
NCURSES_EXPORT(ENTRY *)
next_free += len;
result = (stringbuf + old_next_free);
} else {
- _nc_warning("Too much data, some is lost");
+ _nc_warning("Too much data, some is lost: %s", string);
}
return result;
}
#include <tic.h>
-MODULE_ID("$Id: read_entry.c,v 1.124 2013/07/13 20:06:43 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.125 2013/08/17 19:06:59 tom Exp $")
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
#define even_boundary(value) \
if ((value) % 2 != 0) Read(buf, 1)
+NCURSES_EXPORT(void)
+_nc_init_termtype(TERMTYPE *const tp)
+{
+ unsigned i;
+
+#if NCURSES_XNAMES
+ tp->num_Booleans = BOOLCOUNT;
+ tp->num_Numbers = NUMCOUNT;
+ tp->num_Strings = STRCOUNT;
+ tp->ext_Booleans = 0;
+ tp->ext_Numbers = 0;
+ tp->ext_Strings = 0;
+#endif
+ if (tp->Booleans == 0)
+ TYPE_MALLOC(NCURSES_SBOOL, BOOLCOUNT, tp->Booleans);
+ if (tp->Numbers == 0)
+ TYPE_MALLOC(short, NUMCOUNT, tp->Numbers);
+ if (tp->Strings == 0)
+ TYPE_MALLOC(char *, STRCOUNT, tp->Strings);
+
+ for_each_boolean(i, tp)
+ tp->Booleans[i] = FALSE;
+
+ for_each_number(i, tp)
+ tp->Numbers[i] = ABSENT_NUMERIC;
+
+ for_each_string(i, tp)
+ tp->Strings[i] = ABSENT_STRING;
+}
+
/*
* Return TGETENT_YES if read, TGETENT_NO if not found or garbled.
*/
#include <curses.priv.h>
#define CUR my_term.type.
-MODULE_ID("$Id: win_driver.c,v 1.19 2013/05/25 20:16:46 tom Exp $")
+MODULE_ID("$Id: win_driver.c,v 1.20 2013/08/17 19:25:30 tom Exp $")
#define WINMAGIC NCDRV_MAGIC(NCDRV_WINCONSOLE)
if (code) {
if ((TCB->term.type.Booleans) == 0) {
- _nc_init_entry(&(TCB->term.type));
+ _nc_init_termtype(&(TCB->term.type));
}
}
-ncurses6 (5.9-20130805) unstable; urgency=low
+ncurses6 (5.9-20130816) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 03 Aug 2013 13:17:35 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 17 Aug 2013 13:15:43 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Release: 5.9
-Version: 20130805
+Version: 20130816
License: X11
Group: Development/Libraries
Source: ncurses-%{release}-%{version}.tgz
--without-debug \\\
--with-install-prefix=$RPM_BUILD_ROOT \\\
--without-manpages \\\
+ --without-progs \\\
--without-tests
%define debug_package %{nil}
Summary: shared libraries for terminal handling
Name: ncurses6
Release: 5.9
-Version: 20130805
+Version: 20130816
License: X11
Group: Development/Libraries
Source: ncurses-%{release}-%{version}.tgz
#include <hashed_db.h>
#include <transform.h>
-MODULE_ID("$Id: tic.c,v 1.186 2013/06/08 16:50:47 tom Exp $")
+MODULE_ID("$Id: tic.c,v 1.187 2013/08/17 21:15:15 tom Exp $")
#define STDIN_NAME "<stdin>"
}
#define EXPECTED(name) if (!PRESENT(name)) _nc_warning("expected " #name)
+#define UNEXPECTED(name) if (PRESENT(name)) _nc_warning("unexpected " #name ", for %s", why)
+
+static void
+check_noaddress(TERMTYPE *tp, const char *why)
+{
+ UNEXPECTED(column_address);
+ UNEXPECTED(cursor_address);
+ UNEXPECTED(cursor_home);
+ UNEXPECTED(cursor_mem_address);
+ UNEXPECTED(cursor_to_ll);
+ UNEXPECTED(row_address);
+ UNEXPECTED(row_address);
+}
static void
check_cursor(TERMTYPE *tp)
int count;
char *list[4];
+ if (hard_copy) {
+ check_noaddress(tp, "hard_copy");
+ } else if (generic_type) {
+ check_noaddress(tp, "generic_type");
+ } else if (strchr(tp->term_names, '+') == 0) {
+ int y = 0;
+ int x = 0;
+ if (PRESENT(column_address))
+ ++y;
+ if (PRESENT(cursor_address))
+ y = x = 10;
+ if (PRESENT(cursor_home))
+ ++y, ++x;
+ if (PRESENT(cursor_mem_address))
+ y = x = 10;
+ if (PRESENT(cursor_to_ll))
+ ++y, ++x;
+ if (PRESENT(row_address))
+ ++x;
+ if (PRESENT(cursor_down))
+ ++y;
+ if (PRESENT(cursor_up))
+ ++y;
+ if (PRESENT(cursor_left))
+ ++x;
+ if (PRESENT(cursor_right))
+ ++x;
+ if (x < 2 && y < 2) {
+ _nc_warning("terminal lacks cursor addressing");
+ } else {
+ if (x < 2)
+ _nc_warning("terminal lacks cursor column-addressing");
+ if (y < 2)
+ _nc_warning("terminal lacks cursor row-addressing");
+ }
+ }
+
/* it is rare to have an insert-line feature without a matching delete */
ANDMISSING(parm_insert_line, insert_line);
ANDMISSING(parm_delete_line, delete_line);
/*
* These warnings are useful for consistency checks - it is possible that
- * there are real terminals with mismatches in these
+ * there are real terminals with mismatches in these
*/
ANDMISSING(key_ic, key_dc);
}