I’m posting this here because the main dialog thread is now so long. I’ve come across an issue with disambiguation.
The code below demonstrates it:
(current player #player)
(#player is #in #room)
#room
(room *)
(name *) hallway
(look *)
Nothing to see.
(from * go #east through #washdoor to #washroom)
(from * go #west through #gardendoor to #garden)
#washdoor
(door *)
(name *) washroom door
(descr *)
A very dull door.
#gardendoor
(door *)
(name *) garden door
(descr *)
A door to the garden.
#washroom
(room *)
(name *) washroom
(look *)
An interior room.
(from * go #west through #washdoor to #room)
#garden
(room *)
(name *) garden
(look *)
A beautiful garden.
(from * go #east through #gardendoor to #room)
If you x door
you get (as expected) a disambiguation message. If you answer washroom
, however, you get a further disambiguation prompt:
> x door
Did you want to examine the washroom door to the east or the garden door to the west?
> washroom
Did you want to:
1. examine the washroom door to the east, or
2. examine the washroom door to the east?
(Type the corresponding number)
It’s not clear to me why washroom
is being regarded as ambiguous in this context (and in fact I don’t think it does think it’s ambiguous: it’s choosing between [examine #washdoor]
and [examine #washdoor]
.