From: Eric Wong Date: Thu, 11 Mar 2021 10:45:36 +0000 (-0800) Subject: imapclient: disable workaround for Mail::IMAPClient 3.43+ X-Git-Tag: v1.7.0~1019 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=2e64d01eee123cc1ce2bec7dc43df53b5322d344;p=public-inbox.git 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 --- 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;