annotate lib-src/test-distrib.c @ 24225:985eb547550f

Document scoring functionality. (gametree-score-regexp): Add optional plus sign. (gametree-score-opener): Replace `:' with `=' as the former conflicts with gametree-half-ply-regexp. (gametree-transpose-following-leaves): Add. (gametree-insert-new-leaf): Make modifying commands barf in read-only buffers. (gametree-break-line-here): Add a call to `gametree-transpose-following-leaves'. This maintains the necessary invariant that on each level all leaf children precede all nonleaf children. This has always been implied, but left to the user, and, unfortunately, undocumented.
author Richard M. Stallman <rms@gnu.org>
date Sat, 30 Jan 1999 07:20:18 +0000
parents 55e427250ad3
children 76e2d539ecad
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12935
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
1 #ifdef HAVE_CONFIG_H
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
2 #include <config.h>
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
3 #endif
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
4
12976
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
5 /* Cancel substitutions made by config.h for Emacs. */
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
6 #undef open
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
7 #undef read
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
8 #undef write
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
9 #undef close
55e427250ad3 Add #undef for open, close, read, write.
Richard M. Stallman <rms@gnu.org>
parents: 12935
diff changeset
10
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 #include <stdio.h>
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12
12935
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
13 #ifndef O_RDONLY
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
14 #define O_RDONLY 0
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
15 #endif
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
16
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
17
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 /* Break string in two parts to avoid buggy C compilers that ignore characters
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 after nulls in strings. */
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 char string1[] = "Testing distribution of nonprinting chars:\n\
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 Should be 0177: \177 Should be 0377: \377 Should be 0212: \212.\n\
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23 Should be 0000: ";
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25 char string2[] = ".\n\
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 This file is read by the `test-distribution' program.\n\
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 If you change it, you will make that program fail.\n";
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 char buf[300];
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 /* Like `read' but keeps trying until it gets SIZE bytes or reaches eof. */
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 int
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 cool_read (fd, buf, size)
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 int fd;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 char *buf;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 int size;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 {
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 int num, sofar = 0;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 while (1)
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 {
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 if ((num = read (fd, buf + sofar, size - sofar)) == 0)
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 return sofar;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 else if (num < 0)
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 return num;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 sofar += num;
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 }
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 }
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49
9491
dd3b83e4ceb0 Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents: 2814
diff changeset
50 int
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
51 main (argc, argv)
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
52 int argc;
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
53 char **argv;
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 {
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
55 int fd;
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
57 if (argc != 2)
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
58 {
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
59 fprintf (stderr, "Usage: %s testfile\n", argv[0]);
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
60 exit (2);
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
61 }
12935
f65e672e038e [HAVE_CONFIG_H]: Include config.h.
Roland McGrath <roland@gnu.org>
parents: 9491
diff changeset
62 fd = open (argv[1], O_RDONLY);
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 if (fd < 0)
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 {
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
65 perror (argv[1]);
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 exit (2);
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 }
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 if (cool_read (fd, buf, sizeof string1) != sizeof string1 ||
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 strcmp (buf, string1) ||
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 cool_read (fd, buf, sizeof string2) != sizeof string2 - 1 ||
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 strncmp (buf, string2, sizeof string2 - 1))
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 {
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
73 fprintf (stderr, "Data in file `%s' has been damaged.\n\
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 Most likely this means that many nonprinting characters\n\
2814
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
75 have been corrupted in the files of Emacs, and it will not work.\n",
0da5b58e98ed Install patches from David J. Mackenzie to make the srcdir option
Jim Blandy <jimb@redhat.com>
parents: 10
diff changeset
76 argv[1]);
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 exit (2);
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 }
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 close (fd);
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 #ifdef VMS
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 exit (1); /* On VMS, success is 1. */
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 #endif
9491
dd3b83e4ceb0 Eliminate some -Wall warnings.
David J. MacKenzie <djm@gnu.org>
parents: 2814
diff changeset
83 return (0);
10
445291a2fb96 entered into RCS
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84 }