diff hgext/progress.py @ 21860:e382cf9ec30b

progress: use 'encoding.colwidth' to get column width of output line correctly Before this patch, 'progress' extension applies 'len' on byte sequence to get column width of it, but it causes incorrect result, when length of byte sequence and columns in display are different from each other in multi-byte characters. This patch uses 'encoding.colwidth' to get column width of output line correctly, even if it contains multi-byte characters.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Sun, 06 Jul 2014 02:56:41 +0900
parents be4270d27a7e
children ba7f75e7f4e5
line wrap: on
line diff
--- a/hgext/progress.py	Sun Jul 06 02:56:41 2014 +0900
+++ b/hgext/progress.py	Sun Jul 06 02:56:41 2014 +0900
@@ -159,9 +159,9 @@
         if needprogress:
             used = 0
             if head:
-                used += len(head) + 1
+                used += encoding.colwidth(head) + 1
             if tail:
-                used += len(tail) + 1
+                used += encoding.colwidth(tail) + 1
             progwidth = termwidth - used - 3
             if total and pos <= total:
                 amt = pos * progwidth // total