correct sort order; do troff right
diff --git a/bin/man b/bin/man
index 0ca8a9d..2ea92de 100755
--- a/bin/man
+++ b/bin/man
@@ -81,7 +81,7 @@
 		shift
 	}
 	if not switch($1) {
-		case -t ; fmt=dotroff ; shift
+		case -t ; cmd=dotroff ; shift
 		case -n ; cmd=donroff ; shift
 		case -p ; cmd=doproof ; shift
 		case -P ; cmd=dopage ; shift
@@ -124,7 +124,8 @@
 }
 if(~ $#allfiles 0)
 	exit 'no man'
-allfiles=`{ls $allfiles | sort -u >[2]/dev/null}
+# complicated sort order: want 9p.3, 9p-cmdbuf.3, 9pclient.3
+allfiles=`{ls $allfiles | sed 's/[.\-]/ &/g;s/\./ &/g' | sort -u | tr -d ' '}
 
 files=()
 for(i in $allfiles){