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.
13 .\" ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
14 .\" 4. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)doc-common 8.1 (Berkeley) 06/08/93
35 .\" Macro Identifiers. For each user macro a corresponding register with
36 .\" the same name must exist. Its value must not be zero.
79 .nr Ds 6n\" many manpages still use this as a -width value
153 .\" macros which must be processed after the closing delimiter of `Op'
169 .nr doc-display-indent 6n
174 .ds doc-soft-space " \"
175 .ds doc-hard-space \~
182 .\" punctuation values (suffix=3, prefix=4)
196 .\" header assembly macros
198 .\" NS doc-document-title global string
199 .\" NS the title of the manual page
201 .ds doc-document-title UNTITLED
204 .\" NS doc-volume global string
205 .\" NS the volume where the manual page belongs to
210 .\" NS doc-section global string
211 .\" NS the manual section
216 .\" NS Dt user macro (not parsed, not callable)
217 .\" NS document title
220 .\" NS doc-document-title
224 .\" NS local variables:
225 .\" NS doc-volume-as-XXX
226 .\" NS doc-volume-ds-XXX
228 .\" NS width register `Dt' set above
230 .\" an alternative, more detailed scheme for naming the manual sections
232 .ds doc-volume-operating-system BSD
233 .nr doc-volume-operating-system-ateol 0
234 .ds doc-volume-ds-1 General Commands Manual
235 .ds doc-volume-ds-2 System Calls Manual
236 .ds doc-volume-ds-3 Library Functions Manual
237 .ds doc-volume-ds-4 Kernel Interfaces Manual
238 .ds doc-volume-ds-5 File Formats Manual
239 .ds doc-volume-ds-6 Games Manual
240 .ds doc-volume-ds-7 Miscellaneous Information Manual
241 .ds doc-volume-ds-8 System Manager's Manual
242 .ds doc-volume-ds-9 Kernel Developer's Manual
244 .ds doc-volume-ds-USD User's Supplementary Documents
245 .ds doc-volume-ds-PS1 Programmer's Supplementary Documents
246 .ds doc-volume-ds-AMD Ancestral Manual Documents
247 .ds doc-volume-ds-SMM System Manager's Manual
248 .ds doc-volume-ds-URM User's Reference Manual
249 .ds doc-volume-ds-PRM Programmer's Manual
250 .ds doc-volume-ds-KM Kernel Manual
251 .ds doc-volume-ds-IND Manual Master Index
252 .ds doc-volume-ds-LOCAL Local Manual
253 .ds doc-volume-ds-CON Contributed Software Manual
255 .als doc-volume-ds-MMI doc-volume-ds-IND
256 .als doc-volume-ds-LOC doc-volume-ds-LOCAL
258 .ds doc-volume-as-alpha alpha
259 .als doc-volume-as-Alpha doc-volume-as-alpha
260 .ds doc-volume-as-acorn26 acorn26
261 .ds doc-volume-as-acorn32 acorn32
262 .ds doc-volume-as-algor algor
263 .ds doc-volume-as-amd64 amd64
264 .ds doc-volume-as-amiga amiga
265 .ds doc-volume-as-arc arc
266 .ds doc-volume-as-arm26 arm26
267 .ds doc-volume-as-arm32 arm32
268 .ds doc-volume-as-atari atari
269 .ds doc-volume-as-bebox bebox
270 .ds doc-volume-as-cats cats
271 .ds doc-volume-as-cesfic cesfic
272 .ds doc-volume-as-cobalt cobalt
273 .ds doc-volume-as-dreamcast dreamcast
274 .ds doc-volume-as-evbarm evbarm
275 .ds doc-volume-as-evbmips evbmips
276 .ds doc-volume-as-evbppc evbppc
277 .ds doc-volume-as-evbsh3 evbsh3
278 .ds doc-volume-as-hp300 hp300
279 .ds doc-volume-as-hp700 hp700
280 .ds doc-volume-as-hpcarm hpcarm
281 .ds doc-volume-as-hpcmips hpcmips
282 .ds doc-volume-as-hpcsh hpcsh
283 .ds doc-volume-as-i386 i386
284 .ds doc-volume-as-luna68k luna68k
285 .ds doc-volume-as-m68k m68k
286 .ds doc-volume-as-mac68k mac68k
287 .ds doc-volume-as-macppc macppc
288 .ds doc-volume-as-mips mips
289 .ds doc-volume-as-mipsco mipsco
290 .ds doc-volume-as-mmeye mmeye
291 .ds doc-volume-as-mvme68k mvme68k
292 .ds doc-volume-as-mvmeppc mvmeppc
293 .ds doc-volume-as-netwinder netwinder
294 .ds doc-volume-as-news68k news68k
295 .ds doc-volume-as-newsmips newsmips
296 .ds doc-volume-as-next68k next68k
297 .ds doc-volume-as-ofppc ofppc
298 .ds doc-volume-as-pc532 pc532
299 .ds doc-volume-as-playstation2 playstation2
300 .ds doc-volume-as-pmax pmax
301 .ds doc-volume-as-pmppc pmppc
302 .ds doc-volume-as-powerpc powerpc
303 .ds doc-volume-as-prep prep
304 .ds doc-volume-as-sandpoint sandpoint
305 .ds doc-volume-as-sbmips sbmips
306 .ds doc-volume-as-sgimips sgimips
307 .ds doc-volume-as-sh3 sh3
308 .ds doc-volume-as-shark shark
309 .ds doc-volume-as-sparc sparc
310 .ds doc-volume-as-sparc64 sparc64
311 .ds doc-volume-as-sun2 sun2
312 .ds doc-volume-as-sun3 sun3
313 .ds doc-volume-as-tahoe tahoe
314 .ds doc-volume-as-vax vax
315 .ds doc-volume-as-x68k x68k
316 .ds doc-volume-as-x86_64 x86_64
319 . \" reset default arguments
320 . ds doc-document-title UNTITLED
321 . ds doc-volume LOCAL
322 . ds doc-section Null
325 . ds doc-document-title "\$1
330 . if ((\$2 >= 1) & (\$2 <= 9)) \{\
331 . ie \n[doc-volume-operating-system-ateol] \{\
332 . ds doc-volume "\*[doc-volume-ds-\$2] \*[doc-volume-operating-system]
334 . if d doc-volume-as-\$3 \
335 . as doc-volume "/\*[doc-volume-as-\$3]
338 . ds doc-volume "\*[doc-volume-operating-system]
340 . if d doc-volume-as-\$3 \
341 . as doc-volume "/\*[doc-volume-as-\$3]
343 . as doc-volume " \*[doc-volume-ds-\$2]
347 . ds doc-volume DRAFT
348 . el \{ .ie "\$2"draft" \
349 . ds doc-volume DRAFT
350 . el .if "\$2"paper" \
351 . ds doc-volume UNTITLED
354 . if d doc-volume-ds-\$3 \
355 . ds doc-volume "\*[doc-volume-ds-\$3]
359 . if "\*[doc-volume]"LOCAL" \
364 .\" NS doc-default-operating-system global string
365 .\" NS the exact (default) version of the operating system
367 .\" NS override this in `mdoc.local', if necessary
369 .ds doc-default-operating-system BSD
372 .\" NS doc-operating-system global string
373 .\" NS the exact version of the operating system
375 .ds doc-operating-system
378 .\" NS Os user macro (not parsed, not callable)
379 .\" NS operating system
382 .\" NS doc-operating-system
384 .\" NS local variables:
385 .\" NS doc-operating-system-XXX-XXX
387 .\" NS width register `Os' set above
389 .ds doc-operating-system-ATT-7 7th\~Edition
390 .als doc-operating-system-ATT-7th doc-operating-system-ATT-7
391 .ds doc-operating-system-ATT-3 System\~III
392 .als doc-operating-system-ATT-III doc-operating-system-ATT-3
393 .ds doc-operating-system-ATT-V System\~V
394 .ds doc-operating-system-ATT-V.2 System\~V Release\~2
395 .ds doc-operating-system-ATT-V.3 System\~V Release\~3
396 .ds doc-operating-system-ATT-V.4 System\~V Release\~4
398 .ds doc-operating-system-BSD-3 3rd\~Berkeley Distribution
399 .ds doc-operating-system-BSD-4 4th\~Berkeley Distribution
400 .ds doc-operating-system-BSD-4.1 4.1\~Berkeley Distribution
401 .ds doc-operating-system-BSD-4.2 4.2\~Berkeley Distribution
402 .ds doc-operating-system-BSD-4.3 4.3\~Berkeley Distribution
403 .ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
404 .ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
405 .als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
406 .als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
407 .ds doc-operating-system-BSD-4.4 4.4BSD
409 .ds doc-operating-system-NetBSD-0.8 0.8
410 .ds doc-operating-system-NetBSD-0.8a 0.8A
411 .ds doc-operating-system-NetBSD-0.9 0.9
412 .ds doc-operating-system-NetBSD-0.9a 0.9A
413 .ds doc-operating-system-NetBSD-1.0 1.0
414 .ds doc-operating-system-NetBSD-1.0a 1.0A
415 .ds doc-operating-system-NetBSD-1.1 1.1
416 .ds doc-operating-system-NetBSD-1.2 1.2
417 .ds doc-operating-system-NetBSD-1.2a 1.2A
418 .ds doc-operating-system-NetBSD-1.2b 1.2B
419 .ds doc-operating-system-NetBSD-1.2c 1.2C
420 .ds doc-operating-system-NetBSD-1.2d 1.2D
421 .ds doc-operating-system-NetBSD-1.2e 1.2E
422 .ds doc-operating-system-NetBSD-1.3 1.3
423 .ds doc-operating-system-NetBSD-1.3a 1.3A
424 .ds doc-operating-system-NetBSD-1.4 1.4
425 .ds doc-operating-system-NetBSD-1.4.1 1.4.1
426 .ds doc-operating-system-NetBSD-1.4.2 1.4.2
427 .ds doc-operating-system-NetBSD-1.4.3 1.4.3
428 .ds doc-operating-system-NetBSD-1.5 1.5
429 .ds doc-operating-system-NetBSD-1.5.1 1.5.1
430 .ds doc-operating-system-NetBSD-1.5.2 1.5.2
431 .ds doc-operating-system-NetBSD-1.5.3 1.5.3
432 .ds doc-operating-system-NetBSD-1.6 1.6
433 .ds doc-operating-system-NetBSD-1.6.1 1.6.1
434 .ds doc-operating-system-NetBSD-1.6.2 1.6.2
435 .ds doc-operating-system-NetBSD-2.0 2.0
436 .ds doc-operating-system-NetBSD-2.0.1 2.0.1
437 .ds doc-operating-system-NetBSD-2.0.2 2.0.2
438 .ds doc-operating-system-NetBSD-2.1 2.1
440 .ds doc-operating-system-FreeBSD-1.0 1.0
441 .ds doc-operating-system-FreeBSD-1.1 1.1
442 .ds doc-operating-system-FreeBSD-1.1.5 1.1.5
443 .ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
444 .ds doc-operating-system-FreeBSD-2.0 2.0
445 .ds doc-operating-system-FreeBSD-2.0.5 2.0.5
446 .ds doc-operating-system-FreeBSD-2.1 2.1
447 .ds doc-operating-system-FreeBSD-2.1.5 2.1.5
448 .ds doc-operating-system-FreeBSD-2.1.6 2.1.6
449 .ds doc-operating-system-FreeBSD-2.1.7 2.1.7
450 .ds doc-operating-system-FreeBSD-2.2 2.2
451 .ds doc-operating-system-FreeBSD-2.2.1 2.2.1
452 .ds doc-operating-system-FreeBSD-2.2.2 2.2.2
453 .ds doc-operating-system-FreeBSD-2.2.5 2.2.5
454 .ds doc-operating-system-FreeBSD-2.2.6 2.2.6
455 .ds doc-operating-system-FreeBSD-2.2.7 2.2.7
456 .ds doc-operating-system-FreeBSD-2.2.8 2.2.8
457 .ds doc-operating-system-FreeBSD-3.0 3.0
458 .ds doc-operating-system-FreeBSD-3.1 3.1
459 .ds doc-operating-system-FreeBSD-3.2 3.2
460 .ds doc-operating-system-FreeBSD-3.3 3.3
461 .ds doc-operating-system-FreeBSD-3.4 3.4
462 .ds doc-operating-system-FreeBSD-3.5 3.5
463 .ds doc-operating-system-FreeBSD-4.0 4.0
464 .ds doc-operating-system-FreeBSD-4.1 4.1
465 .ds doc-operating-system-FreeBSD-4.1.1 4.1.1
466 .ds doc-operating-system-FreeBSD-4.2 4.2
467 .ds doc-operating-system-FreeBSD-4.3 4.3
468 .ds doc-operating-system-FreeBSD-4.4 4.4
469 .ds doc-operating-system-FreeBSD-4.5 4.5
470 .ds doc-operating-system-FreeBSD-4.6 4.6
471 .ds doc-operating-system-FreeBSD-4.6.2 4.6.2
472 .ds doc-operating-system-FreeBSD-4.7 4.7
473 .ds doc-operating-system-FreeBSD-4.8 4.8
474 .ds doc-operating-system-FreeBSD-4.9 4.9
475 .ds doc-operating-system-FreeBSD-4.10 4.10
476 .ds doc-operating-system-FreeBSD-5.0 5.0
477 .ds doc-operating-system-FreeBSD-5.1 5.1
478 .ds doc-operating-system-FreeBSD-5.2 5.2
479 .ds doc-operating-system-FreeBSD-5.2.1 5.2.1
480 .ds doc-operating-system-FreeBSD-5.3 5.3
484 . ds doc-operating-system "\*[doc-default-operating-system]
485 . el \{ .ie "\$1"ATT" \{\
486 . ds doc-operating-system AT&T
488 . ie d doc-operating-system-ATT-\$2 \
489 . as doc-operating-system " \*[doc-operating-system-ATT-\$2]
491 . as doc-operating-system " UNIX
493 . el \{ .ie "\$1"BSD" \{\
495 . ie d doc-operating-system-BSD-\$2 \
496 . ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
498 . tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
500 . el \{ .ie "\$1"FreeBSD" \{\
501 . ds doc-operating-system FreeBSD
503 . ie d doc-operating-system-FreeBSD-\$2 \
504 . as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
506 . tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
508 . el \{ .ie "\$1"NetBSD" \{\
509 . ds doc-operating-system NetBSD
511 . ie d doc-operating-system-NetBSD-\$2 \
512 . as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
514 . tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
517 . ds doc-operating-system \$1
519 . as doc-operating-system " \$2
524 .\" NS doc-date-string global string
525 .\" NS the manual page date as set by `Dd'
530 .\" NS Dd user macro (not parsed, not callable)
531 .\" NS set document date
534 .\" NS doc-date-string
536 .\" NS local variables:
539 .\" NS width register `Dd' set above
541 .ds doc-date-1 January
542 .ds doc-date-2 February
548 .ds doc-date-8 August
549 .ds doc-date-9 September
550 .ds doc-date-10 October
551 .ds doc-date-11 November
552 .ds doc-date-12 December
557 . ds doc-date-string \$1\~\$2 \$3
559 . ds doc-date-string "\*[doc-date-\n[mo]]
560 . as doc-date-string \~\n[dy], \n[year]
564 . ds doc-date-string Epoch
568 .\" NS doc-hyphen-flags global register
569 .\" NS the parameter for the `.hy' request
571 .\" NS override this in `mdoc.local', if necessary.
573 .nr doc-hyphen-flags 12
576 .\" NS doc-header macro
577 .\" NS print page header
579 .\" NS local variables:
585 . doc-setup-page-layout
587 . sp \n[doc-header-space]u
588 . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\f[]'
589 . nr doc-reg-dh1 \w'\*[doc-caption-font2]\*[doc-volume]\f[]'
590 . if (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
591 . while (\n[doc-reg-dh] + \n[doc-reg-dh1] + \n[doc-reg-dh] >= \n[.lt]) \{\
592 . substring doc-header-string 0 -2
593 . nr doc-reg-dh \w'\*[doc-caption-font]\*[doc-header-string]\|.\|.\|.\f[]'
595 . as doc-header-string "\|.\|.\|.
597 . 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
599 . sp \n[doc-header-space]u
607 .\" NS doc-footer macro
608 .\" NS print page footer
614 . ev doc-caption-enviroment
615 . doc-setup-page-layout
616 . sp \n[doc-footer-space]u
619 . tl
\a%
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a
621 . tl
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a%
\a
624 . tl
\a\*[doc-caption-font]\*[doc-operating-system]\f[]
\a\*[doc-caption-font2]\*[doc-date-string]\f[]
\a%
\a
631 .\" NS doc-check-depth macro
632 .\" NS check paired macros
635 . if \n[doc-list-depth] \{\
636 . tm mdoc warning: A .Bl directive has no matching .El (#\n[.c])
637 . nr doc-list-depth 0
639 . if \n[doc-display-depth] \{\
640 . tm mdoc warning: A .Bd directive has no matching .Ed (#\n[.c])
641 . nr doc-display-depth 0
643 . if \n[doc-fontmode-depth] \{\
644 . tm mdoc warning: A .Bf directive has no matching .Ef (#\n[.c])
645 . nr doc-fontmode-depth 0
650 .\" NS doc-end-macro macro
654 . \" We may still have a partial line in the environment. If this is the
655 . \" case, and we happen to be on the last line of the page, the `.fl'
656 . \" request will cause the page to be ejected and troff will immediately
657 . \" exit. If we are in nroff mode, this would be unfortunate, since we
658 . \" would never get a chance to output the footer. So we fudge the page
659 . \" length to make sure that the last page is never ejected until we want
670 . 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
671 . \" suppress empty lines after the footer
677 .\" NS doc-paragraph macro
678 .\" NS insert a paragraph
681 . sp \n[doc-paragraph-space]u
688 .\" NS Pp user macro (not parsed, not callable)
691 .\" NS width register `Pp' set above
693 .als Pp doc-paragraph
696 .\" NS Lp user macro (not parsed, not callable)
699 .\" NS width register `Lp' set above
701 .als Lp doc-paragraph
705 . tm Not a \-mdoc command: .LP (#\n[.c])
710 . tm Not a \-mdoc command: .PP (#\n[.c])
715 . tm Not a \-mdoc command: .pp (#\n[.c])
720 . tm Not a \-mdoc command: .SH (#\n[.c])
724 .\" NS Nd user macro (not parsed, not callable)
725 .\" NS print name description
727 .\" NS width register `Nd' set above
734 .\" NS doc-in-synopsis-section global register (bool)
735 .\" NS whether we are in the `synopsis' section
737 .nr doc-in-synopsis-section 0
740 .\" NS doc-in-library-section global register (bool)
741 .\" NS whether we are in the `library' section
743 .nr doc-in-library-section 0
746 .\" NS doc-in-see-also-section global register (bool)
747 .\" NS whether we are in the `see also' section
749 .nr doc-in-see-also-section 0
752 .\" NS doc-in-files-section global register (bool)
753 .\" NS whether we are in the `files' section
755 .nr doc-in-files-section 0
758 .\" NS doc-in-authors-section global register (bool)
759 .\" NS whether we are in the `authors' section
761 .nr doc-in-authors-section 0
764 .\" NS doc-first-parameter macro
765 .\" NS return first parameter
767 .\" NS local variables:
770 .de doc-first-parameter
771 . ds doc-str-dfp "\$1
775 .\" NS Sh user macro (not callable)
776 .\" NS section headers
779 .\" NS doc-func-args-processed
780 .\" NS doc-func-count
781 .\" NS doc-in-authors-section
782 .\" NS doc-in-files-section
783 .\" NS doc-in-library-section
784 .\" NS doc-in-see-also-section
785 .\" NS doc-in-synopsis-section
786 .\" NS doc-indent-synopsis
787 .\" NS doc-indent-synopsis-active
789 .\" NS doc-num-func-args
791 .\" NS local variables:
794 .\" NS doc-section-XXX
796 .\" NS width register `Sh' set in doc-common
798 .ds doc-section-name NAME
799 .ds doc-section-synopsis SYNOPSIS
800 .ds doc-section-library LIBRARY
801 .ds doc-section-description DESCRIPTION
802 .ds doc-section-see-also SEE
803 .ds doc-section-files FILES
804 .ds doc-section-authors AUTHORS
807 . ie \n[doc-arg-limit] \{\
808 . \" we only allow `Sh' within `Sh'; it will change the font back to
810 . ie "\*[doc-macro-name]"Sh" \{\
812 . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
813 . nr doc-curr-font \n[.f]
814 . nr doc-curr-size \n[.ps]
815 . nop \*[doc-Sh-font]\c
816 . doc-print-recursive
819 . tm Usage: .Sh section_name ... (#\n[.c])
823 . tm Usage: .Sh not callable by other macros (#\n[.c])
828 . tm Usage: .Sh section_name ... (#\n[.c])
832 . ds doc-macro-name Sh
838 . \" this resolves e.g. `.Sh "SEE ALSO"'
839 . doc-first-parameter \$*
841 . ie "\*[doc-str-dfp]"\*[doc-section-name]" \{\
846 . nr doc-in-synopsis-section 0
847 . nr doc-in-library-section 0
848 . nr doc-in-see-also-section 0
849 . nr doc-in-files-section 0
850 . nr doc-in-authors-section 0
852 . ie "\*[doc-str-dfp]"\*[doc-section-synopsis]" \{\
855 . nr doc-in-synopsis-section 1
856 . nr doc-indent-synopsis 0
857 . nr doc-indent-synopsis-active 0
859 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-library]" \{\
860 . nr doc-in-library-section 1
862 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\
864 . nr doc-func-count 0
865 . nr doc-func-args-processed 0
866 . nr doc-num-func-args 0
868 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-see-also]" \{\
871 . nr doc-in-see-also-section 1
873 . el \{ .ie "\*[doc-str-dfp]"\*[doc-section-files]" \
874 . nr doc-in-files-section 1
875 . el .if "\*[doc-str-dfp]"\*[doc-section-authors]" \
876 . nr doc-in-authors-section 1
880 . nr doc-have-author 0
883 . doc-setup-page-layout
892 . nr doc-reg-Sh \n[.ss]
893 . nr doc-reg-Sh1 \n[.sss]
894 . ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
898 . nr doc-curr-font \n[.f]
899 . nr doc-curr-size \n[.ps]
900 . nop \*[doc-Sh-font]\c
901 . doc-print-recursive
904 . ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
906 . in +\n[doc-subheader-indent]u
914 .\" NS Ss user macro (not callable)
917 .\" NS local variable:
921 .\" NS width register `Ss' set above
924 . ie \n[doc-arg-limit] \{\
925 . \" we only allow `Ss' within `Ss'; it will change the font back to
927 . ie "\*[doc-macro-name]"Ss" \{\
929 . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
930 . nr doc-curr-font \n[.f]
931 . nr doc-curr-size \n[.ps]
932 . nop \*[doc-Sh-font]\c
933 . doc-print-recursive
936 . tm Usage: .Ss subsection_name ... (#\n[.c])
940 . tm Usage: .Ss not callable by other macros (#\n[.c])
945 . tm Usage: .Ss subsection_name ... (#\n[.c])
949 . ds doc-macro-name Ss
957 . nr doc-reg-Ss \n[.ss]
958 . nr doc-reg-Ss1 \n[.sss]
959 . ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
962 . nr doc-curr-font \n[.f]
963 . nr doc-curr-size \n[.ps]
964 . nop \*[doc-Sh-font]\c
965 . doc-print-recursive
967 . ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
980 .\" NS Rd macro (not parsed, not callable)
981 .\" NS print global register dump to stderr
983 .\" NS local variables:
987 . tm MDOC GLOBAL REGISTER DUMP
988 . tm doc-macro-name == `\*[doc-macro-name]'
989 . tm doc-arg-limit == \n[doc-arg-limit]
990 . tm doc-num-args == \n[doc-num-args]
991 . tm doc-arg-ptr == \n[doc-arg-ptr]
994 . while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
995 . tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
996 . tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
997 . tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
1001 . tm doc-curr-font == \n[doc-curr-font]
1002 . tm doc-curr-size == \n[doc-curr-size]
1003 . tm doc-indent-synopsis == \n[doc-indent-synopsis]
1004 . tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
1005 . tm doc-have-decl == \n[doc-have-decl]
1006 . tm doc-have-var == \n[doc-have-var]
1007 . tm doc-command-name == `\*[doc-command-name]'
1008 . tm doc-quote-left == `\*[doc-quote-left]'
1009 . tm doc-quote-right == `\*[doc-quote-right]'
1010 . tm doc-nesting-level == \n[doc-nesting-level]
1011 . tm doc-in-list == \n[doc-in-list]
1012 . tm doc-space == `\*[doc-space]'
1013 . tm doc-saved-space == `\*[doc-saved-space]'
1014 . tm doc-space-mode == \n[doc-space-mode]
1015 . tm doc-have-space == \n[doc-have-space]
1016 . tm doc-have-slot == \n[doc-have-slot]
1017 . tm doc-keep-type == \n[doc-keep-type]
1018 . tm doc-display-depth == \n[doc-display-depth]
1019 . tm doc-is-compact == \n[doc-is-compact]
1022 . while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
1023 . tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
1024 . tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
1025 . tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
1026 . tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
1027 . tm doc-display-ft-stack\n[doc-reg-Rd] == \n[doc-display-ft-stack\n[doc-reg-Rd]]
1028 . tm doc-display-ps-stack\n[doc-reg-Rd] == \n[doc-display-ps-stack\n[doc-reg-Rd]]
1032 . tm doc-fontmode-depth == \n[doc-fontmode-depth]
1035 . while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
1036 . tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
1037 . tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
1041 . tm doc-list-depth == \n[doc-list-depth]
1044 . while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
1045 . tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
1046 . tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
1047 . tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
1048 . tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
1049 . tm doc-tag-prefix-stack\n[doc-reg-Rd] == `\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
1050 . tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
1051 . tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
1052 . tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
1056 . tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
1057 . tm doc-curr-type == \n[doc-curr-type]
1058 . tm doc-curr-arg == `\*[doc-curr-arg]'
1059 . tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
1060 . tm doc-num-columns == \n[doc-num-columns]
1061 . tm doc-column-indent-width == \n[doc-column-indent-width]
1062 . tm doc-is-func == \n[doc-is-func]
1063 . tm doc-have-old-func == \n[doc-have-old-func]
1064 . tm doc-func-arg-count == \n[doc-func-arg-count]
1065 . tm doc-func-arg == `\*[doc-func-arg]'
1066 . tm doc-num-func-args == \n[doc-num-func-args]
1067 . tm doc-func-args-processed == \n[doc-func-args-processed]
1068 . tm doc-have-func == \n[doc-have-func]
1069 . tm doc-is-reference == \n[doc-is-reference]
1070 . tm doc-reference-count == \n[doc-reference-count]
1071 . tm doc-author-count == \n[doc-author-count]
1074 . while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
1075 . tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
1079 . tm doc-book-count == \n[doc-book-count]
1080 . tm doc-book-name == `\*[doc-book-name]'
1081 . tm doc-date-count == \n[doc-date-count]
1082 . tm doc-date == `\*[doc-date]'
1083 . tm doc-publisher-count == \n[doc-publisher-count]
1084 . tm doc-publisher-name == `\*[doc-publisher-name]'
1085 . tm doc-journal-count == \n[doc-journal-count]
1086 . tm doc-journal-name == `\*[doc-journal-name]'
1087 . tm doc-issue-count == \n[doc-issue-count]
1088 . tm doc-issue-name == `\*[doc-issue-name]'
1089 . tm doc-optional-count == \n[doc-optional-count]
1090 . tm doc-optional-string == `\*[doc-optional-string]'
1091 . tm doc-page-number-count == \n[doc-page-number-count]
1092 . tm doc-page-number-string == `\*[doc-page-number-string]'
1093 . tm doc-corporate-count == \n[doc-corporate-count]
1094 . tm doc-corporate-name == `\*[doc-corporate-name]'
1095 . tm doc-report-count == \n[doc-report-count]
1096 . tm doc-report-name == `\*[doc-report-name]'
1097 . tm doc-reference-title-count == \n[doc-reference-title-count]
1098 . tm doc-reference-title-name == `\*[doc-reference-title-name]'
1099 . tm doc-reference-title-name-for-book == `\*[doc-reference-title-name-for-book]'
1100 . tm doc-url-count == \n[doc-url-count]
1101 . tm doc-url-name == `\*[doc-url-name]'
1102 . tm doc-volume-count == \n[doc-volume-count]
1103 . tm doc-volume-name == `\*[doc-volume-name]'
1104 . tm doc-have-author == \n[doc-have-author]
1106 . tm doc-document-title == `\*[doc-document-title]'
1107 . tm doc-volume == `\*[doc-volume]'
1108 . tm doc-section == `\*[doc-section]'
1109 . tm doc-operating-system == `\*[doc-operating-system]'
1110 . tm doc-date-string == `\*[doc-date-string]'
1111 . tm doc-header-space == \n[doc-header-space]
1112 . tm doc-footer-space == \n[doc-footer-space]
1113 . tm doc-display-vertical == \n[doc-display-vertical]
1114 . tm doc-header-string == `\*[doc-header-string]'
1115 . tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
1116 . tm doc-in-library-section == \n[doc-in-library-section]
1117 . tm doc-in-see-also-section == \n[doc-in-see-also-section]
1118 . tm doc-in-files-section == \n[doc-in-files-section]
1119 . tm doc-in-authors-section == \n[doc-in-authors-section]
1121 . tm END OF GLOBAL REGISTER DUMP