# HG changeset patch # User Kyle Lippincott # Date 1531766336 25200 # Node ID d79f3afb079e66305adf634f513ae65f195824bf # Parent c382c19ce9bd5c335beae197e82e7cda2a213eb2 curses: use "text" interface if TERM=dumb Differential Revision: https://phab.mercurial-scm.org/D3948 diff -r c382c19ce9bd -r d79f3afb079e mercurial/ui.py --- a/mercurial/ui.py Mon Jul 16 00:32:33 2018 -0400 +++ b/mercurial/ui.py Mon Jul 16 11:38:56 2018 -0700 @@ -1214,7 +1214,7 @@ "Feature %s does not handle all default interfaces" % feature) - if self.plain(): + if self.plain() or encoding.environ.get('TERM') == 'dumb': return "text" # Default interface for all the features diff -r c382c19ce9bd -r d79f3afb079e tests/test-commit-interactive-curses.t --- a/tests/test-commit-interactive-curses.t Mon Jul 16 00:32:33 2018 -0400 +++ b/tests/test-commit-interactive-curses.t Mon Jul 16 11:38:56 2018 -0700 @@ -368,6 +368,16 @@ $ chunkselectorinterface curses +If TERM=dumb, we use text, even if the config says curses + $ chunkselectorinterface + curses + $ TERM=dumb chunkselectorinterface + text +(Something is keeping TERM=dumb in the environment unless I do this, it's not +scoped to just that previous command like in many shells) + $ TERM=xterm chunkselectorinterface + curses + It is possible to override the default interface with a feature specific interface $ cp $HGRCPATH.pretest $HGRCPATH