merge with i18n stable
authorMatt Mackall <mpm@selenic.com>
Sat, 09 Aug 2014 16:05:03 -0500
branchstable
changeset 22084 45a81266434f
parent 22083 604f832996b6 (current diff)
parent 21991 aca137619a45 (diff)
child 22085 1aca2abbe13c
child 22086 68f2f8bfe9ae
merge with i18n
--- a/hgext/color.py	Sat Aug 09 16:04:36 2014 -0500
+++ b/hgext/color.py	Sat Aug 09 16:05:03 2014 -0500
@@ -562,8 +562,12 @@
         for l in label.split():
             style = _styles.get(l, '')
             for effect in style.split():
-                attr = mapcolor(w32effects[effect], attr)
-
+                try:
+                    attr = mapcolor(w32effects[effect], attr)
+                except KeyError:
+                    # w32effects could not have certain attributes so we skip
+                    # them if not found
+                    pass
         # hack to ensure regexp finds data
         if not text.startswith('\033['):
             text = '\033[m' + text
--- a/mercurial/context.py	Sat Aug 09 16:04:36 2014 -0500
+++ b/mercurial/context.py	Sat Aug 09 16:05:03 2014 -0500
@@ -1341,8 +1341,10 @@
             try:
                 # updating the dirstate is optional
                 # so we don't wait on the lock
+                # wlock can invalidate the dirstate, so cache normal _after_
+                # taking the lock
+                wlock = self._repo.wlock(False)
                 normal = self._repo.dirstate.normal
-                wlock = self._repo.wlock(False)
                 try:
                     for f in fixup:
                         normal(f)