Update to xterm 327
This commit is contained in:
parent
055e2cd049
commit
a0d355a5ad
@ -1,4 +1,4 @@
|
||||
XCOMM $XTermId: Imakefile,v 1.112 2016/01/28 01:56:53 Jens.Schweikhardt Exp $
|
||||
XCOMM $XTermId: Imakefile,v 1.113 2016/10/06 00:56:32 tom Exp $
|
||||
XCOMM
|
||||
XCOMM Attention xterm porters
|
||||
XCOMM
|
||||
@ -244,11 +244,21 @@ TERMCAPDEFINES=-DUSE_TERMINFO -DHAVE_TIGETSTR
|
||||
|
||||
AllTarget($(PROGRAMS))
|
||||
|
||||
VTPARSE_H = VTparse.h VTparse.hin
|
||||
TEKPARSE_H = Tekparse.h Tekparse.hin
|
||||
|
||||
.SUFFIXES : .def .hin
|
||||
.def.hin :
|
||||
awk '/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
|
||||
|
||||
SpecialCObjectRule(main,$(_NOOP_),$(MAIN_DEFINES))
|
||||
SpecialCObjectRule(menu,$(_NOOP_),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(misc,$(_NOOP_),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(charproc,$(_NOOP_),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(misc,$(VTPARSE_H),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(VTPrsTbl,$(VTPARSE_H),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(charproc,$(VTPARSE_H),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(data,$(_NOOP_),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(TekPrsTbl,$(TEKPARSE_H),$(MISC_DEFINES))
|
||||
SpecialCObjectRule(TekProc,$(TEKPARSE_H),$(MISC_DEFINES))
|
||||
|
||||
#if InstallXtermSetUID
|
||||
SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),$(XRFLIBS) XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
|
||||
@ -319,4 +329,8 @@ InstallAppDefaults(UXTerm)
|
||||
InstallAppDefaultsLong(XTerm-col,XTerm-color)
|
||||
InstallManPage(xterm,$(MANDIR))
|
||||
InstallManPage(resize,$(MANDIR))
|
||||
|
||||
cleandir::
|
||||
$(RM) *parse.hin
|
||||
|
||||
DependTarget()
|
||||
|
@ -1,4 +1,4 @@
|
||||
MANIFEST for xterm-325, version xterm-325
|
||||
MANIFEST for xterm-327, version xterm-327
|
||||
--------------------------------------------------------------------------------
|
||||
MANIFEST this file
|
||||
256colres.h resource-definitions for 256-color mode
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.30 2016/10/24 19:55:37 matthieu Exp $
|
||||
# $OpenBSD: Makefile,v 1.31 2016/11/03 14:25:06 matthieu Exp $
|
||||
.include <bsd.xconf.mk>
|
||||
|
||||
SUBDIR= icons resize
|
||||
@ -49,7 +49,12 @@ builtin_icons.h :
|
||||
@echo "#endif" >>$@
|
||||
@echo "made $@"
|
||||
|
||||
beforedepend: builtin_icons.h
|
||||
.SUFFIXES: .hin .def
|
||||
|
||||
.def.hin:
|
||||
awk '/^CASE_/{printf "#define %s %d\n", $$1, n++}' < $< >$@
|
||||
|
||||
beforedepend: builtin_icons.h VTparse.hin
|
||||
|
||||
.SUFFIXES: .man .1
|
||||
|
||||
@ -76,7 +81,7 @@ PATCH_YMD != sed -n '/XTERM_DATE/s,[^0-9/.-]*,,gp' ${.CURDIR}/version.h
|
||||
-e s%/etc/wtmp%/var/run/wtmp%g \
|
||||
< $< > $@
|
||||
|
||||
CLEANFILES+= ${MAN} builtin_icons.h
|
||||
CLEANFILES+= ${MAN} builtin_icons.h VTparse.hin
|
||||
|
||||
afterinstall:
|
||||
${INSTALL} ${INSTALL_COPY} -m ${SHAREMODE} \
|
||||
|
22
app/xterm/NEWS
Normal file
22
app/xterm/NEWS
Normal file
@ -0,0 +1,22 @@
|
||||
The NEWS file was generated from xterm.log.html, which serves as the changelog
|
||||
for xterm.
|
||||
--------------------------------------------------------------------------------
|
||||
Patch #327 - 2016/10/07
|
||||
|
||||
* add a check in the function which handles end-of-line wrapping to
|
||||
ensure that C1 controls are allocated one column when
|
||||
allowC1Printable is set (Debian #738794).
|
||||
* use consistent error-checking after strtol calls, fixes a case
|
||||
where a query with OSC 6 did not ensure there was a valid color
|
||||
number (report by Alex Smith).
|
||||
* add -baudrate option, for testing ncurses.
|
||||
* always generate the CASE_xxx symbols in VTparse.h and Tekparse.h,
|
||||
as part of a change to improve debug-logging. This makes the build
|
||||
always depend upon awk.
|
||||
* modify allowC1Printable to disallow codes 160-254 as being
|
||||
equivalent to codes 32-126 when parsing escape sequences (Debian
|
||||
#839220).
|
||||
* amend fix from patch #326 for TrueType fonts to exclude the hidden
|
||||
character used for double-width cells (report by Grady Martin).
|
||||
* fix a typo in ctlseqs.ms
|
||||
|
@ -1,31 +1,34 @@
|
||||
/* $XTermId: Tekparse.h,v 1.7 2006/02/13 01:14:57 tom Exp $ */
|
||||
/* $XTermId: Tekparse.h,v 1.8 2016/10/06 00:32:30 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
* Copyright 1998-2006,2016 by Thomas E. Dickey
|
||||
*
|
||||
* 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.
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation the rights to use, copy, modify, merge, publish,
|
||||
* distribute, sublicense, and/or sell copies of the Software, and to
|
||||
* permit persons to whom the Software is furnished to do so, subject to
|
||||
* the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included
|
||||
* in all copies or substantial portions of the Software.
|
||||
*
|
||||
* 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.
|
||||
* 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 ABOVE LISTED COPYRIGHT HOLDER(S) 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(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.
|
||||
*/
|
||||
/* $XFree86: xc/programs/xterm/Tekparse.h,v 1.6 2006/02/13 01:14:57 dickey Exp $ */
|
||||
|
||||
|
||||
/* @(#)Tekparse.h X10/6.6 11/7/86 */
|
||||
|
||||
#ifndef included_Tekparse_h
|
||||
#define included_Tekparse_h 1
|
||||
@ -47,51 +50,6 @@ extern Const int Tplttable[];
|
||||
extern Const int Tpttable[];
|
||||
extern Const int Tspttable[];
|
||||
|
||||
/*
|
||||
* The following list of definitions is generated from Tekparse.def using the
|
||||
* following command line:
|
||||
*
|
||||
* egrep -v '^CASE_' Tekparse.def | \
|
||||
* awk 'BEGIN {n = 0;} {printf "#define %s %d\n", $1, n; n++}'
|
||||
*
|
||||
* You you need to change something, change Tekparse.def and regenerate the
|
||||
* definitions. This would have been automatic, but since this doesn't change
|
||||
* very often, it isn't worth the makefile hassle.
|
||||
*/
|
||||
|
||||
#define CASE_REPORT 0
|
||||
#define CASE_VT_MODE 1
|
||||
#define CASE_SPT_STATE 2
|
||||
#define CASE_GIN 3
|
||||
#define CASE_BEL 4
|
||||
#define CASE_BS 5
|
||||
#define CASE_PT_STATE 6
|
||||
#define CASE_PLT_STATE 7
|
||||
#define CASE_TAB 8
|
||||
#define CASE_IPL_STATE 9
|
||||
#define CASE_ALP_STATE 10
|
||||
#define CASE_UP 11
|
||||
#define CASE_COPY 12
|
||||
#define CASE_PAGE 13
|
||||
#define CASE_BES_STATE 14
|
||||
#define CASE_BYP_STATE 15
|
||||
#define CASE_IGNORE 16
|
||||
#define CASE_ASCII 17
|
||||
#define CASE_APL 18
|
||||
#define CASE_CHAR_SIZE 19
|
||||
#define CASE_BEAM_VEC 20
|
||||
#define CASE_CURSTATE 21
|
||||
#define CASE_PENUP 22
|
||||
#define CASE_PENDOWN 23
|
||||
#define CASE_IPL_POINT 24
|
||||
#define CASE_PLT_VEC 25
|
||||
#define CASE_PT_POINT 26
|
||||
#define CASE_SPT_POINT 27
|
||||
#define CASE_CR 28
|
||||
#define CASE_ESC_STATE 29
|
||||
#define CASE_LF 30
|
||||
#define CASE_SP 31
|
||||
#define CASE_PRINT 32
|
||||
#define CASE_OSC 33
|
||||
#include <Tekparse.hin>
|
||||
|
||||
#endif /* included_Tekparse_h */
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* $XTermId: VTparse.h,v 1.65 2015/02/16 00:10:39 tom Exp $ */
|
||||
/* $XTermId: VTparse.h,v 1.66 2016/10/06 00:37:11 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 2002-2014,2015 by Thomas E. Dickey
|
||||
* Copyright 1996-2015,2016 by Thomas E. Dickey
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
@ -28,28 +28,6 @@
|
||||
* 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 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.
|
||||
*/
|
||||
|
||||
#ifndef included_VTparse_h
|
||||
@ -106,178 +84,6 @@ extern Const PARSE_T esc_pct_table[];
|
||||
extern Const PARSE_T scs_pct_table[];
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The following list of definitions is generated from VTparse.def using the
|
||||
* following command line:
|
||||
*
|
||||
* grep '^CASE_' VTparse.def | awk '{printf "#define %s %d\n", $1, n++}'
|
||||
*
|
||||
* If you need to change something, change VTparse.def and regenerate the
|
||||
* definitions. This would have been automatic, but since this doesn't change
|
||||
* very often, it isn't worth the makefile hassle.
|
||||
*/
|
||||
|
||||
#define CASE_GROUND_STATE 0
|
||||
#define CASE_IGNORE 1
|
||||
#define CASE_BELL 2
|
||||
#define CASE_BS 3
|
||||
#define CASE_CR 4
|
||||
#define CASE_ESC 5
|
||||
#define CASE_VMOT 6
|
||||
#define CASE_TAB 7
|
||||
#define CASE_SI 8
|
||||
#define CASE_SO 9
|
||||
#define CASE_SCR_STATE 10
|
||||
#define CASE_SCS0_STATE 11
|
||||
#define CASE_SCS1_STATE 12
|
||||
#define CASE_SCS2_STATE 13
|
||||
#define CASE_SCS3_STATE 14
|
||||
#define CASE_ESC_IGNORE 15
|
||||
#define CASE_ESC_DIGIT 16
|
||||
#define CASE_ESC_SEMI 17
|
||||
#define CASE_DEC_STATE 18
|
||||
#define CASE_ICH 19
|
||||
#define CASE_CUU 20
|
||||
#define CASE_CUD 21
|
||||
#define CASE_CUF 22
|
||||
#define CASE_CUB 23
|
||||
#define CASE_CUP 24
|
||||
#define CASE_ED 25
|
||||
#define CASE_EL 26
|
||||
#define CASE_IL 27
|
||||
#define CASE_DL 28
|
||||
#define CASE_DCH 29
|
||||
#define CASE_DA1 30
|
||||
#define CASE_TRACK_MOUSE 31
|
||||
#define CASE_TBC 32
|
||||
#define CASE_SET 33
|
||||
#define CASE_RST 34
|
||||
#define CASE_SGR 35
|
||||
#define CASE_CPR 36
|
||||
#define CASE_DECSTBM 37
|
||||
#define CASE_DECREQTPARM 38
|
||||
#define CASE_DECSET 39
|
||||
#define CASE_DECRST 40
|
||||
#define CASE_DECALN 41
|
||||
#define CASE_GSETS 42
|
||||
#define CASE_DECSC 43
|
||||
#define CASE_DECRC 44
|
||||
#define CASE_DECKPAM 45
|
||||
#define CASE_DECKPNM 46
|
||||
#define CASE_IND 47
|
||||
#define CASE_NEL 48
|
||||
#define CASE_HTS 49
|
||||
#define CASE_RI 50
|
||||
#define CASE_SS2 51
|
||||
#define CASE_SS3 52
|
||||
#define CASE_CSI_STATE 53
|
||||
#define CASE_OSC 54
|
||||
#define CASE_RIS 55
|
||||
#define CASE_LS2 56
|
||||
#define CASE_LS3 57
|
||||
#define CASE_LS3R 58
|
||||
#define CASE_LS2R 59
|
||||
#define CASE_LS1R 60
|
||||
#define CASE_PRINT 61
|
||||
#define CASE_XTERM_SAVE 62
|
||||
#define CASE_XTERM_RESTORE 63
|
||||
#define CASE_XTERM_TITLE 64
|
||||
#define CASE_DECID 65
|
||||
#define CASE_HP_MEM_LOCK 66
|
||||
#define CASE_HP_MEM_UNLOCK 67
|
||||
#define CASE_HP_BUGGY_LL 68
|
||||
#define CASE_HPA 69
|
||||
#define CASE_VPA 70
|
||||
#define CASE_XTERM_WINOPS 71
|
||||
#define CASE_ECH 72
|
||||
#define CASE_CHT 73
|
||||
#define CASE_CPL 74
|
||||
#define CASE_CNL 75
|
||||
#define CASE_CBT 76
|
||||
#define CASE_SU 77
|
||||
#define CASE_SD 78
|
||||
#define CASE_S7C1T 79
|
||||
#define CASE_S8C1T 80
|
||||
#define CASE_ESC_SP_STATE 81
|
||||
#define CASE_ENQ 82
|
||||
#define CASE_DECSCL 83
|
||||
#define CASE_DECSCA 84
|
||||
#define CASE_DECSED 85
|
||||
#define CASE_DECSEL 86
|
||||
#define CASE_DCS 87
|
||||
#define CASE_PM 88
|
||||
#define CASE_SOS 89
|
||||
#define CASE_ST 90
|
||||
#define CASE_APC 91
|
||||
#define CASE_EPA 92
|
||||
#define CASE_SPA 93
|
||||
#define CASE_CSI_QUOTE_STATE 94
|
||||
#define CASE_DSR 95
|
||||
#define CASE_ANSI_LEVEL_1 96
|
||||
#define CASE_ANSI_LEVEL_2 97
|
||||
#define CASE_ANSI_LEVEL_3 98
|
||||
#define CASE_MC 99
|
||||
#define CASE_DEC2_STATE 100
|
||||
#define CASE_DA2 101
|
||||
#define CASE_DEC3_STATE 102
|
||||
#define CASE_DECRPTUI 103
|
||||
#define CASE_VT52_CUP 104
|
||||
#define CASE_REP 105
|
||||
#define CASE_CSI_EX_STATE 106
|
||||
#define CASE_DECSTR 107
|
||||
#define CASE_DECDHL 108
|
||||
#define CASE_DECSWL 109
|
||||
#define CASE_DECDWL 110
|
||||
#define CASE_DEC_MC 111
|
||||
#define CASE_ESC_PERCENT 112
|
||||
#define CASE_UTF8 113
|
||||
#define CASE_CSI_TICK_STATE 114
|
||||
#define CASE_DECELR 115
|
||||
#define CASE_DECRQLP 116
|
||||
#define CASE_DECEFR 117
|
||||
#define CASE_DECSLE 118
|
||||
#define CASE_CSI_IGNORE 119
|
||||
#define CASE_VT52_IGNORE 120
|
||||
#define CASE_VT52_FINISH 121
|
||||
#define CASE_CSI_DOLLAR_STATE 122
|
||||
#define CASE_DECCRA 123
|
||||
#define CASE_DECERA 124
|
||||
#define CASE_DECFRA 125
|
||||
#define CASE_DECSERA 126
|
||||
#define CASE_DECSACE 127
|
||||
#define CASE_DECCARA 128
|
||||
#define CASE_DECRARA 129
|
||||
#define CASE_CSI_STAR_STATE 130
|
||||
#define CASE_SET_MOD_FKEYS 131
|
||||
#define CASE_SET_MOD_FKEYS0 132
|
||||
#define CASE_HIDE_POINTER 133
|
||||
#define CASE_SCS1A_STATE 134
|
||||
#define CASE_SCS2A_STATE 135
|
||||
#define CASE_SCS3A_STATE 136
|
||||
#define CASE_CSI_SPACE_STATE 137
|
||||
#define CASE_DECSCUSR 138
|
||||
#define CASE_SM_TITLE 139
|
||||
#define CASE_RM_TITLE 140
|
||||
#define CASE_DECSMBV 141
|
||||
#define CASE_DECSWBV 142
|
||||
#define CASE_DECLL 143
|
||||
#define CASE_DECRQM 144
|
||||
#define CASE_RQM 145
|
||||
#define CASE_CSI_DEC_DOLLAR_STATE 146
|
||||
#define CASE_SL 147
|
||||
#define CASE_SR 148
|
||||
#define CASE_DECDC 149
|
||||
#define CASE_DECIC 150
|
||||
#define CASE_DECBI 151
|
||||
#define CASE_DECFI 152
|
||||
#define CASE_DECRQCRA 153
|
||||
#define CASE_HPR 154
|
||||
#define CASE_VPR 155
|
||||
#define CASE_ANSI_SC 156
|
||||
#define CASE_ANSI_RC 157
|
||||
#define CASE_ESC_COLON 158
|
||||
#define CASE_SCS_PERCENT 159
|
||||
#define CASE_GSETS_PERCENT 160
|
||||
#define CASE_GRAPHICS_ATTRIBUTES 161
|
||||
#include <VTparse.hin>
|
||||
|
||||
#endif /* included_VTparse_h */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: charproc.c,v 1.1420 2016/05/30 19:31:33 tom Exp $ */
|
||||
/* $XTermId: charproc.c,v 1.1426 2016/10/07 21:14:54 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2015,2016 by Thomas E. Dickey
|
||||
@ -236,6 +236,7 @@ static String _Font_Selected_ = "yes"; /* string is arbitrary */
|
||||
static const char *defaultTranslations;
|
||||
/* *INDENT-OFF* */
|
||||
static XtActionsRec actionsList[] = {
|
||||
{ "allow-bold-fonts", HandleAllowBoldFonts },
|
||||
{ "allow-send-events", HandleAllowSends },
|
||||
{ "bell", HandleBell },
|
||||
{ "clear-saved-lines", HandleClearSavedLines },
|
||||
@ -1144,7 +1145,7 @@ resetCharsets(TScreen *screen)
|
||||
|
||||
#if OPT_VT52_MODE
|
||||
if (screen->vtXX_level == 0)
|
||||
screen->gsets[1] = '0'; /* Graphics */
|
||||
screen->gsets[1] = nrc_DEC_Spec_Graphic; /* Graphics */
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -2109,10 +2110,13 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
|
||||
* provided that they are not intermixed with an escape sequence.
|
||||
*/
|
||||
if (screen->c1_printable
|
||||
&& (c >= 128 && c < 160)) {
|
||||
&& (c >= 128 && c < 256)) {
|
||||
sp->nextstate = (sp->parsestate == esc_table
|
||||
? CASE_ESC_IGNORE
|
||||
: sp->parsestate[E2A(160)]);
|
||||
TRACE(("allowC1Printable %04X %s ->%s\n",
|
||||
c, which_table(sp->parsestate),
|
||||
visibleVTparse(sp->nextstate)));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2215,8 +2219,8 @@ doparsing(XtermWidget xw, unsigned c, struct ParseState *sp)
|
||||
}
|
||||
|
||||
DumpParams();
|
||||
TRACE(("parse %04X -> %d %s (used=%lu)\n",
|
||||
c, sp->nextstate,
|
||||
TRACE(("parse %04X -> %s %s (used=%lu)\n",
|
||||
c, visibleVTparse(sp->nextstate),
|
||||
which_table(sp->parsestate),
|
||||
(unsigned long) sp->string_used));
|
||||
|
||||
@ -4991,6 +4995,10 @@ dotext(XtermWidget xw,
|
||||
if (!screen->utf8_mode
|
||||
|| (screen->vt100_graphics && charset == '0')) {
|
||||
last_chomp = 1;
|
||||
} else if (screen->c1_printable &&
|
||||
buf[chars_chomped + offset] >= 0x80 &&
|
||||
buf[chars_chomped + offset] <= 0xa0) {
|
||||
last_chomp = 1;
|
||||
} else {
|
||||
last_chomp = my_wcwidth((wchar_t) buf[chars_chomped + offset]);
|
||||
}
|
||||
@ -7553,7 +7561,7 @@ set_flags_from_list(char *target,
|
||||
char *temp;
|
||||
|
||||
value = (int) strtol(next, &temp, 0);
|
||||
if (!IsEmpty(temp)) {
|
||||
if (!FullS2L(next, temp)) {
|
||||
xtermWarning("Expected a number: %s\n", next);
|
||||
} else {
|
||||
for (n = 0; n < limit; ++n) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\"#! troff -ms $1 -*- Nroff -*-
|
||||
.\" "Xterm Control Sequences" document
|
||||
.\" $XTermId: ctlseqs.ms,v 1.330 2016/02/22 00:44:10 tom Exp $
|
||||
.\" $XTermId: ctlseqs.ms,v 1.333 2016/10/02 23:19:00 tom Exp $
|
||||
.\"
|
||||
.\"
|
||||
.\" Copyright 1996-2015,2016 by Thomas E. Dickey
|
||||
@ -69,8 +69,8 @@
|
||||
.\"
|
||||
.ds XT XTerm
|
||||
.ds xt xterm
|
||||
.ds LF Patch #323
|
||||
.ds RF 2016/02/21
|
||||
.ds LF Patch #326
|
||||
.ds RF 2016/10/02
|
||||
.\"
|
||||
.if n .pl 9999v \" no page breaks in nroff
|
||||
.ND
|
||||
@ -498,10 +498,13 @@ Default response is an empty string, but may be overridden
|
||||
by a resource \fBanswerbackString\fP.
|
||||
.
|
||||
.IP \\*(Ff
|
||||
Form Feed or New Page (NP). Ctrl-L is treated the same as LF.
|
||||
Form Feed or New Page (NP).
|
||||
(\*(Ff is Ctrl-L).
|
||||
\*(Ff is treated the same as \*(Lf.
|
||||
.
|
||||
.IP \\*(Lf
|
||||
Line Feed or New Line (NL). (LF is Ctrl-J).
|
||||
Line Feed or New Line (NL).
|
||||
(\*(Lf is Ctrl-J).
|
||||
.
|
||||
.IP \\*(Si
|
||||
Shift In (Ctrl-O) \(-> Switch to Standard Character Set. This invokes the
|
||||
@ -676,7 +679,7 @@ Invoke the G1 Character Set as GR (LS1R).
|
||||
.Ed
|
||||
.
|
||||
.St
|
||||
.Ss Application Program-Control functions
|
||||
.Ss Application Program-Command functions
|
||||
.IP \\*(AP\\*(Pt\\*s\\*(ST
|
||||
None. \fIxterm\fP implements no \*(AP functions; \*(Pt is ignored.
|
||||
\*(Pt need not be printable characters.
|
||||
@ -1630,7 +1633,7 @@ Delete \*(Ps Column(s) (default = 1) (DECDC), VT420 and up.
|
||||
.Ed
|
||||
.
|
||||
.St
|
||||
.Ss Operating System Controls
|
||||
.Ss Operating System Commands
|
||||
.
|
||||
.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(ST
|
||||
.IP \\*(Os\\*(Ps\\*s\\*;\\*(Pt\\*s\\*(Be
|
||||
|
@ -21,7 +21,7 @@
|
||||
Thomas Dickey
|
||||
XFree86 Project (1996-2006)
|
||||
invisible-island.net (2006-2016)
|
||||
updated for XTerm Patch #323 (2016/02/21)
|
||||
updated for XTerm Patch #326 (2016/10/02)
|
||||
|
||||
|
||||
|
||||
@ -158,7 +158,8 @@ BS Backspace (Ctrl-H).
|
||||
CR Carriage Return (Ctrl-M).
|
||||
ENQ Return Terminal Status (Ctrl-E). Default response is an empty
|
||||
string, but may be overridden by a resource answerbackString.
|
||||
FF Form Feed or New Page (NP). Ctrl-L is treated the same as LF.
|
||||
FF Form Feed or New Page (NP). (FF is Ctrl-L). FF is treated
|
||||
the same as LF .
|
||||
LF Line Feed or New Line (NL). (LF is Ctrl-J).
|
||||
SI Shift In (Ctrl-O) -> Switch to Standard Character Set. This
|
||||
invokes the G0 character set (the default).
|
||||
@ -240,7 +241,7 @@ ESC | Invoke the G3 Character Set as GR (LS3R).
|
||||
ESC } Invoke the G2 Character Set as GR (LS2R).
|
||||
ESC ~ Invoke the G1 Character Set as GR (LS1R).
|
||||
|
||||
Application Program-Control functions
|
||||
Application Program-Command functions
|
||||
APC Pt ST None. xterm implements no APC functions; Pt is ignored. Pt
|
||||
need not be printable characters.
|
||||
|
||||
@ -1036,7 +1037,7 @@ CSI Pm ' }
|
||||
CSI Pm ' ~
|
||||
Delete Ps Column(s) (default = 1) (DECDC), VT420 and up.
|
||||
|
||||
Operating System Controls
|
||||
Operating System Commands
|
||||
OSC Ps ; Pt ST
|
||||
OSC Ps ; Pt BEL
|
||||
Set Text Parameters. For colors and font, if Pt is a "?", the
|
||||
|
169
app/xterm/main.c
169
app/xterm/main.c
@ -1,4 +1,4 @@
|
||||
/* $XTermId: main.c,v 1.781 2016/06/01 09:13:46 tom Exp $ */
|
||||
/* $XTermId: main.c,v 1.784 2016/10/07 00:40:34 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 2002-2015,2016 by Thomas E. Dickey
|
||||
@ -445,7 +445,8 @@ extern char *ptsname(int);
|
||||
|
||||
#ifndef VMS
|
||||
static void reapchild(int /* n */ );
|
||||
static int spawnXTerm(XtermWidget /* xw */ );
|
||||
static int spawnXTerm(XtermWidget /* xw */
|
||||
,unsigned /* line_speed */ );
|
||||
static void remove_termcap_entry(char *, const char *);
|
||||
#ifdef USE_PTY_SEARCH
|
||||
static int pty_search(int * /* pty */ );
|
||||
@ -1115,6 +1116,7 @@ static XrmOptionDescRec optionDescList[] = {
|
||||
/* options that we process ourselves */
|
||||
{"-help", NULL, XrmoptionSkipNArgs, (XPointer) NULL},
|
||||
{"-version", NULL, XrmoptionSkipNArgs, (XPointer) NULL},
|
||||
{"-baudrate", NULL, XrmoptionSkipArg, (XPointer) NULL},
|
||||
{"-class", NULL, XrmoptionSkipArg, (XPointer) NULL},
|
||||
{"-e", NULL, XrmoptionSkipLine, (XPointer) NULL},
|
||||
{"-into", NULL, XrmoptionSkipArg, (XPointer) NULL},
|
||||
@ -1159,6 +1161,7 @@ static OptionHelp xtermOptions[] = {
|
||||
#endif
|
||||
{ "-iconic", "start iconic" },
|
||||
{ "-name string", "client instance, icon, and title strings" },
|
||||
{ "-baudrate rate", "set line-speed (default 38400)" },
|
||||
{ "-class string", "class string (XTerm)" },
|
||||
{ "-title string", "title string" },
|
||||
{ "-xrm resourcestring", "additional resource specifications" },
|
||||
@ -1357,9 +1360,10 @@ decode_keyvalue(char **ptr, int termcap)
|
||||
}
|
||||
++string;
|
||||
} else if (termcap && (*string == '\\')) {
|
||||
char *s = (string + 1);
|
||||
char *d;
|
||||
int temp = (int) strtol(string + 1, &d, 8);
|
||||
if (temp > 0 && d != string) {
|
||||
int temp = (int) strtol(s, &d, 8);
|
||||
if (PartS2L(s, d) && temp > 0) {
|
||||
value = temp;
|
||||
string = d;
|
||||
}
|
||||
@ -1971,6 +1975,124 @@ complex_command(char **args)
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned
|
||||
lookup_baudrate(const char *value)
|
||||
{
|
||||
struct speed {
|
||||
unsigned given_speed; /* values for 'ospeed' */
|
||||
unsigned actual_speed; /* the actual speed */
|
||||
};
|
||||
|
||||
#define DATA(number) { B##number, number }
|
||||
|
||||
static struct speed const speeds[] =
|
||||
{
|
||||
DATA(0),
|
||||
DATA(50),
|
||||
DATA(75),
|
||||
DATA(110),
|
||||
DATA(134),
|
||||
DATA(150),
|
||||
DATA(200),
|
||||
DATA(300),
|
||||
DATA(600),
|
||||
DATA(1200),
|
||||
DATA(1800),
|
||||
DATA(2400),
|
||||
DATA(4800),
|
||||
DATA(9600),
|
||||
#ifdef B19200
|
||||
DATA(19200),
|
||||
#elif defined(EXTA)
|
||||
{EXTA, 19200},
|
||||
#endif
|
||||
#ifdef B28800
|
||||
DATA(28800),
|
||||
#endif
|
||||
#ifdef B38400
|
||||
DATA(38400),
|
||||
#elif defined(EXTB)
|
||||
{EXTB, 38400},
|
||||
#endif
|
||||
#ifdef B57600
|
||||
DATA(57600),
|
||||
#endif
|
||||
#ifdef B76800
|
||||
DATA(76800),
|
||||
#endif
|
||||
#ifdef B115200
|
||||
DATA(115200),
|
||||
#endif
|
||||
#ifdef B153600
|
||||
DATA(153600),
|
||||
#endif
|
||||
#ifdef B230400
|
||||
DATA(230400),
|
||||
#endif
|
||||
#ifdef B307200
|
||||
DATA(307200),
|
||||
#endif
|
||||
#ifdef B460800
|
||||
DATA(460800),
|
||||
#endif
|
||||
#ifdef B500000
|
||||
DATA(500000),
|
||||
#endif
|
||||
#ifdef B576000
|
||||
DATA(576000),
|
||||
#endif
|
||||
#ifdef B921600
|
||||
DATA(921600),
|
||||
#endif
|
||||
#ifdef B1000000
|
||||
DATA(1000000),
|
||||
#endif
|
||||
#ifdef B1152000
|
||||
DATA(1152000),
|
||||
#endif
|
||||
#ifdef B1500000
|
||||
DATA(1500000),
|
||||
#endif
|
||||
#ifdef B2000000
|
||||
DATA(2000000),
|
||||
#endif
|
||||
#ifdef B2500000
|
||||
DATA(2500000),
|
||||
#endif
|
||||
#ifdef B3000000
|
||||
DATA(3000000),
|
||||
#endif
|
||||
#ifdef B3500000
|
||||
DATA(3500000),
|
||||
#endif
|
||||
#ifdef B4000000
|
||||
DATA(4000000),
|
||||
#endif
|
||||
};
|
||||
#undef DATA
|
||||
unsigned result = 0;
|
||||
long check;
|
||||
char *next;
|
||||
if (x_toupper(*value) == 'B')
|
||||
value++;
|
||||
if (isdigit(CharOf(*value))) {
|
||||
check = strtol(value, &next, 10);
|
||||
if (FullS2L(value, next) && (check > 0)) {
|
||||
Cardinal n;
|
||||
for (n = 0; n < XtNumber(speeds); ++n) {
|
||||
if (speeds[n].actual_speed == (unsigned) check) {
|
||||
result = speeds[n].given_speed;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result == 0) {
|
||||
fprintf(stderr, "unsupported value for baudrate: %s\n", value);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[]ENVP_ARG)
|
||||
{
|
||||
@ -1989,6 +2111,7 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
TScreen *screen;
|
||||
int mode;
|
||||
char *my_class = x_strdup(DEFCLASS);
|
||||
unsigned line_speed = VAL_LINE_SPEED;
|
||||
Window winToEmbedInto = None;
|
||||
|
||||
ProgramName = argv[0];
|
||||
@ -2070,6 +2193,11 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
} else if (!strcmp(option_ptr->option, "-help")) {
|
||||
Help();
|
||||
quit = True;
|
||||
} else if (!strcmp(option_ptr->option, "-baudrate")) {
|
||||
if ((line_speed = lookup_baudrate(option_value)) == 0) {
|
||||
Help();
|
||||
quit = True;
|
||||
}
|
||||
} else if (!strcmp(option_ptr->option, "-class")) {
|
||||
free(my_class);
|
||||
if ((my_class = x_strdup(option_value)) == 0) {
|
||||
@ -2079,6 +2207,10 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
} else if (!strcmp(option_ptr->option, "-into")) {
|
||||
char *endPtr;
|
||||
winToEmbedInto = (Window) strtol(option_value, &endPtr, 0);
|
||||
if (!FullS2L(option_value, endPtr)) {
|
||||
Help();
|
||||
quit = True;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (quit)
|
||||
@ -2126,7 +2258,7 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
}
|
||||
}
|
||||
#if defined(macII) || defined(ATT) || defined(CRAY) /* { */
|
||||
d_tio.c_cflag = VAL_LINE_SPEED | CS8 | CREAD | PARENB | HUPCL;
|
||||
d_tio.c_cflag = line_speed | CS8 | CREAD | PARENB | HUPCL;
|
||||
d_tio.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK;
|
||||
#ifdef ECHOKE
|
||||
d_tio.c_lflag |= ECHOKE | IEXTEN;
|
||||
@ -2153,12 +2285,12 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
#ifdef BAUD_0 /* { */
|
||||
d_tio.c_cflag = CS8 | CREAD | PARENB | HUPCL;
|
||||
#else /* }{ !BAUD_0 */
|
||||
d_tio.c_cflag = VAL_LINE_SPEED | CS8 | CREAD | PARENB | HUPCL;
|
||||
d_tio.c_cflag = line_speed | CS8 | CREAD | PARENB | HUPCL;
|
||||
#endif /* } !BAUD_0 */
|
||||
#else /* USE_POSIX_TERMIOS */
|
||||
d_tio.c_cflag = CS8 | CREAD | PARENB | HUPCL;
|
||||
cfsetispeed(&d_tio, VAL_LINE_SPEED);
|
||||
cfsetospeed(&d_tio, VAL_LINE_SPEED);
|
||||
cfsetispeed(&d_tio, line_speed);
|
||||
cfsetospeed(&d_tio, line_speed);
|
||||
#endif
|
||||
d_tio.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK;
|
||||
#ifdef ECHOKE
|
||||
@ -2349,6 +2481,11 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
debug = True;
|
||||
continue;
|
||||
#endif /* DEBUG */
|
||||
case 'b':
|
||||
if (strcmp(argv[0], "-baudrate"))
|
||||
Syntax(*argv);
|
||||
argc--, argv++;
|
||||
continue;
|
||||
case 'c':
|
||||
if (strcmp(argv[0], "-class"))
|
||||
Syntax(*argv);
|
||||
@ -2506,7 +2643,7 @@ main(int argc, char *argv[]ENVP_ARG)
|
||||
}
|
||||
});
|
||||
|
||||
spawnXTerm(term);
|
||||
spawnXTerm(term, line_speed);
|
||||
|
||||
#ifndef VMS
|
||||
/* Child process is out there, let's catch its termination */
|
||||
@ -3323,7 +3460,7 @@ resetShell(char *oldPath)
|
||||
* If slave, the pty named in passedPty is already open for use
|
||||
*/
|
||||
static int
|
||||
spawnXTerm(XtermWidget xw)
|
||||
spawnXTerm(XtermWidget xw, unsigned line_speed)
|
||||
{
|
||||
TScreen *screen = TScreenOf(xw);
|
||||
Cardinal nn;
|
||||
@ -4028,13 +4165,13 @@ spawnXTerm(XtermWidget xw)
|
||||
#ifdef BAUD_0
|
||||
/* baud rate is 0 (don't care) */
|
||||
#elif defined(HAVE_TERMIO_C_ISPEED)
|
||||
tio.c_ispeed = tio.c_ospeed = VAL_LINE_SPEED;
|
||||
tio.c_ispeed = tio.c_ospeed = line_speed;
|
||||
#else /* !BAUD_0 */
|
||||
tio.c_cflag |= VAL_LINE_SPEED;
|
||||
tio.c_cflag |= line_speed;
|
||||
#endif /* !BAUD_0 */
|
||||
#else /* USE_POSIX_TERMIOS */
|
||||
cfsetispeed(&tio, VAL_LINE_SPEED);
|
||||
cfsetospeed(&tio, VAL_LINE_SPEED);
|
||||
cfsetispeed(&tio, line_speed);
|
||||
cfsetospeed(&tio, line_speed);
|
||||
#ifdef __MVS__
|
||||
/* turn off bits that can't be set from the slave side */
|
||||
tio.c_cflag &= ~(PACKET | PKT3270 | PTU3270 | PKTXTND);
|
||||
@ -4115,8 +4252,8 @@ spawnXTerm(XtermWidget xw)
|
||||
sg.sg_flags &= ~(ALLDELAY | XTABS | CBREAK | RAW);
|
||||
sg.sg_flags |= ECHO | CRMOD;
|
||||
/* make sure speed is set on pty so that editors work right */
|
||||
sg.sg_ispeed = VAL_LINE_SPEED;
|
||||
sg.sg_ospeed = VAL_LINE_SPEED;
|
||||
sg.sg_ispeed = line_speed;
|
||||
sg.sg_ospeed = line_speed;
|
||||
/* reset t_brkc to default value */
|
||||
tc.t_brkc = -1;
|
||||
#ifdef LPASS8
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: misc.c,v 1.741 2016/06/01 09:21:56 tom Exp $ */
|
||||
/* $XTermId: misc.c,v 1.743 2016/10/07 00:41:14 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2015,2016 by Thomas E. Dickey
|
||||
@ -657,6 +657,7 @@ xevents(void)
|
||||
case ButtonRelease:
|
||||
/* also these... */
|
||||
case Expose:
|
||||
case GraphicsExpose:
|
||||
case NoExpose:
|
||||
case PropertyNotify:
|
||||
case ClientMessage:
|
||||
@ -2765,7 +2766,7 @@ ResetAnsiColorRequest(XtermWidget xw, char *buf, int start)
|
||||
char *next;
|
||||
|
||||
color = (int) (strtol) (buf, &next, 10);
|
||||
if ((next == buf) || (color < 0))
|
||||
if (!PartS2L(buf, next) || (color < 0))
|
||||
break; /* no number at all */
|
||||
if (next != 0) {
|
||||
if (strchr(";", *next) == 0)
|
||||
@ -3665,7 +3666,7 @@ do_osc(XtermWidget xw, Char *oscbuf, size_t len, int final)
|
||||
++buf;
|
||||
} else {
|
||||
which = strtol(buf, &next, 10);
|
||||
if (next == 0)
|
||||
if (!PartS2L(buf, next) || (which < 0))
|
||||
break;
|
||||
buf = next;
|
||||
if (*buf == ';')
|
||||
@ -3675,7 +3676,7 @@ do_osc(XtermWidget xw, Char *oscbuf, size_t len, int final)
|
||||
++buf;
|
||||
} else {
|
||||
value = strtol(buf, &next, 10);
|
||||
if (next == 0)
|
||||
if (!PartS2L(buf, next) || (which < 0))
|
||||
break;
|
||||
buf = next;
|
||||
if (*buf == ';')
|
||||
|
@ -1,3 +1,15 @@
|
||||
xterm-dev (327) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Oct 2016 19:18:09 -0400
|
||||
|
||||
xterm-dev (326) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Wed, 07 Sep 2016 21:12:23 -0400
|
||||
|
||||
xterm-dev (325) unstable; urgency=low
|
||||
|
||||
* maintenance updates
|
||||
|
@ -5,7 +5,7 @@
|
||||
# and "make makesum".
|
||||
|
||||
PORTNAME= xterm
|
||||
PORTVERSION= 325
|
||||
PORTVERSION= 327
|
||||
CATEGORIES= x11
|
||||
MASTER_SITES= ftp://invisible-island.net/xterm/ \
|
||||
CRITICAL
|
||||
|
@ -1,11 +1,11 @@
|
||||
# $XTermId: xterm.spec,v 1.91 2016/05/12 23:25:56 tom Exp $
|
||||
# $XTermId: xterm.spec,v 1.93 2016/10/02 23:18:09 tom Exp $
|
||||
Summary: X terminal emulator (development version)
|
||||
%global my_middle xterm
|
||||
%global my_suffix -dev
|
||||
%global fullname %{my_middle}%{my_suffix}
|
||||
%global my_class XTermDev
|
||||
Name: %{fullname}
|
||||
Version: 325
|
||||
Version: 327
|
||||
Release: 1
|
||||
License: X11
|
||||
Group: User Interface/X
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: ptyx.h,v 1.829 2016/05/29 20:32:48 tom Exp $ */
|
||||
/* $XTermId: ptyx.h,v 1.830 2016/10/07 00:38:57 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2015,2016 by Thomas E. Dickey
|
||||
@ -324,6 +324,13 @@ typedef Char *UString;
|
||||
#define IsEmpty(s) ((s) == 0 || *(s) == '\0')
|
||||
#define IsSpace(c) ((c) == ' ' || (c) == '\t' || (c) == '\r' || (c) == '\n')
|
||||
|
||||
/*
|
||||
* Check strtol result, using "FullS2L" when no more data is expected, and
|
||||
* "PartS2L" when more data may follow in the string.
|
||||
*/
|
||||
#define FullS2L(s,d) (PartS2L(s,d) && (*(d) == '\0'))
|
||||
#define PartS2L(s,d) (isdigit(CharOf(*(s))) && (d) != (s) && (d) != 0)
|
||||
|
||||
#define CASETYPE(name) case name: result = #name; break
|
||||
|
||||
#define CharOf(n) ((Char)(n))
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" $XTermId: resize.man,v 1.30 2013/01/06 16:13:44 tom Exp $
|
||||
.\" $XTermId: resize.man,v 1.32 2016/09/24 11:14:15 tom Exp $
|
||||
.\"
|
||||
.\" Copyright 1998-2012,2013 by Thomas E. Dickey
|
||||
.\" Copyright 1998-2013,2016 by Thomas E. Dickey
|
||||
.\"
|
||||
.\" All Rights Reserved
|
||||
.\"
|
||||
@ -202,7 +202,7 @@ sets these variables on systems using terminfo.
|
||||
Many applications (including the curses library)
|
||||
use those variables when set to override their screensize.
|
||||
.SH "SEE ALSO"
|
||||
use_env(3)
|
||||
use_env(3x)
|
||||
.br
|
||||
csh(1), stty(1), tset(1)
|
||||
.br
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $XTermId: termcap,v 1.82 2016/05/30 21:41:18 tom Exp $
|
||||
# $XTermId: termcap,v 1.83 2016/07/09 18:40:00 tom Exp $
|
||||
#
|
||||
# These are termcap entries that correspond to xterm's terminfo file.
|
||||
# The file is formatted using ncurses' "tic -CNx", but is not mechanically
|
||||
@ -50,7 +50,7 @@
|
||||
# the resolved length of each entry in a comment at the end - T.Dickey
|
||||
#
|
||||
xf|xterm-new|modern xterm:\
|
||||
:XT::*6=\EOF:@7=\EOF:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\
|
||||
:XT:*6=\EOF:@7=\EOF:F1=\E[23~:F2=\E[24~:K2=\EOE:Km=\E[M:\
|
||||
:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:\
|
||||
:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:kB=\E[Z:kH=\EOF:\
|
||||
:kI=\E[2~:kN=\E[6~:kP=\E[5~:kd=\EOB:kh=\EOH:kl=\EOD:\
|
||||
@ -82,7 +82,7 @@ xb|xterm-basic|modern xterm common:\
|
||||
# + uses DEC-style control sequences for the application keypad.
|
||||
#
|
||||
vt|xterm-vt220|xterm emulating vt220:\
|
||||
:XT::*6=\E[4~:@7=\E[4~:K2=\EOu:Km=\E[M:kB=\E[Z:kH=\E[4~:\
|
||||
:XT:*6=\E[4~:@7=\E[4~:K2=\EOu:Km=\E[M:kB=\E[Z:kH=\E[4~:\
|
||||
:kh=\E[1~:tc=xterm-basic:
|
||||
|
||||
v1|xterm-24|xterms|vs100|24x80 xterm:\
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: trace.c,v 1.165 2016/05/31 00:48:42 tom Exp $ */
|
||||
/* $XTermId: trace.c,v 1.166 2016/10/05 09:16:01 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1997-2015,2016 by Thomas E. Dickey
|
||||
@ -444,6 +444,46 @@ visibleSelectionTarget(Display *d, Atom a)
|
||||
return result;
|
||||
}
|
||||
|
||||
const char *
|
||||
visibleTekparse(int code)
|
||||
{
|
||||
static const struct {
|
||||
int code;
|
||||
const char *name;
|
||||
} table[] = {
|
||||
#include "Tekparse.cin"
|
||||
};
|
||||
const char *result = "?";
|
||||
Cardinal n;
|
||||
for (n = 0; n < XtNumber(table); ++n) {
|
||||
if (table[n].code == code) {
|
||||
result = table[n].name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
const char *
|
||||
visibleVTparse(int code)
|
||||
{
|
||||
static const struct {
|
||||
int code;
|
||||
const char *name;
|
||||
} table[] = {
|
||||
#include "VTparse.cin"
|
||||
};
|
||||
const char *result = "?";
|
||||
Cardinal n;
|
||||
for (n = 0; n < XtNumber(table); ++n) {
|
||||
if (table[n].code == code) {
|
||||
result = table[n].name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
const char *
|
||||
visibleXError(int code)
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: trace.h,v 1.77 2016/05/13 20:46:40 tom Exp $ */
|
||||
/* $XTermId: trace.h,v 1.78 2016/10/05 08:56:36 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1997-2015,2016 by Thomas E. Dickey
|
||||
@ -64,6 +64,8 @@ extern const char * visibleNotifyDetail(int /* code */);
|
||||
extern const char * visibleNotifyMode (int /* code */);
|
||||
extern const char * visibleScsCode(int /* chrset */);
|
||||
extern const char * visibleSelectionTarget(Display * /* d */, Atom /* a */);
|
||||
extern const char * visibleTekparse (int);
|
||||
extern const char * visibleVTparse (int);
|
||||
extern const char * visibleXError (int /* code */);
|
||||
|
||||
extern void TraceArgv(const char * /* tag */, char ** /* argv */);
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: util.c,v 1.688 2016/06/03 08:58:37 tom Exp $ */
|
||||
/* $XTermId: util.c,v 1.693 2016/10/07 00:41:38 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1999-2015,2016 by Thomas E. Dickey
|
||||
@ -3309,6 +3309,10 @@ fixupItalics(XtermWidget xw,
|
||||
}
|
||||
#endif
|
||||
|
||||
#define SetMissing() \
|
||||
TRACE(("%s@%d: missing %d\n", __FILE__, __LINE__, missing)); \
|
||||
missing = 1
|
||||
|
||||
/*
|
||||
* Draws text with the specified combination of bold/underline. The return
|
||||
* value is the updated x position.
|
||||
@ -3538,7 +3542,7 @@ drawXtermText(XtermWidget xw,
|
||||
*/
|
||||
if (screen->force_box_chars
|
||||
|| xtermXftMissing(xw, currFont, dec2ucs(ch))) {
|
||||
missing = 1;
|
||||
SetMissing();
|
||||
} else {
|
||||
ch = dec2ucs(ch);
|
||||
replace = True;
|
||||
@ -3555,7 +3559,7 @@ drawXtermText(XtermWidget xw,
|
||||
if (screen->force_box_chars
|
||||
|| xtermXftMissing(xw, currFont, ch)) {
|
||||
ch = part;
|
||||
missing = True;
|
||||
SetMissing();
|
||||
}
|
||||
} else if (xtermXftMissing(xw, currFont, ch)) {
|
||||
XftFont *test = pickXftFont(needed, font0, wfont0);
|
||||
@ -3567,6 +3571,8 @@ drawXtermText(XtermWidget xw,
|
||||
filler = needed - 1;
|
||||
ch = part;
|
||||
replace = True;
|
||||
} else if (ch != HIDDEN_CHAR) {
|
||||
SetMissing();
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -3582,7 +3588,7 @@ drawXtermText(XtermWidget xw,
|
||||
* box-characters.
|
||||
*/
|
||||
if (xtermXftMissing(xw, currFont, ch)) {
|
||||
missing = 1;
|
||||
SetMissing();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -3756,10 +3762,11 @@ drawXtermText(XtermWidget xw,
|
||||
&& (!screen->fnt_boxes
|
||||
|| (FontIsIncomplete(curFont) && !screen->assume_all_chars)
|
||||
|| screen->force_box_chars)) {
|
||||
/* Fill in missing box-characters.
|
||||
Find regions without missing characters, and draw
|
||||
them calling ourselves recursively. Draw missing
|
||||
characters via xtermDrawBoxChar(). */
|
||||
/*
|
||||
* Fill in missing box-characters. Find regions without missing
|
||||
* characters, and draw them calling ourselves recursively. Draw
|
||||
* missing characters via xtermDrawBoxChar().
|
||||
*/
|
||||
int last, first = 0;
|
||||
Bool drewBoxes = False;
|
||||
|
||||
@ -3827,6 +3834,8 @@ drawXtermText(XtermWidget xw,
|
||||
#if OPT_WIDE_CHARS
|
||||
if (ch_width <= 0 && ch < 32)
|
||||
ch_width = 1; /* special case for line-drawing */
|
||||
else if (ch_width < 0)
|
||||
ch_width = 1; /* special case for combining char */
|
||||
if (!ucs_workaround(xw, ch,
|
||||
attr_flags,
|
||||
draw_flags,
|
||||
@ -4838,8 +4847,8 @@ extendedBoolean(const char *value, const FlagList * table, Cardinal limit)
|
||||
|| (x_strcasecmp(value, "no") == 0)
|
||||
|| (x_strcasecmp(value, "off") == 0)) {
|
||||
result = False;
|
||||
} else if ((check = strtol(value, &next, 0)) >= 0 && *next == '\0') {
|
||||
if (check >= (long) limit)
|
||||
} else if ((check = strtol(value, &next, 0)) >= 0 && FullS2L(value, next)) {
|
||||
if (check >= (long) (limit + 2)) /* 2 is past False=0, True=1 */
|
||||
check = True;
|
||||
result = (int) check;
|
||||
} else {
|
||||
@ -4942,7 +4951,7 @@ parse_xinerama_screen(Display *display, const char *str, struct Xinerama_geometr
|
||||
str++;
|
||||
} else {
|
||||
long s = strtol(str, &end, 0);
|
||||
if (end > str && (int) s >= 0) {
|
||||
if (FullS2L(str, end) && ((int) s >= 0)) {
|
||||
screen = (int) s;
|
||||
str = end;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $XTermId: version.h,v 1.427 2016/06/05 22:28:35 tom Exp $ */
|
||||
/* $XTermId: version.h,v 1.431 2016/10/08 00:45:01 tom Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright 1998-2015,2016 by Thomas E. Dickey
|
||||
@ -38,8 +38,8 @@
|
||||
* version of X to which this version of xterm has been built. The resulting
|
||||
* number in parentheses is my patch number (Thomas E. Dickey).
|
||||
*/
|
||||
#define XTERM_PATCH 325
|
||||
#define XTERM_DATE 2016-06-05
|
||||
#define XTERM_PATCH 327
|
||||
#define XTERM_DATE 2016-10-07
|
||||
|
||||
#ifndef __vendorversion__
|
||||
#define __vendorversion__ "XTerm/OpenBSD"
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2014,2016 Thomas Dickey <dickey@invisible-island.net> -->
|
||||
<application>
|
||||
<id type="desktop">xterm.desktop</id>
|
||||
<component type="desktop">
|
||||
<id>xterm.desktop</id>
|
||||
<metadata_license>CC-BY-3.0</metadata_license>
|
||||
<project_license>X11</project_license>
|
||||
<name>XTerm</name>
|
||||
@ -18,16 +18,24 @@
|
||||
</p>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default" width="813" height="539">http://invisible-island.net/xterm/images/merged-xterm-menus.png</screenshot>
|
||||
<screenshot type="default" height="539" width="813">
|
||||
<image>http://invisible-island.net/xterm/images/merged-xterm-menus.png</image>
|
||||
<caption>xterm with its popup menus superimposed</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<keywords>
|
||||
<keyword>3D</keyword>
|
||||
<keyword>shell</keyword>
|
||||
<keyword>prompt</keyword>
|
||||
<keyword>command</keyword>
|
||||
<keyword>commandline</keyword>
|
||||
<keyword>cmd</keyword>
|
||||
<keyword>terminal</keyword>
|
||||
</keywords>
|
||||
<url type="homepage">http://invisible-island.net/xterm/</url>
|
||||
<updatecontact>dickey@invisible-island.net</updatecontact>
|
||||
</application>
|
||||
<update_contact>dickey@invisible-island.net</update_contact>
|
||||
<developer_name>Thomas E. Dickey</developer_name>
|
||||
<url type="bugtracker">mailto:dickey@invisible-island.net</url>
|
||||
<url type="donation"/>
|
||||
<url type="help">http://invisible-island.net/xterm/xterm.faq.html</url>
|
||||
<url type="translate"/>
|
||||
</component>
|
||||
|
@ -30,7 +30,7 @@
|
||||
* sale, use or other dealings in this Software without prior written *
|
||||
* authorization. *
|
||||
*****************************************************************************
|
||||
$XTermId: xterm.log.html,v 1.1669 2016/06/05 22:28:12 tom Exp $
|
||||
$XTermId: xterm.log.html,v 1.1693 2016/10/08 00:44:44 tom Exp $
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
||||
|
||||
@ -72,6 +72,10 @@
|
||||
CHANGELOG</a>).</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="#xterm_327">Patch #327 - 2016/10/07</a></li>
|
||||
|
||||
<li><a href="#xterm_326">Patch #326 - 2016/09/25</a></li>
|
||||
|
||||
<li><a href="#xterm_325">Patch #325 - 2016/06/05</a></li>
|
||||
|
||||
<li><a href="#xterm_324">Patch #324 - 2016/03/10</a></li>
|
||||
@ -935,6 +939,80 @@
|
||||
<li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_327" id="xterm_327">Patch #327 -
|
||||
2016/10/07</a></h1>
|
||||
|
||||
<ul>
|
||||
<li>add a check in the function which handles end-of-line
|
||||
wrapping to ensure that C1 controls are allocated one column
|
||||
when <code>allowC1Printable</code> is set (Debian
|
||||
#738794).</li>
|
||||
|
||||
<li>use consistent error-checking after <code>strtol</code>
|
||||
calls, fixes a case where a query with OSC 6 did not ensure
|
||||
there was a valid color number (report by Alex Smith).</li>
|
||||
|
||||
<li>add <code>-baudrate</code> option, for testing
|
||||
ncurses.</li>
|
||||
|
||||
<li>always generate the <code>CASE_<em>xxx</em></code> symbols
|
||||
in <code>VTparse.h</code> and <code>Tekparse.h</code>, as part
|
||||
of a change to improve debug-logging. This makes the build
|
||||
always depend upon <code>awk</code>.</li>
|
||||
|
||||
<li>modify <code>allowC1Printable</code> to disallow codes
|
||||
160-254 as being equivalent to codes 32-126 when parsing escape
|
||||
sequences (Debian #839220).</li>
|
||||
|
||||
<li>amend fix from <a href="#xterm_326">patch #326</a> for
|
||||
TrueType fonts to exclude the hidden character used for
|
||||
double-width cells (report by Grady Martin).</li>
|
||||
|
||||
<li>fix a typo in <code>ctlseqs.ms</code></li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_326" id="xterm_326">Patch #326 -
|
||||
2016/09/25</a></h1>
|
||||
|
||||
<ul>
|
||||
<li>updated appdata file (report by Richard Hughes).</li>
|
||||
|
||||
<li>improve discussion of the different terminal emulations
|
||||
provided by xterm in the manual page.</li>
|
||||
|
||||
<li>add examples of setting the icon title with/without the
|
||||
window title in the manual (Debian #833984).</li>
|
||||
|
||||
<li>correct a limit-check when using a numeric value for
|
||||
extended Booleans e.g., <code>*fullscreen:3</code> rather than
|
||||
a name such as <code>*fullscreen:never</code>.</li>
|
||||
|
||||
<li>add action <code>allow-bold-fonts</code></li>
|
||||
|
||||
<li>improved formatting fixes for manual page, using script to
|
||||
find mismatches in spelling of resources, actions and menu
|
||||
entries.</li>
|
||||
|
||||
<li>improve documentation of logging resources.</li>
|
||||
|
||||
<li>fix a special case of flickering cursor by adding
|
||||
<code>GraphicsExpose</code> to the list of event types that
|
||||
should not trigger making the mouse cursor visible (patch by
|
||||
Joe Peterson).</li>
|
||||
|
||||
<li>correct initialization of line-drawing in VT52-mode,
|
||||
overlooked in changes for <a href="#xterm_297">patch #297</a>
|
||||
(report/patch by Ben Wiley Sittler).</li>
|
||||
|
||||
<li>minor clarification of form-feed versus line-feed in
|
||||
<code>ctlseqs.ms</code> (suggested by David Kemper).</li>
|
||||
|
||||
<li>amend fix for Debian #738794 to restore a check for missing
|
||||
characters which are <em>not</em> combining characters. Also
|
||||
fill in a corresponding special case for TrueType fonts (Debian
|
||||
#827905).</li>
|
||||
</ul>
|
||||
|
||||
<h1><a name="xterm_325" id="xterm_325">Patch #325 -
|
||||
2016/06/05</a></h1>
|
||||
|
||||
|
1739
app/xterm/xterm.man
1739
app/xterm/xterm.man
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user