diff --git a/gtkdoc-mkdb.in b/gtkdoc-mkdb.in index de0d35d..276b163 100755 --- a/gtkdoc-mkdb.in +++ b/gtkdoc-mkdb.in @@ -1091,11 +1091,12 @@ sub OutputIndex { @TRACE@("generate $basename index (".%apiindex." entries)\n"); - # do a case insensitive sort while chopping off the prefix + # do a case insensitive sort while chopping off the prefix. we sort case + # sensitively first to ensure a deterministic order within this. foreach my $hash ( sort { $$a{criteria} cmp $$b{criteria} } map { my $x = uc($_); $x =~ s/^$NAME_SPACE\_?(.*)/$1/i; { criteria => $x, original => $_, short => $1 } } - keys %apiindex) { + sort keys %apiindex) { $symbol = $$hash{original}; if (defined($$hash{short})) {