Patch #367 - 2021/03/26
-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).
Patch #366 - 2021/02/10
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).
Patch #365 - 2021/02/03
-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).
Patch #364 - 2021/02/02
-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.
Patch #363 - 2020/12/26
-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.
Patch #362 - 2020/11/11
-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.
Patch #361 - 2020/10/14
-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-
Patch #360 - 2020/09/20
-mention decGraphicsID in ctlseqs.ms (suggested by Thomas Wolff).
-modify pixel-coordinate mouse reponse 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).
Patch #359 - 2020/08/17
-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
Note: sixel-graphics should now be enabled by default.
Hence, I've removed the corresponding CONFIGURE_ARGS.
If you experience any issues please report and I'll add it back if needed.
Patch #358 - 2020/07/12
-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)
Patch #357 - 2020/07/05
-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.
Patch #356 - 2020/05/02
-revise fix for Debian #954730, which interfered with wheel mouse events
(report by Gabriele Balducci).
Patch #355 - 2020/05/01
-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).
Patch #354 - 2020/04/26
-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.
Patch #353 - 2020/02/01
-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).
Patch #352 - 2020/01/16
-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
(pon with Jörg Breitbart).
-improve workaround from patch #287 fo postponing the extra request for minimizing the window to the key by itself can generate button-events
(report/analysis by Maal page (patch by Larry Hynes).
-add definitions in xterm_io.h updated autoconf macros
-update config.guess
Patch #351 - 2019-add -report-icons to help-message.
-improved autoconf macros:
update config.guess, config.sub
-correct status in XTGETXRES resize from the struct-notify event handler to prevent
-recursion(report by Stefan Assmann).
-improve the note on the xterm-rep not ignore zero'd/blank cells.
-align terminfo file with ncurs-add vttests/modify-keys.pl script to illustrate the modifyOtheines resource default value
(Branden Robinson, Debian #913815).n is complete.
-add a control sequence which, like tcap-query, in the imake configuration as they
would be by default via the Sven Joachim).
-build-fix for the case when configure --enableSven Joachim).
-fix a few minor bugs found with Coverity.
-add the --disable-doublechars configure option (report by Brian Lin-document window properties in the manual page.
-improve title-le-string encoded in UTF-8, check if that is the case, and if iencoding (FreeBSD #240393).
-Make sameName resource work for thn UTF-8 is active.
-reorganize text-drawing to make it possiblen switching from 132 to 80 columns.
-improve font-warning messafont-warning messages, to accommodate broken X configurations.
ont (Redhat #1679790). That relies upon the :unscaled
property configurations.
-set a graphic-context for border when double-bg when switching to reverse-video.
-build-fix for --disable-zic(report by Scott Bertilson).
Patch #348 - 2019/07/22
-update wos types, to improve compiler-warnings.
-ensure that when resetgins), and DECSTR.
-corrected order of reset/move when setting ing margins, rather than only when the mode is changed
(report fering configuration.
-correct logic for filtering scrollbar-updescription of 1006 and 1005 mouse modes, to avoid implying thawere xterm extensions
rather than VT100/VT220 terminal featuresnse (suggested by Thomas Wolff).
-fix a typo, improve wording iolff).
-fix off-by-one in VT52 graphics character mapping (patcarnings when building with imake.
-update config.sub
Patch #34esource to control the maximum rate of screen updates
(report bed by report by Martin Hostettler).
-correct off-by-one in paraestcase by Thomas Wolff).
-add resource buffered to allow enablthat the needSwap flag is set after drawing TrueType text
-corr video attributes. The attribute to use is
in the left-half (reomas Wolff).
-reset flags including wraparound and reverse-wrap(report by Thomas Wolff).
-ensure that italic font is turned ofth
binary-search table generated using updated uniset (report b name comparisons work when active-icon is enabled,
since CSI13e since 2008 (see patch #238).
Patch #346 - 2019/05/27
.update#862042).
-account for internalBorder in useBorderClipping (repcharacters in wcwidth.c based on Unicode 12.1.0
(prompted by diort by Bram Moolenaar).
-fix a sign-extension when reporting of run-tic.sh for HPUX, whose mktemp prints the name of a temporalation is VT420 (suggested by Thomas Wolff).
-modify treatment discussion
with Ben Wong, lsix #20).
-modify button-handling tor after
a direct-color to be ignored.
-add resource useBorderClRobert Ross).
-improve logic for displaying xterm's built-in li, as well as to
demonstrate push/pop of the various color typesof indexed-colors, contrary to documentation.
-reduce buffer-fl for OSC 5 use the 5 in the response; formerly
it was mapped to request.
-update tables of combining and unknown-width charact-add vttests/query-dynamic.pl
-modify vttests/query-color.pl towhether to use OSC 5 rather than OSC 4.
-modify cursor coloringmouse responses from patch #342 changes; the legacy
protocol suy.pl to demonstrate batch queries with -q option.
-increase reslation of predefined symbols
-check for updated X Toolkit, whicrt by Emile LeBlanc).
-documentation errata (patch by Larry Hynfull-screen mode.
-window's border-size was incorrectly added t
Provided by Thomas Dickey in private email.
Patch #344 - 2019/02/12
* 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.
Patch #330 - 2017/06/20
• 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).
Patch #329 - 2017/06/12
* 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.
Patch #328 - 2017/06/01
* 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).
Patch #327 - 2016/10/07
* add a check in the function which handles end-of-line wrapping to
ensure that C1 controls are allocated one column when
allowC1Printable is set (Debian #738794).
* use consistent error-checking after strtol calls, fixes a case
where a query with OSC 6 did not ensure there was a valid color
number (report by Alex Smith).
* add -baudrate option, for testing ncurses.
* always generate the CASE_xxx symbols in VTparse.h and Tekparse.h,
as part of a change to improve debug-logging. This makes the build
always depend upon awk.
* modify allowC1Printable to disallow codes 160-254 as being
equivalent to codes 32-126 when parsing escape sequences (Debian
#839220).
* amend fix from patch #326 for TrueType fonts to exclude the hidden
character used for double-width cells (report by Grady Martin).
* fix a typo in ctlseqs.ms
Patch #326 - 2016/09/25
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).
Patch #325 - 2016/06/05
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.
updates for SIXEL and ReGIS (Ross Combs):
Fixes some const correctness issues and points out an array lifetime issue
Sixel drawing should still happen after an error if some commands have been processed
Tiny steps toward reporting ReGIS input
Without this patch, this happens every time the child exits. To reproduce,
simply run "xterm -hold -e true".
Submitted upstream on March 29th 2016.
Bumps PKGREVISION.
Patch #324 - 2016/03/10
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).
Patch #323 - 2016/03/07
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).
Patch #322 - 2016/01/02
fix regression due to incorrect fix for compiler warning when allocating storage for /etc/shells (reports by Ashish Shukla, Debian #809646).
Patch #321 - 2015/12/31
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
Problems found locating distfiles:
Package modular-xorg-server: missing distfile xorg-server-1.17.4.tar.bz2
Package py-qt4: missing distfile PyQt-mac-gpl-4.11.1.tar.gz
Package xservers: missing distfile xservers-3.3.6.5.tar.bz2
Package xview-clients: missing distfile xview3.2p1-X11R6.tar.gz
Package xview-lib: missing distfile xview3.2p1-X11R6.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Patch #320 - 2015/08/28
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 #794201 (report forwarded from Christian
Jachmann by Emanuel Haupt, Debian #797008).
Patch #319 - 2015/08/19
add a section to ctlseqs.ms discussing control sequences and
ECMA-48, to explain why C1 controls do not occur in the decoded
characters from UTF-8 byte streams (prompted by discussion with
Poul-Henning Kamp).
modify check for cursor-theme from patch #301 to also check if
the resource Xcursor.theme is set to a nonempty value before
fallback to xterm's own dummy theme (request by Robert Kloefkorn).
explain in ctlseqs.ms that some keys which normally send
SS3-prefixes are changed to CSI-prefixes if key-modifiers are
passed as parameters (report by George Nachman).
correct double-free of font information when multiple problems
are found, particularly for the wide fonts loaded via the -wc
option (report/testcase by Nelson Beebe).
make configure option --enable-builtin-xpms actually work
(report by William Bulley).
correct combination of -ls and -e options for utempter
configuration (Debian #794201).
NetBSD build-fix for OPT_RENDERFONT versus OPT_SHIFT_FONTS
(patch by Matthew Green, forwarded by Thomas Klausner).
fix a few minor bugs found with Coverity.
update pixelvector handling (patch by Ross Combs):
split pixel-based and coord-based functions with common
parts factored out to a "raw" function
add a "step" variant which loads a single PV digit
make the graphic dirty upon resize or clear, fixing some missing
refreshes (patch by Ross Combs)
fixes scrolling to use user coordinates and move in the correct
direction (patch by Ross Combs)
several fixes/improvements for ReGIS whitespace and page-handling
(patch by Ross Combs).
Patch #318 - 2015/04/12
* rename new(er) configure option --enable-initial-erase to
--enable-pty-erase, since that conflicted with an existing option
(report by Jens Schweikhardt).
* fix cut/paste error in --with-builtin-xpms configure option
(reports by Jens Schweikhardt, Ross Combs).
* fix minor formatting issue in xterm manual (report by Jens
Schweikhardt).
* eliminate unnecessary "#(vi" markers in autoconf macros by using
"(" to begin case-statement cases (suggested by Jens Schweikhardt).
* minor fixes to improve const usage (Ross Combs).
Patch #317 - 2015/03/27
adapt example for exec-formatted from
Lukas Zapletal's webpage to manual (Debian
#780008).
add a short usage section to the xterm manual, including
notes on setting the window title (Debian #742477).
revise a change made to ICH in patch #314 to address limit-checks
(reports/testcases by Zoltán Keri and Joe
Peterson, also reported by Christian Weisgerber).
Patch #316 - 2015/03/07
revert change to make DCH honor top/bottom scrolling margins.
For the record, both the VT420 and VT520 reference manuals
incorrectly state that "DCH has no effect outside the scrolling
margins."
fix regression in DCH introduced in adjustment for limit-check
in patch #315 (report/testcase by Zoltan Keri, also reported
by Christian Weisgerber).
correct default value for configure option --enable-initial-erase;
it should be "False", but in patch #315 it was "Maybe", which
differed from default set in patch #192.
Patch #315 - 2015/03/02
change default for --enable-narrowproto for Cygwin to "no" to
better match contemporary configurations (report by Jens
Schweikhardt, prompted by <a href=
"http://stackoverflow.com/questions/28137618/what-is-a-narrow-prototype-and-why-would-i-need-one/28334574?noredirect=1#comment45022128_28334574">
discussion).
provide OSC 106 as an alternative to OSC 6, avoiding conflict
with one of Terminal.app's undocumented escape sequences (report
by Egmont Koblinger).
fix an off-by-one in comparison when autowrap and left/right
margins are combined (report by George Nachman).
modify DECBI and DECFI to work outside the left/right margins,
since the vague VT520 reference manual could support that
interpretation (suggested by George Nachman).
correct response for DECSCUSR in DECRQSS (report/analysis by
George Nachman).
add DECSLRM to list for DECRQSS in ctlseqs.ms (report by George
Nachman).
improve limit-checks versus assert's in the debugging version
(reports by George Nachman).
correct a problem with multiple writes to the right-margin when
autowrap is turned off (report by George Nachman, also reported
in Gnome #744819 by Ulf Magnusson).
modify DCH to honor top/bottom and left/right margins (report
by George Nachman).
correct off-by-one in comparison so that DL honors left/right
margins (report by George Nachman).
correct logic of DECSCL, which always set 8-bit controls as a
side-effect (report by George Nachman).
correct loop limit for DECSED 1, when DECSCA is enabled (report
by George Nachman).
fix a entry in csi_table for "$", needed for CSI [ $ z (report
by George Nachman).
remove restriction from patch #279 changes on DECIC and DECDC
to left-right mode (report by George Nachman).
correct PID value returned in response to DECRQCRA (report/analysis
by George Nachman).
fix an ifdef'ing problem, where --disable-dec-locator would
turn off logic needed for DECIC and DECDC (report by George
Nachman).
correct order of parameters in report for CSI 1 9 t, which
gives the screensize in characters (report by George Nachman).
add null pointer checks for a case in DECCRA where part of the
target rectangle lies outside the screen limits (report by
George Nachman).
remove extra "6" for selective erase from DA1 response (report
by George Nachman).
support Xinerama screen specification in geometry parsing (patch
by Nicolas George).
add configure option --enable-initial-erase to set ptyInitialErase
consistently with manpage, as well as adding a table in manpage
to clarify the relationship between the resources related to
the backarrow key (Debian #775952).
add configure --enable-builtin-xpms to simplify compiling-in
the icons introduced in <a href= "#xterm_284">patch #284
(prompted by discussion with William Bulley).
fix/improve autoconf macros:
CF_WITH_APP_DEFAULTS, add paths for OSX
CF_WITH_MAN2HTML, configure option "--with-man2html" provides
"man2html" as alternative to groff's man/html conversion
fix some minor issues in manpage (Jens Schweikhardt).
Patch #314 - 2014/12/28
fix a minor bug in the termcap-specific version of resize when
the lines or columns values are at the very end of an incomplete
termcap string (prompted by coverity report).
improve paste64 feature (report by Olaf Rogalsky)
add configure option --with-man2html to allow an alternative
to groff's man/html conversion.
review and modify resource-settings which can be set via control
sequences, etc.
change passedPty from fixed-length to allocated to ensure that
it is long enough to hold the -S option value (report by Ben
Longbons).
improve ReGIS graphics initialization (Ross Combs):
Patch #311 - 2014/09/18
* mention xclip in manpage as an alternative workaround for copying
clipboard data, noting that selectToClipboard (from patch #209) is
the recommended approach (Debian #639094).
* correct comparison in do_select_regex() of working position against
starting column.
* correct initialization for regular-expression feature of
exec-selectable and insert-selectable actions (Debian #758633).
* modify logic for exec-formatted and insert-formatted actions to
ensure that the formatting occurs just after the selection is
received (Debian #758633).
* account for state of reverse-video in special case of cursor
coloring (Debian #759734).
* fix a sign-extension problem in ReGIS support, as well as
correcting a case where ignored-characters were not really ignored
(patch by Ross Combs).
* Enable the "Escape Sequence" menu entry when an OSC 50 is received.
Also disable it if the escape sequence specifies no font (Debian
#760208).
* improve fix for the fontsel menu entry from patch #304: because the
recovery used the "current font", it would fail if one first
selected a valid font, then an invalid font (Debian #760207).
* correct an off-by-one in limit-check for ScrnLimitChar function
(report by Egmont Koblinger).
* update package/freebsd files based on xterm #309 port.
* adapt changes from Minux3.2 which ported xterm #197, to allow
building on that platform both using imake as well as using the
configure script.
* update precompose.c based on Unicode 7.0
* build-fix for --with-Xaw3dxft option (report by Emanuel Haupt).
Patch #309 - 2014/07/13
* modify configure script to work around debris left by XQuartz
upgrades.
* modify test-package scripts to enable ReGIS graphics.
* improvements/additions to ReGIS graphics, e.g., drawing text (Ross
Comb).
* add --with-Xaw3dxft, to link with Xaw 3d xft library (Stephen P
Wall).
* amend reset for cursor-shape to take into account cursorUnderline
resource (report by Christian Weisgerber).
* update config.guess, config.sub
This release reviewed/improved features reset on "hard reset" and
implemented four SGRs, for completeness. There were several other
minor fixes/improvements.
303:
This release fixes a regression in validation against /etc/shells
and adds a check for paths which match /etc/shells via a symbolic
link.
302:
This release fixes several minor bugs and adds a new command-line
option to show colors as they are allocated.
300: This release fixed a problem when running in XFCE4.
299: This release fixed an error in line drawing.
298: This release fixes several minor bugs and adds a new option
"-report-fonts" to show which fonts are actually loaded.
This release revises and extends the DEC NRCS (national replacement
character set) feature, adding several character sets and making
it usable in a UTF-8 environment. There are other fixes for a few
control sequences, improvements in font handling, and improvements
to configurability.