Graham Percival schreef op do 17-03-2011 om 18:54 [+0000]:

> Well, maybe somebody could spend 15 making this work, then we
> wouldn't need to discuss it any more?

Please try the attached patch.  Also consider

http://lists.gnu.org/archive/html/bug-lilypond/2011-03/msg00219.html

Jan.


-- 
Jan Nieuwenhuizen <jann...@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ®  http://AvatarAcademy.nl  
>From 3189ec68d200e45018c899ff0e85c5894f6442b5 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <jann...@gnu.org>
Date: Thu, 17 Mar 2011 21:44:05 +0100
Subject: [PATCH] lilylib: handle encodings.  Fixes #1073 and u#714213.

---
 python/lilylib.py |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/python/lilylib.py b/python/lilylib.py
index 3bf77f6..4ee5bcf 100644
--- a/python/lilylib.py
+++ b/python/lilylib.py
@@ -47,13 +47,19 @@ underscore = _
 # Urg, Python 2.4 does not define stderr/stdout encoding
 # Maybe guess encoding from LANG/LC_ALL/LC_CTYPE?
 
+reload (sys)
+sys.setdefaultencoding ('utf-8')
+import codecs
+sys.stdout = codecs.getwriter ('utf8') (sys.stdout)
+sys.stderr = codecs.getwriter ('utf8') (sys.stderr)
+
 def encoded_write(f, s):
-    f.write (s.encode (f.encoding or 'utf_8'))
+    f.write (s.encode (f.encoding or 'utf-8'))
 
 # ugh, Python 2.5 optparse requires Unicode strings in some argument
 # functions, and refuse them in some other places
 def display_encode (s):
-    return s.encode (sys.stderr.encoding or 'utf_8')
+    return s.encode (sys.stderr.encoding or 'utf-8')
 
 # Lilylib globals.
 program_version = '@TOPLEVEL_VERSION@'
-- 
1.7.1

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to