What exactly is the "manual pronouns" option for?

The “manual pronouns” option isn’t explained at all in the official documentation. It’s mentioned in the Standard Rules exactly once, and that’s to expose it to Inform 7. If you try compiling this with “Use manual pronouns”:

The Lab is a room.

Use manual pronouns.

The whistle is a thing in the Lab.
Alice is a woman in the Lab.
Bob is a man in the Lab.
The player carries an apple.

Test me with "pronouns / x bob / pronouns / x apple / pronouns"

The result is this:

Lab
You can see a whistle, Alice and Bob here.

>test me
(Testing.)

>[1] pronouns
At the moment, “it” means the whistle, “him” means Bob, “her” means Alice and “them” is unset.

>[2] x bob
You see nothing special about Bob.

>[3] pronouns
At the moment, “it” means the whistle, “him” means Bob, “her” means Alice and “them” is unset.

>[4] x apple
You see nothing special about the apple.

>[5] pronouns
At the moment, “it” means the apple, “him” means Bob, “her” means Alice and “them” is unset.

I would have expected the manual pronouns option to have all the pronouns be unset at the start of play, and to set a pronoun only if the player interacts with something. Commenting out “Use manual pronouns” makes no difference to the “test me” results.

I found three places where “set pronouns from” is invoked in the Standard Rules. I modified each one to check for the manual pronouns option:

Summary
The new set pronouns from items from multiple object lists rule is listed instead of the set pronouns from items from multiple object lists rule in the action-processing rules. 
	
This is the new set pronouns from items from multiple object lists rule:
	if the current item from the multiple object list is not nothing and the manual pronouns option is not active,
		set pronouns from the current item from the multiple object list.
	
The new set pronouns from items in room descriptions rule is listed instead of the set pronouns from items in room descriptions rule in the for printing a locale paragraph about rulebook.
	
For printing a locale paragraph about a thing (called the item)
	(this is the new set pronouns from items in room descriptions rule):
	if the item is not mentioned and the manual pronouns option is not active, set pronouns from the item;
	continue the activity.
	
The new describe what's on scenery supporters in room descriptions rule is listed instead of the the new describe what's on scenery supporters in room descriptions rule in the for printing a locale paragraph about rulebook.
	
For printing a locale paragraph about a thing (called the item)
	(this is the new describe what's on scenery supporters in room descriptions rule):
	if the item is scenery and the item does not enclose the player:
		if a locale-supportable thing is on the item:
			if the manual pronouns option is not active:
				set pronouns from the item;
			repeat with possibility running through things on the item:
				now the possibility is marked for listing;
				if the possibility is mentioned:
					now the possibility is not marked for listing;
			increase the locale paragraph count by 1;
			say "On [the item] " (A);
			list the contents of the item, as a sentence, including contents,
				giving brief inventory information, tersely, not listing
				concealed items, prefacing with is/are, listing marked items only;
			say ".[paragraph break]";
	continue the activity.
	
The new describe what's on mentioned supporters in room descriptions rule is listed instead of the describe what's on mentioned supporters in room descriptions rule in the for printing a locale paragraph about rulebook.
	
For printing a locale paragraph about a thing (called the item)
	(this is the new describe what's on mentioned supporters in room descriptions rule):
	if the item is mentioned and the item is not undescribed and the item is
		not scenery and the item does not enclose the player:
		if a locale-supportable thing is on the item:
			if the manual pronouns option is not active:
				set pronouns from the item;
			repeat with possibility running through things on the item:
				now the possibility is marked for listing;
				if the possibility is mentioned:
					now the possibility is not marked for listing;
			increase the locale paragraph count by 1;
			say "On [the item] " (A);
			list the contents of the item, as a sentence, including contents,
				giving brief inventory information, tersely, not listing
				concealed items, prefacing with is/are, listing marked items only;
			say ".[paragraph break]";
	continue the activity.

Now the above example works as expected:

Lab
You can see a whistle, Alice and Bob here.

>test me
(Testing.)

>[1] pronouns
At the moment, “it” is unset, “him” is unset, “her” is unset and “them” is unset.

>[2] x bob
You see nothing special about Bob.

>[3] pronouns
At the moment, “it” is unset, “him” means Bob, “her” is unset and “them” is unset.

>[4] x apple
You see nothing special about the apple.

>[5] pronouns
At the moment, “it” means the apple, “him” means Bob, “her” is unset and “them” is unset.

My question is: am I wrong about what “manual pronouns” is supposed to be doing? If so, what’s the right way to get the behaviour I want: having a pronoun be unset unless the player interacts with a thing that the pronoun refers to?

1 Like

That’s what the MANUAL_PRONOUNS constant in I6 should do. But unfortunately, use-options are pretty thoroughly broken in the current release of Inform, and there’s no ETA on the next one.

I don’t think it’s just 10.1.2… Looking at 6M62, I’m noticing two things:

  1. Writing with Inform doesn’t seem to mention the use option at all.

  2. In the template code, the only routine that pays any attention to MANUAL_PRONOUNS is PronounNoticeHeldObjects()… but that routine doesn’t seem to be used by anything else.

Thanks for your responses. I don’t know why Inform provides a “manual pronouns” use option if it’s not going to be used. Anyway, modifying those rules appears to solve it.