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