> Date: Mon, 30 Jan 2017 21:32:41 +0200 > From: Eli Zaretskii <e...@gnu.org> > Cc: guile-user@gnu.org > > > Hm, I know that XEmacs-Mule emphatically does not have unibyte strings > > (and Stephen considers them a complication and abomination that should > > never have been left in Emacs), so it must be possible to get away > > without them. > > I doubt that's possible, at least not in general. (You could get away > if you assumed UTF-8 encoded file names.) Some translation tables for > some encodings must load files using the likes of load-path, and if > that includes non-ASCII file names, you are screwed unless you can use > unibyte strings.
Actually, the need arises even sooner. Consider how load-path is set up during startup: it starts with the directory from which Emacs was invoked, either from argv[0] or by looking up PATH. Either way, you get a file name that is encoded in the locale-specific encoding. Then you cons load-path by expanding file names relative to the startup directory. So you immediately need to be able to create file names from directories, check whether a file exists and is a directory, etc. -- all of that before you even know in what locale you started, so you cannot decode these file names into the internal representation, before using them.