summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-03-08 18:19:52 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-03-08 18:19:52 -0400
commit876f0c6fbce125b946aa37eb1c409d6030785d72 (patch)
treebf6458f78276ee1b9eb4d5a115e7118779ca2392 /doc/todo
parent26544de9463291b8185fdd1a7c1b33710ef7db3c (diff)
add new todo item
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/support-non-utf8-locales.mdwn19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/todo/support-non-utf8-locales.mdwn b/doc/todo/support-non-utf8-locales.mdwn
new file mode 100644
index 000000000..26f600be4
--- /dev/null
+++ b/doc/todo/support-non-utf8-locales.mdwn
@@ -0,0 +1,19 @@
+Currenty, git-annex forces output, particularly of filenames, in a utf-8
+locale.
+
+Note that this does not mean it cannot be used with filenames in other
+encodings. It just displays their names always converted to utf-8, which
+may not look right when you have a non-utf8 locale.
+
+This had to be done to work around some bugs with haskell's handling
+of filename encodings. In particular,
+
+* [[bugs/unhappy_without_UTF8_locale]]: haskell crashes when told to output
+ a string with characters > 255 in a non-utf8 locale.
+* [[bugs/problems_with_utf8_names]]: On many OSs, haskell expects
+ non-decoded raw char8 in FilePaths. In order to display a filename,
+ though, it needs to first be decoded, and git-annex currently assumes
+ it was encoded as utf8.
+
+git-annex's behavior is unlikely to improve much until haskell's
+support for utf8 filenames improves. --[[Joey]]