due to unconditional use of .ne. groff apparently inserts some virtual trap
at the end of each page, and this was causing the .ne commands to output extra
lines. Solution is to only use them in troff.
Also fix a related bug in .It, where it would insert a page break in the middle
of a sentence.
Remove the end of page trap in nroff mode, as this causes .sp to sometimes eat
the space due to the nearby trap.
Lastly, undue a previous change that broke the formatting of the SYNOPSIS
section, until we determine the right way to fix that.
comparing the input line number. The latter fails with things like:
.Oc Oc
because there is nothing in the diversion when the second Oc is executed,
which caused the command that adds \*(b2 to the output to be eaten.
itself, we could do a .warn-enabled sweep of the man pages.
* Mainly, kill strings by redefining them as null instead of using .rm
* Push and pop the warning level around unavoidable trouble spots
* Do all of this only if in groff
* Fix a really obscure bug in .Nm
* Make the .em warning an abort.
find the actual source of the common "automatically ending `eb' diversion
on exit" error. This generally means you tried something like `.Em Do not'
which accidently calls the `Do' request, which _must_ be followed by Dc.
* Add a .Me request for marking up menu entries.
* Print the source line number on the "Extraneous .Ed" error. (Duhh.)
* New requests for HTML integration: .Mt (mailto) and .Lk (link).
* Rename the .em built-in to e@ and print an error if .em is ever
accidently invoked.
Use: nroff -mdoc2html input_file...
Or, for the completely general case,
Use: groff -P-b -P-u -P-o -Tascii -ww -mdoc2html input_file ...
This was originally intended for just the new distrib/notes and other
non-man-page project documentation, but in fact it can get almost all of
the man pages right at this point.
In many cases, I would suggest that original documentation not be written
in HTML or ASCII any more. A good example would be "supported devices".
It's presently duplicated, in the install notes, the web pages, and the
man pages. If written in -mdoc, it can automatically be a man page, a www
page feature, and a printable, downloadable file. We can generate PostScript
and the "unix enhanced text" format used by more(1), as well as plain old
ascii, and all using in-tree tools.
TNF Copyright.
.Os to NetBSD 1.4 instead of "4.4 BSD"
Note.. many of the undocumented macros in here are broken, like the .Px,
and .As macros. Someone with more clue should fix them.
D1 (dee-one) has two bogus-looking lines that are not in Dl (dee-ell); and
what they do is delete the first parameter unless it is a callable macro.
This may have something to do with the reason why dee-ell is used 418 times
in /usr/share/man vs only 6 times for the crippled dee-one.
* Don't print the `et' in an itty bitty point size just because we want
small caps for the rest of `NetBSD'.
* Define an Nx number register so the macro becomes sort-of callable. It
does punctuation wrong, looking at argument count rather than argument
type, so this will need fixing before it is truly `parsed and callable'.
of what the documentation claimed) with a new one that is parsed and
callable, and far simplyer -- it turns ".Nx FOO ." into "NetBSD FOO."
without needing to have version numbers hard coded in.
Add a .Fx macro that is a copy of the .Nx macro except that it prints
"FreeBSD" instead of "NetBSD" -- this should make any future "HISTORY"
sections which credit FreeBSD easier, and will not require that we
constantly track their macro versions.
===
.Nm foo
...
The following options are supported by
.Nm "" :
===
It could be smarter, but it works :)
Thanks to Christoph Badura <bad@ora.de> for providing this!
.Dd and .TH macros (after loading the right sets of macros). Both were
being called with a different number of macros than they were actually
called with, and that was screwing up Dd's processing of its arguments.
This fix is groff-specific. It's apparently possible to do this is a
non-groff-specific way, but relatively hard, and my roff skills just aren't
up to it (and I have no intention of changing that 8-). I've marked the
lines that are groff-specific, at least.
1.2A and 1.2B, respectively). clean up the strings resulting from
other Nx uses slightly. (previously, 1.0A would be printed as 1.0a, etc.
Now it's printed correctly.)
I would have prefered the "Kernel Internals Manual", but some man pages
in the kernel section have names too long to make that possible without
messing up the title lines. (Sigh.) Also designated "KM" to indicate
"NetBSD Kernel Manual" for completeness.
ownership and permissions.
Use `:', rather than `.' to separate user and group in chown commands
in case we ever decide to remove the support for the (obsolete) `.'
separator.
When the -mandoc macros encounter a .TH, it loads the old -man macros,
slices up a new .TH, and hands off.
But the .TH arguments are not quoted in the new .TH invokation.
Dates, section names, etc., are split up and scattered across the
headers and footers of the manpage.
Very ugly.
Fix:
The following patch to /usr/share/tmac/tmac.andoc quotes the arguments
before they are (re)interpreted by .TH.