Here are the symptoms:

   cd doc && makeinfo --no-split groff.texinfo -o groff.info
   groff.texinfo:2442: warning: ignoring stray text `12345678} {12345678} {12345678} 
{12345678}' after @multitable.
   groff.texinfo:2444: Too many columns in multitable item (max 1).
   groff.texinfo:2444: Too many columns in multitable item (max 1).
   groff.texinfo:2444: Too many columns in multitable item (max 1).
   groff.texinfo:2446: Too many columns in multitable item (max 1).
   groff.texinfo:2446: Too many columns in multitable item (max 1).
   groff.texinfo:2446: Too many columns in multitable item (max 1).

The input lines, starting with line 2442:

   @multitable {12345678} {12345678} {12345678} {12345678}
   @item
   @tab 1 @tab 2 @tab 3
   @item
   @tab   @tab 4 @tab 5
   @end multitable

The problem is an array access violation in multi.c that is normally
benign, but on this particular host and input, (*params)[-1] == '@'.

Here is a patch.

2000-08-04  Paul Eggert  <[EMAIL PROTECTED]>

        * makeinfo/multi.c (find_template_width):
        Don't access before start of *PARAMS.

===================================================================
RCS file: makeinfo/multi.c,v
retrieving revision 4.0
retrieving revision 4.0.0.1
diff -pu -r4.0 -r4.0.0.1
--- makeinfo/multi.c    1999/08/17 21:06:56     4.0
+++ makeinfo/multi.c    2000/08/04 18:02:39     4.0.0.1
@@ -199,7 +199,7 @@ find_template_width (params)
 
   do
     {
-      if (**params == '{' && (*params)[-1] != '@')
+      if (**params == '{' && (*params == start || (*params)[-1] != '@'))
         brace_level++;
       else if (**params == '}' && (*params)[-1] != '@')
         brace_level--;

Reply via email to