home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / groff / 1.18.1 / tmac / mdoc / doc-common next >
Encoding:
Text File  |  2009-03-18  |  19.4 KB  |  753 lines

  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. .\"
  34. .nr %A 1
  35. .nr %B 1
  36. .nr %D 1
  37. .nr %I 1
  38. .nr %J 1
  39. .nr %N 1
  40. .nr %O 1
  41. .nr %P 1
  42. .nr %Q 1
  43. .nr %R 1
  44. .nr %T 1
  45. .nr %V 1
  46. .nr Ac 3
  47. .nr Ad 12n
  48. .nr An 12n
  49. .nr Ao 12n
  50. .nr Ap 2
  51. .nr Aq 12n
  52. .nr Ar 12n
  53. .nr At 1
  54. .nr Bc 3
  55. .nr Bf 8n
  56. .nr Bk 8n
  57. .nr Bl 1
  58. .nr Bo 12n
  59. .nr Bq 12n
  60. .nr Brc 3
  61. .nr Bro 12n
  62. .nr Brq 12n
  63. .nr Bsx 1
  64. .nr Bt 8n
  65. .nr Bx 1
  66. .nr Cd 12n
  67. .nr Cm 10n
  68. .nr D1 8n
  69. .nr Dc 3
  70. .nr Dl 8n
  71. .nr Dt 8n
  72. .nr Do 12n
  73. .nr Dq 12n
  74. .nr Ds 6n
  75. .nr Dv 12n
  76. .nr Ec 3
  77. .nr Ef 8n
  78. .nr Ek 8n
  79. .nr El 1
  80. .nr Em 10n
  81. .nr En 12n
  82. .nr Eo 12n
  83. .nr Eq 12n
  84. .nr Er 17n
  85. .nr Es 12n
  86. .nr Ev 15n
  87. .nr Ex 1
  88. .nr Fa 12n
  89. .nr Fc 3
  90. .nr Fd 12n
  91. .nr Fl 10n
  92. .nr Fn 16n
  93. .nr Fo 16n
  94. .nr Fr 12n
  95. .nr Ft 8n
  96. .nr Fx 1
  97. .nr Ic 10n
  98. .nr In 12n
  99. .nr It 8n
  100. .nr Lb 11n
  101. .nr Li 16n
  102. .nr Lk 6n
  103. .nr Lp 8n
  104. .nr Me 6n
  105. .nr Ms 6n
  106. .nr Mt 6n
  107. .nr Nd 8n
  108. .nr Nm 10n
  109. .nr No 12n
  110. .nr Ns 2
  111. .nr Nx 1
  112. .nr Oc 3
  113. .nr Oo 10n
  114. .nr Op 14n
  115. .nr Os 6n
  116. .nr Ox 1
  117. .nr Pa 32n
  118. .nr Pc 3
  119. .nr Pf 12n
  120. .nr Po 12n
  121. .nr Pp 8n
  122. .nr Pq 12n
  123. .nr Qc 3
  124. .nr Ql 16n
  125. .nr Qo 12n
  126. .nr Qq 12n
  127. .nr Rv 1
  128. .nr Sc 3
  129. .nr Sh 8n
  130. .nr Sm 8n
  131. .nr So 12n
  132. .nr Sq 12n
  133. .nr Ss 8n
  134. .nr St 8n
  135. .nr Sx 16n
  136. .nr Sy 6n
  137. .nr Ta 2
  138. .nr Tn 10n
  139. .nr Ud 8n
  140. .nr Ux 1
  141. .nr Va 12n
  142. .nr Vt 8n
  143. .nr Xc 3
  144. .nr Xo 1
  145. .nr Xr 10n
  146. .ds after-Ao
  147. .ds after-Bo
  148. .ds after-Bro
  149. .ds after-Do
  150. .ds after-Eo
  151. .ds after-Fo
  152. .ds after-Ns
  153. .ds after-Oo
  154. .ds after-Po
  155. .ds after-Qo
  156. .ds after-So
  157. .ds after-Xo
  158. .nr display-indent 6n
  159. .ds soft-space " 
  160. .ds hard-space \~
  161. .ds tab \t
  162. .eo
  163. .nr punct. 3
  164. .nr punct, 3
  165. .nr punct: 3
  166. .nr punct; 3
  167. .nr punct( 4
  168. .nr punct) 3
  169. .nr punct[ 4
  170. .nr punct] 3
  171. .nr punct? 3
  172. .nr punct! 3
  173. .ds document-title UNTITLED
  174. .ds volume LOCAL
  175. .ds section Null
  176. .ds volume-operating-system BSD
  177. .nr volume-operating-system-ateol 0
  178. .ds volume-ds-1 General Commands Manual
  179. .ds volume-ds-2 System Calls Manual
  180. .ds volume-ds-3 Library Functions Manual
  181. .ds volume-ds-4 Kernel Interfaces Manual
  182. .ds volume-ds-5 File Formats Manual
  183. .ds volume-ds-6 Games Manual
  184. .ds volume-ds-7 Miscellaneous Information Manual
  185. .ds volume-ds-8 System Manager's Manual
  186. .ds volume-ds-9 Kernel Developer's Manual
  187. .ds volume-ds-USD   User's Supplementary Documents
  188. .ds volume-ds-PS1   Programmer's Supplementary Documents
  189. .ds volume-ds-AMD   Ancestral Manual Documents
  190. .ds volume-ds-SMM   System Manager's Manual
  191. .ds volume-ds-URM   User's Reference Manual
  192. .ds volume-ds-PRM   Programmer's Manual
  193. .ds volume-ds-KM    Kernel Manual
  194. .ds volume-ds-IND   Manual Master Index
  195. .ds volume-ds-LOCAL Local Manual
  196. .ds volume-ds-CON   Contributed Software Manual
  197. .als volume-ds-MMI volume-ds-IND
  198. .als volume-ds-LOC volume-ds-LOCAL
  199. .ds volume-as-alpha    Alpha
  200. .als volume-as-Alpha volume-as-alpha
  201. .ds volume-as-amiga    Amiga
  202. .ds volume-as-arc      Arc
  203. .ds volume-as-arm26    ARM26
  204. .ds volume-as-arm32    ARM32
  205. .ds volume-as-atari    Atari
  206. .ds volume-as-bebox    BEbox
  207. .ds volume-as-cobalt   Cobalt
  208. .ds volume-as-evbsh3   Evbsh3
  209. .ds volume-as-hp300    HP300
  210. .ds volume-as-hpcmips  HPcmips
  211. .ds volume-as-i386     i386
  212. .ds volume-as-luna68k  luna68k
  213. .ds volume-as-m68k     m68k
  214. .ds volume-as-mac68k   mac68k
  215. .ds volume-as-macppc   macppc
  216. .ds volume-as-mips     MIPS
  217. .ds volume-as-mmeye    mmeye
  218. .ds volume-as-mvme68k  mvme68k
  219. .ds volume-as-news68k  news68k
  220. .ds volume-as-newsmips newsmips
  221. .ds volume-as-next68k  next68k
  222. .ds volume-as-ofppc    ofppc
  223. .ds volume-as-pc532    pc532
  224. .ds volume-as-pmax     pmax
  225. .ds volume-as-powerpc  powerpc
  226. .ds volume-as-prep     prep
  227. .ds volume-as-sgimips  sgimips
  228. .ds volume-as-sh3      sh3
  229. .ds volume-as-sparc    SPARC
  230. .ds volume-as-sparc64  sparc64
  231. .ds volume-as-sun3     sun3
  232. .ds volume-as-tahoe    Tahoe
  233. .ds volume-as-vax      VAX
  234. .ds volume-as-x68k     x68k
  235. .de Dt
  236. .ds document-title UNTITLED
  237. .ds volume LOCAL
  238. .ds section Null
  239. .if !"\$1"" \
  240. .ds document-title "\$1
  241. .if !"\$2"" \{\
  242. .ds section \$2
  243. .ie \B\$2 \{\
  244. .if ((\$2 >= 1) & (\$2 <= 9)) \{\
  245. .ie \n[volume-operating-system-ateol] \{\
  246. .ds volume "\*[volume-ds-\$2] \*[volume-operating-system]
  247. .if \A\$3 \{\
  248. .if d volume-as-\$3 \
  249. .as volume "/\*[volume-as-\$3]
  250. .\}\}
  251. .el \{\
  252. .ds volume "\*[volume-operating-system]
  253. .if \A\$3 \{\
  254. .if d volume-as-\$3 \
  255. .as volume "/\*[volume-as-\$3]
  256. .\}
  257. .as volume " \*[volume-ds-\$2]
  258. .\}\}\}
  259. .el \{\
  260. .ie "\$2"unass" .ds volume DRAFT
  261. .el \{ .ie "\$2"draft" .ds volume DRAFT
  262. .el \{ .ie "\$2"paper" .ds volume UNTITLED
  263. .el \
  264. .tm mdoc warning: .Dt: unknown section `\$2' (#\n[.c])
  265. .\}\}
  266. .if \A\$3 \{\
  267. .if d volume-ds-\$3 \
  268. .ds volume "\*[volume-ds-\$3]
  269. .\}\}\}
  270. .if !"\$3"" \
  271. .if "\*[volume]"LOCAL" \
  272. .ds volume \$3
  273. ..
  274. .ds operating-system BSD
  275. .ds operating-system-ATT-7   7th\~Edition
  276. .als operating-system-ATT-7th operating-system-ATT-7
  277. .ds operating-system-ATT-3   System\~III
  278. .als operating-system-ATT-III operating-system-ATT-3
  279. .ds operating-system-ATT-V   System\~V
  280. .ds operating-system-ATT-V.2 System\~V Release\~2
  281. .ds operating-system-ATT-V.3 System\~V Release\~3
  282. .ds operating-system-ATT-V.4 System\~V Release\~4
  283. .ds operating-system-BSD-3    3rd\~Berkeley Distribution
  284. .ds operating-system-BSD-4    4th\~Berkeley Distribution
  285. .ds operating-system-BSD-4.1  4.1\~Berkeley Distribution
  286. .ds operating-system-BSD-4.2  4.2\~Berkeley Distribution
  287. .ds operating-system-BSD-4.3  4.3\~Berkeley Distribution
  288. .ds operating-system-BSD-4.3T 4.3-Tahoe Berkeley Distribution
  289. .ds operating-system-BSD-4.3R 4.3-Reno Berkeley Distribution
  290. .als operating-system-BSD-4.3t operating-system-BSD-4.3T
  291. .als operating-system-BSD-4.3r operating-system-BSD-4.3R
  292. .ds operating-system-BSD-4.4  4.4BSD
  293. .ds operating-system-NetBSD-0.8  0.8
  294. .ds operating-system-NetBSD-0.8a 0.8A
  295. .ds operating-system-NetBSD-0.9  0.9
  296. .ds operating-system-NetBSD-0.9a 0.9A
  297. .ds operating-system-NetBSD-1.0  1.0
  298. .ds operating-system-NetBSD-1.0a 1.0A
  299. .ds operating-system-NetBSD-1.1  1.1
  300. .ds operating-system-NetBSD-1.2  1.2
  301. .ds operating-system-NetBSD-1.2a 1.2A
  302. .ds operating-system-NetBSD-1.2b 1.2B
  303. .ds operating-system-NetBSD-1.2c 1.2C
  304. .ds operating-system-NetBSD-1.2d 1.2D
  305. .ds operating-system-NetBSD-1.2e 1.2E
  306. .ds operating-system-NetBSD-1.3  1.3
  307. .ds operating-system-NetBSD-1.3a 1.3A
  308. .ds operating-system-NetBSD-1.4  1.4
  309. .ds operating-system-NetBSD-1.5  1.5
  310. .ds operating-system-NetBSD-1.6  1.6
  311. .ds operating-system-FreeBSD-1.0     1.0
  312. .ds operating-system-FreeBSD-1.1     1.1
  313. .ds operating-system-FreeBSD-1.1.5   1.1.5
  314. .ds operating-system-FreeBSD-1.1.5.1 1.1.5.1
  315. .ds operating-system-FreeBSD-2.0     2.0
  316. .ds operating-system-FreeBSD-2.0.5   2.0.5
  317. .ds operating-system-FreeBSD-2.1     2.1
  318. .ds operating-system-FreeBSD-2.1.5   2.1.5
  319. .ds operating-system-FreeBSD-2.1.6   2.1.6
  320. .ds operating-system-FreeBSD-2.1.7   2.1.7
  321. .ds operating-system-FreeBSD-2.2     2.2
  322. .ds operating-system-FreeBSD-2.2.1   2.2.1
  323. .ds operating-system-FreeBSD-2.2.2   2.2.2
  324. .ds operating-system-FreeBSD-2.2.5   2.2.5
  325. .ds operating-system-FreeBSD-2.2.6   2.2.6
  326. .ds operating-system-FreeBSD-2.2.7   2.2.7
  327. .ds operating-system-FreeBSD-2.2.8   2.2.8
  328. .ds operating-system-FreeBSD-3.0     3.0
  329. .ds operating-system-FreeBSD-3.1     3.1
  330. .ds operating-system-FreeBSD-3.2     3.2
  331. .ds operating-system-FreeBSD-3.3     3.3
  332. .ds operating-system-FreeBSD-3.4     3.4
  333. .ds operating-system-FreeBSD-3.5     3.5
  334. .ds operating-system-FreeBSD-4.0     4.0
  335. .ds operating-system-FreeBSD-4.1     4.1
  336. .ds operating-system-FreeBSD-4.1.1   4.1.1
  337. .ds operating-system-FreeBSD-4.2     4.2
  338. .ds operating-system-FreeBSD-4.3     4.3
  339. .ds operating-system-FreeBSD-4.4     4.4
  340. .ds operating-system-FreeBSD-4.5     4.5
  341. .ds operating-system-FreeBSD-4.6     4.6
  342. .ds operating-system-FreeBSD-4.6.2   4.6.2
  343. .ds operating-system-FreeBSD-4.7     4.7
  344. .ds operating-system-FreeBSD-4.8     4.8
  345. .ds operating-system-FreeBSD-5.0     5.0
  346. .de Os
  347. .if "\$1"" \
  348. .return
  349. .ie        "\$1"ATT" \{\
  350. .ds operating-system AT&T
  351. .if \A\$2 \{\
  352. .ie d operating-system-ATT-\$2 \
  353. .as operating-system " \*[operating-system-ATT-\$2]
  354. .el \
  355. .as operating-system " UNIX
  356. .\}\}
  357. .el \{ .ie "\$1"BSD" \{\
  358. .if \A\$2 \{\
  359. .ie d operating-system-BSD-\$2 \
  360. .ds operating-system "\*[operating-system-BSD-\$2]
  361. .el \
  362. .tm mdoc warning: .Os: Unknown BSD version `\$2' (#\n[.c])
  363. .\}\}
  364. .el \{ .ie "\$1"FreeBSD" \{\
  365. .ds operating-system FreeBSD
  366. .if \A\$2 \{\
  367. .ie d operating-system-FreeBSD-\$2 \
  368. .as operating-system \~\*[operating-system-FreeBSD-\$2]
  369. .el \
  370. .tm mdoc warning: .Os: Unknown FreeBSD version `\$2' (#\n[.c])
  371. .\}\}
  372. .el \{ .ie "\$1"NetBSD" \{\
  373. .ds operating-system NetBSD
  374. .if \A\$2 \{\
  375. .ie d operating-system-NetBSD-\$2 \
  376. .as operating-system \~\*[operating-system-NetBSD-\$2]
  377. .el \
  378. .tm mdoc warning: .Os: Unknown NetBSD version `\$2' (#\n[.c])
  379. .\}\}
  380. .el \{\
  381. .ds operating-system \$1
  382. .if !"\$2"" \
  383. .as operating-system " \$2
  384. .\}\}\}\}
  385. ..
  386. .ds date-string
  387. .ds date-1  January
  388. .ds date-2  February
  389. .ds date-3  March
  390. .ds date-4  April
  391. .ds date-5  May
  392. .ds date-6  June
  393. .ds date-7  July
  394. .ds date-8  August
  395. .ds date-9  September
  396. .ds date-10 October
  397. .ds date-11 November
  398. .ds date-12 December
  399. .de Dd
  400. .if "\*[date-string]"" \
  401. .nr gX 1
  402. .ie \n[.$] \{\
  403. .ie (\n[.$] == 3) \
  404. .ds date-string \$1\~\$2 \$3
  405. .el \{\
  406. .ds date-string "\*[date-\n[mo]]
  407. .as date-string \~\n[dy], \n[year]
  408. .\}
  409. .\}
  410. .el \
  411. .ds date-string Epoch
  412. ..
  413. .nr hyphen-flags 12
  414. .de header
  415. .ev env-dh
  416. .setup-page-layout
  417. .if !\n[cR] \
  418. '    sp \n[header-space]u
  419. .nr reg-dh \w'\*[caption-font]\*[header-string]\f[]'
  420. .nr reg-dh1 \w'\*[caption-font2]\*[volume]\f[]'
  421. .if (\n[reg-dh] + \n[reg-dh1] + \n[reg-dh] >= \n[.lt]) \{\
  422. .while (\n[reg-dh] + \n[reg-dh1] + \n[reg-dh] >= \n[.lt]) \{\
  423. .substring header-string 0 -2
  424. .nr reg-dh \w'\*[caption-font]\*[header-string]\|.\|.\|.\f[]'
  425. .\}
  426. .as header-string "\|.\|.\|.
  427. .\}
  428. .tl \*[caption-font]\*[header-string]\f[]\*[caption-font2]\*[volume]\f[]\*[caption-font]\*[header-string]\f[]
  429. '  sp \n[header-space]u
  430. .ev
  431. ..
  432. .de footer
  433. .ie \n[cR] \
  434. '    br
  435. .el \{\
  436. .ev caption-enviroment
  437. .setup-page-layout
  438. '    sp \n[footer-space]u
  439. .ie \n[D] \{\
  440. .ie o \
  441. .tl %\*[caption-font2]\*[date-string]\f[]\*[caption-font]\*[operating-system]\f[]
  442. .el \
  443. .tl \*[caption-font]\*[operating-system]\f[]\*[caption-font2]\*[date-string]\f[]%
  444. .\}
  445. .el \
  446. .tl \*[caption-font]\*[operating-system]\f[]\*[caption-font2]\*[date-string]\f[]%
  447. '    bp
  448. .ev
  449. .\}
  450. ..
  451. .de end-macro
  452. .if \n[cR] \
  453. .pl +3v
  454. .fl
  455. .if \n[list-depth] \
  456. .tm mdoc warning: list open at EOF!  A .Bl directive has no matching .El
  457. .if \n[cR] \{\
  458. '    sp
  459. .tl \*[caption-font]\*[operating-system]\f[]\*[caption-font2]\*[date-string]\f[]\*[caption-font]\*[operating-system]\f[]
  460. .pl \n[nl]u
  461. .\}
  462. ..
  463. .de paragraph
  464. .sp \n[paragraph-space]u
  465. .if !\n[cR] \
  466. .ne 2
  467. .ns
  468. ..
  469. .als Pp paragraph
  470. .als Lp paragraph
  471. .de LP
  472. .tm Not a \-mdoc command: .LP (#\n[.c])
  473. ..
  474. .de PP
  475. .tm Not a \-mdoc command: .PP (#\n[.c])
  476. ..
  477. .de pp
  478. .tm Not a \-mdoc command: .pp (#\n[.c])
  479. ..
  480. .de SH
  481. .tm Not a \-mdoc command: .SH (#\n[.c])
  482. ..
  483. .de Nd
  484. .nop \- \$*
  485. ..
  486. .nr in-synopsis-section 0
  487. .nr in-see-also-section 0
  488. .nr in-files-section 0
  489. .nr in-authors-section 0
  490. .de first-parameter
  491. .ds str-dfp "\$1
  492. ..
  493. .ds section-name        NAME
  494. .ds section-synopsis    SYNOPSIS
  495. .ds section-description DESCRIPTION
  496. .ds section-see-also    SEE
  497. .ds section-files       FILES
  498. .ds section-authors     AUTHORS
  499. .de Sh
  500. .ie \n[arg-limit] \{\
  501. .ie "\*[macro-name]"Sh" \{\
  502. .nr arg-ptr +1
  503. .ie (\n[arg-limit] >= \n[arg-ptr]) \{\
  504. .nr curr-font \n[.f]
  505. .nr curr-size \n[.ps]
  506. .nop \*[Sh-font]\c
  507. .print-recursive
  508. .\}
  509. .el \{\
  510. .tm Usage: .Sh section_name ... (#\n[.c])
  511. .reset-args
  512. .\}\}
  513. .el \{\
  514. .tm Usage: .Sh not callable by other macros (#\n[.c])
  515. .reset-args
  516. .\}\}
  517. .el \{\
  518. .if !\n[.$] \{\
  519. .tm Usage: .Sh section_name ... (#\n[.c])
  520. .return
  521. .\}
  522. .ds macro-name Sh
  523. .parse-args \$@
  524. .if t \
  525. '      ad
  526. .first-parameter \$*
  527. .ie "\*[str-dfp]"\*[section-name]" \{\
  528. .setup-header
  529. '      in 0
  530. .\}
  531. .el \{\
  532. .nr in-synopsis-section 0
  533. .nr in-see-also-section 0
  534. .nr in-files-section 0
  535. .nr in-authors-section 0
  536. .ie        "\*[str-dfp]"\*[section-synopsis]" \{\
  537. .if t \
  538. .na
  539. .nr in-synopsis-section 1
  540. .nr indent-synopsis 0
  541. .nr indent-synopsis-active 0
  542. .\}
  543. .el \{ .ie "\*[str-dfp]"\*[section-description]" \{\
  544. .nr is-func 0
  545. .nr func-count 0
  546. .nr func-args-processed 0
  547. .nr num-func-args 0
  548. .\}
  549. .el \{ .ie "\*[str-dfp]"\*[section-see-also]" \{\
  550. .if t \
  551. .na
  552. .nr in-see-also-section 1
  553. .\}
  554. .el \{ .ie "\*[str-dfp]"\*[section-files]" \
  555. .nr in-files-section 1
  556. .el .if    "\*[str-dfp]"\*[section-authors]" \
  557. .nr in-authors-section 1
  558. .\}\}\}
  559. .in 0
  560. .nr have-author 0
  561. .\}
  562. .setup-page-layout
  563. '    sp
  564. .ns
  565. .ta T .5i
  566. .if !\n[cR] \
  567. .ne 3
  568. '    fi
  569. .if t \{\
  570. .nr reg-Sh \n[.ss]
  571. .nr reg-Sh1 \n[.sss]
  572. .ss (\n[.ss] * 5 / 3) (\n[.sss] * 5 / 3)
  573. .\}
  574. .nr arg-ptr +1
  575. .nr curr-font \n[.f]
  576. .nr curr-size \n[.ps]
  577. .nop \*[Sh-font]\c
  578. .print-recursive
  579. .if t \
  580. .ss \n[reg-Sh] \n[reg-Sh1]
  581. .in +\n[subheader-indent]u
  582. .ns
  583. .\}
  584. ..
  585. .de Ss
  586. .ie \n[arg-limit] \{\
  587. .ie "\*[macro-name]"Ss" \{\
  588. .nr arg-ptr +1
  589. .ie (\n[arg-limit] >= \n[arg-ptr]) \{\
  590. .nr curr-font \n[.f]
  591. .nr curr-size \n[.ps]
  592. .nop \*[Sh-font]\c
  593. .print-recursive
  594. .\}
  595. .el \{\
  596. .tm Usage: .Ss subsection_name ... (#\n[.c])
  597. .reset-args
  598. .\}\}
  599. .el \{\
  600. .tm Usage: .Ss not callable by other macros (#\n[.c])
  601. .reset-args
  602. .\}\}
  603. .el \{\
  604. .if !\n[.$] \{\
  605. .tm Usage: .Ss subsection_name ... (#\n[.c])
  606. .return
  607. .\}
  608. .ds macro-name Ss
  609. .parse-args \$@
  610. .sp
  611. .if !\n[cR] \
  612. .ne 3
  613. .ti -.25i
  614. .nr reg-Ss \n[.ss]
  615. .nr reg-Ss1 \n[.sss]
  616. .ss (\n[.ss] * 5 / 4) (\n[.sss] * 5 / 4)
  617. .nr arg-ptr +1
  618. .nr curr-font \n[.f]
  619. .nr curr-size \n[.ps]
  620. .nop \*[Sh-font]\c
  621. .print-recursive
  622. .ss \n[reg-Ss] \n[reg-Ss1]
  623. .ta T .5i
  624. .if !\n[cR] \
  625. .ne 2
  626. .br
  627. .ns
  628. .\}
  629. ..
  630. .de Rd
  631. .tm MDOC GLOBAL REGISTER DUMP
  632. .tm macro-name == `\*[macro-name]'
  633. .tm arg-limit == \n[arg-limit]
  634. .tm num-args == \n[num-args]
  635. .tm arg-ptr == \n[arg-ptr]
  636. .nr reg-Rd 1
  637. .while (\n[reg-Rd] <= \n[arg-limit]) \{\
  638. .tm arg\n[reg-Rd] == `\*[arg\n[reg-Rd]]'
  639. .tm type\n[reg-Rd] == \n[type\n[reg-Rd]]
  640. .tm space\n[reg-Rd] == `\*[space\n[reg-Rd]]'
  641. .nr reg-Rd +1
  642. .\}
  643. .tm curr-font == \n[curr-font]
  644. .tm curr-size == \n[curr-size]
  645. .tm indent-synopsis == \n[indent-synopsis]
  646. .tm indent-synopsis-active == \n[indent-synopsis-active]
  647. .tm have-decl == \n[have-decl]
  648. .tm have-var == \n[have-var]
  649. .tm command-name == `\*[command-name]'
  650. .tm quote-left == `\*[quote-left]'
  651. .tm quote-right == `\*[quote-right]'
  652. .tm nesting-level == \n[nesting-level]
  653. .tm in-list == \n[in-list]
  654. .tm space == `\*[space]'
  655. .tm saved-space == `\*[saved-space]'
  656. .tm space-mode == \n[space-mode]
  657. .tm have-space == \n[have-space]
  658. .tm have-slot == \n[have-slot]
  659. .tm keep-type == \n[keep-type]
  660. .tm display-depth == \n[display-depth]
  661. .tm is-compact == \n[is-compact]
  662. .nr reg-Rd 0
  663. .while (\n[reg-Rd] <= \n[display-depth]) \{\
  664. .tm display-type-stack\n[reg-Rd] == `\*[display-type-stack\n[reg-Rd]]'
  665. .tm display-indent-stack\n[reg-Rd] == \n[display-indent-stack\n[reg-Rd]]
  666. .tm display-ad-stack\n[reg-Rd] == \n[display-ad-stack\n[reg-Rd]]
  667. .tm display-fi-stack\n[reg-Rd] == \n[display-fi-stack\n[reg-Rd]]
  668. .tm display-ft-stack\n[reg-Rd] == \n[display-ft-stack\n[reg-Rd]]
  669. .tm display-ps-stack\n[reg-Rd] == \n[display-ps-stack\n[reg-Rd]]
  670. .nr reg-Rd +1
  671. .\}
  672. .tm fontmode-depth == \n[fontmode-depth]
  673. .nr reg-Rd 1
  674. .while (\n[reg-Rd] <= \n[fontmode-depth]) \{\
  675. .tm fontmode-font-stack\n[reg-Rd] == `\n[fontmode-font-stack\n[reg-Rd]]'
  676. .tm fontmode-size-stack\n[reg-Rd] == `\n[fontmode-size-stack\n[reg-Rd]]'
  677. .nr reg-Rd +1
  678. .\}
  679. .tm list-depth == \n[list-depth]
  680. .nr reg-Rd 1
  681. .while (\n[reg-Rd] <= \n[list-depth]) \{\
  682. .tm list-type-stack\n[reg-Rd] == `\*[list-type-stack\n[reg-Rd]]'
  683. .tm list-have-indent-stack\n[reg-Rd] == \n[list-have-indent-stack\n[reg-Rd]]
  684. .tm list-indent-stack\n[reg-Rd] == \n[list-indent-stack\n[reg-Rd]]
  685. .tm compact-list-stack\n[reg-Rd] == \n[compact-list-stack\n[reg-Rd]]
  686. .tm tag-prefix-stack\n[reg-Rd] == `\*[tag-prefix-stack\n[reg-Rd]]'
  687. .tm tag-width-stack\n[reg-Rd] == `\*[tag-width-stack\n[reg-Rd]]'
  688. .tm list-offset-stack\n[reg-Rd] == \n[list-offset-stack\n[reg-Rd]]
  689. .tm enum-list-count-stack\n[reg-Rd] == \n[enum-list-count-stack\n[reg-Rd]]
  690. .nr reg-Rd +1
  691. .\}
  692. .tm saved-Pa-font == `\*[saved-Pa-font]'
  693. .tm curr-type == \n[curr-type]
  694. .tm curr-arg == `\*[curr-arg]'
  695. .tm diag-list-input-line-count == \n[diag-list-input-line-count]
  696. .tm num-columns == \n[num-columns]
  697. .tm column-indent-width == \n[column-indent-width]
  698. .tm is-func == \n[is-func]
  699. .tm have-old-func == \n[have-old-func]
  700. .tm func-arg-count == \n[func-arg-count]
  701. .tm func-arg == `\*[func-arg]'
  702. .tm num-func-args == \n[num-func-args]
  703. .tm func-args-processed == \n[func-args-processed]
  704. .tm have-func == \n[have-func]
  705. .tm is-reference == \n[is-reference]
  706. .tm reference-count == \n[reference-count]
  707. .tm author-count == \n[author-count]
  708. .nr reg-Rd 0
  709. .while (\n[reg-Rd] <= \n[author-count]) \{\
  710. .tm author-name\n[reg-Rd] == `\*[author-name\n[reg-Rd]]'
  711. .nr reg-Rd +1
  712. .\}
  713. .tm book-count == \n[book-count]
  714. .tm book-name == `\*[book-name]'
  715. .tm date-count == \n[date-count]
  716. .tm date == `\*[date]'
  717. .tm publisher-count == \n[publisher-count]
  718. .tm publisher-name == `\*[publisher-name]'
  719. .tm journal-count == \n[journal-count]
  720. .tm journal-name == `\*[journal-name]'
  721. .tm issue-count == \n[issue-count]
  722. .tm issue-name == `\*[issue-name]'
  723. .tm optional-count == \n[optional-count]
  724. .tm optional-string == `\*[optional-string]'
  725. .tm page-number-count == \n[page-number-count]
  726. .tm page-number-string == `\*[page-number-string]'
  727. .tm corporate-count == \n[corporate-count]
  728. .tm corporate-name == `\*[corporate-name]'
  729. .tm report-count == \n[report-count]
  730. .tm report-name == `\*[report-name]'
  731. .tm reference-title-count == \n[reference-title-count]
  732. .tm reference-title-name == `\*[reference-title-name]'
  733. .tm reference-title-name-for-book == `\*[reference-title-name-for-book]'
  734. .tm volume-count == \n[volume-count]
  735. .tm volume-name == `\*[volume-name]'
  736. .tm have-author == \n[have-author]
  737. .tm document-title == `\*[document-title]'
  738. .tm volume == `\*[volume]'
  739. .tm section == `\*[section]'
  740. .tm operating-system == `\*[operating-system]'
  741. .tm date-string == `\*[date-string]'
  742. .tm header-space == \n[header-space]
  743. .tm footer-space == \n[footer-space]
  744. .tm display-vertical == \n[display-vertical]
  745. .tm header-string == `\*[header-string]'
  746. .tm in-synopsis-section == \n[in-synopsis-section]
  747. .tm in-see-also-section == \n[in-see-also-section]
  748. .tm in-files-section == \n[in-files-section]
  749. .tm in-authors-section == \n[in-authors-section]
  750. .tm END OF GLOBAL REGISTER DUMP
  751. ..
  752. .ec
  753.