ncurses 5.7 - patch 20110205

+ add xterm-utf8 entry as a demo of the U8 feature -TD
+ add U8 feature to denote entries for terminal emulators which do not
  support VT100 SI/SO when processing UTF-8 encoding -TD
+ improve the NCURSES_NO_UTF8_ACS feature by adding a check for an
  extended terminfo capability U8 (prompted by mailing list
  discussion).
This commit is contained in:
Thomas E. Dickey 2011-02-06 02:33:36 +00:00
parent 70322aa06a
commit 8639fbcc9f
6 changed files with 72 additions and 25 deletions

10
NEWS
View File

@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.1638 2011/01/22 21:23:29 tom Exp $
-- $Id: NEWS,v 1.1641 2011/02/05 23:40:07 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -45,6 +45,14 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20110205
+ add xterm-utf8 entry as a demo of the U8 feature -TD
+ add U8 feature to denote entries for terminal emulators which do not
support VT100 SI/SO when processing UTF-8 encoding -TD
+ improve the NCURSES_NO_UTF8_ACS feature by adding a check for an
extended terminfo capability U8 (prompted by mailing list
discussion).
20110122
+ start documenting interface changes for upcoming 5.8 release.
+ correct limit-checks in derwin().

View File

@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.792 2011/01/22 19:47:14 tom Exp $
# $Id: dist.mk,v 1.794 2011/02/05 17:25:08 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -37,7 +37,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 7
NCURSES_PATCH = 20110122
NCURSES_PATCH = 20110205
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,6 +1,6 @@
'\" t
.\"***************************************************************************
.\" Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
.\" Copyright (c) 1998-2010,2011 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 *
@ -27,7 +27,7 @@
.\" authorization. *
.\"***************************************************************************
.\"
.\" $Id: ncurses.3x,v 1.101 2010/12/04 18:38:55 tom Exp $
.\" $Id: ncurses.3x,v 1.103 2011/02/05 23:21:29 tom Exp $
.hy 0
.TH ncurses 3X ""
.de bP
@ -930,6 +930,28 @@ and is likely to work for terminal emulators.
When setting this variable, you should set it to a nonzero value.
Setting it to zero (or to a nonnumber)
disables the special check for "linux" and "screen".
.IP
As an alternative to the environment variable,
ncurses checks for an extended terminfo capability \fBU8\fP.
This is a numeric capability which can be compiled using \fBtic\ \-x\fP.
For example
.RS 5
.sp
.nf
# linux console, if patched to provide working
# VT100 shift-in/shift-out, with corresponding font.
linux-vt100|linux console with VT100 line-graphics,
U8#0, use=linux,
.sp
# uxterm with vt100Graphics resource set to false
xterm-utf8|xterm relying on UTF-8 line-graphics,
U8#1, use=xterm,
.fi
.RE
.IP
The name "U8" is chosen to be two characters,
to permit it to be used by applications that use ncurses'
termcap interface.
.TP 5
NCURSES_TRACE
During initialization, the \fBncurses\fR debugging library

View File

@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
# $Revision: 1.381 $
# $Date: 2010/12/11 23:39:36 $
# $Revision: 1.382 $
# $Date: 2011/02/05 23:41:18 $
#
# 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
@ -890,7 +890,7 @@ beterm|BeOS Terminal,
#
linux-basic|linux console,
am, bce, eo, mir, msgr, xenl, xon,
it#8, ncv#18,
it#8, ncv#18, U8#1,
acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr,
cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J,
@ -2886,7 +2886,7 @@ crt|crt-vt220|CRT 2.3 emulating VT220,
putty|PuTTY terminal emulator,
am, bce, bw, ccc, hs, mir, msgr, xenl, xon, XT,
colors#8, it#8, ncv#22, pairs#64,
colors#8, it#8, ncv#22, pairs#64, U8#1,
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[H\E[J, cnorm=\E[?25h, cr=^M,
@ -3633,6 +3633,11 @@ xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
xterm|xterm terminal emulator (X Window System),
use=xterm-new,
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
# setting the vt100Graphics resource to false.
xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
U8#1, use=xterm,
# These entries allow access to the X titlebar and icon name as a status line.
# Note that twm (and possibly window managers descended from it such as tvtwm,
# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess
@ -4666,7 +4671,7 @@ eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
# tested with screen 3.09.08
screen|VT 100/ANSI X3.64 virtual terminal,
OTbs, OTpt, am, km, mir, msgr, xenl, G0,
colors#8, cols#80, it#8, lines#24, ncv@, pairs#64,
colors#8, cols#80, it#8, lines#24, ncv@, pairs#64, U8#1,
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
clear=\E[H\E[J, cnorm=\E[34h\E[?25h, cr=^M,
@ -22341,4 +22346,9 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# * suppress ncv in screen entry, allowing underline -Alejandro R. Sedeno
# * also suppress ncv in konsole-base -TD
#
# 2011-02-05
# * add U8 feature to denote entries for terminal emulators which do not
# support VT100 SI/SO when processing UTF-8 encoding -TD
# * add xterm-utf8 as a demo of the U8 feature -TD
#
######## SHANTIH! SHANTIH! SHANTIH!

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1999-2006,2010 Free Software Foundation, Inc. *
* Copyright (c) 1999-2010,2011 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 *
@ -42,7 +42,7 @@
#include <tic.h>
MODULE_ID("$Id: free_ttype.c,v 1.14 2010/01/23 17:57:43 tom Exp $")
MODULE_ID("$Id: free_ttype.c,v 1.15 2011/02/06 01:08:31 tom Exp $")
NCURSES_EXPORT(void)
_nc_free_termtype(TERMTYPE *ptr)
@ -69,6 +69,7 @@ use_extended_names(bool flag)
{
int oldflag = _nc_user_definable;
START_TRACE();
T((T_CALLED("use_extended_names(%d)"), flag));
_nc_user_definable = flag;
returnBool(oldflag);

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
* Copyright (c) 1998-2010,2011 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 *
@ -51,7 +51,7 @@
#include <locale.h>
#endif
MODULE_ID("$Id: lib_setup.c,v 1.132 2010/12/20 00:26:35 tom Exp $")
MODULE_ID("$Id: lib_setup.c,v 1.135 2011/02/06 01:04:21 tom Exp $")
/****************************************************************************
*
@ -546,25 +546,31 @@ _nc_unicode_locale(void)
NCURSES_EXPORT(int)
_nc_locale_breaks_acs(TERMINAL * termp)
{
const char *env_name = "NCURSES_NO_UTF8_ACS";
char *env;
int value;
int result = 0;
if ((env = getenv("NCURSES_NO_UTF8_ACS")) != 0) {
return atoi(env);
if ((env = getenv(env_name)) != 0) {
result = _nc_getenv_num(env_name);
} else if ((value = tigetnum("U8")) >= 0) {
result = value; /* use extension feature */
} else if ((env = getenv("TERM")) != 0) {
if (strstr(env, "linux"))
return 1; /* always broken */
if (strstr(env, "screen") != 0
&& ((env = getenv("TERMCAP")) != 0
&& strstr(env, "screen") != 0)
&& strstr(env, "hhII00") != 0) {
if (strstr(env, "linux")) {
result = 1; /* always broken */
} else if (strstr(env, "screen") != 0
&& ((env = getenv("TERMCAP")) != 0
&& strstr(env, "screen") != 0)
&& strstr(env, "hhII00") != 0) {
if (CONTROL_N(enter_alt_charset_mode) ||
CONTROL_O(enter_alt_charset_mode) ||
CONTROL_N(set_attributes) ||
CONTROL_O(set_attributes))
return 1;
CONTROL_O(set_attributes)) {
result = 1;
}
}
}
return 0;
return result;
}
NCURSES_EXPORT(int)