XTerm Changelog

New in version 317

March 29th, 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 version 314 (December 31st, 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 version 313 (November 29th, 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 version 312 (October 4th, 2014)

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

New in version 311 (September 20th, 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 version 309 (July 17th, 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 version 304 (May 7th, 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 version #301 (January 20th, 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 version #300 (December 5th, 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 version #299 (December 2nd, 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 version #298 (November 28th, 2013)

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

New in version #297 (September 11th, 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 version #296 (July 11th, 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 version #295 (July 8th, 2013)

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

New in version #294 (July 6th, 2013)

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

New in version #293 (May 29th, 2013)

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

New in version #292 (April 27th, 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 version #291 (February 27th, 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 version #290 (February 14th, 2013)

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

New in version #289 (February 9th, 2013)

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

New in version #288 (January 10th, 2013)

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

New in version #287 (November 26th, 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 version #286 (October 31st, 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 version #285 (October 25th, 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 version #284 (October 15th, 2012)

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

New in version #283 (October 10th, 2012)

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

New in version #282 (September 29th, 2012)

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

New in version #281 (June 27th, 2012)

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

New in version #280 (June 25th, 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 version #278 (January 19th, 2012)

  • Fixed two regressions.

New in version #277 (January 8th, 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 version #276 (October 11th, 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 version #275 (September 13th, 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 version #274 (September 6th, 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 version #273 (August 25th, 2011)

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

New in version #272 (August 25th, 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 version #271 (July 15th, 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 version #270 (April 26th, 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 version #267 (November 22nd, 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 version #266 (October 25th, 2010)

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

New in version #265 (October 24th, 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 version #263 (October 14th, 2010)

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

New in version #262 (August 30th, 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 version #261 (June 28th, 2010)

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

New in version #250 (October 14th, 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 version #249 (October 2nd, 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 version #247 (August 31st, 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 version #245 (August 13th, 2009)

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

New in version #243 (March 29th, 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 version #242 (February 16th, 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 version #239 (January 14th, 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 version #238 (December 31st, 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 version #237 (September 15th, 2008)

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