Hi, Andy Wingo <wi...@pobox.com> writes:
> On Tue 03 May 2011 00:18, l...@gnu.org (Ludovic Courtès) writes: > >>> I still think that we need at least the ability to pass a bytevector as >>> a path name, on GNU systems; and that if we can do so, then any routine >>> that needs to deal with a path name would then need to deal in byte >>> vectors in addition to strings, and at that point perhaps it is indeed >>> useful to have a path library. >> >> To accommodate various file name encodings, right? Then yes. > > That's the crazy thing: file names on GNU aren't in any encoding! Yes, that’s POSIX. >> I think GLib and the like expect UTF-8 as the file name encoding and >> complain otherwise, so UTF-8 might be a better default than locale >> encoding (and it’s certainly wiser to be locale-independent.) > > It's more complicated than that. Here's the old interface that they > used, which attempted to treat paths as utf-8: > > http://developer.gnome.org/glib/unstable/glib-Character-Set-Conversion.html > (search for "file name encoding") > > The new API is abstract, so it allows operations like "get-display-name" > and "get-bytes": > > http://developer.gnome.org/gio/2.28/GFile.html (search for "encoding" > in that page) Interesting. But when I launch Geeqie there’s a GLib warning when it encounters a non-UTF-8-encoded name, which basically makes me feel guilty for not using UTF-8. >> So volumes matter in the file name canonicalization of the .go cache >> right? >> >> Couldn’t we mimic /cygdrive/c, etc.? > > Is that what cygwin does? We certainly could, yes; though for the > purposes of joining the cache dir to an absolute filename, I guess we > could simply change c:/foo to /c/foo... Hum! Yes, that should be good enough (but that’s really just for Guile on MinGW since Guile on Cygwin cannot have this problem, AIUI.) Thanks, Ludo’.