[Bug 3895] New: [2.6-rc] Color is not disabled when stdout is redirected

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Apr 19 00:50:56 CDT 2013


http://bz.selenic.com/show_bug.cgi?id=3895

          Priority: normal
            Bug ID: 3895
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: [2.6-rc] Color is not disabled when stdout is
                    redirected
          Severity: bug
    Classification: Unclassified
                OS: Linux
          Reporter: al.drozdov at gmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: unspecified
         Component: color
           Product: Mercurial

[color] is not present in hgrc.

Output of "LANGUAGE=C hg log -r 96e9081e968b| LESS= less":

for v2.6-rc:
ESC[0;33mchangeset:   19069:96e9081e968bESC[0m
branch:      stable
bookmark:    @
tag:         tip
user:        Matt Mackall <mpm at selenic.com>
date:        Thu Apr 18 23:50:15 2013 -0500
summary:     Added signature for changeset 292cd385856d

for v2.5.4:
changeset:   19069:96e9081e968b
branch:      stable
bookmark:    @
tag:         tip
user:        Matt Mackall <mpm at selenic.com>
date:        Thu Apr 18 23:50:15 2013 -0500
summary:     Added signature for changeset 292cd385856d

BTW, I've added "mode = test" to [color] section and got an exception for
v2.6-rc (for v2.5.4 color is just disabled in this case):

** Unknown exception encountered with possibly-broken third-party extension
histedit
** which supports versions unknown of Mercurial.
** Please disable histedit and try your action again.
** If that fixes the bug please report it to the extension author.
** Python 2.7.3 (default, Sep 26 2012, 21:51:14) [GCC 4.7.2]
** Mercurial Distributed SCM (version 2.6-rc+2-96e9081e968b)
** Extensions loaded: mq, transplant, progress, relink, rebase, purge, record,
color, histedit, crecord, schemes, convert, graphlog, hgk, hgsubversion,
patchbomb
Traceback (most recent call last):
  File "/home/sorcerer/dst/hg/bin/hg", line 38, in <module>
    mercurial.dispatch.run()
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
28, in run
    sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
65, in dispatch
    return _runcatch(req)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
88, in _runcatch
    return _dispatch(req)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
747, in _dispatch
    cmdpats, cmdoptions)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
516, in runcommand
    ret = _runcommand(ui, options, cmd, d)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/extensions.py",
line 188, in wrap
    return wrapper(origfn, *args, **kwargs)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
393, in colorcmd
    return orig(ui_, opts, cmd, cmdfunc)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
842, in _runcommand
    return checkargs()
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
813, in checkargs
    return cmdfunc()
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/dispatch.py", line
742, in <lambda>
    d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/util.py",
line 506, in check
    return func(*args, **kwargs)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/extensions.py",
line 143, in wrap
    util.checksignature(origfn), *args, **kwargs)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/util.py",
line 506, in check
    return func(*args, **kwargs)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/mq.py", line
3528, in mqcommand
    return orig(ui, repo, *args, **kwargs)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/util.py",
line 506, in check
    return func(*args, **kwargs)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/commands.py", line
4045, in log
    for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep):
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/cmdutil.py", line
1240, in iterate
    prepare(ctx, fns)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/commands.py", line
4043, in prep
    displayer.show(ctx, copies=copies, matchfn=revmatchfn)
  File
"/home/sorcerer/dst/hg/lib/python2.7/site-packages/mercurial/cmdutil.py", line
675, in show
    self.hunk[ctx.rev()] = self.ui.popbuffer(labeled=True)
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
322, in popbuffer
    in self._buffers.pop())
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
321, in <genexpr>
    return ''.join(self.label(a, label) for a, label
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
355, in label
    for s in msg.split('\n')])
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
292, in render_effects
    for effect in ['none'] + effects.split())
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
292, in <genexpr>
    for effect in ['none'] + effects.split())
  File "/home/sorcerer/dst/hg/lib/python2.7/site-packages/hgext/color.py", line
276, in _effect_str
    return curses.tigetstr(val)
_curses.error: must call (at least) setupterm() first

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list