Script to annotate api.tex with reference count information.
diff --git a/Doc/tools/anno-api.py b/Doc/tools/anno-api.py
new file mode 100755
index 0000000..33f85fb
--- /dev/null
+++ b/Doc/tools/anno-api.py
@@ -0,0 +1,63 @@
+#! /usr/bin/env python
+"""Add reference count annotations to the Python/C API Reference."""
+__version__ = '$Revision$'
+
+import getopt
+import os
+import string
+import sys
+
+import refcounts
+
+
+PREFIX = r"\begin{cfuncdesc}{PyObject*}{"
+
+
+def main():
+    rcfile = os.path.join(os.path.dirname(refcounts.__file__), os.pardir,
+                          "api", "refcounts.dat")
+    outfile = "-"
+    opts, args = getopt.getopt(sys.argv[1:], "o:r:", ["output=", "refcounts="])
+    for opt, arg in opts:
+        if opt in ("-o", "--output"):
+            outfile = arg
+        elif opt in ("-r", "--refcounts"):
+            rcfile = arg
+    rcdict = refcounts.load(rcfile)
+    if outfile == "-":
+        output = sys.stdout
+    else:
+        output = open(outfile, "w")
+    if not args:
+        args = ["-"]
+    prefix = PREFIX
+    prefix_len = len(prefix)
+    for infile in args:
+        if infile == "-":
+            input = sys.stdin
+        else:
+            input = open(infile)
+        while 1:
+            line = input.readline()
+            if not line:
+                break
+            if line[:prefix_len] == prefix:
+                s = string.split(line[prefix_len:], '}', 1)[0]
+                try:
+                    info = rcdict[s]
+                except KeyError:
+                    sys.stderr.write("No refcount data for %s\n" % s)
+                else:
+                    if info.result_type == "PyObject*":
+                        rc = info.result_refs and "New" or "Borrowed"
+                        line = r"\begin{cfuncdesc}[%s]{PyObject*}{" % rc \
+                               + line[prefix_len:]
+            output.write(line)
+        if infile != "-":
+            input.close()
+    if outfile != "-":
+        output.close()
+
+
+if __name__ == "__main__":
+    main()