Skip to content
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

canonicalize "upper-case" -> "uppercase"; "lower-case" -> "lowercase" #88211

Closed
jugmac00 mannequin opened this issue May 5, 2021 · 13 comments
Closed

canonicalize "upper-case" -> "uppercase"; "lower-case" -> "lowercase" #88211

jugmac00 mannequin opened this issue May 5, 2021 · 13 comments
Labels
docs Documentation in the Doc dir easy type-bug An unexpected behavior, bug, or error

Comments

@jugmac00
Copy link
Mannequin

jugmac00 mannequin commented May 5, 2021

BPO 44045
Nosy @ericvsmith, @merwok, @jugmac00, @nanjekyejoannah, @akulakov
PRs
  • bpo-44045: fix spelling of uppercase vs upper-case #25985
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2021-05-05.06:55:02.631>
    labels = []
    title = 'canonicalize "upper-case" -> "uppercase"; "lower-case" -> "lowercase"'
    updated_at = <Date 2021-05-28.20:54:32.055>
    user = 'https://github.com/jugmac00'

    bugs.python.org fields:

    activity = <Date 2021-05-28.20:54:32.055>
    actor = 'nanjekyejoannah'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = []
    creation = <Date 2021-05-05.06:55:02.631>
    creator = 'jugmac00'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 44045
    keywords = ['patch']
    message_count = 10.0
    messages = ['392978', '393065', '393217', '393227', '393229', '393248', '393284', '393292', '393293', '394689']
    nosy_count = 5.0
    nosy_names = ['eric.smith', 'eric.araujo', 'jugmac00', 'nanjekyejoannah', 'andrei.avk']
    pr_nums = ['25985']
    priority = 'normal'
    resolution = None
    stage = 'patch review'
    status = 'open'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue44045'
    versions = []

    Linked PRs

    @jugmac00
    Copy link
    Mannequin Author

    jugmac00 mannequin commented May 5, 2021

    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?

    @ericvsmith
    Copy link
    Member

    ericvsmith commented May 6, 2021

    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.

    @merwok
    Copy link
    Member

    merwok commented May 7, 2021

    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.

    @jugmac00
    Copy link
    Mannequin Author

    jugmac00 mannequin commented May 7, 2021

    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?

    @ericvsmith
    Copy link
    Member

    ericvsmith commented May 7, 2021

    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.

    @jugmac00
    Copy link
    Mannequin Author

    jugmac00 mannequin commented May 8, 2021

    Thank you for the feedback. I created a PR.

    @akulakov
    Copy link
    Contributor

    akulakov commented May 8, 2021

    https://dictionary.cambridge.org/us/dictionary/english/lower-case lists lower-case as a valid variant for nouns as well as adjectives.

    @ericvsmith
    Copy link
    Member

    ericvsmith commented May 9, 2021

    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.

    @akulakov
    Copy link
    Contributor

    akulakov commented May 9, 2021

    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!

    @nanjekyejoannah
    Copy link
    Member

    nanjekyejoannah commented May 28, 2021

    New changeset 2138b2e by Jürgen Gmach in branch 'main':
    bpo-44045: fix spelling of uppercase vs upper-case (GH-25985)
    2138b2e

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @AlexWaygood AlexWaygood added docs Documentation in the Doc dir type-bug An unexpected behavior, bug, or error labels Apr 10, 2022
    @slateny
    Copy link
    Contributor

    slateny commented Aug 2, 2022

    In imaplib, the first sentence in that section there is this:

    All IMAP4rev1 commands are represented by methods of the same name, either upper-case or lower-case.
    

    Should that be changed over too, or is this issue good to close?

    @nanjekyejoannah
    Copy link
    Member

    nanjekyejoannah commented Aug 3, 2022

    In imaplib, the first sentence in that section there is this:

    All IMAP4rev1 commands are represented by methods of the same name, either upper-case or lower-case.
    

    Should that be changed over too, or is this issue good to close?

    Yes, makes sense, you can open a PR if can.

    @slateny slateny added the easy label Aug 6, 2022
    tbwolfe added a commit to tbwolfe/cpython that referenced this issue Nov 20, 2022
    …8211
    
    Issue python#88211 recommends canonicalizing instances of upper-case to
    uppercase and lower-case to lowercase. This commit addresses
    outstanding instances present in Doc/library/impamlib.rst.
    @tbwolfe
    Copy link
    Contributor

    tbwolfe commented Nov 20, 2022

    PR Submitted. Please let me know if there are any issues.

    jonburdo pushed a commit to jonburdo/cpython that referenced this issue Dec 20, 2022
    @slateny slateny closed this as completed Dec 21, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    docs Documentation in the Doc dir easy type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    7 participants