> Date: Sun, 24 Feb 2013 11:42:52 +0100 > From: Patrice Dumas <pertu...@free.fr> > > On Thu, Feb 21, 2013 at 10:38:39PM +0200, Eli Zaretskii wrote: > > > > But since pre-v5 makeinfo repeatedly expanded text until there was > > nothing left to expand, the @c and everything after it, including the > > newline, would then disappear without a trace. > > I think that the main difference lies elsewhere. My understanding is > that, faced with something like > > > @heading aaa @amacro{lksfsdf, fsdsfdsd} > > makeinfo in C takes the whole line, > aaa @amacro{lksfsdf, fsdsfdsd} > converts it in a new context, and, then outputs it. > > > > For instance, with > > @macro ggg{} > aaaaaaaa hhhhh > > aaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa > ggggggggg ggggggg gggggggg gggggggggg ggggggggggg > jjjjj jjjjjjjJJjjjjjj jjjjjjj jjjjjjjjjjjj > gggggg ggggggggggg ggggggggggggggggg > bbbbbbb bbbbbb bbbbbbbbbb > @end macro > > @node Top > > @heading jj @ggg{} > > The whole @ggg expansion is considered to be the @heading argument.
Yes. That's what I meant by "repeatedly expand" above. Conceptually, the macro @ggg would be expanded on a higher stack level, and then the stack would be popped to continue with @heading, with the expansion now its argument. > This is quite different from the implementation now, as now user defined > macros are textually expanded, such that the above, with texi2any is > exactly the same as > > @node Top > > @heading jj aaaaaaaa hhhhh > > aaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa > ggggggggg ggggggg gggggggg gggggggggg ggggggggggg > jjjjj jjjjjjjJJjjjjjj jjjjjjj jjjjjjjjjjjj > gggggg ggggggggggg ggggggggggggggggg > aaaaaaaaa aaaaaaaaaaa aaaaaaaaaaa > > > I think that the new implementation is better, because it is more > consistent. With the makeinfo in C implementation it is not possible to > write some texinfo code that will give the same result as the Texinfo > code with macro expansions. > > However, maybe it would deserve something in the NEWS file? Most definitely.