New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bleadperl c0888ace5 breaks PerlIO::Util #11231
Comments
From @cpansproutcommit c0888ac Use PerlIOBase_open for pop, utf8 and bytes layers See also https://rt.cpan.org/Ticket/Display.html?id=66991 Flags: Site configuration information for perl 5.13.11: Configured by sprout at Thu Mar 24 14:02:46 PDT 2011. Summary of my perl5 (revision 5 version 13 subversion 11) configuration: Locally applied patches: @INC for perl 5.13.11: Environment for perl 5.13.11: |
From @LeontOn Sun, Apr 3, 2011 at 11:54 PM, Father Chrysostomos <sprout@cpan.org>wrote:
The module has the same bug that pop, utf8 and bytes had: layers with an Leon |
From @obra
That sounds reasonable to me. I've made this ticket a 5.14 blocker
|
The RT System itself - Status changed from 'new' to 'open' |
From @LeontOn Mon, Apr 4, 2011 at 11:41 AM, Jesse Vincent <jesse@fsck.com> wrote:
I've written a patch for PerlIO::Util for the first issue, but there turns For 5.15 I think abolishing this feature may make most sense. It's just flat Leon |
From @LeontOn Mon, Apr 4, 2011 at 2:06 PM, Leon Timmermans <fawaka@gmail.com> wrote:
With the attached patch applied to blead and the patch at rt.cpan.org This patch makes perl slightly more permissive, so it shouldn't break Leon |
From @Leont0001-Make-utf8-and-bytes-MULTIARG.patchFrom 800ff494232f0302975a2e5599f41036c2fa9241 Mon Sep 17 00:00:00 2001
From: Leon Timmermans <fawaka@gmail.com>
Date: Thu, 7 Apr 2011 12:33:21 +0200
Subject: [PATCH] Make :utf8 and :bytes MULTIARG
PerlIO layer types have this property that flags if they can accept
multiple arguments or only one. Unfortunately, this always checks the
uppermost layer that has an Open method defined. This causes issues when
used with utf8 or bytes on top of a layer that uses multiple arguments.
For 5.15 I think abolishing this feature may make most sense. It's just
flat out wrong IMO, it's the layer that uses the arguments that should
validate them, not the topmost, which may not even touch them. In the
mean time adding the multiargs flag to :utf8 and :bytes is a reasonable
stop-gap.
This patch makes perl slightly more permissive, so it shouldn't break
any working code out there.
---
perlio.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/perlio.c b/perlio.c
index f2f8729..e42a78f 100644
--- a/perlio.c
+++ b/perlio.c
@@ -1963,7 +1963,7 @@ PERLIO_FUNCS_DECL(PerlIO_utf8) = {
sizeof(PerlIO_funcs),
"utf8",
0,
- PERLIO_K_DUMMY | PERLIO_K_UTF8,
+ PERLIO_K_DUMMY | PERLIO_K_UTF8 | PERLIO_K_MULTIARG,
PerlIOUtf8_pushed,
NULL,
PerlIOBase_open,
@@ -1994,7 +1994,7 @@ PERLIO_FUNCS_DECL(PerlIO_byte) = {
sizeof(PerlIO_funcs),
"bytes",
0,
- PERLIO_K_DUMMY,
+ PERLIO_K_DUMMY | PERLIO_K_MULTIARG,
PerlIOUtf8_pushed,
NULL,
PerlIOBase_open,
--
1.7.1
|
From @cpansproutOn Thu Apr 07 03:39:22 2011, LeonT wrote:
Thank you. Applied as a778d1f. |
From [Unknown Contact. See original ticket]On Thu Apr 07 03:39:22 2011, LeonT wrote:
Thank you. Applied as a778d1f. |
@cpansprout - Status changed from 'open' to 'resolved' |
Migrated from rt.perl.org#87706 (status was 'resolved')
Searchable as RT87706$
The text was updated successfully, but these errors were encountered: