Skip Menu |
 

This queue is for tickets about the Kavorka CPAN distribution.

Report information
The Basics
Id: 102318
Status: open
Priority: 0/
Queue: Kavorka

People
Owner: Nobody in particular
Requestors: dr [...] jones.dk
Cc: ether [...] cpan.org
AdminCc:

Bug Information
Severity: Unimportant
Broken in: (no value)
Fixed in: (no value)



MIME-Version: 1.0
X-Spam-Status: No, score=-2.323 tagged_above=-99.9 required=10 tests=[AWL=-0.412, BAYES_00=-1.9, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
X-Spam-Flag: NO
Message-ID: <20150224124731.15462.99647 [...] bastian.jones.dk>
content-type: text/plain; charset="utf-8"
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
X-Spam-Score: -2.323
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 858112401D7 for <cpan-bug+kavorka [...] hipster.bestpractical.com>; Tue, 24 Feb 2015 07:47:46 -0500 (EST)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u1ASjQVhaXwp for <cpan-bug+kavorka [...] hipster.bestpractical.com>; Tue, 24 Feb 2015 07:47:43 -0500 (EST)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id A70762400AD for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 07:47:43 -0500 (EST)
Received: (qmail 24068 invoked by alias); 24 Feb 2015 12:47:42 -0000
Received: from coreander.jones.dk (HELO coreander.jones.dk) (80.68.88.141) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Tue, 24 Feb 2015 04:47:40 -0800
Received: from localhost (localhost [127.0.0.1]) by coreander.jones.dk (Postfix) with ESMTP id B38623000F7 for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:36 +0100 (CET)
Received: from coreander.jones.dk ([127.0.0.1]) by localhost (coreander.jones.dk [127.0.0.1]) (amavisd-new, port 10024) with SMTP id 1GhOoeamGnQy for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:36 +0100 (CET)
Received: from xayide.jones.dk (188-183-5-254-static.dk.customer.tdc.net [188.183.5.254]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by coreander.jones.dk (Postfix) with ESMTPS id E37E93000F6 for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:35 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by xayide.jones.dk (Postfix) with ESMTP id 9885A2B76 for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:35 +0100 (CET)
Received: from xayide.jones.dk ([127.0.0.1]) by localhost (xayide.jones.dk [127.0.0.1]) (amavisd-new, port 10024) with SMTP id R_QcRVRZO-Le for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:33 +0100 (CET)
Received: from jones.dk (unknown [192.168.222.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by xayide.jones.dk (Postfix) with ESMTPSA id D7E26287F for <bug-kavorka [...] rt.cpan.org>; Tue, 24 Feb 2015 13:47:33 +0100 (CET)
Received: (nullmailer pid 22397 invoked by uid 1000); Tue, 24 Feb 2015 12:47:32 -0000
Delivered-To: cpan-bug+kavorka [...] hipster.bestpractical.com
Subject: requires deprecated Parse::Keyword
User-Agent: alot/0.3.6
Return-Path: <jonas [...] jones.dk>
X-RT-Mail-Extension: kavorka
X-Original-To: cpan-bug+kavorka [...] hipster.bestpractical.com
X-Spam-Check-BY: la.mx.develooper.com
Date: Tue, 24 Feb 2015 13:47:31 +0100
X-Spam-Level:
To: bug-kavorka [...] rt.cpan.org
Content-Transfer-Encoding: quoted-printable
From: Jonas Smedegaard <dr [...] jones.dk>
X-RT-Original-Encoding: utf-8
X-RT-Interface: Email
Content-Length: 602
Download (untitled) / with headers
text/plain 602b
Kavorka depends on Parse::Keyword, which in its documentation is strongly discouraged and described as fundamentally broken. I am looking into packaging Moops for Debian, but that warning makes me hesitate packaging Parse::Keyword. Does that warning somehow not relate to its use with Kavorka, or should I postpone Debian packaging of Kavorka (and Moops) until Kavorka has been refactored to avoid Parse::Keyword? - Jonas -- * Jonas Smedegaard - idealist & Internet-arkitekt * Tlf.: +45 40843136 Website: http://dr.jones.dk/ [x] quote me freely [ ] ask before reusing [ ] keep private
MIME-Version: 1.0
In-Reply-To: <20150224124731.15462.99647 [...] bastian.jones.dk>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <20150224124731.15462.99647 [...] bastian.jones.dk>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.18-31819-1485874374-1793.102318-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 354
Download (untitled) / with headers
text/plain 354b
On 2015-02-24T12:47:47Z, dr@jones.dk wrote: Show quoted text
> Kavorka depends on Parse::Keyword, which in its documentation is > strongly discouraged and described as fundamentally broken.
The thing which makes it fundamentally broken was actually something I discovered and reported. Sadly it was so long ago that I forget what it was. But I know I worked around it.
MIME-Version: 1.0
X-Spam-Status: No, score=-4.508 tagged_above=-99.9 required=10 tests=[AWL=1.391, BAYES_00=-1.9, FROM_OUR_RT=-4, SPF_FAIL=0.001] autolearn=ham
In-Reply-To: <rt-4.0.18-31819-1485874374-412.102318-6-0 [...] rt.cpan.org>
Content-Disposition: inline
X-Cpan.org: This message routed through the cpan.org mail forwarding service. Please use PAUSE pause.perl.org to configure your delivery settings.
X-Spam-Flag: NO
X-RT-Interface: API
References: <RT-Ticket-102318 [...] rt.cpan.org> <20150224124731.15462.99647 [...] bastian.jones.dk> <rt-4.0.18-31819-1485874374-412.102318-6-0 [...] rt.cpan.org>
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Content-Type: multipart/signed; boundary="===============3274760933542802331=="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Message-ID: <148587521601.2725.8660119663293235850 [...] auryn.jones.dk>
X-Spam-Score: -4.508
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 37F7F240349 for <cpan-bug+Kavorka [...] hipster.bestpractical.com>; Tue, 31 Jan 2017 10:14:32 -0500 (EST)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dNn9bY2siHOW for <cpan-bug+Kavorka [...] hipster.bestpractical.com>; Tue, 31 Jan 2017 10:14:29 -0500 (EST)
Received: from xx1.develooper.com (xx1.develooper.com [207.171.7.115]) by hipster.bestpractical.com (Postfix) with ESMTPS id 6CE4124033C for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 10:14:29 -0500 (EST)
Received: from localhost (xx1.develooper.com [127.0.0.1]) by localhost (Postfix) with ESMTP id 0176C11F681 for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 07:14:28 -0800 (PST)
Received: from xx1.develooper.com (xx1.develooper.com [127.0.0.1]) by localhost (Postfix) with SMTP id C981911D879 for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 07:14:24 -0800 (PST)
Received: from jawa.homebase.dk (jawa.homebase.dk [94.18.231.212]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by xx1.develooper.com (Postfix) with ESMTPS id 3805311F67C for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 07:14:14 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by jawa.homebase.dk (Postfix) with ESMTP id 7AE801C0A9 for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:07:07 +0100 (CET)
Received: from jawa.homebase.dk ([127.0.0.1]) by localhost (jawa.homebase.dk [127.0.0.1]) (amavisd-new, port 10024) with SMTP id g-NGOeYK_0un for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:07:05 +0100 (CET)
Received: from xayide.jones.dk (xayide.jones.dk [188.183.5.254]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: postmaster-jones.dk) by jawa.homebase.dk (Postfix) with ESMTPSA id 726CD1C093 for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:07:05 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by xayide.jones.dk (Postfix) with ESMTP id 83E9D45F for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:07:04 +0100 (CET)
Received: from xayide.jones.dk ([127.0.0.1]) by localhost (xayide.jones.dk [127.0.0.1]) (amavisd-new, port 10024) with SMTP id VYlRNVVGEPPj for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:07:02 +0100 (CET)
Received: from localhost (unknown [192.168.222.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by xayide.jones.dk (Postfix) with ESMTPSA id 14C5B1406 for <bug-Kavorka [...] rt.cpan.org>; Tue, 31 Jan 2017 16:06:57 +0100 (CET)
Delivered-To: cpan-bug+Kavorka [...] hipster.bestpractical.com
User-Agent: alot/0.3.7
Subject: Re: [rt.cpan.org #102318] requires deprecated Parse::Keyword
Return-Path: <dr [...] jones.dk>
X-Original-To: cpan-bug+Kavorka [...] hipster.bestpractical.com
X-RT-Mail-Extension: kavorka
Date: Tue, 31 Jan 2017 16:06:56 +0100
X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, IN_REP_TO 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, REFERENCES 0, SPF_PASS 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __ATTACHMENT_SIZE_0_10K 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CD 0, __CP_URI_IN_BODY 0, __CT 0, __CTYPE_HAS_BOUNDARY 0, __CTYPE_MULTIPART 0, __FORWARDED_MSG 0, __HAS_ATTACHMENT 0, __HAS_ATTACHMENT1 0, __HAS_ATTACHMENT2 0, __HAS_FROM 0, __HAS_MSGID 0, __HTTPS_URI 0, __IN_REP_TO 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MIME_TEXT_P2 0, __MIME_VERSION 0, __MULTIPLE_URI_TEXT 0, __NO_HTML_TAG_RAW 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_NEGATE 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_IN_BODY 0, __URI_NO_WWW 0, __URI_NS , __URI_WITH_PATH 0, __USER_AGENT 0, __blackholes.mail-abuse.org_TIMEOUT , __zen.spamhaus.org_ERROR '
X-Spam-Level:
X-Greylist: delayed 414 seconds by postgrey-1.34 at xx1.develooper.com; Tue, 31 Jan 2017 07:14:14 PST
X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2017.1.31.150618
To: bug-Kavorka [...] rt.cpan.org
From: Jonas Smedegaard <dr [...] jones.dk>
RT-Message-ID: <rt-4.0.18-30772-1485875673-1724.102318-0-0 [...] rt.cpan.org>
Content-Length: 0
MIME-Version: 1.0
content-type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-RT-Original-Encoding: utf-8
Content-Length: 1456
Download (untitled) / with headers
text/plain 1.4k
Quoting Toby Inkster via RT (2017-01-31 15:52:55) Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=102318 > > > On 2015-02-24T12:47:47Z, dr@jones.dk wrote:
> > Kavorka depends on Parse::Keyword, which in its documentation is > > strongly discouraged and described as fundamentally broken.
> > The thing which makes it fundamentally broken was actually something I discovered and reported. Sadly it was so long ago that I forget what it was. > > But I know I worked around it.
Not sure we are talking about same thing: I mean that Parse::Keyword is flagged DEPRECATED in synopsis and first part of description is this: Show quoted text
> DO NOT USE! > > This module has fundamental errors in the way it handles closures, > which are not fixable. Runtime keywords will never be able to work > properly with the current design of this module. There are certain > cases where this module is still safe to use (keywords that only have > effect at compile time, or keywords that never call any of the parse_* > functions), but that is limiting enough to make this module mostly > worthless, and I likely won't be continuing to maintain it. Be warned!
According to MetaCPAN.org, Parse::Keyword has only 4 reverse depndencies - three of them by you: Kavorka, Moops and Switcheroo. - Jonas -- * Jonas Smedegaard - idealist & Internet-arkitekt * Tlf.: +45 40843136 Website: http://dr.jones.dk/ [x] quote me freely [ ] ask before reusing [ ] keep private
MIME-Version: 1.0
Content-Description: signature
Content-Type: application/pgp-signature; charset="us-ascii"; name="signature.asc"
Content-Transfer-Encoding: 7bit
X-RT-Original-Encoding: ascii
Content-Length: 833
Download signature.asc
application/pgp-signature 833b

Message body not shown because it is not plain text.

MIME-Version: 1.0
In-Reply-To: <rt-4.0.18-30772-1485875673-1724.102318-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
X-RT-Interface: Web
References: <RT-Ticket-102318 [...] rt.cpan.org> <20150224124731.15462.99647 [...] bastian.jones.dk> <rt-4.0.18-31819-1485874374-412.102318-6-0 [...] rt.cpan.org> <148587521601.2725.8660119663293235850 [...] auryn.jones.dk> <rt-4.0.18-30772-1485875673-1724.102318-0-0 [...] rt.cpan.org>
Content-Type: multipart/mixed; boundary="----------=_1486106449-14398-2"
Message-ID: <rt-4.0.18-14398-1486106449-1543.102318-0-0 [...] rt.cpan.org>
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 414
Download (untitled) / with headers
text/plain 414b
Yes, I'm aware it's flagged as deprecated, but until somebody releases a module providing similar hooks into the Perl parser, Kavorka's dependency on it can't really be eliminated. pk.pl (attached) illustrates the issue with Parse::Keyword. It should output 1, 2, 3 three times, but the third time is mysteriously blank. However, pk2.pl shows that the problem can be worked around, and this is what Kavorka does.
MIME-Version: 1.0
Subject: pk.pl
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Type: application/x-perl; name="pk.pl"
Content-Disposition: inline; filename="pk.pl"
Content-Transfer-Encoding: base64
Content-Length: 517
Download pk.pl
text/x-perl 517b
use v5.14; BEGIN { package MyExample; $INC{'MyExample.pm'} = __FILE__; use base 'Exporter'; use Parse::Keyword { example => \&_parse_example }; our @EXPORT = 'example'; sub example { shift->(); } sub _parse_example { lex_read_space; my $code = parse_block; lex_read_space; return sub { $code }; } } use MyExample 'example'; say example { 1 }; say example { 2 }; say example { 3 }; for our $package (1..3) { say example { $package }; } for my $lexical (1..3) { say example { $lexical }; }
Subject: pk2.pl
MIME-Version: 1.0
Content-Type: application/x-perl; name="pk2.pl"
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline; filename="pk2.pl"
Content-Transfer-Encoding: base64
Content-Length: 921
Download pk2.pl
text/x-perl 921b
use v5.14; BEGIN { package MyExample; $INC{'MyExample.pm'} = __FILE__; use base 'Exporter'; use Parse::Keyword { example => \&_parse_example }; use PadWalker (); our @EXPORT = 'example'; sub example { shift->(); } sub _parse_example { lex_read_space; my $code = parse_block; lex_read_space; return sub { my $closedover = PadWalker::closed_over($code); return $code unless keys %$closedover; sub { my $callervars = PadWalker::peek_my(2); $closedover->{$_} = $callervars->{$_} for keys %$closedover; PadWalker::set_closed_over($code, $closedover); goto $code; }; }; } } use MyExample 'example'; say example { 1 }; say example { 2 }; say example { 3 }; for our $package (1..3) { say example { $package }; } for my $lexical (1..3) { say example { $lexical }; }


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.