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
> 

Reply via email to