Determining whether a name is definite or indefinite

indef_mode is indeed what you want, but it only means ``which article should be printed’’ for a fleeting moment—it’s reset before the printing a name activity begins. The simplest solution I see is to track whether an indefinite article has been printed for the most recent object (assuming that you never print an article without the noun following):

The indefinite article flag is a truth state that varies.  The indefinite article flag is false.
After printing the name of something:
	now the indefinite article flag is false.
To say note an indefinite article:
	now the indefinite article flag is true.
To decide whether the item described is definite:
	decide on whether or not the indefinite article flag is false.

Bus Stop is a room.
There is a man called a senior citizen in the Bus Stop.
The indefinite article of a senior citizen is "[note an indefinite article]a".
For printing the name of a senior citizen when the item described is definite:
	say "old codger".
Test me with "take him".
1 Like