Skip to content

Should John Smith (Jr.᠈MD) read suffix Jr.᠈MD as John Smith (Jr.,MD) does? Every other comma inside brackets after a full stop gives a nickname #1360

Open

Description

@derek73

#1266 and #1202 made every member of the comma set (_state.COMMA_CHARS) read as the ASCII comma does, and the corpus property test_every_comma_reads_as_the_ascii_comma_does holds that. There is one position where the members still differ: glued after a full stop inside a bracketed clause.

Measured on master 670b349, 2026-11-12. "nick." is the nickname, holding the clause as written.

Comma (Jr.·MD) (Jr.·III) (Ph.D·MD) (MD·Ph.D) (MD·PhD) (MD· PhD) Jr.·MD bare , Ph.D·MD
U+002C , suffix Jr.,MD suffix Jr.,III nick. nick. nick. suffix MD, PhD suffix Jr., MD suffix Ph.D, MD
U+060C ، nick. nick. nick. nick. nick. suffix suffix suffix
U+07F8 ߸ nick. nick. nick. nick. nick. suffix suffix suffix
U+104A ၊ nick. nick. nick. nick. nick. suffix suffix suffix
U+1363 ፣ nick. nick. nick. nick. nick. suffix suffix suffix
U+1802 ᠂ nick. nick. nick. nick. nick. suffix suffix suffix
U+1808 ᠈ nick. nick. nick. nick. nick. suffix suffix suffix
U+A4FE ꓾ nick. nick. nick. nick. nick. suffix suffix suffix
U+A60D ꘍ nick. nick. nick. nick. nick. suffix suffix suffix
U+A6F5 ꛵ nick. nick. nick. nick. nick. suffix suffix suffix
U+FF0C , nick. nick. nick. nick. nick. suffix suffix suffix

The patterns, column by column:

  • A comma with a full stop inside the word on either side ((Ph.D·MD), (MD·Ph.D)) gives nickname for every member, the ASCII comma included.
  • Spaced in brackets, and outside brackets, every member reads alike.
  • Only (Jr.·MD) and (Jr.·III), a full stop then a comma glued to the next word, split the ASCII comma from the rest.

Where: _vocab._period_chunks reads a word whole through its chunks (rules/S3). Its docstring says: "ASCII punctuation beside an interior period is no part of the chunk". It strips string.punctuation, so Jr.,MD chunks into Jr and MD, both credentials. The other ten commas are not ASCII, so Jr.᠈MD keeps ᠈MD as a chunk no vocabulary knows. rules/S1's Accepted bullet since #1342 names this reach: "a word with one inside it may be read whole through its chunks (S3)". So the ASCII reading is documented and the other commas are the gap.

How often (2026-11-12, all 26 corpora):

  • This position: no name holds a non-ASCII comma after a full stop inside a clause, and none holds the ASCII X.,Y there.
  • Any non-ASCII comma at all: 1,678 names.

The corpus property cannot see this position for that reason. It surfaced when #1342 tried (Jr.,MD) as a rule example and the property failed on U+1808.

Options:

Open:

  1. A, B or C?
  2. Should test_regex_sync or the comma sweep test gain this position, so a member added later is held to it?

🤖 Generated with Claude Code

Activity

  1. self-assigned this
    on Nov 12, 2026
  2. added
    non-latin-scriptNames written in a script other than Latin (rules/W)
    commasCommas and name structure (rules/C)
    nicknamesNicknames, brackets and quoted names (rules/N)
    on Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

commasCommas and name structure (rules/C)nicknamesNicknames, brackets and quoted names (rules/N)non-latin-scriptNames written in a script other than Latin (rules/W)

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions