home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / lisp / tooltalk / tooltalk-util.elc < prev   
Emacs Compiled Lisp  |  1995-08-29  |  7.5 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
1% dexvert Combustion 2 Particle Library (other/combustion2ParticleLibrary) ext Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default
100% xdgMime text/x-emacs-lisp default (weak)



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 63 74 68 6f 6d 70 40 |piled by| cthomp@|
|00000020| 77 69 6c 6c 6f 77 2e 63 | 73 2e 75 69 75 63 2e 65 |willow.c|s.uiuc.e|
|00000030| 64 75 20 6f 6e 20 54 75 | 65 20 41 75 67 20 32 39 |du on Tu|e Aug 29|
|00000040| 20 31 34 3a 32 34 3a 30 | 33 20 31 39 39 35 0a 3b | 14:24:0|3 1995.;|
|00000050| 3b 3b 20 66 72 6f 6d 20 | 66 69 6c 65 20 2f 78 65 |;; from |file /xe|
|00000060| 6d 61 63 73 2f 78 65 6d | 61 63 73 2d 31 39 2e 31 |macs/xem|acs-19.1|
|00000070| 33 2d 72 65 6c 65 61 73 | 65 2f 65 64 69 74 6f 72 |3-releas|e/editor|
|00000080| 2f 6c 69 73 70 2f 74 6f | 6f 6c 74 61 6c 6b 2f 74 |/lisp/to|oltalk/t|
|00000090| 6f 6f 6c 74 61 6c 6b 2d | 75 74 69 6c 2e 65 6c 0a |ooltalk-|util.el.|
|000000a0| 3b 3b 3b 20 65 6d 61 63 | 73 20 76 65 72 73 69 6f |;;; emac|s versio|
|000000b0| 6e 20 31 39 2e 31 33 20 | 58 45 6d 61 63 73 20 4c |n 19.13 |XEmacs L|
|000000c0| 75 63 69 64 2e 0a 3b 3b | 3b 20 62 79 74 65 63 6f |ucid..;;|; byteco|
|000000d0| 6d 70 20 76 65 72 73 69 | 6f 6e 20 32 2e 32 35 3b |mp versi|on 2.25;|
|000000e0| 20 31 2d 53 65 70 2d 39 | 34 2e 0a 3b 3b 3b 20 6f | 1-Sep-9|4..;;; o|
|000000f0| 70 74 69 6d 69 7a 61 74 | 69 6f 6e 20 69 73 20 6f |ptimizat|ion is o|
|00000100| 6e 2e 0a 3b 3b 3b 20 74 | 68 69 73 20 66 69 6c 65 |n..;;; t|his file|
|00000110| 20 75 73 65 73 20 6f 70 | 63 6f 64 65 73 20 77 68 | uses op|codes wh|
|00000120| 69 63 68 20 64 6f 20 6e | 6f 74 20 65 78 69 73 74 |ich do n|ot exist|
|00000130| 20 69 6e 20 45 6d 61 63 | 73 20 31 38 2e 0a 0a 28 | in Emac|s 18...(|
|00000140| 69 66 20 28 61 6e 64 20 | 28 62 6f 75 6e 64 70 20 |if (and |(boundp |
|00000150| 27 65 6d 61 63 73 2d 76 | 65 72 73 69 6f 6e 29 0a |'emacs-v|ersion).|
|00000160| 09 20 28 6f 72 20 28 61 | 6e 64 20 28 62 6f 75 6e |. (or (a|nd (boun|
|00000170| 64 70 20 27 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |dp 'epoc|h::versi|
|00000180| 6f 6e 29 20 65 70 6f 63 | 68 3a 3a 76 65 72 73 69 |on) epoc|h::versi|
|00000190| 6f 6e 29 0a 09 20 20 20 | 20 20 28 73 74 72 69 6e |on).. | (strin|
|000001a0| 67 2d 6c 65 73 73 70 20 | 65 6d 61 63 73 2d 76 65 |g-lessp |emacs-ve|
|000001b0| 72 73 69 6f 6e 20 22 31 | 39 22 29 29 29 0a 20 20 |rsion "1|9"))). |
|000001c0| 20 20 28 65 72 72 6f 72 | 20 22 54 68 69 73 20 66 | (error| "This f|
|000001d0| 69 6c 65 20 77 61 73 20 | 63 6f 6d 70 69 6c 65 64 |ile was |compiled|
|000001e0| 20 66 6f 72 20 45 6d 61 | 63 73 20 31 39 2e 22 29 | for Ema|cs 19.")|
|000001f0| 29 0a 0a 28 66 73 65 74 | 20 27 69 6e 69 74 69 61 |)..(fset| 'initia|
|00000200| 6c 69 7a 65 2d 74 6f 6f | 6c 74 61 6c 6b 2d 6d 65 |lize-too|ltalk-me|
|00000210| 73 73 61 67 65 2d 61 72 | 67 20 23 5b 28 6d 73 67 |ssage-ar|g #[(msg|
|00000220| 20 6e 20 6d 6f 64 65 20 | 76 61 6c 75 65 20 76 74 | n mode |value vt|
|00000230| 79 70 65 29 20 22 08 54 | c1 5c 6e c3 5c 22 5a 89 |ype) ".T|.\n.\"Z.|
|00000240| 1c c5 56 ab 8e c6 5c 6e | 0e 07 0e 08 23 88 0c 53 |..V...\n|....#..S|
|00000250| 89 14 aa 6e 29 0e 09 a8 | ab 88 ca 0e 09 5c 6e cb |...n)...|.....\n.|
|00000260| 08 24 87 0e 09 3b ab 88 | ca 0e 09 5c 6e cc 08 24 |.$...;..|...\n..$|
|00000270| 87 cd ce cf 5c 6e 21 08 | cf 0e 09 21 24 87 22 20 |....\n!.|...!$." |
|00000280| 5b 6e 20 67 65 74 2d 74 | 6f 6f 6c 74 61 6c 6b 2d |[n get-t|ooltalk-|
|00000290| 6d 65 73 73 61 67 65 2d | 61 74 74 72 69 62 75 74 |message-|attribut|
|000002a0| 65 20 6d 73 67 20 61 72 | 67 73 5f 63 6f 75 6e 74 |e msg ar|gs_count|
|000002b0| 20 6e 2d 61 72 67 73 2d | 6e 65 65 64 65 64 20 30 | n-args-|needed 0|
|000002c0| 20 61 64 64 2d 74 6f 6f | 6c 74 61 6c 6b 2d 6d 65 | add-too|ltalk-me|
|000002d0| 73 73 61 67 65 2d 61 72 | 67 20 6d 6f 64 65 20 76 |ssage-ar|g mode v|
|000002e0| 74 79 70 65 20 76 61 6c | 75 65 20 73 65 74 2d 74 |type val|ue set-t|
|000002f0| 6f 6f 6c 74 61 6c 6b 2d | 6d 65 73 73 61 67 65 2d |ooltalk-|message-|
|00000300| 61 74 74 72 69 62 75 74 | 65 20 61 72 67 5f 69 76 |attribut|e arg_iv|
|00000310| 61 6c 20 61 72 67 5f 76 | 61 6c 20 65 72 72 6f 72 |al arg_v|al error|
|00000320| 20 22 54 68 65 20 76 61 | 6c 75 65 20 73 70 65 63 | "The va|lue spec|
|00000330| 69 66 69 65 64 20 66 6f | 72 20 6d 73 67 20 25 73 |ified fo|r msg %s|
|00000340| 20 61 72 67 75 6d 65 6e | 74 20 25 64 2c 20 25 73 | argumen|t %d, %s|
|00000350| 2c 20 6d 75 73 74 20 62 | 65 20 61 20 73 74 72 69 |, must b|e a stri|
|00000360| 6e 67 20 6f 72 20 61 6e | 20 69 6e 74 65 67 65 72 |ng or an| integer|
|00000370| 22 20 70 72 69 6e 31 2d | 74 6f 2d 73 74 72 69 6e |" prin1-|to-strin|
|00000380| 67 5d 20 37 20 22 5c 0a | 49 6e 69 74 69 61 6c 69 |g] 7 "\.|Initiali|
|00000390| 7a 65 20 74 68 65 20 4e | 74 68 20 74 6f 6f 6c 74 |ze the N|th toolt|
|000003a0| 61 6c 6b 20 6d 65 73 73 | 61 67 65 20 61 72 67 75 |alk mess|age argu|
|000003b0| 6d 65 6e 74 20 6f 66 20 | 4d 53 47 2e 0a 41 20 6e |ment of |MSG..A n|
|000003c0| 65 77 20 61 72 67 75 6d | 65 6e 74 20 69 73 20 63 |ew argum|ent is c|
|000003d0| 72 65 61 74 65 64 20 69 | 66 20 6e 65 63 65 73 73 |reated i|f necess|
|000003e0| 61 72 79 2e 20 20 4e 6f | 20 61 74 74 65 6d 70 74 |ary. No| attempt|
|000003f0| 20 74 6f 20 64 69 73 74 | 69 6e 67 75 69 73 68 0a | to dist|inguish.|
|00000400| 62 65 74 77 65 65 6e 20 | 73 74 72 69 6e 67 73 20 |between |strings |
|00000410| 74 68 61 74 20 63 6f 6e | 74 61 69 6e 20 62 69 6e |that con|tain bin|
|00000420| 61 72 79 20 64 61 74 61 | 20 61 6e 64 20 6f 72 64 |ary data| and ord|
|00000430| 69 6e 61 72 79 20 73 74 | 72 69 6e 67 73 20 69 73 |inary st|rings is|
|00000440| 20 6d 61 64 65 3b 0a 61 | 6c 6c 20 6e 6f 6e 20 69 | made;.a|ll non i|
|00000450| 6e 74 65 67 65 72 20 61 | 72 67 75 6d 65 6e 74 20 |nteger a|rgument |
|00000460| 76 61 6c 75 65 73 20 61 | 72 65 20 63 6f 6e 76 65 |values a|re conve|
|00000470| 72 74 65 64 20 74 6f 20 | 61 20 73 74 72 69 6e 67 |rted to |a string|
|00000480| 20 28 69 66 20 6e 6f 74 | 20 61 0a 73 74 72 69 6e | (if not| a.strin|
|00000490| 67 20 61 6c 72 65 61 64 | 79 29 20 61 6e 64 20 6c |g alread|y) and l|
|000004a0| 6f 61 64 65 64 20 77 69 | 74 68 20 74 74 5f 6d 65 |oaded wi|th tt_me|
|000004b0| 73 73 61 67 65 5f 61 72 | 67 5f 76 61 6c 5f 73 65 |ssage_ar|g_val_se|
|000004c0| 74 28 29 2e 0a 41 70 70 | 6c 69 63 61 74 69 6f 6e |t()..App|lication|
|000004d0| 73 20 74 68 61 74 20 6e | 65 65 64 20 74 6f 20 70 |s that n|eed to p|
|000004e0| 75 74 20 62 69 6e 61 72 | 79 20 64 61 74 61 20 69 |ut binar|y data i|
|000004f0| 6e 74 6f 20 61 20 54 6f | 6f 6c 54 61 6c 6b 20 6d |nto a To|olTalk m|
|00000500| 65 73 73 61 67 65 0a 61 | 72 67 75 6d 65 6e 74 20 |essage.a|rgument |
|00000510| 73 68 6f 75 6c 64 20 69 | 6e 69 74 69 61 6c 69 7a |should i|nitializ|
|00000520| 65 20 74 68 65 20 61 72 | 67 75 6d 65 6e 74 20 77 |e the ar|gument w|
|00000530| 69 74 68 3a 0a 0a 20 20 | 20 28 73 65 74 2d 74 6f |ith:.. | (set-to|
|00000540| 6f 6c 74 61 6c 6b 2d 6d | 65 73 73 61 67 65 2d 61 |oltalk-m|essage-a|
|00000550| 74 74 72 69 62 75 74 65 | 20 62 69 6e 2d 73 74 72 |ttribute| bin-str|
|00000560| 69 6e 67 20 6d 73 67 20 | 27 61 72 67 5f 62 76 61 |ing msg |'arg_bva|
|00000570| 6c 20 61 72 67 2d 6e 29 | 22 5d 29 0a 28 62 79 74 |l arg-n)|"]).(byt|
|00000580| 65 2d 63 6f 64 65 20 22 | c0 c1 c2 08 09 5c 6e af |e-code "|.....\n.|
|00000590| 06 13 c0 87 22 20 5b 54 | 54 5f 49 4e 20 54 54 5f |...." [T|T_IN TT_|
|000005a0| 4f 55 54 20 54 54 5f 49 | 4e 4f 55 54 20 74 6f 6f |OUT TT_I|NOUT too|
|000005b0| 6c 74 61 6c 6b 2d 61 72 | 67 2d 6d 6f 64 65 2d 69 |ltalk-ar|g-mode-i|
|000005c0| 64 73 5d 20 36 29 0a 28 | 66 73 65 74 20 27 69 6e |ds] 6).(|fset 'in|
|000005d0| 69 74 69 61 6c 69 7a 65 | 2d 74 6f 6f 6c 74 61 6c |itialize|-tooltal|
|000005e0| 6b 2d 6d 65 73 73 61 67 | 65 2f 70 61 74 74 65 72 |k-messag|e/patter|
|000005f0| 6e 2d 61 72 67 73 20 23 | 5b 28 69 6e 69 74 66 6e |n-args #|[(initfn|
|00000600| 20 6d 73 67 20 61 72 67 | 73 29 20 22 c0 19 5c 6e | msg arg|s) "..\n|
|00000610| ad df 5c 6e 40 89 1b 3a | ad 84 0b 40 0c 9d 89 1d |..\n@..:|...@....|
|00000620| ab 84 0b 40 aa 82 0e 06 | 1e 07 0d ac 83 0b aa 8a |...@....|........|
|00000630| 0b 41 ab 85 0b 41 40 aa | 81 c8 1e 09 0d ab 92 0b |.A...A@.|........|
|00000640| 41 41 ab 8d 0b 41 41 40 | 3b ab 86 0b 41 41 40 aa |AA...AA@|;...AA@.|
|00000650| 89 0e 09 a8 ab 83 ca aa | 81 cb 1e 0c 0e 0d 0e 0e |........|........|
|00000660| 09 0e 07 0e 09 0e 0c 25 | 88 2d 5c 6e 41 12 09 54 |.......%|.-\nA..T|
|00000670| 11 aa 1e 29 87 22 20 5b | 30 20 6e 20 61 72 67 73 |...)." [|0 n args|
|00000680| 20 61 72 67 20 74 6f 6f | 6c 74 61 6c 6b 2d 61 72 | arg too|ltalk-ar|
|00000690| 67 2d 6d 6f 64 65 2d 69 | 64 73 20 6c 6f 6e 67 2d |g-mode-i|ds long-|
|000006a0| 66 6f 72 6d 20 54 54 5f | 49 4e 20 6d 6f 64 65 20 |form TT_|IN mode |
|000006b0| 22 22 20 76 61 6c 75 65 | 20 22 69 6e 74 22 20 22 |"" value| "int" "|
|000006c0| 73 74 72 69 6e 67 22 20 | 74 79 70 65 20 69 6e 69 |string" |type ini|
|000006d0| 74 66 6e 20 6d 73 67 5d | 20 37 20 22 5c 0a 41 70 |tfn msg]| 7 "\.Ap|
|000006e0| 70 6c 79 20 49 4e 49 54 | 46 4e 20 74 6f 20 65 61 |ply INIT|FN to ea|
|000006f0| 63 68 20 74 68 65 20 70 | 6f 73 69 74 69 6f 6e 20 |ch the p|osition |
|00000700| 6d 6f 64 65 20 76 61 6c | 75 65 20 61 6e 64 20 74 |mode val|ue and t|
|00000710| 79 70 65 20 6f 66 0a 65 | 61 63 68 20 61 72 67 75 |ype of.e|ach argu|
|00000720| 6d 65 6e 74 20 69 6e 20 | 74 68 65 20 6c 69 73 74 |ment in |the list|
|00000730| 2e 20 20 54 68 65 20 76 | 61 6c 75 65 20 6f 66 20 |. The v|alue of |
|00000740| 49 4e 49 54 46 4e 20 73 | 68 6f 75 6c 64 20 62 65 |INITFN s|hould be|
|00000750| 20 65 69 74 68 65 72 0a | 27 69 6e 69 74 69 61 6c | either.|'initial|
|00000760| 69 7a 65 2d 74 6f 6f 6c | 74 61 6c 6b 2d 6d 65 73 |ize-tool|talk-mes|
|00000770| 73 61 67 65 2d 61 72 67 | 20 6f 72 20 27 69 6e 69 |sage-arg| or 'ini|
|00000780| 74 69 61 6c 69 7a 65 2d | 74 6f 6f 6c 74 61 6c 6b |tialize-|tooltalk|
|00000790| 2d 70 61 74 74 65 72 6e | 2d 61 72 67 2e 0a 53 65 |-pattern|-arg..Se|
|000007a0| 65 20 60 6d 61 6b 65 2d | 74 6f 6f 6c 74 61 6c 6b |e `make-|tooltalk|
|000007b0| 2d 6d 65 73 73 61 67 65 | 27 20 66 6f 72 20 61 20 |-message|' for a |
|000007c0| 64 65 73 63 72 69 70 74 | 69 6f 6e 20 6f 66 20 68 |descript|ion of h|
|000007d0| 6f 77 20 61 72 67 75 6d | 65 6e 74 73 20 61 72 65 |ow argum|ents are|
|000007e0| 20 73 70 65 63 69 66 69 | 65 64 2e 0a 57 65 20 64 | specifi|ed..We d|
|000007f0| 69 73 74 69 6e 67 75 69 | 73 68 20 74 68 65 20 73 |istingui|sh the s|
|00000800| 68 6f 72 74 20 66 6f 72 | 6d 20 66 6f 72 20 61 72 |hort for|m for ar|
|00000810| 67 75 6d 65 6e 74 73 2c | 20 65 2e 67 2e 20 5c 22 |guments,| e.g. \"|
|00000820| 6a 75 73 74 2d 61 2d 76 | 61 6c 75 65 5c 22 2c 20 |just-a-v|alue\", |
|00000830| 0a 66 72 6f 6d 20 74 68 | 65 20 6c 6f 6e 67 20 66 |.from th|e long f|
|00000840| 6f 72 6d 20 62 79 20 63 | 68 65 63 6b 69 6e 67 20 |orm by c|hecking |
|00000850| 74 6f 20 73 65 65 20 69 | 66 20 74 68 65 20 61 72 |to see i|f the ar|
|00000860| 67 75 6d 65 6e 74 20 69 | 73 20 61 20 6c 69 73 74 |gument i|s a list|
|00000870| 20 77 68 6f 73 65 0a 63 | 61 72 20 69 73 20 6f 6e | whose.c|ar is on|
|00000880| 65 20 6f 66 20 74 68 65 | 20 54 6f 6f 6c 54 61 6c |e of the| ToolTal|
|00000890| 6b 20 6d 6f 64 65 20 76 | 61 6c 75 65 73 20 6c 69 |k mode v|alues li|
|000008a0| 6b 65 20 54 54 5f 49 4e | 4f 55 54 2e 22 5d 29 0a |ke TT_IN|OUT."]).|
|000008b0| 28 66 73 65 74 20 27 69 | 6e 69 74 69 61 6c 69 7a |(fset 'i|nitializ|
|000008c0| 65 2d 74 6f 6f 6c 74 61 | 6c 6b 2d 6d 65 73 73 61 |e-toolta|lk-messa|
|000008d0| 67 65 2d 61 74 74 72 69 | 62 75 74 65 73 20 23 5b |ge-attri|butes #[|
|000008e0| 28 6d 73 67 20 61 74 74 | 72 69 62 75 74 65 73 29 |(msg att|ributes)|
|000008f0| 20 22 08 c1 1a 89 1b ad | a9 0b 41 ad a5 0b 40 0b | "......|..A...@.|
|00000900| 41 40 1c 89 1d c3 3d ab | 89 c6 5c 6e 0e 07 0c 23 |A@....=.|..\n...#|
|00000910| 88 aa 87 c8 0c 0e 07 0d | 23 88 2a 0b 41 41 89 13 |........|#.*.AA..|
|00000920| ac 58 c9 2a 87 22 20 5b | 61 74 74 72 69 62 75 74 |.X.*." [|attribut|
|00000930| 65 73 20 69 6e 69 74 69 | 61 6c 69 7a 65 2d 74 6f |es initi|alize-to|
|00000940| 6f 6c 74 61 6c 6b 2d 6d | 65 73 73 61 67 65 2d 61 |oltalk-m|essage-a|
|00000950| 72 67 20 69 6e 69 74 66 | 6e 20 61 72 67 73 20 76 |rg initf|n args v|
|00000960| 61 6c 75 65 20 69 6e 64 | 69 63 61 74 6f 72 20 69 |alue ind|icator i|
|00000970| 6e 69 74 69 61 6c 69 7a | 65 2d 74 6f 6f 6c 74 61 |nitializ|e-toolta|
|00000980| 6c 6b 2d 6d 65 73 73 61 | 67 65 2f 70 61 74 74 65 |lk-messa|ge/patte|
|00000990| 72 6e 2d 61 72 67 73 20 | 6d 73 67 20 73 65 74 2d |rn-args |msg set-|
|000009a0| 74 6f 6f 6c 74 61 6c 6b | 2d 6d 65 73 73 61 67 65 |tooltalk|-message|
|000009b0| 2d 61 74 74 72 69 62 75 | 74 65 20 6e 69 6c 5d 20 |-attribu|te nil] |
|000009c0| 35 20 22 5c 0a 49 6e 69 | 74 69 61 6c 69 7a 65 20 |5 "\.Ini|tialize |
|000009d0| 74 68 65 20 74 6f 6f 6c | 74 61 6c 6b 20 6d 65 73 |the tool|talk mes|
|000009e0| 73 61 67 65 20 61 74 74 | 72 69 62 75 74 65 73 2e |sage att|ributes.|
|000009f0| 20 20 54 68 65 20 76 61 | 6c 75 65 20 6f 66 20 0a | The va|lue of .|
|00000a00| 61 74 74 72 69 62 75 74 | 65 73 20 6d 75 73 74 20 |attribut|es must |
|00000a10| 62 65 20 61 20 70 72 6f | 70 65 72 74 79 20 6c 69 |be a pro|perty li|
|00000a20| 73 74 20 69 6e 20 74 68 | 65 20 73 61 6d 65 20 66 |st in th|e same f|
|00000a30| 6f 72 6d 20 61 73 20 66 | 6f 72 20 0a 6d 61 6b 65 |orm as f|or .make|
|00000a40| 2d 74 6f 6f 6c 74 61 6c | 6b 2d 6d 65 73 73 61 67 |-tooltal|k-messag|
|00000a50| 65 2e 20 20 54 68 69 73 | 20 66 75 6e 63 74 69 6f |e. This| functio|
|00000a60| 6e 20 63 61 6e 20 62 65 | 20 75 73 65 64 20 74 6f |n can be| used to|
|00000a70| 20 72 65 73 65 74 0a 61 | 6e 20 65 78 69 73 74 69 | reset.a|n existi|
|00000a80| 6e 67 20 6d 65 73 73 61 | 67 65 20 6f 72 20 74 6f |ng messa|ge or to|
|00000a90| 20 69 6e 69 74 61 69 6c | 69 7a 65 20 61 20 6e 65 | initail|ize a ne|
|00000aa0| 77 20 6f 6e 65 2e 20 20 | 53 65 65 20 0a 69 6e 69 |w one. |See .ini|
|00000ab0| 74 69 61 6c 69 7a 65 2d | 74 6f 6f 6c 74 61 6c 6b |tialize-|tooltalk|
|00000ac0| 2d 6d 65 73 73 61 67 65 | 2d 61 72 67 73 20 66 6f |-message|-args fo|
|00000ad0| 72 20 61 20 64 65 73 63 | 72 69 70 74 69 6f 6e 20 |r a desc|ription |
|00000ae0| 6f 66 20 68 6f 77 0a 61 | 72 67 75 6d 65 6e 74 73 |of how.a|rguments|
|00000af0| 20 61 72 65 20 69 6e 69 | 74 69 61 6c 69 7a 65 64 | are ini|tialized|
|00000b00| 2e 22 5d 29 0a 28 66 73 | 65 74 20 27 6d 61 6b 65 |."]).(fs|et 'make|
|00000b10| 2d 74 6f 6f 6c 74 61 6c | 6b 2d 6d 65 73 73 61 67 |-tooltal|k-messag|
|00000b20| 65 20 23 5b 28 61 74 74 | 72 69 62 75 74 65 73 20 |e #[(att|ributes |
|00000b30| 26 6f 70 74 69 6f 6e 61 | 6c 20 6e 6f 2d 63 61 6c |&optiona|l no-cal|
|00000b40| 6c 62 61 63 6b 29 20 22 | c0 09 21 1a c3 5c 6e 0c |lback) "|..!..\n.|
|00000b50| 5c 22 88 5c 6e 29 87 22 | 20 5b 63 72 65 61 74 65 |\".\n)."| [create|
|00000b60| 2d 74 6f 6f 6c 74 61 6c | 6b 2d 6d 65 73 73 61 67 |-tooltal|k-messag|
|00000b70| 65 20 6e 6f 2d 63 61 6c | 6c 62 61 63 6b 20 6d 73 |e no-cal|lback ms|
|00000b80| 67 20 69 6e 69 74 69 61 | 6c 69 7a 65 2d 74 6f 6f |g initia|lize-too|
|00000b90| 6c 74 61 6c 6b 2d 6d 65 | 73 73 61 67 65 2d 61 74 |ltalk-me|ssage-at|
|00000ba0| 74 72 69 62 75 74 65 73 | 20 61 74 74 72 69 62 75 |tributes| attribu|
|00000bb0| 74 65 73 5d 20 33 20 22 | 5c 0a 43 72 65 61 74 65 |tes] 3 "|\.Create|
|00000bc0| 20 61 20 74 6f 6f 6c 74 | 61 6c 6b 20 6d 65 73 73 | a toolt|alk mess|
|00000bd0| 61 67 65 20 61 6e 64 20 | 69 6e 69 74 69 61 6c 69 |age and |initiali|
|00000be0| 7a 65 20 69 74 73 20 61 | 74 74 72 69 62 75 74 65 |ze its a|ttribute|
|00000bf0| 73 2e 0a 54 68 65 20 76 | 61 6c 75 65 20 6f 66 20 |s..The v|alue of |
|00000c00| 61 74 74 72 69 62 75 74 | 65 73 20 6d 75 73 74 20 |attribut|es must |
|00000c10| 62 65 20 61 20 6c 69 73 | 74 20 6f 66 20 61 6c 74 |be a lis|t of alt|
|00000c20| 65 72 6e 61 74 69 6e 67 | 20 6b 65 79 77 6f 72 64 |ernating| keyword|
|00000c30| 2f 76 61 6c 75 65 73 2c | 20 0a 77 68 65 72 65 20 |/values,| .where |
|00000c40| 6b 65 79 77 6f 72 64 73 | 20 61 72 65 20 73 79 6d |keywords| are sym|
|00000c50| 62 6f 6c 73 20 74 68 61 | 74 20 6e 61 6d 65 20 76 |bols tha|t name v|
|00000c60| 61 6c 69 64 20 6d 65 73 | 73 61 67 65 20 61 74 74 |alid mes|sage att|
|00000c70| 72 69 62 75 74 65 73 2e | 20 20 0a 46 6f 72 20 65 |ributes.| .For e|
|00000c80| 78 61 6d 70 6c 65 3a 0a | 0a 20 20 28 6d 61 6b 65 |xample:.|. (make|
|00000c90| 2d 74 6f 6f 6c 74 61 6c | 6b 2d 6d 65 73 73 61 67 |-tooltal|k-messag|
|00000ca0| 65 20 0a 20 20 20 20 27 | 28 63 6c 61 73 73 20 54 |e . '|(class T|
|00000cb0| 54 5f 4e 4f 54 49 43 45 | 0a 20 20 20 20 20 20 73 |T_NOTICE|. s|
|00000cc0| 63 6f 70 65 20 54 54 5f | 53 45 53 53 49 4f 4e 0a |cope TT_|SESSION.|
|00000cd0| 20 20 20 20 20 20 61 64 | 64 72 65 73 73 20 54 54 | ad|dress TT|
|00000ce0| 5f 50 52 4f 43 45 44 55 | 52 45 0a 20 20 20 20 20 |_PROCEDU|RE. |
|00000cf0| 20 6f 70 20 5c 22 64 6f | 2d 73 6f 6d 65 74 68 69 | op \"do|-somethi|
|00000d00| 6e 67 5c 22 0a 20 20 20 | 20 20 20 61 72 67 73 20 |ng\". | args |
|00000d10| 28 5c 22 61 72 67 31 5c | 22 20 31 32 33 34 35 20 |(\"arg1\|" 12345 |
|00000d20| 28 54 54 5f 49 4e 4f 55 | 54 20 5c 22 61 72 67 33 |(TT_INOU|T \"arg3|
|00000d30| 5c 22 20 5c 22 73 74 72 | 69 6e 67 5c 22 29 29 29 |\" \"str|ing\")))|
|00000d40| 29 0a 0a 56 61 6c 75 65 | 73 20 6d 75 73 74 20 61 |)..Value|s must a|
|00000d50| 6c 77 61 79 73 20 62 65 | 20 73 74 72 69 6e 67 73 |lways be| strings|
|00000d60| 2c 20 69 6e 74 65 67 65 | 72 73 2c 20 6f 72 20 73 |, intege|rs, or s|
|00000d70| 79 6d 62 6f 6c 73 20 74 | 68 61 74 0a 72 65 70 72 |ymbols t|hat.repr|
|00000d80| 65 73 65 6e 74 20 54 6f | 6f 6c 74 61 6c 6b 20 63 |esent To|oltalk c|
|00000d90| 6f 6e 73 74 61 6e 74 73 | 2e 20 20 41 74 74 72 69 |onstants|. Attri|
|00000da0| 62 75 74 65 20 6e 61 6d | 65 73 20 61 72 65 20 74 |bute nam|es are t|
|00000db0| 68 65 20 73 61 6d 65 20 | 61 73 20 0a 74 68 6f 73 |he same |as .thos|
|00000dc0| 65 20 73 75 70 70 6f 72 | 74 65 64 20 62 79 20 73 |e suppor|ted by s|
|00000dd0| 65 74 2d 74 6f 6f 6c 74 | 61 6c 6b 2d 6d 65 73 73 |et-toolt|alk-mess|
|00000de0| 61 67 65 2d 61 74 74 72 | 69 62 75 74 65 2c 20 70 |age-attr|ibute, p|
|00000df0| 6c 75 73 20 27 61 72 67 | 73 2e 0a 0a 54 68 65 20 |lus 'arg|s...The |
|00000e00| 76 61 6c 75 65 20 6f 66 | 20 61 72 67 73 20 73 68 |value of| args sh|
|00000e10| 6f 75 6c 64 20 62 65 20 | 61 20 6c 69 73 74 20 6f |ould be |a list o|
|00000e20| 66 20 6d 65 73 73 61 67 | 65 20 61 72 67 75 6d 65 |f messag|e argume|
|00000e30| 6e 74 73 20 77 68 65 72 | 65 0a 65 61 63 68 20 6d |nts wher|e.each m|
|00000e40| 65 73 73 61 67 65 20 61 | 72 67 75 6d 65 6e 74 20 |essage a|rgument |
|00000e50| 68 61 73 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |has the |followin|
|00000e60| 67 20 66 6f 72 6d 3a 0a | 0a 20 20 20 28 6d 6f 64 |g form:.|. (mod|
|00000e70| 65 20 5b 76 61 6c 75 65 | 20 5b 74 79 70 65 5d 5d |e [value| [type]]|
|00000e80| 29 20 6f 72 20 6a 75 73 | 74 20 76 61 6c 75 65 0a |) or jus|t value.|
|00000e90| 0a 57 68 65 72 65 20 6d | 6f 64 65 20 69 73 20 6f |.Where m|ode is o|
|00000ea0| 6e 65 20 6f 66 20 54 54 | 5f 49 4e 2c 20 54 54 5f |ne of TT|_IN, TT_|
|00000eb0| 4f 55 54 2c 20 54 54 5f | 49 4e 4f 55 54 20 61 6e |OUT, TT_|INOUT an|
|00000ec0| 64 20 74 79 70 65 20 69 | 73 20 61 20 73 74 72 69 |d type i|s a stri|
|00000ed0| 6e 67 2e 20 20 0a 49 66 | 20 74 79 70 65 20 69 73 |ng. .If| type is|
|00000ee0| 6e 27 74 20 73 70 65 63 | 69 66 69 65 64 20 74 68 |n't spec|ified th|
|00000ef0| 65 6e 20 5c 22 69 6e 74 | 5c 22 20 69 73 20 75 73 |en \"int|\" is us|
|00000f00| 65 64 20 69 66 20 74 68 | 65 20 76 61 6c 75 65 20 |ed if th|e value |
|00000f10| 69 73 20 61 20 0a 6e 75 | 6d 62 65 72 20 6f 74 68 |is a .nu|mber oth|
|00000f20| 65 72 77 69 73 65 20 5c | 22 73 74 72 69 6e 67 5c |erwise \|"string\|
|00000f30| 22 20 69 73 20 75 73 65 | 64 2e 20 20 49 66 20 6f |" is use|d. If o|
|00000f40| 6e 6c 79 20 61 20 76 61 | 6c 75 65 20 69 73 20 73 |nly a va|lue is s|
|00000f50| 70 65 63 69 66 69 65 64 | 20 0a 74 68 65 6e 20 6d |pecified| .then m|
|00000f60| 6f 64 65 20 64 65 66 61 | 75 6c 74 73 20 74 6f 20 |ode defa|ults to |
|00000f70| 54 54 5f 49 4e 2e 20 20 | 49 66 20 6d 6f 64 65 20 |TT_IN. |If mode |
|00000f80| 69 73 20 54 54 5f 4f 55 | 54 20 74 68 65 6e 20 76 |is TT_OU|T then v|
|00000f90| 61 6c 75 65 20 61 6e 64 | 20 0a 74 79 70 65 20 64 |alue and| .type d|
|00000fa0| 6f 6e 27 74 20 6e 65 65 | 64 20 74 6f 20 62 65 20 |on't nee|d to be |
|00000fb0| 73 70 65 63 69 66 69 65 | 64 2e 20 20 59 6f 75 20 |specifie|d. You |
|00000fc0| 63 61 6e 20 66 69 6e 64 | 20 6f 75 74 20 6d 6f 72 |can find| out mor|
|00000fd0| 65 20 61 62 6f 75 74 20 | 74 68 65 20 0a 73 65 6d |e about |the .sem|
|00000fe0| 61 6e 74 69 63 73 20 61 | 6e 64 20 75 73 65 73 20 |antics a|nd uses |
|00000ff0| 6f 66 20 54 6f 6f 6c 54 | 61 6c 6b 20 6d 65 73 73 |of ToolT|alk mess|
|00001000| 61 67 65 20 61 72 67 75 | 6d 65 6e 74 73 20 69 6e |age argu|ments in|
|00001010| 20 63 68 61 70 74 65 72 | 20 34 20 6f 66 20 74 68 | chapter| 4 of th|
|00001020| 65 20 0a 54 6f 6f 6c 74 | 61 6c 6b 20 50 72 6f 67 |e .Toolt|alk Prog|
|00001030| 72 61 6d 6d 65 72 27 73 | 20 47 75 69 64 65 2e 0a |rammer's| Guide..|
|00001040| 0a 54 68 65 20 6e 6f 2d | 63 61 6c 6c 62 61 63 6b |.The no-|callback|
|00001050| 20 61 72 67 20 69 73 20 | 61 20 68 61 63 6b 20 74 | arg is |a hack t|
|00001060| 6f 20 70 72 65 76 65 6e | 74 20 74 68 65 20 72 65 |o preven|t the re|
|00001070| 67 69 73 74 72 61 74 69 | 6f 6e 20 6f 66 20 74 68 |gistrati|on of th|
|00001080| 65 0a 43 2d 6c 65 76 65 | 6c 20 63 61 6c 6c 62 61 |e.C-leve|l callba|
|00001090| 63 6b 2e 20 20 54 68 69 | 73 20 68 61 63 6b 20 69 |ck. Thi|s hack i|
|000010a0| 73 20 6e 65 65 64 65 64 | 20 62 79 20 74 68 65 20 |s needed| by the |
|000010b0| 63 75 72 72 65 6e 74 20 | 53 50 41 52 43 77 6f 72 |current |SPARCwor|
|000010c0| 6b 73 0a 74 6f 6f 6c 20 | 73 74 61 72 74 75 70 20 |ks.tool |startup |
|000010d0| 6d 65 63 68 61 6e 69 73 | 6d 2e 20 20 59 75 63 68 |mechanis|m. Yuch|
|000010e0| 68 6f 2e 22 5d 29 0a 28 | 66 73 65 74 20 27 64 65 |ho."]).(|fset 'de|
|000010f0| 73 63 72 69 62 65 2d 74 | 6f 6f 6c 74 61 6c 6b 2d |scribe-t|ooltalk-|
|00001100| 6d 65 73 73 61 67 65 20 | 23 5b 28 6d 73 67 20 26 |message |#[(msg &|
|00001110| 6f 70 74 69 6f 6e 61 6c | 20 73 74 72 65 61 6d 29 |optional| stream)|
|00001120| 20 22 c0 19 c2 0b 21 88 | 09 ab 9f c4 09 40 0b 5c | "....!.|.....@.\|
|00001130| 22 88 c4 c5 0b 5c 22 88 | c6 c7 0e 08 09 40 5c 22 |"....\".|.....@\"|
|00001140| 0b 5c 22 88 c2 0b 21 88 | 09 41 89 11 ac 61 29 c7 |.\"...!.|.A...a).|
|00001150| 0e 08 c9 5c 22 ca 1e 0b | 1e 0c 0e 0b 0e 0c 57 ad |...\"...|......W.|
|00001160| cc c4 cd 0b 5c 22 88 c4 | 0e 0b 0b 5c 22 88 c4 c5 |....\"..|...\"...|
|00001170| 0b 5c 22 88 c7 0e 08 ce | 0e 0b 23 1e 0f c4 d0 c7 |.\".....|..#.....|
|00001180| 0e 08 d1 0e 0b 23 0e 0f | d2 9a ab 89 c7 0e 08 d3 |.....#..|........|
|00001190| 0e 0b 23 aa 87 c7 0e 08 | d4 0e 0b 23 0e 0f 45 21 |..#.....|...#..E!|
|000011a0| 0b 5c 22 88 29 c2 0b 21 | 88 0e 0b 54 89 16 0b aa |.\".)..!|...T....|
|000011b0| 2f 2a 87 22 20 5b 28 61 | 64 64 72 65 73 73 20 63 |/*." [(a|ddress c|
|000011c0| 6c 61 73 73 20 64 69 73 | 70 6f 73 69 74 69 6f 6e |lass dis|position|
|000011d0| 20 66 69 6c 65 20 67 69 | 64 20 68 61 6e 64 6c 65 | file gi|d handle|
|000011e0| 72 20 68 61 6e 64 6c 65 | 72 5f 70 74 79 70 65 20 |r handle|r_ptype |
|000011f0| 6f 62 6a 65 63 74 20 6f | 70 20 6f 70 6e 75 6d 20 |object o|p opnum |
|00001200| 6f 74 79 70 65 20 73 63 | 6f 70 65 20 73 65 6e 64 |otype sc|ope send|
|00001210| 65 72 20 73 65 6e 64 65 | 72 5f 70 74 79 70 65 20 |er sende|r_ptype |
|00001220| 73 65 73 73 69 6f 6e 20 | 73 74 61 74 65 20 73 74 |session |state st|
|00001230| 61 74 75 73 20 73 74 61 | 74 75 73 5f 73 74 72 69 |atus sta|tus_stri|
|00001240| 6e 67 20 75 69 64 20 63 | 61 6c 6c 62 61 63 6b 29 |ng uid c|allback)|
|00001250| 20 61 74 74 72 73 20 74 | 65 72 70 72 69 20 73 74 | attrs t|erpri st|
|00001260| 72 65 61 6d 20 70 72 69 | 6e 63 20 22 20 20 22 20 |ream pri|nc " " |
|00001270| 70 72 69 6e 31 20 67 65 | 74 2d 74 6f 6f 6c 74 61 |prin1 ge|t-toolta|
|00001280| 6c 6b 2d 6d 65 73 73 61 | 67 65 2d 61 74 74 72 69 |lk-messa|ge-attri|
|00001290| 62 75 74 65 20 6d 73 67 | 20 61 72 67 73 5f 63 6f |bute msg| args_co|
|000012a0| 75 6e 74 20 30 20 69 20 | 6e 20 22 41 72 67 75 6d |unt 0 i |n "Argum|
|000012b0| 65 6e 74 20 22 20 61 72 | 67 5f 74 79 70 65 20 74 |ent " ar|g_type t|
|000012c0| 79 70 65 20 70 72 69 6e | 31 2d 74 6f 2d 73 74 72 |ype prin|1-to-str|
|000012d0| 69 6e 67 20 61 72 67 5f | 6d 6f 64 65 20 22 69 6e |ing arg_|mode "in|
|000012e0| 74 22 20 61 72 67 5f 69 | 76 61 6c 20 61 72 67 5f |t" arg_i|val arg_|
|000012f0| 76 61 6c 5d 20 38 20 22 | 5c 0a 50 72 69 6e 74 20 |val] 8 "|\.Print |
|00001300| 74 6f 6f 6c 74 61 6c 6b | 20 6d 65 73 73 61 67 65 |tooltalk| message|
|00001310| 20 4d 53 47 27 73 20 61 | 74 74 72 69 62 75 74 65 | MSG's a|ttribute|
|00001320| 73 20 61 6e 64 20 61 72 | 67 75 6d 65 6e 74 73 20 |s and ar|guments |
|00001330| 74 6f 20 53 54 52 45 41 | 4d 2e 0a 54 68 69 73 20 |to STREA|M..This |
|00001340| 69 73 20 6f 66 74 65 6e | 20 75 73 65 66 75 6c 20 |is often| useful |
|00001350| 66 6f 72 20 64 65 62 75 | 67 67 69 6e 67 2e 22 5d |for debu|gging."]|
|00001360| 29 0a 28 66 73 65 74 20 | 27 69 6e 69 74 69 61 6c |).(fset |'initial|
|00001370| 69 7a 65 2d 74 6f 6f 6c | 74 61 6c 6b 2d 70 61 74 |ize-tool|talk-pat|
|00001380| 74 65 72 6e 2d 61 72 67 | 20 23 5b 28 70 61 74 20 |tern-arg| #[(pat |
|00001390| 6e 20 6d 6f 64 65 20 76 | 61 6c 75 65 20 76 74 79 |n mode v|alue vty|
|000013a0| 70 65 29 20 22 08 a8 ac | 84 08 3b ab 83 08 aa 83 |pe) "...|..;.....|
|000013b0| c1 08 21 1a c3 0c 0d 0e | 06 5c 6e 24 29 87 22 20 |..!.....|.\n$)." |
|000013c0| 5b 76 61 6c 75 65 20 70 | 72 69 6e 31 2d 74 6f 2d |[value p|rin1-to-|
|000013d0| 73 74 72 69 6e 67 20 63 | 6f 6e 76 65 72 74 65 64 |string c|onverted|
|000013e0| 2d 76 61 6c 75 65 20 61 | 64 64 2d 74 6f 6f 6c 74 |-value a|dd-toolt|
|000013f0| 61 6c 6b 2d 70 61 74 74 | 65 72 6e 2d 61 72 67 20 |alk-patt|ern-arg |
|00001400| 70 61 74 20 6d 6f 64 65 | 20 76 74 79 70 65 5d 20 |pat mode| vtype] |
|00001410| 35 20 22 5c 0a 41 64 64 | 20 6f 6e 65 20 61 72 67 |5 "\.Add| one arg|
|00001420| 75 6d 65 6e 74 20 74 6f | 20 74 6f 6f 6c 74 61 6c |ument to| tooltal|
|00001430| 6b 20 70 61 74 74 65 72 | 6e 20 50 41 54 2e 0a 4e |k patter|n PAT..N|
|00001440| 6f 20 73 75 70 70 6f 72 | 74 20 66 6f 72 20 73 70 |o suppor|t for sp|
|00001450| 65 63 69 66 79 69 6e 67 | 20 70 61 74 74 65 72 6e |ecifying| pattern|
|00001460| 20 61 72 67 75 6d 65 6e | 74 73 20 77 68 6f 73 65 | argumen|ts whose|
|00001470| 20 76 61 6c 75 65 20 69 | 73 20 61 20 76 65 63 74 | value i|s a vect|
|00001480| 6f 72 0a 6f 66 20 62 69 | 6e 61 72 79 20 64 61 74 |or.of bi|nary dat|
|00001490| 61 20 69 73 20 70 72 6f | 76 69 64 65 64 2e 22 5d |a is pro|vided."]|
|000014a0| 29 0a 28 66 73 65 74 20 | 27 69 6e 69 74 69 61 6c |).(fset |'initial|
|000014b0| 69 7a 65 2d 74 6f 6f 6c | 74 61 6c 6b 2d 70 61 74 |ize-tool|talk-pat|
|000014c0| 74 65 72 6e 2d 61 74 74 | 72 69 62 75 74 65 73 20 |tern-att|ributes |
|000014d0| 23 5b 28 70 61 74 20 61 | 74 74 72 69 62 75 74 65 |#[(pat a|ttribute|
|000014e0| 73 29 20 22 08 c1 1a 89 | 1b ad f3 0b 41 ad ef 0b |s) "....|....A...|
|000014f0| 40 0b 41 40 1c 89 1d c3 | 3d ab 89 c6 5c 6e 0e 07 |@.A@....|=...\n..|
|00001500| 0c 23 88 aa d1 0d c8 3d | ab a7 0c 89 1e 09 ab 9e |.#.....=|........|
|00001510| 0e 09 40 0e 09 41 40 1e | 5c 6e 1e 0b cc 0e 07 0e |..@..A@.|\n......|
|00001520| 0b 0e 5c 6e 23 88 2a 0e | 09 41 41 89 16 09 ac 62 |..\n#.*.|.AA....b|
|00001530| 29 aa a5 0c 3a ab 9a 0c | 89 1e 09 ab 91 cd 0e 09 |)...:...|........|
|00001540| 40 0e 07 0d 23 88 0e 09 | 41 89 16 09 ac 6f 29 aa |@...#...|A....o).|
|00001550| 87 cd 0c 0e 07 0d 23 88 | 2a 0b 41 41 89 13 ac 0e |......#.|*.AA....|
|00001560| ce 2a 87 22 20 5b 61 74 | 74 72 69 62 75 74 65 73 |.*." [at|tributes|
|00001570| 20 69 6e 69 74 69 61 6c | 69 7a 65 2d 74 6f 6f 6c | initial|ize-tool|
|00001580| 74 61 6c 6b 2d 70 61 74 | 74 65 72 6e 2d 61 72 67 |talk-pat|tern-arg|
|00001590| 20 69 6e 69 74 66 6e 20 | 61 72 67 73 20 76 61 6c | initfn |args val|
|000015a0| 75 65 20 69 6e 64 69 63 | 61 74 6f 72 20 69 6e 69 |ue indic|ator ini|
|000015b0| 74 69 61 6c 69 7a 65 2d | 74 6f 6f 6c 74 61 6c 6b |tialize-|tooltalk|
|000015c0| 2d 6d 65 73 73 61 67 65 | 2f 70 61 74 74 65 72 6e |-message|/pattern|
|000015d0| 2d 61 72 67 73 20 70 61 | 74 20 70 6c 69 73 74 20 |-args pa|t plist |
|000015e0| 76 61 6c 75 65 73 20 70 | 72 6f 70 76 61 6c 20 70 |values p|ropval p|
|000015f0| 72 6f 70 20 74 6f 6f 6c | 74 61 6c 6b 2d 70 61 74 |rop tool|talk-pat|
|00001600| 74 65 72 6e 2d 70 72 6f | 70 2d 73 65 74 20 61 64 |tern-pro|p-set ad|
|00001610| 64 2d 74 6f 6f 6c 74 61 | 6c 6b 2d 70 61 74 74 65 |d-toolta|lk-patte|
|00001620| 72 6e 2d 61 74 74 72 69 | 62 75 74 65 20 6e 69 6c |rn-attri|bute nil|
|00001630| 5d 20 35 20 22 5c 0a 49 | 6e 69 74 69 61 6c 69 7a |] 5 "\.I|nitializ|
|00001640| 65 20 74 6f 6f 6c 74 61 | 6c 6b 20 70 61 74 74 65 |e toolta|lk patte|
|00001650| 72 6e 20 50 41 54 27 73 | 20 61 74 74 72 69 62 75 |rn PAT's| attribu|
|00001660| 74 65 73 2e 0a 41 54 54 | 52 49 42 55 54 45 53 20 |tes..ATT|RIBUTES |
|00001670| 6d 75 73 74 20 62 65 20 | 61 20 70 72 6f 70 65 72 |must be |a proper|
|00001680| 74 79 20 6c 69 73 74 20 | 69 6e 20 74 68 65 20 73 |ty list |in the s|
|00001690| 61 6d 65 20 66 6f 72 6d | 20 61 73 20 66 6f 72 0a |ame form| as for.|
|000016a0| 60 6d 61 6b 65 2d 74 6f | 6f 6c 74 61 6c 6b 2d 70 |`make-to|oltalk-p|
|000016b0| 61 74 74 65 72 6e 27 2e | 20 20 54 68 65 20 76 61 |attern'.| The va|
|000016c0| 6c 75 65 20 6f 66 20 65 | 61 63 68 20 61 74 74 72 |lue of e|ach attr|
|000016d0| 69 62 75 74 65 20 28 65 | 78 63 65 70 74 20 27 63 |ibute (e|xcept 'c|
|000016e0| 61 74 65 67 6f 72 79 29 | 0a 63 61 6e 20 65 69 74 |ategory)|.can eit|
|000016f0| 68 65 72 20 62 65 20 61 | 20 73 69 6e 67 6c 65 20 |her be a| single |
|00001700| 76 61 6c 75 65 20 6f 72 | 20 61 20 6c 69 73 74 20 |value or| a list |
|00001710| 6f 66 20 76 61 6c 75 65 | 73 2e 20 20 49 66 20 61 |of value|s. If a|
|00001720| 20 6c 69 73 74 20 6f 66 | 0a 76 61 6c 75 65 73 20 | list of|.values |
|00001730| 69 73 20 70 72 6f 76 69 | 64 65 64 20 74 68 65 6e |is provi|ded then|
|00001740| 20 74 68 65 20 70 61 74 | 74 65 72 6e 20 77 69 6c | the pat|tern wil|
|00001750| 6c 20 6d 61 74 63 68 20 | 6d 65 73 73 61 67 65 73 |l match |messages|
|00001760| 20 77 69 74 68 0a 61 20 | 63 6f 72 72 65 73 70 6f | with.a |correspo|
|00001770| 6e 64 69 6e 67 20 61 74 | 74 72 69 62 75 74 65 20 |nding at|tribute |
|00001780| 74 68 61 74 20 6d 61 74 | 63 68 65 73 20 61 6e 79 |that mat|ches any|
|00001790| 20 6d 65 6d 62 65 72 20 | 6f 66 20 74 68 65 20 6c | member |of the l|
|000017a0| 69 73 74 2e 0a 0a 54 68 | 69 73 20 66 75 6e 63 74 |ist...Th|is funct|
|000017b0| 69 6f 6e 20 63 61 6e 20 | 62 65 20 75 73 65 64 20 |ion can |be used |
|000017c0| 74 6f 20 61 64 64 20 61 | 74 74 72 69 62 75 74 65 |to add a|ttribute|
|000017d0| 20 76 61 6c 75 65 73 20 | 74 6f 20 61 6e 20 65 78 | values |to an ex|
|000017e0| 69 73 74 69 6e 67 0a 70 | 61 74 74 65 72 6e 20 6f |isting.p|attern o|
|000017f0| 72 20 74 6f 20 69 6e 69 | 74 69 61 6c 6c 69 7a 65 |r to ini|tiallize|
|00001800| 20 61 20 6e 65 77 20 6f | 6e 65 2e 20 20 53 65 65 | a new o|ne. See|
|00001810| 0a 60 69 6e 69 74 69 61 | 6c 69 7a 65 2d 74 6f 6f |.`initia|lize-too|
|00001820| 6c 74 61 6c 6b 2d 6d 65 | 73 73 61 67 65 2f 70 61 |ltalk-me|ssage/pa|
|00001830| 74 74 65 72 6e 2d 61 72 | 67 73 27 20 66 6f 72 20 |ttern-ar|gs' for |
|00001840| 61 20 64 65 73 63 72 69 | 70 74 69 6f 6e 20 6f 66 |a descri|ption of|
|00001850| 20 68 6f 77 0a 61 72 67 | 75 6d 65 6e 74 73 20 61 | how.arg|uments a|
|00001860| 72 65 20 69 6e 69 74 69 | 61 6c 69 7a 65 64 2e 22 |re initi|alized."|
|00001870| 5d 29 0a 28 66 73 65 74 | 20 27 6d 61 6b 65 2d 74 |]).(fset| 'make-t|
|00001880| 6f 6f 6c 74 61 6c 6b 2d | 70 61 74 74 65 72 6e 20 |ooltalk-|pattern |
|00001890| 23 5b 28 61 74 74 72 69 | 62 75 74 65 73 29 20 22 |#[(attri|butes) "|
|000018a0| c0 20 19 c2 09 0b 5c 22 | 88 09 29 87 22 20 5b 63 |. ....\"|..)." [c|
|000018b0| 72 65 61 74 65 2d 74 6f | 6f 6c 74 61 6c 6b 2d 70 |reate-to|oltalk-p|
|000018c0| 61 74 74 65 72 6e 20 70 | 61 74 20 69 6e 69 74 69 |attern p|at initi|
|000018d0| 61 6c 69 7a 65 2d 74 6f | 6f 6c 74 61 6c 6b 2d 70 |alize-to|oltalk-p|
|000018e0| 61 74 74 65 72 6e 2d 61 | 74 74 72 69 62 75 74 65 |attern-a|ttribute|
|000018f0| 73 20 61 74 74 72 69 62 | 75 74 65 73 5d 20 33 20 |s attrib|utes] 3 |
|00001900| 22 5c 0a 43 72 65 61 74 | 65 20 61 20 74 6f 6f 6c |"\.Creat|e a tool|
|00001910| 74 61 6c 6b 20 70 61 74 | 74 65 72 6e 20 61 6e 64 |talk pat|tern and|
|00001920| 20 69 6e 69 74 69 61 6c | 69 7a 65 20 69 74 73 20 | initial|ize its |
|00001930| 61 74 74 72 69 62 75 74 | 65 73 2e 0a 54 68 65 20 |attribut|es..The |
|00001940| 76 61 6c 75 65 20 6f 66 | 20 61 74 74 72 69 62 75 |value of| attribu|
|00001950| 74 65 73 20 6d 75 73 74 | 20 62 65 20 61 20 6c 69 |tes must| be a li|
|00001960| 73 74 20 6f 66 20 61 6c | 74 65 72 6e 61 74 69 6e |st of al|ternatin|
|00001970| 67 20 6b 65 79 77 6f 72 | 64 2f 76 61 6c 75 65 73 |g keywor|d/values|
|00001980| 2c 20 0a 77 68 65 72 65 | 20 6b 65 79 77 6f 72 64 |, .where| keyword|
|00001990| 73 20 61 72 65 20 73 79 | 6d 62 6f 6c 73 20 74 68 |s are sy|mbols th|
|000019a0| 61 74 20 6e 61 6d 65 20 | 76 61 6c 69 64 20 70 61 |at name |valid pa|
|000019b0| 74 74 65 72 6e 20 61 74 | 74 72 69 62 75 74 65 73 |ttern at|tributes|
|000019c0| 0a 6f 72 20 6c 69 73 74 | 73 20 6f 66 20 76 61 6c |.or list|s of val|
|000019d0| 69 64 20 61 74 74 72 69 | 62 75 74 65 73 2e 20 20 |id attri|butes. |
|000019e0| 46 6f 72 20 65 78 61 6d | 70 6c 65 3a 0a 0a 20 20 |For exam|ple:.. |
|000019f0| 28 6d 61 6b 65 2d 74 6f | 6f 6c 74 61 6c 6b 2d 70 |(make-to|oltalk-p|
|00001a00| 61 74 74 65 72 6e 20 0a | 20 20 20 20 27 28 63 61 |attern .| '(ca|
|00001a10| 74 65 67 6f 72 79 20 54 | 54 5f 4f 42 53 45 52 56 |tegory T|T_OBSERV|
|00001a20| 45 0a 20 20 20 20 20 20 | 73 63 6f 70 65 20 54 54 |E. |scope TT|
|00001a30| 5f 53 45 53 53 49 4f 4e | 0a 20 20 20 20 20 20 6f |_SESSION|. o|
|00001a40| 70 20 28 5c 22 6f 70 65 | 72 61 74 69 6f 6e 31 5c |p (\"ope|ration1\|
|00001a50| 22 20 5c 22 6f 70 65 72 | 61 74 69 6f 6e 32 5c 22 |" \"oper|ation2\"|
|00001a60| 29 0a 20 20 20 20 20 20 | 61 72 67 73 20 28 5c 22 |). |args (\"|
|00001a70| 61 72 67 31 5c 22 20 31 | 32 33 34 35 20 28 54 54 |arg1\" 1|2345 (TT|
|00001a80| 5f 49 4e 4f 55 54 20 5c | 22 61 72 67 33 5c 22 20 |_INOUT \|"arg3\" |
|00001a90| 5c 22 73 74 72 69 6e 67 | 5c 22 29 29 29 29 0a 0a |\"string|\"))))..|
|00001aa0| 0a 56 61 6c 75 65 73 20 | 6d 75 73 74 20 61 6c 77 |.Values |must alw|
|00001ab0| 61 79 73 20 62 65 20 73 | 74 72 69 6e 67 73 2c 20 |ays be s|trings, |
|00001ac0| 69 6e 74 65 67 65 72 73 | 2c 20 6f 72 20 73 79 6d |integers|, or sym|
|00001ad0| 62 6f 6c 73 20 74 68 61 | 74 0a 72 65 70 72 65 73 |bols tha|t.repres|
|00001ae0| 65 6e 74 20 54 6f 6f 6c | 74 61 6c 6b 20 63 6f 6e |ent Tool|talk con|
|00001af0| 73 74 61 6e 74 73 20 6f | 72 20 6c 69 73 74 73 20 |stants o|r lists |
|00001b00| 6f 66 20 73 61 6d 65 2e | 20 20 57 68 65 6e 20 61 |of same.| When a|
|00001b10| 20 6c 69 73 74 20 0a 6f | 66 20 76 61 6c 75 65 73 | list .o|f values|
|00001b20| 20 69 73 20 70 72 6f 76 | 69 64 65 64 20 61 6c 6c | is prov|ided all|
|00001b30| 20 6f 66 20 74 68 65 20 | 6c 69 73 74 20 65 6c 65 | of the |list ele|
|00001b40| 6d 65 6e 74 73 20 61 72 | 65 20 61 64 64 65 64 20 |ments ar|e added |
|00001b50| 74 6f 20 0a 74 68 65 20 | 61 74 74 72 69 62 75 74 |to .the |attribut|
|00001b60| 65 2e 20 20 49 6e 20 74 | 68 65 20 65 78 61 6d 70 |e. In t|he examp|
|00001b70| 6c 65 20 61 62 6f 76 65 | 2c 20 6d 65 73 73 61 67 |le above|, messag|
|00001b80| 65 73 20 77 68 6f 73 65 | 20 6f 70 0a 61 74 74 72 |es whose| op.attr|
|00001b90| 69 62 75 74 65 20 69 73 | 20 5c 22 6f 70 65 72 61 |ibute is| \"opera|
|00001ba0| 74 69 6f 6e 31 5c 22 20 | 6f 72 20 5c 22 6f 70 65 |tion1\" |or \"ope|
|00001bb0| 72 61 74 69 6f 6e 32 5c | 22 20 77 6f 75 6c 64 20 |ration2\|" would |
|00001bc0| 6d 61 74 63 68 20 74 68 | 65 20 70 61 74 74 65 72 |match th|e patter|
|00001bd0| 6e 2e 0a 0a 54 68 65 20 | 76 61 6c 75 65 20 6f 66 |n...The |value of|
|00001be0| 20 61 72 67 73 20 73 68 | 6f 75 6c 64 20 62 65 20 | args sh|ould be |
|00001bf0| 61 20 6c 69 73 74 20 6f | 66 20 70 61 74 74 65 72 |a list o|f patter|
|00001c00| 6e 20 61 72 67 75 6d 65 | 6e 74 73 20 77 68 65 72 |n argume|nts wher|
|00001c10| 65 20 0a 65 61 63 68 20 | 70 61 74 74 65 72 6e 20 |e .each |pattern |
|00001c20| 61 72 67 75 6d 65 6e 74 | 20 68 61 73 20 74 68 65 |argument| has the|
|00001c30| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 66 6f 72 6d 3a | followi|ng form:|
|00001c40| 0a 0a 20 20 20 28 6d 6f | 64 65 20 5b 76 61 6c 75 |.. (mo|de [valu|
|00001c50| 65 20 5b 74 79 70 65 5d | 5d 29 20 6f 72 20 6a 75 |e [type]|]) or ju|
|00001c60| 73 74 20 76 61 6c 75 65 | 0a 0a 57 68 65 72 65 20 |st value|..Where |
|00001c70| 6d 6f 64 65 20 69 73 20 | 6f 6e 65 20 6f 66 20 54 |mode is |one of T|
|00001c80| 54 5f 49 4e 2c 20 54 54 | 5f 4f 55 54 2c 20 54 54 |T_IN, TT|_OUT, TT|
|00001c90| 5f 49 4e 4f 55 54 20 61 | 6e 64 20 74 79 70 65 20 |_INOUT a|nd type |
|00001ca0| 69 73 20 61 20 73 74 72 | 69 6e 67 2e 20 20 0a 49 |is a str|ing. .I|
|00001cb0| 66 20 74 79 70 65 20 69 | 73 6e 27 74 20 73 70 65 |f type i|sn't spe|
|00001cc0| 63 69 66 69 65 64 20 74 | 68 65 6e 20 5c 22 69 6e |cified t|hen \"in|
|00001cd0| 74 5c 22 20 69 73 20 75 | 73 65 64 20 69 66 20 74 |t\" is u|sed if t|
|00001ce0| 68 65 20 76 61 6c 75 65 | 20 69 73 20 61 20 0a 6e |he value| is a .n|
|00001cf0| 75 6d 62 65 72 20 6f 74 | 68 65 72 77 69 73 65 20 |umber ot|herwise |
|00001d00| 5c 22 73 74 72 69 6e 67 | 5c 22 20 69 73 20 75 73 |\"string|\" is us|
|00001d10| 65 64 2e 20 20 49 66 20 | 6f 6e 6c 79 20 61 20 76 |ed. If |only a v|
|00001d20| 61 6c 75 65 20 69 73 20 | 73 70 65 63 69 66 69 65 |alue is |specifie|
|00001d30| 64 20 0a 74 68 65 6e 20 | 6d 6f 64 65 20 64 65 66 |d .then |mode def|
|00001d40| 61 75 6c 74 73 20 74 6f | 20 54 54 5f 49 4e 2e 20 |aults to| TT_IN. |
|00001d50| 20 49 66 20 6d 6f 64 65 | 20 69 73 20 54 54 5f 4f | If mode| is TT_O|
|00001d60| 55 54 20 74 68 65 6e 20 | 76 61 6c 75 65 20 61 6e |UT then |value an|
|00001d70| 64 20 74 79 70 65 20 0a | 64 6f 6e 27 74 20 6e 65 |d type .|don't ne|
|00001d80| 65 64 20 74 6f 20 62 65 | 20 73 70 65 63 69 66 69 |ed to be| specifi|
|00001d90| 65 64 2e 20 20 59 6f 75 | 20 63 61 6e 20 66 69 6e |ed. You| can fin|
|00001da0| 64 20 6f 75 74 20 6d 6f | 72 65 20 61 62 6f 75 74 |d out mo|re about|
|00001db0| 20 74 68 65 20 73 65 6d | 61 6e 74 69 63 73 20 0a | the sem|antics .|
|00001dc0| 61 6e 64 20 75 73 65 73 | 20 6f 66 20 54 6f 6f 6c |and uses| of Tool|
|00001dd0| 54 61 6c 6b 20 70 61 74 | 74 65 72 6e 20 61 72 67 |Talk pat|tern arg|
|00001de0| 75 6d 65 6e 74 73 20 69 | 6e 20 63 68 61 70 74 65 |uments i|n chapte|
|00001df0| 72 20 33 20 6f 66 20 74 | 68 65 20 54 6f 6f 6c 74 |r 3 of t|he Toolt|
|00001e00| 61 6c 6b 0a 50 72 6f 67 | 72 61 6d 6d 65 72 73 20 |alk.Prog|rammers |
|00001e10| 47 75 69 64 65 2e 0a 22 | 5d 29 0a |Guide.."|]). |
+--------+-------------------------+-------------------------+--------+--------+