--- rxvt-unicode/Changes 2008/01/25 15:51:39 1.846 +++ rxvt-unicode/Changes 2011/07/08 20:55:09 1.1037 @@ -1,26 +1,316 @@ rxvt-unicode changelog <= google-friendly title -TODO: init_secondary serves what purpose? maybe move it to earlier startup phase and re-think TODO: xcopyarea pass broken, fix and improve -TODO: event mechanism that replaces on_keyboard_command with something more scalable. +TODO: event mechanism that replaces on_user_command with something more scalable. TODO: slipwheeling needs a keyboard grab to get key release events. TODO: overlays collide with the way the out-of-focus cursor is being drawn TODO: "slow" rendering mode for bidi and scripts, pango! TODO: read property sequence is broken with respect to utf-8 etc. TODO: slow drag selection on remote display - other things seem fast (rxvt illness, motion hints?) -TODO: investigate -pe tabbed -g 80x25 being 23 not 24 or 25 lines +TODO: better resource handling for tabbar in -pe tabbed. +WISH: investigate -pe tabbed -g 80x25 being 23 not 24 or 25 lines => when setting the constraints, the wm might (correctly) resize the outer window, which might result in a smaller window overall. or something like that. guys, send me a patch. -WISH: selection-color-pair instead of reverse video +WISH: coloured pastebin WISH: load system-wide config file even if we don't have one WISH: look into XAddConnectionWatch, does anybody need that? DUMB: support tex fonts +TODO: decrqm http://ue.tst.eu/71d7dbd1fcfeaa7d2a4b96eb957d570c.txt +TODO: perl-shell-window? perl-unix-socket? +TODO: command line editing when icanon? + +TODO: split ROW into a ROW_fast (0..total*2-1) and ROW macros? + - sanitise the argument of SD / SU sequences. Fixes a possible + crash when the argument is big enough, red hat bug #711137 + (Emanuele Giaquinta). + - correctly split long lines when scrolling. + - Fix compilation on systems with bsd style utmp and no utmpx, + such as openbsd. + +9.12 Wed Jun 29 14:34:28 CEST 2011 + - fix regression in processing of SelectionNotify events. + urxvt would fail to request a selection if the owner did not + support the UTF8_STRING target. + - fix rendering of double width chars in certain circumstances, more + likely to happen if urxvt is compiled with 256 colors support as + urxvt runs out of fonts much earlier then. Fixes gentoo bug #358151 + (Emanuele Giaquinta). + - restore support for 'list' syntax in keysym resources (requested by Sung Pae). + - always premultiply colour values - while this increases differences between + core fonts and xft, it is "more correct" in practical situations. + - disable PTYTTY_REENTRANT option - not needed for urxvt and saves a bit of code. + - remove lucidatypewriter from the list of fallback fonts, it was the only + non-xft non-cellfont in the list anyway. + +9.11 Mon May 2 10:34:46 CEST 2011 + - fix compilation on GNU/Hurd, debian bug #624736. + - remove 'list' syntax for keysym resources, as it serves no useful purpose. + If you need it, poke us and provide a use case. + - fix alpha channel support. Premultiply alpha in colours if the visual + supports an alpha channel, as xrender expects premultiplied alpha + (Emanuele Giaquinta). + - fix reply to a selection request sent by an obsolete client + such as syncterm (patch by Marcin Cieslak). + - fix crash when the window is resized and the overlay is active + (Emanuele Giaquinta, reported by Ryan Kavanagh). + - match character-wise rather than byte-wise in selection + extension again. perl 5.8.9+ is required to avoid extreme + slowdowns. Fixes debian bugs #523072, #616463. + - fix a possible crash if the INCR transfer process for a + selection property timeouts and at least one chunk is + received. (Emanuele Giaquinta) + - work around a memory corruption bug in xorg's XrmSetDatabase (apparently + broken since http://lists.freedesktop.org/archives/xorg-commit-diffs/2004-March/000239.html). + - fix memory corruption bug when custom command sequences bound to keys + were injected into an already-full pty input buffer. + - gdk-pixbuf is autodetected by default and preferred over libafterimage. + - do not prepend a newline to the selection text when the starting line + of the selection is not highlighted (Emanuele Giaquinta). + - don't swap perl env with real env, save and restore it, just in case + we ever get recursive perl invocations. also saves a bit of codespace + with gcc. + - fix various memory leaks (Emanuele Giaquinta). + - fix typo in kIC terminfo capability, debian bug #446444. + - document 'thickness' resource. + - fix debian bug #504817, to the extent possible. + - try to detect byte order at compile time, saves a couple of + hundred bytes, if your compiler is smart enough. + - add support for previewing the pasted data in confirm-paste + (Emanuele Giaquinta). + - added "newlines to spaces" option in selection-popup. + - actually enabled solaris event ports backend (was disabled by accident). + - revert to 38400 baud max., mission accomplished. + - no longer create scary "pty_fill: PLEASE REPORT" message, instead, + silently drain the input (problem is well understood now). + - no longer swallow rob nation's own graphics mode commands. + +9.10 Mon Dec 13 17:43:52 CET 2010 + - the "schmorp=north korea dickey=south korea" release. + - INCOMPATIBLE CHANGE: make OSC 20 simpler and more correct + (Emanuele Giaquinta). + - if options were compiled out, this could lead to the option + count to be defined wrongly. This is likely behind the + failures with gcc 4.5. + - explicitly depend on fontconfig and xrender when xft support + is enabled. Although the public Xft api uses types from + both, in Xft 2.2.0 these libs are private + dependencies only thanks to an idiotic behaviour of + pkg-config that was added to workaround cases like this one. + Fixes linking when using GNU ld with --as-needed or GNU gold + (based on patch by Jan Palus). + - fix minor memory leaks in urxvt and urxvtd. + - fix regression in urxvtd that prevented options from being correctly + set (reported by Michal Vaner). + - implement xterm's horribly broken 1005 mouse reporting mode, + and an alternative 1015 mode that works in non-utf-8 locales + and has fewer limitations. + - fix a possible bug where mouse notifications didn't work after + startup for the upper left corner. + - implement our own pixbuf to pixmap rendering to get rid of + dependency on buggy gdk-pixbuf-xlib. Only truecolor visuals + are supported (Emanuele Giaquinta). + - apply tinting before shading when both operations are requested. + Previously they were intermixed when lightening and the result + was inaccurate and confusing. Note that now a black tint yields a + completely black image, regardless of shading (Emanuele Giaquinta). + - avoid spurious redraws of the bg image when bg is transparent or + when using 'root' mode (Emanuele Giaquinta). + - fix build on XFree86. + - dynamically number options according to compiletime requirements. + For the extra saved byte. Or so. Yay. + - start options at one, not zero. Wastes a bit per terminal. Maybe. + saves 50 instruction bytes. Possibly. + +9.09 Sat Nov 13 01:39:07 CET 2010 + - NOTICE: this release updates terminfo/termcap. + - the bestest release ever. + - it was verified that urxvt handles µ and μ correctly. + - add support for blending and blurring with XRender (Emanuele Giaquinta). + - add support for using gdk-pixbuf as image backend (Emanuele Giaquinta). + - cleanup and minor fixes of the image code (Emanuele Giaquinta). + - new perl extension "confirm-paste" (Emanuele Giaquinta). + - new on_tt_paste perl hook and tt_paste perl binding (Emanuele Giaquinta). + - new on_bell perl hook (Emanuele Giaquinta). + - searchable-scrollback no longer ignores the first line + (Emanuele Giaquinta). + - properly set VSTATUS in termios for *BSD (reported by Ed Schouten). + - fix utmpx detection on upcoming FreeBSD 9. + - Use COMPOUND_TEXT encoding for WM_NAME/WM_ICON_NAME value when it + is not fully convertible to STRING (patch by James Cloos). + - fix a buffer overflow that would cause wrong key sequences to + be generated for numpad keys (introduced in 9.05). + - fix definition of sgr0 to work around limitations in luit. + - extend ISO 14755 5.4 mode to also print the font name of the + characters other than first one in the selected cell + (Emanuele Giaquinta). + - new iso14755 option to disable ISO 14755 at runtime + (Emanuele Giaquinta). + - make sure pagewise scrolling scrolls at least one line + (found by Mikachu). + - remove deprecated OSC 18 / 19 and make OSC 17 / 19 apply to + highlightColor / highlightTextColor (Emanuele Giaquinta). + - add highlightTextColor resource to change the foreground colour of + highlighted characters (Emanuele Giaquinta). + - make highlightColor apply also to selected cells with reverse video + but not to non selected cells with reverse video (Emanuele Giaquinta). + - remove colorRV resource (it was enabled only with frills off). + - fix numlock handling, the most longstanding bug to date (Emanuele Giaquinta). + - reduce the number of custom bits to 4, to make room + for 256 colours. + - add support for 256 colors (Emanuele Giaquinta, Marc Lehmann). + - add rxvt-unicode-256color terminfo and use it by default in 256 colors mode. + - update rxvt-unicode terminfo to state 7744 colour pairs to cover all + 88*88 possible pairs. + - actually added macosx-clipboard-native, which should have been in + the 9.07 release but had been forgotten. + - fix hang if DECAWM is not set and there are not enough columns to insert a + character (Emanuele Giaquinta). + - cub1 ("backspace") will now respect wrapping when past the rightmost column, + working around a shortcoming of most tty line discipline's line editing. + - add support for grabbing the clipboard selection and extend + selection{_clear,_grab,} perl bindings to optionally work + on the clipboard selection (based on patch by Dana Jansens). + - no longer force CERASE to BACKSPACE - use the system default. affects + default value for VERASE only when no compatible setting for + backspacekey was given. + - use higher than 38400 baudrate setting, if detected. + - erase screen would clear to the wrong background when blinking + was enabled (which selects high intensity under some circumstances). + - scr_kill_char didn't touch the line. + - upgrade and port to libev-4.01. + - enabled solaris event ports and kqueue backends (if available). + +9.07 Wed Dec 30 07:07:18 CET 2009 + - port to glibc-2.10 changes (strchr etc. returning const char * + in C++), based on patches by Milos Jakubicek and Oliver Mader. + - the binary search algorithm to find precomposed characters + was faulty, skipping some possible combinations (found by + Mikachu). + - new -letterspace option, patch by Mark H. Wilkinson. + - enable --mlock option for urxvt with frills on + systems supporting it (patch by Russell Harmon). + - urxvt did not compile without frills enabled + (analysed by Matthew Rosewarne). + - correctly reset the mbstate after an illegal + input sequence when handling terminal output (Emanuele Giaquinta). + - avoid redrawing wide characters with combining enabled on every + refresh (reported by Mikachu). + - fix a typo preventing the ISO-646.1991 character set from being + recognized (http://achurch.org/patch-pile/). + - better warning for x11 font encoding detection failures, also, + try to deduce encoding from both font properties and name + (adapted from http://achurch.org/patch-pile/). + - resizing the window with the scrollbar disabled via the escapes + sequence could make the window bigger again (Mikachu). + - make sure the alignment for fd passing control messages + is correct and work around some NetBSD issues (Taylor R Campbell). + - update to libptytty 1.3. + - replace macosx-clipboard by a nicer version by Reza Jelveh, and move + the old version to macosx-clipboard-native. + - document the -uc option (Emanuele Giaquinta). + - assertions in libev are now enabled depending on frills. + - update AnyEvent implementation to version 5.23 API. + - work around arrogant bsd idiocies again: netbsd spills the default + namespace with lots of symbols "for gnu/gcc compatibility" even + though neither of them does it, and then calls the rest of the world + in need of fixing. go figure. + - on_keyboard_command is on_user_command (patch by Michael Witten). + - setting the selection from perl will now reset the selection screen + to the current screen. the screen can be manipulated using + the new ->selection_screen method. + - implement --enable-assert configure option and get rid of DEBUG_STRICT + (based on patch by Emanuele Giaquinta). + - fix printpipe data output (patch by Emanuele Giaquinta). + - allow `xxx' quoting style for perl selection. + - upgrade to libev-3.9 prerelease. + - updated compose tables to unicode 5.2.0. + +9.06 Sat Nov 8 17:47:18 CET 2008 + - NOTICE: this release updates terminfo/termcap. + - updates libev to 3.48. + - the aterm code now frees the as visual and image manager objects + when a window was closed. + - do not (wrongly) adjust the virtual line length inside + scr_insdel_chars/ERASE (Miroslav Lichvar). + - fix an issue where wide tab characters caused character shifts + when part of them was deleted (tracked down by Miroslav Lichvar). + - artificially enlargen the previous character at the end of a line + when trying to output a character that doesn't fit. looks ugly, but + makes copy&paste work. + - remove bogus "setuid/setgid security issues" from rxvt.1.pod, they + no longer apply. + - the urgency hint is now cleared on both focus in and focus out. + - cache urgency hint locally to avoid server rtt on every focus change. + - perl 5.10 needs PERL_SYS_INIT3 on hppa. + - ignore byte-order marks and do not treat them like combining characters. + - fix build issue when CURSOR_BLINK is not defined (Emanuele Giaquinta). + - do some µ-optimisations to the character fast path. + - use a less cunning, but more robust algorithm to avoid one terminal + monopolising the whole process by outputting a lot of text. + - try to work around linux first breaking sched_yield and now breaking + the only known workaround. + - new option -icon to set _NET_WM_ICON (based on patch by Frank Schmitt). + - initialise the as visual only on demand, instead of unconditionally, + to save memory in the common case of not using visual gimmicks. + - try to work around bugs in a few wm's that erroneously resize + client windows on hint property updates by temporarily + disabling size hints. + - implement the DECSTR soft reset sequence and use it for tput init, + and make hard RIS and DECSTR both reset more private modes, such + as mouse reporting. + - redundantly clear mouse reporting and a few other states in + tput init/tput reset, for older urxvts. + - partial/full clear screens did cause flickering and possibly pixel + droppings when urxvt viewed the scrollback buffer. + - use current rendition style in DCH sequence. + - the 132/80 mode switch no longer forces a screen reset. + - add an osc sequence to change the border colour (Emanuele Giaquinta). + - new perl extension "overlay-osc", for status displays and the like. + - fix some minor cursor drawing issues with overlays by allowing + overlays to modify screen flags (to disable the cursor themselves). + - work around programs not restoring rstyle before rmcup + (analysed by Miroslav Lichvar). + +9.05 Sun Jun 15 20:09:20 CEST 2008 + - new option --cd/chdir to set the starting working directory. + - tabbed extension now starts in the "correct" working directory. + - work around fedora 9 providing isastream but not the relevant + header file for it (report by Tuncer Ayaz). + - upgrade libev, fixing a bug in the select backend. + with more than 31 file descriptors on non-linux 64 bit systems. + - correctly reset the multibyte state to the initial one + after EILSEQ (patch by Neil Booth). This fixes the + issue of rxvt-unicode not properly displaying text after an illegal + sequence on NetBSD and probably other systems. + - more intelligent property handling with -pe tabbed, works around + broken window managers (kwm et al.), saves bandwidth and should + help working window managers as well. + - made tabs moveable (based on a patch by Petr Machata). + - implement ESC [ 3 K as a more rational alternative to ESC [ 0 K. + - support relative paths for RXVT_SOCKET in urxvtd. + - the tabbed extension now blindly copies over all (rxvt-) resources + from the toplevel window to the children. + - better diagnostic on 0x0 window geometries. + - update AnyEvent API to version 3.4 and above. + - document the default value of :0 for DISPLAY. + - rename perl method XChangeWindowProperty to XChangeProperty. + +9.02 Tue Jan 29 11:58:36 CET 2008 + - the "exg makes everybody happy" release. + - fix build with !xft. + - always compile in plain style scrollbar (simplifies code and looks great). + +9.01 Sat Jan 26 20:49:27 CET 2008 + - be more aggressive about handling X events, this seems to be required + with newer xlibs (should fix the "screen stays black until event is + received" problem, again :) + - add buffered resource to control xft double-buffering. -9.0 +9.0 Fri Jan 25 19:34:04 CET 2008 - fix a crash bug where urxvtd would crash when urxvtc was called with wrong arguments (I wish debian maintainers in general would - report bugs and their proposed fixes to the original package maintaienrs + report bugs and their proposed fixes to the original package maintainers instead of sitting on them for good measure to see if anybody notices). - drawing xft compose characters was causing garbage to be drawn. - correctly clear xft character background in all cases. @@ -94,14 +384,14 @@ - fix memory leak in pixmap code. - fix a serious bug while setting the XIM destroy callback on (typical) 64 bit systems. - - automove-background functionality re-implemented internaly using :root op in pixmap + - automove-background functionality re-implemented internally using :root op in pixmap geometry string. For example: rxvt -pixmap "image.jpg;:root" - do not link rxvtc against every lib on the planet anymore. - parallel builds should work once more. 8.4 Sat Oct 27 14:02:13 CEST 2007 - overhaul of the transparency/pixmap code (sasha). - - fix possible race betwen visual bell and poweron. + - fix possible race between visual bell and poweron. (reported by Martin von Gagern, gentoo?). - urxvt -e no longer crashes the child. - fixed some minor memleaks on incorrect usage or @@ -218,7 +508,7 @@ resource used") and seems to be logical behaviour, too. .Xdefaults resources have a lower priority than display-specific resources. - add "kuake" perl extension that does a similar thing to the kuake - terminal emulator (see man urxtvperl). + terminal emulator (see man urxvtperl). - use less "correct" color scaling that is compatible with libX11 and Xft (avoids off-by-one colors resulting in striped backgrounds). - the "depth" resource is now respected. @@ -269,7 +559,7 @@ to correctly position their preedit window. - un-optimise the line clearing on newly scrolled-in lines a bit: the former reasoning was that any fg colour on default bg looks the same - in empty spaces, but thats not true when reversing (e.g. selection), + in empty spaces, but that's not true when reversing (e.g. selection), so also check for matching fg colours. This fixes the problem where selecting newly scrolled-in lines would exhibit wrong colours. - fix a bug in the perl interface causing focus in events to generate @@ -288,7 +578,7 @@ - +option now really sets the option to default, instead of using the resource value. - options that require an argument now really _require_ an argument. - - the tabbed extension now forwards focus and keys events to th + - the tabbed extension now forwards focus and key events to the relevant tab window. - tab colours are now configurable and have sensible defaults (initial patch by hednod). @@ -386,7 +676,7 @@ 7.2 Sun Jan 22 21:58:16 CET 2006 - bugfix: urxvt (not urxvtd) did not correctly handle multiple environments necessary, which resulted in segfaults within - getenv (reproducable: urxvt -fn 9x15, open a menu once, + getenv (reproducible: urxvt -fn 9x15, open a menu once, ctrl-shift-672c). - bugfix: the selection speedup in in 7.1 unfortunately caused non-ascii characters to enlarge/move the selection. @@ -438,7 +728,7 @@ as kwin puts our windows behind the terminal (what a shoddy wm). - fixed struct utmp check in configure for OpenBSD. - complete overhaul of the pty/utmp management stuff and configure - (Emanuele Giaquinta). + (Emanuele Giaquinta=exg). - add tsl/fsl and related capabilities to the terminfo description, to set the window title. - swap the environment in some more cases. This hopefully fixes @@ -501,7 +791,7 @@ menus, tabs etc. See the the urxvtperl manpage, the -pe option, perl*-resources and keysym resources. Not everything is there yet. - try to be more clever about differing font sizes and their ascent. - Not guarenteed to work, but works better in most cases now. + Not guaranteed to work, but works better in most cases now. - fix directory permissions on install. - implemented option to disable built-in line drawing characters and fall back to the font ones (patch by Martin Pohlack). @@ -550,7 +840,7 @@ - bump max columns/rows to 10000 each. - bump max savelines to 10000000. - -pty-fd now passes the urxvtc fd to the urxvtd process. - - avoid linking against -lnsl/-lsocket/-lxpg4 unless neccessary. + - avoid linking against -lnsl/-lsocket/-lxpg4 unless necessary. - major code cleanup (still not complete, though). - implement -hold option. - _major_ rewrite of internal buffer handling: @@ -602,7 +892,7 @@ - R_SB_RXVT bitset value was 0, so rxvt scrollbar was initialised every time resulting in display errors (original rxvt also affected). Reported by Jasmin Buchert. - - font names are now considered to be utf-8 encoded (xft apperently + - font names are now considered to be utf-8 encoded (xft apparently uses this convention. X Core fonts might not, but it should be rare). Affects display in iso14755 box. - rewrote the low-level xft drawing function ("xft backend" for the @@ -621,7 +911,7 @@ - added doc/solaris9.patch by Ewgenij Starostin. 5.5 Sat Apr 23 22:31:36 CEST 2005 - - re-enabled modifer state matching as in 5.3, but implement + - re-enabled modifier state matching as in 5.3, but implement a new builtin: keysym style that simply reverts to the built-in meaning of the given key. - use scrollcolor for next scrollbar instead of hardcoded antiquewhite @@ -659,11 +949,11 @@ in Perl/Gtk2. - fix assertion failure ("crash") on mousewheel-scrolling when the terminal height is small, by removing the assert. - (reported by Mikael Magnusson). + (reported by Mikael Magnusson=Mikachu). - SYNCCVS. backported bugfixes done to rxvt (sourceforge bugs #1028739, #1028732), except for pts/%s fix as it seems to collide with freebsd, - and sourceforge bug #954654, which is not neccessary. + and sourceforge bug #954654, which is not necessary. - change terminfo file to not clobber G1 when using line-drawing characters, as this seems to mess with EUC-JP (it will clobber G0, but G0 practically @@ -717,7 +1007,7 @@ 4.9 Thu Feb 3 09:52:03 CET 2005 - nuke out utmp entries completely. Should be fixed in original rxvt, too. (reported by James Michael Fultz). - - resizes wil now correctly refresh the displayed text when + - resizes will now correctly refresh the displayed text when -pixmap is active. - new option/resource imFont. - document --tripleclickwords/-tcw. @@ -759,7 +1049,7 @@ - fixed two tiny per-instance memory leaks. 4.7 Wed Dec 29 20:54:24 CET 2004 - - fix a bug in the event logic that could cause the temrinal to be + - fix a bug in the event logic that could cause the terminal to be black on initial startup. - do NOT call XCloseIM, ever. This causes way to many crashes due to races in the protocol and within Xlib. @@ -888,7 +1178,7 @@ - tweaked src/features.h a bit. - removed README.unicode. - support select&paste of tab characters. - - fixed a segfault when trying to load nonexistant fonts (reported + - fixed a segfault when trying to load nonexistent fonts (reported by Eduard Bloch and Mikael Magnusson). - fixed a long-standing rxvt bug in which rxvt failed to save and restore the correct cursor position on the secondary screen. @@ -949,7 +1239,7 @@ - fix coordinates used for Over && OffTheSpot editing to fit directly at the cursor (Over) or into the top line (Off). - reset SIGHUP and SIGPIPE handlers to default values (they were - previously being ignored, causing programs not to exit on windoe + previously being ignored, causing programs not to exit on window close). - implemented simple overlays for feedback messages. believe it or not, this was a major blocker in implementing tabbed terminals. @@ -1074,7 +1364,7 @@ - updated doc/etc/rxvt.* to reflect the change. This brings rxvt in line with many existing rxvt terminfo and termcap entries as well as with other terminal emulators. - - fix a segfault when trying to set a nonexistant locale + - fix a segfault when trying to set a nonexistent locale (reported by elmex). - find more fonts by default for japanese. - the internal border wasn't always cleared. This is fixed by moving @@ -1110,7 +1400,7 @@ replaced them by runtime-configurable options secondaryScreen and secondaryScroll (-ssr and -ssc) (see debian bug #237673). - close down terminal window when child exits. (debian bug #241267). - - xterm-compat: enable seperate mouse bg colour setting. + - xterm-compat: enable separate mouse bg colour setting. - re-enable mouse cursor colours again, fixing colours when fg/bg are overwritten (as is common). - xterm-compat: correctly implement privmodes 1047, 1048, 1049. @@ -1165,7 +1455,7 @@ MAX_NFONTS. UNICODE and UTF8 defines and references from all files. - default config now reads an app-defaults file even without - --enable-xgetdefaults. + --enable-xgetdefault. 2.2 Thu Mar 11 01:41:56 CET 2004 - implement autocompositing of characters by either using an existing