Hi, I'm trying to duplicate the behaviour of OpenBSD's apropos(1) and man.cgi. I find they're somewhat inconsistent, but enclosed is a patch that does so. My notes follow. First, OpenBSD's apropos(1) accepts `-S' in that it prints manuals that have no architecture alongside those that have specified the same one. Try apropos -S amd64 intro for an example. I'd think an architecture would select ONLY those manuals with that architecture, but... Second, man.cgi outright throws away architecture and section when running apropos. Er...? In this patch, I first implement (1) in apropos_db.c, adding a note to whatis.1 and apropos.1. Then for (2) in cgi.c, I detect "legacy" mode (if the "apropos" query key is passed in) and do the same, otherwise I pass the architecture and section to apropos as might be expected. I print out a "legacy mode" message if applicable. I'm afraid the patch has some churn in cgi.c (sorry). Does this approach sound reasonable? Note that my man.cgi is a bit different from OpenBSD's. Mine has a "whatis" or "apropos" search type, which return the same results of the command-line of the same. If, however, there's only one result, that result is displayed. My reasoning was behind a personal distaste for how man(1) unintuitively handles multiple manuals matching the same query (e.g., man intro): it seems intuitive to display all matches and let the user decide, instead of picking the first one and hoping it matches PATH order. Thoughts? Kristaps