| >>>>> Akim Demaille writes:
| 
|  > define(`count', `I have $# arguments')
| 
|  > count(a, b, c)dnl Hm, you should be three...
|  > I have 3 argumentsdnl Hm, you should be three...
|  > count(a, b, c)# Hm, you should be three...
|  > I have 3 arguments# Hm, you should be three...
| 
| Why would the "#"-style comment be any better than the "dnl" one? Both
| constructs will not work as expected:
| 
|  | simons@peti:/tmp$ echo test # comment
|  | test
| 
| But:
| 
|  | simons@peti:/tmp$ echo test# comment
|  | test# comment

Yep, both constructs are wrong, definitely.  I only saw this actually
happening with `dnl' but both would fail the same way.  This point is
moot :)

Anyway, most of the usual to shoot in onés foot can be found with
both.  For instance:


~ace % m4                                                        nostromo 16:16
define(`dash', `# We remove $1
shift($@)')

define(`DNL', `dnl We remove $1
shift($@)')

dash(my
first arg, second, third)
# We remove my
first arg
second,third

DNL(my
first arg, second, third)
first arg
second,third



Well, it seems I can't convince you, and I won't fight for it :)

Reply via email to