XTerm Changelog

What's new in XTerm 352

Jan 20, 2020
  • adjust fontsize data to handle a minor inconsistency from recent Xft versions (Debian #880407, adapted from patch by Vincent Lefevre).
  • 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

New in XTerm 350 (Nov 6, 2019)

  • 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).

New in XTerm 349 (Sep 27, 2019)

  • 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).

New in XTerm 348 (Jul 24, 2019)

  • 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

New in XTerm 346 (May 28, 2019)

  • 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).

New in XTerm 345 (May 15, 2019)

  • 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).

New in XTerm 344 (Feb 13, 2019)

  • 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.

New in XTerm 343 (Jan 15, 2019)

  • 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).

New in XTerm 342 (Jan 8, 2019)

  • 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).

New in XTerm 333 (May 4, 2018)

  • 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.

New in XTerm 324 (Mar 17, 2016)

  • 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).

New in XTerm 320 (Aug 29, 2015)

  • 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).

New in XTerm 319 (Aug 23, 2015)

  • 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).

New in XTerm 318 (Apr 13, 2015)

  • 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).

New in XTerm 317 (Mar 29, 2015)

  • adapt example for exec-formatted from Lukáš 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 Kéri and Joe Peterson, also reported by Christian Weisgerber).

New in XTerm 314 (Dec 31, 2014)

  • 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)
  • fix “p;” command in paste64.pl example.
  • modify _OwnSelection to allow the paste64 control to cause primary/clipboard selections to be disowned and cleared.
  • omit an extra "=" used in padding, to make the base64 response a multiple of four characters.
  • modify _ConvertSelectionHelper to not stop converting on embedded nulls in the primary or clipboard selection. That makes the behavior consistent with cut-buffers. Nulls are not passed on to the application because they are used for separators in the X library calls that convert XTextProperty values.
  • 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:
  • add OSC 6, to enable/disable colors set via OSC 5, without changing the color assignments (prompted by patch by Ingo Brückl).
  • add command-line option -itc for italics.
  • add colorIT and colorITMode for italics, like colorBD, etc.
  • guard allowPasteControls against modification by editres.
  • 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):
  • add a new string resource to set the default ReGIS font.
  • fix a caching problem where the font name wasn't taken into consideration when looking up cached metrics.
  • enables use of fractional values in coordinates (which in turn allows setting the coordinates to something like [0,1][1,0])
  • doubles the minimum ReGIS graphic to 200x200
  • set the default ReGIS image size to "auto"
  • fix some swapped width/height parameters in TRACE messages
  • add support for scaling and mirrored coordinate systems to the screen address command
  • sets a minimum ReGIS graphics size of 100x100 -- smaller address ranges will be scaled up
  • reset the image if either the width or height is zero (which should happen together or not at all, but switching the logic gets rid of some parentheses)
  • adds support for alternate screen coordinates (just offsets, not inverted coordinates or scaling)
  • keeps the graphics state across ReGIS calls unless P1 or P3 entry codes are used
  • changes loops to continue after parsing whitespace to allow trailing whitespace
  • fixes some incorrect character casts

New in XTerm 313 (Nov 29, 2014)

  • add regisScreenSize resource setting to allow custom screensizes for ReGIS graphics (prompted by discussion with Scott Froebe).
  • fix some minor issues in manpage (Jens Schweikhardt).
  • improve ReGIS font-handling (Ross Combs):
  • remove "random junk" generation for unknown characters
  • add xterm extension to load user glyphs for alphabet 0
  • add xterm extension to specify loading an alphabet from a font by name
  • fix bug with use of empty alphabet slots which caused slot 0 to be clobbered
  • update/clarify ReGIS-related comments
  • add DECprint extension for printing/clearing the screen (only clearing is performed)
  • improve ReGIS colorspec conversion (Ross Combs):
  • avoid some floating point math for colorspace conversion
  • move two copies of colorspec parsing to a single function
  • change colorspec parsing to handle components being out of order or with spaces and commas between them
  • add support for an extension where RGB components can be given instead of HLS
  • improve use of const, e.g., for the LineData pointers (patch by Ross Combs).
  • clip of graphics that overlap the scrollback buffer and alt screen (patch by Ross Combs).
  • amend change to focus-change events in patch #287 to limit it to suppressing the reset of the urgency-hint, because some useful FocusOut events were lost (report by Joe Peterson).
  • modify dpkg build-script to configure xterm-dev as an x-terminal-emulator alternative.
  • extend the --with-xterm-symlink feature to make symbolic links for the other programs and scripts.
  • minor fix to vttests/resize.pl to avoid undefined variable when receiving broken/missing response, e.g., from mrxvt.
  • change the way that ReGIS graphics are refreshed (patch by Ross Combs):
  • it pre-composes any overlapping graphics to avoid unnecessary and flickering draws
  • it adds a three-dimensional lookup table for RGB -> pixel values and uses this across all graphics
  • it draws in line segments when there is a run of the same color
  • in cases where there are no transparent parts, it uses an XImage to draw
  • it hooks into the double-buffering support if it is enabled (though this doesn't seem to get rid of all flicker).
  • This has the effect of reducing flicker and speeding up redraws.

New in XTerm 312 (Oct 4, 2014)

  • undo change to do_select_regex() in patch #311 (reports by H Merijn Brand, Sven-Haegar Koch, Debian #762978).

New in XTerm 311 (Sep 20, 2014)

  • 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).

New in XTerm 309 (Jul 17, 2014)

  • 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

New in XTerm 304 (May 7, 2014)

  • add debugging check for parsing table entries, fixed a few inconsistencies.
  • handle utmp/utmpx strings consistently with new function that null-pads unused locations.
  • build-fix for imake configuration with FreeBSD 9 and later, to account for replacing utmp with utmpx.
  • improve handling of the fontsel (font-selection) menu item:
  • initialize the menu entry differently if the toolbar configuration is used, i.e., enabling it without attempting to use the current selection as a font name. Because of the way in which the toolbar is setup, this attempt usually failed, and would result in a warning.
  • if the menu action fails, e.g., no font can be loaded for the given selected name, then recover by resuming with the current font. Before, the recovery went to the default font. That was done to work around missing bitmap font in patch #276.
  • document OSC 119 in the control sequences listing (report by Egmont Koblinger).
  • modify special handling of XF86Paste or SunPaste keysyms (see patch #227) to use the standard shift/lock modifiers in case those are, for example, used in level 3 in an XKB file (patch by Matthieu Herrb).
  • configure macro updates:
  • drop the -no-gcc option from CF_INTEL_COMPILER
  • modify CF_XOPEN_SOURCE to suppress the check for defining _XOPEN_SOURCE on Solaris
  • reduce bss storage used for ReGIS/Sixel modules, as well as cleanup storage usage in other modules.
  • initial changes for ReGIS support (patch by Ross Combs):
  • document control-sequences
  • separate ifdef's for sixel and color-register features
  • add configuration for VT382

New in XTerm #301 (Jan 20, 2014)

  • OSC 104 and 105 did not accept parameter to reset a specific color (patch by Egmont Koblinger).
  • add configure check for initgroups, and use that function to complement its use of setgid (prompted by patch by Miroslav Lichvar).
  • improve manpage description of scrollbar translations versus the vt100 translations (Debian #723573).
  • add a few paragraphs to manpage explaining the implications of xterm's reliance on X Toolkit for command-line parsing.
  • modify cursor-theme logic to check if the environment variable XCURSOR_THEME is set to a nonempty value before constructing a dummy them (prompted by similar check added in OpenBSD CVS).
  • add check for a case where TrueType bold font is missing a glyph where the non-bold font has it. Temporarily switch to the non-bold font to draw the glyph (report by David Demelier).
  • minor documentation fixes for ctlseqs.ms
  • only set SHELL environment variable to programs found in /etc/shells (prompted by patch/report by Al Poole).
  • build-fix, when --disable-wide-chars --disable-boxchar is used (prompted by patch by Andrey Panov).

New in XTerm #300 (Dec 5, 2013)

  • amend workaround for Xcursor library from patch #298; the suggested solution for Debian #466704 fell afoul of a bug in Xcursor which treated an empty value for Inherits= as a valid theme—and resulted in a stack overflow due to unbounded recursion. Certain environments such as XFCE4 exposed the bug. A related report in Debian #531679 was closed without following the recommendation to limit stack recursion in this library (reported by Sergey V Dyatko, Debian #731269).

New in XTerm #299 (Dec 2, 2013)

  • Fix regression in line-drawing from patch #297 changes for NRCS exposed by change to assumeAllChars resource in patch #298 (report by Markus Waldeck).

New in XTerm #298 (Nov 28, 2013)

  • This version fixes several minor bugs and adds a new option "-report-fonts" to show which fonts are actually loaded.

New in XTerm #297 (Sep 11, 2013)

  • This version 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.

New in XTerm #296 (Jul 11, 2013)

  • This build fixes quoting in library reordering so that expressions such as "-Wl,-lncurses,-lc" in LDFLAGS work.
  • It also improves the experimental sixel graphics feature.

New in XTerm #295 (Jul 8, 2013)

  • This version fixes a minor regression introduced by the --as-needed loader option.

New in XTerm #294 (Jul 6, 2013)

  • Experimental support for sixel graphics, a fix for a regression in selection, and minor improvements to performance and configurability.

New in XTerm #293 (May 29, 2013)

  • A regression in selection was fixed.
  • A workaround was added for icon misconfiguration in KDE 4.8 on OpenSuSE.

New in XTerm #292 (Apr 27, 2013)

  • Improves configurability of openpty versus posix_openpt functions.
  • Adds a new feature PasteControls to enable control characters (other than formatting) to be pasted.
  • Several minor bugfixes.

New in XTerm #291 (Feb 27, 2013)

  • This version fixes the special case of the #282 change for "alternateScroll" to allow the wheel-mouse to work properly in the scrollbar area.

New in XTerm #290 (Feb 14, 2013)

  • Fixes an incomplete revert of a change in the previous patch, which caused incorrect display in the scrollback area.

New in XTerm #289 (Feb 9, 2013)

  • This fixes several minor bugs, and also updates the wide-character width tables for Unicode 6.2.

New in XTerm #288 (Jan 10, 2013)

  • This version fixes issues found by Coverity and adds other small bugfixes and code cleanup.

New in XTerm #287 (Nov 26, 2012)

  • Several small bugfixes/improvements.
  • One is a fix for the -iconic option broken in #282 when the icon pixmap is configured.
  • The other fixes are for older problems.

New in XTerm #286 (Oct 31, 2012)

  • This version fixes four bugs, chiefly a workaround for a bug in GDM exposed by the change in patch #282 that identifies the window manager.
  • The other fixes add a check for misconfiguration of the printerCommand resource and improve transformation of the manpage to other formats.

New in XTerm #285 (Oct 25, 2012)

  • This version fixes two minor bugs, improves recovery from misconfigured colors, and adds test scripts for building the FreeBSD port and for demonstrating OSC 4 color-queries.

New in XTerm #284 (Oct 15, 2012)

  • Fixes bugs reported with the #283 release (regression in the --regex configure option and undesirable interaction with existing iconName behavior).

New in XTerm #283 (Oct 10, 2012)

  • This version adds further improvements for icon configurability and cleanup of the configure script to remove obsolete checks.

New in XTerm #282 (Sep 29, 2012)

  • Several bugfixes and new features, including new escape sequences and a new icon.

New in XTerm #281 (Jun 27, 2012)

  • This version fixes two regressions in patch #280 (one affects packaging, the other keyboard).

New in XTerm #280 (Jun 25, 2012)

  • This version changes the default emulation level to VT420 (reflecting implementation of margins in patch #279), adds/modifies configure script options to support icon-themes, and includes several minor bugfixes and other feature enhancements.

New in XTerm #278 (Jan 19, 2012)

  • Fixed two regressions.

New in XTerm #277 (Jan 8, 2012)

  • Provides the ability to bind keys to actions which use the selection (or selectable text) from the screen as data.
  • Other new features include control sequences for left/right scrolling and some new flavors of mouse replies.
  • There are new resource settings for limiting visual bell to the current line, as well as for limiting the eightBitInput feature.
  • Finally, there are portability and other fixes.

New in XTerm #276 (Oct 11, 2011)

  • Recovery when bitmap fonts are not installed was improved, and an additional workaround was provided for a recent breakage in the FreeType library.
  • A minor bug was fixed and the condition for setting the XTERM_SHELL variable was relaxed.

New in XTerm #275 (Sep 13, 2011)

  • This release fixes a minor regression in #274, and reverts a change to handling of the SHELL environment variable from #272.
  • That change exposed a bug (also fixed in this release).

New in XTerm #274 (Sep 6, 2011)

  • portability fixes for cygwin: do not define SVR4, and work around nonstandard header location.
  • ifdef'd use of unsetenv from patch #273 changes to work with Solaris 9 (report by Waldemar Rachwal).
  • modify logic for XtAppPending to merge adjacent Expose and ConfigureNotify events which are redundant (report by Edward McGuire).
  • fix an unneeded warning message when -r option is given.
  • remove a few redundant entries from table used for helping abbreviation-checking of command-line options, makes -geom work again after patch #272 changes as an abbreviation of -geometry.
  • add scaleHeight resource and command-line option -sh as workaround for some font-configurations broken by changes in FreeType 2.4.6 (report by Miroslav Hodak).
  • portability fixes for some configure macros: CF_FUNC_TGETENT, CF_XOPEN_SOURCE, CF_X_ATHENA_LIBS.
  • add configure option --with-freetype-config to improve selection over the plethora of configuration options which freetype has so far provided.
  • build-fix for configure --enable-load-vt-fonts when --enable-widec is not specified.
  • build-fixes for suppressing various features, needed after changes in patches 270, 271 and 272 (report by Brian Lindholm)

New in XTerm #273 (Aug 25, 2011)

  • This release fixes two regressions in patch #272, as well as two older bugs.

New in XTerm #272 (Aug 25, 2011)

  • This version revises the command line parsing, providing checks for ambiguous options.
  • There are also fixes for the "-into" option and selection, as well as several configurability improvements.

New in XTerm #271 (Jul 15, 2011)

  • The printFileOnXError feature from #270 was extended, providing configurable menu entries for writing the screen contents (and saved-lines) to a file.
  • Many minor bug-fixes and portability improvements also were made.

New in XTerm #270 (Apr 26, 2011)

  • build-fix, e.g., for using imake on platforms which use the termcap library.
  • modify utf8 resource to accept a name.
  • mention default for fontWarnings in manpage (report by Werner Scheinast).
  • split "UTF-8" menu entry into "UTF-8 Encoding" and "UTF-8 Fonts".
  • gray-out font-menu entries when a font fails to load, e.g., a bitmap font is not installed.
  • add configure option --with-desktop-category to allow customization of the ".desktop" files.
  • build-fix for the install-desktop makefile-rule, when the source/build directories differ (patch by Loïc Minier).
  • add menu entry and corresponding resource which can be used to suppress all bold-fonts (discussion with Jan Engelhardt).
  • make internal line-size value consistent with allocated sizes of character and related arrays to ensure that bulk copying of line data, e.g., in scrolling, accounts for the padding used for pointer alignment (adapted from patch by Rajesh Mandalemula, also reported by Ali Bahar).
  • widen ifdef for screen-resizing logic from patch #176 changes to send SIGWINCH to process group to include any system supporting ioctl(*,TIOCGPGRP,*) (prompted by linux-specific patch in OpenSUSE rpm package).
  • add printModeOnXError and printFileOnXError resources, which allow the user to specify that xterm will write the contents of its screen to a file if it is exiting due to an X error (Debian #280457).
  • restore logic that made reverse-video apply to the scrollbar's foreground/background, broken in patch #158 (report by Bryan Ischo).
  • amend some of the window operations parameter-checks added in patch #251 for the push/pop title feature, to allow the parameters used for window resizing to be -1's, which makes the corresponding values ignored rather than using the window's maximum width/height (report by Noah Friedman).
  • correct order of initialization for translations vs fullscreen resources to enable a special case which omits the Alt-Enter translation when fullscreen is disabled (Debian #612978).
  • update config.guess, config.sub

New in XTerm #267 (Nov 22, 2010)

  • Configure-script fixes to accommodate ongoing xorg changes to package scripts.
  • Minor fixes to trim blanks from color resources.
  • Formatting changes to simplify building a database comparing xterm and terminal emulators claiming to implement "most" of its control sequences (see the FAQ for results).

New in XTerm #266 (Oct 25, 2010)

  • An additional fix for a regression from patch #263.
  • RPM and dpkg scripts for test builds.

New in XTerm #265 (Oct 24, 2010)

  • fix a regression in fontname logic from patch #263 changes (Debian #600707, reported by Vincent Lefevre).
  • revert modification of any-event/any-button protocol from patch #263 changes. It interferes with selection using a shifted mouse button (reports by Neil Bird, Bram Moolenaar).

New in XTerm #263 (Oct 14, 2010)

  • Several minor bugfixes and small feature enhancements needed for ongoing work in ncurses.

New in XTerm #262 (Aug 30, 2010)

  • Extended mouse-coordinate mode was added, supporting row/column values past 2000.
  • For VT320 and up, request-mode reports were added, which show ANSI, DEC, and xterm modes.

New in XTerm #261 (Jun 28, 2010)

  • Fixed a regression in renderFont logic from changes made in patch #260.

New in XTerm #250 (Oct 14, 2009)

  • This release adds bugfixes for the "packed-font" feature, other improvements for TrueType fonts, and an improved workaround for the X library hardcoded limit on resources with the 88-color configuration.

New in XTerm #249 (Oct 2, 2009)

  • Several bugs related to displaying while the terminal is scrolled back to view saved lines were fixed.
  • Handling of nominally fixed-pitch fonts containing a mixture of single/double-width glyphs with the "Packed Font" feature was improved.

New in XTerm #247 (Aug 31, 2009)

  • This release fixes a size calculation for configurations with 16-bit characters and corrects the range of lines printed for the new print-everything action.
  • It updates the configuration for DragonFly to use the openpty function.

New in XTerm #245 (Aug 13, 2009)

  • An indexing error when saving to the circular buffer was fixed.

New in XTerm #243 (Mar 29, 2009)

  • revert change to default for allowTcapOps (request by Bram Moolenaar).
  • reallocate result returned by xtermEnvLocale() to avoid reference to freed memory after handling menuLocale resource.
  • fix an old (X11R5) bug in tek4014 for switching fontsizes.
  • add resource defaultString to make configurable the use of "#" when pastes of UTF-8 text fail due to limitations in the current locale settings.
  • make the set of selection target Atom's configurable by two new resources eightBitSelectTypes and utf8SelectTypes, e.g., to use the TEXT Atom in preference to UTF8_STRING (discussion with Stanislav Sedov regarding koi8rxterm and the FreeBSD port).
  • modify handling of TARGETS Atom by making it return exactly the set of targets as those which xterm is currently providing.
  • set MANPAGER and PAGER explicitly to /bin/cat in minstall.sh to work around /etc/man.conf's with those variables already set (report by Марьясин Семён).
  • improve error-checking of tcap-query parser.
  • add check for keyboard tcap), which ensures that terminal descriptions containing the same string for shifted/unshifted keys will be seen by tcap-query as only the unshifted key. (This would only happen with an incorrect terminal description).
  • fix conversion for input event-state to modifier-parameter which made tcap-query feature not work with tcapFunctionKeys (keyboard type tcap).
  • add "DEF_ALLOW_XXX" definitions to main.h to allow overriding the default compiled-in values for "allowxxx" resources.
  • remove check on bell-percentage added in patch #242, which disallowed zero/negative values (Redhat Bugzilla #487829).

New in XTerm #242 (Feb 16, 2009)

  • This release adds menu entries for enabling/disabling the various "allow" features.
  • It adds a resource for controlling when warnings for missing fonts are reported.
  • There are several minor bugfixes and performance improvements.

New in XTerm #239 (Jan 14, 2009)

  • correct a cast in input.c, which broke translation of numeric keypad codes to pageup, pagedown, etc., on 64-bit platform (Debian #511138, report by Larry Doolittle).

New in XTerm #238 (Dec 31, 2008)

  • Several minor improvements to runtime configurability of control sequences used by applications to obtain information from xterm, as well as fixes to improve robustness.

New in XTerm #237 (Sep 15, 2008)

  • This release provides an option for underline-cursor.
  • It improves font switching via keypad shortcut for TrueType fonts.
  • There are minor fixes/improvements.