Implement false groff:[09040dbf] used to fix #47161
[s-roff.git] / tmac / mdoc-syms
blob6a8e873bb5db05d47fbe2efc17254148e5bb2268
1 .\"@ mdoc-syms
2 .\"@ See doc.tmac for more on the mdoc semantic markup language.
3 .\"
4 .\" Copyright (c) 2014 - 2017 Steffen (Daode) Nurpmeso <steffen@sdaoden.eu>.
5 .\"
6 .\" Copyright (c) 1991, 1993
7 .\"     The Regents of the University of California.  All rights reserved.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\" 3. [Deleted.  See
18 .\"     ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
19 .\" 4. Neither the name of the University nor the names of its contributors
20 .\"    may be used to endorse or promote products derived from this software
21 .\"    without specific prior written permission.
22 .\"
23 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 .\" SUCH DAMAGE.
34 .\"
35 .\"     @(#)doc-syms    8.1 (Berkeley) 06/08/93
36 .\"
37 .\"     %beginstrip%
40 .eo
42 .\" NS Ux user macro
43 .\" NS   print UNIX
44 .\" NS
45 .\" NS modifies:
46 .\" NS   doc-arg-ptr
47 .\" NS   doc-curr-font
48 .\" NS   doc-curr-size
49 .\" NS   doc-macro-name
50 .\" NS
51 .\" NS local variable:
52 .\" NS   doc-str-Ux
53 .\" NS
54 .\" NS width register `Ux' defined in doc-common
56 .de Ux
57 .  nr doc-curr-font \n[.f]
58 .  nr doc-curr-size \n[.ps]
59 .  ds doc-str-Ux \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
61 .  if !\n[doc-arg-limit] \
62 .    if \n[.$] \{\
63 .      ds doc-macro-name Ux
64 .      doc-parse-args \$@
65 .    \}
67 .  \" replace current argument with result
68 .  ds doc-arg\n[doc-arg-ptr] \*[doc-Tn-font-size]UNIX\*[doc-str-Ux]
69 .  nr doc-type\n[doc-arg-ptr] 2
70 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
72 .  \" recompute space vector for remaining arguments
73 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
74 .  nr doc-arg-limit \n[doc-arg-ptr]
75 .  if \n[doc-num-args] \
76 .    doc-parse-space-vector
78 .  doc-print-recursive
82 .\" NS Bx user macro
83 .\" NS   print BSD (fix smaller nroff version)
84 .\" NS
85 .\" NS modifies:
86 .\" NS   doc-arg-ptr
87 .\" NS   doc-curr-font
88 .\" NS   doc-curr-size
89 .\" NS   doc-macro-name
90 .\" NS
91 .\" NS local variable:
92 .\" NS   doc-str-Bx
93 .\" NS   doc-str-Bx1
94 .\" NS   doc-str-Bx-XXX
95 .\" NS
96 .\" NS width register `Bx' defined in doc-common
98 .ds doc-str-Bx-Reno  \-Reno
99 .ds doc-str-Bx-reno  \-Reno
100 .ds doc-str-Bx-Tahoe \-Tahoe
101 .ds doc-str-Bx-tahoe \-Tahoe
102 .ds doc-str-Bx-Lite  \-Lite
103 .ds doc-str-Bx-lite  \-Lite
104 .ds doc-str-Bx-Lite2 \-Lite2
105 .ds doc-str-Bx-lite2 \-Lite2
107 .de Bx
108 .  nr doc-curr-font \n[.f]
109 .  nr doc-curr-size \n[.ps]
110 .  ds doc-str-Bx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
112 .  \" default value if no argument
113 .  ds doc-str-Bx1 \*[doc-Tn-font-size]BSD\*[doc-str-Bx]
115 .  if !\n[doc-arg-limit] \
116 .    if \n[.$] \{\
117 .      ds doc-macro-name Bx
118 .      doc-parse-args \$@
119 .    \}
121 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
122 .    nr doc-arg-ptr +1
123 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
124 .      ie        "\*[doc-arg\n[doc-arg-ptr]]"-alpha" \
125 .        as doc-str-Bx1 " (currently in alpha test)
126 .      el \{ .ie "\*[doc-arg\n[doc-arg-ptr]]"-beta" \
127 .        as doc-str-Bx1 " (currently in beta test)
128 .      el \{ .ie "\*[doc-arg\n[doc-arg-ptr]]"-devel" \
129 .        as doc-str-Bx1 " (currently under development)
130 .      el \{\
131 .        ds doc-str-Bx1 \&\*[doc-arg\n[doc-arg-ptr]]\^\*[doc-Tn-font-size]
132 .        as doc-str-Bx1 BSD\*[doc-str-Bx]
134 .        if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
135 .          nr doc-arg-ptr +1
136 .          ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
137 .            ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
138 .              ie d doc-str-Bx-\*[doc-arg\n[doc-arg-ptr]] \
139 .                as doc-str-Bx1 "\*[doc-str-Bx-\*[doc-arg\n[doc-arg-ptr]]]
140 .              el \
141 .                nr doc-arg-ptr -1
142 .            \}
143 .            el \
144 .              nr doc-arg-ptr -1
145 .          \}
146 .          el \
147 .            nr doc-arg-ptr -1
148 .    \}\}\}\}\}
149 .    el \
150 .      nr doc-arg-ptr -1
151 .  \}
153 .  \" replace current argument with result
154 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Bx1]
155 .  nr doc-type\n[doc-arg-ptr] 2
156 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
158 .  \" recompute space vector for remaining arguments
159 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
160 .  nr doc-arg-limit \n[doc-arg-ptr]
161 .  if \n[doc-num-args] \
162 .    doc-parse-space-vector
164 .  doc-print-recursive
168 .\" NS Ud user macro (not parsed, not callable)
169 .\" NS   print "currently under development" (HISTORY section)
170 .\" NS
171 .\" NS width register `Ud' defined in doc-common
173 .de Ud
174 .  nop \&currently under development.
178 .\" NS At user macro
179 .\" NS   print AT&T UNIX
180 .\" NS
181 .\" NS modifies:
182 .\" NS   doc-arg-ptr
183 .\" NS   doc-curr-font
184 .\" NS   doc-curr-size
185 .\" NS   doc-macro-name
186 .\" NS
187 .\" NS local variable:
188 .\" NS   doc-str-At
189 .\" NS   doc-str-At1
190 .\" NS   doc-str-At-XXX
191 .\" NS
192 .\" NS width register `At' defined in doc-common
194 .ds doc-str-At-32v \&Version\~32V
195 .as doc-str-At-32v " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
196 .ds doc-str-At-v1  \&Version\~1
197 .as doc-str-At-v1  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
198 .ds doc-str-At-v2  \&Version\~2
199 .as doc-str-At-v2  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
200 .ds doc-str-At-v3  \&Version\~3
201 .as doc-str-At-v3  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
202 .ds doc-str-At-v4  \&Version\~4
203 .as doc-str-At-v4  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
204 .ds doc-str-At-v5  \&Version\~5
205 .as doc-str-At-v5  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
206 .ds doc-str-At-v6  \&Version\~6
207 .as doc-str-At-v6  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
208 .ds doc-str-At-v7  \&Version\~7
209 .as doc-str-At-v7  " \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
210 .ds doc-str-At-III \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~III
211 .as doc-str-At-III " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
212 .ds doc-str-At-V   \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V
213 .as doc-str-At-V   " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
214 .ds doc-str-At-V.1 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V Release\~1
215 .as doc-str-At-V.1 " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
216 .ds doc-str-At-V.2 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V Release\~2
217 .as doc-str-At-V.2 " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
218 .ds doc-str-At-V.3 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V Release\~3
219 .as doc-str-At-V.3 " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
220 .ds doc-str-At-V.4 \*[doc-Tn-font-size]AT&T\*[doc-str-At] System\~V Release\~4
221 .as doc-str-At-V.4 " \*[doc-Tn-font-size]UNIX\*[doc-str-At]
223 .de At
224 .  nr doc-curr-font \n[.f]
225 .  nr doc-curr-size \n[.ps]
226 .  ds doc-str-At \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
228 .  \" default value if no argument
229 .  ds doc-str-At1 \*[doc-Tn-font-size]AT&T UNIX\*[doc-str-At]
231 .  if !\n[doc-arg-limit] \
232 .    if \n[.$] \{\
233 .      ds doc-macro-name At
234 .      doc-parse-args \$@
235 .    \}
237 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
238 .    nr doc-arg-ptr +1
239 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
240 .      ie \A\a\*[doc-arg\n[doc-arg-ptr]]\a \{\
241 .        ie d doc-str-At-\*[doc-arg\n[doc-arg-ptr]] \
242 .          ds doc-str-At1 "\*[doc-str-At-\*[doc-arg\n[doc-arg-ptr]]]
243 .        el \{\
244 .          tmc mdoc warning: .At: Unknown AT&T UNIX version
245 .          tm1 " `\*[doc-arg\n[doc-arg-ptr]]' (#\n[.c])
246 .          nr doc-arg-ptr -1
247 .      \}\}
248 .      el \
249 .        nr doc-arg-ptr -1
250 .    \}
251 .    el \
252 .      nr doc-arg-ptr -1
253 .  \}
255 .  \" replace current argument with result
256 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-At1]
257 .  nr doc-type\n[doc-arg-ptr] 2
258 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
260 .  \" recompute space vector for remaining arguments
261 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
262 .  nr doc-arg-limit \n[doc-arg-ptr]
263 .  if \n[doc-num-args] \
264 .    doc-parse-space-vector
266 .  doc-print-recursive
270 .\" NS Dx user macro
271 .\" NS   print DragonFly
272 .\" NS
273 .\" NS modifies:
274 .\" NS   doc-arg-ptr
275 .\" NS   doc-curr-font
276 .\" NS   doc-curr-size
277 .\" NS   doc-macro-name
278 .\" NS
279 .\" NS local variable:
280 .\" NS   doc-str-Dx
281 .\" NS   doc-str-Dx1
282 .\" NS
283 .\" NS width register `Dx' defined in doc-common
285 .\" we use the doc-operating-system-DragonFly-* strings defined in doc-common
287 .de Dx
288 .  nr doc-curr-font \n[.f]
289 .  nr doc-curr-size \n[.ps]
290 .  ds doc-str-Dx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
292 .  \" default value if no argument
293 .  ds doc-str-Dx1 \*[doc-Tn-font-size]\%DragonFly\*[doc-str-Dx]
295 .  if !\n[doc-arg-limit] \
296 .    if \n[.$] \{\
297 .      ds doc-macro-name Dx
298 .      doc-parse-args \$@
299 .    \}
301 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
302 .    nr doc-arg-ptr +1
303 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
304 .      ie \A\a\*[doc-arg\n[doc-arg-ptr]]\a \{\
305 .        ie d doc-operating-system-DragonFly-\*[doc-arg\n[doc-arg-ptr]] \
306 .          as doc-str-Dx1 \~\*[doc-operating-system-DragonFly-\*[doc-arg\n[doc-arg-ptr]]]
307 .        el \{\
308 .          tmc mdoc warning: .Dx: Unknown DragonFly version
309 .          tm1 " `\*[doc-arg\n[doc-arg-ptr]]' (#\n[.c])
310 .          as doc-str-Dx1 \~\*[doc-arg\n[doc-arg-ptr]]
311 .      \}\}
312 .      el \
313 .        as doc-str-Dx1 \~\*[doc-arg\n[doc-arg-ptr]]
314 .    \}
315 .    el \
316 .      nr doc-arg-ptr -1
317 .  \}
319 .  \" replace current argument with result
320 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Dx1]
321 .  nr doc-type\n[doc-arg-ptr] 2
322 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
324 .  \" recompute space vector for remaining arguments
325 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
326 .  nr doc-arg-limit \n[doc-arg-ptr]
327 .  if \n[doc-num-args] \
328 .    doc-parse-space-vector
330 .  doc-print-recursive
334 .\" NS Fx user macro
335 .\" NS   print FreeBSD
336 .\" NS
337 .\" NS modifies:
338 .\" NS   doc-arg-ptr
339 .\" NS   doc-curr-font
340 .\" NS   doc-curr-size
341 .\" NS   doc-macro-name
342 .\" NS
343 .\" NS local variable:
344 .\" NS   doc-str-Fx
345 .\" NS   doc-str-Fx1
346 .\" NS
347 .\" NS width register `Fx' defined in doc-common
349 .\" we use the doc-operating-system-FreeBSD-* strings defined in doc-common
351 .de Fx
352 .  nr doc-curr-font \n[.f]
353 .  nr doc-curr-size \n[.ps]
354 .  ds doc-str-Fx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
356 .  \" default value if no argument
357 .  ds doc-str-Fx1 \*[doc-Tn-font-size]\%FreeBSD\*[doc-str-Fx]
359 .  if !\n[doc-arg-limit] \
360 .    if \n[.$] \{\
361 .      ds doc-macro-name Fx
362 .      doc-parse-args \$@
363 .    \}
365 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
366 .    nr doc-arg-ptr +1
367 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
368 .      ie \A\a\*[doc-arg\n[doc-arg-ptr]]\a \{\
369 .        ie d doc-operating-system-FreeBSD-\*[doc-arg\n[doc-arg-ptr]] \
370 .          as doc-str-Fx1 \~\*[doc-operating-system-FreeBSD-\*[doc-arg\n[doc-arg-ptr]]]
371 .        el \{\
372 .          tmc mdoc warning: .Fx: Unknown FreeBSD version
373 .          tm1 " `\*[doc-arg\n[doc-arg-ptr]]' (#\n[.c])
374 .          as doc-str-Fx1 \~\*[doc-arg\n[doc-arg-ptr]]
375 .      \}\}
376 .      el \
377 .        as doc-str-Fx1 \~\*[doc-arg\n[doc-arg-ptr]]
378 .    \}
379 .    el \
380 .      nr doc-arg-ptr -1
381 .  \}
383 .  \" replace current argument with result
384 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Fx1]
385 .  nr doc-type\n[doc-arg-ptr] 2
386 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
388 .  \" recompute space vector for remaining arguments
389 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
390 .  nr doc-arg-limit \n[doc-arg-ptr]
391 .  if \n[doc-num-args] \
392 .    doc-parse-space-vector
394 .  doc-print-recursive
398 .\" NS Nx user macro
399 .\" NS   print NetBSD
400 .\" NS
401 .\" NS modifies:
402 .\" NS   doc-arg-ptr
403 .\" NS   doc-curr-font
404 .\" NS   doc-curr-size
405 .\" NS   doc-macro-name
406 .\" NS
407 .\" NS local variable:
408 .\" NS   doc-str-Nx
409 .\" NS   doc-str-Nx1
410 .\" NS
411 .\" NS width register `Nx' defined in doc-common
413 .\" we use the doc-operating-system-NetBSD-* strings defined in doc-common
415 .de Nx
416 .  nr doc-curr-font \n[.f]
417 .  nr doc-curr-size \n[.ps]
418 .  ds doc-str-Nx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
420 .  \" default value if no argument
421 .  ds doc-str-Nx1 \*[doc-Tn-font-size]\%N\s[\n[doc-curr-size]u]et
422 .  as doc-str-Nx1 \*[doc-Tn-font-size]BSD\*[doc-str-Nx]
424 .  if !\n[doc-arg-limit] \
425 .    if \n[.$] \{\
426 .      ds doc-macro-name Nx
427 .      doc-parse-args \$@
428 .    \}
430 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
431 .    nr doc-arg-ptr +1
432 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\
433 .      ie \A\a\*[doc-arg\n[doc-arg-ptr]]\a \{\
434 .        ie d doc-operating-system-NetBSD-\*[doc-arg\n[doc-arg-ptr]] \
435 .          as doc-str-Nx1 \~\*[doc-operating-system-NetBSD-\*[doc-arg\n[doc-arg-ptr]]]
436 .        el \{\
437 .          tmc mdoc warning: .Nx: Unknown NetBSD version
438 .          tm1 " `\*[doc-arg\n[doc-arg-ptr]]' (#\n[.c])
439 .          as doc-str-Nx1 \~\*[doc-arg\n[doc-arg-ptr]]
440 .      \}\}
441 .      el \
442 .        as doc-str-Nx1 \~\*[doc-arg\n[doc-arg-ptr]]
443 .    \}
444 .    el \
445 .      nr doc-arg-ptr -1
446 .  \}
448 .  \" replace current argument with result
449 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Nx1]
450 .  nr doc-type\n[doc-arg-ptr] 2
451 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
453 .  \" recompute space vector for remaining arguments
454 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
455 .  nr doc-arg-limit \n[doc-arg-ptr]
456 .  if \n[doc-num-args] \
457 .    doc-parse-space-vector
459 .  doc-print-recursive
463 .\" NS Ox user macro
464 .\" NS   print OpenBSD
465 .\" NS
466 .\" NS modifies:
467 .\" NS   doc-arg-ptr
468 .\" NS   doc-curr-font
469 .\" NS   doc-curr-size
470 .\" NS   doc-macro-name
471 .\" NS
472 .\" NS local variable:
473 .\" NS   doc-str-Ox
474 .\" NS   doc-str-Ox1
475 .\" NS
476 .\" NS width register `Ox' defined in doc-common
478 .de Ox
479 .  nr doc-curr-font \n[.f]
480 .  nr doc-curr-size \n[.ps]
481 .  ds doc-str-Ox \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
483 .  \" default value if no argument
484 .  ds doc-str-Ox1 \*[doc-Tn-font-size]\%OpenBSD\*[doc-str-Ox]
486 .  if !\n[doc-arg-limit] \
487 .    if \n[.$] \{\
488 .      ds doc-macro-name Ox
489 .      doc-parse-args \$@
490 .    \}
492 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
493 .    nr doc-arg-ptr +1
494 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \
495 .      as doc-str-Ox1 \~\*[doc-arg\n[doc-arg-ptr]]
496 .    el \
497 .      nr doc-arg-ptr -1
498 .  \}
500 .  \" replace current argument with result
501 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Ox1]
502 .  nr doc-type\n[doc-arg-ptr] 2
503 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
505 .  \" recompute space vector for remaining arguments
506 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
507 .  nr doc-arg-limit \n[doc-arg-ptr]
508 .  if \n[doc-num-args] \
509 .    doc-parse-space-vector
511 .  doc-print-recursive
515 .\" NS Bsx user macro
516 .\" NS   print BSD/OS
517 .\" NS
518 .\" NS modifies:
519 .\" NS   doc-arg-ptr
520 .\" NS   doc-curr-font
521 .\" NS   doc-curr-size
522 .\" NS   doc-macro-name
523 .\" NS
524 .\" NS local variable:
525 .\" NS   doc-str-Bsx
526 .\" NS   doc-str-Bsx1
527 .\" NS
528 .\" NS width register `Bsx' defined in doc-common
530 .de Bsx
531 .  nr doc-curr-font \n[.f]
532 .  nr doc-curr-size \n[.ps]
533 .  ds doc-str-Bsx \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
535 .  \" default value if no argument
536 .  ds doc-str-Bsx1 \*[doc-Tn-font-size]BSD/OS\*[doc-str-Bsx]
538 .  if !\n[doc-arg-limit] \
539 .    if \n[.$] \{\
540 .      ds doc-macro-name Bsx
541 .      doc-parse-args \$@
542 .    \}
544 .  if (\n[doc-arg-limit] > \n[doc-arg-ptr]) \{\
545 .    nr doc-arg-ptr +1
546 .    ie (\n[doc-type\n[doc-arg-ptr]] == 2) \
547 .      as doc-str-Bsx1 \~\*[doc-arg\n[doc-arg-ptr]]
548 .    el \
549 .      nr doc-arg-ptr -1
550 .  \}
552 .  \" replace current argument with result
553 .  ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Bsx1]
554 .  nr doc-type\n[doc-arg-ptr] 2
555 .  ds doc-space\n[doc-arg-ptr] "\*[doc-space]
557 .  \" recompute space vector for remaining arguments
558 .  nr doc-num-args (\n[doc-arg-limit] - \n[doc-arg-ptr])
559 .  nr doc-arg-limit \n[doc-arg-ptr]
560 .  if \n[doc-num-args] \
561 .    doc-parse-space-vector
563 .  doc-print-recursive
567 .\" The Bt macro should go away now
569 .\" NS Bt user macro (not parsed, not callable)
570 .\" NS   print "is currently in beta test." (HISTORY section)
571 .\" NS
572 .\" NS width register `Bt' defined in doc-common
574 .de Bt
575 .  nop \&is currently in beta test.
579 .\" NS Px user macro
580 .\" NS   print POSIX
582 .ds Px \*[doc-Tn-font-size]\%POSIX
585 .\" NS Ai user macro
586 .\" NS   print ANSI
588 .ds Ai \*[doc-Tn-font-size]\%ANSI
591 .\" NS St user macro
592 .\" NS   standards (posix, ansi - formal standard names)
593 .\" NS
594 .\" NS modifies:
595 .\" NS   doc-arg-ptr
596 .\" NS   doc-curr-font
597 .\" NS   doc-curr-size
598 .\" NS   doc-macro-name
599 .\" NS
600 .\" NS local variable:
601 .\" NS   doc-reg-St
602 .\" NS   doc-str-St
603 .\" NS   doc-str-St1
604 .\" NS   doc-str-St-XXX
605 .\" NS
606 .\" NS width register `St' defined in doc-common
608 .\" ANSI/ISO C
609 .ds doc-str-St--ansiC-89       \*[Ai] \*[doc-str-St]X\^3.159-1989
610 .as doc-str-St--ansiC-89       " (\*[Lq]\)\*[Ai]\~C89\*[doc-str-St]\*[Rq])
611 .als doc-str-St--ansiC doc-str-St--ansiC-89
612 .ds doc-str-St--isoC           \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1990
613 .as doc-str-St--isoC           " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St]\*[Rq])
614 .als doc-str-St--isoC-90 doc-str-St--isoC
615 .ds doc-str-St--isoC-2011      \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:2011
616 .as doc-str-St--isoC-2011      " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^11\*[doc-str-St]\*[Rq])
617 .ds doc-str-St--isoC-99        \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899:1999
618 .as doc-str-St--isoC-99        " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^99\*[doc-str-St]\*[Rq])
619 .ds doc-str-St--isoC-amd1       \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899/AMD1:1995
620 .as doc-str-St--isoC-amd1       " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St], Amendment 1\*[Rq])
621 .ds doc-str-St--isoC-tcor1      \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899/TCOR1:1994
622 .as doc-str-St--isoC-tcor1      " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St], Technical Corrigendum 1\*[Rq])
623 .ds doc-str-St--isoC-tcor2      \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9899/TCOR2:1995
624 .as doc-str-St--isoC-tcor2      " (\*[Lq]\*[doc-Tn-font-size]ISO\~C\^90\*[doc-str-St], Technical Corrigendum 2\*[Rq])
626 .\" POSIX Part 1: System API
627 .ds doc-str-St--p1003.1        \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1
628 .as doc-str-St--p1003.1        " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
629 .ds doc-str-St--p1003.1b       \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1b
630 .as doc-str-St--p1003.1b       " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
631 .ds doc-str-St--p1003.1-88     \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-1988
632 .as doc-str-St--p1003.1-88     " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
633 .ds doc-str-St--p1003.1-90     \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9945-1:1990
634 .as doc-str-St--p1003.1-90     " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
635 .als doc-str-St--iso9945-1-90 doc-str-St--p1003.1-90
636 .ds doc-str-St--p1003.1b-93    \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1b-1993
637 .as doc-str-St--p1003.1b-93    " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
638 .ds doc-str-St--p1003.1c-95    \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1c-1995
639 .as doc-str-St--p1003.1c-95    " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
640 .ds doc-str-St--p1003.1i-95    \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1i-1995
641 .as doc-str-St--p1003.1i-95    " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
642 .ds doc-str-St--p1003.1-96     \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9945-1:1996
643 .as doc-str-St--p1003.1-96     " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
644 .als doc-str-St--iso9945-1-96 doc-str-St--p1003.1-96
645 .ds doc-str-St--p1003.1g-2000  \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1g-2000
646 .as doc-str-St--p1003.1g-2000  " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
647 .ds doc-str-St--p1003.1-2001   \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-2001
648 .as doc-str-St--p1003.1-2001   " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
649 .ds doc-str-St--p1003.1-2004   \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-2004
650 .as doc-str-St--p1003.1-2004   " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
651 .ds doc-str-St--p1003.1-2008   \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-2008
652 .as doc-str-St--p1003.1-2008   " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
653 .ds doc-str-St--p1003.1-2013   \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-2008/Cor 1-2013
654 .as doc-str-St--p1003.1-2013   " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
655 .ds doc-str-St--p1003.1-2016   \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.1-2008/Cor 2-2016
656 .as doc-str-St--p1003.1-2016   " (\*[Lq]\)\*[Px]\*[doc-str-St].1\*[Rq])
658 .\" POSIX Part 2: Shell and Utilities
659 .ds doc-str-St--p1003.2        \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.2
660 .as doc-str-St--p1003.2        " (\*[Lq]\)\*[Px]\*[doc-str-St].2\*[Rq])
661 .ds doc-str-St--p1003.2-92     \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.2-1992
662 .as doc-str-St--p1003.2-92     " (\*[Lq]\)\*[Px]\*[doc-str-St].2\*[Rq])
663 .ds doc-str-St--p1003.2a-92    \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1003.2a-1992
664 .as doc-str-St--p1003.2a-92    " (\*[Lq]\)\*[Px]\*[doc-str-St].2\*[Rq])
665 .ds doc-str-St--iso9945-2-93   \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 9945-2:1993
666 .as doc-str-St--iso9945-2-93   " (\*[Lq]\)\*[Px]\*[doc-str-St].2\*[Rq])
668 .\" X/Open
669 .ds doc-str-St--susv2          Version\~2 of the Single \*[doc-Tn-font-size]UNIX\*[doc-str-St] Specification
670 .as doc-str-St--susv2          " (\*[Lq]\*[doc-Tn-font-size]SUSv2\*[doc-str-St]\*[Rq])
671 .ds doc-str-St--susv3          Version\~3 of the Single \*[doc-Tn-font-size]UNIX\*[doc-str-St] Specification
672 .as doc-str-St--susv3          " (\*[Lq]\*[doc-Tn-font-size]SUSv3\*[doc-str-St]\*[Rq])
673 .ds doc-str-St--svid4          System\~V Interface Definition, Fourth Edition
674 .as doc-str-St--svid4          " (\*[Lq]\*[doc-Tn-font-size]SVID\*[doc-str-St]\^4\*[Rq])
675 .ds doc-str-St--xbd5           \*[doc-Tn-font-size]X/Open\*[doc-str-St] Base Definitions Issue\~5
676 .as doc-str-St--xbd5           " (\*[Lq]\*[doc-Tn-font-size]XBD\*[doc-str-St]\^5\*[Rq])
677 .ds doc-str-St--xcu5           \*[doc-Tn-font-size]X/Open\*[doc-str-St] Commands and Utilities Issue\~5
678 .as doc-str-St--xcu5           " (\*[Lq]\*[doc-Tn-font-size]XCU\*[doc-str-St]\^5\*[Rq])
679 .ds doc-str-St--xcurses4.2     \*[doc-Tn-font-size]X/Open\*[doc-str-St] Curses Issue\~4, Version\~2
680 .as doc-str-St--xcurses4.2     " (\*[Lq]\*[doc-Tn-font-size]XCURSES\*[doc-str-St]\^4.2\*[Rq])
681 .ds doc-str-St--xns5           \*[doc-Tn-font-size]X/Open\*[doc-str-St] Networking Services Issue\~5
682 .as doc-str-St--xns5           " (\*[Lq]\*[doc-Tn-font-size]XNS\*[doc-str-St]\^5\*[Rq])
683 .ds doc-str-St--xns5.2         \*[doc-Tn-font-size]X/Open\*[doc-str-St] Networking Services Issue\~5.2
684 .as doc-str-St--xns5.2         " (\*[Lq]\*[doc-Tn-font-size]XNS\*[doc-str-St]\^5.2\*[Rq])
685 .ds doc-str-St--xpg3           \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~3
686 .as doc-str-St--xpg3           " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^3\*[Rq])
687 .ds doc-str-St--xpg4           \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~4
688 .as doc-str-St--xpg4           " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^4\*[Rq])
689 .ds doc-str-St--xpg4.2         \*[doc-Tn-font-size]X/Open\*[doc-str-St] Portability Guide Issue\~4, Version\~2
690 .as doc-str-St--xpg4.2         " (\*[Lq]\*[doc-Tn-font-size]XPG\*[doc-str-St]\^4.2\*[Rq])
691 .ds doc-str-St--xsh5           \*[doc-Tn-font-size]X/Open\*[doc-str-St] System Interfaces and Headers Issue\~5
692 .as doc-str-St--xsh5           " (\*[Lq]\*[doc-Tn-font-size]XSH\*[doc-str-St]\^5\*[Rq])
694 .\" Miscellaneous
695 .ds doc-str-St--ieee754        \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 754-1985
696 .ds doc-str-St--ieee1275-94     \*[doc-Tn-font-size]\%IEEE\*[doc-str-St] Std 1275-1994
697 .as doc-str-St--ieee1275-94     " (\*[Lq]\*[doc-Tn-font-size]Open Firmware\*[doc-str-St]\*[Rq])
698 .ds doc-str-St--iso8601        \*[doc-Tn-font-size]ISO\*[doc-str-St] 8601
699 .ds doc-str-St--iso8802-3      \*[doc-Tn-font-size]ISO/IEC\*[doc-str-St] 8802-3:1989
701 .de St
702 .  if !\n[doc-arg-limit] \{\
703 .    ie \n[.$] \{\
704 .      ds doc-macro-name St
705 .      doc-parse-args \$@
706 .    \}
707 .    el \
708 .      doc-St-usage
709 .  \}
711 .  if !\n[doc-arg-limit] \
712 .    return
714 .  nr doc-arg-ptr +1
715 .  ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
716 .    nr doc-curr-font \n[.f]
717 .    nr doc-curr-size \n[.ps]
718 .    ds doc-str-St \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
720 .    ds doc-str-St1
721 .    ie \A\a\*[doc-arg\n[doc-arg-ptr]]\a \{\
722 .      ie d doc-str-St-\*[doc-arg\n[doc-arg-ptr]] \
723 .        ds doc-str-St1 "\*[doc-str-St-\*[doc-arg\n[doc-arg-ptr]]]
724 .      el \{\
725 .        tmc "mdoc warning: .St: Unknown standard abbreviation
726 .        tm1 " `\*[doc-arg\n[doc-arg-ptr]]' (#\n[.c])
727 .        tm1 "              Please refer to the groff_mdoc(7) manpage for a
728 .        tm1 "              list of available standard abbreviations.
729 .    \}\}
730 .    el \
731 .      doc-St-usage
733 .    \" replacing argument with result
734 .    ds doc-arg\n[doc-arg-ptr] "\*[doc-str-St1]
736 .    doc-print-recursive
737 .  \}
738 .  el \{\
739 .    doc-St-usage
740 .    doc-reset-args
741 .  \}
745 .\" NS doc-St-usage macro
747 .de doc-St-usage
748 .  tm1 "Usage: .St standard (#\n[.c])
749 .  tm1 "       Please refer to the groff_mdoc(7) manpage for a list of
750 .  tm1 "       available standard abbreviations.
754 .\" NS Lb user macro
755 .\" NS   formal library names for LIBRARY sections
756 .\" NS
757 .\" NS modifies:
758 .\" NS   doc-arg-ptr
759 .\" NS   doc-curr-font
760 .\" NS   doc-curr-size
761 .\" NS   doc-macro-name
762 .\" NS
763 .\" NS local variable:
764 .\" NS   doc-reg-Lb
765 .\" NS   doc-str-Lb
766 .\" NS   doc-str-Lb1
767 .\" NS   doc-str-Lb-XXX
768 .\" NS
769 .\" NS width register `Lb' defined in doc-common
771 .ds doc-str-Lb-libarchive  Reading and Writing Streaming Archives Library (libarchive, \-larchive)
772 .ds doc-str-Lb-libarm      ARM Architecture Library (libarm, \-larm)
773 .ds doc-str-Lb-libarm32    ARM32 Architecture Library (libarm32, \-larm32)
774 .ds doc-str-Lb-libbluetooth Bluetooth Library (libbluetooth, \-lbluetooth)
775 .ds doc-str-Lb-libbsm      Basic Security Module Library (libbsm, \-lbsm)
776 .ds doc-str-Lb-libc        Standard C\~Library (libc, \-lc)
777 .ds doc-str-Lb-libc_r      Reentrant C\~Library (libc_r, \-lc_r)
778 .ds doc-str-Lb-libcalendar Calendar Arithmetic Library (libcalendar, \-lcalendar)
779 .ds doc-str-Lb-libcam      Common Access Method User Library (libcam, \-lcam)
780 .ds doc-str-Lb-libcdk      Curses Development Kit Library (libcdk, \-lcdk)
781 .ds doc-str-Lb-libcipher   FreeSec Crypt Library (libcipher, \-lcipher)
782 .ds doc-str-Lb-libcompat   Compatibility Library (libcompat, \-lcompat)
783 .ds doc-str-Lb-libcrypt    Crypt Library (libcrypt, \-lcrypt)
784 .ds doc-str-Lb-libcurses   Curses Library (libcurses, \-lcurses)
785 .ds doc-str-Lb-libdevinfo  Device and Resource Information Utility Library (libdevinfo, \-ldevinfo)
786 .ds doc-str-Lb-libdevstat  Device Statistics Library (libdevstat, \-ldevstat)
787 .ds doc-str-Lb-libdisk     Interface to Slice and Partition Labels Library (libdisk, \-ldisk)
788 .ds doc-str-Lb-libdwarf    DWARF Access Library (libdwarf, \-ldwarf)
789 .ds doc-str-Lb-libedit     Command Line Editor Library (libedit, \-ledit)
790 .ds doc-str-Lb-libelf      ELF Access Library (libelf, \-lelf)
791 .ds doc-str-Lb-libevent    Event Notification Library (libevent, \-levent)
792 .ds doc-str-Lb-libfetch    File Transfer Library for URLs (libfetch, \-lfetch)
793 .ds doc-str-Lb-libform     Curses Form Library (libform, \-lform)
794 .ds doc-str-Lb-libgeom     Userland API Library for kernel GEOM subsystem (libgeom, \-lgeom)
795 .ds doc-str-Lb-libgpib     General-Purpose Instrument Bus (GPIB) library (libgpib, \-lgpib)
796 .ds doc-str-Lb-libi386     i386 Architecture Library (libi386, \-li386)
797 .ds doc-str-Lb-libintl     Internationalized Message Handling Library (libintl, \-lintl)
798 .ds doc-str-Lb-libipsec    IPsec Policy Control Library (libipsec, \-lipsec)
799 .ds doc-str-Lb-libipx      IPX Address Conversion Support Library (libipx, \-lipx)
800 .ds doc-str-Lb-libiscsi    iSCSI protocol library (libiscsi, \-liscsi)
801 .ds doc-str-Lb-libjail     Jail Library (libjail, \-ljail)
802 .ds doc-str-Lb-libkiconv   Kernel side iconv library (libkiconv, \-lkiconv)
803 .ds doc-str-Lb-libkse      N:M Threading Library (libkse, \-lkse)
804 .ds doc-str-Lb-libkvm      Kernel Data Access Library (libkvm, \-lkvm)
805 .ds doc-str-Lb-libm        Math Library (libm, \-lm)
806 .ds doc-str-Lb-libm68k     m68k Architecture Library (libm68k, \-lm68k)
807 .ds doc-str-Lb-libmagic    Magic Number Recognition Library (libmagic, \-lmagic)
808 .ds doc-str-Lb-libmd       Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd)
809 .ds doc-str-Lb-libmemstat  Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat)
810 .ds doc-str-Lb-libmenu     Curses Menu Library (libmenu, \-lmenu)
811 .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
812 .ds doc-str-Lb-libnetpgp   Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp)
813 .ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio)
814 .ds doc-str-Lb-libpam      Pluggable Authentication Module Library (libpam, \-lpam)
815 .ds doc-str-Lb-libpcap     Packet Capture Library (libpcap, \-lpcap)
816 .ds doc-str-Lb-libpci      PCI Bus Access Library (libpci, \-lpci)
817 .ds doc-str-Lb-libpmc      Performance Counters Library (libpmc, \-lpmc)
818 .ds doc-str-Lb-libposix    \*[Px] \*[doc-str-Lb]Compatibility Library (libposix, \-lposix)
819 .ds doc-str-Lb-libprop     Property Container Object Library (libprop, \-lprop)
820 .ds doc-str-Lb-libpthread  \*[Px] \*[doc-str-Lb]Threads Library (libpthread, \-lpthread)
821 .ds doc-str-Lb-libpuffs    puffs Convenience Library (libpuffs, \-lpuffs)
822 .ds doc-str-Lb-librefuse   File System in Userspace Convenience Library (librefuse, \-lrefuse)
823 .ds doc-str-Lb-libresolv   DNS Resolver Library (libresolv, \-lresolv)
824 .ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss)
825 .ds doc-str-Lb-librpcsvc   RPC Service Library (librpcsvc, \-lrpcsvc)
826 .ds doc-str-Lb-librt       \*[Px] \*[doc-str-Lb]Real-time Library (librt, \-lrt)
827 .ds doc-str-Lb-libsdp      Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp)
828 .ds doc-str-Lb-libssp      Buffer Overflow Protection Library (libssp, \-lssp)
829 .ds doc-str-Lb-libSystem   System Library (libSystem, \-lSystem)
830 .ds doc-str-Lb-libtermcap  Termcap Access Library (libtermcap, \-ltermcap)
831 .ds doc-str-Lb-libterminfo Terminal Information Library (libterminfo, \-lterminfo)
832 .ds doc-str-Lb-libthr      1:1 Threading Library (libthr, \-lthr)
833 .ds doc-str-Lb-libufs      UFS File System Access Library (libufs, \-lufs)
834 .ds doc-str-Lb-libugidfw   File System Firewall Interface Library (libugidfw, \-lugidfw)
835 .ds doc-str-Lb-libulog     User Login Record Library (libulog, \-lulog)
836 .ds doc-str-Lb-libusbhid   USB Human Interface Devices Library (libusbhid, \-lusbhid)
837 .ds doc-str-Lb-libutil     System Utilities Library (libutil, \-lutil)
838 .ds doc-str-Lb-libvgl      Video Graphics Library (libvgl, \-lvgl)
839 .ds doc-str-Lb-libx86_64   x86_64 Architecture Library (libx86_64, \-lx86_64)
840 .ds doc-str-Lb-libz        Compression Library (libz, \-lz)
842 .de Lb
843 .  if !\n[doc-arg-limit] \{\
844 .    ie \n[.$] \{\
845 .      ds doc-macro-name Lb
846 .      doc-parse-args \$@
847 .    \}
848 .    el \
849 .      tm Usage: .Lb library_name ... (#\n[.c])
850 .  \}
852 .  if !\n[doc-arg-limit] \
853 .    return
855 .  nr doc-arg-ptr +1
856 .  ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\
857 .    nr doc-curr-font \n[.f]
858 .    nr doc-curr-size \n[.ps]
859 .    ds doc-str-Lb \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]
861 .    ie d doc-str-Lb-\*[doc-arg\n[doc-arg-ptr]] \
862 .      ds doc-str-Lb1 "\*[doc-str-Lb-\*[doc-arg\n[doc-arg-ptr]]]
863 .    el \{\
864 .      tmc "mdoc warning: .Lb: no description for library
865 .      tm1 " `\*[doc-arg\n[doc-arg-ptr]]' available (#\n[.c])
866 .      ds doc-str-Lb1 library \*[Lq]\*[doc-arg\n[doc-arg-ptr]]\*[Rq]
867 .    \}
869 .    \" replacing argument with result
870 .    ds doc-arg\n[doc-arg-ptr] "\*[doc-str-Lb1]
872 .    if \n[doc-in-library-section] \
873 .      br
874 .    doc-print-recursive
875 .    if \n[doc-in-library-section] \
876 .      br
877 .  \}
878 .  el \{\
879 .    tm Usage: .Lb library_name ... (#\n[.c])
880 .    doc-reset-args
881 .  \}
887 .\" s-ts-mode