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