On 19 Mar 2015, at 12:25, Steffen Kaiser <skdove...@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.