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

Reply via email to