Skip to content
Commits on Source (6)
-- $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 for xterm-343, version xterm-343
MANIFEST for xterm-344, version xterm-344
--------------------------------------------------------------------------------
MANIFEST this file
256colres.h resource-definitions for 256-color mode
......
The NEWS file was generated from xterm.log.html, which serves as the changelog
for xterm.
--------------------------------------------------------------------------------
Patch #343 - 2019/01/13
Patch #344 - 2019/02/12
* 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.
/* $XTermId: VTPrsTbl.c,v 1.94 2018/09/13 08:36:56 tom Exp $ */
/* $XTermId: VTPrsTbl.c,v 1.95 2019/02/10 23:34:31 tom Exp $ */
/*
* Copyright 1999-2017,2018 by Thomas E. Dickey
* Copyright 1999-2018,2019 by Thomas E. Dickey
*
* All Rights Reserved
*
......@@ -6307,7 +6307,7 @@ CASE_ESC_IGNORE,
/* $ % & ' */
CASE_ESC_IGNORE,
CASE_SCS_PERCENT,
CASE_ESC_IGNORE,
CASE_SCS_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_ESC_IGNORE,
CASE_SCS_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 */
......
# $XTermId: VTparse.def,v 1.58 2018/09/13 08:36:56 tom Exp $
# $XTermId: VTparse.def,v 1.59 2019/02/10 23:34:10 tom Exp $
#
# vile:confmode rs=lf
# -----------------------------------------------------------------------------
# this file is part of xterm
#
# Copyright 1996-2014,2018 by Thomas E. Dickey
# Copyright 1996-2018,2019 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
/* $XTermId: VTparse.h,v 1.68 2018/08/29 09:18:37 tom Exp $ */
/* $XTermId: VTparse.h,v 1.69 2019/02/10 23:34:21 tom Exp $ */
/*
* Copyright 1996-2016,2018 by Thomas E. Dickey
* Copyright 1996-2018,2019 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
......
/* $XTermId: button.c,v 1.567 2019/01/13 16:03:05 tom Exp $ */
/* $XTermId: button.c,v 1.568 2019/02/11 10:21:35 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;
}
......
/* $XTermId: charproc.c,v 1.1623 2019/01/10 10:26:02 tom Exp $ */
/* $XTermId: charproc.c,v 1.1637 2019/02/11 10:21: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) redoparsing(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 */
}
......
/* $XTermId: charsets.c,v 1.104 2018/09/23 16:48:58 tom Exp $ */
/* $XTermId: charsets.c,v 1.105 2019/02/11 00:41:13 tom Exp $ */
/*
* Copyright 1998-2017,2018 by Thomas E. Dickey
* Copyright 1998-2018,2019 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 */
......
.\"#! troff -ms $1 -*- Nroff -*-
.\" "Xterm Control Sequences" document
.\" $XTermId: ctlseqs.ms,v 1.486 2018/12/24 15:29:04 tom Exp $
.\" $XTermId: ctlseqs.ms,v 1.491 2019/02/13 02:13:36 tom Exp $
.\"
.\"
.\" Copyright 1996-2017,2018 by Thomas E. Dickey
.\" Copyright 1996-2018,2019 by Thomas E. Dickey
.\"
.\" All Rights Reserved
.\"
......@@ -69,8 +69,8 @@
.\"
.ds XT XTerm
.ds xt xterm
.ds LF Patch #341
.ds RF 2018/12/24
.ds LF Patch #344
.ds RF 2019/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-2018)
invisible-island.net (2006-2019)
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 of more digits.
A single (usually optional) numeric parameter, composed of one or 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.
......
......@@ -20,8 +20,8 @@
Thomas Dickey
XFree86 Project (1996-2006)
invisible-island.net (2006-2018)
updated for XTerm Patch #341 (2018/12/24)
invisible-island.net (2006-2019)
updated for XTerm Patch #344 (2019/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.
......
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.
......
<!--
*****************************************************************************
* Copyright 1997-2017,2018 by Thomas E. Dickey *
* Copyright 1997-2018,2019 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.375 2018/10/16 00:14:34 tom Exp $
$XTermId: xterm.faq.html,v 1.378 2019/01/27 17:42:38 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 &copy; 1997-2017,2018 by Thomas E. Dickey</p>
Copyright &copy; 1997-2018,2019 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 &gt;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>
......
......@@ -42,7 +42,7 @@ This patch by Branden Robinson.
+ :kb=\177:
--- a/terminfo
+++ b/terminfo
@@ -1119,6 +1119,8 @@ xterm-vt220|xterm emulating vt220,
@@ -1159,6 +1159,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,
@@ -2436,12 +2438,12 @@ xterm-r5|xterm R5 version,
@@ -2476,12 +2478,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.
......
......@@ -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
......
......@@ -4,7 +4,7 @@
--- a/xterm.man
+++ b/xterm.man
@@ -2044,7 +2044,7 @@ The default is \*(``true\*(''.
@@ -2148,7 +2148,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.
......
/* $XTermId: main.h,v 1.68 2019/01/10 21:32:05 tom Exp $ */
/* $XTermId: main.h,v 1.69 2019/02/11 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
......
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
......
......@@ -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: https://invisible-island.net/xterm/
Build-Depends: debhelper (>= 7), xorg-docs-core
Standards-Version: 3.8.2
......
Upstream source http://invisible-island.net/xterm/xterm.html
Upstream source https://invisible-island.net/xterm/xterm.html
-------------------------------------------------------------------------------
Except as noted below, all copyrights use the same wording, denoted MIT-X11.
......