internal update
[s-roff.git] / tmac / doc-common.new
blob94999a2f68a19831b62b9523e976477a0bfa3a43
1 .\" Copyright (c) 1991 The Regents of the University of California.
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"      This product includes software developed by the University of
15 .\"      California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)doc-common 5.7 (Berkeley) 8/5/91
33 .\"
34 .\"     %beginstrip%
36 .eo
39 .\" Macro Identifiers.  For each user macro a corresponding register with
40 .\" the same name must exist.  Its value must not be zero.
42 .nr %A 1
43 .nr %B 1\" ?
44 .nr %D 1\" ?
45 .nr %J 1
46 .nr %N 1
47 .nr %O 1
48 .nr %P 1\" ?
49 .nr %Q 1\" ?
50 .nr %R 1
51 .nr %T 1
52 .nr %V 1
53 .nr Ac 3
54 .nr Ad 12n
55 .nr An 12n
56 .nr Ao 12n
57 .nr Ap 2
58 .nr Aq 12n
59 .nr Ar 12n
60 .nr At 8n\" ?
61 .nr Bc 3
62 .nr Bf 8n\" ?
63 .nr Bk 8n\" ?
64 .nr Bl 1
65 .nr Bo 12n
66 .nr Bq 12n
67 .nr Brc 3
68 .nr Bro 12n
69 .nr Brq 12n
70 .nr Bsx 6n\" ?
71 .nr Bt 8n\" ?
72 .nr Bx 12n
73 .nr Cd 12n
74 .nr Cm 10n
75 .nr D1 8n\" ?
76 .nr Dc 3
77 .nr Dl 8n\" ?
78 .nr Dt 8n\" ?
79 .nr Do 10n
80 .nr Dq 12n
81 .nr Dv 12n
82 .nr Ec 3
83 .nr Ef 8n\" ?
84 .nr Ek 8n\" ?
85 .nr El 1
86 .nr Em 10n
87 .nr En 12n
88 .nr Eo 12n
89 .nr Eq 12n
90 .nr Er 12n
91 .nr Es 12n
92 .nr Ev 15n
93 .nr Ex 10n
94 .nr Fa 12n
95 .nr Fc 3
96 .nr Fd 12n\" ?
97 .nr Fl 10n
98 .nr Fn 16n
99 .nr Fo 16n
100 .nr Fr 12n\" ?
101 .nr Ft 8n\" ?
102 .nr Fx 12n\" ?
103 .nr Hf 8n\" ?
104 .nr Ic 10n
105 .nr In 12n\" ?
106 .nr It 8n\" ?
107 .nr Lb 6n\" ?
108 .nr Ld 4n
109 .nr Li 16n
110 .nr Lk 6n\" ?
111 .nr Lp 8n\" ?
112 .nr Me 6n
113 .nr Ms 6n
114 .nr Mt 6n\" ?
115 .nr Nd 8n\" ?
116 .nr Nm 10n
117 .nr No 12n
118 .nr Ns 2
119 .nr Nx 12n\" ?
120 .nr Oc 3
121 .nr Oo 10n
122 .nr Op 14n
123 .nr Or 6n\" ?
124 .nr Os 6n\" ?
125 .nr Ot 8n\" ?
126 .nr Ox 12n\" ?
127 .nr Pa 32n
128 .nr Pc 3
129 .nr Pf 12n
130 .nr Po 12n
131 .nr Pp 8n\" ?
132 .nr Pq 12n
133 .nr Qc 3
134 .nr Ql 16n
135 .nr Qo 12n
136 .nr Qq 12n
137 .nr Rv 1
138 .nr Sc 3
139 .nr Sf 8n\" ?
140 .nr Sh 8n\" ?
141 .nr Sm 8n\" ?
142 .nr So 12n
143 .nr Sq 12n
144 .nr Ss 8n\" ?
145 .nr St 8n\" ?
146 .nr Sx 16n
147 .nr Sy 6n
148 .nr Ta 2
149 .nr Tn 10n
150 .nr Ud 8n\" ?
151 .nr Ux 10n
152 .nr Va 12n
153 .nr Vt 8n\" ?
154 .nr Xc 3
155 .nr Xo 1
156 .nr Xr 10n
159 .nr doc-display-indent 6n
162 .\" space strings
164 .ds doc-soft-space " \"
165 .ds doc-hard-space \~
168 .\" punctuation values (suffix=3, prefix = 4)
170 .nr doc-punct. 3
171 .nr doc-punct, 3
172 .nr doc-punct: 3
173 .nr doc-punct; 3
174 .nr doc-punct( 4
175 .nr doc-punct) 3
176 .nr doc-punct[ 4
177 .nr doc-punct] 3
178 .nr doc-punct? 3
179 .nr doc-punct! 3
182 .\" header assembly macros
184 .\" NS doc-document-title global string
185 .\" NS   the title of the manual page
187 .ds doc-document-title UNTITLED
190 .\" NS doc-volume global string
191 .\" NS   the volume where the manual page belongs to
193 .ds doc-volume LOCAL
196 .\" NS doc-section global string
197 .\" NS   the manual section
199 .ds doc-section Null
202 .\" NS Dt user macro (not parsed, not callable)
203 .\" NS   document title
204 .\" NS
205 .\" NS modifies:
206 .\" NS   doc-document-title, doc-volume, doc-section
207 .\" NS
208 .\" NS local variables:
209 .\" NS   doc-volume-ds-XXX, doc-volume-as-XXX
210 .\" NS
211 .\" NS width register `Dt' set above
213 .\" an alternative, more detailed scheme for naming the manual sections
215 .\" .ds volume-ds-1 System General Commands Manual
216 .\" .ds volume-ds-2 System Calls Manual
217 .\" .ds volume-ds-3 System Library Functions Manual
218 .\" .ds volume-ds-4 System Kernel Interfaces Manual
219 .\" .ds volume-ds-5 System File Formats Manual
220 .\" .ds volume-ds-6 System Games Manual
221 .\" .ds volume-ds-7 System Miscellaneous Information Manual
222 .\" .ds volume-ds-8 System Manager's Manual
223 .\" .ds volume-ds-9 System Kernel Developer's Manual
225 .ds doc-volume-ds-USD   System User's Supplementary Documents
226 .ds doc-volume-ds-PS1   System Programmer's Supplementary Documents
227 .ds doc-volume-ds-AMD   System Ancestral Manual Documents
228 .ds doc-volume-ds-SMM   System Manager's Manual
229 .ds doc-volume-ds-URM   System Reference Manual
230 .ds doc-volume-ds-PRM   System Programmer's Manual
231 .ds doc-volume-ds-KM    System Kernel Manual
232 .ds doc-volume-ds-IND   System Manual Master Index
233 .ds doc-volume-ds-LOCAL System Local Manual
234 .ds doc-volume-ds-CON   System Contributed Software Manual
236 .als doc-volume-ds-MMI doc-volume-ds-IND
237 .als doc-volume-ds-LOC doc-volume-ds-LOCAL
239 .ds doc-volume-as-alpha    (Alpha Architecture)
240 .ds doc-volume-as-amiga    (Amiga Architecture)
241 .ds doc-volume-as-arc      (Arc Architecture)
242 .ds doc-volume-as-arm26    (ARM26 Architecture)
243 .ds doc-volume-as-arm32    (ARM32 Architecture)
244 .ds doc-volume-as-atari    (Atari Architecture)
245 .ds doc-volume-as-bebox    (BEbox Architecture)
246 .ds doc-volume-as-cobalt   (Cobalt Architecture)
247 .ds doc-volume-as-evbsh3   (Evbsh3 Architecture)
248 .ds doc-volume-as-hp300    (HP300 Architecture)
249 .ds doc-volume-as-hpcmips  (HPcmips Architecture)
250 .ds doc-volume-as-i386     (i386 Architecture)
251 .ds doc-volume-as-luna68k  (luna68k Architecture)
252 .ds doc-volume-as-m68k     (m68k Architecture)
253 .ds doc-volume-as-mac68k   (mac68k Architecture)
254 .ds doc-volume-as-macppc   (macppc Architecture)
255 .ds doc-volume-as-mips     (MIPS Architecture)
256 .ds doc-volume-as-mmeye    (mmeye Architecture)
257 .ds doc-volume-as-mvme68k  (mvme68k Architecture)
258 .ds doc-volume-as-news68k  (news68k Architecture)
259 .ds doc-volume-as-newsmips (newsmips Architecture)
260 .ds doc-volume-as-next68k  (next68k Architecture)
261 .ds doc-volume-as-ofppc    (ofppc Architecture)
262 .ds doc-volume-as-pc532    (pc532 Architecture)
263 .ds doc-volume-as-pmax     (pmax Architecture)
264 .ds doc-volume-as-powerpc  (powerpc Architecture)
265 .ds doc-volume-as-prep     (prep Architecture)
266 .ds doc-volume-as-sgimips  (sgimips Architecture)
267 .ds doc-volume-as-sh3      (sh3 Architecture)
268 .ds doc-volume-as-sparc    (SPARC Architecture)
269 .ds doc-volume-as-sparc64  (sparc64 Architecture)
270 .ds doc-volume-as-sun3     (sun3 Architecture)
271 .ds doc-volume-as-tahoe    (Tahoe Architecture)
272 .ds doc-volume-as-vax      (VAX Architecture)
273 .ds doc-volume-as-x68k     (x68k Architecture)
275 .de Dt
276 .  \" reset default arguments
277 .  ds doc-document-title UNTITLED
278 .  ds doc-volume LOCAL
279 .  ds doc-section Null
281 .  if !"\$1"" \
282 .    ds doc-document-title "\$1
284 .  if !"\$2"" \{\
285 .    ds doc-section \$2
286 .    ie        ((\$2 >= 1) & (\$2 <= 9)) \{\
287 .      ds doc-volume "\*[doc-volume-ds-URM]
288 .      ie d doc-volume-ds-\$2 \
289 .        ds doc-volume "\*[doc-volume-ds-\$2]
290 .      el \{ .ie ((\$2 > 1) & (\$2 < 6)) \
291 .        ds doc-volume "\*[doc-volume-ds-PRM]
292 .      el \{ .ie (\$2 == 8) \
293 .        ds doc-volume "\*[doc-volume-ds-SMM]
294 .      el \{ .if (\$2 == 9) \
295 .        ds doc-volume "\*[doc-volume-ds-KM]
296 .    \}\}\}\}
297 .    el \{ .ie "\$2"unass" .ds doc-volume DRAFT
298 .    el \{ .ie "\$2"draft" .ds doc-volume DRAFT
299 .    el \{ .ie "\$2"paper" .ds doc-volume UNTITLED
300 .    el \
301 .      tm mdoc warning: .Dt: unknown section `\$2' (#\n[.c])
302 .  \}\}\}\}
304 .  if \A\a\$3\a \{\
305 .    if d doc-volume-ds-\$3 \
306 .      ds doc-volume "\*[doc-volume-ds-\$3]
308 .    if d doc-volume-as-\$3 \
309 .      as doc-volume " \*[doc-volume-as-\$3]
310 .  \}
312 .  if !"\$3"" \
313 .    if "\*[doc-volume]"LOCAL" \
314 .      ds doc-volume \$3
318 .\" NS doc-operating-system global string
319 .\" NS   the exact version of the operating system
321 .ds doc-operating-system
324 .\" NS Os user macro (not parsed, not callable)
325 .\" NS   operating system
326 .\" NS
327 .\" NS width register `Os' set above
328 .\" NS
329 .\" NS local variables:
330 .\" NS   doc-operating-system-XXX-XXX
331 .\" NS
332 .\" NS modifies:
333 .\" NS   doc-operating-system
335 .ds doc-operating-system-ATT-7th 7th\~Edition
336 .ds doc-operating-system-ATT-7   7th\~Edition
337 .ds doc-operating-system-ATT-III System\~III
338 .ds doc-operating-system-ATT-3   System\~III
339 .ds doc-operating-system-ATT-V   System\~V
340 .ds doc-operating-system-ATT-V.2 System\~V Release\~2
341 .ds doc-operating-system-ATT-V.3 System\~V Release\~3
342 .ds doc-operating-system-ATT-V.4 System\~V Release\~4
344 .ds doc-operating-system-BSD-3    3rd\~Berkeley Distribution
345 .ds doc-operating-system-BSD-4    4th\~Berkeley Distribution
346 .ds doc-operating-system-BSD-4.1  4.1\~Berkeley Distribution
347 .ds doc-operating-system-BSD-4.2  4.2\~Berkeley Distribution
348 .ds doc-operating-system-BSD-4.3  4.3\~Berkeley Distribution
349 .ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
350 .ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
351 .ds doc-operating-system-BSD-4.3t 4.3-Tahoe Berkeley Distribution
352 .ds doc-operating-system-BSD-4.3r 4.3-Reno Berkeley Distribution
353 .ds doc-operating-system-BSD-4.4  4.4BSD
355 .ds doc-operating-system-NetBSD-0.8  0.8
356 .ds doc-operating-system-NetBSD-0.8a 0.8A
357 .ds doc-operating-system-NetBSD-0.9  0.9
358 .ds doc-operating-system-NetBSD-0.9a 0.9A
359 .ds doc-operating-system-NetBSD-1.0  1.0
360 .ds doc-operating-system-NetBSD-1.0a 1.0A
361 .ds doc-operating-system-NetBSD-1.1  1.1
362 .ds doc-operating-system-NetBSD-1.2  1.2
363 .ds doc-operating-system-NetBSD-1.2a 1.2A
364 .ds doc-operating-system-NetBSD-1.2b 1.2B
365 .ds doc-operating-system-NetBSD-1.2c 1.2C
366 .ds doc-operating-system-NetBSD-1.2d 1.2D
367 .ds doc-operating-system-NetBSD-1.2e 1.2E
368 .ds doc-operating-system-NetBSD-1.3  1.3
369 .ds doc-operating-system-NetBSD-1.3a 1.3A
370 .ds doc-operating-system-NetBSD-1.4  1.4
371 .ds doc-operating-system-NetBSD-1.5  1.5
373 .ds doc-operating-system-FreeBSD-1.0     1.0
374 .ds doc-operating-system-FreeBSD-1.1     1.1
375 .ds doc-operating-system-FreeBSD-1.1.5   1.1.5
376 .ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
377 .ds doc-operating-system-FreeBSD-2.0     2.0
378 .ds doc-operating-system-FreeBSD-2.0.5   2.0.5
379 .ds doc-operating-system-FreeBSD-2.1     2.1
380 .ds doc-operating-system-FreeBSD-2.1.5   2.1.5
381 .ds doc-operating-system-FreeBSD-2.1.6   2.1.6
382 .ds doc-operating-system-FreeBSD-2.1.7   2.1.7
383 .ds doc-operating-system-FreeBSD-2.2     2.2
384 .ds doc-operating-system-FreeBSD-2.2.1   2.2.1
385 .ds doc-operating-system-FreeBSD-2.2.2   2.2.2
386 .ds doc-operating-system-FreeBSD-2.2.5   2.2.5
387 .ds doc-operating-system-FreeBSD-2.2.6   2.2.6
388 .ds doc-operating-system-FreeBSD-2.2.7   2.2.7
389 .ds doc-operating-system-FreeBSD-2.2.8   2.2.8
390 .ds doc-operating-system-FreeBSD-3.0     3.0
391 .ds doc-operating-system-FreeBSD-3.1     3.1
392 .ds doc-operating-system-FreeBSD-3.2     3.2
393 .ds doc-operating-system-FreeBSD-3.3     3.3
394 .ds doc-operating-system-FreeBSD-3.4     3.4
395 .ds doc-operating-system-FreeBSD-3.5     3.5
396 .ds doc-operating-system-FreeBSD-4.0     4.0
397 .ds doc-operating-system-FreeBSD-4.1     4.1
398 .ds doc-operating-system-FreeBSD-4.2     4.2
399 .ds doc-operating-system-FreeBSD-5.0     5.0
401 .de Os
402 .  ds doc-operating-system Null
404 .  if "\$1"" \
405 .    ds doc-operating-system BSD
407 .  if "\$1"ATT" \{\
408 .    ds doc-operating-system AT&T
409 .    if \A\a\$2\a \{\
410 .      ie d doc-operating-system-ATT-\$2 \
411 .        as doc-operating-system " \*[doc-operating-system-ATT-\$2]
412 .      el \
413 .        as doc-operating-system " UNIX
414 .  \}\}
416 .  if "\$1"BSD" \{\
417 .    if \A\a\$2\a \{\
418 .      ie d doc-operating-system-BSD-\$2 \
419 .        ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
420 .      el \
421 .        tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
422 .  \}\}
424 .  if "\$1"NetBSD" \{\
425 .    ds doc-operating-system NetBSD
426 .    if \A\a\$2\a \{\
427 .      ie d doc-operating-system-NetBSD-\$2 \
428 .        as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
429 .      el \
430 .        tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
431 .  \}\}
433 .  if "\$1"FreeBSD" \{\
434 .    ds doc-operating-system FreeBSD
435 .    if \A\a\$2\a \{\
436 .      ie d doc-operating-system-FreeBSD-\$2 \
437 .        as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
438 .      el \
439 .        tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
440 .  \}\}
442 .  if "\*[doc-operating-system]"Null" \{\
443 .    ds doc-operating-system \$1
444 .    if !"\$2"" \
445 .      as doc-operating-system " \$2
446 .  \}
450 .\" NS doc-date-string global string
451 .\" NS   the manual page date as set by `Dd'
453 .ds doc-date-string
456 .\" NS Dd user macro (not parsed, not callable)
457 .\" NS   set document date
458 .\" NS
459 .\" NS local variables:
460 .\" NS   doc-date-XXX
461 .\" NS
462 .\" NS modifies:
463 .\" NS   doc-date-string
464 .\" NS
465 .\" NS width register `Dd' set above
467 .ds doc-date-1  January
468 .ds doc-date-2  February
469 .ds doc-date-3  March
470 .ds doc-date-4  April
471 .ds doc-date-5  May
472 .ds doc-date-6  June
473 .ds doc-date-7  July
474 .ds doc-date-8  August
475 .ds doc-date-9  September
476 .ds doc-date-10 October
477 .ds doc-date-11 November
478 .ds doc-date-12 December
480 .de Dd
481 .  \" XXX: why do we need gX?
482 .  if "\*[doc-date-string]"" \
483 .    nr gX 1
485 .  ie \n[.$] \{\
486 .    ie (\n[.$] == 3) \
487 .      ds doc-date-string \$1\~\$2 \$3
488 .    el \{\
489 .      ds doc-date-string "\*[doc-date-\n[mo]]
490 .      as doc-date-string \~\n[dy], \n[year]
491 .    \}
492 .  \}
493 .  el \
494 .    ds doc-date-string Epoch
498 .\" NS doc-header macro
499 .\" NS   print page header
501 .de doc-header
502 .  ev doc-caption-environment
503 .  doc-setup-page-layout
504 .  if !\n[cR] \
505 '    sp \n[doc-header-space]u
506 .  tl @\*[doc-caption-font]\*[doc-header-string]\f[P]@\*[doc-caption-font2]\*[doc-volume]\f[P]@\*[doc-caption-font]\*[doc-header-string]\f[P]@
507 '  sp \n[doc-header-space]u
508 .  ev
512 .\" NS doc-footer macro
513 .\" NS   print page footer
515 .de doc-footer
516 .  ie \n[cR] \
517 '    br
518 .  el \{\
519 .    ev doc-caption-enviroment
520 .    doc-setup-page-layout
521 '    sp \n[doc-footer-space]u
522 .    tl @\*[doc-caption-font]\*[doc-operating-system]\f[P]@\*[doc-caption-font2]\*[doc-date-string]\f[P]@%@
523 '    bp
524 .    ev
525 .  \}
529 .\" NS doc-end-macro macro
530 .\" NS   finish output
532 .de doc-end-macro
533 .  \" We may still have a partial line in the environment.  If this is the
534 .  \" case, and we happen to be on the last line of the page, the `.fl'
535 .  \" request will cause the page to be ejected and troff will immediately
536 .  \" exit.  If we are in nroff mode, this would be unfortunate, since we
537 .  \" would never get a chance to output the footer.  So we fudge the page
538 .  \" length to make sure that the last page is never ejected until we want
539 .  \" it to be.
541 .  if \n[cR] \
542 .    pl +3v
543 .  fl
545 .  if \n[doc-list-depth] \
546 .    tm mdoc warning: list open at EOF!  A .Bl directive has no matching .El
548 .  if \n[cR] \{\
549 '    sp
550 .    tl @\*[doc-caption-font]\*[doc-operating-system]\f[P]@\*[doc-caption-font2]\*[doc-date-string]\f[P]@%@
551 .    \" suppress empty lines after the footer
552 .    pl \n[nl]u
553 .  \}
557 .\" NS doc-paragraph macro
558 .\" NS   insert a paragraph
560 .de doc-paragraph
561 .  sp \n[doc-paragraph-space]u
562 .  if !\n[cR] \
563 .    ne 2
564 .  ns
568 .\" NS Pp user macro (not parsed, not callable)
569 .\" NS   new paragraph
570 .\" NS
571 .\" NS width register `Pp' set above
573 .als Pp doc-paragraph
576 .\" NS Lp user macro (not parsed, not callable)
577 .\" NS   same as .Pp
578 .\" NS
579 .\" NS width register `Lp' set above
581 .als Lp doc-paragraph
584 .de LP
585 .  tm Not a \-mdoc command: .LP (#\n[.c])
589 .de PP
590 .  tm Not a \-mdoc command: .PP (#\n[.c])
594 .de pp
595 .  tm Not a \-mdoc command: .pp (#\n[.c])
599 .de SH
600 .  tm Not a \-mdoc command: .SH (#\n[.c])
604 .\" NS Nd user macro (not parsed, not callable)
605 .\" NS   print name description
606 .\" NS
607 .\" NS width register `Nd' set above
609 .de Nd
610 .  nop \- \$*
614 .\" NS Ss user macro (not parsed, not callable)
615 .\" NS   subsection
616 .\" NS
617 .\" NS width register `Ss' set above
618 .\" NS
619 .\" NS local variable:
620 .\" NS   doc-reg-Ss
622 .de Ss
623 .  ie \n[.$] \{\
624 .    sp
625 .    if !\n[cR] \
626 .      ne 3
627 .    ti -.25i
629 .    nop \*[doc-Sh-font]\$1\c
630 .    nr doc-reg-Ss 2
631 .    while (\n[doc-reg-Ss] <= \n[.$]) \{\
632 .      nop \& \|\$[\n[doc-reg-Ss]]\c
633 .      nr doc-reg-Ss +1
634 .    \}
635 .    nop \f[P]\s[0]
637 .    ta T .5i
638 .    if !\n[cR] \
639 .      ne 2
640 .    br
641 .  \}
642 .  el \
643 .    tm Usage: .Ss subsection_name ... (#\n[.c])
647 .\" NS Rd macro (not parsed, not callable)
648 .\" NS   print global register dump to stderr
649 .\" NS
650 .\" NS local variables:
651 .\" NS   doc-reg-Rd
653 .de Rd
654 .  tm MDOC GLOBAL REGISTER DUMP
655 .  tm doc-debug == \n[doc-debug]
656 .  tm doc-macro-name == `\*[doc-macro-name]'
657 .  tm doc-arg-limit == \n[doc-arg-limit]
658 .  tm doc-num-args == \n[doc-num-args]
659 .  tm doc-arg-ptr == \n[doc-arg-ptr]
661 .  nr doc-reg-Rd 1
662 .  while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
663 .    tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
664 .    tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
665 .    tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
666 .    nr doc-reg-Rd +1
667 .  \}
669 .  tm doc-out-string == `\*[doc-out-string]'
670 .  tm doc-curr-space == `\*[doc-curr-space]'
671 .  tm doc-saved-out-string == `\*[doc-saved-out-string]'
672 .  tm doc-in-diversion == \n[doc-in-diversion]
673 .  tm doc-curr-font == \n[doc-curr-font]
674 .  tm doc-curr-size == \n[doc-curr-size]
675 .  tm doc-in-synopsis-count == \n[doc-in-synopsis-count]
676 .  tm doc-indent-synopsis == \n[doc-indent-synopsis]
677 .  tm doc-have-decl == \n[doc-have-decl]
678 .  tm doc-have-var == \n[doc-have-var]
679 .  tm doc-command-name == `\*[doc-command-name]'
680 .  tm doc-quote-left == `\*[doc-quote-left]'
681 .  tm doc-quote-right == `\*[doc-quote-right]'
682 .  tm doc-nesting-level == \n[doc-nesting-level]
683 .  tm doc-no-space == \n[doc-no-space]
684 .  tm doc-is-opening == \n[doc-is-opening]
685 .  tm doc-space == `\*[doc-space]'
686 .  tm doc-space-mode == \n[doc-space-mode]
687 .  tm doc-curr-font-for-Ef == \n[doc-curr-font-for-Ef]
688 .  tm doc-curr-size-for-Ef == \n[doc-curr-size-for-Ef]
689 .  tm doc-keep-type == `\*[doc-keep-type]'
690 .  tm doc-display-depth == \n[doc-display-depth]
691 .  tm doc-is-compact == \n[doc-is-compact]
693 .  nr doc-reg-Rd 0
694 .  while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
695 .    tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
696 .    tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
697 .    nr doc-reg-Rd +1
698 .  \}
700 .  tm doc-list-depth == \n[doc-list-depth]
702 .  nr doc-reg-Rd 1
703 .  while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
704 .    tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
705 .    tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
706 .    tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
707 .    tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
708 .    tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
709 .    nr doc-reg-Rd +1
710 .  \}
712 .  tm doc-have-indent == \n[doc-have-indent]
713 .  tm doc-have-tag-width == \n[doc-have-tag-width]
714 .  tm doc-no-printing == \n[doc-no-printing]
715 .  tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
716 .  tm doc-curr-type == \n[doc-curr-type]
717 .  tm doc-curr-arg == `\*[doc-curr-arg]'
718 .  tm doc-enum-list-count == \n[doc-enum-list-count]
719 .  tm doc-have-diag-list == \n[doc-have-diag-list]
720 .  tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
721 .  tm doc-in-list == \n[doc-in-list]
722 .  tm doc-list-immediate == \n[doc-list-immediate]
723 .  tm doc-num-columns == \n[doc-num-columns]
724 .  tm doc-next-list-depth == \n[doc-next-list-depth]
725 .  tm doc-column-indent-width == \n[doc-column-indent-width]
726 .  tm doc-is-func == \n[doc-is-func]
727 .  tm doc-have-old-func == \n[doc-have-old-func]
728 .  tm doc-func-arg-count == \n[doc-func-arg-count]
729 .  tm doc-func-arg == `\*[doc-func-arg]'
730 .  tm doc-num-func-args == \n[doc-num-func-args]
731 .  tm doc-func-args-processed == \n[doc-func-args-processed]
732 .  tm doc-have-func == \n[doc-have-func]
733 .  tm doc-is-reference == \n[doc-is-reference]
734 .  tm doc-reference-count == \n[doc-reference-count]
735 .  tm doc-reference-string-name == `\*[doc-reference-string-name]'
736 .  tm doc-authors-processed == \n[doc-authors-processed]
737 .  tm doc-author-count == \n[doc-author-count]
739 .  nr doc-reg-Rd 0
740 .  while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
741 .    tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
742 .    nr doc-reg-Rd +1
743 .  \}
745 .  tm doc-book-count == \n[doc-book-count]
746 .  tm doc-book-name == `\*[doc-book-name]'
747 .  tm doc-date-count == \n[doc-date-count]
748 .  tm doc-date == `\*[doc-date]'
749 .  tm doc-publisher-count == \n[doc-publisher-count]
750 .  tm doc-publisher-name == `\*[doc-publisher-name]'
751 .  tm doc-journal-count == \n[doc-journal-count]
752 .  tm doc-journal-name == `\*[doc-journal-name]'
753 .  tm doc-issue-count == \n[doc-issue-count]
754 .  tm doc-issue-name == `\*[doc-issue-name]'
755 .  tm doc-optional-count == \n[doc-optional-count]
756 .  tm doc-optional-string == `\*[doc-optional-string]'
757 .  tm doc-page-number-count == \n[doc-page-number-count]
758 .  tm doc-page-number-string == `\*[doc-page-number-string]'
759 .  tm doc-corporate-count == \n[doc-corporate-count]
760 .  tm doc-corporate-name == `\*[doc-corporate-name]'
761 .  tm doc-report-count == \n[doc-report-count]
762 .  tm doc-report-name == `\*[doc-report-name]'
763 .  tm doc-reference-title-count == \n[doc-reference-title-count]
764 .  tm doc-reference-title-name == `\*[doc-reference-title-name]'
765 .  tm doc-volume-count == \n[doc-volume-count]
766 .  tm doc-volume-name == `\*[doc-volume-name]'
767 .  tm doc-have-author == \n[doc-have-author]
769 .  tm doc-document-title == `\*[doc-document-title]'
770 .  tm doc-volume == `\*[doc-volume]'
771 .  tm doc-section == `\*[doc-section]'
772 .  tm doc-operating-system == `\*[doc-operating-system]'
773 .  tm doc-date-string == `\*[doc-date-string]'
774 .  tm doc-header-space == \n[doc-header-space]
775 .  tm doc-footer-space == \n[doc-footer-space]
776 .  tm doc-display-vertical == \n[doc-display-vertical]
777 .  tm doc-header-string == `\*[doc-header-string]'
778 .  tm doc-in-see-also-section == \n[doc-in-see-also-section]
779 .  tm doc-in-files-section == \n[doc-in-files-section]
780 .  tm doc-in-authors-section == \n[doc-in-authors-section]
782 .  tm END OF GLOBAL REGISTER DUMP
785 .\" EOF