From: Junio C Hamano Date: Sat, 17 Oct 2009 00:18:43 GMT Subject: Re: [PATCH 3/3] Add proof-of-concept %[w(width,in1,in2)<>%] implementation Message-ID: <7vy6naq3do.fsf@alter.siamese.dyndns.org> In-Reply-To: <200910170200.03681.jnareb@gmail.com> Jakub Narebski writes: > Why not > > %[w(-1,4,4)%s%+b] Yeah. As you said "subject unwrapped and body indented" or something like that, I excluded that part outside the indentation, but log output indents everything, so placing both inside %[w] would be correct. > (i.e. %+ is this empty line between subject and body, if it exists). As %+ is to add LF iff the next expansion is non-empty, it must always be followed by an expansion, i.e. %something. That means "%+%something" is unnecessary verbose and "%+something" is enough. "%+anything" syntax, just like "%[func()anything]" syntax, is not limited to any particular expansion. > The %+x seems a bit strange... but I guess implementing conditional > expansion a la shell or rpn spec/queryformat would be out of question > (i.e. %?s:+ )... Why not? I can see us doing something like %[conditional%|iftrue%|iffalse%] quite easily, now we have the "nested" variant of the strbuf_expand() infrastructure. But that is not the primary focus of the two patch series I've demonstrated so far.