m4: Errprint

1 
1 14.1 Printing error messages
1 ============================
1 
1 You can print error messages using 'errprint':
1 
1  -- Builtin: errprint (MESSAGE, ...)
1      Prints MESSAGE and the rest of the arguments to standard error,
1      separated by spaces.  Standard error is used, regardless of the
1      '--debugfile' option (⇒Invoking m4 Debugging options.).
1 
1      The expansion of 'errprint' is void.  The macro 'errprint' is
1      recognized only with parameters.
1 
1      errprint(`Invalid arguments to forloop
1      ')
1      error->Invalid arguments to forloop
1      =>
1      errprint(`1')errprint(`2',`3
1      ')
1      error->12 3
1      =>
1 
1    A trailing newline is _not_ printed automatically, so it should be
1 supplied as part of the argument, as in the example.  Unfortunately, the
1 exact output of 'errprint' is not very portable to other 'm4'
1 implementations: POSIX requires that all arguments be printed, but some
1 implementations of 'm4' only print the first.  Furthermore, some BSD
1 implementations always append a newline for each 'errprint' call,
1 regardless of whether the last argument already had one, and POSIX is
1 silent on whether this is acceptable.
1