Index: pyyaml/trunk/lib/yaml/emitter.py
===================================================================
--- pyyaml/trunk/lib/yaml/emitter.py	(revision 141)
+++ pyyaml/trunk/lib/yaml/emitter.py	(revision 143)
@@ -960,8 +960,7 @@
             if end < len(text):
                 ch = text[end]
-            if ch is None or ch in u'"\\'   \
+            if ch is None or ch in u'"\\\x85\u2028\u2029\uFEFF' \
                     or not (u'\x20' <= ch <= u'\x7E'
-                            or (self.allow_unicode and ch > u'\x7F'
-                                and ch not in u'\x85\u2028\u2029')):
+                            or (self.allow_unicode and ch > u'\x7F')):
                 if start < end:
                     data = text[start:end]
@@ -997,5 +996,5 @@
                 self.whitespace = False
                 self.indention = False
-                if ch == u' ':
+                if text[start] == u' ':
                     data = u'\\'
                     self.column += len(data)
