Hi, I'm accustomed to being able to search for documentation quickly and am not satisfied with apropos, whatis, and man -K. I propose a new output mode, -Tindex. This will crawl through the NAME and SYNOPSIS section of a manual, indexing function names, variable types, header files (searching for all manuals that mention a particular header file = golden), utility names, etc. It writes these to a Berkeley database file. Each record consists of the keyword, then a bit-field (the type of record), then the corresponding file. Other utilities can then mine this data... Enclosed is a quick sketch. It dumps manual names (Nm in NAME), utility names (Nm in SYNOPSIS), and function names (Fo, FN in SYNOPSIS) into the index. It only does -mdoc, but -man can heuristically grab at least the name by grabbing ^[[:alpha:]]+ from the NAME section. It requires some modifications to mdoc.h to associate a file-name with a parse. This is just a sketch; a "real" version would need to be [at least] much more careful about stripping non-character escapes and so on. I'm still not sure whether it's a good idea to have this /in/ mandoc. The BSD db.h not standard across Unices. I've started cleaning up main.c to push the main file-reading routines into a utility class, which would allow different users of the entire backend library. Lots of things to think about. Thoughts? Kristaps