etc/DOC contains documentation for two kinds of symbol:
1) symbols in C
2) symbols in preloaded lisp
There's a test that makes sure a C file is used in a particular build of
Emacs before including its documentation. This test sets a flag if the
file is unused, and if this flag is set, we don't load any more
documentation until we see another file. Scenario 2 neither set nor
tested this flag, so it just used whatever value the flag happened to
have for the last C file; if the last C file happened to not be included
in this build of Emacs, the documentation for the Lisp file was never
loaded.
The effect was that documentation would mysteriously go missing. This
patch always includes documentation for Lisp files.
(Also, is all this lazy loading complexity really needed? etc/DOC is
only 2.3MB here.)