diff options
author | wlemb <wlemb> | 2001-02-24 17:09:52 +0000 |
---|---|---|
committer | wlemb <wlemb> | 2001-02-24 17:09:52 +0000 |
commit | cea57dcc551ec4ff6f90eb5be07739194f740ee5 (patch) | |
tree | eacedd01a92206d357757826c79349cc50e8bc9d | |
parent | ee713a2d672f50dfd7c7a522fe5c282aac917d29 (diff) | |
download | groff-cea57dcc551ec4ff6f90eb5be07739194f740ee5.tar.gz |
internal update
-rwxr-xr-x | tmac/doc-common.new | 11 | ||||
-rwxr-xr-x | tmac/tmac.doc.new | 613 |
2 files changed, 194 insertions, 430 deletions
diff --git a/tmac/doc-common.new b/tmac/doc-common.new index 4a65ad84..590206d0 100755 --- a/tmac/doc-common.new +++ b/tmac/doc-common.new @@ -888,8 +888,6 @@ . tm doc-space-mode == \n[doc-space-mode] . tm doc-have-space == \n[doc-have-space] . tm doc-have-slot == \n[doc-have-slot] -. tm doc-curr-font-for-Ef == \n[doc-curr-font-for-Ef] -. tm doc-curr-size-for-Ef == \n[doc-curr-size-for-Ef] . tm doc-keep-type == `\*[doc-keep-type]' . tm doc-display-depth == \n[doc-display-depth] . tm doc-is-compact == \n[doc-is-compact] @@ -903,6 +901,15 @@ . nr doc-reg-Rd +1 . \} . +. tm doc-fontmode-depth == \n[doc-fontmode-depth] +. +. nr doc-reg-Rd 1 +. while (\n[doc-reg-Rd] <= \n[doc-fontmode-depth]) \{\ +. tm doc-fontmode-font-stack\n[doc-reg-Rd] == `\n[doc-fontmode-font-stack\n[doc-reg-Rd]]' +. tm doc-fontmode-size-stack\n[doc-reg-Rd] == `\n[doc-fontmode-size-stack\n[doc-reg-Rd]]' +. nr doc-reg-Rd +1 +. \} +. . tm doc-list-depth == \n[doc-list-depth] . . nr doc-reg-Rd 1 diff --git a/tmac/tmac.doc.new b/tmac/tmac.doc.new index f7377a94..ca24851b 100755 --- a/tmac/tmac.doc.new +++ b/tmac/tmac.doc.new @@ -663,6 +663,57 @@ .. . . +.\" NS doc-print-prefixes macro +.\" NS print leading prefixes +.\" NS +.\" NS modifies: +.\" NS doc-arg-ptr +. +.de doc-print-prefixes +. while (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ +. if !(\n[doc-type\n[doc-arg-ptr]] == 4) \ +. break +. nop \f[\n[doc-curr-font]]\s[\n[doc-curr-size]u]\c +. nop \)\*[doc-arg\n[doc-arg-ptr]]\f[P]\s[0]\c +. nr doc-arg-ptr +1 +. \} +.. +. +. +.\" NS doc-generic-macro macro +.\" NS this is the skeleton for most simple macros +.\" NS +.\" NS modifies: +.\" NS doc-arg-ptr +.\" NS doc-curr-font +.\" NS doc-curr-size +.\" NS doc-macro-name +. +.de doc-generic-macro +. if !\n[doc-arg-limit] \{\ +. ie \n[.$] \{\ +. ds doc-macro-name \$0 +. doc-parse-args \$@ +. \} +. el \ +. tm Usage: .\$0 \*[doc-\$0-usage] ... (#\n[.c]) +. \} +. +. if \n[doc-arg-limit] \{\ +. nr doc-arg-ptr +1 +. ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ +. nr doc-curr-font \n[.f] +. nr doc-curr-size \n[.ps] +. nop \*[doc-\$0-font]\c +. doc-print-recursive +. \} +. el \{\ +. tm Usage: .\$0 \*[doc-\$0-usage] ... (#\n[.c]) +. doc-reset-args +. \}\} +.. +. +. .\" NS Ar user macro .\" NS command line `argument' macro: `.Ar [args ...]' .\" NS @@ -695,6 +746,7 @@ . . if \n[doc-arg-limit] \{\ . nr doc-arg-ptr +1 +. doc-print-prefixes . ie (\n[doc-arg-limit] < \n[doc-arg-ptr]) \{\ . nop \)\*[doc-str-Ar-default]\&\f[P]\s[0]\c . doc-print-and-reset @@ -720,32 +772,10 @@ .\" NS Ad user macro .\" NS Addresses .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Ad' set in doc-common . -.de Ad -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Ad -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Ad address ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Ad-font]\c -. doc-print-recursive -. \} -.. +.als Ad doc-generic-macro +.ds doc-Ad-usage address . . .\" NS doc-in-synopsis-count global register @@ -822,32 +852,10 @@ .\" NS Cm user macro .\" NS interactive command modifier (flag) .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Cm' set in doc-common . -.de Cm -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Cm -. doc-parse-args \$@ -. \} -. el \{\ -. tm Usage: .Cm interactive_command_modifier ... (#\n[.c]) -. \}\} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Cm-font]\c -. doc-print-recursive -. \} -.. +.als Cm doc-generic-macro +.ds doc-Cm-usage interactive_command_modifier . . .\" NS Dv user macro @@ -855,125 +863,38 @@ .\" NS .\" NS this function uses the `Er' font .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Dv' set in doc-common . -.de Dv -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Dv -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Dv defined_variable ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Er-font]\c -. doc-print-recursive -. \} -.. +.als Dv doc-generic-macro +.ds doc-Dv-usage defined_variable +.als doc-Dv-font doc-Er-font . . .\" NS Em user macro .\" NS emphasis .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Em' set in doc-common . -.de Em -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Em -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Em text ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Em-font]\c -. doc-print-recursive -. \} -.. +.als Em doc-generic-macro +.ds doc-Em-usage text . . .\" NS Er user macro .\" NS errno type .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Er' set in doc-common . -.de Er -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Er -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Er errno_type ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Er-font]\c -. doc-print-recursive -. \} -.. +.als Er doc-generic-macro +.ds doc-Er-usage text . . .\" NS Ev user macro .\" NS environment variable .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Ev' set in doc-common . -.de Ev -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Ev -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Ev enviroment_variable ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Ev-font]\c -. doc-print-recursive -. \} -.. +.als Ev doc-generic-macro +.ds doc-Ev-usage text . . .\" NS doc-have-decl global register (bool) @@ -1065,128 +986,44 @@ .\" NS .\" NS this function uses the `Ar' font .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Fr' set in doc-common . -.de Fr -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Fr -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Fr function_return_value ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Ar-font]\c -. doc-print-recursive -. \} -.. +.als Fr doc-generic-macro +.ds doc-Fr-usage function_return_value +.als doc-Fr-font doc-Ar-font . . .\" NS Ic user macro .\" NS interactive command .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Ic' set in doc-common . -.de Ic -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Ic -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Ic interactive_command ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Ic-font]\c -. doc-print-recursive -. \} -.. +.als Ic doc-generic-macro +.ds doc-Ic-usage interactive_command . . .\" NS Li user macro .\" NS literals .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Li' set in doc-common . -.de Li -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Li -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Li argument ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Li-font]\c -. doc-print-recursive -. \} -.. +.als Li doc-generic-macro +.ds doc-Li-usage argument . . .\" NS Or user macro .\" NS pipe symbol (OR) .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name +.\" NS this function uses the `Ic' font .\" NS .\" NS width register `Or' set in doc-common .\" .\" XXX: What is this function good for? It sets a font but does not print .\" a pipe symbol. And it isn't documented. . -.de Or -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Or -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Or ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Ic-font]\c -. doc-print-recursive -. \} -.. +.als Or doc-generic-macro +.ds doc-Or-usage +.als doc-Or-font doc-Ic-font . . .\" NS Ms user macro @@ -1194,32 +1031,11 @@ .\" NS .\" NS this function uses the `Sy' font .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Ms' set in doc-common . -.de Ms -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Ms -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Ms math_symbol ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Sy-font]\c -. doc-print-recursive -. \} -.. +.als Ms doc-generic-macro +.ds doc-Ms-usage math_symbol +.als doc-Ms-font doc-Sy-font . . .\" NS doc-command-name global string @@ -1256,6 +1072,7 @@ . . if \n[doc-arg-limit] \{\ . nr doc-arg-ptr +1 +. doc-print-prefixes . ie (\n[doc-arg-limit] < \n[doc-arg-ptr]) \{\ . \" last argument . ie "\*[doc-command-name]"" \{\ @@ -1348,63 +1165,19 @@ .\" NS Sy user macro .\" NS symbolics .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Sy' set in doc-common . -.de Sy -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Sy -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Sy symbolic_text ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Sy-font]\c -. doc-print-recursive -. \} -.. +.als Sy doc-generic-macro +.ds doc-Sy-usage symbolic_text . . .\" NS Me user macro .\" NS menu entries .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Me' set in doc-common . -.de Me -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Me -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Me menu_entry ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Me-font]\c -. doc-print-recursive -. \} -.. +.als Me doc-generic-macro +.ds doc-Me-usage menu_entry . . .\" NS Tn user macro @@ -1450,63 +1223,19 @@ .\" NS Va user macro .\" NS variable name .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Va' set in doc-common . -.de Va -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Va -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Va variable_name ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Va-font]\c -. doc-print-recursive -. \} -.. +.als Va doc-generic-macro +.ds doc-Va-usage variable_name . . .\" NS No user macro .\" NS normal text macro (default text style if mess up) .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `No' set in doc-common . -.de No -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name No -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .No normal_text ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-No-font]\c -. doc-print-recursive -. \} -.. +.als No doc-generic-macro +.ds doc-No-usage normal_text . . .\" NS doc-quote-left global string @@ -1782,20 +1511,18 @@ . if \n[doc-in-synopsis-count] \ . doc-set-hard-space . -. \" the final `\)' prevents hyphenation in case the next character is `\%' -. ie \n[doc-arg-limit] \ -. nop \)\*[doc-quote-left]\)\c -. el \{\ -. doc-parse-args \$@ -. nop \)\*[doc-quote-left]\)\c -. -. if !\n[.$] \{\ -. \" no argument -. nop \)\*[doc-quote-right]\) +. if !\n[doc-arg-limit] \{\ +. ie \n[.$] \ +. doc-parse-args \$@ +. el \{\ +. nop \)\*[doc-quote-left]\*[doc-quote-right] . \}\} . . if \n[doc-arg-limit] \{\ . nr doc-arg-ptr +1 +. doc-print-prefixes +. \" the final `\)' prevents hyphenation in case the next character is `\%' +. nop \)\*[doc-quote-left]\)\c . ie (\n[doc-arg-limit] < \n[doc-arg-ptr]) \{\ . \" last argument . nop \)\*[doc-quote-right]\)\c @@ -2275,6 +2002,11 @@ .de doc-enclose-open . if !\n[doc-arg-limit] \ . doc-parse-args \$@ +. +. nr doc-arg-ptr +1 +. doc-print-prefixes +. nr doc-arg-ptr -1 +. . nop \)\*[doc-quote-left]\)\c . . \" start enclosure box @@ -2775,24 +2507,37 @@ .. . . -.\" NS doc-curr-font-for-Ef global register -.\" NS saved current font from `Bf' request +.\" NS doc-fontmode-depth global register +.\" NS font mode level +. +.nr doc-fontmode-depth 0 . -.nr doc-curr-font-for-Ef 0 . +.\" NS doc-fontmode-font-stackXXX global register +.\" NS stack of saved current font from `Bf' request +.\" NS +.\" NS limit: +.\" NS doc-fontmode-depth +. +.nr doc-fontmode-font-stack0 0 . -.\" NS doc-curr-size-for-Ef global register -.\" NS saved current size from `Bf' request . -.nr doc-curr-size-for-Ef 0 +.\" NS doc-fontmode-size-stackXXX global register +.\" NS stack of saved current size from `Bf' request +.\" NS +.\" NS limit: +.\" NS doc-fontmode-depth +. +.nr doc-fontmode-size-stack0 0 . . .\" NS Bf user macro .\" NS begin font mode (will be begin-mode/end-mode in groff & TeX) .\" NS .\" NS modifies: -.\" NS doc-curr-font-for-Ef -.\" NS doc-curr-size-for-Ef +.\" NS doc-fontmode-depth +.\" NS doc-fontmode-font-stackXXX +.\" NS doc-fontmode-size-stackXXX .\" NS doc-macro-name .\" NS .\" NS width register `Bf' set in doc-common @@ -2801,8 +2546,11 @@ . ds doc-macro-name Bf . . ie \n[.$] \{\ -. nr doc-curr-font-for-Ef \n[.f] -. nr doc-curr-size-for-Ef \n[.ps] +. nr doc-fontmode-depth +1 +. +. \" save current font and size +. nr doc-fontmode-font-stack\n[doc-fontmode-depth] \n[.f] +. nr doc-fontmode-size-stack\n[doc-fontmode-depth] \n[.ps] . . ie "\$1"Em" \ . nop \*[doc-Em-font]\c @@ -2836,10 +2584,17 @@ .de Ef . ds doc-macro-name Ef . -. ie \n[.$] \ -. tm Usage: .Ef (does not take arguments) (#\n[.c]) -. el \ -. nop \)\f[\n[doc-curr-font-for-Ef]]\s[\n[doc-curr-size-for-Ef]u] +. ie !\n[doc-fontmode-depth] \ +. tm mdoc warning: Extraneous .Ef (#\n[.c]) +. el \{\ +. \" restore saved font and size +. nop \)\f[\n[doc-fontmode-font-stack\n[doc-fontmode-depth]]]\c +. nop \)\s[\n[doc-fontmode-size-stack\n[doc-fontmode-depth]]u]\c +. +. nr doc-fontmode-font-stack\n[doc-fontmode-depth] 0 +. nr doc-fontmode-size-stack\n[doc-fontmode-depth] 0 +. nr doc-fontmode-depth -1 +. \} .. . . @@ -2978,10 +2733,11 @@ .\" NS doc-display-depth .\" NS doc-display-ad-stackXXX .\" NS doc-display-fi-stackXXX +.\" NS doc-display-file .\" NS doc-display-indent-stackXXX .\" NS doc-display-type-stackXXX .\" NS doc-is-compact -.\" NS dpc-macro-name +.\" NS doc-macro-name .\" NS .\" NS local variables: .\" NS doc-reg-Bd @@ -2991,6 +2747,7 @@ . . ie \n[.$] \{\ . nr doc-is-compact 0 +. ds doc-display-file . nr doc-reg-Bd 1 . nr doc-display-depth +1 . @@ -3062,11 +2819,15 @@ . if !\n[cR] \ . ne 2v . +. if !"\*[doc-display-file]"" \ +. so \*[doc-display-file] +. . nr doc-is-compact 0 +. ds doc-display-file . \} . el \{\ . tm1 "Usage: .Bd {-literal | -filled | -ragged | -centered | -unfilled} -. tm1 " [-offset [string]] [-compact] (#\n[.c]) +. tm1 " [-offset [string]] [-compact] [-file name] (#\n[.c]) . \} .. . @@ -3075,19 +2836,17 @@ .\" NS resolve remaining .Bd arguments .\" NS .\" NS modifies: +.\" NS doc-display-file .\" NS doc-display-indent-stackXXX .\" NS doc-is-compact .\" NS .\" NS local variables: .\" NS doc-reg-ddBa -.\" NS doc-str-ddBa . .de doc-do-Bd-args . nr doc-reg-ddBa 1 -. ds doc-str-ddBa . . ie "\$1"-offset" \{\ -. ds doc-str-ddBa "\$2 . nr doc-reg-ddBa 2 . . ie "\$2"left" \ @@ -3127,20 +2886,22 @@ . \} . el \{ .ie "\$1"-compact" \ . nr doc-is-compact 1 +. el \{ .ie "\$1"-file" \{\ +. ie !"\$2"" \{\ +. ds doc-display-file "\$2 +. nr doc-reg-ddBa 2 +. \} +. el \ +. tm mdoc warning: .Bd `-file' keyword requires argument (#\n[.c]) +. \} . el \ . tm mdoc warning: Unknown keyword `\$1' in .Bd request (#\n[.c]) -. \} +. \}\} . . if (\n[doc-reg-ddBa] < \n[.$]) \{\ -. \" have we seen `-offset' or `-compact'? -. ie "\*[doc-str-ddBa]"" \{\ -. shift -. doc-do-Bd-args \$@ -. \} -. el \{\ -. shift 2 -. doc-do-Bd-args \$@ -. \}\} +. shift \n[doc-reg-ddBa] +. doc-do-Bd-args \$@ +. \} .. . . @@ -3552,8 +3313,6 @@ . nr doc-space-mode-saved \n[doc-space-mode] . nr doc-have-space-saved \n[doc-have-space] . nr doc-have-slot-saved \n[doc-have-slot] -. nr doc-curr-font-for-Ef-saved \n[doc-curr-font-for-Ef] -. nr doc-curr-size-for-Ef-saved \n[doc-curr-size-for-Ef] . nr doc-keep-type-saved \n[doc-keep-type] . nr doc-display-depth-saved \n[doc-display-depth] . nr doc-is-compact-saved \n[doc-is-compact] @@ -3567,6 +3326,15 @@ . nr doc-reg-dsgv +1 . \} . +. nr doc-fontmode-depth-saved \n[doc-fontmode-depth] +. +. nr doc-reg-dsgv 1 +. while (\n[doc-reg-dsgv] <= \n[doc-fontmode-depth]) \{\ +. nr doc-fontmode-font-stack\n[doc-reg-dsgv]-saved \n[doc-fontmode-font-stack\n[doc-reg-dsgv]] +. nr doc-fontmode-size-stack\n[doc-reg-dsgv]-saved \n[doc-fontmode-size-stack\n[doc-reg-dsgv]] +. nr doc-reg-dsgv +1 +. \} +. . nr doc-list-depth-saved \n[doc-list-depth] . . nr doc-reg-dsgv 1 @@ -3685,8 +3453,6 @@ . nr doc-space-mode \n[doc-space-mode-saved] . nr doc-have-space \n[doc-have-space-saved] . nr doc-have-slot \n[doc-have-slot-saved] -. nr doc-curr-font-for-Ef \n[doc-curr-font-for-Ef-saved] -. nr doc-curr-size-for-Ef \n[doc-curr-size-for-Ef-saved] . nr doc-keep-type \n[doc-keep-type-saved] . nr doc-display-depth \n[doc-display-depth-saved] . nr doc-is-compact \n[doc-is-compact-saved] @@ -3700,6 +3466,15 @@ . nr doc-reg-drgv +1 . \} . +. nr doc-fontmode-depth \n[doc-fontmode-depth-saved] +. +. nr doc-reg-drgv 1 +. while (\n[doc-reg-drgv] <= \n[doc-fontmode-depth]) \{\ +. nr doc-fontmode-font-stack\n[doc-reg-drgv] \n[doc-fontmode-font-stack\n[doc-reg-drgv]]-saved +. nr doc-fontmode-size-stack\n[doc-reg-drgv] \n[doc-fontmode-size-stack\n[doc-reg-drgv]]-saved +. nr doc-reg-drgv +1 +. \} +. . nr doc-list-depth \n[doc-list-depth-saved] . . nr doc-reg-drgv 1 @@ -3707,10 +3482,10 @@ . ds doc-list-type-stack\n[doc-reg-drgv] "\*[doc-list-type-stack\n[doc-reg-drgv]-saved] . nr doc-list-indent-stack\n[doc-reg-drgv] \n[doc-list-indent-stack\n[doc-reg-drgv]-saved] . nr doc-compact-list-stack\n[doc-reg-drgv] \n[doc-compact-list-stack\n[doc-reg-drgv]-saved] -. ds doc-tag-prefix-stack\n[doc-reg-dsgv] "\*[doc-tag-prefix-stack\n[doc-reg-dsgv]-saved] +. ds doc-tag-prefix-stack\n[doc-reg-drgv] "\*[doc-tag-prefix-stack\n[doc-reg-drgv]-saved] . ds doc-tag-width-stack\n[doc-reg-drgv] "\*[doc-tag-width-stack\n[doc-reg-drgv]-saved] . nr doc-list-offset-stack\n[doc-reg-drgv] \n[doc-list-offset-stack\n[doc-reg-drgv]-saved] -. nr doc-enum-list-count-stack\n[doc-reg-dsgv] \n[doc-enum-list-count-stack\n[doc-reg-dsgv]-saved] +. nr doc-enum-list-count-stack\n[doc-reg-drgv] \n[doc-enum-list-count-stack\n[doc-reg-drgv]-saved] . nr doc-reg-drgv +1 . \} . @@ -4438,6 +4213,7 @@ . . if \n[doc-arg-limit] \{\ . nr doc-arg-ptr +1 +. doc-print-prefixes . ie (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ . \" first argument must be a string . ie (\n[doc-type\n[doc-arg-ptr]] == 2) \{\ @@ -4469,38 +4245,17 @@ . .de doc-Xr-usage . tm Usage: .Xr manpage_name [section#] ... (#\n[.c]) +. doc-reset-args .. . . .\" NS Sx user macro .\" NS cross section reference .\" NS -.\" NS modifies: -.\" NS doc-arg-ptr -.\" NS doc-curr-font -.\" NS doc-curr-size -.\" NS doc-macro-name -.\" NS .\" NS width register `Sx' set in doc-common . -.de Sx -. if !\n[doc-arg-limit] \{\ -. ie \n[.$] \{\ -. ds doc-macro-name Sx -. doc-parse-args \$@ -. \} -. el \ -. tm Usage: .Sx section_header ... (#\n[.c]) -. \} -. -. nr doc-arg-ptr +1 -. if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ -. nr doc-curr-font \n[.f] -. nr doc-curr-size \n[.ps] -. nop \*[doc-Sx-font]\c -. doc-print-recursive -. \} -.. +.als Sx doc-generic-macro +.ds doc-Sx-usage section_header . . .\" NS doc-end-column-list macro @@ -5028,6 +4783,7 @@ . \} . . nr doc-arg-ptr +1 +. doc-print-prefixes . if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ . nr doc-curr-font \n[.f] . nr doc-curr-size \n[.ps] @@ -5191,6 +4947,7 @@ . nf . . nr doc-arg-ptr +1 +. doc-print-prefixes . if (\n[doc-arg-limit] >= \n[doc-arg-ptr]) \{\ . nr doc-func-arg-count 1 . nr doc-curr-font \n[.f] |