From 2e64d01eee123cc1ce2bec7dc43df53b5322d344 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 11 Mar 2021 02:45:36 -0800 Subject: [PATCH] imapclient: disable workaround for Mail::IMAPClient 3.43+ These fixes are in the recently-released Mail::IMAPClient 3.43: https://metacpan.org/source/PLOBBES/Mail-IMAPClient-3.43/Changes v2: disable 'once' warning --- lib/PublicInbox/IMAPClient.pm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/PublicInbox/IMAPClient.pm b/lib/PublicInbox/IMAPClient.pm index 33deee9e..56001517 100644 --- a/lib/PublicInbox/IMAPClient.pm +++ b/lib/PublicInbox/IMAPClient.pm @@ -4,17 +4,19 @@ # # The license for this file differs from the rest of public-inbox. # -# Workaround some bugs in upstream Mail::IMAPClient when +# Workaround some bugs in upstream Mail::IMAPClient <= 3.42 when # compression is enabled: # - reference cycle: https://rt.cpan.org/Ticket/Display.html?id=132654 # - read starvation: https://rt.cpan.org/Ticket/Display.html?id=132720 package PublicInbox::IMAPClient; use strict; use parent 'Mail::IMAPClient'; -use Errno qw(EAGAIN); +unless (eval('use Mail::IMAPClient 3.43')) { +require Errno; +no warnings 'once'; # RFC4978 COMPRESS -sub compress { +*compress = sub { my ($self) = @_; # BUG? strict check on capability commented out for now... @@ -101,7 +103,7 @@ sub compress { # I/O readiness notifications (select, poll). Refactoring # callers will be needed in the unlikely case somebody wants # to use edge-triggered notifications (EV_CLEAR, EPOLLET). - $! = EAGAIN; + $! = Errno::EAGAIN(); return undef; } @@ -114,6 +116,7 @@ sub compress { }; return $self; -} +}; +} # $Mail::IMAPClient::VERSION < 3.43 1; -- 2.48.1