ncurses 5.7 - patch 20091003

+ add WACS_xxx definitions to wide-character configuration for thick-
  and double-lines (discussion with Slava Zanko).
+ remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+ add ccc and initc capabilities to xterm-16color -TD
> patch by Benjamin C W Sittler:
+ add linux-16color
+ correct initc capability of linux-c-nc end-of-range
+ similar change for dg+ccc and dgunix+ccc
This commit is contained in:
Thomas E. Dickey 2009-10-04 00:56:38 +00:00
parent 322d0bb554
commit 2a250f30ac
8 changed files with 288 additions and 27 deletions

12
NEWS
View File

@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.1443 2009/09/27 14:48:04 tom Exp $
-- $Id: NEWS,v 1.1446 2009/10/03 21:21:16 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -45,6 +45,16 @@ 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.
20091003
+ add WACS_xxx definitions to wide-character configuration for thick-
and double-lines (discussion with Slava Zanko).
+ remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+ add ccc and initc capabilities to xterm-16color -TD
> patch by Benjamin C W Sittler:
+ add linux-16color
+ correct initc capability of linux-c-nc end-of-range
+ similar change for dg+ccc and dgunix+ccc
20090927
+ move leak-checking for comp_captab.c into _nc_leaks_tinfo() since
that module since 20090711 is in libtinfo.

View File

@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.723 2009/09/27 14:27:30 tom Exp $
# $Id: dist.mk,v 1.724 2009/10/03 13:39:55 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 = 20090927
NCURSES_PATCH = 20091003
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,4 +1,4 @@
/* $Id: curses.wide,v 1.39 2009/05/09 15:43:00 tom Exp $ */
/* $Id: curses.wide,v 1.40 2009/10/03 19:42:45 tom Exp $ */
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in
@ -62,6 +62,56 @@ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */
#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */
/* double lines */
#define WACS_BDDB NCURSES_WACS('C')
#define WACS_DDBB NCURSES_WACS('D')
#define WACS_BBDD NCURSES_WACS('B')
#define WACS_DBBD NCURSES_WACS('A')
#define WACS_DBDD NCURSES_WACS('G')
#define WACS_DDDB NCURSES_WACS('F')
#define WACS_DDBD NCURSES_WACS('H')
#define WACS_BDDD NCURSES_WACS('I')
#define WACS_BDBD NCURSES_WACS('R')
#define WACS_DBDB NCURSES_WACS('Y')
#define WACS_DDDD NCURSES_WACS('E')
#define WACS_D_ULCORNER WACS_BDDB
#define WACS_D_LLCORNER WACS_DDBB
#define WACS_D_URCORNER WACS_BBDD
#define WACS_D_LRCORNER WACS_DBBD
#define WACS_D_RTEE WACS_DBDD
#define WACS_D_LTEE WACS_DDDB
#define WACS_D_BTEE WACS_DDBD
#define WACS_D_TTEE WACS_BDDD
#define WACS_D_HLINE WACS_BDBD
#define WACS_D_VLINE WACS_DBDB
#define WACS_D_PLUS WACS_DDDD
/* thick lines */
#define WACS_BTTB NCURSES_WACS('L')
#define WACS_TTBB NCURSES_WACS('M')
#define WACS_BBTT NCURSES_WACS('K')
#define WACS_TBBT NCURSES_WACS('J')
#define WACS_TBTT NCURSES_WACS('U')
#define WACS_TTTB NCURSES_WACS('T')
#define WACS_TTBT NCURSES_WACS('V')
#define WACS_BTTT NCURSES_WACS('W')
#define WACS_BTBT NCURSES_WACS('Q')
#define WACS_TBTB NCURSES_WACS('X')
#define WACS_TTTT NCURSES_WACS('N')
#define WACS_T_ULCORNER WACS_BTTB
#define WACS_T_LLCORNER WACS_TTBB
#define WACS_T_URCORNER WACS_BBTT
#define WACS_T_LRCORNER WACS_TBBT
#define WACS_T_RTEE WACS_TBTT
#define WACS_T_LTEE WACS_TTTB
#define WACS_T_BTEE WACS_TTBT
#define WACS_T_TTEE WACS_BTTT
#define WACS_T_HLINE WACS_BTBT
#define WACS_T_VLINE WACS_TBTB
#define WACS_T_PLUS WACS_TTTT
/*
* Function prototypes for wide-character operations.
*

View File

@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
# $Revision: 1.350 $
# $Date: 2009/09/19 19:32:02 $
# $Revision: 1.353 $
# $Date: 2009/10/03 18:57:06 $
#
# 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
@ -780,12 +780,12 @@ linux-m|Linux console no color,
# 1.9.9.
linux-c-nc|linux console with color-change,
ccc,
initc=\E]P%p1%x%p2%{256}%*%{1000}%/%02x%p3%{256}%*%{1000}%/%02x%p4%{256}%*%{1000}%/%02x,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
oc=\E]R, use=linux-basic,
# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
linux-c|linux console 1.3.6+ for older ncurses,
ccc,
initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;,
initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;,
oc=\E]R, use=linux-basic,
# The 2.2.x kernels add a private mode that sets the cursor type; use that to
@ -848,6 +848,16 @@ kon|kon2|jfbterm|Kanji ON Linux console,
initp@, kcbt@, oc@, op=\E[37;40m, rs1=\Ec, tsl=\E[?T,
use=linux,
# 16-color linux console entry; this works with a 256-character
# console font but bright background colors turn into dim ones when
# you use a 512-character console font. This uses bold for bright
# foreground colors and blink for bright background colors.
linux-16color|linux console with 16 colors,
colors#16, ncv#54, pairs#256,
setab=\E[4%p1%{7}%m%d%?%p1%{7}%>%t;5%e;25%;m,
setaf=\E[3%p1%{7}%m%d%?%p1%{7}%>%t;1%e;21%;m,
use=linux,
#### Mach
#
@ -2722,13 +2732,13 @@ putty|PuTTY terminal emulator,
indn=\E[%p1%dS,
initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
kb2=\E[G, kbs=\177, kcan=^C, kcbt=\E[Z, kcub1=\E[D,
kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~,
kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
@ -3290,11 +3300,15 @@ xterm-basic|modern xterm terminal emulator - common,
xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33,
# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
# If configured to support 88- or 256-colors (which is fairly common in 2009),
# xterm also recognizes the control sequences for initc -TD
xterm-16color|xterm with 16 colors like aixterm,
ccc,
initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
use=ibm+16color, use=xterm-new,
# This is a compile-time feature of XFree86 xterm beginning with
# 256-colors is a compile-time feature of XFree86 xterm beginning with
# patch #111 (1999/7/10) -TD
xterm+256color|xterm 256-color feature,
ccc,
@ -3304,7 +3318,7 @@ xterm+256color|xterm 256-color feature,
setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
setb@, setf@,
# This is a compile-time feature of XFree86 xterm beginning with
# 88-colors is a compile-time feature of XFree86 xterm beginning with
# patch #115 (1999/9/18) -TD
#
# Note that the escape sequences used are the same as for 256-colors - xterm
@ -12423,7 +12437,7 @@ dgmode+color|Color info for Data General D470C terminals in DG mode,
dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
bce, ccc,
colors#52, ncv#53, pairs#26,
initp=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X,
initp=\036RG0%p1%02X%p2%{255}%*%{1000}%/%02X%p3%{255}%*%{1000}%/%02X%p4%{255}%*%{1000}%/%02X%p5%{255}%*%{1000}%/%02X%p6%{255}%*%{1000}%/%02X%p7%{255}%*%{1000}%/%02X,
oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00,
op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D,
scp=\036RG2%p1%02X,
@ -12432,7 +12446,7 @@ dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
dg+ccc|Configurable color info for DG D430C terminals in DG mode,
bce, ccc,
colors#52, ncv#53, pairs#26,
initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00,
op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=,
scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c,
@ -21882,6 +21896,13 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# * improve interix smso by using reverse rather than bold (report by
# Kristof Zelechovski).
#
# 2009-10-03
# * remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
# * add linux-16color (Benjamin Sittler)
# * correct initc capability of linux-c-nc end-of-range (Benjamin Sittler)
# * similar change for dg+ccc and dgunix+ccc (Benjamin Sittler)
# * add ccc and initc capabilities to xterm-16color -TD
#
# The following sets edit modes for GNU EMACS.
# Local Variables:
# fill-prefix:"\t"

View File

@ -39,7 +39,7 @@
#define CUR SP_TERMTYPE
#endif
MODULE_ID("$Id: lib_acs.c,v 1.40 2009/06/06 18:08:04 tom Exp $")
MODULE_ID("$Id: lib_acs.c,v 1.41 2009/10/04 00:26:54 tom Exp $")
#if BROKEN_LINKER || USE_REENTRANT
#define MyBuffer _nc_prescreen.real_acs_map
@ -140,6 +140,30 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
real_map['{'] = '*'; /* should be greek pi */
real_map['|'] = '!'; /* should be not-equal */
real_map['}'] = 'f'; /* should be pound-sterling symbol */
/* thick-line-drawing */
real_map['L'] = '+'; /* upper left corner */
real_map['M'] = '+'; /* lower left corner */
real_map['K'] = '+'; /* upper right corner */
real_map['J'] = '+'; /* lower right corner */
real_map['T'] = '+'; /* tee pointing left */
real_map['U'] = '+'; /* tee pointing right */
real_map['V'] = '+'; /* tee pointing up */
real_map['W'] = '+'; /* tee pointing down */
real_map['Q'] = '-'; /* horizontal line */
real_map['X'] = '|'; /* vertical line */
real_map['N'] = '+'; /* large plus or crossover */
/* double-line-drawing */
real_map['C'] = '+'; /* upper left corner */
real_map['D'] = '+'; /* lower left corner */
real_map['B'] = '+'; /* upper right corner */
real_map['A'] = '+'; /* lower right corner */
real_map['G'] = '+'; /* tee pointing left */
real_map['F'] = '+'; /* tee pointing right */
real_map['H'] = '+'; /* tee pointing up */
real_map['I'] = '+'; /* tee pointing down */
real_map['R'] = '-'; /* horizontal line */
real_map['Y'] = '|'; /* vertical line */
real_map['E'] = '+'; /* large plus or crossover */
#ifdef USE_TERM_DRIVER
CallDriver_2(SP_PARM, initacs, real_map, fake_map);

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 2002,2006 Free Software Foundation, Inc. *
* Copyright (c) 2002-2008,2009 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 *
@ -32,7 +32,7 @@
#include <curses.priv.h>
MODULE_ID("$Id: lib_wacs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $")
MODULE_ID("$Id: lib_wacs.c,v 1.9 2009/10/03 20:18:21 tom Exp $")
NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
@ -79,6 +79,30 @@ _nc_init_wacs(void)
{ '{', { '*', 0x03c0 }}, /* greek pi */
{ '|', { '!', 0x2260 }}, /* not-equal */
{ '}', { 'f', 0x00a3 }}, /* pound-sterling symbol */
/* thick-line-drawing */
{ 'L', { '+', 0x250f }}, /* upper left corner */
{ 'M', { '+', 0x2517 }}, /* lower left corner */
{ 'K', { '+', 0x2513 }}, /* upper right corner */
{ 'J', { '+', 0x251b }}, /* lower right corner */
{ 'T', { '+', 0x2523 }}, /* tee pointing left */
{ 'U', { '+', 0x252b }}, /* tee pointing right */
{ 'V', { '+', 0x253b }}, /* tee pointing up */
{ 'W', { '+', 0x2533 }}, /* tee pointing down */
{ 'Q', { '-', 0x2501 }}, /* horizontal line */
{ 'X', { '|', 0x2503 }}, /* vertical line */
{ 'N', { '+', 0x254b }}, /* large plus or crossover */
/* double-line-drawing */
{ 'C', { '+', 0x2554 }}, /* upper left corner */
{ 'D', { '+', 0x255a }}, /* lower left corner */
{ 'B', { '+', 0x2557 }}, /* upper right corner */
{ 'A', { '+', 0x255d }}, /* lower right corner */
{ 'G', { '+', 0x2563 }}, /* tee pointing left */
{ 'F', { '+', 0x2560 }}, /* tee pointing right */
{ 'H', { '+', 0x2569 }}, /* tee pointing up */
{ 'I', { '+', 0x2566 }}, /* tee pointing down */
{ 'R', { '-', 0x2550 }}, /* horizontal line */
{ 'Y', { '|', 0x2551 }}, /* vertical line */
{ 'E', { '+', 0x256c }}, /* large plus or crossover */
};
/* *INDENT-ON* */

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1999-2007,2008 Free Software Foundation, Inc. *
* Copyright (c) 2007,2008 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 *
@ -29,7 +29,7 @@
/*
* Author: Thomas E. Dickey - 2007
*
* $Id: dots_mvcur.c,v 1.2 2008/02/09 18:08:57 tom Exp $
* $Id: dots_mvcur.c,v 1.3 2008/02/09 18:08:57 tom Exp $
*
* A simple demo of the terminfo interface, and mvcur.
*/

View File

@ -40,7 +40,7 @@ AUTHOR
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
$Id: ncurses.c,v 1.345 2009/08/29 20:24:57 tom Exp $
$Id: ncurses.c,v 1.347 2009/10/03 22:01:56 tom Exp $
***************************************************************************/
@ -3382,6 +3382,128 @@ show_wacs_chars(int repeat, attr_t attr, short pair)
#endif
}
#ifdef WACS_D_PLUS
static void
show_wacs_chars_double(int repeat, attr_t attr, short pair)
/* display the wide-ACS character set */
{
cchar_t temp;
int n;
/*#define BOTH2(name) #name, &(name) */
#define BOTH2(name) #name, MERGE_ATTR(name)
erase();
attron(A_BOLD);
mvaddstr(0, 20, "Display of the Wide-ACS Character Set");
attroff(A_BOLD);
refresh();
n = show_1_wacs(0, repeat, BOTH2(WACS_D_ULCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_URCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_LLCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_LRCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_LTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_RTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_TTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_BTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_HLINE));
n = show_1_wacs(n, repeat, BOTH2(WACS_D_VLINE));
n = show_1_wacs(n, repeat, BOTH2(WACS_LARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_RARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_UARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_DARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_BLOCK));
n = show_1_wacs(n, repeat, BOTH2(WACS_BOARD));
n = show_1_wacs(n, repeat, BOTH2(WACS_LANTERN));
n = show_1_wacs(n, repeat, BOTH2(WACS_BULLET));
n = show_1_wacs(n, repeat, BOTH2(WACS_CKBOARD));
n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
#ifdef CURSES_WACS_ARRAY
n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_NEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_LEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_STERLING));
n = show_1_wacs(n, repeat, BOTH2(WACS_PI));
n = show_1_wacs(n, repeat, BOTH2(WACS_S1));
n = show_1_wacs(n, repeat, BOTH2(WACS_S3));
n = show_1_wacs(n, repeat, BOTH2(WACS_S7));
n = show_1_wacs(n, repeat, BOTH2(WACS_S9));
#endif
}
#endif
#ifdef WACS_T_PLUS
static void
show_wacs_chars_thick(int repeat, attr_t attr, short pair)
/* display the wide-ACS character set */
{
cchar_t temp;
int n;
/*#define BOTH2(name) #name, &(name) */
#define BOTH2(name) #name, MERGE_ATTR(name)
erase();
attron(A_BOLD);
mvaddstr(0, 20, "Display of the Wide-ACS Character Set");
attroff(A_BOLD);
refresh();
n = show_1_wacs(0, repeat, BOTH2(WACS_T_ULCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_URCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_LLCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_LRCORNER));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_LTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_RTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_TTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_BTEE));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_HLINE));
n = show_1_wacs(n, repeat, BOTH2(WACS_T_VLINE));
n = show_1_wacs(n, repeat, BOTH2(WACS_LARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_RARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_UARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_DARROW));
n = show_1_wacs(n, repeat, BOTH2(WACS_BLOCK));
n = show_1_wacs(n, repeat, BOTH2(WACS_BOARD));
n = show_1_wacs(n, repeat, BOTH2(WACS_LANTERN));
n = show_1_wacs(n, repeat, BOTH2(WACS_BULLET));
n = show_1_wacs(n, repeat, BOTH2(WACS_CKBOARD));
n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
#ifdef CURSES_WACS_ARRAY
n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_NEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_LEQUAL));
n = show_1_wacs(n, repeat, BOTH2(WACS_STERLING));
n = show_1_wacs(n, repeat, BOTH2(WACS_PI));
n = show_1_wacs(n, repeat, BOTH2(WACS_S1));
n = show_1_wacs(n, repeat, BOTH2(WACS_S3));
n = show_1_wacs(n, repeat, BOTH2(WACS_S7));
n = show_1_wacs(n, repeat, BOTH2(WACS_S9));
#endif
}
#endif
#undef MERGE_ATTR
#define MERGE_ATTR(n,wch) merge_wide_attr(&temp[n], wch, attr, pair)
@ -3514,6 +3636,16 @@ wide_acs_display(void)
case 'a':
ToggleAcs(last_show_wacs, show_wacs_chars);
break;
#ifdef WACS_D_PLUS
case 'd':
ToggleAcs(last_show_wacs, show_wacs_chars_double);
break;
#endif
#ifdef WACS_T_PLUS
case 't':
ToggleAcs(last_show_wacs, show_wacs_chars_thick);
break;
#endif
case 'x':
ToggleAcs(last_show_wacs, show_wbox_chars);
break;
@ -3553,7 +3685,7 @@ wide_acs_display(void)
show_upper_widechars(digit * 32 + 128, repeat, space, attr, pair);
mvprintw(LINES - 3, 0,
"Select: a WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
"Select: a/d/t WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
if (use_colors) {
mvprintw(LINES - 2, 0,
"v/V, f/F, b/B cycle through video attributes (%s) and color %d/%d.",