On Mon, Jul 16, 2012 at 09:18:07PM +0300, Eli Zaretskii wrote: > > This is wrong, the newline at the end of the macro (after the @c) > should be part of the macro expansion. AFAIR, this is how the C > makeinfo worked, because the newline was collected as part of the > macro body when the @macro..@end macro block was processed.
I don't think so. Expansion (by makeinfo in C) of the code: @macro ff gg @end macro @example jj @ff{} ll. @end example is @macro ff gg @end macro @example jj gg ll. @end example Even if there was an end of line after the @c the result wouldn't be the intended result as the next line would be in the @def* content and not on the @def* line which seems to be the intent of the writer. My wild guess is that this strange behaviour of makeinfo in C is a result of the order of expansion that happens by chance, and is not intended. As an example, the following: @macro ff gg @c @end macro @example jj @ff{} ll. @end example in info leads to jj gg ll. and with -E: @example jj gg @c ll. @end example In my opinion it is much better to have something consistent, and leaving the end of line out is also better in my opinion, otherwise it is not possible to have a macro expansion within a line. -- Pat