Chapter - Plurality Modification
Section - Ambiguously Singular (in place of Section 4 - Enumeration in Plurality by Emily Short)
[This adds a new option, "ambiguously singular." Ambiguously singular things act like ambiguously plural things for the purposes of all the pronoun-setting stuff that is going on in this section, but they don't "act plural" for the purpose of the things that are happening in section 1 of Plurality, so they should use singular verbs etc.]
A thing can be ambiguously plural, ambiguously singular, or ordinarily enumerated. A thing is usually ordinarily enumerated.
Definition: A thing is ambiguous if it is ambiguously plural or it is ambiguously singular.
This is the update ambiguous pronouns for actions rule:
if the noun is a thing and the noun is ambiguous:
notice the plurality of the noun;
if the second noun is a thing and the second noun is ambiguous:
notice the plurality of the second noun.
The update ambiguous pronouns for actions rule is listed after the set pronouns from items from multiple object lists rule in the action-processing rules.
After printing the name of an ambiguous thing (called the suspect) (this is the notice plurality of printed ambiguous object rule):
if the manual pronouns option is active:
do nothing;
otherwise:
notice the plurality of the suspect.
To notice the plurality of (suspect - an object):
(- PlugPlural({suspect}); -)
Include (-
[ PlugPlural obj;
SetPronoun('them', obj);
SetPronoun('it', obj);
];
-)
Use Manual Pronouns translates as (- Constant MANUAL_PRONOUNS; -)
To have the parser notice (o - an object):
if o is ambiguous, notice the plurality of o;
otherwise set pronouns from o.
[The following is a legacy item in case people are still using it in their code, but "set pronouns from..." will work just as well.]
To notice (o - an object) boringly:
(- PronounNotice({o}); -)