On Thu, Oct 12, 2023 at 06:13:34PM +0300, Eli Zaretskii wrote: > What you say is not detailed enough, but using my crystal ball I think > you can have this with glibc-based systems, and also on Windows (but > that requires using a special API for comparing strings). Not sure > about the equivalent features on other systems, like *BSD and macOS. > You can see that in action in how GNU 'ls' sorts file names.
Looks like ls ultimately uses strcoll. The problem is that it selects the current locale, we never want to use the current locale in Texinfo. We either want to use a 'generic' locale (which does not really exist as far as I can tell) or the @documentlanguage locale. There seems to be variants of strcoll and of strxfrm, strcoll_l and strxfrm_l that allow to specify a locale, but it is not very well documented (these functions seem to be in the glibc, but are not documented, strcoll and strxfrm are), there are no gnulib modules, and I am not sure whether with "C" locale these functions really use the specified locale. I think that I will pass the sorted index entries from perl for the time being and will test strxfrm_l in the future. -- Pat