On Sat, Aug 29, 2026 at 02:30:56PM -0600, Karl Berry wrote:
> Hi Gavin and all - the patch below:
>
> 1) adds a newline ^^J before "Warning:" messages to help find them in
> the output, as well as keep the msg from breaking over lines.
>
> 2) adds \linenumber to "Warning:" messages if not already present.
>
> 3) adds the "Warning:" prefix to the unbalanced paren and
> "No ... floats" msgs.
Thanks, I've added a \txiwarning macro to put these warning messages
on their own lines, including a ^^J at the end of the message as well.
> Aside: maybe the unbalanced parens should actually be an error? And
> detected by makeinfo? Since otherwise the "continued" text becomes part
> of the definition. E.g., source like this does not come out right in TeX:
>
> @defmac AM_PROG_VALAC (@ovar{minimum-version}, @ovar{action-if-found},
> @ovar{action-if-not-found})
>
> It has to be continued with a lone "@" at the end of the @def line.
It doesn't come out right with texi2any either. However, it's likely
to cause more problems for users to make it a hard error when it processed
successfully before.
texi2any doesn't appear to warn about unbalanced parentheses. I have no
objection to it doing so, but somebody would have to do the work to implement
that. I suspect it would not be completely straightforward to implement
due to text being contained within various elements in the parse tree for
the def line.
>
> I found this stuff when I happened to look at the automake.log file.
>
> A \txiwarning macro would probably in order, but I didn't get that
> far. Sorry. -k
>
> --- a/lib/texinfo.tex
> +++ b/lib/texinfo.tex
> @@ -8354,3 +8354,3 @@ might help (with 'rm \jobname.?? \jobname.??s')%
> \def\badparencount{%
> - \message{Warning: unbalanced parentheses in @def...}%
> + \message{^^J\linenumber Warning: unbalanced parentheses in @def...}%
> \global\parencount=0
> @@ -8358,3 +8358,3 @@ might help (with 'rm \jobname.?? \jobname.??s')%
> \def\badbrackcount{%
> - \message{Warning: unbalanced square brackets in @def...}%
> + \message{^^J\linenumber Warning: unbalanced square brackets in @def...}%
> \global\brackcount=0
> @@ -8530,3 +8530,3 @@ might help (with 'rm \jobname.?? \jobname.??s')%
> \if1\csname ismacro.\the\macname\endcsname
> - \message{Warning: redefining \the\macname}%
> + \message{^^J\linenumber Warning: redefining \the\macname}%
> \else
> @@ -10260,3 +10260,3 @@ might help (with 'rm \jobname.?? \jobname.??s')%
> % if the user said @listoffloats foo but never @float foo.
> - \message{\linenumber No `\safefloattype' floats to list.}%
> + \message{^^J\linenumber Warning: No `\safefloattype' floats to list.}%
> \fi
> @@ -10537,3 +10537,3 @@ directory should work if nowhere else does.}
> \else
> - \message{Warning: XeTeX with non-UTF-8 encodings cannot handle %
> + \message{^^J\linenumber Warning: XeTeX with non-UTF-8 encodings
> cannot handle %
> non-ASCII characters in auxiliary files.}%
> @@ -10816,3 +10816,4 @@ directory should work if nowhere else does.}
> \ifutfviiidefinedwarning
> - \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
> + \message{^^J\linenumber Warning: Unicode char \string #1
> + not defined for Texinfo}%
> \fi
>