Home | History | Annotate | Line # | Download | only in tests
      1 #!/bin/sh
      2 # Bug where whitespace after @menu caused confusion.
      3 
      4 unset TEXINFO_OUTPUT
      5 : ${srcdir=.}
      6 input=`basename $0`.txi
      7 
      8 ../makeinfo -o /dev/null $srcdir/$input
      9 exit $?
     10 
     11 Date: 07 Dec 1998 11:23:44 +0100
     12 From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
     13 To: bug-texinfo@gnu.org
     14 Subject: Makeinfo mishandles defaulted node links
     15 
     16 The following example demonstrates a bug in makeinfo:
     17 
     18 $ cat top.texi
     19 @setfilename top.info
     20 
     21 @node Top
     22 @top Top
     23 
     24 @menu
     25 * first::
     26 @end menu
     27 
     28 @node first
     29 @chapter first
     30 
     31 @menu   @c
     32 * second::
     33 @end menu
     34 
     35 @node second
     36 @section second
     37 $ makeinfo top.texi
     38 Making info file `top.info' from `top.texi'.
     39 ./top.texi:3: Next field of node `Top' not pointed to.
     40 ./top.texi:17: This node (second) has the bad Prev.
     41 makeinfo: Removing output file `/home/as/test/top.info' due to errors; use --force to preserve.
     42 
     43 Makeinfo is being confused by the whitespace after @menu, or rather by its
     44 absence.
     45 
     46 
     47 1998-12-06  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
     48 
     49 	* makeinfo/node.c (cm_node): When searching for @menu don't
     50 	require a space after it.
     51 
     52 --- texinfo-3.12b/makeinfo/node.c.~1~	Mon Oct 26 23:14:59 1998
     53 +++ texinfo-3.12b/makeinfo/node.c	Sun Dec  6 00:23:59 1998
     54 @@ -523,9 +523,10 @@
     55                      orig_size = size_of_input_text;
     56  
     57                    input_text_offset =
     58 -                    search_forward ("\n@menu ", orig_offset);
     59 +                    search_forward ("\n@menu", orig_offset);
     60  
     61 -                  if (input_text_offset > -1)
     62 +                  if (input_text_offset > -1
     63 +		      && cr_or_whitespace (input_text[input_text_offset + 6]))
     64                      {
     65                        char *nodename_from_menu = NULL;
     66  
     67 
     68 -- 
     69 Andreas Schwab                                      "And now for something
     70 schwab (at] issan.cs.uni-dortmund.de                      completely different"
     71 schwab (at] gnu.org
     72 
     73