Patchwork D223: color: remove warnings if term is not formatted (==dumb or !ui.formatted())

login
register
mail settings
Submitter phabricator
Date Aug. 4, 2017, 1:54 p.m.
Message ID <340647b33743d4448649c76b917fe01c@localhost.localdomain>
Download mbox | patch
Permalink /patch/22668/
State Not Applicable
Headers show

Comments

phabricator - Aug. 4, 2017, 1:54 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGf9f28ee41cac: color: remove warnings if term is not formatted (==dumb or !ui.formatted()) (authored by spectral).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D223?vs=528&id=546

REVISION DETAIL
  https://phab.mercurial-scm.org/D223

AFFECTED FILES
  mercurial/color.py

CHANGE DETAILS




To: spectral, #hg-reviewers, yuja
Cc: yuja, mercurial-devel

Patch

diff --git a/mercurial/color.py b/mercurial/color.py
--- a/mercurial/color.py
+++ b/mercurial/color.py
@@ -130,7 +130,7 @@ 
 def loadcolortable(ui, extname, colortable):
     _defaultstyles.update(colortable)
 
-def _terminfosetup(ui, mode):
+def _terminfosetup(ui, mode, formatted):
     '''Initialize terminfo data and the terminal if we're in terminfo mode.'''
 
     # If we failed to load curses, we go ahead and return.
@@ -164,8 +164,8 @@ 
             del ui._terminfoparams[key]
     if not curses.tigetstr('setaf') or not curses.tigetstr('setab'):
         # Only warn about missing terminfo entries if we explicitly asked for
-        # terminfo mode.
-        if mode == "terminfo":
+        # terminfo mode and we're in a formatted terminal.
+        if mode == "terminfo" and formatted:
             ui.warn(_("no terminfo entry for setab/setaf: reverting to "
               "ECMA-48 color\n"))
         ui._terminfoparams.clear()
@@ -242,7 +242,7 @@ 
     def modewarn():
         # only warn if color.mode was explicitly set and we're in
         # a formatted terminal
-        if mode == realmode and ui.formatted():
+        if mode == realmode and formatted:
             ui.warn(_('warning: failed to set color mode to %s\n') % mode)
 
     if realmode == 'win32':
@@ -253,7 +253,7 @@ 
     elif realmode == 'ansi':
         ui._terminfoparams.clear()
     elif realmode == 'terminfo':
-        _terminfosetup(ui, mode)
+        _terminfosetup(ui, mode, formatted)
         if not ui._terminfoparams:
             ## FIXME Shouldn't we return None in this case too?
             modewarn()