tmac: introduce real manual reference macro instead of overloading IR

The overloading of IR emits magic \X'...' sequences that turn into HTML manual links.
But not all such IR invocations should be manual links;
those had to be written to avoid the IR macro before.
Worse, the \X'...' ending the IR causes troff to emit only a single space after a period.

Defining a new IM macro for manual references fixes both problems.

Fixes #441.
This commit is contained in:
Russ Cox 2020-08-13 23:41:59 -04:00
parent a1c4307800
commit 977b25a76a
297 changed files with 1790 additions and 1774 deletions

View file

@ -267,10 +267,10 @@ in arbitrary ways and should synchronize their
actions using
.B qlocks
(see
.IR lock (3))
.IM lock (3) )
or channel communication.
System calls such as
.IR read (3)
.IM read (3)
block the entire proc;
all threads in a proc block until the system call finishes.
.PP
@ -364,7 +364,7 @@ are threaded analogues of
and
.I execl
(see
.IR exec (3));
.IM exec (3) );
on success,
they replace the calling thread
and invoke the external program, never returning.
@ -400,7 +400,7 @@ and
.I threadexec
will duplicate
(see
.IR dup (3))
.IM dup (3) )
the three file descriptors in
.I fd
onto standard input, output, and error for the external program
@ -443,14 +443,14 @@ stop the running of the program.
returns a channel of pointers to
.B Waitmsg
structures (see
.IR wait (3)).
.IM wait (3) ).
When an exec'ed process exits, a pointer to a
.B Waitmsg
is sent to this channel.
These
.B Waitmsg
structures have been allocated with
.IR malloc (3)
.IM malloc (3)
and should be freed after use.
.PP
A
@ -611,13 +611,13 @@ calls.
.PP
.I Chanprint
formats its arguments in the manner of
.IR print (3)
.IM print (3)
and sends the result to the channel
.IR c.
The string delivered by
.I chanprint
is allocated with
.IR malloc (3)
.IM malloc (3)
and should be freed upon receipt.
.PP
Thread library functions do not return on failure;
@ -628,10 +628,10 @@ Threaded programs should use
in place of
.I atnotify
(see
.IR notify (3)).
.IM notify (3) ).
.PP
It is safe to use
.IR sysfatal (3)
.IM sysfatal (3)
in threaded programs.
.I Sysfatal
will print the error string and call
@ -673,7 +673,7 @@ To create new processes, use
.SH FILES
.B \*9/acid/thread
contains useful
.IR acid (1)
.IM acid (1)
functions for debugging threaded programs.
.PP
.B \*9/src/libthread/test
@ -681,8 +681,8 @@ contains some example programs.
.SH SOURCE
.B \*9/src/libthread
.SH SEE ALSO
.IR intro (3),
.IR ioproc (3)
.IM intro (3) ,
.IM ioproc (3)
.SH BUGS
To avoid name conflicts,
.IR alt ,
@ -707,7 +707,7 @@ and so on.
is defined as a macro that expands to
.IR threadyield .
See
.IR intro (3).
.IM intro (3) .
.PP
Threadint,
threadintgrp,