Skip to content
GitLab
Explore
Sign in
Register
Commits on Source (6)
Imported Upstream version 344
· 720ade10
Sven Joachim
authored
Feb 13, 2019
720ade10
Merge branch 'upstream-unstable' into debian-unstable
· 273b64ee
Sven Joachim
authored
Feb 13, 2019
273b64ee
New upstream release
· 9e9aea1b
Sven Joachim
authored
Feb 13, 2019
9e9aea1b
Close bug #919475
· acb6ec01
Sven Joachim
authored
Feb 13, 2019
acb6ec01
Refresh Debian patches
· 2455cf59
Sven Joachim
authored
Feb 13, 2019
2455cf59
Update copy of XTerm FAQ to revision 1.378 (dated 2019/01/27)
· 523ecb18
Sven Joachim
authored
Feb 13, 2019
523ecb18
Show whitespace changes
Inline
Side-by-side
COPYING
View file @
523ecb18
-- $XtermId$
--- $XTermId: COPYING,v 1.2 2019/01/16 23:30:10 tom Exp $
-------------------------------------------------------------------------------
Copyright 1996-2018,2019 by Thomas E. Dickey
...
...
@@ -27,3 +28,48 @@ Except as contained in this notice, the name(s) of the above copyright
holders shall not be used in advertising or otherwise to promote the
sale, use or other dealings in this Software without prior written
authorization.
Copyright 1987, 1988 X Consortium
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital Equipment
Corporation not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
-- vile: txtmode
-------------------------------------------------------------------------------
MANIFEST
View file @
523ecb18
MANIFEST for xterm-34
3
, version xterm-34
3
MANIFEST for xterm-34
4
, version xterm-34
4
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
...
...
NEWS
View file @
523ecb18
The NEWS file was generated from xterm.log.html, which serves as the changelog
for xterm.
--------------------------------------------------------------------------------
Patch #34
3
- 2019/0
1
/1
3
Patch #34
4
- 2019/0
2
/1
2
* modify run-tic.sh to prefer ncurses6 over ncurses5, when available.
* add COPYING file, and dummy "check" makefile rule for testing Arch
packages.
* add/update package scripts for FreeBSD and NetBSD, for testing.
* update tables of combining and ambiguous-width characters in
wcwidth.c based on Unicode 11.0.0.
* modify xterm-new sample terminfo entry to correspond to ncurses
6.1, using the SGR 1006 mouse protocol.
* improve manual page discussion of selection ownership versus
highlighting (prompted by discussion with Martin Hostettler).
* restore/repair keepClipboard feature which was broken by changes in
patch #338 (report by Martin Hostettler).
* improve documentation for deleteIsDEL resource.
* modify DECRQM response for private mode 1037 to account for cases
where the resource deleteIsDEL is initially neither true nor false,
but dependent upon the keyboard type (report/analysis by Martin
Hostettler).
* clear pointers for pattern/fontset after destroying their data when
switching facename with an escape sequence (report by Robert Ross).
* modify logic for TrueType fallback fonts to match the sort-order
used by fc-match (report by Robert Ross).
* add resource setting limitFontsets which can be used to limit or
disable the new TrueType fontset feature (request by Robert Ross).
* add ASCII escape to default for disallowedPasteControls (prompted
by discussion with Martin Hostettler).
* fix typo in ctlseqs.ms (Robert Ross).
* implement DEC Cyrillic NRCS (based on screenshots of vttest
provided by Markus Schmidt).
* correct control returning sixel geometry maximum versus actual size
(patch by Ben Wong).
* improve manual page for resize to clarify that resize does not
execute the shell commands which it generates for setting
environment variables.
* improve memory-management for parser, to handle response strings
that might occur with ENQ or when SRM mode is active (patch by
Martin Hostettler).
* change Comment text in uxterm's desktop file to work around a
limitation of GNOME's GIO application (issue #940). The
documentation reads:
Searches desktop files for ones that match search_string.
The return value is an array of strvs. Each strv contains a list of
applications that matched search_string with an equal score. The
outer list is sorted by score so that the first strv contains the
best-matching applications, and so on. The algorithm for determining
matches is undefined and may change at any time.
* a check of zIconBeep resource was removed in double-buffer fix in
patch #334. That is used to decide whether to handle struct-notify
events. When xterm does handle the events, it may negotiate a new
window-size with the window manager. In that case, the limitResize
resource setting limited the new window-size to the screen-size.
Amended that by eliminating the limit for this special case when
double-buffer is configured, and restoring the check for zIconBeep
when double-buffer is not configured (Debian #919475).
* disallow recursion which could happen if a user configures the
answerbackString resource with the ENQ code and experiments with
that code when SRM is enabled (report by by Martin Hostettler).
* add remaining credits in COPYING file.
* modify run-tic.sh to check if it is using an older version of
ncurses which does not support large terminal descriptions, and if
so, remove a non-essential feature to keep within the 4096-byte
legacy limit.
VTPrsTbl.c
View file @
523ecb18
/* $XTermId: VTPrsTbl.c,v 1.9
4
201
8
/0
9
/1
3 08:36:56
tom Exp $ */
/* $XTermId: VTPrsTbl.c,v 1.9
5
201
9
/0
2
/1
0 23:34:31
tom Exp $ */
/*
* Copyright 1999-201
7
,201
8
by Thomas E. Dickey
* Copyright 1999-201
8
,201
9
by Thomas E. Dickey
*
* All Rights Reserved
*
...
...
@@ -6307,7 +6307,7 @@ CASE_ESC_IGNORE,
/* $ % & ' */
CASE_ESC_IGNORE
,
CASE_SCS_PERCENT
,
CASE_
E
SC
_IGNORE
,
CASE_SC
S_AMPRSND
,
CASE_ESC_IGNORE
,
/* ( ) * + */
CASE_ESC_IGNORE
,
...
...
@@ -6467,7 +6467,7 @@ CASE_ESC_IGNORE,
/* currency yen brokenbar section */
CASE_ESC_IGNORE
,
CASE_SCS_PERCENT
,
CASE_
E
SC
_IGNORE
,
CASE_SC
S_AMPRSND
,
CASE_ESC_IGNORE
,
/* diaeresis copyright ordfeminine guillemotleft */
CASE_ESC_IGNORE
,
...
...
@@ -7882,6 +7882,330 @@ CASE_GROUND_STATE,
CASE_IGNORE
,
};
Const
PARSE_T
scs_amp_table
[]
=
/* SCS & */
{
/* NUL SOH STX ETX */
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
/* EOT ENQ ACK BEL */
CASE_IGNORE
,
CASE_ENQ
,
CASE_IGNORE
,
CASE_BELL
,
/* BS HT NL VT */
CASE_BS
,
CASE_TAB
,
CASE_VMOT
,
CASE_VMOT
,
/* FF CR SO SI */
CASE_VMOT
,
CASE_CR
,
CASE_SO
,
CASE_SI
,
/* DLE DC1 DC2 DC3 */
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
/* DC4 NAK SYN ETB */
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
/* CAN EM SUB ESC */
CASE_GROUND_STATE
,
CASE_IGNORE
,
CASE_GROUND_STATE
,
CASE_ESC
,
/* FS GS RS US */
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
CASE_IGNORE
,
/* SP ! " # */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* $ % & ' */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* ( ) * + */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* , - . / */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* 0 1 2 3 */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 4 5 6 7 */
CASE_GSETS_AMPRSND
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 8 9 : ; */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* < = > ? */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* @ A B C */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* D E F G */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* H I J K */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* L M N O */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* P Q R S */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* T U V W */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* X Y Z [ */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* \ ] ^ _ */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* ` a b c */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* d e f g */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* h i j k */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* l m n o */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* p q r s */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* t u v w */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* x y z { */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* | } ~ DEL */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_IGNORE
,
/* 0x80 0x81 0x82 0x83 */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 0x84 0x85 0x86 0x87 */
CASE_IND
,
CASE_NEL
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 0x88 0x89 0x8a 0x8b */
CASE_HTS
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 0x8c 0x8d 0x8e 0x8f */
CASE_GROUND_STATE
,
CASE_RI
,
CASE_SS2
,
CASE_SS3
,
/* 0x90 0x91 0x92 0x93 */
CASE_DCS
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* 0x94 0x95 0x96 0x97 */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_SPA
,
CASE_EPA
,
/* 0x98 0x99 0x9a 0x9b */
CASE_SOS
,
CASE_GROUND_STATE
,
CASE_DECID
,
CASE_CSI_STATE
,
/* 0x9c 0x9d 0x9e 0x9f */
CASE_ST
,
CASE_OSC
,
CASE_PM
,
CASE_APC
,
/* nobreakspace exclamdown cent sterling */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* currency yen brokenbar section */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* diaeresis copyright ordfeminine guillemotleft */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* notsign hyphen registered macron */
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
CASE_ESC_IGNORE
,
/* degree plusminus twosuperior threesuperior */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* acute mu paragraph periodcentered */
CASE_GSETS_AMPRSND
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* cedilla onesuperior masculine guillemotright */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* onequarter onehalf threequarters questiondown */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Agrave Aacute Acircumflex Atilde */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Adiaeresis Aring AE Ccedilla */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Egrave Eacute Ecircumflex Ediaeresis */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Igrave Iacute Icircumflex Idiaeresis */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Eth Ntilde Ograve Oacute */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Ocircumflex Otilde Odiaeresis multiply */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Ooblique Ugrave Uacute Ucircumflex */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* Udiaeresis Yacute Thorn ssharp */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* agrave aacute acircumflex atilde */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* adiaeresis aring ae ccedilla */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* egrave eacute ecircumflex ediaeresis */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* igrave iacute icircumflex idiaeresis */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* eth ntilde ograve oacute */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* ocircumflex otilde odiaeresis division */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* oslash ugrave uacute ucircumflex */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
/* udiaeresis yacute thorn ydiaeresis */
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_GROUND_STATE
,
CASE_IGNORE
,
};
Const
PARSE_T
scs_pct_table
[]
=
/* SCS % */
{
/* NUL SOH STX ETX */
...
...
VTparse.def
View file @
523ecb18
# $XTermId: VTparse.def,v 1.5
8
201
8
/0
9
/1
3 08:36:56
tom Exp $
# $XTermId: VTparse.def,v 1.5
9
201
9
/0
2
/1
0 23:34:10
tom Exp $
#
# vile:confmode rs=lf
# -----------------------------------------------------------------------------
# this file is part of xterm
#
# Copyright 1996-201
4
,201
8
by Thomas E. Dickey
# Copyright 1996-201
8
,201
9
by Thomas E. Dickey
#
# All Rights Reserved
#
...
...
@@ -211,3 +211,5 @@ CASE_GSETS3
CASE_GSETS5
CASE_SCS_DQUOTE
CASE_GSETS_DQUOTE
CASE_SCS_AMPRSND
CASE_GSETS_AMPRSND
VTparse.h
View file @
523ecb18
/* $XTermId: VTparse.h,v 1.6
8
201
8
/0
8/29 09:18:37
tom Exp $ */
/* $XTermId: VTparse.h,v 1.6
9
201
9
/0
2/10 23:34:21
tom Exp $ */
/*
* Copyright 1996-201
6
,201
8
by Thomas E. Dickey
* Copyright 1996-201
8
,201
9
by Thomas E. Dickey
*
* All Rights Reserved
*
...
...
@@ -81,6 +81,7 @@ extern Const PARSE_T vt52_ignore_table[];
#if OPT_WIDE_CHARS
extern
Const
PARSE_T
esc_pct_table
[];
extern
Const
PARSE_T
scs_amp_table
[];
extern
Const
PARSE_T
scs_pct_table
[];
extern
Const
PARSE_T
scs_2qt_table
[];
#endif
...
...
button.c
View file @
523ecb18
/* $XTermId: button.c,v 1.56
7
2019/0
1/13 16:03:0
5 tom Exp $ */
/* $XTermId: button.c,v 1.56
8
2019/0
2/11 10:21:3
5 tom Exp $ */
/*
* Copyright 1999-2018,2019 by Thomas E. Dickey
...
...
@@ -2126,15 +2126,21 @@ removeControls(XtermWidget xw, char *value)
case
ANSI_BS
:
ReplacePaste
(
epBS
);
break
;
case
ANSI_CR
:
ReplacePaste
(
epCR
);
break
;
case
ANSI_ESC
:
ReplacePaste
(
epESC
);
break
;
case
ANSI_FF
:
ReplacePaste
(
epFF
);
break
;
case
ANSI_HT
:
ReplacePaste
(
epHT
);
break
;
case
ANSI_LF
:
ReplacePaste
(
epNL
);
break
;
case
ANSI_CR
:
ReplacePaste
(
epCR
);
break
;
default:
continue
;
}
...
...
charproc.c
View file @
523ecb18
/* $XTermId: charproc.c,v 1.16
2
3 2019/0
1
/1
0
10:2
6:02
tom Exp $ */
/* $XTermId: charproc.c,v 1.163
7
2019/0
2
/1
1
10:2
1:54
tom Exp $ */
/*
* Copyright 1999-2018,2019 by Thomas E. Dickey
...
...
@@ -1392,6 +1392,7 @@ static const struct {
#endif
#if OPT_WIDE_CHARS
,
DATA
(
esc_pct_table
)
,
DATA
(
scs_amp_table
)
,
DATA
(
scs_pct_table
)
,
DATA
(
scs_2qt_table
)
#endif
...
...
@@ -1577,7 +1578,7 @@ dump_params(void)
type *new_string = area; \
size_t new_length = size; \
if (new_length == 0) { \
new_length =
256
; \
new_length =
1024
; \
new_string = TypeMallocN(type, new_length); \
} else if (used+1 >= new_length) { \
new_length = size * 2; \
...
...
@@ -1615,7 +1616,10 @@ dump_params(void)
sp->print_used = 0; \
} \
#define PARSE_SRM 1
struct
ParseState
{
unsigned
check_recur
;
#if OPT_VT52_MODE
Bool
vt52_cup
;
#endif
...
...
@@ -1638,6 +1642,10 @@ struct ParseState {
Char
*
string_area
;
size_t
string_size
;
size_t
string_used
;
/* Buffer for deferring input */
Char
*
defer_area
;
size_t
defer_size
;
size_t
defer_used
;
};
static
struct
ParseState
myState
;
...
...
@@ -1707,6 +1715,7 @@ static struct {
{
nrc_Norwegian_Danish
,
0
,
'`'
,
3
,
9
,
1
},
{
nrc_Portugese
,
'%'
,
'6'
,
3
,
9
,
1
},
/* VT5xx */
{
nrc_Cyrillic
,
'&'
,
'4'
,
5
,
9
,
1
},
{
nrc_Greek
,
'"'
,
'>'
,
5
,
9
,
1
},
{
nrc_Hebrew
,
'%'
,
'='
,
5
,
9
,
1
},
{
nrc_Turkish
,
'%'
,
'2'
,
5
,
9
,
1
},
...
...
@@ -1719,7 +1728,6 @@ static struct {
{
nrc_ISO_Latin_Cyrillic
,
0
,
'L'
,
5
,
9
,
0
},
/* VT5xx (not implemented) */
#if 0
{ nrc_Cyrillic, '&', '4', 5, 9, 0 },
{ nrc_Russian, '&', '5', 5, 9, 1 },
{ nrc_SCS_NRCS, '%', '3', 5, 9, 0 },
#endif
...
...
@@ -2135,6 +2143,19 @@ init_reply(unsigned type)
reply
.
a_type
=
(
Char
)
type
;
}
static
void
deferparsing
(
unsigned
c
,
struct
ParseState
*
sp
)
{
SafeAlloc
(
Char
,
sp
->
defer_area
,
sp
->
defer_used
,
sp
->
defer_size
);
if
(
new_string
==
0
)
{
xtermWarning
(
"Cannot allocate %lu bytes for deferred parsing of %u
\n
"
,
(
unsigned
long
)
new_length
,
c
);
return
;
}
SafeFree
(
sp
->
defer_area
,
sp
->
defer_size
);
sp
->
defer_area
[(
sp
->
defer_used
)
++
]
=
CharOf
(
c
);
}
static
Boolean
doparsing
(
XtermWidget
xw
,
unsigned
c
,
struct
ParseState
*
sp
)
{
...
...
@@ -2149,6 +2170,14 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
int
thispage
=
1
;
#endif
if
(
sp
->
check_recur
)
{
/* Defer parsing when parser is already running as the parser is not
* safe to reenter.
*/
deferparsing
(
c
,
sp
);
return
True
;
}
do
{
#if OPT_WIDE_CHARS
int
this_is_wide
=
0
;
...
...
@@ -3906,7 +3935,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
if
(
nparam
!=
3
)
{
TRACE
((
"DATA_ERROR: malformed CASE_GRAPHICS_ATTRIBUTES request with %d parameters
\n
"
,
nparam
));
}
else
{
int
status
=
3
;
int
status
=
3
;
/* assume failure */
int
result
=
0
;
int
result2
=
0
;
...
...
@@ -3916,51 +3945,54 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
case
1
:
/* color register count */
switch
(
GetParam
(
1
))
{
case
1
:
/* read */
status
=
0
;
status
=
0
;
/* success */
result
=
(
int
)
get_color_register_count
(
screen
);
break
;
case
2
:
/* reset */
screen
->
numcolorregisters
=
0
;
status
=
0
;
status
=
0
;
/* success */
result
=
(
int
)
get_color_register_count
(
screen
);
break
;
case
3
:
/* set */
if
(
GetParam
(
2
)
>
1
&&
(
unsigned
)
GetParam
(
2
)
<=
MAX_COLOR_REGISTERS
)
{
screen
->
numcolorregisters
=
GetParam
(
2
);
status
=
0
;
status
=
0
;
/* success */
result
=
(
int
)
get_color_register_count
(
screen
);
}
break
;
case
4
:
/* read maximum */
status
=
0
;
status
=
0
;
/* success */
result
=
MAX_COLOR_REGISTERS
;
break
;
default:
TRACE
((
"DATA_ERROR: CASE_GRAPHICS_ATTRIBUTES color register count request with unknown action parameter: %d
\n
"
,
GetParam
(
1
)));
status
=
2
;
status
=
2
;
/* error in Pa */
break
;
}
break
;
case
2
:
/* graphics geometry */
switch
(
GetParam
(
1
))
{
case
1
:
/* read */
status
=
0
;
result
=
screen
->
graphics_max_wide
;
result2
=
screen
->
graphics_max_high
;
TRACE
((
"Get sixel graphics geometry
\n
"
));
status
=
0
;
/* success */
result
=
Min
(
Width
(
screen
),
screen
->
graphics_max_wide
);
result2
=
Min
(
Height
(
screen
),
screen
->
graphics_max_high
);
break
;
case
2
:
/* reset */
/* FALLTHRU */
case
3
:
/* set */
/* FALLTHRU */
break
;
case
4
:
/* read maximum */
/* not implemented */
status
=
0
;
/* success */
result
=
screen
->
graphics_max_wide
;
result2
=
screen
->
graphics_max_high
;
break
;
default:
TRACE
((
"DATA_ERROR: CASE_GRAPHICS_ATTRIBUTES graphics geometry request with unknown action parameter: %d
\n
"
,
GetParam
(
1
)));
status
=
2
;
status
=
2
;
/* error in Pa */
break
;
}
break
;
...
...
@@ -3968,7 +4000,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
case
3
:
/* ReGIS geometry */
switch
(
GetParam
(
1
))
{
case
1
:
/* read */
status
=
0
;
status
=
0
;
/* success */
result
=
screen
->
graphics_regis_def_wide
;
result2
=
screen
->
graphics_regis_def_high
;
break
;
...
...
@@ -3982,7 +4014,7 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
default:
TRACE
((
"DATA_ERROR: CASE_GRAPHICS_ATTRIBUTES ReGIS geometry request with unknown action parameter: %d
\n
"
,
GetParam
(
1
)));
status
=
2
;
status
=
2
;
/* error in Pa */
break
;
}
break
;
...
...
@@ -4736,6 +4768,19 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
ResetState
(
sp
);
break
;
case
CASE_SCS_AMPRSND
:
TRACE
((
"CASE_SCS_AMPRSND
\n
"
));
sp
->
parsestate
=
scs_amp_table
;
break
;
case
CASE_GSETS_AMPRSND
:
if
(
screen
->
vtXX_level
>=
5
)
{
TRACE
((
"CASE_GSETS_AMPRSND(%d) = '%c'
\n
"
,
sp
->
scstype
,
c
));
xtermDecodeSCS
(
xw
,
sp
->
scstype
,
'&'
,
(
int
)
c
);
}
ResetState
(
sp
);
break
;
case
CASE_SCS_PERCENT
:
TRACE
((
"CASE_SCS_PERCENT
\n
"
));
sp
->
parsestate
=
scs_pct_table
;
...
...
@@ -4888,15 +4933,43 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
return
True
;
}
static
Boolean
redoparsing
(
XtermWidget
xw
,
unsigned
c
,
struct
ParseState
*
sp
,
unsigned
check
)
{
Boolean
result
=
False
;
if
(
!
(
sp
->
check_recur
&
check
))
{
UIntSet
(
sp
->
check_recur
,
check
);
result
=
doparsing
(
xw
,
c
,
sp
);
UIntClr
(
sp
->
check_recur
,
check
);
}
return
result
;
}
static
void
VTparse
(
XtermWidget
xw
)
{
Boolean
keep_running
;
/* We longjmp back to this point in VTReset() */
(
void
)
setjmp
(
vtjmpbuf
);
init_parser
(
xw
,
&
myState
);
keep_running
=
False
;
do
{
}
while
(
doparsing
(
xw
,
doinput
(),
&
myState
));
keep_running
=
doparsing
(
xw
,
doinput
(),
&
myState
);
while
(
myState
.
defer_used
)
{
Char
*
deferred
=
myState
.
defer_area
;
size_t
len
=
myState
.
defer_used
;
size_t
i
;
myState
.
defer_area
=
NULL
;
myState
.
defer_size
=
0
;
myState
.
defer_used
=
0
;
for
(
i
=
0
;
i
<
len
;
i
++
)
{
(
void
)
doparsing
(
xw
,
deferred
[
i
],
&
myState
);
}
free
(
deferred
);
}
}
while
(
keep_running
);
}
static
Char
*
v_buffer
;
/* pointer to physical buffer */
...
...
@@ -5738,8 +5811,24 @@ HandleStructNotify(Widget w GCC_UNUSED,
}
}
#else
if
(
height
!=
xw
->
hints
.
height
||
width
!=
xw
->
hints
.
width
)
if
(
height
!=
xw
->
hints
.
height
||
width
!=
xw
->
hints
.
width
)
{
#if OPT_DOUBLE_BUFFER
/*
* This is a special case: other calls to RequestResize that
* could set the screensize arbitrarily are via escape
* sequences, and we've limited resizing. But a configure
* notify is from the window manager, presumably under control
* of the interactive user (ignoring abuse of wmctrl). Ignore
* the limit for this case.
*/
int
saved_limit
=
xw
->
misc
.
limit_resize
;
xw
->
misc
.
limit_resize
=
0
;
RequestResize
(
xw
,
height
,
width
,
False
);
xw
->
misc
.
limit_resize
=
saved_limit
;
#else
RequestResize
(
xw
,
height
,
width
,
False
);
#endif
}
#endif
/* OPT_TOOLBAR */
}
break
;
...
...
@@ -7559,7 +7648,7 @@ unparseputc(XtermWidget xw, int c)
/* If send/receive mode is reset, we echo characters locally */
if
((
xw
->
keyboard
.
flags
&
MODE_SRM
)
==
0
)
{
(
void
)
doparsing
(
xw
,
(
unsigned
)
c
,
&
myState
);
(
void
)
re
doparsing
(
xw
,
(
unsigned
)
c
,
&
myState
,
PARSE_SRM
);
}
}
...
...
@@ -8366,6 +8455,8 @@ VTInitialize(Widget wrequest,
,
DATA
(
BS
)
,
DATA
(
CR
)
,
DATA
(
DEL
)
,
DATA
(
ESC
)
,
DATA
(
FF
)
,
DATA
(
HT
)
,
DATA
(
NL
)
,
DATA_END
...
...
@@ -9435,6 +9526,11 @@ VTInitialize(Widget wrequest,
#if OPT_TOOLBAR
wnew
->
VT100_TB_INFO
(
menu_bar
)
=
request
->
VT100_TB_INFO
(
menu_bar
);
init_Ires
(
VT100_TB_INFO
(
menu_height
));
#elif !OPT_DOUBLE_BUFFER
/* Flag icon name with "***" on window output when iconified.
* Put in a handler that will tell us when we get Map/Unmap events.
*/
if
(
resource
.
zIconBeep
)
#endif
XtAddEventHandler
(
my_parent
,
StructureNotifyMask
,
False
,
HandleStructNotify
,
(
Opaque
)
0
);
...
...
@@ -11825,6 +11921,13 @@ void
VTReset
(
XtermWidget
xw
,
Bool
full
,
Bool
saved
)
{
ReallyReset
(
xw
,
full
,
saved
);
free
(
myState
.
string_area
);
myState
.
string_area
=
0
;
free
(
myState
.
print_area
);
myState
.
print_area
=
0
;
longjmp
(
vtjmpbuf
,
1
);
/* force ground state in parser */
}
...
...
charsets.c
View file @
523ecb18
/* $XTermId: charsets.c,v 1.10
4
201
8/09/23 16:48:58
tom Exp $ */
/* $XTermId: charsets.c,v 1.10
5
201
9/02/11 00:41:13
tom Exp $ */
/*
* Copyright 1998-201
7
,201
8
by Thomas E. Dickey
* Copyright 1998-201
8
,201
9
by Thomas E. Dickey
*
* All Rights Reserved
*
...
...
@@ -791,6 +791,111 @@
UNI(0x7f, 0x00ff);
/* LATIN SMALL LETTER Y WITH DIAERESIS */
\
} \
end_CODEPAGE()
/* DEC Cyrillic from screenshot */
#define map_DEC_Cyrillic(code) \
begin_CODEPAGE(); \
switch (code) { \
UNI(0x20, 0x00a0);
/* NO-BREAK SPACE */
\
XXX(0x21, UNDEF);
/* undefined */
\
XXX(0x22, UNDEF);
/* undefined */
\
XXX(0x23, UNDEF);
/* undefined */
\
XXX(0x24, UNDEF);
/* undefined */
\
XXX(0x25, UNDEF);
/* undefined */
\
XXX(0x26, UNDEF);
/* undefined */
\
XXX(0x27, UNDEF);
/* undefined */
\
XXX(0x28, UNDEF);
/* undefined */
\
XXX(0x29, UNDEF);
/* undefined */
\
XXX(0x2a, UNDEF);
/* undefined */
\
XXX(0x2b, UNDEF);
/* undefined */
\
XXX(0x2c, UNDEF);
/* undefined */
\
XXX(0x2d, UNDEF);
/* undefined */
\
XXX(0x2e, UNDEF);
/* undefined */
\
XXX(0x2f, UNDEF);
/* undefined */
\
XXX(0x30, UNDEF);
/* undefined */
\
XXX(0x31, UNDEF);
/* undefined */
\
XXX(0x32, UNDEF);
/* undefined */
\
XXX(0x33, UNDEF);
/* undefined */
\
XXX(0x34, UNDEF);
/* undefined */
\
XXX(0x35, UNDEF);
/* undefined */
\
XXX(0x36, UNDEF);
/* undefined */
\
XXX(0x37, UNDEF);
/* undefined */
\
XXX(0x38, UNDEF);
/* undefined */
\
XXX(0x39, UNDEF);
/* undefined */
\
XXX(0x3a, UNDEF);
/* undefined */
\
XXX(0x3b, UNDEF);
/* undefined */
\
XXX(0x3c, UNDEF);
/* undefined */
\
XXX(0x3d, UNDEF);
/* undefined */
\
XXX(0x3e, UNDEF);
/* undefined */
\
XXX(0x3f, UNDEF);
/* undefined */
\
\
UNI(0x40, 0x044e);
/* CYRILLIC SMALL LETTER YU */
\
UNI(0x41, 0x0430);
/* CYRILLIC SMALL LETTER A */
\
UNI(0x42, 0x0431);
/* CYRILLIC SMALL LETTER BE */
\
UNI(0x43, 0x0446);
/* CYRILLIC SMALL LETTER TSE */
\
UNI(0x44, 0x0434);
/* CYRILLIC SMALL LETTER DE */
\
UNI(0x45, 0x0435);
/* CYRILLIC SMALL LETTER IE */
\
UNI(0x46, 0x0444);
/* CYRILLIC SMALL LETTER EF */
\
UNI(0x47, 0x0433);
/* CYRILLIC SMALL LETTER GHE */
\
UNI(0x48, 0x0445);
/* CYRILLIC SMALL LETTER HA */
\
UNI(0x49, 0x0438);
/* CYRILLIC SMALL LETTER I */
\
UNI(0x4a, 0x0439);
/* CYRILLIC SMALL LETTER SHORT I */
\
UNI(0x4b, 0x043a);
/* CYRILLIC SMALL LETTER KA */
\
UNI(0x4c, 0x043b);
/* CYRILLIC SMALL LETTER EL */
\
UNI(0x4d, 0x043c);
/* CYRILLIC SMALL LETTER EM */
\
UNI(0x4e, 0x043d);
/* CYRILLIC SMALL LETTER EN */
\
UNI(0x4f, 0x043e);
/* CYRILLIC SMALL LETTER O */
\
UNI(0x50, 0x043f);
/* CYRILLIC SMALL LETTER PE */
\
UNI(0x51, 0x044f);
/* CYRILLIC SMALL LETTER YA */
\
UNI(0x52, 0x0440);
/* CYRILLIC SMALL LETTER ER */
\
UNI(0x53, 0x0441);
/* CYRILLIC SMALL LETTER ES */
\
UNI(0x54, 0x0442);
/* CYRILLIC SMALL LETTER TE */
\
UNI(0x55, 0x0443);
/* CYRILLIC SMALL LETTER U */
\
UNI(0x56, 0x0436);
/* CYRILLIC SMALL LETTER ZHE */
\
UNI(0x57, 0x0432);
/* CYRILLIC SMALL LETTER VE */
\
UNI(0x58, 0x044c);
/* CYRILLIC SMALL LETTER SOFT SIGN */
\
UNI(0x59, 0x044b);
/* CYRILLIC SMALL LETTER YERU */
\
UNI(0x5a, 0x0437);
/* CYRILLIC SMALL LETTER ZE */
\
UNI(0x5b, 0x0448);
/* CYRILLIC SMALL LETTER SHA */
\
UNI(0x5c, 0x044d);
/* CYRILLIC SMALL LETTER E */
\
UNI(0x5d, 0x0449);
/* CYRILLIC SMALL LETTER SHCHA */
\
UNI(0x5e, 0x0447);
/* CYRILLIC SMALL LETTER CHE */
\
UNI(0x5f, 0x044a);
/* CYRILLIC SMALL LETTER HARD SIGN */
\
\
UNI(0x60, 0x042e);
/* CYRILLIC CAPITAL LETTER YU */
\
UNI(0x61, 0x0410);
/* CYRILLIC CAPITAL LETTER A */
\
UNI(0x62, 0x0411);
/* CYRILLIC CAPITAL LETTER BE */
\
UNI(0x63, 0x0426);
/* CYRILLIC CAPITAL LETTER TSE */
\
UNI(0x64, 0x0414);
/* CYRILLIC CAPITAL LETTER DE */
\
UNI(0x65, 0x0415);
/* CYRILLIC CAPITAL LETTER IE */
\
UNI(0x66, 0x0424);
/* CYRILLIC CAPITAL LETTER EF */
\
UNI(0x67, 0x0413);
/* CYRILLIC CAPITAL LETTER GHE */
\
UNI(0x68, 0x0425);
/* CYRILLIC CAPITAL LETTER HA */
\
UNI(0x69, 0x0418);
/* CYRILLIC CAPITAL LETTER I */
\
UNI(0x6a, 0x0419);
/* CYRILLIC CAPITAL LETTER SHORT I */
\
UNI(0x6b, 0x041a);
/* CYRILLIC CAPITAL LETTER KA */
\
UNI(0x6c, 0x041b);
/* CYRILLIC CAPITAL LETTER EL */
\
UNI(0x6d, 0x041c);
/* CYRILLIC CAPITAL LETTER EM */
\
UNI(0x6e, 0x041d);
/* CYRILLIC CAPITAL LETTER EN */
\
UNI(0x6f, 0x041e);
/* CYRILLIC CAPITAL LETTER O */
\
UNI(0x70, 0x041f);
/* CYRILLIC CAPITAL LETTER PE */
\
UNI(0x71, 0x042f);
/* CYRILLIC CAPITAL LETTER YA */
\
UNI(0x72, 0x0420);
/* CYRILLIC CAPITAL LETTER ER */
\
UNI(0x73, 0x0421);
/* CYRILLIC CAPITAL LETTER ES */
\
UNI(0x74, 0x0422);
/* CYRILLIC CAPITAL LETTER TE */
\
UNI(0x75, 0x0423);
/* CYRILLIC CAPITAL LETTER U */
\
UNI(0x76, 0x0416);
/* CYRILLIC CAPITAL LETTER ZHE */
\
UNI(0x77, 0x0412);
/* CYRILLIC CAPITAL LETTER VE */
\
UNI(0x78, 0x042c);
/* CYRILLIC CAPITAL LETTER SOFT SIGN */
\
UNI(0x79, 0x042b);
/* CYRILLIC CAPITAL LETTER YERU */
\
UNI(0x7a, 0x0417);
/* CYRILLIC CAPITAL LETTER ZE */
\
UNI(0x7b, 0x0428);
/* CYRILLIC CAPITAL LETTER SHA */
\
UNI(0x7c, 0x042d);
/* CYRILLIC CAPITAL LETTER E */
\
UNI(0x7d, 0x0429);
/* CYRILLIC CAPITAL LETTER SHCHA */
\
UNI(0x7e, 0x0427);
/* CYRILLIC CAPITAL LETTER CHE */
\
UNI(0x7f, 0x042a);
/* CYRILLIC CAPITAL LETTER HARD SIGN */
\
\
} \
end_CODEPAGE()
/* figure A-24 "DEC Greek Supplemental Character Set" */
#define map_DEC_Greek_Supp(code) \
begin_CODEPAGE(); \
...
...
@@ -1172,6 +1277,7 @@
UNI(0x7e, 0x00fc);
/* LATIN SMALL LETTER U WITH DIAERESIS */
\
}
#else
#define map_DEC_Cyrillic(code)
/* nothing */
#define map_DEC_Greek_Supp(code)
/* nothing */
#define map_DEC_Hebrew_Supp(code)
/* nothing */
#define map_DEC_Technical(code)
/* nothing */
...
...
@@ -1329,10 +1435,13 @@ xtermCharSetIn(XtermWidget xw, unsigned code, DECNRCM_codes charset)
map_DEC_Turkish_Supp
(
code
);
break
;
case
nrc_British_Latin_1
:
case
nrc_Cyrillic
:
case
nrc_French_Canadian2
:
map_DEC_Cyrillic
(
code
);
break
;
case
nrc_British_Latin_1
:
case
nrc_Russian
:
case
nrc_French_Canadian2
:
case
nrc_Unknown
:
default:
/* any character sets we don't recognize */
break
;
...
...
@@ -1544,6 +1653,9 @@ xtermCharSetOut(XtermWidget xw, IChar *buf, IChar *ptr, DECNRCM_codes leftset)
break
;
case
nrc_Cyrillic
:
map_DEC_Cyrillic
(
chr
=
seven
);
break
;
case
nrc_Russian
:
case
nrc_Unknown
:
default:
/* any character sets we don't recognize */
...
...
ctlseqs.ms
View file @
523ecb18
.\"#! troff -ms $1 -*- Nroff -*-
.\" "Xterm Control Sequences" document
.\" $XTermId: ctlseqs.ms,v 1.4
86
201
8/12/24 15:29:04
tom Exp $
.\" $XTermId: ctlseqs.ms,v 1.4
91
201
9/02/13 02:13:36
tom Exp $
.\"
.\"
.\" Copyright 1996-201
7
,201
8
by Thomas E. Dickey
.\" Copyright 1996-201
8
,201
9
by Thomas E. Dickey
.\"
.\" All Rights Reserved
.\"
...
...
@@ -69,8 +69,8 @@
.\"
.ds XT XTerm
.ds xt xterm
.ds LF Patch #34
1
.ds RF 201
8/12/24
.ds LF Patch #34
4
.ds RF 201
9/02/12
.\"
.if n .pl 9999v \" no page breaks in nroff
.ND
...
...
@@ -348,7 +348,7 @@ X Consortium (1994)
Thomas Dickey
.AI
XFree86 Project (1996-2006)
invisible-island.net (2006-201
8
)
invisible-island.net (2006-201
9
)
updated for \*(XT \*(LF (\*(RF)
.AU
.
...
...
@@ -364,7 +364,7 @@ The literal character \fIc\fP.
A single (required) character.
.\".iP
.IP \*(Ps
A single (usually optional) numeric parameter, composed of one o
f
more digits.
A single (usually optional) numeric parameter, composed of one o
r
more digits.
.\".iP
.IP \*(Pm
A multiple numeric parameter composed of any number of single numeric
...
...
@@ -707,18 +707,20 @@ The final character \*A is a special case,
since the same final character is
used by the VT300-control for the 96-character British Latin-1.
.br
There are a few other 94-character sets
not documented as NRCS
:
There are a few other 94-character sets:
\*(Cc = \*0 \(-> DEC Special Character and Line Drawing Set, VT100.
\*(Cc = \*< \(-> DEC Supplemental, VT200.
\*(Cc = \*> \(-> DEC Technical, VT300.
.br
These are documented as NRCS:
\*(Cc = \*%\*5 \(-> DEC Supplemental Graphics, VT300.
\*(Cc = \*&\*4 \(-> DEC Cyrillic, VT500.
\*(Cc = \*(Dq\*? \(-> DEC Greek, VT500.
\*(Cc = \*(Dq\*4 \(-> DEC Hebrew, VT500.
\*(Cc = \*%\*0 \(-> DEC Turkish, VT500.
.br
The VT520 reference manual lists a few more,
but no documentation has been found for the mappings:
\*(Cc = \*&\*4 \(-> DEC Cyrillic, VT500.
\*(Cc = \*&\*5 \(-> DEC Russian, VT500.
\*(Cc = \*%\*3 \(-> SCS NRCS, VT500.
.iP
...
...
@@ -1234,7 +1236,7 @@ This is the X10 \fI\*(xt\fP mouse protocol.
\*(Ps = \*3\*5 \(-> Enable font-shifting functions (rxvt).
\*(Ps = \*3\*8 \(-> Enter Tektronix Mode (DECTEK), VT240, \fI\*(xt\fP.
\*(Ps = \*4\*0 \(-> Allow 80 \z\(<-\(-> 132 Mode, \fI\*(xt\fP.
\*(Ps = \*4\*1 \(-> \fBmore\fP(1) fix (see \fBcurses\fP
(3)
resource).
\*(Ps = \*4\*1 \(-> \fBmore\fP(1) fix (see \fBcurses\fP resource).
\*(Ps = \*4\*2 \(-> Enable National Replacement Character sets
(DECNRCM), VT220.
\*(Ps = \*4\*4 \(-> Turn On Margin Bell, \fI\*(xt\fP.
...
...
@@ -1358,7 +1360,7 @@ DEC Private Mode Reset (DECRST).
\*(Ps = \*3\*0 \(-> Don't show scrollbar (rxvt).
\*(Ps = \*3\*5 \(-> Disable font-shifting functions (rxvt).
\*(Ps = \*4\*0 \(-> Disallow 80 \z\(<-\(-> 132 Mode, \fI\*(xt\fP.
\*(Ps = \*4\*1 \(-> No \fBmore\fP(1) fix (see \fBcurses\fP
(3)
resource).
\*(Ps = \*4\*1 \(-> No \fBmore\fP(1) fix (see \fBcurses\fP resource).
\*(Ps = \*4\*2 \(-> Disable National Replacement Character sets (DECNRCM),
VT220.
\*(Ps = \*4\*4 \(-> Turn Off Margin Bell, \fI\*(xt\fP.
...
...
ctlseqs.txt
View file @
523ecb18
...
...
@@ -20,8 +20,8 @@
Thomas Dickey
XFree86 Project (1996-2006)
invisible-island.net (2006-201
8
)
updated for XTerm Patch #34
1
(201
8/12/24
)
invisible-island.net (2006-201
9
)
updated for XTerm Patch #34
4
(201
9/02/10
)
...
...
@@ -299,18 +299,18 @@ ESC ( C Designate G0 Character Set, VT100, ISO 2022.
The final character A is a special case, since the same final
character is used by the VT300-control for the 96-character
British Latin-1.
There are a few other 94-character sets not documented as
NRCS:
There are a few other 94-character sets:
C = 0 -> DEC Special Character and Line Drawing Set, VT100.
C = < -> DEC Supplemental, VT200.
C = > -> DEC Technical, VT300.
These are documented as NRCS:
C = % 5 -> DEC Supplemental Graphics, VT300.
C = & 4 -> DEC Cyrillic, VT500.
C = " ? -> DEC Greek, VT500.
C = " 4 -> DEC Hebrew, VT500.
C = % 0 -> DEC Turkish, VT500.
The VT520 reference manual lists a few more, but no documenta-
tion has been found for the mappings:
C = & 4 -> DEC Cyrillic, VT500.
C = & 5 -> DEC Russian, VT500.
C = % 3 -> SCS NRCS, VT500.
...
...
@@ -693,7 +693,7 @@ CSI ? Pm h
Ps = 3 5 -> Enable font-shifting functions (rxvt).
Ps = 3 8 -> Enter Tektronix Mode (DECTEK), VT240, xterm.
Ps = 4 0 -> Allow 80 -> 132 Mode, xterm.
Ps = 4 1 -> more(1) fix (see curses
(3)
resource).
Ps = 4 1 -> more(1) fix (see curses resource).
Ps = 4 2 -> Enable National Replacement Character sets
(DECNRCM), VT220.
Ps = 4 4 -> Turn On Margin Bell, xterm.
...
...
@@ -812,7 +812,7 @@ CSI ? Pm l
Ps = 3 0 -> Don't show scrollbar (rxvt).
Ps = 3 5 -> Disable font-shifting functions (rxvt).
Ps = 4 0 -> Disallow 80 -> 132 Mode, xterm.
Ps = 4 1 -> No more(1) fix (see curses
(3)
resource).
Ps = 4 1 -> No more(1) fix (see curses resource).
Ps = 4 2 -> Disable National Replacement Character sets
(DECNRCM), VT220.
Ps = 4 4 -> Turn Off Margin Bell, xterm.
...
...
debian/changelog
View file @
523ecb18
xterm (344-1) UNRELEASED; urgency=medium
* New upstream release.
- A check of zIconBeep resource was removed in double-buffer fix in
xterm 334. That is used to decide whether to handle struct-notify
events. When xterm does handle the events, it may negotiate a new
window-size with the window manager. In that case, the limitResize
resource setting limited the new window-size to the screen-size.
Amended that by eliminating the limit for this special case when
double-buffer is configured, and restoring the check for zIconBeep
when double-buffer is not configured (Closes: #919475).
* Refresh Debian patches.
* Update copy of XTerm FAQ to revision 1.378 (dated 2019/01/27).
-- Sven Joachim <svenjoac@gmx.de> Wed, 13 Feb 2019 17:56:28 +0100
xterm (343-1) unstable; urgency=medium
* New upstream release.
...
...
debian/local/xterm.faq.html
View file @
523ecb18
<!--
*****************************************************************************
* Copyright 1997-201
7
,201
8
by Thomas E. Dickey *
* Copyright 1997-201
8
,201
9
by Thomas E. Dickey *
* All Rights Reserved. *
* *
* Permission to use, copy, modify, and distribute this software and its *
...
...
@@ -19,7 +19,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. *
*****************************************************************************
$XTermId: xterm.faq.html,v 1.37
5
201
8/10/16 00:14
:3
4
tom Exp $
$XTermId: xterm.faq.html,v 1.37
8
201
9/01/27 17:42
:3
8
tom Exp $
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
...
...
@@ -54,7 +54,7 @@
<p><a
href=
"/"
>
http://invisible-island.net/
</a><a
href=
"./"
>
xterm/
</a><br>
Copyright
©
1997-201
7
,201
8
by Thomas E. Dickey
</p>
Copyright
©
1997-201
8
,201
9
by Thomas E. Dickey
</p>
<hr>
<p><a
href=
...
...
@@ -426,7 +426,8 @@
"xterm.log.html#xterm_280"
>
2012
</a>
, I changed the default from
VT100 to VT420.
</p>
<h3
id=
"whatis_state_table"
>
What is a State Table?
</h3>
<h3
id=
"whatis_state_table-id"
><a
name=
"whatis_state_table"
id=
"whatis_state_table"
>
What is a State Table?
</a></h3>
<p>
That was mentioned regarding the title strings.
<strong>
XTerm
</strong>
uses a state machine to handle incoming
...
...
@@ -435,7 +436,8 @@
them not do well with
<a
href=
"/vttest/vttest.html"
>
vttest
</a>
.
</p>
<h3
id=
"why_not_vt320"
>
Why not emulate VT320?
</h3>
<h3
id=
"why_not_vt320-id"
><a
name=
"why_not_vt320"
id=
"why_not_vt320"
>
Why not emulate VT320?
</a></h3>
<p>
You could do that (by changing
<code>
decTerminalID
</code>
, but
the results were not that interesting). In retrospect, the VT320
...
...
@@ -454,7 +456,8 @@
emulators, whose literature referred to it as supporting ANSI
color. It did not do this.
</p>
<h3
id=
"why_vt420"
>
Why emulate VT420?
</h3>
<h3
id=
"why_vt420-id"
><a
name=
"why_vt420"
id=
"why_vt420"
>
Why
emulate VT420?
</a></h3>
<p>
The VT420 was interesting because it provided two features
that could be useful:
</p>
...
...
@@ -478,7 +481,8 @@
sessions) because those require hosts using special software, and
no publicly-available documentation was available.
</p>
<h3
id=
"why_not_vt520"
>
Why not emulate VT520?
</h3>
<h3
id=
"why_not_vt520-id"
><a
name=
"why_not_vt520"
id=
"why_not_vt520"
>
Why not emulate VT520?
</a></h3>
<p>
Again, the VT500-series is less interesting because most of
the features which are not hardware-specific (such as reporting
...
...
@@ -9243,6 +9247,13 @@ tbl ctlseqs.ms | groff -ms >ctlseqs.ps
</ul>
</li>
</ul>
<p>
By the way, although The Open Group made changes, none of
those have been incorporated in this version of xterm. That
was intentional (see
<a
href=
"https://invisible-island.net/personal/copyrights.html"
>
discussion
</a>
).
Consequently, the xterm copyright makes no mention of The
Open Group.
</p>
</li>
</ul>
...
...
debian/patches/900_debian_xterm.diff
View file @
523ecb18
...
...
@@ -42,7 +42,7 @@ This patch by Branden Robinson.
+ :kb=\177:
--- a/terminfo
+++ b/terminfo
@@ -11
1
9,6 +11
1
9,8 @@
xterm-vt220|xterm emulating vt220,
@@ -11
5
9,6 +11
5
9,8 @@
xterm-vt220|xterm emulating vt220,
use=xterm+app,
use=xterm+edit,
use=xterm-basic,
...
...
@@ -51,7 +51,7 @@ This patch by Branden Robinson.
#
xterm-vt52|xterm emulating dec vt52,
cols#80,
@@ -24
3
6,12 +24
3
8,12 @@
xterm-r5|xterm R5 version,
@@ -24
7
6,12 +24
7
8,12 @@
xterm-r5|xterm R5 version,
# This is the only entry which you should have to customize, since "xterm"
# is widely used for a variety of incompatible terminal emulations including
# color_xterm and rxvt.
...
...
debian/patches/902_windowops.diff
View file @
523ecb18
...
...
@@ -4,7 +4,7 @@
--- a/xterm.man
+++ b/xterm.man
@@ -
2893,7 +2893
,7 @@
This is a comma-separated list of names,
@@ -
3115,7 +3115
,7 @@
This is a comma-separated list of names,
from \fIdtterm\fP the operation number).
The default value is
.NS
...
...
debian/patches/904_fontops.diff
View file @
523ecb18
...
...
@@ -4,7 +4,7 @@
--- a/xterm.man
+++ b/xterm.man
@@ -2
044
,7 +2
044
,7 @@
The default is \*(``true\*(''.
@@ -2
148
,7 +2
148
,7 @@
The default is \*(``true\*(''.
.TP
.B "allowFontOps\fP (class\fB AllowFontOps\fP)"
Specifies whether control sequences that set/query the font should be allowed.
...
...
main.h
View file @
523ecb18
/* $XTermId: main.h,v 1.6
8
2019/0
1
/1
0 21:32:05
tom Exp $ */
/* $XTermId: main.h,v 1.6
9
2019/0
2
/1
1 09:26:51
tom Exp $ */
/*
* Copyright 2000-2018,2019 by Thomas E. Dickey
...
...
@@ -132,7 +132,7 @@
#endif
#ifndef DEF_DISALLOWED_PASTE_CONTROLS
#define DEF_DISALLOWED_PASTE_CONTROLS "BS,HT,DEL"
#define DEF_DISALLOWED_PASTE_CONTROLS "BS,HT,DEL
,ESC
"
#endif
#ifndef DEF_DISALLOWED_TCAP
...
...
package/debian/changelog
View file @
523ecb18
xterm-dev (344) unstable; urgency=low
* maintenance updates
-- Thomas E. Dickey <dickey@invisible-island.net> Mon, 14 Jan 2019 13:12:18 -0500
xterm-dev (343) unstable; urgency=low
* maintenance updates
...
...
package/debian/control
View file @
523ecb18
...
...
@@ -2,7 +2,7 @@ Source: xterm-dev
Section: x11
Priority: optional
Maintainer: Thomas E. Dickey <dickey@invisible-island.net>
Homepage: http://invisible-island.net/xterm/
Homepage: http
s
://invisible-island.net/xterm/
Build-Depends: debhelper (>= 7), xorg-docs-core
Standards-Version: 3.8.2
...
...
package/debian/copyright
View file @
523ecb18
Upstream source http://invisible-island.net/xterm/xterm.html
Upstream source http
s
://invisible-island.net/xterm/xterm.html
-------------------------------------------------------------------------------
Except as noted below, all copyrights use the same wording, denoted MIT-X11.
...
...
Prev
1
2
Next