Re: [PATCH 3/3] Add proof-of-concept %[w(width,in1,in2)<<any-string>>%] implementation
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 17, 2009, 00:18 UTC
- Message-ID
- <7vy6naq3do.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <200910170200.03681.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> 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.