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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions