Patchwork [6,of,6] color: drop the 'colorui' class

login
register
mail settings
Submitter Pierre-Yves David
Date Feb. 22, 2017, 4:54 p.m.
Message ID <3a3b29a242222fb75a50.1487782477@nodosa.octopoid.net>
Download mbox | patch
Permalink /patch/18720/
State Superseded
Delegated to: Yuya Nishihara
Headers show

Comments

Pierre-Yves David - Feb. 22, 2017, 4:54 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@ens-lyon.org>
# Date 1487590955 -3600
#      Mon Feb 20 12:42:35 2017 +0100
# Node ID 3a3b29a242222fb75a50547ea3eeef7948117e10
# Parent  707f0b5ada6d7237306d87a34ab5569b3e7c8844
# EXP-Topic color
color: drop the 'colorui' class

Now that all logics formally bared by 'colorui' have been moved to the main ui
class, that class is empty and can be dropped. As a nice side effect we can get
rid of the baroque Initialization associated to it.

There was much rejoicing.

Patch

diff -r 707f0b5ada6d -r 3a3b29a24222 hgext/color.py
--- a/hgext/color.py	Mon Feb 20 12:42:23 2017 +0100
+++ b/hgext/color.py	Mon Feb 20 12:42:35 2017 +0100
@@ -296,18 +296,12 @@  def _modesetup(ui, coloropt):
         return realmode
     return None
 
-class colorui(uimod.ui):
-    pass
-
 def uisetup(ui):
     if ui.plain():
         return
-    if not isinstance(ui, colorui):
-        colorui.__bases__ = (ui.__class__,)
-        ui.__class__ = colorui
     def colorcmd(orig, ui_, opts, cmd, cmdfunc):
         mode = _modesetup(ui_, opts['color'])
-        colorui._colormode = mode
+        uimod.ui._colormode = mode
         if mode and mode != 'debug':
             color.configstyles(ui_)
         return orig(ui_, opts, cmd, cmdfunc)
diff -r 707f0b5ada6d -r 3a3b29a24222 tests/test-ui-color.py
--- a/tests/test-ui-color.py	Mon Feb 20 12:42:23 2017 +0100
+++ b/tests/test-ui-color.py	Mon Feb 20 12:42:35 2017 +0100
@@ -1,16 +1,13 @@ 
 from __future__ import absolute_import, print_function
 
 import os
-from hgext import (
-    color,
-)
 from mercurial import (
     dispatch,
     ui as uimod,
 )
 
 # ensure errors aren't buffered
-testui = color.colorui()
+testui = uimod.ui()
 testui.pushbuffer()
 testui.write(('buffered\n'))
 testui.warn(('warning\n'))
@@ -35,6 +32,7 @@  def runcmd():
     dispatch.dispatch(dispatch.request(['version', '-q'], ui_))
 
 runcmd()
-print("colored? " + str(issubclass(ui_.__class__, color.colorui)))
+print("colored? %s" % (ui_._colormode is not None))
 runcmd()
-print("colored? " + str(issubclass(ui_.__class__, color.colorui)))
+print("colored? %s" % (ui_._colormode is not None))
+