Skip to content

Should a declared suffix delimiter inside a joined connective run be dropped? Smith, John, Puig - i Soler keeps the - in the suffix #549

Closed

Description

@derek73

With Policy(extra_suffix_delimiters=(" - ",)), a delimiter core that a connective join swallows is never dropped, so it survives in the suffix text:

>>> p = Parser(policy=Policy(extra_suffix_delimiters=(" - ",)))
>>> p.parse("Smith, John, Puig - i Soler").suffix
'Puig - i Soler'          # written without the core: 'Puig i Soler'
>>> p.parse("Smith, John, PhD née Puig Dr. i - y Soler").suffix
'PhD i - y Soler'
>>> p.parse("Smith, John, PhD - and MD").suffix
'PhD - and MD'            # an ordinary connective takes the core as a neighbour

#538 made a GENERATIONAL link (i) read past a core (rules.md#P3's separator sentence), so a link beside a core with a credential or nothing beyond it stays a lone suffix word and the core is dropped (PhD - i Soler → PhD, i Soler). Where the link joins across the core, or the core sits inside a connective run, or the connective is an ordinary one (and), the core is merged into the joined piece and the #206 drop — which removes a LONE core — never sees it.

Reach. Default-unreachable: extra_suffix_delimiters is empty unless a caller declares it.

The question. Should the join skip a declared core (the separator dropped wherever it stands, as PhD - MD → PhD, MD), or should a core end the run it stands in (so Puig - i Soler reads two entries)? And should an ordinary connective read past a core as the generational link now does?

Related: #538, #206, #397.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions