Patch #236 - 2008/07/27
* correct memory reallocation when handling a paste of UTF-8 text from
patch #225 changes (report/patch by Max Mikhanosha).
* correct allocation of temporary buffer in xtermFindShell in case the
user's $PATH contains no ":" (report/analysis by Victor Stinner,
Freedesktop.Org Bugzilla #16790).
* modify CF_XOPEN_SOURCE to add case for DragonFly BSD, to fix new
compile problem exposed by fix for fd_mask (patch by Hasso Tepper).
* add configure-check for ncurses use_extended_names, (report by
Martin Mokrejs).
* correct computation for toolbar height; layout manager already takes
into account borderWidth resource.
* implement VT320-style SCS (select character set) for ISO Latin-1
supplemental.
* fixes for vt100-style character sets in UTF-8 mode (Ubuntu #230919).
* fix to make luit work with xterm's -ls option (report/patch by
Marius Tolzmann).
* update config.guess, config.sub
Changes within pkgsrc:
- Remove most options, as I see no reason not just to build them in
by default (they shouldn't be intrusive). I also enabled a few
features that weren't there before (mouse support for readline
applications, support for the mini/built-in luit, paste64, etc.).
- Build-in the toolbar by default. I patched xterm to disable the
toolBar resource by default.
- Include xaw.buildlink3.mk instead of libXaw/buildlink3.mk and
add some code to configure xterm properly according to the
user's preference.
- Use @unexec ${RMDIR} ... when attempting to remove
lib/X11/app-defaults.
- Install xterm.desktop and uxterm.desktop to share/applications
(I don't think this needs desktopdb.mk).
- Added a 'debug' option which builds in support for event tracing.
Also, if PKG_DEVELOPER=yes, tell configure to --enable-warnings.
Patch #235 - 2008/04/20
* add control sequences for some of the recent resource/menu settings:
* altSendsEscape (private mode 1039)
* keepSelection (private mode 1040)
* selectToClipboard (private mode 1041)
* bellIsUrgent (private mode 1042)
* popOnBell (private mode 1043)
* add resource formatOtherKeys to provide an alternate escape sequence
format for the modifyOtherKeys resource (request by Paul LeoNerd
Evans).
* adjust saved-cursor position if the window is resized while
displaying the alternate screen (Novell #196880, Debian #383384).
* improve pointer-checks to fix a bug exposed by resizing during
initialization under StumpWM window manager (Fedora Bugzilla #437928).
* modify unselectwindow() to ensure that the mouse pointer is not
hidden after xterm loses focus (report by Jeremy Huddleston).
* add special check for fd_mask on Mac OS X (report by Jeremy
Huddleston).
* add dylib to autoconf's suffix list used for checking the result
from xmkmf, to work with Mac OS X (report by Jeremy Huddleston).
* correct initialization of bold- and wide-, wide-bold fonts which may
be set via the utf8Fonts subresource (Debian #347790).
Patch #234 - 2008/03/02
* modify sinstall.sh to use POSIX locale to bypass GNU ls changes to
date-format.
* improved/refined changes for closing bitmap font (patch by Andrea
Odetti).
* improve resize computation for situations where the negotiation
fails, by invoking the xterm widget's core-class resize method
(Debian #365602, patch by Jim Paris).
* restore initialization of terminal's VMIN and VTIME settings, from
patch #232 changes (patch by Matthieu Herrb).
Patch #233 - 2008/02/24
* add configure check for ttydefaults.h, include if needed, e.g., for
systems where defining _POSIX_C_SOURCE, etc., prevents it from being
included via termios.h (prompted by comments by Robert Delius Royar
and Jeremy Huddleston).
* patches from Alan Coopersmith. These correspond to bug-ids on
bugs.opensolaris.org
4029911
fix a typo in manpage
4045962
xterm doesn't properly set ut_syslen
4192572
left-left-right misinterpreted as triple click
* minor optimization to tab-initialization (patch by Nemeth Marton).
* fix a case where an incorrect font was freed during initialization
from patch #232 changes (patch by Andrea Odetti).
* improve comparison used in SameFont function for GC-caching (Julien
Cristau).
* correct macro name used for default CKILL definition to work with
Mac OS X (report by Jeremy Huddleston).
Patch #232 - 2008/01/30
* corrected logic in a font-cache used for reverse-video (Debian
#404079).
* add control sequence to alter pointerMode at runtime.
* add limit-checks for rectangle operation parameters (report by
Martin Pirker).
* modify minstall.sh to suppress $MANPAGER and $PAGER environment
variables, which may interfere with redirecting output of man to a
shell variable (report/patch by Zdenek Sekera).
* do not try to hide mouse pointer in the tek4014 window, fixes broken
"-t" option at startup from patch #230 changes (report by Robert K.
Nelson).
* correct datatype used when drawing tek4014 data using xterm compiled
for wide-characters, on big-endian machines (reports by Jeremy
Huddleston, Harald Hanche-Olsen, Martin Costabel, Merle Reinhart).
* modify to cache the font-names along with the bitmap font data, to
improve comparison of fonts.
* modify to allow building with configure options --disable-ansi-color
and --disable-leaks (Debian #459817, report/patch by Nemeth Marton).
* modify to allow building with configure options --enable-wide-chars
and --disable-c1-print (Debian #459816, report/patch by Nemeth
Marton).
* add pointerMode resource to control whether and when the pointer
cursor is hidden as the user types.
* simplify initialization of ttyMode- and related characters using a
table.
* modify initialization-logic for stty values that correspond to
ltchars structure and the BSD TIOCSLTC ioctl (susp, dsusp, rprnt
flush, werase, lnext). These were reset to constants for both
termios and legacy interfaces immediately after asking the system
for the existing values since X11R6.1, rather than using them to
provide inherited values. While the legacy interface has some
constraints, e.g., on HPUX, the POSIX or termios interface should
not. Your shell may reset these anyway (prompted by patch by Ed
Schouten).
* improve logic for hiding/displaying pointer-cursor (report by Mark
Brukhartz).
* add limit-checks to tabs.c, increase maximum column for setting
tab-stops from 320 to 1024 (report by Nemeth Marton).
* correct length, i.e., number of types of selection targets, computed
by ConvertSelection() when not handling wide characters for the
XA_TARGETS() case. This leaves an extra Atom on the end of the list
which is not handled by Java applications. The problem was introduced
in patch #151 (report by David Wood).
NOTE: I am going to again re-enable the xterm-toolbar option by default,
as there have been some fixes with font handling. If anyone notices
any problems with this, please file a PR or email the pkgsrc lists.
Thanks.
ChangeLog:
Patch #231 - 2008/01/05
* undo change to getXtermCell() from patch #230 using PACK_PAIR macro
(Debian #459014, analysis by Caetano Jimenez Carezzato).
* minor documentation fixes (patch by Slava Semushin)
* add makefile actions to install KOI8RXTerm app-defaults file
(patch by Julien Cristau).
Patch #230 - 2007/12/31
* add quietGrab resource, which when true, suppresses cursor
repainting
when NotifyGrab and NotifyUngrab event types are received during
change of focus (request by Nicolas George).
* do not treat Unicode BIDI control characters as combining characters
(Debian #457634).
* add koi8rxterm, from Debian.
* add manpage for uxterm, from Debian (Ubuntu #128136, Debian #438645)
* remove ".xpm" suffixes from Icon filenames in desktop files since it
confuses some lookups following the Icon Theme Specification (report
by Slava Semushin)
* correct width-calculation used for adjusting proportional fonts, to
work with wide-characters (Debian #441354).
* fixes/improvements for double-size characters:
* correct old clipping calculation which used total height of
glyphs where ascent was needed.
* if bold font is unavailable, fall back to normal font
* adjust to "work" with Xft (which does not support double-width
single-height characters).
* restore reset of doublesize for a line when it is cleared,
broken in patch #228.
* modify logic for forceBoxChars resource when using TrueType fonts
to be consistent with bitmap fonts
* modify logic for forceBoxChars resource to make the "Line-Drawing
Characters" menu entry use xterm's line-drawing characters even
asked to draw wide line-drawing characters which are available in
the font.
* modify rectangle-support functions to preserve colors when
filling/erasing (request by Enzo Toscano, to match WRQ Reflection
behavior).
* add getopt-parsing to tcapquery.pl, including feature to test the
extended cursor/editing keys.
* make missing double-width glyphs display as double-width (Debian
#456236).
* change tcap-fkeys and rectangles configure options to enable them
by default.
* hide the mouse pointer while user is typing (request by Rodolfo
Borges).
* extend configure options --enable-tcap-query and
--enable-tcap-fkeys to send cursor- and editing-keypad keys
modified according to the keyboard (or termcap) selection for
shift, alt, control, meta.
* modify kdch1 in termcap, e.g., xterm-r6 to match the terminfo file.
* add -hm option to turn highlightColorMode on or off.
* add highlightColorMode resource to separate the new
(since patch #225)
highlighting with both text- and background-colors (prompted by
report/example by Thomas Wolff).
* add Keep Selection menu entry to turn the keepSelection resource
on/off at runtime.
* add keepSelection resource, which when enabled, tells xterm to
retain the X selection even after it stops highlighting it
(patch by Sergey Vlasov).
* extend the CSI > n sequence to allow disabling all types of
modified-keys that the CSI > m sequence affects.
* move include for <xtermcap.h> in resize.c to avoid redefinition of
termios structure on OpenSolaris (report by Rahul Gopinathan Nair).
* extend terminfo building blocks for modified editing keys to
include all six keys.
* synchronize terminfo with ncurses (report by Stephane Chazelas):
* equate xterm-xfree86 and xterm-xf86-v44.
* add ncurses extensions OTbs, AX, for termcap conversions.
* make old/legacy entries such as xterm-24, xterm-65 and aliases
xterms, vs100 inherit from xterm-old.
* make xterm-r5 and xterm-r6 the same, ignoring historical
errors in X Consortium's version.
* fix an ifdef in logic for selecting regular expressions while in a
narrow-character locale (Debian #449227).
The INSTALL.openwin is broken.
I reported on December 1 that it create a broken INSTALL script.
The SunOS check was commented out in pkgsrc/x11/xterm/Makefile revision
1.37. It looks like it was accidently committed as it has nothing to do
with the log message.
This caused the INSTALL.openwin stuff to be used on non-SunOS systems.
That INSTALL.openwin support is broken anyways. The sed changed @PREFIX@
but that was not used.
This function does not exist AFAIK in our pcre libraries, and the configure
check was failing.
A segment of nm output reads:
/usr/pkg/lib/libpcreposix.so:00000a06 T regcomp
/usr/pkg/lib/libpcreposix.so:00000abf T regerror
/usr/pkg/lib/libpcreposix.so:000007a8 T regexec
/usr/pkg/lib/libpcreposix.so:00000780 T regfree
These symbols will override those in libc:
/usr/lib/libc.so:00031be8 T _regcomp
/usr/lib/libc.so:0002fbf8 T _regerror
/usr/lib/libc.so:0002e9c2 T _regexec
/usr/lib/libc.so:0006336c T _regfree
/usr/lib/libc.so:00031be8 W regcomp
/usr/lib/libc.so:0002fbf8 W regerror
/usr/lib/libc.so:0002e9c2 W regexec
/usr/lib/libc.so:0006336c W regfree
${WRKSRC}/xterm.log.html. Additionally, the pkgsrc-specific
changes are:
-- Add an "xterm-toolbar" option and add it to PKG_DEFAULT_OPTIONS. Now
we may all enjoy pull-down menus.
-- In the ${X11_TYPE} == "modular" case, add --disable-imake and
--enable-narrowproto to CONFIGURE_ARGS. The latter fixes [possible]
problems with Xaw scrollbars.
-- Add USE_DIRS+=xdg-1.4 to handle newly-provided xterm pixmaps.
-- Add build-time dependency on x11/libxkbfile to pull in XKB extension
headers, e.g. ${X11BASE}/include/X11/extensions/XKBbells.h. The XKB
bell extension should now be properly detected and supported.
- Add "pcre" option, thereby supporting devel/pcre as xterm's regex
library.
Changes ok'd (more or less) by joerg@ and tested by me. For more detail
wrt: rationale for --enable-narrowproto and/or libxkbfile dependency,
please contact me.
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
The changes are detailed at
http://dickey.his.com/xterm/xterm.log.html
Some of the changes include:
* for FreeBSD, drop setuid privileges after startup (XFree86 Bugzilla
#878, report/patch by Alexander Pohoyda)
...
* improve error-reporting when chown/chmod of the pseudo-terminal fails,
e.g., if a copy of xterm which was designed to work with old-style
pseudo-terminals is not installed setuid or setgid (report by Jeremy
C. Reed).
and many others.
Changes:
- pkgsrc patches for Darwin and DragonFlyBSD were incorporated.
- Many bug fixes and improvements. See
http://dickey.his.com/xterm/xterm.log.html for the complete list.
Add some options to the package.
Changes:
* add extended shift- and control-modifier cursor keys to "xterm+pcfkeys"
terminfo entry to correspond to ncurses 20050430 patch.
* fix a rare case where text would be written with the wrong colors because
output of scrolled text would reset the colors and the new text would be
written with the same colors
* add environment variables $XTERM_SHELL and $XTERM_VERSION
* corrected workaround for background color of menubar, which gave a
too-broad expression, coloring the background of the VT100 widget unless
overridden by another resource setting.
* correct an error in the logic which decides when sched_yield() is run; it
would occasionally hang when contending with other pseudo-terminal
applications such as screen
* improve resource files to show how the menubar and popup menus can be
colored
* modify parsing of OSC (and SOS, etc), strings so their contents are not
interpreted as UTF-8. This allows non-ASCII title strings to be set,
provided that the window manager complies (report by Thomas Wolff).
* improved some of the built-in line-drawing glyphs.
* correct color of "box" character drawn for line-drawing glyph 1 (report
by Nicolas George).
* improve behavior when switching to UTF-8 mode after startup so xterm will
check if the current fonts are already wide (ISO10646-1). If they are not,
xterm will use the utf8Fonts subresource to load appropriate fonts
* modify logic for setting title-string so it applies to the current widget
rather than the vt100 widget.
* correct computation of width for wide characters with the invisible
attribute
* modify interaction between +u8 and locale resource to allow the
command-line option to override the resource
* ignore error in the I/O initialization that tries to set the tty to 7-bit
input for the case where eightBitInput resource is false
* modify command-processing to accept an optional parameter that tells
xterm which shell program to use
* correct logic of ReallocateBufOffsets() which did not copy the content of
the old screen buffer to the proper location, making a repaint clear
after switching to wide-character mode
* implement the remaining pieces to make xterm allocate cells for
wide-characters when the "UTF-8" menu entry is selected. Also, load the
UTF-8 font when that menu entry is selected, or the escape sequence for
UTF-8 mode is received
Several changes are involved since they are all interrelated. These
changes affect about 1000 files.
The first major change is rewriting bsd.builtin.mk as well as all of
the builtin.mk files to follow the new example in bsd.builtin.mk.
The loop to include all of the builtin.mk files needed by the package
is moved from bsd.builtin.mk and into bsd.buildlink3.mk. bsd.builtin.mk
is now included by each of the individual builtin.mk files and provides
some common logic for all of the builtin.mk files. Currently, this
includes the computation for whether the native or pkgsrc version of
the package is preferred. This causes USE_BUILTIN.* to be correctly
set when one builtin.mk file includes another.
The second major change is teach the builtin.mk files to consider
files under ${LOCALBASE} to be from pkgsrc-controlled packages. Most
of the builtin.mk files test for the presence of built-in software by
checking for the existence of certain files, e.g. <pthread.h>, and we
now assume that if that file is under ${LOCALBASE}, then it must be
from pkgsrc. This modification is a nod toward LOCALBASE=/usr. The
exceptions to this new check are the X11 distribution packages, which
are handled specially as noted below.
The third major change is providing builtin.mk and version.mk files
for each of the X11 distribution packages in pkgsrc. The builtin.mk
file can detect whether the native X11 distribution is the same as
the one provided by pkgsrc, and the version.mk file computes the
version of the X11 distribution package, whether it's built-in or not.
The fourth major change is that the buildlink3.mk files for X11 packages
that install parts which are part of X11 distribution packages, e.g.
Xpm, Xcursor, etc., now use imake to query the X11 distribution for
whether the software is already provided by the X11 distribution.
This is more accurate than grepping for a symbol name in the imake
config files. Using imake required sprinkling various builtin-imake.mk
helper files into pkgsrc directories. These files are used as input
to imake since imake can't use stdin for that purpose.
The fifth major change is in how packages note that they use X11.
Instead of setting USE_X11, package Makefiles should now include
x11.buildlink3.mk instead. This causes the X11 package buildlink3
and builtin logic to be executed at the correct place for buildlink3.mk
and builtin.mk files that previously set USE_X11, and fixes packages
that relied on buildlink3.mk files to implicitly note that X11 is
needed. Package buildlink3.mk should also include x11.buildlink3.mk
when linking against the package libraries requires also linking
against the X11 libraries. Where it was obvious, redundant inclusions
of x11.buildlink3.mk have been removed.
Changes:
* increase color pairs value for xterm-256color and xterm-88color
to match ncurses, which has an experimental option to support this.
* modify ifdef's to make AIX use termios rather than termio; the
struct sizes for the two were not the same.
* improve CF_WITH_IMAKE_CFLAGS configure macro script for
OSMAJORVERSION and OSMINORVERSION values, e.g., for Tru64 and AIX.
* modify ifdef to define USE_POSIX_TERMIOS for Darwin (patch by
Min Sik Kim).
* modify find_utmp() to initialize the whole utmpx struct (except
ut_id), since that is needed for OSF1 4.0D to prevent an infinite loop
on exit.
* add configure check before adding -D_POSIX_SOURCE since some
platforms predefine it, e.g., cygwin.
* add simplified sed expressions in CF_IMAKE_CFLAGS configure
script macro to ensure value for PROJECTROOT is quoted on Solaris,
i.e., when nested \( and \) are not interpreted correctly.
* correct DEC rectangle operations to reset state after completing
the operations.
* modify CASE_ST handling in charproc.c to ensure that the parse
state is reset even if xterm is not currently processing an OSC or
other string (patch by Johnny Billquist forwarded by Matthias Scheler,
NetBSD xsrc/29003).
* fix OS/2 build for innotek_libc (patch by David Yeo).
* fix a regression from patch #197 fix for Debian #277832 which
disowned the selection if it was scrolled, e.g., by the user pressing
return at the bottom of the screen (Debian #291787).
* move the warning/exit for missing $DISPLAY into the error
handler in case -display is given, and the connect fails for some
other reason.
Changes since 197:
* instead of setting $DISPLAY, check for the unset variable and
warn/exit on this condition (comments by H Merijn Brand and
Bernhard R Link).
* fix a typo in Imakefile from patch #198 (reports/patches by
Stefan Dirsch, and Mike Castle).
* add utmpDisplayId resource to allow users to control whether the
display identifier (display number and screen number) are
retained in the connection information recorded in utmp
(discussion with Edoardo Tirtarahardja).
* add bellOnReset resource to allow users to disable bell which
sounds on hard reset since patch #183 changes to DECSCL
(discussion with Danek Duvall).
* improve $WINDOWID for configuration with toolbar by making it
refer to the top-level shell rather than the parent of the
current window. For that case, the parent is a form widget,
which does not have a name, which made the $WINDOWID not very
useful as a parameter for xwininfo (suggested by Dave
Bodenstab).
* fix a typo in WhichVFont() macro from patch #197 changes which
broke the --disable-active-icon configuration (report by Ralf
S. Engelschall).
* improve some limit checks (Gentoo Bugzilla #75604).
* add --disable-setuid option to configure script (Gentoo Bugzilla #76453).
* add --disable-full-tgetent option to configure script, allowing
one to ignore a termcap library in favor of ncurses/curses
(Gentoo Bugzilla #69926).
* modify configure script to choose useful warning options for
Intel version 8.0 compiler.
* update config.guess, config.sub
* make active-icon work properly when TrueType fonts are used
(Debian #286068).
* correct change from patch #157 which uses getlogin() to check
for an alias; the storage used for the related getpwuid() call
was overwritten by the data used for comparison (patch by Per
Hedeland).
* correct case of SCS for character set 0 (line-drawing) to allow
it to be selected into GR.
* fix a file-descriptor leak (Redhat Bugzilla #139597).
* modify creat_as() to only fork if xterm is actually running as
setuid and/or setgid. This works around a Cygwin bug which hangs
when logging is enabled and makes xterm a little faster for
systems using interfaces such as utempter (report by Al
Goodman).
* modify Cleanup() to avoid operations such as X calls that might
use unsafe functions when it is called by a signal handler
(report by Michiel Boland).
* fix bugs in patch #191 and in SRM changes from patch #197 that
broke DECSET 38: switch to Tek4014 emulation (report by Dave
Bodenstab).
* fix for manpage escapes (Marc La France).
* improve on IRIX-specific change for Imakefile in XFree86 CVS
versus resize linking against termcap library to reflect
definitions for USE_TERMCAP in resize.c