Hello community, here is the log from the commit of package rxvt-unicode for openSUSE:Factory checked in at 2014-06-16 21:33:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rxvt-unicode (Old) and /work/SRC/openSUSE:Factory/.rxvt-unicode.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rxvt-unicode" Changes: -------- --- /work/SRC/openSUSE:Factory/rxvt-unicode/rxvt-unicode.changes 2013-12-10 20:08:11.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.rxvt-unicode.new/rxvt-unicode.changes 2014-06-16 21:33:34.000000000 +0200 @@ -1,0 +2,27 @@ +Tue Jun 10 15:01:39 UTC 2014 - mrueck...@suse.de + +- update to 9.20 (bnc#876101 CVE-2014-3121) + - (libptytty) fix bug that prevented urxvtd from writing utmp + entries when using --fork (reported by Ryan Kavanagh). + - security bugfix: window property values could be queried even + in secure mode (reported by Phillip Hallam-Baker). + - fix build when perl is enabled and fading is disabled. + - fix regression that broke continuous scrolling when pressing + and holding the scrollbar up or down button, gentoo bug + #493992. + - increase the maximum length of a command sequence to 32k bytes, + to allow longer OSC sequences (previous limit was 2k). + - new Ctrl-Meta-c and Ctrl-Meta-v bindings to interact with the + CLIPBOARD selection. + - new extension: selection-to-clipboard. + - the extensions macosx-clipboard and macosx-clipboard-native are + deprecated and will be removed in the next release. Support + for the clipboard on OS X can be more generally enabled by + setting the XQuartz preference to sync the OS X pasteboard + and the X11 clipboard. +- dropped rxvt-return-in-nonvoid-function.patch included upstream +- refreshed patches: + old name: rxvt-unicode-9.14-CVE-2008-1142-DISPLAY.patch + new name: rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch + +------------------------------------------------------------------- Old: ---- rxvt-return-in-nonvoid-function.patch rxvt-unicode-9.14-CVE-2008-1142-DISPLAY.patch rxvt-unicode-9.19.tar.bz2 New: ---- rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch rxvt-unicode-9.20.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rxvt-unicode.spec ++++++ --- /var/tmp/diff_new_pack.lVNK6F/_old 2014-06-16 21:33:35.000000000 +0200 +++ /var/tmp/diff_new_pack.lVNK6F/_new 2014-06-16 21:33:35.000000000 +0200 @@ -17,7 +17,7 @@ Name: rxvt-unicode -Version: 9.19 +Version: 9.20 Release: 0 # # @@ -55,10 +55,8 @@ Source2: rxvt-unicode.README.SuSE Source3: rxvt-unicode-256color.desktop Source4: rxvt-unicode.desktop -Patch1: rxvt-unicode-9.14-CVE-2008-1142-DISPLAY.patch +Patch1: rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch Patch2: rxvt-unicode-remove_unused_attribute.patch -# PATCH-FIX-UPSTREAM rxvt-return-in-nonvoid-function.patch -Patch3: rxvt-return-in-nonvoid-function.patch # Summary: Rxvt X Terminal with Unicode Support License: LGPL-2.1+ @@ -82,7 +80,6 @@ %if 0%{?suse_version} > 0 && 0%{?suse_version} < 1000 %patch2 %endif -%patch3 find -type d -name CVS -print0 | xargs -r0 %__rm -r %{__install} -m 0644 %{S:2} README.SUSE @@ -197,6 +194,7 @@ %{_libdir}/urxvt/perl/confirm-paste %{_libdir}/urxvt/perl/bell-command %{_libdir}/urxvt/perl/keysym-list +%{_libdir}/urxvt/perl/selection-to-clipboard %{_datadir}/applications/rxvt-unicode-256color.desktop %{_datadir}/applications/rxvt-unicode.desktop ++++++ rxvt-unicode-9.14-CVE-2008-1142-DISPLAY.patch -> rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch ++++++ --- /work/SRC/openSUSE:Factory/rxvt-unicode/rxvt-unicode-9.14-CVE-2008-1142-DISPLAY.patch 2012-01-10 14:51:33.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.rxvt-unicode.new/rxvt-unicode-9.20-CVE-2008-1142-DISPLAY.patch 2014-06-16 21:33:34.000000000 +0200 @@ -1,6 +1,8 @@ ---- src/init.C.orig 2011-12-22 00:48:23.865000426 +0100 -+++ src/init.C 2011-12-22 00:50:25.830000425 +0100 -@@ -578,13 +578,12 @@ +Index: src/init.C +=================================================================== +--- src/init.C.orig 2014-06-10 16:56:11.607914416 +0200 ++++ src/init.C 2014-06-10 16:58:40.643914152 +0200 +@@ -576,13 +576,12 @@ rxvt_term::init_resources (int argc, con * Open display, get options/resources and create the window */ ++++++ rxvt-unicode-9.19.tar.bz2 -> rxvt-unicode-9.20.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/Changes new/rxvt-unicode-9.20/Changes --- old/rxvt-unicode-9.19/Changes 2013-10-27 17:16:17.000000000 +0100 +++ new/rxvt-unicode-9.20/Changes 2014-04-26 16:22:32.000000000 +0200 @@ -33,6 +33,25 @@ TODO IMPL: colour-change event with index TODO IMPL: recalc bg always on bg colour change +9.20 Sat Apr 26 16:22:27 CEST 2014 + - (libptytty) fix bug that prevented urxvtd from writing utmp + entries when using --fork (reported by Ryan Kavanagh). + - security bugfix: window property values could be queried even + in secure mode (reported by Phillip Hallam-Baker). + - fix build when perl is enabled and fading is disabled. + - fix regression that broke continuous scrolling when pressing + and holding the scrollbar up or down button, gentoo bug #493992. + - increase the maximum length of a command sequence to 32k bytes, + to allow longer OSC sequences (previous limit was 2k). + - new Ctrl-Meta-c and Ctrl-Meta-v bindings to interact with + the CLIPBOARD selection. + - new extension: selection-to-clipboard. + - the extensions macosx-clipboard and macosx-clipboard-native + are deprecated and will be removed in the next release. + Support for the clipboard on OS X can be more generally + enabled by setting the XQuartz preference to sync the OS X + pasteboard and the X11 clipboard. + 9.19 Sun Oct 27 17:16:07 CET 2013 - work around perl 5.18.0 breakage in tabbed extension (reported by Karol Blazewicz) and in pod (Dominic Hargreaves). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/MANIFEST new/rxvt-unicode-9.20/MANIFEST --- old/rxvt-unicode-9.19/MANIFEST 2012-09-22 01:18:03.000000000 +0200 +++ new/rxvt-unicode-9.20/MANIFEST 2014-04-25 00:32:45.000000000 +0200 @@ -173,6 +173,7 @@ src/perl/selection-autotransform src/perl/selection-pastebin src/perl/selection-popup +src/perl/selection-to-clipboard src/perl/tabbed src/perl/urxvt-popup src/perl/xim-onthespot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/README.FAQ new/rxvt-unicode-9.20/README.FAQ --- old/rxvt-unicode-9.19/README.FAQ 2013-10-27 17:19:21.000000000 +0100 +++ new/rxvt-unicode-9.20/README.FAQ 2014-04-26 16:27:25.000000000 +0200 @@ -494,13 +494,13 @@ My Compose (Multi_key) key is no longer working. The most common causes for this are that either your locale is not set - correctly, or you specified a preeditStyle that is not supported by your + correctly, or you specified a preeditType that is not supported by your input method. For example, if you specified OverTheSpot and your input method (e.g. the default input method handling Compose keys) does not support this (for instance because it is not visual), then rxvt-unicode will continue without an input method. - In this case either do not specify a preeditStyle or specify more than + In this case either do not specify a preeditType or specify more than one pre-edit style, such as OverTheSpot,Root,None. If it still doesn't work, then maybe your input method doesn't support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/README.configure new/rxvt-unicode-9.20/README.configure --- old/rxvt-unicode-9.19/README.configure 2013-10-27 17:19:21.000000000 +0100 +++ new/rxvt-unicode-9.20/README.configure 2014-04-26 16:27:24.000000000 +0200 @@ -192,7 +192,7 @@ verbose X error handling --enable-iso14755 (default: on) - Enable extended ISO 14755 support (see rxvt(1)). Basic support + Enable extended ISO 14755 support (see urxvt(1)). Basic support (section 5.1) is enabled by "--enable-frills", while support for 5.2, 5.3 and 5.4 is enabled with this switch. @@ -224,8 +224,8 @@ Add support to have the pointer disappear when typing or inactive. --enable-perl (default: on) - Enable an embedded perl interpreter. See the rxvtperl(3) manpage for - more info on this feature, or the files in src/perl/ for the + Enable an embedded perl interpreter. See the urxvtperl(3) manpage + for more info on this feature, or the files in src/perl/ for the extensions that are installed by default. The perl interpreter that is used can be specified via the "PERL" environment variable when running configure. Even when compiled in, perl will *not* be @@ -247,7 +247,7 @@ "rxvt-unicode-256color" by default (doc/etc/ contains termcap/terminfo definitions for both). - It also results in higher memory usage and can slow down rxvt + It also results in higher memory usage and can slow down urxvt dramatically when more than six fonts are in use by a terminal instance. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvt.1.man.in new/rxvt-unicode-9.20/doc/rxvt.1.man.in --- old/rxvt-unicode-9.19/doc/rxvt.1.man.in 2013-10-27 17:19:20.000000000 +0100 +++ new/rxvt-unicode-9.20/doc/rxvt.1.man.in 2014-04-26 16:29:58.000000000 +0200 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2013-10-27" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -1368,6 +1368,12 @@ .Sp Pressing \fBShift-Insert\fR causes the value of the \s-1PRIMARY\s0 selection to be inserted too. +.Sp +rxvt-unicode also provides the bindings \fBCtrl-Meta-c\fR and +<Ctrl\-Meta\-v> to interact with the \s-1CLIPBOARD\s0 selection. The first +binding causes the value of the internal selection to be copied to the +\&\s-1CLIPBOARD\s0 selection, while the second binding causes the value of the +\&\s-1CLIPBOARD\s0 selection to be inserted. .SH "CHANGING FONTS" .IX Header "CHANGING FONTS" Changing fonts (or font sizes, respectively) via the keypad is not yet @@ -1495,8 +1501,8 @@ The \s-1RGB\s0 cube uses indices 16..79 (16..231) using the following formulas: .PP .Vb 2 -\& index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 -\& index_256 = (r * 16 + g) * 16 + b + 16 # r, g, b = 0..15 +\& index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 +\& index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5 .Ve .PP The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvt.1.pod new/rxvt-unicode-9.20/doc/rxvt.1.pod --- old/rxvt-unicode-9.19/doc/rxvt.1.pod 2013-06-28 02:26:08.000000000 +0200 +++ new/rxvt-unicode-9.20/doc/rxvt.1.pod 2014-04-26 16:10:12.000000000 +0200 @@ -1378,6 +1378,12 @@ Pressing B<Shift-Insert> causes the value of the PRIMARY selection to be inserted too. +rxvt-unicode also provides the bindings B<Ctrl-Meta-c> and +<Ctrl-Meta-v> to interact with the CLIPBOARD selection. The first +binding causes the value of the internal selection to be copied to the +CLIPBOARD selection, while the second binding causes the value of the +CLIPBOARD selection to be inserted. + =back =head1 CHANGING FONTS @@ -1511,8 +1517,8 @@ The RGB cube uses indices 16..79 (16..231) using the following formulas: - index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 - index_256 = (r * 16 + g) * 16 + b + 16 # r, g, b = 0..15 + index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 + index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5 The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% steps (1/26 to 25/26 in 1/26 steps) - black and white are already part of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvt.7.man.in new/rxvt-unicode-9.20/doc/rxvt.7.man.in --- old/rxvt-unicode-9.19/doc/rxvt.7.man.in 2013-10-27 17:19:20.000000000 +0100 +++ new/rxvt-unicode-9.20/doc/rxvt.7.man.in 2014-04-26 16:29:58.000000000 +0200 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 7" -.TH @@RXVT_NAME@@ 7 "2013-10-27" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 7 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -766,13 +766,13 @@ .IX Subsection "My Compose (Multi_key) key is no longer working." .PP The most common causes for this are that either your locale is not set -correctly, or you specified a \fBpreeditStyle\fR that is not supported by +correctly, or you specified a \fBpreeditType\fR that is not supported by your input method. For example, if you specified \fBOverTheSpot\fR and your input method (e.g. the default input method handling Compose keys) does not support this (for instance because it is not visual), then rxvt-unicode will continue without an input method. .PP -In this case either do not specify a \fBpreeditStyle\fR or specify more than +In this case either do not specify a \fBpreeditType\fR or specify more than one pre-edit style, such as \fBOverTheSpot,Root,None\fR. .PP If it still doesn't work, then maybe your input method doesn't support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvt.7.pod new/rxvt-unicode-9.20/doc/rxvt.7.pod --- old/rxvt-unicode-9.19/doc/rxvt.7.pod 2013-05-30 20:48:00.000000000 +0200 +++ new/rxvt-unicode-9.20/doc/rxvt.7.pod 2014-02-05 02:39:36.000000000 +0100 @@ -556,13 +556,13 @@ =head3 My Compose (Multi_key) key is no longer working. The most common causes for this are that either your locale is not set -correctly, or you specified a B<preeditStyle> that is not supported by +correctly, or you specified a B<preeditType> that is not supported by your input method. For example, if you specified B<OverTheSpot> and your input method (e.g. the default input method handling Compose keys) does not support this (for instance because it is not visual), then rxvt-unicode will continue without an input method. -In this case either do not specify a B<preeditStyle> or specify more than +In this case either do not specify a B<preeditType> or specify more than one pre-edit style, such as B<OverTheSpot,Root,None>. If it still doesn't work, then maybe your input method doesn't support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvtc.1.man.in new/rxvt-unicode-9.20/doc/rxvtc.1.man.in --- old/rxvt-unicode-9.19/doc/rxvtc.1.man.in 2013-03-24 15:38:44.000000000 +0100 +++ new/rxvt-unicode-9.20/doc/rxvtc.1.man.in 2014-04-26 16:29:58.000000000 +0200 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -38,6 +38,8 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. @@ -48,17 +50,24 @@ .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2013-03-24" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/doc/rxvtd.1.man.in new/rxvt-unicode-9.20/doc/rxvtd.1.man.in --- old/rxvt-unicode-9.19/doc/rxvtd.1.man.in 2013-03-24 15:38:44.000000000 +0100 +++ new/rxvt-unicode-9.20/doc/rxvtd.1.man.in 2014-04-26 16:29:58.000000000 +0200 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -38,6 +38,8 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. @@ -48,17 +50,24 @@ .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "@@RXVT_NAME@@ 1" -.TH @@RXVT_NAME@@ 1 "2013-03-24" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.TH @@RXVT_NAME@@ 1 "2014-04-26" "@@RXVT_VERSION@@" "RXVT-UNICODE" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/Changes new/rxvt-unicode-9.20/libev/Changes --- old/rxvt-unicode-9.19/libev/Changes 2013-10-12 03:51:00.000000000 +0200 +++ new/rxvt-unicode-9.20/libev/Changes 2014-04-25 15:05:32.000000000 +0200 @@ -12,10 +12,22 @@ TODO: store loop pid_t and compare isndie signal handler,store 1 for same, 2 for differign pid, clean up in loop_fork TODO: embed watchers need updating when fd changes TODO: document portbaility requirements for atomic pointer access +TODO: possible cb aliasing? +TODO: document requirements for function piinters and calling conventions. -TODO: glibc >=2.17 do not need -lrt for clock_xxx + - events on files were not always generated properly with the + epoll backend (testcase by Assaf Inbal). - mark event pipe fd as cloexec after a fork (analyzed by Sami Farin). - (ecb) support m68k, m88k and sh (patch by Miod Vallat). + - use a reasonable fallback for EV_NSIG instead of erroring out + when we can't detect the signal set size. + - in the absence of autoconf, do not use the clock syscall + on glibc >= 2.17 (avoids the syscall AND -lrt on systems + doing clock_gettime in userspace). + - ensure extern "C" function pointers are used for externally-visible + loop callbacks (not watcher callbacks yet). + - (ecb) work around memory barriers and volatile apparently both being + broken in visual studio 2008 and later (analysed and patch by Nicolas Noble). 4.15 Fri Mar 1 12:04:50 CET 2013 - destroying a non-default loop would stop the global waitpid diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/ev.c new/rxvt-unicode-9.20/libev/ev.c --- old/rxvt-unicode-9.19/libev/ev.c 2013-10-28 15:04:09.000000000 +0100 +++ new/rxvt-unicode-9.20/libev/ev.c 2014-03-25 20:26:35.000000000 +0100 @@ -1,7 +1,7 @@ /* * libev event processing core, watcher management * - * Copyright (c) 2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann <li...@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011,2012,2013 Marc Alexander Lehmann <li...@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- @@ -243,10 +243,7 @@ #elif defined _sys_nsig # define EV_NSIG (_sys_nsig) /* Solaris 2.5 */ #else -# error "unable to find value for NSIG, please report" -/* to make it compile regardless, just remove the above line, */ -/* but consider reporting it, too! :) */ -# define EV_NSIG 65 +# define EV_NSIG (8 * sizeof (sigset_t) + 1) #endif #ifndef EV_USE_FLOOR @@ -254,7 +251,7 @@ #endif #ifndef EV_USE_CLOCK_SYSCALL -# if __linux && __GLIBC__ >= 2 +# if __linux && __GLIBC__ == 2 && __GLIBC_MINOR__ < 17 # define EV_USE_CLOCK_SYSCALL EV_FEATURE_OS # else # define EV_USE_CLOCK_SYSCALL 0 @@ -487,7 +484,7 @@ /* * libecb - http://software.schmorp.de/pkg/libecb * - * Copyright (©) 2009-2012 Marc Alexander Lehmann <lib...@schmorp.de> + * Copyright (©) 2009-2014 Marc Alexander Lehmann <lib...@schmorp.de> * Copyright (©) 2011 Emanuele Giaquinta * All rights reserved. * @@ -552,7 +549,7 @@ #endif /* work around x32 idiocy by defining proper macros */ -#if __x86_64 || _M_AMD64 +#if __amd64 || __x86_64 || _M_AMD64 || _M_X64 #if _ILP32 #define ECB_AMD64_X32 1 #else @@ -575,13 +572,21 @@ #endif #endif -#define ECB_C (__STDC__+0) /* this assumes that __STDC__ is either empty or a number */ -#define ECB_C99 (__STDC_VERSION__ >= 199901L) -#define ECB_C11 (__STDC_VERSION__ >= 201112L) #define ECB_CPP (__cplusplus+0) #define ECB_CPP11 (__cplusplus >= 201103L) #if ECB_CPP + #define ECB_C 0 + #define ECB_STDC_VERSION 0 +#else + #define ECB_C 1 + #define ECB_STDC_VERSION __STDC_VERSION__ +#endif + +#define ECB_C99 (ECB_STDC_VERSION >= 199901L) +#define ECB_C11 (ECB_STDC_VERSION >= 201112L) + +#if ECB_CPP #define ECB_EXTERN_C extern "C" #define ECB_EXTERN_C_BEG ECB_EXTERN_C { #define ECB_EXTERN_C_END } @@ -622,7 +627,9 @@ #elif defined __ARM_ARCH_7__ || defined __ARM_ARCH_7A__ \ || defined __ARM_ARCH_7M__ || defined __ARM_ARCH_7R__ #define ECB_MEMORY_FENCE __asm__ __volatile__ ("dmb" : : : "memory") - #elif __sparc || __sparc__ + #elif __aarch64__ + #define ECB_MEMORY_FENCE __asm__ __volatile__ ("dmb ish" : : : "memory") + #elif (__sparc || __sparc__) && !__sparcv8 #define ECB_MEMORY_FENCE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad | #StoreStore | #StoreLoad" : : : "memory") #define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad" : : : "memory") #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("membar #LoadStore | #StoreStore") @@ -653,6 +660,8 @@ #if ECB_GCC_VERSION(4,7) /* see comment below (stdatomic.h) about the C11 memory model. */ #define ECB_MEMORY_FENCE __atomic_thread_fence (__ATOMIC_SEQ_CST) + #define ECB_MEMORY_FENCE_ACQUIRE __atomic_thread_fence (__ATOMIC_ACQUIRE) + #define ECB_MEMORY_FENCE_RELEASE __atomic_thread_fence (__ATOMIC_RELEASE) /* The __has_feature syntax from clang is so misdesigned that we cannot use it * without risking compile time errors with other compilers. We *could* @@ -661,10 +670,18 @@ * #elif defined __clang && __has_feature (cxx_atomic) * // see comment below (stdatomic.h) about the C11 memory model. * #define ECB_MEMORY_FENCE __c11_atomic_thread_fence (__ATOMIC_SEQ_CST) + * #define ECB_MEMORY_FENCE_ACQUIRE __c11_atomic_thread_fence (__ATOMIC_ACQUIRE) + * #define ECB_MEMORY_FENCE_RELEASE __c11_atomic_thread_fence (__ATOMIC_RELEASE) */ #elif ECB_GCC_VERSION(4,4) || defined __INTEL_COMPILER || defined __clang__ #define ECB_MEMORY_FENCE __sync_synchronize () + #elif _MSC_VER >= 1500 /* VC++ 2008 */ + /* apparently, microsoft broke all the memory barrier stuff in Visual Studio 2008... */ + #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) + #define ECB_MEMORY_FENCE _ReadWriteBarrier (); MemoryBarrier() + #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier (); MemoryBarrier() /* according to msdn, _ReadBarrier is not a load fence */ + #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier (); MemoryBarrier() #elif _MSC_VER >= 1400 /* VC++ 2005 */ #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) #define ECB_MEMORY_FENCE _ReadWriteBarrier () @@ -694,6 +711,8 @@ /* for most usages, or gcc and clang have a bug */ /* I *currently* lean towards the latter, and inefficiently implement */ /* all three of ecb's fences as a seq_cst fence */ + /* Update, gcc-4.8 generates mfence for all c++ fences, but nothing */ + /* for all __atomic_thread_fence's except seq_cst */ #define ECB_MEMORY_FENCE atomic_thread_fence (memory_order_seq_cst) #endif #endif @@ -760,6 +779,11 @@ #define ecb_prefetch(addr,rw,locality) __builtin_prefetch (addr, rw, locality) #else #define ecb_attribute(attrlist) + + /* possible C11 impl for integral types + typedef struct ecb_is_constant_struct ecb_is_constant_struct; + #define ecb_is_constant(expr) _Generic ((1 ? (struct ecb_is_constant_struct *)0 : (void *)((expr) - (expr)), ecb_is_constant_struct *: 0, default: 1)) */ + #define ecb_is_constant(expr) 0 #define ecb_expect(expr,value) (expr) #define ecb_prefetch(addr,rw,locality) @@ -1055,7 +1079,6 @@ || __i386 || __i386__ \ || __amd64 || __amd64__ || __x86_64 || __x86_64__ \ || __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__ \ - || defined __arm__ && defined __ARM_EABI__ \ || defined __s390__ || defined __s390x__ \ || defined __mips__ \ || defined __alpha__ \ @@ -1064,7 +1087,9 @@ || defined __m68k__ \ || defined __m88k__ \ || defined __sh__ \ - || defined _M_IX86 || defined _M_AMD64 || defined _M_IA64 + || defined _M_IX86 || defined _M_AMD64 || defined _M_IA64 \ + || (defined __arm__ && (defined __ARM_EABI__ || defined __EABI__ || defined __VFP_FP__ || defined _WIN32_WCE || defined __ANDROID__)) \ + || defined __aarch64__ #define ECB_STDFP 1 #include <string.h> /* for memcpy */ #else @@ -1075,10 +1100,17 @@ #include <math.h> /* for frexp*, ldexp*, INFINITY, NAN */ - #ifdef NEN + /* only the oldest of old doesn't have this one. solaris. */ + #ifdef INFINITY + #define ECB_INFINITY INFINITY + #else + #define ECB_INFINITY HUGE_VAL + #endif + + #ifdef NAN #define ECB_NAN NAN #else - #define ECB_NAN INFINITY + #define ECB_NAN ECB_INFINITY #endif /* converts an ieee half/binary16 to a float */ @@ -1093,7 +1125,7 @@ if (!e ) r = ldexpf (m , -24); else if (e != 31) r = ldexpf (m + 0x400, e - 25); else if (m ) r = ECB_NAN; - else r = INFINITY; + else r = ECB_INFINITY; return x & 0x8000 ? -r : r; } @@ -2550,13 +2582,13 @@ } void -ev_set_invoke_pending_cb (EV_P_ void (*invoke_pending_cb)(EV_P)) EV_THROW +ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_THROW { invoke_cb = invoke_pending_cb; } void -ev_set_loop_release_cb (EV_P_ void (*release)(EV_P) EV_THROW, void (*acquire)(EV_P) EV_THROW) EV_THROW +ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW { release_cb = release; acquire_cb = acquire; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/ev.h new/rxvt-unicode-9.20/libev/ev.h --- old/rxvt-unicode-9.19/libev/ev.h 2013-07-13 03:59:26.000000000 +0200 +++ new/rxvt-unicode-9.20/libev/ev.h 2013-12-27 07:00:22.000000000 +0100 @@ -658,8 +658,10 @@ /* advanced stuff for threading etc. support, see docs */ EV_API_DECL void ev_set_userdata (EV_P_ void *data) EV_THROW; EV_API_DECL void *ev_userdata (EV_P) EV_THROW; -EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ void (*invoke_pending_cb)(EV_P)) EV_THROW; -EV_API_DECL void ev_set_loop_release_cb (EV_P_ void (*release)(EV_P), void (*acquire)(EV_P) EV_THROW) EV_THROW; +typedef void (*ev_loop_callback)(EV_P); +EV_API_DECL void ev_set_invoke_pending_cb (EV_P_ ev_loop_callback invoke_pending_cb) EV_THROW; +typedef void (*ev_loop_callback_nothrow)(EV_P) EV_THROW; +EV_API_DECL void ev_set_loop_release_cb (EV_P_ ev_loop_callback_nothrow release, ev_loop_callback_nothrow acquire) EV_THROW; EV_API_DECL unsigned int ev_pending_count (EV_P) EV_THROW; /* number of pending events, if any */ EV_API_DECL void ev_invoke_pending (EV_P); /* invoke all pending watchers */ @@ -730,7 +732,7 @@ #endif /* stopping (enabling, adding) a watcher does nothing if it is already running */ -/* stopping (disabling, deleting) a watcher does nothing unless its already running */ +/* stopping (disabling, deleting) a watcher does nothing unless it's already running */ #if EV_PROTOTYPES /* feeds an event into a watcher as if the event actually occurred */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/ev_epoll.c new/rxvt-unicode-9.20/libev/ev_epoll.c --- old/rxvt-unicode-9.19/libev/ev_epoll.c 2012-12-05 19:19:37.000000000 +0100 +++ new/rxvt-unicode-9.20/libev/ev_epoll.c 2014-04-25 15:04:40.000000000 +0200 @@ -228,7 +228,10 @@ if (anfds [fd].emask & EV_EMASK_EPERM && events) fd_event (EV_A_ fd, events); else - epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + { + epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + anfds [fd].emask = 0; + } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/ev_kqueue.c new/rxvt-unicode-9.20/libev/ev_kqueue.c --- old/rxvt-unicode-9.19/libev/ev_kqueue.c 2012-12-05 19:19:37.000000000 +0100 +++ new/rxvt-unicode-9.20/libev/ev_kqueue.c 2014-01-16 12:50:57.000000000 +0100 @@ -1,7 +1,7 @@ /* * libev kqueue backend * - * Copyright (c) 2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann <li...@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011,2012,2013 Marc Alexander Lehmann <li...@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libev/ev_vars.h new/rxvt-unicode-9.20/libev/ev_vars.h --- old/rxvt-unicode-9.19/libev/ev_vars.h 2013-07-13 03:59:26.000000000 +0200 +++ new/rxvt-unicode-9.20/libev/ev_vars.h 2014-01-16 12:51:02.000000000 +0100 @@ -1,7 +1,7 @@ /* * loop member variable declarations * - * Copyright (c) 2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann <li...@schmorp.de> + * Copyright (c) 2007,2008,2009,2010,2011,2012,2013 Marc Alexander Lehmann <li...@schmorp.de> * All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- @@ -194,9 +194,9 @@ VARx(unsigned int, loop_depth) /* #ev_run enters - #ev_run leaves */ VARx(void *, userdata) -VAR (release_cb, void (*release_cb)(EV_P) EV_THROW) -VAR (acquire_cb, void (*acquire_cb)(EV_P) EV_THROW) -VAR (invoke_cb , void (*invoke_cb) (EV_P)) +VAR (release_cb, ev_loop_callback_nothrow release_cb) +VAR (acquire_cb, ev_loop_callback_nothrow acquire_cb) +VAR (invoke_cb , ev_loop_callback invoke_cb) #endif #undef VARx diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libptytty/Changes new/rxvt-unicode-9.20/libptytty/Changes --- old/rxvt-unicode-9.19/libptytty/Changes 2012-05-19 02:08:37.000000000 +0200 +++ new/rxvt-unicode-9.20/libptytty/Changes 2013-12-28 01:27:52.000000000 +0100 @@ -1,4 +1,6 @@ + - nuke the pid check when !PTYTTY_REENTRANT: it breaks urxvtd, and + serves little purpose as it is off in normal builds anyway. - add ecb.h. 1.6 Sat Jan 21 16:59:22 CET 2012 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libptytty/src/ecb.h new/rxvt-unicode-9.20/libptytty/src/ecb.h --- old/rxvt-unicode-9.19/libptytty/src/ecb.h 2013-10-27 10:41:25.000000000 +0100 +++ new/rxvt-unicode-9.20/libptytty/src/ecb.h 2014-03-25 20:26:24.000000000 +0100 @@ -1,7 +1,7 @@ /* * libecb - http://software.schmorp.de/pkg/libecb * - * Copyright (©) 2009-2012 Marc Alexander Lehmann <lib...@schmorp.de> + * Copyright (©) 2009-2014 Marc Alexander Lehmann <lib...@schmorp.de> * Copyright (©) 2011 Emanuele Giaquinta * All rights reserved. * @@ -66,7 +66,7 @@ #endif /* work around x32 idiocy by defining proper macros */ -#if __x86_64 || _M_AMD64 +#if __amd64 || __x86_64 || _M_AMD64 || _M_X64 #if _ILP32 #define ECB_AMD64_X32 1 #else @@ -89,13 +89,21 @@ #endif #endif -#define ECB_C (__STDC__+0) /* this assumes that __STDC__ is either empty or a number */ -#define ECB_C99 (__STDC_VERSION__ >= 199901L) -#define ECB_C11 (__STDC_VERSION__ >= 201112L) #define ECB_CPP (__cplusplus+0) #define ECB_CPP11 (__cplusplus >= 201103L) #if ECB_CPP + #define ECB_C 0 + #define ECB_STDC_VERSION 0 +#else + #define ECB_C 1 + #define ECB_STDC_VERSION __STDC_VERSION__ +#endif + +#define ECB_C99 (ECB_STDC_VERSION >= 199901L) +#define ECB_C11 (ECB_STDC_VERSION >= 201112L) + +#if ECB_CPP #define ECB_EXTERN_C extern "C" #define ECB_EXTERN_C_BEG ECB_EXTERN_C { #define ECB_EXTERN_C_END } @@ -136,7 +144,9 @@ #elif defined __ARM_ARCH_7__ || defined __ARM_ARCH_7A__ \ || defined __ARM_ARCH_7M__ || defined __ARM_ARCH_7R__ #define ECB_MEMORY_FENCE __asm__ __volatile__ ("dmb" : : : "memory") - #elif __sparc || __sparc__ + #elif __aarch64__ + #define ECB_MEMORY_FENCE __asm__ __volatile__ ("dmb ish" : : : "memory") + #elif (__sparc || __sparc__) && !__sparcv8 #define ECB_MEMORY_FENCE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad | #StoreStore | #StoreLoad" : : : "memory") #define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad" : : : "memory") #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("membar #LoadStore | #StoreStore") @@ -167,6 +177,8 @@ #if ECB_GCC_VERSION(4,7) /* see comment below (stdatomic.h) about the C11 memory model. */ #define ECB_MEMORY_FENCE __atomic_thread_fence (__ATOMIC_SEQ_CST) + #define ECB_MEMORY_FENCE_ACQUIRE __atomic_thread_fence (__ATOMIC_ACQUIRE) + #define ECB_MEMORY_FENCE_RELEASE __atomic_thread_fence (__ATOMIC_RELEASE) /* The __has_feature syntax from clang is so misdesigned that we cannot use it * without risking compile time errors with other compilers. We *could* @@ -175,10 +187,18 @@ * #elif defined __clang && __has_feature (cxx_atomic) * // see comment below (stdatomic.h) about the C11 memory model. * #define ECB_MEMORY_FENCE __c11_atomic_thread_fence (__ATOMIC_SEQ_CST) + * #define ECB_MEMORY_FENCE_ACQUIRE __c11_atomic_thread_fence (__ATOMIC_ACQUIRE) + * #define ECB_MEMORY_FENCE_RELEASE __c11_atomic_thread_fence (__ATOMIC_RELEASE) */ #elif ECB_GCC_VERSION(4,4) || defined __INTEL_COMPILER || defined __clang__ #define ECB_MEMORY_FENCE __sync_synchronize () + #elif _MSC_VER >= 1500 /* VC++ 2008 */ + /* apparently, microsoft broke all the memory barrier stuff in Visual Studio 2008... */ + #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) + #define ECB_MEMORY_FENCE _ReadWriteBarrier (); MemoryBarrier() + #define ECB_MEMORY_FENCE_ACQUIRE _ReadWriteBarrier (); MemoryBarrier() /* according to msdn, _ReadBarrier is not a load fence */ + #define ECB_MEMORY_FENCE_RELEASE _WriteBarrier (); MemoryBarrier() #elif _MSC_VER >= 1400 /* VC++ 2005 */ #pragma intrinsic(_ReadBarrier,_WriteBarrier,_ReadWriteBarrier) #define ECB_MEMORY_FENCE _ReadWriteBarrier () @@ -208,6 +228,8 @@ /* for most usages, or gcc and clang have a bug */ /* I *currently* lean towards the latter, and inefficiently implement */ /* all three of ecb's fences as a seq_cst fence */ + /* Update, gcc-4.8 generates mfence for all c++ fences, but nothing */ + /* for all __atomic_thread_fence's except seq_cst */ #define ECB_MEMORY_FENCE atomic_thread_fence (memory_order_seq_cst) #endif #endif @@ -274,6 +296,11 @@ #define ecb_prefetch(addr,rw,locality) __builtin_prefetch (addr, rw, locality) #else #define ecb_attribute(attrlist) + + /* possible C11 impl for integral types + typedef struct ecb_is_constant_struct ecb_is_constant_struct; + #define ecb_is_constant(expr) _Generic ((1 ? (struct ecb_is_constant_struct *)0 : (void *)((expr) - (expr)), ecb_is_constant_struct *: 0, default: 1)) */ + #define ecb_is_constant(expr) 0 #define ecb_expect(expr,value) (expr) #define ecb_prefetch(addr,rw,locality) @@ -569,7 +596,6 @@ || __i386 || __i386__ \ || __amd64 || __amd64__ || __x86_64 || __x86_64__ \ || __powerpc__ || __ppc__ || __powerpc64__ || __ppc64__ \ - || defined __arm__ && defined __ARM_EABI__ \ || defined __s390__ || defined __s390x__ \ || defined __mips__ \ || defined __alpha__ \ @@ -578,7 +604,9 @@ || defined __m68k__ \ || defined __m88k__ \ || defined __sh__ \ - || defined _M_IX86 || defined _M_AMD64 || defined _M_IA64 + || defined _M_IX86 || defined _M_AMD64 || defined _M_IA64 \ + || (defined __arm__ && (defined __ARM_EABI__ || defined __EABI__ || defined __VFP_FP__ || defined _WIN32_WCE || defined __ANDROID__)) \ + || defined __aarch64__ #define ECB_STDFP 1 #include <string.h> /* for memcpy */ #else @@ -589,10 +617,17 @@ #include <math.h> /* for frexp*, ldexp*, INFINITY, NAN */ - #ifdef NEN + /* only the oldest of old doesn't have this one. solaris. */ + #ifdef INFINITY + #define ECB_INFINITY INFINITY + #else + #define ECB_INFINITY HUGE_VAL + #endif + + #ifdef NAN #define ECB_NAN NAN #else - #define ECB_NAN INFINITY + #define ECB_NAN ECB_INFINITY #endif /* converts an ieee half/binary16 to a float */ @@ -607,7 +642,7 @@ if (!e ) r = ldexpf (m , -24); else if (e != 31) r = ldexpf (m + 0x400, e - 25); else if (m ) r = ECB_NAN; - else r = INFINITY; + else r = ECB_INFINITY; return x & 0x8000 ? -r : r; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libptytty/src/proxy.C new/rxvt-unicode-9.20/libptytty/src/proxy.C --- old/rxvt-unicode-9.19/libptytty/src/proxy.C 2012-05-19 03:57:47.000000000 +0200 +++ new/rxvt-unicode-9.20/libptytty/src/proxy.C 2013-12-28 01:26:46.000000000 +0100 @@ -41,7 +41,7 @@ #if PTYTTY_HELPER static int sock_fd = -1, lock_fd = -1; -static int helper_pid, owner_pid; +static int helper_pid; struct command { @@ -212,21 +212,9 @@ void ptytty::use_helper () { -#ifndef PTYTTY_NO_PID_CHECK - int pid = getpid (); -#endif - - if (sock_fd >= 0 -#ifndef PTYTTY_NO_PID_CHECK - && pid == owner_pid -#endif - ) + if (sock_fd >= 0) return; -#ifndef PTYTTY_NO_PID_CHECK - owner_pid = pid; -#endif - int sv[2]; if (socketpair (AF_UNIX, SOCK_STREAM, 0, sv)) @@ -286,11 +274,7 @@ ptytty::create () { #if PTYTTY_HELPER - if (helper_pid -# ifndef PTYTTY_NO_PID_CHECK - && getpid () == owner_pid -# endif - ) + if (helper_pid) // use helper process return new ptytty_proxy; else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libptytty/src/ptytty.h new/rxvt-unicode-9.20/libptytty/src/ptytty.h --- old/rxvt-unicode-9.19/libptytty/src/ptytty.h 2012-05-19 03:57:47.000000000 +0200 +++ new/rxvt-unicode-9.20/libptytty/src/ptytty.h 2013-12-28 01:25:21.000000000 +0100 @@ -4,10 +4,6 @@ #include "libptytty.h" #include "ptytty_conf.h" -#if PTYTTY_REENTRANT -# define PTYTTY_NO_PID_CHECK 1 -#endif - #if defined(HAVE__GETPTY) || defined(HAVE_OPENPTY) || defined(UNIX98_PTY) # define NO_SETOWNER_TTYDEV 1 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/libptytty/src/ptytty_conf.h new/rxvt-unicode-9.20/libptytty/src/ptytty_conf.h --- old/rxvt-unicode-9.19/libptytty/src/ptytty_conf.h 2012-05-19 03:57:47.000000000 +0200 +++ new/rxvt-unicode-9.20/libptytty/src/ptytty_conf.h 2014-01-10 16:27:36.000000000 +0100 @@ -22,11 +22,11 @@ #endif /* - * Define if you want to use a single helper process from multiple threads - * OR forked processes. Without it, the helper will only work from the - * process having started it, and it might not be possible to start another - * helper. Having it disabled avoids some syscalls and reduces codesize, - * but unless you are really short on cpu or memory, it's not worth disabling. + * Define if you want to use a single helper process from multiple + * threads OR forked processes. Without it, the user is responsible for + * serialising all calls to libptytty functions. Having it disabled + * avoids some syscalls and reduces codesize, but unless you are really + * short on cpu or memory, it's not worth disabling. */ #ifndef PTYTTY_REENTRANT # define PTYTTY_REENTRANT 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/Makefile.in new/rxvt-unicode-9.20/src/Makefile.in --- old/rxvt-unicode-9.19/src/Makefile.in 2013-10-28 15:08:32.000000000 +0100 +++ new/rxvt-unicode-9.20/src/Makefile.in 2014-04-26 16:29:58.000000000 +0200 @@ -111,8 +111,8 @@ @IF_PERL@ $(INSTALL_DATA) "$$ext" $(DESTDIR)$(libdir)/urxvt/perl/; \ @IF_PERL@ < "$$ext" \ @IF_PERL@ $(PERL) -MPod::Man -e '(new Pod::Man name => "'urxvt-$$base'", $(PODOPTS))->parse_from_file' \ -@IF_PERL@ > ../mantmp; \ -@IF_PERL@ test -s ../mantmp && $(INSTALL_DATA) ../mantmp $(DESTDIR)$(man1dir)/$(RXVTNAME)-$$base.$(man1ext); \ +@IF_PERL@ > mantmp; \ +@IF_PERL@ test -s mantmp && $(INSTALL_DATA) mantmp $(DESTDIR)$(man1dir)/$(RXVTNAME)-$$base.$(man1ext); \ @IF_PERL@ < "$$ext" $(PERL) -ne '<>, (print <> . "\n"), exit if /^=head1/' >&3; \ @IF_PERL@ done 3>manlst @IF_PERL@ cat $(srcdir)/../doc/extensions.pod.top manlst $(srcdir)/../doc/extensions.pod.bot | \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/command.C new/rxvt-unicode-9.20/src/command.C --- old/rxvt-unicode-9.19/src/command.C 2013-05-06 07:37:06.000000000 +0200 +++ new/rxvt-unicode-9.20/src/command.C 2014-04-26 16:10:12.000000000 +0200 @@ -27,7 +27,7 @@ * Copyright (c) 2001 Marius Gedminas * - Ctrl/Mod4+Tab works like Meta+Tab (options) * Copyright (c) 2003 Rob McMullen <r...@flipturn.org> - * Copyright (c) 2003-2011 Marc Lehmann <schm...@schmorp.de> + * Copyright (c) 2003-2014 Marc Lehmann <schm...@schmorp.de> * Copyright (c) 2007 Emanuele Giaquinta <e.giaqui...@glauco.it> * * This program is free software; you can redistribute it and/or modify @@ -402,6 +402,15 @@ return param; } +static inline wchar_t * +rxvt_wcsdup (const wchar_t *str, int len) +{ + wchar_t *r = (wchar_t *)rxvt_malloc ((len + 1) * sizeof (wchar_t)); + memcpy (r, str, len * sizeof (wchar_t)); + r[len] = 0; + return r; +} + void ecb_cold rxvt_term::key_press (XKeyEvent &ev) { @@ -580,6 +589,21 @@ } } + if (ctrl && meta && (keysym == XK_c || keysym == XK_v)) + { + if (keysym == XK_v) + selection_request (ev.time, Sel_Clipboard); + else if (selection.len > 0) + { + free (selection.clip_text); + selection.clip_text = rxvt_wcsdup (selection.text, selection.len); + selection.clip_len = selection.len; + selection_grab (CurrentTime, true); + } + + return; + } + #if ENABLE_FRILLS || ISO_14755 // ISO 14755 support if (iso14755buf & (ISO_14755_STARTED | ISO_14755_51)) @@ -3229,7 +3253,7 @@ unicode_t ch; bool seen_esc = false; unsigned int n = 0; - wchar_t string[STRING_MAX]; + wchar_t string[CBUFSIZ]; while ((ch = cmd_getc ()) != NOCHAR) { @@ -3254,7 +3278,7 @@ seen_esc = false; - if (n >= STRING_MAX - 1) + if (n >= sizeof (string) - 1) // stop at some sane length return NULL; @@ -3381,7 +3405,7 @@ && actual_format == 8) str = (const char *)(value); - tt_printf ("\033]%d;%s%c", op, str, resp); + tt_printf ("\033]%d;%s%c", op, option (Opt_insecure) ? str : "", resp); XFree (value); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/command.h new/rxvt-unicode-9.20/src/command.h --- old/rxvt-unicode-9.19/src/command.h 2013-03-27 17:59:20.000000000 +0100 +++ new/rxvt-unicode-9.20/src/command.h 2014-02-20 17:51:16.000000000 +0100 @@ -5,9 +5,6 @@ #ifndef COMMAND_H_ #define COMMAND_H_ -// STRING_MAX __MUST__ not be larger than what CBUFSIZ can hold. -#define STRING_MAX 2048 /* max string size for process_{dcs,osc}_seq () */ - #define ESC_ARGS 32 /* max # of args for esc sequences */ #ifndef MULTICLICK_TIME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/init.C new/rxvt-unicode-9.20/src/init.C --- old/rxvt-unicode-9.19/src/init.C 2013-03-27 17:59:20.000000000 +0100 +++ new/rxvt-unicode-9.20/src/init.C 2013-12-10 20:46:53.000000000 +0100 @@ -1410,9 +1410,7 @@ */ if (rs [Rs_iconfile]) - { - set_icon (rs [Rs_iconfile]); - } + set_icon (rs [Rs_iconfile]); #endif #if ENABLE_FRILLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/perl/selection-to-clipboard new/rxvt-unicode-9.20/src/perl/selection-to-clipboard --- old/rxvt-unicode-9.19/src/perl/selection-to-clipboard 1970-01-01 01:00:00.000000000 +0100 +++ new/rxvt-unicode-9.20/src/perl/selection-to-clipboard 2014-04-23 23:49:12.000000000 +0200 @@ -0,0 +1,27 @@ +#! perl -w + +=head1 NAME + +selection-to-clipboard - copy the selection to the clipboard each time a selection is made + +=head1 SYNOPSIS + + urxvt -pe selection-to-clipboard + +=head1 DESCRIPTION + +This very simple extension copies the selection to the clipboard every +time a selection is made. This, in effect, synchronises the clipboard with +the selection for selections done by rxvt-unicode. + +=cut + +sub on_sel_grab { + my ($self, $time) = @_; + + $self->selection ($self->selection, 1); + $self->selection_grab ($time, 1); + + () +} + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/rxvt.h new/rxvt-unicode-9.20/src/rxvt.h --- old/rxvt-unicode-9.19/src/rxvt.h 2013-10-03 01:05:18.000000000 +0200 +++ new/rxvt-unicode-9.20/src/rxvt.h 2014-02-21 19:04:37.000000000 +0100 @@ -664,7 +664,7 @@ // do not change these constants lightly, there are many interdependencies #define IMBUFSIZ 128 // input modifier buffer sizes #define KBUFSZ 512 // size of keyboard mapping buffer -#define CBUFSIZ 2048 // size of command buffer +#define CBUFSIZ 32768 // size of command buffer (longest command sequence possible) #define CBUFCNT 8 // never call pty_fill/cmd_parse more than this often in a row #define UBUFSIZ 2048 // character buffer @@ -1540,7 +1540,7 @@ bool scr_page (int nlines) NOTHROW; bool scr_page (enum page_dirn direction, int nlines) NOTHROW { - scr_page (direction * nlines); + return scr_page (direction * nlines); } bool scr_changeview (int new_view_start) NOTHROW; void scr_bell () NOTHROW; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/rxvtperl.xs new/rxvt-unicode-9.20/src/rxvtperl.xs --- old/rxvt-unicode-9.19/src/rxvtperl.xs 2013-10-03 02:55:37.000000000 +0200 +++ new/rxvt-unicode-9.20/src/rxvtperl.xs 2013-12-28 10:27:24.000000000 +0100 @@ -818,7 +818,9 @@ // TODO: should support all colour constants, create colorinc.h &c const_iv (Color_fg), const_iv (Color_bg), +#if OFF_FOCUS_FADING const_iv (Color_fade), +#endif const_iv (Color_pointer_fg), const_iv (Color_pointer_bg), const_iv (Color_border), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/urxvt.pm new/rxvt-unicode-9.20/src/urxvt.pm --- old/rxvt-unicode-9.19/src/urxvt.pm 2013-10-03 01:24:53.000000000 +0200 +++ new/rxvt-unicode-9.20/src/urxvt.pm 2013-12-28 10:27:24.000000000 +0100 @@ -571,7 +571,7 @@ $term->scan_meta; my $r = $term->{meta}{resource}; - keys %$r; # reste iterator + keys %$r; # reset iterator while (my ($pattern, $v) = each %$r) { if ( $pattern =~ /\.$/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rxvt-unicode-9.19/src/version.h new/rxvt-unicode-9.20/src/version.h --- old/rxvt-unicode-9.19/src/version.h 2013-10-27 17:15:54.000000000 +0100 +++ new/rxvt-unicode-9.20/src/version.h 2014-04-26 16:22:46.000000000 +0200 @@ -1,3 +1,3 @@ // VERSION _must_ be \d.\d+ -#define VERSION "9.19" -#define DATE "2013-10-27" +#define VERSION "9.20" +#define DATE "2014-04-26" -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org