--- 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)