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.
Thomas E. Dickey says it has hard-to-fix layout issues and slows
the startup, so turn the option default off.
Bump PKGREVISION for the default change from on to off.
modify delimiter in configure macro used to add a library
after a given library to avoid confusion with -Wl
pass-through options to linker (NetBSD #48031).
fix quoting in expression used to trim extra libraries from
patch #295 changes (report by Thomas Klausner).
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
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.