> i agree (with kristaps). > >> What we should do is ignore `Bk' and follow an easy algorithm for >> SYNOPSIS mode regarding breaking between children. This, I think, is >> easier for us and manual writers alike. >> > > absolutely! SYNOPSIS is a hugely important part of the page - it's the > first thing people see. and we don;t want it looking like shit. and we > don;t want man page writers fannying around trying to make it look ok. > it should just work sanely. > >> Is `Bk' used often outside of this where .nr nS 1 is otherwise >> unacceptable (like those OpenBSD .9 manuals)? >> > > it is a synopsis-only thing. obviously we sometimes have mini synopses > outside the main SYNOPSIS section. in those cases we could currently > find Bk. i'm not aware of any other places it would normally occur. Ingo and Jason, I propose the following. I've enclosed a patch that demonstrates this. First, I disabled `Bk' completely. Second, when `Op' or `Oo' is encountered with MDOC_SYNPRETTY (i.e., in a SYNOPSIS section or with ".nr nS 1"), spaces are made non-breaking. Example (mandoc -Owidth=70 ssh.1): SYNOPSIS ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] [user@]hostname [command] Note: this is after removing the escaped spaces that the manual author had added here and there. Example (mandoc -Owidth=70 spamd.8): spamd [-45bdv] [-B maxblack] [-c maxcon] [-G passtime:greyexp:whiteexp] [-h hostname] [-l address] [-M address] [-n name] [-p port] [-S secs] [-s secs] [-w window] [-Y synctarget] [-y synclisten] This removes the `Bk' mess and gives a nice, regular algorithm for formatting in MDOC_SYNPRETTY. It can/will be trivially extended to the function macros, Fa and Fn and family. Thoughts? Kristaps