[perl-POE/f16] Fix alarm handling

Petr Pisar ppisar at fedoraproject.org
Thu Dec 1 13:42:52 UTC 2011


commit 1f7581a36e17ae7c867512474c638e8b81e8096e
Author: Petr Písař <ppisar at redhat.com>
Date:   Thu Dec 1 14:12:52 2011 +0100

    Fix alarm handling

 ...89-Fix-double-event-arguments-dereference.patch |   29 ++++++++++++++++++
 ...ose-chars-work-when-cursor-is-at-end-of-l.patch |   32 ++++++++++++++++++++
 perl-POE.spec                                      |   11 ++++++-
 3 files changed, 71 insertions(+), 1 deletions(-)
---
diff --git a/perl-POE-1.289-Fix-double-event-arguments-dereference.patch b/perl-POE-1.289-Fix-double-event-arguments-dereference.patch
new file mode 100644
index 0000000..25487c7
--- /dev/null
+++ b/perl-POE-1.289-Fix-double-event-arguments-dereference.patch
@@ -0,0 +1,29 @@
+From 0a286398b5ef3f14454cc605f71d5be28e07481e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Thu, 1 Dec 2011 13:35:37 +0100
+Subject: [PATCH] Fix double event arguments dereference
+
+From upstream commit 41f3b9eca45a2314a6f43723e5e9f71731ef7b3e to fix
+alarm handling.
+---
+ lib/POE/Kernel.pm |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/POE/Kernel.pm b/lib/POE/Kernel.pm
+index 150e3d3..6efc794 100644
+--- a/lib/POE/Kernel.pm
++++ b/lib/POE/Kernel.pm
+@@ -1993,8 +1993,8 @@ sub alarm_remove {
+   # value when someone needs something useful from it.
+ 
+   return unless defined wantarray;
+-  return ( $event->[EV_NAME], $time, @{$event->[EV_ARGS]} ) if wantarray;
+-  return [ $event->[EV_NAME], $time, @{$event->[EV_ARGS]} ];
++  return ( $event->[EV_NAME], $time, $event->[EV_ARGS] ) if wantarray;
++  return [ $event->[EV_NAME], $time, $event->[EV_ARGS] ];
+ }
+ 
+ # Move an alarm to a new time.  This virtually removes the alarm and
+-- 
+1.7.7.4
+
diff --git a/perl-POE-1.289-Make-transpose-chars-work-when-cursor-is-at-end-of-l.patch b/perl-POE-1.289-Make-transpose-chars-work-when-cursor-is-at-end-of-l.patch
new file mode 100644
index 0000000..59b3aea
--- /dev/null
+++ b/perl-POE-1.289-Make-transpose-chars-work-when-cursor-is-at-end-of-l.patch
@@ -0,0 +1,32 @@
+From 9c028bba7e526d4e0e152c33ba3c7b14d034c301 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Hinrik=20=C3=96rn=20Sigur=C3=B0sson?= <hinrik.sig at gmail.com>
+Date: Mon, 18 Apr 2011 17:01:12 +0000
+Subject: [PATCH] Make transpose-chars work when cursor is at end of line
+
+Petr Pisar: Upstream commit de7200ea6ccf466f1a6d74cd86e3b53b590c2c43
+ported to 1.289.
+---
+ lib/POE/Wheel/ReadLine.pm |    7 ++++++-
+ 1 files changed, 6 insertions(+), 1 deletions(-)
+
+diff --git a/lib/POE/Wheel/ReadLine.pm b/lib/POE/Wheel/ReadLine.pm
+index 4a3a89f..86e1770 100644
+--- a/lib/POE/Wheel/ReadLine.pm
++++ b/lib/POE/Wheel/ReadLine.pm
+@@ -1848,7 +1848,12 @@ sub rl_clear_screen {
+ 
+ sub rl_transpose_chars {
+   my ($self, $key) = @_;
+-  if ($self->[SELF_CURSOR_INPUT] > 0 and $self->[SELF_CURSOR_INPUT] < length($self->[SELF_INPUT])) {
++  if (length($self->[SELF_INPUT]) > 1 && length($self->[SELF_INPUT]) == $self->[SELF_CURSOR_INPUT]) {
++    my $transposition = reverse substr($self->[SELF_INPUT], -2, 2);
++    substr($self->[SELF_INPUT], -2, 2) = $transposition;
++    _curs_left(_display_width($transposition));
++    print $stdout _normalize($transposition);
++  } elsif (length($self->[SELF_INPUT]) > 1 && $self->[SELF_CURSOR_INPUT] > 0) {
+     my $width_left = _display_width(substr($self->[SELF_INPUT], $self->[SELF_CURSOR_INPUT] - 1, 1));
+ 
+     my $transposition = reverse substr($self->[SELF_INPUT], $self->[SELF_CURSOR_INPUT] - 1, 2);
+-- 
+1.7.7.4
+
diff --git a/perl-POE.spec b/perl-POE.spec
index ddbe770..de2891a 100644
--- a/perl-POE.spec
+++ b/perl-POE.spec
@@ -1,12 +1,16 @@
 Name:      perl-POE
 Version:   1.289
-Release:   5%{?dist}
+Release:   6%{?dist}
 Summary:   POE - portable multitasking and networking framework for Perl
 
 Group:     Development/Libraries
 License:   GPL+ or Artistic
 URL:       http://search.cpan.org/dist/POE/
 Source0:   http://search.cpan.org/CPAN/authors/id/R/RC/RCAPUTO/POE-%{version}.tar.gz
+# Fixed in 1.299, bug #759129.
+Patch0:    perl-POE-1.289-Fix-double-event-arguments-dereference.patch
+# Fixed in 1.310, bug #759129.
+Patch1:    perl-POE-1.289-Make-transpose-chars-work-when-cursor-is-at-end-of-l.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildArch: noarch
 Requires:  perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
@@ -75,6 +79,8 @@ possible to use POE at varying levels of abstraction.
 
 %prep
 %setup -q -n POE-%{version}
+%patch0 -p1
+%patch1 -p1
 
 # make rpmlint happy...
 chmod -c -x examples/*
@@ -123,6 +129,9 @@ rm -rf %{buildroot}
 
 
 %changelog
+* Thu Dec 01 2011 Petr Pisar <ppisar at redhat.com> - 1.289-6
+- Fix alarm handling (bug #759129)
+
 * Wed Jul 20 2011 Petr Sabata <contyk at redhat.com> - 1.289-5
 - Perl mass rebuild
 


More information about the scm-commits mailing list