Skip Menu |

This queue is for tickets about the Sub-Name CPAN distribution.

Report information
The Basics
Id: 113054
Status: resolved
Priority: 0/
Queue: Sub-Name

People
Owner: Nobody in particular
Requestors: MITHALDU [...] cpan.org
Cc: pagaltzis [...] gmx.de
reini.urban [...] gmail.com
ribasushi [...] leporine.io
sprout [...] cpan.org
AdminCc:

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



CC: reini.urban [...] gmail.com, ribasushi [...] cpan.org, pagaltzis [...] gmx.de, sprout [...] cpan.org
Subject: RFC to rurban: What disagreements exist with github #4/#5 and why?
Reini, In gh#4 and gh#5 Ribasushi and aristotle collaborated on a set of tests to define wanted behavior by Sub::Name, subsequently you did some work on a proposed fix, during which you also changed some of the contents of the tests and created your own version of the test script. Before any functionality change can be applied, the actual wanted and correct behavior needs to be agreed on. As such, please detail for each instance in which you disagree with their set of tests: - what it currently expects - why you disagree - what it should expect to be correct
On Tue Mar 15 14:00:48 2016, MITHALDU wrote: Show quoted text
> Reini, > > In gh#4 and gh#5 Ribasushi and aristotle collaborated on a set of > tests to define wanted behavior by Sub::Name, subsequently you did > some work on a proposed fix, during which you also changed some of the > contents of the tests and created your own version of the test script. > > Before any functionality change can be applied, the actual wanted and > correct behavior needs to be agreed on. > > As such, please detail for each instance in which you disagree with > their set of tests: > > - what it currently expects > - why you disagree > - what it should expect to be correct
I have no idea what you are talking about. I fixed Sub::Name to work with unicode and binary names, as this is now supported since 5.16, and Sub::Name still used the old broken API calls. Someone disagreed and vetoed those fixes and since then nothing happened for over a year. The problem in question I think that someone wanted ' as package seperator to be still supported in Sub::Name, but I didn't support that, since this is deprecated. And someone opposed a so-called "timebomb", for the end of support for ' as package seperator, But reading the tickets would help you answer those questions. Since nothing happened for over an year, and nobody else is able to step up to fix this trivial problem I propose to give my co-maint so that I can finally fix it for you. -- Reini Urban

On 2016-03-16 07:29:17, RURBAN wrote:

> to be still supported in Sub::Name, but I didn't support that, since
> this is deprecated.

 

When was '  deprecated? I don't see any mention of that anywhere.

There's also a reasonable amount of code shipping with Perl itself that still relies on it ( c2ph,  Test::More::isn't  )

 

Test::More::isn't is used all over cpan, and so its probably out in the darkpan too. ( http://grep.cpan.me/?q=^\s*isn%27t\s%2B\%24 )

 

And its quite trivial to find a large supply of dists using '  where :: works.

 

I don't see how we can even conscience breaking so much code for such a little return.

 

http://grep.cpan.me/?q=\w%27\w%2B\%28+file%3A\.pm%24


Acting in advance of an actual deprecation seems the wrong approach.
 

It might be *discouraged*, but I haven't seen any indication that support was going to go away any time soon.

On Tue Mar 15 14:51:33 2016, KENTNL wrote: Show quoted text
> On 2016-03-16 07:29:17, RURBAN wrote: >
> > to be still supported in Sub::Name, but I didn't support that, since > > this is deprecated.
> > When was ' deprecated? I don't see any mention of that anywhere.
It was deprecated with perl5, ' was for perl4. http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/msg152009.html from 2009, we have now 2016.
Show quoted text
> Someone disagreed and vetoed those fixes and since then nothing > happened for over a year.
There was no vetoing (back then), as far as i know, but a lack of tuits to handle this, and a lack of clear descriptions of what was going on, as well as the current state of the pull request, after all the in-code commentary. The goal here is to decide and document clearly and openly, in easy to understand prose, what the issues are. I'm stepping in to handle communication. Show quoted text
> The problem in question I think that someone wanted ' as package > seperator to be still supported in Sub::Name, but I didn't support > that, since this is deprecated.
Provide a link to the documentation or decision surrounding this deprecation. Show quoted text
> give my co-maint
I can't give you co-maint, since i don't have maint myself.
 The old package delimiter was a single quote, but << double colon is now the
  preferred delimiter >>
, in part because it's more readable to humans, and in
  part because it's more readable to emacs macros. It also makes C++
  programmers feel like they know what's going on--as opposed to using the
  single quote as separator, which was there to make Ada programmers feel
  like they knew what was going on. << Because the old-fashioned syntax is
  still supported for backwards compatibility >>
, if you try to use a string
  like "This is $owner's house", you'll be accessing $owner::s; that is, the
  $s variable in package "owner", which is probably not what you meant. Use
  braces to disambiguate, as in "This is ${owner}'s house".

- perldoc perlmod
On Tue Mar 15 19:57:04 2016, RURBAN wrote: Show quoted text
> It was deprecated with perl5, ' was for perl4. > > http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/msg152009.html > from 2009, we have now 2016.
Ah, thank you for providing the link to the actual code change. Said code still implements support for ' as a package separator, but attaches a warning. As such, any code around package separators will need to match core code and implement support for it until such point as that code is removed in perl core. I believe you implemented a proviso to remove support in Sub::Name in Perl above 5.24. Provide a link to the code, documentation or decision on that.
Upon inspection of blead and the mailing list it turns out the linked commit was never applied to Perl core and as such ' as package separator is not deprecated nor slated for deprecation, unless you can provide any other evidence.
On Tue Mar 15 14:59:41 2016, KENTNL wrote: Show quoted text
> The old package delimiter was a single quote, but << double colon is > now the > preferred delimiter >>, in part because it's more readable to humans, > and in > part because it's more readable to emacs macros. It also makes C++ > programmers feel like they know what's going on--as opposed to using > the > single quote as separator, which was there to make Ada programmers > feel > like they knew what was going on. << Because the old-fashioned syntax > is > still supported for backwards compatibility >>, if you try to use a > string > like "This is $owner's house", you'll be accessing $owner::s; that is, > the > $s variable in package "owner", which is probably not what you meant. > Use > braces to disambiguate, as in "This is ${owner}'s house". > - perldoc perlmod
We are talking about ' as package separator in Sub::Name, which is deprecated for years, and all the old code which used similar perl4isms was removed years ago. The problem at hand was adding support in Sub::Name for >=5.16, and enforcing core to deprecate support for <5.0 with 5.25. There's no need for endless discussions and more agony about that, and this is my last word. commit 433768c2290e6aff469b2a588eba07761f281864 Author: Reini Urban <rurban@cpanel.net> Date: Thu Apr 2 11:36:19 2015 +0200 Disable negative HEK_LEN, enable ' => :: conversion 5.10-5.16: B did not absolute it when converting to a PV, so we cannot preserve utf8 GvNAMEs from 5.10 - 5.16. Tests still pass. ' => :: conversion is still in core for all stash names parsed. I added a hopeful 25 version enddate for this. Needs to be adjusted if nobody will deprecate this perl4'ism. The only remaining problems are now with <5.8.9 -- Reini Urban
Show quoted text
> this is my last word
Thank you.