This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: canonicalize "upper-case" -> "uppercase"; "lower-case" -> "lowercase"
Type: Stage: patch review
Components: Versions:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: andrei.avk, eric.araujo, eric.smith, jugmac00, nanjekyejoannah
Priority: normal Keywords: patch

Created on 2021-05-05 06:55 by jugmac00, last changed 2022-04-11 14:59 by admin.

Pull Requests
URL Status Linked Edit
PR 25985 merged jugmac00, 2021-05-08 09:30
Messages (10)
msg392978 - (view) Author: Jürgen Gmach (jugmac00) * Date: 2021-05-05 06:55
Yesterday, I was bitten by ConfigParser' default behavior to lowercase keys on reading.

When I looked in the documentation and the source code, I found that lowercase was sometimes written as "lower-case", e.g. here 
https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.optionxform

The webster dictionary only accepts "lowercase" as a valid English word:
https://www.merriam-webster.com/dictionary/lowercase

Before I wanted to create a pull request for this one, I also grepped the complete source code with the following result:

lower-case    24
lowercase    207
upper-case     9
uppercase    201

I'd like to create a pull request which canonicalizes the writing to a consistent "lowercase" resp. "uppercase".

Is there any core dev out there willing to review / merge this kind of PR?
msg393065 - (view) Author: Eric V. Smith (eric.smith) * (Python committer) Date: 2021-05-06 07:07
I think we'd want to look at the 33 uses with hyphens to make sure removing the hyphen is correct (as opposed to just blindly make a change). But I'm generally supportive.
msg393217 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2021-05-07 20:17
I don’t think that there is a problem to be fixed.
Separated «lower case» could be unfriendly, but the hyphen is there in the adjective forms so it seems that changing these instances would add churn for no benefit.
msg393227 - (view) Author: Jürgen Gmach (jugmac00) * Date: 2021-05-07 22:06
I did some more research.

It looks like US English tends to use `lowercase`, while British English tends to `lower case`, and as an alternative to `lowercase` you can also use `lower-case` when using it as an adjective.

See also https://en.wiktionary.org/wiki/lowercase

So, to wrap up:

- you could use lowercase and uppercase as a noun, as an adjective and as a verb
- you can use lower case and upper case only as a noun
- you can use lower-case and upper-case only as an adjective

If that is true - I am no native English speaker, and Éric does not like to convert them all to single words, it gets a bit tougher.

Some - to me - obvious wrong usages would be:

"All IMAP4rev1 commands are supported by methods of the same name (in lower-case)."
=> in lower case or in lowercase

"All POP3 commands are represented by methods of the same name, in lower-case; most return the response text sent by the server."
=> in lower case or in lowercase

"Wrapper around a file that converts output to upper-case."
=> to upper case or to uppercase

"Return a new UUID, in the format that MSI typically requires (i.e. in curly braces, and with all hexdigits in upper-case)."
=> in upper case or in uppercase

"Hostnames are compared lower case."
=> lower-case or lowercase

Éric, are you ok with my suggested changes or do you want me to close the issue?
msg393229 - (view) Author: Eric V. Smith (eric.smith) * (Python committer) Date: 2021-05-07 22:18
That's exactly the kind of manual check I had in mind. After all "anal retentive doesn't have a hyphen unless it's used as a compound adjective".

I think we should go with "lowercase" when a noun, and "lower-case" as an adjective.
msg393248 - (view) Author: Jürgen Gmach (jugmac00) * Date: 2021-05-08 09:31
Thank you for the feedback. I created a PR.
msg393284 - (view) Author: Andrei Kulakov (andrei.avk) * (Python triager) Date: 2021-05-08 20:49
https://dictionary.cambridge.org/us/dictionary/english/lower-case lists lower-case as a valid variant for nouns as well as adjectives.
msg393292 - (view) Author: Eric V. Smith (eric.smith) * (Python committer) Date: 2021-05-09 02:38
The stdlib seems to have settled on lowercase for the noun version, though. My two cents: no sense not being consist just because lower-case might also work.
msg393293 - (view) Author: Andrei Kulakov (andrei.avk) * (Python triager) Date: 2021-05-09 02:40
On Sat, May 8, 2021 at 10:38 PM Eric V. Smith <report@bugs.python.org>
wrote:

>
> Eric V. Smith <eric@trueblade.com> added the comment:
>
> The stdlib seems to have settled on lowercase for the noun version,
> though. My two cents: no sense not being consist just because lower-case
> might also work.
>

 Sounds good to me, I'm not opposed to consistency!
msg394689 - (view) Author: Joannah Nanjekye (nanjekyejoannah) * (Python committer) Date: 2021-05-28 20:54
New changeset 2138b2edaf5acb3b9c162a9ba620923e286239a8 by Jürgen Gmach in branch 'main':
bpo-44045: fix spelling of uppercase vs upper-case (GH-25985)
https://github.com/python/cpython/commit/2138b2edaf5acb3b9c162a9ba620923e286239a8
History
Date User Action Args
2022-04-11 14:59:45adminsetgithub: 88211
2021-05-28 20:54:32nanjekyejoannahsetnosy: + nanjekyejoannah
messages: + msg394689
2021-05-09 02:40:33andrei.avksetmessages: + msg393293
2021-05-09 02:38:02eric.smithsetmessages: + msg393292
2021-05-08 20:49:13andrei.avksetnosy: + andrei.avk
messages: + msg393284
2021-05-08 09:31:19jugmac00setmessages: + msg393248
2021-05-08 09:30:37jugmac00setkeywords: + patch
stage: patch review
pull_requests: + pull_request24637
2021-05-07 22:18:32eric.smithsetmessages: + msg393229
2021-05-07 22:06:06jugmac00setmessages: + msg393227
2021-05-07 20:17:55eric.araujosetnosy: + eric.araujo
messages: + msg393217
2021-05-06 07:07:09eric.smithsetnosy: + eric.smith
messages: + msg393065
2021-05-05 06:55:02jugmac00create