>> Well, I can, more or less, but it is a pity that Patrice's texi2any
>> has inherited this very bug from makeinfo.
>
> Given the requirement to be back-compatible with the C
> implementation, I don't see how we can blame Patrice.
I don't blame him! It's an unfortunate accident, but he is already
going to fix it in the new parser.
>> Having an unbalanced @{ as an argument to @deffn is not such a
>> strange assumption, is it?
>
> Actually, it is. @def* commands are extremely irregular, in that
> they violate a couple of very basic rules of the Texinfo "language".
Mhmm.
> It is a small wonder that stretching @deffn to the limits breaks it.
> You may think that using @{ as an argument to @deffn is a natural
> thing, since @{ is allowed elsewhere in Texinfo, but since @deffn
> has no formal spec and violates basic Texinfo rules, what is valid
> elsewhere is not necessarily valid in @deffn. IOW, your assumption
> that any valid Texinfo should be valid in @deffn is simply false.
Uh, oh, I was talking explicitly about `...@{'. However, texinfo was
developed for documenting C and Lisp only. I have to live with design
decisions which don't fit the strange variable names used in groff...
> [...] IMO the problems with Texinfo macros will not go away unless
> Someone⢠comes up with a formal spec of macros that defines a
> regular grammar, with all the corners (like quoting and
> whitespace/newline handling) figured out as part of that. How to do
> that without breaking existing manuals that are heavy users of
> macros, I don't know.
This is one more good reason to include groff.texinfo into the
testsuite of texinfo :-)
Werner