From 1f9506f00258c20255195ea4c9b31cfdc0c05d26 Mon Sep 17 00:00:00 2001
From: "Robert P. Goldman" <rpgoldman@gmail.com>
Date: Sat, 5 Apr 2014 22:03:21 -0500
Subject: [PATCH] Quick kludge to find functions exported from ASDF and not
 documented.

Checks for constructs that index documentation for a function name.  So
this will also find functions that are documented, but for which there's
no index entry.
---
 doc/exported-functions     | 120 +++++++++++++++++++++++++++++++++++++
 doc/undocumented-functions |  45 ++++++++++++++
 2 files changed, 165 insertions(+)
 create mode 100644 doc/exported-functions
 create mode 100755 doc/undocumented-functions

diff --git a/doc/exported-functions b/doc/exported-functions
new file mode 100644
index 00000000..2013d3d8
--- /dev/null
+++ b/doc/exported-functions
@@ -0,0 +1,120 @@
+ACTION-DESCRIPTION
+ALREADY-LOADED-SYSTEMS
+APPLY-OUTPUT-TRANSLATIONS
+ASDF-MESSAGE
+ASDF-VERSION
+BUNDLE-SYSTEM
+CLEAR-CONFIGURATION
+CLEAR-OUTPUT-TRANSLATIONS
+CLEAR-SOURCE-REGISTRY
+CLEAR-SYSTEM
+COERCE-NAME
+COMPILE-FILE*
+COMPILE-FILE-PATHNAME*
+COMPILE-SYSTEM
+COMPONENT-CHILDREN
+COMPONENT-CHILDREN-BY-NAME
+COMPONENT-DEPENDS-ON
+COMPONENT-ENCODING
+COMPONENT-EXTERNAL-FORMAT
+COMPONENT-FIND-PATH
+COMPONENT-LOAD-DEPENDENCIES
+COMPONENT-LOADED-P
+COMPONENT-NAME
+COMPONENT-PARENT
+COMPONENT-PATHNAME
+COMPONENT-PROPERTY
+COMPONENT-RELATIVE-PATHNAME
+COMPONENT-SIDEWAY-DEPENDENCIES
+COMPONENT-SYSTEM
+COMPONENT-VERSION
+COMPUTE-SOURCE-REGISTRY
+DEFSYSTEM
+DISABLE-DEFERRED-WARNINGS-CHECK
+DISABLE-OUTPUT-TRANSLATIONS
+DOWNWARD-OPERATION
+ENABLE-ASDF-BINARY-LOCATIONS-COMPATIBILITY
+ENABLE-DEFERRED-WARNINGS-CHECK
+ENSURE-OUTPUT-TRANSLATIONS
+ENSURE-SOURCE-REGISTRY
+ERROR-COMPONENT
+ERROR-NAME
+ERROR-OPERATION
+ERROR-PATHNAME
+EXPLAIN
+FILE-TYPE
+FIND-COMPONENT
+FIND-OPERATION
+FIND-SYSTEM
+HOSTNAME
+IMPLEMENTATION-IDENTIFIER
+IMPLEMENTATION-TYPE
+INITIALIZE-OUTPUT-TRANSLATIONS
+INITIALIZE-SOURCE-REGISTRY
+INPUT-FILES
+LOAD-SYSTEM
+LOAD-SYSTEMS
+LOAD-SYSTEMS*
+LOCATE-SYSTEM
+MAKE
+MAKE-BUILD
+MAKE-OPERATION
+MAKE-PLAN
+MAP-SYSTEMS
+MODULE-COMPONENTS
+NEEDED-IN-IMAGE-P
+OOS
+OPERATE
+OPERATION-DONE-P
+OPERATION-MONOLITHIC-P
+OPERATION-ON-FAILURE
+OPERATION-ON-WARNINGS
+OUTPUT-FILE
+OUTPUT-FILES
+PERFORM
+PERFORM-PLAN
+PERFORM-WITH-RESTARTS
+PRIMARY-SYSTEM-NAME
+PROCESS-SOURCE-REGISTRY
+REGISTER-SYSTEM-PACKAGES
+REGISTERED-SYSTEMS
+REQUIRE-SYSTEM
+REQUIRED-COMPONENTS
+RESOLVE-LOCATION
+RUN-SHELL-COMMAND
+SEARCH-FOR-SYSTEM-DEFINITION
+SELFWARD-OPERATION
+SIDEWAY-OPERATION
+SOURCE-FILE-TYPE
+SYSTEM-AUTHOR
+SYSTEM-BUG-TRACKER
+SYSTEM-DEFINITION-PATHNAME
+SYSTEM-DEFSYSTEM-DEPENDS-ON
+SYSTEM-DEPENDS-ON
+SYSTEM-DESCRIPTION
+SYSTEM-HOMEPAGE
+SYSTEM-LICENCE
+SYSTEM-LICENSE
+SYSTEM-LONG-DESCRIPTION
+SYSTEM-LONG-NAME
+SYSTEM-MAILTO
+SYSTEM-MAINTAINER
+SYSTEM-OUTPUT-TRANSLATIONS-DIRECTORY-PATHNAME
+SYSTEM-OUTPUT-TRANSLATIONS-PATHNAME
+SYSTEM-REGISTERED-P
+SYSTEM-RELATIVE-PATHNAME
+SYSTEM-SOURCE-CONTROL
+SYSTEM-SOURCE-DIRECTORY
+SYSTEM-SOURCE-FILE
+SYSTEM-SOURCE-REGISTRY
+SYSTEM-SOURCE-REGISTRY-DIRECTORY
+SYSTEM-WEAKLY-DEPENDS-ON
+TEST-SYSTEM
+TRAVERSE
+UPGRADE-ASDF
+UPWARD-OPERATION
+USER-OUTPUT-TRANSLATIONS-DIRECTORY-PATHNAME
+USER-OUTPUT-TRANSLATIONS-PATHNAME
+USER-SOURCE-REGISTRY
+USER-SOURCE-REGISTRY-DIRECTORY
+VERSION-SATISFIES
diff --git a/doc/undocumented-functions b/doc/undocumented-functions
new file mode 100755
index 00000000..8ce5f886
--- /dev/null
+++ b/doc/undocumented-functions
@@ -0,0 +1,45 @@
+#! /usr/bin/env perl
+
+use FindBin;
+use strict;
+
+my $funFile = $FindBin::RealBin . "/exported-functions";
+my $infoFile = $FindBin::RealBin . "/asdf.texinfo";
+my %exported;
+our %indexed;
+
+open(FUNFILE, $funFile) || die "Couldn't find list of functions in $funFile.";
+while (<FUNFILE>) {
+  chomp;
+  $exported{$_} = 1;
+}
+close FUNFILE;
+
+open INFOFILE, "< $infoFile" || die "couldn't find $infoFile";
+while (<INFOFILE>) {
+  chomp;
+  if (m|\@findex +([\*a-zA-Z\+][a-zA-Z\-\*\+]+)|) {
+    indexIt($1);
+  } elsif (m|\@defun +([\*a-zA-Z\+][a-zA-Z\-\*\+]+)|) {
+    indexIt($1);
+  } 
+}
+close INFOFILE;
+
+# print "\n\nINDEXED:\n";
+# foreach my $fun (sort(keys(%indexed))) {
+#   print "$fun\n";
+# }
+
+# exit 0;
+
+foreach my $fun (sort(keys(%exported))) {
+  print "$fun\n" unless $indexed{$fun};
+}
+
+sub indexIt ($) {
+  my $key = shift;
+  $key = uc $key;
+  $indexed{$key} = 1;
+  return;
+}
-- 
GitLab