Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

[doc] Re-consider use of "grandfather" as a verb #18830

Open oalders opened 3 years ago

oalders commented 3 years ago

Where

regen/mk_invlists.pl:3181:27:            # support the grandfathered L_ Gc property value
Porting/epigraphs.pod:5076:58:hunters leading the wolf; and winding up the procession, grandfather and the
lib/Unicode/UCD.pm:387:7:    # grandfathered-in 'L_', which retains a single trailing underscore.
lib/Unicode/UCD.pm:2612:14:the old_form grandfathered-in C<"L_">, which is better written as C<"LC">, and
lib/Unicode/UCD.pm:2854:58:name (except for the trailing underscore in the old-form grandfathered-in
lib/Unicode/UCD.pm:2941:53:(except for the trailing underscore in the old-form grandfathered-in general
lib/Unicode/UCD.pm:3278:10:old-form grandfathered-in property C<"L_">, which is better written as C<"LC">,
lib/Tie/Hash.pm:63:63:and allow for selective overwriting of methods.  B<Tie::Hash> grandfathers the
lib/Tie/Scalar.pm:44:34:method is provided as a means of grandfathering, for classes that forget to
lib/Config.t:34:5:my %grandfathers = ( PERL_VERSION       => 'PATCHLEVEL',
lib/Config.t:38:31:while( my($new, $old) = each %grandfathers ) {
regcomp.c:24439:29:     * This special case is grandfathered in: 'L_' and 'GC=L_' are accepted and
pp_pack.c:614:28:      if (code == ','){ /* grandfather in commas but with a warning */
configpm:240:7:    # grandfather PATCHLEVEL and SUBVERSION and CONFIG
pod/perldiag.pod:592:27:The use of backslashes is grandfathered on the right-hand side of a
pod/perl56delta.pod:2734:15:Release 5.005 grandfathered old global symbol names by providing preprocessor
pod/perl561delta.pod:3339:15:Release 5.005 grandfathered old global symbol names by providing preprocessor
pod/perlre.pod:2942:9:This is grandfathered (for \1 to \9) for the RHS of a substitute to avoid
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm:2674:15:Release 5.005 grandfathered old global symbol names by providing preprocessor

Description The use of the word "grandfather" as a verb is problematic strikes me as problematic because of its racist origins. In practice, I don't think there's widespread recognition of the roots of this term, but there are good available alternatives and I can't think of a reason not to purge the use of the word from the Perl documentation.

See https://www.npr.org/sections/codeswitch/2013/10/21/239081586/the-racial-history-of-the-grandfather-clause, https://medium.com/@nriley/words-matter-why-we-should-put-an-end-to-grandfathering-8b19efe08b6a and https://en.wikipedia.org/wiki/Grandfather_clause

There is an argument at the end of the first article that the term has become somewhat deracialized and a convenient shorthand, but I think it can be replaced in these instances while preserving the original intent.

Grinnz commented 3 years ago

I didn't know the history, thanks. I'm not sure I can think of an alternative that succinctly conveys the same meaning.

Grinnz commented 3 years ago

The referenced article suggests "legacy", which is reasonable but not quite there - it is legacy which has intentional continued support.

oalders commented 3 years ago

I think it would have to be on a case by case basis. It's an interesting exercise. I think in the case of POSIX

    # Grandfather old foo_h form to new :foo_h form
    s/^(?=\w+_h$)/:/ for my @list = @_;

could accurately be changed to:

    # Fix up legacy foo_h form to new :foo_h form
    s/^(?=\w+_h$)/:/ for my @list = @_;
oalders commented 3 years ago

Actually, legacy probably isn't even needed in the newer version of that comment.

oalders commented 3 years ago

For Tie::Hash

   and allow for selective overwriting of methods.  B<Tie::Hash> grandfathers the
  C<new> method: it is used if C<TIEHASH> is not defined
  in the case a class forgets to include a C<TIEHASH> method.

could be

   and allow for selective overwriting of methods.  B<Tie::Hash> continues to provide the
  C<new> method: it is used if C<TIEHASH> is not defined
  in the case a class forgets to include a C<TIEHASH> method.

It does feel clumsier, though.

hvds commented 3 years ago

The use of the word "grandfather" as a verb is problematic because of its racist origins.

I'm not sure I see this. The specific meaning it has acquired in the jargon of Computer Science does not have racist overtones, and there is no suggestion that we are using it in a way that is tainted by racism for any reason other than the original meaning it acquired in the context of jurisprudence.

If there were a widely agreed exact synonym I might feel differently, but right now my inclination would be not to attempt to change the docs for this reason.

oalders commented 3 years ago

I'm not sure I see this.

I have edited my original description to reflect that I personally find the use of the word to be problematic rather than to assume that there's a consensus around my view of whether or not the word is being used appropriately.

richardleach commented 3 years ago

I didn't know the history, thanks. I'm not sure I can think of an alternative that succinctly conveys the same meaning.

Perhaps there'd have to be case-by-case replacements, such as "legacy", "historical", "longstanding". 

khwilliamson commented 3 years ago

On 5/28/21 3:22 PM, Olaf Alders wrote:

I'm not sure I see this.

I have edited my original description to reflect that I personally find the use of the word to be problematic rather than to assume that there's a consensus around my view of whether or not the word is being used appropriately.

If there were a good enough replacement, I would be fine accepting a P.R. to change it.

Otherwise, how many people are actually harmed by having this word in our documentation? The only ones I can think of are people whose PTSD is triggered by seeing it. And I think the number of those is essentially zero.

The word "man" originally didn't have a gender bias, meaning simply "hand", as mano in Spanish or main in French indicate. Later it did, and more recently is becoming more gender neutral. In many contexts, there is a good enough replacement, "staff", which I've never had anyone object to. It's clear and the same length, so I think it is a fine way to indicate gender neutrality. It doesn't alliterate in "The Mythical Staff Month", but it's still good..

If however, we applied the criteria this ticket advocates, its use would be discouraged. This is because its origin is from meaning someone who carries a staff, typically a weapon, sometimes a walking stick, but used almost exclusively by males. So its origin is sexist, but currently doesn't have a sexist meaning. I'm pretty sure the number of PTSD-triggered people by this is zero.

So we have a case where the origin excludes a gender, but doesn't currently vs. another word whose origin was pristine, but currently does, in English, tend to exclude a gender. Which is the better choice? or is there something else, not clumsier? I don't know of any.

To me, the better choice is to use a word based on the current meaning, and not its origin.

I cite this example to show that if you go far enough back, the origin would be considered unsavory for many words that are in common use with harmless meanings.

I think instead of forbidding "grandfathered" we should be celebrating that evil has been transcended. It is a hopeful sign for evils going on in our time.

Otherwise, where does it stop. Is any word ever uttered by Hitler verboten? How about Attila the Hun? How about anyone who ever had an impure thought? I'm 1/4 Norwegian. Should I be accountable for the sins of my Viking ancestors from 1000 years ago?

My grandmother wanted to ban the use of the word "kid" except when referring to goats. She found it offensive otherwise, based on its use when she was young. But us kids did not oblige her, we did not "grandmother" her usage in. It was too ingrained in us by the times we were in. Language changes rapidly. (I suspect a big part of it is teenagers wishing to communicate with each other without parents being able to understand.)

I'll close with a parallel analogy. It is a fact that medical experiments were conducted brutally on prisoners of war and inmates of concentration camps in World War II. Some people have said we should not use the knowledge gained by those experiments because of its origin. I say not using that knowledge would mean that those people suffered and died more in vain than if we do.

oalders commented 3 years ago

As an additional data point, I will point out that use of this word is discouraged by Google's style guide: https://developers.google.com/style/word-list#letter-g

grandfathered Don't use to refer to something that is allowed to violate a rule because it predates the rule. Instead, use an adjective like legacy or exempt or a verb like made an exception. Recommended: The app is exempt because it was released before the new requirements were announced. Not recommended: The app is grandfathered in because it was released before the new requirements were announced.

The intent here is not to introduce a 3rd party style guide as an ultimate arbiter, but to point out that this is not a unique conversation.

jkeenan commented 3 years ago

If there were a good enough replacement, I would be fine accepting a P.R. to change it. Otherwise, how many people are actually harmed by having this word in our documentation? The only ones I can think of are people whose PTSD is triggered by seeing it. And I think the number of those is essentially zero. The word "man" originally didn't have a gender bias, meaning simply "hand", as mano in Spanish or main in French indicate. ...

Karl, I don't think the gender implied in the use of the verb grandfather is the problem that Olaf is recommending we address. The problem is its origin in U.S. racist historical practice. See, e.g., https://en.wikipedia.org/wiki/Grandfather_clause.

But if we're going after the use of grandfather as a verb, we should probably also go after instances of master/slave terminology in our documentation. Here is a preliminary scan:

$ ack -i '\bslave\b' . |cat
lib/I18N/LangTags/List.pm:1408:=item {den} : Slave (Athapascan)
lib/Net/NNTP.pm:412:sub slave {
lib/Net/NNTP.pm:413:  @_ == 1 or croak 'usage: $nntp->slave()';
lib/Net/NNTP.pm:729:sub _SLAVE     { shift->command('SLAVE', @_)->response == CMD_OK }
lib/Net/NNTP.pm:1056:=item C<slave()>
lib/Unicode/Collate/allkeys.txt:32764:2FAA  ; [.FB41.0020.0004][.96B6.0000.0000] # KANGXI RADICAL SLAVE
lib/Unicode/Collate/Locale/zh_strk.pl:704:2FAA      ; [.8E59.0020.0004] # KANGXI RADICAL SLAVE
lib/Unicode/Collate/Locale/zh_pin.pl:638:2FAA      ; [.A24C.0020.0004] # KANGXI RADICAL SLAVE
lib/Unicode/Collate/Locale/zh_zhu.pl:681:2FAA      ; [.9819.0020.0004] # KANGXI RADICAL SLAVE
lib/unicore/EquivalentUnifiedIdeograph.txt:324:2FAA       ; 96B6  #     KANGXI RADICAL SLAVE
lib/unicore/DNormalizationProps.txt:4564:2FAA          ; NFKC_CF; 96B6           # So       KANGXI RADICAL SLAVE
lib/unicore/NamesList.txt:19622:2FAA    KANGXI RADICAL SLAVE
lib/unicore/NamesList.txt:23458:    * logogram for "slave"
lib/unicore/UnicodeData.txt:11083:2FAA;KANGXI RADICAL SLAVE;So;0;ON;<compat> 96B6;;;;N;;;;;
lib/unicore/Name.pl:33674:KANGXI RADICAL SLAVE
lib/perl5db.pl:1507:proceed. If this is a slave editor or graphical debugger (denoted by
lib/perl5db.pl:1515:    # Is Perl being run from a slave editor or graphical debugger?
lib/perl5db.pl:1587:for those (Windows using a slave editor/graphical debugger, NetWare, OS/2
lib/perl5db.pl:1588:with a slave editor).
lib/perl5db.pl:1701:    # Pointing elsewhere makes it possible for slave editors to
lib/perl5db.pl:2186:                        # Handle proper escaping in the slave.
lib/perl5db.pl:2264:                        # Yep, follow slave editor requirements.
lib/perl5db.pl:2724:    # If we're running under a slave editor, force it to show the lines.
lib/perl5db.pl:6188:us to feed line information to a slave editor without messing up the
lib/perl5db.pl:6462:    # If this is going to a slave editor, but we're not the primary
lib/perl5db.pl:6465:      if $fh        eq $LINEINFO    # slave editor
lib/perl5db.pl:7986:        # If this is a pipe, the stream points to a slave editor.
lib/perl5db.pl:9909:    # or a file), add on the -emacs flag for a slave editor,
dist/I18N-LangTags/lib/I18N/LangTags/List.pm:1408:=item {den} : Slave (Athapascan)
cpan/libnet/lib/Net/NNTP.pm:412:sub slave {
cpan/libnet/lib/Net/NNTP.pm:413:  @_ == 1 or croak 'usage: $nntp->slave()';
cpan/libnet/lib/Net/NNTP.pm:729:sub _SLAVE     { shift->command('SLAVE', @_)->response == CMD_OK }
cpan/libnet/lib/Net/NNTP.pm:1056:=item C<slave()>
cpan/Unicode-Collate/Collate/allkeys.txt:32764:2FAA  ; [.FB41.0020.0004][.96B6.0000.0000] # KANGXI RADICAL SLAVE
cpan/Unicode-Collate/Collate/Locale/zh_pin.pl:638:2FAA      ; [.A24C.0020.0004] # KANGXI RADICAL SLAVE
cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl:681:2FAA      ; [.9819.0020.0004] # KANGXI RADICAL SLAVE
cpan/Unicode-Collate/Collate/Locale/zh_strk.pl:704:2FAA      ; [.8E59.0020.0004] # KANGXI RADICAL SLAVE
pod/perlipc.pod:1011:like most typical servers, it spawns (fork()s) a slave server to
pod/perldebug.pod:743:mechanism used to interact with a slave editor or visual debugger,
pod/perltoc.pod:26891:Sino-Tibetan (Other)], [{sio} : Siouan languages], {den} : Slave
pod/perltoc.pod:30967:C<post([$message])>, C<postfh()>, C<slave()>, C<quit()>, C<can_inet6()>,
pp_sort.c:13: *   rear!' the slave-driver shouted.  'Three files up. And stay there...
Porting/epigraphs.pod:2149:  They sing while you slave and I just get bored
Porting/epigraphs.pod:5486:and an eight-foot slave from the jungles of Klatch and then

Thank you very much. Jim Keenan

oodler577 commented 3 years ago

The referenced article suggests "legacy", which is reasonable but not quite there - it is legacy which has intentional continued support.

Colloquially, grandfathered means inherited, specifically in regards to a right that is no longer allowed but once was and the outlawers of such actions want to buffer the blow of their law making (in all cases it's the taking of a right or allowance).

Agreed, master/slave terminology should also be replaced. And while we're at it; referring things such as parent, child, and zombie should also be replaced. Specifically in reference to actions taken upon them, such as: killed, terminated, aborted, swawned, reaped, or orphaned. As far as I can tell, forked is a gray area but it'd be hard to replace that one.

Glad you brought this up, I've been meaning to call attention to it for a while. Perl can be a leader here.

shlomif commented 3 years ago

Hi all!

On Sat, 29 May 2021 09:46:05 -0700 oodler577 @.***> wrote:

The referenced article suggests "legacy", which is reasonable but not quite there - it is legacy which has intentional continued support.

Colloquially, grandfathered means inherited, specifically in regards to something that is no longer allowed.

Agreed, master/slave terminology should also be replaced. And while we're at it; referring things such as parent, child, and zombie should also be replaced. Specifically in reference to actions taken upon them, such as: killed, terminated, aborted, swawned, reaped, or _orphaned. As far as I can tell, _fork_ed is a gray area but it'd be hard to replace that one.

Glad you brought this up, I've been meaning to call attention to it for a while. Perl can be a leader here.

I fuckin hate social justice warriorism (SJW). Please stop:


https://www.shlomifish.org/humour/Terminator/Liberation/indiv-nodes/hannah-using-a-tank.xhtml

--

Shlomi Fish https://www.shlomifish.org/ Emma Watson Factoids - https://shlom.in/emwatson-facts

Only three things are infinite: the universe, human stupidity, and the amount of patience that Windows Update requires. — https://www.shlomifish.org/humour/bits/facts/Windows-Update/

Please reply to list if it's a mailing list post - https://shlom.in/reply .

khwilliamson commented 3 years ago

On 5/29/21 10:46 AM, oodler577 wrote:

The referenced article suggests "legacy", which is reasonable but
not quite there - it is legacy which has intentional continued support.

Colloquially, /grandfathered/ means /inherited/, specifically in regards to something that is no longer allowed.

Agreed, /master///slave/ terminology should also be replaced. And while we're at it; referring things such as /parent/, /child/, and /zombie/ should also be replaced. Specifically in reference to actions taken upon them, such as: /killed/, /terminated/, /aborted/, /swawned/, /reaped/, or _orphaned. As far as I can tell, _fork_ed is a gray area but it'd be hard to replace that one.

Glad you brought this up, I've been meaning to call attention to it for a while. Perl can be a leader here.

Another term some people find offensive is "old". This radio excerpt from more than 60 years ago points that out, along with some other words.

https://www.youtube.com/watch?v=PLlTlYfqQV4

The creator of that earlier had a hit single called "Little Blue Riding Hood" because the word "red" was frowned on at the time.

khwilliamson commented 3 years ago

On 5/29/21 9:25 AM, James E Keenan wrote:

Karl, I don't think the gender implied in the use of the verb /grandfather/ is the problem that Olaf is recommending we address. The problem is its origin in U.S. racist historical practice. See, /e.g./, https://en.wikipedia.org/wiki/Grandfather_clause https://en.wikipedia.org/wiki/Grandfather_clause.

I was referring to 'manned' as an analogous situation. It is a word that some find offensive/problematic because it seems to stereotype and ossify gender roles. But its origin is not gender specific. Whereas a word that did have such origins is considered fine by just about everyone.

I'm arguing that the origin of a word shouldn't matter; the current meaning does.

I'm sure I was the one who typed "grandfathered" in the spot referred to, and I may have come up with the term myself, or saw it in Unicode documentation. But until this week, I had no idea of the term's apparent origin. And I wonder does it have a different meaning in countries where Jim Crow didn't exist, such as, say, New Zealand?

I'll reiterate my position:

If someone can come up with a succinct, good-enough alternative, we should change it.

Or if there is some reasonably significant segment of the population who are harmed by it being there, then we should change it even to some clumsier alternative.

rjbs commented 3 years ago

Hi all! […] I fuckin hate social justice warriorism (SJW). Please stop:

@shlomif Your chipper opening does not serve to balance out your tone here, and then you follow it up with a link to seven minutes of seemingly-unrelated video that does not appear to be making any sort of clear point or argument.

If you don't think this discussion is worth your time, stay out of it.

If you think this discussion is going to lead to a negative for Perl, spell out what that is in a civil manner.

If you can't do either of these, just say nothing.

This message constitutes a formal warning in accordance with the p5p standards of conduct.

-- rjbs

rjbs commented 3 years ago

I agree with this bit of text excised from Karl's comments here:

If someone can come up with a succinct, good-enough alternative, we should change it.

Or if there is some reasonably significant segment of the population who are harmed by it being there, then we should change it even to some clumsier alternative.

Olaf suggested a case-by-case edit, which does not require a universally "good enough" single term, and I'd be happy to apply clear updates.

nwc10 commented 3 years ago

I think that the many uses of slave editor that Jim's scan found could be replaced with client editor. I'd be happy if someone would volunteer to try out this rewording, and check that each paragraph still makes sense with this. (ie should it be server editor, subordinate editor or some other term in some places, or all places?)

Leont commented 3 years ago

It's is particularly unfortunate that the word slave is part of the Net::NNTP API, we can't quite remove that without repercussions (though adding an alias and promoting that would make sense)

jkeenan commented 3 years ago

On 6/1/21 5:20 PM, Leon Timmermans wrote:

It's is rather unfortunate that the word /slave/ is part of the Net::NNTP API, we can't quite remove that without repercussions.

We can at least provide an alias.

pudge commented 3 years ago

If someone can come up with a succinct, good-enough alternative, we should change it. Or if there is some reasonably significant segment of the population who are harmed by it being there, then we should change it even to some clumsier alternative.

I am long removed from my work in p5p, but it seems to me that it is a massive waste of time to change a word that is clearly inoffensive. Even if a few people are offended … the documentation over time will get clumsier, and worse.

I don’t disagree with your statement here, but I would word it more strongly, saying the burden is on the people who want to change it to a. do the work to offer a change, and b. make the case that the change is clearly better (either because the current form is so clearly derogatory/offensive, or because it just reads better).

I’ve always loved the Perl documentation, and I wrote significant chunks of it, and I just don’t want to see it get worse.

shlomif commented 3 years ago

On Wed, 02 Jun 2021 11:16:47 -0700 Chris Nandor @.***> wrote:

If someone can come up with a succinct, good-enough alternative, we should change it. Or if there is some reasonably significant segment of the population who are harmed by it being there, then we should change it even to some clumsier alternative.

I am long removed from my work in p5p, but it seems to me that it is a massive waste of time to change a word that is clearly inoffensive. Even if a few people are offended … the documentation over time will get clumsier, and worse.

I don’t disagree with your statement here, but I would word it more strongly, saying the burden is on the people who want to change it to a. do the work to offer a change, and b. make the case that the change is clearly better (either because the current form is so clearly derogatory/offensive, or because it just reads better).

I’ve always loved the Perl documentation, and I wrote significant chunks of it, and I just don’t want to see it get worse.

First of all, i am sorry for my choice of words earlier.

Otherwise, I agree with Chris nandor here. Words have all sort of bad etymologies - eg: https://www.gnu.org/philosophy/words-to-avoid.en.html . Most people don't care. at one point, i was told calling people with a far eastern complexion "oriental" was bad form. it no longer, is and " black-haired " used to be derogatory too.

There is enough work to do, without chasing moral fashions.

( P.S.: I want to break free: https://github.com/shlomif/shlomif-tech-diary/blob/master/why-the-so-called-real-world-i-am-trapped-in-makes-little-sense--2020-05-19.asciidoc )

--

Shlomi Fish https://www.shlomifish.org/ https://www.shlomifish.org/humour/bits/Google-Discontinues-Services/

We don’t know his cellphone number, and even if we did, we would tell you that we didn’t know it. — https://www.shlomifish.org/humour.html

Please reply to list if it's a mailing list post - https://shlom.in/reply .

Leont commented 3 years ago

it seems to me that it is a massive waste of time to change a word

You don't have to spend time on it if you don't want to.

Even if a few people are offended

I don't know how to explain that you should care about other people.

the documentation over time will get clumsier, and worse.

Why would you assume so? Why would we not be able to find a wording that is agreeable to everyone?

oalders commented 3 years ago

Why would we not be able to find a wording that is agreeable to everyone?

This is a helpful point. Also, revisiting some of the docs can be an opportunity to improve them. One of the modules that came up in my initial search above was ExtUtils::MakeMaker. The changes that @bingos and @Leont came up with seem to me to be a clear improvement. https://metacpan.org/diff/file?target=BINGOS%2FExtUtils-MakeMaker-7.63_02%2Flib%2FExtUtils%2FMakeMaker.pm&source=BINGOS%2FExtUtils-MakeMaker-7.63_01%2Flib%2FExtUtils%2FMakeMaker.pm

oalders commented 3 years ago

Just wanted to point out that @jkeenan has helpfully started the discussion about "slave" in Net::NNTP: https://rt.cpan.org/Public/Bug/Display.html?id=136706

iabyn commented 3 years ago

Also if nothing else, "grandfathering" is a very USA-specific term. As a Brit I remember being confused by it when I first encountered it in the perl source / docs, but I vaguely deduced its meaning from the context.

So I think we should where possible use another term just to aid clarity, if for no other reason.

-- Little fly, thy summer's play my thoughtless hand has terminated with extreme prejudice. (with apologies to William Blake)

pudge commented 3 years ago

it seems to me that it is a massive waste of time to change a word

You don't have to spend time on it if you don't want to.

Obviously.

Even if a few people are offended

I don't know how to explain that you should care about other people.

I like the term “grandfather,” and removing it for no rational reason, as was proposed, offends me. Yet you clearly don’t care about that. And I am not saying you should; I am saying — I hope, clearly — that trying to make sure that no one is offended is a fool’s errand. We can have an expectation of a certain threshold of seriousness of mind, and I think being offended by the term “grandfather” falls well below that threshold.

Others may disagree, or draw the line elsewhere. I am merely offering my view of it.

the documentation over time will get clumsier, and worse.

Why would you assume so? Why would we not be able to find a wording that is agreeable to everyone?

Because I have been a professional writer for decades, and have written documentation for almost as long, and I have never seen writing take place this way that improves the overall flow or information content of the documentation.

And additionally, there is no such thing as wording that is agreeable to everyone, especially in this part of the timeline.

Again, I am not arguing against every change. I think changing “master” is silly, and I argue against it; but I am OK with changing “slave.” But even with “master,” if the effort to resist the change is greater than the effort to change, I will generally concede and move on with my life.

khwilliamson commented 2 years ago

Is this now closable, or are there other occurrences?

khwilliamson commented 2 years ago

@oalders ^^

oalders commented 2 years ago

@khwilliamson thanks for the merge! It's getting closer. At least two of the cases have now been dealt with. This leaves us with:

regen/mk_invlists.pl:3181:27:            # support the grandfathered L_ Gc property value
lib/Unicode/UCD.pm:387:7:    # grandfathered-in 'L_', which retains a single trailing underscore.
lib/Unicode/UCD.pm:2612:14:the old_form grandfathered-in C<"L_">, which is better written as C<"LC">, and
lib/Unicode/UCD.pm:2854:58:name (except for the trailing underscore in the old-form grandfathered-in
lib/Unicode/UCD.pm:2941:53:(except for the trailing underscore in the old-form grandfathered-in general
lib/Unicode/UCD.pm:3278:10:old-form grandfathered-in property C<"L_">, which is better written as C<"LC">,
lib/Tie/Hash.pm:63:63:and allow for selective overwriting of methods.  B<Tie::Hash> grandfathers the
lib/Tie/Scalar.pm:44:34:method is provided as a means of grandfathering, for classes that forget to
lib/Config.t:34:5:my %grandfathers = ( PERL_VERSION       => 'PATCHLEVEL',
lib/Config.t:38:31:while( my($new, $old) = each %grandfathers ) {
regcomp.c:24439:29:     * This special case is grandfathered in: 'L_' and 'GC=L_' are accepted and
pp_pack.c:614:28:      if (code == ','){ /* grandfather in commas but with a warning */
configpm:240:7:    # grandfather PATCHLEVEL and SUBVERSION and CONFIG
pod/perldiag.pod:592:27:The use of backslashes is grandfathered on the right-hand side of a
pod/perl56delta.pod:2734:15:Release 5.005 grandfathered old global symbol names by providing preprocessor
pod/perl561delta.pod:3339:15:Release 5.005 grandfathered old global symbol names by providing preprocessor
pod/perlre.pod:2942:9:This is grandfathered (for \1 to \9) for the RHS of a substitute to avoid

It's not clear to me if it's appropriate to edit the perldelta files after the fact. I think there are still some actionable items in there, though. I can look more this week and see where the docs can be changed without losing the original intent.

oalders commented 2 years ago

Having said that, since the discussion here seems to have drawn to a close and we can look at this on a case by case basis, I'm ok with closing the issue and addressing whatever is left over in individual pull requests.

Leont commented 2 years ago

It's not clear to me if it's appropriate to edit the perldelta files after the fact.

Small edits are generally ok IMO.

nonetrix commented 2 years ago

Oh this again... this is why we can't have nice things

VitAndrGuid commented 2 years ago

Such a nice PR, my wifes son ran into this issue and it was affecting xir's mental health, so nice to know xir wont be harrased by such nasty words !