Subject: Re: bug#18051: [Emacs-diffs] trunk r117726: Add string collation.

From: Eli Zaretskii <[email-masked]>
Date: Wed, 27 Aug 2014 21:26:41 +0300

> From: Michael Albinus <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 27 Aug 2014 20:12:12 +0200
> 
> >> > 5. The locale names on Windows are different from Posix: Windows uses
> >> >    3-letter abbreviations of the country and the language,
> >> >    e.g. "fra_FRA" instead of the Posix "fr_FR".  Do we want the locale
> >> >    string values used for let-binding the above-mentioned variable to
> >> >    be portable across systems?  Then we'd need some conversion
> >> >    database on MS-Windows.
> >> 
> >> Here I'm a bit undecided. We could let it to the users to find the
> >> proper locale name, but this is inconvenient. OTOH it would be much work
> >> to install a mapping system, and we would need to maintain it. What if
> >> there would be a new "en_SC" (Scotland) locale? We would need to
> >> maintain such changes in Emacs forever ...
> >
> > I think these interfaces will almost always be used with the current
> > locale.  So with that in mind, I think we can document this issue, and
> > then safely leave this problem to the code that needs to use
> > non-default locales.
> 
> I don't get this. What do you propose here? Set the locale specific to
> the system Emacs is running, or do you propose a mapping to something
> which is portable over system boundaries?

The former.  IOW, the (rare, IMO) Lisp program that wants to override
the default locale will have to figure out how to do that in a way
that works on all the supported platforms.  E.g., one way is

  (let ((locale (if (eq system-type 'windows-nt)
                    "enu_USA"
		  "en_US")))
     ...