make links to duplicate index entries predicatable
tldr: sort indexentries.iteritems to get predictable link order in document index
I've constructed a set of documents where I have individual documents and an all-in-one document that includes each individual document. For example:
a.rst b.rst c.rst all.rst include a, b, c index.rst toctree: a, b, c, all
When creating a master index (genindex) I get 2 links for each index entry as expected - one that points to the individual document (a.rst or b.rst, for example) and one that points to the all-in-one document (all.rst).
However, I find that sometimes the first link points to the individual document and other times the first link points to the all-in-one document.
My choice would be to have the index generation be more stable and predictable.
I've found that if I place all my individual documents in a sub-directory and then sort the indexentries in sphinx.environment.create_index I get a stable and predictable index ordering.
< for fn, entries in self.indexentries.iteritems():
for fn, entries in sorted(self.indexentries.iteritems()):