Minor tweaks for better numeric-following-split-strings.
[python-collate.git] / collate / _strings.py
index dde1739..aed2ba7 100644 (file)
@@ -72,7 +72,7 @@ def sortemes(string):
             # If we read two strings separated by weird punctuation,
             # pretend the punctuation isn't there.
             if (this_mode == previous_mode == LETTER
             # If we read two strings separated by weird punctuation,
             # pretend the punctuation isn't there.
             if (this_mode == previous_mode == LETTER
-                and prev_category[0] == "P"
+                and (category[0] == "P" or prev_category[0] == "P")
                 and words):
                 words[-1] += u" " + string[start:last+1]
             else:
                 and words):
                 words[-1] += u" " + string[start:last+1]
             else:
@@ -88,8 +88,9 @@ def sortemes(string):
             last = None
         if category[0] in "LN":
             last = i
             last = None
         if category[0] in "LN":
             last = i
+    this_mode = mode
     if start is not None and last is not None:
     if start is not None and last is not None:
-        if this_mode == previous_mode == LETTER and words:
+        if this_mode == LETTER and previous_mode == LETTER and words:
             words[-1] += u" " + string[start:last+1]
         else:
             if this_mode == NUMBER and previous_mode == LETTER and words:
             words[-1] += u" " + string[start:last+1]
         else:
             if this_mode == NUMBER and previous_mode == LETTER and words: