On Wed, Nov 09, 2022 at 04:44:07PM +0100, Vincent Lefevre wrote:
> It seems that Texinfo adds something like {} at the beginning of
> the Texinfo macro expansion
Yes, this appears to be the case. I expect it is the \bgroup and \egroup
used in \defmacro, in this code:
\or % 1
\expandafter\xdef\csname\the\macname\endcsname{%
\bgroup
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname##1{%
\egroup
\noexpand\scanmacro{\macrobody}%
}%
These grouping commands are needed to isolate the catcode changes for
reading the macro arguments.
Again, there is no way that I can see to fix this (the code
implementing @macro is already very hard to understand), and the workaround
with \gdef that I already posted to this list is completely sufficient.