Nicolas Sceaux writes:

> before giving zillions of "Too many errors!  Gave up.", the messages
> are:

If makeinfo has seen too many errors (an easy thing to happen when
messing up a macro in a large document), cm_bye () may trigger yet
another error.

Here's a patch and example for the zillions of errors (texinfo CVS).

Jan.


Index: ChangeLog
===================================================================
RCS file: /cvsroot/texinfo/texinfo/ChangeLog,v
retrieving revision 1.340
diff -p -u -r1.340 ChangeLog
--- ChangeLog   26 Apr 2004 13:58:02 -0000      1.340
+++ ChangeLog   29 Apr 2004 08:05:03 -0000
@@ -1,3 +1,8 @@
+2004-04-29  Jan Nieuwenhuizen  <[EMAIL PROTECTED]>
+
+       * makeinfo/makeinfo.c (remember_error): Try cm_bye not more than
+       twice.  Fixes `Too many errors!  Gave up.' looping.
+
 2004-04-26  Karl Berry  <[EMAIL PROTECTED]>
 
        * lib/system.h (STRCASEEQ, STRNCASEEQ): new #defines for
Index: makeinfo/makeinfo.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/makeinfo.c,v
retrieving revision 1.58
diff -p -u -r1.58 makeinfo.c
--- makeinfo/makeinfo.c 11 Apr 2004 17:56:47 -0000      1.58
+++ makeinfo/makeinfo.c 29 Apr 2004 08:05:18 -0000
@@ -183,7 +183,8 @@ remember_error (void)
     {
       fprintf (stderr, _("Too many errors!  Gave up.\n"));
       flush_file_stack ();
-      cm_bye ();
+      if (errors_printed - max_error_level < 2)
+       cm_bye ();
       xexit (1);
     }
 }


too-many-errors.texi:

\input texinfo  @c -*-texinfo-*-
@settitle Too many errors
@setfilename too-many-errors.info

@node Top
@top
@chapter Too many notes
@menu
@end menu

@macro aitem{word}
@item [EMAIL PROTECTED]
@end macro


@table @samp @c @strong

@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}

@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}


@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}

@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}


@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}

@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}


@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}
@aitem{foobaradagio}

@c Enter `Too many errors' loop:
@aitem{foobaradagio}

@end table

@bye




-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien       | http://www.lilypond.org



_______________________________________________
lilypond-devel mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to