On 19 Mar 2015, at 12:25, Steffen Kaiser <skdovecot@smail.inf.fh-brs.de> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Thu, 19 Mar 2015, Gedalya wrote:
On 03/18/2015 08:49 PM, Timo Sirainen wrote:
There's no reason why flow and pager should write headers to stderr because it would always result only in a mess. But instead of changing table headers to write to stdout, I think a better fix would be to make tab formatter write headers to stderr. Including headers in stdout makes it more difficult to write scripts that access the actual data. For example now you can do "doveadm who -1 | sort" and the output will work. If headers were written to stdout you'd have to make it more complicated. Also you can now easily specify what you want to do with the headers, 2>/dev/null if you don't care about them or 2>&1 if you want to include them in stdout (which works even after |sort).
doveadm .... 2> /dev/null will suppress headers _and_ error messages
Hm. Yeah, that's not good.
So, I'll add in my v2.3 TODO that tab formatter should write to stderr..
I've been using "-f flow fetch text | sed s/^text=//" when training spamassasin. Couldn't find a straightforward 'fetch raw message'. Seems unnecessarily awkward. Moving headers to stderr would help this, though.
How about a formatter option to enable/disable headers at all? Like,
who -H ps h ps --headers
Most probably it useful for scripts only, so add an option to suppress all headers will fit most case.
I guess that would be best. Added -h parameter now to hg. I didn't change the stdout/stderr behavior for now - have to wait until v2.3 for that. I guess that could also be changed to stdout then.