Deleted Added
sdiff udiff text old ( 75337 ) new ( 75589 )
full compact
1.\" Copyright (c) 1991, 1993
2.\" The Regents of the University of California. 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 8.1 (Berkeley) 06/08/93
33.\" $FreeBSD: head/contrib/groff/tmac/doc-common 75589 2001-04-17 12:28:00Z ru $
34.\"
35.\" %beginstrip%
36.
37.
38.\" Macro Identifiers. For each user macro a corresponding register with
39.\" the same name must exist. Its value must not be zero.
40.
41.nr %A 1
42.nr %B 1
43.nr %D 1
44.nr %J 1
45.nr %N 1
46.nr %O 1
47.nr %P 1
48.nr %Q 1
49.nr %R 1
50.nr %T 1
51.nr %V 1
52.nr Ac 3
53.nr Ad 12n
54.nr An 12n
55.nr Ao 12n
56.nr Ap 2
57.nr Aq 12n
58.nr Ar 12n
59.nr At 1
60.nr Bc 3
61.nr Bf 8n\" ?
62.nr Bk 8n\" ?
63.nr Bl 1
64.nr Bo 12n
65.nr Bq 12n
66.nr Brc 3
67.nr Bro 12n
68.nr Brq 12n
69.nr Bsx 1
70.nr Bt 8n\" ?
71.nr Bx 1
72.nr Cd 12n
73.nr Cm 10n
74.nr D1 8n\" ?
75.nr Dc 3
76.nr Dl 8n\" ?
77.nr Dt 8n\" ?
78.nr Do 12n
79.nr Dq 12n
80.nr Ds 6n\" many manpages still use this as a -width value
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 17n
91.nr Es 12n
92.nr Ev 15n
93.nr Fa 12n
94.nr Fc 3
95.nr Fd 12n\" ?
96.nr Fl 10n
97.nr Fn 16n
98.nr Fo 16n
99.nr Fr 12n\" ?
100.nr Ft 8n\" ?
101.nr Fx 1
102.nr Ic 10n
103.nr In 12n\" ?
104.nr It 8n\" ?
105.nr Lb 11n
106.nr Li 16n
107.nr Lk 6n\" ?
108.nr Lp 8n\" ?
109.nr Me 6n
110.nr Ms 6n
111.nr Mt 6n\" ?
112.nr Nd 8n\" ?
113.nr Nm 10n
114.nr No 12n
115.nr Ns 2
116.nr Nx 1
117.nr Oc 3
118.nr Oo 10n
119.nr Op 14n
120.nr Os 6n\" ?
121.nr Ox 1
122.nr Pa 32n
123.nr Pc 3
124.nr Pf 12n
125.nr Po 12n
126.nr Pp 8n\" ?
127.nr Pq 12n
128.nr Qc 3
129.nr Ql 16n
130.nr Qo 12n
131.nr Qq 12n
132.nr Rv 1
133.nr Sc 3
134.nr Sh 8n
135.nr Sm 8n\" ?
136.nr So 12n
137.nr Sq 12n
138.nr Ss 8n
139.nr St 8n\" ?
140.nr Sx 16n
141.nr Sy 6n
142.nr Ta 2
143.nr Tn 10n
144.nr Ud 8n\" ?
145.nr Ux 1
146.nr Va 12n
147.nr Vt 8n\" ?
148.nr Xc 3
149.nr Xo 1
150.nr Xr 10n
151.
152.
153.\" requests which must be processed after the closing delimiter of `Op'
154.\" and friends
155.ds doc-after-Ao
156.ds doc-after-Bo
157.ds doc-after-Bro
158.ds doc-after-Do
159.ds doc-after-Eo
160.ds doc-after-Fo
161.ds doc-after-Ns
162.ds doc-after-Oo
163.ds doc-after-Po
164.ds doc-after-Qo
165.ds doc-after-So
166.ds doc-after-Xo
167.
168.
169.nr doc-display-indent 6n
170.
171.
172.\" space strings
173.
174.ds doc-soft-space " \"
175.ds doc-hard-space \~
176.ds doc-tab \t
177.
178.
179.eo
180.
181.
182.\" punctuation values (suffix=3, prefix = 4)
183.
184.nr doc-punct. 3
185.nr doc-punct, 3
186.nr doc-punct: 3
187.nr doc-punct; 3
188.nr doc-punct( 4
189.nr doc-punct) 3
190.nr doc-punct[ 4
191.nr doc-punct] 3
192.nr doc-punct? 3
193.nr doc-punct! 3
194.
195.
196.\" header assembly macros
197.
198.\" NS doc-document-title global string
199.\" NS the title of the manual page
200.
201.ds doc-document-title UNTITLED
202.
203.
204.\" NS doc-volume global string
205.\" NS the volume where the manual page belongs to
206.
207.ds doc-volume LOCAL
208.
209.
210.\" NS doc-section global string
211.\" NS the manual section
212.
213.ds doc-section Null
214.
215.
216.\" NS Dt user macro (not parsed, not callable)
217.\" NS document title
218.\" NS
219.\" NS modifies:
220.\" NS doc-document-title
221.\" NS doc-section
222.\" NS doc-volume
223.\" NS
224.\" NS local variables:
225.\" NS doc-volume-as-XXX
226.\" NS doc-volume-ds-XXX
227.\" NS
228.\" NS width register `Dt' set above
229.
230.\" an alternative, more detailed scheme for naming the manual sections
231.\"
232.ds doc-volume-ds-1 System General Commands Manual
233.ds doc-volume-ds-2 System Calls Manual
234.ds doc-volume-ds-3 System Library Functions Manual
235.ds doc-volume-ds-4 System Kernel Interfaces Manual
236.ds doc-volume-ds-5 System File Formats Manual
237.ds doc-volume-ds-6 System Games Manual
238.ds doc-volume-ds-7 System Miscellaneous Information Manual
239.ds doc-volume-ds-8 System Manager's Manual
240.ds doc-volume-ds-9 System Kernel Developer's Manual
241.
242.ds doc-volume-ds-USD System User's Supplementary Documents
243.ds doc-volume-ds-PS1 System Programmer's Supplementary Documents
244.ds doc-volume-ds-AMD System Ancestral Manual Documents
245.ds doc-volume-ds-SMM System Manager's Manual
246.ds doc-volume-ds-URM System Reference Manual
247.ds doc-volume-ds-PRM System Programmer's Manual
248.ds doc-volume-ds-KM System Kernel Manual
249.ds doc-volume-ds-IND System Manual Master Index
250.ds doc-volume-ds-LOCAL System Local Manual
251.ds doc-volume-ds-CON System Contributed Software Manual
252.
253.als doc-volume-ds-MMI doc-volume-ds-IND
254.als doc-volume-ds-LOC doc-volume-ds-LOCAL
255.
256.ds doc-volume-as-alpha (Alpha Architecture)
257.als doc-volume-as-Alpha doc-volume-as-alpha
258.ds doc-volume-as-amiga (Amiga Architecture)
259.ds doc-volume-as-arc (Arc Architecture)
260.ds doc-volume-as-arm26 (ARM26 Architecture)
261.ds doc-volume-as-arm32 (ARM32 Architecture)
262.ds doc-volume-as-atari (Atari Architecture)
263.ds doc-volume-as-bebox (BEbox Architecture)
264.ds doc-volume-as-cobalt (Cobalt Architecture)
265.ds doc-volume-as-evbsh3 (Evbsh3 Architecture)
266.ds doc-volume-as-hp300 (HP300 Architecture)
267.ds doc-volume-as-hpcmips (HPcmips Architecture)
268.ds doc-volume-as-i386 (i386 Architecture)
269.ds doc-volume-as-luna68k (luna68k Architecture)
270.ds doc-volume-as-m68k (m68k Architecture)
271.ds doc-volume-as-mac68k (mac68k Architecture)
272.ds doc-volume-as-macppc (macppc Architecture)
273.ds doc-volume-as-mips (MIPS Architecture)
274.ds doc-volume-as-mmeye (mmeye Architecture)
275.ds doc-volume-as-mvme68k (mvme68k Architecture)
276.ds doc-volume-as-news68k (news68k Architecture)
277.ds doc-volume-as-newsmips (newsmips Architecture)
278.ds doc-volume-as-next68k (next68k Architecture)
279.ds doc-volume-as-ofppc (ofppc Architecture)
280.ds doc-volume-as-pc532 (pc532 Architecture)
281.ds doc-volume-as-pmax (pmax Architecture)
282.ds doc-volume-as-powerpc (powerpc Architecture)
283.ds doc-volume-as-prep (prep Architecture)
284.ds doc-volume-as-sgimips (sgimips Architecture)
285.ds doc-volume-as-sh3 (sh3 Architecture)
286.ds doc-volume-as-sparc (SPARC Architecture)
287.ds doc-volume-as-sparc64 (sparc64 Architecture)
288.ds doc-volume-as-sun3 (sun3 Architecture)
289.ds doc-volume-as-tahoe (Tahoe Architecture)
290.ds doc-volume-as-vax (VAX Architecture)
291.ds doc-volume-as-x68k (x68k Architecture)
292.
293.de Dt
294. \" reset default arguments
295. ds doc-document-title UNTITLED
296. ds doc-volume LOCAL
297. ds doc-section Null
298.
299. if !"\$1"" \
300. ds doc-document-title "\$1
301.
302. if !"\$2"" \{\
303. ds doc-section \$2
304. ie \B\$2 \{\
305. if ((\$2 >= 1) & (\$2 <= 9)) \{\
306. ds doc-volume "\*[doc-volume-ds-URM]
307. ie d doc-volume-ds-\$2 \
308. ds doc-volume "\*[doc-volume-ds-\$2]
309. el \{ .ie ((\$2 > 1) & (\$2 < 6)) \
310. ds doc-volume "\*[doc-volume-ds-PRM]
311. el \{ .ie (\$2 == 8) \
312. ds doc-volume "\*[doc-volume-ds-SMM]
313. el \{ .if (\$2 == 9) \
314. ds doc-volume "\*[doc-volume-ds-KM]
315. \}\}\}\}\}
316. el \{ .ie "\$2"unass" .ds doc-volume DRAFT
317. el \{ .ie "\$2"draft" .ds doc-volume DRAFT
318. el \{ .ie "\$2"paper" .ds doc-volume UNTITLED
319. el \
320. tm mdoc warning: .Dt: unknown section `\$2' (#\n[.c])
321. \}\}\}\}
322.
323. if \A\$3 \{\
324. if d doc-volume-ds-\$3 \
325. ds doc-volume "\*[doc-volume-ds-\$3]
326.
327. if d doc-volume-as-\$3 \
328. as doc-volume " \*[doc-volume-as-\$3]
329. \}
330.
331. if !"\$3"" \
332. if "\*[doc-volume]"LOCAL" \
333. ds doc-volume \$3
334..
335.
336.
337.\" NS doc-operating-system global string
338.\" NS the exact version of the operating system
339.\" NS
340.\" NS override this in `mdoc.local', if necessary
341.
342.ds doc-operating-system BSD
343.
344.
345.\" NS Os user macro (not parsed, not callable)
346.\" NS operating system
347.\" NS
348.\" NS modifies:
349.\" NS doc-operating-system
350.\" NS
351.\" NS local variables:
352.\" NS doc-operating-system-XXX-XXX
353.\" NS
354.\" NS width register `Os' set above
355.
356.ds doc-operating-system-ATT-7 7th\~Edition
357.als doc-operating-system-ATT-7th doc-operating-system-ATT-7
358.ds doc-operating-system-ATT-3 System\~III
359.als doc-operating-system-ATT-III doc-operating-system-ATT-3
360.ds doc-operating-system-ATT-V System\~V
361.ds doc-operating-system-ATT-V.2 System\~V Release\~2
362.ds doc-operating-system-ATT-V.3 System\~V Release\~3
363.ds doc-operating-system-ATT-V.4 System\~V Release\~4
364.
365.ds doc-operating-system-BSD-3 3rd\~Berkeley Distribution
366.ds doc-operating-system-BSD-4 4th\~Berkeley Distribution
367.ds doc-operating-system-BSD-4.1 4.1\~Berkeley Distribution
368.ds doc-operating-system-BSD-4.2 4.2\~Berkeley Distribution
369.ds doc-operating-system-BSD-4.3 4.3\~Berkeley Distribution
370.ds doc-operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
371.ds doc-operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
372.als doc-operating-system-BSD-4.3t doc-operating-system-BSD-4.3T
373.als doc-operating-system-BSD-4.3r doc-operating-system-BSD-4.3R
374.ds doc-operating-system-BSD-4.4 4.4BSD
375.
376.ds doc-operating-system-NetBSD-0.8 0.8
377.ds doc-operating-system-NetBSD-0.8a 0.8A
378.ds doc-operating-system-NetBSD-0.9 0.9
379.ds doc-operating-system-NetBSD-0.9a 0.9A
380.ds doc-operating-system-NetBSD-1.0 1.0
381.ds doc-operating-system-NetBSD-1.0a 1.0A
382.ds doc-operating-system-NetBSD-1.1 1.1
383.ds doc-operating-system-NetBSD-1.2 1.2
384.ds doc-operating-system-NetBSD-1.2a 1.2A
385.ds doc-operating-system-NetBSD-1.2b 1.2B
386.ds doc-operating-system-NetBSD-1.2c 1.2C
387.ds doc-operating-system-NetBSD-1.2d 1.2D
388.ds doc-operating-system-NetBSD-1.2e 1.2E
389.ds doc-operating-system-NetBSD-1.3 1.3
390.ds doc-operating-system-NetBSD-1.3a 1.3A
391.ds doc-operating-system-NetBSD-1.4 1.4
392.ds doc-operating-system-NetBSD-1.5 1.5
393.
394.ds doc-operating-system-FreeBSD-1.0 1.0
395.ds doc-operating-system-FreeBSD-1.1 1.1
396.ds doc-operating-system-FreeBSD-1.1.5 1.1.5
397.ds doc-operating-system-FreeBSD-1.1.5.1 1.1.5.1
398.ds doc-operating-system-FreeBSD-2.0 2.0
399.ds doc-operating-system-FreeBSD-2.0.5 2.0.5
400.ds doc-operating-system-FreeBSD-2.1 2.1
401.ds doc-operating-system-FreeBSD-2.1.5 2.1.5
402.ds doc-operating-system-FreeBSD-2.1.6 2.1.6
403.ds doc-operating-system-FreeBSD-2.1.7 2.1.7
404.ds doc-operating-system-FreeBSD-2.2 2.2
405.ds doc-operating-system-FreeBSD-2.2.1 2.2.1
406.ds doc-operating-system-FreeBSD-2.2.2 2.2.2
407.ds doc-operating-system-FreeBSD-2.2.5 2.2.5
408.ds doc-operating-system-FreeBSD-2.2.6 2.2.6
409.ds doc-operating-system-FreeBSD-2.2.7 2.2.7
410.ds doc-operating-system-FreeBSD-2.2.8 2.2.8
411.ds doc-operating-system-FreeBSD-3.0 3.0
412.ds doc-operating-system-FreeBSD-3.1 3.1
413.ds doc-operating-system-FreeBSD-3.2 3.2
414.ds doc-operating-system-FreeBSD-3.3 3.3
415.ds doc-operating-system-FreeBSD-3.4 3.4
416.ds doc-operating-system-FreeBSD-3.5 3.5
417.ds doc-operating-system-FreeBSD-4.0 4.0
418.ds doc-operating-system-FreeBSD-4.1 4.1
419.ds doc-operating-system-FreeBSD-4.1.1 4.1.1
420.ds doc-operating-system-FreeBSD-4.2 4.2
421.ds doc-operating-system-FreeBSD-4.3 4.3
422.ds doc-operating-system-FreeBSD-5.0 5.0
423.
424.de Os
425. if "\$1"" \
426. return
427.
428. ie "\$1"ATT" \{\
429. ds doc-operating-system AT&T
430. if \A\$2 \{\
431. ie d doc-operating-system-ATT-\$2 \
432. as doc-operating-system " \*[doc-operating-system-ATT-\$2]
433. el \
434. as doc-operating-system " UNIX
435. \}\}
436. el \{ .ie "\$1"BSD" \{\
437. if \A\$2 \{\
438. ie d doc-operating-system-BSD-\$2 \
439. ds doc-operating-system "\*[doc-operating-system-BSD-\$2]
440. el \
441. tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
442. \}\}
443. el \{ .ie "\$1"FreeBSD" \{\
444. ds doc-operating-system FreeBSD
445. if \A\$2 \{\
446. ie d doc-operating-system-FreeBSD-\$2 \
447. as doc-operating-system \~\*[doc-operating-system-FreeBSD-\$2]
448. el \
449. tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
450. \}\}
451. el \{ .ie "\$1"NetBSD" \{\
452. ds doc-operating-system NetBSD
453. if \A\$2 \{\
454. ie d doc-operating-system-NetBSD-\$2 \
455. as doc-operating-system \~\*[doc-operating-system-NetBSD-\$2]
456. el \
457. tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
458. \}\}
459. el \{\
460. ds doc-operating-system \$1
461. if !"\$2"" \
462. as doc-operating-system " \$2
463. \}\}\}\}
464..
465.
466.
467.\" NS doc-date-string global string
468.\" NS the manual page date as set by `Dd'
469.
470.ds doc-date-string
471.
472.
473.\" NS Dd user macro (not parsed, not callable)
474.\" NS set document date
475.\" NS
476.\" NS modifies:
477.\" NS doc-date-string
478.\" NS
479.\" NS local variables:
480.\" NS doc-date-XXX
481.\" NS
482.\" NS width register `Dd' set above
483.
484.ds doc-date-1 January
485.ds doc-date-2 February
486.ds doc-date-3 March
487.ds doc-date-4 April
488.ds doc-date-5 May
489.ds doc-date-6 June
490.ds doc-date-7 July
491.ds doc-date-8 August
492.ds doc-date-9 September
493.ds doc-date-10 October
494.ds doc-date-11 November
495.ds doc-date-12 December
496.
497.de Dd
498. \" XXX: why do we need gX?
499. if "\*[doc-date-string]"" \
500. nr gX 1
501.
502. ie \n[.$] \{\
503. ie (\n[.$] == 3) \
504. ds doc-date-string \$1\~\$2 \$3
505. el \{\
506. ds doc-date-string "\*[doc-date-\n[mo]]
507. as doc-date-string \~\n[dy], \n[year]
508. \}
509. \}
510. el \
511. ds doc-date-string Epoch
512..
513.
514.
515.\" NS doc-hyphen-flags global register
516.\" NS the parameter for the `.hy' request
517.\" NS
518.\" NS override this in `mdoc.local', if necessary.
519.
520.nr doc-hyphen-flags 12
521.
522.
523.\" NS doc-header macro
524.\" NS print page header
525.
526.de doc-header
527. ev doc-env-dh
528. doc-setup-page-layout
529. if !\n[cR] \
530' sp \n[doc-header-space]u
531. tl \*[doc-caption-font]\*[doc-header-string]\f[P]\*[doc-caption-font2]\*[doc-volume]\f[P]\*[doc-caption-font]\*[doc-header-string]\f[P]
532' sp \n[doc-header-space]u
533. ev
534..
535.
536.
537.\" NS doc-footer macro
538.\" NS print page footer
539.
540.de doc-footer
541. ie \n[cR] \
542' br
543. el \{\
544. ev doc-caption-enviroment
545. doc-setup-page-layout
546' sp \n[doc-footer-space]u
547. ie \n[D] \{\
548. ie o \
549. tl %\*[doc-caption-font2]\*[doc-date-string]\f[P]\*[doc-caption-font]\*[doc-operating-system]\f[P]
550. el \
551. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]%
552. \}
553. el \
554. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]%
555' bp
556. ev
557. \}
558..
559.
560.
561.\" NS doc-end-macro macro
562.\" NS finish output
563.
564.de doc-end-macro
565. \" We may still have a partial line in the environment. If this is the
566. \" case, and we happen to be on the last line of the page, the `.fl'
567. \" request will cause the page to be ejected and troff will immediately
568. \" exit. If we are in nroff mode, this would be unfortunate, since we
569. \" would never get a chance to output the footer. So we fudge the page
570. \" length to make sure that the last page is never ejected until we want
571. \" it to be.
572.
573. if \n[cR] \
574. pl +3v
575. fl
576.
577. if \n[doc-list-depth] \
578. tm mdoc warning: list open at EOF! A .Bl directive has no matching .El
579.
580. if \n[cR] \{\
581' sp
582. tl \*[doc-caption-font]\*[doc-operating-system]\f[P]\*[doc-caption-font2]\*[doc-date-string]\f[P]\*[doc-caption-font]\*[doc-operating-system]\f[P]
583. \" suppress empty lines after the footer
584. pl \n[nl]u
585. \}
586..
587.
588.
589.\" NS doc-paragraph macro
590.\" NS insert a paragraph
591.
592.de doc-paragraph
593. sp \n[doc-paragraph-space]u
594. if !\n[cR] \
595. ne 2
596. ns
597..
598.
599.
600.\" NS Pp user macro (not parsed, not callable)
601.\" NS new paragraph
602.\" NS
603.\" NS width register `Pp' set above
604.
605.als Pp doc-paragraph
606.
607.
608.\" NS Lp user macro (not parsed, not callable)
609.\" NS same as .Pp
610.\" NS
611.\" NS width register `Lp' set above
612.
613.als Lp doc-paragraph
614.
615.
616.de LP
617. tm Not a \-mdoc command: .LP (#\n[.c])
618..
619.
620.
621.de PP
622. tm Not a \-mdoc command: .PP (#\n[.c])
623..
624.
625.
626.de pp
627. tm Not a \-mdoc command: .pp (#\n[.c])
628..
629.
630.
631.de SH
632. tm Not a \-mdoc command: .SH (#\n[.c])
633..
634.
635.
636.\" NS Nd user macro (not parsed, not callable)
637.\" NS print name description
638.\" NS
639.\" NS width register `Nd' set above
640.
641.de Nd
642. nop \- \$*
643..
644.
645.
646.\" NS doc-in-synopsis-section global register (bool)
647.\" NS whether we are in the `synopsis' section
648.
649.nr doc-in-synopsis-section 0
650.
651.
652.\" NS doc-in-see-also-section global register (bool)
653.\" NS whether we are in the `see also' section
654.
655.nr doc-in-see-also-section 0
656.
657.
658.\" NS doc-in-files-section global register (bool)
659.\" NS whether we are in the `files' section
660.
661.nr doc-in-files-section 0
662.
663.
664.\" NS doc-in-authors-section global register (bool)
665.\" NS whether we are in the `authors' section
666.
667.nr doc-in-authors-section 0
668.
669.
670.\" NS doc-first-parameter macro
671.\" NS return first parameter
672.\" NS
673.\" NS local variables:
674.\" NS doc-str-dfp
675.
676.de doc-first-parameter
677. ds doc-str-dfp "\$1
678..
679.
680.
681.\" NS Sh user macro (not callable)
682.\" NS section headers
683.\" NS
684.\" NS modifies:
685.\" NS doc-func-args-processed
686.\" NS doc-func-count
687.\" NS doc-in-authors-section
688.\" NS doc-in-files-section
689.\" NS doc-in-see-also-section
690.\" NS doc-in-synopsis-section
691.\" NS doc-indent-synopsis
692.\" NS doc-indent-synopsis-active
693.\" NS doc-is-func
694.\" NS doc-num-func-args
695.\" NS
696.\" NS local variables:
697.\" NS doc-reg-Sh
698.\" NS doc-reg-Sh1
699.\" NS doc-section-XXX
700.\" NS
701.\" NS width register `Sh' set in doc-common
702.
703.ds doc-section-name NAME
704.ds doc-section-synopsis SYNOPSIS
705.ds doc-section-description DESCRIPTION
706.ds doc-section-see-also SEE
707.ds doc-section-files FILES
708.ds doc-section-authors AUTHORS
709.
710.de Sh
711. ie \n[doc-arg-limit] \{\
712. \" we only allow `Sh' within `Sh'; it will change the font back to
713. \" `doc-Sh-font'
714. ie "\*[doc-macro-name]"Sh" \{\
715. nr doc-arg-ptr +1
716. ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
717. nr doc-curr-font \n[.f]
718. nr doc-curr-size \n[.ps]
719. nop \*[doc-Sh-font]\c
720. doc-print-recursive
721. \}
722. el \{\
723. tm Usage: .Sh section_name ... (#\n[.c])
724. doc-reset-args
725. \}\}
726. el \{\
727. tm Usage: .Sh not callable by other macros (#\n[.c])
728. doc-reset-args
729. \}\}
730. el \{\
731. if !\n[.$] \{\
732. tm Usage: .Sh section_name ... (#\n[.c])
733. return
734. \}
735.
736. ds doc-macro-name Sh
737. doc-parse-args \$@
738.
739. if t \
740' ad
741.
742. \" this resolves e.g. `.Sh "SEE ALSO"'
743. doc-first-parameter \$*
744.
745. ie "\*[doc-str-dfp]"\*[doc-section-name]" \{\
746. doc-setup-header
747' in 0
748. \}
749. el \{\
750. nr doc-in-synopsis-section 0
751. nr doc-in-see-also-section 0
752. nr doc-in-files-section 0
753. nr doc-in-authors-section 0
754.
755. ie "\*[doc-str-dfp]"\*[doc-section-synopsis]" \{\
756. if t \
757. na
758. nr doc-in-synopsis-section 1
759. nr doc-indent-synopsis 0
760. nr doc-indent-synopsis-active 0
761. \}
762. el \{ .ie "\*[doc-str-dfp]"\*[doc-section-description]" \{\
763. nr doc-is-func 0
764. nr doc-func-count 0
765. nr doc-func-args-processed 0
766. nr doc-num-func-args 0
767. \}
768. el \{ .ie "\*[doc-str-dfp]"\*[doc-section-see-also]" \{\
769. if t \
770. na
771. nr doc-in-see-also-section 1
772. \}
773. el \{ .ie "\*[doc-str-dfp]"\*[doc-section-files]" \
774. nr doc-in-files-section 1
775. el .if "\*[doc-str-dfp]"\*[doc-section-authors]" \
776. nr doc-in-authors-section 1
777. \}\}\}
778.
779. in 0
780. nr doc-have-author 0
781. \}
782.
783. doc-setup-page-layout
784' sp
785. ns
786. ta T .5i
787. if !\n[cR] \
788. ne 3
789' fi
790.
791. if t \{\
792. nr doc-reg-Sh \n[.ss]
793. nr doc-reg-Sh1 \n[.sss]
794. ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
795. \}
796.
797. nr doc-arg-ptr +1
798. nr doc-curr-font \n[.f]
799. nr doc-curr-size \n[.ps]
800. nop \*[doc-Sh-font]\c
801. doc-print-recursive
802.
803. if t \
804. ss \n[doc-reg-Sh] \n[doc-reg-Sh1]
805.
806. in +\n[doc-subheader-indent]u
807. ns
808. \}
809..
810.
811.
812.\" NS Ss user macro (not callable)
813.\" NS subsection
814.\" NS
815.\" NS local variable:
816.\" NS doc-reg-Ss
817.\" NS doc-reg-Ss1
818.\" NS
819.\" NS width register `Ss' set above
820.
821.de Ss
822. ie \n[doc-arg-limit] \{\
823. \" we only allow `Ss' within `Ss'; it will change the font back to
824. \" `doc-Sh-font'
825. ie "\*[doc-macro-name]"Ss" \{\
826. nr doc-arg-ptr +1
827. ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
828. nr doc-curr-font \n[.f]
829. nr doc-curr-size \n[.ps]
830. nop \*[doc-Sh-font]\c
831. doc-print-recursive
832. \}
833. el \{\
834. tm Usage: .Ss subsection_name ... (#\n[.c])
835. doc-reset-args
836. \}\}
837. el \{\
838. tm Usage: .Ss not callable by other macros (#\n[.c])
839. doc-reset-args
840. \}\}
841. el \{\
842. if !\n[.$] \{\
843. tm Usage: .Ss subsection_name ... (#\n[.c])
844. return
845. \}
846.
847. ds doc-macro-name Ss
848. doc-parse-args \$@
849.
850. sp
851. if !\n[cR] \
852. ne 3
853. ti -.25i
854.
855. nr doc-reg-Ss \n[.ss]
856. nr doc-reg-Ss1 \n[.sss]
857. ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
858.
859. nr doc-arg-ptr +1
860. nr doc-curr-font \n[.f]
861. nr doc-curr-size \n[.ps]
862. nop \*[doc-Sh-font]\c
863. doc-print-recursive
864.
865. ss \n[doc-reg-Ss] \n[doc-reg-Ss1]
866.
867. ta T .5i
868. if !\n[cR] \
869. ne 2
870. br
871. \}
872..
873.
874.
875.\" NS Rd macro (not parsed, not callable)
876.\" NS print global register dump to stderr
877.\" NS
878.\" NS local variables:
879.\" NS doc-reg-Rd
880.
881.de Rd
882. tm MDOC GLOBAL REGISTER DUMP
883. tm doc-macro-name == `\*[doc-macro-name]'
884. tm doc-arg-limit == \n[doc-arg-limit]
885. tm doc-num-args == \n[doc-num-args]
886. tm doc-arg-ptr == \n[doc-arg-ptr]
887.
888. nr doc-reg-Rd 1
889. while (\n[doc-reg-Rd] <= \n[doc-arg-limit]) \{\
890. tm doc-arg\n[doc-reg-Rd] == `\*[doc-arg\n[doc-reg-Rd]]'
891. tm doc-type\n[doc-reg-Rd] == \n[doc-type\n[doc-reg-Rd]]
892. tm doc-space\n[doc-reg-Rd] == `\*[doc-space\n[doc-reg-Rd]]'
893. nr doc-reg-Rd +1
894. \}
895.
896. tm doc-curr-font == \n[doc-curr-font]
897. tm doc-curr-size == \n[doc-curr-size]
898. tm doc-indent-synopsis == \n[doc-indent-synopsis]
899. tm doc-indent-synopsis-active == \n[doc-indent-synopsis-active]
900. tm doc-have-decl == \n[doc-have-decl]
901. tm doc-have-var == \n[doc-have-var]
902. tm doc-command-name == `\*[doc-command-name]'
903. tm doc-quote-left == `\*[doc-quote-left]'
904. tm doc-quote-right == `\*[doc-quote-right]'
905. tm doc-nesting-level == \n[doc-nesting-level]
906. tm doc-in-list == \n[doc-in-list]
907. tm doc-space == `\*[doc-space]'
908. tm doc-saved-space == `\*[doc-saved-space]'
909. tm doc-space-mode == \n[doc-space-mode]
910. tm doc-have-space == \n[doc-have-space]
911. tm doc-have-slot == \n[doc-have-slot]
912. tm doc-keep-type == \n[doc-keep-type]
913. tm doc-display-depth == \n[doc-display-depth]
914. tm doc-is-compact == \n[doc-is-compact]
915.
916. nr doc-reg-Rd 0
917. while (\n[doc-reg-Rd] <= \n[doc-display-depth]) \{\
918. tm doc-display-type-stack\n[doc-reg-Rd] == `\*[doc-display-type-stack\n[doc-reg-Rd]]'
919. tm doc-display-indent-stack\n[doc-reg-Rd] == \n[doc-display-indent-stack\n[doc-reg-Rd]]
920. tm doc-display-ad-stack\n[doc-reg-Rd] == \n[doc-display-ad-stack\n[doc-reg-Rd]]
921. tm doc-display-fi-stack\n[doc-reg-Rd] == \n[doc-display-fi-stack\n[doc-reg-Rd]]
922. nr doc-reg-Rd +1
923. \}
924.
925. tm doc-fontmode-depth == \n[doc-fontmode-depth]
926.
927. nr doc-reg-Rd 1
928. while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\
929. tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]'
930. tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]'
931. nr doc-reg-Rd +1
932. \}
933.
934. tm doc-list-depth == \n[doc-list-depth]
935.
936. nr doc-reg-Rd 1
937. while (\n[doc-reg-Rd] <= \n[doc-list-depth]) \{\
938. tm doc-list-type-stack\n[doc-reg-Rd] == `\*[doc-list-type-stack\n[doc-reg-Rd]]'
939. tm doc-list-have-indent-stack\n[doc-reg-Rd] == \n[doc-list-have-indent-stack\n[doc-reg-Rd]]
940. tm doc-list-indent-stack\n[doc-reg-Rd] == \n[doc-list-indent-stack\n[doc-reg-Rd]]
941. tm doc-compact-list-stack\n[doc-reg-Rd] == \n[doc-compact-list-stack\n[doc-reg-Rd]]
942. tm doc-tag-prefix-stack\n[doc-reg-Rd] == `\*[doc-tag-prefix-stack\n[doc-reg-Rd]]'
943. tm doc-tag-width-stack\n[doc-reg-Rd] == `\*[doc-tag-width-stack\n[doc-reg-Rd]]'
944. tm doc-list-offset-stack\n[doc-reg-Rd] == \n[doc-list-offset-stack\n[doc-reg-Rd]]
945. tm doc-enum-list-count-stack\n[doc-reg-Rd] == \n[doc-enum-list-count-stack\n[doc-reg-Rd]]
946. nr doc-reg-Rd +1
947. \}
948.
949. tm doc-saved-Pa-font == `\*[doc-saved-Pa-font]'
950. tm doc-curr-type == \n[doc-curr-type]
951. tm doc-curr-arg == `\*[doc-curr-arg]'
952. tm doc-diag-list-input-line-count == \n[doc-diag-list-input-line-count]
953. tm doc-num-columns == \n[doc-num-columns]
954. tm doc-column-indent-width == \n[doc-column-indent-width]
955. tm doc-is-func == \n[doc-is-func]
956. tm doc-have-old-func == \n[doc-have-old-func]
957. tm doc-func-arg-count == \n[doc-func-arg-count]
958. tm doc-func-arg == `\*[doc-func-arg]'
959. tm doc-num-func-args == \n[doc-num-func-args]
960. tm doc-func-args-processed == \n[doc-func-args-processed]
961. tm doc-have-func == \n[doc-have-func]
962. tm doc-is-reference == \n[doc-is-reference]
963. tm doc-reference-count == \n[doc-reference-count]
964. tm doc-author-count == \n[doc-author-count]
965.
966. nr doc-reg-Rd 0
967. while (\n[doc-reg-Rd] <= \n[doc-author-count]) \{\
968. tm doc-author-name\n[doc-reg-Rd] == `\*[doc-author-name\n[doc-reg-Rd]]'
969. nr doc-reg-Rd +1
970. \}
971.
972. tm doc-book-count == \n[doc-book-count]
973. tm doc-book-name == `\*[doc-book-name]'
974. tm doc-date-count == \n[doc-date-count]
975. tm doc-date == `\*[doc-date]'
976. tm doc-publisher-count == \n[doc-publisher-count]
977. tm doc-publisher-name == `\*[doc-publisher-name]'
978. tm doc-journal-count == \n[doc-journal-count]
979. tm doc-journal-name == `\*[doc-journal-name]'
980. tm doc-issue-count == \n[doc-issue-count]
981. tm doc-issue-name == `\*[doc-issue-name]'
982. tm doc-optional-count == \n[doc-optional-count]
983. tm doc-optional-string == `\*[doc-optional-string]'
984. tm doc-page-number-count == \n[doc-page-number-count]
985. tm doc-page-number-string == `\*[doc-page-number-string]'
986. tm doc-corporate-count == \n[doc-corporate-count]
987. tm doc-corporate-name == `\*[doc-corporate-name]'
988. tm doc-report-count == \n[doc-report-count]
989. tm doc-report-name == `\*[doc-report-name]'
990. tm doc-reference-title-count == \n[doc-reference-title-count]
991. tm doc-reference-title-name == `\*[doc-reference-title-name]'
992. tm doc-reference-title-name-for-book == `\*[doc-reference-title-name-for-book]'
993. tm doc-volume-count == \n[doc-volume-count]
994. tm doc-volume-name == `\*[doc-volume-name]'
995. tm doc-have-author == \n[doc-have-author]
996.
997. tm doc-document-title == `\*[doc-document-title]'
998. tm doc-volume == `\*[doc-volume]'
999. tm doc-section == `\*[doc-section]'
1000. tm doc-operating-system == `\*[doc-operating-system]'
1001. tm doc-date-string == `\*[doc-date-string]'
1002. tm doc-header-space == \n[doc-header-space]
1003. tm doc-footer-space == \n[doc-footer-space]
1004. tm doc-display-vertical == \n[doc-display-vertical]
1005. tm doc-header-string == `\*[doc-header-string]'
1006. tm doc-in-synopsis-section == \n[doc-in-synopsis-section]
1007. tm doc-in-see-also-section == \n[doc-in-see-also-section]
1008. tm doc-in-files-section == \n[doc-in-files-section]
1009. tm doc-in-authors-section == \n[doc-in-authors-section]
1010.
1011. tm END OF GLOBAL REGISTER DUMP
1012..
1013.
1014.
1015.ec
1016.
1017.\" EOF