Copyright © 1997-2024,2025 by Thomas E. Dickey
Contents
Here is
the latest version of this file.
It began as a list of the changes that I made for xterm, using
the notes that I added when submitting a patch. You should note
that other changes were made as well, by other people, to fix
bugs and correct ifdef's for portability. Until mid-2006, most of
these were summarized in the XFree86
CHANGELOG).
- modify DECFRA and DECRQCRA to handle NRCS
and ISO character set mappings.
- ensure that the cursor GC is updated when switching between
normal and italic fonts (report/testcase by Peter
Fabinski).
- reduce overflow in scaling of ReGIS coordinates
(report/testcase by Robert L Masterson).
- improve permissions-check for valid shell program.
- extend modifyOtherKeys and
formatOtherKeys to the various categories of special
keys, i.e., cursor-keys, function-keys, keypad-keys,
modifier-keys and (other) special-keys.
- review/extend convmap.pl to handle all of the
X11 keysym definitions in keysym2ucs.
- keysyms which do not correspond to Unicode character
codes are mapped to Unicode private use areas in the BMP
and plane 15.
- add/extend control sequences for the new format- and
modify-resources.
- fix copy/paste error in configure script for default value
of --enable-block-select (report by Vincent
Lefèvre).
- revise keysym2ucs.c, to provide mapping to/from
the Unicode private use area for non-character keysyms. Also
remove redundant items from keysym.map.
- improve modifyOtherKeys, by providing the UCS
value for keys which have no single-byte representation (Debian
#1093056).
- add two extensions to modifyOtherKeys:
- setting modifyOtherKeys to 3 makes all
keyboard input send escape sequences, using parameter 1
where no modifiers are given.
- a subparameter can be added to the XTMODKEYS
control sequence, telling xterm to factor-out the
corresponding modifier mask from available parameters in
the modifyOtherKeys feature.
- add items ColumnMode and StatusLine to
disallowWindowOps, for DECCOLM,
DECANM and DECSASD, DECSSDT
respectively (report by Sami Farin).
- fix several minor issues reported by Coverity.
- add ColorEvents resource to provide a way for
applications to send a client message which can modify the
default foreground and background colors (adapted from patch by
Claes Nästén).
- add special case for displaying an error for CAN
(cancel) when emulating VT100 (prompted by discussion with
Thomas Wolff).
- correct the size of a CellData buffer in
xtermReportSGR seen in ASAN2 (report by Sami
Farin).
- add resource printRawChars to allow bypassing
check in patch #389 which omits
Unicode non-characters from printing (request by Adam
Saponara).
- add visible-effect for SUB, per DEC 070 page
5-132.
- correct a limit-check in private mode 1045.
- add optional feature for block-selection, bound to
meta-button-one (patch by Adam Saponara).
- if started as a VT52, identify the terminal as a real VT52
rather than VT52 emulated by VT100.
- amend change to VT52 cursor-addressing per DEC 070 (mintty
#1299).
- correct ctlseqs.ms suffix for
XTTITLEPOS
- fix stricter warnings provided by upcoming gcc 15, as well
as NetBSD lint.
- modify title-stack test script, adding logging and
command-replay options. Improved the script with new controls:
- add XTTITLEPOS query to get position in
title-stack.
- add DECRQSS for XTSMTITLE.
- correct cursor-addressing limit for VT52 mode (report by
Serguei Fichel).
- amend change in patch #395 for
7-bit parsing to allow UTF-8 titles (report by Dmytro
Bagril).
- portability fixes for configure script, from ncurses
- update config.guess, config.sub
- add DECRQSS response for DECSTGLT, i.e.,
ANSI SGR color.
- add Russian and SCS NRCS character set mappings.
- remove obsolete code for OS390 and VMS.
- minor fixes to work with vttest 20240929's 7-bit parsing
test.
- improve DECRPM responses for unsupported modes; those which
are valid for a given DEC terminal are reported as permanently
reset rather than unknown.
- add JIS-Roman and JIS-Katakana character sets, for
VT382.
- fix typo in ctlseqs.ms note about function key vs
DSR (report by Michael Thomas Greer).
- formatting fixes for ctlseqs.ms (report by Mark
Manning).
- update tables in
wcwidth.c based on Unicode
16.0.0
- add -nomap option (request by Tavis Ormandy).
- improve checks for rectangle operations, per DEC 070.
- improve check for missing characters in bitmap fonts, for a
case where the font is marked complete but its range does not
include non-Latin1 codes (prompted by discussion with Craig
Leres).
- correct upper-limit in check for missing characters, from
patch #393 changes (report/patch by
Matthew Martin).
- fix for -report-fonts option when the font's first
character position is nonzero (prompted by discussion with
Craig Leres).
- add null-pointer check for a Heisenbug (Debian
#1078255).
- add a check for ANSI SC/RC, to ignore CSI parameters.
- improve check for missing characters for bitmap-fonts by
using the normal font for reference in the case where the
current font, e.g., the wide-font was derived from the normal
font and lacks per-character metrics (report by Rajeev V.
Pillai).
- fix regression in error-recovery for SGR parameters from
patch #357 (report by James
Holderness).
- remove some duplicates in xtermcfg.h (report by
Matthew Green).
- change default for --enable-imake configure
option.
- fixes for wcwidth:
- return 0 for format effectors, like a zero-width
printing character rather than -1 like a control character
(report by Rajeev V. Pillai).
- correct doublewidth to account for reserved
codepoints which are listed in the EastAsianWidth
file.
- add a special case for surrogate pairs, which might be
checked in testing the wcwidth function.
- amend sixel bounds-check added in patch #371 to not wrap out-of-bounds
data.
- eliminate maxStringParse limit for SIXEL.
- improve logic which ignores APC, PM and SOS controls to
also not accumulate their data temporarily in a buffer.
- exclude TERM_INGRESS from cleanup of environment
variables (patch by Iain Riley).
- fix some documentation typos (report by Thomas Wolff).
- improve input decoding for non-Latin1 character sets by
preserving the sense of GL/GR.
- add resource preferLatin1 to simplify UPSS
configuration (Gentoo #932154).
- build-fix for --disable-boxchars; patch #390 reuses that feature's code to draw
the part of the DEC Technical character set which has no
Unicode equivalent.
- modify #include of pty.h to work with
musl (report by Khem Raj).
- improve definitions used in clock_gettime logic in
graphics_sixel.c, as well as updating comments (patch
by Ben Wong).
- amend
allowC1Printable changes from patch #391, restoring a special case which
caused C1 characters to be ignored (report/testcase by Dmytro
Bagrii).
- improve integration between UTF-8 and
allowC1Printable.
- alter SIXEL HLS computation to make blue 0 degrees (patch
by Ben Wong).
- disable SIXEL aspect-ratio, pending a rewrite (patch by Ben
Wong).
- add resource
incrementalGraphics (prompted by
patch by Ben Wong).
- reorganize graphics_sixel.c as a step toward
eliminating graphics buffer-size (integrated patch by Ben
Wong).
- use
__linux__ consistently rather than the
older linux.
- build-fix for musl (report by Jonáš Vidra,
adapted patch by Khem Raj):
- modify
ifdef for
USE_OPENPTY, changing test for
__GLIBC__ to __linux__
- change
ifdef's for
_POSIX_SOURCE to
_POSIX_VERSION
- modify
ifdef for
setsid to use a configure-script check for
that function's existence and move the old check to imake
fallbacks.
- minor consistency fixes for manpage.
- fix regression in patch #390:
non-UTF8 text pasted as a XA_UTF8_STRING was not decoded
(report by Petri Kaukasoina).
- improve typography of control-sequences page (patches by
Branden Robinson).
- amend UPSS change from patch #389,
fixing a regression in VT100/VT220 character sets.
- modify ANSI conformance per ECMA-43 and DEC 070:
- set ANSI conformance level to 3 for DEC levels 2 and
up.
- disable locking shifts in level 1, e.g., VT100.
- disable single-shifts from G2/G3 in level 1.
- use UPSS for G2/G3 in levels 2 and up.
- modify invisible-character attribute to permit
DECRQCRA to report a consistent checksum
(report/testcase by Thomas Wolff).
- align terminfo building blocks in terminfo to correspond to
recent refactoring/trimming in ncurses.
- set flag in regexec call for
onNClicks to handle
“^” anchor (patch by Matthew Martin).
- add line-drawing data for the characters in DEC
Technical which have no Unicode equivalents.
- remove a special case in encode_scs which made
xterm report Latin-1 when encoding is set to UTF-8, where ASCII
is the selected character set. This fixes a regression in
vttest for the DECRSPS cursor test.
- correct values for Ps of DECAUPSS in
ctlseqs.ms (report by James Holderness).
- simplify/correct expression for checking Unicode
non-characters (report by Thomas Wolff).
- correct loop for trimming environment variables
(report/patch by Casper Dik).
- fixes for manpage formatting (Debian #1041809).
- update config.guess, config.sub
- interchange variables in subparameter parsing, fixing a bug
where subparameters after the first parameter could be
misidentified (patch by Adam Saponara).
- correct popping of icon/window titles in a case where only
one was pushed from patch #385
changes.
- add XTQMODKEYS response in DECRQSS, as
alternative for vim.
- correct DECCIR encoded information on character
set size, handle a VT525 quirk, and add DECST8C
(Windows Terminal #14984).
- improve DECRQCRA (prompted by discussion with
James Holderness, Windows Terminal #14974).
- add part of VT525 color controls:
- DECAC, to update default
foreground/background, respond to DECRQSS
- DECATC, to respond with DECRQSS
- prevent Unicode non-characters from being printed (prompted
by patch by Grady Martin).
- modify send_SGR() to avoid modifying colors 16 to
255 in printed output (patch by Grady Martin).
- minor cleanup of miscellaneous error-codes with
ERROR_MISC.
- remove legacy CSI 53 for locator status,
corrected in patch #294.
- modify DECRQUPSS and DECAUPSS feature to
support VT5xx character sets (report by Thomas Wolff).
- improve configure script:
- reduce configure-check compiler warnings (prompted by
Florian Weimer, Redhat #2251945)
- improve usage messages in configure script to make it
clearer when an option value is optional.
- improve EWMH handling (report/analysis by Edward Rosten)
- reset _NET_WM_STATE_HIDDEN flag from
_NET_WM_STATE before mapping the window to
deiconify.
- cache X properties to reduce latency (adapted from
patch by Edward Rosten).
- improve disallowPasteControls by adding a category
for the special characters known to stty (prompted by
discussion with David Leadbeater).
- amend support of DECAUPSS, undoing change to
initialization of G2/G3 so that pasting of GR characters works
properly (report/analysis by Petri Kaukasoina).
- update config.guess, config.sub
- add DECRQUPSS and DECAUPSS.
- add DECRQDE (report by Jake Hamby).
- correct indexing expression in title-stack, from patch #385 changes (report by Brian
Lindholm).
- improve references in ctlseqs.ms (prompted by
discussion with Kirill Chibisov).
- make the maximum amount of memory used for buffering DCS
and OSC strings configurable with maxStringParse
resource (report by Daniel Franke).
- improve performance of ReGIS when initializing the largest
fontsize (report by Ben Wong).
- fix regression in SIXEL colors, in patch #385 (report/patch by Jonny
Langley).
- fix typo in
--with-wtmp (report/patch by Sven
Joachim)
- fixes for ReGIS (report by Ben Wong).
- correct conversion from HLS to RGB
- improve font-caching performance.
- update tables in
wcwidth.c based on Unicode
15.1.0
- improve
fastScroll resource:
- suppress screen-refreshes for carriage-returns
- add
-jf option to simplify use of this
resource.
- add a control sequence for enabling/disabling the
resource.
- enable this feature by default
- extend title-stack feature to allow an additional parameter
to directly access the stack, like the
XTPUSHCOLORS and XTPOPCOLORS
feature.
- correct size and position of box shown for double-cell
character which happens to be missing from the bitmap font
(report by Peter Fabinski).
- improved configure script:
- add pattern for uClibc-ng to CF_XOPEN_SOURCE
(report/patch by Waldemar Brodkorb).
- add configure options --with-utmp-path and
--with-wtmp-path to override configure script's
check for utmp/wtmp pathnames which are shown in the manual
(Debian #1042767).
- CF_XOPEN_SOURCE provides for defining
_DEFAULT_SOURCE for MinGW32 and MinGW64.
- sed expression used to report gcc version now works
with MinGW
- ensure that line-attributes are reset after drawing missing
character (report by Christian Weisgerber).
- update config.guess, config.sub
- exclude ASCII space from
showMissingGlyphs,
since a few bitmap fonts lack this (report by "SanRemo",
Emanuel Haupt).
- correct a step in rendering double-width characters with
bitmap-fonts (report by Peter Fabinski, Debian #1039986).
- fixes for ReGIS-related problems (report by Ben Wong):
- mimic an undocumented hardware VT340 feature which
handles color initialization with incomplete
parameters.
- handle whitespace between operator/operands for color
values.
- reset ReGIS-context when resetting graphics in
RIS.
- expand description of full- and soft-reset in the
manual.
- fixes for full- and soft-reset:
- clear alternate screen on full reset.
- disable menu-entry for active icon; it merely shows
whether the feature is enabled.
- use appcursorDefault and
appkeypadDefault resources for reset of
DECCKM and DECKPAM.
- save initial resource values for
sixelScrolling and privateColorRegisters,
using those in full reset.
- update checkbox for Enable Blinking Cursor
(report by Rajeev V. Pillai).
- add reply for DECSACE with DECRQSS.
- modify status-line feature to exit without erasing for
DECSTR.
- add private mode 1045 which imitates the original
xterm cursor-back reverse wrapping mode 45 (see
patch #380).
- improve checks for non-Unicode values, e.g., in
DECRQCRA.
- re-checkout from RCS archive to fix stale identifiers
(report by Sven Joachim).
- amend change to CursorBack in patch #380, allowing the result to be on the
hidden right-half of double-cell characters (report by Rajeev
V. Pillai).
- amend xtermDrawString, fixing regression with
--disable-wide-chars configuration from patch #380.
- corrected pathname for run-tic.sh, for full
install in an out-of-tree build (report by Rajeev V.
Pillai).
- fix a regression in wide bitmap fonts versus check for
missing glyphs (report by Rajeev V. Pillai).
- simplify the change for
sixelScrolling from
patch #374 (report by Per
Bothner).
- add xterm+focus and report+da2, update
report+version building blocks in terminfo, from
post-ncurses 6.4
- drop the -title option from uxterm and
koi8rxterm, because that interferes with deriving the
default title from the -e option (Debian #1031837).
Compensate for this by using the -class option to
derive a default title.
- improve description of readline 2003 mode in
ctlseqs.ms (report by Thomas Wolff).
- other improvements to status-line feature (report by Thomas
Wolff):
- clear status line on DECCOLM
- ignore DECSASD if no previous
DECSSDT
- allow DECSSDT 1 immediately after
DECSSDT 2, i.e., without switching back to
host mode.
- adjust RequestResize to avoid shrinking screen
when using DECCOLM while the status-line is active
(report/patch by Thomas Wolff).
- disallow wrapping before the beginning of the screen, to
the end of the screen, for cursor-back sequences (Redhat
#2182357).
- modify makefile to install the 16x16 xpm files (report by
Harald Dunkel).
- update test-package to reflect resolution of Debian
#906901.
- change default of
showMissingGlyphs to
True.
- improve handling of double-sized characters when those
happen to be missing from the bitmap font and/or are
fullwidth.
- pointer/overflow fixes (reported by David Leadbeater):
- improve limit-checks for control-sequence numeric
parameters in SIXEL graphics.
- add null-pointer checks in WriteNow macro to
handle a case where SS2 or SS3 might be
in effect while processing a combining character.
- disallow ReGIS reporting for character-set names
containing characters other than alphanumerics or
underscore.
- implement TrueType fallback font for double-sized
characters, including Unicode fullwidth. Also add
limitFontHeight to provide for configuring the
distinction between slightly-oversized glyphs and
double-sized glyphs.
- configure script improvements:
- fix a typo in the underline cursor thickness derivation
(patch by Jan Engelhardt).
- improve text-cursor (patch by Jan Engelhardt):
- allow selecting CURSOR_BAR mode from
command-line/Xresources.
- draw cursor using filled rectangle instead of rectangle
outline to permit thicker underlines/bars.
- scale up cursor relative to font size.
- improve readline modes (Fedora #2166860):
- document readline modes
- change the feature to configure by default
- replace hard-coded SS3 for cursor movement with current
mode
- replace hard-coded erase/lnext characters with current
values
- improve status-line (report by Thomas Wolff):
- RIS turns off status-line
- Right-margin (DECLRMM and DECSLRM)
limits the length of text written/updated in the
status-line.
- Most controls which affect the whole screen are ignored
while updating the status-line.
- modify configure check for tgetent to allow for
some special cases of ncurses configuration (report by Satadru
Pramani).
- reduce timeout, improve warning message if resize is run on
a terminal which is not VT100-compatible.
- reduce compiler warnings in configure script.
- improve descriptions of XTQMODKEYS and
XTQALLOWED features in ctlseqs.ms (reports by
Bram Moolenaar, Thomas Wolff).
- add bracketed+paste and report+version
building blocks to terminfo, from ncurses 6.4
- improve check for unsupported formatting characters, e.g.,
zero-width space, to properly ignore them (report by Thomas
Wolff).
- improve/document error-checking for some of the controls
which return responses: DECRQSS, XTGETXRES, XTSETTCAP,
XTGETTCAP (prompted by discussion with David Leadbeater).
- improve limit-checks for fallback font cache (report by
Dimitrije Erdeljan).
- improve check for too-wide glyph in fallback font by
allowing xterm to continue searching for a suitable font rather
than just failing on the first. Also add
limitFontWidth to allow changing the amount by which a
glyph must extend outside the font's bounding box to disallow
it.
- add control sequences for reporting the current state of
the modified keys options (XTQMODKEYS) and allowed/disallowed
operations (XTQALLOWED), (prompted by discussion with Bram
Moolenaar).
- amend
modifyOtherKeys case 2 to distinguish
the escape character with modifiers, e.g., shift-escape, from a
plain escape character (suggested by Bram Moolenaar).
- improve parsing and error-recovery in the case where a list
of X11 bitmap fonts is given in the
-fn and
related options.
- change default for
xftTrackMemUsage to false,
because libXft does not handle certain fonts.
- modify configure script to always check for gcc
attributes,
- update
install-sh.
- fix parsing of
result -u in
vttests/halves.pl.
- add a note in
ctlseqs.ms about compatibility
of TBC.
- fix a copy/paste error in manual (patch by Grady
Martin).
- add null-pointer checks in
x_strcasecmp and
x_strncasecmp, to help with error-recovery for a
missing font (Debian #1022942).
- improve error-recovery when setting a bitmap font for the
VT100 window, e.g., in case OSC 50 failed,
restoring the most recent valid font so that a subsequent
OSC 50 reports this correctly (report by David
Leadbeater).
- exclude
MC_XDG_OPEN from environment variables
trimmed on startup (report by Gabor Hauzer).
- check for null pointer in
isSelect() (report
by Column Paget).
- eliminate use of grep aliases from vttests scripts.
- amend discussion of
DECSDM versus Sixel
Scrolling in ctlseqs.ms (reports by Hayaki
Saito, Ben Wong).
- change default for
sixelScrolling resource to
better match VT330/VT340 DECSDM setting (patch by
Ben Wong).
- fix some gcc and coverity warnings.
- improve memory usage for OSC 52 (report by
David Leadbeater).
- fix regression in xterm-373 change
adding resources xftTrackMemUsage to
xftMaxGlyphMemory, which did not first cache the
server's resource-settings (report/testcase by Gabor Hauzer, as
well as Debian #1021243).
- fix regression in xterm-373 change
for status-line vs alternate screen (report by Rajeev V.
Pillai).
- configure script improvements:
- modify CF_XOPEN_SOURCE to handle more special
cases of Linux (reports by Adam Sampson, Sven
Joachim).
- modify checks for egrep/fgrep aliases to work around
warning messages from GNU grep 3.8
- improve rendering of TrueType fonts:
- add resource xftTrackMemUsage to
enable/disable a new feature of Xft which improves
performance.
- add resources xftMaxGlyphMemory and
xftMaxUnrefFonts to customize memory-usage of Xft
and fontconfig.
- provide for display of colored fonts in libXft
2.3.5
- allow for an extra TrueType font to be specified using
the
-fa option, as an override to the
fontconfig scheme of fallback fonts (request by
Nickolas Raymond Kaczynski).
- improve caching of TrueType missing-glyph tests.
- allow no more than 255 fonts to be scanned for a
fontset.
- eliminate a table-lookup in findXftGlyph
- improvements status-line feature:
- save/restore wraparound flag when updating the
status-line (report by Rajeev V. Pillai).
- avoid clearing the status-line when switching between
normal and alternate screens (report by Valtteri
Vuorikoski).
- remove adjustment from update_winsize leftover
from initial work (report by Valtteri Vuorikoski).
- modify wcwidth tables to separate Unicode
Cf category as formatting control-characters,
to better match the guideline for unsupported
characters (report by Tim Chase).
- add configure option
--disable-exec-selection.
- use mkstemp where mkdtemp is unavailable,
when initializing colored cursor.
- adapt fixes from OpenBSD xenocara:
- improve ifdef's for a few optional features.
- correct #ifdef to #if in a few uses
of OPT_PRINT_ON_EXIT.
- set StartupWMClass in
“.desktop” files, e.g., to help
cinnamon-session notice that xterm sets
WM_CLASS and use its icon (patch by Richard de
Boer).
- disable pixel computation when rgb width is greater than 8,
to work with depth 30 (patch by Denis Kaganovich).
- improve color-computation for SGR 2 faint/dim (patch by
Boian Bonev). Add resource faintIsRelative to specify
if the modified computation should be used (prompted by
discussion with Matthieu Herrb).
- correct comparison-length for environment variable cleanup
(patch by Brendan O' Dea).
- correct dsl capability for dec+sl block
in terminfo (report by Rajeev V. Pillai).
- improve output formatting by vttests/utf8.pl
- repair test/demo scripts still using "vxt-" prefix, some
cleanup with shellcheck.
- enable page-number for DECXCPR response in
VT330.
- amend change for combining characters in patch #371 to limit it to the
currently-defined codes (report by Thomas Wolff).
- add directory-template parameter to mktemp in
shell-scripts to improve portability to older systems (patch by
Ryan Schmidt).
- mention webpage XTerm
– bracketed-paste in
ctlseqs.ms
- update manual-page descriptions for
allowPasteControls and
disallowedPasteControls (patch #363).
- further extended list of environment variables to purge on
startup (suggested by Thomas Wolff).
- update config.guess, config.sub
- amend allocation/freeing of scrollback lines, eliminating
an adjustment for status-line added in patch #371 (report/testcase by Rajeev V.
Pillai).
- drop double-buffer default from test-packages, since that
interferes with status-line.
- add
faceSize7 to table in
charproc.c, overlooked in patch #360 (patch by Vladimir A. Pavlov).
- use
XDrawString rather than
XDrawString16 for text when the latter is not
needed.
- improve performance for initializing/reusing graphic
objects in the SIXEL feature.
- improve error-checking for
resize.
- fix errata in manual page (Debian #988221).
- extended list of environment variables to purge on startup,
i.e., in case a user starts xterm from another terminal
emulator.
- add comment in
cursor.c to explain why
autowrap (DECAWM) does not apply to data
saved/restored with save/restore cursor-operations (report by
Thomas Wolff).
- add special case in generating the combining-character
table in
wcwidth.c, for Hangul Jamo Extended-B
(report by Luis Javier Merino).
- simplify/improve portability of
trap commands
in shell-scripts.
- update configure options
--disable-rectangles,
--disable-tcap-fkeys and
--disable-tcap-query
to account for changed default settings.
- rather than ignore empty parameter for setting title, use
that to reset it to “xterm” for scripting.
- check for out-of-bounds condition while drawing sixels, and
quit that operation (report by Nick Black).
- add fallback definition for
PROJECTROOT so
that a suitable default location for luit will be
compiled-in on build-servers.
- implement DEC status-line controls DECSASD/DECSSDT:
- decode controls, set state
- implement DECRQSS responses
- implement indicator-style status-line
- add configure option
--enable-status-line
- add resource
indicatorFormat
- implement host-writable status-line, able to handle
video-attributes and simple left/right cursor movement.
This disallows all of the DEC/xterm private modes such as
switching to/from the alternate screen.
- move the status-line if the window is resized.
- Note: the associated screen-resizing does not
work for the special case of TrueType fonts with
double-buffering (see note in patch #349).
- modify configure-script fixup for
-Werror
options to exclude fixup for -Werror=format, e.g.,
-Werror=format-security.
- amend change from patch #370; DEC
070's pseudo-code for DECCOLM incorrectly suggests that it
enables DECLRMM as a side-effect.
- fix some memory leaks seen using esctest and asan2 (patch
by Luis Javier Merino).
- add
-a, -c and -d
options to query-status.pl to improve test for
DECRQSS.
- expanded discussion of maximum graphics geometry in
ctlseqs.ms (suggested by Bon Wong).
- corrected parameter symbol for
DECCARA and
DECRARA in ctlseqs.ms to indicate
that multiple parameters may be used (report by Thomas
Wolff).
- add several test/demo scripts.
- improve
DECCOLM, DECLRMM and
DECALN referring to pseudo-code in DEC 070.
- amend a change in patch #348 which caused left/right margin
mode to be reset when resizing the terminal window (report by
Valentine Barshak).
- fix a misnamed macro-parameter (patch by Rajeev V.
Pillai).
- fix spacing of
wideFont when its width is not
exactly twice as wide as the normal font (report by Rajeev V.
Pillai).
- suppress loading of italic font in a few places when
colorITmode is enabled (report/analysis by Rajeev
V. Pillai).
- modify
XTSMGRAPHICS to return failure status
if the terminal is not configured to support the corresponding
ReGIS or SIXEL feature (report by Nick Black, notcurses #2252,
notcurses #2257).
- modify
DECERA and DECFRA to erase
corresponding area in SIXEL graphics (patch by Nick Black,
notcurses #1740, vt340test #16). Also modify
DECSERA.
- equate visuals for TrueColor and DirectColor (patch by
Denis Kaganovich).
- correct computation for pixel value of rgb when using depth
16 (report by Denis Kaganovich).
- correct wrapping of VT100-style double-sized characters
when configured for Unicode wide-characters (report by Luis
Javier Merino).
- updated default value for
sixelScrolling
resource to match expected behavior versus DECSDM
change in patch #369 (report by Grant
Taylor).
- modify
run-tic.sh to work around bug in
development version of ncurses which was packaged in FreeBSD
ports.
- remove ifdef's for
OPT_COLOR_RES and
OPT_COLOR_RES2.
- improve performance over slow connections (report by Harald
Dunkel).
- update cursor if restoring mode for DECTCEM.
- modify
CharWidth macro to ensure that the
shortcut for Latin-1 is only applied when UTF-8 is not enabled,
to fix a bug in handling soft-hyphen from patch #334 changes (patch by Martijn van
Duren).
- improve terminfo:
- fill-in function-keys in terminfo which are not Sun/HP
keyboards using
xterm+nopcfkeys
building-block.
- add kbeg to xterm+keypad to accommodate termcap
applications
- add smglp and smgrp to vt420+lrmm, to provide useful
data for the "tabs"
+m
option
- support shift-tab in Sun, HP and SCO keyboards.
- document some legacy features in
ctlseqs.ms
(prompted by discussion with Jimmy Aguilar Mena "Ergus").
- add “trim” option to
cdXtraScroll
and tiXtraScroll.
- remove support for non-fifo save-lines configuration.
- extend
cdXtraScroll to check if the cursor is
at the upper-left of the scrolling region when the erasure is
for the remainder of the screen versus the whole screen
(prompted by discussion with Jörg Breitbart).
- add workaround for broken pcre2 package in Debian 10.
- change screen-refresh call used for
DECCARA
and DECRARA to ensure that trailing blanks which
are part of the rectangle are repainted (report/analysis by
Dennis Filder).
- when resetting the terminal, ensure that the cursor shape
also is reset, e.g., if
DECSCUSR has been used to
modify the cursor shape for an xterm which was started with the
underlined cursor option (report/analysis by Luis Javier
Merino).
- prevent
DECSCUSR from blinking the cursor if
the cursorBlink resource is “never”
(report by Vladimir D Seleznev).
- invert the sense of
DECSDM, to correspond with
VT382 manuals (lsix #41).
- update tables in
wcwidth.c based on Unicode
14.0.0
- add
DefaultOff option to
RenderFont resource, as part of the
session-management feature.
- add auto-scroll-lock feature (patch by Stelios
Bounanos).
- update the window-size information returned via
TIOCGWINSZ when rows/columns are unchanged but the
font-size changes (report by Nick Black).
- improve session-management feature by saving/restoring the
font settings.
- update config.guess, config.sub
- add
OSC 22 to allow programs to select
different pointer cursor at runtime.
- change configuration for no-return functions to
use
_Noreturn when it is available, because
clang --analyze does not properly handle the gcc
noreturn attribute.
- add
cursorTheme resource to provide a way to
enable or disable the cursor theme feature.
- modified
CopyWait event retries to use shorter
sleeps, to improve responsiveness (tmux #2556).
- improve quoting/escaping in demo-scripts per
shellcheck.
- add
resizeByPixel resource, to permit
disabling window manager resizing-hints (patch by Tim
Oehl).
- corrected
printOptsImmediate handling of
alternate-screen (report by Abhijit Dasgupta).
- update sample terminfo to more closely match ncurses.
- add/improve limit-checks for Xlib calls (report by Roman
Fiedler).
- fix a typo in the help-message (report by Tomas
Korbar).
- correct a compiler-warning fix in patch #352 which allowed sign-extension of
coordinate values (report by "CismonX").
- correct upper-limit for selection buffer, accounting for
combining characters (report/testcase by Tavis Ormandy).
- with
alwaysHighlight true, xterm does not
properly track focus. The screen->select
FOCUS flag remains always on, which prevents
bellIsUrgent from working, as the urgent
WM_HINT flag is only set in
setXUrgency() when the window is not focused. Fix
this by updating screen->select in
unselectwindow() regardless of the value of
always_highlight (patch by Jiri Bohac).
- improve fix for interaction between SRM and ENQ (report by
Grant Taylor).
- build-fix for
--with-Xaw3dxft, needed when
--with-toolbar is omitted (report by Jimmy Olgeni,
Emanuel Haupt).
- amend fix for “word” selection in patch #364 to limit that to the
insert-selectable action, which reads
data from the screen. This restores the interactive behavior
where double-clicking on a “word” would make
subsequent selection extensions by words as well as suppressing
some boundary-checks (report by David Wolfskill, FreeBSD
#253225).
- add
-fc option.
- correct/improve limit-checks for SRM versus ENQ from
patch #344 (report by Tom
Szilagyi).
- enable
XftFont resource in Xaw3dxft
configuration (patch by Tavis Ormandy).
- improve quoting/escaping in build-scripts per
shellcheck.
- add
libpcre2-posix to the packages tested for
--with-pcre2 option, needed with Fedora (report by
Tomas Korbar).
- correct a typo in manual page, and note that
KeepClipboard may not be compiled-in (report/patch
by Sean C Farley).
- corrected boundary-checks for “word” selection
used in
onNClicks resources (report by
Tavis Ormandy).
- update to autoconf-2.52-20210101, to improve shellcheck
warnings.
- improve configure check for desktop categories.
- disable groff hyphenation in generated html when using
man2html.
- change SCS “
&4” Cyrillic to
non-NRCS, per VT520 manual.
- amend fix for SCS in patch #198 to
remove
DEL rather than converting it to a space
(report by Thomas Wolff).
- modify state transitions for selecting character sets to
eliminate an ambiguity between the “A” used in
VT220 versus VT320.
- improve error recovery when selecting characters by
resetting to US ASCII when no suitable encoding is found, e.g.,
attempting to use an NRCS sequence when NRCS is not
enabled.
- turn off hyphenation in “
.txt”
conversion, prompted by groff changes.
- add VT5xx ISO Latin-2 (prompted by discussion with Thomas
Wolff).
- amend change from patch #361 to
event-handling in
CopyWait to handle active-icon
as a special case (Debian #975687).
- add call to
loadColorTable to get the visual
information needed to decode BE RGBA32 color format (patch by
Leandro Lupori).
- modify the resource-parsing for
disallowedPasteControls and similar lists of
names/numbers to recognize “~;” (tilde) for
cancelling a given name/number.
- add ENQ, EOT and NUL to default for
disallowedPasteControls.
- change default for
disallowedPasteControls to
omit the tab character (suggested by Harald Dunkel).
- fix swapped height/width in
regisScreenSize
and maxGraphicSize resources using "auto" value,
from patch #314 (report by Anton
Lavrentiev)
- revise patch #362 change for
shift-modifier versus mouse protocol and select/paste by adding
resource
shiftEscape, which can be enabled via a
control sequence (prompted by discussion with Matthijs van
Duin).
- simplify/improve ifdef in trace code for using a separate
set of files for each run of xterm.
- add options
-r and -t to
vttests/query-color.pl to show the 6-digit RGB
code and actual colors.
- add
nel to xterm-basic
terminfo.
- alter
vttests/modify-keys.pl to omit HTML
reference links to the modified-keys table where no keycode was
available.
- cleanup of calls to
free, removing checks for
null (Walter Harms).
- improved mouse-button reporting (prompted by discussion
with Stephane Chazelas)
- narrow the scope of the change for shift-key in
patch #361 to make it apply only
when the
modifyOtherKeys resource is set to 2
(i.e., “program mode”). Also, when checking the
shift-key, ignore modifiers other than shift, control and
“meta”
- use the alt/meta modifier information obtained in
VTInitModifiers to replace a hard-coded
mod1 used to detect “Meta” for
mouse-button responses.
- reduce
SIGWINCH's sent to the client by
filtering out duplicates.
- improve display when
scaleHeight is greater
than 1:
- the text-cursor is vertically-centered on the current
line, rather than only extending below the current line
(report by Manu Chaturvedi).
- the built-in line-drawing characters extend to the
scaled cell-height.
- fill-in special case for motion-events to match the changes
for shift-key in pointer-button events from patch #361.
- treat the return value of
strerror as readonly
(patch by Philipp Klaus Krause).
- modify event-handling in
CopyWait to work
around hanging while writing large amounts of text to an active
icon and at the same time iconifying/deiconifying (report by
Dave Kemper).
- initialize double-buffer for active-icon window.
- improve manual page description of scrollbar resources
(report by Brian Lindholm).
- correct ifdef for menu entry for active-icon, when
initializing it with toolbar configuration.
- add preprocessor option to makefile to set internal
definition of pixmaps directory to match the
install-configuration (FreeBSD #250036).
- cleanup of calls to
free, removing checks for
null (Walter Harms).
- add fallback actions
pointer-button and
pointer-motion which handle events for the mouse
control-sequences protocol if the select-related
translations are omitted with
*omitTranslation:select (prompted by discussion
with "Ergus")
- amend rule for using shift-key to override mouse-protocol
for select/paste to limit that feature to mouse-buttons which
are actually bound to select/paste actions (prompted by
discussion with "Ergus").
- corrected mapping in special case for repainting wrap-marks
when viewing the scrollback area.
- use separate GCs for
showWrapMarks
feature, to work around cursor coloring change in patch #345 (report by Paulo Silva de
Alíbano).
- mention
decGraphicsID in
ctlseqs.ms (suggested by Thomas Wolff).
- modify pixel-coordinate mouse response to use as origin the
VT100-window rather than the underlying widget, which includes
the scrollbar (report by Thomas Wolff).
- add configure option
--disable-print-graphics
(Ross Combs).
- add
test_ptydata to “make check”
rule.
- minor fixes for
ctlseqs.ms (report by
Jean-Marc Bourguet).
- minor fixes for manpage style (report/patch by
"a1346054").
- correct cleanup from switch between italics/normal font in
the show/hide cursor functions (report/testcase by Peter
Fabinski).
- integrated patch by Ross Combs:
- internal renaming of GraphicsID symbols, for
readability.
- adjust logic for VT125, treating it as a ReGIS
terminal.
- update configure macros, for compiler-warning fixes.
- integrated patch by Ross Combs:
- add control sequence modes for graphics printing.
- improve conversion to bitmaps for TrueType fonts in
ReGIS
- add
font7 resource, for an
“enormous” bitmap font.
- do not reset graphics in a soft-reset.
- add
pointerFont resource, and
-pf command-line option.
- improve typography of manual page (patch by Branden
Robinson).
- amend patch #359 change to
df-install.in to ignore a command-line assignment
to DESTDIR if followed by an explicit
--dir (report by Sven Joachim).
- add special case in
WriteText to allow colors
8-15 to override colorBDMode (patch by Ingo
Brückl).
- add
utf8Weblike resource, to provide an
alternate scheme for handling ill-formed UTF-8 sequences
(adapted from patch by Dan Gohman).
- improve computation for the number of lines needed to
scroll-up a SIXEL graphic (report/patch by Ben Wong).
- correct manpage description for default value of
disallowWindowOps from changes in xterm #331 (patch by Ben Wong).
- correct a loop starting-point in
refresh_graphics from optimization in patch #358 changes (report by Ben Wong).
- add a new mouse mode 1016, which uses the same format as
mode 1006, but sends the mouse's position in pixels (suggested
by Igor van den Hoven).
- fix an issue from patch #338
changes where only the first selection buffer specified in the
request would be updated using OSC 52 (patch by Michael
Gulick).
- modify makefile/scripts to allow
DESTDIR to
prefix the target directory for desktop-file-install (report by
Fred Heitkamp).
- enable SIXEL feature by default.
- update config.guess, config.sub
- correct logic for decodeTerminalID changes in patch #357 (report by "Chartreuse").
- modify makefile to use
plink.sh when linking
test-programs, to fix build when using pcre (report by H Merijn
Brand)
- build-fix for test_ptydata program (patch by H Merijn
Brand)
- several minor optimizations for the ReGIS and SIXEL
features, improving performance by 10%.
- add resource
decGraphicsID to allow displaying
graphics when the emulation level would ordinarily disallow
this (prompted by discussion with Thomas Wolff).
- add control sequences for fast switching of color palettes:
XTPUSHCOLORS, XTPOPCOLORS,
XTREPORTCOLORS
- amend change for soft-hyphen from patch #328 to avoid stripping
replacement-characters which would be shown with malformed or
overlong UTF-8 input.
- corrected an error-handling case in
decodeUtf8, matching a similar fix in patch #268 (report/patch by Dan Gohman).
- add a test-driver for
ptydata.c
- minor cleanup of macros (adapted from patch by Walter
Harms).
- fix some errata in
ctlseqs.ms (report by
Thomas Wolff).
- allow immediate repaint-on-palette-changed if
double-buffering is enabled.
- deprecate codes 10/11 in sgr push controls, changing those
to 30/31, to avoid confusion with sgr 10-19.
- modify
SGR parameter handling to stop if an
unrecognized parameter is encountered, to guard against
malformed or nonstandard sequences (report by Bram
Moolenaar).
- modify
DECERA color for consistency with other
erasures/clearing (report by Thomas Wolff).
ECH should not be masked by
DECSCA (report by Thomas Wolff).
- extend
DECFRA and REP to accept
any “graphic” character rather than just Latin1,
etc. (report by Thomas Wolff).
- add
-C option to 256colors2.pl and
88colors2.pl, to demonstrate mixed semicolon/colon separators
which are implied by ECMA-48.
- update sample terminfo to reflect the documentation
improvements.
- update description of 88/256/direct color in
ctlseqs.ms to point out that using semicolons is a
deprecated legacy feature, and standard terminal applications
should use colons (prompted by discussion with Bram
Moolenaar).
- modify configure-check for
tgetent to
conditionally include termcap.h, enabling
configuration using clang's pedantic-errors option
(report by Dennis Clarke). See
Other Compatibility in ncurses'
curs_termcap(3X).
- remove some unnecessary pointer checks (patch by Walter
Harms).
- accept terminal-id and add DA response for VT131,
VT132.
- revise fix for Debian #954730, which interfered with wheel
mouse events (report by Gabriele Balducci).
- revise fix for Debian #954730, which interfered with wheel
mouse events (report by Henri Menke).
- fix typos in documentation (reports by Stephen Hurd, Stefan
Assmann).
- add mapping for
decTerminalID for
“100” overlooked in patch
#354.
- update tables in wcwidth.c based on Unicode 13.0.0
- build-fix for “make check” when building
out-of-tree (report by Sven Joachim).
- work around performance problems of
XDrawImageString and
XDrawImageString16 functions (Debian
#954845).
- add a control sequence which reports xterm's version (patch
by Nicholas Marriott, mintty #881).
- temporarily set numeric locale category to "C" when parsing
resources, so that
scaleHeight and
faceSize settings do not depend on locale (Debian
#820803).
- improve DA/DA2 response by ensuring that the
decTerminalID maps to one of the known
identifiers, as well as providing DA2 response for VT241 and
VT382.
- terminfo improvements:
- add (my) comments from ncurses which explain the keypad
layouts.
- add
vt52+keypad from ncurses
- use improved
xm example for
xterm+x11mouse, xterm+sm+1006
from ncurses 6.2 terminfo.src
- two fixes for left/right wheel mouse event reporting
(Debian #954730):
- filter identical button-events
- correct order of button-range versus protocol type (see
patch #345)
- change “make check” makefile-rule to use
test-drivers for charclass and wcwidth data.
- quiet “did not find a usable xxx TrueType
font” warnings by making
fontWarnings apply
to these messages (report by Jim Rees).
- improve reinitialization of parameter list (report/testcase
by James Holderness).
- temporarily set numeric locale category to "C" when
formatting SVG or XHTML screendumps, to make the radix
separator used in RGB values consistent (adapted from patch by
George Kouryachy).
- add resource
forceXftHeight to control whether
workaround from Debian #880407 is used.
- apply updated ascent/descent in workaround from Debian
#880407 to fix a 1-pixel gap in built-in vertical lines
(report/testcase by Stefan Assmann).
- improve round-off of scaling for built-in line-drawing
(prompted by discussion with Stefan Assmann).
- adjust fonts in svg-icon files to accommodate reduced
functionality of new pango (report/analysis by YOKOTA
Hiroshi).
- improve configure check for X Toolkit library.
- correct Y-coordinate transformation in
ClearCurBackground, overlooked in changes for
patch #334 (report/analysis by Chuck
Silvers).
- remove
--vendor option from test-packages'
install of desktop files; the feature is badly broken in
gnome-shell.
- modify
uxterm to make it possible to select
nonstandard locale C.UTF-8, e.g, if the user's locale
is set to “C” (Debian #940626).
- re-save/tweak “.svg” icon-files to work around
breakage in toolset since the files were created in patch #283.
- amend change in patch #352 for
button-events to fix a case where some followup events were not
processed soon enough (report/patch by Jimmy Aguilar
Mena).
- handle MappingNotify X event, to improve recovery
when switching keyboard configurations using
xkbcomp (prompted by discussion with Frank Mosch,
Debian #661295). There is more work needed here, possibly in
the X libraries.
- improve discussion of mouse-mode in
ctlseqs.ms
(suggested by Igor van den Hoven).
- further improve checks for Xft max-advance-width
to take into account fonts which use two cells for ambiguous
width characters. Also improve the time used for these checks
(reports by Yuri Pankov, Frank Mosch).
- fix a few spelling errors reported by codespell (report by
Jens Schleusener).
- modify
run-tic.sh to prefer development
version of ncurses since changes to terminfo file in patch #345 rely upon bug-fixes in ncurses
(prompted by discussion with Will Senn).
- adjust fontsize data to handle a minor inconsistency from
recent Xft versions (Debian #880407, adapted from patch by
Vincent Lefèvre).
- add a table to the manual page description of
forceBoxChars to alert the reader to the special
characters aside from “line-drawing” which are
drawn directly when this resource is set (Debian #931305).
- improve
checkXft logic which attempts to
detect fonts whose max-advance-width is inconsistent
with the actual glyph widths. For some fonts, it is necessary
to check additional characters (report/analysis by Jan
Engelhardt).
- improve configure-checks for X headers and libraries on
recent MacOS, which has moved those files under
/usr/X11.
- improve portability of iconify/deiconify feature by taking
into account some window managers which manipulate the EWMH
_NET_WM_STATE property, adding/removing
_NET_WM_STATE_HIDDEN rather than actually
minimizing the window (prompted by discussion with
Jörg Breitbart).
- improve workaround from patch #287
for the
-iconic option when configured with
toolbar by postponing the extra request for minimizing the
window to the end of menu-initialization.
- modify
xevents special-case for mouse-events
to include button-events so that the meta key by itself can
generate button-events (report/analysis by Mattias
Engdegård).
- amend SGR-stack change from patch
#348 to not associate bold attribute with background color
(report by Nicholas Marriott).
- fix copy/paste error in manual page (patch by Larry
Hynes).
- add definitions in
xterm_io.h so that GNU/Hurd
will use posix_openpty (patch by Samuel
Thibault).
- build-fix in debug-tracing, for
esctest.
- updated autoconf macros
- update config.guess
- correct logic in
property_to_string for
deciding when to fallback from UTF-8 decoding to ISO-8859-1
decoding, broken in xterm #350
(FreeBSD #241961).
- add
-report-icons to help-message.
- improved autoconf macros:
CF_ADD_LIBS: the change to filter out
duplicates caused this to append rather than prepend.
revise to fix that.
CF_GCC_VERSION and
CF_GCC_WARNINGS: move checks to distinguish
icc/clang from gcc from the macro which handles the
--enable-warnings option, to make this work
without-warnings for the inline-checks.
- update config.guess, config.sub
- correct status in
XTGETXRES replies when the
resource was not found.
- fix some gcc, cppcheck, clang and coverity warnings.
- guard call to
RequestResize from the
struct-notify event handler to prevent recursion in the
Xft+buffered workaround in some cases when doing manual
resizing rather than resizing via escape sequences (reports by
Stefan Assmann, Mike Thornburg).
- amend the workaround for Xft+buffered blanking by moving
the switch to bitmap-fonts to account for differences in font
metrics between bitmap- and TrueType-fonts (report by Stefan
Assmann).
- improve the note on the
xterm-rep terminfo
entry (prompted by discussion with Sven Joachim).
- modify html/svg dump to not ignore zero'd/blank cells.
- align terminfo file with ncurses, e.g., add
xterm+osc104 block.
- improve discussion of
modifyOtherKeys in
manual page and in ctlseqs.ms.
- add
vttests/modify-keys.pl script to
illustrate the modifyOtherKeys resource (prompted
by discussion with Bram Moolenaar).
- various improvements to
ctlseqs.ms, as part of
autogenerating links for the website.
- update manual page default for
saveLines
resource default value (Branden Robinson, Debian #913815).
- add command-line option
-report-xres to show
the values of the VT100 widget X resources when initialization
is complete.
- add a control sequence which, like tcap-query, allows an
application to inspect most X resource settings of the VT100
widget.
- adjust some optional features to enable them in the imake
configuration as they would be by default via the configure
script.
- add null-pointer checks to improve error recovery when
bitmap fonts are missing or corrupt (report by Jonne
Ransijn).
- correct the condition for deleting the EWMH window-title
property, i.e., if UTF-8 titles are disabled, rather than if an
update to the EWHM property found no change (report by Sven
Joachim).
- build-fix for the case when configure
--enable-trace is used without
--enable-warnings (report by Sven Joachim).
- fix a few minor bugs found with Coverity.
- add a check in
property_to_string to avoid
translating UTF8_STRING or
COMPOUND_TEXT into Latin-1 when UTF-8 encoding is
active, e.g., when pushing onto the title-stack while switching
to the alternate screen.
- build-fix for the
--disable-doublechars
configure option (report by Brian Lindholm).
- add graphic context to support bold+italics (patch by Quinn
Strahl).
- document window properties in the manual page.
- improve title-string feature:
- if any of
allowC1Printable,
utf8Title or titleModes hint that
an application might send a title-string encoded in UTF-8,
check if that is the case, and if it is recodable into
ISO-8859-1, use that for the ICCCM-style title.
- check if the title given by a control sequence happens
to be already encoded in UTF-8, to avoid double-encoding
(FreeBSD #240393).
- Make
sameName resource work for the EWMH
titles.
- Modify menu-state of
utf8Title to be
consistent with the utf8 source, i.e., setting
the EWMH properties automatically when UTF-8 is
active.
- reorganize text-drawing to make it
possible to investigate using Xft to implement VT100-style
double-sized characters. While doing this, made a workaround
for apparent Xft bug which loses its drawable state when
switching from 132 to 80 columns.
- improve font-warning messages by showing which are
derived rather than directly from resource settings
(suggested by Tomas Korbar). Also filter repeated font-warning
messages, to accommodate broken X configurations.
- fix an inconsistency between failure to load derived wide
font versus failure to load derived wide-bold font (Redhat
#1679790). That relies upon the “:unscaled”
property which is broken in some distributions (however, recent
Debian and the BSDs such as MacOS work).
- updated autoconf-252 to check X11R7 include/lib directories
found on some older configurations.
- set a graphic-context for border when double-buffering is
active; to prevent the border color from changing when
switching to reverse-video.
- build-fix for
--disable-ziconbeep, which
conflicted with the new double-buffer configuration (report by
Brian Lindholm).
- fix loop-limit for lookup of
fullscreen
resource broken in xterm #347 (report
by Scott Bertilson).
- update window-manager hints when exiting Tek4014 mode
(Debian #932569, patch by Jonathan Irwin).
- fix a misformatted printf in
report-sgr.pl.
- add configure check for termios types, to improve
compiler-warnings.
- ensure that when resetting margins, to also reset
DECLRMM. This affects DECCOLM,
DECALN (although DEC STD 070 mentions only
top/bottom margins), and DECSTR.
- corrected order of reset/move when setting
DECCOLM, and make it more consistent by always
resetting margins, rather than only when the mode is changed
(report by James Holderness).
- compile-in double-buffer support by default, changing the
configure option to set the default resource value for
buffered to true or false.
- take in account the reverse-video state when computing the
filler-color used when clearing the screen in double-buffering
configuration.
- correct logic for filtering scrollbar-updates when
buffered resource is compiled-in but not enabled
(report by Paul Lampert).
- improve state saved/restored for cursor-save and SGR stack
features.
- improve description of 1006 and 1005 mouse modes, to avoid
implying that they use character-parameters (report by Bryan
Christ).
- explain in
ctlseqs.ms that some of the numeric
keypad keys were xterm extensions rather than VT100/VT220
terminal features (prompted by discussion with Thomas
Wolff).
- explain in
ctlseqs.ms how the DEC windowing
extension is supported by xterm.
- add 28 rectangular editing to the primary response
(suggested by Thomas Wolff).
- fix a typo, improve wording in
ctlseqs.ms
(Thomas Wolff).
- fix internal column-parameter when
SL or
SR is used with left/right margins (patch by
Thomas Wolff).
- fix off-by-one in VT52 graphics character mapping (patch by
Thomas Wolff).
- use
_X_UNUSED, etc., when available as a
fallback for GCC_UNUSED, etc., to reduce compiler
warnings when building with imake.
- update config.sub
- fix a few minor bugs found with Coverity.
- improve double-buffering for scrollbars combined with
scrolled text; add
bufferedFPS resource to control
the maximum rate of screen updates (report by Mike
Thornburg).
- improve fixes for
DECCRA handling of
double-width characters (patch by Martin Hostettler).
- improve discussion of ECMA-48's typographical error for
SD in ctlseqs.ms (prompted by report
by Martin Hostettler).
- correct off-by-one in parameter limit-check for
DECCRA (report by Martin Hostettler).
- modify
saveCellData to handle case where
double-width character is partially copied; that should be
blanked (report/testcase by Thomas Wolff).
- add resource
buffered to allow
enabling/disabling double-buffered mode.
- two fixes for the double-buffer configuration, prompted by
MacPorts' switch to double-buffering (patch by Mike Thornburg,
MacPorts #58313):
- ensure that the needSwap flag is set after drawing
TrueType text
- corrected the drawable-parameter used for the
bar-cursor
- modify
ScrnRefresh to ignore a case where the
left/right halves of a double-width character have been set to
different video attributes. The attribute to use is in the
left-half (report/testcase by Thomas Wolff).
- correct a limit-check for
DECCRA in case the
target lies off-screen (report/testcase by Thomas Wolff).
- documentation errata (report by Thomas Wolff).
- reset flags including wraparound and reverse-wrap when
switching to VT52 mode, while noting that DEC's standard
documentation leaves that behavior undefined (report
by Thomas Wolff).
- ensure that italic font is turned off on hard/soft resets
(report by Martin Hostettler).
- improve responsiveness to X events while processing HTML or
SVG dumps (report by Martin Hostettler).
- replace logic in
wcwidth.c for detecting
double-width characters with binary-search table generated
using updated uniset (report by Robert Ross).
- add test-driver for
wcwidth.c to simplify
comparison with system's wcwidth.
- ensure that window-manager name comparisons work when
active-icon is enabled, since
CSI13t uses
the window-manager name (report by Glenn Golden, Arch
#62818).
- trim a stray “experimental” in one of the
comments about the tcap-query feature, which has been a
supported feature since 2008 (see patch
#238).
- update description of the “default” setting for
the
renderFont resource to match the behavior in
patch #261 (Debian #862042).
- account for
internalBorder in
useBorderClipping (report by Robert Ross).
- update table of unknown-width characters in wcwidth.c based
on Unicode 12.1.0 (prompted by discussion with Robert
Ross).
- improve description of DECSCL versus S7C1T and S8C1T in
ctlseqs.ms.
- improve consistency between
CSI3t and
CSI13t, accounting for differences
between some window managers' handling of EMWH extents (report
by Bram Moolenaar).
- fix a sign-extension when reporting offscreen window
position (report by Bram Moolenaar).
- updated FreeBSD test-package from recent /usr/ports
scripts.
- workaround in
run-tic.sh for HPUX, whose
mktemp prints the name of a temporary directory
without creating it.
- add left/right margin capabilities to terminfo, since the
default terminal emulation is VT420 (suggested by Thomas
Wolff).
- modify treatment of
reverseVideo for dynamic
colors to make text foreground/background consistent with the
cursor color (prompted by discussion with Ben Wong, lsix
#20).
- modify button-handling to make SGR button-release distinct
from button-press for button-codes starting with 8 (patch by
Mikulas Patocka).
- add aliases for the sgr push/pop controls to work around
language limitations of C# (request by Dan Thompson).
- correct a typo in
setDirectFG, which could
cause setting of indexed-color after a direct-color to be
ignored.
- add resource
useBorderClipping as an
alternative to useClipping (request by Robert
Ross).
- improve logic for displaying xterm's built-in line-drawing
characters vs missing glyphs, e.g., for U+2409 to U+240D (patch
by Robert Ross).
- add
vttests/sgrPushPop2.pl to illustrate how
selective pushes work, as well as to demonstrate push/pop of
the various color types supported by xterm.
- fix a special case in
XTPOPSGR where
direct-colors were not checked as a dependency of
indexed-colors, contrary to documentation.
- reduce buffer-flushes for
OSC 4 and
OSC 5 color-queries, as well as in the
queries for dynamic colors.
Note: this change makes the reply for
OSC 5 use the “5” in the
response; formerly it was mapped to ”4” after
adding the maximum number of colors.
- modify
vttests/query-color.pl to demonstrate
multiple queries in one request.
- update tables of combining and unknown-width characters in
wcwidth.c based on Unicode 12.0.0.
- modify response for
OSC 5 to be
consistent with documentation.
- add
vttests/query-dynamic.pl
- modify
vttests/query-color.pl to accept bold,
underline, etc., keywords to decide whether to use
OSC 5 rather than
OSC 4.
- modify cursor coloring to avoid a case where the cursor
matched the foreground color while the text was displayed in
reverse-video (report by Nuno Silva).
- fix an inconsistency in X10 mouse responses from patch #342 changes; the legacy protocol
supports only buttons 1-3.
- reduce the number of buffer-flushes for tcap-query
batches.
- modify
tcapquery.pl to demonstrate batch
queries with -q option.
- increase response-buffer size, and make it configurable as
limitResponse (prompted by discussion with Stephen
P Wall).
- modified configure script:
- check/workaround for non-POSIX manipulation of
predefined symbols
- check for updated X Toolkit, which uses
const.
- update config.guess, config.sub
- provide for secondary-selection, overlooked in patch #338 (report by Emile LeBlanc).
- documentation errata (patch by Larry Hynes).
- improve pointer-checks in
Tekproc.c
- revise solution for Debian #919475, to allow for
struct-notify events occurring as a side-effect of toggling
to/from full-screen mode.
- window's border-size was incorrectly added to position when
maximizing window (report by Gary Langshaw).
- 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.
- 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).
- limit mouse-button events to 11 buttons in the original
protocol, and 15 in the extended mouse-protocol (patch by
Martin Hostettler).
- correct calculation for buttons past 11 in
mouse-codes sample script (patch by Martin
Hostettler).
- disable a supplementary check added in patch #341 which interferes with using
fontconfig to select different-sized bitmap fonts (Arch
#61237).
- add options to
mouse-codes script to
demonstrate that the encoding used for mouse events limits
button numbers to 11.
- allow mouse button numbers up to 11 using an offset of 128
for button numbers 8-11 rather than the offset of 64 used for
wheel-mouse, etc., buttons 4-7 in patch
#338 (adapted from patch by Martin Hostettler).
- correct off-by-one right-margin checks for double-width
character adjustments in DECERA/DECFRA (patch by Martin
Hostettler).
- allocated size of selection buffer was not reset when
freeing the buffer in patch #338
(report/analysis by Stefan Assmann).
- modify the initial pattern passed to fontconfig to disallow
color bitmap fonts.
- improve error recovery for a case where fontconfig ignores
the requested pattern due to override in the user's font
configuration (report/testcase by Stefan Assmann).
- suppress a spurious warning about fontsets when
initializing menus for the toolbar configuration.
- fix some strict compiler warnings.
- improve checks for TrueType font, to help with the case of
color bitmap fonts, which fontconfig misrepresents (Arch Linux
#58706).
- modify
CF_GNU_SOURCE macro to treat
newlib as similar to glibc, fixing a problem
with the configure checks for pseudoterminals in Cygwin
overlooked in patch #334 updates for
configure-macros.
- ignore
$TERMINFO in the configure script if it
is set to a non-directory value.
- updated configure macros:
CF_WITH_PCRE2, modified to work with
Debian's (mis-numbered) pcre3 package.
CF_CC_ENV_FLAGS , report preprocessor
options in CFLAGS
CF_LD_RPATH_OPT , suppress check if
--disable-rpath option was given.
CF_XOPEN_SOURCE, add case for
midnightbsd
- update config.guess, config.sub
- add a check to ensure that the filename parameter passed to
XpmReadFileToPixmap is actually a file, since that
function does not check (report by Ben Nott).
- amend solution for Debian #758633 to ensure that replies
for bracketed paste are not sent while processing a selection
for
exec-formatted (Debian #913237).
- improve adjustments/clearing for double-width characters in
DECERA, DECFRA,
DECSERA.
- improve adjustments/clearing for double-width characters
when doing vertical scrolling within left/right margins (patch
by Martin Hostettler).
- modify wcwidth to encode a few spacing combining marks as
regular combining characters.
- change compiled-in default for
saveLines to
match the resource-file changed in patch
#192 (Debian #913815).
- change default
faceSize to 8.0, to simplify
switching back/forth between bitmap fonts and TrueType. This
was originally (mis)set to 14.0 in patch
#148.
- add fallback support in Xft configuration for missing
glyphs (prompted by discussion with Mike Burns).
- fix a problem with using direct-colors for the background
color when clearing/scrolling (report by Nicholas
Marriott).
- add a "sources" rule for the makefile's generated
source.
- add a short explanation in
ctlseqs.ms
discussing the differences in error-recovery for malformed
sequences versus unimplemented features, and amend one case for
consistency (prompted by discussion with Martin
Hostettler).
- adjusted ifdef's so that the paste64 configure option does
not automatically enable the readline-mouse configure
option.
- revert the change which prevented concurrent ownership of
different selection targets, and instead modify selection
storage so that different concurrent requests for different
selection targets will be stored/retrieved independently
(Debian #901249).
- remove a check which prevented returning button-codes past
the documented 4/5 for wheel mouse, and add a script
mouse-codes which makes a report showing the
various mouse codes for different button/modifier combinations
(discussion with Přemysl Janouch).
- improve display and checksum for DEC Special Graphics by
mapping 0x5f to 0.
- add a null-pointer check for table-ending in the
extended-boolean resource-handling (report by Felix von
Leitner).
- remove stray
]'s from INSTALL-file (Larry
Hynes).
- regenerated configure script (report by Sven Joachim).
- revise/improve fix for scrolling in margins
(report/analysis by Martin Hostettler):
- amend change to default-translations "select" subset to
ensure that specific key-press actions are listed before
generic key-press actions (reports by H Merijn Brand, Sven
Joachim).
- ensure that only one of PRIMARY and CLIPBOARD is owned by
xterm at a given time (Debian #901249).
- documentation fixes (report by Lars Krueger):
- document
SL and SR.
- document
DECRPTUI, change number of digits
to match VT420.
- revise
omitTranslation resource, e.g.,
splitting “default” into several more useful
categories.
- modify mask-logic to permit control- and
meta- modifiers to be used in mouse protocol.
- several fixes for parsing/state (report/testcases by Martin
Hostettler):
- remove an old/unimplemented entry for xterm-title from
state table.
- save/restore wrap-flag when scrolling, to fix an
inconsistency between jump-scrolling and
normal-scrolling.
- improve a special case of wrapping where the cursor
starts beyond the right-margin, and wraps at the terminal's
last-column before the settable-margins can take
effect.
- if origin mode is set, adjust a restored cursor column
relative to the left margin.
- when scrolling a line within left/right margins,
correct order of the fixups needed when a double-width
character crosses the margin boundary.
- review/fix a few cases where the parsing state was not
reset after completing a control sequence (prompted by report
by Martin Hostettler).
- disallow
XTCHECKSUM if the corresponding
window-ops "SetChecksum" is unset.
- add
print-vt-chars.pl script to illustrate the
NRCS and codepages supported by xterm.
- add
other-sgr.sh script to demonstrate the
non-VT100 video attributes implemented in patch #305, and added a summary of their
introduction in ECMA-48 to the control sequences document.
- add
tabs and -tabs keywords to
ttyModes resource to simplify workaround for
terminal drivers which are not aware of UTF-8 (FreeBSD
#229682).
- add VT5xx NRCS 7-bit Turkish and DEC Turkish.
- add VT5xx NRCS 7-bit Hebrew and DEC Hebrew.
- add VT5xx NRCS 7-bit Greek and DEC Greek.
- correct a few post-VT220 codepages to make them display
without setting the NRCS state.
- extend
vt100Graphics resource to include other
character-sets such as the VT500 codepages in UTF-8 mode.
- add some VT5xx codepages to help with the discussion of
96-character sets: ISO Greek Supplemental, ISO
Hebrew Supplemental, ISO Latin–5
Supplemental, and ISO Latin–Cyrillic.
- improve description of the VT300-controls for designating
character sets, and fix a typo which indicated that some were
used for 94-character sets (prompted by discussion with Lars
Krueger).
- add private control
XTCHECKSUM for modifying
checksumExtension.
- factor out xterm's
DECRQCRA checksum
extensions as a resource setting
checksumExtension.
- revise calculation of checksum for
DECRQCRA to
match DEC's terminals (using screenshots of vttest provided by
Markus Schmidt).
- restore a fix for memory-checksum setup of
DECCKSR from patch #315
incorrectly reverted in patch #334 as
part of fix for DECRQCRA.
- add
colorInnerBorder resource to make a change
from patch #334 configurable (reports
by H Merijn Brand, Gabriele Balducci).
- modify
Imakefile to reflect the fact that
NetBSD no longer has a working termcap emulation.
- add resource-setting
validShells which can be
used to augment the system's /etc/shell (prompted
by discussion with Paul Lampert).
- stifle some useless warnings from lintian in
test-packages.
- add the ncurses extension “RGB” to the
responses for the termcap-query feature.
- improved getopts-handling in sample scripts.
- fix some warnings from gcc8 and clang --analyze.
- update note about incorrect documentation for
DECRQSS to include VT525 (report by Markus
Schmidt).
- correct check for default-values in rectangular parsing; a
zero counts as a missing or default parameter (report/testcase
by Markus Schmidt).
- correct some ranges in the
ambiguous[] table
in wcwidth (adapted from patch by KUGA Tsutomu).
- fix a special case with faint video attribute incorrectly
combined with default color.
- add private control
XTREPORTSGR for reporting
video-attributes and color on a rectangle, and script
report-sgr.pl to demonstrate it.
- modify some of the markup in
ctlseqs.ms to
work around groff's reassignment of ASCII punctuation
characters as documented in groff_char(7).
- treat ECMA-48 SGR 6 the same as SGR 5.
- add private controls
XTPUSHSGR and
XTPOPSGR for saving/restoring the current
video-attributes on a stack (adapted from patch by Dan
Thompson).
- modify
DECRPM response for logging enable to
indicate its state even when enabling/disabling it is not
allowed.
- implement
DECSNLS
- implement
DECRSPS
- improve fill-color for double-buffer configuration, which
was sharing a graphic context with the cursor.
- fix a couple of cases where double-sized VT100 characters
were not clipped, seen in Joe Smith's VT100 torture
test.
- color the inner border using the same
borderColor as the outer border, rather than
filling with the VT100's default background.
- change encoding of “THANKS” to UTF-8.
- modify handling of
DECELR to recognize
MotionNotify events again, amending a check for
allowMouseOps which limited that to button-events
in patch #328 (Olaf Rogalsky).
- fix some screen-painting problems with left/right margins
when using insert-line or delete-line (report/testcase by
Martin Hostettler). also fix similar case with
index/reverse-index.
- several minor performance improvements using macros, e.g.,
inline checks for character width.
- add
DECSCPP and DECSLPP to
DECRQSS.
- implement
DECSCPP.
- implement
DECCIR and DECTABSR
presentation reports.
- modify checksum computation for
DECRQCRA to
treat uninitialized cells as blanks rather than nulls.
- drop custom-entity from HTML-dump, use UTF-8 for
(Debian #902381).
- modify display of non-BMP characters when using bitmap
fonts to show a null/empty box rather than the replacement
character which was used in cleanup changes for patch #233 (report by Christian
Weisgerber).
- when setting up clipping rectangle for Xft, allow for the
case where xterm is only displaying a combining character,
where the base was already written (report by Joshua
Crowgey).
- allow reset Xft's state if switching font-sizes when
double-buffering is used.
- fix repainting, e.g., on resize, when double-buffering is
used with Xft (patch by Daniel Colascione).
- correct some interchanged pairs of symbols in
unicode/keysym.map (Brad Town).
- improve configure macros CF_GCC_WARNINGS, CF_GNU_SOURCE,
CF_POSIX_C_SOURCE, CF_TRY_XOPEN_SOURCE, CF_XOPEN_SOURCE,
CF_X_ATHENA_CPPFLAGS.
- modify
logFile resource to interpret
“-” as the standard output (adapted
patch by Colum Paget).
- improve documentation of Tek4014 menu options; fix a case
where the Tek4014 window was not displayed before switching
modes.
- re-correct parameter for pid used for DECCKSR,
DECRQCSR (see xterm #315).
- hard/soft reset now resets the cursor-blinking state that
may have been set via escape sequences; the cursor-blinking
menu-entry feature is unmodified (report by Matthieu
Herrb).
- update config.guess, config.sub
- ensure that i18n is enabled if input-method is
enabled.
- modify logic for pre-edit to update spot-location while the
cursor is invisible (Kakoune #1940).
- change default icon to newer one, "mini.xterm".
- install a complete set of icons, to simplify post-install
customization.
- add resource
disallowedPasteControls to extend
filtering of control characters from pastes.
- add
print-on-error action-hook, and document
action-hooks for dump-html, dump-svg.
- provide action-hook for
print-immediate, which
was available only as a menu-item (report by Rastislav
Barlik).
- continue to improve notes in
ctlseqs.ms which
mention where various controls originated.
- add case to accept ECMA-48's bogus
SD, but
document the issue in ctlseqs.ms.
- add control sequence for loading XPM-icon file, using the
analogous control sequence from shelltool/dtterm.
- add
-report-icons option, to report on
XPM-icon and title-bar updates.
- correct a discrepancy between locator-reports for VT220 vs
VT330.
- add window-ops control sequences to complement existing
ones for reporting window-position and text-area size with
reports for text-area position and window-size.
- display vt52 graphics mode characters.
- correct case-statement for window-ops 10, overlooked since
some window managers equate vertical-maximize and
horizontal-maximize window hints with full-screen
maximize.
- add a
GetChecksum item to
disallowedWindowOps
- improve notes in
ctlseqs.ms which mention
where various controls originated.
- add control sequences for querying the X display size and
the character size, both in pixels to help eliminate some of
the constants in
esctest.
- fixes prompted by review of George Nachman's
esctest script:
- add a null-pointer check and a limit-check in
xtermCheckRect.
- correct limit-check for right-margin when processing
autowrapping if xterm is not built for
wide-characters.
- repair logic in
RIS to reset 132-column
mode when an escape sequence is used to enable
80/132-column switching.
- correct array-limit for EWMH working state.
- further improve limit-checks versus assert's (see
patch #315).
- correct order of check-margins and move-to-left margin
for
DL and IL.
- modify reverse-wrap to pay attention to top/bottom
margins as it has done for left/right margins since
patch #279.
- modify behavior of
DECFI and
DECBI to not index the screen at the
left/right edge of the display unless those happen to be
the left/right margins.
- add case for VT320 DSR response for keyboard
status.
- improve check for valid shell path using
getusershell and endusershell if
available, in case /etc/shells does not exist
(suggested by Rainer Orth).
- modified configure checks for groff and man2html, to use
the latter by default, but allowing mandoc as a partial
replacement for former.
- revisited the inconsistent copyright notices mentioned in
patch #165, and eliminate the issue as
mentioned in this copyright
discussion.
- fix typo in this change-log (report by Sven Joachim)
- update config.guess, config.sub
- add workaround for improper grayscale adjustments made in
FreeType library, exposed by changes to rounding in 2.8.1,
which shows up as a gap in line-drawing characters (Debian
#880407).
- improve a special case where a non-Unicode font's
line-drawing characters were not used, when specifying it via
the
utf8Fonts resource, e.g.,
-fs 15 \
-xrm '*VT100.font:12x24' \
-xrm '*VT100.boldFont:12x24' \
-xrm '*VT100.utf8Fonts.font: 12x24' \
-xrm '*VT100.utf8Fonts.boldFont: 12x24' \
- replace constant 10msec delay for next X event with new
resource
nextEventDelay, and reduce that to 1msec
to accommodate faster machines than used when
-hold was implemented in 1999 (Debian #877628).
- add
scroll-to action, which simplifies binding
a key to scroll to the beginning or end of the saved-lines
(Debian #880120).
- add building blocks for alternate screen and/or title-stack
features in the
terminfo file.
- improve calculations for cell-data size.
- change configure script to enable XHTML/SVG screen dumps by
default.
- change configure script to enable 256-colors by
default.
- update config.guess, config.sub
- change configure script option for
--with-man2html to use improved script by
default.
- add case for private mode 1044 in DECRQM, to report the
keepClipboard resource setting and corresponding menu
entry.
- fix an inconsistency between private mode 12 (the AT&T
610 cursor blink) and
DECSCUSR: the former relied
on having the cursorBlink resource set initially
to enable the escape sequence, while the latter does not.
- add private modes 13 and 14, as well as resource
cursorBlinkXOR to allow better control over the
cursor-blinking state (discussion with Bram Moolenaar).
- modify the html and svg screen dumps to support direct
color
- modify media copy (screen-printing) to support the same SGR
codes as
DECRQSS, including 88/256 indexed color
as well as direct color.
- improve options-parsing for query-status.pl script.
- modify parsing of
SGR direct-color control
making color space identitier optional. The
corresponding DECRQSS reply always returns an
empty (default) field for the identifier.
- add wide-attributes to
DECRQSS reply for
SGR.
- add private mode 1046 to help with scripting
applications.
- correct expression used for readline-flags in DECRQM; to
test the current flag rather than information stacked
within the same variable.
- correct typo in
ctlseqs.ms reference to
ISO-8613-6 (patch by Mike Frysinger).
- fix lintian warning for test-package.
- fix typo in
DECRQSS for SGR 48,
which printed the foreground value for colors past 15. Also use
colon delimiter for codes 38/48 in response (report by Paul
LeoNerd Evans).
- improve workaround for Debian #542434 by using the font's
maximum width when no ISO-8859-1 glyphs are provided (Debian
#879936).
- work around a special case of Xft's mismanagement
of its cached data by adding a check before the
-report-fonts option to ensure that it does not
use an XftPattern which may have been freed during
a call to XftFontOpenPattern.
- improve manual page description of
regex
option for onXClicks resources (report by
Lukas Mai).
- add
directColor resource.
- additional manpage macro cleanup (Branden Robinson, Debian
#880551).
- add optional support for direct-colors (adapted from patch
by anonymous “Nibby Nebbulous”).
- improve legacy/NRC character set mapping (patch by Thomas
Wolff), e.g.,
- enable alternate NRC set designators for French and
French Canadian, ‘9’ and ‘f’
respectively, as documented in ctlseqs. (‘9’ is
documented for VT510, ‘f’ is a Kermit
feature).
- correct the Unicode value in the DEC Technical
table to show capital delta.
- referring to
http://vt100.net/docs/vt220-rm/table2-3b.html
http://vt100.net/docs/vt320-uu/appendixe.html
add entries for the DEC Supplemental Graphics
table to display 0x28/0xa8 as ¤ and 0x5d/0xdd as
Ÿ.
- referring to
http://www.vt100.net/charsets/technical.html
alter the Unicode values used for 0x2b through 0x2c to
use curly braces to work with the
“middle” parts displayed with 0x2f and
0x30.
- modify the VT220 “Supplemental” table,
giving a hint that it was probably meant to be
“Supplemental Graphics” and is the same as
VT320's table.
- quiet a few font-warnings when a derived fontname cannot be
opened, overlooked in refactoring of font resources in patch #328 (initially reported on Cygwin
mailing list, with followup).
- correct error response for
DECRQSS broken in
cleanup of Coverity reports in patch
#288 (reports by Bram Moolenaar and IWAMOTO Kouichi).
- improve
DECRPM responses by returning mode
not recognized for modes which may not be settable due to
the selected decTerminalID resource (report by
IWAMOTO Kouichi).
- correct logic for
print-immediate action, and
enable corresponding menu entry (patch by Lauri
Tirkkonen).
- add configure option
--with-pcre2 (patch by
David Michael).
- fix a misspelled subsection title in ctlseqs.ms and add a
note regarding blink which was rendered as bold in X11R6.
Blinking text was implemented in Patch
#60.
- fix typos in
xterm.man (patches by Sven
Joachim, Larry Hynes).
- fix typography in
xterm.man (patch by Bjarni
Ingi Gislason, Debian #869248).
- fix typo in
INSTALL (Larry Hynes).
- add
xterm-direct terminal description based on
changes introduced in patch #277, and
relying upon ncurses RGB
extension.
- modify
xterm-new terminal description to use
ECMA-48 REP, reflecting its use in xterm since
patch #32 (1996).
- clarify comment in ctlseqs.ms regarding blink: it has been
part of xterm since patch #60
(1998).
- update ftp URLs in documentation.
- updates for ReGIS (Ross Combs):
- remove redundant text command error check which broke
T(B) and T(E).
- retain the loading alphabet number across multiple
“L” commands.
- add
S(T) delay handler.
- fix some color handling error messages.
- add stubbed-out macrograph handling.
- use
fragment_remaining() and
fragment_consumed() instead of manually
checking position / length in various places.
- rename some local variables in string / extent / option
parsing
- wrap some long lines.
- move macrograph command handling out of the
top-level.
- add a summary of the italic fonts loaded to
-report-fonts option.
- modify the font-lookup for italics to allow for
“
-i-” if no match is found with slant
“-o-” (prompted by patch by Ben
Wong).
- change default values for
mkSamplePass and
mkSampleSize to reflect generally-improved locale
support in various operating systems (FreeBSD #219800).
- modify
wcwidth.c to return -1 for non-Unicode
values, and adjust a couple of blocks to better match
assumptions about ambiguous-width characters in other
implementations. Also modify wcwidth.c to support
configurable soft-hyphen, so there is no drawback to using this
version rather than a system wcwidth.
- amend change made in patch #328
for cursor-visibility to handle case where an application is
updating the reverse-video state (FreeBSD #219800).
- update tables of combining and ambiguous-width characters
in wcwidth.c based on Unicode 10.0.0.
- build-fix for
--enable-sixel-graphics without
--enable-regis-graphics (reports by Sven Joachim,
FreeBSD #219945).
- add control sequences for reading the Sixel and ReGIS
graphics sizes (suggested by Ben Wong).
- add a workaround for
wcwidth returning -1 for
characters which should have been printable (FreeBSD
#219800).
- fix a bug in font initialization from patch #328 (FreeBSD #219800).
- fix a special case in
HideCursor which
assigned a bold font to the slot used for normal font in
changes for italics in patch #307
(Debian #858304).
- updates for ReGIS (Ross Combs):
- Strings specified with no command are used as
"comments". Print these in the log when tracing.
- Catch attempts to use "alternate display" mode (AKA
"blink") from the GIGI, but do not implement it.
- The
T(M) command should only multiply the
height by 10, not 20.
- Make the
S(E) command reset more state
than just the screen contents.
- Remove two rotation variables which were only being
printed.
- Numerous minor fixes and comment updates in the
R command.
- Unknown
R command option names trigger an
empty response.
- Fix the output position after printing rotated text (it
was missing the the sign before).
- Fix the position change with pixelvectors and rotated
text (the rotation transform was not being applied).
- Update the TODO list and remove a verification
FIXME (slanted text positioning is correct as
is).
- Emulate the approximately 1.4x enlargement for text
which isn't rotated at right angles.
- Only update the color planes specified in the plane
mask (the
W command's F
option).
- fix a bug introduced by the changes to font information in
patch #328. When processing the
"checkfont" option of the
locale resource, the
program referred to the request data, to an array
which was only allocated in the new/result widget
(report by H Merijn Brand).
- fix a missing assignment initialization to make the
utf8 resource control whether escape sequences to
enable/disable UTF-8 mode are allowed.
- revise parser for
charClass resource, making
these improvements:
- accept octal and hexadecimal values
- allow embedded whitespace
- allow the class after colon to be optional, e.g., to
clear class settings for a range of characters.
- add command-line option
-report-charclass.
- fix most lintian warnings about test-package
- add
eraseSavedLines resource.
- document
DECSED 3 in
ctlseqs.ms (report by Ben Longmans).
- improve integration between configure-events and updates
for reported screensize, in particular when switching between
vt100 and tek4014 modes.
- modify selection-highlighting of reverse-video text to keep
that distinct, e.g., by reversing the selection foreground and
background colors as one would expect. This fixes a "useless"
case in the description of
highlightColorMode.
- improve fix for Debian #759734, addressing a case where
non-colored cursor would be invisible against reverse-video
(see patch #311).
- updates for ReGIS (Ross Combs):
- the "H" option of the "T" command should multiply by
10, not 20.
- display unknown glyphs as a solid block.
- given a succession of text-direction options, use the
last.
- fix the direction of ReGIS slanted text so that
negative values produce oblique output .
- fix the ReGIS text direction option to only rotate
characters when no following size option is used.
- update terminfo to better match corresponding entries in
ncurses, e.g.,
u8 pattern to match the VT220,
VT420, etc., primary responses, as well as adding
smxx and rmxx.
- fixes from Jörg Sommer:
- corrected a trace-message regarding maximum
graphics-size; it used the similar ReGIS maximum size which
might not be configured.
- in
do_select_regex, clear selection if
there is no match. If the regex does not match anything
around the cursor, the selection returned must be empty,
otherwise the whole line is treated as a match. This way
the command defined by exec-selectable will
not be executed if there is no match.
- modify limit in
do_select_regex to include
the character at the cursor in the match, making it easier
to type something and then hit the key to trigger
exec-selectable.
- If
exec-selectable or
insert-selection is triggered by a mouse
button click, the position of the mouse pointer should be
used. This makes it easier to address any position on the
window and it makes it possible to use the mouse, e.g., for
applications such as mutt where you cannot move the
cursor.
- modify
DECRC to save/restore xterm's
last-column flag used to control wrapping behavior rather than
manipulating DECAWM (report/analysis by Mattias
Engdegård).
- add configure option
--enable-terminfo-env to
use the value set by --with-own-terminfo for the
$TERMINFO environment variable. That variable was
set automatically for HPUX, but would be useful in other
systems, e.g., for Solaris (request by Jeff Wieland).
- fix a race condition when setting up a signal handler to
timeout if opening
/dev/tty hangs (patch by Tobias
Stoeckmann).
- review/cleanup resources which were not in the manual page
(report by Maxwell Anselm):
- add manual page description as needed.
- drop resource name for
menuBar, as
unnecessary.
- modify fallback numeric value for
regisScreenSize resource to match that for
maxGraphicSize.
- updated configure macros
CF_ADD_CFLAGS,
CF_CC_ENV_FLAGS, CF_GNU_SOURCE,
CF_MATH_LIB, and CF_XOPEN_SOURCE from
other program-changes.
- update config.guess, config.sub
- change “maximum screensize” assumed by
resize to 9999x9999, to accommodate people using
the Unreadable font.
- drop
Utility from default value of
--with-desktop-category (Debian #780176).
- widen the configure script pattern used for finding related
".desktop" files, including “Terminal”
- several minor improvements to font utility functions:
- provide for later modification to implement font-sets
by parsing the font resources as comma-separated
lists.
- parse
-fn and -fa similarly,
using “x:” and “xft:” prefixes for
font name/family strings to distinguish between XLFD and
Xft font specifications.
- use loops to iterate over font classes
- use getters/setters for font data to allow for
on-demand lookups.
- make the debugging trace for missing glyph less verbose
since that interferes with the
-report-fonts
option.
- refactor
xtermLoadFont to make it clearer
how some fonts are derived from others, e.g., bold,
wide.
- make the triggering and suppressing of font-warnings
more consistent by storing the last state in the
widget.
- reduce font-warnings by checking for repeated
warnings.
- add
vttests/query-status.pl
- add
vttests/closest-rgb
- add special case for displaying soft-hyphen if it happens
to fall at the right margin, and omitting similar case such as
the BIDI markers, where a zero-width character is neither a
control character nor a combining character (Debian
#844325).
- modify logic for
OSC 52, manipulate
selection data, to update the selection-time to include
the latest X events. This fixes some cases where the selection
was invalid, e.g., after an event due to focus-follows-mouse
(report/testcase by Stephane Chauveau).
- revise macro
CastMallocN as new macro
TextAlloc to make explicit use of
sizeof(char) (prompted by patch by Cade
Foster).
- add “Mouse Ops” menu entry and related
resources to allow runtime disabling/enabling of the mouse
protocol escape sequences (discussion with Bob Proulx).
- improve discussion of mouse actions versus protocol in the
manual (discussion with Bob Proulx).
- improve discussion of environment variables in the manual,
pointing out where some features (such as termcap and the
System5
COLUMNS and LINES variables)
are used rarely, mainly to support legacy applications.
- add examples of
translations resource for
select/paste, and for font-size changes to the manual.
- minor reordering of some entries in
ctlseqs.ms
for consistency (report by Arran Ubels).
- add
-s option to 256colors2.pl
and 88colors2.pl, to demonstrate modifying the
“system” colors 0–15.
- omit
XFT_SPACING property from call to
XftPatternBuild, to work around a bug in
fontconfig for handling Google Go fonts, whose names
sort in an order not expected by fontconfig, causing
the request for a monospaced font to return italics,
e.g.,
$ fc-match 'Go Mono:spacing=monospace'
Go-Mono-Italic.ttf: "Go Mono" "Italic"
(report by Giacomo Boffi on Stackoverflow).
- modify
minstall.in to improve a workaround
added to the manual page in patch #182
to avoid having the C preprocessor used in the imake
configuration strip out the comments in the character classes
section (reports by Ted Unangst, Anthony J Bentley).
- 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
- updated appdata file (report by Richard Hughes).
- improve discussion of the different terminal emulations
provided by xterm in the manual page.
- add examples of setting the icon title with/without the
window title in the manual (Debian #833984).
- correct a limit-check when using a numeric value for
extended Booleans e.g.,
*fullscreen:3 rather than
a name such as *fullscreen:never.
- add action
allow-bold-fonts
- improved formatting fixes for manual page, using script to
find mismatches in spelling of resources, actions and menu
entries.
- improve documentation of logging resources.
- fix a special case of flickering cursor by adding
GraphicsExpose to the list of event types that
should not trigger making the mouse cursor visible (patch by
Joe Peterson).
- correct initialization of line-drawing in VT52-mode,
overlooked in changes for patch #297
(report/patch by Ben Wiley Sittler).
- minor clarification of form-feed versus line-feed in
ctlseqs.ms (suggested by David Kemper).
- amend fix for Debian #738794 to restore a check for missing
characters which are not combining characters. Also
fill in a corresponding special case for TrueType fonts (Debian
#827905).
- improve manual page discussion of function keys (discussion
with Ross Combs).
- further improve fix for Debian #545220 in patch #248, to avoid conflict with combining
characters (Debian #738794).
- improve
-hold option to avoid 100% CPU usage
with NetBSD after closing the shell, which makes subsequent
checks for X input events fail (prompted by patch by Pierre
Pronchery).
- review
#ifdef statements, listed those which
do not have a configure option in
xtermcfg.hin.
- fixed one case where the menu sensistivity for
Print-All Immediately and Print-All on Error
was not properly ifdef'd.
- modify terminfo entries for 16-, 88- and 256-color to reset
palette with
rs1 capability.
- accept
legacy value of -kt as
synonym for the oldXtermFKeys resource, and extend
the full-reset logic to use the keyboard type set via
-kt.
- modify
ioctl calls for I_PUSH to
first check if the module has been added, using
I_FIND. This is needed for newer Solaris libraries
with c11 support (adapted from patch by Alan Coopersmith).
- add check in
getXtermCombining to ensure that
combining characters were allocated (report by Tor
Andersson).
- add configure option
--without-xinerama to
allow suppressing the extension (Gentoo #580936).
- update keysym2ucs.c based on Unicode 9.0
- fixed most
cppcheck --enable=all warnings,
including for style (prompted by report by David Binderman).
There was one bug-fix:
- RGB least-squares computation in
allocateClosestRGB used only one ordinate
- add
cppcheck to lint-like programs in
configure script and makefile.
- fix some const correctness issues and point out an array
lifetime issue (Ross Combs).
- updates for SIXEL and ReGIS (Ross Combs):
- Sixel drawing should still happen after an error if
some commands have been processed
- Tiny steps toward reporting ReGIS input
- updated configure macro
CF_LD_RPATH_OPT from
ncurses changes.
- provide alternate fix for Juha Nurmela's report by turning
on POSIX signals if
_POSIX_C_SOURCE is at least
one. This is done to improve the behavior if a direct child
process receives a STOP signal.
- revert change to
CF_POSIX_C_SOURCE from
patch #323 (reports by Ashish Shukla,
Christian Weisgerber).
- updated appdata and desktop files to add keywords (report
by Richard Hughes).
- modify configure macro
CF_POSIX_C_SOURCE to
accommodate some systems, e.g., FreeBSD, which have separated
their implementation specific preprocessor symbols from the
POSIX ones, requiring both to be defined (report by Juha
Nurmela).
- change the directory to the current working dir of the
child process in exec-formatted and exec-selectable actions
(patch by Alexander Pohoyda).
- correct typo in xterm.man (patch by Larry Hynes).
- correct typo in ctlseqs.ms (report by Shriramana
Sharma).
- add feature to support XHTML and SVG screen dumps (patch by
Jens Schweikhardt).
- correct response to DECRQSS when terminal id is less than
400 (patch by Iwamoto Kouichi).
- fix regression due to incorrect fix for compiler warning
when allocating storage for
/etc/shells (reports
by Ashish Shukla, Debian #809646).
- add resource
keepClipboard, escape sequence
and action keep-clipboard.
- add optional feature to capture text copied to clipboard at
the time of copying rather than at the time the clipboard
contents are requested for pasting (patch by Milan
Mehner).
- improve a special case where the
-e option was
used to pass a single-quoted command via luit, by
wrapping it in a “sh -c” (report by Keith
Hedger).
- minor fix for type-cleanliness when allocating storage for
/etc/shells (Tobias Stoeckmann).
- fix a typo in manual page (Dan Church).
- fix minor file-descriptor leak; after calling
openpty, the slave's file descriptor is not needed
(report by Juha Nurmela).
- editorial change to ctlseqs.ms (report by David
Gomboc).
- minor updates for autoconf macros.
- update config.guess, config.sub
- correct documentation for
%t format (report by
Martin Tournoij).
- add
%R for consistency to
exec-formatted() and
insert-formatted() actions.
- add
%r format to exec-formatted()
and insert-formatted() actions (patch by Martin
Tournoij).
- Amend fix for Debian #7