+ minor cleanup of terminfo.tail
14 files changed:
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.2130 2013/11/02 21:42:02 tom Exp $
+-- $Id: NEWS,v 1.2134 2013/11/11 02:07:02 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
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20131110
+ + minor cleanup of terminfo.tail
+
20131102
+ use TS extension to describe xterm's title-escapes -TD
+ modify terminator and nsterm-s to use xterm+sl-twm building block -TD
20131102
+ use TS extension to describe xterm's title-escapes -TD
+ modify terminator and nsterm-s to use xterm+sl-twm building block -TD
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.954 2013/11/02 15:33:15 tom Exp $
+# $Id: dist.mk,v 1.956 2013/11/10 22:44:38 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 9
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 9
-NCURSES_PATCH = 20131102
+NCURSES_PATCH = 20131110
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
-.\" $Id: terminfo.tail,v 1.67 2013/08/31 12:11:03 tom Exp $
+.\" $Id: terminfo.tail,v 1.68 2013/11/09 15:20:48 tom Exp $
.\" Beginning of terminfo.tail file
.\" This file is part of ncurses.
.\" See "terminfo.head" for copyright.
.\" Beginning of terminfo.tail file
.\" This file is part of ncurses.
.\" See "terminfo.head" for copyright.
(i.e., an automatic return and line-feed
when the end of a line is reached) is indicated by the capability \fBam\fR.
Hence the description of ansi includes \fBam\fR.
(i.e., an automatic return and line-feed
when the end of a line is reached) is indicated by the capability \fBam\fR.
Hence the description of ansi includes \fBam\fR.
-Numeric capabilities are followed by the character `#' and then a positive value.
+Numeric capabilities are followed by the character \*(``#\*('' and then a positive value.
Thus \fBcols\fR, which indicates the number of columns the terminal has,
Thus \fBcols\fR, which indicates the number of columns the terminal has,
-gives the value `80' for ansi.
+gives the value \*(``80\*('' for ansi.
Values for numeric capabilities may be specified in decimal, octal or hexadecimal,
using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF).
.PP
Finally, string valued capabilities, such as \fBel\fR (clear to end of line
Values for numeric capabilities may be specified in decimal, octal or hexadecimal,
using the C programming language conventions (e.g., 255, 0377 and 0xff or 0xFF).
.PP
Finally, string valued capabilities, such as \fBel\fR (clear to end of line
-sequence) are given by the two-character code, an `=', and then a string
-ending at the next following `,'.
+sequence) are given by the two-character code, an \*(``=\*('', and then a string
+ending at the next following \*(``,\*(''.
.PP
A number of escape sequences are provided in the string valued capabilities
for easy encoding of characters there.
.PP
A number of escape sequences are provided in the string valued capabilities
for easy encoding of characters there.
.I tputs
to provide this delay.
The delay must be a number with at most one decimal
.I tputs
to provide this delay.
The delay must be a number with at most one decimal
-place of precision; it may be followed by suffixes `*' or '/' or both.
-A `*'
+place of precision; it may be followed by suffixes \*(``*\*('' or \*(``/\*('' or both.
+A \*(``*\*(''
indicates that the padding required is proportional to the number of lines
affected by the operation, and the amount given is the per-affected-unit
padding required.
indicates that the padding required is proportional to the number of lines
affected by the operation, and the amount given is the per-affected-unit
padding required.
.IR lines
affected.) Normally, padding is advisory if the device has the \fBxon\fR
capability; it is used for cost computation but does not trigger delays.
.IR lines
affected.) Normally, padding is advisory if the device has the \fBxon\fR
capability; it is used for cost computation but does not trigger delays.
suffix indicates that the padding is mandatory and forces a delay of the given
number of milliseconds even on devices for which \fBxon\fR is present to
indicate flow control.
suffix indicates that the padding is mandatory and forces a delay of the given
number of milliseconds even on devices for which \fBxon\fR is present to
indicate flow control.
.PP
To get the padding for insert line right (if the terminal manufacturer
did not document it) a severe test is to edit a large file at 9600 baud,
.PP
To get the padding for insert line right (if the terminal manufacturer
did not document it) a severe test is to edit a large file at 9600 baud,
-delete 16 or so lines from the middle of the screen, then hit the `u'
+delete 16 or so lines from the middle of the screen, then hit the \*(``u\*(''
key several times quickly.
If the terminal messes up, more padding is usually needed.
A similar test can be used for insert character.
key several times quickly.
If the terminal messes up, more padding is usually needed.
A similar test can be used for insert character.
and
.BR cud1 .
These local cursor motions should not alter the text they pass over,
and
.BR cud1 .
These local cursor motions should not alter the text they pass over,
-for example, you would not normally use `\fBcuf1\fP=\ ' because the
+for example, you would not normally use \*(``\fBcuf1\fP=\ \*('' because the
space would erase the character moved over.
.PP
A very important point here is that the local cursor motions encoded
space would erase the character moved over.
.PP
A very important point here is that the local cursor motions encoded
.PP
Cursor addressing and other strings requiring parameters
in the terminal are described by a
.PP
Cursor addressing and other strings requiring parameters
in the terminal are described by a
-parameterized string capability, with
-.IR printf (3)
-like escapes \fB%x\fR in it.
+parameterized string capability,
+with \fIprintf\fP-like escapes such as \fI%x\fR in it.
For example, to address the cursor, the
.B cup
capability is given, using two parameters:
For example, to address the cursor, the
.B cup
capability is given, using two parameters:
The \fB%\fR encodings have the following meanings:
.PP
.TP 5
The \fB%\fR encodings have the following meanings:
.PP
.TP 5
+\fB%%\fP
+outputs \*(``%\*(''
-%\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP
-as in \fBprintf\fP, flags are [\-+#] and space.
-Use a `:' to allow the next character to be a `\-' flag,
+\fB%\fP\fI[[\fP:\fI]flags][width[.precision]][\fP\fBdoxXs\fP\fI]\fP
+as in \fBprintf\fP, flags are \fI[\-+#]\fP and \fIspace\fP.
+Use a \*(``:\*('' to allow the next character to be a \*(``\-\*('' flag,
avoiding interpreting "%\-" as an operator.
.TP
avoiding interpreting "%\-" as an operator.
.TP
print pop() like %c in \fBprintf\fP
.TP
print pop() like %c in \fBprintf\fP
.TP
print pop() like %s in \fBprintf\fP
.TP
print pop() like %s in \fBprintf\fP
.TP
push \fIi\fP'th parameter
.TP
push \fIi\fP'th parameter
.TP
-%P[a\-z]
-set dynamic variable [a\-z] to pop()
+\fB%P\fP\fI[a\-z]\fP
+set dynamic variable \fI[a\-z]\fP to pop()
-%g[a\-z]
-get dynamic variable [a\-z] and push it
+\fB%g\fP\fI[a\-z]/\fP
+get dynamic variable \fI[a\-z]\fP and push it
-%P[A\-Z]
-set static variable [a\-z] to pop()
+\fB%P\fP\fI[A\-Z]\fP
+set static variable \fI[a\-z]\fP to \fIpop()\fP
-%g[A\-Z]
-get static variable [a\-z] and push it
+\fB%g\fP\fI[A\-Z]\fP
+get static variable \fI[a\-z]\fP and push it
.IP
The terms "static" and "dynamic" are misleading.
Historically, these are simply two different sets of variables,
.IP
The terms "static" and "dynamic" are misleading.
Historically, these are simply two different sets of variables,
However, that fact is not documented in other implementations.
Relying on it will adversely impact portability to other implementations.
.TP
However, that fact is not documented in other implementations.
Relying on it will adversely impact portability to other implementations.
.TP
char constant \fIc\fP
.TP
char constant \fIc\fP
.TP
integer constant \fInn\fP
.TP
integer constant \fInn\fP
.TP
-%+ %\- %* %/ %m
-arithmetic (%m is mod): push(pop() op pop())
+\fB%+\fP, \fB%\-\fP, \fB%*\fP, \fB%/\fP, \fB%m\fP
+arithmetic (%m is mod): \fIpush(pop() op pop())\fP
-%& %| %^
-bit operations (AND, OR and exclusive-OR): push(pop() op pop())
+\fB%&\fP, \fB%|\fP, \fB%^\fP
+bit operations (AND, OR and exclusive-OR): \fIpush(pop() op pop())\fP
-%= %> %<
-logical operations: push(pop() op pop())
+\fB%=\fP, \fB%>\fP, \fB%<\fP
+logical operations: \fIpush(pop() op pop())\fP
logical AND and OR operations (for conditionals)
.TP
logical AND and OR operations (for conditionals)
.TP
unary operations (logical and bit complement): push(op pop())
.TP
unary operations (logical and bit complement): push(op pop())
.TP
add 1 to first two parameters (for ANSI terminals)
.TP
add 1 to first two parameters (for ANSI terminals)
.TP
-%? \fIexpr\fP %t \fIthenpart\fP %e \fIelsepart\fP %;
+\fB%?\fP \fIexpr\fP \fB%t\fP \fIthenpart\fP \fB%e\fP \fIelsepart\fP \fB%;\fP
This forms an if-then-else.
This forms an if-then-else.
-The %e \fIelsepart\fP is optional.
-Usually the %? \fIexpr\fP part pushes a value onto the stack,
-and %t pops it from the stack, testing if it is nonzero (true).
-If it is zero (false), control passes to the %e (else) part.
+The \fB%e\fP \fIelsepart\fP is optional.
+Usually the \fB%?\fP \fIexpr\fP part pushes a value onto the stack,
+and \fB%t\fP pops it from the stack, testing if it is nonzero (true).
+If it is zero (false), control passes to the \fB%e\fP (else) part.
.IP
It is possible to form else-if's a la Algol 68:
.RS
.IP
It is possible to form else-if's a la Algol 68:
.RS
-%? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %;
+\fB%?\fP c\d1\u \fB%t\fP b\d1\u \fB%e\fP c\d2\u \fB%t\fP b\d2\u \fB%e\fP c\d3\u \fB%t\fP b\d3\u \fB%e\fP c\d4\u \fB%t\fP b\d4\u \fB%e\fP \fB%;\fP
.RE
.IP
where c\di\u are conditions, b\di\u are bodies.
.RE
.IP
where c\di\u are conditions, b\di\u are bodies.
.PP
Binary operations are in postfix form with the operands in the usual order.
That is, to get x\-5 one would use "%gx%{5}%-".
.PP
Binary operations are in postfix form with the operands in the usual order.
That is, to get x\-5 one would use "%gx%{5}%-".
+\fB%P\fP and \fB%g\fP variables are
persistent across escape-string evaluations.
.PP
Consider the HP2645, which, to get to row 3 and column 12, needs
persistent across escape-string evaluations.
.PP
Consider the HP2645, which, to get to row 3 and column 12, needs
.PP
A final example is the \s-1LSI ADM\s0-3a, which uses row and column
offset by a blank character, thus \*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq.
.PP
A final example is the \s-1LSI ADM\s0-3a, which uses row and column
offset by a blank character, thus \*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq.
-After sending `\eE=', this pushes the first parameter, pushes the
+After sending \*(``\eE=\*('', this pushes the first parameter, pushes the
ASCII value for a space (32), adds them (pushing the sum on the stack
in place of the two previous values) and outputs that value as a character.
Then the same is done for the second parameter.
ASCII value for a space (32), adds them (pushing the sum on the stack
in place of the two previous values) and outputs that value as a character.
Then the same is done for the second parameter.
in \fBip\fR (a string option).
Any other sequence which may need to be
sent after an insert of a single character may also be given in \fBip\fR.
in \fBip\fR (a string option).
Any other sequence which may need to be
sent after an insert of a single character may also be given in \fBip\fR.
-If your terminal needs both to be placed into an `insert mode' and
+If your terminal needs both to be placed into an \*(``insert mode\*('' and
a special code to precede each inserted character, then both
.BR smir / rmir
and
a special code to precede each inserted character, then both
.BR smir / rmir
and
string is used.
.PP
.SS Status Lines
string is used.
.PP
.SS Status Lines
-Some terminals have an extra `status line' which is not normally used by
+Some terminals have an extra \*(``status line\*('' which is not normally used by
software (and thus not counted in the terminal's \fBlines\fR capability).
.PP
The simplest case is a status line which is cursor-addressable but not
software (and thus not counted in the terminal's \fBlines\fR capability).
.PP
The simplest case is a status line which is cursor-addressable but not
.PP
.SS Color Handling
.PP
.PP
.SS Color Handling
.PP
-Most color terminals are either `Tektronix-like' or `HP-like'.
+Most color terminals are either \*(``Tektronix-like\*('' or \*(``HP-like\*(''.
Tektronix-like
terminals have a predefined set of N colors (where N usually 8), and can set
character-cell foreground and background characters independently, mixing them
Tektronix-like
terminals have a predefined set of N colors (where N usually 8), and can set
character-cell foreground and background characters independently, mixing them
.BR rep .
The first parameter is the character to be repeated and the second
is the number of times to repeat it.
.BR rep .
The first parameter is the character to be repeated and the second
is the number of times to repeat it.
-Thus, tparm(repeat_char, 'x', 10) is the same as `xxxxxxxxxx'.
+Thus, tparm(repeat_char, 'x', 10) is the same as \*(``xxxxxxxxxx\*(''.
.PP
If the terminal has a settable command character, such as the \s-1TEKTRONIX\s+1 4025,
this can be indicated with
.PP
If the terminal has a settable command character, such as the \s-1TEKTRONIX\s+1 4025,
this can be indicated with
.PP
.SS Glitches and Braindamage
.PP
.PP
.SS Glitches and Braindamage
.PP
-Hazeltine terminals, which do not allow `~' characters to be displayed should
+Hazeltine terminals, which do not allow \*(``~\*('' characters to be displayed should
indicate \fBhz\fR.
.PP
Terminals which ignore a line-feed immediately after an \fBam\fR wrap,
indicate \fBhz\fR.
.PP
Terminals which ignore a line-feed immediately after an \fBam\fR wrap,
.PP
Teleray terminals, where tabs turn all characters moved over to blanks,
should indicate \fBxt\fR (destructive tabs).
.PP
Teleray terminals, where tabs turn all characters moved over to blanks,
should indicate \fBxt\fR (destructive tabs).
-Note: the variable indicating this is now `dest_tabs_magic_smso'; in
+Note: the variable indicating this is now \*(``dest_tabs_magic_smso\*(''; in
older versions, it was teleray_glitch.
This glitch is also taken to mean that it is not possible to position
the cursor on top of a \*(``magic cookie\*('',
older versions, it was teleray_glitch.
This glitch is also taken to mean that it is not possible to position
the cursor on top of a \*(``magic cookie\*('',
indicating that the f1 key is used for escape and f2 for control C.
(Only certain Superbees have this problem, depending on the ROM.)
Note that in older terminfo versions, this capability was called
indicating that the f1 key is used for escape and f2 for control C.
(Only certain Superbees have this problem, depending on the ROM.)
Note that in older terminfo versions, this capability was called
-`beehive_glitch'; it is now `no_esc_ctl_c'.
+\*(``beehive_glitch\*(''; it is now \*(``no_esc_ctl_c\*(''.
.PP
Other specific terminal problems may be corrected by adding more
capabilities of the form \fBx\fR\fIx\fR.
.PP
Other specific terminal problems may be corrected by adding more
capabilities of the form \fBx\fR\fIx\fR.
#include <ctype.h>
#include <tic.h>
#include <ctype.h>
#include <tic.h>
-MODULE_ID("$Id: lib_tparm.c,v 1.89 2013/09/28 20:46:56 tom Exp $")
+MODULE_ID("$Id: lib_tparm.c,v 1.90 2013/11/09 14:53:05 tom Exp $")
*
* Cursor addressing and other strings requiring parame-
* ters in the terminal are described by a parameterized string
*
* Cursor addressing and other strings requiring parame-
* ters in the terminal are described by a parameterized string
- * capability, with like escapes %x in it. For example, to
+ * capability, with escapes like %x in it. For example, to
* address the cursor, the cup capability is given, using two
* parameters: the row and column to address to. (Rows and
* columns are numbered from zero and refer to the physical
* address the cursor, the cup capability is given, using two
* parameters: the row and column to address to. (Rows and
* columns are numbered from zero and refer to the physical
-ncurses6 (5.9-20131102) unstable; urgency=low
+ncurses6 (5.9-20131110) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Nov 2013 16:17:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Nov 2013 09:23:57 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
This package is used for testing builds of ncurses.
This package is used for testing builds of ncurses.
-Copyright (c) 1998-2012 Free Software Foundation, Inc.
+Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
-Copyright 1996-2007 by Thomas E. Dickey
+Copyright 1996-2012,2013 by Thomas E. Dickey
-ncurses6 (5.9-20131102) unstable; urgency=low
+ncurses6 (5.9-20131110) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Nov 2013 16:17:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Nov 2013 09:23:57 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
ncurses6 (5.9-20131005) unstable; urgency=low
This package is used for testing builds of ncurses.
This package is used for testing builds of ncurses.
-Copyright (c) 1998-2012 Free Software Foundation, Inc.
+Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
-Copyright 1996-2007 by Thomas E. Dickey
+Copyright 1996-2012,2013 by Thomas E. Dickey
-ncurses6 (5.9-20131102) unstable; urgency=low
+ncurses6 (5.9-20131110) unstable; urgency=low
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 02 Nov 2013 16:17:51 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 09 Nov 2013 09:23:57 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
ncurses6 (5.9-20120608) unstable; urgency=low
This package is used for testing builds of ncurses.
This package is used for testing builds of ncurses.
-Copyright (c) 1998-2012 Free Software Foundation, Inc.
+Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
Copyright © 2001 by Pradeep Padala
Permission is hereby granted, free of charge, to any person obtaining a
-Copyright 1996-2007 by Thomas E. Dickey
+Copyright 1996-2012,2013 by Thomas E. Dickey
-; $Id: mingw-ncurses.nsi,v 1.11 2013/11/02 15:33:15 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.13 2013/11/10 22:44:38 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "5"\r
!define VERSION_MINOR "9"\r
!define VERSION_YYYY "2013"\r
!define VERSION_MAJOR "5"\r
!define VERSION_MINOR "9"\r
!define VERSION_YYYY "2013"\r
-!define VERSION_MMDD "1102"\r
+!define VERSION_MMDD "1110"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 5.9
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 5.9
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 5.9
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 5.9
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
/****************************************************************************
- * Copyright (c) 2003-2006,2008 Free Software Foundation, Inc. *
+ * Copyright (c) 2003-2008,2013 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* authorization. *
****************************************************************************/
/*
* authorization. *
****************************************************************************/
/*
- * $Id: edit_field.h,v 1.8 2013/06/08 15:46:01 tom Exp $
+ * $Id: edit_field.h,v 1.9 2013/06/08 15:46:01 tom Exp $
*
* Interface of edit_field.c
*/
*
* Interface of edit_field.c
*/