Import ncurses 5.2-20020615 to fix a first-column display bug.
This commit is contained in:
parent
3badd6bcab
commit
b82face19f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/ncurses/dist/; revision=98503 svn path=/vendor/ncurses/5.2-20020615/; revision=98505; tag=vendor/ncurses/5.2-20020615
@ -1,4 +1,4 @@
|
|||||||
-- $Id: NEWS,v 1.686 2002/05/18 21:26:10 tom Exp $
|
-- $Id: NEWS,v 1.690 2002/06/16 00:31:21 tom Exp $
|
||||||
|
|
||||||
This is a log of changes that ncurses has gone through since Zeyd started
|
This is a log of changes that ncurses has gone through since Zeyd started
|
||||||
working with Pavel Curtis' original work, pcurses, in 1992.
|
working with Pavel Curtis' original work, pcurses, in 1992.
|
||||||
@ -6,6 +6,41 @@ working with Pavel Curtis' original work, pcurses, in 1992.
|
|||||||
Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
|
Changes through 1.9.9e are recorded by Zeyd M. Ben-Halim.
|
||||||
Changes since 1.9.9e are recorded by Thomas Dickey.
|
Changes since 1.9.9e are recorded by Thomas Dickey.
|
||||||
|
|
||||||
|
20020615
|
||||||
|
+ modify wgetch() to allow returning ungetch'd KEY_RESIZE as a function
|
||||||
|
key code in get_wch().
|
||||||
|
+ extended resize-handling in test/ncurses 'a' menu to the entire
|
||||||
|
stack of windows created with 'w' commands.
|
||||||
|
+ improve $COLORFGBG feature by interpreting an out-of-range color
|
||||||
|
value as an SGR 39 or 49, for foreground/background respectively.
|
||||||
|
+ correct a typo in configure --enable-colorfgbg option, and move it
|
||||||
|
to the experimental section (cf: 20011208).
|
||||||
|
|
||||||
|
20020601
|
||||||
|
+ add logic to dump_entry.c to remove function-key definitions that do
|
||||||
|
not fit into the 1023-byte limit for generated termcaps. This makes
|
||||||
|
hds200 fit.
|
||||||
|
+ more improvements to tic's warnings, including logic to ignore
|
||||||
|
differences between delay values in sgr strings.
|
||||||
|
+ move definition of KEY_RESIZE into MKkeydefs.sh script, to
|
||||||
|
accommodate Caps.osf1r5 which introduced a conflicting definition.
|
||||||
|
|
||||||
|
20020525
|
||||||
|
+ add simple resize-handling in test/ncurses.c 'a' menu.
|
||||||
|
+ fixes in keyname() and _tracechar() to handle negative values.
|
||||||
|
+ make tic's warnings about mismatches in sgr strings easier to follow.
|
||||||
|
+ correct tic checks for number of parameters in smgbp and smglp.
|
||||||
|
+ improve scoansi terminfo entry, and add scoansi-new entry -TD
|
||||||
|
+ add pcvt25-color terminfo entry -TD
|
||||||
|
+ add kf13-kf48 strings to cons25w terminfo entry (reported by Stephen
|
||||||
|
Hurd <deuce@lordlegacy.org> in newsgroup lucky.freebsd.bugs) -TD
|
||||||
|
+ add entrypoint _nc_trace_ttymode(), use this to distinguish the
|
||||||
|
Ottyb and Nttyb members of terminal (aka cur_term), for tracing.
|
||||||
|
|
||||||
|
20020523
|
||||||
|
+ correct and simplify logic for lib_pad.c change in 20020518 (reported
|
||||||
|
by Mike Castle).
|
||||||
|
|
||||||
20020518
|
20020518
|
||||||
+ fix lib_pad.c for case of drawing a double-width character which
|
+ fix lib_pad.c for case of drawing a double-width character which
|
||||||
falls off the left margin of the pad (patch by Kriang Lerdsuwanakij
|
falls off the left margin of the pad (patch by Kriang Lerdsuwanakij
|
||||||
|
52
contrib/ncurses/configure
vendored
52
contrib/ncurses/configure
vendored
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# From configure.in Revision: 1.267
|
# From configure.in Revision: 1.268
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -251,15 +251,15 @@ cat <<EOF
|
|||||||
--enable-tcap-names compile with user-definable terminal capabilities
|
--enable-tcap-names compile with user-definable terminal capabilities
|
||||||
Development Code:
|
Development Code:
|
||||||
--with-develop enable all development options
|
--with-develop enable all development options
|
||||||
--enable-colorfgbg compile with \$COLORFGBG code
|
|
||||||
--enable-hard-tabs compile with hard-tabs code
|
--enable-hard-tabs compile with hard-tabs code
|
||||||
--disable-root-environ limit environment when running as root
|
--disable-root-environ limit environment when running as root
|
||||||
--enable-xmc-glitch compile with limited support for xmc
|
--enable-xmc-glitch compile with limited support for xmc
|
||||||
Experimental Code:
|
Experimental Code:
|
||||||
--disable-assumed-color do not assume anything about default-colors
|
--disable-assumed-color do not assume anything about default-colors
|
||||||
|
--disable-hashmap compile without hashmap scrolling-optimization
|
||||||
EOF
|
EOF
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
--disable-hashmap compile without hashmap scrolling-optimization
|
--enable-colorfgbg compile with \$COLORFGBG code
|
||||||
--enable-safe-sprintf compile with experimental safe-sprintf code
|
--enable-safe-sprintf compile with experimental safe-sprintf code
|
||||||
--disable-scroll-hints compile without scroll-hints code
|
--disable-scroll-hints compile without scroll-hints code
|
||||||
--enable-widec compile with experimental wide-char/UTF-8 code
|
--enable-widec compile with experimental wide-char/UTF-8 code
|
||||||
@ -4165,27 +4165,9 @@ fi
|
|||||||
|
|
||||||
echo "$ac_t""$with_develop" 1>&6
|
echo "$ac_t""$with_develop" 1>&6
|
||||||
|
|
||||||
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
|
||||||
echo $ac_n "checking if you want colorfgbg code""... $ac_c" 1>&6
|
|
||||||
echo "configure:4171: checking if you want colorfgbg code" >&5
|
|
||||||
|
|
||||||
# Check whether --enable-enable-colorfgbg or --disable-enable-colorfgbg was given.
|
|
||||||
if test "${enable_enable_colorfgbg+set}" = set; then
|
|
||||||
enableval="$enable_enable_colorfgbg"
|
|
||||||
with_colorfgbg=$enableval
|
|
||||||
else
|
|
||||||
with_colorfgbg=$with_develop
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "$ac_t""$with_colorfgbg" 1>&6
|
|
||||||
test "$with_colorfgbg" = yes && cat >> confdefs.h <<\EOF
|
|
||||||
#define USE_COLORFGBG 1
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
||||||
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
|
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
|
||||||
echo $ac_n "checking if you want hard-tabs code""... $ac_c" 1>&6
|
echo $ac_n "checking if you want hard-tabs code""... $ac_c" 1>&6
|
||||||
echo "configure:4189: checking if you want hard-tabs code" >&5
|
echo "configure:4171: checking if you want hard-tabs code" >&5
|
||||||
|
|
||||||
# Check whether --enable-hard-tabs or --disable-hard-tabs was given.
|
# Check whether --enable-hard-tabs or --disable-hard-tabs was given.
|
||||||
if test "${enable_hard_tabs+set}" = set; then
|
if test "${enable_hard_tabs+set}" = set; then
|
||||||
@ -4202,7 +4184,7 @@ EOF
|
|||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking if you want to use restrict environment when running as root""... $ac_c" 1>&6
|
echo $ac_n "checking if you want to use restrict environment when running as root""... $ac_c" 1>&6
|
||||||
echo "configure:4206: checking if you want to use restrict environment when running as root" >&5
|
echo "configure:4188: checking if you want to use restrict environment when running as root" >&5
|
||||||
|
|
||||||
# Check whether --enable-root-environ or --disable-root-environ was given.
|
# Check whether --enable-root-environ or --disable-root-environ was given.
|
||||||
if test "${enable_root_environ+set}" = set; then
|
if test "${enable_root_environ+set}" = set; then
|
||||||
@ -4220,7 +4202,7 @@ EOF
|
|||||||
|
|
||||||
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
|
### use option --enable-xmc-glitch to turn on use of magic-cookie optimize
|
||||||
echo $ac_n "checking if you want limited support for xmc""... $ac_c" 1>&6
|
echo $ac_n "checking if you want limited support for xmc""... $ac_c" 1>&6
|
||||||
echo "configure:4224: checking if you want limited support for xmc" >&5
|
echo "configure:4206: checking if you want limited support for xmc" >&5
|
||||||
|
|
||||||
# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
|
# Check whether --enable-xmc-glitch or --disable-xmc-glitch was given.
|
||||||
if test "${enable_xmc_glitch+set}" = set; then
|
if test "${enable_xmc_glitch+set}" = set; then
|
||||||
@ -4241,7 +4223,7 @@ EOF
|
|||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking if you do not want to assume colors are white-on-black""... $ac_c" 1>&6
|
echo $ac_n "checking if you do not want to assume colors are white-on-black""... $ac_c" 1>&6
|
||||||
echo "configure:4245: checking if you do not want to assume colors are white-on-black" >&5
|
echo "configure:4227: checking if you do not want to assume colors are white-on-black" >&5
|
||||||
|
|
||||||
# Check whether --enable-assumed-color or --disable-assumed-color was given.
|
# Check whether --enable-assumed-color or --disable-assumed-color was given.
|
||||||
if test "${enable_assumed_color+set}" = set; then
|
if test "${enable_assumed_color+set}" = set; then
|
||||||
@ -4259,7 +4241,7 @@ EOF
|
|||||||
|
|
||||||
### use option --enable-hashmap to turn on use of hashmap scrolling logic
|
### use option --enable-hashmap to turn on use of hashmap scrolling logic
|
||||||
echo $ac_n "checking if you want hashmap scrolling-optimization code""... $ac_c" 1>&6
|
echo $ac_n "checking if you want hashmap scrolling-optimization code""... $ac_c" 1>&6
|
||||||
echo "configure:4263: checking if you want hashmap scrolling-optimization code" >&5
|
echo "configure:4245: checking if you want hashmap scrolling-optimization code" >&5
|
||||||
|
|
||||||
# Check whether --enable-hashmap or --disable-hashmap was given.
|
# Check whether --enable-hashmap or --disable-hashmap was given.
|
||||||
if test "${enable_hashmap+set}" = set; then
|
if test "${enable_hashmap+set}" = set; then
|
||||||
@ -4275,6 +4257,24 @@ test "$with_hashmap" = yes && cat >> confdefs.h <<\EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
|
||||||
|
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
||||||
|
echo $ac_n "checking if you want colorfgbg code""... $ac_c" 1>&6
|
||||||
|
echo "configure:4263: checking if you want colorfgbg code" >&5
|
||||||
|
|
||||||
|
# Check whether --enable-colorfgbg or --disable-colorfgbg was given.
|
||||||
|
if test "${enable_colorfgbg+set}" = set; then
|
||||||
|
enableval="$enable_colorfgbg"
|
||||||
|
with_colorfgbg=$enableval
|
||||||
|
else
|
||||||
|
with_colorfgbg=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$ac_t""$with_colorfgbg" 1>&6
|
||||||
|
test "$with_colorfgbg" = yes && cat >> confdefs.h <<\EOF
|
||||||
|
#define USE_COLORFGBG 1
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking if you want experimental safe-sprintf code""... $ac_c" 1>&6
|
echo $ac_n "checking if you want experimental safe-sprintf code""... $ac_c" 1>&6
|
||||||
echo "configure:4280: checking if you want experimental safe-sprintf code" >&5
|
echo "configure:4280: checking if you want experimental safe-sprintf code" >&5
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
dnl***************************************************************************
|
dnl***************************************************************************
|
||||||
dnl Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. *
|
dnl Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
dnl *
|
dnl *
|
||||||
dnl Permission is hereby granted, free of charge, to any person obtaining a *
|
dnl Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
dnl copy of this software and associated documentation files (the *
|
dnl copy of this software and associated documentation files (the *
|
||||||
@ -26,16 +26,16 @@ dnl sale, use or other dealings in this Software without prior written *
|
|||||||
dnl authorization. *
|
dnl authorization. *
|
||||||
dnl***************************************************************************
|
dnl***************************************************************************
|
||||||
dnl
|
dnl
|
||||||
dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
|
dnl Author: Thomas E. Dickey 1995-on
|
||||||
dnl
|
dnl
|
||||||
dnl $Id: configure.in,v 1.267 2002/05/18 21:14:13 tom Exp $
|
dnl $Id: configure.in,v 1.268 2002/06/15 17:40:45 tom Exp $
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl
|
dnl
|
||||||
dnl See http://dickey.his.com/autoconf/ for additional information.
|
dnl See http://dickey.his.com/autoconf/ for additional information.
|
||||||
dnl
|
dnl
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
AC_PREREQ(2.13.20000819)
|
AC_PREREQ(2.13.20020210)
|
||||||
AC_REVISION($Revision: 1.267 $)
|
AC_REVISION($Revision: 1.268 $)
|
||||||
AC_INIT(ncurses/base/lib_initscr.c)
|
AC_INIT(ncurses/base/lib_initscr.c)
|
||||||
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
|
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
|
||||||
|
|
||||||
@ -723,15 +723,6 @@ AC_ARG_WITH(develop,
|
|||||||
[with_develop=no])
|
[with_develop=no])
|
||||||
AC_MSG_RESULT($with_develop)
|
AC_MSG_RESULT($with_develop)
|
||||||
|
|
||||||
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
|
||||||
AC_MSG_CHECKING(if you want colorfgbg code)
|
|
||||||
AC_ARG_ENABLE(enable-colorfgbg,
|
|
||||||
[ --enable-colorfgbg compile with \$COLORFGBG code],
|
|
||||||
[with_colorfgbg=$enableval],
|
|
||||||
[with_colorfgbg=$with_develop])
|
|
||||||
AC_MSG_RESULT($with_colorfgbg)
|
|
||||||
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
|
|
||||||
|
|
||||||
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
|
### use option --enable-hard-tabs to turn on use of hard-tabs optimize
|
||||||
AC_MSG_CHECKING(if you want hard-tabs code)
|
AC_MSG_CHECKING(if you want hard-tabs code)
|
||||||
AC_ARG_ENABLE(hard-tabs,
|
AC_ARG_ENABLE(hard-tabs,
|
||||||
@ -779,6 +770,15 @@ AC_ARG_ENABLE(hashmap,
|
|||||||
AC_MSG_RESULT($with_hashmap)
|
AC_MSG_RESULT($with_hashmap)
|
||||||
test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
|
test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
|
||||||
|
|
||||||
|
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
||||||
|
AC_MSG_CHECKING(if you want colorfgbg code)
|
||||||
|
AC_ARG_ENABLE(colorfgbg,
|
||||||
|
[ --enable-colorfgbg compile with \$COLORFGBG code],
|
||||||
|
[with_colorfgbg=$enableval],
|
||||||
|
[with_colorfgbg=no])
|
||||||
|
AC_MSG_RESULT($with_colorfgbg)
|
||||||
|
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
|
||||||
|
|
||||||
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
|
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
|
||||||
AC_ARG_ENABLE(safe-sprintf,
|
AC_ARG_ENABLE(safe-sprintf,
|
||||||
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
|
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: dist.mk,v 1.303 2002/05/18 19:18:04 tom Exp $
|
# $Id: dist.mk,v 1.306 2002/06/15 17:13:40 tom Exp $
|
||||||
# Makefile for creating ncurses distributions.
|
# Makefile for creating ncurses distributions.
|
||||||
#
|
#
|
||||||
# This only needs to be used directly as a makefile by developers, but
|
# This only needs to be used directly as a makefile by developers, but
|
||||||
@ -10,7 +10,7 @@ SHELL = /bin/sh
|
|||||||
# These define the major/minor/patch versions of ncurses.
|
# These define the major/minor/patch versions of ncurses.
|
||||||
NCURSES_MAJOR = 5
|
NCURSES_MAJOR = 5
|
||||||
NCURSES_MINOR = 2
|
NCURSES_MINOR = 2
|
||||||
NCURSES_PATCH = 20020518
|
NCURSES_PATCH = 20020615
|
||||||
|
|
||||||
# We don't append the patch to the version, since this only applies to releases
|
# We don't append the patch to the version, since this only applies to releases
|
||||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# $Id: MKkey_defs.sh,v 1.7 2002/01/13 01:36:32 tom Exp $
|
# $Id: MKkey_defs.sh,v 1.8 2002/06/01 17:24:28 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2001,2002 Free Software Foundation, Inc. #
|
# Copyright (c) 2001,2002 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
@ -44,6 +44,9 @@ pass3=pass3_$$
|
|||||||
pass4=pass4_$$
|
pass4=pass4_$$
|
||||||
trap 'rm -f $data pass[1234]_$$' 0 1 2 5 15
|
trap 'rm -f $data pass[1234]_$$' 0 1 2 5 15
|
||||||
sed -e 's/[ ]\+/ /g' < $DATA |sort -n +5 >$data
|
sed -e 's/[ ]\+/ /g' < $DATA |sort -n +5 >$data
|
||||||
|
cat >>$data <<EOF
|
||||||
|
key_resize kr1 str R1 KEY_RESIZE + ----- Terminal resize event
|
||||||
|
EOF
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
/*
|
/*
|
||||||
@ -51,8 +54,8 @@ cat <<EOF
|
|||||||
*/
|
*/
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# KEY_RESIZE
|
# KEY_RESET
|
||||||
maxkey=410
|
maxkey=345
|
||||||
|
|
||||||
for pass in 1 2 3 4
|
for pass in 1 2 3 4
|
||||||
do
|
do
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,1999,2000,2001,2002 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,9 +29,10 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
||||||
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
||||||
|
* and: Thomas E. Dickey 1996-on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: curses.h.in,v 1.128 2002/05/11 21:38:02 tom Exp $ */
|
/* $Id: curses.h.in,v 1.129 2002/06/01 17:22:56 tom Exp $ */
|
||||||
|
|
||||||
#ifndef __NCURSES_H
|
#ifndef __NCURSES_H
|
||||||
#define __NCURSES_H
|
#define __NCURSES_H
|
||||||
@ -963,4 +964,3 @@ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
|
|||||||
#define KEY_BREAK 0401 /* Break key (unreliable) */
|
#define KEY_BREAK 0401 /* Break key (unreliable) */
|
||||||
#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */
|
#define KEY_SRESET 0530 /* Soft (partial) reset (unreliable) */
|
||||||
#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */
|
#define KEY_RESET 0531 /* Reset or hard reset (unreliable) */
|
||||||
#define KEY_RESIZE 0632 /* Terminal resize event */
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Id: tic.h,v 1.40 2001/08/12 00:45:57 tom Exp $
|
* $Id: tic.h,v 1.41 2002/06/01 19:07:02 tom Exp $
|
||||||
* tic.h - Global variables and structures for the terminfo
|
* tic.h - Global variables and structures for the terminfo
|
||||||
* compiler.
|
* compiler.
|
||||||
*/
|
*/
|
||||||
@ -119,6 +119,7 @@ extern "C" {
|
|||||||
extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
|
extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
|
||||||
extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
|
extern NCURSES_EXPORT(void) _nc_tracef (char *, ...) GCC_PRINTFLIKE(1,2);
|
||||||
extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
|
extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
|
||||||
|
extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are the types of tokens returned by the scanner. The first
|
* These are the types of tokens returned by the scanner. The first
|
||||||
|
@ -37,7 +37,9 @@
|
|||||||
|
|
||||||
#include "menu.priv.h"
|
#include "menu.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: m_global.c,v 1.12 2000/12/10 02:16:48 tom Exp $")
|
MODULE_ID("$Id: m_global.c,v 1.13 2002/06/01 16:16:44 tom Exp $")
|
||||||
|
|
||||||
|
static char mark[] = "-";
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
|
NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
|
||||||
16, /* Nr. of chars high */
|
16, /* Nr. of chars high */
|
||||||
@ -73,7 +75,7 @@ NCURSES_EXPORT_VAR(MENU) _nc_Default_Menu = {
|
|||||||
(Menu_Hook)0, /* Item init */
|
(Menu_Hook)0, /* Item init */
|
||||||
(Menu_Hook)0, /* Item term */
|
(Menu_Hook)0, /* Item term */
|
||||||
(void *)0, /* userptr */
|
(void *)0, /* userptr */
|
||||||
"-", /* mark */
|
mark, /* mark */
|
||||||
ALL_MENU_OPTS, /* options */
|
ALL_MENU_OPTS, /* options */
|
||||||
0 /* status */
|
0 /* status */
|
||||||
};
|
};
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# Version 10.2.1
|
# Version 10.2.1
|
||||||
# $Date: 2002/01/12 17:31:53 $
|
# $Date: 2002/06/15 19:40:34 $
|
||||||
# terminfo syntax
|
# terminfo syntax
|
||||||
#
|
#
|
||||||
# Eric S. Raymond (current maintainer)
|
# Eric S. Raymond (current maintainer)
|
||||||
@ -804,8 +804,8 @@ pmcons|pmconsole|PMAX console,
|
|||||||
#
|
#
|
||||||
# klone+sgr-dumb is an error since the acsc does not match -TD
|
# klone+sgr-dumb is an error since the acsc does not match -TD
|
||||||
#
|
#
|
||||||
# In this description based on SCO's keyboard(HW) manpage list of default function key
|
# In this description based on SCO's keyboard(HW) manpage list of default
|
||||||
# values:
|
# function key values:
|
||||||
# F13-F24 are shifted F1-F12
|
# F13-F24 are shifted F1-F12
|
||||||
# F25-F36 are control F1-F12
|
# F25-F36 are control F1-F12
|
||||||
# F37-F48 are shift+control F1-F12
|
# F37-F48 are shift+control F1-F12
|
||||||
@ -820,33 +820,50 @@ pmcons|pmconsole|PMAX console,
|
|||||||
# which do not work (console or scoterm).
|
# which do not work (console or scoterm).
|
||||||
#
|
#
|
||||||
# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
|
# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
|
||||||
scoansi|SCO Extended ANSI standard crt,
|
scoansi-old|SCO Extended ANSI standard crt (5.0.5),
|
||||||
OTbs, am, bce, eo, xon,
|
OTbs, am, bce, eo, xon,
|
||||||
colors#8, cols#80, it#8, lines#25, pairs#64,
|
colors#8, cols#80, it#8, lines#25, pairs#64,
|
||||||
acsc=0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`ja0fxgqh2jYk?lZm@nEqDtCu4vAwBx3~y,
|
acsc=-\230.\231\,.+/0[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207,
|
||||||
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
|
bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
|
||||||
civis=\E[=14;12C, clear=\E[2J\E[H, cnorm=\E[=10;12C,
|
civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
|
||||||
cub1=\E[D, cud1=\E[B, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
|
cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B,
|
||||||
cuu1=\E[A, cvvis=\E[=0;12C, dch1=\E[P, dl=\E[%p1%dM,
|
cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
|
||||||
dl1=\E[M, ed=\E[m\E[J, el=\E[m\E[K, home=\E[H, ht=^I,
|
cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP,
|
||||||
ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=\E[S,
|
dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M,
|
||||||
indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H, kcbt=\E[Z,
|
ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I,
|
||||||
kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=^_,
|
hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L,
|
||||||
kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X,
|
ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H,
|
||||||
kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, kf18=\E[d,
|
kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
|
||||||
kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, kf22=\E[h,
|
kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
|
||||||
kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, kf27=\E[m,
|
kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c,
|
||||||
kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, kf31=\E[q,
|
kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
|
||||||
kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, kf36=\E[v,
|
kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
|
||||||
kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, kf40=\E[z,
|
kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
|
||||||
kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], kf45=\E[\^,
|
kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
|
||||||
kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, kf6=\E[R,
|
kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
|
||||||
kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
|
kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
|
||||||
knp=\E[G, kpp=\E[I, op=\E[37;40m, rev=\E[7m, ri=\E[T,
|
kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
|
||||||
rin=\E[%p1%dT, rmacs=\E[10m, rmam=\E[?7l, rmso=\E[m,
|
kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
|
||||||
rmul=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
|
kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8,
|
||||||
sgr0=\E[0;10m, smacs=\E[12m, smam=\E[?7h, smso=\E[7m,
|
rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m,
|
||||||
smul=\E[4m,
|
rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
|
||||||
|
setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m,
|
||||||
|
smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m,
|
||||||
|
scoansi-new|SCO Extended ANSI standard crt (5.0.6),
|
||||||
|
km,
|
||||||
|
civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
|
||||||
|
cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
|
||||||
|
rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
|
||||||
|
sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
|
||||||
|
smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
|
||||||
|
smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
|
||||||
|
smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
|
||||||
|
smgtp=\E[=0;%i%p1%dm, smm=\E[=10L,
|
||||||
|
wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr,
|
||||||
|
use=scoansi-old,
|
||||||
|
# make this easy to change...
|
||||||
|
scoansi|SCO Extended ANSI standard crt,
|
||||||
|
use=scoansi-old,
|
||||||
|
|
||||||
# This actually describes the generic SVr4 display driver for Intel boxes.
|
# This actually describes the generic SVr4 display driver for Intel boxes.
|
||||||
# The <dim=\E[2m> isn't documented and therefore may not be reliable.
|
# The <dim=\E[2m> isn't documented and therefore may not be reliable.
|
||||||
@ -1384,6 +1401,16 @@ pcvt50w|dec vt220 emulation with 50 lines and 132 cols,
|
|||||||
cols#132, lines#50,
|
cols#132, lines#50,
|
||||||
is2=\E[1;50r\E[50;1H, use=pcvtXX,
|
is2=\E[1;50r\E[50;1H, use=pcvtXX,
|
||||||
|
|
||||||
|
# OpenBSD implements a color variation
|
||||||
|
pcvt25-color|dec vt220 emulation with 25 lines and color,
|
||||||
|
cols#80, lines#25,
|
||||||
|
is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, 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=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
|
||||||
|
kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX,
|
||||||
|
use=ecma+color,
|
||||||
|
|
||||||
# Terminfo entries to enable the use of the ncurses library in colour on a
|
# Terminfo entries to enable the use of the ncurses library in colour on a
|
||||||
# NetBSD-arm32 console (only tested on a RiscPC).
|
# NetBSD-arm32 console (only tested on a RiscPC).
|
||||||
# Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
|
# Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
|
||||||
@ -1510,6 +1537,12 @@ mgterm,
|
|||||||
#
|
#
|
||||||
# Setting colors turns off reverse; we cannot guarantee order, so use ncv.
|
# Setting colors turns off reverse; we cannot guarantee order, so use ncv.
|
||||||
# Note that this disables standout with color.
|
# Note that this disables standout with color.
|
||||||
|
#
|
||||||
|
# The emulator sends difference strings based on shift- and control-keys,
|
||||||
|
# like scoansi:
|
||||||
|
# F13-F24 are shifted F1-F12
|
||||||
|
# F25-F36 are control F1-F12
|
||||||
|
# F37-F48 are shift+control F1-F12
|
||||||
cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
|
cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
|
||||||
am, bce, bw, eo, msgr, npc,
|
am, bce, bw, eo, msgr, npc,
|
||||||
colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
|
colors#8, cols#80, it#8, lines#25, ncv#21, pairs#64,
|
||||||
@ -1523,12 +1556,19 @@ cons25w|ansiw|ansi80x25-raw|freebsd console (25-line raw mode),
|
|||||||
il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, kb2=\E[E,
|
il=\E[%p1%dL, il1=\E[L, ind=\E[S, indn=\E[%p1%dS, kb2=\E[E,
|
||||||
kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
|
kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
|
||||||
kcuu1=\E[A, kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V,
|
kcuu1=\E[A, kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V,
|
||||||
kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q,
|
kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a,
|
||||||
kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
|
kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N,
|
||||||
kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rev=\E[7m,
|
kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j,
|
||||||
ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, rs2=\E[x\E[m\Ec,
|
kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o,
|
||||||
setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m,
|
kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s,
|
||||||
smso=\E[7m, vpa=\E[%i%p1%dd,
|
kf34=\E[t, kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x,
|
||||||
|
kf39=\E[y, kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[,
|
||||||
|
kf43=\E[\\, kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`,
|
||||||
|
kf48=\E[{, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
|
||||||
|
khome=\E[H, kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E,
|
||||||
|
op=\E[x, rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmso=\E[m,
|
||||||
|
rs2=\E[x\E[m\Ec, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
|
||||||
|
sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
|
||||||
cons25|ansis|ansi80x25|freebsd console (25-line ansi mode),
|
cons25|ansis|ansi80x25|freebsd console (25-line ansi mode),
|
||||||
acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
|
acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~\371,
|
||||||
use=cons25w,
|
use=cons25w,
|
||||||
@ -2049,7 +2089,7 @@ vt200-js|vt220-js|dec vt200 series with jump scroll,
|
|||||||
is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
|
is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m,
|
||||||
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
||||||
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8,
|
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8,
|
||||||
rf=/usr/lib/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
|
rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
|
||||||
rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m,
|
rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m,
|
||||||
rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=,
|
rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, smdc=,
|
||||||
smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m,
|
smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m,
|
||||||
@ -3100,7 +3140,7 @@ konsole|KDE console window,
|
|||||||
#
|
#
|
||||||
# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
|
# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
|
||||||
# Since rxvt is not really compatible with xterm, it should be configured as
|
# Since rxvt is not really compatible with xterm, it should be configured as
|
||||||
# "rxvt-basic" (monochrome) and "rxvt".
|
# "rxvt" (monochrome) and "rxvt-color".
|
||||||
rxvt-basic|rxvt terminal base (X Window System),
|
rxvt-basic|rxvt terminal base (X Window System),
|
||||||
OTbs, am, bce, eo, km, mir, msgr, xenl, xon,
|
OTbs, am, bce, eo, km, mir, msgr, xenl, xon,
|
||||||
cols#80, it#8, lines#24,
|
cols#80, it#8, lines#24,
|
||||||
@ -3392,11 +3432,11 @@ screen|VT 100/ANSI X3.64 virtual terminal,
|
|||||||
cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
|
cvvis=\E[34l, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM,
|
||||||
dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
|
dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
|
||||||
flash=\Eg, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
|
flash=\Eg, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@,
|
||||||
il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcub1=\EOD,
|
il=\E[%p1%dL, il1=\E[L, ind=^J, is2=\E)0, kbs=^H, kcbt=\E[Z,
|
||||||
kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~,
|
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
||||||
kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
|
kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~,
|
||||||
kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
|
kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
|
||||||
kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
|
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~,
|
khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
|
||||||
nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l,
|
nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l,
|
||||||
rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7,
|
rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m, rs2=\Ec, sc=\E7,
|
||||||
@ -3787,7 +3827,7 @@ news-unk|SONY NEWS vt100 emulator common entry,
|
|||||||
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
|
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
|
||||||
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
|
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M,
|
||||||
ed=\E[J, el=\E[K, home=\E[H, ht=^I,
|
ed=\E[J, el=\E[K, home=\E[H, ht=^I,
|
||||||
if=/usr/lib/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
|
if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L,
|
||||||
is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
|
is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
|
||||||
kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
|
kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
|
||||||
kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
|
kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
|
||||||
@ -3835,7 +3875,7 @@ news-old-unk|SONY NEWS vt100 emulator common entry,
|
|||||||
OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
|
OTnl=^J, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
|
||||||
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
|
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C,
|
||||||
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
|
cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
|
||||||
home=\E[H, ht=^I, if=/usr/lib/tabset/vt100, kbs=^H,
|
home=\E[H, ht=^I, if=/usr/share/tabset/vt100, kbs=^H,
|
||||||
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
|
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
|
||||||
kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM,
|
kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM,
|
||||||
rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
|
rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
|
||||||
@ -5190,7 +5230,7 @@ adm31-old|o31|old adm31,
|
|||||||
adm36|LSI ADM36,
|
adm36|LSI ADM36,
|
||||||
OTbs, OTpt,
|
OTbs, OTpt,
|
||||||
OTkn#4,
|
OTkn#4,
|
||||||
if=/usr/lib/tabset/vt100,
|
if=/usr/share/tabset/vt100,
|
||||||
is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l,
|
is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l,
|
||||||
use=vt100,
|
use=vt100,
|
||||||
# (adm42: removed obsolete ":ma=^K^P:" -- esr)
|
# (adm42: removed obsolete ":ma=^K^P:" -- esr)
|
||||||
@ -15471,7 +15511,7 @@ mai|basic4|MAI Basic Four in ansi mode,
|
|||||||
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=^X,
|
cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=^X,
|
||||||
cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P,
|
cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P,
|
||||||
dl1=\E[M, ed=^_, el=^^, home=^], ht=^I,
|
dl1=\E[M, ed=^_, el=^^, home=^], ht=^I,
|
||||||
if=/usr/lib/tabset/vt100, il1=\E[L, ind=\ED,
|
if=/usr/share/tabset/vt100, il1=\E[L, ind=\ED,
|
||||||
is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H,
|
is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H,
|
||||||
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
|
||||||
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
|
kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
|
||||||
@ -19443,6 +19483,16 @@ v3220|LANPAR Vision II model 3220/3221/3222,
|
|||||||
# 2001-12-08
|
# 2001-12-08
|
||||||
# * update gnome entry to Redhat 7.2 -TD
|
# * update gnome entry to Redhat 7.2 -TD
|
||||||
#
|
#
|
||||||
|
# 2002-05-25
|
||||||
|
# * add kf13-kf48 strings to cons25w -TD
|
||||||
|
# * add pcvt25-color entry -TD
|
||||||
|
# * changed a few /usr/lib/tabset -> /usr/share/tabset.
|
||||||
|
# * improve some features of scoansi entry based on SCO's version -TD
|
||||||
|
# * add scoansi-new entry corresponding to OpenServer 5.0.6
|
||||||
|
#
|
||||||
|
# 2002-06-15
|
||||||
|
# * add kcbt to screen entry -TD
|
||||||
|
#
|
||||||
# The following sets edit modes for GNU EMACS.
|
# The following sets edit modes for GNU EMACS.
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# fill-prefix:"\t"
|
# fill-prefix:"\t"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# $Id: MKkeyname.awk,v 1.21 2002/02/23 22:36:33 tom Exp $
|
# $Id: MKkeyname.awk,v 1.22 2002/05/25 22:25:06 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1999-2001,2002 Free Software Foundation, Inc. #
|
# Copyright (c) 1999-2001,2002 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
@ -49,10 +49,12 @@ END {
|
|||||||
print "char name[20];"
|
print "char name[20];"
|
||||||
print "char *p;"
|
print "char *p;"
|
||||||
print ""
|
print ""
|
||||||
|
print "\tif (c == -1) return \"-1\";"
|
||||||
|
print ""
|
||||||
print "\tfor (i = 0; _nc_key_names[i].name != 0; i++)"
|
print "\tfor (i = 0; _nc_key_names[i].name != 0; i++)"
|
||||||
print "\t\tif (_nc_key_names[i].code == c)"
|
print "\t\tif (_nc_key_names[i].code == c)"
|
||||||
print "\t\t\treturn (NCURSES_CONST char *)_nc_key_names[i].name;"
|
print "\t\t\treturn (NCURSES_CONST char *)_nc_key_names[i].name;"
|
||||||
print "\tif (c >= 256) return \"UNKNOWN KEY\";"
|
print "\tif (c < 0 || c >= 256) return \"UNKNOWN KEY\";"
|
||||||
print ""
|
print ""
|
||||||
print "\tif (table == 0)"
|
print "\tif (table == 0)"
|
||||||
print "\t\ttable = typeCalloc(char *, 256);"
|
print "\t\ttable = typeCalloc(char *, 256);"
|
||||||
@ -66,9 +68,7 @@ END {
|
|||||||
print "\t\t\tp += 2;"
|
print "\t\t\tp += 2;"
|
||||||
print "\t\t\tc -= 128;"
|
print "\t\t\tc -= 128;"
|
||||||
print "\t\t}"
|
print "\t\t}"
|
||||||
print "\t\tif (c < 0)"
|
print "\t\tif (c < 32)"
|
||||||
print "\t\t\tsprintf(p, \"%d\", c);"
|
|
||||||
print "\t\telse if (c < 32)"
|
|
||||||
print "\t\t\tsprintf(p, \"^%c\", c + '@');"
|
print "\t\t\tsprintf(p, \"^%c\", c + '@');"
|
||||||
print "\t\telse if (c == 127)"
|
print "\t\telse if (c == 127)"
|
||||||
print "\t\t\tstrcpy(p, \"^?\");"
|
print "\t\t\tstrcpy(p, \"^?\");"
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_getch.c,v 1.60 2002/03/17 00:46:01 tom Exp $")
|
MODULE_ID("$Id: lib_getch.c,v 1.61 2002/06/16 00:31:57 tom Exp $")
|
||||||
|
|
||||||
#include <fifo_defs.h>
|
#include <fifo_defs.h>
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ _nc_wgetch(WINDOW *win, unsigned long *result, int use_meta)
|
|||||||
/* resizeterm can push KEY_RESIZE */
|
/* resizeterm can push KEY_RESIZE */
|
||||||
if (cooked_key_in_fifo()) {
|
if (cooked_key_in_fifo()) {
|
||||||
*result = fifo_pull();
|
*result = fifo_pull();
|
||||||
returnCode(OK);
|
returnCode(*result >= KEY_MIN ? KEY_CODE_YES : OK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_pad.c,v 1.36 2002/05/18 21:28:44 Kriang.Lerdsuwanakij Exp $")
|
MODULE_ID("$Id: lib_pad.c,v 1.37 2002/05/23 23:39:26 tom Exp $")
|
||||||
|
|
||||||
NCURSES_EXPORT(WINDOW *)
|
NCURSES_EXPORT(WINDOW *)
|
||||||
newpad(int l, int c)
|
newpad(int l, int c)
|
||||||
@ -193,24 +193,21 @@ pnoutrefresh
|
|||||||
i++, m++) {
|
i++, m++) {
|
||||||
register struct ldat *nline = &newscr->_line[m];
|
register struct ldat *nline = &newscr->_line[m];
|
||||||
register struct ldat *oline = &win->_line[i];
|
register struct ldat *oline = &win->_line[i];
|
||||||
NCURSES_CH_T ch;
|
for (j = pmincol, n = smincol; j <= pmaxcol; j++, n++) {
|
||||||
|
NCURSES_CH_T ch = oline->text[j];
|
||||||
/*
|
#if USE_WIDEC_SUPPORT
|
||||||
* Special case for leftmost character of the displayed area.
|
/*
|
||||||
* Only half of a double-width character may be visible.
|
* Special case for leftmost character of the displayed area.
|
||||||
*/
|
* Only half of a double-width character may be visible.
|
||||||
ch = oline->text[pmincol];
|
*/
|
||||||
if_WIDEC(isnac(ch)) {
|
if (j == pmincol
|
||||||
SetChar(ch, L(' '), AttrOf(oline->text[pmincol - 1]));
|
&& j > 0
|
||||||
}
|
&& isnac(ch)) {
|
||||||
if (!CharEq(ch, nline->text[smincol])) {
|
SetChar(ch, L(' '), AttrOf(oline->text[j - 1]));
|
||||||
nline->text[smincol] = ch;
|
}
|
||||||
CHANGED_CELL(nline, smincol);
|
#endif
|
||||||
}
|
if (!CharEq(ch, nline->text[n])) {
|
||||||
|
nline->text[n] = ch;
|
||||||
for (j = pmincol + 1, n = smincol + 1; j <= pmaxcol; j++, n++) {
|
|
||||||
if (!CharEq(oline->text[j], nline->text[n])) {
|
|
||||||
nline->text[n] = oline->text[j];
|
|
||||||
CHANGED_CELL(nline, n);
|
CHANGED_CELL(nline, n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -43,7 +43,7 @@
|
|||||||
#include <term.h> /* cur_term */
|
#include <term.h> /* cur_term */
|
||||||
#include <tic.h>
|
#include <tic.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_set_term.c,v 1.64 2002/02/10 00:21:10 tom Exp $")
|
MODULE_ID("$Id: lib_set_term.c,v 1.65 2002/06/15 18:40:20 tom Exp $")
|
||||||
|
|
||||||
NCURSES_EXPORT(SCREEN *)
|
NCURSES_EXPORT(SCREEN *)
|
||||||
set_term(SCREEN * screenp)
|
set_term(SCREEN * screenp)
|
||||||
@ -181,7 +181,7 @@ extract_fgbg(char *src, int *result)
|
|||||||
if (dst == 0) {
|
if (dst == 0) {
|
||||||
dst = src;
|
dst = src;
|
||||||
} else if (value >= 0) {
|
} else if (value >= 0) {
|
||||||
*result = value % max_colors;
|
*result = value;
|
||||||
}
|
}
|
||||||
while (*dst != 0 && *dst != ';')
|
while (*dst != 0 && *dst != ';')
|
||||||
dst++;
|
dst++;
|
||||||
@ -275,6 +275,22 @@ _nc_setupscreen
|
|||||||
p = extract_fgbg(p, &(SP->_default_bg));
|
p = extract_fgbg(p, &(SP->_default_bg));
|
||||||
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d",
|
TR(TRACE_CHARPUT | TRACE_MOVE, ("decoded fg=%d, bg=%d",
|
||||||
SP->_default_fg, SP->_default_bg));
|
SP->_default_fg, SP->_default_bg));
|
||||||
|
if (SP->_default_fg > max_colors) {
|
||||||
|
if (set_a_foreground != ABSENT_STRING
|
||||||
|
&& !strcmp(set_a_foreground, "\033[3%p1%dm")) {
|
||||||
|
set_a_foreground = "\033[3%?%p1%{8}%>%t9%e%p1%d%;m";
|
||||||
|
} else {
|
||||||
|
SP->_default_fg %= max_colors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (SP->_default_bg > max_colors) {
|
||||||
|
if (set_a_background != ABSENT_STRING
|
||||||
|
&& !strcmp(set_a_background, "\033[4%p1%dm")) {
|
||||||
|
set_a_background = "\033[4%?%p1%{8}%>%t9%e%p1%d%;m";
|
||||||
|
} else {
|
||||||
|
SP->_default_bg %= max_colors;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif /* NCURSES_EXT_FUNCS */
|
#endif /* NCURSES_EXT_FUNCS */
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Id: curses.priv.h,v 1.218 2002/05/18 19:48:38 tom Exp $
|
* $Id: curses.priv.h,v 1.219 2002/05/25 12:22:43 tom Exp $
|
||||||
*
|
*
|
||||||
* curses.priv.h
|
* curses.priv.h
|
||||||
*
|
*
|
||||||
@ -248,6 +248,7 @@ color_t;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <curses.h> /* we'll use -Ipath directive to get the right one! */
|
#include <curses.h> /* we'll use -Ipath directive to get the right one! */
|
||||||
|
#include <term.h>
|
||||||
|
|
||||||
struct ldat
|
struct ldat
|
||||||
{
|
{
|
||||||
@ -672,6 +673,7 @@ extern NCURSES_EXPORT(WINDOW *) _nc_retrace_win (WINDOW *);
|
|||||||
extern NCURSES_EXPORT(attr_t) _nc_retrace_attr_t (attr_t);
|
extern NCURSES_EXPORT(attr_t) _nc_retrace_attr_t (attr_t);
|
||||||
extern NCURSES_EXPORT(attr_t) _nc_retrace_chtype (chtype);
|
extern NCURSES_EXPORT(attr_t) _nc_retrace_chtype (chtype);
|
||||||
extern NCURSES_EXPORT(char *) _nc_retrace_ptr (char *);
|
extern NCURSES_EXPORT(char *) _nc_retrace_ptr (char *);
|
||||||
|
extern NCURSES_EXPORT(char *) _nc_trace_ttymode(TTY *tty);
|
||||||
extern NCURSES_EXPORT(char *) _nc_varargs (const char *, va_list);
|
extern NCURSES_EXPORT(char *) _nc_varargs (const char *, va_list);
|
||||||
extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype);
|
extern NCURSES_EXPORT(const char *) _nc_altcharset_name(attr_t, chtype);
|
||||||
extern NCURSES_EXPORT(int) _nc_retrace_int (int);
|
extern NCURSES_EXPORT(int) _nc_retrace_int (int);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,16 +34,16 @@
|
|||||||
* Magnus Bengtsson, d6mbeng@dtek.chalmers.se (Nov'93) *
|
* Magnus Bengtsson, d6mbeng@dtek.chalmers.se (Nov'93) *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#define __INTERNAL_CAPS_VISIBLE
|
||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
|
|
||||||
#include <termcap.h>
|
#include <termcap.h>
|
||||||
#include <tic.h>
|
#include <tic.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
#define __INTERNAL_CAPS_VISIBLE
|
|
||||||
#include <term_entry.h>
|
#include <term_entry.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_termcap.c,v 1.42 2001/09/22 19:17:31 tom Exp $")
|
MODULE_ID("$Id: lib_termcap.c,v 1.43 2002/05/25 12:24:13 tom Exp $")
|
||||||
|
|
||||||
#define CSI 233
|
#define CSI 233
|
||||||
#define ESC 033 /* ^[ */
|
#define ESC 033 /* ^[ */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -38,7 +38,7 @@
|
|||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
#include <term.h> /* cur_term */
|
#include <term.h> /* cur_term */
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_ttyflags.c,v 1.6 2001/12/16 01:19:01 tom Exp $")
|
MODULE_ID("$Id: lib_ttyflags.c,v 1.7 2002/05/25 14:50:00 tom Exp $")
|
||||||
|
|
||||||
#undef tabs
|
#undef tabs
|
||||||
|
|
||||||
@ -62,7 +62,7 @@ _nc_get_tty_mode(TTY * buf)
|
|||||||
if (cur_term == 0
|
if (cur_term == 0
|
||||||
|| GET_TTY(cur_term->Filedes, buf) != 0)
|
|| GET_TTY(cur_term->Filedes, buf) != 0)
|
||||||
return (ERR);
|
return (ERR);
|
||||||
TR(TRACE_BITS, ("_nc_get_tty_mode: %s", _nc_tracebits()));
|
TR(TRACE_BITS, ("_nc_get_tty_mode: %s", _nc_trace_ttymode(buf)));
|
||||||
return (OK);
|
return (OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +72,7 @@ _nc_set_tty_mode(TTY * buf)
|
|||||||
if (cur_term == 0
|
if (cur_term == 0
|
||||||
|| SET_TTY(cur_term->Filedes, buf) != 0)
|
|| SET_TTY(cur_term->Filedes, buf) != 0)
|
||||||
return (ERR);
|
return (ERR);
|
||||||
TR(TRACE_BITS, ("_nc_set_tty_mode: %s", _nc_tracebits()));
|
TR(TRACE_BITS, ("_nc_set_tty_mode: %s", _nc_trace_ttymode(buf)));
|
||||||
return (OK);
|
return (OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,14 +40,14 @@
|
|||||||
* from the input stream.
|
* from the input stream.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define __INTERNAL_CAPS_VISIBLE
|
||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <tic.h>
|
#include <tic.h>
|
||||||
#define __INTERNAL_CAPS_VISIBLE
|
|
||||||
#include <term_entry.h>
|
#include <term_entry.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: parse_entry.c,v 1.55 2002/04/22 00:01:30 tom Exp $")
|
MODULE_ID("$Id: parse_entry.c,v 1.56 2002/05/25 12:23:51 tom Exp $")
|
||||||
|
|
||||||
#ifdef LINT
|
#ifdef LINT
|
||||||
static short const parametrized[] =
|
static short const parametrized[] =
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
#include <term.h> /* acs_chars */
|
#include <term.h> /* acs_chars */
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_traceatr.c,v 1.41 2002/02/10 01:26:56 tom Exp $")
|
MODULE_ID("$Id: lib_traceatr.c,v 1.42 2002/06/16 00:35:01 tom Exp $")
|
||||||
|
|
||||||
#define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
|
#define COLOR_OF(c) (c < 0 || c > 7 ? "default" : colors[c].name)
|
||||||
|
|
||||||
@ -249,39 +249,42 @@ NCURSES_EXPORT(char *)
|
|||||||
_tracecchar_t2 (int bufnum, const cchar_t *ch)
|
_tracecchar_t2 (int bufnum, const cchar_t *ch)
|
||||||
{
|
{
|
||||||
char *buf = _nc_trace_buf(bufnum, BUFSIZ);
|
char *buf = _nc_trace_buf(bufnum, BUFSIZ);
|
||||||
attr_t attr = AttrOfD(ch);
|
attr_t attr;
|
||||||
const char *found;
|
const char *found;
|
||||||
|
|
||||||
strcpy(buf, l_brace);
|
strcpy(buf, l_brace);
|
||||||
if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) {
|
if (ch != 0) {
|
||||||
(void) strcat(buf, found);
|
attr = AttrOfD(ch);
|
||||||
attr &= ~A_ALTCHARSET;
|
if ((found = _nc_altcharset_name(attr, CharOfD(ch))) != 0) {
|
||||||
} else if (!isnac(CHDEREF(ch))) {
|
(void) strcat(buf, found);
|
||||||
PUTC_DATA;
|
attr &= ~A_ALTCHARSET;
|
||||||
int n;
|
} else if (!isnac(CHDEREF(ch))) {
|
||||||
|
PUTC_DATA;
|
||||||
|
int n;
|
||||||
|
|
||||||
memset (&PUT_st, '\0', sizeof (PUT_st));
|
memset (&PUT_st, '\0', sizeof (PUT_st));
|
||||||
PUTC_i = 0;
|
PUTC_i = 0;
|
||||||
(void) strcat(buf, "{ ");
|
(void) strcat(buf, "{ ");
|
||||||
do {
|
do {
|
||||||
PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0';
|
PUTC_ch = PUTC_i < CCHARW_MAX ? ch->chars[PUTC_i] : L'\0';
|
||||||
PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
|
PUTC_n = wcrtomb(PUTC_buf, ch->chars[PUTC_i], &PUT_st);
|
||||||
if (PUTC_ch == L'\0')
|
if (PUTC_ch == L'\0')
|
||||||
--PUTC_n;
|
--PUTC_n;
|
||||||
if (PUTC_n <= 0)
|
if (PUTC_n <= 0)
|
||||||
break;
|
break;
|
||||||
for (n = 0; n < PUTC_n; n++) {
|
for (n = 0; n < PUTC_n; n++) {
|
||||||
if (n)
|
if (n)
|
||||||
(void) strcat(buf, ", ");
|
(void) strcat(buf, ", ");
|
||||||
(void) strcat(buf, _tracechar(UChar(PUTC_buf[n])));
|
(void) strcat(buf, _tracechar(UChar(PUTC_buf[n])));
|
||||||
}
|
}
|
||||||
++PUTC_i;
|
++PUTC_i;
|
||||||
} while (PUTC_ch != L'\0');
|
} while (PUTC_ch != L'\0');
|
||||||
(void) strcat(buf, " }");
|
(void) strcat(buf, " }");
|
||||||
|
}
|
||||||
|
if (attr != A_NORMAL)
|
||||||
|
(void) sprintf(buf + strlen(buf), " | %s",
|
||||||
|
_traceattr2(bufnum + 20, attr));
|
||||||
}
|
}
|
||||||
if (attr != A_NORMAL)
|
|
||||||
(void) sprintf(buf + strlen(buf), " | %s",
|
|
||||||
_traceattr2(bufnum + 20, attr));
|
|
||||||
|
|
||||||
return (strcat(buf, r_brace));
|
return (strcat(buf, r_brace));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
#include <term.h> /* cur_term */
|
#include <term.h> /* cur_term */
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_tracebits.c,v 1.11 2001/10/20 22:44:32 tom Exp $")
|
MODULE_ID("$Id: lib_tracebits.c,v 1.12 2002/05/25 14:35:07 tom Exp $")
|
||||||
|
|
||||||
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
|
#if SVR4_TERMIO && !defined(_POSIX_SOURCE)
|
||||||
#define _POSIX_SOURCE
|
#define _POSIX_SOURCE
|
||||||
@ -82,7 +82,7 @@ lookup_bits(char *buf, const BITNAMES * table, const char *label, unsigned int v
|
|||||||
}
|
}
|
||||||
|
|
||||||
NCURSES_EXPORT(char *)
|
NCURSES_EXPORT(char *)
|
||||||
_nc_tracebits(void)
|
_nc_trace_ttymode(TTY * tty)
|
||||||
/* describe the state of the terminal control bits exactly */
|
/* describe the state of the terminal control bits exactly */
|
||||||
{
|
{
|
||||||
char *buf;
|
char *buf;
|
||||||
@ -143,14 +143,14 @@ _nc_tracebits(void)
|
|||||||
8 + sizeof(lflags) +
|
8 + sizeof(lflags) +
|
||||||
8);
|
8);
|
||||||
|
|
||||||
if (cur_term->Nttyb.c_iflag & ALLIN)
|
if (tty->c_iflag & ALLIN)
|
||||||
lookup_bits(buf, iflags, "iflags", cur_term->Nttyb.c_iflag);
|
lookup_bits(buf, iflags, "iflags", tty->c_iflag);
|
||||||
|
|
||||||
if (cur_term->Nttyb.c_oflag & ALLOUT)
|
if (tty->c_oflag & ALLOUT)
|
||||||
lookup_bits(buf, oflags, "oflags", cur_term->Nttyb.c_oflag);
|
lookup_bits(buf, oflags, "oflags", tty->c_oflag);
|
||||||
|
|
||||||
if (cur_term->Nttyb.c_cflag & ALLCTRL)
|
if (tty->c_cflag & ALLCTRL)
|
||||||
lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.c_cflag);
|
lookup_bits(buf, cflags, "cflags", tty->c_cflag);
|
||||||
|
|
||||||
#if defined(CS5) && defined(CS8)
|
#if defined(CS5) && defined(CS8)
|
||||||
{
|
{
|
||||||
@ -176,7 +176,7 @@ _nc_tracebits(void)
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
const char *result = "CSIZE? ";
|
const char *result = "CSIZE? ";
|
||||||
int value = (cur_term->Nttyb.c_cflag & CSIZE);
|
int value = (tty->c_cflag & CSIZE);
|
||||||
unsigned n;
|
unsigned n;
|
||||||
|
|
||||||
if (value != 0) {
|
if (value != 0) {
|
||||||
@ -191,8 +191,8 @@ _nc_tracebits(void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (cur_term->Nttyb.c_lflag & ALLLOCAL)
|
if (tty->c_lflag & ALLLOCAL)
|
||||||
lookup_bits(buf, lflags, "lflags", cur_term->Nttyb.c_lflag);
|
lookup_bits(buf, lflags, "lflags", tty->c_lflag);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* reference: ttcompat(4M) on SunOS 4.1 */
|
/* reference: ttcompat(4M) on SunOS 4.1 */
|
||||||
@ -231,12 +231,18 @@ _nc_tracebits(void)
|
|||||||
buf = _nc_trace_buf(0,
|
buf = _nc_trace_buf(0,
|
||||||
8 + sizeof(cflags));
|
8 + sizeof(cflags));
|
||||||
|
|
||||||
if (cur_term->Nttyb.sg_flags & ALLCTRL) {
|
if (tty->sg_flags & ALLCTRL) {
|
||||||
lookup_bits(buf, cflags, "cflags", cur_term->Nttyb.sg_flags);
|
lookup_bits(buf, cflags, "cflags", tty->sg_flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return (buf);
|
return (buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NCURSES_EXPORT(char *)
|
||||||
|
_nc_tracebits(void)
|
||||||
|
{
|
||||||
|
return _nc_trace_ttymode(&(cur_term->Nttyb));
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
empty_module(_nc_tracebits)
|
empty_module(_nc_tracebits)
|
||||||
#endif /* TRACE */
|
#endif /* TRACE */
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
*/
|
*/
|
||||||
#include <curses.priv.h>
|
#include <curses.priv.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: lib_tracechr.c,v 1.8 2002/02/10 01:26:04 tom Exp $")
|
MODULE_ID("$Id: lib_tracechr.c,v 1.9 2002/05/25 23:34:19 tom Exp $")
|
||||||
|
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
NCURSES_EXPORT(char *)
|
NCURSES_EXPORT(char *)
|
||||||
@ -44,10 +44,10 @@ _tracechar(int ch)
|
|||||||
{
|
{
|
||||||
static char crep[40];
|
static char crep[40];
|
||||||
(void) sprintf(crep, "'%.30s' = %#03o",
|
(void) sprintf(crep, "'%.30s' = %#03o",
|
||||||
(ch > KEY_MIN)
|
((ch > KEY_MIN || ch < 0)
|
||||||
? keyname(ch)
|
? keyname(ch)
|
||||||
: unctrl(ch),
|
: unctrl(ch)),
|
||||||
(unsigned) ch);
|
ch);
|
||||||
return (crep);
|
return (crep);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: varargs.c,v 1.1 2001/10/20 20:37:48 tom Exp $")
|
MODULE_ID("$Id: varargs.c,v 1.2 2002/06/01 16:16:00 tom Exp $")
|
||||||
|
|
||||||
#ifdef TRACE
|
#ifdef TRACE
|
||||||
|
|
||||||
@ -53,17 +53,18 @@ typedef enum {
|
|||||||
NCURSES_EXPORT(char *)
|
NCURSES_EXPORT(char *)
|
||||||
_nc_varargs(const char *fmt, va_list ap)
|
_nc_varargs(const char *fmt, va_list ap)
|
||||||
{
|
{
|
||||||
|
static char dummy[] = "";
|
||||||
static char *result_buf;
|
static char *result_buf;
|
||||||
static size_t result_len;
|
static size_t result_len;
|
||||||
|
|
||||||
char buffer[BUFSIZ];
|
char buffer[BUFSIZ];
|
||||||
|
|
||||||
if (fmt == 0 || *fmt == '\0')
|
if (fmt == 0 || *fmt == '\0')
|
||||||
return "";
|
return dummy;
|
||||||
if (result_len == 0)
|
if (result_len == 0)
|
||||||
result_buf = typeMalloc(char, result_len = BUFSIZ);
|
result_buf = typeMalloc(char, result_len = BUFSIZ);
|
||||||
if (result_buf == 0)
|
if (result_buf == 0)
|
||||||
return "";
|
return dummy;
|
||||||
*result_buf = '\0';
|
*result_buf = '\0';
|
||||||
|
|
||||||
while (*fmt != '\0') {
|
while (*fmt != '\0') {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2000 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,6 +29,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
||||||
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
||||||
|
* and: Thomas E. Dickey 1996 on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#define __INTERNAL_CAPS_VISIBLE
|
#define __INTERNAL_CAPS_VISIBLE
|
||||||
@ -38,7 +39,7 @@
|
|||||||
#include "termsort.c" /* this C file is generated */
|
#include "termsort.c" /* this C file is generated */
|
||||||
#include <parametrized.h> /* so is this */
|
#include <parametrized.h> /* so is this */
|
||||||
|
|
||||||
MODULE_ID("$Id: dump_entry.c,v 1.56 2001/08/12 00:21:22 tom Exp $")
|
MODULE_ID("$Id: dump_entry.c,v 1.58 2002/06/01 22:58:11 tom Exp $")
|
||||||
|
|
||||||
#define INDENT 8
|
#define INDENT 8
|
||||||
#define DISCARD(string) string = ABSENT_STRING
|
#define DISCARD(string) string = ABSENT_STRING
|
||||||
@ -166,7 +167,7 @@ nametrans(const char *name)
|
|||||||
|
|
||||||
void
|
void
|
||||||
dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
||||||
bool formatted)
|
bool formatted)
|
||||||
/* set up for entry display */
|
/* set up for entry display */
|
||||||
{
|
{
|
||||||
width = twidth;
|
width = twidth;
|
||||||
@ -176,7 +177,7 @@ dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
|||||||
if (version == 0)
|
if (version == 0)
|
||||||
tversion = V_ALLCAPS;
|
tversion = V_ALLCAPS;
|
||||||
else if (!strcmp(version, "SVr1") || !strcmp(version, "SVR1")
|
else if (!strcmp(version, "SVr1") || !strcmp(version, "SVR1")
|
||||||
|| !strcmp(version, "Ultrix"))
|
|| !strcmp(version, "Ultrix"))
|
||||||
tversion = V_SVR1;
|
tversion = V_SVR1;
|
||||||
else if (!strcmp(version, "HP"))
|
else if (!strcmp(version, "HP"))
|
||||||
tversion = V_HPUX;
|
tversion = V_HPUX;
|
||||||
@ -221,13 +222,13 @@ dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
|||||||
case S_NOSORT:
|
case S_NOSORT:
|
||||||
if (traceval)
|
if (traceval)
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"%s: sorting by term structure order\n", _nc_progname);
|
"%s: sorting by term structure order\n", _nc_progname);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case S_TERMINFO:
|
case S_TERMINFO:
|
||||||
if (traceval)
|
if (traceval)
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"%s: sorting by terminfo name order\n", _nc_progname);
|
"%s: sorting by terminfo name order\n", _nc_progname);
|
||||||
bool_indirect = bool_terminfo_sort;
|
bool_indirect = bool_terminfo_sort;
|
||||||
num_indirect = num_terminfo_sort;
|
num_indirect = num_terminfo_sort;
|
||||||
str_indirect = str_terminfo_sort;
|
str_indirect = str_terminfo_sort;
|
||||||
@ -236,7 +237,7 @@ dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
|||||||
case S_VARIABLE:
|
case S_VARIABLE:
|
||||||
if (traceval)
|
if (traceval)
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"%s: sorting by C variable order\n", _nc_progname);
|
"%s: sorting by C variable order\n", _nc_progname);
|
||||||
bool_indirect = bool_variable_sort;
|
bool_indirect = bool_variable_sort;
|
||||||
num_indirect = num_variable_sort;
|
num_indirect = num_variable_sort;
|
||||||
str_indirect = str_variable_sort;
|
str_indirect = str_variable_sort;
|
||||||
@ -245,7 +246,7 @@ dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
|||||||
case S_TERMCAP:
|
case S_TERMCAP:
|
||||||
if (traceval)
|
if (traceval)
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"%s: sorting by termcap name order\n", _nc_progname);
|
"%s: sorting by termcap name order\n", _nc_progname);
|
||||||
bool_indirect = bool_termcap_sort;
|
bool_indirect = bool_termcap_sort;
|
||||||
num_indirect = num_termcap_sort;
|
num_indirect = num_termcap_sort;
|
||||||
str_indirect = str_termcap_sort;
|
str_indirect = str_termcap_sort;
|
||||||
@ -254,8 +255,8 @@ dump_init(const char *version, int mode, int sort, int twidth, int traceval,
|
|||||||
|
|
||||||
if (traceval)
|
if (traceval)
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"%s: width = %d, tversion = %d, outform = %d\n",
|
"%s: width = %d, tversion = %d, outform = %d\n",
|
||||||
_nc_progname, width, tversion, outform);
|
_nc_progname, width, tversion, outform);
|
||||||
}
|
}
|
||||||
|
|
||||||
static TERMTYPE *cur_type;
|
static TERMTYPE *cur_type;
|
||||||
@ -496,10 +497,10 @@ fmt_complex(char *src, int level)
|
|||||||
|
|
||||||
int
|
int
|
||||||
fmt_entry(TERMTYPE * tterm,
|
fmt_entry(TERMTYPE * tterm,
|
||||||
int (*pred) (int type, int idx),
|
int (*pred) (int type, int idx),
|
||||||
bool suppress_untranslatable,
|
bool suppress_untranslatable,
|
||||||
bool infodump,
|
bool infodump,
|
||||||
int numbers)
|
int numbers)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char buffer[MAX_TERMINFO_LENGTH];
|
char buffer[MAX_TERMINFO_LENGTH];
|
||||||
@ -639,14 +640,16 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
sprintf(buffer, "%s@", name);
|
sprintf(buffer, "%s@", name);
|
||||||
WRAP_CONCAT;
|
WRAP_CONCAT;
|
||||||
} else if (outform == F_TERMCAP || outform == F_TCONVERR) {
|
} else if (outform == F_TERMCAP || outform == F_TCONVERR) {
|
||||||
int params = (i < (int) SIZEOF(parametrized)) ? parametrized[i] : 0;
|
int params = ((i < (int) SIZEOF(parametrized))
|
||||||
|
? parametrized[i]
|
||||||
|
: 0);
|
||||||
char *srccap = _nc_tic_expand(tterm->Strings[i], TRUE, numbers);
|
char *srccap = _nc_tic_expand(tterm->Strings[i], TRUE, numbers);
|
||||||
char *cv = _nc_infotocap(name, srccap, params);
|
char *cv = _nc_infotocap(name, srccap, params);
|
||||||
|
|
||||||
if (cv == 0) {
|
if (cv == 0) {
|
||||||
if (outform == F_TCONVERR) {
|
if (outform == F_TCONVERR) {
|
||||||
sprintf(buffer, "%s=!!! %s WILL NOT CONVERT !!!",
|
sprintf(buffer, "%s=!!! %s WILL NOT CONVERT !!!",
|
||||||
name, srccap);
|
name, srccap);
|
||||||
} else if (suppress_untranslatable) {
|
} else if (suppress_untranslatable) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
@ -670,7 +673,7 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
WRAP_CONCAT;
|
WRAP_CONCAT;
|
||||||
} else {
|
} else {
|
||||||
char *src = _nc_tic_expand(tterm->Strings[i],
|
char *src = _nc_tic_expand(tterm->Strings[i],
|
||||||
outform == F_TERMINFO, numbers);
|
outform == F_TERMINFO, numbers);
|
||||||
|
|
||||||
strcpy_DYN(&tmpbuf, 0);
|
strcpy_DYN(&tmpbuf, 0);
|
||||||
strcpy_DYN(&tmpbuf, name);
|
strcpy_DYN(&tmpbuf, name);
|
||||||
@ -726,7 +729,7 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
if (box_ok) {
|
if (box_ok) {
|
||||||
(void) strcpy(buffer, "box1=");
|
(void) strcpy(buffer, "box1=");
|
||||||
(void) strcat(buffer, _nc_tic_expand(boxchars,
|
(void) strcat(buffer, _nc_tic_expand(boxchars,
|
||||||
outform == F_TERMINFO, numbers));
|
outform == F_TERMINFO, numbers));
|
||||||
WRAP_CONCAT;
|
WRAP_CONCAT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -745,10 +748,10 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
outbuf.used -= 2;
|
outbuf.used -= 2;
|
||||||
trimmed = TRUE;
|
trimmed = TRUE;
|
||||||
} else if (j >= 4
|
} else if (j >= 4
|
||||||
&& outbuf.text[j - 1] == ':'
|
&& outbuf.text[j - 1] == ':'
|
||||||
&& outbuf.text[j - 2] == '\t'
|
&& outbuf.text[j - 2] == '\t'
|
||||||
&& outbuf.text[j - 3] == '\n'
|
&& outbuf.text[j - 3] == '\n'
|
||||||
&& outbuf.text[j - 4] == '\\') {
|
&& outbuf.text[j - 4] == '\\') {
|
||||||
outbuf.used -= 4;
|
outbuf.used -= 4;
|
||||||
trimmed = TRUE;
|
trimmed = TRUE;
|
||||||
}
|
}
|
||||||
@ -762,7 +765,7 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
fprintf(stderr, "num_values = %d\n", num_values);
|
fprintf(stderr, "num_values = %d\n", num_values);
|
||||||
fprintf(stderr, "num_strings = %d\n", num_strings);
|
fprintf(stderr, "num_strings = %d\n", num_strings);
|
||||||
fprintf(stderr, "term_names=%s, len=%d, strlen(outbuf)=%d, outbuf=%s\n",
|
fprintf(stderr, "term_names=%s, len=%d, strlen(outbuf)=%d, outbuf=%s\n",
|
||||||
tterm->term_names, len, outbuf.used, outbuf.text);
|
tterm->term_names, len, outbuf.used, outbuf.text);
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* Here's where we use infodump to trigger a more stringent length check
|
* Here's where we use infodump to trigger a more stringent length check
|
||||||
@ -774,9 +777,91 @@ fmt_entry(TERMTYPE * tterm,
|
|||||||
return (infodump ? len : (int) termcap_length(outbuf.text));
|
return (infodump ? len : (int) termcap_length(outbuf.text));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool
|
||||||
|
kill_string(TERMTYPE * tterm, char *cap)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
for (n = 0; n < tterm->num_Strings; ++n) {
|
||||||
|
if (cap == tterm->Strings[n]) {
|
||||||
|
tterm->Strings[n] = ABSENT_STRING;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
find_string(TERMTYPE * tterm, char *name)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
for (n = 0; n < tterm->num_Strings; ++n) {
|
||||||
|
if (version_filter(STRING, n)
|
||||||
|
&& !strcmp(name, strnames[n])) {
|
||||||
|
char *cap = tterm->Strings[n];
|
||||||
|
if (VALID_STRING(cap)) {
|
||||||
|
return cap;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ABSENT_STRING;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is used to remove function-key labels from a termcap entry to
|
||||||
|
* make it smaller.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
kill_labels(TERMTYPE * tterm, int target)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
int result = 0;
|
||||||
|
char *cap;
|
||||||
|
char name[10];
|
||||||
|
|
||||||
|
for (n = 0; n <= 10; ++n) {
|
||||||
|
sprintf(name, "lf%d", n);
|
||||||
|
if ((cap = find_string(tterm, name)) != ABSENT_STRING
|
||||||
|
&& kill_string(tterm, cap)) {
|
||||||
|
target -= (strlen(cap) + 5);
|
||||||
|
++result;
|
||||||
|
if (target < 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is used to remove function-key definitions from a termcap entry to
|
||||||
|
* make it smaller.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
kill_fkeys(TERMTYPE * tterm, int target)
|
||||||
|
{
|
||||||
|
int n;
|
||||||
|
int result = 0;
|
||||||
|
char *cap;
|
||||||
|
char name[10];
|
||||||
|
|
||||||
|
for (n = 60; n >= 0; --n) {
|
||||||
|
sprintf(name, "kf%d", n);
|
||||||
|
if ((cap = find_string(tterm, name)) != ABSENT_STRING
|
||||||
|
&& kill_string(tterm, cap)) {
|
||||||
|
target -= (strlen(cap) + 5);
|
||||||
|
++result;
|
||||||
|
if (target < 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
dump_entry(TERMTYPE * tterm, bool limited, int numbers, int (*pred) (int
|
dump_entry(TERMTYPE * tterm,
|
||||||
type, int idx))
|
bool limited,
|
||||||
|
int numbers,
|
||||||
|
int (*pred) (int type, int idx))
|
||||||
/* dump a single entry */
|
/* dump a single entry */
|
||||||
{
|
{
|
||||||
int len, critlen;
|
int len, critlen;
|
||||||
@ -797,7 +882,7 @@ dump_entry(TERMTYPE * tterm, bool limited, int numbers, int (*pred) (int
|
|||||||
if (((len = fmt_entry(tterm, pred, FALSE, infodump, numbers)) > critlen)
|
if (((len = fmt_entry(tterm, pred, FALSE, infodump, numbers)) > critlen)
|
||||||
&& limited) {
|
&& limited) {
|
||||||
PRINTF("# (untranslatable capabilities removed to fit entry within %d bytes)\n",
|
PRINTF("# (untranslatable capabilities removed to fit entry within %d bytes)\n",
|
||||||
critlen);
|
critlen);
|
||||||
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
||||||
/*
|
/*
|
||||||
* We pick on sgr because it's a nice long string capability that
|
* We pick on sgr because it's a nice long string capability that
|
||||||
@ -808,28 +893,40 @@ dump_entry(TERMTYPE * tterm, bool limited, int numbers, int (*pred) (int
|
|||||||
char *oldacsc = acs_chars;
|
char *oldacsc = acs_chars;
|
||||||
set_attributes = ABSENT_STRING;
|
set_attributes = ABSENT_STRING;
|
||||||
PRINTF("# (sgr removed to fit entry within %d bytes)\n",
|
PRINTF("# (sgr removed to fit entry within %d bytes)\n",
|
||||||
critlen);
|
critlen);
|
||||||
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
||||||
acs_chars = ABSENT_STRING;
|
acs_chars = ABSENT_STRING;
|
||||||
PRINTF("# (acsc removed to fit entry within %d bytes)\n",
|
PRINTF("# (acsc removed to fit entry within %d bytes)\n",
|
||||||
critlen);
|
critlen);
|
||||||
}
|
}
|
||||||
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers)) > critlen) {
|
||||||
int oldversion = tversion;
|
int oldversion = tversion;
|
||||||
|
|
||||||
tversion = V_BSD;
|
tversion = V_BSD;
|
||||||
PRINTF("# (terminfo-only capabilities suppressed to fit entry within %d bytes)\n",
|
PRINTF("# (terminfo-only capabilities suppressed to fit entry within %d bytes)\n",
|
||||||
critlen);
|
critlen);
|
||||||
|
|
||||||
if ((len = fmt_entry(tterm, pred, TRUE, infodump, numbers))
|
len = fmt_entry(tterm, pred, TRUE, infodump, numbers);
|
||||||
> critlen) {
|
if (len > critlen
|
||||||
|
&& kill_labels(tterm, len - critlen)) {
|
||||||
|
PRINTF("# (some labels capabilities suppressed to fit entry within %d bytes)\n",
|
||||||
|
critlen);
|
||||||
|
len = fmt_entry(tterm, pred, TRUE, infodump, numbers);
|
||||||
|
}
|
||||||
|
if (len > critlen
|
||||||
|
&& kill_fkeys(tterm, len - critlen)) {
|
||||||
|
PRINTF("# (some function-key capabilities suppressed to fit entry within %d bytes)\n",
|
||||||
|
critlen);
|
||||||
|
len = fmt_entry(tterm, pred, TRUE, infodump, numbers);
|
||||||
|
}
|
||||||
|
if (len > critlen) {
|
||||||
(void) fprintf(stderr,
|
(void) fprintf(stderr,
|
||||||
"warning: %s entry is %d bytes long\n",
|
"warning: %s entry is %d bytes long\n",
|
||||||
_nc_first_name(tterm->term_names),
|
_nc_first_name(tterm->term_names),
|
||||||
len);
|
len);
|
||||||
PRINTF(
|
PRINTF(
|
||||||
"# WARNING: this entry, %d bytes long, may core-dump %s libraries!\n",
|
"# WARNING: this entry, %d bytes long, may core-dump %s libraries!\n",
|
||||||
len, legend);
|
len, legend);
|
||||||
}
|
}
|
||||||
tversion = oldversion;
|
tversion = oldversion;
|
||||||
}
|
}
|
||||||
@ -857,7 +954,7 @@ dump_uses(const char *name, bool infodump)
|
|||||||
|
|
||||||
void
|
void
|
||||||
compare_entry(void (*hook) (int t, int i, const char *name), TERMTYPE * tp
|
compare_entry(void (*hook) (int t, int i, const char *name), TERMTYPE * tp
|
||||||
GCC_UNUSED, bool quiet)
|
GCC_UNUSED, bool quiet)
|
||||||
/* compare two entries */
|
/* compare two entries */
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,6 +29,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
|
||||||
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
|
||||||
|
* and: Thomas E. Dickey 1996 on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -44,7 +45,7 @@
|
|||||||
#include <term_entry.h>
|
#include <term_entry.h>
|
||||||
#include <transform.h>
|
#include <transform.h>
|
||||||
|
|
||||||
MODULE_ID("$Id: tic.c,v 1.92 2001/06/18 18:44:01 tom Exp $")
|
MODULE_ID("$Id: tic.c,v 1.96 2002/06/01 20:42:53 tom Exp $")
|
||||||
|
|
||||||
const char *_nc_progname = "tic";
|
const char *_nc_progname = "tic";
|
||||||
|
|
||||||
@ -822,8 +823,8 @@ expected_params(const char *name)
|
|||||||
{ "sgr1", 6 },
|
{ "sgr1", 6 },
|
||||||
{ "slength", 1 },
|
{ "slength", 1 },
|
||||||
{ "slines", 1 },
|
{ "slines", 1 },
|
||||||
{ "smgbp", 2 },
|
{ "smgbp", 1 }, /* 2 if smgtp is not given */
|
||||||
{ "smglp", 2 },
|
{ "smglp", 1 },
|
||||||
{ "smglr", 2 },
|
{ "smglr", 2 },
|
||||||
{ "smgrp", 1 },
|
{ "smgrp", 1 },
|
||||||
{ "smgtb", 2 },
|
{ "smgtb", 2 },
|
||||||
@ -863,6 +864,10 @@ check_params(TERMTYPE * tp, const char *name, char *value)
|
|||||||
bool params[10];
|
bool params[10];
|
||||||
char *s = value;
|
char *s = value;
|
||||||
|
|
||||||
|
if (!strcmp(name, "smgbp")
|
||||||
|
&& set_top_margin_parm == 0)
|
||||||
|
expected = 2;
|
||||||
|
|
||||||
for (n = 0; n < 10; n++)
|
for (n = 0; n < 10; n++)
|
||||||
params[n] = FALSE;
|
params[n] = FALSE;
|
||||||
|
|
||||||
@ -901,6 +906,14 @@ check_params(TERMTYPE * tp, const char *name, char *value)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
skip_delay(char *s)
|
||||||
|
{
|
||||||
|
while (*s == '/' || isdigit(UChar(*s)))
|
||||||
|
++s;
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* An sgr string may contain several settings other than the one we're
|
* An sgr string may contain several settings other than the one we're
|
||||||
* interested in, essentially sgr0 + rmacs + whatever. As long as the
|
* interested in, essentially sgr0 + rmacs + whatever. As long as the
|
||||||
@ -908,8 +921,25 @@ check_params(TERMTYPE * tp, const char *name, char *value)
|
|||||||
* sanity check.
|
* sanity check.
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
similar_sgr(char *a, char *b)
|
similar_sgr(int num, char *a, char *b)
|
||||||
{
|
{
|
||||||
|
static const char *names[] =
|
||||||
|
{
|
||||||
|
"none"
|
||||||
|
,"standout"
|
||||||
|
,"underline"
|
||||||
|
,"reverse"
|
||||||
|
,"blink"
|
||||||
|
,"dim"
|
||||||
|
,"bold"
|
||||||
|
,"invis"
|
||||||
|
,"protect"
|
||||||
|
,"altcharset"
|
||||||
|
};
|
||||||
|
char *base_a = a;
|
||||||
|
char *base_b = b;
|
||||||
|
int delaying = 0;
|
||||||
|
|
||||||
while (*b != 0) {
|
while (*b != 0) {
|
||||||
while (*a != *b) {
|
while (*a != *b) {
|
||||||
if (*a == 0) {
|
if (*a == 0) {
|
||||||
@ -917,11 +947,31 @@ similar_sgr(char *a, char *b)
|
|||||||
&& b[1] == '<') {
|
&& b[1] == '<') {
|
||||||
_nc_warning("Did not find delay %s", _nc_visbuf(b));
|
_nc_warning("Did not find delay %s", _nc_visbuf(b));
|
||||||
} else {
|
} else {
|
||||||
_nc_warning("Unmatched portion %s", _nc_visbuf(b));
|
_nc_warning("checking sgr(%s) %s\n\tcompare to %s\n\tunmatched %s",
|
||||||
|
names[num], _nc_visbuf2(1, base_a),
|
||||||
|
_nc_visbuf2(2, base_b),
|
||||||
|
_nc_visbuf2(3, b));
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
} else if (delaying) {
|
||||||
|
a = skip_delay(a);
|
||||||
|
b = skip_delay(b);
|
||||||
|
} else {
|
||||||
|
a++;
|
||||||
}
|
}
|
||||||
a++;
|
}
|
||||||
|
switch (*a) {
|
||||||
|
case '$':
|
||||||
|
if (delaying == 0)
|
||||||
|
delaying = 1;
|
||||||
|
break;
|
||||||
|
case '<':
|
||||||
|
if (delaying == 1)
|
||||||
|
delaying = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
delaying = 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
a++;
|
a++;
|
||||||
b++;
|
b++;
|
||||||
@ -945,9 +995,11 @@ check_sgr(TERMTYPE * tp, char *zero, int num, char *cap, const char *name)
|
|||||||
tparm_errs += _nc_tparm_err;
|
tparm_errs += _nc_tparm_err;
|
||||||
if (test != 0) {
|
if (test != 0) {
|
||||||
if (PRESENT(cap)) {
|
if (PRESENT(cap)) {
|
||||||
if (!similar_sgr(test, cap)) {
|
if (!similar_sgr(num, test, cap)) {
|
||||||
_nc_warning("%s differs from sgr(%d): %s", name, num,
|
_nc_warning("%s differs from sgr(%d)\n\t%s=%s\n\tsgr(%d)=%s",
|
||||||
_nc_visbuf(test));
|
name, num,
|
||||||
|
name, _nc_visbuf2(1, cap),
|
||||||
|
num, _nc_visbuf2(2, test));
|
||||||
}
|
}
|
||||||
} else if (strcmp(test, zero)) {
|
} else if (strcmp(test, zero)) {
|
||||||
_nc_warning("sgr(%d) present, but not %s", num, name);
|
_nc_warning("sgr(%d) present, but not %s", num, name);
|
||||||
@ -1018,8 +1070,9 @@ check_termtype(TERMTYPE * tp)
|
|||||||
* non-ANSI strings are misused.
|
* non-ANSI strings are misused.
|
||||||
*/
|
*/
|
||||||
if ((max_colors > 0) != (max_pairs > 0)
|
if ((max_colors > 0) != (max_pairs > 0)
|
||||||
|| (max_colors > max_pairs))
|
|| ((max_colors > max_pairs) && (initialize_pair == 0)))
|
||||||
_nc_warning("inconsistent values for max_colors and max_pairs");
|
_nc_warning("inconsistent values for max_colors (%d) and max_pairs (%d)",
|
||||||
|
max_colors, max_pairs);
|
||||||
|
|
||||||
PAIRED(set_foreground, set_background);
|
PAIRED(set_foreground, set_background);
|
||||||
PAIRED(set_a_foreground, set_a_background);
|
PAIRED(set_a_foreground, set_a_background);
|
||||||
|
@ -40,7 +40,7 @@ AUTHOR
|
|||||||
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
|
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
|
||||||
Thomas E. Dickey (beginning revision 1.27 in 1996).
|
Thomas E. Dickey (beginning revision 1.27 in 1996).
|
||||||
|
|
||||||
$Id: ncurses.c,v 1.170 2002/04/21 21:08:07 tom Exp $
|
$Id: ncurses.c,v 1.173 2002/06/16 00:29:27 tom Exp $
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -104,13 +104,13 @@ extern int _nc_tracing;
|
|||||||
#define ACS_NEQUAL (CURSES_ACS_ARRAY['|']) /* not equal */
|
#define ACS_NEQUAL (CURSES_ACS_ARRAY['|']) /* not equal */
|
||||||
#define ACS_STERLING (CURSES_ACS_ARRAY['}']) /* UK pound sign */
|
#define ACS_STERLING (CURSES_ACS_ARRAY['}']) /* UK pound sign */
|
||||||
#else
|
#else
|
||||||
#define ACS_S3 (A_ALTCHARSET + 'p') /* scan line 3 */
|
#define ACS_S3 (A_ALTCHARSET + 'p') /* scan line 3 */
|
||||||
#define ACS_S7 (A_ALTCHARSET + 'r') /* scan line 7 */
|
#define ACS_S7 (A_ALTCHARSET + 'r') /* scan line 7 */
|
||||||
#define ACS_LEQUAL (A_ALTCHARSET + 'y') /* less/equal */
|
#define ACS_LEQUAL (A_ALTCHARSET + 'y') /* less/equal */
|
||||||
#define ACS_GEQUAL (A_ALTCHARSET + 'z') /* greater/equal */
|
#define ACS_GEQUAL (A_ALTCHARSET + 'z') /* greater/equal */
|
||||||
#define ACS_PI (A_ALTCHARSET + '{') /* Pi */
|
#define ACS_PI (A_ALTCHARSET + '{') /* Pi */
|
||||||
#define ACS_NEQUAL (A_ALTCHARSET + '|') /* not equal */
|
#define ACS_NEQUAL (A_ALTCHARSET + '|') /* not equal */
|
||||||
#define ACS_STERLING (A_ALTCHARSET + '}') /* UK pound sign */
|
#define ACS_STERLING (A_ALTCHARSET + '}') /* UK pound sign */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CURSES_WACS_ARRAY
|
#ifdef CURSES_WACS_ARRAY
|
||||||
@ -358,12 +358,78 @@ wgetch_wrap(WINDOW *win, int first_y)
|
|||||||
wclrtoeol(win);
|
wclrtoeol(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(NCURSES_VERSION) && defined(KEY_RESIZE)
|
||||||
|
typedef struct {
|
||||||
|
WINDOW *text;
|
||||||
|
WINDOW *frame;
|
||||||
|
} WINSTACK;
|
||||||
|
|
||||||
|
static WINSTACK *winstack = 0;
|
||||||
|
static unsigned len_winstack = 0;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
wgetch_test(WINDOW *win, int delay)
|
remember_boxes(unsigned level, WINDOW *txt_win, WINDOW *box_win)
|
||||||
|
{
|
||||||
|
unsigned need = (level + 1) * 2;
|
||||||
|
|
||||||
|
if (winstack == 0) {
|
||||||
|
len_winstack = 20;
|
||||||
|
winstack = malloc(len_winstack * sizeof(WINSTACK));
|
||||||
|
} else if (need >= len_winstack) {
|
||||||
|
len_winstack = need;
|
||||||
|
winstack = realloc(winstack, len_winstack * sizeof(WINSTACK));
|
||||||
|
}
|
||||||
|
winstack[level].text = txt_win;
|
||||||
|
winstack[level].frame = box_win;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For wgetch_test(), we create pairs of windows - one for a box, one for text.
|
||||||
|
* Resize both and paint the box in the parent.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
resize_boxes(int level, WINDOW *win)
|
||||||
|
{
|
||||||
|
unsigned n;
|
||||||
|
int base = 5;
|
||||||
|
int high = LINES - base;
|
||||||
|
int wide = COLS;
|
||||||
|
|
||||||
|
touchwin(stdscr);
|
||||||
|
wnoutrefresh(stdscr);
|
||||||
|
|
||||||
|
/* FIXME: this chunk should be done in resizeterm() */
|
||||||
|
slk_touch();
|
||||||
|
slk_clear();
|
||||||
|
slk_noutrefresh();
|
||||||
|
|
||||||
|
for (n = 0; (int) n < level; ++n) {
|
||||||
|
wresize(winstack[n].frame, high, wide);
|
||||||
|
wresize(winstack[n].text, high - 2, wide - 2);
|
||||||
|
high -= 2;
|
||||||
|
wide -= 2;
|
||||||
|
werase(winstack[n].text);
|
||||||
|
box(winstack[n].frame, 0, 0);
|
||||||
|
wnoutrefresh(winstack[n].frame);
|
||||||
|
wprintw(winstack[n].text,
|
||||||
|
"size %dx%d\n",
|
||||||
|
getmaxy(winstack[n].text),
|
||||||
|
getmaxx(winstack[n].text));
|
||||||
|
wnoutrefresh(winstack[n].text);
|
||||||
|
if (winstack[n].text == win)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
doupdate();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define remember_boxes(level,text,frame) /* nothing */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void
|
||||||
|
wgetch_test(int level, WINDOW *win, int delay)
|
||||||
{
|
{
|
||||||
char buf[BUFSIZ];
|
char buf[BUFSIZ];
|
||||||
int first_y, first_x;
|
int first_y, first_x;
|
||||||
int last_y = getmaxy(win) - 1;
|
|
||||||
int c;
|
int c;
|
||||||
int incount = 0;
|
int incount = 0;
|
||||||
bool flags[256];
|
bool flags[256];
|
||||||
@ -378,7 +444,7 @@ wgetch_test(WINDOW *win, int delay)
|
|||||||
getyx(win, first_y, first_x);
|
getyx(win, first_y, first_x);
|
||||||
|
|
||||||
wgetch_help(win, flags);
|
wgetch_help(win, flags);
|
||||||
wsetscrreg(win, first_y, last_y);
|
wsetscrreg(win, first_y, getmaxy(win) - 1);
|
||||||
scrollok(win, TRUE);
|
scrollok(win, TRUE);
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -420,7 +486,7 @@ wgetch_test(WINDOW *win, int delay)
|
|||||||
} else if (c == 's') {
|
} else if (c == 's') {
|
||||||
ShellOut(TRUE);
|
ShellOut(TRUE);
|
||||||
} else if (c == 'w') {
|
} else if (c == 'w') {
|
||||||
int high = last_y - first_y + 1;
|
int high = getmaxy(win) - 1 - first_y + 1;
|
||||||
int wide = getmaxx(win) - first_x;
|
int wide = getmaxx(win) - first_x;
|
||||||
int old_y, old_x;
|
int old_y, old_x;
|
||||||
int new_y = first_y + getbegy(win);
|
int new_y = first_y + getbegy(win);
|
||||||
@ -434,7 +500,8 @@ wgetch_test(WINDOW *win, int delay)
|
|||||||
box(wb, 0, 0);
|
box(wb, 0, 0);
|
||||||
wrefresh(wb);
|
wrefresh(wb);
|
||||||
wmove(wi, 0, 0);
|
wmove(wi, 0, 0);
|
||||||
wgetch_test(wi, delay);
|
remember_boxes(level, wi, wb);
|
||||||
|
wgetch_test(level + 1, wi, delay);
|
||||||
delwin(wi);
|
delwin(wi);
|
||||||
delwin(wb);
|
delwin(wb);
|
||||||
|
|
||||||
@ -442,6 +509,7 @@ wgetch_test(WINDOW *win, int delay)
|
|||||||
wmove(win, old_y, old_x);
|
wmove(win, old_y, old_x);
|
||||||
touchwin(win);
|
touchwin(win);
|
||||||
wrefresh(win);
|
wrefresh(win);
|
||||||
|
doupdate();
|
||||||
}
|
}
|
||||||
#ifdef SIGTSTP
|
#ifdef SIGTSTP
|
||||||
} else if (c == 'z') {
|
} else if (c == 'z') {
|
||||||
@ -462,6 +530,11 @@ wgetch_test(WINDOW *win, int delay)
|
|||||||
} else
|
} else
|
||||||
#endif /* NCURSES_MOUSE_VERSION */
|
#endif /* NCURSES_MOUSE_VERSION */
|
||||||
if (c >= KEY_MIN) {
|
if (c >= KEY_MIN) {
|
||||||
|
#if defined(NCURSES_VERSION) && defined(KEY_RESIZE)
|
||||||
|
if (c == KEY_RESIZE) {
|
||||||
|
resize_boxes(level, win);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
(void) waddstr(win, keyname(c));
|
(void) waddstr(win, keyname(c));
|
||||||
} else if (c > 0x80) {
|
} else if (c > 0x80) {
|
||||||
int c2 = (c & 0x7f);
|
int c2 = (c & 0x7f);
|
||||||
@ -528,17 +601,55 @@ static void
|
|||||||
getch_test(void)
|
getch_test(void)
|
||||||
{
|
{
|
||||||
int delay = begin_getch_test();
|
int delay = begin_getch_test();
|
||||||
wgetch_test(stdscr, delay);
|
wgetch_test(0, stdscr, delay);
|
||||||
finish_getch_test();
|
finish_getch_test();
|
||||||
}
|
}
|
||||||
|
|
||||||
#if USE_WIDEC_SUPPORT
|
#if USE_WIDEC_SUPPORT
|
||||||
|
/*
|
||||||
|
* For wgetch_test(), we create pairs of windows - one for a box, one for text.
|
||||||
|
* Resize both and paint the box in the parent.
|
||||||
|
*/
|
||||||
static void
|
static void
|
||||||
wget_wch_test(WINDOW *win, int delay)
|
resize_wide_boxes(int level, WINDOW *win)
|
||||||
|
{
|
||||||
|
unsigned n;
|
||||||
|
int base = 5;
|
||||||
|
int high = LINES - base;
|
||||||
|
int wide = COLS;
|
||||||
|
|
||||||
|
touchwin(stdscr);
|
||||||
|
wnoutrefresh(stdscr);
|
||||||
|
|
||||||
|
/* FIXME: this chunk should be done in resizeterm() */
|
||||||
|
slk_touch();
|
||||||
|
slk_clear();
|
||||||
|
slk_noutrefresh();
|
||||||
|
|
||||||
|
for (n = 0; (int) n < level; ++n) {
|
||||||
|
wresize(winstack[n].frame, high, wide);
|
||||||
|
wresize(winstack[n].text, high - 2, wide - 2);
|
||||||
|
high -= 2;
|
||||||
|
wide -= 2;
|
||||||
|
werase(winstack[n].text);
|
||||||
|
box_set(winstack[n].frame, 0, 0);
|
||||||
|
wnoutrefresh(winstack[n].frame);
|
||||||
|
wprintw(winstack[n].text,
|
||||||
|
"size %dx%d\n",
|
||||||
|
getmaxy(winstack[n].text),
|
||||||
|
getmaxx(winstack[n].text));
|
||||||
|
wnoutrefresh(winstack[n].text);
|
||||||
|
if (winstack[n].text == win)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
doupdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
wget_wch_test(int level, WINDOW *win, int delay)
|
||||||
{
|
{
|
||||||
char buf[BUFSIZ];
|
char buf[BUFSIZ];
|
||||||
int first_y, first_x;
|
int first_y, first_x;
|
||||||
int last_y = getmaxy(win) - 1;
|
|
||||||
wint_t c;
|
wint_t c;
|
||||||
int incount = 0;
|
int incount = 0;
|
||||||
bool flags[256];
|
bool flags[256];
|
||||||
@ -553,7 +664,7 @@ wget_wch_test(WINDOW *win, int delay)
|
|||||||
getyx(win, first_y, first_x);
|
getyx(win, first_y, first_x);
|
||||||
|
|
||||||
wgetch_help(win, flags);
|
wgetch_help(win, flags);
|
||||||
wsetscrreg(win, first_y, last_y);
|
wsetscrreg(win, first_y, getmaxy(win) - 1);
|
||||||
scrollok(win, TRUE);
|
scrollok(win, TRUE);
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
@ -595,7 +706,7 @@ wget_wch_test(WINDOW *win, int delay)
|
|||||||
} else if (c == 's') {
|
} else if (c == 's') {
|
||||||
ShellOut(TRUE);
|
ShellOut(TRUE);
|
||||||
} else if (c == 'w') {
|
} else if (c == 'w') {
|
||||||
int high = last_y - first_y + 1;
|
int high = getmaxy(win) - 1 - first_y + 1;
|
||||||
int wide = getmaxx(win) - first_x;
|
int wide = getmaxx(win) - first_x;
|
||||||
int old_y, old_x;
|
int old_y, old_x;
|
||||||
int new_y = first_y + getbegy(win);
|
int new_y = first_y + getbegy(win);
|
||||||
@ -609,7 +720,8 @@ wget_wch_test(WINDOW *win, int delay)
|
|||||||
box_set(wb, 0, 0);
|
box_set(wb, 0, 0);
|
||||||
wrefresh(wb);
|
wrefresh(wb);
|
||||||
wmove(wi, 0, 0);
|
wmove(wi, 0, 0);
|
||||||
wget_wch_test(wi, delay);
|
remember_boxes(level, wi, wb);
|
||||||
|
wget_wch_test(level + 1, wi, delay);
|
||||||
delwin(wi);
|
delwin(wi);
|
||||||
delwin(wb);
|
delwin(wb);
|
||||||
|
|
||||||
@ -637,6 +749,11 @@ wget_wch_test(WINDOW *win, int delay)
|
|||||||
} else
|
} else
|
||||||
#endif /* NCURSES_MOUSE_VERSION */
|
#endif /* NCURSES_MOUSE_VERSION */
|
||||||
if (code == KEY_CODE_YES) {
|
if (code == KEY_CODE_YES) {
|
||||||
|
#ifdef KEY_RESIZE
|
||||||
|
if (c == KEY_RESIZE) {
|
||||||
|
resize_wide_boxes(level, win);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
(void) waddstr(win, key_name(c));
|
(void) waddstr(win, key_name(c));
|
||||||
} else {
|
} else {
|
||||||
if (c < 256 && iscntrl(c)) {
|
if (c < 256 && iscntrl(c)) {
|
||||||
@ -658,7 +775,7 @@ static void
|
|||||||
get_wch_test(void)
|
get_wch_test(void)
|
||||||
{
|
{
|
||||||
int delay = begin_getch_test();
|
int delay = begin_getch_test();
|
||||||
wget_wch_test(stdscr, delay);
|
wget_wch_test(0, stdscr, delay);
|
||||||
finish_getch_test();
|
finish_getch_test();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
* wrs(5/28/93) -- modified to be consistent (perform identically) with either
|
* wrs(5/28/93) -- modified to be consistent (perform identically) with either
|
||||||
* PDCurses or under Unix System V, R4
|
* PDCurses or under Unix System V, R4
|
||||||
*
|
*
|
||||||
* $Id: testcurs.c,v 1.28 2002/02/03 00:29:22 tom Exp $
|
* $Id: testcurs.c,v 1.29 2002/06/01 16:17:52 tom Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <test.priv.h>
|
#include <test.priv.h>
|
||||||
@ -387,13 +387,13 @@ inputTest(WINDOW *win)
|
|||||||
|
|
||||||
repeat = 0;
|
repeat = 0;
|
||||||
do {
|
do {
|
||||||
static char *fmt[] = {
|
static const char *fmt[] = {
|
||||||
"%d %10s",
|
"%d %10s",
|
||||||
"%d %[a-zA-Z]s",
|
"%d %[a-zA-Z]s",
|
||||||
"%d %[][a-zA-Z]s",
|
"%d %[][a-zA-Z]s",
|
||||||
"%d %[^0-9]"
|
"%d %[^0-9]"
|
||||||
};
|
};
|
||||||
char *format = fmt[repeat % SIZEOF(fmt)];
|
const char *format = fmt[repeat % SIZEOF(fmt)];
|
||||||
|
|
||||||
wclear(win);
|
wclear(win);
|
||||||
mvwaddstr(win, 3, 2, "The window should have moved");
|
mvwaddstr(win, 3, 2, "The window should have moved");
|
||||||
|
Loading…
Reference in New Issue
Block a user