1 .\" Copyright (c) 1991, 1993
2 .\" The Regents of the University of California. All rights reserved.
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
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.
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
32 .\" @(#)doc-common 8.1 (Berkeley) 06/08/93
33 .\" $DragonFly: src/gnu/usr.bin/groff/tmac/Attic/doc-common,v 1.3 2004/07/13 23:38:19 hmp Exp $
38 .\" Macro Identifiers. For each user macro a corresponding register with
39 .\" the same name must exist. Its value must not be zero.
81 .nr Ds 6n\" many manpages still use this as a -width value
156 .\" macros which must be processed after the closing delimiter of `Op'
172 .nr doc-display-indent 6n
177 .ds doc-soft-space " \"
178 .ds doc-hard-space \~
185 .\" punctuation values (suffix=3, prefix = 4)
199 .\" header assembly macros
201 .\" NS doc-document-title global string
202 .\" NS the title of the manual page
204 .ds doc-document-title UNTITLED
207 .\" NS doc-volume global string
208 .\" NS the volume where the manual page belongs to
213 .\" NS doc-section global string
214 .\" NS the manual section
219 .\" NS Dt user macro (not parsed, not callable)
220 .\" NS document title
223 .\" NS doc-document-title
227 .\" NS local variables:
228 .\" NS doc-volume-as-XXX
229 .\" NS doc-volume-ds-XXX
231 .\" NS width register `Dt' set above
233 .\" an alternative, more detailed scheme for naming the manual sections
235 .ds doc-volume-operating-system BSD
236 .nr doc-volume-operating-system-ateol 0
237 .ds doc-volume-ds-1 General Commands Manual
238 .ds doc-volume-ds-2 System Calls Manual
239 .ds doc-volume-ds-3 Library Functions Manual
240 .ds doc-volume-ds-4 Kernel Interfaces Manual
241 .ds doc-volume-ds-5 File Formats Manual
242 .ds doc-volume-ds-6 Games Manual
243 .ds doc-volume-ds-7 Miscellaneous Information Manual
244 .ds doc-volume-ds-8 System Manager's Manual
245 .ds doc-volume-ds-9 Kernel Developer's Manual
247 .ds doc-volume-ds-USD User's Supplementary Documents
248 .ds doc-volume-ds-PS1 Programmer's Supplementary Documents
249 .ds doc-volume-ds-AMD Ancestral Manual Documents
250 .ds doc-volume-ds-SMM System Manager's Manual
251 .ds doc-volume-ds-URM User's Reference Manual
252 .ds doc-volume-ds-PRM Programmer's Manual
253 .ds doc-volume-ds-KM Kernel Manual
254 .ds doc-volume-ds-IND Manual Master Index
255 .ds doc-volume-ds-LOCAL Local Manual
256 .ds doc-volume-ds-CON Contributed Software Manual
258 .als doc-volume-ds-MMI doc-volume-ds-IND
259 .als doc-volume-ds-LOC doc-volume-ds-LOCAL
261 .ds doc-volume-as-alpha Alpha
262 .als doc-volume-as-Alpha doc-volume-as-alpha
263 .ds doc-volume-as-amiga Amiga
264 .ds doc-volume-as-arc Arc
265 .ds doc-volume-as-arm26 ARM26
266 .ds doc-volume-as-arm32 ARM32
267 .ds doc-volume-as-atari Atari
268 .ds doc-volume-as-bebox BEbox
269 .ds doc-volume-as-cobalt Cobalt
270 .ds doc-volume-as-evbsh3 Evbsh3
271 .ds doc-volume-as-hp300 HP300
272 .ds doc-volume-as-hpcmips HPcmips
273 .ds doc-volume-as-i386 i386
274 .ds doc-volume-as-luna68k luna68k
275 .ds doc-volume-as-m68k m68k
276 .ds doc-volume-as-mac68k mac68k
277 .ds doc-volume-as-macppc macppc
278 .ds doc-volume-as-mips MIPS
279 .ds doc-volume-as-mmeye mmeye
280 .ds doc-volume-as-mvme68k mvme68k
281 .ds doc-volume-as-news68k news68k
282 .ds doc-volume-as-newsmips newsmips
283 .ds doc-volume-as-next68k next68k
284 .ds doc-volume-as-ofppc ofppc
285 .ds doc-volume-as-pc532 pc532
286 .ds doc-volume-as-pmax pmax
287 .ds doc-volume-as-powerpc powerpc
288 .ds doc-volume-as-prep prep
289 .ds doc-volume-as-sgimips sgimips
290 .ds doc-volume-as-sh3 sh3
291 .ds doc-volume-as-sparc SPARC
292 .ds doc-volume-as-sparc64 sparc64
293 .ds doc-volume-as-sun3 sun3
294 .ds doc-volume-as-tahoe Tahoe
295 .ds doc-volume-as-vax VAX
296 .ds doc-volume-as-x68k x68k
299 . \" reset default arguments
300 . ds doc-document-title UNTITLED
301 . ds doc-volume LOCAL
302 . ds doc-section Null
305 . ds doc-document-title "\$1
310 . if ((\$2 >= 1) & (\$2 <= 9)) \{\
311 . ie \n[doc-volume-operating-system-ateol] \{\
312 . ds doc-volume "\*[doc-volume-ds-\$2] \*[doc-volume-operating-system]
314 . if d doc-volume-as-\$3 \
315 . as doc-volume "/\*[doc-volume-as-\$3]
318 . ds doc-volume "\*[doc-volume-operating-system]
320 . if d doc-volume-as-\$3 \
321 . as doc-volume "/\*[doc-volume-as-\$3]
323 . as doc-volume " \*[doc-volume-ds-\$2]
326 . ie "\$2"unass" .ds doc-volume DRAFT
327 . el \{ .ie "\$2"draft" .ds doc-volume DRAFT
328 . el \{ .ie "\$2"paper" .ds doc-volume UNTITLED
330 . tm mdoc warning: .Dt: unknown section `\$2' (#\n[.c])
333 . if d doc-volume-ds-\$3 \
334 . ds doc-volume "\*[doc-volume-ds-\$3]
338 . if "\*[doc-volume]"LOCAL" \
343 .\" NS doc-operating-system global string
344 .\" NS the exact version of the operating system
346 .\" NS override this in `mdoc.local', if necessary
348 .ds doc-operating-system BSD
351 .\" NS Os user macro (not parsed, not callable)
352 .\" NS operating system
355 .\" NS doc-operating-system
357 .\" NS local variables:
358 .\" NS doc-operating-system-XXX-XXX
360 .\" NS width register `Os' set above
362 .ds doc-operating-system-ATT-7 7th\~Edition
363 .als doc-operating-system-ATT-7th doc-operating-system-ATT-7
364 .ds doc-operating-system-ATT-3 System\~III
365 .als doc-operating-system-ATT-III doc-operating-system-ATT-3
366 .ds doc-operating-system-ATT-V System\~V
367 .ds doc-operating-system-ATT-V.2 System\~V Release\~2
368 .ds doc-operating-system-ATT-V.3 System\~V Release\~3
369 .ds doc-operating-system-ATT-V.4 System\~V Release\~4
371 .ds doc-operating-system-BSD-3 3rd\~Berkeley Distribution
372 .ds doc-operating-system-BSD-4 4th\~Berkeley Distribution
373 .ds doc-operating-system-BSD-4.1 4.1\~Berkeley Distribution
374 .ds doc-operating-system-BSD-4.2 4.2\~Berkeley Distribution
375 .ds doc-operating-system-BSD-4.3 4.3\~Berkeley Distribution
376 .ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
377 .ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
378 .als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
379 .als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
380 .ds doc-operating-system-BSD-4.4 4.4BSD
382 .ds doc-operating-system-NetBSD-0.8 0.8
383 .ds doc-operating-system-NetBSD-0.8a 0.8A
384 .ds doc-operating-system-NetBSD-0.9 0.9
385 .ds doc-operating-system-NetBSD-0.9a 0.9A
386 .ds doc-operating-system-NetBSD-1.0 1.0
387 .ds doc-operating-system-NetBSD-1.0a 1.0A
388 .ds doc-operating-system-NetBSD-1.1 1.1
389 .ds doc-operating-system-NetBSD-1.2 1.2
390 .ds doc-operating-system-NetBSD-1.2a 1.2A
391 .ds doc-operating-system-NetBSD-1.2b 1.2B
392 .ds doc-operating-system-NetBSD-1.2c 1.2C
393 .ds doc-operating-system-NetBSD-1.2d 1.2D
394 .ds doc-operating-system-NetBSD-1.2e 1.2E
395 .ds doc-operating-system-NetBSD-1.3 1.3
396 .ds doc-operating-system-NetBSD-1.3a 1.3A
397 .ds doc-operating-system-NetBSD-1.4 1.4
398 .ds doc-operating-system-NetBSD-1.5 1.5
399 .ds doc-operating-system-NetBSD-1.6 1.6
401 .ds doc-operating-system-FreeBSD-1.0 1.0
402 .ds doc-operating-system-FreeBSD-1.1 1.1
403 .ds doc-operating-system-FreeBSD-1.1.5 1.1.5
404 .ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
405 .ds doc-operating-system-FreeBSD-2.0 2.0
406 .ds doc-operating-system-FreeBSD-2.0.5 2.0.5
407 .ds doc-operating-system-FreeBSD-2.1 2.1
408 .ds doc-operating-system-FreeBSD-2.1.5 2.1.5
409 .ds doc-operating-system-FreeBSD-2.1.6 2.1.6
410 .ds doc-operating-system-FreeBSD-2.1.7 2.1.7
411 .ds doc-operating-system-FreeBSD-2.2 2.2
412 .ds doc-operating-system-FreeBSD-2.2.1 2.2.1
413 .ds doc-operating-system-FreeBSD-2.2.2 2.2.2
414 .ds doc-operating-system-FreeBSD-2.2.5 2.2.5
415 .ds doc-operating-system-FreeBSD-2.2.6 2.2.6
416 .ds doc-operating-system-FreeBSD-2.2.7 2.2.7
417 .ds doc-operating-system-FreeBSD-2.2.8 2.2.8
418 .ds doc-operating-system-FreeBSD-3.0 3.0
419 .ds doc-operating-system-FreeBSD-3.1 3.1
420 .ds doc-operating-system-FreeBSD-3.2 3.2
421 .ds doc-operating-system-FreeBSD-3.3 3.3
422 .ds doc-operating-system-FreeBSD-3.4 3.4
423 .ds doc-operating-system-FreeBSD-3.5 3.5
424 .ds doc-operating-system-FreeBSD-4.0 4.0
425 .ds doc-operating-system-FreeBSD-4.1 4.1
426 .ds doc-operating-system-FreeBSD-4.1.1 4.1.1
427 .ds doc-operating-system-FreeBSD-4.2 4.2
428 .ds doc-operating-system-FreeBSD-4.3 4.3
429 .ds doc-operating-system-FreeBSD-4.4 4.4
430 .ds doc-operating-system-FreeBSD-4.5 4.5
431 .ds doc-operating-system-FreeBSD-4.6 4.6
432 .ds doc-operating-system-FreeBSD-4.6.2 4.6.2
433 .ds doc-operating-system-FreeBSD-4.7 4.7
434 .ds doc-operating-system-FreeBSD-4.8 4.8
435 .ds doc-operating-system-FreeBSD-4.9 4.9
436 .ds doc-operating-system-FreeBSD-4.10 4.10
437 .ds doc-operating-system-FreeBSD-5.0 5.0
438 .ds doc-operating-system-FreeBSD-5.1 5.1
439 .ds doc-operating-system-FreeBSD-5.2 5.2
440 .ds doc-operating-system-FreeBSD-5.2.1 5.2.1
441 .ds doc-operating-system-FreeBSD-5.3 5.3
442 .ds doc-operating-system-DragonFly-1.0 1.0
449 . ds doc-operating-system AT&T
451 . ie d doc-operating-system-ATT-\$2 \
452 . as doc-operating-system " \*[doc-operating-system-ATT-\$2]
454 . as doc-operating-system " UNIX
456 . el \{ .ie "\$1"BSD" \{\
458 . ie d doc-operating-system-BSD-\$2 \
459 . ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
461 . tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
463 . el \{ .ie "\$1"FreeBSD" \{\
464 . ds doc-operating-system FreeBSD
466 . ie d doc-operating-system-FreeBSD-\$2 \
467 . as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
469 . tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
471 . el \{ .ie "\$1"DragonFly" \{\
472 . ds doc-operating-system DragonFly
474 . ie d doc-operating-system-DragonFly-\$2 \
475 . as doc-operating-system \~\*[doc-operating-system-DragonFly-\$2]
477 . tm mdoc warning: .Os: Unknown DragonFly version `\$2' (#\n[.c])
479 . el \{ .ie "\$1"NetBSD" \{\
480 . ds doc-operating-system NetBSD
482 . ie d doc-operating-system-NetBSD-\$2 \
483 . as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
485 . tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
488 . ds doc-operating-system \$1
490 . as doc-operating-system " \$2
495 .\" NS doc-date-string global string
496 .\" NS the manual page date as set by `Dd'
501 .\" NS Dd user macro (not parsed, not callable)
502 .\" NS set document date
505 .\" NS doc-date-string
507 .\" NS local variables:
510 .\" NS width register `Dd' set above
512 .ds doc-date-1 January
513 .ds doc-date-2 February
519 .ds doc-date-8 August
520 .ds doc-date-9 September
521 .ds doc-date-10 October
522 .ds doc-date-11 November
523 .ds doc-date-12 December
526 . \" XXX: why do we need gX?
527 . if "\*[doc-date-string]"" \
532 . ds doc-date-string \$1\~\$2 \$3
534 . ds doc-date-string "\*[doc-date-\n[mo]]
535 . as doc-date-string \~\n[dy], \n[year]
539 . ds doc-date-string Epoch
543 .\" NS doc-hyphen-flags global register
544 .\" NS the parameter for the `.hy' request
546 .\" NS override this in `mdoc.local', if necessary.
548 .nr doc-hyphen-flags 12
551 .\" NS doc-header macro
552 .\" NS print page header
554 .\" NS local variables:
560 . doc-setup-page-layout
562 ' sp \n[doc-header-space]u
563 . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[]'
564 . nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[]'
565 . if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
566 . while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
567 . substring doc-header-string 0 -2
568 . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[]'
570 . as doc-header-string "\|.\|.\|.
572 . tl
\a\*[doc-caption-font]\*[doc-header-string]\f[]
\a\*[doc-caption-font2]\*[doc-volume]\f[]
\a\*[doc-caption-font]\*[doc-header-string]\f[]
\a
573 ' sp \n[doc-header-space]u
578 .\" NS doc-footer macro
579 .\" NS print page footer
585 . ev doc-caption-enviroment
586 . doc-setup-page-layout
587 ' sp \n[doc-footer-space]u
590 . tl
\a%
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a
592 . tl
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a%
\a
595 . tl
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a%
\a
602 .\" NS doc-end-macro macro
606 . \" We may still have a partial line in the environment. If this is the
607 . \" case, and we happen to be on the last line of the page, the `.fl'
608 . \" request will cause the page to be ejected and troff will immediately
609 . \" exit. If we are in nroff mode, this would be unfortunate, since we
610 . \" would never get a chance to output the footer. So we fudge the page
611 . \" length to make sure that the last page is never ejected until we want
618 . if \n[doc-list-depth] \
619 . tm mdoc warning: list open at EOF! A .Bl directive has no matching .El
623 . tl
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a
624 . \" suppress empty lines after the footer
630 .\" NS doc-paragraph macro
631 .\" NS insert a paragraph
634 . sp \n[doc-paragraph-space]u
641 .\" NS Pp user macro (not parsed, not callable)
644 .\" NS width register `Pp' set above
646 .als Pp doc-paragraph
649 .\" NS Lp user macro (not parsed, not callable)
652 .\" NS width register `Lp' set above
654 .als Lp doc-paragraph
658 . tm Not a \-mdoc command: .LP (#\n[.c])
663 . tm Not a \-mdoc command: .PP (#\n[.c])
668 . tm Not a \-mdoc command: .pp (#\n[.c])
673 . tm Not a \-mdoc command: .SH (#\n[.c])
677 .\" NS Nd user macro (not parsed, not callable)
678 .\" NS print name description
680 .\" NS width register `Nd' set above
687 .\" NS doc-in-synopsis-section global register (bool)
688 .\" NS whether we are in the `synopsis' section
690 .nr doc-in-synopsis-section 0
693 .\" NS doc-in-see-also-section global register (bool)
694 .\" NS whether we are in the `see also' section
696 .nr doc-in-see-also-section 0
699 .\" NS doc-in-files-section global register (bool)
700 .\" NS whether we are in the `files' section
702 .nr doc-in-files-section 0
705 .\" NS doc-in-authors-section global register (bool)
706 .\" NS whether we are in the `authors' section
708 .nr doc-in-authors-section 0
711 .\" NS doc-first-parameter macro
712 .\" NS return first parameter
714 .\" NS local variables:
717 .de doc-first-parameter
718 . ds doc-str-dfp "\$1
722 .\" NS Sh user macro (not callable)
723 .\" NS section headers
726 .\" NS doc-func-args-processed
727 .\" NS doc-func-count
728 .\" NS doc-in-authors-section
729 .\" NS doc-in-files-section
730 .\" NS doc-in-see-also-section
731 .\" NS doc-in-synopsis-section
732 .\" NS doc-indent-synopsis
733 .\" NS doc-indent-synopsis-active
735 .\" NS doc-num-func-args
737 .\" NS local variables:
740 .\" NS doc-section-XXX
742 .\" NS width register `Sh' set in doc-common
744 .ds doc-section-name NAME
745 .ds doc-section-synopsis SYNOPSIS
746 .ds doc-section-description DESCRIPTION
747 .ds doc-section-see-also SEE
748 .ds doc-section-files FILES
749 .ds doc-section-authors AUTHORS
752 . ie \n[doc-arg-limit] \{\
753 . \" we only allow `Sh' within `Sh'; it will change the font back to
755 . ie "\*[doc-macro-name]"Sh" \{\
757 . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
758 . nr doc-curr-font \n[.f]
759 . nr doc-curr-size \n[.ps]
760 . nop \*[doc-Sh-font]\c
761 . doc-print-recursive
764 . tm Usage: .Sh section_name ... (#\n[.c])
768 . tm Usage: .Sh not callable by other macros (#\n[.c])
773 . tm Usage: .Sh section_name ... (#\n[.c])
777 . ds doc-macro-name Sh
783 . \" this resolves e.g. `.Sh "SEE ALSO"'
784 . doc-first-parameter \$*
786 . ie "\*[doc-str-dfp]"\*[doc-section-name]" \{\
791 . nr doc-in-synopsis-section 0
792 . nr doc-in-see-also-section 0
793 . nr doc-in-files-section 0
794 . nr doc-in-authors-section 0
796 . ie "\*[doc-str-dfp]"\*[doc-section-synopsis]" \{\
799 . nr doc-in-synopsis-section 1
800 . nr doc-indent-synopsis 0
801 . nr doc-indent-synopsis-active 0
803 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\
805 . nr doc-func-count 0
806 . nr doc-func-args-processed 0
807 . nr doc-num-func-args 0
809 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-see-also]" \{\
812 . nr doc-in-see-also-section 1
814 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-files]" \
815 . nr doc-in-files-section 1
816 . el .if "\*[doc-str-dfp]"\*[doc-section-authors]" \
817 . nr doc-in-authors-section 1
821 . nr doc-have-author 0
824 . doc-setup-page-layout
833 . nr doc-reg-Sh \n[.ss]
834 . nr doc-reg-Sh1 \n[.sss]
835 . ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
839 . nr doc-curr-font \n[.f]
840 . nr doc-curr-size \n[.ps]
841 . nop \*[doc-Sh-font]\c
842 . doc-print-recursive
845 . ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
847 . in +\n[doc-subheader-indent]u
853 .\" NS Ss user macro (not callable)
856 .\" NS local variable:
860 .\" NS width register `Ss' set above
863 . ie \n[doc-arg-limit] \{\
864 . \" we only allow `Ss' within `Ss'; it will change the font back to
866 . ie "\*[doc-macro-name]"Ss" \{\
868 . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
869 . nr doc-curr-font \n[.f]
870 . nr doc-curr-size \n[.ps]
871 . nop \*[doc-Sh-font]\c
872 . doc-print-recursive
875 . tm Usage: .Ss subsection_name ... (#\n[.c])
879 . tm Usage: .Ss not callable by other macros (#\n[.c])
884 . tm Usage: .Ss subsection_name ... (#\n[.c])
888 . ds doc-macro-name Ss
896 . nr doc-reg-Ss \n[.ss]
897 . nr doc-reg-Ss1 \n[.sss]
898 . ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
901 . nr doc-curr-font \n[.f]
902 . nr doc-curr-size \n[.ps]
903 . nop \*[doc-Sh-font]\c
904 . doc-print-recursive
906 . ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
917 .\" NS Rd macro (not parsed, not callable)
918 .\" NS print global register dump to stderr
920 .\" NS local variables:
924 . tm MDOC GLOBAL REGISTER DUMP
925 . tm doc-macro-name == `\*[doc-macro-name]'
926 . tm doc-arg-limit == \n[doc-arg-limit]
927 . tm doc-num-args == \n[doc-num-args]
928 . tm doc-arg-ptr == \n[doc-arg-ptr]
931 . while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
932 . tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
933 . tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
934 . tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
938 . tm doc-curr-font == \n[doc-curr-font]
939 . tm doc-curr-size == \n[doc-curr-size]
940 . tm doc-indent-synopsis == \n[doc-indent-synopsis]
941 . tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
942 . tm doc-have-decl == \n[doc-have-decl]
943 . tm doc-have-var == \n[doc-have-var]
944 . tm doc-command-name == `\*[doc-command-name]'
945 . tm doc-quote-left == `\*[doc-quote-left]'
946 . tm doc-quote-right == `\*[doc-quote-right]'
947 . tm doc-nesting-level == \n[doc-nesting-level]
948 . tm doc-in-list == \n[doc-in-list]
949 . tm doc-space == `\*[doc-space]'
950 . tm doc-saved-space == `\*[doc-saved-space]'
951 . tm doc-space-mode == \n[doc-space-mode]
952 . tm doc-have-space == \n[doc-have-space]
953 . tm doc-have-slot == \n[doc-have-slot]
954 . tm doc-keep-type == \n[doc-keep-type]
955 . tm doc-display-depth == \n[doc-display-depth]
956 . tm doc-is-compact == \n[doc-is-compact]
959 . while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
960 . tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
961 . tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
962 . tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
963 . tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
964 . tm doc-display-ft-stack\n[doc-reg-Rd] == \n[doc-display-ft-stack\n[doc-reg-Rd]]
965 . tm doc-display-ps-stack\n[doc-reg-Rd] == \n[doc-display-ps-stack\n[doc-reg-Rd]]
969 . tm doc-fontmode-depth == \n[doc-fontmode-depth]
972 . while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
973 . tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
974 . tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
978 . tm doc-list-depth == \n[doc-list-depth]
981 . while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
982 . tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
983 . tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
984 . tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
985 . tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
986 . tm doc-tag-prefix-stack\n[doc-reg-Rd] == `\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
987 . tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
988 . tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
989 . tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
993 . tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
994 . tm doc-curr-type == \n[doc-curr-type]
995 . tm doc-curr-arg == `\*[doc-curr-arg]'
996 . tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
997 . tm doc-num-columns == \n[doc-num-columns]
998 . tm doc-column-indent-width == \n[doc-column-indent-width]
999 . tm doc-is-func == \n[doc-is-func]
1000 . tm doc-have-old-func == \n[doc-have-old-func]
1001 . tm doc-func-arg-count == \n[doc-func-arg-count]
1002 . tm doc-func-arg == `\*[doc-func-arg]'
1003 . tm doc-num-func-args == \n[doc-num-func-args]
1004 . tm doc-func-args-processed == \n[doc-func-args-processed]
1005 . tm doc-have-func == \n[doc-have-func]
1006 . tm doc-is-reference == \n[doc-is-reference]
1007 . tm doc-reference-count == \n[doc-reference-count]
1008 . tm doc-author-count == \n[doc-author-count]
1011 . while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
1012 . tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
1016 . tm doc-book-count == \n[doc-book-count]
1017 . tm doc-book-name == `\*[doc-book-name]'
1018 . tm doc-date-count == \n[doc-date-count]
1019 . tm doc-date == `\*[doc-date]'
1020 . tm doc-publisher-count == \n[doc-publisher-count]
1021 . tm doc-publisher-name == `\*[doc-publisher-name]'
1022 . tm doc-journal-count == \n[doc-journal-count]
1023 . tm doc-journal-name == `\*[doc-journal-name]'
1024 . tm doc-issue-count == \n[doc-issue-count]
1025 . tm doc-issue-name == `\*[doc-issue-name]'
1026 . tm doc-optional-count == \n[doc-optional-count]
1027 . tm doc-optional-string == `\*[doc-optional-string]'
1028 . tm doc-page-number-count == \n[doc-page-number-count]
1029 . tm doc-page-number-string == `\*[doc-page-number-string]'
1030 . tm doc-corporate-count == \n[doc-corporate-count]
1031 . tm doc-corporate-name == `\*[doc-corporate-name]'
1032 . tm doc-report-count == \n[doc-report-count]
1033 . tm doc-report-name == `\*[doc-report-name]'
1034 . tm doc-reference-title-count == \n[doc-reference-title-count]
1035 . tm doc-reference-title-name == `\*[doc-reference-title-name]'
1036 . tm doc-reference-title-name-for-book == `\*[doc-reference-title-name-for-book]'
1037 . tm doc-volume-count == \n[doc-volume-count]
1038 . tm doc-volume-name == `\*[doc-volume-name]'
1039 . tm doc-have-author == \n[doc-have-author]
1041 . tm doc-document-title == `\*[doc-document-title]'
1042 . tm doc-volume == `\*[doc-volume]'
1043 . tm doc-section == `\*[doc-section]'
1044 . tm doc-operating-system == `\*[doc-operating-system]'
1045 . tm doc-date-string == `\*[doc-date-string]'
1046 . tm doc-header-space == \n[doc-header-space]
1047 . tm doc-footer-space == \n[doc-footer-space]
1048 . tm doc-display-vertical == \n[doc-display-vertical]
1049 . tm doc-header-string == `\*[doc-header-string]'
1050 . tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
1051 . tm doc-in-see-also-section == \n[doc-in-see-also-section]
1052 . tm doc-in-files-section == \n[doc-in-files-section]
1053 . tm doc-in-authors-section == \n[doc-in-authors-section]
1055 . tm END OF GLOBAL REGISTER DUMP