1@code{(require 'vet)}
2@ftindex vet
3
4
5@defun vet-slib file1 @dots{}
6
7Using the procedures in the @code{top-refs} and @code{manifest}
8modules, @code{vet-slib} analyzes each SLIB module and @var{file1}, @dots{}, reporting
9about any procedure or macro defined whether it is:
10
11@table @asis
12
13@item orphaned
14defined, not called, not exported;
15@item missing
16called, not defined, and not exported by its @code{require}d modules;
17@item undocumented-export
18Exported by module, but no index entry in @file{slib.info};
19
20@end table
21
22And for the library as a whole:
23
24@table @asis
25
26@item documented-unexport
27Index entry in @file{slib.info}, but no module exports it.
28
29@end table
30
31This straightforward analysis caught three full days worth of
32never-executed branches, transitive require assumptions, spelling
33errors, undocumented procedures, missing procedures, and cyclic
34dependencies in SLIB.
35
36The optional arguments @var{file1}, @dots{} provide a simple way to vet
37prospective SLIB modules.
38@end defun
39
40