Annotation of researchv10no/cmd/worm/scsi/tcl/tmac.sprite, revision 1.1

1.1     ! root        1: .\" This file contains a combination of the BSD -man macros and the Sprite
        !             2: .\" man macro additions which are stored in tmac.sprite.  This file is
        !             3: .\" useful for sending to UNIX systems with Sprite man pages, so that the
        !             4: .\" man pages may be formatted correctly.
        !             5: .\"
        !             6: .\" Copyright (c) 1980 Regents of the University of California.
        !             7: .\" All rights reserved.  The Berkeley software License Agreement
        !             8: .\" specifies the terms and conditions for redistribution.
        !             9: .\"
        !            10: .\"    @(#)tmac.an.new 6.3 (Berkeley) 2/2/86
        !            11: .\"
        !            12: '      DT, PD, SM, and B macros invoked internally.
        !            13: '      # month name
        !            14: .if "\nd"0" .nr m \n(mo-1
        !            15: .if "\nm"0" .ds ]m January
        !            16: .if "\nm"1" .ds ]m February
        !            17: .if "\nm"2" .ds ]m March
        !            18: .if "\nm"3" .ds ]m April
        !            19: .if "\nm"4" .ds ]m May
        !            20: .if "\nm"5" .ds ]m June
        !            21: .if "\nm"6" .ds ]m July
        !            22: .if "\nm"7" .ds ]m August
        !            23: .if "\nm"8" .ds ]m September
        !            24: .if "\nm"9" .ds ]m October
        !            25: .if "\nm"10" .ds ]m November
        !            26: .if "\nm"11" .ds ]m December
        !            27: '      # set the date
        !            28: .if n \{.nr m \nm+1
        !            29: .       ie \nd .ds ]W Modified \nm/\nd/\ny
        !            30: .       el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
        !            31: .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
        !            32: .       el .ds ]W \*(]m \n(dy, 19\n(yr\}
        !            33: .if t .ds ]W Sprite version 1.0
        !            34: .if n .ds ]W Sprite v1.0
        !            35: .if t .tr *\(**
        !            36: .ie n \{\
        !            37: .      ds lq \&"\"
        !            38: .      ds rq \&"\"
        !            39: .\}
        !            40: .el \{\
        !            41: .      ds rq ''
        !            42: .      ds lq ``
        !            43: .\}
        !            44: '      # reset the basic page layout
        !            45: .de }E
        !            46: .}f
        !            47: .in \\n()Ru+\\n(INu
        !            48: .ll \\n(LLu
        !            49: ..
        !            50: '      # default tabs
        !            51: .de DT
        !            52: 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
        !            53: ..
        !            54: '      # set type font and size
        !            55: .de }f
        !            56: .ps 10
        !            57: .ft 1
        !            58: ..
        !            59: '      # handle the head of the page
        !            60: .de }H
        !            61: .ev 1
        !            62: .}C
        !            63: .ie "\*(.T"va" 'sp .1i
        !            64: .el 'sp .5i
        !            65: .ft 1
        !            66: .ps 10
        !            67: .tl @\\*(]H@\\*(]D@\\*(]H@
        !            68: 'sp .5i
        !            69: .ev
        !            70: .ns
        !            71: ..
        !            72: '      # handle the foot of the page
        !            73: .de }F
        !            74: .ev 1
        !            75: .ft 1
        !            76: .ps 10
        !            77: 'sp .5i
        !            78: .tl @\\*(]W@\\*(]L@%@
        !            79: 'bp
        !            80: .ev
        !            81: ..
        !            82: '      # the cut mark
        !            83: .if !"\*(.T"vp" .ig
        !            84: .de }C
        !            85: .po 0i
        !            86: .lt 7.45i
        !            87: .tl '__''__'
        !            88: .po
        !            89: .lt
        !            90: ..
        !            91: '      # the final cut mark
        !            92: .de }M
        !            93: .}N
        !            94: .wh -1p }C
        !            95: .ll \\n(LLu
        !            96: ..
        !            97: '      # no runout unless there was a .TH
        !            98: .de }K
        !            99: .}N
        !           100: .pl 1
        !           101: .ll \\n(LLu
        !           102: ..
        !           103: .em }K
        !           104: '      # set title and heading
        !           105: .de TH
        !           106: .PD
        !           107: .if n .nr IN .5i
        !           108: .if t .nr IN .5i
        !           109: .nr LL \\n(.l
        !           110: .ds ]H \\$1
        !           111: .ds ]D UNKNOWN MANUAL SECTION
        !           112: .if '\\$2'1' .ds ]D User Commands
        !           113: .if '\\$2'1C' .ds ]D User Commands
        !           114: .if '\\$2'1L' .ds ]D User Commands
        !           115: .if '\\$2'6' .ds ]D Games and Demos
        !           116: .if '\\$2'7' .ds ]D Tables
        !           117: .if '\\$2'2' .ds ]D C Library Procedures
        !           118: .if '\\$2'3' .ds ]D C Library Procedures
        !           119: .if '\\$2'3C' .ds ]D C Library Procedures
        !           120: .if '\\$2'3F' .ds ]D Fortran Library Procedures
        !           121: .if '\\$2'3S' .ds ]D C Library Procedures
        !           122: .if '\\$2'3M' .ds ]D Mathematical Library Procedures
        !           123: .if '\\$2'3N' .ds ]D C Library Procedures
        !           124: .if '\\$2'3R' .ds ]D RPC Services
        !           125: .if '\\$2'3X' .ds ]D C Library Procedures
        !           126: .if '\\$2'5' .ds ]D File Formats
        !           127: .if '\\$2'4' .ds ]D Devices
        !           128: .if '\\$2'8' .ds ]D User Commands
        !           129: .ds ]L\"
        !           130: .if !"\\$3"" .ds ]L \\$3
        !           131: .if !"\\$4"" .ds ]W \\$4
        !           132: .wh 0 }H
        !           133: .if t .if !"\*(.T"va" .wh -1i }F
        !           134: .if t .if "\*(.T"va" .wh -1.4i }F
        !           135: .if n .wh -1.167i }F
        !           136: .em }M
        !           137: .if \\n(nl .bp 1
        !           138: .}E
        !           139: .DT
        !           140: .nr )I .5i
        !           141: .nr )R 0
        !           142: .if n .na
        !           143: ..
        !           144: '      # section heading
        !           145: .de SH
        !           146: .ss 12
        !           147: .if "\\$1"SYNOPSIS" .ss 18
        !           148: .}X 0
        !           149: .nr )E 2
        !           150: .SM
        !           151: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
        !           152: ..
        !           153: '      # sub section heading
        !           154: .de SS
        !           155: .ne 4
        !           156: .}X \\n()Ru+\\n(INu ""
        !           157: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
        !           158: .br
        !           159: ..
        !           160: '      # subroutine for section heading
        !           161: .de }X
        !           162: .}E
        !           163: .ti \\$1
        !           164: .sp \\n()Pu
        !           165: .ne 2
        !           166: .nr )R 0
        !           167: .fi
        !           168: .it 1 }N
        !           169: .B
        !           170: ..
        !           171: '      # end of SH (cf }X above and }N below)
        !           172: .de }2
        !           173: .nr )E 0
        !           174: .}E
        !           175: .nr )I .5i
        !           176: .ns
        !           177: ..
        !           178: '      # italic
        !           179: .de I
        !           180: .ft 2
        !           181: .it 1 }N
        !           182: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !           183: ..
        !           184: '      # bold
        !           185: .de B
        !           186: .ft 3
        !           187: .it 1 }N
        !           188: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !           189: ..
        !           190: '      # small
        !           191: .de SM
        !           192: .ps 9
        !           193: .it 1 }N
        !           194: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !           195: ..
        !           196: '      # combinations of Roman, italic, bold
        !           197: .de RI
        !           198: .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           199: ..
        !           200: .de RB
        !           201: .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           202: ..
        !           203: .de IR
        !           204: .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           205: ..
        !           206: .de IB
        !           207: .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           208: ..
        !           209: .de BR
        !           210: .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           211: ..
        !           212: .de BI
        !           213: .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
        !           214: ..
        !           215: '      # make special case of shift out of italic
        !           216: .de }S
        !           217: .ds ]F
        !           218: .if "\\$1"2" .if !"\\$5"" .ds ]F\^
        !           219: .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
        !           220: .el \\$3
        !           221: .}f
        !           222: ..
        !           223: '      # paragraph
        !           224: .de LP
        !           225: .PP
        !           226: ..
        !           227: .de PP
        !           228: .sp \\n()Pu
        !           229: .ne 1.1v
        !           230: .}E
        !           231: .nr )I .5i
        !           232: .ns
        !           233: ..
        !           234: '      # synonym for .PP
        !           235: .de P
        !           236: .PP
        !           237: ..
        !           238: '      # paragraph distance
        !           239: .de PD
        !           240: .if t .nr )P .4v
        !           241: .if n .nr )P 1v
        !           242: .if !"\\$1"" .nr )P \\$1v
        !           243: ..
        !           244: '      # paragraph with hanging indent
        !           245: .de HP
        !           246: .sp \\n()Pu
        !           247: .ne 1.1v
        !           248: .if !"\\$1"" .nr )I \\$1n
        !           249: .ll \\n(LLu
        !           250: .in \\n()Ru+\\n(INu+\\n()Iu
        !           251: .ti \\n()Ru+\\n(INu
        !           252: .}f
        !           253: ..
        !           254: '      # indented paragraph
        !           255: .de IP
        !           256: .TP \\$2
        !           257: \&\\$1
        !           258: ..
        !           259: '      # tagged paragraph (paragraph with hanging label)
        !           260: .de TP
        !           261: .if !"\\$1"" .nr )I \\$1n
        !           262: .sp \\n()Pu
        !           263: .ne 1.1v
        !           264: .in \\n()Ru
        !           265: .nr )E 1
        !           266: .ns
        !           267: .it 1 }N
        !           268: .di ]B
        !           269: ..
        !           270: '      # end of TP (cf }N below)
        !           271: .de }1
        !           272: .ds ]X \&\\*(]B\\
        !           273: .nr )E 0
        !           274: .if !"\\$1"" .nr )I \\$1n
        !           275: .}f
        !           276: .ll \\n(LLu
        !           277: .in \\n()Ru+\\n(INu+\\n()Iu
        !           278: .ti \\n(INu
        !           279: .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
        !           280: .br\}
        !           281: .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
        !           282: .}f
        !           283: ..
        !           284: '      # handle end of 1-line features
        !           285: .de }N
        !           286: .if \\n()E .br
        !           287: .di
        !           288: .if "\\n()E"0" .}f
        !           289: .if "\\n()E"1" .}1
        !           290: .if "\\n()E"2" .}2
        !           291: .nr )E 0
        !           292: ..
        !           293: '      # increase relative indent
        !           294: .de RS
        !           295: .nr ]\\n+()p \\n()I
        !           296: .nr )\\n()p \\n()R
        !           297: .ie !"\\$1"" .nr )R +\\$1n
        !           298: .el .nr )R +\\n()I
        !           299: .nr )I .5i
        !           300: .}E
        !           301: ..
        !           302: .de DS
        !           303: .RS
        !           304: .nf
        !           305: .sp
        !           306: ..
        !           307: '      # decrease relative indent
        !           308: .de RE
        !           309: .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
        !           310: .              el .nr )p \\$1 1\}
        !           311: .ds ]i \\*(]I\\n()p
        !           312: .ds ]r \\*(]R\\n()p
        !           313: .nr )I \\*(]i
        !           314: .nr )R \\*(]r
        !           315: .if \\n()p .nr )p -1
        !           316: .}E
        !           317: ..
        !           318: .de DE
        !           319: .fi
        !           320: .RE
        !           321: .sp.5
        !           322: ..
        !           323: .nr )p 0 1
        !           324: .ds ]I \\\\n(]
        !           325: .ds ]R \\\\n()
        !           326: .bd S B 3
        !           327: .if t .ds R \(rg
        !           328: .if n .ds R (Reg.)
        !           329: .ds S \s10
        !           330: .hy 14
        !           331: .if "\*(.T"va" .po -0.4i
        !           332: .\" This file contains extra Ditroff macros used in Sprite man pages:
        !           333: .\"
        !           334: .\" .HS name section [date [version]]
        !           335: .\"    Replacement for .TH in other man pages.  See below for valid
        !           336: .\"    section names.
        !           337: .\"
        !           338: .\" .LG
        !           339: .\"    Increase font size;  opposite of .SM
        !           340: .\"
        !           341: .\" .AP type name in/out [indent]
        !           342: .\"    Start paragraph describing an argument to a library procedure.
        !           343: .\"    type is type of argument (int, etc.), in/out is either "in", "out",
        !           344: .\"    or "in/out" to describe whether procedure reads or modifies arg,
        !           345: .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
        !           346: .\"    needed;  use .AS below instead)
        !           347: .\"
        !           348: .\" .AS [type [name]]
        !           349: .\"    Give maximum sizes of arguments for setting tab stops.  Type and
        !           350: .\"    name are examples of largest possible arguments that will be passed
        !           351: .\"    to .AP later.  If args are omitted, default tab stops are used.
        !           352: .\"
        !           353: .\" .BS
        !           354: .\"    Start box enclosure.  From here until next .BE, everything will be
        !           355: .\"    enclosed in one large box.
        !           356: .\"
        !           357: .\" .BE
        !           358: .\"    End of box enclosure.
        !           359: .\"
        !           360: .\" .VS
        !           361: .\"    Begin vertical sidebar, for use in marking newly-changed parts
        !           362: .\"    of man pages.
        !           363: .\"
        !           364: .\" .VE
        !           365: .\"    End of vertical sidebar.
        !           366: .\"
        !           367: '      # Heading for Sprite man pages
        !           368: .de HS
        !           369: .PD
        !           370: .DT
        !           371: .AS
        !           372: .if n .nr IN .5i
        !           373: .if t .nr IN .5i
        !           374: .nr LL \\n(.l
        !           375: .ds ]S UNKNOWN SECTION (\\$2)
        !           376: .if '\\$2'cmds'       .ds ]S User Commands
        !           377: .if '\\$2'lib'        .ds ]S C Library Procedures
        !           378: .if '\\$2'dev'        .ds ]S Devices
        !           379: .if '\\$2'tcl'        .ds ]S Tcl Command Language Library
        !           380: .if '\\$2'admin'      .ds ]S Administrative Commands
        !           381: .if '\\$2'daemons'    .ds ]S Daemons
        !           382: .if '\\$2'files'      .ds ]S File Formats
        !           383: .ds ]H \\$1
        !           384: .ds ]D \\*(]S
        !           385: .ie '\\$3'' .ds ]L  Printed:\\ \\ \\*(DY
        !           386: .el         .ds ]L  Modified:\\ \\ \\$3
        !           387: .if t .ie '\\$4'' .ds ]W Sprite version 1.0
        !           388: .if t .el         .ds ]W Sprite version \\$4
        !           389: .if n .ie '\\$4'' .ds ]W Sprite v.1.0
        !           390: .if n .el         .ds ]W Sprite v.\\$4
        !           391: .if !"\\$3"" .ds ]L \\$3
        !           392: .wh 0 }H
        !           393: .if t .wh -1i }B
        !           394: .if n .wh -1.167i }F
        !           395: .if \\n(nl .bp 1
        !           396: .em }M
        !           397: .}E
        !           398: .DT
        !           399: .nr )I .5i
        !           400: .nr )R 0
        !           401: ..
        !           402: '      # Increase point size 1 tick
        !           403: .de LG
        !           404: .ps +1
        !           405: .it 1 }N
        !           406: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
        !           407: ..
        !           408: '      # Start an argument description
        !           409: .de AP
        !           410: .ie !"\\$4"" .TP \\$4
        !           411: .el \{\
        !           412: .   ie !"\\$2"" .TP \\n()Cu
        !           413: .   el          .TP 15
        !           414: .\}
        !           415: .ie !"\\$3"" \{\
        !           416: .ta \\n()Au \\n()Bu
        !           417: \&\\$1 \\fI\\$2\\fP    (\\$3)
        !           418: .\".b
        !           419: .\}
        !           420: .el \{\
        !           421: .br
        !           422: .ie !"\\$2"" \{\
        !           423: \&\\$1 \\fI\\$2\\fP
        !           424: .\}
        !           425: .el \{\
        !           426: \&\\fI\\$1\\fP
        !           427: .\}
        !           428: .\}
        !           429: .DT
        !           430: ..
        !           431: '      # define tabbing values for .AP
        !           432: .de AS
        !           433: .nr )A 10n
        !           434: .if !"\\$1"" .nr )A \\w'\\$1'u+3n
        !           435: .nr )B \\n()Au+15n
        !           436: .\"
        !           437: .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
        !           438: .nr )C \\n()Bu+\\w'(in/out)'u+2n
        !           439: ..
        !           440: '      # BS - start boxed text
        !           441: .de BS
        !           442: .br
        !           443: .mk )a
        !           444: .ds )b 1
        !           445: .if n .nf
        !           446: .if n .ti 0
        !           447: .if n \l'\\n(.lu\(ul'
        !           448: .if n .fi
        !           449: ..
        !           450: '      # Special macro to handle page bottom:  finish off current
        !           451: '      # box/sidebar if in box/sidebar mode, then invoked standard
        !           452: '      # page bottom macro.
        !           453: .de }B
        !           454: .if '\\*()b'1' \{\
        !           455: .ev 1
        !           456: 'ti 0
        !           457: 'nf
        !           458: .if t \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
        !           459: 'sp -1
        !           460: .ev
        !           461: 'fi
        !           462: .\}
        !           463: .if '\\*()v'2' \{\
        !           464: .if t \{\
        !           465: .ev 1
        !           466: 'ti 0
        !           467: 'nf
        !           468: \h'|\\n(.lu+2n'\v'-1v'\L'|\\n()au-1v\(br'\v'-|\\n()au+2v'\h'-|\\n(.lu+2n'
        !           469: 'sp -1
        !           470: 'fi
        !           471: .ev
        !           472: .\}
        !           473: .\}
        !           474: .}F
        !           475: ..
        !           476: '      # What to do when the head of the page occurs during boxed text
        !           477: '      # or vertical sidebar: update starting position for box/sidebar.
        !           478: .am }H
        !           479: .mk )a
        !           480: ..
        !           481: '      # BE - end boxed text (draw box now)
        !           482: .de BE
        !           483: .sp -1
        !           484: .nf
        !           485: .ti 0
        !           486: .ie n \l'\\n(.lu\(ul'
        !           487: .el \{
        !           488: \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
        !           489: .\"   \h = move left 1.5n
        !           490: .\"   \L = draw up,   len=  )a units + 1.5v 
        !           491: .\"    \L draws a line, arg = distance. if negative, draws up.
        !           492: .\"    The position in reg. )a is used to draw the vertical lines.
        !           493: .\"      |\\n)au = distance from current loc. to )a (negative distance)
        !           494: .\"      -1.5v   = distance above )a since there is text at )a's location
        !           495: .\"   \l = draw right, len= cur. line length + 3n using underrule
        !           496: .\"   \L = draw down, len=  )a units + 1.5v 
        !           497: .\"   \l = draw left, back to original spot
        !           498: .\}
        !           499: .fi
        !           500: .br
        !           501: .ds )b 0
        !           502: ..
        !           503: '      # VS - start vertical sidebar
        !           504: .de VS
        !           505: .if n 'mc \s12\(br\s0
        !           506: .if t \{\
        !           507: .mk )a
        !           508: .ds )v 2
        !           509: .\}
        !           510: ..
        !           511: '      # VE - end of vertical sidebar
        !           512: .de VE
        !           513: .ev 1
        !           514: .if n 'mc
        !           515: .if t \{\
        !           516: .nf
        !           517: .ti 0
        !           518: \h'|\\n(.lu+2n'\L'|\\n()au-1v\(br'\v'-|\\n()au+1v'\h'-|\\n(.lu+2n'
        !           519: .sp -1
        !           520: .fi
        !           521: .\}
        !           522: .ds )v 0
        !           523: .ev
        !           524: ..
        !           525: .\"
        !           526: .\"  Define the string DY to be the current date
        !           527: .\"  format:  month day, year
        !           528: .\"
        !           529: .if \n(mo-0 .ds MO January
        !           530: .if \n(mo-1 .ds MO February
        !           531: .if \n(mo-2 .ds MO March
        !           532: .if \n(mo-3 .ds MO April
        !           533: .if \n(mo-4 .ds MO May
        !           534: .if \n(mo-5 .ds MO June
        !           535: .if \n(mo-6 .ds MO July
        !           536: .if \n(mo-7 .ds MO August
        !           537: .if \n(mo-8 .ds MO September
        !           538: .if \n(mo-9 .ds MO October
        !           539: .if \n(mo-10 .ds MO November
        !           540: .if \n(mo-11 .ds MO December
        !           541: .ds DY \*(MO \n(dy, 19\n(yr

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.