Yup, the thing with g vs gn is that g reflects whether ':' is there or not, and 
gn reflects whether there's something after it: macros that do not accept 
arguments must not have g, and macros that do need to have both (but non-zero 
gn implies non-NULL g).

And yeah, ```%{echo:%{nil}}``` would work and that's perfectly fine. Which is 
exactly the reason that makes me wonder if empty argument should be permitted 
for echo, warn and error.

Good point on doFoo() expansion, but note that doFoo() is not the only function 
of that kind. Perhaps the central check should be only for g (ie ':') and only 
check for the non-empty argument in the places that actually care. Which 
probably would leave doOutput() naturally out of the argument checking - making 
output of empty string does feel kinda wrong.

I'll change that at least to see how it'd look like. Thanks for reviewing!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/853#issuecomment-534410176
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to