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.

Reply via email to