summaryrefslogtreecommitdiffstats
path: root/Mac/Resources/tkpython.rsrc
blob: a1a33068b7230da31927f36197305156f565b296 (plain)
ofshex dumpascii
0000 00 05 16 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00 01 00 00 ................................
0020 00 3e 00 00 00 00 00 00 00 02 00 00 00 3e 00 04 bd b7 00 00 00 09 00 04 bd f5 00 00 00 20 00 00 .>...........>..................
0040 01 00 00 04 b2 75 00 04 b1 75 00 00 0b 42 da 79 01 6f 08 20 12 01 60 2e 3b e5 01 00 3c e5 d1 e5 .....u...u...B.y.o....`.;...<...
0060 01 00 34 13 a9 8b 42 67 1f 3c a3 e5 b5 5d 0d 74 6b 70 79 74 68 6f 6e 2e 72 73 72 63 2e 63 72 63 ..4...Bg.<...].tkpython.rsrc.crc
0080 70 6f 6f 6c 65 72 74 41 44 20 4d 45 72 6c 00 00 72 73 72 63 52 53 45 44 00 00 00 00 00 00 00 00 poolertAD.MErl..rsrcRSED........
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b2 63 74 a9 00 00 00 00 00 03 b0 30 bb 01 7e 7f .................ct........0..~.
00c0 18 3d 47 00 0a 2e 1f 4e 5e 20 5f 54 4f 4e d0 4e 56 93 90 20 1d 01 3e 28 6f 01 10 2e 4d 04 67 1a .=G....N^._TON.NV.....>(o...M.g.
00e0 70 42 b0 47 6c 10 e0 78 02 81 fc 00 42 ef 05 cf fc 00 42 60 5c 7e 42 60 58 e1 50 01 09 5a e0 01 pB.Gl..x....B.....B`\~B`X.P..Z..
0100 90 5f 56 e1 50 01 0a 42 12 32 1f 20 1f 78 01 81 c1 ef 29 01 6f 1c e1 50 03 0a 42 30 1f e5 40 56 ._V.P..B.2...x....).o..P..B0..@V
0120 e1 50 15 09 5a 32 1f 20 1f 3e 01 de 40 01 60 1a e1 50 01 0a 42 e0 01 c1 df 56 e1 50 20 21 00 00 .P..Z2...>..@.`..P..B....V.P.!..
0140 00 21 00 a8 00 14 00 bb 01 2c 00 00 01 00 00 50 00 84 03 f0 00 00 00 00 0a 46 69 6c 65 20 54 79 .!.......,.....P.........File.Ty
0160 70 65 3a 00 00 00 f2 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 01 80 1a 70 26 pe:.........`.................p&
0180 48 26 4a 12 4d 12 49 68 09 98 01 88 02 40 02 20 02 20 04 10 04 08 08 04 08 04 08 01 80 1b f0 3f H&J.M.Ih.....@.................?
01a0 f8 3f fa 1f ff 1f ff 6f ff ff ff ff fe 7f fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 f8 00 08 00 08 00 .?.....o.......?.?..............
01c0 00 00 00 00 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 ..............................H.
01e0 00 00 48 00 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 03 c0 00 03 cd 7f ..H.............................
0200 00 0d 7d 75 c0 0d 7d 75 cc 03 5d 75 f7 03 5d 75 d7 3c d5 55 d7 d7 d5 55 57 d5 d5 55 5c 35 55 55 ..}u..}u..]u..]u.<.U...UW..U\5UU
0220 5c 0d 55 55 5c 0d 55 55 70 03 55 55 70 00 d5 55 c0 00 35 55 c0 00 35 55 c0 00 00 00 00 00 00 00 \.UU\.UUp.UUp..U..5U..5U........
0240 02 00 00 ff ff ff ff ff ff 00 01 ff ff cc cc 99 99 00 03 00 00 00 00 00 00 00 00 00 f2 80 01 00 ................................
0260 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d b0 12 4c 10 0a 08 ..`.........................L...
0280 02 18 02 20 02 20 02 20 04 10 04 08 08 04 08 04 08 00 00 00 00 00 00 00 00 0d b0 1f fc 1f fe 0f ................................
02a0 fe 1f fe 3f fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 f8 00 08 00 08 00 00 00 00 00 00 00 00 00 00 00 ...?.?.?........................
02c0 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 02 00 ....................H...H.......
02e0 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 f3 cf 00 03 5d 75 f0 03 55 55 dc 00 d5 55 5c 03 d5 55 5c 0d 55 55 5c 0d 55 55 5c 0d 55 55 70 03 ....]u..UU...U\..U\.UU\.UU\.UUp.
0320 55 55 70 00 d5 55 c0 00 35 55 c0 00 35 55 c0 00 00 00 00 00 00 00 02 00 00 ff ff ff ff ff ff 00 UUp..U..5U..5U..................
0340 01 ff ff cc cc 99 99 00 03 00 00 00 00 00 00 00 00 01 5a 80 01 00 00 00 60 00 00 00 92 00 00 00 ..................Z.....`.......
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 03 c0 84 60 ff ff 00 18 00 20 00 40 ff c0 00 ....................`.......@...
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 03 c0 87 e0 ff ff ff f8 ff e0 ff c0 ff c0 00 ................................
03a0 00 00 00 00 00 00 00 00 07 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 ................................
03c0 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 ..........H...H.................
03e0 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 ff ff 00 00 00 f0 00 0f 32 25 f0 00 00 6f ff ff ........................2%...o..
0420 ff ff ff ff ff 22 22 22 22 22 1f f0 00 22 22 22 22 21 f0 00 00 33 33 33 33 4f 00 00 00 ff ff ff ....."""""...""""!...3333O......
0440 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 00 00 00 00 00 00 00 00 00 00 00 00 07 00 00 ff ff ff ff ff ff 00 01 bb bb bb bb bb bb 00 02 ee ................................
0480 ee ee ee ee ee 00 03 dd dd dd dd dd dd 00 04 cc cc cc cc cc cc 00 05 44 44 44 44 44 44 00 06 11 .......................DDDDDD...
04a0 11 11 11 11 11 00 0f 00 00 00 00 00 00 00 00 01 5a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 ................Z.....`.........
04c0 00 00 00 00 00 1f f8 33 cc 64 66 49 92 4f 12 44 22 63 c6 3f fc 29 94 29 94 29 94 2b d4 69 96 78 .......3.dfI.O.D"c.?.).).).+.i.x
04e0 1e 7f fe 7f fe 1f f8 3f fc 7f fe 7f fe 7f fe 7f fe 7f fe 3f fc 3f fc 3f fc 3f fc 3f fc 7f fe 7f .......?...........?.?.?.?.?....
0500 fe 7f fe 7f fe 00 04 00 08 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 ................................
0520 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 ........H...H...................
0540 00 00 00 00 0f ff ff ff ff f0 00 00 f6 05 ff ff 50 6f 00 0f 60 5f 00 56 f5 06 f0 0f 00 f0 21 f3 ................Po..`_.V......!.
0560 0f 00 f0 0f 00 f6 f1 00 0f 00 f0 0f 00 5f 00 00 f5 00 f0 0f 60 05 ff ff 50 06 f0 00 ff ff ff ff ............._......`...P.......
0580 ff ff 00 00 f0 f0 01 10 0f 0f 00 00 f0 f0 01 10 0f 0f 00 00 f0 f0 21 12 0f 0f 00 00 f0 f0 1f f1 ......................!.........
05a0 0f 0f 00 0f f0 f0 21 12 0f 0f f0 0f f4 f5 00 00 5f 4f f0 0f ff ff ff ff ff ff f0 0f ff ff ff ff ......!........._O..............
05c0 ff ff f0 00 00 00 00 00 00 00 07 00 00 ff ff ff ff ff ff 00 01 44 44 44 44 44 44 00 02 aa aa aa .....................DDDDDD.....
05e0 aa aa aa 00 03 ee ee ee ee ee ee 00 04 55 55 55 55 55 55 00 05 dd dd dd dd dd dd 00 06 77 77 77 .............UUUUUU..........www
0600 77 77 77 00 0f 00 00 00 00 00 00 00 00 01 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 www...........R.....`...........
0620 00 00 00 03 f8 0c 06 10 01 1c 07 33 f9 70 01 d0 01 90 01 96 0d da 55 7a 55 36 ed 10 a1 10 01 08 ...........3.p........UzU6......
0640 02 07 fc 03 f8 0f fe 1f ff 1f ff 3f ff 7f ff ff ff ff ff ff ff ff ff 7f ff 3f ff 1f ff 1f ff 0f ...........?.............?......
0660 fe 07 fc 00 04 00 03 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 ................................
0680 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 ......H...H.....................
06a0 00 00 00 00 ff ff ff f0 00 00 00 ff 42 22 22 4f f0 00 0f 42 21 11 11 22 4f 00 0f ff 11 11 11 1f ............B""O...B!.."O.......
06c0 ff 00 ff 24 ff ff ff f4 2f 0f 5f 22 22 22 22 22 2f f5 2f 22 22 22 22 22 2f f4 0f 22 22 22 22 22 ...$..../._"""""/./"""""/.."""""
06e0 2f f4 0f 4f f2 22 24 ff 2f f5 2f f2 f2 2f 2f 2f 2f 0f 5f f2 f2 53 5f 2f 2f 00 ff 4f f2 f3 f4 ff /..O."$././..////._..S_//..O....
0700 2f 00 0f 22 22 f2 f2 22 2f 00 0f 42 22 22 22 22 4f 00 00 f4 22 22 22 24 f0 00 00 0f ff ff ff ff /.."".."/..B""""O..."""$........
0720 00 00 00 00 00 00 00 00 06 00 00 ff ff ff ff ff ff 00 01 cc cc 99 99 66 66 00 02 cc cc cc cc ff .......................ff.......
0740 ff 00 03 33 33 33 33 66 66 00 04 99 99 99 99 ff ff 00 05 66 66 66 66 cc cc 00 0f 00 00 00 00 00 ...3333ff..........ffff.........
0760 00 00 00 01 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00 70 40 ....R.....`.................x.p@
0780 36 4f b0 7f f0 7e 30 7c 30 30 38 00 f0 0f e0 04 00 04 00 04 00 0f 00 00 00 00 fc 00 fc e0 ff ff 6O...~0|008.....................
07a0 ff ff ff ff f8 ff f8 ff f8 ff fc 7f fc 3f f8 1f f0 0e 00 1f 80 1f 80 1f 80 00 03 00 0e 00 00 00 .............?..................
07c0 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 ............................H...
07e0 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 00 00 00 00 00 00 H...............................
0800 00 00 00 02 22 20 00 00 00 00 00 01 11 00 00 03 00 00 00 00 11 02 20 01 00 16 16 10 11 00 00 03 ...."...........................
0820 61 61 11 11 11 00 00 01 11 11 14 44 15 00 00 03 11 11 44 44 51 00 00 00 11 44 44 44 15 10 00 00 aa.........D......DDQ....DDD....
0840 04 44 44 51 51 00 00 00 00 15 15 15 10 00 00 00 00 02 00 00 00 00 00 00 00 03 00 00 00 00 00 00 .DDQQ...........................
0860 00 02 00 00 00 00 00 00 00 23 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 .........##.....................
0880 00 ff ff ff ff ff ff 00 01 cc cc 99 99 66 66 00 02 dd dd 00 00 00 00 00 03 ff ff 66 66 33 33 00 .............ff............ff33.
08a0 04 cc cc cc cc cc cc 00 05 88 88 88 88 88 88 00 06 ff ff cc cc 99 99 00 00 01 4a 80 01 00 00 00 ..........................J.....
08c0 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 3f 00 10 c0 c8 20 ea a0 c8 20 cb a0 f8 38 38 3e 08 `..............?............88>.
08e0 26 08 26 09 2e 09 26 09 20 11 10 21 08 3e f8 3f 00 1f c0 cf e0 ef e0 cf e0 cf e0 ff f8 3f fe 0f &.&...&....!.>.?.............?..
0900 e6 0f e6 0f ee 0f e6 0f e0 1f f0 3f f8 3e f8 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 80 ...........?.>..................
0920 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 ..................H...H.........
0940 04 00 00 00 00 00 00 01 12 00 00 00 00 00 ff ff ff 00 00 00 00 00 0f 12 12 ff 00 00 00 ff 00 f1 ................................
0960 31 31 f0 00 00 ff f0 f3 f3 f3 f0 00 00 ff 00 f1 31 31 f0 00 00 ff 00 f2 ff f2 f0 00 00 4f ff f1 11..............11...........O..
0980 21 21 ff f0 00 00 ff f2 12 12 ff ff 40 00 00 f1 21 21 f0 0f f0 00 00 f2 12 12 f0 0f f0 00 00 f1 !!..........@...!!..............
09a0 2f 21 f0 ff f0 00 00 f2 1f 12 f0 0f f0 00 00 f1 2f 21 f0 00 00 00 0f 12 1f 12 1f 00 00 00 f1 21 /!............../!.............!
09c0 2f 21 21 f0 00 00 ff ff f0 ff ff f0 00 00 00 00 00 00 00 00 05 00 00 ff ff ff ff ff ff 00 01 00 /!!.............................
09e0 00 bb bb 00 00 00 02 cc cc cc cc cc cc 00 03 aa aa aa aa aa aa 00 04 44 44 44 44 44 44 00 0f 00 .......................DDDDDD...
0a00 00 00 00 00 00 00 00 00 fa 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 3e ..............`................>
0a20 f8 63 8c c1 06 80 02 80 02 80 02 80 02 c0 06 60 0c 30 18 18 30 0c 60 06 c0 03 80 00 00 00 00 3e .c.............`.0..0.`........>
0a40 f8 7f fc ff fe ff fe ff fe ff fe ff fe ff fe 7f fc 3f f8 1f f0 0f e0 07 c0 03 80 00 00 00 03 00 .................?..............
0a60 07 00 00 00 00 00 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 ................................
0a80 48 00 00 00 48 00 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 00 00 00 00 00 0f H...H...........................
0aa0 fc ff c0 3a ab aa 70 e9 9b 99 9c e6 65 a6 5c e9 99 99 9c e6 66 66 5c e9 99 99 9c d6 66 66 5c 35 ...:..p.....e.\.....ff\.....ff\5
0ac0 99 99 70 0d 66 65 c0 03 59 97 00 00 d6 5c 00 00 35 70 00 00 0f c0 00 00 00 00 00 00 00 00 00 00 ..p.fe..Y....\..5p..............
0ae0 00 00 03 00 00 ff ff ff ff ff ff 00 01 dd dd 00 00 00 00 00 02 ff ff 66 66 cc cc 00 03 00 00 00 .......................ff.......
0b00 00 00 00 00 00 01 7a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 be 00 01 00 01 ......z.....`...................
0b20 80 0f f0 10 08 17 e8 14 28 14 28 17 e8 10 08 10 08 10 08 10 08 10 08 10 08 0f f0 fe 00 01 00 01 ........(.(.....................
0b40 80 0f f0 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 0f f0 00 01 00 07 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 ..............................H.
0b80 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 13 79 4a f0 00 00 00 ..H.......................yJ....
0ba0 00 00 00 00 0f 00 00 00 00 00 00 00 0f f0 00 00 00 00 00 ff ff ff ff 00 00 00 0f 21 11 11 12 f0 ...........................!....
0bc0 00 00 0f 36 55 55 63 f0 00 00 0f 35 13 13 51 f0 00 00 0f 35 33 33 51 f0 00 00 0f 36 55 55 61 f0 ...6UUc....5..Q....533Q....6UUa.
0be0 00 00 0f 33 11 11 11 f0 00 00 0f 33 33 33 33 f0 00 00 0f 33 33 33 33 f0 00 00 0f 22 22 22 22 f0 ...3.......3333....3333...."""".
0c00 00 00 0f 88 88 88 88 f0 00 00 0f 78 88 88 87 f0 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 ...........x....................
0c20 0b 00 00 ff ff ff ff ff ff 00 01 ee ee ee ee ee ee 00 02 cc cc cc cc cc cc 00 03 dd dd dd dd dd ................................
0c40 dd 00 04 44 44 44 44 44 44 00 05 22 22 22 22 22 22 00 06 55 55 55 55 55 55 00 07 aa aa aa aa aa ...DDDDDD..""""""..UUUUUU.......
0c60 aa 00 08 bb bb bb bb bb bb 00 09 77 77 77 77 77 77 00 0a 11 11 11 11 11 11 00 0f 00 00 00 00 00 ...........wwwwww...............
0c80 00 00 00 01 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 00 00 f0 00 88 01 ....R.....`.....................
0ca0 08 01 90 02 70 02 20 04 40 04 40 08 80 08 80 11 00 1e 00 1c 00 18 00 10 00 00 00 00 f0 00 f8 01 ....p...@.@.....................
0cc0 f8 01 f0 03 f0 03 e0 07 c0 07 c0 0f 80 0f 80 1f 00 1e 00 1c 00 18 00 10 00 00 0f 00 03 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 ............................H...
0d00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 00 00 00 00 00 00 H...............................
0d20 00 00 00 ff ff 00 00 00 00 00 00 f4 04 f0 00 00 00 00 0f 40 42 f0 00 00 00 00 0f f4 2f 00 00 00 ...................@B......./...
0d40 00 00 f5 3f ff 00 00 00 00 00 f3 52 f0 00 00 00 00 0f 35 1f 00 00 00 00 00 0f 53 2f 00 00 00 00 ...?.......R......5.......S/....
0d60 00 f5 32 f0 00 00 00 00 00 f3 12 f0 00 00 00 00 0f 35 2f 00 00 00 00 00 0f ff f0 00 00 00 00 00 ..2..............5/.............
0d80 0f ff 00 00 00 00 00 00 0f f0 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 ................................
0da0 00 ff ff ff ff ff ff 00 01 cc cc cc cc cc cc 00 02 88 88 88 88 88 88 00 03 ff ff ff ff 00 00 00 ................................
0dc0 04 dd dd 00 00 00 00 00 05 ff ff 66 66 33 33 00 0f 00 00 00 00 00 00 00 00 01 52 80 01 00 00 00 ...........ff33...........R.....
0de0 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 00 20 00 70 00 f8 01 de 05 de 09 de 11 de 11 de 11 `.................p.............
0e00 de 11 de 31 de 71 de fd de 18 88 00 78 00 30 00 20 00 70 00 f8 01 fe 07 fe 0f fe 1f fe 1f fe 1f ...1.q......x.0...p.............
0e20 fe 1f fe 3f fe 7f fe ff fe 18 f8 00 78 00 30 00 00 00 0a 00 00 00 00 00 00 00 00 00 00 00 00 80 ...?........x.0.................
0e40 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 ..................H...H.........
0e60 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 00 00 f0 00 00 00 00 00 00 0f 3f 00 00 00 00 00 ..........................?.....
0e80 00 f3 43 f0 00 00 00 00 0f 34 04 3f f0 00 00 0f 4f 34 04 3f f0 00 00 f5 5f 34 04 3f f0 00 0f 50 ..C......4.?....O4.?...._4.?...P
0ea0 5f 34 04 3f f0 00 0f 00 5f 34 04 3f f0 00 0f 00 5f 34 04 3f f0 00 0f 00 5f 34 04 3f f0 00 f3 00 _4.?...._4.?...._4.?...._4.?....
0ec0 5f 34 04 3f f0 0f 33 50 5f 34 04 3f f0 ff f3 3f 4f 34 04 3f f0 00 0f f0 00 12 22 10 00 00 00 00 _4.?..3P_4.?...?O4.?......".....
0ee0 00 01 11 10 00 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 06 00 00 ff ff ff ff ff ff 00 01 ff ................................
0f00 ff 66 66 33 33 00 02 dd dd 00 00 00 00 00 03 44 44 44 44 44 44 00 04 88 88 88 88 88 88 00 05 dd .ff33..........DDDDDD...........
0f20 dd dd dd dd dd 00 0f 00 00 00 00 00 00 00 00 01 7a 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 ................z.....`.........
0f40 00 00 00 00 00 00 18 00 40 0d 18 1e 40 1a 18 3f 00 21 00 39 00 29 00 39 00 29 00 39 00 39 00 21 ........@...@..?.!.9.).9.).9.9.!
0f60 00 21 00 3f 00 00 00 00 00 0c 00 1e 00 1e 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f .!.?...........?.?.?.?.?.?.?.?.?
0f80 00 3f 00 3f 00 00 02 00 07 00 00 00 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 .?.?............................
0fa0 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 ........H...H...................
0fc0 00 00 00 00 00 00 00 00 05 20 00 00 00 00 00 04 60 00 00 00 00 ff 1f 60 05 20 00 00 0f 33 f0 04 ................`......`.....3..
0fe0 60 00 00 00 0f 10 f0 00 05 20 00 00 ff ff ff 00 00 00 00 00 f8 17 0f 00 00 00 00 00 f5 f7 0f 00 `...............................
1000 00 00 00 00 fa f7 0f 00 00 00 00 00 f9 f7 0f 00 00 00 00 00 fa f7 0f 00 00 00 00 00 f9 f7 0f 00 ................................
1020 00 00 00 00 f5 f7 0f 00 00 00 00 00 f8 17 0f 00 00 00 00 00 f8 17 0f 00 00 00 00 00 ff ff ff 00 ................................
1040 00 00 00 00 00 00 00 00 00 00 0b 00 00 ff ff ff ff ff ff 00 01 aa aa aa aa aa aa 00 02 77 77 77 .............................www
1060 77 77 77 00 03 55 55 55 55 55 55 00 04 22 22 22 22 22 22 00 05 44 44 44 44 44 44 00 06 bb bb bb www..UUUUUU..""""""..DDDDDD.....
1080 bb bb bb 00 07 dd dd dd dd dd dd 00 08 ee ee ee ee ee ee 00 09 66 66 66 66 cc cc 00 0a cc cc cc .....................ffff.......
10a0 cc ff ff 00 0f 00 00 00 00 00 00 00 00 00 f2 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 ....................`...........
10c0 00 00 00 01 00 02 80 02 80 02 80 04 40 04 40 04 40 39 38 c0 06 38 38 09 20 12 90 24 48 28 28 30 ............@.@.@98..88....$H((0
10e0 18 20 08 01 00 03 80 03 80 03 80 07 c0 07 c0 07 c0 3f f8 ff fe 3f f8 0f e0 1e f0 3c 78 38 38 30 .................?...?.....<x880
1100 18 20 08 00 07 00 07 00 00 00 00 00 00 00 00 00 00 00 00 80 04 00 00 00 00 00 10 00 10 00 00 00 ................................
1120 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 02 00 01 00 02 00 00 00 00 00 00 00 d2 00 00 00 ......H...H.....................
1140 00 00 03 00 00 00 0d c0 00 00 0d c0 00 00 0d c0 00 00 35 70 00 00 35 70 00 00 35 70 00 0f d7 5f ..................5p..5p..5p..._
1160 c0 f5 55 55 7c 0f d5 5f c0 00 d7 5c 00 03 5c d7 00 0d 70 35 c0 0d c0 0d c0 0f 00 03 c0 0c 00 00 ..UU|.._...\..\...p5............
1180 c0 00 00 00 00 00 00 00 02 00 00 ff ff ff ff ff ff 00 01 ff ff ff ff 00 00 00 03 00 00 00 00 00 ................................
11a0 00 00 00 01 52 80 01 00 00 00 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 01 00 00 00 03 80 07 ....R.....`.....................
11c0 c0 0f e0 0e e0 0f e0 07 c0 03 80 01 00 0b a0 0d 60 09 20 08 20 08 20 00 00 00 00 03 80 07 c0 0f ................`...............
11e0 e0 1f f0 1f f0 1f f0 0f e0 07 c0 0b a0 1f f0 1f f0 1f f0 1d 70 1c 70 08 20 00 00 00 07 00 00 00 ....................p.p.........
1200 00 00 00 00 00 00 00 00 00 80 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 ............................H...
1220 48 00 00 00 00 00 04 00 01 00 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 00 05 00 00 00 00 00 H...............................
1240 00 00 05 00 00 00 00 00 00 00 ff f0 00 00 00 00 00 0f 31 3f 00 00 00 00 00 f3 22 23 f0 00 00 00 ..................1?......"#....
1260 00 f1 10 11 f0 00 00 00 00 f3 11 13 f0 00 00 00 00 0f 31 3f 00 00 00 00 00 00 ff f0 00 00 00 00 ..................1?............
1280 00 00 0f 00 00 00 00 00 00 f0 ff f0 f0 00 00 00 00 ff 0f 0f f0 00 00 00 00 40 0f 00 40 00 00 00 .........................@..@...
12a0 00 40 00 00 40 00 00 00 00 40 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 .@..@....@..@...................
12c0 00 ff ff ff ff ff ff 00 01 ee ee ee ee ee ee 00 02 99 99 99 99 ff ff 00 03 dd dd dd dd dd dd 00 ................................
12e0 04 33 33 33 33 66 66 00 05 dd dd 00 00 00 00 00 0f 00 00 00 00 00 00 00 00 01 42 80 01 00 00 00 .3333ff...................B.....
1300 60 00 00 00 92 00 00 00 00 00 00 00 00 00 00 07 e0 07 e0 07 e0 07 e0 08 10 10 88 10 88 10 8c 13 `...............................
1320 8c 10 08 10 08 08 10 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 0f f0 1f f8 1f f8 1f f8 1f ................................
1340 f8 1f f8 1f f8 0f f0 07 e0 07 e0 07 e0 07 e0 00 08 00 0d 00 00 00 00 00 00 00 00 00 00 00 00 80 ................................
1360 08 00 00 00 00 00 10 00 10 00 00 00 00 00 00 00 00 00 48 00 00 00 48 00 00 00 00 00 04 00 01 00 ..................H...H.........
1380 04 00 00 00 00 00 00 01 12 00 00 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 0f ................................
13a0 ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 f0 20 20 2f 00 00 00 0f 02 22 f2 21 f0 00 00 0f 22 ................../.....".!...."
13c0 22 f1 23 f0 00 00 0f 02 22 f1 21 ff 00 00 0f 22 ff f1 23 ff 00 00 0f 02 22 22 21 f0 00 00 0f 22 ".#.....".!...."..#.....""!...."
13e0 22 22 13 f0 00 00 00 f1 31 31 3f 00 00 00 00 0f ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 0f ""......11?.....................
1400 ff ff f0 00 00 00 00 0f ff ff f0 00 00 00 00 00 00 00 00 00 04 00 00 ff ff ff ff ff ff 00 01 cc ................................
1420 cc cc cc cc cc 00 02 ee ee ee ee ee ee 00 03 bb bb bb bb bb bb 00 0f 00 00 00 00 00 00 00 00 00 ................................
1440 44 01 80 1a 70 26 48 26 4a 12 4d 12 49 68 09 98 01 88 02 40 02 20 02 20 04 10 04 08 08 04 08 04 D...p&H&J.M.Ih.....@............
1460 08 01 80 1b f0 3f f8 3f fa 1f ff 1f ff 6f ff ff ff ff fe 7f fe 3f fe 3f fc 1f fc 0f f8 07 f8 07 .....?.?.....o.......?.?........
1480 f8 00 09 00 08 00 00 00 44 00 00 00 00 06 00 09 80 09 40 0b 30 0d 18 09 0c 12 9c 21 2c 10 4c 08 ........D.........@.0......!,.L.
14a0 8c 05 0c 02 08 00 00 00 00 00 00 00 00 06 00 09 80 09 c0 0b f0 0f f8 0f fc 1f fc 3f ec 1f cc 0f ...........................?....
14c0 8c 07 0c 02 08 00 00 00 00 00 0d 00 0c 00 00 00 44 00 00 00 00 00 00 00 00 31 80 4a 40 4a 40 3f ................D........1.J@J@?
14e0 80 0a 00 3f 80 4a 40 4a 46 31 86 00 00 00 00 00 00 00 00 00 00 00 00 31 80 7b c0 ff e0 ff e0 7f ...?.J@JF1.............1.{......
1500 c0 3f 80 7f c0 ff e6 ff ef 7b cf 31 86 00 00 00 00 00 08 00 05 00 00 00 44 ff ff 80 01 bf 01 a1 .?.......{.1............D.......
1520 81 a1 f9 a1 8d a1 8d bf 8d 9f 8d 88 0d 88 0d 88 0d 8f fd 87 fd 80 01 ff ff ff ff ff ff ff ff ff ................................
1540 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 00 08 00 08 00 00 00 ................................
1560 44 00 0e 00 1f 00 1f 00 ff 00 7e 00 b8 01 18 02 28 04 40 08 80 11 00 22 00 44 00 48 00 b0 00 40 D.........~.....(.@....".D.H...@
1580 00 00 0e 00 1f 00 1f 00 ff 00 7e 00 f8 01 f8 03 e8 07 c0 0f 80 1f 00 3e 00 7c 00 78 00 f0 00 40 ..........~............>.|.x...@
15a0 00 00 0f 00 00 00 00 00 44 00 0e 00 1f 00 1f 00 ff 00 7e 00 b8 01 18 03 28 07 c0 0f 80 1f 00 3e ........D.........~.....(......>
15c0 00 7c 00 78 00 f0 00 40 00 00 0e 00 1f 00 1f 00 ff 00 7e 00 f8 01 f8 03 e8 07 c0 0f 80 1f 00 3e .|.x...@..........~............>
15e0 00 7c 00 78 00 f0 00 40 00 00 0f 00 00 00 00 00 44 07 80 18 60 27 90 58 68 50 28 a0 14 af d4 af .|.x...@........D...`'.XhP(.....
1600 d4 a0 14 50 28 58 68 27 98 18 7c 07 8e 00 07 00 03 07 80 1f e0 3f f0 78 78 70 38 e0 1c ef dc ef ...P(Xh'..|..........?.xxp8.....
1620 dc e0 1c 70 38 78 78 3f f8 1f fc 07 8e 00 07 00 03 00 07 00 07 00 00 00 44 07 80 18 60 27 90 58 ...p8xx?................D...`'.X
1640 68 53 28 a3 14 af d4 af d4 a3 14 53 28 58 68 27 98 18 7c 07 8e 00 07 00 03 07 80 1f e0 3f f0 78 hS(........S(Xh'..|..........?.x
1660 78 73 38 e3 1c ef dc ef dc e3 1c 73 38 78 78 3f f8 1f fc 07 8e 00 07 00 03 00 07 00 07 00 00 00 xs8........s8xx?................
1680 44 e0 07 f0 0f f8 1f 7c 3e 3e 7c 1f f8 0f f0 07 e0 07 e0 0f f0 1f f8 3e 7c 7c 3e f8 1f f0 0f e0 D......|>>|............>||>.....
16a0 07 00 00 60 06 70 0e 38 1c 1c 38 0e 70 07 e0 03 c0 03 c0 07 e0 0e 70 1c 38 38 1c 70 0e 60 06 00 ...`.p.8..8.p.........p.88.p.`..
16c0 00 00 07 00 07 00 00 00 44 00 00 00 06 00 1e 00 7c 01 fc 07 f8 00 f8 01 f0 03 b0 07 20 0e 20 1c ........D.......|...............
16e0 00 38 00 70 00 20 00 00 00 00 07 00 1f 00 7f 01 fe 07 fe 1f fc 7f fc 03 f8 07 f8 0f f0 1f 70 3e .8.p..........................p>
1700 60 7c 60 f8 40 70 40 20 00 00 01 00 0e 00 00 00 44 00 00 00 00 00 00 1f e0 00 00 1f e0 03 00 03 `|`.@p@.........D...............
1720 00 03 00 0b 40 07 80 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1f e0 00 00 1f e0 07 80 07 ....@...........................
1740 80 3f f0 1f e0 0f c0 07 80 03 00 00 00 00 00 00 00 00 0b 00 06 00 00 00 44 00 00 00 00 00 00 00 .?......................D.......
1760 00 03 00 07 80 0b 40 03 00 03 00 03 00 1f e0 00 00 1f e0 00 00 00 00 00 00 00 00 00 00 00 00 03 ......@.........................
1780 00 07 80 0f c0 1f e0 3f f0 07 80 07 80 1f e0 00 00 1f e0 00 00 00 00 00 00 00 04 00 06 00 00 00 .......?........................
17a0 44 00 00 00 00 00 00 00 00 01 00 03 c0 84 60 ff ff 00 18 00 20 00 40 ff c0 00 00 00 00 00 00 00 D.............`.......@.........
17c0 00 00 00 00 00 00 00 00 00 01 00 03 c0 87 e0 ff ff ff f8 ff e0 ff c0 ff c0 00 00 00 00 00 00 00 ................................
17e0 00 00 07 00 0f 00 00 00 44 00 00 71 1c 11 10 11 10 11 10 7f fc 51 14 51 14 51 14 51 14 7f fc 11 ........D..q.........Q.Q.Q.Q....
1800 10 11 10 11 10 71 1c 00 00 00 00 00 00 00 00 00 00 00 00 7f fc 7f fc 7f fc 7f fc 7f fc 7f fc 00 .....q..........................
1820 00 00 00 00 00 00 00 00 00 00 01 00 07 00 00 00 44 00 00 00 00 00 00 00 00 c0 00 c0 20 c8 40 c8 ................D.............@.
1840 80 c9 00 ca 00 cc 00 cf c0 c0 00 c0 00 ff f0 ff f0 00 00 00 00 00 00 00 00 00 00 00 20 08 40 08 ..............................@.
1860 80 09 00 0a 00 0c 00 0f c0 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00 44 00 00 00 00 00 00 00 ........................D.......
1880 00 00 03 04 03 02 13 01 13 00 93 00 53 00 33 03 f3 00 03 00 03 0f ff 0f ff 00 00 00 00 00 00 00 ............S.3.................
18a0 00 00 00 04 00 02 10 01 10 00 90 00 50 00 30 03 f0 00 00 00 00 00 00 00 00 00 0f 00 0f 00 00 00 ............P.0.................
18c0 44 00 00 00 00 01 00 01 00 01 00 01 00 01 00 11 10 09 20 05 40 03 80 01 00 00 00 7f fc 7f fc 00 D...................@...........
18e0 00 00 00 00 00 01 00 01 00 01 00 01 00 01 00 11 10 09 20 05 40 03 80 01 00 00 00 00 00 00 00 00 ....................@...........
1900 00 00 0b 00 07 00 00 00 44 00 00 00 00 00 00 01 80 01 80 01 80 01 80 01 80 01 80 01 80 7f fe 7f ........D.......................
1920 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1940 00 00 00 00 00 00 00 00 00 00 0b 00 07 00 00 00 44 ff fe 80 00 bf fe a0 02 af fa a8 0a ab ea aa ................D...............
1960 2a aa aa ab aa a8 2a af ea a0 0a bf fa 80 02 ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 *.....*.........................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 00 08 00 00 00 44 00 00 03 00 03 00 07 ........................D.......
19a0 80 07 80 0f c0 0f c0 1f e0 1f e0 33 30 23 10 03 00 03 00 03 00 03 00 00 00 03 00 07 80 07 80 0f ...........30#..................
19c0 c0 0f c0 1f e0 1f e0 3f f0 3f f0 7f f8 77 b8 67 98 07 80 07 80 07 80 07 80 00 01 00 06 00 00 00 .......?.?...w.g................
19e0 44 00 00 03 c0 0f f0 1f f8 3c 3c 38 1c 70 0e 70 0e 70 0e 70 0e 38 1c 3c 3c 1f f8 0f f0 03 c0 00 D........<<8.p.p.p.p.8.<<.......
1a00 00 03 c0 0f f0 1f f8 3f fc 7f fe 7c 3e f8 1f f8 1f f8 1f f8 1f 7c 3e 7f fe 3f fc 1f f8 0f f0 03 .......?...|>........|>..?......
1a20 c0 00 07 00 07 00 00 00 44 1f f8 33 cc 64 66 49 92 4f 12 44 22 63 c6 3f fc 29 94 29 94 29 94 2b ........D..3.dfI.O.D"c.?.).).).+
1a40 d4 69 96 78 1e 7f fe 7f fe 1f f8 3f fc 7f fe 7f fe 7f fe 7f fe 7f fe 3f fc 3f fc 3f fc 3f fc 3f .i.x.......?...........?.?.?.?.?
1a60 fc 7f fe 7f fe 7f fe 7f fe 00 04 00 08 00 00 00 44 03 f8 0c 06 10 01 1c 07 33 f9 70 01 d0 01 90 ................D........3.p....
1a80 01 96 0d da 55 7a 55 36 ed 10 a1 10 01 08 02 07 fc 03 f8 0f fe 1f ff 1f ff 3f ff 7f ff ff ff ff ....UzU6.................?......
1aa0 ff ff ff ff ff 7f ff 3f ff 1f ff 1f ff 0f fe 07 fc 00 04 00 03 00 00 00 44 02 80 02 80 02 80 02 .......?................D.......
1ac0 80 02 80 02 80 fe fe 00 00 fe fe 02 80 02 80 02 80 02 80 02 80 02 80 00 00 03 80 03 80 03 80 03 ................................
1ae0 80 03 80 03 80 ff fe ff fe ff fe 03 80 03 80 03 80 03 80 03 80 03 80 00 00 00 07 00 07 00 00 00 ................................
1b00 44 42 84 a2 8a 52 94 2a a8 16 d0 0a a0 fd 7e 02 80 fd 7e 0a a0 16 d0 2a a8 52 94 a2 8a 42 84 00 DB...R.*......~...~....*.R...B..
1b20 00 43 84 e3 8e 73 9c 3b b8 1f f0 0f e0 ff fe ff fe ff fe 0f e0 1f f0 3b b8 73 9c e3 8e 43 84 00 .C...s.;...............;.s...C..
1b40 00 00 07 00 07 00 00 00 44 01 00 01 00 01 00 01 00 01 00 01 00 01 00 fe fe 01 00 01 00 01 00 01 ........D.......................
1b60 00 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 07 00 07 00 00 00 44 02 80 06 c0 0a a0 12 90 22 88 42 84 fe fe 00 ................D........".B....
1ba0 00 fe fe 42 84 22 88 12 90 0a a0 06 c0 02 80 00 00 02 80 06 c0 0e e0 1e f0 3e f8 7e fc fe fe 00 ...B."...................>.~....
1bc0 00 fe fe 7e fc 3e f8 1e f0 0e e0 06 c0 02 80 00 00 00 07 00 07 00 00 00 44 00 00 00 00 07 80 1f ...~.>..................D.......
1be0 e0 1f e0 3f f0 3f f0 3f f0 3f f0 1f e0 1f e0 07 80 00 00 00 00 00 00 00 00 00 00 07 80 1f e0 3f ...?.?.?.?.....................?
1c00 f0 3f f0 7f f8 7f f8 7f f8 7f f8 3f f0 3f f0 1f e0 07 80 00 00 00 00 00 00 00 06 00 06 00 00 00 .?.........?.?..................
1c20 44 00 00 00 00 3f fc 20 04 20 04 20 04 20 04 21 84 21 84 20 04 20 04 20 04 20 04 3f fc 00 00 00 D....?.........!.!.........?....
1c40 00 00 00 00 00 3f fc 3f fc 30 0c 30 0c 31 8c 33 cc 33 cc 31 8c 30 0c 30 0c 3f fc 3f fc 00 00 00 .....?.?.0.0.1.3.3.1.0.0.?.?....
1c60 00 00 07 00 07 00 00 00 44 00 00 01 80 03 c0 07 e0 0d b0 19 98 01 80 01 80 01 80 01 80 19 98 0d ........D.......................
1c80 b0 07 e0 03 c0 01 80 00 00 01 80 03 c0 07 e0 0f f0 1f f8 3f fc 3b dc 03 c0 03 c0 3b dc 3f fc 1f ...................?.;.....;.?..
1ca0 f8 0f f0 07 e0 03 c0 01 80 00 07 00 07 00 00 00 44 00 00 00 02 00 0c 00 3c 00 f8 03 f8 0f f0 00 ................D.......<.......
1cc0 f0 01 60 02 60 04 40 08 40 10 00 20 00 40 00 00 00 00 03 00 0f 00 3e 00 fe 03 fc 0f fc 3f f8 ff ..`.`.@.@....@........>......?..
1ce0 f8 03 f0 07 f0 0e e0 1c e0 38 c0 70 c0 e0 80 40 80 00 01 00 0e 00 00 00 44 00 00 00 02 00 0c 00 .........8.p...@........D.......
1d00 3c 00 f8 03 f8 00 70 00 b0 01 20 02 20 04 00 08 00 10 00 20 00 40 00 00 00 00 03 00 0f 00 3e 00 <.....p..............@........>.
1d20 fe 03 fc 0f fc 3f f8 01 f8 03 f0 07 70 0e 60 1c 60 38 40 70 40 e0 00 40 00 00 01 00 0e 00 00 00 .....?......p.`.`8@p@..@........
1d40 44 00 00 00 00 3f fc 22 44 26 64 2c 34 38 1c 21 84 21 84 38 1c 2c 34 26 64 22 44 3f fc 00 00 00 D....?."D&d,48.!.!.8.,4&d"D?....
1d60 00 00 00 00 00 3f fc 3e 7c 3e 7c 3c 3c 39 9c 23 c4 23 c4 39 9c 3c 3c 3e 7c 3e 7c 3f fc 00 00 00 .....?.>|>|<<9.#.#.9.<<>|>|?....
1d80 00 00 07 00 07 00 00 00 44 00 00 47 c0 6f e0 7c 30 48 10 4c 00 7e 00 00 00 00 00 00 fc 00 64 10 ........D..G.o.|0H.L.~........d.
1da0 24 18 7c 0f ec 07 c4 00 00 c7 c0 ef e0 ff f0 ff f8 fc 38 fe 10 ff 00 ff 80 03 fe 01 fe 10 fe 38 $.|...............8............8
1dc0 7e 3f fe 1f fe 0f ee 07 c6 00 07 00 07 00 00 00 44 00 00 01 80 03 c0 07 e0 01 80 11 88 31 8c 7f ~?..............D............1..
1de0 fe 7f fe 31 8c 11 88 01 80 07 e0 03 c0 01 80 00 00 01 80 03 c0 07 e0 0f f0 17 e8 3b dc 7f fe ff ...1.......................;....
1e00 ff ff ff 7f fe 3b dc 17 e8 0f f0 07 e0 03 c0 01 80 00 07 00 07 00 00 00 44 00 00 00 78 00 70 40 .....;..................D...x.p@
1e20 36 4f b0 7f f0 7e 30 7c 30 30 38 00 f0 0f e0 04 00 04 00 04 00 0f 00 00 00 00 fc 00 fc e0 ff ff 6O...~0|008.....................
1e40 ff ff ff ff f8 ff f8 ff f8 ff fc 7f fc 3f f8 1f f0 0e 00 1f 80 1f 80 1f 80 00 03 00 0e 00 00 00 .............?..................
1e60 44 3f 00 10 c0 c8 20 ea a0 c8 20 cb a0 f8 38 38 3e 08 26 08 26 09 2e 09 26 09 20 11 10 21 08 3e D?............88>.&.&...&....!.>
1e80 f8 3f 00 1f c0 cf e0 ef e0 cf e0 cf e0 ff f8 3f fe 0f e6 0f e6 0f ee 0f e6 0f e0 1f f0 3f f8 3e .?.............?.............?.>
1ea0 f8 00 00 00 02 00 00 00 44 00 0c 00 3c 00 f0 01 e0 03 c0 07 e0 0f f0 2f e0 7f f0 5f f0 07 e0 07 ........D...<........../..._....
1ec0 c0 4a 00 62 00 34 00 18 00 00 0c 00 3c 00 f0 01 e0 03 c0 07 e0 0f f0 2f e0 7f f0 7f f0 7f e0 7f .J.b.4......<........../........
1ee0 c0 7e 00 7e 00 3c 00 18 00 00 00 00 0d 00 00 00 44 00 00 3f c0 40 20 3f 10 08 08 07 08 08 08 07 .~.~.<..........D..?.@.?........
1f00 14 08 22 06 41 01 82 01 24 00 88 00 50 00 20 00 00 00 00 3f c0 7f e0 3f f0 0f f8 07 f8 0f f8 07 ..".A...$...P......?...?........
1f20 fc 0f fe 07 ff 01 fe 01 fc 00 f8 00 70 00 20 00 00 00 02 00 01 00 00 00 44 00 00 3e f8 63 8c c1 ............p...........D..>.c..
1f40 06 80 02 80 02 80 02 80 02 c0 06 60 0c 30 18 18 30 0c 60 06 c0 03 80 00 00 00 00 3e f8 7f fc ff ...........`.0..0.`........>....
1f60 fe ff fe ff fe ff fe ff fe ff fe 7f fc 3f f8 1f f0 0f e0 07 c0 03 80 00 00 00 03 00 07 00 00 00 .............?..................
1f80 44 ff ff d5 55 aa ab d5 55 a0 0b d0 05 a0 0b d0 05 a0 0b d0 05 a0 0b d0 05 aa ab d5 55 aa ab ff D...U...U...................U...
1fa0 ff ff ff ff ff ff ff ff ff f0 0f f0 0f f0 0f f0 0f f0 0f f0 0f f0 0f f0 0f ff ff ff ff ff ff ff ................................
1fc0 ff 00 07 00 07 00 00 00 44 00 00 3f fc 1f f8 4f f2 67 e6 73 ce 79 9e 7f fe 7f fe 79 9e 73 ce 67 ........D..?...O.g.s.y.....y.s.g
1fe0 e6 4f f2 1f f8 3f fc 00 00 7f fe 7f fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff .O...?..........................
2000 ff ff ff ff ff 7f fe 7f fe 00 07 00 06 00 00 00 44 00 00 08 00 0c 00 0e 00 0f 00 0f 80 0f c0 0f ................D...............
2020 e0 0f f0 0f 80 0d 80 08 c0 00 c0 00 60 00 60 00 00 18 00 1c 00 1e 00 1f 00 1f 80 1f c0 1f e0 1f ............`.`.................
2040 f0 1f f8 1f fc 1f c0 1d e0 19 e0 10 f0 00 f0 00 70 00 01 00 04 00 00 00 44 00 00 60 00 60 00 60 ................p.......D..`.`.`
2060 80 61 00 62 00 64 00 6f fc 64 00 62 00 61 00 60 80 60 00 60 00 00 00 00 00 00 00 00 00 00 00 00 .a.b.d.o.d.b.a.`.`.`............
2080 80 01 00 02 00 04 00 0f fc 04 00 02 00 01 00 00 80 00 00 00 00 00 00 00 00 00 07 00 04 00 00 00 ................................
20a0 44 00 00 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 0f f8 0f f8 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 00 D...............................
20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e0 00 00 07 00 04 00 00 00 44 80 02 7f fc 7f fc 44 44 45 54 45 54 45 54 45 54 44 44 7f fc 7f fc 7f ........D......DDETETETETDD.....
2100 fc 7f fc 7f fc 7f fc 80 02 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff ................................
2120 fe ff fe ff fe ff fe ff fe 00 04 00 03 00 00 00 44 00 00 00 00 00 00 0c 00 0c 00 0c 00 0c 00 0c ................D...............
2140 00 0c 00 0c 00 0f f8 0f f8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 04 00 00 00 44 00 00 00 00 00 00 00 ........................D.......
2180 30 00 30 00 30 00 30 00 30 00 30 00 30 1f f0 1f f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0.0.0.0.0.0.0...................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0b 00 0b 00 00 00 ................................
21c0 44 03 80 1e f0 02 80 81 00 43 87 24 4b 1d 70 05 40 04 40 02 80 04 40 09 20 12 90 14 50 78 3c f8 D........C.$K.p.@.@...@.....Px<.
21e0 3f 03 80 1f f0 03 80 81 00 43 87 27 cb 1f f0 07 c0 07 c0 03 80 07 c0 0f e0 1e f0 1c 70 78 3c f8 ?........C.'................px<.
2200 3f 00 01 00 07 00 00 00 44 80 02 7f fc 7f fc 44 44 54 54 54 54 54 54 54 54 44 44 7f fc 7f fc 7f ?.......D......DDTTTTTTTTDD.....
2220 fc 7f fc 7f fc 7f fc 80 02 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff ................................
2240 fe ff fe ff fe ff fe ff fe 00 04 00 07 00 00 00 44 06 00 01 00 01 80 0f f0 10 08 17 e8 14 28 14 ................D.............(.
2260 28 17 e8 10 08 10 08 10 08 10 08 10 08 10 08 0f f0 06 00 01 00 01 80 0f f0 1f f8 1f f8 1f f8 1f (...............................
2280 f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 1f f8 0f f0 00 00 00 00 00 00 00 44 00 00 00 f0 00 88 01 ........................D.......
22a0 08 01 90 02 70 02 20 04 40 04 40 08 80 08 80 11 00 1e 00 1c 00 18 00 10 00 00 00 00 f0 00 f8 01 ....p...@.@.....................
22c0 f8 01 f0 03 f0 03 e0 07 c0 07 c0 0f 80 0f 80 1f 00 1e 00 1c 00 18 00 10 00 00 0f 00 03 00 00 00 ................................
22e0 44 03 c0 07 e0 0f f0 19 98 19 98 0f f0 07 e0 03 c0 43 c2 43 c3 21 84 1c 38 03 c0 0f f1 78 1f 40 D................C.C.!..8....x.@
2300 02 07 e0 0f f0 1f f8 3f fc 3f fc 1f f8 0f f0 47 e2 e7 e7 e7 e7 7f ff 3f fc 1f f9 7f ff ff ff f8 .......?.?.....G.......?........
2320 1f 00 0a 00 07 00 00 00 44 00 00 00 00 00 00 01 80 01 80 01 80 01 80 1f f8 1f f8 01 80 01 80 01 ........D.......................
2340 80 01 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2360 00 00 00 00 00 00 00 00 00 00 07 00 07 00 00 00 44 07 c0 0f e0 1c 70 18 30 1c 30 0c 70 00 e0 03 ................D.....p.0.0.p...
2380 c0 03 80 02 80 02 80 0e e0 06 c0 03 80 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23a0 00 00 00 00 00 3f f8 1f f0 0f e0 07 c0 03 80 01 00 00 0e 00 07 00 00 00 44 00 00 00 10 00 30 00 .....?..................D.....0.
23c0 70 00 f0 01 f0 03 f0 07 f0 0f f0 01 f0 01 b0 03 10 03 00 06 00 06 00 00 00 00 18 00 38 00 78 00 p...........................8.x.
23e0 f8 01 f8 03 f8 07 f8 0f f8 1f f8 3f f8 03 f8 07 b8 07 98 0f 08 0f 00 0e 00 00 01 00 0b 00 00 00 ...........?....................
2400 44 00 00 00 00 00 06 00 06 01 06 00 86 00 46 00 26 3f f6 00 26 00 46 00 86 01 06 00 06 00 06 00 D.............F.&?..&.F.........
2420 00 00 00 00 00 00 00 00 00 01 00 00 80 00 40 00 20 3f f0 00 20 00 40 00 80 01 00 00 00 00 00 00 ..............@..?....@.........
2440 00 00 08 00 0b 00 00 00 44 00 00 00 30 00 30 00 30 00 30 00 30 00 30 1f f0 1f f0 00 30 00 30 00 ........D...0.0.0.0.0.0.....0.0.
2460 30 00 30 00 30 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0.0.0.0.........................
2480 00 00 00 00 00 00 00 00 00 00 07 00 0a 00 00 00 44 80 02 7f fc 7f fc 44 44 55 44 55 44 55 44 55 ................D......DDUDUDUDU
24a0 44 44 44 7f fc 7f fc 7f fc 7f fc 7f fc 7f fc 80 02 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff DDD.............................
24c0 fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 04 00 03 00 00 00 44 00 00 7f fe 40 22 40 ........................D....@"@
24e0 22 40 22 7f e2 44 22 44 22 44 22 44 22 47 fe 44 02 44 02 44 02 7f fe 00 00 00 00 7f fe 7f fe 60 "@"..D"D"D"D"G.D.D.D...........`
2500 76 7f f6 7f f6 7c 36 6c 36 6c 36 6c 3e 6f fe 6f fe 6e 06 7f fe 7f fe 00 00 00 07 00 07 00 00 00 v....|6l6l6l>o.o.n..............
2520 44 00 00 00 40 00 40 01 60 01 60 03 60 03 70 07 70 07 70 0f 78 0f 78 1f 78 1f 7c 3e 38 00 00 00 D...@.@.`.`.`.p.p.p.x.x.x.|>8...
2540 00 00 40 00 e0 01 e0 03 f0 03 f0 07 f0 07 f8 0f f8 0f f8 1f fc 1f fc 3f fc 3f fe 7f 7c 7e 38 00 ..@....................?.?..|~8.
2560 00 00 0c 00 08 00 00 00 44 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 02 80 0f ........D.......................
2580 e0 07 c0 03 80 01 00 00 00 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 03 80 1f ................................
25a0 f0 0f e0 07 c0 03 80 01 00 00 0e 00 07 00 00 00 44 00 00 00 00 00 00 00 00 08 10 18 18 3f fc 78 ................D............?.x
25c0 1e 3f fc 18 18 08 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 10 18 18 38 1c 7f fe ff .?.........................8....
25e0 ff 7f fe 38 1c 18 18 08 10 00 00 00 00 00 00 00 00 00 07 00 07 00 00 00 44 00 00 00 00 00 00 00 ...8....................D.......
2600 00 08 00 18 00 3f ff 78 00 3f ff 18 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 .....?.x.?......................
2620 00 18 00 38 00 7f ff ff ff 7f ff 38 00 18 00 08 00 00 00 00 00 00 00 00 00 00 07 00 01 00 00 00 ...8.......8....................
2640 44 00 00 00 00 00 00 00 00 00 00 00 10 00 18 ff fc 00 1e ff fc 00 18 00 10 00 00 00 00 00 00 00 D...............................
2660 00 00 00 00 00 00 00 00 00 00 10 00 18 00 1c ff fe ff ff ff fe 00 1c 00 18 00 10 00 00 00 00 00 ................................
2680 00 00 08 00 0e 00 00 00 44 00 00 00 80 01 c0 03 e0 07 f0 01 40 01 40 01 40 01 40 01 40 01 40 01 ........D...........@.@.@.@.@.@.
26a0 40 01 40 01 40 01 40 01 40 00 80 01 c0 03 e0 07 f0 0f f8 01 c0 01 c0 01 c0 01 c0 01 c0 01 c0 01 @.@.@.@.@.......................
26c0 c0 01 c0 01 c0 01 c0 01 c0 00 01 00 08 00 00 00 44 00 00 01 00 03 80 07 c0 0f e0 02 80 02 80 02 ................D...............
26e0 80 02 80 02 80 02 80 0f e0 07 c0 03 80 01 00 00 00 01 00 03 80 07 c0 0f e0 1f f0 03 80 03 80 03 ................................
2700 80 03 80 03 80 03 80 1f f0 0f e0 07 c0 03 80 01 00 00 07 00 07 00 00 00 44 00 20 00 70 00 f8 01 ........................D...p...
2720 de 05 de 09 de 11 de 11 de 11 de 11 de 31 de 71 de fd de 18 88 00 78 00 30 00 20 00 70 00 f8 01 .............1.q......x.0...p...
2740 fe 07 fe 0f fe 1f fe 1f fe 1f fe 1f fe 3f fe 7f fe ff fe 18 f8 00 78 00 30 00 00 00 0a 00 00 00 .............?........x.0.......
2760 44 00 00 7f 80 40 00 40 00 40 00 47 e0 44 20 44 22 44 22 04 22 07 e2 00 12 00 0a 00 06 01 fe 00 D....@.@.@.G.D.D"D"."...........
2780 00 ff c0 ff c0 ff c0 e0 00 ef f0 ef f0 ec 37 ec 37 ec 37 ec 37 0f f7 0f ff 00 1f 03 ff 03 ff 03 ..............7.7.7.7...........
27a0 ff 00 0e 00 0e 00 00 00 44 20 10 10 20 10 20 08 40 08 40 87 87 67 98 1f e0 1f e0 67 98 87 87 08 ........D.......@.@..g.....g....
27c0 40 08 40 10 20 10 20 20 10 70 38 38 70 38 70 1c e0 9f e7 ef df ff ff 7f f8 7f f8 ff ff ef df 9f @.@......p88p8p.................
27e0 e7 1c e0 38 70 38 70 70 38 00 07 00 07 00 00 00 44 00 18 00 40 0d 18 1e 40 1a 18 3f 00 21 00 39 ...8p8pp8.......D...@...@..?.!.9
2800 00 29 00 39 00 29 00 39 00 39 00 21 00 21 00 3f 00 00 00 00 00 0c 00 1e 00 1e 00 3f 00 3f 00 3f .).9.).9.9.!.!.?...........?.?.?
2820 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 3f 00 00 02 00 07 00 00 00 44 01 00 02 80 02 80 02 .?.?.?.?.?.?.?.?........D.......
2840 80 04 40 04 40 04 40 39 38 c0 06 38 38 09 20 12 90 24 48 28 28 30 18 20 08 01 00 03 80 03 80 03 ..@.@.@98..88....$H((0..........
2860 80 07 c0 07 c0 07 c0 3f f8 ff fe 3f f8 0f e0 1e f0 3c 78 38 38 30 18 20 08 00 07 00 07 00 00 00 .......?...?.....<x880..........
2880 44 00 00 03 80 0f e0 1c 70 30 18 60 0c c1 06 c2 86 c1 06 60 0c 30 18 1c 70 0f e0 03 80 00 00 00 D.......p0.`.......`.0..p.......
28a0 00 00 00 03 80 0f e0 1f f0 3c 78 70 1c e3 8e e3 8e e3 8e 70 1c 3c 78 1f f0 0f e0 03 80 00 00 00 .........<xp.......p.<x.........
28c0 00 00 07 00 07 00 00 00 44 01 00 01 00 01 00 01 00 01 00 01 00 01 00 ff fe 01 00 01 00 01 00 01 ........D.......................
28e0 00 01 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2900 00 00 00 00 00 00 00 00 00 00 07 00 07 00 00 00 44 00 00 60 00 78 00 3e 00 3f 80 1f e0 1e 00 0d ................D..`.x.>.?......
2920 00 0c 80 04 40 04 20 00 10 00 08 00 04 00 00 00 00 e0 00 f8 00 fe 00 7f 80 7f e0 3f f8 3f fe 1f ....@......................?.?..
2940 80 1f c0 0e e0 0e 70 06 38 06 1c 02 0e 02 04 00 00 00 01 00 01 00 00 00 44 ff f0 ff f0 c0 00 c0 ......p.8...............D.......
2960 00 cf c0 cc 00 ca 00 c9 00 c8 80 c8 40 c0 20 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............@...................
2980 00 0f c0 0c 00 0a 00 09 00 08 80 08 40 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............@...................
29a0 44 0f ff 0f ff 00 03 00 03 03 f3 00 33 00 53 00 93 01 13 02 13 04 03 00 03 00 00 00 00 00 00 00 D...........3.S.................
29c0 00 00 00 00 00 00 00 00 00 03 f0 00 30 00 50 00 90 01 10 02 10 04 00 00 00 00 00 00 00 00 00 00 ............0.P.................
29e0 00 00 00 00 0f 00 00 00 44 00 00 7f fc 7f fc 00 00 01 00 03 80 05 40 09 20 11 10 01 00 01 00 01 ........D.............@.........
2a00 00 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 03 80 05 40 09 20 11 10 01 00 01 00 01 ......................@.........
2a20 00 01 00 01 00 00 00 00 00 00 04 00 07 00 00 00 44 00 00 00 00 00 00 00 00 7f fe 7f fe 01 80 01 ................D...............
2a40 80 01 80 01 80 01 80 01 80 01 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 07 00 00 00 44 01 00 00 00 03 80 07 ........................D.......
2a80 c0 0f e0 0e e0 0f e0 07 c0 03 80 01 00 0b a0 0d 60 09 20 08 20 08 20 00 00 00 00 03 80 07 c0 0f ................`...............
2aa0 e0 1f f0 1f f0 1f f0 0f e0 07 c0 0b a0 1f f0 1f f0 1f f0 1d 70 1c 70 08 20 00 00 00 07 00 00 00 ....................p.p.........
2ac0 44 00 00 00 00 00 00 0f f8 0f f8 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 0c 00 00 00 00 00 00 00 00 D...............................
2ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b00 00 00 03 00 04 00 00 00 44 00 00 08 90 02 28 49 a6 27 c8 19 30 61 0c 01 00 01 00 01 00 01 00 01 ........D.....(I.'..0a..........
2b20 00 01 40 01 40 00 80 00 00 00 00 0f f0 1f f8 7f fe 7f fc ff fe fb be e3 8e 03 80 03 80 03 80 03 ..@.@...........................
2b40 c0 03 e0 03 e0 01 c0 00 80 00 04 00 07 00 00 00 44 00 00 00 00 00 00 00 00 1f f0 1f f0 00 30 00 ................D.............0.
2b60 30 00 30 00 30 00 30 00 30 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0.0.0.0.0.0.....................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 0b 00 00 00 44 07 e0 07 e0 07 e0 07 ........................D.......
2ba0 e0 08 10 10 88 10 88 10 8c 13 8c 10 08 10 08 08 10 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 e0 07 ................................
2bc0 e0 0f f0 1f f8 1f f8 1f fc 1f fc 1f f8 1f f8 0f f0 07 e0 07 e0 07 e0 07 e0 00 08 00 0d 00 00 00 ................................
2be0 44 0c 60 02 80 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 02 80 0c D.`.............................
2c00 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 `...............................
2c20 00 00 0b 00 07 00 00 00 ae 00 09 00 00 00 00 00 87 00 fc 00 9b 01 4c 04 04 4f 70 65 6e 00 00 00 ......................L..Open...
2c40 00 00 68 00 fc 00 7c 01 4c 04 06 43 61 6e 63 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 81 04 00 ..h...|.L..Cancel...............
2c60 01 00 82 00 00 00 00 00 08 00 eb 00 18 01 51 00 00 00 00 00 00 00 20 00 fc 00 34 01 4c 04 05 45 ..............Q...........4.L..E
2c80 6a 65 63 74 00 00 00 00 00 00 3c 00 fc 00 50 01 4c 04 07 44 65 73 6b 74 6f 70 00 00 00 00 00 00 ject......<...P.L..Desktop......
2ca0 1d 00 0c 00 9f 00 e6 00 00 00 00 00 00 00 06 00 0c 00 19 00 e6 00 00 00 00 00 00 00 5b 00 fb 00 ............................[...
2cc0 5c 01 4d c0 02 00 0b 00 00 00 00 00 a8 00 14 00 bb 01 2c 07 02 00 83 00 00 00 18 00 55 00 6b 01 \.M...............,.........U.k.
2ce0 04 01 9c 00 01 01 00 01 00 00 00 00 00 00 80 00 00 28 0a 00 00 00 18 00 00 00 00 00 c3 01 58 00 .................(............X.
2d00 01 00 00 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00 ce 60 0a 00 00 4d 44 45 46 02 4f 00 00 4e ...................`...MDEF.O..N
2d20 fa 00 04 4e 75 48 e7 18 30 4f ef ff ee 38 2f 00 36 24 6f 00 26 26 7c 4d 44 45 46 59 4f 2e b8 0b ...NuH..0O...8/.6$o.&&|MDEFYO...
2d40 54 2e 9f 55 4f 3e b8 0a 0a 3f 5f 00 04 55 4f 3e b8 0a 0c 3f 5f 00 06 0c 78 ff ff 0b 5c 66 12 20 T..UO>...?_..UO>...?_...x...\f..
2d60 78 0b 5c 20 50 2f 68 00 06 00 08 2f 68 00 0a 00 0c 0c 44 00 01 66 02 36 12 3f 04 2f 2f 00 34 2f x.\.P/h..../h.....D..f.6.?.//.4/
2d80 2f 00 34 2f 2f 00 34 2f 0a 48 6f 00 12 4e 93 2f 17 21 df 0b 54 3f 2f 00 04 31 df 0a 0a 3f 2f 00 /.4//.4/.Ho..N./.!..T?/..1...?/.
2da0 06 31 df 0a 0c 0c 44 00 01 66 2a b6 52 67 26 0c 78 ff ff 0b 5c 67 1e 20 78 0b 5c 20 50 21 6f 00 .1....D..f*.Rg&.x...\g..x.\.P!o.
2dc0 08 00 06 21 6f 00 0c 00 0a 21 ef 00 08 09 fa 21 ef 00 0c 09 fe 4f ef 00 12 4c df 0c 18 4e 74 00 ...!o....!.....!.....O...L...Nt.
2de0 12 00 00 00 10 00 84 00 00 00 00 00 00 00 00 00 01 ff ff 00 00 00 00 13 a4 13 a4 00 00 00 00 00 ................................
2e00 64 00 44 00 11 02 ff 0c 00 ff fe 00 00 00 48 00 00 00 48 00 00 00 00 00 00 00 64 00 44 00 00 00 d.D...........H...H.......d.D...
2e20 00 00 01 00 0a 00 00 00 00 00 64 00 44 00 99 80 44 00 00 00 00 00 64 00 44 00 00 00 00 00 00 00 ..........d.D...D.....d.D.......
2e40 00 00 48 00 00 00 48 00 00 00 00 00 08 00 01 00 08 00 00 00 00 01 08 00 d8 00 00 00 00 00 01 5a ..H...H........................Z
2e60 5a 80 00 00 ff 37 36 ff 00 ff 00 ff 00 35 35 ff 00 ff 00 cc 00 34 34 ff 00 ff 00 99 00 33 33 ff Z....76......55......44......33.
2e80 00 ff 00 66 00 37 36 ff 00 ff 00 33 00 35 35 ff 00 ff 00 00 00 34 34 ff 00 cc 00 ff 00 33 33 ff ...f.76....3.55......44......33.
2ea0 00 cc 00 cc 00 37 36 ff 00 cc 00 99 00 35 35 ff 00 cc 00 66 00 fa fa ff 00 cc 00 33 00 33 33 ff .....76......55....f.......3.33.
2ec0 00 cc 00 00 00 31 30 ff 00 99 00 ff 00 2f 2f ff 00 99 00 cc 00 fa fa ff 00 99 00 99 00 f9 f9 ff .....10......//.................
2ee0 00 99 00 66 00 31 30 ff 00 99 00 33 00 2f 2f ff 00 99 00 00 00 2e 2e ff 00 66 00 ff 00 f9 f9 ff ...f.10....3.//..........f......
2f00 00 66 00 cc 00 31 30 ff 00 66 00 99 00 2f 2f ff 00 66 00 66 00 2e 2e ff 00 66 00 33 00 2d 2d ff .f...10..f...//..f.f.....f.3.--.
2f20 00 66 00 00 00 31 30 ff 00 33 00 ff 00 2f 2f ff 00 33 00 cc 00 2e 2e ff 00 33 00 99 00 2d 2d ff .f...10..3...//..3.......3...--.
2f40 00 33 00 66 00 31 30 ff 00 33 00 33 00 2f 2f ff 00 33 00 00 00 2e 2e ff 00 00 00 ff 00 2d 2d ff .3.f.10..3.3.//..3...........--.
2f60 00 00 00 cc 00 31 30 ff 00 00 00 99 00 2f 2f ff 00 00 00 66 00 2e 2e ff 00 00 00 33 00 2d f8 ff .....10......//....f.......3.-..
2f80 00 00 00 00 00 2b 2a cc 00 ff 00 ff 00 29 29 cc 00 ff 00 cc 00 28 28 cc 00 ff 00 99 00 27 f8 cc .....+*......))......((......'..
2fa0 00 ff 00 66 00 2b 2a cc 00 ff 00 33 00 29 29 cc 00 ff 00 00 00 28 28 cc 00 cc 00 ff 00 27 27 cc ...f.+*....3.))......((......''.
2fc0 00 cc 00 cc 00 2b 2a cc 00 cc 00 99 00 29 29 cc 00 cc 00 66 00 28 28 cc 00 cc 00 33 00 27 27 cc .....+*......))....f.((....3.''.
2fe0 00 cc 00 00 00 2b 2a cc 00 99 00 ff 00 29 29 cc 00 99 00 cc 00 28 28 cc 00 99 00 99 00 27 27 cc .....+*......))......((......''.
3000 00 99 00 66 00 db db cc 00 99 00 33 00 47 47 cc 00 99 00 00 00 46 46 cc 00 66 00 ff 00 45 45 cc ...f.......3.GG......FF..f...EE.
3020 00 66 00 cc 00 db db cc 00 66 00 99 00 47 47 cc 00 66 00 66 00 46 46 cc 00 66 00 33 00 45 45 cc .f.......f...GG..f.f.FF..f.3.EE.
3040 00 66 00 00 00 db db cc 00 33 00 ff 00 47 47 cc 00 33 00 cc 00 46 46 cc 00 33 00 99 00 45 45 cc .f.......3...GG..3...FF..3...EE.
3060 00 33 00 66 00 db db cc 00 33 00 33 00 41 41 cc 00 33 00 00 00 40 40 cc 00 00 00 ff 00 3f 3f cc .3.f.....3.3.AA..3...@@......??.
3080 00 00 00 cc 00 43 42 cc 00 00 00 99 00 41 41 cc 00 00 00 66 00 40 40 cc 00 00 00 33 00 3f 3f cc .....CB......AA....f.@@....3.??.
30a0 00 00 00 00 00 43 42 99 00 ff 00 ff 00 41 41 99 00 ff 00 cc 00 40 40 99 00 ff 00 99 00 3f 3f 99 .....CB......AA......@@......??.
30c0 00 ff 00 66 00 43 42 99 00 ff 00 33 00 41 41 99 00 ff 00 00 00 40 40 99 00 cc 00 ff 00 3f 3f 99 ...f.CB....3.AA......@@......??.
30e0 00 cc 00 cc 00 43 42 99 00 cc 00 99 00 41 41 99 00 cc 00 66 00 40 40 99 00 cc 00 33 00 3f 3f 99 .....CB......AA....f.@@....3.??.
3100 00 cc 00 00 00 43 42 99 00 99 00 ff 00 41 41 99 00 99 00 cc 00 40 40 99 00 99 00 99 00 3f 3f 99 .....CB......AA......@@......??.
3120 00 99 00 66 00 3d 3c 99 00 99 00 33 00 3b 3b 99 00 99 00 00 00 3a 3a 99 00 66 00 ff 00 39 39 99 ...f.=<....3.;;......::..f...99.
3140 00 66 00 cc 00 3d 3c 99 00 66 00 99 00 3b 3b 99 00 66 00 66 00 3a 3a 99 00 66 00 33 00 39 39 99 .f...=<..f...;;..f.f.::..f.3.99.
3160 00 66 00 00 00 3d 3c 99 00 33 00 ff 00 3b 3b 99 00 33 00 cc 00 3a 3a 99 00 33 00 99 00 39 39 99 .f...=<..3...;;..3...::..3...99.
3180 00 33 00 66 00 3d 3c 99 00 33 00 33 00 3b 3b 99 00 33 00 00 00 3a 3a 99 00 00 00 ff 00 39 39 99 .3.f.=<..3.3.;;..3...::......99.
31a0 00 00 00 cc 00 3d 3c 99 00 00 00 99 00 3b 3b 99 00 00 00 66 00 3a 3a 99 00 00 00 33 00 39 39 99 .....=<......;;....f.::....3.99.
31c0 00 00 00 00 00 3d 3c 66 00 ff 00 ff 00 3b 3b 66 00 ff 00 cc 00 3a 3a 66 00 ff 00 99 00 39 39 66 .....=<f.....;;f.....::f.....99f
31e0 00 ff 00 66 00 3d 3c 66 00 ff 00 33 00 3b 3b 66 00 ff 00 00 00 3a 3a 66 00 cc 00 ff 00 39 39 66 ...f.=<f...3.;;f.....::f.....99f
3200 00 cc 00 cc 00 37 36 66 00 cc 00 99 00 35 35 66 00 cc 00 66 00 34 34 66 00 cc 00 33 00 33 33 66 .....76f.....55f...f.44f...3.33f
3220 00 cc 00 00 00 37 36 66 00 99 00 ff 00 35 35 66 00 99 00 cc 00 34 34 66 00 99 00 99 00 33 33 66 .....76f.....55f.....44f.....33f
3240 00 99 00 66 00 37 36 66 00 99 00 33 00 35 35 66 00 99 00 00 00 34 34 66 00 66 00 ff 00 33 33 66 ...f.76f...3.55f.....44f.f...33f
3260 00 66 00 cc 00 37 36 66 00 66 00 99 00 35 35 66 00 66 00 66 00 34 34 66 00 66 00 33 00 33 33 66 .f...76f.f...55f.f.f.44f.f.3.33f
3280 00 66 00 00 00 37 36 66 00 33 00 ff 00 35 35 66 00 33 00 cc 00 34 34 66 00 33 00 99 00 33 33 66 .f...76f.3...55f.3...44f.3...33f
32a0 00 33 00 66 00 37 36 66 00 33 00 33 00 35 35 66 00 33 00 00 00 34 34 66 00 00 00 ff 00 33 33 66 .3.f.76f.3.3.55f.3...44f.....33f
32c0 00 00 00 cc 00 31 30 66 00 00 00 99 00 2f 2f 66 00 00 00 66 00 2e 2e 66 00 00 00 33 00 f9 f9 66 .....10f.....//f...f...f...3...f
32e0 00 00 00 00 00 31 30 33 00 ff 00 ff 00 2f 2f 33 00 ff 00 cc 00 2e 2e 33 00 ff 00 99 00 f9 f9 33 .....103.....//3.......3.......3
3300 00 ff 00 66 00 31 30 33 00 ff 00 33 00 2f 2f 33 00 ff 00 00 00 2e 2e 33 00 cc 00 ff 00 2d 2d 33 ...f.103...3.//3.......3.....--3
3320 00 cc 00 cc 00 31 30 33 00 cc 00 99 00 2f 2f 33 00 cc 00 66 00 2e 2e 33 00 cc 00 33 00 2d 2d 33 .....103.....//3...f...3...3.--3
3340 00 cc 00 00 00 31 30 33 00 99 00 ff 00 2f 2f 33 00 99 00 cc 00 2e 2e 33 00 99 00 99 00 2d 2d 33 .....103.....//3.......3.....--3
3360 00 99 00 66 00 31 30 33 00 99 00 33 00 2f 2f 33 00 99 00 00 00 2e 2e 33 00 66 00 ff 00 2d f8 33 ...f.103...3.//3.......3.f...-.3
3380 00 66 00 cc 00 2b 2a 33 00 66 00 99 00 29 29 33 00 66 00 66 00 28 28 33 00 66 00 33 00 27 f8 33 .f...+*3.f...))3.f.f.((3.f.3.'.3
33a0 00 66 00 00 00 2b 2a 33 00 33 00 ff 00 29 29 33 00 33 00 cc 00 28 28 33 00 33 00 99 00 27 27 33 .f...+*3.3...))3.3...((3.3...''3
33c0 00 33 00 66 00 2b 2a 33 00 33 00 33 00 29 29 33 00 33 00 00 00 28 28 33 00 00 00 ff 00 27 27 33 .3.f.+*3.3.3.))3.3...((3.....''3
33e0 00 00 00 cc 00 2b 2a 33 00 00 00 99 00 29 29 33 00 00 00 66 00 28 28 33 00 00 00 33 00 27 27 33 .....+*3.....))3...f.((3...3.''3
3400 00 00 00 00 00 49 48 00 00 ff 00 ff 00 47 47 00 00 ff 00 cc 00 46 46 00 00 ff 00 99 00 45 45 00 .....IH......GG......FF......EE.
3420 00 ff 00 66 00 49 48 00 00 ff 00 33 00 47 47 00 00 ff 00 00 00 46 46 00 00 cc 00 ff 00 45 45 00 ...f.IH....3.GG......FF......EE.
3440 00 cc 00 cc 00 49 48 00 00 cc 00 99 00 47 47 00 00 cc 00 66 00 46 46 00 00 cc 00 33 00 45 45 00 .....IH......GG....f.FF....3.EE.
3460 00 cc 00 00 00 43 42 00 00 99 00 ff 00 41 41 00 00 99 00 cc 00 40 40 00 00 99 00 99 00 3f 3f 00 .....CB......AA......@@......??.
3480 00 99 00 66 00 43 42 00 00 99 00 33 00 41 41 00 00 99 00 00 00 40 40 00 00 66 00 ff 00 3f 3f 00 ...f.CB....3.AA......@@..f...??.
34a0 00 66 00 cc 00 43 42 00 00 66 00 99 00 41 41 00 00 66 00 66 00 40 40 00 00 66 00 33 00 3f 3f 00 .f...CB..f...AA..f.f.@@..f.3.??.
34c0 00 66 00 00 00 43 42 00 00 33 00 ff 00 41 41 00 00 33 00 cc 00 40 40 00 00 33 00 99 00 3f 3f 00 .f...CB..3...AA..3...@@..3...??.
34e0 00 33 00 66 00 43 42 00 00 33 00 33 00 41 41 00 00 33 00 00 00 40 40 00 00 00 00 ff 00 3f 3f 00 .3.f.CB..3.3.AA..3...@@......??.
3500 00 00 00 cc 00 43 42 00 00 00 00 99 00 41 41 00 00 00 00 66 00 40 40 00 00 00 00 33 00 3f 3f ee .....CB......AA....f.@@....3.??.
3520 00 00 00 00 00 3d 3c dd 00 00 00 00 00 3b 3b bb 00 00 00 00 00 3a 3a aa 00 00 00 00 00 39 39 88 .....=<......;;......::......99.
3540 00 00 00 00 00 3d 3c 77 00 00 00 00 00 3b 3b 55 00 00 00 00 00 3a 3a 44 00 00 00 00 00 39 39 22 .....=<w.....;;U.....::D.....99"
3560 00 00 00 00 00 3d 3c 11 00 00 00 00 00 3b 3b 00 00 ee 00 00 00 3a 3a 00 00 dd 00 00 00 39 39 00 .....=<......;;......::......99.
3580 00 bb 00 00 00 3d 3c 00 00 aa 00 00 00 3b 3b 00 00 88 00 00 00 3a 3a 00 00 77 00 00 00 39 39 00 .....=<......;;......::..w...99.
35a0 00 55 00 00 00 3d 3c 00 00 44 00 00 00 3b 3b 00 00 22 00 00 00 3a 3a 00 00 11 00 00 00 39 39 00 .U...=<..D...;;.."...::......99.
35c0 00 00 00 ee 00 3d 3c 00 00 00 00 dd 00 3b 3b 00 00 00 00 bb 00 3a 3a 00 00 00 00 aa 00 39 39 00 .....=<......;;......::......99.
35e0 00 00 00 88 00 3d 3c 00 00 00 00 77 00 3b 3b 00 00 00 00 55 00 3a 3a 00 00 00 00 44 00 39 39 00 .....=<....w.;;....U.::....D.99.
3600 00 00 00 22 00 37 36 00 00 00 00 11 00 35 35 ee 00 ee 00 ee 00 34 34 dd 00 dd 00 dd 00 33 33 bb ...".76......55......44......33.
3620 00 bb 00 bb 00 37 36 aa 00 aa 00 aa 00 35 35 88 00 88 00 88 00 34 34 77 00 77 00 77 00 33 33 55 .....76......55......44w.w.w.33U
3640 00 55 00 55 00 37 36 44 00 44 00 44 00 35 35 22 00 22 00 22 00 34 34 11 00 11 00 11 00 33 33 00 .U.U.76D.D.D.55".".".44......33.
3660 00 00 00 00 00 00 00 00 00 00 64 00 44 00 00 00 00 00 64 00 44 00 00 00 0a 00 00 00 00 00 64 00 ..........d.D.....d.D.........d.
3680 44 02 bd 00 13 e8 00 01 f5 f6 fe 07 fe 0e 02 32 32 33 fd 39 00 0e e6 00 1d fc 00 01 f5 f5 fe 07 D..............223.9............
36a0 00 08 fe 0e 02 32 32 33 fe 39 00 3a fc 40 f2 41 02 40 33 07 e9 00 17 01 00 0e fc 40 dc 41 02 39 .....223.9.:.@.A.@3........@.A.9
36c0 0e f5 f5 00 02 f5 f5 f6 fe 07 02 0e 07 00 16 01 00 32 d5 41 04 40 39 0e 32 33 fd 39 00 3a fc 40 .................2.A.@9.23.9.:.@
36e0 fc 41 01 32 00 08 01 00 0e c1 41 01 0e 00 08 01 00 0e c1 41 01 08 00 08 01 00 0e c1 41 01 07 00 .A.2......A........A........A...
3700 08 01 00 0e c1 41 01 07 00 09 01 00 07 c2 41 02 40 f5 00 0e 01 00 07 e8 41 01 47 47 dd 41 02 40 .....A........A.@.......A.GG.A.@
3720 00 00 12 01 00 07 f0 41 00 47 fa 41 01 3b 3b dd 41 02 40 00 00 19 01 00 07 f1 41 0c 47 3b 0b 3b .......A.G.A.;;.A.@.......A.G;.;
3740 47 41 41 47 11 05 05 3b 47 df 41 02 3a 00 00 17 01 00 f6 f0 41 01 0b 0b fe 41 05 47 3b 05 05 11 GAAG...;G.A.:.......A....A.G;...
3760 3b de 41 02 39 00 00 1a 02 00 f5 40 f3 41 0c 47 3b 05 3b 47 41 47 41 0b 0b 3b 47 47 de 41 02 39 ;.A.9......@.A.G;.;GAGA..;GG.A.9
3780 00 00 18 02 00 f5 40 f3 41 02 47 11 0b fe 41 04 47 11 05 41 47 dc 41 02 33 00 00 1b 02 00 00 40 ......@.A.G...A.G..AG.A.3......@
37a0 f3 41 03 47 11 11 47 fe 41 02 05 35 47 f7 41 fd 47 e9 41 02 32 00 00 1e 02 00 00 40 f2 41 06 11 .A.G..G.A..5G.A.G.A.2......@.A..
37c0 3b 47 41 47 35 0b f7 41 06 47 41 39 0e 0e 40 47 ea 41 02 0e 00 00 21 02 00 00 40 f2 41 07 11 3b ;GAG5..A.GA9..@G.A....!...@.A..;
37e0 47 41 41 0b 35 47 f9 41 02 47 40 07 fe 00 02 f6 40 47 eb 41 02 0e 00 00 23 02 00 00 40 f3 41 08 GAA.5G.A.G@.....@G.A....#...@.A.
3800 47 35 41 41 47 3b 05 41 47 fa 41 09 47 3a f6 00 f5 4f 55 f5 0e 47 eb 41 02 07 00 00 22 02 00 00 G5AAG;.AG.A.G:...OU..G.A...."...
3820 3a f3 41 01 47 3b fe 41 01 0b 0b f9 41 05 47 3a f5 00 55 c8 fe ce 01 56 40 eb 41 02 07 00 00 1f :.A.G;.A....A.G:..U....V@.A.....
3840 02 00 00 39 f0 41 04 47 41 05 3b 47 fb 41 04 47 40 f5 f5 a4 fc ce 01 c8 5d eb 41 02 f6 00 00 1f ...9.A.GA.;G.A.G@.......].A.....
3860 02 00 00 39 f0 41 04 47 3b 05 41 47 fc 41 04 47 40 07 f6 c8 fa ce 00 64 ec 41 03 40 f5 00 00 1c ...9.A.G;.AG.A.G@......d.A.@....
3880 02 00 00 39 f0 41 02 47 11 0b fa 41 03 47 08 2a c8 fa ce 01 64 d8 ec 41 00 40 fe 00 25 02 00 00 ...9.A.G...A.G.*....d..A.@..%...
38a0 39 ef 41 02 0b 3b 47 fc 41 03 47 0f f5 a4 fb ce 02 c8 87 d8 fc 41 fe 47 fc 41 00 47 f9 41 00 3a 9.A..;G.A.G..........A.G.A.G.A.:
38c0 fe 00 28 02 00 00 39 ef 41 02 0b 3b 47 fd 41 03 47 39 00 a4 fa ce 00 ab fa 41 09 3b 11 3b 41 41 ..(...9.A..;G.A.G9.......A.;.;AA
38e0 47 3b 0b 3b 47 fa 41 00 39 fe 00 24 02 00 00 33 f1 41 02 47 41 0b fa 41 01 07 79 f9 ce 00 64 fa G;.;G.A.9..$...3.A.GA..A..y...d.
3900 41 02 35 05 0b fd 41 01 0b 0b f9 41 00 39 fe 00 28 02 00 00 32 f1 41 02 47 3b 0b fc 41 02 47 39 A.5...A....A.9..(...2.A.G;..A.G9
3920 f6 f9 ce 01 87 d8 fb 41 03 47 41 05 0b fe 41 02 47 11 0b f9 41 00 39 fe 00 2c 02 00 00 32 f1 41 .......A.GA...A.G...A.9..,...2.A
3940 02 47 3b 11 fb 41 01 08 79 fa ce 05 aa 40 41 41 47 47 fe 41 0a 47 41 05 11 47 41 41 47 35 11 47 .G;..A..y....@AAGG.A.GA..GAAG5.G
3960 fa 41 00 32 fe 00 2f 02 00 00 0e f1 41 03 47 3b 11 47 fe 41 03 47 40 f6 c8 fa ce 05 64 d8 41 40 .A.2../.....A.G;.G.A.G@.....d.A@
3980 39 39 fe 41 04 47 3b 05 3b 47 fe 41 02 35 41 47 fa 41 00 0e fe 00 27 02 00 00 0e f1 41 03 47 3b 99.A.G;.;G.A.5AG.A....'.....A.G;
39a0 3b 47 fe 41 02 47 0f 79 fa ce 0c 87 41 40 32 f5 00 00 3a 47 41 47 3b 05 f2 41 00 0e fe 00 27 02 ;G.A.G.y....A@2...:GAG;..A....'.
39c0 00 00 0e f1 41 03 47 3b 3b 47 fd 41 01 0e a4 fa ce 01 ab aa fe c8 08 79 00 39 47 41 47 11 0b 47 ....A.G;;G.A...........y.9GAG..G
39e0 f3 41 00 07 fe 00 1c 02 00 00 0e ea 41 02 40 2b c8 f5 ce 08 81 00 33 47 41 41 0b 3b 47 f3 41 00 .A..........A.@+......3GAA.;G.A.
3a00 07 fe 00 1a 02 00 00 08 eb 41 02 47 3a 55 f4 ce 06 5d 00 39 47 47 41 0b f1 41 00 f6 fe 00 1c 02 .........A.G:U...].9GGA..A......
3a20 00 00 07 eb 41 02 47 39 79 f4 ce 07 39 00 39 47 47 35 11 47 f3 41 01 40 f5 fe 00 1c 02 00 00 07 ....A.G9y...9.9GG5.G.A.@........
3a40 eb 41 02 47 39 a4 f5 ce 08 ab 0e 00 40 47 41 11 41 47 f3 41 00 40 fd 00 1b 02 00 00 07 eb 41 02 .A.G9.......@GA.AG.A.@........A.
3a60 47 39 a4 f5 ce 07 87 07 07 41 47 41 11 47 f2 41 00 40 fd 00 1b 02 00 00 07 eb 41 02 47 39 c8 f5 G9.......AGA.G.A.@........A.G9..
3a80 ce 07 63 f5 32 47 47 3b 3b 47 f2 41 00 3a fd 00 1a 03 00 00 f6 40 ec 41 02 47 39 c8 f5 ce 05 39 ..c.2GG;;G.A.:.......@.A.G9....9
3aa0 f5 40 47 41 3b f0 41 00 39 fd 00 1c 03 00 00 f5 40 eb 41 01 40 c8 fd ce 01 c8 a4 fc ce 03 ab 08 .@GA;.A.9.......@.A.@...........
3ac0 0e 47 ed 41 00 39 fd 00 1a fe 00 00 40 eb 41 00 40 fc ce 01 a4 c8 fc ce 03 fa 07 40 47 ed 41 00 .G.A.9......@.A.@..........@G.A.
3ae0 32 fd 00 1a fe 00 00 40 ea 41 00 aa fe ce 02 87 f9 c8 fc ce 02 56 0f 47 ec 41 00 32 fd 00 19 fe 2......@.A...........V.G.A.2....
3b00 00 00 40 ea 41 00 ab fe ce 02 64 56 c8 fd ce 01 c8 32 ea 41 00 0e fd 00 1b fe 00 00 40 ed 41 03 ..@.A.....dV.....2.A........@.A.
3b20 0e 40 47 87 fe ce 01 40 55 fc ce 01 fa 40 ea 41 00 08 fd 00 1a fe 00 00 3a ed 41 08 07 07 40 fb .@G....@U....@.A........:.A...@.
3b40 ce ce ab 39 79 fd ce 00 ab e8 41 00 07 fd 00 1c fe 00 00 3a ed 41 08 07 00 f6 a4 ce ce 87 33 79 ...9y.....A........:.A........3y
3b60 fd ce 02 41 47 47 ea 41 00 07 fd 00 1e fe 00 00 39 ed 41 08 07 2a a4 c8 ce ce 88 0e 9d fe ce 03 ...AGG.A........9.A..*..........
3b80 64 1c 39 39 eb 41 01 40 f5 fd 00 1c fe 00 00 39 ed 41 01 07 4f fd ce 02 64 f7 a4 fe ce 03 ab 80 d.99.A.@.......9.A..O...d.......
3ba0 f6 07 eb 41 00 40 fc 00 1c fe 00 00 39 ed 41 01 08 79 fe ce 03 ab 40 2b a4 fc ce 02 f7 0e 47 ec ...A.@......9.A..y....@+......G.
3bc0 41 00 40 fc 00 1c fe 00 00 39 ed 41 01 08 79 fe ce 03 ab 40 f6 c8 fc ce 02 f6 15 47 ec 41 00 40 A.@......9.A..y....@.......G.A.@
3be0 fc 00 1e fe 00 00 3a ee 41 02 47 0e 79 fe ce 03 ab 40 f5 c8 fd ce 03 a4 f5 3a 47 ec 41 00 40 fc ......:.A.G.y....@.......:G.A.@.
3c00 00 1e fe 00 00 3a ee 41 02 47 0e 56 fe ce 03 fb 3a f6 c8 fd ce 02 80 f5 40 eb 41 01 40 f5 fd 00 .....:.A.G.V....:.......@.A.@...
3c20 1e fe 00 00 40 ee 41 09 47 0f 56 ce ce c8 88 39 f6 c8 fd ce 02 56 01 40 eb 41 01 40 f5 fd 00 1c ....@.A.G.V....9.....V.@.A.@....
3c40 fe 00 00 40 ee 41 09 47 39 32 ce ce c8 88 39 2a c8 fd ce 01 56 07 e9 41 00 f6 fd 00 1b fe 00 00 ...@.A.G92....9*....V..A........
3c60 40 ee 41 08 47 3a 32 ce ce c8 64 15 2a fc ce 01 32 07 e9 41 00 07 fd 00 1a fe 00 00 40 ed 41 07 @.A.G:2...d.*...2..A........@.A.
3c80 40 32 ab ce c8 64 39 4e fc ce 01 3a 07 e9 41 00 07 fd 00 1d 03 00 00 f5 40 ed 41 07 40 0e ab ce @2...d9N...:..A.........@.A.@...
3ca0 ce 64 0f 4e fd ce 03 ab 40 08 40 ea 41 00 07 fd 00 1b 03 00 00 f5 40 ec 41 06 0f 81 ce ce 64 33 .d.N....@.@.A.........@.A.....d3
3cc0 4e fd ce 02 ab 40 0e e9 41 00 0e fd 00 1c 02 00 00 f6 ec 41 07 47 15 fa ce ce 64 33 4e fd ce 03 N....@..A..........A.G....d3N...
3ce0 87 0f 0e 47 ea 41 00 0e fd 00 1c 02 00 00 07 ec 41 07 47 16 f9 ce c8 64 33 4e fd ce 03 63 08 40 ...G.A..........A.G....d3N...c.@
3d00 47 ea 41 00 0e fd 00 1a 02 00 00 07 eb 41 06 40 f9 ce c8 64 39 4e fd ce 02 39 40 47 e9 41 00 32 G.A..........A.@...d9N...9@G.A.2
3d20 fd 00 1b 02 00 00 07 ea 41 05 39 ce ce 88 39 f6 fe ce 04 ab 41 41 39 40 ea 41 00 32 fd 00 1c 02 ........A.9...9.....AA9@.A.2....
3d40 00 00 07 eb 41 0e 47 3a c8 ce 88 39 f6 c8 ce ce 64 15 f6 f5 40 ea 41 00 33 fd 00 1a 02 00 00 07 ....A.G:...9....d...@.A.3.......
3d60 ea 41 0c 40 a4 ce 87 39 2a c8 ce ab 41 40 f8 f6 e9 41 00 39 fd 00 1b 02 00 00 0e eb 41 0d 47 41 .A.@...9*...A@...A.9........A.GA
3d80 ab c8 87 39 f5 c8 ce ab ab ce a4 07 e9 41 00 39 fd 00 1c 02 00 00 0e ed 41 09 47 39 39 47 87 c8 ...9.........A.9........A.G99G..
3da0 ab 40 f5 c8 fd ce 01 a4 0e e9 41 00 39 fd 00 1d 02 00 00 0e ed 41 09 47 3a 00 07 80 ce ab 40 f5 .@........A.9........A.G:.....@.
3dc0 c8 fd ce 02 55 0e 47 ea 41 00 39 fd 00 1b 02 00 00 0e eb 41 07 07 79 c8 ce ce 40 f6 a4 fd ce 02 ....U.G.A.9........A..y...@.....
3de0 2b 39 47 ea 41 00 3a fd 00 1c 02 00 00 0e ec 41 02 47 39 79 fe ce 02 64 07 a4 fe ce 02 a4 07 40 +9G.A.:........A.G9y...d.......@
3e00 e9 41 00 40 fd 00 1a 02 00 00 32 ea 41 06 32 a4 ce ce 88 08 79 fe ce 02 f9 0f 47 e9 41 00 40 fd .A.@......2.A.2.....y.....G.A.@.
3e20 00 1a 02 00 00 32 eb 41 07 47 40 f7 c8 ce 87 0e 79 fe ce 01 32 40 e8 41 00 40 fd 00 19 02 00 00 .....2.A.G@.....y...2@.A.@......
3e40 33 ea 41 0b 47 40 f8 c8 ab 0e 55 ce ce 80 15 47 e8 41 00 40 fd 00 17 02 00 00 33 e9 41 08 47 40 3.A.G@....U....G.A.@......3.A.G@
3e60 f9 a4 39 4f ce ce 5d e6 41 01 40 f5 fe 00 14 02 00 00 39 e8 41 06 47 64 fb 39 2b c8 ab e4 41 00 ..9O..].A.@.......9.A.Gd.9+...A.
3e80 f6 fe 00 11 02 00 00 39 e5 41 03 40 f6 87 64 e4 41 00 07 fe 00 1e 02 00 00 39 eb 41 02 3a 0e 0e .......9.A.@..d.A........9.A.:..
3ea0 fd 41 02 07 40 47 f6 41 04 40 0f 08 39 47 f4 41 00 07 fe 00 27 02 00 00 39 fb 41 01 47 47 f2 41 .A..@G.A.@..9G.A....'...9.A.GG.A
3ec0 02 08 00 40 fe 41 02 08 39 47 fc 41 01 47 47 fc 41 03 39 00 39 47 f4 41 00 07 fe 00 29 02 00 00 ...@.A..9G.A.GG.A.9.9G.A....)...
3ee0 39 fb 41 01 40 39 f3 41 09 47 0e f5 40 41 41 47 0e 33 47 fc 41 01 39 3a fd 41 04 47 39 00 39 47 9.A.@9.A.G..@AAG.3G.A.9:.A.G9.9G
3f00 f4 41 00 08 fe 00 36 02 00 00 3a fc 41 03 47 0e 00 40 fc 41 02 47 41 40 fc 41 09 47 0e f5 40 41 .A....6...:.A.G..@.A.GA@.A.G..@A
3f20 41 47 33 0e 47 fe 41 04 47 40 00 0e 47 fe 41 04 47 39 00 39 41 fe 40 f7 41 00 0e fe 00 3a 02 00 AG3.G.A.G@..G.A.G9.9A.@.A....:..
3f40 00 3a fd 41 0e 47 40 07 00 0e 40 47 41 41 47 39 0e 39 0e 40 fe 41 08 47 0e f5 40 41 41 47 39 0e .:.A.G@...@GAAG9.9.@.A.G..@AAG9.
3f60 fc 41 03 0f 00 07 39 fe 41 07 47 39 00 39 40 08 0f 39 f7 41 00 0e fe 00 35 02 00 00 40 fb 41 02 .A....9.A.G9.9@..9.A....5...@.A.
3f80 0e 00 40 fe 41 0d 47 40 00 39 41 00 32 47 41 41 47 0e f5 40 fe 41 01 40 08 fc 41 02 3a 00 0e fd ..@.A.G@.9A.2GAAG..@.A.@..A.:...
3fa0 41 05 47 39 00 39 39 33 f5 41 00 0e fe 00 39 02 00 00 40 fc 41 03 47 0e 00 40 fe 41 06 47 32 00 A.G9.993.A....9...@.A.G..@.A.G2.
3fc0 40 41 39 40 fe 41 03 47 0e f5 40 fd 41 01 08 40 fe 41 04 47 40 00 0e 47 fe 41 06 47 39 00 07 f5 @A9@.A.G..@.A..@.A.G@..G.A.G9...
3fe0 40 47 f6 41 00 32 fe 00 3a 02 00 00 40 fc 41 0c 47 0e 00 40 47 41 41 47 0e 00 40 47 47 fd 41 03 @G.A.2..:...@.A.G..@GAAG..@GG.A.
4000 47 0e f5 40 fe 41 0a 47 0e 39 47 41 41 47 40 00 0e 47 fe 41 07 47 39 00 0e 00 07 41 47 f7 41 00 G..@.A.G.9GAAG@..G.A.G9....AG.A.
4020 32 fe 00 38 02 00 00 40 fc 41 02 47 0e 00 fd 41 06 47 39 00 3a 47 40 39 fe 41 02 47 0e f5 fd 41 2..8...@.A.G...A.G9.:G@9.A.G...A
4040 0a 47 33 33 47 41 41 47 40 00 0e 47 fe 41 06 47 39 00 39 39 00 0e f6 41 00 33 fe 00 3a 02 00 f5 .G33GAAG@..G.A.G9.99...A.3..:...
4060 40 fc 41 04 47 32 00 0e 39 fd 41 0b 0e 0e 40 33 3a 47 41 41 3a 07 f5 39 fe 41 02 47 3a 0e fd 41 @.A.G2..9.A...@3:GAA:..9.A.G:..A
4080 0f 40 f5 07 33 40 41 41 40 0e 00 0e 40 07 00 0e 40 f8 41 00 39 fe 00 29 02 00 f5 40 fa 41 01 39 .@..3@AA@...@...@.A.9..)...@.A.9
40a0 39 fb 41 02 3a 3a 40 fd 41 fd 40 fd 41 02 40 0e 40 fd 41 02 40 39 40 fd 41 fa 40 f7 41 00 39 fe 9.A.::@.A.@.A.@.@.A.@9@.A.@.A.9.
40c0 00 2a 01 00 f6 f9 41 01 47 47 fb 41 01 47 47 fb 41 01 47 47 fb 41 01 39 40 fd 41 01 47 47 fb 41 .*....A.GG.A.GG.A.GG.A.9@.A.GG.A
40e0 00 47 fe 41 00 47 f6 41 00 39 fe 00 0d 01 00 07 e1 41 00 40 e4 41 00 3a fe 00 09 01 00 07 c3 41 .G.A.G.A.9.......A.@.A.:.......A
4100 00 3a fe 00 09 01 00 07 c3 41 00 40 fe 00 09 01 00 07 c3 41 00 40 fe 00 09 01 00 07 c3 41 00 40 .:.......A.@.......A.@.......A.@
4120 fe 00 0a 01 00 0e c3 41 03 40 f5 00 00 09 01 00 0e c2 41 02 f6 00 00 09 01 00 0e c2 41 02 07 00 .......A.@........A.........A...
4140 00 09 01 00 0e c2 41 02 07 00 00 11 01 00 0e ed 41 fe 40 00 3a f9 40 e2 41 02 07 00 00 2b 01 00 ......A.........A.@.:.@.A....+..
4160 32 f9 41 fe 40 fe 39 06 32 0e 0e 07 07 f6 f5 f8 00 02 f5 f5 f6 fb 07 fb 0e 03 32 32 33 33 fb 39 2.A.@.9.2.................2233.9
4180 01 3a 3a fb 40 02 07 00 00 0e 0a 00 0e 39 39 32 0e 0e 07 07 f6 f5 c8 00 02 bd 00 00 ff 00 00 00 .::.@........992................
41a0 e0 00 00 00 00 80 00 c0 00 e0 00 f0 00 f8 00 fc 00 f8 00 f0 00 e0 00 c0 00 80 00 00 00 00 00 00 ................................
41c0 00 00 00 00 00 00 00 08 00 14 00 22 00 41 00 80 80 e3 80 22 00 22 00 22 00 3e 00 00 00 00 00 00 ...........".A.....".".".>......
41e0 00 00 00 00 00 00 00 00 00 00 00 f8 f0 c4 f0 f2 70 09 00 04 80 02 70 01 30 00 f0 00 00 00 00 00 ................p.....p.0.......
4200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 e0 ce 60 1b 00 31 80 00 00 00 00 00 ......................`..1......
4220 00 00 00 00 00 00 00 00 00 63 00 94 80 94 80 7f 00 14 00 7f 00 94 80 94 80 63 00 00 00 00 00 00 .........c...............c......
4240 00 00 00 00 00 00 00 00 00 00 00 3f f8 1f f0 0f e0 07 c0 03 80 01 00 00 00 00 00 00 00 00 00 00 ...........?....................
4260 00 00 00 00 00 00 00 00 00 00 00 01 00 03 80 07 c0 0f e0 1f f0 3f f8 00 00 00 00 00 00 00 00 00 .....................?..........
4280 00 00 00 00 0a 58 c0 00 80 00 00 00 20 00 00 00 00 2c 23 23 20 74 6b 2e 74 63 6c 20 2d 2d 0d 23 .....X...........,##.tk.tcl.--.#
42a0 0d 23 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 70 74 20 6e 6f 72 6d 61 6c 6c .#.Initialization.script.normall
42c0 79 20 65 78 65 63 75 74 65 64 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 6f y.executed.in.the.interpreter.fo
42e0 72 20 65 61 63 68 0d 23 20 54 6b 2d 62 61 73 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 20 r.each.#.Tk-based.application...
4300 41 72 72 61 6e 67 65 73 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 77 69 64 67 Arranges.class.bindings.for.widg
4320 65 74 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 74 6b 2e 74 63 6c 2c 76 ets..#.#.RCS:.@(#).$Id:.tk.tcl,v
4340 20 31 2e 32 30 2e 32 2e 32 20 32 30 30 31 2f 31 30 2f 31 39 20 31 37 3a 33 33 3a 30 30 20 68 6f .1.20.2.2.2001/10/19.17:33:00.ho
4360 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 bbs.Exp.$.#.#.Copyright.(c).1992
4380 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 -1994.The.Regents.of.the.Univers
43a0 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 ity.of.California..#.Copyright.(
43c0 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 c).1994-1996.Sun.Microsystems,.I
43e0 6e 63 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 2d 32 30 30 30 20 53 63 nc..#.Copyright.(c).1998-2000.Sc
4400 72 69 70 74 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 riptics.Corporation..#.#.See.the
4420 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
4440 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
4460 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
4480 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 0d 23 20 49 6e 73 LAIMER.OF.ALL.WARRANTIES...#.Ins
44a0 69 73 74 20 6f 6e 20 72 75 6e 6e 69 6e 67 20 77 69 74 68 20 63 6f 6d 70 61 74 69 62 6c 65 20 76 ist.on.running.with.compatible.v
44c0 65 72 73 69 6f 6e 73 20 6f 66 20 54 63 6c 20 61 6e 64 20 54 6b 2e 0d 0d 70 61 63 6b 61 67 65 20 ersions.of.Tcl.and.Tk...package.
44e0 72 65 71 75 69 72 65 20 2d 65 78 61 63 74 20 54 6b 20 38 2e 33 0d 70 61 63 6b 61 67 65 20 72 65 require.-exact.Tk.8.3.package.re
4500 71 75 69 72 65 20 2d 65 78 61 63 74 20 54 63 6c 20 38 2e 33 0d 0d 23 20 41 64 64 20 54 6b 27 73 quire.-exact.Tcl.8.3..#.Add.Tk's
4520 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 75 74 .directory.to.the.end.of.the.aut
4540 6f 2d 6c 6f 61 64 20 73 65 61 72 63 68 20 70 61 74 68 2c 20 69 66 20 69 74 0d 23 20 69 73 6e 27 o-load.search.path,.if.it.#.isn'
4560 74 20 61 6c 72 65 61 64 79 20 6f 6e 20 74 68 65 20 70 61 74 68 3a 0d 0d 69 66 20 7b 5b 69 6e 66 t.already.on.the.path:..if.{[inf
4580 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 20 26 26 20 5b 73 74 72 69 6e 67 20 63 o.exists.auto_path].&&.[string.c
45a0 6f 6d 70 61 72 65 20 7b 7d 20 24 74 6b 5f 6c 69 62 72 61 72 79 5d 20 26 26 20 5c 0d 09 5b 6c 73 ompare.{}.$tk_library].&&.\..[ls
45c0 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 68 20 24 74 6b 5f 6c 69 62 72 earch.-exact.$auto_path.$tk_libr
45e0 61 72 79 5d 20 3c 20 30 7d 20 7b 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 ary].<.0}.{.....lappend.auto_pat
4600 68 20 24 74 6b 5f 6c 69 62 72 61 72 79 0d 7d 0d 0d 23 20 54 75 72 6e 20 6f 66 66 20 73 74 72 69 h.$tk_library.}..#.Turn.off.stri
4620 63 74 20 4d 6f 74 69 66 20 6c 6f 6f 6b 20 61 6e 64 20 66 65 65 6c 20 61 73 20 61 20 64 65 66 61 ct.Motif.look.and.feel.as.a.defa
4640 75 6c 74 2e 0d 0d 73 65 74 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 30 0d 0d 23 20 54 75 ult...set.tk_strictMotif.0..#.Tu
4660 72 6e 20 6f 6e 20 75 73 65 69 6e 70 75 74 6d 65 74 68 6f 64 73 20 28 58 20 49 6e 70 75 74 20 4d rn.on.useinputmethods.(X.Input.M
4680 65 74 68 6f 64 73 29 20 62 79 20 64 65 66 61 75 6c 74 2e 0d 23 20 57 65 20 63 61 74 63 68 20 74 ethods).by.default..#.We.catch.t
46a0 68 69 73 20 62 65 63 61 75 73 65 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 6d 61 his.because.safe.interpreters.ma
46c0 79 20 6e 6f 74 20 61 6c 6c 6f 77 20 74 68 65 20 63 61 6c 6c 2e 0d 0d 63 61 74 63 68 20 7b 74 6b y.not.allow.the.call...catch.{tk
46e0 20 75 73 65 69 6e 70 75 74 6d 65 74 68 6f 64 73 20 31 7d 0d 0d 23 20 43 72 65 61 74 65 20 61 20 .useinputmethods.1}..#.Create.a.
4700 3a 3a 74 6b 20 6e 61 6d 65 73 70 61 63 65 0d 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 3a ::tk.namespace..namespace.eval.:
4720 3a 74 6b 20 7b 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 50 6c 61 63 65 57 69 6e 64 6f 77 20 2d 2d 0d :tk.{.}..#.::tk::PlaceWindow.--.
4740 23 20 20 20 70 6c 61 63 65 20 61 20 74 6f 70 6c 65 76 65 6c 20 61 74 20 61 20 70 61 72 74 69 63 #...place.a.toplevel.at.a.partic
4760 75 6c 61 72 20 70 6f 73 69 74 69 6f 6e 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 20 20 74 ular.position.#.Arguments:.#...t
4780 6f 70 6c 65 76 65 6c 09 6e 61 6d 65 20 6f 66 20 74 6f 70 6c 65 76 65 6c 20 77 69 6e 64 6f 77 0d oplevel.name.of.toplevel.window.
47a0 23 20 20 20 3f 70 6c 61 63 65 6d 65 6e 74 3f 09 70 6f 69 6e 74 65 72 20 3f 63 65 6e 74 65 72 3f #...?placement?.pointer.?center?
47c0 20 3b 20 70 6c 61 63 65 73 20 24 77 20 63 65 6e 74 65 72 65 64 20 6f 6e 20 74 68 65 20 70 6f 69 .;.places.$w.centered.on.the.poi
47e0 6e 74 65 72 0d 23 09 09 77 69 64 67 65 74 20 77 69 64 67 65 74 50 61 74 68 20 3b 20 63 65 6e 74 nter.#..widget.widgetPath.;.cent
4800 65 72 73 20 24 77 20 6f 76 65 72 20 77 69 64 67 65 74 5f 6e 61 6d 65 0d 23 09 09 64 65 66 61 75 ers.$w.over.widget_name.#..defau
4820 6c 74 73 20 74 6f 20 70 6c 61 63 69 6e 67 20 74 6f 70 6c 65 76 65 6c 20 69 6e 20 74 68 65 20 6d lts.to.placing.toplevel.in.the.m
4840 69 64 64 6c 65 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 0d 23 20 20 20 3f 61 6e 63 68 6f 72 3f iddle.of.the.screen.#...?anchor?
4860 09 63 65 6e 74 65 72 20 6f 72 20 77 69 64 67 65 74 50 61 74 68 0d 23 20 52 65 73 75 6c 74 73 3a .center.or.widgetPath.#.Results:
4880 0d 23 20 20 20 52 65 74 75 72 6e 73 20 6e 6f 74 68 69 6e 67 0d 23 0d 70 72 6f 63 20 3a 3a 74 6b .#...Returns.nothing.#.proc.::tk
48a0 3a 3a 50 6c 61 63 65 57 69 6e 64 6f 77 20 7b 77 20 7b 70 6c 61 63 65 20 22 22 7d 20 7b 61 6e 63 ::PlaceWindow.{w.{place.""}.{anc
48c0 68 6f 72 20 22 22 7d 7d 20 7b 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 24 77 0d 20 20 hor.""}}.{.....wm.withdraw.$w...
48e0 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 73 65 74 20 63 68 65 63 6b ..update.idletasks.....set.check
4900 42 6f 75 6e 64 73 20 31 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 2d Bounds.1.....if.{[string.equal.-
4920 6c 65 6e 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 70 6c 61 63 65 5d 20 24 70 6c 61 63 len.[string.length.$place].$plac
4940 65 20 22 70 6f 69 6e 74 65 72 22 5d 7d 20 7b 0d 09 23 23 20 70 6c 61 63 65 20 61 74 20 50 4f 49 e."pointer"]}.{..##.place.at.POI
4960 4e 54 45 52 20 28 63 65 6e 74 65 72 65 64 20 69 66 20 24 61 6e 63 68 6f 72 20 3d 3d 20 63 65 6e NTER.(centered.if.$anchor.==.cen
4980 74 65 72 29 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 2d 6c 65 6e 20 5b 73 74 ter)..if.{[string.equal.-len.[st
49a0 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 61 6e 63 68 6f 72 5d 20 24 61 6e 63 68 6f 72 20 22 63 65 ring.length.$anchor].$anchor."ce
49c0 6e 74 65 72 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 78 20 5b 65 78 70 72 20 7b 5b 77 69 6e nter"]}.{......set.x.[expr.{[win
49e0 66 6f 20 70 6f 69 6e 74 65 72 78 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 fo.pointerx.$w]-[winfo.reqwidth.
4a00 24 77 5d 2f 32 7d 5d 0d 09 20 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f $w]/2}]......set.y.[expr.{[winfo
4a20 20 70 6f 69 6e 74 65 72 79 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 .pointery.$w]-[winfo.reqheight.$
4a40 77 5d 2f 32 7d 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 78 20 5b 77 69 6e w]/2}]..}.else.{......set.x.[win
4a60 66 6f 20 70 6f 69 6e 74 65 72 78 20 24 77 5d 0d 09 20 20 20 20 73 65 74 20 79 20 5b 77 69 6e 66 fo.pointerx.$w]......set.y.[winf
4a80 6f 20 70 6f 69 6e 74 65 72 79 20 24 77 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b o.pointery.$w]..}.....}.elseif.{
4aa0 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 2d 6c 65 6e 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 [string.equal.-len.[string.lengt
4ac0 68 20 24 70 6c 61 63 65 5d 20 24 70 6c 61 63 65 20 22 77 69 64 67 65 74 22 5d 20 26 26 20 5c 0d h.$place].$place."widget"].&&.\.
4ae0 09 20 20 20 20 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 61 6e 63 68 6f 72 5d 20 26 26 20 5b .....[winfo.exists.$anchor].&&.[
4b00 77 69 6e 66 6f 20 69 73 6d 61 70 70 65 64 20 24 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 23 23 20 63 winfo.ismapped.$anchor]}.{..##.c
4b20 65 6e 74 65 72 20 61 62 6f 75 74 20 57 49 44 47 45 54 20 24 61 6e 63 68 6f 72 2c 20 77 69 64 67 enter.about.WIDGET.$anchor,.widg
4b40 65 74 20 6d 75 73 74 20 62 65 20 6d 61 70 70 65 64 0d 09 73 65 74 20 78 20 5b 65 78 70 72 20 7b et.must.be.mapped..set.x.[expr.{
4b60 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 61 6e 63 68 6f 72 5d 20 2b 20 5c 0d 09 09 28 5b 77 69 [winfo.rootx.$anchor].+.\...([wi
4b80 6e 66 6f 20 77 69 64 74 68 20 24 61 6e 63 68 6f 72 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 nfo.width.$anchor]-[winfo.reqwid
4ba0 74 68 20 24 77 5d 29 2f 32 7d 5d 0d 09 73 65 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f th.$w])/2}]..set.y.[expr.{[winfo
4bc0 20 72 6f 6f 74 79 20 24 61 6e 63 68 6f 72 5d 20 2b 20 5c 0d 09 09 28 5b 77 69 6e 66 6f 20 68 65 .rooty.$anchor].+.\...([winfo.he
4be0 69 67 68 74 20 24 61 6e 63 68 6f 72 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 ight.$anchor]-[winfo.reqheight.$
4c00 77 5d 29 2f 32 7d 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 78 20 5b 65 78 70 w])/2}].....}.else.{..set.x.[exp
4c20 72 20 7b 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 77 69 64 74 68 20 24 77 5d 2d 5b 77 69 6e 66 r.{([winfo.screenwidth.$w]-[winf
4c40 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 29 2f 32 7d 5d 0d 09 73 65 74 20 79 20 5b 65 78 70 72 o.reqwidth.$w])/2}]..set.y.[expr
4c60 20 7b 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 65 69 67 68 74 20 24 77 5d 2d 5b 77 69 6e 66 .{([winfo.screenheight.$w]-[winf
4c80 6f 20 72 65 71 68 65 69 67 68 74 20 24 77 5d 29 2f 32 7d 5d 0d 09 73 65 74 20 63 68 65 63 6b 42 o.reqheight.$w])/2}]..set.checkB
4ca0 6f 75 6e 64 73 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 63 68 65 63 6b 42 6f 75 6e ounds.0.....}.....if.{$checkBoun
4cc0 64 73 7d 20 7b 0d 09 69 66 20 7b 24 78 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 78 20 ds}.{..if.{$x.<.0}.{......set.x.
4ce0 30 0d 09 7d 20 65 6c 73 65 69 66 20 7b 24 78 20 3e 20 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 0..}.elseif.{$x.>.([winfo.screen
4d00 77 69 64 74 68 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 29 7d 20 width.$w]-[winfo.reqwidth.$w])}.
4d20 7b 0d 09 20 20 20 20 73 65 74 20 78 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 73 63 72 65 65 {......set.x.[expr.{[winfo.scree
4d40 6e 77 69 64 74 68 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 7d 5d nwidth.$w]-[winfo.reqwidth.$w]}]
4d60 0d 09 7d 0d 09 69 66 20 7b 24 79 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 79 20 30 0d ..}..if.{$y.<.0}.{......set.y.0.
4d80 09 7d 20 65 6c 73 65 69 66 20 7b 24 79 20 3e 20 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 65 .}.elseif.{$y.>.([winfo.screenhe
4da0 69 67 68 74 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 77 5d 29 7d 20 ight.$w]-[winfo.reqheight.$w])}.
4dc0 7b 0d 09 20 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 73 63 72 65 65 {......set.y.[expr.{[winfo.scree
4de0 6e 68 65 69 67 68 74 20 24 77 5d 2d 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 77 5d nheight.$w]-[winfo.reqheight.$w]
4e00 7d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 77 6d 20 67 65 6f 6d 65 74 72 79 20 24 77 20 2b }]..}.....}.....wm.geometry.$w.+
4e20 24 78 2b 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 6f 6e 69 66 79 20 24 77 0d 7d 0d 0d 23 20 3a $x+$y.....wm.deiconify.$w.}..#.:
4e40 3a 74 6b 3a 3a 53 65 74 46 6f 63 75 73 47 72 61 62 20 2d 2d 0d 23 20 20 20 73 77 61 70 20 6f 75 :tk::SetFocusGrab.--.#...swap.ou
4e60 74 20 63 75 72 72 65 6e 74 20 66 6f 63 75 73 20 61 6e 64 20 67 72 61 62 20 74 65 6d 70 6f 72 61 t.current.focus.and.grab.tempora
4e80 72 69 6c 79 20 28 66 6f 72 20 64 69 61 6c 6f 67 73 29 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d rily.(for.dialogs).#.Arguments:.
4ea0 23 20 20 20 67 72 61 62 09 6e 65 77 20 77 69 6e 64 6f 77 20 74 6f 20 67 72 61 62 0d 23 20 20 20 #...grab.new.window.to.grab.#...
4ec0 66 6f 63 75 73 09 77 69 6e 64 6f 77 20 74 6f 20 67 69 76 65 20 66 6f 63 75 73 20 74 6f 0d 23 20 focus.window.to.give.focus.to.#.
4ee0 52 65 73 75 6c 74 73 3a 0d 23 20 20 20 52 65 74 75 72 6e 73 20 6e 6f 74 68 69 6e 67 0d 23 0d 70 Results:.#...Returns.nothing.#.p
4f00 72 6f 63 20 3a 3a 74 6b 3a 3a 53 65 74 46 6f 63 75 73 47 72 61 62 20 7b 67 72 61 62 20 7b 66 6f roc.::tk::SetFocusGrab.{grab.{fo
4f20 63 75 73 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 73 65 74 20 69 6e 64 65 78 20 22 24 67 72 61 62 2c cus.{}}}.{.....set.index."$grab,
4f40 24 66 6f 63 75 73 22 0d 20 20 20 20 75 70 76 61 72 20 3a 3a 74 6b 3a 3a 46 6f 63 75 73 47 72 61 $focus".....upvar.::tk::FocusGra
4f60 62 28 24 69 6e 64 65 78 29 20 64 61 74 61 0d 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 64 61 74 61 b($index).data......lappend.data
4f80 20 5b 66 6f 63 75 73 5d 0d 20 20 20 20 73 65 74 20 6f 6c 64 47 72 61 62 20 5b 67 72 61 62 20 63 .[focus].....set.oldGrab.[grab.c
4fa0 75 72 72 65 6e 74 20 24 67 72 61 62 5d 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 64 61 74 61 20 24 urrent.$grab].....lappend.data.$
4fc0 6f 6c 64 47 72 61 62 0d 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 6f oldGrab.....if.{[winfo.exists.$o
4fe0 6c 64 47 72 61 62 5d 7d 20 7b 0d 09 6c 61 70 70 65 6e 64 20 64 61 74 61 20 5b 67 72 61 62 20 73 ldGrab]}.{..lappend.data.[grab.s
5000 74 61 74 75 73 20 24 6f 6c 64 47 72 61 62 5d 0d 20 20 20 20 7d 0d 20 20 20 20 23 20 54 68 65 20 tatus.$oldGrab].....}.....#.The.
5020 22 67 72 61 62 22 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 66 61 69 6c 20 69 66 20 61 6e 6f 74 "grab".command.will.fail.if.anot
5040 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 0d 20 20 20 20 23 20 61 6c 72 65 61 64 79 20 68 6f her.application.....#.already.ho
5060 6c 64 73 20 74 68 65 20 67 72 61 62 2e 20 20 53 6f 20 63 61 74 63 68 20 69 74 2e 0d 20 20 20 20 lds.the.grab...So.catch.it......
5080 63 61 74 63 68 20 7b 67 72 61 62 20 24 67 72 61 62 7d 0d 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 catch.{grab.$grab}.....if.{[winf
50a0 6f 20 65 78 69 73 74 73 20 24 66 6f 63 75 73 5d 7d 20 7b 0d 09 66 6f 63 75 73 20 24 66 6f 63 75 o.exists.$focus]}.{..focus.$focu
50c0 73 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 52 65 73 74 6f 72 65 46 6f 63 75 73 47 s.....}.}..#.::tk::RestoreFocusG
50e0 72 61 62 20 2d 2d 0d 23 20 20 20 72 65 73 74 6f 72 65 20 6f 6c 64 20 66 6f 63 75 73 20 61 6e 64 rab.--.#...restore.old.focus.and
5100 20 67 72 61 62 20 28 66 6f 72 20 64 69 61 6c 6f 67 73 29 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a .grab.(for.dialogs).#.Arguments:
5120 0d 23 20 20 20 67 72 61 62 09 77 69 6e 64 6f 77 20 74 68 61 74 20 68 61 64 20 74 61 6b 65 6e 20 .#...grab.window.that.had.taken.
5140 67 72 61 62 0d 23 20 20 20 66 6f 63 75 73 09 77 69 6e 64 6f 77 20 74 68 61 74 20 68 61 64 20 74 grab.#...focus.window.that.had.t
5160 61 6b 65 6e 20 66 6f 63 75 73 0d 23 20 20 20 64 65 73 74 72 6f 79 09 64 65 73 74 72 6f 79 7c 77 aken.focus.#...destroy.destroy|w
5180 69 74 68 64 72 61 77 20 2d 20 68 6f 77 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 6f 6c 64 20 ithdraw.-.how.to.handle.the.old.
51a0 67 72 61 62 62 65 64 20 77 69 6e 64 6f 77 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 20 20 20 52 65 grabbed.window.#.Results:.#...Re
51c0 74 75 72 6e 73 20 6e 6f 74 68 69 6e 67 0d 23 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 52 65 73 74 6f turns.nothing.#.proc.::tk::Resto
51e0 72 65 46 6f 63 75 73 47 72 61 62 20 7b 67 72 61 62 20 66 6f 63 75 73 20 7b 64 65 73 74 72 6f 79 reFocusGrab.{grab.focus.{destroy
5200 20 64 65 73 74 72 6f 79 7d 7d 20 7b 0d 20 20 20 20 73 65 74 20 69 6e 64 65 78 20 22 24 67 72 61 .destroy}}.{.....set.index."$gra
5220 62 2c 24 66 6f 63 75 73 22 0d 20 20 20 20 66 6f 72 65 61 63 68 20 7b 6f 6c 64 46 6f 63 75 73 20 b,$focus".....foreach.{oldFocus.
5240 6f 6c 64 47 72 61 62 20 6f 6c 64 53 74 61 74 75 73 7d 20 24 3a 3a 74 6b 3a 3a 46 6f 63 75 73 47 oldGrab.oldStatus}.$::tk::FocusG
5260 72 61 62 28 24 69 6e 64 65 78 29 20 7b 20 62 72 65 61 6b 20 7d 0d 20 20 20 20 75 6e 73 65 74 20 rab($index).{.break.}.....unset.
5280 3a 3a 74 6b 3a 3a 46 6f 63 75 73 47 72 61 62 28 24 69 6e 64 65 78 29 0d 0d 20 20 20 20 63 61 74 ::tk::FocusGrab($index)......cat
52a0 63 68 20 7b 66 6f 63 75 73 20 24 6f 6c 64 46 6f 63 75 73 7d 0d 20 20 20 20 67 72 61 62 20 72 65 ch.{focus.$oldFocus}.....grab.re
52c0 6c 65 61 73 65 20 24 67 72 61 62 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 lease.$grab.....if.{[string.equa
52e0 6c 20 24 64 65 73 74 72 6f 79 20 22 77 69 74 68 64 72 61 77 22 5d 7d 20 7b 0d 09 77 6d 20 77 69 l.$destroy."withdraw"]}.{..wm.wi
5300 74 68 64 72 61 77 20 24 67 72 61 62 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 64 65 73 74 72 thdraw.$grab.....}.else.{..destr
5320 6f 79 20 24 67 72 61 62 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 6f 20 65 78 oy.$grab.....}.....if.{[winfo.ex
5340 69 73 74 73 20 24 6f 6c 64 47 72 61 62 5d 20 26 26 20 5b 77 69 6e 66 6f 20 69 73 6d 61 70 70 65 ists.$oldGrab].&&.[winfo.ismappe
5360 64 20 24 6f 6c 64 47 72 61 62 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 d.$oldGrab]}.{..if.{[string.equa
5380 6c 20 24 6f 6c 64 53 74 61 74 75 73 20 22 67 6c 6f 62 61 6c 22 5d 7d 20 7b 0d 09 20 20 20 20 67 l.$oldStatus."global"]}.{......g
53a0 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6f 6c 64 47 72 61 62 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 rab.-global.$oldGrab..}.else.{..
53c0 20 20 20 20 67 72 61 62 20 24 6f 6c 64 47 72 61 62 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 ....grab.$oldGrab..}.....}.}..#.
53e0 3a 3a 74 6b 3a 3a 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 2d 2d 0d 23 20 20 20 54 68 69 73 20 74 ::tk::GetSelection.--.#...This.t
5400 72 69 65 73 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 65 6c 65 63 ries.to.obtain.the.default.selec
5420 74 69 6f 6e 2e 0d 23 20 20 20 54 68 69 73 20 73 68 61 64 6f 77 73 20 74 68 65 20 38 2e 34 20 76 tion..#...This.shadows.the.8.4.v
5440 65 72 73 69 6f 6e 20 77 68 69 63 68 20 68 61 6e 64 6c 65 73 20 55 54 46 38 5f 53 54 52 49 4e 47 ersion.which.handles.UTF8_STRING
5460 20 61 73 20 77 65 6c 6c 2e 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 20 20 77 09 54 68 65 .as.well..#.Arguments:.#...w.The
5480 20 77 69 64 67 65 74 20 66 6f 72 20 77 68 69 63 68 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 .widget.for.which.the.selection.
54a0 77 69 6c 6c 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 0d 23 09 49 6d 70 6f 72 74 61 6e 74 20 66 will.be.retrieved..#.Important.f
54c0 6f 72 20 74 68 65 20 2d 64 69 73 70 6c 61 79 6f 66 20 70 72 6f 70 65 72 74 79 2e 0d 23 20 20 20 or.the.-displayof.property..#...
54e0 73 65 6c 09 54 68 65 20 73 6f 75 72 63 65 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 sel.The.source.of.the.selection.
5500 28 50 52 49 4d 41 52 59 20 6f 72 20 43 4c 49 50 42 4f 41 52 44 29 0d 23 20 52 65 73 75 6c 74 73 (PRIMARY.or.CLIPBOARD).#.Results
5520 3a 0d 23 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 6f 72 20 :.#...Returns.the.selection,.or.
5540 61 6e 20 65 72 72 6f 72 20 69 66 20 6e 6f 6e 65 20 63 6f 75 6c 64 20 62 65 20 66 6f 75 6e 64 0d an.error.if.none.could.be.found.
5560 23 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 7b 77 20 7b 73 65 #.proc.::tk::GetSelection.{w.{se
5580 6c 20 50 52 49 4d 41 52 59 7d 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 73 65 l.PRIMARY}}.{.....if.{[catch.{se
55a0 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 20 2d 73 65 6c 65 63 lection.get.-displayof.$w.-selec
55c0 74 69 6f 6e 20 24 73 65 6c 7d 20 74 78 74 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 tion.$sel}.txt]}.{..return.-code
55e0 20 65 72 72 6f 72 20 22 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 64 65 66 61 75 6c 74 20 73 .error."could.not.find.default.s
5600 65 6c 65 63 74 69 6f 6e 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 20 24 election".....}.else.{..return.$
5620 74 78 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 65 65 6e 43 68 61 6e 67 65 64 20 2d txt.....}.}..#.tkScreenChanged.-
5640 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 62 79 -.#.This.procedure.is.invoked.by
5660 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 77 68 65 6e 65 76 65 72 20 .the.binding.mechanism.whenever.
5680 74 68 65 0d 23 20 22 63 75 72 72 65 6e 74 22 20 73 63 72 65 65 6e 20 69 73 20 63 68 61 6e 67 69 the.#."current".screen.is.changi
56a0 6e 67 2e 20 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 64 6f 65 73 20 74 77 6f 20 74 68 69 6e ng...The.procedure.does.two.thin
56c0 67 73 2e 0d 23 20 46 69 72 73 74 2c 20 69 74 20 75 73 65 73 20 22 75 70 76 61 72 22 20 74 6f 20 gs..#.First,.it.uses."upvar".to.
56e0 6d 61 6b 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 22 74 6b 50 72 69 76 22 20 70 6f make.global.variable."tkPriv".po
5700 69 6e 74 20 61 74 20 61 6e 0d 23 20 61 72 72 61 79 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 int.at.an.#.array.variable.that.
5720 68 6f 6c 64 73 20 73 74 61 74 65 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 73 70 holds.state.for.the.current.disp
5740 6c 61 79 2e 20 20 53 65 63 6f 6e 64 2c 0d 23 20 69 74 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 lay...Second,.#.it.initializes.t
5760 68 65 20 61 72 72 61 79 20 69 66 20 69 74 20 64 69 64 6e 27 74 20 61 6c 72 65 61 64 79 20 65 78 he.array.if.it.didn't.already.ex
5780 69 73 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 63 72 65 65 6e 20 2d 09 09 ist..#.#.Arguments:.#.screen.-..
57a0 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 77 20 73 63 72 65 65 6e 2e 0d 0d 70 72 6f The.name.of.the.new.screen...pro
57c0 63 20 74 6b 53 63 72 65 65 6e 43 68 61 6e 67 65 64 20 73 63 72 65 65 6e 20 7b 0d 20 20 20 20 73 c.tkScreenChanged.screen.{.....s
57e0 65 74 20 78 20 5b 73 74 72 69 6e 67 20 6c 61 73 74 20 2e 20 24 73 63 72 65 65 6e 5d 0d 20 20 20 et.x.[string.last...$screen]....
5800 20 69 66 20 7b 24 78 20 3e 20 30 7d 20 7b 0d 09 73 65 74 20 64 69 73 70 20 5b 73 74 72 69 6e 67 .if.{$x.>.0}.{..set.disp.[string
5820 20 72 61 6e 67 65 20 24 73 63 72 65 65 6e 20 30 20 5b 65 78 70 72 20 7b 24 78 20 2d 20 31 7d 5d .range.$screen.0.[expr.{$x.-.1}]
5840 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 64 69 73 70 20 24 73 63 72 65 65 6e ].....}.else.{..set.disp.$screen
5860 0d 20 20 20 20 7d 0d 0d 20 20 20 20 75 70 6c 65 76 65 6c 20 23 30 20 75 70 76 61 72 20 23 30 20 .....}......uplevel.#0.upvar.#0.
5880 74 6b 50 72 69 76 2e 24 64 69 73 70 20 74 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 tkPriv.$disp.tkPriv.....global.t
58a0 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 kPriv.....global.tcl_platform...
58c0 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 5d 7d 20 7b 0d 09 ...if.{[info.exists.tkPriv]}.{..
58e0 73 65 74 20 74 6b 50 72 69 76 28 73 63 72 65 65 6e 29 20 24 73 63 72 65 65 6e 0d 09 72 65 74 75 set.tkPriv(screen).$screen..retu
5900 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 61 72 72 61 79 20 73 65 74 20 74 6b 50 72 69 76 20 7b 0d rn.....}.....array.set.tkPriv.{.
5920 09 61 63 74 69 76 65 4d 65 6e 75 09 7b 7d 0d 09 61 63 74 69 76 65 49 74 65 6d 09 7b 7d 0d 09 61 .activeMenu.{}..activeItem.{}..a
5940 66 74 65 72 49 64 09 09 7b 7d 0d 09 62 75 74 74 6f 6e 73 09 09 30 0d 09 62 75 74 74 6f 6e 57 69 fterId..{}..buttons..0..buttonWi
5960 6e 64 6f 77 09 7b 7d 0d 09 64 72 61 67 67 69 6e 67 09 30 0d 09 66 6f 63 75 73 09 09 7b 7d 0d 09 ndow.{}..dragging.0..focus..{}..
5980 67 72 61 62 09 09 7b 7d 0d 09 69 6e 69 74 50 6f 73 09 09 7b 7d 0d 09 69 6e 4d 65 6e 75 62 75 74 grab..{}..initPos..{}..inMenubut
59a0 74 6f 6e 09 7b 7d 0d 09 6c 69 73 74 62 6f 78 50 72 65 76 09 7b 7d 0d 09 6d 65 6e 75 42 61 72 09 ton.{}..listboxPrev.{}..menuBar.
59c0 09 7b 7d 0d 09 6d 6f 75 73 65 4d 6f 76 65 64 09 30 0d 09 6f 6c 64 47 72 61 62 09 09 7b 7d 0d 09 .{}..mouseMoved.0..oldGrab..{}..
59e0 70 6f 70 75 70 09 09 7b 7d 0d 09 70 6f 73 74 65 64 4d 62 09 7b 7d 0d 09 70 72 65 73 73 58 09 09 popup..{}..postedMb.{}..pressX..
5a00 30 0d 09 70 72 65 73 73 59 09 09 30 0d 09 70 72 65 76 50 6f 73 09 09 30 0d 09 73 65 6c 65 63 74 0..pressY..0..prevPos..0..select
5a20 4d 6f 64 65 09 63 68 61 72 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 Mode.char.....}.....set.tkPriv(s
5a40 63 72 65 65 6e 29 20 24 73 63 72 65 65 6e 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 74 65 creen).$screen.....set.tkPriv(te
5a60 61 72 6f 66 66 29 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f aroff).[string.equal.$tcl_platfo
5a80 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 rm(platform)."unix"].....set.tkP
5aa0 72 69 76 28 77 69 6e 64 6f 77 29 20 7b 7d 0d 7d 0d 0d 23 20 44 6f 20 69 6e 69 74 69 61 6c 20 73 riv(window).{}.}..#.Do.initial.s
5ac0 65 74 75 70 20 66 6f 72 20 74 6b 50 72 69 76 2c 20 73 6f 20 74 68 61 74 20 69 74 20 69 73 20 61 etup.for.tkPriv,.so.that.it.is.a
5ae0 6c 77 61 79 73 20 62 6f 75 6e 64 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 0d 23 20 28 6f 74 68 65 lways.bound.to.something.#.(othe
5b00 72 77 69 73 65 2c 20 69 66 20 73 6f 6d 65 6f 6e 65 20 72 65 66 65 72 65 6e 63 65 73 20 69 74 2c rwise,.if.someone.references.it,
5b20 20 69 74 20 6d 61 79 20 67 65 74 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 75 70 76 61 72 2d 65 .it.may.get.set.to.a.non-upvar-e
5b40 64 0d 23 20 76 61 6c 75 65 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 63 61 75 73 65 20 74 72 6f 75 d.#.value,.which.will.cause.trou
5b60 62 6c 65 20 6c 61 74 65 72 29 2e 0d 0d 74 6b 53 63 72 65 65 6e 43 68 61 6e 67 65 64 20 5b 77 69 ble.later)...tkScreenChanged.[wi
5b80 6e 66 6f 20 73 63 72 65 65 6e 20 2e 5d 0d 0d 23 20 74 6b 45 76 65 6e 74 4d 6f 74 69 66 42 69 6e nfo.screen..]..#.tkEventMotifBin
5ba0 64 69 6e 67 73 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 dings.--.#.This.procedure.is.inv
5bc0 6f 6b 65 64 20 61 73 20 61 20 74 72 61 63 65 20 77 68 65 6e 65 76 65 72 20 74 6b 5f 73 74 72 69 oked.as.a.trace.whenever.tk_stri
5be0 63 74 4d 6f 74 69 66 20 69 73 0d 23 20 63 68 61 6e 67 65 64 2e 20 20 49 74 20 69 73 20 75 73 65 ctMotif.is.#.changed...It.is.use
5c00 64 20 74 6f 20 74 75 72 6e 20 6f 6e 20 6f 72 20 74 75 72 6e 20 6f 66 66 20 74 68 65 20 6d 6f 74 d.to.turn.on.or.turn.off.the.mot
5c20 69 66 20 76 69 72 74 75 61 6c 0d 23 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 41 72 67 75 6d if.virtual.#.bindings..#.#.Argum
5c40 65 6e 74 73 3a 0d 23 20 6e 31 20 2d 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 76 61 72 ents:.#.n1.-.the.name.of.the.var
5c60 69 61 62 6c 65 20 62 65 69 6e 67 20 63 68 61 6e 67 65 64 20 28 22 74 6b 5f 73 74 72 69 63 74 4d iable.being.changed.("tk_strictM
5c80 6f 74 69 66 22 29 2e 0d 0d 70 72 6f 63 20 74 6b 45 76 65 6e 74 4d 6f 74 69 66 42 69 6e 64 69 6e otif")...proc.tkEventMotifBindin
5ca0 67 73 20 7b 6e 31 20 64 75 6d 6d 79 20 64 75 6d 6d 79 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 gs.{n1.dummy.dummy}.{.....upvar.
5cc0 24 6e 31 20 6e 61 6d 65 0d 20 20 20 20 0d 20 20 20 20 69 66 20 7b 24 6e 61 6d 65 7d 20 7b 0d 09 $n1.name..........if.{$name}.{..
5ce0 73 65 74 20 6f 70 20 64 65 6c 65 74 65 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 set.op.delete.....}.else.{..set.
5d00 6f 70 20 61 64 64 0d 20 20 20 20 7d 0d 0d 20 20 20 20 65 76 65 6e 74 20 24 6f 70 20 3c 3c 43 75 op.add.....}......event.$op.<<Cu
5d20 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 77 3e 0d 20 20 20 20 65 76 65 6e 74 20 24 6f t>>.<Control-Key-w>.....event.$o
5d40 70 20 3c 3c 43 6f 70 79 3e 3e 20 3c 4d 65 74 61 2d 4b 65 79 2d 77 3e 20 0d 20 20 20 20 65 76 65 p.<<Copy>>.<Meta-Key-w>......eve
5d60 6e 74 20 24 6f 70 20 3c 3c 50 61 73 74 65 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 79 3e nt.$op.<<Paste>>.<Control-Key-y>
5d80 0d 7d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .}..#---------------------------
5da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
5dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 44 65 66 69 6e 65 20 63 6f 6d 6d 6f 6e 20 64 69 61 6c -----------.#.Define.common.dial
5de0 6f 67 73 20 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 77 68 65 72 65 20 74 68 65 79 20 61 72 65 20 ogs.on.platforms.where.they.are.
5e00 6e 6f 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 0d 23 20 75 73 69 6e 67 20 63 6f 6d 70 69 6c 65 not.implemented..#.using.compile
5e20 64 20 63 6f 64 65 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d d.code..#-----------------------
5e40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
5e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 ---------------..if.{[string.equ
5e80 61 6c 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 6b 5f 63 68 6f 6f 73 65 43 6f 6c 6f 72 al.[info.commands.tk_chooseColor
5ea0 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 5f 63 68 6f 6f 73 65 43 6f 6c 6f 72 ].""]}.{.....proc.tk_chooseColor
5ec0 20 7b 61 72 67 73 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 76 61 6c 20 74 6b 43 6f 6c 6f 72 44 .{args}.{..return.[eval.tkColorD
5ee0 69 61 6c 6f 67 20 24 61 72 67 73 5d 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 ialog.$args].....}.}.if.{[string
5f00 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 6b 5f 67 65 74 4f 70 65 6e .equal.[info.commands.tk_getOpen
5f20 46 69 6c 65 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 5f 67 65 74 4f 70 65 6e File].""]}.{.....proc.tk_getOpen
5f40 46 69 6c 65 20 7b 61 72 67 73 7d 20 7b 0d 09 69 66 20 7b 24 3a 3a 74 6b 5f 73 74 72 69 63 74 4d File.{args}.{..if.{$::tk_strictM
5f60 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 65 76 61 6c 20 74 6b 4d 6f 74 69 otif}.{......return.[eval.tkMoti
5f80 66 46 44 69 61 6c 6f 67 20 6f 70 65 6e 20 24 61 72 67 73 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 fFDialog.open.$args]..}.else.{..
5fa0 20 20 20 20 72 65 74 75 72 6e 20 5b 65 76 61 6c 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 66 ....return.[eval.::tk::dialog::f
5fc0 69 6c 65 3a 3a 74 6b 46 44 69 61 6c 6f 67 20 6f 70 65 6e 20 24 61 72 67 73 5d 0d 09 7d 0d 20 20 ile::tkFDialog.open.$args]..}...
5fe0 20 20 7d 0d 7d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 63 6f ..}.}.if.{[string.equal.[info.co
6000 6d 6d 61 6e 64 73 20 74 6b 5f 67 65 74 53 61 76 65 46 69 6c 65 5d 20 22 22 5d 7d 20 7b 0d 20 20 mmands.tk_getSaveFile].""]}.{...
6020 20 20 70 72 6f 63 20 74 6b 5f 67 65 74 53 61 76 65 46 69 6c 65 20 7b 61 72 67 73 7d 20 7b 0d 09 ..proc.tk_getSaveFile.{args}.{..
6040 69 66 20 7b 24 3a 3a 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 72 65 if.{$::tk_strictMotif}.{......re
6060 74 75 72 6e 20 5b 65 76 61 6c 20 74 6b 4d 6f 74 69 66 46 44 69 61 6c 6f 67 20 73 61 76 65 20 24 turn.[eval.tkMotifFDialog.save.$
6080 61 72 67 73 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 65 76 61 args]..}.else.{......return.[eva
60a0 6c 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 66 69 6c 65 3a 3a 74 6b 46 44 69 61 6c 6f 67 20 l.::tk::dialog::file::tkFDialog.
60c0 73 61 76 65 20 24 61 72 67 73 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b 5b 73 74 72 69 save.$args]..}.....}.}.if.{[stri
60e0 6e 67 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 74 6b 5f 6d 65 73 73 61 ng.equal.[info.commands.tk_messa
6100 67 65 42 6f 78 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 5f 6d 65 73 73 61 67 geBox].""]}.{.....proc.tk_messag
6120 65 42 6f 78 20 7b 61 72 67 73 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 76 61 6c 20 74 6b 4d 65 eBox.{args}.{..return.[eval.tkMe
6140 73 73 61 67 65 42 6f 78 20 24 61 72 67 73 5d 0d 20 20 20 20 7d 0d 7d 0d 69 66 20 7b 5b 73 74 72 ssageBox.$args].....}.}.if.{[str
6160 69 6e 67 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 20 74 6b 5f 63 68 6f 6f 73 ing.equal.[info.command.tk_choos
6180 65 44 69 72 65 63 74 6f 72 79 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 5f 63 eDirectory].""]}.{.....proc.tk_c
61a0 68 6f 6f 73 65 44 69 72 65 63 74 6f 72 79 20 7b 61 72 67 73 7d 20 7b 0d 09 72 65 74 75 72 6e 20 hooseDirectory.{args}.{..return.
61c0 5b 65 76 61 6c 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 66 69 6c 65 3a 3a 63 68 6f 6f 73 65 [eval.::tk::dialog::file::choose
61e0 44 69 72 3a 3a 74 6b 43 68 6f 6f 73 65 44 69 72 65 63 74 6f 72 79 20 24 61 72 67 73 5d 0d 20 20 Dir::tkChooseDirectory.$args]...
6200 20 20 7d 0d 7d 0d 09 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ..}.}...#-----------------------
6220 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 44 65 66 69 6e 65 20 74 68 65 20 73 65 74 ---------------.#.Define.the.set
6260 20 6f 66 20 63 6f 6d 6d 6f 6e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 73 2e 0d 23 2d 2d 2d 2d .of.common.virtual.events..#----
6280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
62a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
62c0 2d 2d 0d 0d 73 77 69 74 63 68 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 --..switch.$tcl_platform(platfor
62e0 6d 29 20 7b 0d 20 20 20 20 22 75 6e 69 78 22 20 7b 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 m).{....."unix".{..event.add.<<C
6300 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 78 3e 20 3c 4b 65 79 2d 46 32 30 3e 20 0d ut>>.<Control-Key-x>.<Key-F20>..
6320 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 6f 70 79 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 .event.add.<<Copy>>.<Control-Key
6340 2d 63 3e 20 3c 4b 65 79 2d 46 31 36 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 74 65 -c>.<Key-F16>..event.add.<<Paste
6360 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 4b 65 79 2d 46 31 38 3e 0d 09 65 76 >>.<Control-Key-v>.<Key-F18>..ev
6380 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 74 65 53 65 6c 65 63 74 69 6f 6e 3e 3e 20 3c 42 75 74 74 ent.add.<<PasteSelection>>.<Butt
63a0 6f 6e 52 65 6c 65 61 73 65 2d 32 3e 0d 09 23 20 53 6f 6d 65 20 4f 53 27 73 20 64 65 66 69 6e 65 onRelease-2>..#.Some.OS's.define
63c0 20 61 20 67 6f 6f 66 79 20 28 61 73 20 69 6e 2c 20 6e 6f 74 20 3c 53 68 69 66 74 2d 54 61 62 3e .a.goofy.(as.in,.not.<Shift-Tab>
63e0 29 20 6b 65 79 73 79 6d 0d 09 23 20 74 68 61 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 77 68 65 ).keysym..#.that.is.returned.whe
6400 6e 20 74 68 65 20 75 73 65 72 20 70 72 65 73 73 65 73 20 3c 53 68 69 66 74 2d 54 61 62 3e 2e 20 n.the.user.presses.<Shift-Tab>..
6420 20 49 6e 20 6f 72 64 65 72 20 66 6f 72 0d 09 23 20 74 61 62 20 74 72 61 76 65 72 73 61 6c 20 74 .In.order.for..#.tab.traversal.t
6440 6f 20 77 6f 72 6b 2c 20 77 65 20 68 61 76 65 20 74 6f 20 61 64 64 20 74 68 65 73 65 20 6b 65 79 o.work,.we.have.to.add.these.key
6460 73 79 6d 73 20 74 6f 20 74 68 65 20 0d 09 23 20 50 72 65 76 57 69 6e 64 6f 77 20 65 76 65 6e 74 syms.to.the...#.PrevWindow.event
6480 2e 0d 09 23 20 54 68 65 20 69 6e 66 6f 20 65 78 69 73 74 73 20 69 73 20 6e 65 63 65 73 73 61 72 ...#.The.info.exists.is.necessar
64a0 79 2c 20 62 65 63 61 75 73 65 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 6f 73 29 20 64 6f 65 73 y,.because.tcl_platform(os).does
64c0 6e 27 74 0d 09 23 20 65 78 69 73 74 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 n't..#.exist.in.safe.interpreter
64e0 73 2e 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 6c 5f 70 6c 61 74 66 6f 72 s...if.{[info.exists.tcl_platfor
6500 6d 28 6f 73 29 5d 7d 20 7b 0d 09 20 20 20 20 73 77 69 74 63 68 20 24 74 63 6c 5f 70 6c 61 74 66 m(os)]}.{......switch.$tcl_platf
6520 6f 72 6d 28 6f 73 29 20 7b 0d 09 09 22 49 52 49 58 22 20 20 2d 0d 09 09 22 4c 69 6e 75 78 22 20 orm(os).{..."IRIX"..-..."Linux".
6540 7b 20 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 72 65 76 57 69 6e 64 6f 77 3e 3e 20 3c 49 53 4f 5f {.event.add.<<PrevWindow>>.<ISO_
6560 4c 65 66 74 5f 54 61 62 3e 20 7d 0d 09 09 22 48 50 2d 55 58 22 20 7b 0d 09 09 20 20 20 20 23 20 Left_Tab>.}..."HP-UX".{.......#.
6580 54 68 69 73 20 73 65 65 6d 73 20 74 6f 20 62 65 20 63 6f 72 72 65 63 74 20 6f 6e 20 2a 73 6f 6d This.seems.to.be.correct.on.*som
65a0 65 2a 20 48 50 20 73 79 73 74 65 6d 73 2e 0d 09 09 20 20 20 20 63 61 74 63 68 20 7b 20 65 76 65 e*.HP.systems........catch.{.eve
65c0 6e 74 20 61 64 64 20 3c 3c 50 72 65 76 57 69 6e 64 6f 77 3e 3e 20 3c 68 70 42 61 63 6b 54 61 62 nt.add.<<PrevWindow>>.<hpBackTab
65e0 3e 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 74 72 61 63 65 20 76 61 72 69 61 62 6c >.}...}......}..}..trace.variabl
6600 65 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 77 20 74 6b 45 76 65 6e 74 4d 6f 74 69 66 42 e.tk_strictMotif.w.tkEventMotifB
6620 69 6e 64 69 6e 67 73 0d 09 73 65 74 20 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 24 74 6b 5f indings..set.tk_strictMotif.$tk_
6640 73 74 72 69 63 74 4d 6f 74 69 66 0d 20 20 20 20 7d 0d 20 20 20 20 22 77 69 6e 64 6f 77 73 22 20 strictMotif.....}....."windows".
6660 7b 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 75 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 {..event.add.<<Cut>>.<Control-Ke
6680 79 2d 78 3e 20 3c 53 68 69 66 74 2d 4b 65 79 2d 44 65 6c 65 74 65 3e 0d 09 65 76 65 6e 74 20 61 y-x>.<Shift-Key-Delete>..event.a
66a0 64 64 20 3c 3c 43 6f 70 79 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 63 3e 20 3c 43 6f 6e dd.<<Copy>>.<Control-Key-c>.<Con
66c0 74 72 6f 6c 2d 4b 65 79 2d 49 6e 73 65 72 74 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 trol-Key-Insert>..event.add.<<Pa
66e0 73 74 65 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 53 68 69 66 74 2d 4b 65 79 ste>>.<Control-Key-v>.<Shift-Key
6700 2d 49 6e 73 65 72 74 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 74 65 53 65 6c 65 63 -Insert>..event.add.<<PasteSelec
6720 74 69 6f 6e 3e 3e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e 0d 20 20 20 20 7d 0d 20 tion>>.<ButtonRelease-2>.....}..
6740 20 20 20 22 6d 61 63 69 6e 74 6f 73 68 22 20 7b 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 75 ..."macintosh".{..event.add.<<Cu
6760 74 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 78 3e 20 3c 4b 65 79 2d 46 32 3e 20 0d 09 65 t>>.<Control-Key-x>.<Key-F2>...e
6780 76 65 6e 74 20 61 64 64 20 3c 3c 43 6f 70 79 3e 3e 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 63 vent.add.<<Copy>>.<Control-Key-c
67a0 3e 20 3c 4b 65 79 2d 46 33 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 50 61 73 74 65 3e 3e 20 >.<Key-F3>..event.add.<<Paste>>.
67c0 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 76 3e 20 3c 4b 65 79 2d 46 34 3e 0d 09 65 76 65 6e 74 20 <Control-Key-v>.<Key-F4>..event.
67e0 61 64 64 20 3c 3c 50 61 73 74 65 53 65 6c 65 63 74 69 6f 6e 3e 3e 20 3c 42 75 74 74 6f 6e 52 65 add.<<PasteSelection>>.<ButtonRe
6800 6c 65 61 73 65 2d 32 3e 0d 09 65 76 65 6e 74 20 61 64 64 20 3c 3c 43 6c 65 61 72 3e 3e 20 3c 43 lease-2>..event.add.<<Clear>>.<C
6820 6c 65 61 72 3e 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d lear>.....}.}..#.---------------
6840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 52 65 61 64 20 69 -----------------------.#.Read.i
6880 6e 20 66 69 6c 65 73 20 74 68 61 74 20 64 65 66 69 6e 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 63 n.files.that.define.all.of.the.c
68a0 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 2e 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d lass.bindings..#.---------------
68c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
68e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 69 66 20 7b 5b 73 74 -----------------------..if.{[st
6900 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 ring.compare.$tcl_platform(platf
6920 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 20 26 26 20 5c 0d 09 5b 73 74 72 69 6e 67 20 orm)."macintosh"].&&.\..[string.
6940 63 6f 6d 70 61 72 65 20 7b 7d 20 24 74 6b 5f 6c 69 62 72 61 72 79 5d 7d 20 7b 0d 20 20 20 20 73 compare.{}.$tk_library]}.{.....s
6960 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 62 75 74 ource.[file.join.$tk_library.but
6980 74 6f 6e 2e 74 63 6c 5d 0d 20 20 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 ton.tcl].....source.[file.join.$
69a0 74 6b 5f 6c 69 62 72 61 72 79 20 65 6e 74 72 79 2e 74 63 6c 5d 0d 20 20 20 20 73 6f 75 72 63 65 tk_library.entry.tcl].....source
69c0 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 6c 69 73 74 62 6f 78 2e .[file.join.$tk_library.listbox.
69e0 74 63 6c 5d 0d 20 20 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c tcl].....source.[file.join.$tk_l
6a00 69 62 72 61 72 79 20 6d 65 6e 75 2e 74 63 6c 5d 0d 20 20 20 20 73 6f 75 72 63 65 20 5b 66 69 6c ibrary.menu.tcl].....source.[fil
6a20 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 73 63 61 6c 65 2e 74 63 6c 5d 0d 20 20 e.join.$tk_library.scale.tcl]...
6a40 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 ..source.[file.join.$tk_library.
6a60 73 63 72 6c 62 61 72 2e 74 63 6c 5d 0d 20 20 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f scrlbar.tcl].....source.[file.jo
6a80 69 6e 20 24 74 6b 5f 6c 69 62 72 61 72 79 20 74 65 78 74 2e 74 63 6c 5d 0d 7d 0d 0d 23 20 2d 2d in.$tk_library.text.tcl].}..#.--
6aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6ae0 2d 2d 2d 2d 0d 23 20 44 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6b 65 79 62 ----.#.Default.bindings.for.keyb
6b00 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 2e 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d oard.traversal..#.--------------
6b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 65 76 65 6e 74 20 ------------------------..event.
6b60 61 64 64 20 3c 3c 50 72 65 76 57 69 6e 64 6f 77 3e 3e 20 3c 53 68 69 66 74 2d 54 61 62 3e 0d 62 add.<<PrevWindow>>.<Shift-Tab>.b
6b80 69 6e 64 20 61 6c 6c 20 3c 54 61 62 3e 20 7b 74 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 5b 74 6b ind.all.<Tab>.{tkTabToWindow.[tk
6ba0 5f 66 6f 63 75 73 4e 65 78 74 20 25 57 5d 7d 0d 62 69 6e 64 20 61 6c 6c 20 3c 3c 50 72 65 76 57 _focusNext.%W]}.bind.all.<<PrevW
6bc0 69 6e 64 6f 77 3e 3e 20 7b 74 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 5b 74 6b 5f 66 6f 63 75 73 indow>>.{tkTabToWindow.[tk_focus
6be0 50 72 65 76 20 25 57 5d 7d 0d 0d 23 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 20 2d 2d 0d 23 Prev.%W]}..#.tkCancelRepeat.--.#
6c00 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 63 61 .This.procedure.is.invoked.to.ca
6c20 6e 63 65 6c 20 61 6e 20 61 75 74 6f 2d 72 65 70 65 61 74 20 61 63 74 69 6f 6e 20 64 65 73 63 72 ncel.an.auto-repeat.action.descr
6c40 69 62 65 64 0d 23 20 62 79 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 2e 20 20 49 74 27 73 ibed.#.by.tkPriv(afterId)...It's
6c60 20 75 73 65 64 20 62 79 20 73 65 76 65 72 61 6c 20 77 69 64 67 65 74 73 20 74 6f 20 61 75 74 6f .used.by.several.widgets.to.auto
6c80 2d 73 63 72 6f 6c 6c 0d 23 20 74 68 65 20 77 69 64 67 65 74 20 77 68 65 6e 20 74 68 65 20 6d 6f -scroll.#.the.widget.when.the.mo
6ca0 75 73 65 20 69 73 20 64 72 61 67 67 65 64 20 6f 75 74 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 use.is.dragged.out.of.the.widget
6cc0 20 77 69 74 68 20 61 0d 23 20 62 75 74 74 6f 6e 20 70 72 65 73 73 65 64 2e 0d 23 0d 23 20 41 72 .with.a.#.button.pressed..#.#.Ar
6ce0 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 61 6e 63 65 6c 52 guments:.#.None...proc.tkCancelR
6d00 65 70 65 61 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 epeat.{}.{.....global.tkPriv....
6d20 20 61 66 74 65 72 20 63 61 6e 63 65 6c 20 24 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 0d 20 .after.cancel.$tkPriv(afterId)..
6d40 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 7b 7d 0d 7d 0d 0d 23 20 74 ...set.tkPriv(afterId).{}.}..#.t
6d60 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 kTabToWindow.--.#.This.procedure
6d80 20 6d 6f 76 65 73 20 74 68 65 20 66 6f 63 75 73 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 77 69 .moves.the.focus.to.the.given.wi
6da0 64 67 65 74 2e 20 20 49 66 20 74 68 65 20 77 69 64 67 65 74 0d 23 20 69 73 20 61 6e 20 65 6e 74 dget...If.the.widget.#.is.an.ent
6dc0 72 79 2c 20 69 74 20 73 65 6c 65 63 74 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6e 74 65 6e ry,.it.selects.the.entire.conten
6de0 74 73 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a ts.of.the.widget..#.#.Arguments:
6e00 0d 23 20 77 20 2d 20 57 69 6e 64 6f 77 20 74 6f 20 77 68 69 63 68 20 66 6f 63 75 73 20 73 68 6f .#.w.-.Window.to.which.focus.sho
6e20 75 6c 64 20 62 65 20 73 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 54 61 62 54 6f 57 69 6e 64 6f 77 20 uld.be.set...proc.tkTabToWindow.
6e40 7b 77 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e {w}.{.....if.{[string.equal.[win
6e60 66 6f 20 63 6c 61 73 73 20 24 77 5d 20 45 6e 74 72 79 5d 7d 20 7b 0d 09 24 77 20 73 65 6c 65 63 fo.class.$w].Entry]}.{..$w.selec
6e80 74 69 6f 6e 20 72 61 6e 67 65 20 30 20 65 6e 64 0d 09 24 77 20 69 63 75 72 73 6f 72 20 65 6e 64 tion.range.0.end..$w.icursor.end
6ea0 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 63 75 73 20 24 77 0d 7d 0d 00 00 2c ff 23 20 62 75 74 74 .....}.....focus.$w.}...,.#.butt
6ec0 6f 6e 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 on.tcl.--.#.#.This.file.defines.
6ee0 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 6c 61 62 65 the.default.bindings.for.Tk.labe
6f00 6c 2c 20 62 75 74 74 6f 6e 2c 0d 23 20 63 68 65 63 6b 62 75 74 74 6f 6e 2c 20 61 6e 64 20 72 61 l,.button,.#.checkbutton,.and.ra
6f20 64 69 6f 62 75 74 74 6f 6e 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 70 diobutton.widgets.and.provides.p
6f40 72 6f 63 65 64 75 72 65 73 0d 23 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 rocedures.#.that.help.in.impleme
6f60 6e 74 69 6e 67 20 74 68 6f 73 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 nting.those.bindings..#.#.RCS:.@
6f80 28 23 29 20 24 49 64 3a 20 62 75 74 74 6f 6e 2e 74 63 6c 2c 76 20 31 2e 36 20 31 39 39 39 2f 30 (#).$Id:.button.tcl,v.1.6.1999/0
6fa0 39 2f 30 32 20 31 37 3a 30 32 3a 35 32 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 9/02.17:02:52.hobbs.Exp.$.#.#.Co
6fc0 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 pyright.(c).1992-1994.The.Regent
6fe0 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 s.of.the.University.of.Californi
7000 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 6e a..#.Copyright.(c).1994-1996.Sun
7020 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 .Microsystems,.Inc..#.#.See.the.
7040 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 file."license.terms".for.informa
7060 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e tion.on.usage.and.redistribution
7080 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c .#.of.this.file,.and.for.a.DISCL
70a0 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d AIMER.OF.ALL.WARRANTIES..#..#---
70c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
70e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7100 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 ------.#.The.code.below.creates.
7120 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 62 the.default.class.bindings.for.b
7140 75 74 74 6f 6e 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d uttons..#-----------------------
7160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 ------------------..if.{[string.
71a0 6d 61 74 63 68 20 22 6d 61 63 69 6e 74 6f 73 68 22 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 match."macintosh".$tcl_platform(
71c0 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 platform)]}.{.....bind.Radiobutt
71e0 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 20 on.<Enter>.{..tkButtonEnter.%W..
7200 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d ...}.....bind.Radiobutton.<1>.{.
7220 09 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 .tkButtonDown.%W.....}.....bind.
7240 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d Radiobutton.<ButtonRelease-1>.{.
7260 09 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 .tkButtonUp.%W.....}.....bind.Ch
7280 65 63 6b 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 6e 74 eckbutton.<Enter>.{..tkButtonEnt
72a0 65 72 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e er.%W.....}.....bind.Checkbutton
72c0 20 3c 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 .<1>.{..tkButtonDown.%W.....}...
72e0 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 ..bind.Checkbutton.<ButtonReleas
7300 65 2d 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 69 66 e-1>.{..tkButtonUp.%W.....}.}.if
7320 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 22 77 69 6e 64 6f 77 73 22 20 24 74 63 6c 5f 70 .{[string.match."windows".$tcl_p
7340 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 43 latform(platform)]}.{.....bind.C
7360 68 65 63 6b 62 75 74 74 6f 6e 20 3c 65 71 75 61 6c 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 heckbutton.<equal>.{..tkCheckRad
7380 69 6f 49 6e 76 6f 6b 65 20 25 57 20 73 65 6c 65 63 74 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e ioInvoke.%W.select.....}.....bin
73a0 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 70 6c 75 73 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 d.Checkbutton.<plus>.{..tkCheckR
73c0 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 20 73 65 6c 65 63 74 0d 20 20 20 20 7d 0d 20 20 20 20 62 adioInvoke.%W.select.....}.....b
73e0 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 6d 69 6e 75 73 3e 20 7b 0d 09 74 6b 43 68 65 ind.Checkbutton.<minus>.{..tkChe
7400 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 20 64 65 73 65 6c 65 63 74 0d 20 20 20 20 7d 0d ckRadioInvoke.%W.deselect.....}.
7420 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 ....bind.Checkbutton.<1>.{..tkCh
7440 65 63 6b 52 61 64 69 6f 44 6f 77 6e 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 eckRadioDown.%W.....}.....bind.C
7460 68 65 63 6b 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 heckbutton.<ButtonRelease-1>.{..
7480 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 tkButtonUp.%W.....}.....bind.Che
74a0 63 6b 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f ckbutton.<Enter>.{..tkCheckRadio
74c0 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 Enter.%W.....}......bind.Radiobu
74e0 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 44 6f 77 6e 20 25 57 0d tton.<1>.{..tkCheckRadioDown.%W.
7500 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 42 75 74 74 ....}.....bind.Radiobutton.<Butt
7520 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 20 20 onRelease-1>.{..tkButtonUp.%W...
7540 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e ..}.....bind.Radiobutton.<Enter>
7560 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 7d .{..tkCheckRadioEnter.%W.....}.}
7580 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 22 75 6e 69 78 22 20 24 74 63 6c 5f 70 .if.{[string.match."unix".$tcl_p
75a0 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 43 latform(platform)]}.{.....bind.C
75c0 68 65 63 6b 62 75 74 74 6f 6e 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 69 66 20 7b 21 24 74 6b 5f heckbutton.<Return>.{..if.{!$tk_
75e0 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f strictMotif}.{......tkCheckRadio
7600 49 6e 76 6f 6b 65 20 25 57 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 Invoke.%W..}.....}.....bind.Radi
7620 6f 62 75 74 74 6f 6e 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 69 66 20 7b 21 24 74 6b 5f 73 74 72 obutton.<Return>.{..if.{!$tk_str
7640 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 ictMotif}.{......tkCheckRadioInv
7660 6f 6b 65 20 25 57 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 oke.%W..}.....}.....bind.Checkbu
7680 74 74 6f 6e 20 3c 31 3e 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 tton.<1>.{..tkCheckRadioInvoke.%
76a0 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 31 3e W.....}.....bind.Radiobutton.<1>
76c0 20 7b 0d 09 74 6b 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 0d 20 20 20 20 7d 0d .{..tkCheckRadioInvoke.%W.....}.
76e0 20 20 20 20 62 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 ....bind.Checkbutton.<Enter>.{..
7700 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 tkButtonEnter.%W.....}.....bind.
7720 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 74 6b 42 75 74 74 6f 6e 45 Radiobutton.<Enter>.{..tkButtonE
7740 6e 74 65 72 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 73 70 nter.%W.....}.}..bind.Button.<sp
7760 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 25 57 0d 7d 0d 62 ace>.{.....tkButtonInvoke.%W.}.b
7780 69 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b ind.Checkbutton.<space>.{.....tk
77a0 43 68 65 63 6b 52 61 64 69 6f 49 6e 76 6f 6b 65 20 25 57 0d 7d 0d 62 69 6e 64 20 52 61 64 69 6f CheckRadioInvoke.%W.}.bind.Radio
77c0 62 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 43 68 65 63 6b 52 61 64 69 button.<space>.{.....tkCheckRadi
77e0 6f 49 6e 76 6f 6b 65 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 46 6f 63 75 73 oInvoke.%W.}..bind.Button.<Focus
7800 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 In>.{}.bind.Button.<Enter>.{....
7820 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 25 57 0d 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 .tkButtonEnter.%W.}.bind.Button.
7840 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 25 57 0d 7d <Leave>.{.....tkButtonLeave.%W.}
7860 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 31 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 44 .bind.Button.<1>.{.....tkButtonD
7880 6f 77 6e 20 25 57 0d 7d 0d 62 69 6e 64 20 42 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 own.%W.}.bind.Button.<ButtonRele
78a0 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 55 70 20 25 57 0d 7d 0d 0d 62 69 ase-1>.{.....tkButtonUp.%W.}..bi
78c0 6e 64 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 nd.Checkbutton.<FocusIn>.{}.bind
78e0 20 43 68 65 63 6b 62 75 74 74 6f 6e 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 .Checkbutton.<Leave>.{.....tkBut
7900 74 6f 6e 4c 65 61 76 65 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 tonLeave.%W.}..bind.Radiobutton.
7920 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 52 61 64 69 6f 62 75 74 74 6f 6e 20 3c 4c <FocusIn>.{}.bind.Radiobutton.<L
7940 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 25 57 0d 7d 0d 0d eave>.{.....tkButtonLeave.%W.}..
7960 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 22 77 69 6e 64 6f 77 73 22 20 24 74 63 6c if.{[string.match."windows".$tcl
7980 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 0d 23 23 23 23 23 23 23 _platform(platform)]}.{..#######
79a0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 23 20 57 69 6e 64 6f 77 73 20 69 6d 70 ##################.#.Windows.imp
79c0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 lementation..###################
79e0 23 23 23 23 23 23 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 ######..#.tkButtonEnter.--.#.The
7a00 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e .procedure.below.is.invoked.when
7a20 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 .the.mouse.pointer.enters.a.#.bu
7a40 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 tton.widget...It.records.the.but
7a60 74 6f 6e 20 77 65 27 72 65 20 69 6e 20 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 ton.we're.in.and.changes.the.#.s
7a80 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c tate.of.the.button.to.active.unl
7aa0 65 73 73 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 ess.the.button.is.disabled..#.#.
7ac0 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 Arguments:.#.w.-..The.name.of.th
7ae0 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 77 20 e.widget...proc.tkButtonEnter.w.
7b00 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 {.....global.tkPriv.....if.{[str
7b20 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 ing.compare.[$w.cget.-state]."di
7b40 73 61 62 6c 65 64 22 5d 20 5c 0d 09 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c sabled"].\......&&.[string.equal
7b60 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 24 .$tkPriv(buttonWindow).$w]}.{..$
7b80 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 w.configure.-state.active.-relie
7ba0 66 20 73 75 6e 6b 65 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 f.sunken.....}.....set.tkPriv(wi
7bc0 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 ndow).$w.}..#.tkButtonLeave.--.#
7be0 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 .The.procedure.below.is.invoked.
7c00 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d when.the.mouse.pointer.leaves.a.
7c20 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 #.button.widget...It.changes.the
7c40 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 .state.of.the.button.back.to.#.i
7c60 6e 61 63 74 69 76 65 2e 20 20 49 66 20 77 65 27 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 nactive...If.we're.leaving.the.b
7c80 75 74 74 6f 6e 20 77 69 6e 64 6f 77 20 77 69 74 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e utton.window.with.a.mouse.button
7ca0 0d 23 20 70 72 65 73 73 65 64 20 28 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 .#.pressed.(tkPriv(buttonWindow)
7cc0 20 3d 3d 20 24 77 29 2c 20 72 65 73 74 6f 72 65 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 .==.$w),.restore.the.relief.of.t
7ce0 68 65 0d 23 20 62 75 74 74 6f 6e 20 74 6f 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d he.#.button.too..#.#.Arguments:.
7d00 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d #.w.-..The.name.of.the.widget...
7d20 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 proc.tkButtonLeave.w.{.....globa
7d40 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 l.tkPriv.....if.{[string.compare
7d60 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b .[$w.cget.-state]."disabled"]}.{
7d80 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 20 20 20 ..$w.configure.-state.normal....
7da0 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 .}.....if.{[string.equal.$tkPriv
7dc0 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 (buttonWindow).$w]}.{..$w.config
7de0 75 72 65 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 20 20 20 20 ure.-relief.$tkPriv(relief).....
7e00 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 22 22 0d 7d 0d 0d 23 }.....set.tkPriv(window)."".}..#
7e20 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 .tkCheckRadioEnter.--.#.The.proc
7e40 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 edure.below.is.invoked.when.the.
7e60 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 63 68 65 63 6b 62 75 mouse.pointer.enters.a.#.checkbu
7e80 74 74 6f 6e 20 6f 72 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 tton.or.radiobutton.widget...It.
7ea0 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e 0d 23 20 61 6e records.the.button.we're.in.#.an
7ec0 64 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f d.changes.the.state.of.the.butto
7ee0 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 n.to.active.unless.the.button.is
7f00 0d 23 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 .#.disabled..#.#.Arguments:.#.w.
7f20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 -..The.name.of.the.widget...proc
7f40 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 45 6e 74 65 72 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 .tkCheckRadioEnter.w.{.....globa
7f60 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 l.tkPriv.....if.{[string.compare
7f80 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 20 5c 0d .[$w.cget.-state]."disabled"].\.
7fa0 09 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 62 75 .....&&.[string.equal.$tkPriv(bu
7fc0 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 ttonWindow).$w]}.{..$w.configure
7fe0 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 .-state.active.....}.....set.tkP
8000 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e riv(window).$w.}..#.tkButtonDown
8020 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 .--.#.The.procedure.below.is.inv
8040 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 70 72 oked.when.the.mouse.button.is.pr
8060 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 essed.in.#.a.button.widget...It.
8080 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 6d 6f 75 73 65 20 records.the.fact.that.the.mouse.
80a0 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 73 61 76 65 73 20 74 68 65 20 62 75 is.in.the.button,.#.saves.the.bu
80c0 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 72 65 73 74 6f tton's.relief.so.it.can.be.resto
80e0 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 65 73 0d 23 20 74 68 65 20 72 65 6c red.later,.and.changes.#.the.rel
8100 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 ief.to.sunken..#.#.Arguments:.#.
8120 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 w.-..The.name.of.the.widget...pr
8140 6f 63 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 oc.tkButtonDown.w.{.....global.t
8160 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 kPriv.....set.tkPriv(relief).[$w
8180 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 .cget.-relief].....if.{[string.c
81a0 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 ompare.[$w.cget.-state]."disable
81c0 64 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 d"]}.{..set.tkPriv(buttonWindow)
81e0 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e .$w..$w.configure.-relief.sunken
8200 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 68 65 63 .-state.active.....}.}..#.tkChec
8220 6b 52 61 64 69 6f 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 kRadioDown.--.#.The.procedure.be
8240 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 low.is.invoked.when.the.mouse.bu
8260 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 77 69 tton.is.pressed.in.#.a.button.wi
8280 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 dget...It.records.the.fact.that.
82a0 74 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 73 61 the.mouse.is.in.the.button,.#.sa
82c0 76 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 20 63 61 ves.the.button's.relief.so.it.ca
82e0 6e 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 65 73 n.be.restored.later,.and.changes
8300 0d 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 72 67 .#.the.relief.to.sunken..#.#.Arg
8320 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 uments:.#.w.-..The.name.of.the.w
8340 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 43 68 65 63 6b 52 61 64 69 6f 44 6f 77 6e 20 77 20 idget...proc.tkCheckRadioDown.w.
8360 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 {.....global.tkPriv.....set.tkPr
8380 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 20 20 20 iv(relief).[$w.cget.-relief]....
83a0 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 .if.{[string.compare.[$w.cget.-s
83c0 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 tate]."disabled"]}.{..set.tkPriv
83e0 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 (buttonWindow).$w..$w.configure.
8400 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f -state.active.....}.}..#.tkButto
8420 6e 55 70 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 nUp.--.#.The.procedure.below.is.
8440 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 invoked.when.the.mouse.button.is
8460 20 72 65 6c 65 61 73 65 64 0d 23 20 69 6e 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 .released.#.in.a.button.widget..
8480 20 49 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 .It.restores.the.button's.relief
84a0 20 61 6e 64 20 69 6e 76 6f 6b 65 73 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 20 6c 6f .and.invokes.#.the.command.as.lo
84c0 6e 67 20 61 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 6e 27 74 20 6c 65 66 74 20 74 68 65 20 ng.as.the.mouse.hasn't.left.the.
84e0 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 button..#.#.Arguments:.#.w.-..Th
8500 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 e.name.of.the.widget...proc.tkBu
8520 74 74 6f 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 ttonUp.w.{.....global.tkPriv....
8540 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f .if.{[string.equal.$tkPriv(butto
8560 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 nWindow).$w]}.{..set.tkPriv(butt
8580 6f 6e 57 69 6e 64 6f 77 29 20 22 22 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 onWindow).""..$w.configure.-reli
85a0 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 ef.$tkPriv(relief)..if.{[string.
85c0 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 5d 0d 20 20 20 20 20 20 equal.$tkPriv(window).$w].......
85e0 20 20 20 20 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 ........&&.[string.compare.[$w.c
8600 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 20 20 20 20 get.-state]."disabled"]}.{......
8620 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 09 20 20 20 20 $w.configure.-state.normal......
8640 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d 20 uplevel.#0.[list.$w.invoke]..}..
8660 20 20 20 7d 0d 7d 0d 0d 7d 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 22 75 6e ...}.}..}..if.{[string.match."un
8680 69 78 22 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d ix".$tcl_platform(platform)]}.{.
86a0 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 23 20 55 6e 69 78 20 69 6d .#####################.#.Unix.im
86c0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 plementation.###################
86e0 23 23 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f ##..#.tkButtonEnter.--.#.The.pro
8700 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 cedure.below.is.invoked.when.the
8720 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 74 74 6f 6e .mouse.pointer.enters.a.#.button
8740 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 .widget...It.records.the.button.
8760 77 65 27 72 65 20 69 6e 20 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 74 61 74 65 we're.in.and.changes.the.#.state
8780 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 .of.the.button.to.active.unless.
87a0 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 the.button.is.disabled..#.#.Argu
87c0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 ments:.#.w.-..The.name.of.the.wi
87e0 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 7b 77 7d 20 7b 0d dget...proc.tkButtonEnter.{w}.{.
8800 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e ....global.tkPriv.....if.{[strin
8820 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 g.compare.[$w.cget.-state]."disa
8840 62 6c 65 64 22 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 bled"]}.{..$w.configure.-state.a
8860 63 74 69 76 65 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 ctive..if.{[string.equal.$tkPriv
8880 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f (buttonWindow).$w]}.{......$w.co
88a0 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 nfigure.-state.active.-relief.su
88c0 6e 6b 65 6e 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e nken..}.....}.....set.tkPriv(win
88e0 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 20 dow).$w.}..#.tkButtonLeave.--.#.
8900 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 The.procedure.below.is.invoked.w
8920 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d 23 hen.the.mouse.pointer.leaves.a.#
8940 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 .button.widget...It.changes.the.
8960 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 6e state.of.the.button.back.to.#.in
8980 61 63 74 69 76 65 2e 20 20 49 66 20 77 65 27 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 75 active...If.we're.leaving.the.bu
89a0 74 74 6f 6e 20 77 69 6e 64 6f 77 20 77 69 74 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d tton.window.with.a.mouse.button.
89c0 23 20 70 72 65 73 73 65 64 20 28 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 #.pressed.(tkPriv(buttonWindow).
89e0 3d 3d 20 24 77 29 2c 20 72 65 73 74 6f 72 65 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 68 ==.$w),.restore.the.relief.of.th
8a00 65 0d 23 20 62 75 74 74 6f 6e 20 74 6f 6f 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 e.#.button.too..#.#.Arguments:.#
8a20 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 .w.-..The.name.of.the.widget...p
8a40 72 6f 63 20 74 6b 42 75 74 74 6f 6e 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c roc.tkButtonLeave.w.{.....global
8a60 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 .tkPriv.....if.{[string.compare.
8a80 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d [$w.cget.-state]."disabled"]}.{.
8aa0 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 20 20 20 20 .$w.configure.-state.normal.....
8ac0 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 }.....if.{[string.equal.$tkPriv(
8ae0 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 buttonWindow).$w]}.{..$w.configu
8b00 72 65 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 20 20 20 20 7d re.-relief.$tkPriv(relief).....}
8b20 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 22 22 0d 7d 0d 0d 23 20 .....set.tkPriv(window)."".}..#.
8b40 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 tkButtonDown.--.#.The.procedure.
8b60 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 below.is.invoked.when.the.mouse.
8b80 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 button.is.pressed.in.#.a.button.
8ba0 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 66 61 63 74 20 74 68 61 widget...It.records.the.fact.tha
8bc0 74 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 t.the.mouse.is.in.the.button,.#.
8be0 73 61 76 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 73 6f 20 69 74 20 saves.the.button's.relief.so.it.
8c00 63 61 6e 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 can.be.restored.later,.and.chang
8c20 65 73 0d 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 es.#.the.relief.to.sunken..#.#.A
8c40 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 rguments:.#.w.-..The.name.of.the
8c60 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 77 20 7b 0d .widget...proc.tkButtonDown.w.{.
8c80 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 ....global.tkPriv.....set.tkPriv
8ca0 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 20 20 20 20 69 (relief).[$w.cget.-relief].....i
8cc0 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 f.{[string.compare.[$w.cget.-sta
8ce0 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 te]."disabled"]}.{..set.tkPriv(b
8d00 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 uttonWindow).$w..$w.configure.-r
8d20 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e elief.sunken.....}.}..#.tkButton
8d40 55 70 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 Up.--.#.The.procedure.below.is.i
8d60 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 nvoked.when.the.mouse.button.is.
8d80 72 65 6c 65 61 73 65 64 0d 23 20 69 6e 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 released.#.in.a.button.widget...
8da0 49 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 65 66 20 It.restores.the.button's.relief.
8dc0 61 6e 64 20 69 6e 76 6f 6b 65 73 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 20 6c 6f 6e and.invokes.#.the.command.as.lon
8de0 67 20 61 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 6e 27 74 20 6c 65 66 74 20 74 68 65 20 62 g.as.the.mouse.hasn't.left.the.b
8e00 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 utton..#.#.Arguments:.#.w.-..The
8e20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 .name.of.the.widget...proc.tkBut
8e40 74 6f 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 tonUp.w.{.....global.tkPriv.....
8e60 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 74 6b 50 72 69 76 28 62 75 74 if.{[string.equal.$w.$tkPriv(but
8e80 74 6f 6e 57 69 6e 64 6f 77 29 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f tonWindow)]}.{..set.tkPriv(butto
8ea0 6e 57 69 6e 64 6f 77 29 20 22 22 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 nWindow).""..$w.configure.-relie
8ec0 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 f.$tkPriv(relief)..if.{[string.e
8ee0 71 75 61 6c 20 24 77 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 5d 20 5c 0d 09 09 26 26 20 qual.$w.$tkPriv(window)].\...&&.
8f00 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d [string.compare.[$w.cget.-state]
8f20 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 20 20 20 20 75 70 6c 65 76 65 6c 20 23 30 20 ."disabled"]}.{......uplevel.#0.
8f40 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 7d 0d 0d [list.$w.invoke]..}.....}.}..}..
8f60 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 22 6d 61 63 69 6e 74 6f 73 68 22 20 24 74 if.{[string.match."macintosh".$t
8f80 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 0d 23 23 23 23 23 cl_platform(platform)]}.{..#####
8fa0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 23 20 4d 61 63 20 69 6d 70 6c 65 6d 65 6e 74 61 ###############.#.Mac.implementa
8fc0 74 69 6f 6e 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b 42 tion.####################..#.tkB
8fe0 75 74 74 6f 6e 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 uttonEnter.--.#.The.procedure.be
9000 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 6f low.is.invoked.when.the.mouse.po
9020 69 6e 74 65 72 20 65 6e 74 65 72 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 inter.enters.a.#.button.widget..
9040 20 49 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 27 72 65 20 69 6e 20 .It.records.the.button.we're.in.
9060 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 0d 23 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 and.changes.the.#.state.of.the.b
9080 75 74 74 6f 6e 20 74 6f 20 61 63 74 69 76 65 20 75 6e 6c 65 73 73 20 74 68 65 20 62 75 74 74 6f utton.to.active.unless.the.butto
90a0 6e 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 n.is.disabled..#.#.Arguments:.#.
90c0 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 w.-..The.name.of.the.widget...pr
90e0 6f 63 20 74 6b 42 75 74 74 6f 6e 45 6e 74 65 72 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 oc.tkButtonEnter.{w}.{.....globa
9100 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 l.tkPriv.....if.{[string.compare
9120 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b .[$w.cget.-state]."disabled"]}.{
9140 0d 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 74 6b 50 .......if.{[string.equal.$w.$tkP
9160 72 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 63 6f riv(buttonWindow)]}.{......$w.co
9180 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 09 7d 0d 20 20 20 20 7d 0d 20 nfigure.-state.active..}.....}..
91a0 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 7d 0d 0d 23 20 74 6b ...set.tkPriv(window).$w.}..#.tk
91c0 42 75 74 74 6f 6e 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 ButtonLeave.--.#.The.procedure.b
91e0 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 70 elow.is.invoked.when.the.mouse.p
9200 6f 69 6e 74 65 72 20 6c 65 61 76 65 73 20 61 0d 23 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e ointer.leaves.a.#.button.widget.
9220 20 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 62 75 ..It.changes.the.state.of.the.bu
9240 74 74 6f 6e 20 62 61 63 6b 20 74 6f 0d 23 20 69 6e 61 63 74 69 76 65 2e 20 20 49 66 20 77 65 27 tton.back.to.#.inactive...If.we'
9260 72 65 20 6c 65 61 76 69 6e 67 20 74 68 65 20 62 75 74 74 6f 6e 20 77 69 6e 64 6f 77 20 77 69 74 re.leaving.the.button.window.wit
9280 68 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d 23 20 70 72 65 73 73 65 64 20 28 74 6b 50 72 h.a.mouse.button.#.pressed.(tkPr
92a0 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 3d 3d 20 24 77 29 2c 20 72 65 73 74 6f 72 65 iv(buttonWindow).==.$w),.restore
92c0 20 74 68 65 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 0d 23 20 62 75 74 74 6f 6e 20 74 6f 6f 2e .the.relief.of.the.#.button.too.
92e0 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 .#.#.Arguments:.#.w.-..The.name.
9300 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 4c 65 61 of.the.widget...proc.tkButtonLea
9320 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 ve.w.{.....global.tkPriv.....if.
9340 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e {[string.equal.$w.$tkPriv(button
9360 57 69 6e 64 6f 77 29 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 Window)]}.{..$w.configure.-state
9380 20 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e .normal.....}.....set.tkPriv(win
93a0 64 6f 77 29 20 22 22 0d 7d 0d 0d 23 20 74 6b 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 dow)."".}..#.tkButtonDown.--.#.T
93c0 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 he.procedure.below.is.invoked.wh
93e0 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 en.the.mouse.button.is.pressed.i
9400 6e 0d 23 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 20 20 49 74 20 72 65 63 6f 72 64 73 n.#.a.button.widget...It.records
9420 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 69 6e 20 74 .the.fact.that.the.mouse.is.in.t
9440 68 65 20 62 75 74 74 6f 6e 2c 0d 23 20 73 61 76 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 he.button,.#.saves.the.button's.
9460 72 65 6c 69 65 66 20 73 6f 20 69 74 20 63 61 6e 20 62 65 20 72 65 73 74 6f 72 65 64 20 6c 61 74 relief.so.it.can.be.restored.lat
9480 65 72 2c 20 61 6e 64 20 63 68 61 6e 67 65 73 0d 23 20 74 68 65 20 72 65 6c 69 65 66 20 74 6f 20 er,.and.changes.#.the.relief.to.
94a0 73 75 6e 6b 65 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 sunken..#.#.Arguments:.#.w.-..Th
94c0 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 42 75 e.name.of.the.widget...proc.tkBu
94e0 74 74 6f 6e 44 6f 77 6e 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 ttonDown.w.{.....global.tkPriv..
9500 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 ...if.{[string.compare.[$w.cget.
9520 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 -state]."disabled"]}.{..set.tkPr
9540 69 76 28 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 20 24 77 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 iv(buttonWindow).$w..$w.configur
9560 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 42 75 74 e.-state.active.....}.}..#.tkBut
9580 74 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 69 tonUp.--.#.The.procedure.below.i
95a0 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 s.invoked.when.the.mouse.button.
95c0 69 73 20 72 65 6c 65 61 73 65 64 0d 23 20 69 6e 20 61 20 62 75 74 74 6f 6e 20 77 69 64 67 65 74 is.released.#.in.a.button.widget
95e0 2e 20 20 49 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 62 75 74 74 6f 6e 27 73 20 72 65 6c 69 ...It.restores.the.button's.reli
9600 65 66 20 61 6e 64 20 69 6e 76 6f 6b 65 73 0d 23 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 73 20 ef.and.invokes.#.the.command.as.
9620 6c 6f 6e 67 20 61 73 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 6e 27 74 20 6c 65 66 74 20 74 68 long.as.the.mouse.hasn't.left.th
9640 65 20 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 e.button..#.#.Arguments:.#.w.-..
9660 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b The.name.of.the.widget...proc.tk
9680 42 75 74 74 6f 6e 55 70 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 ButtonUp.w.{.....global.tkPriv..
96a0 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 74 6b 50 72 69 76 28 ...if.{[string.equal.$w.$tkPriv(
96c0 62 75 74 74 6f 6e 57 69 6e 64 6f 77 29 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 buttonWindow)]}.{..$w.configure.
96e0 2d 73 74 61 74 65 20 6e 6f 72 6d 61 6c 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e -state.normal..set.tkPriv(button
9700 57 69 6e 64 6f 77 29 20 22 22 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 Window).""..if.{[string.equal.$w
9720 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 5d 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$tkPriv(window)]...............
9740 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 &&.[string.compare.[$w.cget.-sta
9760 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 20 20 20 20 75 70 6c 65 76 65 6c 20 te]."disabled"]}.{......uplevel.
9780 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d #0.[list.$w.invoke]..}.....}.}..
97a0 7d 0d 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 23 20 53 68 61 72 65 64 20 72 }..##################.#.Shared.r
97c0 6f 75 74 69 6e 65 73 0d 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0d 23 20 74 6b outines.##################..#.tk
97e0 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 ButtonInvoke.--.#.The.procedure.
9800 62 65 6c 6f 77 20 69 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 below.is.called.when.a.button.is
9820 20 69 6e 76 6f 6b 65 64 20 74 68 72 6f 75 67 68 0d 23 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e .invoked.through.#.the.keyboard.
9840 20 20 49 74 20 73 69 6d 75 6c 61 74 65 20 61 20 70 72 65 73 73 20 6f 66 20 74 68 65 20 62 75 74 ..It.simulate.a.press.of.the.but
9860 74 6f 6e 20 76 69 61 20 74 68 65 20 6d 6f 75 73 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 ton.via.the.mouse..#.#.Arguments
9880 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 2e :.#.w.-..The.name.of.the.widget.
98a0 0d 0d 70 72 6f 63 20 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 77 20 7b 0d 20 20 20 20 69 66 ..proc.tkButtonInvoke.w.{.....if
98c0 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 .{[string.compare.[$w.cget.-stat
98e0 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 73 65 74 20 6f 6c 64 52 65 6c 69 65 66 e]."disabled"]}.{..set.oldRelief
9900 20 5b 24 77 20 63 67 65 74 20 2d 72 65 6c 69 65 66 5d 0d 09 73 65 74 20 6f 6c 64 53 74 61 74 65 .[$w.cget.-relief]..set.oldState
9920 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 .[$w.cget.-state]..$w.configure.
9940 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 09 75 70 -state.active.-relief.sunken..up
9960 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 09 61 66 74 65 72 20 31 30 30 0d 09 24 77 20 63 6f date.idletasks..after.100..$w.co
9980 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 24 6f 6c 64 53 74 61 74 65 20 2d 72 65 6c 69 65 66 nfigure.-state.$oldState.-relief
99a0 20 24 6f 6c 64 52 65 6c 69 65 66 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 .$oldRelief..uplevel.#0.[list.$w
99c0 20 69 6e 76 6f 6b 65 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 68 65 63 6b 52 61 64 69 6f .invoke].....}.}..#.tkCheckRadio
99e0 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 62 65 6c 6f 77 20 Invoke.--.#.The.procedure.below.
9a00 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e is.invoked.when.the.mouse.button
9a20 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 0d 23 20 61 20 63 68 65 63 6b 62 75 74 74 6f 6e 20 6f .is.pressed.in.#.a.checkbutton.o
9a40 72 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2c 20 6f 72 20 77 68 65 6e 20 74 68 r.radiobutton.widget,.or.when.th
9a60 65 20 77 69 64 67 65 74 20 69 73 20 69 6e 76 6f 6b 65 64 0d 23 20 74 68 72 6f 75 67 68 20 74 68 e.widget.is.invoked.#.through.th
9a80 65 20 6b 65 79 62 6f 61 72 64 2e 20 20 49 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 20 77 69 64 67 e.keyboard...It.invokes.the.widg
9aa0 65 74 20 69 66 20 69 74 0d 23 20 69 73 6e 27 74 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 et.if.it.#.isn't.disabled..#.#.A
9ac0 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 rguments:.#.w.-..The.name.of.the
9ae0 20 77 69 64 67 65 74 2e 0d 23 20 63 6d 64 20 2d 09 09 54 68 65 20 73 75 62 63 6f 6d 6d 61 6e 64 .widget..#.cmd.-..The.subcommand
9b00 20 74 6f 20 69 6e 76 6f 6b 65 20 28 6f 6e 65 20 6f 66 20 69 6e 76 6f 6b 65 2c 20 73 65 6c 65 63 .to.invoke.(one.of.invoke,.selec
9b20 74 2c 20 6f 72 20 64 65 73 65 6c 65 63 74 29 2e 0d 0d 70 72 6f 63 20 74 6b 43 68 65 63 6b 52 61 t,.or.deselect)...proc.tkCheckRa
9b40 64 69 6f 49 6e 76 6f 6b 65 20 7b 77 20 7b 63 6d 64 20 69 6e 76 6f 6b 65 7d 7d 20 7b 0d 20 20 20 dioInvoke.{w.{cmd.invoke}}.{....
9b60 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 .if.{[string.compare.[$w.cget.-s
9b80 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 tate]."disabled"]}.{..uplevel.#0
9ba0 20 5b 6c 69 73 74 20 24 77 20 24 63 6d 64 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 00 00 18 4a 23 20 64 .[list.$w.$cmd].....}.}.....J#.d
9bc0 69 61 6c 6f 67 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e ialog.tcl.--.#.#.This.file.defin
9be0 65 73 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 6b 5f 64 69 61 6c 6f 67 2c 20 77 68 69 63 es.the.procedure.tk_dialog,.whic
9c00 68 20 63 72 65 61 74 65 73 20 61 20 64 69 61 6c 6f 67 0d 23 20 62 6f 78 20 63 6f 6e 74 61 69 6e h.creates.a.dialog.#.box.contain
9c20 69 6e 67 20 61 20 62 69 74 6d 61 70 2c 20 61 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 20 6f 6e 65 ing.a.bitmap,.a.message,.and.one
9c40 20 6f 72 20 6d 6f 72 65 20 62 75 74 74 6f 6e 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 .or.more.buttons..#.#.RCS:.@(#).
9c60 24 49 64 3a 20 64 69 61 6c 6f 67 2e 74 63 6c 2c 76 20 31 2e 38 20 32 30 30 30 2f 30 34 2f 31 38 $Id:.dialog.tcl,v.1.8.2000/04/18
9c80 20 30 32 3a 31 38 3a 33 33 20 65 72 69 63 6d 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 .02:18:33.ericm.Exp.$.#.#.Copyri
9ca0 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 ght.(c).1992-1993.The.Regents.of
9cc0 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 .the.University.of.California..#
9ce0 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 .Copyright.(c).1994-1997.Sun.Mic
9d00 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 rosystems,.Inc..#.#.See.the.file
9d20 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ."license.terms".for.information
9d40 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f .on.usage.and.redistribution.#.o
9d60 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 f.this.file,.and.for.a.DISCLAIME
9d80 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 0d 23 20 74 6b 5f 64 R.OF.ALL.WARRANTIES..#..#.#.tk_d
9da0 69 61 6c 6f 67 3a 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 64 69 73 70 6c 61 ialog:.#.#.This.procedure.displa
9dc0 79 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 2c 20 77 61 69 74 73 20 66 6f 72 20 61 20 62 75 74 ys.a.dialog.box,.waits.for.a.but
9de0 74 6f 6e 20 69 6e 20 74 68 65 20 64 69 61 6c 6f 67 0d 23 20 74 6f 20 62 65 20 69 6e 76 6f 6b 65 ton.in.the.dialog.#.to.be.invoke
9e00 64 2c 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 d,.then.returns.the.index.of.the
9e20 20 73 65 6c 65 63 74 65 64 20 62 75 74 74 6f 6e 2e 20 20 49 66 20 74 68 65 0d 23 20 64 69 61 6c .selected.button...If.the.#.dial
9e40 6f 67 20 73 6f 6d 65 68 6f 77 20 67 65 74 73 20 64 65 73 74 72 6f 79 65 64 2c 20 2d 31 20 69 73 og.somehow.gets.destroyed,.-1.is
9e60 20 72 65 74 75 72 6e 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 .returned..#.#.Arguments:.#.w.-.
9e80 09 57 69 6e 64 6f 77 20 74 6f 20 75 73 65 20 66 6f 72 20 64 69 61 6c 6f 67 20 74 6f 70 2d 6c 65 .Window.to.use.for.dialog.top-le
9ea0 76 65 6c 2e 0d 23 20 74 69 74 6c 65 20 2d 09 54 69 74 6c 65 20 74 6f 20 64 69 73 70 6c 61 79 20 vel..#.title.-.Title.to.display.
9ec0 69 6e 20 64 69 61 6c 6f 67 27 73 20 64 65 63 6f 72 61 74 69 76 65 20 66 72 61 6d 65 2e 0d 23 20 in.dialog's.decorative.frame..#.
9ee0 74 65 78 74 20 2d 09 4d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 20 69 6e 20 64 69 61 text.-.Message.to.display.in.dia
9f00 6c 6f 67 2e 0d 23 20 62 69 74 6d 61 70 20 2d 09 42 69 74 6d 61 70 20 74 6f 20 64 69 73 70 6c 61 log..#.bitmap.-.Bitmap.to.displa
9f20 79 20 69 6e 20 64 69 61 6c 6f 67 20 28 65 6d 70 74 79 20 73 74 72 69 6e 67 20 6d 65 61 6e 73 20 y.in.dialog.(empty.string.means.
9f40 6e 6f 6e 65 29 2e 0d 23 20 64 65 66 61 75 6c 74 20 2d 09 49 6e 64 65 78 20 6f 66 20 62 75 74 74 none)..#.default.-.Index.of.butt
9f60 6f 6e 20 74 68 61 74 20 69 73 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 64 65 66 61 75 6c on.that.is.to.display.the.defaul
9f80 74 20 72 69 6e 67 0d 23 09 09 28 2d 31 20 6d 65 61 6e 73 20 6e 6f 6e 65 29 2e 0d 23 20 61 72 67 t.ring.#..(-1.means.none)..#.arg
9fa0 73 20 2d 09 4f 6e 65 20 6f 72 20 6d 6f 72 65 20 73 74 72 69 6e 67 73 20 74 6f 20 64 69 73 70 6c s.-.One.or.more.strings.to.displ
9fc0 61 79 20 69 6e 20 62 75 74 74 6f 6e 73 20 61 63 72 6f 73 73 20 74 68 65 0d 23 09 09 62 6f 74 74 ay.in.buttons.across.the.#..bott
9fe0 6f 6d 20 6f 66 20 74 68 65 20 64 69 61 6c 6f 67 20 62 6f 78 2e 0d 0d 70 72 6f 63 20 74 6b 5f 64 om.of.the.dialog.box...proc.tk_d
a000 69 61 6c 6f 67 20 7b 77 20 74 69 74 6c 65 20 74 65 78 74 20 62 69 74 6d 61 70 20 64 65 66 61 75 ialog.{w.title.text.bitmap.defau
a020 6c 74 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 63 6c lt.args}.{.....global.tkPriv.tcl
a040 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 23 20 43 68 65 63 6b 20 74 68 61 74 20 24 64 65 66 _platform......#.Check.that.$def
a060 61 75 6c 74 20 77 61 73 20 70 72 6f 70 65 72 6c 79 20 67 69 76 65 6e 0d 20 20 20 20 69 66 20 7b ault.was.properly.given.....if.{
a080 5b 73 74 72 69 6e 67 20 69 73 20 69 6e 74 20 24 64 65 66 61 75 6c 74 5d 7d 20 7b 0d 09 69 66 20 [string.is.int.$default]}.{..if.
a0a0 7b 24 64 65 66 61 75 6c 74 20 3e 3d 20 5b 6c 6c 65 6e 67 74 68 20 24 61 72 67 73 5d 7d 20 7b 0d {$default.>=.[llength.$args]}.{.
a0c0 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 64 65 66 61 75 6c 74 .....return.-code.error."default
a0e0 20 62 75 74 74 6f 6e 20 69 6e 64 65 78 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6e 75 6d 62 65 .button.index.greater.than.numbe
a100 72 20 6f 66 5c 0d 09 09 20 20 20 20 62 75 74 74 6f 6e 73 20 73 70 65 63 69 66 69 65 64 20 66 6f r.of\.......buttons.specified.fo
a120 72 20 74 6b 5f 64 69 61 6c 6f 67 22 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 r.tk_dialog"..}.....}.elseif.{[s
a140 74 72 69 6e 67 20 65 71 75 61 6c 20 7b 7d 20 24 64 65 66 61 75 6c 74 5d 7d 20 7b 0d 09 73 65 74 tring.equal.{}.$default]}.{..set
a160 20 64 65 66 61 75 6c 74 20 2d 31 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 64 65 .default.-1.....}.else.{..set.de
a180 66 61 75 6c 74 20 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 72 67 73 20 24 64 65 66 fault.[lsearch.-exact.$args.$def
a1a0 61 75 6c 74 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 31 2e 20 43 72 65 61 74 65 20 74 68 65 ault].....}......#.1..Create.the
a1c0 20 74 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 61 6e 64 20 64 69 76 69 64 65 20 69 74 20 .top-level.window.and.divide.it.
a1e0 69 6e 74 6f 20 74 6f 70 0d 20 20 20 20 23 20 61 6e 64 20 62 6f 74 74 6f 6d 20 70 61 72 74 73 2e into.top.....#.and.bottom.parts.
a200 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f 79 20 24 77 7d 0d 20 20 20 20 74 6f 70 ......catch.{destroy.$w}.....top
a220 6c 65 76 65 6c 20 24 77 20 2d 63 6c 61 73 73 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 74 69 level.$w.-class.Dialog.....wm.ti
a240 74 6c 65 20 24 77 20 24 74 69 74 6c 65 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 6d 65 20 24 77 tle.$w.$title.....wm.iconname.$w
a260 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 24 77 20 57 4d 5f 44 45 .Dialog.....wm.protocol.$w.WM_DE
a280 4c 45 54 45 5f 57 49 4e 44 4f 57 20 7b 20 7d 0d 0d 20 20 20 20 23 20 44 69 61 6c 6f 67 20 62 6f LETE_WINDOW.{.}......#.Dialog.bo
a2a0 78 65 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 69 65 6e 74 20 77 69 74 68 20 72 65 73 xes.should.be.transient.with.res
a2c0 70 65 63 74 20 74 6f 20 74 68 65 69 72 20 70 61 72 65 6e 74 2c 0d 20 20 20 20 23 20 73 6f 20 74 pect.to.their.parent,.....#.so.t
a2e0 68 61 74 20 74 68 65 79 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 73 74 61 79 20 6f 6e 20 74 6f 70 hat.they.will.always.stay.on.top
a300 20 6f 66 20 74 68 65 69 72 20 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 2e 20 20 48 6f 77 65 76 65 .of.their.parent.window...Howeve
a320 72 2c 0d 20 20 20 20 23 20 73 6f 6d 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 73 20 77 69 r,.....#.some.window.managers.wi
a340 6c 6c 20 63 72 65 61 74 65 20 74 68 65 20 77 69 6e 64 6f 77 20 61 73 20 77 69 74 68 64 72 61 77 ll.create.the.window.as.withdraw
a360 6e 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 0d 20 20 20 20 23 20 77 69 6e 64 6f 77 20 69 73 20 n.if.the.parent.....#.window.is.
a380 77 69 74 68 64 72 61 77 6e 20 6f 72 20 69 63 6f 6e 69 66 69 65 64 2e 20 20 43 6f 6d 62 69 6e 65 withdrawn.or.iconified...Combine
a3a0 64 20 77 69 74 68 20 74 68 65 20 67 72 61 62 20 77 65 20 70 75 74 20 6f 6e 20 74 68 65 0d 20 20 d.with.the.grab.we.put.on.the...
a3c0 20 20 23 20 77 69 6e 64 6f 77 2c 20 74 68 69 73 20 63 61 6e 20 68 61 6e 67 20 74 68 65 20 65 6e ..#.window,.this.can.hang.the.en
a3e0 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 20 54 68 65 72 65 66 6f 72 65 20 77 65 20 tire.application...Therefore.we.
a400 6f 6e 6c 79 20 6d 61 6b 65 0d 20 20 20 20 23 20 74 68 65 20 64 69 61 6c 6f 67 20 74 72 61 6e 73 only.make.....#.the.dialog.trans
a420 69 65 6e 74 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 20 69 73 20 76 69 65 77 61 62 6c 65 2e 0d ient.if.the.parent.is.viewable..
a440 20 20 20 20 23 0d 20 20 20 20 69 66 20 7b 20 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c 65 20 5b ....#.....if.{.[winfo.viewable.[
a460 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d winfo.toplevel.[winfo.parent.$w]
a480 5d 5d 20 7d 20 7b 0d 09 77 6d 20 74 72 61 6e 73 69 65 6e 74 20 24 77 20 5b 77 69 6e 66 6f 20 74 ]].}.{..wm.transient.$w.[winfo.t
a4a0 6f 70 6c 65 76 65 6c 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 0d 20 20 20 20 7d oplevel.[winfo.parent.$w]].....}
a4c0 20 20 20 20 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c ..........if.{[string.equal.$tcl
a4e0 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d _platform(platform)."macintosh"]
a500 7d 20 7b 0d 09 75 6e 73 75 70 70 6f 72 74 65 64 31 20 73 74 79 6c 65 20 24 77 20 64 42 6f 78 50 }.{..unsupported1.style.$w.dBoxP
a520 72 6f 63 0d 20 20 20 20 7d 0d 0d 20 20 20 20 66 72 61 6d 65 20 24 77 2e 62 6f 74 0d 20 20 20 20 roc.....}......frame.$w.bot.....
a540 66 72 61 6d 65 20 24 77 2e 74 6f 70 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 frame.$w.top.....if.{[string.equ
a560 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 al.$tcl_platform(platform)."unix
a580 22 5d 7d 20 7b 0d 09 24 77 2e 62 6f 74 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 "]}.{..$w.bot.configure.-relief.
a5a0 72 61 69 73 65 64 20 2d 62 64 20 31 0d 09 24 77 2e 74 6f 70 20 63 6f 6e 66 69 67 75 72 65 20 2d raised.-bd.1..$w.top.configure.-
a5c0 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d 20 20 20 20 7d 0d 20 20 20 20 70 61 relief.raised.-bd.1.....}.....pa
a5e0 63 6b 20 24 77 2e 62 6f 74 20 2d 73 69 64 65 20 62 6f 74 74 6f 6d 20 2d 66 69 6c 6c 20 62 6f 74 ck.$w.bot.-side.bottom.-fill.bot
a600 68 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 74 6f 70 20 2d 66 69 6c h.....pack.$w.top.-side.top.-fil
a620 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 0d 0d 20 20 20 20 23 20 32 2e 20 46 69 6c 6c 20 l.both.-expand.1......#.2..Fill.
a640 74 68 65 20 74 6f 70 20 70 61 72 74 20 77 69 74 68 20 62 69 74 6d 61 70 20 61 6e 64 20 6d 65 73 the.top.part.with.bitmap.and.mes
a660 73 61 67 65 20 28 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 0d 20 20 20 20 23 20 64 61 74 61 62 sage.(use.the.option.....#.datab
a680 61 73 65 20 66 6f 72 20 2d 77 72 61 70 6c 65 6e 67 74 68 20 61 6e 64 20 2d 66 6f 6e 74 20 73 6f ase.for.-wraplength.and.-font.so
a6a0 20 74 68 61 74 20 74 68 65 79 20 63 61 6e 20 62 65 0d 20 20 20 20 23 20 6f 76 65 72 72 69 64 64 .that.they.can.be.....#.overridd
a6c0 65 6e 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 29 2e 0d 0d 20 20 20 20 6f 70 74 69 6f 6e 20 61 en.by.the.caller).......option.a
a6e0 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e 77 72 61 70 4c 65 6e 67 74 68 20 33 69 20 77 69 64 dd.*Dialog.msg.wrapLength.3i.wid
a700 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c getDefault.....if.{[string.equal
a720 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 .$tcl_platform(platform)."macint
a740 6f 73 68 22 5d 7d 20 7b 0d 09 6f 70 74 69 6f 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 osh"]}.{..option.add.*Dialog.msg
a760 2e 66 6f 6e 74 20 73 79 73 74 65 6d 20 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 7d .font.system.widgetDefault.....}
a780 20 65 6c 73 65 20 7b 0d 09 6f 70 74 69 6f 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e .else.{..option.add.*Dialog.msg.
a7a0 66 6f 6e 74 20 7b 54 69 6d 65 73 20 31 32 7d 20 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 font.{Times.12}.widgetDefault...
a7c0 20 20 7d 0d 0d 20 20 20 20 6c 61 62 65 6c 20 24 77 2e 6d 73 67 20 2d 6a 75 73 74 69 66 79 20 6c ..}......label.$w.msg.-justify.l
a7e0 65 66 74 20 2d 74 65 78 74 20 24 74 65 78 74 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 6d 73 67 20 eft.-text.$text.....pack.$w.msg.
a800 2d 69 6e 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 72 69 67 68 74 20 2d 65 78 70 61 6e 64 20 31 -in.$w.top.-side.right.-expand.1
a820 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 70 61 64 78 20 33 6d 20 2d 70 61 64 79 20 33 6d 0d 20 20 .-fill.both.-padx.3m.-pady.3m...
a840 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 62 69 74 6d 61 70 20 22 22 ..if.{[string.compare.$bitmap.""
a860 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 ]}.{..if.{[string.equal.$tcl_pla
a880 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 20 26 26 20 tform(platform)."macintosh"].&&.
a8a0 5c 0d 09 09 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 62 69 74 6d 61 70 20 22 65 72 72 6f 72 \...[string.equal.$bitmap."error
a8c0 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 62 69 74 6d 61 70 20 22 73 74 6f 70 22 0d 09 7d 0d "]}.{......set.bitmap."stop"..}.
a8e0 09 6c 61 62 65 6c 20 24 77 2e 62 69 74 6d 61 70 20 2d 62 69 74 6d 61 70 20 24 62 69 74 6d 61 70 .label.$w.bitmap.-bitmap.$bitmap
a900 0d 09 70 61 63 6b 20 24 77 2e 62 69 74 6d 61 70 20 2d 69 6e 20 24 77 2e 74 6f 70 20 2d 73 69 64 ..pack.$w.bitmap.-in.$w.top.-sid
a920 65 20 6c 65 66 74 20 2d 70 61 64 78 20 33 6d 20 2d 70 61 64 79 20 33 6d 0d 20 20 20 20 7d 0d 0d e.left.-padx.3m.-pady.3m.....}..
a940 20 20 20 20 23 20 33 2e 20 43 72 65 61 74 65 20 61 20 72 6f 77 20 6f 66 20 62 75 74 74 6f 6e 73 ....#.3..Create.a.row.of.buttons
a960 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 69 61 6c 6f 67 2e 0d 0d 20 .at.the.bottom.of.the.dialog....
a980 20 20 20 73 65 74 20 69 20 30 0d 20 20 20 20 66 6f 72 65 61 63 68 20 62 75 74 20 24 61 72 67 73 ...set.i.0.....foreach.but.$args
a9a0 20 7b 0d 09 62 75 74 74 6f 6e 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 2d 74 65 78 74 20 24 62 75 .{..button.$w.button$i.-text.$bu
a9c0 74 20 2d 63 6f 6d 6d 61 6e 64 20 5b 6c 69 73 74 20 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 t.-command.[list.set.tkPriv(butt
a9e0 6f 6e 29 20 24 69 5d 0d 09 69 66 20 7b 24 69 20 3d 3d 20 24 64 65 66 61 75 6c 74 7d 20 7b 0d 09 on).$i]..if.{$i.==.$default}.{..
aa00 20 20 20 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 ....$w.button$i.configure.-defau
aa20 6c 74 20 61 63 74 69 76 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 2e 62 75 74 74 lt.active..}.else.{......$w.butt
aa40 6f 6e 24 69 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 6e 6f 72 6d 61 6c 0d 09 on$i.configure.-default.normal..
aa60 7d 0d 09 67 72 69 64 20 24 77 2e 62 75 74 74 6f 6e 24 69 20 2d 69 6e 20 24 77 2e 62 6f 74 20 2d }..grid.$w.button$i.-in.$w.bot.-
aa80 63 6f 6c 75 6d 6e 20 24 69 20 2d 72 6f 77 20 30 20 2d 73 74 69 63 6b 79 20 65 77 20 2d 70 61 64 column.$i.-row.0.-sticky.ew.-pad
aaa0 78 20 31 30 0d 09 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 20 24 77 2e 62 6f x.10..grid.columnconfigure.$w.bo
aac0 74 20 24 69 0d 09 23 20 57 65 20 62 6f 6f 73 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 73 6f 6d t.$i..#.We.boost.the.size.of.som
aae0 65 20 4d 61 63 20 62 75 74 74 6f 6e 73 20 66 6f 72 20 6c 26 66 0d 09 69 66 20 7b 5b 73 74 72 69 e.Mac.buttons.for.l&f..if.{[stri
ab00 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 ng.equal.$tcl_platform(platform)
ab20 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6d 70 20 5b 73 ."macintosh"]}.{......set.tmp.[s
ab40 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 62 75 74 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 tring.tolower.$but]......if.{[st
ab60 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6d 70 20 22 6f 6b 22 5d 20 7c 7c 20 5b 73 74 72 69 6e 67 ring.equal.$tmp."ok"].||.[string
ab80 20 65 71 75 61 6c 20 24 74 6d 70 20 22 63 61 6e 63 65 6c 22 5d 7d 20 7b 0d 09 09 67 72 69 64 20 .equal.$tmp."cancel"]}.{...grid.
aba0 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 20 24 77 2e 62 6f 74 20 24 69 20 2d 6d 69 6e 73 69 columnconfigure.$w.bot.$i.-minsi
abc0 7a 65 20 5b 65 78 70 72 20 7b 35 39 20 2b 20 32 30 7d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 ze.[expr.{59.+.20}]......}..}..i
abe0 6e 63 72 20 69 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 34 2e 20 43 72 65 61 74 65 20 61 20 62 ncr.i.....}......#.4..Create.a.b
ac00 69 6e 64 69 6e 67 20 66 6f 72 20 3c 52 65 74 75 72 6e 3e 20 6f 6e 20 74 68 65 20 64 69 61 6c 6f inding.for.<Return>.on.the.dialo
ac20 67 20 69 66 20 74 68 65 72 65 20 69 73 20 61 0d 20 20 20 20 23 20 64 65 66 61 75 6c 74 20 62 75 g.if.there.is.a.....#.default.bu
ac40 74 74 6f 6e 2e 0d 0d 20 20 20 20 69 66 20 7b 24 64 65 66 61 75 6c 74 20 3e 3d 20 30 7d 20 7b 0d tton.......if.{$default.>=.0}.{.
ac60 09 62 69 6e 64 20 24 77 20 3c 52 65 74 75 72 6e 3e 20 22 0d 09 5b 6c 69 73 74 20 24 77 2e 62 75 .bind.$w.<Return>."..[list.$w.bu
ac80 74 74 6f 6e 24 64 65 66 61 75 6c 74 5d 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 tton$default].configure.-state.a
aca0 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 09 75 70 64 61 74 65 20 69 64 6c ctive.-relief.sunken..update.idl
acc0 65 74 61 73 6b 73 0d 09 61 66 74 65 72 20 31 30 30 0d 09 73 65 74 20 74 6b 50 72 69 76 28 62 75 etasks..after.100..set.tkPriv(bu
ace0 74 74 6f 6e 29 20 24 64 65 66 61 75 6c 74 0d 09 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 35 tton).$default..".....}......#.5
ad00 2e 20 43 72 65 61 74 65 20 61 20 3c 44 65 73 74 72 6f 79 3e 20 62 69 6e 64 69 6e 67 20 66 6f 72 ..Create.a.<Destroy>.binding.for
ad20 20 74 68 65 20 77 69 6e 64 6f 77 20 74 68 61 74 20 73 65 74 73 20 74 68 65 0d 20 20 20 20 23 20 .the.window.that.sets.the.....#.
ad40 62 75 74 74 6f 6e 20 76 61 72 69 61 62 6c 65 20 74 6f 20 2d 31 3b 20 20 74 68 69 73 20 69 73 20 button.variable.to.-1;..this.is.
ad60 6e 65 65 64 65 64 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 68 61 70 70 65 6e 73 needed.in.case.something.happens
ad80 0d 20 20 20 20 23 20 74 68 61 74 20 64 65 73 74 72 6f 79 73 20 74 68 65 20 77 69 6e 64 6f 77 2c .....#.that.destroys.the.window,
ada0 20 73 75 63 68 20 61 73 20 69 74 73 20 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 20 62 65 69 6e 67 .such.as.its.parent.window.being
adc0 20 64 65 73 74 72 6f 79 65 64 2e 0d 0d 20 20 20 20 62 69 6e 64 20 24 77 20 3c 44 65 73 74 72 6f .destroyed.......bind.$w.<Destro
ade0 79 3e 20 7b 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 20 2d 31 7d 0d 0d 20 20 20 20 y>.{set.tkPriv(button).-1}......
ae00 23 20 36 2e 20 57 69 74 68 64 72 61 77 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 74 68 65 6e 20 75 #.6..Withdraw.the.window,.then.u
ae20 70 64 61 74 65 20 61 6c 6c 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 69 6e 66 6f 72 6d 61 74 69 pdate.all.the.geometry.informati
ae40 6f 6e 0d 20 20 20 20 23 20 73 6f 20 77 65 20 6b 6e 6f 77 20 68 6f 77 20 62 69 67 20 69 74 20 77 on.....#.so.we.know.how.big.it.w
ae60 61 6e 74 73 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 63 65 6e 74 65 72 20 74 68 65 20 77 69 6e 64 ants.to.be,.then.center.the.wind
ae80 6f 77 20 69 6e 20 74 68 65 0d 20 20 20 20 23 20 64 69 73 70 6c 61 79 20 61 6e 64 20 64 65 2d 69 ow.in.the.....#.display.and.de-i
aea0 63 6f 6e 69 66 79 20 69 74 2e 0d 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 24 77 0d 20 conify.it.......wm.withdraw.$w..
aec0 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 73 65 74 20 78 20 5b 65 ...update.idletasks.....set.x.[e
aee0 78 70 72 20 7b 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 77 69 64 74 68 20 24 77 5d 2f 32 20 2d 20 xpr.{[winfo.screenwidth.$w]/2.-.
af00 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b [winfo.reqwidth.$w]/2.\......-.[
af20 77 69 6e 66 6f 20 76 72 6f 6f 74 78 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 7d winfo.vrootx.[winfo.parent.$w]]}
af40 5d 0d 20 20 20 20 73 65 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e ].....set.y.[expr.{[winfo.screen
af60 68 65 69 67 68 74 20 24 77 5d 2f 32 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 height.$w]/2.-.[winfo.reqheight.
af80 24 77 5d 2f 32 20 5c 0d 09 20 20 20 20 2d 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 79 20 5b 77 69 $w]/2.\......-.[winfo.vrooty.[wi
afa0 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 7d 5d 0d 20 20 20 20 77 6d 20 67 65 6f 6d 20 24 77 nfo.parent.$w]]}].....wm.geom.$w
afc0 20 2b 24 78 2b 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 6f 6e 69 66 79 20 24 77 0d 0d 20 20 20 .+$x+$y.....wm.deiconify.$w.....
afe0 20 23 20 37 2e 20 53 65 74 20 61 20 67 72 61 62 20 61 6e 64 20 63 6c 61 69 6d 20 74 68 65 20 66 .#.7..Set.a.grab.and.claim.the.f
b000 6f 63 75 73 20 74 6f 6f 2e 0d 0d 20 20 20 20 73 65 74 20 6f 6c 64 46 6f 63 75 73 20 5b 66 6f 63 ocus.too.......set.oldFocus.[foc
b020 75 73 5d 0d 20 20 20 20 73 65 74 20 6f 6c 64 47 72 61 62 20 5b 67 72 61 62 20 63 75 72 72 65 6e us].....set.oldGrab.[grab.curren
b040 74 20 24 77 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6f t.$w].....if.{[string.compare.$o
b060 6c 64 47 72 61 62 20 22 22 5d 7d 20 7b 0d 09 73 65 74 20 67 72 61 62 53 74 61 74 75 73 20 5b 67 ldGrab.""]}.{..set.grabStatus.[g
b080 72 61 62 20 73 74 61 74 75 73 20 24 6f 6c 64 47 72 61 62 5d 0d 20 20 20 20 7d 0d 20 20 20 20 67 rab.status.$oldGrab].....}.....g
b0a0 72 61 62 20 24 77 0d 20 20 20 20 69 66 20 7b 24 64 65 66 61 75 6c 74 20 3e 3d 20 30 7d 20 7b 0d rab.$w.....if.{$default.>=.0}.{.
b0c0 09 66 6f 63 75 73 20 24 77 2e 62 75 74 74 6f 6e 24 64 65 66 61 75 6c 74 0d 20 20 20 20 7d 20 65 .focus.$w.button$default.....}.e
b0e0 6c 73 65 20 7b 0d 09 66 6f 63 75 73 20 24 77 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 38 2e 20 lse.{..focus.$w.....}......#.8..
b100 57 61 69 74 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 74 6f 20 72 65 73 70 6f 6e 64 2c 20 74 68 Wait.for.the.user.to.respond,.th
b120 65 6e 20 72 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 20 61 6e 64 0d 20 20 20 20 23 20 72 en.restore.the.focus.and.....#.r
b140 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 eturn.the.index.of.the.selected.
b160 62 75 74 74 6f 6e 2e 20 20 52 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 0d 20 20 20 20 23 button...Restore.the.focus.....#
b180 20 62 65 66 6f 72 65 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 73 69 6e .before.deleting.the.window,.sin
b1a0 63 65 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 0d ce.otherwise.the.window.manager.
b1c0 20 20 20 20 23 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 66 6f 63 75 73 20 61 77 61 79 20 73 6f ....#.may.take.the.focus.away.so
b1e0 20 77 65 20 63 61 6e 27 74 20 72 65 64 69 72 65 63 74 20 69 74 2e 20 20 46 69 6e 61 6c 6c 79 2c .we.can't.redirect.it...Finally,
b200 0d 20 20 20 20 23 20 72 65 73 74 6f 72 65 20 61 6e 79 20 67 72 61 62 20 74 68 61 74 20 77 61 73 .....#.restore.any.grab.that.was
b220 20 69 6e 20 65 66 66 65 63 74 2e 0d 0d 20 20 20 20 74 6b 77 61 69 74 20 76 61 72 69 61 62 6c 65 .in.effect.......tkwait.variable
b240 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 75 73 .tkPriv(button).....catch.{focus
b260 20 24 6f 6c 64 46 6f 63 75 73 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 23 20 49 74 27 73 20 .$oldFocus}.....catch.{..#.It's.
b280 70 6f 73 73 69 62 6c 65 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 68 61 73 20 61 6c 72 possible.that.the.window.has.alr
b2a0 65 61 64 79 20 62 65 65 6e 20 64 65 73 74 72 6f 79 65 64 2c 0d 09 23 20 68 65 6e 63 65 20 74 68 eady.been.destroyed,..#.hence.th
b2c0 69 73 20 22 63 61 74 63 68 22 2e 20 20 44 65 6c 65 74 65 20 74 68 65 20 44 65 73 74 72 6f 79 20 is."catch"...Delete.the.Destroy.
b2e0 68 61 6e 64 6c 65 72 20 73 6f 20 74 68 61 74 0d 09 23 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e handler.so.that..#.tkPriv(button
b300 29 20 64 6f 65 73 6e 27 74 20 67 65 74 20 72 65 73 65 74 20 62 79 20 69 74 2e 0d 0d 09 62 69 6e ).doesn't.get.reset.by.it....bin
b320 64 20 24 77 20 3c 44 65 73 74 72 6f 79 3e 20 7b 7d 0d 09 64 65 73 74 72 6f 79 20 24 77 0d 20 20 d.$w.<Destroy>.{}..destroy.$w...
b340 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6f 6c 64 ..}.....if.{[string.compare.$old
b360 47 72 61 62 20 22 22 5d 7d 20 7b 0d 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f Grab.""]}.{.......if.{[string.co
b380 6d 70 61 72 65 20 24 67 72 61 62 53 74 61 74 75 73 20 22 67 6c 6f 62 61 6c 22 5d 7d 20 7b 0d 09 mpare.$grabStatus."global"]}.{..
b3a0 20 20 20 20 67 72 61 62 20 24 6f 6c 64 47 72 61 62 0d 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ....grab.$oldGrab.......}.else.{
b3c0 0d 20 20 20 20 20 20 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6f 6c 64 47 72 61 62 ...........grab.-global.$oldGrab
b3e0 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 74 6b 50 72 69 76 28 62 75 74 ..}.....}.....return.$tkPriv(but
b400 74 6f 6e 29 0d 7d 0d 00 00 3e 43 23 20 65 6e 74 72 79 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 ton).}...>C#.entry.tcl.--.#.#.Th
b420 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 is.file.defines.the.default.bind
b440 69 6e 67 73 20 66 6f 72 20 54 6b 20 65 6e 74 72 79 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 ings.for.Tk.entry.widgets.and.pr
b460 6f 76 69 64 65 73 0d 23 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e ovides.#.procedures.that.help.in
b480 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 6f 73 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d .implementing.those.bindings..#.
b4a0 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 65 6e 74 72 79 2e 74 63 6c 2c 76 20 31 2e 31 #.RCS:.@(#).$Id:.entry.tcl,v.1.1
b4c0 31 2e 32 2e 31 20 32 30 30 31 2f 30 34 2f 30 34 20 30 37 3a 35 37 3a 31 37 20 68 6f 62 62 73 20 1.2.1.2001/04/04.07:57:17.hobbs.
b4e0 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 Exp.$.#.#.Copyright.(c).1992-199
b500 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 4.The.Regents.of.the.University.
b520 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 of.California..#.Copyright.(c).1
b540 39 39 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 994-1997.Sun.Microsystems,.Inc..
b560 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 #.#.See.the.file."license.terms"
b580 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 .for.information.on.usage.and.re
b5a0 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 distribution.#.of.this.file,.and
b5c0 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 .for.a.DISCLAIMER.OF.ALL.WARRANT
b5e0 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d IES..#..#-----------------------
b600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 45 6c 65 6d 65 6e 74 73 20 6f 66 ------------------.#.Elements.of
b640 20 74 6b 50 72 69 76 20 74 68 61 74 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 .tkPriv.that.are.used.in.this.fi
b660 6c 65 3a 0d 23 0d 23 20 61 66 74 65 72 49 64 20 2d 09 09 49 66 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 le:.#.#.afterId.-..If.non-null,.
b680 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 20 69 73 20 75 it.means.that.auto-scanning.is.u
b6a0 6e 64 65 72 77 61 79 0d 23 09 09 09 61 6e 64 20 69 74 20 67 69 76 65 73 20 74 68 65 20 22 61 66 nderway.#...and.it.gives.the."af
b6c0 74 65 72 22 20 69 64 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 61 75 74 6f 2d 73 63 61 6e 0d 23 ter".id.for.the.next.auto-scan.#
b6e0 09 09 09 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 2e 0d 23 20 6d 6f 75 ...command.to.be.executed..#.mou
b700 73 65 4d 6f 76 65 64 20 2d 09 09 4e 6f 6e 2d 7a 65 72 6f 20 6d 65 61 6e 73 20 74 68 65 20 6d 6f seMoved.-..Non-zero.means.the.mo
b720 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 0d 23 09 09 09 use.has.moved.a.significant.#...
b740 61 6d 6f 75 6e 74 20 73 69 6e 63 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 6e 74 20 64 6f 77 amount.since.the.button.went.dow
b760 6e 20 28 73 6f 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 0d 23 09 09 09 73 74 61 72 74 20 64 72 n.(so,.for.example,.#...start.dr
b780 61 67 67 69 6e 67 20 6f 75 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 29 2e 0d 23 20 70 72 65 73 73 agging.out.a.selection)..#.press
b7a0 58 20 2d 09 09 58 2d 63 6f 6f 72 64 69 6e 61 74 65 20 61 74 20 77 68 69 63 68 20 74 68 65 20 6d X.-..X-coordinate.at.which.the.m
b7c0 6f 75 73 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 20 73 65 6c 65 63 ouse.button.was.pressed..#.selec
b7e0 74 4d 6f 64 65 20 2d 09 09 54 68 65 20 73 74 79 6c 65 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 20 tMode.-..The.style.of.selection.
b800 63 75 72 72 65 6e 74 6c 79 20 75 6e 64 65 72 77 61 79 3a 0d 23 09 09 09 63 68 61 72 2c 20 77 6f currently.underway:.#...char,.wo
b820 72 64 2c 20 6f 72 20 6c 69 6e 65 2e 0d 23 20 78 2c 20 79 20 2d 09 09 4c 61 73 74 20 6b 6e 6f 77 rd,.or.line..#.x,.y.-..Last.know
b840 6e 20 6d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 n.mouse.coordinates.for.scanning
b860 0d 23 09 09 09 61 6e 64 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e 67 2e 0d 23 20 64 61 74 61 20 2d .#...and.auto-scanning..#.data.-
b880 09 09 55 73 65 64 20 66 6f 72 20 43 75 74 20 61 6e 64 20 43 6f 70 79 0d 23 2d 2d 2d 2d 2d 2d 2d ..Used.for.Cut.and.Copy.#-------
b8a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b8c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b8e0 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --..#---------------------------
b900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 --------------.#.The.code.below.
b940 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e creates.the.default.class.bindin
b960 67 73 20 66 6f 72 20 65 6e 74 72 69 65 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gs.for.entries..#---------------
b980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 62 69 6e 64 20 --------------------------.bind.
b9c0 45 6e 74 72 79 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 Entry.<<Cut>>.{.....if.{![catch.
b9e0 7b 74 6b 45 6e 74 72 79 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 25 57 7d 20 74 6b 50 72 69 76 28 {tkEntryGetSelection.%W}.tkPriv(
ba00 64 61 74 61 29 5d 7d 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 data)]}.{..clipboard.clear.-disp
ba20 6c 61 79 6f 66 20 25 57 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 layof.%W..clipboard.append.-disp
ba40 6c 61 79 6f 66 20 25 57 20 24 74 6b 50 72 69 76 28 64 61 74 61 29 0d 09 25 57 20 64 65 6c 65 74 layof.%W.$tkPriv(data)..%W.delet
ba60 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 75 6e 73 65 74 20 74 6b 50 72 e.sel.first.sel.last..unset.tkPr
ba80 69 76 28 64 61 74 61 29 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 3c 43 6f iv(data).....}.}.bind.Entry.<<Co
baa0 70 79 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 74 6b 45 6e 74 72 79 47 py>>.{.....if.{![catch.{tkEntryG
bac0 65 74 53 65 6c 65 63 74 69 6f 6e 20 25 57 7d 20 74 6b 50 72 69 76 28 64 61 74 61 29 5d 7d 20 7b etSelection.%W}.tkPriv(data)]}.{
bae0 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 0d ..clipboard.clear.-displayof.%W.
bb00 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 .clipboard.append.-displayof.%W.
bb20 24 74 6b 50 72 69 76 28 64 61 74 61 29 0d 09 75 6e 73 65 74 20 74 6b 50 72 69 76 28 64 61 74 61 $tkPriv(data)..unset.tkPriv(data
bb40 29 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 3c 50 61 73 74 65 3e 3e 20 7b ).....}.}.bind.Entry.<<Paste>>.{
bb60 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 63 61 74 .....global.tcl_platform.....cat
bb80 63 68 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 ch.{..if.{[string.compare.$tcl_p
bba0 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 7d 20 7b 0d 09 20 20 latform(platform)."unix"]}.{....
bbc0 20 20 63 61 74 63 68 20 7b 0d 09 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 ..catch.{...%W.delete.sel.first.
bbe0 73 65 6c 2e 6c 61 73 74 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 25 57 20 69 6e 73 65 72 74 20 69 6e sel.last......}..}..%W.insert.in
bc00 73 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 sert.[selection.get.-displayof.%
bc20 57 20 2d 73 65 6c 65 63 74 69 6f 6e 20 43 4c 49 50 42 4f 41 52 44 5d 0d 09 74 6b 45 6e 74 72 79 W.-selection.CLIPBOARD]..tkEntry
bc40 53 65 65 49 6e 73 65 72 74 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 SeeInsert.%W.....}.}.bind.Entry.
bc60 3c 3c 43 6c 65 61 72 3e 3e 20 7b 0d 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 <<Clear>>.{.....%W.delete.sel.fi
bc80 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 3c 50 61 73 74 rst.sel.last.}.bind.Entry.<<Past
bca0 65 53 65 6c 65 63 74 69 6f 6e 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 50 72 69 76 28 eSelection>>.{.....if.{!$tkPriv(
bcc0 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c 7c 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 mouseMoved).||.$tk_strictMotif}.
bce0 7b 0d 09 74 6b 45 6e 74 72 79 50 61 73 74 65 20 25 57 20 25 78 0d 20 20 20 20 7d 0d 7d 0d 0d 23 {..tkEntryPaste.%W.%x.....}.}..#
bd00 20 53 74 61 6e 64 61 72 64 20 4d 6f 74 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 .Standard.Motif.bindings:..bind.
bd20 45 6e 74 72 79 20 3c 31 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 42 75 74 74 6f 6e 31 20 25 Entry.<1>.{.....tkEntryButton1.%
bd40 57 20 25 78 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 7d 0d 62 69 W.%x.....%W.selection.clear.}.bi
bd60 6e 64 20 45 6e 74 72 79 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 nd.Entry.<B1-Motion>.{.....set.t
bd80 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 kPriv(x).%x.....tkEntryMouseSele
bda0 63 74 20 25 57 20 25 78 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 44 6f 75 62 6c 65 2d 31 3e ct.%W.%x.}.bind.Entry.<Double-1>
bdc0 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f .{.....set.tkPriv(selectMode).wo
bde0 72 64 0d 20 20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d rd.....tkEntryMouseSelect.%W.%x.
be00 20 20 20 20 63 61 74 63 68 20 7b 25 57 20 69 63 75 72 73 6f 72 20 73 65 6c 2e 66 69 72 73 74 7d ....catch.{%W.icursor.sel.first}
be20 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 54 72 69 70 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 .}.bind.Entry.<Triple-1>.{.....s
be40 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 et.tkPriv(selectMode).line.....t
be60 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 20 20 20 20 25 57 20 69 kEntryMouseSelect.%W.%x.....%W.i
be80 63 75 72 73 6f 72 20 30 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 31 3e 20 cursor.0.}.bind.Entry.<Shift-1>.
bea0 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 {.....set.tkPriv(selectMode).cha
bec0 72 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 61 64 6a 75 73 74 20 40 25 78 0d 7d 0d r.....%W.selection.adjust.@%x.}.
bee0 62 69 6e 64 20 45 6e 74 72 79 20 3c 44 6f 75 62 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 bind.Entry.<Double-Shift-1>.{...
bf00 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 ..set.tkPriv(selectMode).word...
bf20 20 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 7d 0d 62 69 6e ..tkEntryMouseSelect.%W.%x.}.bin
bf40 64 20 45 6e 74 72 79 20 3c 54 72 69 70 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 d.Entry.<Triple-Shift-1>.{.....s
bf60 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 et.tkPriv(selectMode).line.....t
bf80 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 25 57 20 25 78 0d 7d 0d 62 69 6e 64 20 45 kEntryMouseSelect.%W.%x.}.bind.E
bfa0 6e 74 72 79 20 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 ntry.<B1-Leave>.{.....set.tkPriv
bfc0 28 78 29 20 25 78 0d 20 20 20 20 74 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 25 57 0d 7d 0d (x).%x.....tkEntryAutoScan.%W.}.
bfe0 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 43 61 bind.Entry.<B1-Enter>.{.....tkCa
c000 6e 63 65 6c 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 75 74 74 6f 6e 52 ncelRepeat.}.bind.Entry.<ButtonR
c020 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d elease-1>.{.....tkCancelRepeat.}
c040 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 25 57 .bind.Entry.<Control-1>.{.....%W
c060 20 69 63 75 72 73 6f 72 20 40 25 78 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4c 65 66 74 .icursor.@%x.}..bind.Entry.<Left
c080 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 65 78 70 >.{.....tkEntrySetCursor.%W.[exp
c0a0 72 20 7b 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 7d 5d 0d 7d 0d 62 69 6e r.{[%W.index.insert].-.1}].}.bin
c0c0 64 20 45 6e 74 72 79 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 d.Entry.<Right>.{.....tkEntrySet
c0e0 43 75 72 73 6f 72 20 25 57 20 5b 65 78 70 72 20 7b 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 Cursor.%W.[expr.{[%W.index.inser
c100 74 5d 20 2b 20 31 7d 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 4c 65 66 t].+.1}].}.bind.Entry.<Shift-Lef
c120 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 65 78 t>.{.....tkEntryKeySelect.%W.[ex
c140 70 72 20 7b 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 7d 5d 0d 20 20 20 20 pr.{[%W.index.insert].-.1}].....
c160 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 tkEntrySeeInsert.%W.}.bind.Entry
c180 20 3c 53 68 69 66 74 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 .<Shift-Right>.{.....tkEntryKeyS
c1a0 65 6c 65 63 74 20 25 57 20 5b 65 78 70 72 20 7b 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 elect.%W.[expr.{[%W.index.insert
c1c0 5d 20 2b 20 31 7d 5d 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d ].+.1}].....tkEntrySeeInsert.%W.
c1e0 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 }.bind.Entry.<Control-Left>.{...
c200 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 50 72 ..tkEntrySetCursor.%W.[tkEntryPr
c220 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 eviousWord.%W.insert].}.bind.Ent
c240 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 ry.<Control-Right>.{.....tkEntry
c260 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 25 57 SetCursor.%W.[tkEntryNextWord.%W
c280 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 43 6f 6e .insert].}.bind.Entry.<Shift-Con
c2a0 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 trol-Left>.{.....tkEntryKeySelec
c2c0 74 20 25 57 20 5b 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 t.%W.[tkEntryPreviousWord.%W.ins
c2e0 65 72 74 5d 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 ert].....tkEntrySeeInsert.%W.}.b
c300 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 ind.Entry.<Shift-Control-Right>.
c320 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 45 6e 74 {.....tkEntryKeySelect.%W.[tkEnt
c340 72 79 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 74 6b 45 6e 74 72 ryNextWord.%W.insert].....tkEntr
c360 79 53 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 48 6f 6d 65 ySeeInsert.%W.}.bind.Entry.<Home
c380 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 30 0d 7d 0d >.{.....tkEntrySetCursor.%W.0.}.
c3a0 62 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b bind.Entry.<Shift-Home>.{.....tk
c3c0 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 30 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 EntryKeySelect.%W.0.....tkEntryS
c3e0 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 45 6e 64 3e 20 7b eeInsert.%W.}.bind.Entry.<End>.{
c400 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 65 6e 64 0d 7d 0d 62 .....tkEntrySetCursor.%W.end.}.b
c420 69 6e 64 20 45 6e 74 72 79 20 3c 53 68 69 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 45 6e ind.Entry.<Shift-End>.{.....tkEn
c440 74 72 79 4b 65 79 53 65 6c 65 63 74 20 25 57 20 65 6e 64 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 tryKeySelect.%W.end.....tkEntryS
c460 65 65 49 6e 73 65 72 74 20 25 57 0d 7d 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 44 65 6c 65 74 eeInsert.%W.}..bind.Entry.<Delet
c480 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 65 e>.{.....if.{[%W.selection.prese
c4a0 6e 74 5d 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e nt]}.{..%W.delete.sel.first.sel.
c4c0 6c 61 73 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 last.....}.else.{..%W.delete.ins
c4e0 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 61 63 6b 53 70 61 63 ert.....}.}.bind.Entry.<BackSpac
c500 65 3e 20 7b 0d 20 20 20 20 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 63 65 20 25 57 0d 7d 0d 0d e>.{.....tkEntryBackspace.%W.}..
c520 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 bind.Entry.<Control-space>.{....
c540 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 .%W.selection.from.insert.}.bind
c560 20 45 6e 74 72 79 20 3c 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 .Entry.<Select>.{.....%W.selecti
c580 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e on.from.insert.}.bind.Entry.<Con
c5a0 74 72 6f 6c 2d 53 68 69 66 74 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 trol-Shift-space>.{.....%W.selec
c5c0 74 69 6f 6e 20 61 64 6a 75 73 74 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 tion.adjust.insert.}.bind.Entry.
c5e0 3c 53 68 69 66 74 2d 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f <Shift-Select>.{.....%W.selectio
c600 6e 20 61 64 6a 75 73 74 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f n.adjust.insert.}.bind.Entry.<Co
c620 6e 74 72 6f 6c 2d 73 6c 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 ntrol-slash>.{.....%W.selection.
c640 72 61 6e 67 65 20 30 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f range.0.end.}.bind.Entry.<Contro
c660 6c 2d 62 61 63 6b 73 6c 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 l-backslash>.{.....%W.selection.
c680 63 6c 65 61 72 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b 0d clear.}.bind.Entry.<KeyPress>.{.
c6a0 20 20 20 20 74 6b 45 6e 74 72 79 49 6e 73 65 72 74 20 25 57 20 25 41 0d 7d 0d 0d 23 20 49 67 6e ....tkEntryInsert.%W.%A.}..#.Ign
c6c0 6f 72 65 20 61 6c 6c 20 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f 6e 74 72 6f 6c 20 6b ore.all.Alt,.Meta,.and.Control.k
c6e0 65 79 70 72 65 73 73 65 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 6c 79 20 62 6f 75 6e eypresses.unless.explicitly.boun
c700 64 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 61 20 77 69 64 67 65 74 20 62 69 6e 64 d..#.Otherwise,.if.a.widget.bind
c720 69 6e 67 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 69 73 20 64 65 66 69 6e 65 64 2c ing.for.one.of.these.is.defined,
c740 20 74 68 65 0d 23 20 3c 4b 65 79 50 72 65 73 73 3e 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 20 .the.#.<KeyPress>.class.binding.
c760 77 69 6c 6c 20 61 6c 73 6f 20 66 69 72 65 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 63 68 will.also.fire.and.insert.the.ch
c780 61 72 61 63 74 65 72 2c 0d 23 20 77 68 69 63 68 20 69 73 20 77 72 6f 6e 67 2e 20 20 44 69 74 74 aracter,.#.which.is.wrong...Ditt
c7a0 6f 20 66 6f 72 20 45 73 63 61 70 65 2c 20 52 65 74 75 72 6e 2c 20 61 6e 64 20 54 61 62 2e 0d 0d o.for.Escape,.Return,.and.Tab...
c7c0 62 69 6e 64 20 45 6e 74 72 79 20 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 bind.Entry.<Alt-KeyPress>.{#.not
c7e0 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 4b 65 79 50 72 65 73 73 3e hing}.bind.Entry.<Meta-KeyPress>
c800 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c .{#.nothing}.bind.Entry.<Control
c820 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 -KeyPress>.{#.nothing}.bind.Entr
c840 79 20 3c 45 73 63 61 70 65 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 y.<Escape>.{#.nothing}.bind.Entr
c860 79 20 3c 52 65 74 75 72 6e 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e 74 72 y.<Return>.{#.nothing}.bind.Entr
c880 79 20 3c 4b 50 5f 45 6e 74 65 72 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 45 6e y.<KP_Enter>.{#.nothing}.bind.En
c8a0 74 72 79 20 3c 54 61 62 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 69 66 20 7b 5b 73 74 72 69 6e try.<Tab>.{#.nothing}.if.{[strin
c8c0 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 g.equal.$tcl_platform(platform).
c8e0 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6d "macintosh"]}.{..bind.Entry.<Com
c900 6d 61 6e 64 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 7d 0d 0d 23 20 mand-KeyPress>.{#.nothing}.}..#.
c920 4f 6e 20 57 69 6e 64 6f 77 73 2c 20 70 61 73 74 65 20 69 73 20 64 6f 6e 65 20 75 73 69 6e 67 20 On.Windows,.paste.is.done.using.
c940 53 68 69 66 74 2d 49 6e 73 65 72 74 2e 20 20 53 68 69 66 74 2d 49 6e 73 65 72 74 20 61 6c 72 65 Shift-Insert...Shift-Insert.alre
c960 61 64 79 0d 23 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 3c 3c 50 61 73 74 65 3e 3e 20 65 76 ady.#.generates.the.<<Paste>>.ev
c980 65 6e 74 2c 20 73 6f 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 64 6f 20 61 6e 79 74 ent,.so.we.don't.need.to.do.anyt
c9a0 68 69 6e 67 20 68 65 72 65 2e 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 hing.here..if.{[string.compare.$
c9c0 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 tcl_platform(platform)."windows"
c9e0 5d 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 45 6e 74 72 79 20 3c 49 6e 73 65 72 74 3e 20 7b 0d 09 ]}.{.....bind.Entry.<Insert>.{..
ca00 63 61 74 63 68 20 7b 74 6b 45 6e 74 72 79 49 6e 73 65 72 74 20 25 57 20 5b 73 65 6c 65 63 74 69 catch.{tkEntryInsert.%W.[selecti
ca20 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d 7d 0d 20 20 20 20 7d 0d 7d 0d 0d on.get.-displayof.%W]}.....}.}..
ca40 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 65 6d 61 63 73 2d 6c 69 6b 65 20 62 69 6e 64 69 6e 67 73 #.Additional.emacs-like.bindings
ca60 3a 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 61 3e 20 7b 0d 20 20 20 20 :..bind.Entry.<Control-a>.{.....
ca80 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 if.{!$tk_strictMotif}.{..tkEntry
caa0 53 65 74 43 75 72 73 6f 72 20 25 57 20 30 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 SetCursor.%W.0.....}.}.bind.Entr
cac0 79 20 3c 43 6f 6e 74 72 6f 6c 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 y.<Control-b>.{.....if.{!$tk_str
cae0 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 ictMotif}.{..tkEntrySetCursor.%W
cb00 20 5b 65 78 70 72 20 7b 5b 25 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 7d 5d 0d .[expr.{[%W.index.insert].-.1}].
cb20 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 64 3e 20 7b ....}.}.bind.Entry.<Control-d>.{
cb40 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 .....if.{!$tk_strictMotif}.{..%W
cb60 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 .delete.insert.....}.}.bind.Entr
cb80 79 20 3c 43 6f 6e 74 72 6f 6c 2d 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 y.<Control-e>.{.....if.{!$tk_str
cba0 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 ictMotif}.{..tkEntrySetCursor.%W
cbc0 20 65 6e 64 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c .end.....}.}.bind.Entry.<Control
cbe0 2d 66 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 -f>.{.....if.{!$tk_strictMotif}.
cc00 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 65 78 70 72 20 7b 5b 25 {..tkEntrySetCursor.%W.[expr.{[%
cc20 57 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2b 20 31 7d 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 W.index.insert].+.1}].....}.}.bi
cc40 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 68 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 nd.Entry.<Control-h>.{.....if.{!
cc60 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 42 61 63 6b 73 $tk_strictMotif}.{..tkEntryBacks
cc80 70 61 63 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 pace.%W.....}.}.bind.Entry.<Cont
cca0 72 6f 6c 2d 6b 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 rol-k>.{.....if.{!$tk_strictMoti
ccc0 66 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 65 6e 64 0d 20 20 20 20 7d f}.{..%W.delete.insert.end.....}
cce0 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 43 6f 6e 74 72 6f 6c 2d 74 3e 20 7b 0d 20 20 20 20 .}.bind.Entry.<Control-t>.{.....
cd00 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 if.{!$tk_strictMotif}.{..tkEntry
cd20 54 72 61 6e 73 70 6f 73 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 Transpose.%W.....}.}.bind.Entry.
cd40 3c 4d 65 74 61 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f <Meta-b>.{.....if.{!$tk_strictMo
cd60 74 69 66 7d 20 7b 0d 09 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 tif}.{..tkEntrySetCursor.%W.[tkE
cd80 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 ntryPreviousWord.%W.insert].....
cda0 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 64 3e 20 7b 0d 20 20 20 20 69 66 }.}.bind.Entry.<Meta-d>.{.....if
cdc0 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 .{!$tk_strictMotif}.{..%W.delete
cde0 20 69 6e 73 65 72 74 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 .insert.[tkEntryNextWord.%W.inse
ce00 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 66 3e 20 rt].....}.}.bind.Entry.<Meta-f>.
ce20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 {.....if.{!$tk_strictMotif}.{..t
ce40 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 45 6e 74 72 79 4e 65 78 74 57 kEntrySetCursor.%W.[tkEntryNextW
ce60 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 ord.%W.insert].....}.}.bind.Entr
ce80 79 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 y.<Meta-BackSpace>.{.....if.{!$t
cea0 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 45 k_strictMotif}.{..%W.delete.[tkE
cec0 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 20 69 6e 73 65 ntryPreviousWord.%W.insert].inse
cee0 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 4d 65 74 61 2d 44 65 6c 65 rt.....}.}.bind.Entry.<Meta-Dele
cf00 74 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 te>.{.....if.{!$tk_strictMotif}.
cf20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 {..%W.delete.[tkEntryPreviousWor
cf40 64 20 25 57 20 69 6e 73 65 72 74 5d 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 41 d.%W.insert].insert.....}.}..#.A
cf60 20 66 65 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 6d 79 20 6f .few.additional.bindings.of.my.o
cf80 77 6e 2e 0d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 32 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 wn...bind.Entry.<2>.{.....if.{!$
cfa0 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 20 73 63 61 6e 20 6d 61 72 6b 20 tk_strictMotif}.{..%W.scan.mark.
cfc0 25 78 0d 09 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 09 73 65 74 20 74 6b 50 72 69 76 %x..set.tkPriv(x).%x..set.tkPriv
cfe0 28 79 29 20 25 79 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 30 (y).%y..set.tkPriv(mouseMoved).0
d000 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 45 6e 74 72 79 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 .....}.}.bind.Entry.<B2-Motion>.
d020 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 69 {.....if.{!$tk_strictMotif}.{..i
d040 66 20 7b 61 62 73 28 25 78 2d 24 74 6b 50 72 69 76 28 78 29 29 20 3e 20 32 7d 20 7b 0d 09 20 20 f.{abs(%x-$tkPriv(x)).>.2}.{....
d060 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 31 0d 09 7d 0d 09 25 ..set.tkPriv(mouseMoved).1..}..%
d080 57 20 73 63 61 6e 20 64 72 61 67 74 6f 20 25 78 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 45 6e W.scan.dragto.%x.....}.}..#.tkEn
d0a0 74 72 79 43 6c 6f 73 65 73 74 47 61 70 20 2d 2d 0d 23 20 47 69 76 65 6e 20 78 20 61 6e 64 20 79 tryClosestGap.--.#.Given.x.and.y
d0c0 20 63 6f 6f 72 64 69 6e 61 74 65 73 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e .coordinates,.this.procedure.fin
d0e0 64 73 20 74 68 65 20 63 6c 6f 73 65 73 74 20 62 6f 75 6e 64 61 72 79 0d 23 20 62 65 74 77 65 65 ds.the.closest.boundary.#.betwee
d100 6e 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 63 6f 6f 72 64 69 n.characters.to.the.given.coordi
d120 6e 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 0d 23 20 6f 66 nates.and.returns.the.index.#.of
d140 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 62 6f .the.character.just.after.the.bo
d160 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 undary..#.#.Arguments:.#.w.-..Th
d180 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 58 2d 63 6f 6f 72 64 69 6e e.entry.window..#.x.-..X-coordin
d1a0 61 74 65 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 ate.within.the.window...proc.tkE
d1c0 6e 74 72 79 43 6c 6f 73 65 73 74 47 61 70 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 ntryClosestGap.{w.x}.{.....set.p
d1e0 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 40 24 78 5d 0d 20 20 20 20 73 65 74 20 62 62 6f 78 20 5b os.[$w.index.@$x].....set.bbox.[
d200 24 77 20 62 62 6f 78 20 24 70 6f 73 5d 0d 20 20 20 20 69 66 20 7b 28 24 78 20 2d 20 5b 6c 69 6e $w.bbox.$pos].....if.{($x.-.[lin
d220 64 65 78 20 24 62 62 6f 78 20 30 5d 29 20 3c 20 28 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 32 dex.$bbox.0]).<.([lindex.$bbox.2
d240 5d 2f 32 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 20 20 20 20 69 ]/2)}.{..return.$pos.....}.....i
d260 6e 63 72 20 70 6f 73 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 42 75 74 74 6f 6e 31 20 2d 2d 0d 23 ncr.pos.}..#.tkEntryButton1.--.#
d280 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 .This.procedure.is.invoked.to.ha
d2a0 6e 64 6c 65 20 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 20 69 6e 20 65 6e 74 72 79 0d 23 ndle.button-1.presses.in.entry.#
d2c0 20 77 69 64 67 65 74 73 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f .widgets...It.moves.the.insertio
d2e0 6e 20 63 75 72 73 6f 72 2c 20 73 65 74 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 n.cursor,.sets.the.selection.anc
d300 68 6f 72 2c 0d 23 20 61 6e 64 20 63 6c 61 69 6d 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 hor,.#.and.claims.the.input.focu
d320 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 s..#.#.Arguments:.#.w.-..The.ent
d340 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 ry.window.in.which.the.button.wa
d360 73 20 70 72 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 s.pressed..#.x.-..The.x-coordina
d380 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 70 72 6f 63 20 74 6b te.of.the.button.press...proc.tk
d3a0 45 6e 74 72 79 42 75 74 74 6f 6e 31 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 EntryButton1.{w.x}.{.....global.
d3c0 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 tkPriv......set.tkPriv(selectMod
d3e0 65 29 20 63 68 61 72 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 e).char.....set.tkPriv(mouseMove
d400 64 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 24 78 0d 20 d).0.....set.tkPriv(pressX).$x..
d420 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f 73 65 73 74 47 61 70 ...$w.icursor.[tkEntryClosestGap
d440 20 24 77 20 24 78 5d 0d 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d 20 69 6e .$w.$x].....$w.selection.from.in
d460 73 65 72 74 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 22 64 69 sert.....if.{[string.compare."di
d480 73 61 62 6c 65 64 22 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 5d 7d 20 7b 66 6f 63 75 sabled".[$w.cget.-state]]}.{focu
d4a0 73 20 24 77 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 2d 2d s.$w}.}..#.tkEntryMouseSelect.--
d4c0 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 .#.This.procedure.is.invoked.whe
d4e0 6e 20 64 72 61 67 67 69 6e 67 20 6f 75 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 77 69 74 68 0d n.dragging.out.a.selection.with.
d500 23 20 74 68 65 20 6d 6f 75 73 65 2e 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 73 #.the.mouse...Depending.on.the.s
d520 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 28 63 68 61 72 61 63 74 65 72 2c 20 77 6f 72 64 2c 0d election.mode.(character,.word,.
d540 23 20 6c 69 6e 65 29 20 69 74 20 73 65 6c 65 63 74 73 20 69 6e 20 64 69 66 66 65 72 65 6e 74 2d #.line).it.selects.in.different-
d560 73 69 7a 65 64 20 75 6e 69 74 73 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 0d 23 20 69 sized.units...This.procedure.#.i
d580 67 6e 6f 72 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 73 20 69 6e 69 74 69 61 6c 6c 79 20 75 gnores.mouse.motions.initially.u
d5a0 6e 74 69 6c 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 66 72 6f 6d 0d 23 20 ntil.the.mouse.has.moved.from.#.
d5c0 6f 6e 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 6f 72 20 75 6e 74 69 one.character.to.another.or.unti
d5e0 6c 20 74 68 65 72 65 20 68 61 76 65 20 62 65 65 6e 20 6d 75 6c 74 69 70 6c 65 20 63 6c 69 63 6b l.there.have.been.multiple.click
d600 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 s..#.#.Arguments:.#.w.-..The.ent
d620 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 ry.window.in.which.the.button.wa
d640 73 20 70 72 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 s.pressed..#.x.-..The.x-coordina
d660 74 65 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 4d 6f te.of.the.mouse...proc.tkEntryMo
d680 75 73 65 53 65 6c 65 63 74 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 useSelect.{w.x}.{.....global.tkP
d6a0 72 69 76 0d 0d 20 20 20 20 73 65 74 20 63 75 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f 73 65 73 74 riv......set.cur.[tkEntryClosest
d6c0 47 61 70 20 24 77 20 24 78 5d 0d 20 20 20 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e Gap.$w.$x].....set.anchor.[$w.in
d6e0 64 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 75 72 20 21 3d 20 24 61 6e dex.anchor].....if.{($cur.!=.$an
d700 63 68 6f 72 29 20 7c 7c 20 28 61 62 73 28 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 2d 20 chor).||.(abs($tkPriv(pressX).-.
d720 24 78 29 20 3e 3d 20 33 29 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f $x).>=.3)}.{..set.tkPriv(mouseMo
d740 76 65 64 29 20 31 0d 20 20 20 20 7d 0d 20 20 20 20 73 77 69 74 63 68 20 24 74 6b 50 72 69 76 28 ved).1.....}.....switch.$tkPriv(
d760 73 65 6c 65 63 74 4d 6f 64 65 29 20 7b 0d 09 63 68 61 72 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 selectMode).{..char.{......if.{$
d780 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 7d 20 7b 0d 09 09 69 66 20 7b 24 63 75 72 tkPriv(mouseMoved)}.{...if.{$cur
d7a0 20 3c 20 24 61 6e 63 68 6f 72 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e .<.$anchor}.{.......$w.selection
d7c0 20 72 61 6e 67 65 20 24 63 75 72 20 24 61 6e 63 68 6f 72 0d 09 09 7d 20 65 6c 73 65 69 66 20 7b .range.$cur.$anchor...}.elseif.{
d7e0 24 63 75 72 20 3e 20 24 61 6e 63 68 6f 72 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 $cur.>.$anchor}.{.......$w.selec
d800 74 69 6f 6e 20 72 61 6e 67 65 20 24 61 6e 63 68 6f 72 20 24 63 75 72 0d 09 09 7d 20 65 6c 73 65 tion.range.$anchor.$cur...}.else
d820 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 09 09 7d 0d .{.......$w.selection.clear...}.
d840 09 20 20 20 20 7d 0d 09 7d 0d 09 77 6f 72 64 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 63 75 72 20 .....}..}..word.{......if.{$cur.
d860 3c 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 62 65 66 <.[$w.index.anchor]}.{...set.bef
d880 6f 72 65 20 5b 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 20 5b 24 77 20 67 65 74 ore.[tcl_wordBreakBefore.[$w.get
d8a0 5d 20 24 63 75 72 5d 0d 09 09 73 65 74 20 61 66 74 65 72 20 5b 74 63 6c 5f 77 6f 72 64 42 72 65 ].$cur]...set.after.[tcl_wordBre
d8c0 61 6b 41 66 74 65 72 20 5b 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 7b 24 61 6e 63 68 6f 72 2d akAfter.[$w.get].[expr.{$anchor-
d8e0 31 7d 5d 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 62 65 66 6f 72 65 20 1}]]......}.else.{...set.before.
d900 5b 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 20 5b 24 77 20 67 65 74 5d 20 24 61 [tcl_wordBreakBefore.[$w.get].$a
d920 6e 63 68 6f 72 5d 0d 09 09 73 65 74 20 61 66 74 65 72 20 5b 74 63 6c 5f 77 6f 72 64 42 72 65 61 nchor]...set.after.[tcl_wordBrea
d940 6b 41 66 74 65 72 20 5b 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 7b 24 63 75 72 20 2d 20 31 7d kAfter.[$w.get].[expr.{$cur.-.1}
d960 5d 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 62 65 66 6f 72 65 20 3c 20 30 7d 20 ]]......}......if.{$before.<.0}.
d980 7b 0d 09 09 73 65 74 20 62 65 66 6f 72 65 20 30 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 {...set.before.0......}......if.
d9a0 7b 24 61 66 74 65 72 20 3c 20 30 7d 20 7b 0d 09 09 73 65 74 20 61 66 74 65 72 20 65 6e 64 0d 09 {$after.<.0}.{...set.after.end..
d9c0 20 20 20 20 7d 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 72 61 6e 67 65 20 24 62 ....}......$w.selection.range.$b
d9e0 65 66 6f 72 65 20 24 61 66 74 65 72 0d 09 7d 0d 09 6c 69 6e 65 20 7b 0d 09 20 20 20 20 24 77 20 efore.$after..}..line.{......$w.
da00 73 65 6c 65 63 74 69 6f 6e 20 72 61 6e 67 65 20 30 20 65 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 20 selection.range.0.end..}.....}..
da20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 7d 20 7b 0d 20 20 ...if.{$tkPriv(mouseMoved)}.{...
da40 20 20 20 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 24 63 75 72 0d 20 20 20 20 7d 0d 20 20 20 20 ......$w.icursor.$cur.....}.....
da60 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 50 61 73 update.idletasks.}..#.tkEntryPas
da80 74 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 73 65 74 73 20 74 68 65 20 te.--.#.This.procedure.sets.the.
daa0 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 insertion.cursor.to.the.current.
dac0 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2c 0d 23 20 70 61 73 74 65 73 20 74 68 65 20 73 65 6c mouse.position,.#.pastes.the.sel
dae0 65 63 74 69 6f 6e 20 74 68 65 72 65 2c 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 66 6f 63 75 73 ection.there,.and.sets.the.focus
db00 20 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 .to.the.window..#.#.Arguments:.#
db20 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 58 .w.-..The.entry.window..#.x.-..X
db40 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 74 6b .position.of.the.mouse...proc.tk
db60 45 6e 74 72 79 50 61 73 74 65 20 7b 77 20 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b EntryPaste.{w.x}.{.....global.tk
db80 50 72 69 76 0d 0d 20 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 5b 74 6b 45 6e 74 72 79 43 6c 6f Priv......$w.icursor.[tkEntryClo
dba0 73 65 73 74 47 61 70 20 24 77 20 24 78 5d 0d 20 20 20 20 63 61 74 63 68 20 7b 24 77 20 69 6e 73 sestGap.$w.$x].....catch.{$w.ins
dbc0 65 72 74 20 69 6e 73 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c ert.insert.[selection.get.-displ
dbe0 61 79 6f 66 20 24 77 5d 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 ayof.$w]}.....if.{[string.compar
dc00 65 20 22 64 69 73 61 62 6c 65 64 22 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 5d 7d 20 e."disabled".[$w.cget.-state]]}.
dc20 7b 66 6f 63 75 73 20 24 77 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 {focus.$w}.}..#.tkEntryAutoScan.
dc40 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 --.#.This.procedure.is.invoked.w
dc60 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 65 73 20 61 6e 20 65 6e 74 72 79 20 77 69 hen.the.mouse.leaves.an.entry.wi
dc80 6e 64 6f 77 0d 23 20 77 69 74 68 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e 2e 20 20 49 74 20 73 ndow.#.with.button.1.down...It.s
dca0 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 6c 65 66 74 20 6f 72 20 72 69 67 68 74 2c crolls.the.window.left.or.right,
dcc0 0d 23 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 .#.depending.on.where.the.mouse.
dce0 69 73 2c 20 61 6e 64 20 72 65 73 63 68 65 64 75 6c 65 73 20 69 74 73 65 6c 66 20 61 73 20 61 6e is,.and.reschedules.itself.as.an
dd00 0d 23 20 22 61 66 74 65 72 22 20 63 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 .#."after".command.so.that.the.w
dd20 69 6e 64 6f 77 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 73 63 72 6f 6c 6c 20 75 6e 74 69 6c 20 indow.continues.to.scroll.until.
dd40 74 68 65 0d 23 20 6d 6f 75 73 65 20 6d 6f 76 65 73 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 the.#.mouse.moves.back.into.the.
dd60 77 69 6e 64 6f 77 20 6f 72 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 window.or.the.mouse.button.is.re
dd80 6c 65 61 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 leased..#.#.Arguments:.#.w.-..Th
dda0 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 41 75 74 e.entry.window...proc.tkEntryAut
ddc0 6f 53 63 61 6e 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 oScan.{w}.{.....global.tkPriv...
dde0 20 20 73 65 74 20 78 20 24 74 6b 50 72 69 76 28 78 29 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e ..set.x.$tkPriv(x).....if.{![win
de00 66 6f 20 65 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 78 fo.exists.$w]}.return.....if.{$x
de20 20 3e 3d 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 24 77 20 78 76 69 65 .>=.[winfo.width.$w]}.{..$w.xvie
de40 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 09 74 6b 45 6e 74 72 79 4d 6f 75 73 65 53 65 w.scroll.2.units..tkEntryMouseSe
de60 6c 65 63 74 20 24 77 20 24 78 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 78 20 3c 20 30 7d lect.$w.$x.....}.elseif.{$x.<.0}
de80 20 7b 0d 09 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 32 20 75 6e 69 74 73 0d 09 74 6b .{..$w.xview.scroll.-2.units..tk
dea0 45 6e 74 72 79 4d 6f 75 73 65 53 65 6c 65 63 74 20 24 77 20 24 78 0d 20 20 20 20 7d 0d 20 20 20 EntryMouseSelect.$w.$x.....}....
dec0 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 35 30 20 5b .set.tkPriv(afterId).[after.50.[
dee0 6c 69 73 74 20 74 6b 45 6e 74 72 79 41 75 74 6f 53 63 61 6e 20 24 77 5d 5d 0d 7d 0d 0d 23 20 74 list.tkEntryAutoScan.$w]].}..#.t
df00 6b 45 6e 74 72 79 4b 65 79 53 65 6c 65 63 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 kEntryKeySelect.--.#.This.proced
df20 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 73 74 72 6f 6b 69 6e 67 20 6f 75 74 ure.is.invoked.when.stroking.out
df40 20 73 65 6c 65 63 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 0d 23 20 6b 65 79 62 6f 61 72 64 .selections.using.the.#.keyboard
df60 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 61 20 6e 65 77 20 ...It.moves.the.cursor.to.a.new.
df80 70 6f 73 69 74 69 6f 6e 2c 20 74 68 65 6e 20 65 78 74 65 6e 64 73 0d 23 20 74 68 65 20 73 65 6c position,.then.extends.#.the.sel
dfa0 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 ection.to.that.position..#.#.Arg
dfc0 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e uments:.#.w.-..The.entry.window.
dfe0 0d 23 20 6e 65 77 20 2d 09 09 41 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 .#.new.-..A.new.position.for.the
e000 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 28 74 68 65 20 63 75 72 73 6f 72 20 68 61 .insertion.cursor.(the.cursor.ha
e020 73 6e 27 74 0d 23 09 09 61 63 74 75 61 6c 6c 79 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 74 sn't.#..actually.been.moved.to.t
e040 68 69 73 20 70 6f 73 69 74 69 6f 6e 20 79 65 74 29 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 his.position.yet)...proc.tkEntry
e060 4b 65 79 53 65 6c 65 63 74 20 7b 77 20 6e 65 77 7d 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 24 77 KeySelect.{w.new}.{.....if.{![$w
e080 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 5d 7d 20 7b 0d 09 24 77 20 73 65 6c 65 63 .selection.present]}.{..$w.selec
e0a0 74 69 6f 6e 20 66 72 6f 6d 20 69 6e 73 65 72 74 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 74 tion.from.insert..$w.selection.t
e0c0 6f 20 24 6e 65 77 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f o.$new.....}.else.{..$w.selectio
e0e0 6e 20 61 64 6a 75 73 74 20 24 6e 65 77 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 69 63 75 72 73 n.adjust.$new.....}.....$w.icurs
e100 6f 72 20 24 6e 65 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 49 6e 73 65 72 74 20 2d 2d 0d 23 20 or.$new.}..#.tkEntryInsert.--.#.
e120 49 6e 73 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 6e 20 65 6e 74 72 79 20 61 74 Insert.a.string.into.an.entry.at
e140 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 .the.point.of.the.insertion.curs
e160 6f 72 2e 0d 23 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e or..#.If.there.is.a.selection.in
e180 20 74 68 65 20 65 6e 74 72 79 2c 20 61 6e 64 20 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f .the.entry,.and.it.covers.the.po
e1a0 69 6e 74 20 6f 66 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 int.of.the.#.insertion.cursor,.t
e1c0 68 65 6e 20 64 65 6c 65 74 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 hen.delete.the.selection.before.
e1e0 69 6e 73 65 72 74 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 inserting..#.#.Arguments:.#.w.-.
e200 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 69 6e .The.entry.window.in.which.to.in
e220 73 65 72 74 20 74 68 65 20 73 74 72 69 6e 67 0d 23 20 73 20 2d 09 09 54 68 65 20 73 74 72 69 6e sert.the.string.#.s.-..The.strin
e240 67 20 74 6f 20 69 6e 73 65 72 74 20 28 75 73 75 61 6c 6c 79 20 6a 75 73 74 20 61 20 73 69 6e 67 g.to.insert.(usually.just.a.sing
e260 6c 65 20 63 68 61 72 61 63 74 65 72 29 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 49 6e 73 65 72 le.character)..proc.tkEntryInser
e280 74 20 7b 77 20 73 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 t.{w.s}.{.....if.{[string.equal.
e2a0 24 73 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 63 61 74 63 $s.""]}.{..return.....}.....catc
e2c0 68 20 7b 0d 09 73 65 74 20 69 6e 73 65 72 74 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 h.{..set.insert.[$w.index.insert
e2e0 5d 0d 09 69 66 20 7b 28 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 66 69 72 73 74 5d 20 3c 3d 20 ]..if.{([$w.index.sel.first].<=.
e300 24 69 6e 73 65 72 74 29 0d 09 09 26 26 20 28 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 6c 61 73 $insert)...&&.([$w.index.sel.las
e320 74 5d 20 3e 3d 20 24 69 6e 73 65 72 74 29 7d 20 7b 0d 09 20 20 20 20 24 77 20 64 65 6c 65 74 65 t].>=.$insert)}.{......$w.delete
e340 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 .sel.first.sel.last..}.....}....
e360 20 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 73 0d 20 20 20 20 74 6b 45 6e 74 72 79 .$w.insert.insert.$s.....tkEntry
e380 53 65 65 49 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 SeeInsert.$w.}..#.tkEntryBackspa
e3a0 63 65 20 2d 2d 0d 23 20 42 61 63 6b 73 70 61 63 65 20 6f 76 65 72 20 74 68 65 20 63 68 61 72 61 ce.--.#.Backspace.over.the.chara
e3c0 63 74 65 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 cter.just.before.the.insertion.c
e3e0 75 72 73 6f 72 2e 0d 23 20 49 66 20 62 61 63 6b 73 70 61 63 69 6e 67 20 77 6f 75 6c 64 20 6d 6f ursor..#.If.backspacing.would.mo
e400 76 65 20 74 68 65 20 63 75 72 73 6f 72 20 6f 66 66 20 74 68 65 20 6c 65 66 74 20 65 64 67 65 20 ve.the.cursor.off.the.left.edge.
e420 6f 66 20 74 68 65 0d 23 20 77 69 6e 64 6f 77 2c 20 72 65 70 6f 73 69 74 69 6f 6e 20 74 68 65 20 of.the.#.window,.reposition.the.
e440 63 75 72 73 6f 72 20 61 74 20 61 62 6f 75 74 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 74 68 cursor.at.about.the.middle.of.th
e460 65 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 e.window..#.#.Arguments:.#.w.-..
e480 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 62 61 63 The.entry.window.in.which.to.bac
e4a0 6b 73 70 61 63 65 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 42 61 63 6b 73 70 61 63 65 20 77 kspace...proc.tkEntryBackspace.w
e4c0 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 70 72 65 73 65 6e 74 .{.....if.{[$w.selection.present
e4e0 5d 7d 20 7b 0d 09 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 ]}.{..$w.delete.sel.first.sel.la
e500 73 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 78 20 5b 65 78 70 72 20 7b 5b 24 st.....}.else.{..set.x.[expr.{[$
e520 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 20 2d 20 31 7d 5d 0d 09 69 66 20 7b 24 78 20 3e 3d w.index.insert].-.1}]..if.{$x.>=
e540 20 30 7d 20 7b 24 77 20 64 65 6c 65 74 65 20 24 78 7d 0d 09 69 66 20 7b 5b 24 77 20 69 6e 64 65 .0}.{$w.delete.$x}..if.{[$w.inde
e560 78 20 40 30 5d 20 3e 3d 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 7d 20 7b 0d 09 20 x.@0].>=.[$w.index.insert]}.{...
e580 20 20 20 73 65 74 20 72 61 6e 67 65 20 5b 24 77 20 78 76 69 65 77 5d 0d 09 20 20 20 20 73 65 74 ...set.range.[$w.xview]......set
e5a0 20 6c 65 66 74 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 20 30 5d 0d 09 20 20 20 20 73 65 74 .left.[lindex.$range.0]......set
e5c0 20 72 69 67 68 74 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 20 31 5d 0d 09 20 20 20 20 24 77 .right.[lindex.$range.1]......$w
e5e0 20 78 76 69 65 77 20 6d 6f 76 65 74 6f 20 5b 65 78 70 72 20 7b 24 6c 65 66 74 20 2d 20 28 24 72 .xview.moveto.[expr.{$left.-.($r
e600 69 67 68 74 20 2d 20 24 6c 65 66 74 29 2f 32 2e 30 7d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d ight.-.$left)/2.0}]..}.....}.}..
e620 23 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 2d 2d 0d 23 20 4d 61 6b 65 20 73 75 72 #.tkEntrySeeInsert.--.#.Make.sur
e640 65 20 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 20 76 e.that.the.insertion.cursor.is.v
e660 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 49 66 isible.in.the.entry.window..#.If
e680 20 6e 6f 74 2c 20 61 64 6a 75 73 74 20 74 68 65 20 76 69 65 77 20 73 6f 20 74 68 61 74 20 69 74 .not,.adjust.the.view.so.that.it
e6a0 20 69 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 .is..#.#.Arguments:.#.w.-..The.e
e6c0 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 53 65 65 49 6e 73 ntry.window...proc.tkEntrySeeIns
e6e0 65 72 74 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 ert.w.{.....set.c.[$w.index.inse
e700 72 74 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 20 3c 20 5b 24 77 20 69 6e 64 65 78 20 40 30 5d 29 rt].....if.{($c.<.[$w.index.@0])
e720 20 7c 7c 20 28 24 63 20 3e 20 5b 24 77 20 69 6e 64 65 78 20 40 5b 77 69 6e 66 6f 20 77 69 64 74 .||.($c.>.[$w.index.@[winfo.widt
e740 68 20 24 77 5d 5d 29 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 24 63 0d 20 20 20 20 7d 0d 7d 0d h.$w]])}.{..$w.xview.$c.....}.}.
e760 0d 23 20 74 6b 45 6e 74 72 79 53 65 74 43 75 72 73 6f 72 20 2d 0d 23 20 4d 6f 76 65 20 74 68 65 .#.tkEntrySetCursor.-.#.Move.the
e780 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 61 20 67 69 76 65 6e 20 70 6f 73 .insertion.cursor.to.a.given.pos
e7a0 69 74 69 6f 6e 20 69 6e 20 61 6e 20 65 6e 74 72 79 2e 20 20 41 6c 73 6f 0d 23 20 63 6c 65 61 72 ition.in.an.entry...Also.#.clear
e7c0 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 s.the.selection,.if.there.is.one
e7e0 20 69 6e 20 74 68 65 20 65 6e 74 72 79 2c 20 61 6e 64 20 6d 61 6b 65 73 20 73 75 72 65 0d 23 20 .in.the.entry,.and.makes.sure.#.
e800 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 20 76 69 73 that.the.insertion.cursor.is.vis
e820 69 62 6c 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 ible..#.#.Arguments:.#.w.-..The.
e840 65 6e 74 72 79 20 77 69 6e 64 6f 77 2e 0d 23 20 70 6f 73 20 2d 09 09 54 68 65 20 64 65 73 69 72 entry.window..#.pos.-..The.desir
e860 65 64 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 73 6f 72 20 69 ed.new.position.for.the.cursor.i
e880 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 53 65 74 43 75 n.the.window...proc.tkEntrySetCu
e8a0 72 73 6f 72 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 24 77 20 69 63 75 72 73 6f 72 20 24 70 rsor.{w.pos}.{.....$w.icursor.$p
e8c0 6f 73 0d 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 0d 20 20 20 20 74 6b os.....$w.selection.clear.....tk
e8e0 45 6e 74 72 79 53 65 65 49 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 54 72 EntrySeeInsert.$w.}..#.tkEntryTr
e900 61 6e 73 70 6f 73 65 20 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 anspose.-.#.This.procedure.imple
e920 6d 65 6e 74 73 20 74 68 65 20 22 74 72 61 6e 73 70 6f 73 65 22 20 66 75 6e 63 74 69 6f 6e 20 66 ments.the."transpose".function.f
e940 6f 72 20 65 6e 74 72 79 20 77 69 64 67 65 74 73 2e 0d 23 20 49 74 20 74 72 61 6e 70 6f 73 65 73 or.entry.widgets..#.It.tranposes
e960 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 6e 20 65 69 74 68 65 72 20 73 69 64 65 20 6f .the.characters.on.either.side.o
e980 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 0d 23 20 75 6e 6c 65 73 73 f.the.insertion.cursor,.#.unless
e9a0 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 .the.cursor.is.at.the.end.of.the
e9c0 20 6c 69 6e 65 2e 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 69 74 0d 23 20 74 72 61 6e 73 70 .line...In.this.case.it.#.transp
e9e0 6f 73 65 73 20 74 68 65 20 74 77 6f 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 65 20 6c oses.the.two.characters.to.the.l
ea00 65 66 74 20 6f 66 20 74 68 65 20 63 75 72 73 6f 72 2e 20 20 49 6e 20 65 69 74 68 65 72 0d 23 20 eft.of.the.cursor...In.either.#.
ea20 63 61 73 65 2c 20 74 68 65 20 63 75 72 73 6f 72 20 65 6e 64 73 20 75 70 20 74 6f 20 74 68 65 20 case,.the.cursor.ends.up.to.the.
ea40 72 69 67 68 74 20 6f 66 20 74 68 65 20 74 72 61 6e 73 70 6f 73 65 64 20 63 68 61 72 61 63 74 65 right.of.the.transposed.characte
ea60 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e rs..#.#.Arguments:.#.w.-..The.en
ea80 74 72 79 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 54 72 61 6e 73 70 6f try.window...proc.tkEntryTranspo
eaa0 73 65 20 77 20 7b 0d 20 20 20 20 73 65 74 20 69 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 se.w.{.....set.i.[$w.index.inser
eac0 74 5d 0d 20 20 20 20 69 66 20 7b 24 69 20 3c 20 5b 24 77 20 69 6e 64 65 78 20 65 6e 64 5d 7d 20 t].....if.{$i.<.[$w.index.end]}.
eae0 7b 0d 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 66 69 72 73 74 20 5b 65 {..incr.i.....}.....set.first.[e
eb00 78 70 72 20 7b 24 69 2d 32 7d 5d 0d 20 20 20 20 69 66 20 7b 24 66 69 72 73 74 20 3c 20 30 7d 20 xpr.{$i-2}].....if.{$first.<.0}.
eb20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 20 5b 73 74 72 {..return.....}.....set.new.[str
eb40 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 67 65 74 5d 20 5b 65 78 70 72 20 7b 24 69 2d 31 7d 5d ing.index.[$w.get].[expr.{$i-1}]
eb60 5d 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 67 65 74 5d 20 24 66 69 72 73 74 5d 0d ][string.index.[$w.get].$first].
eb80 20 20 20 20 24 77 20 64 65 6c 65 74 65 20 24 66 69 72 73 74 20 24 69 0d 20 20 20 20 24 77 20 69 ....$w.delete.$first.$i.....$w.i
eba0 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 6e 65 77 0d 20 20 20 20 74 6b 45 6e 74 72 79 53 65 65 nsert.insert.$new.....tkEntrySee
ebc0 49 6e 73 65 72 74 20 24 77 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 2d Insert.$w.}..#.tkEntryNextWord.-
ebe0 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6e 65 78 -.#.Returns.the.index.of.the.nex
ec00 74 20 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 61 20 67 69 76 65 6e 20 70 6f t.word.position.after.a.given.po
ec20 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 0d 23 20 65 6e 74 72 79 2e 20 20 54 68 65 20 6e 65 78 74 sition.in.the.#.entry...The.next
ec40 20 77 6f 72 64 20 69 73 20 70 6c 61 74 66 6f 72 6d 20 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 .word.is.platform.dependent.and.
ec60 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 74 68 65 20 6e 65 78 74 0d 23 20 65 6e 64 2d 6f 66 2d may.be.either.the.next.#.end-of-
ec80 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 74 68 65 20 6e 65 78 74 20 73 74 61 72 74 2d word.position.or.the.next.start-
eca0 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 74 0d of-word.position.after.the.next.
ecc0 23 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 #.end-of-word.position..#.#.Argu
ece0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 ments:.#.w.-..The.entry.window.i
ed00 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 n.which.the.cursor.is.to.move..#
ed20 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 .start.-.Position.at.which.to.st
ed40 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 art.search...if.{[string.equal.$
ed60 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 tcl_platform(platform)."windows"
ed80 5d 7d 20 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 7b ]}..{.....proc.tkEntryNextWord.{
eda0 77 20 73 74 61 72 74 7d 20 7b 0d 09 73 65 74 20 70 6f 73 20 5b 74 63 6c 5f 65 6e 64 4f 66 57 6f w.start}.{..set.pos.[tcl_endOfWo
edc0 72 64 20 5b 24 77 20 67 65 74 5d 20 5b 24 77 20 69 6e 64 65 78 20 24 73 74 61 72 74 5d 5d 0d 09 rd.[$w.get].[$w.index.$start]]..
ede0 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 70 6f 73 20 5b 74 if.{$pos.>=.0}.{......set.pos.[t
ee00 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 74 57 6f 72 64 20 5b 24 77 20 67 65 74 5d 20 24 70 6f 73 cl_startOfNextWord.[$w.get].$pos
ee20 5d 0d 09 7d 0d 09 69 66 20 7b 24 70 6f 73 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 ]..}..if.{$pos.<.0}.{......retur
ee40 6e 20 65 6e 64 0d 09 7d 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 7d 20 65 6c n.end..}..return.$pos.....}.}.el
ee60 73 65 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 45 6e 74 72 79 4e 65 78 74 57 6f 72 64 20 7b 77 se.{.....proc.tkEntryNextWord.{w
ee80 20 73 74 61 72 74 7d 20 7b 0d 09 73 65 74 20 70 6f 73 20 5b 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 .start}.{..set.pos.[tcl_endOfWor
eea0 64 20 5b 24 77 20 67 65 74 5d 20 5b 24 77 20 69 6e 64 65 78 20 24 73 74 61 72 74 5d 5d 0d 09 69 d.[$w.get].[$w.index.$start]]..i
eec0 66 20 7b 24 70 6f 73 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 0d 09 f.{$pos.<.0}.{......return.end..
eee0 7d 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 45 6e 74 72 }..return.$pos.....}.}..#.tkEntr
ef00 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 yPreviousWord.--.#.#.Returns.the
ef20 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 77 6f 72 64 20 70 6f 73 69 .index.of.the.previous.word.posi
ef40 74 69 6f 6e 20 62 65 66 6f 72 65 20 61 20 67 69 76 65 6e 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 tion.before.a.given.#.position.i
ef60 6e 20 74 68 65 20 65 6e 74 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 n.the.entry..#.#.Arguments:.#.w.
ef80 2d 09 09 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 -..The.entry.window.in.which.the
efa0 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f .cursor.is.to.move..#.start.-.Po
efc0 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e sition.at.which.to.start.search.
efe0 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 50 72 65 76 69 6f 75 73 57 6f 72 64 20 7b 77 20 73 74 ..proc.tkEntryPreviousWord.{w.st
f000 61 72 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 5b 74 63 6c 5f 73 74 61 72 74 4f 66 50 art}.{.....set.pos.[tcl_startOfP
f020 72 65 76 69 6f 75 73 57 6f 72 64 20 5b 24 77 20 67 65 74 5d 20 5b 24 77 20 69 6e 64 65 78 20 24 reviousWord.[$w.get].[$w.index.$
f040 73 74 61 72 74 5d 5d 0d 20 20 20 20 69 66 20 7b 24 70 6f 73 20 3c 20 30 7d 20 7b 0d 09 72 65 74 start]].....if.{$pos.<.0}.{..ret
f060 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 70 6f 73 0d 7d 0d 23 20 urn.0.....}.....return.$pos.}.#.
f080 74 6b 45 6e 74 72 79 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 tkEntryGetSelection.--.#.#.Retur
f0a0 6e 73 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 74 65 78 74 20 6f 66 20 74 68 65 20 65 6e 74 72 ns.the.selected.text.of.the.entr
f0c0 79 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 20 2d 73 68 6f 77 20 6f 70 74 69 y.with.respect.to.the.-show.opti
f0e0 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 20 20 20 20 20 20 20 20 on..#.#.Arguments:.#.w.-........
f100 20 54 68 65 20 65 6e 74 72 79 20 77 69 6e 64 6f 77 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 .The.entry.window.from.which.the
f120 20 74 65 78 74 20 74 6f 20 67 65 74 0d 0d 70 72 6f 63 20 74 6b 45 6e 74 72 79 47 65 74 53 65 6c .text.to.get..proc.tkEntryGetSel
f140 65 63 74 69 6f 6e 20 7b 77 7d 20 7b 0d 20 20 20 20 73 65 74 20 65 6e 74 72 79 53 74 72 69 6e 67 ection.{w}.{.....set.entryString
f160 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 5b 24 77 20 67 65 74 5d 20 5b 24 77 20 69 6e 64 65 .[string.range.[$w.get].[$w.inde
f180 78 20 73 65 6c 2e 66 69 72 73 74 5d 20 5c 0d 09 20 20 20 20 5b 65 78 70 72 20 7b 5b 24 77 20 69 x.sel.first].\......[expr.{[$w.i
f1a0 6e 64 65 78 20 73 65 6c 2e 6c 61 73 74 5d 20 2d 20 31 7d 5d 5d 0d 20 20 20 20 69 66 20 7b 5b 73 ndex.sel.last].-.1}]].....if.{[s
f1c0 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 68 6f 77 5d 20 22 22 tring.compare.[$w.cget.-show].""
f1e0 5d 7d 20 7b 0d 09 72 65 67 73 75 62 20 2d 61 6c 6c 20 2e 20 24 65 6e 74 72 79 53 74 72 69 6e 67 ]}.{..regsub.-all...$entryString
f200 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 63 67 65 74 20 2d 73 68 6f 77 5d 20 30 .[string.index.[$w.cget.-show].0
f220 5d 20 65 6e 74 72 79 53 74 72 69 6e 67 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 ].entryString.....}.....return.$
f240 65 6e 74 72 79 53 74 72 69 6e 67 0d 7d 0d 00 00 13 bc 23 20 66 6f 63 75 73 2e 74 63 6c 20 2d 2d entryString.}.....#.focus.tcl.--
f260 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 73 65 76 65 72 61 6c 20 70 .#.#.This.file.defines.several.p
f280 72 6f 63 65 64 75 72 65 73 20 66 6f 72 20 6d 61 6e 61 67 69 6e 67 20 74 68 65 20 69 6e 70 75 74 rocedures.for.managing.the.input
f2a0 0d 23 20 66 6f 63 75 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 66 6f 63 .#.focus..#.#.RCS:.@(#).$Id:.foc
f2c0 75 73 2e 74 63 6c 2c 76 20 31 2e 37 2e 32 2e 31 20 32 30 30 30 2f 30 38 2f 30 35 20 32 33 3a 35 us.tcl,v.1.7.2.1.2000/08/05.23:5
f2e0 33 3a 31 33 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 3:13.hobbs.Exp.$.#.#.Copyright.(
f300 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 c).1994-1995.Sun.Microsystems,.I
f320 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 nc..#.#.See.the.file."license.te
f340 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e rms".for.information.on.usage.an
f360 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c d.redistribution.#.of.this.file,
f380 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 .and.for.a.DISCLAIMER.OF.ALL.WAR
f3a0 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 6b 5f 66 6f 63 75 73 4e 65 78 74 20 2d 2d 0d 23 20 RANTIES..#..#.tk_focusNext.--.#.
f3c0 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 61 6d 65 20 This.procedure.returns.the.name.
f3e0 6f 66 20 74 68 65 20 6e 65 78 74 20 77 69 6e 64 6f 77 20 61 66 74 65 72 20 22 77 22 20 69 6e 0d of.the.next.window.after."w".in.
f400 23 20 22 66 6f 63 75 73 20 6f 72 64 65 72 22 20 28 74 68 65 20 77 69 6e 64 6f 77 20 74 68 61 74 #."focus.order".(the.window.that
f420 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 65 20 74 68 65 20 66 6f 63 75 73 20 6e 65 78 74 20 69 .should.receive.the.focus.next.i
f440 66 0d 23 20 54 61 62 20 69 73 20 74 79 70 65 64 20 69 6e 20 77 29 2e 20 20 22 4e 65 78 74 22 20 f.#.Tab.is.typed.in.w)..."Next".
f460 69 73 20 64 65 66 69 6e 65 64 20 62 79 20 61 20 70 72 65 2d 6f 72 64 65 72 20 73 65 61 72 63 68 is.defined.by.a.pre-order.search
f480 0d 23 20 6f 66 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 61 6e 64 20 69 74 73 20 6e 6f 6e 2d 74 6f .#.of.a.top-level.and.its.non-to
f4a0 70 2d 6c 65 76 65 6c 20 64 65 73 63 65 6e 64 61 6e 74 73 2c 20 77 69 74 68 20 74 68 65 20 73 74 p-level.descendants,.with.the.st
f4c0 61 63 6b 69 6e 67 0d 23 20 6f 72 64 65 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 74 68 65 20 6f acking.#.order.determining.the.o
f4e0 72 64 65 72 20 6f 66 20 73 69 62 6c 69 6e 67 73 2e 20 20 54 68 65 20 22 2d 74 61 6b 65 66 6f 63 rder.of.siblings...The."-takefoc
f500 75 73 22 20 6f 70 74 69 6f 6e 73 0d 23 20 6f 6e 20 77 69 6e 64 6f 77 73 20 64 65 74 65 72 6d 69 us".options.#.on.windows.determi
f520 6e 65 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 ne.whether.or.not.they.should.be
f540 20 73 6b 69 70 70 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 .skipped..#.#.Arguments:.#.w.-..
f560 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 5f 66 6f 63 75 73 Name.of.a.window...proc.tk_focus
f580 4e 65 78 74 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 75 72 20 24 77 0d 20 20 20 20 77 68 69 6c Next.w.{.....set.cur.$w.....whil
f5a0 65 20 7b 31 7d 20 7b 0d 0d 09 23 20 44 65 73 63 65 6e 64 20 74 6f 20 6a 75 73 74 20 62 65 66 6f e.{1}.{...#.Descend.to.just.befo
f5c0 72 65 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e re.the.first.child.of.the.curren
f5e0 74 20 77 69 64 67 65 74 2e 0d 0d 09 73 65 74 20 70 61 72 65 6e 74 20 24 63 75 72 0d 09 73 65 74 t.widget....set.parent.$cur..set
f600 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 63 75 72 5d 0d .children.[winfo.children.$cur].
f620 09 73 65 74 20 69 20 2d 31 0d 0d 09 23 20 4c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 .set.i.-1...#.Look.for.the.next.
f640 73 69 62 6c 69 6e 67 20 74 68 61 74 20 69 73 6e 27 74 20 61 20 74 6f 70 2d 6c 65 76 65 6c 2e 0d sibling.that.isn't.a.top-level..
f660 0d 09 77 68 69 6c 65 20 7b 31 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 0d 09 20 20 20 20 69 ..while.{1}.{......incr.i......i
f680 66 20 7b 24 69 20 3c 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 6c 64 72 65 6e 5d 7d 20 7b 0d 09 f.{$i.<.[llength.$children]}.{..
f6a0 09 73 65 74 20 63 75 72 20 5b 6c 69 6e 64 65 78 20 24 63 68 69 6c 64 72 65 6e 20 24 69 5d 0d 20 .set.cur.[lindex.$children.$i]..
f6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b .............if.{[string.equal.[
f6e0 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 63 75 72 5d 20 24 63 75 72 5d 7d 20 7b 0d 09 09 winfo.toplevel.$cur].$cur]}.{...
f700 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 62 72 ....continue...}.else.{.......br
f720 65 61 6b 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 0d 09 20 20 20 20 23 20 4e 6f 20 6d 6f 72 65 20 73 eak...}......}.......#.No.more.s
f740 69 62 6c 69 6e 67 73 2c 20 73 6f 20 67 6f 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 77 69 iblings,.so.go.to.the.current.wi
f760 64 67 65 74 27 73 20 70 61 72 65 6e 74 2e 0d 09 20 20 20 20 23 20 49 66 20 69 74 27 73 20 61 20 dget's.parent.......#.If.it's.a.
f780 74 6f 70 2d 6c 65 76 65 6c 2c 20 62 72 65 61 6b 20 6f 75 74 20 6f 66 20 74 68 65 20 6c 6f 6f 70 top-level,.break.out.of.the.loop
f7a0 2c 20 6f 74 68 65 72 77 69 73 65 0d 09 20 20 20 20 23 20 6c 6f 6f 6b 20 66 6f 72 20 69 74 73 20 ,.otherwise......#.look.for.its.
f7c0 6e 65 78 74 20 73 69 62 6c 69 6e 67 2e 0d 0d 09 20 20 20 20 73 65 74 20 63 75 72 20 24 70 61 72 next.sibling........set.cur.$par
f7e0 65 6e 74 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 ent......if.{[string.equal.[winf
f800 6f 20 74 6f 70 6c 65 76 65 6c 20 24 63 75 72 5d 20 24 63 75 72 5d 7d 20 7b 0d 09 09 62 72 65 61 o.toplevel.$cur].$cur]}.{...brea
f820 6b 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 k......}......set.parent.[winfo.
f840 70 61 72 65 6e 74 20 24 70 61 72 65 6e 74 5d 0d 09 20 20 20 20 73 65 74 20 63 68 69 6c 64 72 65 parent.$parent]......set.childre
f860 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 70 61 72 65 6e 74 5d 0d 09 20 20 20 20 n.[winfo.children.$parent]......
f880 73 65 74 20 69 20 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 63 68 69 6c 64 72 65 6e 20 set.i.[lsearch.-exact.$children.
f8a0 24 63 75 72 5d 0d 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 $cur]..}..if.{[string.equal.$w.$
f8c0 63 75 72 5d 20 7c 7c 20 5b 74 6b 46 6f 63 75 73 4f 4b 20 24 63 75 72 5d 7d 20 7b 0d 09 20 20 20 cur].||.[tkFocusOK.$cur]}.{.....
f8e0 20 72 65 74 75 72 6e 20 24 63 75 72 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 5f 66 6f .return.$cur..}.....}.}..#.tk_fo
f900 63 75 73 50 72 65 76 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 cusPrev.--.#.This.procedure.retu
f920 72 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 77 69 6e rns.the.name.of.the.previous.win
f940 64 6f 77 20 62 65 66 6f 72 65 20 22 77 22 20 69 6e 0d 23 20 22 66 6f 63 75 73 20 6f 72 64 65 72 dow.before."w".in.#."focus.order
f960 22 20 28 74 68 65 20 77 69 6e 64 6f 77 20 74 68 61 74 20 73 68 6f 75 6c 64 20 72 65 63 65 69 76 ".(the.window.that.should.receiv
f980 65 20 74 68 65 20 66 6f 63 75 73 20 6e 65 78 74 20 69 66 0d 23 20 53 68 69 66 74 2d 54 61 62 20 e.the.focus.next.if.#.Shift-Tab.
f9a0 69 73 20 74 79 70 65 64 20 69 6e 20 77 29 2e 20 20 22 4e 65 78 74 22 20 69 73 20 64 65 66 69 6e is.typed.in.w)..."Next".is.defin
f9c0 65 64 20 62 79 20 61 20 70 72 65 2d 6f 72 64 65 72 20 73 65 61 72 63 68 0d 23 20 6f 66 20 61 20 ed.by.a.pre-order.search.#.of.a.
f9e0 74 6f 70 2d 6c 65 76 65 6c 20 61 6e 64 20 69 74 73 20 6e 6f 6e 2d 74 6f 70 2d 6c 65 76 65 6c 20 top-level.and.its.non-top-level.
fa00 64 65 73 63 65 6e 64 61 6e 74 73 2c 20 77 69 74 68 20 74 68 65 20 73 74 61 63 6b 69 6e 67 0d 23 descendants,.with.the.stacking.#
fa20 20 6f 72 64 65 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 .order.determining.the.order.of.
fa40 73 69 62 6c 69 6e 67 73 2e 20 20 54 68 65 20 22 2d 74 61 6b 65 66 6f 63 75 73 22 20 6f 70 74 69 siblings...The."-takefocus".opti
fa60 6f 6e 73 0d 23 20 6f 6e 20 77 69 6e 64 6f 77 73 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 74 68 ons.#.on.windows.determine.wheth
fa80 65 72 20 6f 72 20 6e 6f 74 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 6b 69 70 70 65 64 er.or.not.they.should.be.skipped
faa0 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 ..#.#.Arguments:.#.w.-..Name.of.
fac0 61 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 5f 66 6f 63 75 73 50 72 65 76 20 77 20 7b a.window...proc.tk_focusPrev.w.{
fae0 0d 20 20 20 20 73 65 74 20 63 75 72 20 24 77 0d 20 20 20 20 77 68 69 6c 65 20 7b 31 7d 20 7b 0d .....set.cur.$w.....while.{1}.{.
fb00 0d 09 23 20 43 6f 6c 6c 65 63 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 ..#.Collect.information.about.th
fb20 65 20 63 75 72 72 65 6e 74 20 77 69 6e 64 6f 77 27 73 20 70 6f 73 69 74 69 6f 6e 0d 09 23 20 61 e.current.window's.position..#.a
fb40 6d 6f 6e 67 20 69 74 73 20 73 69 62 6c 69 6e 67 73 2e 20 20 41 6c 73 6f 2c 20 69 66 20 74 68 65 mong.its.siblings...Also,.if.the
fb60 20 77 69 6e 64 6f 77 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 2c 0d 09 23 20 74 68 65 6e 20 .window.is.a.top-level,..#.then.
fb80 72 65 70 6f 73 69 74 69 6f 6e 20 74 6f 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 6c 61 73 reposition.to.just.after.the.las
fba0 74 20 63 68 69 6c 64 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 09 69 66 20 7b 5b 73 74 t.child.of.the.window....if.{[st
fbc0 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 63 75 72 5d ring.equal.[winfo.toplevel.$cur]
fbe0 20 24 63 75 72 5d 7d 20 20 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 24 63 75 72 0d .$cur]}..{......set.parent.$cur.
fc00 09 20 20 20 20 73 65 74 20 63 68 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 .....set.children.[winfo.childre
fc20 6e 20 24 63 75 72 5d 0d 09 20 20 20 20 73 65 74 20 69 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 n.$cur]......set.i.[llength.$chi
fc40 6c 64 72 65 6e 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 ldren]..}.else.{......set.parent
fc60 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 63 75 72 5d 0d 09 20 20 20 20 73 65 74 20 63 68 .[winfo.parent.$cur]......set.ch
fc80 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 70 61 72 65 6e 74 5d 0d ildren.[winfo.children.$parent].
fca0 09 20 20 20 20 73 65 74 20 69 20 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 63 68 69 6c .....set.i.[lsearch.-exact.$chil
fcc0 64 72 65 6e 20 24 63 75 72 5d 0d 09 7d 0d 0d 09 23 20 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 dren.$cur]..}...#.Go.to.the.prev
fce0 69 6f 75 73 20 73 69 62 6c 69 6e 67 2c 20 74 68 65 6e 20 64 65 73 63 65 6e 64 20 74 6f 20 69 74 ious.sibling,.then.descend.to.it
fd00 73 20 6c 61 73 74 20 64 65 73 63 65 6e 64 61 6e 74 0d 09 23 20 28 68 69 67 68 65 73 74 20 69 6e s.last.descendant..#.(highest.in
fd20 20 73 74 61 63 6b 69 6e 67 20 6f 72 64 65 72 2e 20 20 57 68 69 6c 65 20 64 6f 69 6e 67 20 74 68 .stacking.order...While.doing.th
fd40 69 73 2c 20 69 67 6e 6f 72 65 20 74 6f 70 2d 6c 65 76 65 6c 73 0d 09 23 20 61 6e 64 20 74 68 65 is,.ignore.top-levels..#.and.the
fd60 69 72 20 64 65 73 63 65 6e 64 61 6e 74 73 2e 20 20 57 68 65 6e 20 77 65 20 72 75 6e 20 6f 75 74 ir.descendants...When.we.run.out
fd80 20 6f 66 20 64 65 73 63 65 6e 64 61 6e 74 73 2c 20 67 6f 20 75 70 0d 09 23 20 6f 6e 65 20 6c 65 .of.descendants,.go.up..#.one.le
fda0 76 65 6c 20 74 6f 20 74 68 65 20 70 61 72 65 6e 74 2e 0d 0d 09 77 68 69 6c 65 20 7b 24 69 20 3e vel.to.the.parent....while.{$i.>
fdc0 20 30 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 2d 31 0d 09 20 20 20 20 73 65 74 20 63 75 .0}.{......incr.i.-1......set.cu
fde0 72 20 5b 6c 69 6e 64 65 78 20 24 63 68 69 6c 64 72 65 6e 20 24 69 5d 0d 09 20 20 20 20 69 66 20 r.[lindex.$children.$i]......if.
fe00 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 {[string.equal.[winfo.toplevel.$
fe20 63 75 72 5d 20 24 63 75 72 5d 7d 20 7b 0d 09 09 63 6f 6e 74 69 6e 75 65 0d 09 20 20 20 20 7d 0d cur].$cur]}.{...continue......}.
fe40 09 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 24 63 75 72 0d 09 20 20 20 20 73 65 74 20 63 68 .....set.parent.$cur......set.ch
fe60 69 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 70 61 72 65 6e 74 5d 0d ildren.[winfo.children.$parent].
fe80 09 20 20 20 20 73 65 74 20 69 20 5b 6c 6c 65 6e 67 74 68 20 24 63 68 69 6c 64 72 65 6e 5d 0d 09 .....set.i.[llength.$children]..
fea0 7d 0d 09 73 65 74 20 63 75 72 20 24 70 61 72 65 6e 74 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 }..set.cur.$parent..if.{[string.
fec0 65 71 75 61 6c 20 24 77 20 24 63 75 72 5d 20 7c 7c 20 5b 74 6b 46 6f 63 75 73 4f 4b 20 24 63 75 equal.$w.$cur].||.[tkFocusOK.$cu
fee0 72 5d 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 24 63 75 72 0d 09 7d 0d 20 20 20 20 7d 0d r]}.{......return.$cur..}.....}.
ff00 7d 0d 0d 23 20 74 6b 46 6f 63 75 73 4f 4b 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 }..#.tkFocusOK.--.#.#.This.proce
ff20 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 64 65 63 69 64 65 20 77 68 65 74 68 65 dure.is.invoked.to.decide.whethe
ff40 72 20 6f 72 20 6e 6f 74 20 74 6f 20 66 6f 63 75 73 20 6f 6e 0d 23 20 61 20 67 69 76 65 6e 20 77 r.or.not.to.focus.on.#.a.given.w
ff60 69 6e 64 6f 77 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 31 20 69 66 20 69 74 27 73 20 4f 4b 20 indow...It.returns.1.if.it's.OK.
ff80 74 6f 20 66 6f 63 75 73 20 6f 6e 20 74 68 65 20 77 69 6e 64 6f 77 2c 0d 23 20 30 20 69 66 20 69 to.focus.on.the.window,.#.0.if.i
ffa0 74 27 73 20 6e 6f 74 20 4f 4b 2e 20 20 54 68 65 20 63 6f 64 65 20 66 69 72 73 74 20 63 68 65 63 t's.not.OK...The.code.first.chec
ffc0 6b 73 20 77 68 65 74 68 65 72 20 74 68 65 20 77 69 6e 64 6f 77 20 69 73 0d 23 20 76 69 65 77 61 ks.whether.the.window.is.#.viewa
ffe0 62 6c 65 2e 20 20 49 66 20 6e 6f 74 2c 20 74 68 65 6e 20 69 74 20 6e 65 76 65 72 20 66 6f 63 75 ble...If.not,.then.it.never.focu
10000 73 65 73 20 6f 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 20 20 54 68 65 6e 20 69 74 0d 23 20 63 68 ses.on.the.window...Then.it.#.ch
10020 65 63 6b 73 20 74 68 65 20 2d 74 61 6b 65 66 6f 63 75 73 20 6f 70 74 69 6f 6e 20 66 6f 72 20 74 ecks.the.-takefocus.option.for.t
10040 68 65 20 77 69 6e 64 6f 77 20 61 6e 64 20 75 73 65 73 20 69 74 20 69 66 20 69 74 27 73 0d 23 20 he.window.and.uses.it.if.it's.#.
10060 73 65 74 2e 20 20 49 66 20 74 68 65 72 65 27 73 20 6e 6f 20 2d 74 61 6b 65 66 6f 63 75 73 20 6f set...If.there's.no.-takefocus.o
10080 70 74 69 6f 6e 2c 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 63 68 65 63 6b 73 20 74 6f 0d 23 ption,.the.procedure.checks.to.#
100a0 20 73 65 65 20 69 66 20 28 61 29 20 74 68 65 20 77 69 64 67 65 74 20 69 73 6e 27 74 20 64 69 73 .see.if.(a).the.widget.isn't.dis
100c0 61 62 6c 65 64 2c 20 61 6e 64 20 28 62 29 20 69 74 20 68 61 73 20 73 6f 6d 65 20 6b 65 79 0d 23 abled,.and.(b).it.has.some.key.#
100e0 20 62 69 6e 64 69 6e 67 73 2e 20 20 49 66 20 61 6c 6c 20 6f 66 20 74 68 65 73 65 20 61 72 65 20 .bindings...If.all.of.these.are.
10100 74 72 75 65 2c 20 74 68 65 6e 20 31 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0d 23 0d 23 20 41 72 true,.then.1.is.returned..#.#.Ar
10120 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 guments:.#.w.-..Name.of.a.window
10140 2e 0d 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 4f 4b 20 77 20 7b 0d 20 20 20 20 73 65 74 20 63 6f ...proc.tkFocusOK.w.{.....set.co
10160 64 65 20 5b 63 61 74 63 68 20 7b 24 77 20 63 67 65 74 20 2d 74 61 6b 65 66 6f 63 75 73 7d 20 76 de.[catch.{$w.cget.-takefocus}.v
10180 61 6c 75 65 5d 0d 20 20 20 20 69 66 20 7b 28 24 63 6f 64 65 20 3d 3d 20 30 29 20 26 26 20 28 24 alue].....if.{($code.==.0).&&.($
101a0 76 61 6c 75 65 20 21 3d 20 22 22 29 7d 20 7b 0d 09 69 66 20 7b 24 76 61 6c 75 65 20 3d 3d 20 30 value.!=."")}.{..if.{$value.==.0
101c0 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 30 0d 09 7d 20 65 6c 73 65 69 66 20 7b 24 76 61 }.{......return.0..}.elseif.{$va
101e0 6c 75 65 20 3d 3d 20 31 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 77 69 6e 66 6f 20 76 lue.==.1}.{......return.[winfo.v
10200 69 65 77 61 62 6c 65 20 24 77 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 76 iewable.$w]..}.else.{......set.v
10220 61 6c 75 65 20 5b 75 70 6c 65 76 65 6c 20 23 30 20 24 76 61 6c 75 65 20 5b 6c 69 73 74 20 24 77 alue.[uplevel.#0.$value.[list.$w
10240 5d 5d 0d 09 20 20 20 20 69 66 20 7b 24 76 61 6c 75 65 20 21 3d 20 22 22 7d 20 7b 0d 09 09 72 65 ]]......if.{$value.!=.""}.{...re
10260 74 75 72 6e 20 24 76 61 6c 75 65 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 turn.$value......}..}.....}.....
10280 69 66 20 7b 21 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c 65 20 24 77 5d 7d 20 7b 0d 09 72 65 74 if.{![winfo.viewable.$w]}.{..ret
102a0 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61 74 63 68 20 urn.0.....}.....set.code.[catch.
102c0 7b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 7d 20 76 61 6c 75 65 5d 0d 20 20 20 20 69 66 20 7b {$w.cget.-state}.value].....if.{
102e0 28 24 63 6f 64 65 20 3d 3d 20 30 29 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 76 ($code.==.0).&&.[string.equal.$v
10300 61 6c 75 65 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 0d 20 20 alue."disabled"]}.{..return.0...
10320 20 20 7d 0d 20 20 20 20 72 65 67 65 78 70 20 4b 65 79 7c 46 6f 63 75 73 20 22 5b 62 69 6e 64 20 ..}.....regexp.Key|Focus."[bind.
10340 24 77 5d 20 5b 62 69 6e 64 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 5d 5d 22 0d 7d 0d 0d $w].[bind.[winfo.class.$w]]".}..
10360 23 20 74 6b 5f 66 6f 63 75 73 46 6f 6c 6c 6f 77 73 4d 6f 75 73 65 20 2d 2d 0d 23 0d 23 20 49 66 #.tk_focusFollowsMouse.--.#.#.If
10380 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 2c 20 54 6b 20 77 .this.procedure.is.invoked,.Tk.w
103a0 69 6c 6c 20 65 6e 74 65 72 20 22 66 6f 63 75 73 2d 66 6f 6c 6c 6f 77 73 2d 6d 6f 75 73 65 22 0d ill.enter."focus-follows-mouse".
103c0 23 20 6d 6f 64 65 2c 20 77 68 65 72 65 20 74 68 65 20 66 6f 63 75 73 20 69 73 20 61 6c 77 61 79 #.mode,.where.the.focus.is.alway
103e0 73 20 6f 6e 20 77 68 61 74 65 76 65 72 20 77 69 6e 64 6f 77 20 63 6f 6e 74 61 69 6e 73 20 74 68 s.on.whatever.window.contains.th
10400 65 0d 23 20 6d 6f 75 73 65 2e 20 20 49 66 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 e.#.mouse...If.this.procedure.is
10420 6e 27 74 20 69 6e 76 6f 6b 65 64 2c 20 74 68 65 6e 20 74 68 65 20 75 73 65 72 20 74 79 70 69 63 n't.invoked,.then.the.user.typic
10440 61 6c 6c 79 0d 23 20 68 61 73 20 74 6f 20 63 6c 69 63 6b 20 6f 6e 20 61 20 77 69 6e 64 6f 77 20 ally.#.has.to.click.on.a.window.
10460 74 6f 20 67 69 76 65 20 69 74 20 74 68 65 20 66 6f 63 75 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 to.give.it.the.focus..#.#.Argume
10480 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 5f 66 6f 63 75 73 46 6f 6c 6c 6f nts:.#.None...proc.tk_focusFollo
104a0 77 73 4d 6f 75 73 65 20 7b 7d 20 7b 0d 20 20 20 20 73 65 74 20 6f 6c 64 20 5b 62 69 6e 64 20 61 wsMouse.{}.{.....set.old.[bind.a
104c0 6c 6c 20 3c 45 6e 74 65 72 3e 5d 0d 20 20 20 20 73 65 74 20 73 63 72 69 70 74 20 7b 0d 09 69 66 ll.<Enter>].....set.script.{..if
104e0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 22 25 64 22 20 22 4e 6f 74 69 66 79 41 6e 63 65 .{[string.equal."%d"."NotifyAnce
10500 73 74 6f 72 22 5d 20 5c 0d 09 09 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 22 25 64 22 stor"].\...||.[string.equal."%d"
10520 20 22 4e 6f 74 69 66 79 4e 6f 6e 6c 69 6e 65 61 72 22 5d 20 5c 0d 09 09 7c 7c 20 5b 73 74 72 69 ."NotifyNonlinear"].\...||.[stri
10540 6e 67 20 65 71 75 61 6c 20 22 25 64 22 20 22 4e 6f 74 69 66 79 49 6e 66 65 72 69 6f 72 22 5d 7d ng.equal."%d"."NotifyInferior"]}
10560 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 74 6b 46 6f 63 75 73 4f 4b 20 25 57 5d 7d 20 7b 0d 09 09 .{......if.{[tkFocusOK.%W]}.{...
10580 66 6f 63 75 73 20 25 57 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 focus.%W......}..}.....}.....if.
105a0 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6f 6c 64 20 22 22 5d 7d 20 7b 0d 09 62 69 {[string.compare.$old.""]}.{..bi
105c0 6e 64 20 61 6c 6c 20 3c 45 6e 74 65 72 3e 20 22 24 6f 6c 64 3b 20 24 73 63 72 69 70 74 22 0d 20 nd.all.<Enter>."$old;.$script"..
105e0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 62 69 6e 64 20 61 6c 6c 20 3c 45 6e 74 65 72 3e 20 24 73 ...}.else.{..bind.all.<Enter>.$s
10600 63 72 69 70 74 0d 20 20 20 20 7d 0d 7d 0d 00 00 34 c3 23 20 6c 69 73 74 62 6f 78 2e 74 63 6c 20 cript.....}.}...4.#.listbox.tcl.
10620 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 --.#.#.This.file.defines.the.def
10640 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 6c 69 73 74 62 6f 78 20 77 69 64 ault.bindings.for.Tk.listbox.wid
10660 67 65 74 73 0d 23 20 61 6e 64 20 70 72 6f 76 69 64 65 73 20 70 72 6f 63 65 64 75 72 65 73 20 74 gets.#.and.provides.procedures.t
10680 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 6f 73 65 20 62 hat.help.in.implementing.those.b
106a0 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 6c 69 73 74 indings..#.#.RCS:.@(#).$Id:.list
106c0 62 6f 78 2e 74 63 6c 2c 76 20 31 2e 31 31 20 32 30 30 30 2f 30 33 2f 32 34 20 31 39 3a 33 38 3a box.tcl,v.1.11.2000/03/24.19:38:
106e0 35 37 20 65 72 69 63 6d 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 57.ericm.Exp.$.#.#.Copyright.(c)
10700 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 .1994.The.Regents.of.the.Univers
10720 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 ity.of.California..#.Copyright.(
10740 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 c).1994-1995.Sun.Microsystems,.I
10760 6e 63 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 20 62 79 20 53 63 72 69 nc..#.Copyright.(c).1998.by.Scri
10780 70 74 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 ptics.Corporation..#.#.See.the.f
107a0 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 ile."license.terms".for.informat
107c0 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d ion.on.usage.and.redistribution.
107e0 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 #.of.this.file,.and.for.a.DISCLA
10800 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 0d 23 2d 2d 2d 2d 2d 2d IMER.OF.ALL.WARRANTIES...#------
10820 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10860 2d 2d 2d 2d 0d 23 20 74 6b 50 72 69 76 20 65 6c 65 6d 65 6e 74 73 20 75 73 65 64 20 69 6e 20 74 ----.#.tkPriv.elements.used.in.t
10880 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 20 61 66 74 65 72 49 64 20 2d 09 09 54 6f 6b 65 6e 20 72 his.file:.#.#.afterId.-..Token.r
108a0 65 74 75 72 6e 65 64 20 62 79 20 22 61 66 74 65 72 22 20 66 6f 72 20 61 75 74 6f 73 63 61 6e 6e eturned.by."after".for.autoscann
108c0 69 6e 67 2e 0d 23 20 6c 69 73 74 62 6f 78 50 72 65 76 20 2d 09 09 54 68 65 20 6c 61 73 74 20 65 ing..#.listboxPrev.-..The.last.e
108e0 6c 65 6d 65 6e 74 20 74 6f 20 62 65 20 73 65 6c 65 63 74 65 64 20 6f 72 20 64 65 73 65 6c 65 63 lement.to.be.selected.or.deselec
10900 74 65 64 0d 23 09 09 09 64 75 72 69 6e 67 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 ted.#...during.a.selection.opera
10920 74 69 6f 6e 2e 0d 23 20 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 20 2d 09 41 6c 6c 20 6f tion..#.listboxSelection.-.All.o
10940 66 20 74 68 65 20 69 74 65 6d 73 20 74 68 61 74 20 77 65 72 65 20 73 65 6c 65 63 74 65 64 20 62 f.the.items.that.were.selected.b
10960 65 66 6f 72 65 20 74 68 65 0d 23 09 09 09 63 75 72 72 65 6e 74 20 73 65 6c 65 63 74 69 6f 6e 20 efore.the.#...current.selection.
10980 6f 70 65 72 61 74 69 6f 6e 20 28 73 75 63 68 20 61 73 20 61 20 6d 6f 75 73 65 0d 23 09 09 09 64 operation.(such.as.a.mouse.#...d
109a0 72 61 67 29 20 73 74 61 72 74 65 64 3b 20 20 75 73 65 64 20 74 6f 20 63 61 6e 63 65 6c 20 61 6e rag).started;..used.to.cancel.an
109c0 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .operation..#-------------------
109e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d -----------------------..#------
10a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10a40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10a60 2d 2d 2d 0d 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 ---.#.The.code.below.creates.the
10a80 20 64 65 66 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6c 69 73 74 .default.class.bindings.for.list
10aa0 62 6f 78 65 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d boxes..#------------------------
10ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
10ae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 4e 6f 74 65 3a 20 74 68 65 20 63 -----------------..#.Note:.the.c
10b00 68 65 63 6b 20 66 6f 72 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 25 57 20 62 65 6c 6f 77 20 69 heck.for.existence.of.%W.below.i
10b20 73 20 62 65 63 61 75 73 65 20 74 68 69 73 20 62 69 6e 64 69 6e 67 0d 23 20 69 73 20 73 6f 6d 65 s.because.this.binding.#.is.some
10b40 74 69 6d 65 73 20 69 6e 76 6f 6b 65 64 20 61 66 74 65 72 20 61 20 77 69 6e 64 6f 77 20 68 61 73 times.invoked.after.a.window.has
10b60 20 62 65 65 6e 20 64 65 6c 65 74 65 64 20 28 65 2e 67 2e 20 62 65 63 61 75 73 65 0d 23 20 74 68 .been.deleted.(e.g..because.#.th
10b80 65 72 65 20 69 73 20 61 20 64 6f 75 62 6c 65 2d 63 6c 69 63 6b 20 62 69 6e 64 69 6e 67 20 6f 6e ere.is.a.double-click.binding.on
10ba0 20 74 68 65 20 77 69 64 67 65 74 20 74 68 61 74 20 64 65 6c 65 74 65 73 20 69 74 29 2e 20 20 55 .the.widget.that.deletes.it)...U
10bc0 73 65 72 73 0d 23 20 63 61 6e 20 70 75 74 20 22 62 72 65 61 6b 22 73 20 69 6e 20 74 68 65 69 72 sers.#.can.put."break"s.in.their
10be0 20 62 69 6e 64 69 6e 67 73 20 74 6f 20 61 76 6f 69 64 20 74 68 65 20 65 72 72 6f 72 2c 20 62 75 .bindings.to.avoid.the.error,.bu
10c00 74 20 74 68 69 73 20 63 68 65 63 6b 0d 23 20 6d 61 6b 65 73 20 74 68 61 74 20 75 6e 6e 65 63 65 t.this.check.#.makes.that.unnece
10c20 73 73 61 72 79 2e 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 31 3e 20 7b 0d 20 20 20 20 69 ssary...bind.Listbox.<1>.{.....i
10c40 66 20 7b 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 25 57 5d 7d 20 7b 0d 09 74 6b 4c 69 73 74 62 f.{[winfo.exists.%W]}.{..tkListb
10c60 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 oxBeginSelect.%W.[%W.index.@%x,%
10c80 79 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 49 67 6e 6f 72 65 20 64 6f 75 62 6c 65 20 63 6c 69 63 y].....}.}..#.Ignore.double.clic
10ca0 6b 73 20 73 6f 20 74 68 61 74 20 75 73 65 72 73 20 63 61 6e 20 64 65 66 69 6e 65 20 74 68 65 69 ks.so.that.users.can.define.thei
10cc0 72 20 6f 77 6e 20 62 65 68 61 76 69 6f 72 73 2e 0d 23 20 41 6d 6f 6e 67 20 6f 74 68 65 72 20 74 r.own.behaviors..#.Among.other.t
10ce0 68 69 6e 67 73 2c 20 74 68 69 73 20 70 72 65 76 65 6e 74 73 20 65 72 72 6f 72 73 20 69 66 20 74 hings,.this.prevents.errors.if.t
10d00 68 65 20 75 73 65 72 20 64 65 6c 65 74 65 73 20 74 68 65 0d 23 20 6c 69 73 74 62 6f 78 20 6f 6e he.user.deletes.the.#.listbox.on
10d20 20 61 20 64 6f 75 62 6c 65 20 63 6c 69 63 6b 2e 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c .a.double.click...bind.Listbox.<
10d40 44 6f 75 62 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 23 20 45 6d 70 74 79 20 73 63 72 69 70 74 0d 7d Double-1>.{.....#.Empty.script.}
10d60 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 ..bind.Listbox.<B1-Motion>.{....
10d80 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 .set.tkPriv(x).%x.....set.tkPriv
10da0 28 79 29 20 25 79 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 25 57 20 5b 25 (y).%y.....tkListboxMotion.%W.[%
10dc0 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c W.index.@%x,%y].}.bind.Listbox.<
10de0 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 ButtonRelease-1>.{.....tkCancelR
10e00 65 70 65 61 74 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 40 25 78 2c 25 79 0d 7d 0d 62 epeat.....%W.activate.@%x,%y.}.b
10e20 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 ind.Listbox.<Shift-1>.{.....tkLi
10e40 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 40 25 stboxBeginExtend.%W.[%W.index.@%
10e60 78 2c 25 79 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 31 3e x,%y].}.bind.Listbox.<Control-1>
10e80 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 54 6f 67 67 6c 65 20 25 57 20 5b .{.....tkListboxBeginToggle.%W.[
10ea0 25 57 20 69 6e 64 65 78 20 40 25 78 2c 25 79 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 %W.index.@%x,%y].}.bind.Listbox.
10ec0 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 <B1-Leave>.{.....set.tkPriv(x).%
10ee0 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 79 0d 20 20 20 20 74 6b 4c 69 73 x.....set.tkPriv(y).%y.....tkLis
10f00 74 62 6f 78 41 75 74 6f 53 63 61 6e 20 25 57 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c tboxAutoScan.%W.}.bind.Listbox.<
10f20 42 31 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d B1-Enter>.{.....tkCancelRepeat.}
10f40 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 55 70 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 ..bind.Listbox.<Up>.{.....tkList
10f60 62 6f 78 55 70 44 6f 77 6e 20 25 57 20 2d 31 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c boxUpDown.%W.-1.}.bind.Listbox.<
10f80 53 68 69 66 74 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 Shift-Up>.{.....tkListboxExtendU
10fa0 70 44 6f 77 6e 20 25 57 20 2d 31 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 44 6f 77 6e pDown.%W.-1.}.bind.Listbox.<Down
10fc0 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 25 57 20 31 0d 7d 0d 62 >.{.....tkListboxUpDown.%W.1.}.b
10fe0 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 ind.Listbox.<Shift-Down>.{.....t
11000 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 70 44 6f 77 6e 20 25 57 20 31 0d 7d 0d 62 69 6e 64 kListboxExtendUpDown.%W.1.}.bind
11020 20 4c 69 73 74 62 6f 78 20 3c 4c 65 66 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 .Listbox.<Left>.{.....%W.xview.s
11040 63 72 6f 6c 6c 20 2d 31 20 75 6e 69 74 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 croll.-1.units.}.bind.Listbox.<C
11060 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f ontrol-Left>.{.....%W.xview.scro
11080 6c 6c 20 2d 31 20 70 61 67 65 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 52 69 67 68 ll.-1.pages.}.bind.Listbox.<Righ
110a0 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 75 6e 69 74 73 t>.{.....%W.xview.scroll.1.units
110c0 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 .}.bind.Listbox.<Control-Right>.
110e0 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 73 0d 7d 0d {.....%W.xview.scroll.1.pages.}.
11100 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 25 57 20 79 76 bind.Listbox.<Prior>.{.....%W.yv
11120 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 73 0d 20 20 20 20 25 57 20 61 63 74 69 76 iew.scroll.-1.pages.....%W.activ
11140 61 74 65 20 40 30 2c 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 4e 65 78 74 3e 20 7b ate.@0,0.}.bind.Listbox.<Next>.{
11160 0d 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 73 0d 20 20 20 .....%W.yview.scroll.1.pages....
11180 20 25 57 20 61 63 74 69 76 61 74 65 20 40 30 2c 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 .%W.activate.@0,0.}.bind.Listbox
111a0 20 3c 43 6f 6e 74 72 6f 6c 2d 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 .<Control-Prior>.{.....%W.xview.
111c0 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c scroll.-1.pages.}.bind.Listbox.<
111e0 43 6f 6e 74 72 6f 6c 2d 4e 65 78 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 73 63 72 Control-Next>.{.....%W.xview.scr
11200 6f 6c 6c 20 31 20 70 61 67 65 73 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 48 6f 6d 65 oll.1.pages.}.bind.Listbox.<Home
11220 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 6d 6f 76 65 74 6f 20 30 0d 7d 0d 62 69 6e 64 >.{.....%W.xview.moveto.0.}.bind
11240 20 4c 69 73 74 62 6f 78 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 20 6d 6f .Listbox.<End>.{.....%W.xview.mo
11260 76 65 74 6f 20 31 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 48 veto.1.}.bind.Listbox.<Control-H
11280 6f 6d 65 3e 20 7b 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 30 0d 20 20 20 20 25 57 20 ome>.{.....%W.activate.0.....%W.
112a0 73 65 65 20 30 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 see.0.....%W.selection.clear.0.e
112c0 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 30 0d 20 20 20 20 65 76 nd.....%W.selection.set.0.....ev
112e0 65 6e 74 20 67 65 6e 65 72 61 74 65 20 25 57 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 3e ent.generate.%W.<<ListboxSelect>
11300 3e 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d >.}.bind.Listbox.<Shift-Control-
11320 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 6e 64 20 Home>.{.....tkListboxDataExtend.
11340 25 57 20 30 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 45 6e 64 %W.0.}.bind.Listbox.<Control-End
11360 3e 20 7b 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 20 65 6e 64 0d 20 20 20 20 25 57 20 73 >.{.....%W.activate.end.....%W.s
11380 65 65 20 65 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 ee.end.....%W.selection.clear.0.
113a0 65 6e 64 0d 20 20 20 20 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 65 6e 64 0d 20 20 20 end.....%W.selection.set.end....
113c0 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 25 57 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 .event.generate.%W.<<ListboxSele
113e0 63 74 3e 3e 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 ct>>.}.bind.Listbox.<Shift-Contr
11400 6f 6c 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 6e ol-End>.{.....tkListboxDataExten
11420 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 65 6e 64 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 d.%W.[%W.index.end].}.bind.Listb
11440 6f 78 20 3c 3c 43 6f 70 79 3e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 ox.<<Copy>>.{.....if.{[string.eq
11460 75 61 6c 20 5b 73 65 6c 65 63 74 69 6f 6e 20 6f 77 6e 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 ual.[selection.own.-displayof.%W
11480 5d 20 22 25 57 22 5d 7d 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 ]."%W"]}.{..clipboard.clear.-dis
114a0 70 6c 61 79 6f 66 20 25 57 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 playof.%W..clipboard.append.-dis
114c0 70 6c 61 79 6f 66 20 25 57 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 playof.%W.[selection.get.-displa
114e0 79 6f 66 20 25 57 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 73 70 yof.%W].....}.}.bind.Listbox.<sp
11500 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 ace>.{.....tkListboxBeginSelect.
11520 25 57 20 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 %W.[%W.index.active].}.bind.List
11540 62 6f 78 20 3c 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 box.<Select>.{.....tkListboxBegi
11560 6e 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 nSelect.%W.[%W.index.active].}.b
11580 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 73 70 61 63 65 ind.Listbox.<Control-Shift-space
115a0 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 25 57 20 >.{.....tkListboxBeginExtend.%W.
115c0 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 [%W.index.active].}.bind.Listbox
115e0 20 3c 53 68 69 66 74 2d 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 .<Shift-Select>.{.....tkListboxB
11600 65 67 69 6e 45 78 74 65 6e 64 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d eginExtend.%W.[%W.index.active].
11620 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 45 73 63 61 70 65 3e 20 7b 0d 20 20 20 20 74 6b }.bind.Listbox.<Escape>.{.....tk
11640 4c 69 73 74 62 6f 78 43 61 6e 63 65 6c 20 25 57 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 ListboxCancel.%W.}.bind.Listbox.
11660 3c 43 6f 6e 74 72 6f 6c 2d 73 6c 61 73 68 3e 20 7b 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 53 <Control-slash>.{.....tkListboxS
11680 65 6c 65 63 74 41 6c 6c 20 25 57 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 43 6f 6e 74 electAll.%W.}.bind.Listbox.<Cont
116a0 72 6f 6c 2d 62 61 63 6b 73 6c 61 73 68 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 rol-backslash>.{.....if.{[string
116c0 20 63 6f 6d 70 61 72 65 20 5b 25 57 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 22 .compare.[%W.cget.-selectmode]."
116e0 62 72 6f 77 73 65 22 5d 7d 20 7b 0d 09 25 57 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 browse"]}.{..%W.selection.clear.
11700 30 20 65 6e 64 0d 09 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 25 57 20 3c 3c 4c 69 73 74 62 0.end..event.generate.%W.<<Listb
11720 6f 78 53 65 6c 65 63 74 3e 3e 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 41 64 64 69 74 69 6f 6e 61 6c oxSelect>>.....}.}..#.Additional
11740 20 54 6b 20 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 70 61 72 74 20 6f 66 .Tk.bindings.that.aren't.part.of
11760 20 74 68 65 20 4d 6f 74 69 66 20 6c 6f 6f 6b 20 61 6e 64 20 66 65 65 6c 3a 0d 0d 62 69 6e 64 20 .the.Motif.look.and.feel:..bind.
11780 4c 69 73 74 62 6f 78 20 3c 32 3e 20 7b 0d 20 20 20 20 25 57 20 73 63 61 6e 20 6d 61 72 6b 20 25 Listbox.<2>.{.....%W.scan.mark.%
117a0 78 20 25 79 0d 7d 0d 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 x.%y.}.bind.Listbox.<B2-Motion>.
117c0 7b 0d 20 20 20 20 25 57 20 73 63 61 6e 20 64 72 61 67 74 6f 20 25 78 20 25 79 0d 7d 0d 0d 23 20 {.....%W.scan.dragto.%x.%y.}..#.
117e0 54 68 65 20 4d 6f 75 73 65 57 68 65 65 6c 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 6f 6e The.MouseWheel.will.typically.on
11800 6c 79 20 66 69 72 65 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 20 20 48 6f 77 65 76 65 72 2c 0d 23 20 ly.fire.on.Windows...However,.#.
11820 73 6f 6d 65 6f 6e 65 20 63 6f 75 6c 64 20 75 73 65 20 74 68 65 20 22 65 76 65 6e 74 20 67 65 6e someone.could.use.the."event.gen
11840 65 72 61 74 65 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 70 72 6f 64 75 63 65 20 6f 6e 65 0d 23 20 erate".command.to.produce.one.#.
11860 6f 6e 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 2e 0d 0d 62 69 6e 64 20 4c 69 73 74 62 6f on.other.platforms...bind.Listbo
11880 78 20 3c 4d 6f 75 73 65 57 68 65 65 6c 3e 20 7b 0d 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 x.<MouseWheel>.{.....%W.yview.sc
118a0 72 6f 6c 6c 20 5b 65 78 70 72 20 7b 2d 20 28 25 44 20 2f 20 31 32 30 29 20 2a 20 34 7d 5d 20 75 roll.[expr.{-.(%D./.120).*.4}].u
118c0 6e 69 74 73 0d 7d 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 22 75 6e 69 78 22 nits.}..if.{[string.equal."unix"
118e0 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 20 20 20 .$tcl_platform(platform)]}.{....
11900 20 23 20 53 75 70 70 6f 72 74 20 66 6f 72 20 6d 6f 75 73 65 77 68 65 65 6c 73 20 6f 6e 20 4c 69 .#.Support.for.mousewheels.on.Li
11920 6e 75 78 2f 55 6e 69 78 20 63 6f 6d 6d 6f 6e 6c 79 20 63 6f 6d 65 73 20 74 68 72 6f 75 67 68 20 nux/Unix.commonly.comes.through.
11940 6d 61 70 70 69 6e 67 0d 20 20 20 20 23 20 74 68 65 20 77 68 65 65 6c 20 74 6f 20 74 68 65 20 65 mapping.....#.the.wheel.to.the.e
11960 78 74 65 6e 64 65 64 20 62 75 74 74 6f 6e 73 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 xtended.buttons...If.you.have.a.
11980 6d 6f 75 73 65 77 68 65 65 6c 2c 20 66 69 6e 64 0d 20 20 20 20 23 20 4c 69 6e 75 78 20 63 6f 6e mousewheel,.find.....#.Linux.con
119a0 66 69 67 75 72 61 74 69 6f 6e 20 69 6e 66 6f 20 61 74 3a 0d 20 20 20 20 23 09 68 74 74 70 3a 2f figuration.info.at:.....#.http:/
119c0 2f 77 77 77 2e 69 6e 72 69 61 2e 66 72 2f 6b 6f 61 6c 61 2f 63 6f 6c 61 73 2f 6d 6f 75 73 65 2d /www.inria.fr/koala/colas/mouse-
119e0 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2f 0d 20 20 20 20 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c wheel-scroll/.....bind.Listbox.<
11a00 34 3e 20 7b 0d 09 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 4>.{..if.{!$tk_strictMotif}.{...
11a20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 35 20 75 6e 69 74 73 0d 09 7d 0d 20 ...%W.yview.scroll.-5.units..}..
11a40 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 4c 69 73 74 62 6f 78 20 3c 35 3e 20 7b 0d 09 69 66 20 ...}.....bind.Listbox.<5>.{..if.
11a60 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 25 57 20 79 76 69 {!$tk_strictMotif}.{......%W.yvi
11a80 65 77 20 73 63 72 6f 6c 6c 20 35 20 75 6e 69 74 73 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 ew.scroll.5.units..}.....}.}..#.
11aa0 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 2d 2d 0d 23 0d 23 20 54 68 69 73 tkListboxBeginSelect.--.#.#.This
11ac0 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b 65 64 20 .procedure.is.typically.invoked.
11ae0 6f 6e 20 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 49 74 20 62 65 67 69 6e 73 0d on.button-1.presses...It.begins.
11b00 23 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 6d 61 6b 69 6e 67 20 61 20 73 65 6c 65 63 74 #.the.process.of.making.a.select
11b20 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e 20 20 49 74 73 20 65 78 61 63 74 20 62 ion.in.the.listbox...Its.exact.b
11b40 65 68 61 76 69 6f 72 0d 23 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 74 69 ehavior.#.depends.on.the.selecti
11b60 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 65 66 66 65 63 74 20 66 6f 72 20 on.mode.currently.in.effect.for.
11b80 74 68 65 20 6c 69 73 74 62 6f 78 3b 0d 23 20 73 65 65 20 74 68 65 20 4d 6f 74 69 66 20 64 6f 63 the.listbox;.#.see.the.Motif.doc
11ba0 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d 23 0d 23 20 41 72 67 75 umentation.for.details..#.#.Argu
11bc0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 ments:.#.w.-..The.listbox.widget
11be0 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 73 65 ..#.el.-..The.element.for.the.se
11c00 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 74 79 70 69 63 61 6c 6c 79 20 74 68 65 lection.operation.(typically.the
11c20 0d 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 70 6f 69 6e 74 65 72 29 2e 20 20 4d 75 73 .#..one.under.the.pointer)...Mus
11c40 74 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 66 6f 72 6d 2e 0d 0d 70 72 6f 63 20 74 6b t.be.in.numerical.form...proc.tk
11c60 4c 69 73 74 62 6f 78 42 65 67 69 6e 53 65 6c 65 63 74 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 ListboxBeginSelect.{w.el}.{.....
11c80 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 global.tkPriv.....if.{[string.eq
11ca0 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 22 6d 75 6c 74 69 ual.[$w.cget.-selectmode]."multi
11cc0 70 6c 65 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c ple"]}.{..if.{[$w.selection.incl
11ce0 75 64 65 73 20 24 65 6c 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 udes.$el]}.{......$w.selection.c
11d00 6c 65 61 72 20 24 65 6c 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 lear.$el..}.else.{......$w.selec
11d20 74 69 6f 6e 20 73 65 74 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 tion.set.$el..}.....}.else.{..$w
11d40 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 24 77 20 73 65 6c 65 63 .selection.clear.0.end..$w.selec
11d60 74 69 6f 6e 20 73 65 74 20 24 65 6c 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f tion.set.$el..$w.selection.ancho
11d80 72 20 24 65 6c 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 r.$el..set.tkPriv(listboxSelecti
11da0 6f 6e 29 20 7b 7d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 on).{}..set.tkPriv(listboxPrev).
11dc0 24 65 6c 0d 20 20 20 20 7d 0d 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 $el.....}.....event.generate.$w.
11de0 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 <<ListboxSelect>>.}..#.tkListbox
11e00 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 Motion.--.#.#.This.procedure.is.
11e20 63 61 6c 6c 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 65 called.to.process.mouse.motion.e
11e40 76 65 6e 74 73 20 77 68 69 6c 65 0d 23 20 62 75 74 74 6f 6e 20 31 20 69 73 20 64 6f 77 6e 2e 20 vents.while.#.button.1.is.down..
11e60 20 49 74 20 6d 61 79 20 6d 6f 76 65 20 6f 72 20 65 78 74 65 6e 64 20 74 68 65 20 73 65 6c 65 63 .It.may.move.or.extend.the.selec
11e80 74 69 6f 6e 2c 20 64 65 70 65 6e 64 69 6e 67 0d 23 20 6f 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 tion,.depending.#.on.the.listbox
11ea0 27 73 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 's.selection.mode..#.#.Arguments
11ec0 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 20 65 :.#.w.-..The.listbox.widget..#.e
11ee0 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 70 6f 69 6e 74 l.-..The.element.under.the.point
11f00 65 72 20 28 6d 75 73 74 20 62 65 20 61 20 6e 75 6d 62 65 72 29 2e 0d 0d 70 72 6f 63 20 74 6b 4c er.(must.be.a.number)...proc.tkL
11f20 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c istboxMotion.{w.el}.{.....global
11f40 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 24 65 6c 20 3d 3d 20 24 74 6b 50 72 69 76 28 6c .tkPriv.....if.{$el.==.$tkPriv(l
11f60 69 73 74 62 6f 78 50 72 65 76 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 istboxPrev)}.{..return.....}....
11f80 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 .set.anchor.[$w.index.anchor]...
11fa0 20 20 73 77 69 74 63 68 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 7b ..switch.[$w.cget.-selectmode].{
11fc0 0d 09 62 72 6f 77 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 ..browse.{......$w.selection.cle
11fe0 61 72 20 30 20 65 6e 64 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 ar.0.end......$w.selection.set.$
12000 65 6c 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 el......set.tkPriv(listboxPrev).
12020 24 65 6c 0d 09 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4c 69 73 $el......event.generate.$w.<<Lis
12040 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 09 7d 0d 09 65 78 74 65 6e 64 65 64 20 7b 0d 09 20 20 20 tboxSelect>>..}..extended.{.....
12060 20 73 65 74 20 69 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 0d 09 20 20 20 .set.i.$tkPriv(listboxPrev).....
12080 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 7b 7d 20 24 69 5d 7d 20 7b 0d 09 09 73 .if.{[string.equal.{}.$i]}.{...s
120a0 65 74 20 69 20 24 65 6c 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 65 6c 0d et.i.$el...$w.selection.set.$el.
120c0 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e .....}......if.{[$w.selection.in
120e0 63 6c 75 64 65 73 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e cludes.anchor]}.{...$w.selection
12100 20 63 6c 65 61 72 20 24 69 20 24 65 6c 0d 09 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 .clear.$i.$el...$w.selection.set
12120 20 61 6e 63 68 6f 72 20 24 65 6c 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 24 77 20 73 .anchor.$el......}.else.{...$w.s
12140 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 69 20 24 65 6c 0d 09 09 24 77 20 73 65 6c 65 63 election.clear.$i.$el...$w.selec
12160 74 69 6f 6e 20 63 6c 65 61 72 20 61 6e 63 68 6f 72 20 24 65 6c 0d 09 20 20 20 20 7d 0d 09 20 20 tion.clear.anchor.$el......}....
12180 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 6c 69 73 74 62 ..if.{![info.exists.tkPriv(listb
121a0 6f 78 53 65 6c 65 63 74 69 6f 6e 29 5d 7d 20 7b 0d 09 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 oxSelection)]}.{...set.tkPriv(li
121c0 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 5b 24 77 20 63 75 72 73 65 6c 65 63 74 69 6f 6e stboxSelection).[$w.curselection
121e0 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 28 24 69 20 3c 20 24 65 6c 29 20 ]......}......while.{($i.<.$el).
12200 26 26 20 28 24 69 20 3c 20 24 61 6e 63 68 6f 72 29 7d 20 7b 0d 09 09 69 66 20 7b 5b 6c 73 65 61 &&.($i.<.$anchor)}.{...if.{[lsea
12220 72 63 68 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 24 69 rch.$tkPriv(listboxSelection).$i
12240 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 ].>=.0}.{.......$w.selection.set
12260 20 24 69 0d 09 09 7d 0d 09 09 69 6e 63 72 20 69 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 77 68 69 .$i...}...incr.i......}......whi
12280 6c 65 20 7b 28 24 69 20 3e 20 24 65 6c 29 20 26 26 20 28 24 69 20 3e 20 24 61 6e 63 68 6f 72 29 le.{($i.>.$el).&&.($i.>.$anchor)
122a0 7d 20 7b 0d 09 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 }.{...if.{[lsearch.$tkPriv(listb
122c0 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 24 69 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 20 20 20 20 24 oxSelection).$i].>=.0}.{.......$
122e0 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 69 0d 09 09 7d 0d 09 09 69 6e 63 72 20 69 20 w.selection.set.$i...}...incr.i.
12300 2d 31 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f -1......}......set.tkPriv(listbo
12320 78 50 72 65 76 29 20 24 65 6c 0d 09 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 xPrev).$el......event.generate.$
12340 77 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d w.<<ListboxSelect>>..}.....}.}..
12360 23 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 2d 2d 0d 23 0d 23 20 54 68 #.tkListboxBeginExtend.--.#.#.Th
12380 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b 65 is.procedure.is.typically.invoke
123a0 64 20 6f 6e 20 73 68 69 66 74 2d 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 49 74 d.on.shift-button-1.presses...It
123c0 0d 23 20 62 65 67 69 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 65 78 74 65 6e 64 69 .#.begins.the.process.of.extendi
123e0 6e 67 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e 20 20 ng.a.selection.in.the.listbox...
12400 49 74 73 0d 23 20 65 78 61 63 74 20 62 65 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 20 Its.#.exact.behavior.depends.on.
12420 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 the.selection.mode.currently.in.
12440 65 66 66 65 63 74 0d 23 20 66 6f 72 20 74 68 65 20 6c 69 73 74 62 6f 78 3b 20 20 73 65 65 20 74 effect.#.for.the.listbox;..see.t
12460 68 65 20 4d 6f 74 69 66 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 he.Motif.documentation.for.detai
12480 6c 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 ls..#.#.Arguments:.#.w.-..The.li
124a0 73 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e stbox.widget..#.el.-..The.elemen
124c0 74 20 66 6f 72 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 74 t.for.the.selection.operation.(t
124e0 79 70 69 63 61 6c 6c 79 20 74 68 65 0d 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 70 6f ypically.the.#..one.under.the.po
12500 69 6e 74 65 72 29 2e 20 20 4d 75 73 74 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 66 6f inter)...Must.be.in.numerical.fo
12520 72 6d 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 45 78 74 65 6e 64 20 7b rm...proc.tkListboxBeginExtend.{
12540 77 20 65 6c 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 w.el}.{.....if.{[string.equal.[$
12560 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 22 65 78 74 65 6e 64 65 64 22 5d 7d w.cget.-selectmode]."extended"]}
12580 20 7b 0d 09 69 66 20 7b 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 61 .{..if.{[$w.selection.includes.a
125a0 6e 63 68 6f 72 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 nchor]}.{......tkListboxMotion.$
125c0 77 20 24 65 6c 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 4e 6f 20 73 65 6c 65 63 74 w.$el..}.else.{......#.No.select
125e0 69 6f 6e 20 79 65 74 3b 20 73 69 6d 75 6c 61 74 65 20 74 68 65 20 62 65 67 69 6e 2d 73 65 6c 65 ion.yet;.simulate.the.begin-sele
12600 63 74 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 09 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 ct.operation.......tkListboxBegi
12620 6e 53 65 6c 65 63 74 20 24 77 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c nSelect.$w.$el..}.....}.}..#.tkL
12640 69 73 74 62 6f 78 42 65 67 69 6e 54 6f 67 67 6c 65 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 istboxBeginToggle.--.#.#.This.pr
12660 6f 63 65 64 75 72 65 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 69 6e 76 6f 6b 65 64 20 6f 6e 20 ocedure.is.typically.invoked.on.
12680 63 6f 6e 74 72 6f 6c 2d 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 2e 20 20 49 74 0d 23 20 control-button-1.presses...It.#.
126a0 62 65 67 69 6e 73 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 74 6f 67 67 6c 69 6e 67 20 61 begins.the.process.of.toggling.a
126c0 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 6c 69 73 74 62 6f 78 2e 20 20 49 74 73 0d .selection.in.the.listbox...Its.
126e0 23 20 65 78 61 63 74 20 62 65 68 61 76 69 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 #.exact.behavior.depends.on.the.
12700 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 63 75 72 72 65 6e 74 6c 79 20 69 6e 20 65 66 66 65 selection.mode.currently.in.effe
12720 63 74 0d 23 20 66 6f 72 20 74 68 65 20 6c 69 73 74 62 6f 78 3b 20 20 73 65 65 20 74 68 65 20 4d ct.#.for.the.listbox;..see.the.M
12740 6f 74 69 66 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0d otif.documentation.for.details..
12760 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f #.#.Arguments:.#.w.-..The.listbo
12780 78 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 20 2d 09 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 66 6f x.widget..#.el.-..The.element.fo
127a0 72 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 28 74 79 70 69 63 r.the.selection.operation.(typic
127c0 61 6c 6c 79 20 74 68 65 0d 23 09 09 6f 6e 65 20 75 6e 64 65 72 20 74 68 65 20 70 6f 69 6e 74 65 ally.the.#..one.under.the.pointe
127e0 72 29 2e 20 20 4d 75 73 74 20 62 65 20 69 6e 20 6e 75 6d 65 72 69 63 61 6c 20 66 6f 72 6d 2e 0d r)...Must.be.in.numerical.form..
12800 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 42 65 67 69 6e 54 6f 67 67 6c 65 20 7b 77 20 65 6c .proc.tkListboxBeginToggle.{w.el
12820 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 }.{.....global.tkPriv.....if.{[s
12840 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 tring.equal.[$w.cget.-selectmode
12860 5d 20 22 65 78 74 65 6e 64 65 64 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 ]."extended"]}.{..set.tkPriv(lis
12880 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 5b 24 77 20 63 75 72 73 65 6c 65 63 74 69 6f 6e 5d tboxSelection).[$w.curselection]
128a0 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 24 65 6c 0d 09 24 ..set.tkPriv(listboxPrev).$el..$
128c0 77 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 20 24 65 6c 0d 09 69 66 20 7b 5b 24 77 20 w.selection.anchor.$el..if.{[$w.
128e0 73 65 6c 65 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 24 65 6c 5d 7d 20 7b 0d 09 20 20 20 20 selection.includes.$el]}.{......
12900 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 65 6c 0d 09 7d 20 65 6c 73 65 20 7b $w.selection.clear.$el..}.else.{
12920 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 65 6c 0d 09 7d 0d 09 65 ......$w.selection.set.$el..}..e
12940 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 vent.generate.$w.<<ListboxSelect
12960 3e 3e 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 63 61 6e 20 >>.....}.}..#.tkListboxAutoScan.
12980 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 --.#.This.procedure.is.invoked.w
129a0 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 65 73 20 61 6e 20 65 6e 74 72 79 20 77 69 hen.the.mouse.leaves.an.entry.wi
129c0 6e 64 6f 77 0d 23 20 77 69 74 68 20 62 75 74 74 6f 6e 20 31 20 64 6f 77 6e 2e 20 20 49 74 20 73 ndow.#.with.button.1.down...It.s
129e0 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 75 70 2c 20 64 6f 77 6e 2c 20 6c 65 66 74 crolls.the.window.up,.down,.left
12a00 2c 20 6f 72 0d 23 20 72 69 67 68 74 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 ,.or.#.right,.depending.on.where
12a20 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 66 74 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 61 6e 64 20 .the.mouse.left.the.window,.and.
12a40 72 65 73 63 68 65 64 75 6c 65 73 0d 23 20 69 74 73 65 6c 66 20 61 73 20 61 6e 20 22 61 66 74 65 reschedules.#.itself.as.an."afte
12a60 72 22 20 63 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 63 6f r".command.so.that.the.window.co
12a80 6e 74 69 6e 75 65 73 20 74 6f 20 73 63 72 6f 6c 6c 20 75 6e 74 69 6c 0d 23 20 74 68 65 20 6d 6f ntinues.to.scroll.until.#.the.mo
12aa0 75 73 65 20 6d 6f 76 65 73 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 6f use.moves.back.into.the.window.o
12ac0 72 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e 0d r.the.mouse.button.is.released..
12ae0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 65 6e 74 72 79 20 #.#.Arguments:.#.w.-..The.entry.
12b00 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 63 61 6e 20 window...proc.tkListboxAutoScan.
12b20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b {w}.{.....global.tkPriv.....if.{
12b40 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 73 ![winfo.exists.$w]}.return.....s
12b60 65 74 20 78 20 24 74 6b 50 72 69 76 28 78 29 0d 20 20 20 20 73 65 74 20 79 20 24 74 6b 50 72 69 et.x.$tkPriv(x).....set.y.$tkPri
12b80 76 28 79 29 0d 20 20 20 20 69 66 20 7b 24 79 20 3e 3d 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 v(y).....if.{$y.>=.[winfo.height
12ba0 20 24 77 5d 7d 20 7b 0d 09 24 77 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 31 20 75 6e 69 74 73 .$w]}.{..$w.yview.scroll.1.units
12bc0 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 79 20 3c 20 30 7d 20 7b 0d 09 24 77 20 79 76 69 .....}.elseif.{$y.<.0}.{..$w.yvi
12be0 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 ew.scroll.-1.units.....}.elseif.
12c00 7b 24 78 20 3e 3d 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 24 77 20 78 {$x.>=.[winfo.width.$w]}.{..$w.x
12c20 76 69 65 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 view.scroll.2.units.....}.elseif
12c40 20 7b 24 78 20 3c 20 30 7d 20 7b 0d 09 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 32 20 .{$x.<.0}.{..$w.xview.scroll.-2.
12c60 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d units.....}.else.{..return.....}
12c80 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 5b 24 77 20 69 6e 64 65 .....tkListboxMotion.$w.[$w.inde
12ca0 78 20 40 24 78 2c 24 79 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 x.@$x,$y].....set.tkPriv(afterId
12cc0 29 20 5b 61 66 74 65 72 20 35 30 20 5b 6c 69 73 74 20 74 6b 4c 69 73 74 62 6f 78 41 75 74 6f 53 ).[after.50.[list.tkListboxAutoS
12ce0 63 61 6e 20 24 77 5d 5d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 2d 2d can.$w]].}..#.tkListboxUpDown.--
12d00 0d 23 0d 23 20 4d 6f 76 65 73 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 75 72 73 6f 72 20 28 .#.#.Moves.the.location.cursor.(
12d20 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 29 20 75 70 20 6f 72 20 64 6f 77 6e 20 62 79 20 6f 6e active.element).up.or.down.by.on
12d40 65 20 65 6c 65 6d 65 6e 74 2c 0d 23 20 61 6e 64 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 65 6c e.element,.#.and.changes.the.sel
12d60 65 63 74 69 6f 6e 20 69 66 20 77 65 27 72 65 20 69 6e 20 62 72 6f 77 73 65 20 6f 72 20 65 78 74 ection.if.we're.in.browse.or.ext
12d80 65 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e 0d 23 20 6d 6f 64 65 2e 0d 23 0d 23 20 41 72 67 75 ended.selection.#.mode..#.#.Argu
12da0 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 ments:.#.w.-..The.listbox.widget
12dc0 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 2b 31 20 74 6f 20 6d 6f 76 65 20 64 6f 77 6e 20 6f 6e 65 ..#.amount.-.+1.to.move.down.one
12de0 20 69 74 65 6d 2c 20 2d 31 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b 20 6f 6e 65 20 69 74 65 6d 2e .item,.-1.to.move.back.one.item.
12e00 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 55 70 44 6f 77 6e 20 7b 77 20 61 6d 6f 75 6e 74 ..proc.tkListboxUpDown.{w.amount
12e20 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 24 77 20 61 63 74 }.{.....global.tkPriv.....$w.act
12e40 69 76 61 74 65 20 5b 65 78 70 72 20 7b 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 2b ivate.[expr.{[$w.index.active].+
12e60 20 24 61 6d 6f 75 6e 74 7d 5d 0d 20 20 20 20 24 77 20 73 65 65 20 61 63 74 69 76 65 0d 20 20 20 .$amount}].....$w.see.active....
12e80 20 73 77 69 74 63 68 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 7b 0d .switch.[$w.cget.-selectmode].{.
12ea0 09 62 72 6f 77 73 65 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 .browse.{......$w.selection.clea
12ec0 72 20 30 20 65 6e 64 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 61 63 r.0.end......$w.selection.set.ac
12ee0 74 69 76 65 0d 09 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4c 69 tive......event.generate.$w.<<Li
12f00 73 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 09 7d 0d 09 65 78 74 65 6e 64 65 64 20 7b 0d 09 20 20 stboxSelect>>..}..extended.{....
12f20 20 20 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 30 20 65 6e 64 0d 09 20 20 20 20 ..$w.selection.clear.0.end......
12f40 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 61 63 74 69 76 65 0d 09 20 20 20 20 24 77 20 $w.selection.set.active......$w.
12f60 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 20 61 63 74 69 76 65 0d 09 20 20 20 20 73 65 74 selection.anchor.active......set
12f80 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 72 65 76 29 20 5b 24 77 20 69 6e 64 65 78 20 61 .tkPriv(listboxPrev).[$w.index.a
12fa0 63 74 69 76 65 5d 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 ctive]......set.tkPriv(listboxSe
12fc0 6c 65 63 74 69 6f 6e 29 20 7b 7d 0d 09 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 lection).{}......event.generate.
12fe0 24 77 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d $w.<<ListboxSelect>>..}.....}.}.
13000 0d 23 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 70 44 6f 77 6e 20 2d 2d 0d 23 0d 23 20 .#.tkListboxExtendUpDown.--.#.#.
13020 44 6f 65 73 20 6e 6f 74 68 69 6e 67 20 75 6e 6c 65 73 73 20 77 65 27 72 65 20 69 6e 20 65 78 74 Does.nothing.unless.we're.in.ext
13040 65 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 3b 20 20 69 6e 20 74 68 69 73 0d 23 ended.selection.mode;..in.this.#
13060 20 63 61 73 65 20 69 74 20 6d 6f 76 65 73 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 75 72 73 .case.it.moves.the.location.curs
13080 6f 72 20 28 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 29 20 75 70 20 6f 72 20 64 6f 77 6e 20 62 or.(active.element).up.or.down.b
130a0 79 0d 23 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 2c 20 61 6e 64 20 65 78 74 65 6e 64 73 20 74 68 65 y.#.one.element,.and.extends.the
130c0 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 61 74 20 70 6f 69 6e 74 2e 0d 23 0d 23 20 41 72 .selection.to.that.point..#.#.Ar
130e0 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 guments:.#.w.-..The.listbox.widg
13100 65 74 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 2b 31 20 74 6f 20 6d 6f 76 65 20 64 6f 77 6e 20 6f et..#.amount.-.+1.to.move.down.o
13120 6e 65 20 69 74 65 6d 2c 20 2d 31 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b 20 6f 6e 65 20 69 74 65 ne.item,.-1.to.move.back.one.ite
13140 6d 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 45 78 74 65 6e 64 55 70 44 6f 77 6e 20 7b m...proc.tkListboxExtendUpDown.{
13160 77 20 61 6d 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 w.amount}.{.....if.{[string.comp
13180 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 20 22 65 78 74 65 6e are.[$w.cget.-selectmode]."exten
131a0 64 65 64 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 ded"]}.{..return.....}.....set.a
131c0 63 74 69 76 65 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 20 20 20 20 69 66 20 7b ctive.[$w.index.active].....if.{
131e0 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 ![info.exists.tkPriv(listboxSele
13200 63 74 69 6f 6e 29 5d 7d 20 7b 0d 09 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 09 24 77 20 73 65 ction)]}.{..global.tkPriv..$w.se
13220 6c 65 63 74 69 6f 6e 20 73 65 74 20 24 61 63 74 69 76 65 0d 09 73 65 74 20 74 6b 50 72 69 76 28 lection.set.$active..set.tkPriv(
13240 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 5b 24 77 20 63 75 72 73 65 6c 65 63 74 69 listboxSelection).[$w.curselecti
13260 6f 6e 5d 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 61 63 74 69 76 61 74 65 20 5b 65 78 70 72 20 on].....}.....$w.activate.[expr.
13280 7b 24 61 63 74 69 76 65 20 2b 20 24 61 6d 6f 75 6e 74 7d 5d 0d 20 20 20 20 24 77 20 73 65 65 20 {$active.+.$amount}].....$w.see.
132a0 61 63 74 69 76 65 0d 20 20 20 20 74 6b 4c 69 73 74 62 6f 78 4d 6f 74 69 6f 6e 20 24 77 20 5b 24 active.....tkListboxMotion.$w.[$
132c0 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 44 61 w.index.active].}..#.tkListboxDa
132e0 74 61 45 78 74 65 6e 64 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 taExtend.#.#.This.procedure.is.c
13300 61 6c 6c 65 64 20 66 6f 72 20 6b 65 79 2d 70 72 65 73 73 65 73 20 73 75 63 68 20 61 73 20 53 68 alled.for.key-presses.such.as.Sh
13320 69 66 74 2d 4b 45 6e 64 44 61 74 61 2e 0d 23 20 49 66 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e ift-KEndData..#.If.the.selection
13340 20 6d 6f 64 65 20 69 73 6e 27 74 20 6d 75 6c 74 69 70 6c 65 20 6f 72 20 65 78 74 65 6e 64 20 74 .mode.isn't.multiple.or.extend.t
13360 68 65 6e 20 69 74 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 hen.it.does.nothing..#.Otherwise
13380 20 69 74 20 6d 6f 76 65 73 20 74 68 65 20 61 63 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 74 6f 20 .it.moves.the.active.element.to.
133a0 65 6c 20 61 6e 64 2c 20 69 66 20 77 65 27 72 65 20 69 6e 0d 23 20 65 78 74 65 6e 64 65 64 20 6d el.and,.if.we're.in.#.extended.m
133c0 6f 64 65 2c 20 65 78 74 65 6e 64 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 68 ode,.extends.the.selection.to.th
133e0 61 74 20 70 6f 69 6e 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 at.point..#.#.Arguments:.#.w.-..
13400 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 20 2d 09 09 41 6e 20 69 The.listbox.widget..#.el.-..An.i
13420 6e 74 65 67 65 72 20 65 6c 65 6d 65 6e 74 20 6e 75 6d 62 65 72 2e 0d 0d 70 72 6f 63 20 74 6b 4c nteger.element.number...proc.tkL
13440 69 73 74 62 6f 78 44 61 74 61 45 78 74 65 6e 64 20 7b 77 20 65 6c 7d 20 7b 0d 20 20 20 20 73 65 istboxDataExtend.{w.el}.{.....se
13460 74 20 6d 6f 64 65 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 65 5d 0d 20 20 20 t.mode.[$w.cget.-selectmode]....
13480 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 6f 64 65 20 22 65 78 74 65 6e 64 .if.{[string.equal.$mode."extend
134a0 65 64 22 5d 7d 20 7b 0d 09 24 77 20 61 63 74 69 76 61 74 65 20 24 65 6c 0d 09 24 77 20 73 65 65 ed"]}.{..$w.activate.$el..$w.see
134c0 20 24 65 6c 0d 20 20 20 20 20 20 20 20 69 66 20 7b 5b 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 69 .$el.........if.{[$w.selection.i
134e0 6e 63 6c 75 64 65 73 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 4c 69 73 74 62 6f ncludes.anchor]}.{......tkListbo
13500 78 4d 6f 74 69 6f 6e 20 24 77 20 24 65 6c 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b xMotion.$w.$el..}.....}.elseif.{
13520 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 6f 64 65 20 22 6d 75 6c 74 69 70 6c 65 22 5d 7d [string.equal.$mode."multiple"]}
13540 20 7b 0d 09 24 77 20 61 63 74 69 76 61 74 65 20 24 65 6c 0d 09 24 77 20 73 65 65 20 24 65 6c 0d .{..$w.activate.$el..$w.see.$el.
13560 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 43 61 6e 63 65 6c 0d 23 0d 23 20 54 ....}.}..#.tkListboxCancel.#.#.T
13580 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 63 61 6e 63 his.procedure.is.invoked.to.canc
135a0 65 6c 20 61 6e 20 65 78 74 65 6e 64 65 64 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 0d 23 20 70 72 el.an.extended.selection.in.#.pr
135c0 6f 67 72 65 73 73 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 78 74 65 6e 64 65 64 ogress...If.there.is.an.extended
135e0 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 69 74 0d 23 20 72 65 73 .selection.in.progress,.it.#.res
13600 74 6f 72 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 69 74 65 6d 73 20 62 65 74 77 65 65 6e 20 74 tores.all.of.the.items.between.t
13620 68 65 20 61 63 74 69 76 65 20 6f 6e 65 20 61 6e 64 20 74 68 65 20 61 6e 63 68 6f 72 0d 23 20 74 he.active.one.and.the.anchor.#.t
13640 6f 20 74 68 65 69 72 20 70 72 65 76 69 6f 75 73 20 73 65 6c 65 63 74 69 6f 6e 20 73 74 61 74 65 o.their.previous.selection.state
13660 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 ..#.#.Arguments:.#.w.-..The.list
13680 62 6f 78 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 43 61 6e 63 65 box.widget...proc.tkListboxCance
136a0 6c 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b l.w.{.....global.tkPriv.....if.{
136c0 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 [string.compare.[$w.cget.-select
136e0 6d 6f 64 65 5d 20 22 65 78 74 65 6e 64 65 64 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 mode]."extended"]}.{..return....
13700 20 7d 0d 20 20 20 20 73 65 74 20 66 69 72 73 74 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f .}.....set.first.[$w.index.ancho
13720 72 5d 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 50 r].....set.last.$tkPriv(listboxP
13740 72 65 76 29 0d 20 20 20 20 69 66 20 7b 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6c 61 73 rev).....if.{.[string.equal.$las
13760 74 20 22 22 5d 20 7d 20 7b 0d 09 23 20 4e 6f 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 69 6e 67 20 t.""].}.{..#.Not.actually.doing.
13780 61 6e 79 20 73 65 6c 65 63 74 69 6f 6e 20 72 69 67 68 74 20 6e 6f 77 0d 09 72 65 74 75 72 6e 0d any.selection.right.now..return.
137a0 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 66 69 72 73 74 20 3e 20 24 6c 61 73 74 7d 20 7b 0d ....}.....if.{$first.>.$last}.{.
137c0 09 73 65 74 20 74 6d 70 20 24 66 69 72 73 74 0d 09 73 65 74 20 66 69 72 73 74 20 24 6c 61 73 74 .set.tmp.$first..set.first.$last
137e0 0d 09 73 65 74 20 6c 61 73 74 20 24 74 6d 70 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 73 65 6c ..set.last.$tmp.....}.....$w.sel
13800 65 63 74 69 6f 6e 20 63 6c 65 61 72 20 24 66 69 72 73 74 20 24 6c 61 73 74 0d 20 20 20 20 77 68 ection.clear.$first.$last.....wh
13820 69 6c 65 20 7b 24 66 69 72 73 74 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 0d 09 69 66 20 7b 5b 6c 73 ile.{$first.<=.$last}.{..if.{[ls
13840 65 61 72 63 68 20 24 74 6b 50 72 69 76 28 6c 69 73 74 62 6f 78 53 65 6c 65 63 74 69 6f 6e 29 20 earch.$tkPriv(listboxSelection).
13860 24 66 69 72 73 74 5d 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 24 77 20 73 65 6c 65 63 74 69 6f $first].>=.0}.{......$w.selectio
13880 6e 20 73 65 74 20 24 66 69 72 73 74 0d 09 7d 0d 09 69 6e 63 72 20 66 69 72 73 74 0d 20 20 20 20 n.set.$first..}..incr.first.....
138a0 7d 0d 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4c 69 73 74 62 6f }.....event.generate.$w.<<Listbo
138c0 78 53 65 6c 65 63 74 3e 3e 0d 7d 0d 0d 23 20 74 6b 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 41 6c xSelect>>.}..#.tkListboxSelectAl
138e0 6c 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 l.#.#.This.procedure.is.invoked.
13900 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 22 73 65 6c 65 63 74 20 61 6c 6c 22 20 6f 70 65 72 61 to.handle.the."select.all".opera
13920 74 69 6f 6e 2e 0d 23 20 46 6f 72 20 73 69 6e 67 6c 65 20 61 6e 64 20 62 72 6f 77 73 65 20 6d 6f tion..#.For.single.and.browse.mo
13940 64 65 2c 20 69 74 20 6a 75 73 74 20 73 65 6c 65 63 74 73 20 74 68 65 20 61 63 74 69 76 65 20 65 de,.it.just.selects.the.active.e
13960 6c 65 6d 65 6e 74 2e 0d 23 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 73 65 6c 65 63 74 73 20 65 lement..#.Otherwise.it.selects.e
13980 76 65 72 79 74 68 69 6e 67 20 69 6e 20 74 68 65 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 41 72 67 verything.in.the.widget..#.#.Arg
139a0 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 6c 69 73 74 62 6f 78 20 77 69 64 67 65 uments:.#.w.-..The.listbox.widge
139c0 74 2e 0d 0d 70 72 6f 63 20 74 6b 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 41 6c 6c 20 77 20 7b 0d t...proc.tkListboxSelectAll.w.{.
139e0 20 20 20 20 73 65 74 20 6d 6f 64 65 20 5b 24 77 20 63 67 65 74 20 2d 73 65 6c 65 63 74 6d 6f 64 ....set.mode.[$w.cget.-selectmod
13a00 65 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 6f 64 65 20 22 e].....if.{[string.equal.$mode."
13a20 73 69 6e 67 6c 65 22 5d 20 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 6f 64 65 20 single"].||.[string.equal.$mode.
13a40 22 62 72 6f 77 73 65 22 5d 7d 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 63 6c 65 61 72 "browse"]}.{..$w.selection.clear
13a60 20 30 20 65 6e 64 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 61 63 74 69 76 65 0d .0.end..$w.selection.set.active.
13a80 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 73 65 6c 65 63 74 69 6f 6e 20 73 65 74 20 30 ....}.else.{..$w.selection.set.0
13aa0 20 65 6e 64 0d 20 20 20 20 7d 0d 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 .end.....}.....event.generate.$w
13ac0 20 3c 3c 4c 69 73 74 62 6f 78 53 65 6c 65 63 74 3e 3e 0d 7d 0d 00 00 8f 9c 23 20 6d 65 6e 75 2e .<<ListboxSelect>>.}.....#.menu.
13ae0 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 tcl.--.#.#.This.file.defines.the
13b00 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 6d 65 6e 75 73 20 61 .default.bindings.for.Tk.menus.a
13b20 6e 64 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d 23 20 49 74 20 61 6c 73 6f 20 69 6d 70 6c 65 6d nd.menubuttons..#.It.also.implem
13b40 65 6e 74 73 20 6b 65 79 62 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 20 6f 66 20 6d 65 6e 75 73 ents.keyboard.traversal.of.menus
13b60 20 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 66 65 77 0d 23 20 6f 74 68 65 72 20 75 74 .and.implements.a.few.#.other.ut
13b80 69 6c 69 74 79 20 70 72 6f 63 65 64 75 72 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6d 65 6e 75 ility.procedures.related.to.menu
13ba0 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 6d 65 6e 75 2e 74 63 6c 2c 76 s..#.#.RCS:.@(#).$Id:.menu.tcl,v
13bc0 20 31 2e 31 32 20 32 30 30 30 2f 30 34 2f 31 37 20 31 39 3a 33 32 3a 30 30 20 65 72 69 63 6d 20 .1.12.2000/04/17.19:32:00.ericm.
13be0 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 Exp.$.#.#.Copyright.(c).1992-199
13c00 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 4.The.Regents.of.the.University.
13c20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 of.California..#.Copyright.(c).1
13c40 39 39 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 994-1997.Sun.Microsystems,.Inc..
13c60 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 2d 31 39 39 39 20 62 79 20 53 63 72 #.Copyright.(c).1998-1999.by.Scr
13c80 69 70 74 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 iptics.Corporation..#.#.See.the.
13ca0 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 file."license.terms".for.informa
13cc0 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e tion.on.usage.and.redistribution
13ce0 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c .#.of.this.file,.and.for.a.DISCL
13d00 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d AIMER.OF.ALL.WARRANTIES..#..#---
13d20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13d40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13d60 2d 2d 2d 2d 2d 2d 0d 23 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 74 6b 50 72 69 76 20 74 68 61 74 ------.#.Elements.of.tkPriv.that
13d80 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 20 63 75 72 73 .are.used.in.this.file:.#.#.curs
13da0 6f 72 20 2d 09 09 53 61 76 65 73 20 74 68 65 20 2d 63 75 72 73 6f 72 20 6f 70 74 69 6f 6e 20 66 or.-..Saves.the.-cursor.option.f
13dc0 6f 72 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 66 6f 63 75 or.the.posted.menubutton..#.focu
13de0 73 20 2d 09 09 53 61 76 65 73 20 74 68 65 20 66 6f 63 75 73 20 64 75 72 69 6e 67 20 61 20 6d 65 s.-..Saves.the.focus.during.a.me
13e00 6e 75 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 23 09 09 09 46 6f 63 75 nu.selection.operation..#...Focu
13e20 73 20 67 65 74 73 20 72 65 73 74 6f 72 65 64 20 68 65 72 65 20 77 68 65 6e 20 74 68 65 20 6d 65 s.gets.restored.here.when.the.me
13e40 6e 75 20 69 73 20 75 6e 70 6f 73 74 65 64 2e 0d 23 20 67 72 61 62 47 6c 6f 62 61 6c 20 2d 09 09 nu.is.unposted..#.grabGlobal.-..
13e60 55 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 6b 50 72 69 76 28 Used.in.conjunction.with.tkPriv(
13e80 6f 6c 64 47 72 61 62 29 3a 20 20 69 66 0d 23 09 09 09 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 oldGrab):..if.#...tkPriv(oldGrab
13ea0 29 20 69 73 20 6e 6f 6e 2d 65 6d 70 74 79 2c 20 74 68 65 6e 20 74 6b 50 72 69 76 28 67 72 61 62 ).is.non-empty,.then.tkPriv(grab
13ec0 47 6c 6f 62 61 6c 29 0d 23 09 09 09 63 6f 6e 74 61 69 6e 73 20 65 69 74 68 65 72 20 61 6e 20 65 Global).#...contains.either.an.e
13ee0 6d 70 74 79 20 73 74 72 69 6e 67 20 6f 72 20 22 2d 67 6c 6f 62 61 6c 22 20 74 6f 0d 23 09 09 09 mpty.string.or."-global".to.#...
13f00 69 6e 64 69 63 61 74 65 20 77 68 65 74 68 65 72 20 74 68 65 20 6f 6c 64 20 67 72 61 62 20 77 61 indicate.whether.the.old.grab.wa
13f20 73 20 61 20 6c 6f 63 61 6c 20 6f 6e 65 20 6f 72 0d 23 09 09 09 61 20 67 6c 6f 62 61 6c 20 6f 6e s.a.local.one.or.#...a.global.on
13f40 65 2e 0d 23 20 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 20 2d 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 e..#.inMenubutton.-.The.name.of.
13f60 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 20 63 6f 6e 74 61 69 6e 69 6e 67 the.menubutton.widget.containing
13f80 0d 23 09 09 09 74 68 65 20 6d 6f 75 73 65 2c 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 .#...the.mouse,.or.an.empty.stri
13fa0 6e 67 20 69 66 20 74 68 65 20 6d 6f 75 73 65 20 69 73 0d 23 09 09 09 6e 6f 74 20 6f 76 65 72 20 ng.if.the.mouse.is.#...not.over.
13fc0 61 6e 79 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 6d 65 6e 75 42 61 72 20 2d 09 09 54 68 65 any.menubutton..#.menuBar.-..The
13fe0 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 61 72 20 74 68 61 74 20 69 73 20 74 68 65 .name.of.the.menubar.that.is.the
14000 20 72 6f 6f 74 0d 23 09 09 09 6f 66 20 74 68 65 20 63 61 73 63 61 64 65 20 68 69 65 72 61 72 63 .root.#...of.the.cascade.hierarc
14020 68 79 20 77 68 69 63 68 20 69 73 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 70 6f 73 74 65 64 hy.which.is.currently.#...posted
14040 2e 20 54 68 69 73 20 69 73 20 6e 75 6c 6c 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 ..This.is.null.when.there.is.no.
14060 6d 65 6e 75 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 62 65 69 6e 67 20 70 75 6c 6c 65 64 20 menu.currently.#...being.pulled.
14080 64 6f 77 6e 20 66 72 6f 6d 20 61 20 6d 65 6e 75 20 62 61 72 2e 0d 23 20 6f 6c 64 47 72 61 62 20 down.from.a.menu.bar..#.oldGrab.
140a0 2d 09 09 57 69 6e 64 6f 77 20 74 68 61 74 20 68 61 64 20 74 68 65 20 67 72 61 62 20 62 65 66 6f -..Window.that.had.the.grab.befo
140c0 72 65 20 61 20 6d 65 6e 75 20 77 61 73 20 70 6f 73 74 65 64 2e 0d 23 09 09 09 55 73 65 64 20 74 re.a.menu.was.posted..#...Used.t
140e0 6f 20 72 65 73 74 6f 72 65 20 74 68 65 20 67 72 61 62 20 73 74 61 74 65 20 61 66 74 65 72 20 74 o.restore.the.grab.state.after.t
14100 68 65 20 6d 65 6e 75 0d 23 09 09 09 69 73 20 75 6e 70 6f 73 74 65 64 2e 20 20 45 6d 70 74 79 20 he.menu.#...is.unposted...Empty.
14120 73 74 72 69 6e 67 20 6d 65 61 6e 73 20 74 68 65 72 65 20 77 61 73 20 6e 6f 0d 23 09 09 09 67 72 string.means.there.was.no.#...gr
14140 61 62 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 74 2e 0d 23 20 70 6f 70 75 70 20 2d 09 09 49 66 ab.previously.set..#.popup.-..If
14160 20 61 20 6d 65 6e 75 20 68 61 73 20 62 65 65 6e 20 70 6f 70 70 65 64 20 75 70 20 76 69 61 20 74 .a.menu.has.been.popped.up.via.t
14180 6b 5f 70 6f 70 75 70 2c 20 74 68 69 73 0d 23 09 09 09 67 69 76 65 73 20 74 68 65 20 6e 61 6d 65 k_popup,.this.#...gives.the.name
141a0 20 6f 66 20 74 68 65 20 6d 65 6e 75 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 69 73 0d 23 09 .of.the.menu...Otherwise.this.#.
141c0 09 09 76 61 6c 75 65 20 69 73 20 65 6d 70 74 79 2e 0d 23 20 70 6f 73 74 65 64 4d 62 20 2d 09 09 ..value.is.empty..#.postedMb.-..
141e0 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 68 6f 73 65 20 6d 65 6e Name.of.the.menubutton.whose.men
14200 75 20 69 73 20 63 75 72 72 65 6e 74 6c 79 0d 23 09 09 09 70 6f 73 74 65 64 2c 20 6f 72 20 61 6e u.is.currently.#...posted,.or.an
14220 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 66 20 6e 6f 74 68 69 6e 67 20 69 73 20 70 6f 73 74 .empty.string.if.nothing.is.post
14240 65 64 0d 23 09 09 09 41 20 67 72 61 62 20 69 73 20 73 65 74 20 6f 6e 20 74 68 69 73 20 77 69 64 ed.#...A.grab.is.set.on.this.wid
14260 67 65 74 2e 0d 23 20 72 65 6c 69 65 66 20 2d 09 09 55 73 65 64 20 74 6f 20 73 61 76 65 20 74 68 get..#.relief.-..Used.to.save.th
14280 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 6c 69 65 66 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 e.original.relief.of.the.current
142a0 0d 23 09 09 09 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 77 69 6e 64 6f 77 20 2d 09 09 57 68 65 .#...menubutton..#.window.-..Whe
142c0 6e 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 6f 76 65 72 20 61 20 6d 65 6e 75 2c 20 74 68 69 73 n.the.mouse.is.over.a.menu,.this
142e0 20 68 6f 6c 64 73 20 74 68 65 0d 23 09 09 09 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 3b .holds.the.#...name.of.the.menu;
14300 20 20 69 74 27 73 20 63 6c 65 61 72 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 0d 23 09 ..it's.cleared.when.the.mouse.#.
14320 09 09 6c 65 61 76 65 73 20 74 68 65 20 6d 65 6e 75 2e 0d 23 20 74 65 61 72 6f 66 66 20 2d 09 09 ..leaves.the.menu..#.tearoff.-..
14340 57 68 65 74 68 65 72 20 74 68 65 20 6c 61 73 74 20 6d 65 6e 75 20 70 6f 73 74 65 64 20 77 61 73 Whether.the.last.menu.posted.was
14360 20 61 20 74 65 61 72 6f 66 66 20 6f 72 20 6e 6f 74 2e 0d 23 09 09 09 54 68 69 73 20 69 73 20 74 .a.tearoff.or.not..#...This.is.t
14380 72 75 65 20 61 6c 77 61 79 73 20 66 6f 72 20 75 6e 69 78 2c 20 66 6f 72 20 74 65 61 72 6f 66 66 rue.always.for.unix,.for.tearoff
143a0 73 20 66 6f 72 20 4d 61 63 0d 23 09 09 09 61 6e 64 20 57 69 6e 64 6f 77 73 2e 0d 23 20 61 63 74 s.for.Mac.#...and.Windows..#.act
143c0 69 76 65 4d 65 6e 75 20 2d 09 09 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 61 63 74 69 iveMenu.-..This.is.the.last.acti
143e0 76 65 20 6d 65 6e 75 20 66 6f 72 20 75 73 65 0d 23 09 09 09 77 69 74 68 20 74 68 65 20 3c 3c 4d ve.menu.for.use.#...with.the.<<M
14400 65 6e 75 53 65 6c 65 63 74 3e 3e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 2e 0d 23 20 61 63 74 enuSelect>>.virtual.event..#.act
14420 69 76 65 49 74 65 6d 20 2d 09 09 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 20 61 63 74 69 iveItem.-..This.is.the.last.acti
14440 76 65 20 6d 65 6e 75 20 69 74 65 6d 20 66 6f 72 0d 23 09 09 09 75 73 65 20 77 69 74 68 20 74 68 ve.menu.item.for.#...use.with.th
14460 65 20 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 2e 0d e.<<MenuSelect>>.virtual.event..
14480 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d #-------------------------------
144a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
144c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------..#-------------------
144e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
14500 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 4f 76 65 72 61 6c 6c ----------------------.#.Overall
14520 20 6e 6f 74 65 3a 0d 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 74 72 69 63 6b 79 20 62 65 63 .note:.#.This.file.is.tricky.bec
14540 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 66 69 76 65 20 64 69 66 66 65 72 65 6e 74 20 77 61 ause.there.are.five.different.wa
14560 79 73 20 74 68 61 74 20 6d 65 6e 75 73 0d 23 20 63 61 6e 20 62 65 20 75 73 65 64 3a 0d 23 0d 23 ys.that.menus.#.can.be.used:.#.#
14580 20 31 2e 20 41 73 20 61 20 70 75 6c 6c 64 6f 77 6e 20 66 72 6f 6d 20 61 20 6d 65 6e 75 62 75 74 .1..As.a.pulldown.from.a.menubut
145a0 74 6f 6e 2e 20 49 6e 20 74 68 69 73 20 73 74 79 6c 65 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 ton..In.this.style,.the.variable
145c0 20 0d 23 20 20 20 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 64 65 6e 74 69 66 69 ..#....tkPriv(postedMb).identifi
145e0 65 73 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 32 2e 20 41 es.the.posted.menubutton..#.2..A
14600 73 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 73 6f s.a.torn-off.menu.copied.from.so
14620 6d 65 20 6f 74 68 65 72 20 6d 65 6e 75 2e 20 20 49 6e 20 74 68 69 73 20 73 74 79 6c 65 0d 23 20 me.other.menu...In.this.style.#.
14640 20 20 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 73 20 65 6d 70 74 79 2c 20 61 6e ...tkPriv(postedMb).is.empty,.an
14660 64 20 6d 65 6e 75 27 73 20 74 79 70 65 20 69 73 20 22 74 65 61 72 6f 66 66 22 2e 0d 23 20 33 2e d.menu's.type.is."tearoff"..#.3.
14680 20 41 73 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 2c 20 74 72 69 67 67 65 72 65 64 20 66 72 .As.an.option.menu,.triggered.fr
146a0 6f 6d 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 20 20 49 6e 20 74 68 69 om.an.option.menubutton...In.thi
146c0 73 0d 23 20 20 20 20 73 74 79 6c 65 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 64 s.#....style.tkPriv(postedMb).id
146e0 65 6e 74 69 66 69 65 73 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d entifies.the.posted.menubutton..
14700 23 20 34 2e 20 41 73 20 61 20 70 6f 70 75 70 20 6d 65 6e 75 2e 20 20 49 6e 20 74 68 69 73 20 73 #.4..As.a.popup.menu...In.this.s
14720 74 79 6c 65 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 69 73 20 65 6d 70 74 79 20 61 tyle.tkPriv(postedMb).is.empty.a
14740 6e 64 0d 23 20 20 20 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 27 73 20 74 79 70 nd.#....the.top-level.menu's.typ
14760 65 20 69 73 20 22 6e 6f 72 6d 61 6c 22 2e 0d 23 20 35 2e 20 41 73 20 61 20 70 75 6c 6c 64 6f 77 e.is."normal"..#.5..As.a.pulldow
14780 6e 20 66 72 6f 6d 20 61 20 6d 65 6e 75 62 61 72 2e 20 54 68 65 20 76 61 72 69 61 62 6c 65 20 74 n.from.a.menubar..The.variable.t
147a0 6b 50 72 69 76 28 6d 65 6e 75 62 61 72 29 20 68 61 73 0d 23 20 20 20 20 74 68 65 20 6f 77 6e 69 kPriv(menubar).has.#....the.owni
147c0 6e 67 20 6d 65 6e 75 62 61 72 2c 20 61 6e 64 20 74 68 65 20 6d 65 6e 75 20 69 74 73 65 6c 66 20 ng.menubar,.and.the.menu.itself.
147e0 69 73 20 6f 66 20 74 79 70 65 20 22 6e 6f 72 6d 61 6c 22 2e 0d 23 0d 23 20 54 68 65 20 76 61 72 is.of.type."normal"..#.#.The.var
14800 69 6f 75 73 20 62 69 6e 64 69 6e 67 20 70 72 6f 63 65 64 75 72 65 73 20 75 73 65 20 74 68 65 20 ious.binding.procedures.use.the.
14820 20 73 74 61 74 65 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 20 74 6f 0d 23 20 64 69 73 74 .state.described.above.to.#.dist
14840 69 6e 67 75 69 73 68 20 74 68 65 20 76 61 72 69 6f 75 73 20 63 61 73 65 73 20 61 6e 64 20 74 61 inguish.the.various.cases.and.ta
14860 6b 65 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 73 20 69 6e 20 65 61 63 68 0d 23 20 63 ke.different.actions.in.each.#.c
14880 61 73 65 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ase..#--------------------------
148a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
148c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ---------------..#--------------
148e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
14900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 ---------------------------.#.Th
14920 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 e.code.below.creates.the.default
14940 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 65 6e 75 73 0d 23 20 61 6e 64 20 .class.bindings.for.menus.#.and.
14960 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d menubuttons..#------------------
14980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
149a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 62 69 6e 64 20 4d 65 -----------------------..bind.Me
149c0 6e 75 62 75 74 74 6f 6e 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 nubutton.<FocusIn>.{}.bind.Menub
149e0 75 74 74 6f 6e 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 45 6e 74 65 72 20 25 57 utton.<Enter>.{.....tkMbEnter.%W
14a00 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 .}.bind.Menubutton.<Leave>.{....
14a20 20 74 6b 4d 62 4c 65 61 76 65 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 .tkMbLeave.%W.}.bind.Menubutton.
14a40 3c 31 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 <1>.{.....if.{[string.compare.$t
14a60 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 22 22 5d 7d 20 7b 0d 09 74 6b 4d 62 kPriv(inMenubutton).""]}.{..tkMb
14a80 50 6f 73 74 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 25 58 20 25 59 Post.$tkPriv(inMenubutton).%X.%Y
14aa0 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 4d 6f 74 69 6f 6e .....}.}.bind.Menubutton.<Motion
14ac0 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 4d 6f 74 69 6f 6e 20 25 57 20 75 70 20 25 58 20 25 59 0d 7d >.{.....tkMbMotion.%W.up.%X.%Y.}
14ae0 0d 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 .bind.Menubutton.<B1-Motion>.{..
14b00 20 20 20 74 6b 4d 62 4d 6f 74 69 6f 6e 20 25 57 20 64 6f 77 6e 20 25 58 20 25 59 0d 7d 0d 62 69 ...tkMbMotion.%W.down.%X.%Y.}.bi
14b20 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 nd.Menubutton.<ButtonRelease-1>.
14b40 7b 0d 20 20 20 20 74 6b 4d 62 42 75 74 74 6f 6e 55 70 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e {.....tkMbButtonUp.%W.}.bind.Men
14b60 75 62 75 74 74 6f 6e 20 3c 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 25 ubutton.<space>.{.....tkMbPost.%
14b80 57 0d 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 25 57 20 63 67 65 74 20 W.....tkMenuFirstEntry.[%W.cget.
14ba0 2d 6d 65 6e 75 5d 0d 7d 0d 0d 23 20 4d 75 73 74 20 73 65 74 20 66 6f 63 75 73 20 77 68 65 6e 20 -menu].}..#.Must.set.focus.when.
14bc0 6d 6f 75 73 65 20 65 6e 74 65 72 73 20 61 20 6d 65 6e 75 2c 20 69 6e 20 6f 72 64 65 72 20 74 6f mouse.enters.a.menu,.in.order.to
14be0 20 61 6c 6c 6f 77 0d 23 20 6d 69 78 65 64 2d 6d 6f 64 65 20 70 72 6f 63 65 73 73 69 6e 67 20 75 .allow.#.mixed-mode.processing.u
14c00 73 69 6e 67 20 62 6f 74 68 20 74 68 65 20 6d 6f 75 73 65 20 61 6e 64 20 74 68 65 20 6b 65 79 62 sing.both.the.mouse.and.the.keyb
14c20 6f 61 72 64 2e 0d 23 20 44 6f 6e 27 74 20 73 65 74 20 74 68 65 20 66 6f 63 75 73 20 69 66 20 74 oard..#.Don't.set.the.focus.if.t
14c40 68 65 20 65 76 65 6e 74 20 63 6f 6d 65 73 20 66 72 6f 6d 20 61 20 67 72 61 62 20 72 65 6c 65 61 he.event.comes.from.a.grab.relea
14c60 73 65 2c 0d 23 20 74 68 6f 75 67 68 3a 20 20 73 75 63 68 20 61 6e 20 65 76 65 6e 74 20 63 61 6e se,.#.though:..such.an.event.can
14c80 20 68 61 70 70 65 6e 20 61 66 74 65 72 20 61 73 20 70 61 72 74 20 6f 66 20 75 6e 70 6f 73 74 69 .happen.after.as.part.of.unposti
14ca0 6e 67 0d 23 20 61 20 63 61 73 63 61 64 65 64 20 63 68 61 69 6e 20 6f 66 20 6d 65 6e 75 73 2c 20 ng.#.a.cascaded.chain.of.menus,.
14cc0 61 66 74 65 72 20 74 68 65 20 66 6f 63 75 73 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e after.the.focus.has.already.been
14ce0 0d 23 20 72 65 73 74 6f 72 65 64 20 74 6f 20 77 68 65 72 65 76 65 72 20 69 74 20 77 61 73 20 62 .#.restored.to.wherever.it.was.b
14d00 65 66 6f 72 65 20 6d 65 6e 75 20 73 65 6c 65 63 74 69 6f 6e 20 73 74 61 72 74 65 64 2e 0d 0d 62 efore.menu.selection.started...b
14d20 69 6e 64 20 4d 65 6e 75 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 7d 0d 0d 62 69 6e 64 20 4d 65 6e 75 ind.Menu.<FocusIn>.{}..bind.Menu
14d40 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 .<Enter>.{.....set.tkPriv(window
14d60 29 20 25 57 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 25 57 20 63 ).%W.....if.{[string.equal.[%W.c
14d80 67 65 74 20 2d 74 79 70 65 5d 20 22 74 65 61 72 6f 66 66 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 get.-type]."tearoff"]}.{..if.{[s
14da0 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 22 25 6d 22 20 22 4e 6f 74 69 66 79 55 6e 67 72 61 62 tring.compare."%m"."NotifyUngrab
14dc0 22 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 "]}.{......if.{[string.equal.$tc
14de0 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 7d 20 7b 0d l_platform(platform)."unix"]}.{.
14e00 09 09 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 25 57 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 ..tk_menuSetFocus.%W......}..}..
14e20 20 20 20 7d 0d 20 20 20 20 74 6b 4d 65 6e 75 4d 6f 74 69 6f 6e 20 25 57 20 25 78 20 25 79 20 25 ...}.....tkMenuMotion.%W.%x.%y.%
14e40 73 0d 7d 0d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 74 6b 4d s.}..bind.Menu.<Leave>.{.....tkM
14e60 65 6e 75 4c 65 61 76 65 20 25 57 20 25 58 20 25 59 20 25 73 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 enuLeave.%W.%X.%Y.%s.}.bind.Menu
14e80 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 4d 6f 74 69 6f 6e 20 25 57 20 .<Motion>.{.....tkMenuMotion.%W.
14ea0 25 78 20 25 79 20 25 73 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 42 75 74 74 6f 6e 50 72 65 73 %x.%y.%s.}.bind.Menu.<ButtonPres
14ec0 73 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 0d 7d 0d 62 s>.{.....tkMenuButtonDown.%W.}.b
14ee0 69 6e 64 20 4d 65 6e 75 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 3e 20 7b 0d 20 20 20 74 6b ind.Menu.<ButtonRelease>.{....tk
14f00 4d 65 6e 75 49 6e 76 6f 6b 65 20 25 57 20 31 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 73 70 61 MenuInvoke.%W.1.}.bind.Menu.<spa
14f20 63 65 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 25 57 20 30 0d 7d 0d 62 69 ce>.{.....tkMenuInvoke.%W.0.}.bi
14f40 6e 64 20 4d 65 6e 75 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 49 6e 76 nd.Menu.<Return>.{.....tkMenuInv
14f60 6f 6b 65 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 45 73 63 61 70 65 3e 20 7b 0d oke.%W.0.}.bind.Menu.<Escape>.{.
14f80 20 20 20 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 ....tkMenuEscape.%W.}.bind.Menu.
14fa0 3c 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 4c 65 66 74 41 72 72 6f 77 20 25 57 0d <Left>.{.....tkMenuLeftArrow.%W.
14fc0 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 }.bind.Menu.<Right>.{.....tkMenu
14fe0 52 69 67 68 74 41 72 72 6f 77 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 55 70 3e 20 7b RightArrow.%W.}.bind.Menu.<Up>.{
15000 0d 20 20 20 20 74 6b 4d 65 6e 75 55 70 41 72 72 6f 77 20 25 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e .....tkMenuUpArrow.%W.}.bind.Men
15020 75 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 4d 65 6e 75 44 6f 77 6e 41 72 72 6f 77 20 25 u.<Down>.{.....tkMenuDownArrow.%
15040 57 0d 7d 0d 62 69 6e 64 20 4d 65 6e 75 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b 0d 20 20 20 20 74 W.}.bind.Menu.<KeyPress>.{.....t
15060 6b 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 20 25 57 20 25 41 0d 7d 0d 0d 23 20 54 kTraverseWithinMenu.%W.%A.}..#.T
15080 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69 6e 64 69 6e 67 73 20 61 70 70 6c 79 20 74 6f 20 61 he.following.bindings.apply.to.a
150a0 6c 6c 20 77 69 6e 64 6f 77 73 2c 20 61 6e 64 20 61 72 65 20 75 73 65 64 20 74 6f 0d 23 20 69 6d ll.windows,.and.are.used.to.#.im
150c0 70 6c 65 6d 65 6e 74 20 6b 65 79 62 6f 61 72 64 20 6d 65 6e 75 20 74 72 61 76 65 72 73 61 6c 2e plement.keyboard.menu.traversal.
150e0 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 ..if.{[string.equal.$tcl_platfor
15100 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 7d 20 7b 0d 20 20 20 20 62 69 6e 64 20 m(platform)."unix"]}.{.....bind.
15120 61 6c 6c 20 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e 20 7b 0d 09 74 6b 54 72 61 76 65 72 73 65 all.<Alt-KeyPress>.{..tkTraverse
15140 54 6f 4d 65 6e 75 20 25 57 20 25 41 0d 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 61 6c 6c ToMenu.%W.%A.....}......bind.all
15160 20 3c 46 31 30 3e 20 7b 0d 09 74 6b 46 69 72 73 74 4d 65 6e 75 20 25 57 0d 20 20 20 20 7d 0d 7d .<F10>.{..tkFirstMenu.%W.....}.}
15180 20 65 6c 73 65 20 7b 0d 20 20 20 20 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 3c 41 6c 74 .else.{.....bind.Menubutton.<Alt
151a0 2d 4b 65 79 50 72 65 73 73 3e 20 7b 0d 09 74 6b 54 72 61 76 65 72 73 65 54 6f 4d 65 6e 75 20 25 -KeyPress>.{..tkTraverseToMenu.%
151c0 57 20 25 41 0d 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 4d 65 6e 75 62 75 74 74 6f 6e 20 W.%A.....}......bind.Menubutton.
151e0 3c 46 31 30 3e 20 7b 0d 09 74 6b 46 69 72 73 74 4d 65 6e 75 20 25 57 0d 20 20 20 20 7d 0d 7d 0d <F10>.{..tkFirstMenu.%W.....}.}.
15200 0d 23 20 74 6b 4d 62 45 6e 74 65 72 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 .#.tkMbEnter.--.#.This.procedure
15220 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 65 6e 74 65 72 .is.invoked.when.the.mouse.enter
15240 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 0d 23 20 77 69 64 67 65 74 2e 20 20 49 74 20 61 63 74 s.a.menubutton.#.widget...It.act
15260 69 76 61 74 65 73 20 74 68 65 20 77 69 64 67 65 74 20 75 6e 6c 65 73 73 20 69 74 20 69 73 20 64 ivates.the.widget.unless.it.is.d
15280 69 73 61 62 6c 65 64 2e 20 20 4e 6f 74 65 3a 0d 23 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 isabled...Note:.#.this.procedure
152a0 20 69 73 20 6f 6e 6c 79 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 6d 6f 75 73 65 20 62 75 74 74 .is.only.invoked.when.mouse.butt
152c0 6f 6e 20 31 20 69 73 20 2a 6e 6f 74 2a 20 64 6f 77 6e 2e 0d 23 20 54 68 65 20 70 72 6f 63 65 64 on.1.is.*not*.down..#.The.proced
152e0 75 72 65 20 74 6b 4d 62 42 31 45 6e 74 65 72 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 66 20 74 68 ure.tkMbB1Enter.is.invoked.if.th
15300 65 20 62 75 74 74 6f 6e 20 69 73 20 64 6f 77 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a e.button.is.down..#.#.Arguments:
15320 0d 23 20 77 20 2d 09 09 09 54 68 65 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 .#.w.-...The..name.of.the.widget
15340 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 45 6e 74 65 72 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c ...proc.tkMbEnter.w.{.....global
15360 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 .tkPriv......if.{[string.compare
15380 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 22 22 5d 7d 20 7b 0d 09 74 .$tkPriv(inMenubutton).""]}.{..t
153a0 6b 4d 62 4c 65 61 76 65 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 0d 20 kMbLeave.$tkPriv(inMenubutton)..
153c0 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e ...}.....set.tkPriv(inMenubutton
153e0 29 20 24 77 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 ).$w.....if.{[string.compare.[$w
15400 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 24 77 .cget.-state]."disabled"]}.{..$w
15420 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d .configure.-state.active.....}.}
15440 0d 0d 23 20 74 6b 4d 62 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 ..#.tkMbLeave.--.#.This.procedur
15460 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 76 e.is.invoked.when.the.mouse.leav
15480 65 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 0d 23 20 49 74 20 64 65 2d es.a.menubutton.widget..#.It.de-
154a0 61 63 74 69 76 61 74 65 73 20 74 68 65 20 77 69 64 67 65 74 2c 20 69 66 20 74 68 65 20 77 69 64 activates.the.widget,.if.the.wid
154c0 67 65 74 20 73 74 69 6c 6c 20 65 78 69 73 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a get.still.exists..#.#.Arguments:
154e0 0d 23 20 77 20 2d 09 09 09 54 68 65 20 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 .#.w.-...The..name.of.the.widget
15500 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 4c 65 61 76 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c ...proc.tkMbLeave.w.{.....global
15520 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 .tkPriv......set.tkPriv(inMenubu
15540 74 74 6f 6e 29 20 7b 7d 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 tton).{}.....if.{![winfo.exists.
15560 24 77 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 $w]}.{..return.....}.....if.{[st
15580 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 61 63 74 ring.equal.[$w.cget.-state]."act
155a0 69 76 65 22 5d 7d 20 7b 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 6e 6f ive"]}.{..$w.configure.-state.no
155c0 72 6d 61 6c 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 62 50 6f 73 74 20 2d 2d 0d 23 20 47 69 rmal.....}.}..#.tkMbPost.--.#.Gi
155e0 76 65 6e 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 ven.a.menubutton,.this.procedure
15600 20 64 6f 65 73 20 61 6c 6c 20 74 68 65 20 77 6f 72 6b 20 6f 66 20 70 6f 73 74 69 6e 67 0d 23 20 .does.all.the.work.of.posting.#.
15620 69 74 73 20 61 73 73 6f 63 69 61 74 65 64 20 6d 65 6e 75 20 61 6e 64 20 75 6e 70 6f 73 74 69 6e its.associated.menu.and.unpostin
15640 67 20 61 6e 79 20 6f 74 68 65 72 20 6d 65 6e 75 20 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 g.any.other.menu.that.is.current
15660 6c 79 0d 23 20 70 6f 73 74 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 ly.#.posted..#.#.Arguments:.#.w.
15680 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 -...The.name.of.the.menubutton.w
156a0 69 64 67 65 74 20 77 68 6f 73 65 20 6d 65 6e 75 0d 23 09 09 09 69 73 20 74 6f 20 62 65 20 70 6f idget.whose.menu.#...is.to.be.po
156c0 73 74 65 64 2e 0d 23 20 78 2c 20 79 20 2d 09 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 sted..#.x,.y.-..Root.coordinates
156e0 20 6f 66 20 63 75 72 73 6f 72 2c 20 75 73 65 64 20 66 6f 72 20 70 6f 73 69 74 69 6f 6e 69 6e 67 .of.cursor,.used.for.positioning
15700 0d 23 09 09 09 6f 70 74 69 6f 6e 20 6d 65 6e 75 73 2e 20 20 49 66 20 6e 6f 74 20 73 70 65 63 69 .#...option.menus...If.not.speci
15720 66 69 65 64 2c 20 74 68 65 6e 20 74 68 65 20 63 65 6e 74 65 72 0d 23 09 09 09 6f 66 20 74 68 65 fied,.then.the.center.#...of.the
15740 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 6e 20 6f 70 74 69 6f .menubutton.is.used.for.an.optio
15760 6e 20 6d 65 6e 75 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 50 6f 73 74 20 7b 77 20 7b 78 20 7b 7d 7d n.menu...proc.tkMbPost.{w.{x.{}}
15780 20 7b 79 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 65 72 72 .{y.{}}}.{.....global.tkPriv.err
157a0 6f 72 49 6e 66 6f 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d orInfo.....global.tcl_platform..
157c0 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d ....if.{[string.equal.[$w.cget.-
157e0 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 20 7c 7c 20 5c 0d 09 20 20 20 20 5b 73 74 state]."disabled"].||.\......[st
15800 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 5d ring.equal.$w.$tkPriv(postedMb)]
15820 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6d 65 6e 75 20 5b }.{..return.....}.....set.menu.[
15840 24 77 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 $w.cget.-menu].....if.{[string.e
15860 71 75 61 6c 20 24 6d 65 6e 75 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d qual.$menu.""]}.{..return.....}.
15880 20 20 20 20 73 65 74 20 74 65 61 72 6f 66 66 20 5b 65 78 70 72 20 7b 5b 73 74 72 69 6e 67 20 65 ....set.tearoff.[expr.{[string.e
158a0 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e qual.$tcl_platform(platform)."un
158c0 69 78 22 5d 20 5c 0d 09 20 20 20 20 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d ix"].\......||.[string.equal.[$m
158e0 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 74 65 61 72 6f 66 66 22 5d 7d 5d 0d 20 20 20 enu.cget.-type]."tearoff"]}]....
15900 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 24 77 20 24 6d 65 6e 75 5d 20 21 3d 20 .if.{[string.first.$w.$menu].!=.
15920 30 7d 20 7b 0d 09 65 72 72 6f 72 20 22 63 61 6e 27 74 20 70 6f 73 74 20 24 6d 65 6e 75 3a 20 20 0}.{..error."can't.post.$menu:..
15940 69 74 20 69 73 6e 27 74 20 61 20 64 65 73 63 65 6e 64 61 6e 74 20 6f 66 20 24 77 20 28 74 68 69 it.isn't.a.descendant.of.$w.(thi
15960 73 20 69 73 20 61 20 6e 65 77 20 72 65 71 75 69 72 65 6d 65 6e 74 20 69 6e 20 54 6b 20 76 65 72 s.is.a.new.requirement.in.Tk.ver
15980 73 69 6f 6e 73 20 33 2e 30 20 61 6e 64 20 6c 61 74 65 72 29 22 0d 20 20 20 20 7d 0d 20 20 20 20 sions.3.0.and.later)".....}.....
159a0 73 65 74 20 63 75 72 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 69 66 set.cur.$tkPriv(postedMb).....if
159c0 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 22 22 5d 7d 20 7b 0d 09 74 .{[string.compare.$cur.""]}.{..t
159e0 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 kMenuUnpost.{}.....}.....set.tkP
15a00 72 69 76 28 63 75 72 73 6f 72 29 20 5b 24 77 20 63 67 65 74 20 2d 63 75 72 73 6f 72 5d 0d 20 20 riv(cursor).[$w.cget.-cursor]...
15a20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 72 ..set.tkPriv(relief).[$w.cget.-r
15a40 65 6c 69 65 66 5d 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 63 75 72 73 6f 72 20 elief].....$w.configure.-cursor.
15a60 61 72 72 6f 77 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 arrow.....$w.configure.-relief.r
15a80 61 69 73 65 64 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 aised......set.tkPriv(postedMb).
15aa0 24 77 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 5b 66 6f 63 75 73 5d $w.....set.tkPriv(focus).[focus]
15ac0 0d 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 20 20 20 20 74 6b 47 .....$menu.activate.none.....tkG
15ae0 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 0d 20 20 20 20 23 20 49 enerateMenuSelect.$menu......#.I
15b00 66 20 74 68 69 73 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 f.this.looks.like.an.option.menu
15b20 62 75 74 74 6f 6e 20 74 68 65 6e 20 70 6f 73 74 20 74 68 65 20 6d 65 6e 75 20 73 6f 0d 20 20 20 button.then.post.the.menu.so....
15b40 20 23 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6e 74 72 79 20 69 73 20 6f 6e 20 .#.that.the.current.entry.is.on.
15b60 74 6f 70 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 20 20 4f 74 68 65 72 77 69 73 65 20 70 6f 73 top.of.the.mouse...Otherwise.pos
15b80 74 0d 20 20 20 20 23 20 74 68 65 20 6d 65 6e 75 20 6a 75 73 74 20 62 65 6c 6f 77 20 74 68 65 20 t.....#.the.menu.just.below.the.
15ba0 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 61 73 20 66 6f 72 20 61 20 70 75 6c 6c 2d 64 6f 77 6e 2e 0d menubutton,.as.for.a.pull-down..
15bc0 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 69 66 20 7b 5b 63 .....update.idletasks.....if.{[c
15be0 61 74 63 68 20 7b 0d 09 73 77 69 74 63 68 20 5b 24 77 20 63 67 65 74 20 2d 64 69 72 65 63 74 69 atch.{..switch.[$w.cget.-directi
15c00 6f 6e 5d 20 7b 0d 20 20 20 20 09 20 20 20 20 61 62 6f 76 65 20 7b 0d 20 20 20 20 09 20 20 20 20 on].{..........above.{..........
15c20 09 73 65 74 20 78 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 0d 20 20 20 20 09 20 20 20 .set.x.[winfo.rootx.$w].........
15c40 20 09 73 65 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 ..set.y.[expr.{[winfo.rooty.$w].
15c60 2d 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 7d 5d 0d 20 20 20 20 -.[winfo.reqheight.$menu]}].....
15c80 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 20 20 20 20 09 20 20 20 20 ......$menu.post.$x.$y..........
15ca0 7d 0d 20 20 20 20 09 20 20 20 20 62 65 6c 6f 77 20 7b 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 }..........below.{...........set
15cc0 20 78 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 .x.[winfo.rootx.$w]...........se
15ce0 74 20 79 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2b 20 5b 77 t.y.[expr.{[winfo.rooty.$w].+.[w
15d00 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e info.height.$w]}]...........$men
15d20 75 20 70 6f 73 74 20 24 78 20 24 79 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 u.post.$x.$y..........}.........
15d40 20 6c 65 66 74 20 7b 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 78 20 5b 65 78 70 72 20 7b 5b .left.{...........set.x.[expr.{[
15d60 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 2d 20 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 winfo.rootx.$w].-.[winfo.reqwidt
15d80 68 20 24 6d 65 6e 75 5d 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 79 20 5b 65 78 70 72 h.$menu]}]...........set.y.[expr
15da0 20 7b 28 32 20 2a 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f .{(2.*.[winfo.rooty.$w].+.[winfo
15dc0 20 68 65 69 67 68 74 20 24 77 5d 29 20 2f 20 32 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 .height.$w])./.2}]...........set
15de0 20 65 6e 74 72 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 24 6d 65 6e 75 20 5b 24 77 .entry.[tkMenuFindName.$menu.[$w
15e00 20 63 67 65 74 20 2d 74 65 78 74 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 69 66 20 7b 5b 24 77 20 .cget.-text]]...........if.{[$w.
15e20 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 7d 20 7b 0d 09 09 20 20 20 20 69 66 20 7b cget.-indicatoron]}.{.......if.{
15e40 24 65 6e 74 72 79 20 3d 3d 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 7d 20 7b 0d $entry.==.[$menu.index.last]}.{.
15e60 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 7b 2d 28 5b 24 6d 65 6e 75 20 79 70 .......incr.y.[expr.{-([$menu.yp
15e80 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 20 20 09 2b 20 5b 77 69 6e osition.$entry].\.........+.[win
15ea0 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 29 2f 32 7d 5d 0d 09 09 20 20 20 20 7d fo.reqheight.$menu])/2}].......}
15ec0 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 7b 2d 28 5b .else.{........incr.y.[expr.{-([
15ee0 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 20 $menu.yposition.$entry].\.......
15f00 20 20 20 20 20 2b 20 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b 65 78 70 72 20 7b 24 .....+.[$menu.yposition.[expr.{$
15f20 65 6e 74 72 79 2b 31 7d 5d 5d 29 2f 32 7d 5d 0d 09 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 entry+1}]])/2}].......}.........
15f40 20 09 7d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 09 ..}...........$menu.post.$x.$y..
15f60 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 65 6e 74 72 79 20 7b 7d 5d 20 .if.{[string.compare.$entry.{}].
15f80 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 &&.[string.compare.[$menu.entryc
15fa0 67 65 74 20 24 65 6e 74 72 79 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 get.$entry.-state]."disabled"]}.
15fc0 7b 0d 20 20 20 20 09 20 20 20 20 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 {...............$menu.activate.$
15fe0 65 6e 74 72 79 0d 09 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 entry.......tkGenerateMenuSelect
16000 20 24 6d 65 6e 75 0d 20 20 20 20 09 20 20 20 20 09 7d 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 20 .$menu...........}..........}...
16020 20 20 09 20 20 20 20 72 69 67 68 74 20 7b 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 78 20 5b .......right.{...........set.x.[
16040 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 expr.{[winfo.rootx.$w].+.[winfo.
16060 77 69 64 74 68 20 24 77 5d 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 74 20 79 20 5b 65 78 70 width.$w]}]...........set.y.[exp
16080 72 20 7b 28 32 20 2a 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2b 20 5b 77 69 6e 66 r.{(2.*.[winfo.rooty.$w].+.[winf
160a0 6f 20 68 65 69 67 68 74 20 24 77 5d 29 20 2f 20 32 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 73 65 o.height.$w])./.2}]...........se
160c0 74 20 65 6e 74 72 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 24 6d 65 6e 75 20 5b 24 t.entry.[tkMenuFindName.$menu.[$
160e0 77 20 63 67 65 74 20 2d 74 65 78 74 5d 5d 0d 20 20 20 20 09 20 20 20 20 09 69 66 20 7b 5b 24 77 w.cget.-text]]...........if.{[$w
16100 20 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 7d 20 7b 0d 09 09 20 20 20 20 69 66 20 .cget.-indicatoron]}.{.......if.
16120 7b 24 65 6e 74 72 79 20 3d 3d 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 7d 20 7b {$entry.==.[$menu.index.last]}.{
16140 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 7b 2d 28 5b 24 6d 65 6e 75 20 79 ........incr.y.[expr.{-([$menu.y
16160 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 20 20 09 2b 20 5b 77 69 position.$entry].\.........+.[wi
16180 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 6d 65 6e 75 5d 29 2f 32 7d 5d 0d 09 09 20 20 20 20 nfo.reqheight.$menu])/2}].......
161a0 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 09 69 6e 63 72 20 79 20 5b 65 78 70 72 20 7b 2d 28 }.else.{........incr.y.[expr.{-(
161c0 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 79 5d 20 5c 0d 09 09 09 20 20 [$menu.yposition.$entry].\......
161e0 20 20 20 20 20 20 2b 20 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b 65 78 70 72 20 7b ......+.[$menu.yposition.[expr.{
16200 24 65 6e 74 72 79 2b 31 7d 5d 5d 29 2f 32 7d 5d 0d 09 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 $entry+1}]])/2}].......}........
16220 20 20 09 7d 0d 20 20 20 20 09 20 20 20 20 09 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d ...}...........$menu.post.$x.$y.
16240 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 65 6e 74 72 79 20 7b 7d 5d ..if.{[string.compare.$entry.{}]
16260 20 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 .&&.[string.compare.[$menu.entry
16280 63 67 65 74 20 24 65 6e 74 72 79 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d cget.$entry.-state]."disabled"]}
162a0 20 7b 0d 20 20 20 20 09 20 20 20 20 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 .{...............$menu.activate.
162c0 24 65 6e 74 72 79 0d 09 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 $entry.......tkGenerateMenuSelec
162e0 74 20 24 6d 65 6e 75 0d 20 20 20 20 09 20 20 20 20 09 7d 0d 20 20 20 20 09 20 20 20 20 7d 0d 20 t.$menu...........}..........}..
16300 20 20 20 09 20 20 20 20 64 65 66 61 75 6c 74 20 7b 0d 20 20 20 20 09 20 20 20 20 09 69 66 20 7b ........default.{...........if.{
16320 5b 24 77 20 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 7d 20 7b 0d 09 09 20 20 20 20 [$w.cget.-indicatoron]}.{.......
16340 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 79 20 7b 7d 5d 7d 20 7b 0d 09 09 09 73 if.{[string.equal.$y.{}]}.{....s
16360 65 74 20 78 20 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 2b 20 5b et.x.[expr.{[winfo.rootx.$w].+.[
16380 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 2f 32 7d 5d 0d 09 09 09 73 65 74 20 79 20 5b 65 78 winfo.width.$w]/2}]....set.y.[ex
163a0 70 72 20 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 20 2b 20 5b 77 69 6e 66 6f 20 68 65 pr.{[winfo.rooty.$w].+.[winfo.he
163c0 69 67 68 74 20 24 77 5d 2f 32 7d 5d 0d 09 20 20 20 20 09 20 20 20 20 7d 0d 09 20 20 20 20 20 20 ight.$w]/2}]...........}........
163e0 20 20 20 20 20 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 24 6d 65 6e 75 20 24 78 20 24 ......tkPostOverPoint.$menu.$x.$
16400 79 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 24 6d 65 6e 75 20 5b 24 77 20 63 67 65 74 y.[tkMenuFindName.$menu.[$w.cget
16420 20 2d 74 65 78 74 5d 5d 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 09 20 20 20 20 24 6d .-text]]...}.else.{...........$m
16440 65 6e 75 20 70 6f 73 74 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 20 5b 65 78 70 72 20 enu.post.[winfo.rootx.$w].[expr.
16460 7b 5b 77 69 6e 66 6f 20 72 6f 6f 74 79 20 24 77 5d 2b 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 {[winfo.rooty.$w]+[winfo.height.
16480 24 77 5d 7d 5d 0d 20 20 20 20 09 20 20 20 20 09 7d 20 20 0d 20 20 20 20 09 20 20 20 20 7d 0d 09 $w]}]...........}............}..
164a0 7d 0d 20 20 20 20 7d 20 6d 73 67 5d 7d 20 7b 0d 09 23 20 45 72 72 6f 72 20 70 6f 73 74 69 6e 67 }.....}.msg]}.{..#.Error.posting
164c0 20 6d 65 6e 75 20 28 65 2e 67 2e 20 62 6f 67 75 73 20 2d 70 6f 73 74 63 6f 6d 6d 61 6e 64 29 2e .menu.(e.g..bogus.-postcommand).
164e0 20 55 6e 70 6f 73 74 20 69 74 20 61 6e 64 0d 09 23 20 72 65 66 6c 65 63 74 20 74 68 65 20 65 72 .Unpost.it.and..#.reflect.the.er
16500 72 6f 72 2e 0d 09 0d 09 73 65 74 20 73 61 76 65 64 49 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f ror.....set.savedInfo.$errorInfo
16520 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 09 65 72 72 6f 72 20 24 6d 73 67 20 24 73 ..tkMenuUnpost.{}..error.$msg.$s
16540 61 76 65 64 49 6e 66 6f 0d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 avedInfo......}......set.tkPriv(
16560 74 65 61 72 6f 66 66 29 20 24 74 65 61 72 6f 66 66 0d 20 20 20 20 69 66 20 7b 24 74 65 61 72 6f tearoff).$tearoff.....if.{$tearo
16580 66 66 20 21 3d 20 30 7d 20 7b 0d 20 20 20 20 09 66 6f 63 75 73 20 24 6d 65 6e 75 0d 09 69 66 20 ff.!=.0}.{......focus.$menu..if.
165a0 7b 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c 65 20 24 77 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 53 {[winfo.viewable.$w]}.{......tkS
165c0 61 76 65 47 72 61 62 49 6e 66 6f 20 24 77 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c aveGrabInfo.$w......grab.-global
165e0 20 24 77 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 2d .$w..}.....}.}..#.tkMenuUnpost.-
16600 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 75 6e 70 6f 73 74 73 20 61 20 67 69 76 -.#.This.procedure.unposts.a.giv
16620 65 6e 20 6d 65 6e 75 2c 20 70 6c 75 73 20 61 6c 6c 20 6f 66 20 69 74 73 20 61 6e 63 65 73 74 6f en.menu,.plus.all.of.its.ancesto
16640 72 73 20 75 70 0d 23 20 74 6f 20 28 61 6e 64 20 69 6e 63 6c 75 64 69 6e 67 29 20 61 20 6d 65 6e rs.up.#.to.(and.including).a.men
16660 75 62 75 74 74 6f 6e 2c 20 69 66 20 61 6e 79 2e 20 20 49 74 20 61 6c 73 6f 20 72 65 73 74 6f 72 ubutton,.if.any...It.also.restor
16680 65 73 20 76 61 72 69 6f 75 73 0d 23 20 76 61 6c 75 65 73 20 74 6f 20 77 68 61 74 20 74 68 65 79 es.various.#.values.to.what.they
166a0 20 77 65 72 65 20 62 65 66 6f 72 65 20 74 68 65 20 6d 65 6e 75 20 77 61 73 20 70 6f 73 74 65 64 .were.before.the.menu.was.posted
166c0 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 73 0d 23 20 61 20 67 72 61 62 20 69 66 20 74 68 65 72 65 ,.and.releases.#.a.grab.if.there
166e0 27 73 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 6e 76 6f 6c 76 65 64 2e 20 20 53 70 65 63 69 's.a.menubutton.involved...Speci
16700 61 6c 20 6e 6f 74 65 73 3a 0d 23 20 31 2e 20 49 74 27 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 6f al.notes:.#.1..It's.important.to
16720 20 75 6e 70 6f 73 74 20 61 6c 6c 20 6d 65 6e 75 73 20 62 65 66 6f 72 65 20 72 65 6c 65 61 73 69 .unpost.all.menus.before.releasi
16740 6e 67 20 74 68 65 20 67 72 61 62 2c 20 73 6f 0d 23 20 20 20 20 74 68 61 74 20 61 6e 79 20 45 6e ng.the.grab,.so.#....that.any.En
16760 74 65 72 2d 4c 65 61 76 65 20 65 76 65 6e 74 73 20 28 65 2e 67 2e 20 66 72 6f 6d 20 6d 65 6e 75 ter-Leave.events.(e.g..from.menu
16780 20 62 61 63 6b 20 74 6f 20 6d 61 69 6e 0d 23 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 29 20 .back.to.main.#....application).
167a0 68 61 76 65 20 6d 6f 64 65 20 4e 6f 74 69 66 79 47 72 61 62 2e 0d 23 20 32 2e 20 42 65 20 73 75 have.mode.NotifyGrab..#.2..Be.su
167c0 72 65 20 74 6f 20 65 6e 63 6c 6f 73 65 20 76 61 72 69 6f 75 73 20 67 72 6f 75 70 73 20 6f 66 20 re.to.enclose.various.groups.of.
167e0 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 22 63 61 74 63 68 22 20 73 6f 20 74 68 61 74 0d 23 20 20 20 commands.in."catch".so.that.#...
16800 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 77 69 6c 6c 20 63 6f 6d 70 6c 65 74 65 20 65 76 65 .the.procedure.will.complete.eve
16820 6e 20 69 66 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 6f 72 20 74 68 65 20 6d 65 6e 75 0d n.if.the.menubutton.or.the.menu.
16840 23 20 20 20 20 6f 72 20 74 68 65 20 67 72 61 62 20 77 69 6e 64 6f 77 20 68 61 73 20 62 65 65 6e #....or.the.grab.window.has.been
16860 20 64 65 6c 65 74 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 .deleted..#.#.Arguments:.#.menu.
16880 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 6d 65 6e 75 20 74 6f 20 75 6e 70 6f 73 74 2e 20 20 49 67 -..Name.of.a.menu.to.unpost...Ig
168a0 6e 6f 72 65 64 20 69 66 20 74 68 65 72 65 0d 23 09 09 09 69 73 20 61 20 70 6f 73 74 65 64 20 6d nored.if.there.#...is.a.posted.m
168c0 65 6e 75 62 75 74 74 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 6d 65 enubutton...proc.tkMenuUnpost.me
168e0 6e 75 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 nu.{.....global.tcl_platform....
16900 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 6d 62 20 24 74 6b 50 72 69 .global.tkPriv.....set.mb.$tkPri
16920 76 28 70 6f 73 74 65 64 4d 62 29 0d 0d 20 20 20 20 23 20 52 65 73 74 6f 72 65 20 66 6f 63 75 73 v(postedMb)......#.Restore.focus
16940 20 72 69 67 68 74 20 61 77 61 79 20 28 6f 74 68 65 72 77 69 73 65 20 58 20 77 69 6c 6c 20 74 61 .right.away.(otherwise.X.will.ta
16960 6b 65 20 66 6f 63 75 73 20 61 77 61 79 20 77 68 65 6e 0d 20 20 20 20 23 20 74 68 65 20 6d 65 6e ke.focus.away.when.....#.the.men
16980 75 20 69 73 20 75 6e 6d 61 70 70 65 64 20 61 6e 64 20 75 6e 64 65 72 20 73 6f 6d 65 20 77 69 6e u.is.unmapped.and.under.some.win
169a0 64 6f 77 20 6d 61 6e 61 67 65 72 73 20 28 65 2e 67 2e 20 6f 6c 76 77 6d 29 0d 20 20 20 20 23 20 dow.managers.(e.g..olvwm).....#.
169c0 77 65 27 6c 6c 20 6c 6f 73 65 20 74 68 65 20 66 6f 63 75 73 20 63 6f 6d 70 6c 65 74 65 6c 79 29 we'll.lose.the.focus.completely)
169e0 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 75 73 20 24 74 6b 50 72 69 76 28 66 6f 63 75 .......catch.{focus.$tkPriv(focu
16a00 73 29 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 22 22 0d 0d 20 20 s)}.....set.tkPriv(focus).""....
16a20 20 20 23 20 55 6e 70 6f 73 74 20 6d 65 6e 75 28 73 29 20 61 6e 64 20 72 65 73 74 6f 72 65 20 73 ..#.Unpost.menu(s).and.restore.s
16a40 6f 6d 65 20 73 74 75 66 66 20 74 68 61 74 27 73 20 64 65 70 65 6e 64 65 6e 74 20 6f 6e 0d 20 20 ome.stuff.that's.dependent.on...
16a60 20 20 23 20 77 68 61 74 20 77 61 73 20 70 6f 73 74 65 64 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 ..#.what.was.posted.......catch.
16a80 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 62 20 22 22 5d 7d 20 {..if.{[string.compare.$mb.""]}.
16aa0 7b 0d 09 20 20 20 20 73 65 74 20 6d 65 6e 75 20 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d {......set.menu.[$mb.cget.-menu]
16ac0 0d 09 20 20 20 20 24 6d 65 6e 75 20 75 6e 70 6f 73 74 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 ......$menu.unpost......set.tkPr
16ae0 69 76 28 70 6f 73 74 65 64 4d 62 29 20 7b 7d 0d 09 20 20 20 20 24 6d 62 20 63 6f 6e 66 69 67 75 iv(postedMb).{}......$mb.configu
16b00 72 65 20 2d 63 75 72 73 6f 72 20 24 74 6b 50 72 69 76 28 63 75 72 73 6f 72 29 0d 09 20 20 20 20 re.-cursor.$tkPriv(cursor)......
16b20 24 6d 62 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 $mb.configure.-relief.$tkPriv(re
16b40 6c 69 65 66 29 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 lief)..}.elseif.{[string.compare
16b60 20 24 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 24 74 6b 50 .$tkPriv(popup).""]}.{......$tkP
16b80 72 69 76 28 70 6f 70 75 70 29 20 75 6e 70 6f 73 74 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 riv(popup).unpost......set.tkPri
16ba0 76 28 70 6f 70 75 70 29 20 7b 7d 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 v(popup).{}..}.elseif.{[string.c
16bc0 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 ompare.[$menu.cget.-type]."menub
16be0 61 72 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 ar"].\...&&.[string.compare.[$me
16c00 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 74 65 61 72 6f 66 66 22 5d 7d 20 7b 0d 09 20 20 nu.cget.-type]."tearoff"]}.{....
16c20 20 20 23 20 57 65 27 72 65 20 69 6e 20 61 20 63 61 73 63 61 64 65 64 20 73 75 62 2d 6d 65 6e 75 ..#.We're.in.a.cascaded.sub-menu
16c40 20 66 72 6f 6d 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 6f 72 20 70 6f 70 75 70 2e 0d .from.a.torn-off.menu.or.popup..
16c60 09 20 20 20 20 23 20 55 6e 70 6f 73 74 20 61 6c 6c 20 74 68 65 20 6d 65 6e 75 73 20 75 70 20 74 .....#.Unpost.all.the.menus.up.t
16c80 6f 20 74 68 65 20 74 6f 70 6c 65 76 65 6c 20 6f 6e 65 20 28 62 75 74 20 6e 6f 74 0d 09 20 20 20 o.the.toplevel.one.(but.not.....
16ca0 20 23 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 74 6f 72 6e 2d .#.including.the.top-level.torn-
16cc0 6f 66 66 20 6f 6e 65 29 20 61 6e 64 20 64 65 61 63 74 69 76 61 74 65 20 74 68 65 0d 09 20 20 20 off.one).and.deactivate.the.....
16ce0 20 23 20 74 6f 70 2d 6c 65 76 65 6c 20 74 6f 72 6e 20 6f 66 66 20 6d 65 6e 75 20 69 66 20 74 68 .#.top-level.torn.off.menu.if.th
16d00 65 72 65 20 69 73 20 6f 6e 65 2e 0d 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 31 7d 20 7b 0d 09 09 ere.is.one........while.{1}.{...
16d20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d set.parent.[winfo.parent.$menu].
16d40 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f 20 63 6c 61 ..if.{[string.compare.[winfo.cla
16d60 73 73 20 24 70 61 72 65 6e 74 5d 20 22 4d 65 6e 75 22 5d 20 5c 0d 09 09 09 7c 7c 20 21 5b 77 69 ss.$parent]."Menu"].\....||.![wi
16d80 6e 66 6f 20 69 73 6d 61 70 70 65 64 20 24 70 61 72 65 6e 74 5d 7d 20 7b 0d 09 09 20 20 20 20 62 nfo.ismapped.$parent]}.{.......b
16da0 72 65 61 6b 0d 09 09 7d 0d 09 09 24 70 61 72 65 6e 74 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 reak...}...$parent.activate.none
16dc0 0d 09 09 24 70 61 72 65 6e 74 20 70 6f 73 74 63 61 73 63 61 64 65 20 6e 6f 6e 65 0d 09 09 74 6b ...$parent.postcascade.none...tk
16de0 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 70 61 72 65 6e 74 0d 09 09 73 65 74 GenerateMenuSelect.$parent...set
16e00 20 74 79 70 65 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 2d 74 79 70 65 5d 0d 09 09 69 66 20 .type.[$parent.cget.-type]...if.
16e20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 79 70 65 20 22 6d 65 6e 75 62 61 72 22 5d 20 {[string.equal.$type."menubar"].
16e40 7c 7c 20 5c 0d 09 09 09 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 79 70 65 20 22 74 65 61 ||.\....[string.equal.$type."tea
16e60 72 6f 66 66 22 5d 7d 20 7b 0d 09 09 20 20 20 20 62 72 65 61 6b 0d 09 09 7d 0d 09 09 73 65 74 20 roff"]}.{.......break...}...set.
16e80 6d 65 6e 75 20 24 70 61 72 65 6e 74 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 menu.$parent......}......if.{[st
16ea0 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 5d 20 ring.compare.[$menu.cget.-type].
16ec0 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 75 6e 70 6f 73 74 0d 09 20 20 "menubar"]}.{...$menu.unpost....
16ee0 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 28 24 74 6b 50 72 69 76 28 74 ..}..}.....}......if.{($tkPriv(t
16f00 65 61 72 6f 66 66 29 20 21 3d 20 30 29 20 7c 7c 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 earoff).!=.0).||.[string.compare
16f20 20 24 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 22 22 5d 7d 20 7b 0d 20 20 20 20 09 23 20 .$tkPriv(menuBar).""]}.{......#.
16f40 52 65 6c 65 61 73 65 20 67 72 61 62 2c 20 69 66 20 61 6e 79 2c 20 61 6e 64 20 72 65 73 74 6f 72 Release.grab,.if.any,.and.restor
16f60 65 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 67 72 61 62 2c 20 69 66 20 74 68 65 72 65 0d 20 20 e.the.previous.grab,.if.there...
16f80 20 20 09 23 20 77 61 73 20 6f 6e 65 2e 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 ...#.was.one...if.{[string.compa
16fa0 72 65 20 24 6d 65 6e 75 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 67 72 61 62 20 5b 67 re.$menu.""]}.{......set.grab.[g
16fc0 72 61 62 20 63 75 72 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 rab.current.$menu]......if.{[str
16fe0 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 67 72 61 62 20 22 22 5d 7d 20 7b 0d 09 09 67 72 61 62 20 ing.compare.$grab.""]}.{...grab.
17000 72 65 6c 65 61 73 65 20 24 67 72 61 62 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 74 6b 52 65 73 74 6f release.$grab......}..}..tkResto
17020 72 65 4f 6c 64 47 72 61 62 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 reOldGrab..if.{[string.compare.$
17040 74 6b 50 72 69 76 28 6d 65 6e 75 42 61 72 29 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 24 74 6b 50 tkPriv(menuBar).""]}.{......$tkP
17060 72 69 76 28 6d 65 6e 75 42 61 72 29 20 63 6f 6e 66 69 67 75 72 65 20 2d 63 75 72 73 6f 72 20 24 riv(menuBar).configure.-cursor.$
17080 74 6b 50 72 69 76 28 63 75 72 73 6f 72 29 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d tkPriv(cursor)......set.tkPriv(m
170a0 65 6e 75 42 61 72 29 20 7b 7d 0d 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 enuBar).{}..}..if.{[string.compa
170c0 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 re.$tcl_platform(platform)."unix
170e0 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 74 65 61 72 6f 66 66 29 20 30 "]}.{......set.tkPriv(tearoff).0
17100 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 62 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 20 54 ..}.....}.}..#.tkMbMotion.--.#.T
17120 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 68 61 6e 64 6c 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 his.procedure.handles.mouse.moti
17140 6f 6e 20 65 76 65 6e 74 73 20 69 6e 73 69 64 65 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2c 20 61 6e on.events.inside.menubuttons,.an
17160 64 0d 23 20 61 6c 73 6f 20 6f 75 74 73 69 64 65 20 6d 65 6e 75 62 75 74 74 6f 6e 73 20 77 68 65 d.#.also.outside.menubuttons.whe
17180 6e 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 68 61 73 20 61 20 67 72 61 62 20 28 65 2e 67 2e 20 n.a.menubutton.has.a.grab.(e.g..
171a0 77 68 65 6e 20 61 0d 23 20 6d 65 6e 75 20 73 65 6c 65 63 74 69 6f 6e 20 6f 70 65 72 61 74 69 6f when.a.#.menu.selection.operatio
171c0 6e 20 69 73 20 69 6e 20 70 72 6f 67 72 65 73 73 29 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 n.is.in.progress)..#.#.Arguments
171e0 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 75 :.#.w.-...The.name.of.the.menubu
17200 74 74 6f 6e 20 77 69 64 67 65 74 2e 0d 23 20 75 70 44 6f 77 6e 20 2d 20 09 09 22 64 6f 77 6e 22 tton.widget..#.upDown.-..."down"
17220 20 6d 65 61 6e 73 20 62 75 74 74 6f 6e 20 31 20 69 73 20 70 72 65 73 73 65 64 2c 20 22 75 70 22 .means.button.1.is.pressed,."up"
17240 20 6d 65 61 6e 73 0d 23 09 09 09 69 74 20 69 73 6e 27 74 2e 0d 23 20 72 6f 6f 74 78 2c 20 72 6f .means.#...it.isn't..#.rootx,.ro
17260 6f 74 79 20 2d 09 43 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 6d 6f 75 73 65 2c 20 69 6e 20 28 oty.-.Coordinates.of.mouse,.in.(
17280 76 69 72 74 75 61 6c 3f 29 20 72 6f 6f 74 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d virtual?).root.window...proc.tkM
172a0 62 4d 6f 74 69 6f 6e 20 7b 77 20 75 70 44 6f 77 6e 20 72 6f 6f 74 78 20 72 6f 6f 74 79 7d 20 7b bMotion.{w.upDown.rootx.rooty}.{
172c0 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 .....global.tkPriv......if.{[str
172e0 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 ing.equal.$tkPriv(inMenubutton).
17300 24 77 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 $w]}.{..return.....}.....set.new
17320 20 5b 77 69 6e 66 6f 20 63 6f 6e 74 61 69 6e 69 6e 67 20 24 72 6f 6f 74 78 20 24 72 6f 6f 74 79 .[winfo.containing.$rootx.$rooty
17340 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6e 65 77 20 24 ].....if.{[string.compare.$new.$
17360 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 5d 20 5c 0d 09 20 20 20 20 26 26 20 tkPriv(inMenubutton)].\......&&.
17380 28 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 65 77 20 22 22 5d 20 5c 0d 09 20 20 20 20 7c ([string.equal.$new.""].\......|
173a0 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 |.[string.equal.[winfo.toplevel.
173c0 24 6e 65 77 5d 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 5d 5d 29 7d 20 7b 0d 09 $new].[winfo.toplevel.$w]])}.{..
173e0 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 if.{[string.compare.$tkPriv(inMe
17400 6e 75 62 75 74 74 6f 6e 29 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 4d 62 4c 65 61 76 65 20 nubutton).""]}.{......tkMbLeave.
17420 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 0d 09 7d 0d 09 69 66 20 7b 5b 73 $tkPriv(inMenubutton)..}..if.{[s
17440 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6e 65 77 20 22 22 5d 20 5c 0d 09 09 26 26 20 5b 73 tring.compare.$new.""].\...&&.[s
17460 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 6e 65 77 5d 20 22 tring.equal.[winfo.class.$new]."
17480 4d 65 6e 75 62 75 74 74 6f 6e 22 5d 20 5c 0d 09 09 26 26 20 28 5b 24 6e 65 77 20 63 67 65 74 20 Menubutton"].\...&&.([$new.cget.
174a0 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 20 3d 3d 20 30 29 20 5c 0d 09 09 26 26 20 28 5b 24 77 20 -indicatoron].==.0).\...&&.([$w.
174c0 63 67 65 74 20 2d 69 6e 64 69 63 61 74 6f 72 6f 6e 5d 20 3d 3d 20 30 29 7d 20 7b 0d 09 20 20 20 cget.-indicatoron].==.0)}.{.....
174e0 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 75 70 44 6f 77 6e 20 22 64 6f 77 6e .if.{[string.equal.$upDown."down
17500 22 5d 7d 20 7b 0d 09 09 74 6b 4d 62 50 6f 73 74 20 24 6e 65 77 20 24 72 6f 6f 74 78 20 24 72 6f "]}.{...tkMbPost.$new.$rootx.$ro
17520 6f 74 79 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 74 6b 4d 62 45 6e 74 65 72 20 24 6e oty......}.else.{...tkMbEnter.$n
17540 65 77 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 62 42 75 74 74 ew......}..}.....}.}..#.tkMbButt
17560 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f onUp.--.#.This.procedure.is.invo
17580 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 62 75 74 74 6f 6e 20 31 20 72 65 6c 65 61 73 65 73 20 ked.to.handle.button.1.releases.
175a0 66 6f 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d 23 20 49 66 20 74 68 65 20 72 65 6c 65 61 73 for.menubuttons..#.If.the.releas
175c0 65 20 68 61 70 70 65 6e 73 20 69 6e 73 69 64 65 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 20 e.happens.inside.the.menubutton.
175e0 74 68 65 6e 20 6c 65 61 76 65 20 69 74 73 20 6d 65 6e 75 0d 23 20 70 6f 73 74 65 64 20 77 69 74 then.leave.its.menu.#.posted.wit
17600 68 20 65 6c 65 6d 65 6e 74 20 30 20 61 63 74 69 76 61 74 65 64 2e 20 20 4f 74 68 65 72 77 69 73 h.element.0.activated...Otherwis
17620 65 2c 20 75 6e 70 6f 73 74 20 74 68 65 20 6d 65 6e 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 e,.unpost.the.menu..#.#.Argument
17640 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 62 s:.#.w.-...The.name.of.the.menub
17660 75 74 74 6f 6e 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 4d 62 42 75 74 74 6f 6e 55 70 utton.widget...proc.tkMbButtonUp
17680 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 67 6c 6f 62 61 .w.{.....global.tkPriv.....globa
176a0 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 73 65 74 20 6d 65 6e 75 20 5b 24 77 l.tcl_platform......set.menu.[$w
176c0 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 20 20 20 20 73 65 74 20 74 65 61 72 6f 66 66 20 5b 65 78 .cget.-menu].....set.tearoff.[ex
176e0 70 72 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 pr.{[string.equal.$tcl_platform(
17700 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 20 7c 7c 20 5c 0d 09 20 20 20 20 28 5b 73 74 platform)."unix"].||.\......([st
17720 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 65 6e 75 20 7b 7d 5d 20 26 26 20 5c 0d 09 20 20 20 ring.compare.$menu.{}].&&.\.....
17740 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 .[string.equal.[$menu.cget.-type
17760 5d 20 22 74 65 61 72 6f 66 66 22 5d 29 7d 5d 0d 20 20 20 20 69 66 20 7b 28 24 74 65 61 72 6f 66 ]."tearoff"])}].....if.{($tearof
17780 66 20 21 3d 20 30 29 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 f.!=.0).&&.[string.equal.$tkPriv
177a0 28 70 6f 73 74 65 64 4d 62 29 20 24 77 5d 20 5c 0d 09 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 (postedMb).$w].\......&&.[string
177c0 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 69 6e 4d 65 6e 75 62 75 74 74 6f 6e 29 20 24 77 5d .equal.$tkPriv(inMenubutton).$w]
177e0 7d 20 7b 0d 09 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 24 74 6b 50 72 69 76 28 70 }.{..tkMenuFirstEntry.[$tkPriv(p
17800 6f 73 74 65 64 4d 62 29 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 ostedMb).cget.-menu].....}.else.
17820 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 7b 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b {..tkMenuUnpost.{}.....}.}..#.tk
17840 4d 65 6e 75 4d 6f 74 69 6f 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 MenuMotion.--.#.This.procedure.i
17860 73 20 63 61 6c 6c 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 s.called.to.handle.mouse.motion.
17880 65 76 65 6e 74 73 20 66 6f 72 20 6d 65 6e 75 73 2e 0d 23 20 49 74 20 64 6f 65 73 20 74 77 6f 20 events.for.menus..#.It.does.two.
178a0 74 68 69 6e 67 73 2e 20 20 46 69 72 73 74 2c 20 69 74 20 72 65 73 65 74 73 20 74 68 65 20 61 63 things...First,.it.resets.the.ac
178c0 74 69 76 65 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 0d 23 20 6d 65 6e 75 2c 20 69 66 20 74 tive.element.in.the.#.menu,.if.t
178e0 68 65 20 6d 6f 75 73 65 20 69 73 20 6f 76 65 72 20 74 68 65 20 6d 65 6e 75 2e 20 20 53 65 63 6f he.mouse.is.over.the.menu...Seco
17900 6e 64 2c 20 69 66 20 61 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 0d 23 20 69 73 20 64 6f 77 6e 2c nd,.if.a.mouse.button.#.is.down,
17920 20 69 74 20 70 6f 73 74 73 20 61 6e 64 20 75 6e 70 6f 73 74 73 20 63 61 73 63 61 64 65 20 65 6e .it.posts.and.unposts.cascade.en
17940 74 72 69 65 73 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 6d 6f 75 73 65 0d 23 20 70 6f 73 69 74 tries.to.match.the.mouse.#.posit
17960 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 ion..#.#.Arguments:.#.menu.-..Th
17980 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 23 20 78 20 2d 09 09 09 54 68 65 20 78 20 70 6f 73 e.menu.window..#.x.-...The.x.pos
179a0 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 23 20 79 20 2d 09 09 09 54 68 65 20 ition.of.the.mouse..#.y.-...The.
179c0 79 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 23 20 73 74 61 74 65 y.position.of.the.mouse..#.state
179e0 20 2d 09 09 4d 6f 64 69 66 69 65 72 20 73 74 61 74 65 20 28 74 65 6c 6c 73 20 77 68 65 74 68 65 .-..Modifier.state.(tells.whethe
17a00 72 20 62 75 74 74 6f 6e 73 20 61 72 65 20 64 6f 77 6e 29 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e r.buttons.are.down)...proc.tkMen
17a20 75 4d 6f 74 69 6f 6e 20 7b 6d 65 6e 75 20 78 20 79 20 73 74 61 74 65 7d 20 7b 0d 20 20 20 20 67 uMotion.{menu.x.y.state}.{.....g
17a40 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 lobal.tkPriv.....if.{[string.equ
17a60 61 6c 20 24 6d 65 6e 75 20 24 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 5d 7d 20 7b 0d 09 69 66 al.$menu.$tkPriv(window)]}.{..if
17a80 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 .{[string.equal.[$menu.cget.-typ
17aa0 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 e]."menubar"]}.{......if.{[info.
17ac0 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 5d 20 26 26 20 5c 0d 09 09 20 20 20 exists.tkPriv(focus)].&&.\......
17ae0 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 65 6e 75 20 24 74 6b 50 72 69 76 28 66 .[string.compare.$menu.$tkPriv(f
17b00 6f 63 75 73 29 5d 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 40 24 78 2c 24 ocus)]}.{...$menu.activate.@$x,$
17b20 79 0d 09 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 09 y...tkGenerateMenuSelect.$menu..
17b40 20 20 20 20 7d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 ....}..}.else.{......$menu.activ
17b60 61 74 65 20 40 24 78 2c 24 79 0d 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 ate.@$x,$y......tkGenerateMenuSe
17b80 6c 65 63 74 20 24 6d 65 6e 75 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 24 73 74 lect.$menu..}.....}.....if.{($st
17ba0 61 74 65 20 26 20 30 78 31 66 30 30 29 20 21 3d 20 30 7d 20 7b 0d 09 24 6d 65 6e 75 20 70 6f 73 ate.&.0x1f00).!=.0}.{..$menu.pos
17bc0 74 63 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e tcascade.active.....}.}..#.tkMen
17be0 75 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 48 61 6e 64 6c 65 73 20 62 75 74 74 6f 6e 20 uButtonDown.--.#.Handles.button.
17c00 70 72 65 73 73 65 73 20 69 6e 20 6d 65 6e 75 73 2e 20 20 54 68 65 72 65 20 61 72 65 20 61 20 63 presses.in.menus...There.are.a.c
17c20 6f 75 70 6c 65 20 6f 66 20 74 72 69 63 6b 79 20 74 68 69 6e 67 73 0d 23 20 68 65 72 65 3a 0d 23 ouple.of.tricky.things.#.here:.#
17c40 20 31 2e 20 43 68 61 6e 67 65 20 74 68 65 20 70 6f 73 74 65 64 20 63 61 73 63 61 64 65 20 65 6e .1..Change.the.posted.cascade.en
17c60 74 72 79 20 28 69 66 20 61 6e 79 29 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 6d 6f 75 73 65 20 try.(if.any).to.match.the.mouse.
17c80 70 6f 73 69 74 69 6f 6e 2e 0d 23 20 32 2e 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 70 6f 73 position..#.2..If.there.is.a.pos
17ca0 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 6d 75 73 74 20 67 72 61 62 20 74 6f 20 74 68 65 ted.menubutton,.must.grab.to.the
17cc0 20 6d 65 6e 75 62 75 74 74 6f 6e 3b 20 20 74 68 69 73 0d 23 20 20 20 20 6f 76 65 72 72 72 69 64 .menubutton;..this.#....overrrid
17ce0 65 73 20 74 68 65 20 69 6d 70 6c 69 63 69 74 20 67 72 61 62 20 6f 6e 20 62 75 74 74 6f 6e 20 70 es.the.implicit.grab.on.button.p
17d00 72 65 73 73 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 65 6e 75 0d 23 20 20 20 20 62 75 74 74 ress,.so.that.the.menu.#....butt
17d20 6f 6e 20 63 61 6e 20 74 72 61 63 6b 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 73 20 6f 76 65 72 20 on.can.track.mouse.motions.over.
17d40 6f 74 68 65 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 20 61 6e 64 20 63 68 61 6e 67 65 0d 23 20 20 other.menubuttons.and.change.#..
17d60 20 20 74 68 65 20 70 6f 73 74 65 64 20 6d 65 6e 75 2e 0d 23 20 33 2e 20 49 66 20 74 68 65 72 65 ..the.posted.menu..#.3..If.there
17d80 27 73 20 6e 6f 20 70 6f 73 74 65 64 20 6d 65 6e 75 62 75 74 74 6f 6e 20 28 65 2e 67 2e 20 62 65 's.no.posted.menubutton.(e.g..be
17da0 63 61 75 73 65 20 77 65 27 72 65 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 0d 23 20 20 20 cause.we're.a.torn-off.menu.#...
17dc0 20 6f 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 64 65 73 63 65 6e 64 61 6e 74 73 29 20 6d 75 73 74 .or.one.of.its.descendants).must
17de0 20 67 72 61 62 20 74 6f 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 20 73 6f 20 74 .grab.to.the.top-level.menu.so.t
17e00 68 61 74 0d 23 20 20 20 20 77 65 20 63 61 6e 20 74 72 61 63 6b 20 6d 6f 75 73 65 20 6d 6f 74 69 hat.#....we.can.track.mouse.moti
17e20 6f 6e 73 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 6d 65 6e 75 20 68 69 65 72 61 ons.across.the.entire.menu.hiera
17e40 72 63 68 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 rchy..#.#.Arguments:.#.menu.-..T
17e60 68 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 42 75 74 74 he.menu.window...proc.tkMenuButt
17e80 6f 6e 44 6f 77 6e 20 6d 65 6e 75 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d onDown.menu.{.....global.tkPriv.
17ea0 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 ....global.tcl_platform......if.
17ec0 7b 21 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c 65 20 24 6d 65 6e 75 5d 7d 20 7b 0d 20 20 20 20 {![winfo.viewable.$menu]}.{.....
17ee0 20 20 20 20 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 63 ....return.....}.....$menu.postc
17f00 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f ascade.active.....if.{[string.co
17f20 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 20 22 22 5d 20 26 26 20 5c mpare.$tkPriv(postedMb).""].&&.\
17f40 0d 09 20 20 20 20 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c 65 20 24 74 6b 50 72 69 76 28 70 6f ......[winfo.viewable.$tkPriv(po
17f60 73 74 65 64 4d 62 29 5d 7d 20 7b 0d 09 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 74 6b 50 72 69 stedMb)]}.{..grab.-global.$tkPri
17f80 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 77 68 69 6c 65 20 v(postedMb).....}.else.{..while.
17fa0 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 79 70 65 {[string.equal.[$menu.cget.-type
17fc0 5d 20 22 6e 6f 72 6d 61 6c 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c ]."normal"].\...&&.[string.equal
17fe0 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e .[winfo.class.[winfo.parent.$men
18000 75 5d 5d 20 22 4d 65 6e 75 22 5d 20 5c 0d 09 09 26 26 20 5b 77 69 6e 66 6f 20 69 73 6d 61 70 70 u]]."Menu"].\...&&.[winfo.ismapp
18020 65 64 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 5d 7d 20 7b 0d 09 20 20 20 ed.[winfo.parent.$menu]]}.{.....
18040 20 73 65 74 20 6d 65 6e 75 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 .set.menu.[winfo.parent.$menu]..
18060 7d 0d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 6d 65 }...if.{[string.equal.$tkPriv(me
18080 6e 75 42 61 72 29 20 7b 7d 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 6d 65 nuBar).{}]}.{......set.tkPriv(me
180a0 6e 75 42 61 72 29 20 24 6d 65 6e 75 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 63 75 72 nuBar).$menu......set.tkPriv(cur
180c0 73 6f 72 29 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 63 75 72 73 6f 72 5d 0d 09 20 20 20 20 24 sor).[$menu.cget.-cursor]......$
180e0 6d 65 6e 75 20 63 6f 6e 66 69 67 75 72 65 20 2d 63 75 72 73 6f 72 20 61 72 72 6f 77 0d 20 20 20 menu.configure.-cursor.arrow....
18100 20 20 20 20 20 7d 0d 0d 09 23 20 44 6f 6e 27 74 20 75 70 64 61 74 65 20 67 72 61 62 20 69 6e 66 .....}...#.Don't.update.grab.inf
18120 6f 72 6d 61 74 69 6f 6e 20 69 66 20 74 68 65 20 67 72 61 62 20 77 69 6e 64 6f 77 20 69 73 6e 27 ormation.if.the.grab.window.isn'
18140 74 20 63 68 61 6e 67 69 6e 67 2e 0d 09 23 20 4f 74 68 65 72 77 69 73 65 2c 20 77 65 27 6c 6c 20 t.changing...#.Otherwise,.we'll.
18160 67 65 74 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 77 65 20 75 6e 70 6f 73 74 20 74 68 65 20 get.an.error.when.we.unpost.the.
18180 6d 65 6e 75 73 20 61 6e 64 0d 09 23 20 72 65 73 74 6f 72 65 20 74 68 65 20 67 72 61 62 2c 20 73 menus.and..#.restore.the.grab,.s
181a0 69 6e 63 65 20 74 68 65 20 6f 6c 64 20 67 72 61 62 20 77 69 6e 64 6f 77 20 77 69 6c 6c 20 6e 6f ince.the.old.grab.window.will.no
181c0 74 20 62 65 20 76 69 65 77 61 62 6c 65 0d 09 23 20 61 6e 79 6d 6f 72 65 2e 0d 0d 09 69 66 20 7b t.be.viewable..#.anymore....if.{
181e0 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 65 6e 75 20 5b 67 72 61 62 20 63 75 72 72 [string.compare.$menu.[grab.curr
18200 65 6e 74 20 24 6d 65 6e 75 5d 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 6e ent.$menu]]}.{......tkSaveGrabIn
18220 66 6f 20 24 6d 65 6e 75 0d 09 7d 0d 0d 09 23 20 4d 75 73 74 20 72 65 2d 67 72 61 62 20 65 76 65 fo.$menu..}...#.Must.re-grab.eve
18240 6e 20 69 66 20 74 68 65 20 67 72 61 62 20 77 69 6e 64 6f 77 20 68 61 73 6e 27 74 20 63 68 61 6e n.if.the.grab.window.hasn't.chan
18260 67 65 64 2c 20 69 6e 20 6f 72 64 65 72 0d 09 23 20 74 6f 20 72 65 6c 65 61 73 65 20 74 68 65 20 ged,.in.order..#.to.release.the.
18280 69 6d 70 6c 69 63 69 74 20 67 72 61 62 20 66 72 6f 6d 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 implicit.grab.from.the.button.pr
182a0 65 73 73 2e 0d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c ess....if.{[string.equal.$tcl_pl
182c0 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 75 6e 69 78 22 5d 7d 20 7b 0d 09 20 20 20 atform(platform)."unix"]}.{.....
182e0 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6d 65 6e 75 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d .grab.-global.$menu..}.....}.}..
18300 23 20 74 6b 4d 65 6e 75 4c 65 61 76 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 #.tkMenuLeave.--.#.This.procedur
18320 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 4c 65 61 76 65 20 65 76 65 e.is.invoked.to.handle.Leave.eve
18340 6e 74 73 20 66 6f 72 20 61 20 6d 65 6e 75 2e 20 20 49 74 0d 23 20 64 65 61 63 74 69 76 61 74 65 nts.for.a.menu...It.#.deactivate
18360 73 20 65 76 65 72 79 74 68 69 6e 67 20 75 6e 6c 65 73 73 20 74 68 65 20 61 63 74 69 76 65 20 65 s.everything.unless.the.active.e
18380 6c 65 6d 65 6e 74 20 69 73 20 61 20 63 61 73 63 61 64 65 20 65 6c 65 6d 65 6e 74 0d 23 20 61 6e lement.is.a.cascade.element.#.an
183a0 64 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 6e 6f 77 20 6f 76 65 72 20 74 68 65 20 73 75 62 6d d.the.mouse.is.now.over.the.subm
183c0 65 6e 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 enu..#.#.Arguments:.#.menu.-..Th
183e0 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 2e 0d 23 20 72 6f 6f 74 78 2c 20 72 6f 6f 74 79 20 2d 09 e.menu.window..#.rootx,.rooty.-.
18400 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 6d 6f 75 73 65 2e 0d 23 20 73 74 61 Root.coordinates.of.mouse..#.sta
18420 74 65 20 2d 09 09 4d 6f 64 69 66 69 65 72 20 73 74 61 74 65 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 te.-..Modifier.state...proc.tkMe
18440 6e 75 4c 65 61 76 65 20 7b 6d 65 6e 75 20 72 6f 6f 74 78 20 72 6f 6f 74 79 20 73 74 61 74 65 7d nuLeave.{menu.rootx.rooty.state}
18460 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 .{.....global.tkPriv.....set.tkP
18480 72 69 76 28 77 69 6e 64 6f 77 29 20 7b 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 riv(window).{}.....if.{[string.e
184a0 71 75 61 6c 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 22 6e 6f 6e 65 22 qual.[$menu.index.active]."none"
184c0 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 ]}.{..return.....}.....if.{[stri
184e0 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 74 79 70 65 20 61 63 74 69 76 65 5d 20 22 63 61 ng.equal.[$menu.type.active]."ca
18500 73 63 61 64 65 22 5d 0d 20 20 20 20 20 20 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 scade"]...........&&.[string.equ
18520 61 6c 20 5b 77 69 6e 66 6f 20 63 6f 6e 74 61 69 6e 69 6e 67 20 24 72 6f 6f 74 78 20 24 72 6f 6f al.[winfo.containing.$rootx.$roo
18540 74 79 5d 20 5c 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 24 6d 65 6e 75 20 65 ty].\...................[$menu.e
18560 6e 74 72 79 63 67 65 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 5d 7d 20 7b 0d 09 72 65 74 75 ntrycget.active.-menu]]}.{..retu
18580 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 rn.....}.....$menu.activate.none
185a0 0d 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d .....tkGenerateMenuSelect.$menu.
185c0 7d 0d 0d 23 20 74 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 }..#.tkMenuInvoke.--.#.This.proc
185e0 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 62 75 74 74 6f 6e 20 31 20 69 edure.is.invoked.when.button.1.i
18600 73 20 72 65 6c 65 61 73 65 64 20 6f 76 65 72 20 61 20 6d 65 6e 75 2e 0d 23 20 49 74 20 69 6e 76 s.released.over.a.menu..#.It.inv
18620 6f 6b 65 73 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6d 65 6e 75 20 61 63 74 69 6f 6e okes.the.appropriate.menu.action
18640 20 61 6e 64 20 75 6e 70 6f 73 74 73 20 74 68 65 20 6d 65 6e 75 20 69 66 0d 23 20 69 74 20 63 61 .and.unposts.the.menu.if.#.it.ca
18660 6d 65 20 66 72 6f 6d 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 me.from.a.menubutton..#.#.Argume
18680 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 nts:.#.w.-...Name.of.the.menu.wi
186a0 64 67 65 74 2e 0d 23 20 62 75 74 74 6f 6e 52 65 6c 65 61 73 65 20 2d 09 31 20 6d 65 61 6e 73 20 dget..#.buttonRelease.-.1.means.
186c0 74 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 this.procedure.is.called.because
186e0 20 6f 66 0d 23 09 09 09 61 20 62 75 74 74 6f 6e 20 72 65 6c 65 61 73 65 3b 20 20 30 20 6d 65 61 .of.#...a.button.release;..0.mea
18700 6e 73 20 62 65 63 61 75 73 65 20 6f 66 20 6b 65 79 73 74 72 6f 6b 65 2e 0d 0d 70 72 6f 63 20 74 ns.because.of.keystroke...proc.t
18720 6b 4d 65 6e 75 49 6e 76 6f 6b 65 20 7b 77 20 62 75 74 74 6f 6e 52 65 6c 65 61 73 65 7d 20 7b 0d kMenuInvoke.{w.buttonRelease}.{.
18740 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 24 62 75 74 74 ....global.tkPriv......if.{$butt
18760 6f 6e 52 65 6c 65 61 73 65 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 onRelease.&&.[string.equal.$tkPr
18780 69 76 28 77 69 6e 64 6f 77 29 20 7b 7d 5d 7d 20 7b 0d 09 23 20 4d 6f 75 73 65 20 77 61 73 20 70 iv(window).{}]}.{..#.Mouse.was.p
187a0 72 65 73 73 65 64 20 6f 76 65 72 20 61 20 6d 65 6e 75 20 77 69 74 68 6f 75 74 20 61 20 6d 65 6e ressed.over.a.menu.without.a.men
187c0 75 20 62 75 74 74 6f 6e 2c 20 74 68 65 6e 0d 09 23 20 64 72 61 67 67 65 64 20 6f 66 66 20 74 68 u.button,.then..#.dragged.off.th
187e0 65 20 6d 65 6e 75 20 28 70 6f 73 73 69 62 6c 79 20 77 69 74 68 20 61 20 63 61 73 63 61 64 65 20 e.menu.(possibly.with.a.cascade.
18800 70 6f 73 74 65 64 29 20 61 6e 64 0d 09 23 20 72 65 6c 65 61 73 65 64 2e 20 20 55 6e 70 6f 73 74 posted).and..#.released...Unpost
18820 20 65 76 65 72 79 74 68 69 6e 67 20 61 6e 64 20 71 75 69 74 2e 0d 0d 09 24 77 20 70 6f 73 74 63 .everything.and.quit....$w.postc
18840 61 73 63 61 64 65 20 6e 6f 6e 65 0d 09 24 77 20 61 63 74 69 76 61 74 65 20 6e 6f 6e 65 0d 09 65 ascade.none..$w.activate.none..e
18860 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d vent.generate.$w.<<MenuSelect>>.
18880 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 77 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 .tkMenuUnpost.$w..return.....}..
188a0 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 74 79 70 65 20 61 63 ...if.{[string.equal.[$w.type.ac
188c0 74 69 76 65 5d 20 22 63 61 73 63 61 64 65 22 5d 7d 20 7b 0d 09 24 77 20 70 6f 73 74 63 61 73 63 tive]."cascade"]}.{..$w.postcasc
188e0 61 64 65 20 61 63 74 69 76 65 0d 09 73 65 74 20 6d 65 6e 75 20 5b 24 77 20 65 6e 74 72 79 63 67 ade.active..set.menu.[$w.entrycg
18900 65 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 0d 09 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 et.active.-menu]..tkMenuFirstEnt
18920 72 79 20 24 6d 65 6e 75 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 ry.$menu.....}.elseif.{[string.e
18940 71 75 61 6c 20 5b 24 77 20 74 79 70 65 20 61 63 74 69 76 65 5d 20 22 74 65 61 72 6f 66 66 22 5d qual.[$w.type.active]."tearoff"]
18960 7d 20 7b 0d 09 74 6b 54 65 61 72 4f 66 66 4d 65 6e 75 20 24 77 0d 09 74 6b 4d 65 6e 75 55 6e 70 }.{..tkTearOffMenu.$w..tkMenuUnp
18980 6f 73 74 20 24 77 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 ost.$w.....}.elseif.{[string.equ
189a0 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b al.[$w.cget.-type]."menubar"]}.{
189c0 0d 09 24 77 20 70 6f 73 74 63 61 73 63 61 64 65 20 6e 6f 6e 65 0d 09 73 65 74 20 61 63 74 69 76 ..$w.postcascade.none..set.activ
189e0 65 20 5b 24 77 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 09 73 65 74 20 69 73 43 61 73 63 61 e.[$w.index.active]..set.isCasca
18a00 64 65 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 74 79 70 65 20 24 61 63 74 69 76 de.[string.equal.[$w.type.$activ
18a20 65 5d 20 22 63 61 73 63 61 64 65 22 5d 0d 0d 09 23 20 4f 6e 6c 79 20 64 65 2d 61 63 74 69 76 61 e]."cascade"]...#.Only.de-activa
18a40 74 65 20 74 68 65 20 61 63 74 69 76 65 20 69 74 65 6d 20 69 66 20 69 74 27 73 20 61 20 63 61 73 te.the.active.item.if.it's.a.cas
18a60 63 61 64 65 3b 20 74 68 69 73 20 70 72 65 76 65 6e 74 73 0d 09 23 20 74 68 65 20 61 6e 6e 6f 79 cade;.this.prevents..#.the.annoy
18a80 69 6e 67 20 22 61 63 74 69 76 61 74 69 6f 6e 20 66 6c 69 63 6b 65 72 22 20 79 6f 75 20 6f 74 68 ing."activation.flicker".you.oth
18aa0 65 72 77 69 73 65 20 67 65 74 20 77 69 74 68 20 0d 09 23 20 63 68 65 63 6b 62 75 74 74 6f 6e 73 erwise.get.with...#.checkbuttons
18ac0 2f 63 6f 6d 6d 61 6e 64 73 2f 65 74 63 2e 20 6f 6e 20 6d 65 6e 75 62 61 72 73 0d 0d 09 69 66 20 /commands/etc..on.menubars...if.
18ae0 7b 20 24 69 73 43 61 73 63 61 64 65 20 7d 20 7b 0d 09 20 20 20 20 24 77 20 61 63 74 69 76 61 74 {.$isCascade.}.{......$w.activat
18b00 65 20 6e 6f 6e 65 0d 09 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 77 20 3c 3c e.none......event.generate.$w.<<
18b20 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 09 7d 0d 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 MenuSelect>>..}...tkMenuUnpost.$
18b40 77 0d 0d 09 23 20 49 66 20 74 68 65 20 61 63 74 69 76 65 20 69 74 65 6d 20 69 73 20 6e 6f 74 20 w...#.If.the.active.item.is.not.
18b60 61 20 63 61 73 63 61 64 65 2c 20 69 6e 76 6f 6b 65 20 69 74 2e 20 20 54 68 69 73 20 65 6e 61 62 a.cascade,.invoke.it...This.enab
18b80 6c 65 73 0d 09 23 20 74 68 65 20 75 73 65 20 6f 66 20 63 68 65 63 6b 62 75 74 74 6f 6e 73 2f 63 les..#.the.use.of.checkbuttons/c
18ba0 6f 6d 6d 61 6e 64 73 2f 65 74 63 2e 20 6f 6e 20 6d 65 6e 75 62 61 72 73 20 28 77 68 69 63 68 20 ommands/etc..on.menubars.(which.
18bc0 69 73 20 6c 65 67 61 6c 2c 0d 09 23 20 62 75 74 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 is.legal,..#.but.not.recommended
18be0 29 0d 0d 09 69 66 20 7b 20 21 24 69 73 43 61 73 63 61 64 65 20 7d 20 7b 0d 09 20 20 20 20 75 70 )...if.{.!$isCascade.}.{......up
18c00 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 20 24 61 63 74 69 76 65 level.#0.[list.$w.invoke.$active
18c20 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 ]..}.....}.else.{..tkMenuUnpost.
18c40 24 77 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 20 61 $w..uplevel.#0.[list.$w.invoke.a
18c60 63 74 69 76 65 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 2d ctive].....}.}..#.tkMenuEscape.-
18c80 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 66 6f -.#.This.procedure.is.invoked.fo
18ca0 72 20 74 68 65 20 43 61 6e 63 65 6c 20 28 6f 72 20 45 73 63 61 70 65 29 20 6b 65 79 2e 20 20 49 r.the.Cancel.(or.Escape).key...I
18cc0 74 20 75 6e 70 6f 73 74 73 0d 23 20 74 68 65 20 67 69 76 65 6e 20 6d 65 6e 75 20 61 6e 64 2c 20 t.unposts.#.the.given.menu.and,.
18ce0 69 66 20 69 74 20 69 73 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6d 65 6e 75 20 66 6f 72 20 if.it.is.the.top-level.menu.for.
18d00 61 20 6d 65 6e 75 20 62 75 74 74 6f 6e 2c 0d 23 20 75 6e 70 6f 73 74 73 20 74 68 65 20 6d 65 6e a.menu.button,.#.unposts.the.men
18d20 75 20 62 75 74 74 6f 6e 20 61 73 20 77 65 6c 6c 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a u.button.as.well..#.#.Arguments:
18d40 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 6e 64 .#.menu.-..Name.of.the.menu.wind
18d60 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 45 73 63 61 70 65 20 6d 65 6e 75 20 7b 0d 20 20 ow...proc.tkMenuEscape.menu.{...
18d80 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 ..set.parent.[winfo.parent.$menu
18da0 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f ].....if.{[string.compare.[winfo
18dc0 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 74 6b 4d 65 .class.$parent]."Menu"]}.{..tkMe
18de0 6e 75 55 6e 70 6f 73 74 20 24 6d 65 6e 75 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 nuUnpost.$menu.....}.elseif.{[st
18e00 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 2d 74 79 70 65 5d 20 ring.equal.[$parent.cget.-type].
18e20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 6d 65 6e "menubar"]}.{..tkMenuUnpost.$men
18e40 75 0d 09 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 62 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b u..tkRestoreOldGrab.....}.else.{
18e60 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 6c 65 66 74 0d 20 20 20 20 ..tkMenuNextMenu.$menu.left.....
18e80 7d 0d 7d 0d 0d 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 6f 75 74 69 6e 65 73 20 68 61 }.}..#.The.following.routines.ha
18ea0 6e 64 6c 65 20 61 72 72 6f 77 20 6b 65 79 73 2e 20 41 72 72 6f 77 20 6b 65 79 73 20 62 65 68 61 ndle.arrow.keys..Arrow.keys.beha
18ec0 76 65 0d 23 20 64 69 66 66 65 72 65 6e 74 6c 79 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 ve.#.differently.depending.on.wh
18ee0 65 74 68 65 72 20 74 68 65 20 6d 65 6e 75 20 69 73 20 61 20 6d 65 6e 75 20 62 61 72 20 6f 72 20 ether.the.menu.is.a.menu.bar.or.
18f00 6e 6f 74 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 55 70 41 72 72 6f 77 20 7b 6d 65 6e 75 7d 20 not...proc.tkMenuUpArrow.{menu}.
18f20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 {.....if.{[string.equal.[$menu.c
18f40 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e 75 get.-type]."menubar"]}.{..tkMenu
18f60 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 6c 65 66 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b NextMenu.$menu.left.....}.else.{
18f80 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 2d 31 0d 20 20 20 20 7d ..tkMenuNextEntry.$menu.-1.....}
18fa0 0d 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 44 6f 77 6e 41 72 72 6f 77 20 7b 6d 65 6e 75 7d 20 .}..proc.tkMenuDownArrow.{menu}.
18fc0 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 {.....if.{[string.equal.[$menu.c
18fe0 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e 75 get.-type]."menubar"]}.{..tkMenu
19000 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 72 69 67 68 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 NextMenu.$menu.right.....}.else.
19020 7b 0d 09 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 31 0d 20 20 20 20 7d {..tkMenuNextEntry.$menu.1.....}
19040 0d 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4c 65 66 74 41 72 72 6f 77 20 7b 6d 65 6e 75 7d 20 .}..proc.tkMenuLeftArrow.{menu}.
19060 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 63 {.....if.{[string.equal.[$menu.c
19080 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e 75 get.-type]."menubar"]}.{..tkMenu
190a0 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 2d 31 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d NextEntry.$menu.-1.....}.else.{.
190c0 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 6c 65 66 74 0d 20 20 20 20 7d .tkMenuNextMenu.$menu.left.....}
190e0 0d 7d 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 52 69 67 68 74 41 72 72 6f 77 20 7b 6d 65 6e 75 7d .}..proc.tkMenuRightArrow.{menu}
19100 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 .{.....if.{[string.equal.[$menu.
19120 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e cget.-type]."menubar"]}.{..tkMen
19140 75 4e 65 78 74 45 6e 74 72 79 20 24 6d 65 6e 75 20 31 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d uNextEntry.$menu.1.....}.else.{.
19160 09 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 24 6d 65 6e 75 20 72 69 67 68 74 0d 20 20 20 20 .tkMenuNextMenu.$menu.right.....
19180 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 2d 2d 0d 23 20 54 68 69 73 20 }.}..#.tkMenuNextMenu.--.#.This.
191a0 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c 65 20 22 procedure.is.invoked.to.handle."
191c0 6c 65 66 74 22 20 61 6e 64 20 22 72 69 67 68 74 22 20 74 72 61 76 65 72 73 61 6c 0d 23 20 6d 6f left".and."right".traversal.#.mo
191e0 74 69 6f 6e 73 20 69 6e 20 6d 65 6e 75 73 2e 20 20 49 74 20 74 72 61 76 65 72 73 65 73 20 74 6f tions.in.menus...It.traverses.to
19200 20 74 68 65 20 6e 65 78 74 20 6d 65 6e 75 20 69 6e 20 61 20 6d 65 6e 75 20 62 61 72 2c 0d 23 20 .the.next.menu.in.a.menu.bar,.#.
19220 6f 72 20 69 6e 74 6f 20 6f 72 20 6f 75 74 20 6f 66 20 61 20 63 61 73 63 61 64 65 64 20 6d 65 6e or.into.or.out.of.a.cascaded.men
19240 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 54 68 65 20 u..#.#.Arguments:.#.menu.-..The.
19260 6d 65 6e 75 20 74 68 61 74 20 72 65 63 65 69 76 65 64 20 74 68 65 20 6b 65 79 62 6f 61 72 64 0d menu.that.received.the.keyboard.
19280 23 09 09 09 65 76 65 6e 74 2e 0d 23 20 64 69 72 65 63 74 69 6f 6e 20 2d 09 09 44 69 72 65 63 74 #...event..#.direction.-..Direct
192a0 69 6f 6e 20 69 6e 20 77 68 69 63 68 20 74 6f 20 6d 6f 76 65 3a 20 22 6c 65 66 74 22 20 6f 72 20 ion.in.which.to.move:."left".or.
192c0 22 72 69 67 68 74 22 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4e 65 78 74 4d 65 6e 75 20 7b 6d 65 "right"..proc.tkMenuNextMenu.{me
192e0 6e 75 20 64 69 72 65 63 74 69 6f 6e 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 nu.direction}.{.....global.tkPri
19300 76 0d 0d 20 20 20 20 23 20 46 69 72 73 74 20 68 61 6e 64 6c 65 20 74 72 61 76 65 72 73 61 6c 73 v......#.First.handle.traversals
19320 20 69 6e 74 6f 20 61 6e 64 20 6f 75 74 20 6f 66 20 63 61 73 63 61 64 65 64 20 6d 65 6e 75 73 2e .into.and.out.of.cascaded.menus.
19340 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 64 69 72 65 63 74 69 ......if.{[string.equal.$directi
19360 6f 6e 20 22 72 69 67 68 74 22 5d 7d 20 7b 0d 09 73 65 74 20 63 6f 75 6e 74 20 31 0d 09 73 65 74 on."right"]}.{..set.count.1..set
19380 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 73 65 .parent.[winfo.parent.$menu]..se
193a0 74 20 63 6c 61 73 73 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 0d 09 69 t.class.[winfo.class.$parent]..i
193c0 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 74 79 70 65 20 61 63 74 f.{[string.equal.[$menu.type.act
193e0 69 76 65 5d 20 22 63 61 73 63 61 64 65 22 5d 7d 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 70 6f ive]."cascade"]}.{......$menu.po
19400 73 74 63 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 09 20 20 20 20 73 65 74 20 6d 32 20 5b 24 6d stcascade.active......set.m2.[$m
19420 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 61 63 74 69 76 65 20 2d 6d 65 6e 75 5d 0d 09 20 20 20 enu.entrycget.active.-menu].....
19440 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 32 20 22 22 5d 7d 20 7b 0d .if.{[string.compare.$m2.""]}.{.
19460 09 09 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 6d 32 0d 09 20 20 20 20 7d 0d 09 20 ..tkMenuFirstEntry.$m2......}...
19480 20 20 20 72 65 74 75 72 6e 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 ...return..}.else.{......set.par
194a0 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 09 20 20 20 20 77 68 ent.[winfo.parent.$menu]......wh
194c0 69 6c 65 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 70 61 72 65 6e 74 20 22 2e 22 ile.{[string.compare.$parent."."
194e0 5d 7d 20 7b 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 ]}.{...if.{[string.equal.[winfo.
19500 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 20 22 4d 65 6e 75 22 5d 20 5c 0d 09 09 09 26 26 20 5b class.$parent]."Menu"].\....&&.[
19520 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 2d 74 79 70 65 string.equal.[$parent.cget.-type
19540 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 ]."menubar"]}.{.......tk_menuSet
19560 46 6f 63 75 73 20 24 70 61 72 65 6e 74 0d 09 09 20 20 20 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e Focus.$parent.......tkMenuNextEn
19580 74 72 79 20 24 70 61 72 65 6e 74 20 31 0d 09 09 20 20 20 20 72 65 74 75 72 6e 0d 09 09 7d 0d 09 try.$parent.1.......return...}..
195a0 09 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 70 61 72 65 6e .set.parent.[winfo.parent.$paren
195c0 74 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 63 t]......}..}.....}.else.{..set.c
195e0 6f 75 6e 74 20 2d 31 0d 09 73 65 74 20 6d 32 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 6d ount.-1..set.m2.[winfo.parent.$m
19600 65 6e 75 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 enu]..if.{[string.equal.[winfo.c
19620 6c 61 73 73 20 24 6d 32 5d 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 lass.$m2]."Menu"]}.{......if.{[s
19640 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 32 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 tring.compare.[$m2.cget.-type]."
19660 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 09 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 6e 6f menubar"]}.{...$menu.activate.no
19680 6e 65 0d 09 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d ne...tkGenerateMenuSelect.$menu.
196a0 09 09 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 24 6d 32 0d 09 09 0d 09 09 23 20 54 68 69 ..tk_menuSetFocus.$m2......#.Thi
196c0 73 20 63 6f 64 65 20 75 6e 70 6f 73 74 73 20 61 6e 79 20 70 6f 73 74 65 64 20 73 75 62 6d 65 6e s.code.unposts.any.posted.submen
196e0 75 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74 2e 0d 09 09 0d 09 09 73 65 74 20 74 6d 70 20 5b 24 u.in.the.parent.......set.tmp.[$
19700 6d 32 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 09 09 24 6d 32 20 61 63 74 69 76 61 74 65 20 m2.index.active]...$m2.activate.
19720 6e 6f 6e 65 0d 09 09 24 6d 32 20 61 63 74 69 76 61 74 65 20 24 74 6d 70 0d 09 09 72 65 74 75 72 none...$m2.activate.$tmp...retur
19740 6e 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 43 61 6e 27 74 20 74 n......}..}.....}......#.Can't.t
19760 72 61 76 65 72 73 65 20 69 6e 74 6f 20 6f 72 20 6f 75 74 20 6f 66 20 61 20 63 61 73 63 61 64 65 raverse.into.or.out.of.a.cascade
19780 64 20 6d 65 6e 75 2e 20 20 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 0d 20 20 20 20 23 20 6f 72 d.menu...Go.to.the.next.....#.or
197a0 20 70 72 65 76 69 6f 75 73 20 6d 65 6e 75 62 75 74 74 6f 6e 2c 20 69 66 20 74 68 61 74 20 6d 61 .previous.menubutton,.if.that.ma
197c0 6b 65 73 20 73 65 6e 73 65 2e 0d 0d 20 20 20 20 73 65 74 20 6d 32 20 5b 77 69 6e 66 6f 20 70 61 kes.sense.......set.m2.[winfo.pa
197e0 72 65 6e 74 20 24 6d 65 6e 75 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 rent.$menu].....if.{[string.equa
19800 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 6d 32 5d 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 l.[winfo.class.$m2]."Menu"]}.{..
19820 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 32 20 63 67 65 74 20 2d 74 79 70 if.{[string.equal.[$m2.cget.-typ
19840 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 e]."menubar"]}.{......tk_menuSet
19860 46 6f 63 75 73 20 24 6d 32 0d 09 20 20 20 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 24 Focus.$m2......tkMenuNextEntry.$
19880 6d 32 20 2d 31 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 m2.-1......return..}.....}......
198a0 73 65 74 20 77 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 4d 62 29 0d 20 20 20 20 69 66 20 7b set.w.$tkPriv(postedMb).....if.{
198c0 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 77 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d [string.equal.$w.""]}.{..return.
198e0 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 5b 77 69 6e 66 6f 20 63 68 69 ....}.....set.buttons.[winfo.chi
19900 6c 64 72 65 6e 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 5d 0d 20 20 20 20 73 65 74 ldren.[winfo.parent.$w]].....set
19920 20 6c 65 6e 67 74 68 20 5b 6c 6c 65 6e 67 74 68 20 24 62 75 74 74 6f 6e 73 5d 0d 20 20 20 20 73 .length.[llength.$buttons].....s
19940 65 74 20 69 20 5b 65 78 70 72 20 7b 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 62 75 74 et.i.[expr.{[lsearch.-exact.$but
19960 74 6f 6e 73 20 24 77 5d 20 2b 20 24 63 6f 75 6e 74 7d 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 31 tons.$w].+.$count}].....while.{1
19980 7d 20 7b 0d 09 77 68 69 6c 65 20 7b 24 69 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 }.{..while.{$i.<.0}.{......incr.
199a0 69 20 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 77 68 69 6c 65 20 7b 24 69 20 3e 3d 20 24 6c 65 6e 67 i.$length..}..while.{$i.>=.$leng
199c0 74 68 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 2d 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 73 th}.{......incr.i.-$length..}..s
199e0 65 74 20 6d 62 20 5b 6c 69 6e 64 65 78 20 24 62 75 74 74 6f 6e 73 20 24 69 5d 0d 09 69 66 20 7b et.mb.[lindex.$buttons.$i]..if.{
19a00 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 6d 62 5d 20 [string.equal.[winfo.class.$mb].
19a20 22 4d 65 6e 75 62 75 74 74 6f 6e 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d "Menubutton"].\...&&.[string.com
19a40 70 61 72 65 20 5b 24 6d 62 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 pare.[$mb.cget.-state]."disabled
19a60 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 62 20 63 "].\...&&.[string.compare.[$mb.c
19a80 67 65 74 20 2d 6d 65 6e 75 5d 20 22 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f get.-menu].""].\...&&.[string.co
19aa0 6d 70 61 72 65 20 5b 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d 20 69 6e 64 65 78 20 6c 61 mpare.[[$mb.cget.-menu].index.la
19ac0 73 74 5d 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 09 69 66 st]."none"]}.{......break..}..if
19ae0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 62 20 24 77 5d 7d 20 7b 0d 09 20 20 20 20 .{[string.equal.$mb.$w]}.{......
19b00 72 65 74 75 72 6e 0d 09 7d 0d 09 69 6e 63 72 20 69 20 24 63 6f 75 6e 74 0d 20 20 20 20 7d 0d 20 return..}..incr.i.$count.....}..
19b20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 6d 62 0d 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 ...tkMbPost.$mb.....tkMenuFirstE
19b40 6e 74 72 79 20 5b 24 6d 62 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e ntry.[$mb.cget.-menu].}..#.tkMen
19b60 75 4e 65 78 74 45 6e 74 72 79 20 2d 2d 0d 23 20 41 63 74 69 76 61 74 65 20 74 68 65 20 6e 65 78 uNextEntry.--.#.Activate.the.nex
19b80 74 20 68 69 67 68 65 72 20 6f 72 20 6c 6f 77 65 72 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 70 t.higher.or.lower.entry.in.the.p
19ba0 6f 73 74 65 64 20 6d 65 6e 75 2c 0d 23 20 77 72 61 70 70 69 6e 67 20 61 72 6f 75 6e 64 20 61 74 osted.menu,.#.wrapping.around.at
19bc0 20 74 68 65 20 65 6e 64 73 2e 20 20 44 69 73 61 62 6c 65 64 20 65 6e 74 72 69 65 73 20 61 72 65 .the.ends...Disabled.entries.are
19be0 20 73 6b 69 70 70 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 .skipped..#.#.Arguments:.#.menu.
19c00 2d 09 09 09 4d 65 6e 75 20 77 69 6e 64 6f 77 20 74 68 61 74 20 72 65 63 65 69 76 65 64 20 74 68 -...Menu.window.that.received.th
19c20 65 20 6b 65 79 73 74 72 6f 6b 65 2e 0d 23 20 63 6f 75 6e 74 20 2d 09 09 09 31 20 6d 65 61 6e 73 e.keystroke..#.count.-...1.means
19c40 20 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6c 6f 77 65 72 20 65 6e 74 72 79 2c 0d 23 09 09 .go.to.the.next.lower.entry,.#..
19c60 09 09 2d 31 20 6d 65 61 6e 73 20 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 68 69 67 68 65 72 ..-1.means.go.to.the.next.higher
19c80 20 65 6e 74 72 79 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 4e 65 78 74 45 6e 74 72 79 20 7b 6d .entry...proc.tkMenuNextEntry.{m
19ca0 65 6e 75 20 63 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d enu.count}.{.....global.tkPriv..
19cc0 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 69 6e 64 ....if.{[string.equal.[$menu.ind
19ce0 65 78 20 6c 61 73 74 5d 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 ex.last]."none"]}.{..return.....
19d00 7d 0d 20 20 20 20 73 65 74 20 6c 65 6e 67 74 68 20 5b 65 78 70 72 20 7b 5b 24 6d 65 6e 75 20 69 }.....set.length.[expr.{[$menu.i
19d20 6e 64 65 78 20 6c 61 73 74 5d 2b 31 7d 5d 0d 20 20 20 20 73 65 74 20 71 75 69 74 41 66 74 65 72 ndex.last]+1}].....set.quitAfter
19d40 20 24 6c 65 6e 67 74 68 0d 20 20 20 20 73 65 74 20 61 63 74 69 76 65 20 5b 24 6d 65 6e 75 20 69 .$length.....set.active.[$menu.i
19d60 6e 64 65 78 20 61 63 74 69 76 65 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 ndex.active].....if.{[string.equ
19d80 61 6c 20 24 61 63 74 69 76 65 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 73 65 74 20 69 20 30 0d 20 al.$active."none"]}.{..set.i.0..
19da0 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 69 20 5b 65 78 70 72 20 7b 24 61 63 74 69 76 ...}.else.{..set.i.[expr.{$activ
19dc0 65 20 2b 20 24 63 6f 75 6e 74 7d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 69 6c 65 20 7b 31 7d e.+.$count}].....}.....while.{1}
19de0 20 7b 0d 09 69 66 20 7b 24 71 75 69 74 41 66 74 65 72 20 3c 3d 20 30 7d 20 7b 0d 09 20 20 20 20 .{..if.{$quitAfter.<=.0}.{......
19e00 23 20 57 65 27 76 65 20 74 72 69 65 64 20 65 76 65 72 79 20 65 6e 74 72 79 20 69 6e 20 74 68 65 #.We've.tried.every.entry.in.the
19e20 20 6d 65 6e 75 2e 20 20 45 69 74 68 65 72 20 74 68 65 72 65 20 61 72 65 0d 09 20 20 20 20 23 20 .menu...Either.there.are......#.
19e40 6e 6f 6e 65 2c 20 6f 72 20 74 68 65 79 27 72 65 20 61 6c 6c 20 64 69 73 61 62 6c 65 64 2e 20 20 none,.or.they're.all.disabled...
19e60 4a 75 73 74 20 67 69 76 65 20 75 70 2e 0d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 77 Just.give.up........return..}..w
19e80 68 69 6c 65 20 7b 24 69 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 69 20 24 6c 65 6e hile.{$i.<.0}.{......incr.i.$len
19ea0 67 74 68 0d 09 7d 0d 09 77 68 69 6c 65 20 7b 24 69 20 3e 3d 20 24 6c 65 6e 67 74 68 7d 20 7b 0d gth..}..while.{$i.>=.$length}.{.
19ec0 09 20 20 20 20 69 6e 63 72 20 69 20 2d 24 6c 65 6e 67 74 68 0d 09 7d 0d 09 69 66 20 7b 5b 63 61 .....incr.i.-$length..}..if.{[ca
19ee0 74 63 68 20 7b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 73 74 61 74 65 7d 20 tch.{$menu.entrycget.$i.-state}.
19f00 73 74 61 74 65 5d 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 state].==.0}.{......if.{[string.
19f20 63 6f 6d 70 61 72 65 20 24 73 74 61 74 65 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 09 compare.$state."disabled"]}.{...
19f40 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 66 20 7b 24 69 20 3d 3d 20 24 61 63 74 69 break......}..}..if.{$i.==.$acti
19f60 76 65 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 6e 63 72 20 69 20 24 63 6f ve}.{......return..}..incr.i.$co
19f80 75 6e 74 0d 09 69 6e 63 72 20 71 75 69 74 41 66 74 65 72 20 2d 31 0d 20 20 20 20 7d 0d 20 20 20 unt..incr.quitAfter.-1.....}....
19fa0 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 69 0d 20 20 20 20 74 6b 47 65 6e 65 72 61 74 .$menu.activate.$i.....tkGenerat
19fc0 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e eMenuSelect.$menu.....if.{[strin
19fe0 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 74 79 70 65 20 24 69 5d 20 22 63 61 73 63 61 64 65 g.equal.[$menu.type.$i]."cascade
1a000 22 5d 7d 20 7b 0d 09 73 65 74 20 63 61 73 63 61 64 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 "]}.{..set.cascade.[$menu.entryc
1a020 67 65 74 20 24 69 20 2d 6d 65 6e 75 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 get.$i.-menu]..if.{[string.compa
1a040 72 65 20 24 63 61 73 63 61 64 65 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 23 20 48 65 72 65 20 77 re.$cascade.""]}.{......#.Here.w
1a060 65 20 61 75 74 6f 2d 70 6f 73 74 20 61 20 63 61 73 63 61 64 65 2e 20 20 54 68 69 73 20 69 73 20 e.auto-post.a.cascade...This.is.
1a080 6e 65 63 65 73 73 61 72 79 20 77 68 65 6e 0d 09 20 20 20 20 23 20 77 65 20 74 72 61 76 65 72 73 necessary.when......#.we.travers
1a0a0 65 20 6c 65 66 74 2f 72 69 67 68 74 20 69 6e 20 74 68 65 20 6d 65 6e 75 62 61 72 2c 20 62 75 74 e.left/right.in.the.menubar,.but
1a0c0 20 75 6e 64 65 73 69 72 61 62 6c 65 20 77 68 65 6e 0d 09 20 20 20 20 23 20 77 65 20 74 72 61 76 .undesirable.when......#.we.trav
1a0e0 65 72 73 65 20 75 70 2f 64 6f 77 6e 20 69 6e 20 61 20 6d 65 6e 75 2e 0d 09 20 20 20 20 24 6d 65 erse.up/down.in.a.menu.......$me
1a100 6e 75 20 70 6f 73 74 63 61 73 63 61 64 65 20 24 69 0d 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 nu.postcascade.$i......tkMenuFir
1a120 73 74 45 6e 74 72 79 20 24 63 61 73 63 61 64 65 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 stEntry.$cascade..}.....}.}..#.t
1a140 6b 4d 65 6e 75 46 69 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 73 65 kMenuFind.--.#.This.procedure.se
1a160 61 72 63 68 65 73 20 74 68 65 20 65 6e 74 69 72 65 20 77 69 6e 64 6f 77 20 68 69 65 72 61 72 63 arches.the.entire.window.hierarc
1a180 68 79 20 75 6e 64 65 72 20 77 20 66 6f 72 0d 23 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 74 68 hy.under.w.for.#.a.menubutton.th
1a1a0 61 74 20 69 73 6e 27 74 20 64 69 73 61 62 6c 65 64 20 61 6e 64 20 77 68 6f 73 65 20 75 6e 64 65 at.isn't.disabled.and.whose.unde
1a1c0 72 6c 69 6e 65 64 20 63 68 61 72 61 63 74 65 72 0d 23 20 69 73 20 22 63 68 61 72 22 20 6f 72 20 rlined.character.#.is."char".or.
1a1e0 61 6e 20 65 6e 74 72 79 20 69 6e 20 61 20 6d 65 6e 75 62 61 72 20 74 68 61 74 20 69 73 6e 27 74 an.entry.in.a.menubar.that.isn't
1a200 20 64 69 73 61 62 6c 65 64 20 61 6e 64 20 77 68 6f 73 65 0d 23 20 75 6e 64 65 72 6c 69 6e 65 64 .disabled.and.whose.#.underlined
1a220 20 63 68 61 72 61 63 74 65 72 20 69 73 20 22 63 68 61 72 22 2e 0d 23 20 49 74 20 72 65 74 75 72 .character.is."char"..#.It.retur
1a240 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 61 74 20 77 69 6e 64 6f 77 2c 20 69 66 20 66 ns.the.name.of.that.window,.if.f
1a260 6f 75 6e 64 2c 20 6f 72 20 61 6e 0d 23 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 69 66 20 6e 6f ound,.or.an.#.empty.string.if.no
1a280 20 6d 61 74 63 68 69 6e 67 20 77 69 6e 64 6f 77 20 77 61 73 20 66 6f 75 6e 64 2e 20 20 49 66 20 .matching.window.was.found...If.
1a2a0 22 63 68 61 72 22 20 69 73 20 61 6e 0d 23 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 74 68 65 6e "char".is.an.#.empty.string.then
1a2c0 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 61 6d 65 20 .the.procedure.returns.the.name.
1a2e0 6f 66 20 74 68 65 20 66 69 72 73 74 0d 23 20 6d 65 6e 75 62 75 74 74 6f 6e 20 66 6f 75 6e 64 20 of.the.first.#.menubutton.found.
1a300 74 68 61 74 20 69 73 6e 27 74 20 64 69 73 61 62 6c 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e that.isn't.disabled..#.#.Argumen
1a320 74 73 3a 0d 23 20 77 20 2d 09 09 09 09 4e 61 6d 65 20 6f 66 20 77 69 6e 64 6f 77 20 77 68 65 72 ts:.#.w.-....Name.of.window.wher
1a340 65 20 6b 65 79 20 77 61 73 20 74 79 70 65 64 2e 0d 23 20 63 68 61 72 20 2d 09 09 09 55 6e 64 65 e.key.was.typed..#.char.-...Unde
1a360 72 6c 69 6e 65 64 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 3b 0d rlined.character.to.search.for;.
1a380 23 09 09 09 09 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 75 70 70 65 72 20 6f 72 20 6c 6f 77 65 #....may.be.either.upper.or.lowe
1a3a0 72 20 63 61 73 65 2c 20 61 6e 64 0d 23 09 09 09 09 77 69 6c 6c 20 6d 61 74 63 68 20 65 69 74 68 r.case,.and.#....will.match.eith
1a3c0 65 72 20 75 70 70 65 72 20 6f 72 20 6c 6f 77 65 72 20 63 61 73 65 2e 0d 0d 70 72 6f 63 20 74 6b er.upper.or.lower.case...proc.tk
1a3e0 4d 65 6e 75 46 69 6e 64 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 MenuFind.{w.char}.{.....global.t
1a400 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 63 68 61 72 20 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 kPriv.....set.char.[string.tolow
1a420 65 72 20 24 63 68 61 72 5d 0d 20 20 20 20 73 65 74 20 77 69 6e 64 6f 77 6c 69 73 74 20 5b 77 69 er.$char].....set.windowlist.[wi
1a440 6e 66 6f 20 63 68 69 6c 64 20 24 77 5d 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 68 69 6c 64 nfo.child.$w]......foreach.child
1a460 20 24 77 69 6e 64 6f 77 6c 69 73 74 20 7b 0d 09 23 20 44 6f 6e 27 74 20 64 65 73 63 65 6e 64 20 .$windowlist.{..#.Don't.descend.
1a480 69 6e 74 6f 20 6f 74 68 65 72 20 74 6f 70 6c 65 76 65 6c 73 2e 0d 20 20 20 20 20 20 20 20 69 66 into.other.toplevels..........if
1a4a0 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 .{[string.compare.[winfo.topleve
1a4c0 6c 20 5b 66 6f 63 75 73 5d 5d 20 5c 0d 09 09 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 l.[focus]].\...[winfo.toplevel.$
1a4e0 63 68 69 6c 64 5d 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 69 66 20 child]]}.{......continue..}..if.
1a500 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 63 68 69 {[string.equal.[winfo.class.$chi
1a520 6c 64 5d 20 22 4d 65 6e 75 22 5d 20 26 26 20 5c 0d 09 09 5b 73 74 72 69 6e 67 20 65 71 75 61 6c ld]."Menu"].&&.\...[string.equal
1a540 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d .[$child.cget.-type]."menubar"]}
1a560 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 20 .{......if.{[string.equal.$char.
1a580 22 22 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 63 68 69 6c 64 0d 09 20 20 20 20 7d 0d 09 20 ""]}.{...return.$child......}...
1a5a0 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 63 68 69 6c 64 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d ...set.last.[$child.index.last].
1a5c0 09 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 74 65 .....for.{set.i.[$child.cget.-te
1a5e0 61 72 6f 66 66 5d 7d 20 7b 24 69 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b aroff]}.{$i.<=.$last}.{incr.i}.{
1a600 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 63 68 69 6c 64 20 74 79 70 ...if.{[string.equal.[$child.typ
1a620 65 20 24 69 5d 20 22 73 65 70 61 72 61 74 6f 72 22 5d 7d 20 7b 0d 09 09 20 20 20 20 63 6f 6e 74 e.$i]."separator"]}.{.......cont
1a640 69 6e 75 65 0d 09 09 7d 0d 09 09 73 65 74 20 63 68 61 72 32 20 5b 73 74 72 69 6e 67 20 69 6e 64 inue...}...set.char2.[string.ind
1a660 65 78 20 5b 24 63 68 69 6c 64 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 6c 61 62 65 6c 5d 20 ex.[$child.entrycget.$i.-label].
1a680 5c 0d 09 09 09 5b 24 63 68 69 6c 64 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 75 6e 64 65 72 \....[$child.entrycget.$i.-under
1a6a0 6c 69 6e 65 5d 5d 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 line]]...if.{[string.equal.$char
1a6c0 20 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 32 5d 5d 20 5c 0d 09 09 09 7c .[string.tolower.$char2]].\....|
1a6e0 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 20 22 22 5d 7d 20 7b 0d 09 09 20 |.[string.equal.$char.""]}.{....
1a700 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 63 68 69 6c 64 20 65 ...if.{[string.compare.[$child.e
1a720 6e 74 72 79 63 67 65 74 20 24 69 20 2d 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d ntrycget.$i.-state]."disabled"]}
1a740 20 7b 0d 09 09 09 72 65 74 75 72 6e 20 24 63 68 69 6c 64 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d .{....return.$child.......}...}.
1a760 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 68 69 .....}..}.....}......foreach.chi
1a780 6c 64 20 24 77 69 6e 64 6f 77 6c 69 73 74 20 7b 0d 09 23 20 44 6f 6e 27 74 20 64 65 73 63 65 6e ld.$windowlist.{..#.Don't.descen
1a7a0 64 20 69 6e 74 6f 20 6f 74 68 65 72 20 74 6f 70 6c 65 76 65 6c 73 2e 0d 20 20 20 20 20 20 20 20 d.into.other.toplevels..........
1a7c0 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 if.{[string.compare.[winfo.tople
1a7e0 76 65 6c 20 5b 66 6f 63 75 73 5d 5d 20 5c 0d 09 09 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c vel.[focus]].\...[winfo.toplevel
1a800 20 24 63 68 69 6c 64 5d 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 73 .$child]]}.{......continue..}..s
1a820 77 69 74 63 68 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 63 68 69 6c 64 5d 20 7b 0d 09 20 20 witch.[winfo.class.$child].{....
1a840 20 20 4d 65 6e 75 62 75 74 74 6f 6e 20 7b 0d 09 09 73 65 74 20 63 68 61 72 32 20 5b 73 74 72 69 ..Menubutton.{...set.char2.[stri
1a860 6e 67 20 69 6e 64 65 78 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 74 65 78 74 5d 20 5c 0d 09 ng.index.[$child.cget.-text].\..
1a880 09 09 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 75 6e 64 65 72 6c 69 6e 65 5d 5d 0d 09 09 69 66 ..[$child.cget.-underline]]...if
1a8a0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 20 5b 73 74 72 69 6e 67 20 74 6f .{[string.equal.$char.[string.to
1a8c0 6c 6f 77 65 72 20 24 63 68 61 72 32 5d 5d 20 5c 0d 09 09 09 7c 7c 20 5b 73 74 72 69 6e 67 20 65 lower.$char2]].\....||.[string.e
1a8e0 71 75 61 6c 20 24 63 68 61 72 20 22 22 5d 7d 20 7b 0d 09 09 20 20 20 20 69 66 20 7b 5b 73 74 72 qual.$char.""]}.{.......if.{[str
1a900 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 63 68 69 6c 64 20 63 67 65 74 20 2d 73 74 61 74 65 5d ing.compare.[$child.cget.-state]
1a920 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 09 09 72 65 74 75 72 6e 20 24 63 68 69 6c 64 ."disabled"]}.{....return.$child
1a940 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 0d 09 20 20 20 20 64 65 66 61 75 6c .......}...}......}.......defaul
1a960 74 20 7b 0d 09 09 73 65 74 20 6d 61 74 63 68 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 20 24 63 68 69 t.{...set.match.[tkMenuFind.$chi
1a980 6c 64 20 24 63 68 61 72 5d 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 ld.$char]...if.{[string.compare.
1a9a0 24 6d 61 74 63 68 20 22 22 5d 7d 20 7b 0d 09 09 20 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 $match.""]}.{.......return.$matc
1a9c0 68 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e h...}......}..}.....}.....return
1a9e0 20 7b 7d 0d 7d 0d 0d 23 20 74 6b 54 72 61 76 65 72 73 65 54 6f 4d 65 6e 75 20 2d 2d 0d 23 20 54 .{}.}..#.tkTraverseToMenu.--.#.T
1aa00 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 6b 65 79 62 6f 61 72 his.procedure.implements.keyboar
1aa20 64 20 74 72 61 76 65 72 73 61 6c 20 6f 66 20 6d 65 6e 75 73 2e 20 20 47 69 76 65 6e 20 61 6e 0d d.traversal.of.menus...Given.an.
1aa40 23 20 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 20 22 63 68 61 72 22 2c 20 69 74 20 6c 6f 6f #.ASCII.character."char",.it.loo
1aa60 6b 73 20 66 6f 72 20 61 20 6d 65 6e 75 62 75 74 74 6f 6e 20 77 69 74 68 20 74 68 61 74 20 63 68 ks.for.a.menubutton.with.that.ch
1aa80 61 72 61 63 74 65 72 0d 23 20 75 6e 64 65 72 6c 69 6e 65 64 2e 20 20 49 66 20 6f 6e 65 20 69 73 aracter.#.underlined...If.one.is
1aaa0 20 66 6f 75 6e 64 2c 20 69 74 20 70 6f 73 74 73 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 27 .found,.it.posts.the.menubutton'
1aac0 73 20 6d 65 6e 75 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 09 57 s.menu.#.#.Arguments:.#.w.-....W
1aae0 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 6b 65 79 20 77 61 73 20 74 79 70 65 64 indow.in.which.the.key.was.typed
1ab00 20 28 73 65 6c 65 63 74 73 0d 23 09 09 09 09 61 20 74 6f 70 6c 65 76 65 6c 20 77 69 6e 64 6f 77 .(selects.#....a.toplevel.window
1ab20 29 2e 0d 23 20 63 68 61 72 20 2d 09 09 09 43 68 61 72 61 63 74 65 72 20 74 68 61 74 20 73 65 6c )..#.char.-...Character.that.sel
1ab40 65 63 74 73 20 61 20 6d 65 6e 75 2e 20 20 54 68 65 20 63 61 73 65 0d 23 09 09 09 09 69 73 20 69 ects.a.menu...The.case.#....is.i
1ab60 67 6e 6f 72 65 64 2e 20 20 49 66 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 6e 6f 74 gnored...If.an.empty.string,.not
1ab80 68 69 6e 67 0d 23 09 09 09 09 68 61 70 70 65 6e 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 72 61 76 65 hing.#....happens...proc.tkTrave
1aba0 72 73 65 54 6f 4d 65 6e 75 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 rseToMenu.{w.char}.{.....global.
1abc0 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 tkPriv.....if.{[string.equal.$ch
1abe0 61 72 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 69 6c ar.""]}.{..return.....}.....whil
1ac00 65 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 e.{[string.equal.[winfo.class.$w
1ac20 5d 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 ]."Menu"]}.{..if.{[string.compar
1ac40 65 20 5b 24 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 20 5c 0d 09 e.[$w.cget.-type]."menubar"].\..
1ac60 09 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 70 6f 73 74 65 64 .&&.[string.equal.$tkPriv(posted
1ac80 4d 62 29 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 66 20 7b 5b Mb).""]}.{......return..}..if.{[
1aca0 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 string.equal.[$w.cget.-type]."me
1acc0 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 09 73 65 74 20 77 20 nubar"]}.{......break..}..set.w.
1ace0 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 [winfo.parent.$w].....}.....set.
1ad00 77 20 5b 74 6b 4d 65 6e 75 46 69 6e 64 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 w.[tkMenuFind.[winfo.toplevel.$w
1ad20 5d 20 24 63 68 61 72 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 ].$char].....if.{[string.compare
1ad40 20 24 77 20 22 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 .$w.""]}.{..if.{[string.equal.[w
1ad60 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 5d 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 20 20 20 20 74 info.class.$w]."Menu"]}.{......t
1ad80 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 24 77 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 k_menuSetFocus.$w......set.tkPri
1ada0 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 09 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f v(window).$w......tkSaveGrabInfo
1adc0 20 24 77 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 77 0d 09 20 20 20 20 74 6b .$w......grab.-global.$w......tk
1ade0 54 72 61 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 20 24 77 20 24 63 68 61 72 0d 09 7d 20 65 TraverseWithinMenu.$w.$char..}.e
1ae00 6c 73 65 20 7b 0d 09 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 77 0d 09 20 20 20 20 74 6b 4d 65 lse.{......tkMbPost.$w......tkMe
1ae20 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 24 77 20 63 67 65 74 20 2d 6d 65 6e 75 5d 0d 09 7d 0d nuFirstEntry.[$w.cget.-menu]..}.
1ae40 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 69 72 73 74 4d 65 6e 75 20 2d 2d 0d 23 20 54 68 69 73 ....}.}..#.tkFirstMenu.--.#.This
1ae60 20 70 72 6f 63 65 64 75 72 65 20 74 72 61 76 65 72 73 65 73 20 74 6f 20 74 68 65 20 66 69 72 73 .procedure.traverses.to.the.firs
1ae80 74 20 6d 65 6e 75 62 75 74 74 6f 6e 20 69 6e 20 74 68 65 20 74 6f 70 6c 65 76 65 6c 0d 23 20 66 t.menubutton.in.the.toplevel.#.f
1aea0 6f 72 20 61 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2c 20 61 6e 64 20 70 6f 73 74 73 20 74 68 61 or.a.given.window,.and.posts.tha
1aec0 74 20 6d 65 6e 75 62 75 74 74 6f 6e 27 73 20 6d 65 6e 75 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e t.menubutton's.menu..#.#.Argumen
1aee0 74 73 3a 0d 23 20 77 20 2d 09 09 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 2e 20 20 ts:.#.w.-....Name.of.a.window...
1af00 53 65 6c 65 63 74 73 20 77 68 69 63 68 20 74 6f 70 6c 65 76 65 6c 0d 23 09 09 09 09 74 6f 20 73 Selects.which.toplevel.#....to.s
1af20 65 61 72 63 68 20 66 6f 72 20 6d 65 6e 75 62 75 74 74 6f 6e 73 2e 0d 0d 70 72 6f 63 20 74 6b 46 earch.for.menubuttons...proc.tkF
1af40 69 72 73 74 4d 65 6e 75 20 77 20 7b 0d 20 20 20 20 73 65 74 20 77 20 5b 74 6b 4d 65 6e 75 46 69 irstMenu.w.{.....set.w.[tkMenuFi
1af60 6e 64 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 5d 20 22 22 5d 0d 20 20 20 20 69 nd.[winfo.toplevel.$w].""].....i
1af80 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 77 20 22 22 5d 7d 20 7b 0d 09 69 66 f.{[string.compare.$w.""]}.{..if
1afa0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 77 5d .{[string.equal.[winfo.class.$w]
1afc0 20 22 4d 65 6e 75 22 5d 7d 20 7b 0d 09 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 ."Menu"]}.{......tk_menuSetFocus
1afe0 20 24 77 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 77 69 6e 64 6f 77 29 20 24 77 0d 09 .$w......set.tkPriv(window).$w..
1b000 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 24 77 0d 09 20 20 20 20 67 72 61 62 20 ....tkSaveGrabInfo.$w......grab.
1b020 2d 67 6c 6f 62 61 6c 20 24 77 0d 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 -global.$w......tkMenuFirstEntry
1b040 20 24 77 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 74 6b 4d 62 50 6f 73 74 20 24 77 0d 09 .$w..}.else.{......tkMbPost.$w..
1b060 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 5b 24 77 20 63 67 65 74 20 2d 6d ....tkMenuFirstEntry.[$w.cget.-m
1b080 65 6e 75 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 72 61 76 65 72 73 65 57 69 74 enu]..}.....}.}..#.tkTraverseWit
1b0a0 68 69 6e 4d 65 6e 75 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 hinMenu.#.This.procedure.impleme
1b0c0 6e 74 73 20 6b 65 79 62 6f 61 72 64 20 74 72 61 76 65 72 73 61 6c 20 77 69 74 68 69 6e 20 61 20 nts.keyboard.traversal.within.a.
1b0e0 6d 65 6e 75 2e 20 20 49 74 0d 23 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 61 6e 20 65 6e 74 72 menu...It.#.searches.for.an.entr
1b100 79 20 69 6e 20 74 68 65 20 6d 65 6e 75 20 74 68 61 74 20 68 61 73 20 22 63 68 61 72 22 20 75 6e y.in.the.menu.that.has."char".un
1b120 64 65 72 6c 69 6e 65 64 2e 20 20 49 66 0d 23 20 73 75 63 68 20 61 6e 20 65 6e 74 72 79 20 69 73 derlined...If.#.such.an.entry.is
1b140 20 66 6f 75 6e 64 2c 20 69 74 20 69 73 20 69 6e 76 6f 6b 65 64 20 61 6e 64 20 74 68 65 20 6d 65 .found,.it.is.invoked.and.the.me
1b160 6e 75 20 69 73 20 75 6e 70 6f 73 74 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 nu.is.unposted..#.#.Arguments:.#
1b180 20 77 20 2d 09 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 77 69 64 .w.-....The.name.of.the.menu.wid
1b1a0 67 65 74 2e 0d 23 20 63 68 61 72 20 2d 09 09 09 54 68 65 20 63 68 61 72 61 63 74 65 72 20 74 6f get..#.char.-...The.character.to
1b1c0 20 6c 6f 6f 6b 20 66 6f 72 3b 20 20 63 61 73 65 20 69 73 0d 23 09 09 09 09 69 67 6e 6f 72 65 64 .look.for;..case.is.#....ignored
1b1e0 2e 20 20 49 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 73 20 65 6d 70 74 79 20 74 68 65 6e 0d 23 ...If.the.string.is.empty.then.#
1b200 09 09 09 09 6e 6f 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 72 61 ....nothing.happens...proc.tkTra
1b220 76 65 72 73 65 57 69 74 68 69 6e 4d 65 6e 75 20 7b 77 20 63 68 61 72 7d 20 7b 0d 20 20 20 20 69 verseWithinMenu.{w.char}.{.....i
1b240 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 20 22 22 5d 7d 20 7b 0d 09 72 f.{[string.equal.$char.""]}.{..r
1b260 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 63 68 61 72 20 5b 73 74 72 69 6e 67 eturn.....}.....set.char.[string
1b280 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 5d 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 77 .tolower.$char].....set.last.[$w
1b2a0 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 .index.last].....if.{[string.equ
1b2c0 61 6c 20 24 6c 61 73 74 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 al.$last."none"]}.{..return.....
1b2e0 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 3d 20 24 6c 61 73 74 }.....for.{set.i.0}.{$i.<=.$last
1b300 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 73 65 74 20 63 68 }.{incr.i}.{..if.{[catch.{set.ch
1b320 61 72 32 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5c 0d 09 09 5b 24 77 20 65 6e 74 72 79 63 ar2.[string.index.\...[$w.entryc
1b340 67 65 74 20 24 69 20 2d 6c 61 62 65 6c 5d 20 5b 24 77 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 get.$i.-label].[$w.entrycget.$i.
1b360 2d 75 6e 64 65 72 6c 69 6e 65 5d 5d 7d 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d -underline]]}]}.{......continue.
1b380 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 68 61 72 20 5b 73 74 72 .}..if.{[string.equal.$char.[str
1b3a0 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 63 68 61 72 32 5d 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 ing.tolower.$char2]]}.{......if.
1b3c0 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 74 79 70 65 20 24 69 5d 20 22 63 61 73 {[string.equal.[$w.type.$i]."cas
1b3e0 63 61 64 65 22 5d 7d 20 7b 0d 09 09 24 77 20 61 63 74 69 76 61 74 65 20 24 69 0d 09 09 24 77 20 cade"]}.{...$w.activate.$i...$w.
1b400 70 6f 73 74 63 61 73 63 61 64 65 20 61 63 74 69 76 65 0d 09 09 65 76 65 6e 74 20 67 65 6e 65 72 postcascade.active...event.gener
1b420 61 74 65 20 24 77 20 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 09 09 73 65 74 20 6d 32 20 5b ate.$w.<<MenuSelect>>...set.m2.[
1b440 24 77 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 6d 65 6e 75 5d 0d 09 09 69 66 20 7b 5b 73 74 $w.entrycget.$i.-menu]...if.{[st
1b460 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 6d 32 20 22 22 5d 7d 20 7b 0d 09 09 20 20 20 20 74 6b ring.compare.$m2.""]}.{.......tk
1b480 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 6d 32 0d 09 09 7d 0d 09 20 20 20 20 7d 20 65 6c MenuFirstEntry.$m2...}......}.el
1b4a0 73 65 20 7b 0d 09 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 74 20 24 77 0d 09 09 75 70 6c 65 76 65 6c se.{...tkMenuUnpost.$w...uplevel
1b4c0 20 23 30 20 5b 6c 69 73 74 20 24 77 20 69 6e 76 6f 6b 65 20 24 69 5d 0d 09 20 20 20 20 7d 0d 09 .#0.[list.$w.invoke.$i]......}..
1b4e0 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 46 ....return..}.....}.}..#.tkMenuF
1b500 69 72 73 74 45 6e 74 72 79 20 2d 2d 0d 23 20 47 69 76 65 6e 20 61 20 6d 65 6e 75 2c 20 74 68 69 irstEntry.--.#.Given.a.menu,.thi
1b520 73 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e 64 73 20 74 68 65 20 66 69 72 73 74 20 65 6e 74 72 s.procedure.finds.the.first.entr
1b540 79 20 74 68 61 74 20 69 73 6e 27 74 0d 23 20 64 69 73 61 62 6c 65 64 20 6f 72 20 61 20 74 65 61 y.that.isn't.#.disabled.or.a.tea
1b560 72 2d 6f 66 66 20 6f 72 20 73 65 70 61 72 61 74 6f 72 2c 20 61 6e 64 20 61 63 74 69 76 61 74 65 r-off.or.separator,.and.activate
1b580 73 20 74 68 61 74 20 65 6e 74 72 79 2e 0d 23 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 72 s.that.entry..#.However,.if.ther
1b5a0 65 20 69 73 20 61 6c 72 65 61 64 79 20 61 6e 20 61 63 74 69 76 65 20 65 6e 74 72 79 20 69 6e 20 e.is.already.an.active.entry.in.
1b5c0 74 68 65 20 6d 65 6e 75 20 28 65 2e 67 2e 2c 0d 23 20 62 65 63 61 75 73 65 20 6f 66 20 61 20 70 the.menu.(e.g.,.#.because.of.a.p
1b5e0 72 65 76 69 6f 75 73 20 63 61 6c 6c 20 74 6f 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 29 revious.call.to.tkPostOverPoint)
1b600 20 74 68 65 6e 20 74 68 65 20 61 63 74 69 76 65 0d 23 20 65 6e 74 72 79 20 69 73 6e 27 74 20 63 .then.the.active.#.entry.isn't.c
1b620 68 61 6e 67 65 64 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 61 6c 73 6f 20 73 65 74 hanged...This.procedure.also.set
1b640 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 0d 23 20 74 6f 20 74 68 65 20 6d 65 6e 75 2e s.the.input.focus.#.to.the.menu.
1b660 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f .#.#.Arguments:.#.menu.-..Name.o
1b680 66 20 74 68 65 20 6d 65 6e 75 20 77 69 6e 64 6f 77 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 f.the.menu.window.(possibly.empt
1b6a0 79 29 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 6d 65 6e 75 20 y)...proc.tkMenuFirstEntry.menu.
1b6c0 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6d 65 6e 75 20 22 22 {.....if.{[string.equal.$menu.""
1b6e0 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 5f 6d 65 6e 75 53 65 ]}.{..return.....}.....tk_menuSe
1b700 74 46 6f 63 75 73 20 24 6d 65 6e 75 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d tFocus.$menu.....if.{[string.com
1b720 70 61 72 65 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 63 74 69 76 65 5d 20 22 6e 6f 6e 65 22 pare.[$menu.index.active]."none"
1b740 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 ]}.{..return.....}.....set.last.
1b760 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 [$menu.index.last].....if.{[stri
1b780 6e 67 20 65 71 75 61 6c 20 24 6c 61 73 74 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 72 65 74 75 72 ng.equal.$last."none"]}.{..retur
1b7a0 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 3d n.....}.....for.{set.i.0}.{$i.<=
1b7c0 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 69 66 20 7b 28 5b 63 61 74 63 68 20 .$last}.{incr.i}.{..if.{([catch.
1b7e0 7b 73 65 74 20 73 74 61 74 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d {set.state.[$menu.entrycget.$i.-
1b800 73 74 61 74 65 5d 7d 5d 20 3d 3d 20 30 29 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f state]}].==.0).\...&&.[string.co
1b820 6d 70 61 72 65 20 24 73 74 61 74 65 20 22 64 69 73 61 62 6c 65 64 22 5d 20 5c 0d 09 09 26 26 20 mpare.$state."disabled"].\...&&.
1b840 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 74 79 70 65 20 24 69 5d 20 [string.compare.[$menu.type.$i].
1b860 22 74 65 61 72 6f 66 66 22 5d 7d 20 7b 0d 09 20 20 20 20 24 6d 65 6e 75 20 61 63 74 69 76 61 74 "tearoff"]}.{......$menu.activat
1b880 65 20 24 69 0d 09 20 20 20 20 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 e.$i......tkGenerateMenuSelect.$
1b8a0 6d 65 6e 75 0d 09 20 20 20 20 23 20 4f 6e 6c 79 20 70 6f 73 74 20 74 68 65 20 63 61 73 63 61 64 menu......#.Only.post.the.cascad
1b8c0 65 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6d 65 6e 75 20 69 73 20 61 20 6d 65 6e 75 62 e.if.the.current.menu.is.a.menub
1b8e0 61 72 3b 0d 09 20 20 20 20 23 20 6f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 65 20 66 69 72 ar;......#.otherwise,.if.the.fir
1b900 73 74 20 65 6e 74 72 79 20 6f 66 20 74 68 65 20 63 61 73 63 61 64 65 20 69 73 20 61 20 63 61 73 st.entry.of.the.cascade.is.a.cas
1b920 63 61 64 65 2c 0d 09 20 20 20 20 23 20 77 65 20 63 61 6e 20 67 65 74 20 61 6e 20 61 6e 6e 6f 79 cade,......#.we.can.get.an.annoy
1b940 69 6e 67 20 63 61 73 63 61 64 69 6e 67 20 65 66 66 65 63 74 20 72 65 73 75 6c 74 69 6e 67 20 69 ing.cascading.effect.resulting.i
1b960 6e 20 61 20 62 75 6e 63 68 20 6f 66 0d 09 20 20 20 20 23 20 6d 65 6e 75 73 20 67 65 74 74 69 6e n.a.bunch.of......#.menus.gettin
1b980 67 20 70 6f 73 74 65 64 20 28 62 75 67 20 36 37 36 29 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 g.posted.(bug.676)......if.{[str
1b9a0 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 20 74 79 70 65 20 24 69 5d 20 22 63 61 73 63 61 ing.equal.[$menu.type.$i]."casca
1b9c0 64 65 22 5d 20 26 26 20 5c 0d 09 09 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 6d 65 6e 75 de"].&&.\...[string.equal.[$menu
1b9e0 20 63 67 65 74 20 2d 74 79 70 65 5d 20 22 6d 65 6e 75 62 61 72 22 5d 7d 20 7b 0d 09 09 73 65 74 .cget.-type]."menubar"]}.{...set
1ba00 20 63 61 73 63 61 64 65 20 5b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 69 20 2d 6d 65 .cascade.[$menu.entrycget.$i.-me
1ba20 6e 75 5d 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 61 73 63 61 nu]...if.{[string.compare.$casca
1ba40 64 65 20 22 22 5d 7d 20 7b 0d 09 09 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 63 61 73 63 61 64 de.""]}.{.......$menu.postcascad
1ba60 65 20 24 69 0d 09 09 20 20 20 20 74 6b 4d 65 6e 75 46 69 72 73 74 45 6e 74 72 79 20 24 63 61 73 e.$i.......tkMenuFirstEntry.$cas
1ba80 63 61 64 65 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 20 cade...}......}......return..}..
1baa0 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 2d 2d 0d 23 20 47 69 ...}.}..#.tkMenuFindName.--.#.Gi
1bac0 76 65 6e 20 61 20 6d 65 6e 75 20 61 6e 64 20 61 20 74 65 78 74 20 73 74 72 69 6e 67 2c 20 72 65 ven.a.menu.and.a.text.string,.re
1bae0 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 65 6e 74 72 79 turn.the.index.of.the.menu.entry
1bb00 0d 23 20 74 68 61 74 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 73 74 72 69 6e 67 20 61 73 20 69 .#.that.displays.the.string.as.i
1bb20 74 73 20 6c 61 62 65 6c 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 65 ts.label...If.there.is.no.such.e
1bb40 6e 74 72 79 2c 0d 23 20 72 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 20 ntry,.#.return.an.empty.string..
1bb60 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 74 72 69 63 6b 79 20 62 65 63 61 75 73 .This.procedure.is.tricky.becaus
1bb80 65 20 73 6f 6d 65 20 6e 61 6d 65 73 0d 23 20 6c 69 6b 65 20 22 61 63 74 69 76 65 22 20 68 61 76 e.some.names.#.like."active".hav
1bba0 65 20 61 20 73 70 65 63 69 61 6c 20 6d 65 61 6e 69 6e 67 20 69 6e 20 6d 65 6e 75 20 63 6f 6d 6d e.a.special.meaning.in.menu.comm
1bbc0 61 6e 64 73 2c 20 73 6f 20 77 65 20 63 61 6e 27 74 0d 23 20 61 6c 77 61 79 73 20 75 73 65 20 74 ands,.so.we.can't.#.always.use.t
1bbe0 68 65 20 22 69 6e 64 65 78 22 20 77 69 64 67 65 74 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 41 he."index".widget.command..#.#.A
1bc00 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 rguments:.#.menu.-..Name.of.the.
1bc20 6d 65 6e 75 20 77 69 64 67 65 74 2e 0d 23 20 73 20 2d 09 09 09 53 74 72 69 6e 67 20 74 6f 20 6c menu.widget..#.s.-...String.to.l
1bc40 6f 6f 6b 20 66 6f 72 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 46 69 6e 64 4e 61 6d 65 20 7b 6d ook.for...proc.tkMenuFindName.{m
1bc60 65 6e 75 20 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 69 20 22 22 0d 20 20 20 20 69 66 20 7b 21 5b enu.s}.{.....set.i."".....if.{![
1bc80 72 65 67 65 78 70 20 7b 5e 61 63 74 69 76 65 24 7c 5e 6c 61 73 74 24 7c 5e 6e 6f 6e 65 24 7c 5e regexp.{^active$|^last$|^none$|^
1bca0 5b 30 2d 39 5d 7c 5e 40 7d 20 24 73 5d 7d 20 7b 0d 09 63 61 74 63 68 20 7b 73 65 74 20 69 20 5b [0-9]|^@}.$s]}.{..catch.{set.i.[
1bcc0 24 6d 65 6e 75 20 69 6e 64 65 78 20 24 73 5d 7d 0d 09 72 65 74 75 72 6e 20 24 69 0d 20 20 20 20 $menu.index.$s]}..return.$i.....
1bce0 7d 0d 20 20 20 20 73 65 74 20 6c 61 73 74 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 }.....set.last.[$menu.index.last
1bd00 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6c 61 73 74 20 22 6e ].....if.{[string.equal.$last."n
1bd20 6f 6e 65 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b one"]}.{..return.....}.....for.{
1bd40 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 72 20 69 7d 20 set.i.0}.{$i.<=.$last}.{incr.i}.
1bd60 7b 0d 09 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 24 6d 65 6e 75 20 65 6e 74 72 79 63 67 65 74 20 {..if.{![catch.{$menu.entrycget.
1bd80 24 69 20 2d 6c 61 62 65 6c 7d 20 6c 61 62 65 6c 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 $i.-label}.label]}.{......if.{[s
1bda0 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6c 61 62 65 6c 20 24 73 5d 7d 20 7b 0d 09 09 72 65 74 75 tring.equal.$label.$s]}.{...retu
1bdc0 72 6e 20 24 69 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e rn.$i......}..}.....}.....return
1bde0 20 22 22 0d 7d 0d 0d 23 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 2d 2d 0d 23 20 54 68 ."".}..#.tkPostOverPoint.--.#.Th
1be00 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 6f 73 74 73 20 61 20 67 69 76 65 6e 20 6d 65 6e 75 20 is.procedure.posts.a.given.menu.
1be20 73 75 63 68 20 74 68 61 74 20 61 20 67 69 76 65 6e 20 65 6e 74 72 79 20 69 6e 20 74 68 65 0d 23 such.that.a.given.entry.in.the.#
1be40 20 6d 65 6e 75 20 69 73 20 63 65 6e 74 65 72 65 64 20 6f 76 65 72 20 61 20 67 69 76 65 6e 20 70 .menu.is.centered.over.a.given.p
1be60 6f 69 6e 74 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f 77 2e 20 20 49 74 20 61 6c 73 oint.in.the.root.window...It.als
1be80 6f 0d 23 20 61 63 74 69 76 61 74 65 73 20 74 68 65 20 67 69 76 65 6e 20 65 6e 74 72 79 2e 0d 23 o.#.activates.the.given.entry..#
1bea0 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4d 65 6e 75 20 74 6f 20 .#.Arguments:.#.menu.-..Menu.to.
1bec0 70 6f 73 74 2e 0d 23 20 78 2c 20 79 20 2d 09 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 post..#.x,.y.-..Root.coordinates
1bee0 20 6f 66 20 70 6f 69 6e 74 2e 0d 23 20 65 6e 74 72 79 20 2d 09 09 49 6e 64 65 78 20 6f 66 20 65 .of.point..#.entry.-..Index.of.e
1bf00 6e 74 72 79 20 77 69 74 68 69 6e 20 6d 65 6e 75 20 74 6f 20 63 65 6e 74 65 72 20 6f 76 65 72 20 ntry.within.menu.to.center.over.
1bf20 28 78 2c 79 29 2e 0d 23 09 09 09 49 66 20 6f 6d 69 74 74 65 64 20 6f 72 20 73 70 65 63 69 66 69 (x,y)..#...If.omitted.or.specifi
1bf40 65 64 20 61 73 20 7b 7d 2c 20 74 68 65 6e 20 74 68 65 20 6d 65 6e 75 27 73 0d 23 09 09 09 75 70 ed.as.{},.then.the.menu's.#...up
1bf60 70 65 72 2d 6c 65 66 74 20 63 6f 72 6e 65 72 20 67 6f 65 73 20 61 74 20 28 78 2c 79 29 2e 0d 0d per-left.corner.goes.at.(x,y)...
1bf80 70 72 6f 63 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 7b 6d 65 6e 75 20 78 20 79 20 7b proc.tkPostOverPoint.{menu.x.y.{
1bfa0 65 6e 74 72 79 20 7b 7d 7d 7d 20 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 entry.{}}}..{.....global.tcl_pla
1bfc0 74 66 6f 72 6d 0d 20 20 20 20 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 tform..........if.{[string.compa
1bfe0 72 65 20 24 65 6e 74 72 79 20 7b 7d 5d 7d 20 7b 0d 09 69 66 20 7b 24 65 6e 74 72 79 20 3d 3d 20 re.$entry.{}]}.{..if.{$entry.==.
1c000 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 6c 61 73 74 5d 7d 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 [$menu.index.last]}.{......incr.
1c020 79 20 5b 65 78 70 72 20 7b 2d 28 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 y.[expr.{-([$menu.yposition.$ent
1c040 72 79 5d 20 5c 0d 09 09 20 20 20 20 2b 20 5b 77 69 6e 66 6f 20 72 65 71 68 65 69 67 68 74 20 24 ry].\.......+.[winfo.reqheight.$
1c060 6d 65 6e 75 5d 29 2f 32 7d 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 79 menu])/2}]..}.else.{......incr.y
1c080 20 5b 65 78 70 72 20 7b 2d 28 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 24 65 6e 74 72 .[expr.{-([$menu.yposition.$entr
1c0a0 79 5d 20 5c 0d 09 09 20 20 20 20 2b 20 5b 24 6d 65 6e 75 20 79 70 6f 73 69 74 69 6f 6e 20 5b 65 y].\.......+.[$menu.yposition.[e
1c0c0 78 70 72 20 7b 24 65 6e 74 72 79 2b 31 7d 5d 5d 29 2f 32 7d 5d 0d 09 7d 0d 09 69 6e 63 72 20 78 xpr.{$entry+1}]])/2}]..}..incr.x
1c0e0 20 5b 65 78 70 72 20 7b 2d 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 20 24 6d 65 6e 75 5d 2f .[expr.{-[winfo.reqwidth.$menu]/
1c100 32 7d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 20 2}].....}.....$menu.post.$x.$y..
1c120 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 65 6e 74 72 79 20 7b 7d ...if.{[string.compare.$entry.{}
1c140 5d 20 5c 0d 09 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 ].\......&&.[string.compare.[$me
1c160 6e 75 20 65 6e 74 72 79 63 67 65 74 20 24 65 6e 74 72 79 20 2d 73 74 61 74 65 5d 20 22 64 69 73 nu.entrycget.$entry.-state]."dis
1c180 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 24 6d 65 6e 75 20 61 63 74 69 76 61 74 65 20 24 65 6e 74 72 abled"]}.{..$menu.activate.$entr
1c1a0 79 0d 09 74 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 24 6d 65 6e 75 0d 20 20 y..tkGenerateMenuSelect.$menu...
1c1c0 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 2d 2d 0d 23 20 53 65 74 ..}.}..#.tkSaveGrabInfo.--.#.Set
1c1e0 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 s.the.variables.tkPriv(oldGrab).
1c200 61 6e 64 20 74 6b 50 72 69 76 28 67 72 61 62 53 74 61 74 75 73 29 20 74 6f 20 72 65 63 6f 72 64 and.tkPriv(grabStatus).to.record
1c220 0d 23 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 67 72 61 .#.the.state.of.any.existing.gra
1c240 62 20 6f 6e 20 74 68 65 20 77 27 73 20 64 69 73 70 6c 61 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 b.on.the.w's.display..#.#.Argume
1c260 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 61 20 77 69 6e 64 6f 77 3b 20 20 nts:.#.w.-...Name.of.a.window;..
1c280 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 64 69 73 70 6c 61 79 0d 23 09 09 09 77 used.to.select.the.display.#...w
1c2a0 68 6f 73 65 20 67 72 61 62 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 72 hose.grab.information.is.to.be.r
1c2c0 65 63 6f 72 64 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 77 20 ecorded...proc.tkSaveGrabInfo.w.
1c2e0 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 {.....global.tkPriv.....set.tkPr
1c300 69 76 28 6f 6c 64 47 72 61 62 29 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 24 77 5d 0d 20 20 iv(oldGrab).[grab.current.$w]...
1c320 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 6f 6c ..if.{[string.compare.$tkPriv(ol
1c340 64 47 72 61 62 29 20 22 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 67 72 61 62 53 74 dGrab).""]}.{..set.tkPriv(grabSt
1c360 61 74 75 73 29 20 5b 67 72 61 62 20 73 74 61 74 75 73 20 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 atus).[grab.status.$tkPriv(oldGr
1c380 61 62 29 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 62 ab)].....}.}..#.tkRestoreOldGrab
1c3a0 20 2d 2d 0d 23 20 52 65 73 74 6f 72 65 73 20 74 68 65 20 67 72 61 62 20 74 6f 20 77 68 61 74 20 .--.#.Restores.the.grab.to.what.
1c3c0 69 74 20 77 61 73 20 62 65 66 6f 72 65 20 54 6b 53 61 76 65 47 72 61 62 49 6e 66 6f 20 77 61 73 it.was.before.TkSaveGrabInfo.was
1c3e0 20 63 61 6c 6c 65 64 2e 0d 23 0d 0d 70 72 6f 63 20 74 6b 52 65 73 74 6f 72 65 4f 6c 64 47 72 61 .called..#..proc.tkRestoreOldGra
1c400 62 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 b.{}.{.....global.tkPriv......if
1c420 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 .{[string.compare.$tkPriv(oldGra
1c440 62 29 20 22 22 5d 7d 20 7b 0d 0d 20 20 20 20 09 23 20 42 65 20 63 61 72 65 66 75 6c 20 72 65 73 b).""]}.{.......#.Be.careful.res
1c460 74 6f 72 69 6e 67 20 74 68 65 20 6f 6c 64 20 67 72 61 62 2c 20 73 69 6e 63 65 20 69 74 27 73 20 toring.the.old.grab,.since.it's.
1c480 77 69 6e 64 6f 77 20 6d 61 79 20 6e 6f 74 0d 09 23 20 62 65 20 76 69 73 69 62 6c 65 20 61 6e 79 window.may.not..#.be.visible.any
1c4a0 6d 6f 72 65 2e 0d 0d 09 63 61 74 63 68 20 7b 0d 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b 73 more....catch.{...........if.{[s
1c4c0 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 67 72 61 62 53 74 61 74 75 73 29 20 tring.equal.$tkPriv(grabStatus).
1c4e0 22 67 6c 6f 62 61 6c 22 5d 7d 20 7b 0d 09 09 67 72 61 62 20 73 65 74 20 2d 67 6c 6f 62 61 6c 20 "global"]}.{...grab.set.-global.
1c500 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 $tkPriv(oldGrab)......}.else.{..
1c520 09 67 72 61 62 20 73 65 74 20 24 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 0d 09 20 20 20 20 .grab.set.$tkPriv(oldGrab)......
1c540 7d 0d 09 7d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6f 6c 64 47 72 61 62 29 20 22 22 0d 20 20 20 }..}..set.tkPriv(oldGrab).""....
1c560 20 7d 0d 7d 0d 0d 70 72 6f 63 20 74 6b 5f 6d 65 6e 75 53 65 74 46 6f 63 75 73 20 7b 6d 65 6e 75 .}.}..proc.tk_menuSetFocus.{menu
1c580 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b }.{.....global.tkPriv.....if.{![
1c5a0 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 5d 20 7c 7c 20 5b 73 info.exists.tkPriv(focus)].||.[s
1c5c0 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 7b 7d 5d 7d 20 tring.equal.$tkPriv(focus).{}]}.
1c5e0 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 5b 66 6f 63 75 73 5d 0d 20 20 20 {..set.tkPriv(focus).[focus]....
1c600 20 7d 0d 20 20 20 20 66 6f 63 75 73 20 24 6d 65 6e 75 0d 7d 0d 20 20 20 20 0d 70 72 6f 63 20 74 .}.....focus.$menu.}......proc.t
1c620 6b 47 65 6e 65 72 61 74 65 4d 65 6e 75 53 65 6c 65 63 74 20 7b 6d 65 6e 75 7d 20 7b 0d 20 20 20 kGenerateMenuSelect.{menu}.{....
1c640 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 .global.tkPriv......if.{[string.
1c660 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 65 4d 65 6e 75 29 20 24 6d 65 6e 75 5d equal.$tkPriv(activeMenu).$menu]
1c680 20 5c 0d 20 20 20 20 20 20 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 .\...........&&.[string.equal.$t
1c6a0 6b 50 72 69 76 28 61 63 74 69 76 65 49 74 65 6d 29 20 5b 24 6d 65 6e 75 20 69 6e 64 65 78 20 61 kPriv(activeItem).[$menu.index.a
1c6c0 63 74 69 76 65 5d 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 ctive]]}.{..return.....}......se
1c6e0 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 4d 65 6e 75 29 20 24 6d 65 6e 75 0d 20 20 20 20 73 t.tkPriv(activeMenu).$menu.....s
1c700 65 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 49 74 65 6d 29 20 5b 24 6d 65 6e 75 20 69 6e 64 et.tkPriv(activeItem).[$menu.ind
1c720 65 78 20 61 63 74 69 76 65 5d 0d 20 20 20 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 24 6d ex.active].....event.generate.$m
1c740 65 6e 75 20 3c 3c 4d 65 6e 75 53 65 6c 65 63 74 3e 3e 0d 7d 0d 0d 23 20 74 6b 5f 70 6f 70 75 70 enu.<<MenuSelect>>.}..#.tk_popup
1c760 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 6f 70 73 20 75 70 20 61 20 6d .--.#.This.procedure.pops.up.a.m
1c780 65 6e 75 20 61 6e 64 20 73 65 74 73 20 74 68 69 6e 67 73 20 75 70 20 66 6f 72 20 74 72 61 76 65 enu.and.sets.things.up.for.trave
1c7a0 72 73 69 6e 67 0d 23 20 74 68 65 20 6d 65 6e 75 20 61 6e 64 20 69 74 73 20 73 75 62 6d 65 6e 75 rsing.#.the.menu.and.its.submenu
1c7c0 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6d 65 6e 75 20 2d 09 09 4e 61 6d 65 s..#.#.Arguments:.#.menu.-..Name
1c7e0 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 74 6f 20 62 65 20 70 6f 70 70 65 64 20 75 70 2e 0d 23 20 .of.the.menu.to.be.popped.up..#.
1c800 78 2c 20 79 20 2d 09 09 52 6f 6f 74 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 74 20 77 68 69 63 x,.y.-..Root.coordinates.at.whic
1c820 68 20 74 6f 20 70 6f 70 20 75 70 20 74 68 65 0d 23 09 09 09 6d 65 6e 75 2e 0d 23 20 65 6e 74 72 h.to.pop.up.the.#...menu..#.entr
1c840 79 20 2d 09 09 49 6e 64 65 78 20 6f 66 20 61 20 6d 65 6e 75 20 65 6e 74 72 79 20 74 6f 20 63 65 y.-..Index.of.a.menu.entry.to.ce
1c860 6e 74 65 72 20 6f 76 65 72 20 28 78 2c 79 29 2e 0d 23 09 09 09 49 66 20 6f 6d 69 74 74 65 64 20 nter.over.(x,y)..#...If.omitted.
1c880 6f 72 20 73 70 65 63 69 66 69 65 64 20 61 73 20 7b 7d 2c 20 74 68 65 6e 20 6d 65 6e 75 27 73 0d or.specified.as.{},.then.menu's.
1c8a0 23 09 09 09 75 70 70 65 72 2d 6c 65 66 74 20 63 6f 72 6e 65 72 20 67 6f 65 73 20 61 74 20 28 78 #...upper-left.corner.goes.at.(x
1c8c0 2c 79 29 2e 0d 0d 70 72 6f 63 20 74 6b 5f 70 6f 70 75 70 20 7b 6d 65 6e 75 20 78 20 79 20 7b 65 ,y)...proc.tk_popup.{menu.x.y.{e
1c8e0 6e 74 72 79 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 ntry.{}}}.{.....global.tkPriv...
1c900 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 69 66 20 7b 5b 73 ..global.tcl_platform.....if.{[s
1c920 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 22 22 5d tring.compare.$tkPriv(popup).""]
1c940 20 5c 0d 09 20 20 20 20 7c 7c 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 .\......||.[string.compare.$tkPr
1c960 69 76 28 70 6f 73 74 65 64 4d 62 29 20 22 22 5d 7d 20 7b 0d 09 74 6b 4d 65 6e 75 55 6e 70 6f 73 iv(postedMb).""]}.{..tkMenuUnpos
1c980 74 20 7b 7d 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 50 6f 73 74 4f 76 65 72 50 6f 69 6e 74 20 24 t.{}.....}.....tkPostOverPoint.$
1c9a0 6d 65 6e 75 20 24 78 20 24 79 20 24 65 6e 74 72 79 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e menu.$x.$y.$entry.....if.{[strin
1c9c0 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 g.equal.$tcl_platform(platform).
1c9e0 22 75 6e 69 78 22 5d 20 5c 0d 09 20 20 20 20 26 26 20 5b 77 69 6e 66 6f 20 76 69 65 77 61 62 6c "unix"].\......&&.[winfo.viewabl
1ca00 65 20 24 6d 65 6e 75 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 74 6b 53 61 76 65 47 72 61 62 49 6e e.$menu]}.{.........tkSaveGrabIn
1ca20 66 6f 20 24 6d 65 6e 75 0d 09 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6d 65 6e 75 0d 09 73 65 fo.$menu..grab.-global.$menu..se
1ca40 74 20 74 6b 50 72 69 76 28 70 6f 70 75 70 29 20 24 6d 65 6e 75 0d 09 74 6b 5f 6d 65 6e 75 53 65 t.tkPriv(popup).$menu..tk_menuSe
1ca60 74 46 6f 63 75 73 20 24 6d 65 6e 75 0d 20 20 20 20 7d 0d 7d 0d 00 00 06 7b 23 20 6f 70 74 4d 65 tFocus.$menu.....}.}....{#.optMe
1ca80 6e 75 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 nu.tcl.--.#.#.This.file.defines.
1caa0 74 68 65 20 70 72 6f 63 65 64 75 72 65 20 74 6b 5f 6f 70 74 69 6f 6e 4d 65 6e 75 2c 20 77 68 69 the.procedure.tk_optionMenu,.whi
1cac0 63 68 20 63 72 65 61 74 65 73 0d 23 20 61 6e 20 6f 70 74 69 6f 6e 20 62 75 74 74 6f 6e 20 61 6e ch.creates.#.an.option.button.an
1cae0 64 20 69 74 73 20 61 73 73 6f 63 69 61 74 65 64 20 6d 65 6e 75 2e 0d 23 0d 23 20 52 43 53 3a 20 d.its.associated.menu..#.#.RCS:.
1cb00 40 28 23 29 20 24 49 64 3a 20 6f 70 74 4d 65 6e 75 2e 74 63 6c 2c 76 20 31 2e 33 20 31 39 39 38 @(#).$Id:.optMenu.tcl,v.1.3.1998
1cb20 2f 30 39 2f 31 34 20 31 38 3a 32 33 3a 32 34 20 73 74 61 6e 74 6f 6e 20 45 78 70 20 24 0d 23 0d /09/14.18:23:24.stanton.Exp.$.#.
1cb40 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 #.Copyright.(c).1994.The.Regents
1cb60 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 .of.the.University.of.California
1cb80 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 53 75 6e 20 4d 69 63 72 6f ..#.Copyright.(c).1994.Sun.Micro
1cba0 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 systems,.Inc..#.#.See.the.file."
1cbc0 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f license.terms".for.information.o
1cbe0 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 n.usage.and.redistribution.#.of.
1cc00 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 this.file,.and.for.a.DISCLAIMER.
1cc20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 6b 5f 6f 70 74 69 6f OF.ALL.WARRANTIES..#..#.tk_optio
1cc40 6e 4d 65 6e 75 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 72 65 61 74 65 nMenu.--.#.This.procedure.create
1cc60 73 20 61 6e 20 6f 70 74 69 6f 6e 20 62 75 74 74 6f 6e 20 6e 61 6d 65 64 20 24 77 20 61 6e 64 20 s.an.option.button.named.$w.and.
1cc80 61 6e 20 61 73 73 6f 63 69 61 74 65 64 0d 23 20 6d 65 6e 75 2e 20 20 54 6f 67 65 74 68 65 72 20 an.associated.#.menu...Together.
1cca0 74 68 65 79 20 70 72 6f 76 69 64 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f they.provide.the.functionality.o
1ccc0 66 20 4d 6f 74 69 66 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 73 3a 0d 23 20 74 68 65 79 20 63 61 6e f.Motif.option.menus:.#.they.can
1cce0 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 6c 65 63 74 20 6f 6e 65 20 6f 66 20 6d 61 6e 79 20 76 .be.used.to.select.one.of.many.v
1cd00 61 6c 75 65 73 2c 20 61 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 0d 23 20 61 alues,.and.the.current.value.#.a
1cd20 70 70 65 61 72 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 76 61 ppears.in.the.global.variable.va
1cd40 72 4e 61 6d 65 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 20 74 68 65 20 74 65 78 74 20 6f 66 rName,.as.well.as.in.the.text.of
1cd60 0d 23 20 74 68 65 20 6f 70 74 69 6f 6e 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 20 20 54 68 65 20 6e .#.the.option.menubutton...The.n
1cd80 61 6d 65 20 6f 66 20 74 68 65 20 6d 65 6e 75 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 74 ame.of.the.menu.is.returned.as.t
1cda0 68 65 0d 23 20 70 72 6f 63 65 64 75 72 65 27 73 20 72 65 73 75 6c 74 2c 20 73 6f 20 74 68 61 74 he.#.procedure's.result,.so.that
1cdc0 20 74 68 65 20 63 61 6c 6c 65 72 20 63 61 6e 20 75 73 65 20 69 74 20 74 6f 20 63 68 61 6e 67 65 .the.caller.can.use.it.to.change
1cde0 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0d 23 20 6f 70 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 .configuration.#.options.on.the.
1ce00 6d 65 6e 75 20 6f 72 20 6f 74 68 65 72 77 69 73 65 20 6d 61 6e 69 70 75 6c 61 74 65 20 69 74 2e menu.or.otherwise.manipulate.it.
1ce20 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 .#.#.Arguments:.#.w.-...The.name
1ce40 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 65 20 6d 65 6e 75 62 75 74 74 6f 6e 2e 0d 23 20 76 61 .to.use.for.the.menubutton..#.va
1ce60 72 4e 61 6d 65 20 2d 09 09 47 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 6f 6c 64 rName.-..Global.variable.to.hold
1ce80 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 2e 0d 23 .the.currently.selected.value..#
1cea0 20 66 69 72 73 74 56 61 6c 75 65 20 2d 09 09 46 69 72 73 74 20 6f 66 20 6c 65 67 61 6c 20 76 61 .firstValue.-..First.of.legal.va
1cec0 6c 75 65 73 20 66 6f 72 20 6f 70 74 69 6f 6e 20 28 6d 75 73 74 20 62 65 20 3e 3d 20 31 29 2e 0d lues.for.option.(must.be.>=.1)..
1cee0 23 20 61 72 67 73 20 2d 09 09 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 64 64 69 74 69 6f 6e #.args.-..Any.number.of.addition
1cf00 61 6c 20 76 61 6c 75 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 5f 6f 70 74 69 6f 6e 4d 65 6e 75 20 7b al.values...proc.tk_optionMenu.{
1cf20 77 20 76 61 72 4e 61 6d 65 20 66 69 72 73 74 56 61 6c 75 65 20 61 72 67 73 7d 20 7b 0d 20 20 20 w.varName.firstValue.args}.{....
1cf40 20 75 70 76 61 72 20 23 30 20 24 76 61 72 4e 61 6d 65 20 76 61 72 0d 0d 20 20 20 20 69 66 20 7b .upvar.#0.$varName.var......if.{
1cf60 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 76 61 72 5d 7d 20 7b 0d 09 73 65 74 20 76 61 72 20 24 ![info.exists.var]}.{..set.var.$
1cf80 66 69 72 73 74 56 61 6c 75 65 0d 20 20 20 20 7d 0d 20 20 20 20 6d 65 6e 75 62 75 74 74 6f 6e 20 firstValue.....}.....menubutton.
1cfa0 24 77 20 2d 74 65 78 74 76 61 72 69 61 62 6c 65 20 24 76 61 72 4e 61 6d 65 20 2d 69 6e 64 69 63 $w.-textvariable.$varName.-indic
1cfc0 61 74 6f 72 6f 6e 20 31 20 2d 6d 65 6e 75 20 24 77 2e 6d 65 6e 75 20 5c 0d 09 20 20 20 20 2d 72 atoron.1.-menu.$w.menu.\......-r
1cfe0 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 32 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 elief.raised.-bd.2.-highlightthi
1d000 63 6b 6e 65 73 73 20 32 20 2d 61 6e 63 68 6f 72 20 63 20 5c 0d 09 20 20 20 20 2d 64 69 72 65 63 ckness.2.-anchor.c.\......-direc
1d020 74 69 6f 6e 20 66 6c 75 73 68 0d 20 20 20 20 6d 65 6e 75 20 24 77 2e 6d 65 6e 75 20 2d 74 65 61 tion.flush.....menu.$w.menu.-tea
1d040 72 6f 66 66 20 30 0d 20 20 20 20 24 77 2e 6d 65 6e 75 20 61 64 64 20 72 61 64 69 6f 62 75 74 74 roff.0.....$w.menu.add.radiobutt
1d060 6f 6e 20 2d 6c 61 62 65 6c 20 24 66 69 72 73 74 56 61 6c 75 65 20 2d 76 61 72 69 61 62 6c 65 20 on.-label.$firstValue.-variable.
1d080 24 76 61 72 4e 61 6d 65 0d 20 20 20 20 66 6f 72 65 61 63 68 20 69 20 24 61 72 67 73 20 7b 0d 20 $varName.....foreach.i.$args.{..
1d0a0 20 20 20 09 24 77 2e 6d 65 6e 75 20 61 64 64 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 2d 6c 61 62 ....$w.menu.add.radiobutton.-lab
1d0c0 65 6c 20 24 69 20 2d 76 61 72 69 61 62 6c 65 20 24 76 61 72 4e 61 6d 65 0d 20 20 20 20 7d 0d 20 el.$i.-variable.$varName.....}..
1d0e0 20 20 20 72 65 74 75 72 6e 20 24 77 2e 6d 65 6e 75 0d 7d 0d 00 00 1c e4 23 20 70 61 6c 65 74 74 ...return.$w.menu.}.....#.palett
1d100 65 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 e.tcl.--.#.#.This.file.contains.
1d120 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 63 68 61 6e 67 65 20 74 68 65 20 63 6f 6c 6f 72 procedures.that.change.the.color
1d140 20 70 61 6c 65 74 74 65 20 75 73 65 64 0d 23 20 62 79 20 54 6b 2e 0d 23 0d 23 20 52 43 53 3a 20 .palette.used.#.by.Tk..#.#.RCS:.
1d160 40 28 23 29 20 24 49 64 3a 20 70 61 6c 65 74 74 65 2e 74 63 6c 2c 76 20 31 2e 35 20 31 39 39 39 @(#).$Id:.palette.tcl,v.1.5.1999
1d180 2f 30 39 2f 30 32 20 31 37 3a 30 32 3a 35 33 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 /09/02.17:02:53.hobbs.Exp.$.#.#.
1d1a0 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 35 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 Copyright.(c).1995-1997.Sun.Micr
1d1c0 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 osystems,.Inc..#.#.See.the.file.
1d1e0 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 "license.terms".for.information.
1d200 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 on.usage.and.redistribution.#.of
1d220 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 .this.file,.and.for.a.DISCLAIMER
1d240 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 6b 5f 73 65 74 50 .OF.ALL.WARRANTIES..#..#.tk_setP
1d260 61 6c 65 74 74 65 20 2d 2d 0d 23 20 43 68 61 6e 67 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 alette.--.#.Changes.the.default.
1d280 63 6f 6c 6f 72 20 73 63 68 65 6d 65 20 66 6f 72 20 61 20 54 6b 20 61 70 70 6c 69 63 61 74 69 6f color.scheme.for.a.Tk.applicatio
1d2a0 6e 20 62 79 20 73 65 74 74 69 6e 67 0d 23 20 64 65 66 61 75 6c 74 20 63 6f 6c 6f 72 73 20 69 6e n.by.setting.#.default.colors.in
1d2c0 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 61 6e 64 20 62 79 20 6d 6f 64 69 .the.option.database.and.by.modi
1d2e0 66 79 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 65 0d 23 20 63 6f 6c 6f 72 20 6f 70 74 69 6f 6e 73 fying.all.of.the.#.color.options
1d300 20 66 6f 72 20 65 78 69 73 74 69 6e 67 20 77 69 64 67 65 74 73 20 74 68 61 74 20 68 61 76 65 20 .for.existing.widgets.that.have.
1d320 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 the.default.value..#.#.Arguments
1d340 3a 0d 23 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 63 6f 6e 73 69 73 74 20 6f 66 20 65 69 74 :.#.The.arguments.consist.of.eit
1d360 68 65 72 20 61 20 73 69 6e 67 6c 65 20 63 6f 6c 6f 72 20 6e 61 6d 65 2c 20 77 68 69 63 68 0d 23 her.a.single.color.name,.which.#
1d380 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 65 77 20 62 61 63 6b 67 72 6f .will.be.used.as.the.new.backgro
1d3a0 75 6e 64 20 63 6f 6c 6f 72 20 28 61 6c 6c 20 6f 74 68 65 72 20 63 6f 6c 6f 72 73 20 77 69 6c 6c und.color.(all.other.colors.will
1d3c0 0d 23 20 62 65 20 63 6f 6d 70 75 74 65 64 20 66 72 6f 6d 20 74 68 69 73 29 20 6f 72 20 61 6e 20 .#.be.computed.from.this).or.an.
1d3e0 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 76 61 6c 75 65 73 20 63 6f 6e 73 69 73 74 69 6e 67 even.number.of.values.consisting
1d400 20 6f 66 0d 23 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73 2e 20 20 .of.#.option.names.and.values...
1d420 54 68 65 20 6e 61 6d 65 20 66 6f 72 20 61 6e 20 6f 70 74 69 6f 6e 20 69 73 20 74 68 65 20 6f 6e The.name.for.an.option.is.the.on
1d440 65 20 75 73 65 64 0d 23 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 e.used.#.for.the.option.database
1d460 2c 20 73 75 63 68 20 61 73 20 61 63 74 69 76 65 46 6f 72 65 67 72 6f 75 6e 64 2c 20 6e 6f 74 20 ,.such.as.activeForeground,.not.
1d480 2d 61 63 74 69 76 65 66 6f 72 65 67 72 6f 75 6e 64 2e 0d 0d 70 72 6f 63 20 74 6b 5f 73 65 74 50 -activeforeground...proc.tk_setP
1d4a0 61 6c 65 74 74 65 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 77 69 6e 66 6f 20 64 alette.{args}.{.....if.{[winfo.d
1d4c0 65 70 74 68 20 2e 5d 20 3d 3d 20 31 7d 20 7b 0d 09 23 20 4a 75 73 74 20 72 65 74 75 72 6e 20 6f epth..].==.1}.{..#.Just.return.o
1d4e0 6e 20 6d 6f 6e 6f 63 68 72 6f 6d 65 20 64 69 73 70 6c 61 79 73 2c 20 6f 74 68 65 72 77 69 73 65 n.monochrome.displays,.otherwise
1d500 20 65 72 72 6f 72 73 20 77 69 6c 6c 20 6f 63 63 75 72 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d .errors.will.occur..return.....}
1d520 0d 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 61 6c 65 74 74 65 0d 0d 20 20 20 20 23 20 43 72 ......global.tkPalette......#.Cr
1d540 65 61 74 65 20 61 6e 20 61 72 72 61 79 20 74 68 61 74 20 68 61 73 20 74 68 65 20 63 6f 6d 70 6c eate.an.array.that.has.the.compl
1d560 65 74 65 20 6e 65 77 20 70 61 6c 65 74 74 65 2e 20 20 49 66 20 73 6f 6d 65 20 63 6f 6c 6f 72 73 ete.new.palette...If.some.colors
1d580 0d 20 20 20 20 23 20 61 72 65 6e 27 74 20 73 70 65 63 69 66 69 65 64 2c 20 63 6f 6d 70 75 74 65 .....#.aren't.specified,.compute
1d5a0 20 74 68 65 6d 20 66 72 6f 6d 20 6f 74 68 65 72 20 63 6f 6c 6f 72 73 20 74 68 61 74 20 61 72 65 .them.from.other.colors.that.are
1d5c0 20 73 70 65 63 69 66 69 65 64 2e 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 61 .specified.......if.{[llength.$a
1d5e0 72 67 73 5d 20 3d 3d 20 31 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 62 61 63 6b 67 72 6f 75 6e 64 rgs].==.1}.{..set.new(background
1d600 29 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d ).[lindex.$args.0].....}.else.{.
1d620 09 61 72 72 61 79 20 73 65 74 20 6e 65 77 20 24 61 72 67 73 0d 20 20 20 20 7d 0d 20 20 20 20 69 .array.set.new.$args.....}.....i
1d640 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 62 61 63 6b 67 72 6f 75 6e 64 29 f.{![info.exists.new(background)
1d660 5d 7d 20 7b 0d 09 65 72 72 6f 72 20 22 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 62 61 63 6b ]}.{..error."must.specify.a.back
1d680 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e ground.color".....}.....if.{![in
1d6a0 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 5d 7d 20 7b 0d 09 73 fo.exists.new(foreground)]}.{..s
1d6c0 65 74 20 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 20 62 6c 61 63 6b 0d 20 20 20 20 7d 0d 20 et.new(foreground).black.....}..
1d6e0 20 20 20 73 65 74 20 62 67 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 6e 65 77 28 62 61 63 6b ...set.bg.[winfo.rgb...$new(back
1d700 67 72 6f 75 6e 64 29 5d 0d 20 20 20 20 73 65 74 20 66 67 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e ground)].....set.fg.[winfo.rgb..
1d720 20 24 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 5d 0d 20 20 20 20 73 65 74 20 64 61 72 6b 65 .$new(foreground)].....set.darke
1d740 72 42 67 20 5b 66 6f 72 6d 61 74 20 23 25 30 32 78 25 30 32 78 25 30 32 78 20 5b 65 78 70 72 20 rBg.[format.#%02x%02x%02x.[expr.
1d760 7b 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 30 5d 29 2f 32 35 36 30 7d 5d 20 5c 0d 09 20 20 {(9*[lindex.$bg.0])/2560}].\....
1d780 20 20 5b 65 78 70 72 20 7b 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 31 5d 29 2f 32 35 36 30 ..[expr.{(9*[lindex.$bg.1])/2560
1d7a0 7d 5d 20 5b 65 78 70 72 20 7b 28 39 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 32 5d 29 2f 32 35 36 }].[expr.{(9*[lindex.$bg.2])/256
1d7c0 30 7d 5d 5d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 69 20 7b 61 63 74 69 76 65 46 6f 72 65 67 72 0}]].....foreach.i.{activeForegr
1d7e0 6f 75 6e 64 20 69 6e 73 65 72 74 42 61 63 6b 67 72 6f 75 6e 64 20 73 65 6c 65 63 74 46 6f 72 65 ound.insertBackground.selectFore
1d800 67 72 6f 75 6e 64 20 5c 0d 09 20 20 20 20 68 69 67 68 6c 69 67 68 74 43 6f 6c 6f 72 7d 20 7b 0d ground.\......highlightColor}.{.
1d820 09 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 24 69 29 5d 7d 20 7b 0d 09 .if.{![info.exists.new($i)]}.{..
1d840 20 20 20 20 73 65 74 20 6e 65 77 28 24 69 29 20 24 6e 65 77 28 66 6f 72 65 67 72 6f 75 6e 64 29 ....set.new($i).$new(foreground)
1d860 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 ..}.....}.....if.{![info.exists.
1d880 6e 65 77 28 64 69 73 61 62 6c 65 64 46 6f 72 65 67 72 6f 75 6e 64 29 5d 7d 20 7b 0d 09 73 65 74 new(disabledForeground)]}.{..set
1d8a0 20 6e 65 77 28 64 69 73 61 62 6c 65 64 46 6f 72 65 67 72 6f 75 6e 64 29 20 5b 66 6f 72 6d 61 74 .new(disabledForeground).[format
1d8c0 20 23 25 30 32 78 25 30 32 78 25 30 32 78 20 5c 0d 09 09 5b 65 78 70 72 20 7b 28 33 2a 5b 6c 69 .#%02x%02x%02x.\...[expr.{(3*[li
1d8e0 6e 64 65 78 20 24 62 67 20 30 5d 20 2b 20 5b 6c 69 6e 64 65 78 20 24 66 67 20 30 5d 29 2f 31 30 ndex.$bg.0].+.[lindex.$fg.0])/10
1d900 32 34 7d 5d 20 5c 0d 09 09 5b 65 78 70 72 20 7b 28 33 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 31 24}].\...[expr.{(3*[lindex.$bg.1
1d920 5d 20 2b 20 5b 6c 69 6e 64 65 78 20 24 66 67 20 31 5d 29 2f 31 30 32 34 7d 5d 20 5c 0d 09 09 5b ].+.[lindex.$fg.1])/1024}].\...[
1d940 65 78 70 72 20 7b 28 33 2a 5b 6c 69 6e 64 65 78 20 24 62 67 20 32 5d 20 2b 20 5b 6c 69 6e 64 65 expr.{(3*[lindex.$bg.2].+.[linde
1d960 78 20 24 66 67 20 32 5d 29 2f 31 30 32 34 7d 5d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b x.$fg.2])/1024}]].....}.....if.{
1d980 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 68 69 67 68 6c 69 67 68 74 42 61 63 6b 67 ![info.exists.new(highlightBackg
1d9a0 72 6f 75 6e 64 29 5d 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 68 69 67 68 6c 69 67 68 74 42 61 63 round)]}.{..set.new(highlightBac
1d9c0 6b 67 72 6f 75 6e 64 29 20 24 6e 65 77 28 62 61 63 6b 67 72 6f 75 6e 64 29 0d 20 20 20 20 7d 0d kground).$new(background).....}.
1d9e0 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 61 63 74 69 76 65 ....if.{![info.exists.new(active
1da00 42 61 63 6b 67 72 6f 75 6e 64 29 5d 7d 20 7b 0d 09 23 20 50 69 63 6b 20 61 20 64 65 66 61 75 6c Background)]}.{..#.Pick.a.defaul
1da20 74 20 61 63 74 69 76 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 74 68 61 74 20 69 73 6c 69 67 68 74 t.active.background.that.islight
1da40 65 72 20 74 68 61 6e 20 74 68 65 0d 09 23 20 6e 6f 72 6d 61 6c 20 62 61 63 6b 67 72 6f 75 6e 64 er.than.the..#.normal.background
1da60 2e 20 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 72 6f 75 6e 64 20 65 61 63 68 20 63 6f 6c 6f 72 20 ...To.do.this,.round.each.color.
1da80 63 6f 6d 70 6f 6e 65 6e 74 0d 09 23 20 75 70 20 62 79 20 31 35 25 20 6f 72 20 31 2f 33 20 6f 66 component..#.up.by.15%.or.1/3.of
1daa0 20 74 68 65 20 77 61 79 20 74 6f 20 66 75 6c 6c 20 77 68 69 74 65 2c 20 77 68 69 63 68 65 76 65 .the.way.to.full.white,.whicheve
1dac0 72 20 69 73 0d 09 23 20 67 72 65 61 74 65 72 2e 0d 0d 09 66 6f 72 65 61 63 68 20 69 20 7b 30 20 r.is..#.greater....foreach.i.{0.
1dae0 31 20 32 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6c 69 67 68 74 28 24 69 29 20 5b 65 78 70 72 20 1.2}.{......set.light($i).[expr.
1db00 7b 5b 6c 69 6e 64 65 78 20 24 62 67 20 24 69 5d 2f 32 35 36 7d 5d 0d 09 20 20 20 20 73 65 74 20 {[lindex.$bg.$i]/256}]......set.
1db20 69 6e 63 31 20 5b 65 78 70 72 20 7b 28 24 6c 69 67 68 74 28 24 69 29 2a 31 35 29 2f 31 30 30 7d inc1.[expr.{($light($i)*15)/100}
1db40 5d 0d 09 20 20 20 20 73 65 74 20 69 6e 63 32 20 5b 65 78 70 72 20 7b 28 32 35 35 2d 24 6c 69 67 ]......set.inc2.[expr.{(255-$lig
1db60 68 74 28 24 69 29 29 2f 33 7d 5d 0d 09 20 20 20 20 69 66 20 7b 24 69 6e 63 31 20 3e 20 24 69 6e ht($i))/3}]......if.{$inc1.>.$in
1db80 63 32 7d 20 7b 0d 09 09 69 6e 63 72 20 6c 69 67 68 74 28 24 69 29 20 24 69 6e 63 31 0d 09 20 20 c2}.{...incr.light($i).$inc1....
1dba0 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 69 6e 63 72 20 6c 69 67 68 74 28 24 69 29 20 24 69 6e 63 ..}.else.{...incr.light($i).$inc
1dbc0 32 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 69 67 68 74 28 24 69 29 20 3e 20 32 2......}......if.{$light($i).>.2
1dbe0 35 35 7d 20 7b 0d 09 09 73 65 74 20 6c 69 67 68 74 28 24 69 29 20 32 35 35 0d 09 20 20 20 20 7d 55}.{...set.light($i).255......}
1dc00 0d 09 7d 0d 09 73 65 74 20 6e 65 77 28 61 63 74 69 76 65 42 61 63 6b 67 72 6f 75 6e 64 29 20 5b ..}..set.new(activeBackground).[
1dc20 66 6f 72 6d 61 74 20 23 25 30 32 78 25 30 32 78 25 30 32 78 20 24 6c 69 67 68 74 28 30 29 20 5c format.#%02x%02x%02x.$light(0).\
1dc40 0d 09 09 24 6c 69 67 68 74 28 31 29 20 24 6c 69 67 68 74 28 32 29 5d 0d 20 20 20 20 7d 0d 20 20 ...$light(1).$light(2)].....}...
1dc60 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 73 65 6c 65 63 74 42 61 ..if.{![info.exists.new(selectBa
1dc80 63 6b 67 72 6f 75 6e 64 29 5d 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 73 65 6c 65 63 74 42 61 63 ckground)]}.{..set.new(selectBac
1dca0 6b 67 72 6f 75 6e 64 29 20 24 64 61 72 6b 65 72 42 67 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 kground).$darkerBg.....}.....if.
1dcc0 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 6e 65 77 28 74 72 6f 75 67 68 43 6f 6c 6f 72 29 5d {![info.exists.new(troughColor)]
1dce0 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 74 72 6f 75 67 68 43 6f 6c 6f 72 29 20 24 64 61 72 6b 65 }.{..set.new(troughColor).$darke
1dd00 72 42 67 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 rBg.....}.....if.{![info.exists.
1dd20 6e 65 77 28 73 65 6c 65 63 74 43 6f 6c 6f 72 29 5d 7d 20 7b 0d 09 73 65 74 20 6e 65 77 28 73 65 new(selectColor)]}.{..set.new(se
1dd40 6c 65 63 74 43 6f 6c 6f 72 29 20 23 62 30 33 30 36 30 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 lectColor).#b03060.....}......#.
1dd60 6c 65 74 27 73 20 6d 61 6b 65 20 6f 6e 65 20 6f 66 20 65 61 63 68 20 6f 66 20 74 68 65 20 77 69 let's.make.one.of.each.of.the.wi
1dd80 64 67 65 74 73 20 73 6f 20 77 65 20 6b 6e 6f 77 20 77 68 61 74 20 74 68 65 20 0d 20 20 20 20 23 dgets.so.we.know.what.the......#
1dda0 20 64 65 66 61 75 6c 74 73 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 20 66 6f 72 20 74 68 69 73 .defaults.are.currently.for.this
1ddc0 20 70 6c 61 74 66 6f 72 6d 2e 0d 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 2e 5f 5f 5f 74 6b 5f 73 .platform......toplevel..___tk_s
1dde0 65 74 5f 70 61 6c 65 74 74 65 0d 20 20 20 20 77 6d 20 77 69 74 68 64 72 61 77 20 2e 5f 5f 5f 74 et_palette.....wm.withdraw..___t
1de00 6b 5f 73 65 74 5f 70 61 6c 65 74 74 65 0d 20 20 20 20 66 6f 72 65 61 63 68 20 71 20 7b 62 75 74 k_set_palette.....foreach.q.{but
1de20 74 6f 6e 20 63 61 6e 76 61 73 20 63 68 65 63 6b 62 75 74 74 6f 6e 20 65 6e 74 72 79 20 66 72 61 ton.canvas.checkbutton.entry.fra
1de40 6d 65 20 6c 61 62 65 6c 20 6c 69 73 74 62 6f 78 20 5c 0d 09 20 20 20 20 6d 65 6e 75 62 75 74 74 me.label.listbox.\......menubutt
1de60 6f 6e 20 6d 65 6e 75 20 6d 65 73 73 61 67 65 20 72 61 64 69 6f 62 75 74 74 6f 6e 20 73 63 61 6c on.menu.message.radiobutton.scal
1de80 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 65 78 74 7d 20 7b 0d 09 24 71 20 2e 5f 5f 5f 74 6b 5f 73 e.scrollbar.text}.{..$q..___tk_s
1dea0 65 74 5f 70 61 6c 65 74 74 65 2e 24 71 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 57 61 6c 6b 20 et_palette.$q.....}......#.Walk.
1dec0 74 68 65 20 77 69 64 67 65 74 20 68 69 65 72 61 72 63 68 79 2c 20 72 65 63 6f 6c 6f 72 69 6e 67 the.widget.hierarchy,.recoloring
1dee0 20 61 6c 6c 20 65 78 69 73 74 69 6e 67 20 77 69 6e 64 6f 77 73 2e 0d 20 20 20 20 23 20 54 68 65 .all.existing.windows......#.The
1df00 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 61 63 63 .option.database.must.be.set.acc
1df20 6f 72 64 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 64 6f 20 68 65 72 65 2c 20 0d 20 20 20 20 ording.to.what.we.do.here,......
1df40 23 20 62 75 74 20 69 74 20 62 72 65 61 6b 73 20 74 68 69 6e 67 73 20 69 66 20 77 65 20 73 65 74 #.but.it.breaks.things.if.we.set
1df60 20 74 68 69 6e 67 73 20 69 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20 77 68 69 6c 65 20 0d 20 .things.in.the.database.while...
1df80 20 20 20 23 20 77 65 20 61 72 65 20 63 68 61 6e 67 69 6e 67 20 63 6f 6c 6f 72 73 2e 2e 2e 73 6f ...#.we.are.changing.colors...so
1dfa0 2c 20 74 6b 52 65 63 6f 6c 6f 72 54 72 65 65 20 6e 6f 77 20 72 65 74 75 72 6e 73 20 74 68 65 0d ,.tkRecolorTree.now.returns.the.
1dfc0 20 20 20 20 23 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 63 68 61 6e 67 65 73 20 74 68 ....#.option.database.changes.th
1dfe0 61 74 20 6e 65 65 64 20 74 6f 20 62 65 20 6d 61 64 65 2c 20 61 6e 64 20 74 68 65 79 0d 20 20 20 at.need.to.be.made,.and.they....
1e000 20 23 20 6e 65 65 64 20 74 6f 20 62 65 20 65 76 61 6c 6c 65 64 20 68 65 72 65 20 74 6f 20 74 61 .#.need.to.be.evalled.here.to.ta
1e020 6b 65 20 65 66 66 65 63 74 2e 0d 20 20 20 20 23 20 57 65 20 68 61 76 65 20 74 6f 20 77 61 6c 6b ke.effect......#.We.have.to.walk
1e040 20 74 68 65 20 77 68 6f 6c 65 20 77 69 64 67 65 74 20 74 72 65 65 20 69 6e 73 74 65 61 64 20 6f .the.whole.widget.tree.instead.o
1e060 66 20 6a 75 73 74 20 0d 20 20 20 20 23 20 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 77 69 64 f.just......#.relying.on.the.wid
1e080 67 65 74 73 20 77 65 27 76 65 20 63 72 65 61 74 65 64 20 61 62 6f 76 65 20 74 6f 20 64 6f 20 74 gets.we've.created.above.to.do.t
1e0a0 68 65 20 77 6f 72 6b 0d 20 20 20 20 23 20 62 65 63 61 75 73 65 20 64 69 66 66 65 72 65 6e 74 20 he.work.....#.because.different.
1e0c0 65 78 74 65 6e 73 69 6f 6e 73 20 6d 61 79 20 70 72 6f 76 69 64 65 20 6f 74 68 65 72 20 6b 69 6e extensions.may.provide.other.kin
1e0e0 64 73 0d 20 20 20 20 23 20 6f 66 20 77 69 64 67 65 74 73 20 74 68 61 74 20 77 65 20 64 6f 6e 27 ds.....#.of.widgets.that.we.don'
1e100 74 20 63 75 72 72 65 6e 74 6c 79 20 6b 6e 6f 77 20 61 62 6f 75 74 2c 20 73 6f 20 77 65 27 6c 6c t.currently.know.about,.so.we'll
1e120 0d 20 20 20 20 23 20 77 61 6c 6b 20 74 68 65 20 77 68 6f 6c 65 20 68 69 65 72 61 72 63 68 79 20 .....#.walk.the.whole.hierarchy.
1e140 6a 75 73 74 20 69 6e 20 63 61 73 65 2e 0d 0d 20 20 20 20 65 76 61 6c 20 5b 74 6b 52 65 63 6f 6c just.in.case.......eval.[tkRecol
1e160 6f 72 54 72 65 65 20 2e 20 6e 65 77 5d 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f orTree...new]......catch.{destro
1e180 79 20 2e 5f 5f 5f 74 6b 5f 73 65 74 5f 70 61 6c 65 74 74 65 7d 0d 0d 20 20 20 20 23 20 43 68 61 y..___tk_set_palette}......#.Cha
1e1a0 6e 67 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 73 6f 20 74 68 61 74 20 nge.the.option.database.so.that.
1e1c0 66 75 74 75 72 65 20 77 69 6e 64 6f 77 73 20 77 69 6c 6c 20 67 65 74 20 74 68 65 0d 20 20 20 20 future.windows.will.get.the.....
1e1e0 23 20 73 61 6d 65 20 63 6f 6c 6f 72 73 2e 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6f 70 74 69 #.same.colors.......foreach.opti
1e200 6f 6e 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 6e 65 77 5d 20 7b 0d 09 6f 70 74 69 6f 6e 20 61 on.[array.names.new].{..option.a
1e220 64 64 20 2a 24 6f 70 74 69 6f 6e 20 24 6e 65 77 28 24 6f 70 74 69 6f 6e 29 20 77 69 64 67 65 74 dd.*$option.$new($option).widget
1e240 44 65 66 61 75 6c 74 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 53 61 76 65 20 74 68 65 20 6f 70 Default.....}......#.Save.the.op
1e260 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 74 6b 50 tions.in.the.global.variable.tkP
1e280 61 6c 65 74 74 65 2c 20 66 6f 72 20 75 73 65 20 74 68 65 0d 20 20 20 20 23 20 6e 65 78 74 20 74 alette,.for.use.the.....#.next.t
1e2a0 69 6d 65 20 77 65 20 63 68 61 6e 67 65 20 74 68 65 20 6f 70 74 69 6f 6e 73 2e 0d 0d 20 20 20 20 ime.we.change.the.options.......
1e2c0 61 72 72 61 79 20 73 65 74 20 74 6b 50 61 6c 65 74 74 65 20 5b 61 72 72 61 79 20 67 65 74 20 6e array.set.tkPalette.[array.get.n
1e2e0 65 77 5d 0d 7d 0d 0d 23 20 74 6b 52 65 63 6f 6c 6f 72 54 72 65 65 20 2d 2d 0d 23 20 54 68 69 73 ew].}..#.tkRecolorTree.--.#.This
1e300 20 70 72 6f 63 65 64 75 72 65 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 6f 6c 6f 72 73 20 69 6e .procedure.changes.the.colors.in
1e320 20 61 20 77 69 6e 64 6f 77 20 61 6e 64 20 61 6c 6c 20 6f 66 20 69 74 73 0d 23 20 64 65 73 63 65 .a.window.and.all.of.its.#.desce
1e340 6e 64 61 6e 74 73 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 69 6e 66 6f 72 6d 61 74 69 6f 6e ndants,.according.to.information
1e360 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 72 73 0d 23 20 61 72 67 75 6d 65 .provided.by.the.colors.#.argume
1e380 6e 74 2e 20 54 68 69 73 20 6c 6f 6f 6b 73 20 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 73 20 70 nt..This.looks.at.the.defaults.p
1e3a0 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 6f 70 74 69 6f 6e 20 0d 23 20 64 61 74 61 62 61 73 rovided.by.the.option..#.databas
1e3c0 65 2c 20 69 66 20 69 74 20 65 78 69 73 74 73 2c 20 61 6e 64 20 69 66 20 6e 6f 74 2c 20 74 68 65 e,.if.it.exists,.and.if.not,.the
1e3e0 6e 20 69 74 20 6c 6f 6f 6b 73 20 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 0d 23 20 76 61 6c 75 n.it.looks.at.the.default.#.valu
1e400 65 20 6f 66 20 74 68 65 20 77 69 64 67 65 74 20 69 74 73 65 6c 66 2e 0d 23 0d 23 20 41 72 67 75 e.of.the.widget.itself..#.#.Argu
1e420 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 77 69 6e ments:.#.w.-...The.name.of.a.win
1e440 64 6f 77 2e 20 20 54 68 69 73 20 77 69 6e 64 6f 77 20 61 6e 64 20 61 6c 6c 20 69 74 73 0d 23 09 dow...This.window.and.all.its.#.
1e460 09 09 64 65 73 63 65 6e 64 61 6e 74 73 20 61 72 65 20 72 65 63 6f 6c 6f 72 65 64 2e 0d 23 20 63 ..descendants.are.recolored..#.c
1e480 6f 6c 6f 72 73 20 2d 09 09 54 68 65 20 6e 61 6d 65 20 6f 66 20 61 6e 20 61 72 72 61 79 20 76 61 olors.-..The.name.of.an.array.va
1e4a0 72 69 61 62 6c 65 20 69 6e 20 74 68 65 20 63 61 6c 6c 65 72 2c 0d 23 09 09 09 77 68 69 63 68 20 riable.in.the.caller,.#...which.
1e4c0 63 6f 6e 74 61 69 6e 73 20 63 6f 6c 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 45 61 63 contains.color.information...Eac
1e4e0 68 20 65 6c 65 6d 65 6e 74 0d 23 09 09 09 69 73 20 6e 61 6d 65 64 20 61 66 74 65 72 20 61 20 77 h.element.#...is.named.after.a.w
1e500 69 64 67 65 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 2c 20 61 6e 64 0d idget.configuration.option,.and.
1e520 23 09 09 09 65 61 63 68 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 66 6f 72 20 #...each.value.is.the.value.for.
1e540 74 68 61 74 20 6f 70 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 52 65 63 6f 6c 6f 72 54 72 65 65 that.option...proc.tkRecolorTree
1e560 20 7b 77 20 63 6f 6c 6f 72 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 61 6c 65 74 .{w.colors}.{.....global.tkPalet
1e580 74 65 0d 20 20 20 20 75 70 76 61 72 20 24 63 6f 6c 6f 72 73 20 63 0d 20 20 20 20 73 65 74 20 72 te.....upvar.$colors.c.....set.r
1e5a0 65 73 75 6c 74 20 7b 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 64 62 4f 70 74 69 6f 6e 20 5b 61 esult.{}.....foreach.dbOption.[a
1e5c0 72 72 61 79 20 6e 61 6d 65 73 20 63 5d 20 7b 0d 09 73 65 74 20 6f 70 74 69 6f 6e 20 2d 5b 73 74 rray.names.c].{..set.option.-[st
1e5e0 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 64 62 4f 70 74 69 6f 6e 5d 0d 09 69 66 20 7b 21 5b 63 ring.tolower.$dbOption]..if.{![c
1e600 61 74 63 68 20 7b 24 77 20 63 6f 6e 66 69 67 20 24 6f 70 74 69 6f 6e 7d 20 76 61 6c 75 65 5d 7d atch.{$w.config.$option}.value]}
1e620 20 7b 0d 09 20 20 20 20 23 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 .{......#.if.the.option.database
1e640 20 68 61 73 20 61 20 70 72 65 66 65 72 65 6e 63 65 20 66 6f 72 20 74 68 69 73 0d 09 20 20 20 20 .has.a.preference.for.this......
1e660 23 20 64 62 4f 70 74 69 6f 6e 2c 20 74 68 65 6e 20 75 73 65 20 69 74 2c 20 6f 74 68 65 72 77 69 #.dbOption,.then.use.it,.otherwi
1e680 73 65 20 75 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 0d 09 20 20 20 20 23 20 66 6f 72 20 74 se.use.the.defaults......#.for.t
1e6a0 68 65 20 77 69 64 67 65 74 2e 0d 09 20 20 20 20 73 65 74 20 64 65 66 61 75 6c 74 63 6f 6c 6f 72 he.widget.......set.defaultcolor
1e6c0 20 5b 6f 70 74 69 6f 6e 20 67 65 74 20 24 77 20 24 64 62 4f 70 74 69 6f 6e 20 77 69 64 67 65 74 .[option.get.$w.$dbOption.widget
1e6e0 44 65 66 61 75 6c 74 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 Default]......if.{[string.match.
1e700 7b 7d 20 24 64 65 66 61 75 6c 74 63 6f 6c 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 64 65 66 61 75 {}.$defaultcolor]}.{...set.defau
1e720 6c 74 63 6f 6c 6f 72 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 5b 6c 69 6e 64 65 78 20 24 76 61 ltcolor.[winfo.rgb...[lindex.$va
1e740 6c 75 65 20 33 5d 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 64 65 66 61 lue.3]]......}.else.{...set.defa
1e760 75 6c 74 63 6f 6c 6f 72 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 64 65 66 61 75 6c 74 63 6f ultcolor.[winfo.rgb...$defaultco
1e780 6c 6f 72 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 63 68 6f 73 65 6e 63 6f 6c 6f 72 lor]......}......set.chosencolor
1e7a0 20 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 5b 6c 69 6e 64 65 78 20 24 76 61 6c 75 65 20 34 5d 5d .[winfo.rgb...[lindex.$value.4]]
1e7c0 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 64 65 66 61 75 6c 74 ......if.{[string.match.$default
1e7e0 63 6f 6c 6f 72 20 24 63 68 6f 73 65 6e 63 6f 6c 6f 72 5d 7d 20 7b 0d 09 09 23 20 43 68 61 6e 67 color.$chosencolor]}.{...#.Chang
1e800 65 20 74 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20 73 6f 20 74 68 61 74 20 66 75 e.the.option.database.so.that.fu
1e820 74 75 72 65 20 77 69 6e 64 6f 77 73 20 77 69 6c 6c 20 67 65 74 0d 09 09 23 20 74 68 65 20 73 61 ture.windows.will.get...#.the.sa
1e840 6d 65 20 63 6f 6c 6f 72 73 2e 0d 09 09 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 22 3b 5c 6e 6f me.colors....append.result.";\no
1e860 70 74 69 6f 6e 20 61 64 64 20 5b 6c 69 73 74 20 5c 0d 09 09 20 20 20 20 2a 5b 77 69 6e 66 6f 20 ption.add.[list.\.......*[winfo.
1e880 63 6c 61 73 73 20 24 77 5d 2e 24 64 62 4f 70 74 69 6f 6e 20 24 63 28 24 64 62 4f 70 74 69 6f 6e class.$w].$dbOption.$c($dbOption
1e8a0 29 20 36 30 5d 22 0d 09 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 24 6f 70 74 69 6f 6e 20 24 63 ).60]"...$w.configure.$option.$c
1e8c0 28 24 64 62 4f 70 74 69 6f 6e 29 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 ($dbOption)......}..}.....}.....
1e8e0 66 6f 72 65 61 63 68 20 63 68 69 6c 64 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 72 65 6e 20 24 77 foreach.child.[winfo.children.$w
1e900 5d 20 7b 0d 09 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 22 3b 5c 6e 5b 74 6b 52 65 63 6f 6c 6f ].{..append.result.";\n[tkRecolo
1e920 72 54 72 65 65 20 24 63 68 69 6c 64 20 63 5d 22 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 rTree.$child.c]".....}.....retur
1e940 6e 20 24 72 65 73 75 6c 74 0d 7d 0d 0d 23 20 74 6b 44 61 72 6b 65 6e 20 2d 2d 0d 23 20 47 69 76 n.$result.}..#.tkDarken.--.#.Giv
1e960 65 6e 20 61 20 63 6f 6c 6f 72 20 6e 61 6d 65 2c 20 63 6f 6d 70 75 74 65 73 20 61 20 6e 65 77 20 en.a.color.name,.computes.a.new.
1e980 63 6f 6c 6f 72 20 76 61 6c 75 65 20 74 68 61 74 20 64 61 72 6b 65 6e 73 20 28 6f 72 0d 23 20 62 color.value.that.darkens.(or.#.b
1e9a0 72 69 67 68 74 65 6e 73 29 20 74 68 65 20 67 69 76 65 6e 20 63 6f 6c 6f 72 20 62 79 20 61 20 67 rightens).the.given.color.by.a.g
1e9c0 69 76 65 6e 20 70 65 72 63 65 6e 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 63 iven.percent..#.#.Arguments:.#.c
1e9e0 6f 6c 6f 72 20 2d 09 4e 61 6d 65 20 6f 66 20 73 74 61 72 74 69 6e 67 20 63 6f 6c 6f 72 2e 0d 23 olor.-.Name.of.starting.color..#
1ea00 20 70 65 72 65 63 65 6e 74 20 2d 09 49 6e 74 65 67 65 72 20 74 65 6c 6c 69 6e 67 20 68 6f 77 20 .perecent.-.Integer.telling.how.
1ea20 6d 75 63 68 20 74 6f 20 62 72 69 67 68 74 65 6e 20 6f 72 20 64 61 72 6b 65 6e 20 61 73 20 61 0d much.to.brighten.or.darken.as.a.
1ea40 23 09 09 70 65 72 63 65 6e 74 3a 20 35 30 20 6d 65 61 6e 73 20 64 61 72 6b 65 6e 20 62 79 20 35 #..percent:.50.means.darken.by.5
1ea60 30 25 2c 20 31 31 30 20 6d 65 61 6e 73 20 62 72 69 67 68 74 65 6e 0d 23 09 09 62 79 20 31 30 25 0%,.110.means.brighten.#..by.10%
1ea80 2e 0d 0d 70 72 6f 63 20 74 6b 44 61 72 6b 65 6e 20 7b 63 6f 6c 6f 72 20 70 65 72 63 65 6e 74 7d ...proc.tkDarken.{color.percent}
1eaa0 20 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 7b 72 65 64 20 67 72 65 65 6e 20 62 6c 75 65 7d 20 .{.....foreach.{red.green.blue}.
1eac0 5b 77 69 6e 66 6f 20 72 67 62 20 2e 20 24 63 6f 6c 6f 72 5d 20 7b 0d 09 73 65 74 20 72 65 64 20 [winfo.rgb...$color].{..set.red.
1eae0 5b 65 78 70 72 20 7b 28 24 72 65 64 2f 32 35 36 29 2a 24 70 65 72 63 65 6e 74 2f 31 30 30 7d 5d [expr.{($red/256)*$percent/100}]
1eb00 0d 09 73 65 74 20 67 72 65 65 6e 20 5b 65 78 70 72 20 7b 28 24 67 72 65 65 6e 2f 32 35 36 29 2a ..set.green.[expr.{($green/256)*
1eb20 24 70 65 72 63 65 6e 74 2f 31 30 30 7d 5d 0d 09 73 65 74 20 62 6c 75 65 20 5b 65 78 70 72 20 7b $percent/100}]..set.blue.[expr.{
1eb40 28 24 62 6c 75 65 2f 32 35 36 29 2a 24 70 65 72 63 65 6e 74 2f 31 30 30 7d 5d 0d 09 62 72 65 61 ($blue/256)*$percent/100}]..brea
1eb60 6b 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 72 65 64 20 3e 20 32 35 35 7d 20 7b 0d 09 73 k.....}.....if.{$red.>.255}.{..s
1eb80 65 74 20 72 65 64 20 32 35 35 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 67 72 65 65 6e 20 et.red.255.....}.....if.{$green.
1eba0 3e 20 32 35 35 7d 20 7b 0d 09 73 65 74 20 67 72 65 65 6e 20 32 35 35 0d 20 20 20 20 7d 0d 20 20 >.255}.{..set.green.255.....}...
1ebc0 20 20 69 66 20 7b 24 62 6c 75 65 20 3e 20 32 35 35 7d 20 7b 0d 09 73 65 74 20 62 6c 75 65 20 32 ..if.{$blue.>.255}.{..set.blue.2
1ebe0 35 35 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 5b 66 6f 72 6d 61 74 20 22 23 25 30 55.....}.....return.[format."#%0
1ec00 32 78 25 30 32 78 25 30 32 78 22 20 24 72 65 64 20 24 67 72 65 65 6e 20 24 62 6c 75 65 5d 0d 7d 2x%02x%02x".$red.$green.$blue].}
1ec20 0d 0d 23 20 74 6b 5f 62 69 73 71 75 65 20 2d 2d 0d 23 20 52 65 73 65 74 20 74 68 65 20 54 6b 20 ..#.tk_bisque.--.#.Reset.the.Tk.
1ec40 63 6f 6c 6f 72 20 70 61 6c 65 74 74 65 20 74 6f 20 74 68 65 20 6f 6c 64 20 22 62 69 73 71 75 65 color.palette.to.the.old."bisque
1ec60 22 20 63 6f 6c 6f 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e ".colors..#.#.Arguments:.#.None.
1ec80 0d 0d 70 72 6f 63 20 74 6b 5f 62 69 73 71 75 65 20 7b 7d 20 7b 0d 20 20 20 20 74 6b 5f 73 65 74 ..proc.tk_bisque.{}.{.....tk_set
1eca0 50 61 6c 65 74 74 65 20 61 63 74 69 76 65 42 61 63 6b 67 72 6f 75 6e 64 20 23 65 36 63 65 62 31 Palette.activeBackground.#e6ceb1
1ecc0 20 61 63 74 69 76 65 46 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c 0d 09 20 20 20 20 62 .activeForeground.black.\......b
1ece0 61 63 6b 67 72 6f 75 6e 64 20 23 66 66 65 34 63 34 20 64 69 73 61 62 6c 65 64 46 6f 72 65 67 72 ackground.#ffe4c4.disabledForegr
1ed00 6f 75 6e 64 20 23 62 30 62 30 62 30 20 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c 0d ound.#b0b0b0.foreground.black.\.
1ed20 09 20 20 20 20 68 69 67 68 6c 69 67 68 74 42 61 63 6b 67 72 6f 75 6e 64 20 23 66 66 65 34 63 34 .....highlightBackground.#ffe4c4
1ed40 20 68 69 67 68 6c 69 67 68 74 43 6f 6c 6f 72 20 62 6c 61 63 6b 20 5c 0d 09 20 20 20 20 69 6e 73 .highlightColor.black.\......ins
1ed60 65 72 74 42 61 63 6b 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 73 65 6c 65 63 74 43 6f 6c 6f 72 20 ertBackground.black.selectColor.
1ed80 23 62 30 33 30 36 30 20 5c 0d 09 20 20 20 20 73 65 6c 65 63 74 42 61 63 6b 67 72 6f 75 6e 64 20 #b03060.\......selectBackground.
1eda0 23 65 36 63 65 62 31 20 73 65 6c 65 63 74 46 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c #e6ceb1.selectForeground.black.\
1edc0 0d 09 20 20 20 20 74 72 6f 75 67 68 43 6f 6c 6f 72 20 23 63 64 62 37 39 65 0d 7d 0d 00 00 1b 6b ......troughColor.#cdb79e.}....k
1ede0 23 20 73 63 61 6c 65 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 #.scale.tcl.--.#.#.This.file.def
1ee00 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b ines.the.default.bindings.for.Tk
1ee20 20 73 63 61 6c 65 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 0d 23 20 70 72 .scale.widgets.and.provides.#.pr
1ee40 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 ocedures.that.help.in.implementi
1ee60 6e 67 20 74 68 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 ng.the.bindings..#.#.RCS:.@(#).$
1ee80 49 64 3a 20 73 63 61 6c 65 2e 74 63 6c 2c 76 20 31 2e 37 20 32 30 30 30 2f 30 34 2f 31 34 20 30 Id:.scale.tcl,v.1.7.2000/04/14.0
1eea0 38 3a 33 33 3a 33 31 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 8:33:31.hobbs.Exp.$.#.#.Copyrigh
1eec0 74 20 28 63 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e t.(c).1994.The.Regents.of.the.Un
1eee0 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 iversity.of.California..#.Copyri
1ef00 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 35 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 ght.(c).1994-1995.Sun.Microsyste
1ef20 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e ms,.Inc..#.#.See.the.file."licen
1ef40 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 se.terms".for.information.on.usa
1ef60 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 ge.and.redistribution.#.of.this.
1ef80 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c file,.and.for.a.DISCLAIMER.OF.AL
1efa0 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d L.WARRANTIES..#..#--------------
1efc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1efe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 ---------------------------.#.Th
1f000 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 e.code.below.creates.the.default
1f020 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 65 6e 74 72 69 65 73 2e 0d 23 2d 2d .class.bindings.for.entries..#--
1f040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1f060 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
1f080 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 61 6e 64 61 72 64 20 4d 6f 74 69 66 20 62 69 6e 64 69 6e -------..#.Standard.Motif.bindin
1f0a0 67 73 3a 0d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 69 66 gs:..bind.Scale.<Enter>.{.....if
1f0c0 20 7b 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 .{$tk_strictMotif}.{..set.tkPriv
1f0e0 28 61 63 74 69 76 65 42 67 29 20 5b 25 57 20 63 67 65 74 20 2d 61 63 74 69 76 65 62 61 63 6b 67 (activeBg).[%W.cget.-activebackg
1f100 72 6f 75 6e 64 5d 0d 09 25 57 20 63 6f 6e 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f round]..%W.config.-activebackgro
1f120 75 6e 64 20 5b 25 57 20 63 67 65 74 20 2d 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 20 20 20 20 7d 0d und.[%W.cget.-background].....}.
1f140 20 20 20 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 ....tkScaleActivate.%W.%x.%y.}.b
1f160 69 6e 64 20 53 63 61 6c 65 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 ind.Scale.<Motion>.{.....tkScale
1f180 41 63 74 69 76 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c Activate.%W.%x.%y.}.bind.Scale.<
1f1a0 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 Leave>.{.....if.{$tk_strictMotif
1f1c0 7d 20 7b 0d 09 25 57 20 63 6f 6e 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 }.{..%W.config.-activebackground
1f1e0 20 24 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 .$tkPriv(activeBg).....}.....if.
1f200 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 25 57 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 {[string.equal.[%W.cget.-state].
1f220 22 61 63 74 69 76 65 22 5d 7d 20 7b 0d 09 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 "active"]}.{..%W.configure.-stat
1f240 65 20 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 31 3e 20 e.normal.....}.}.bind.Scale.<1>.
1f260 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 20 25 78 20 25 79 {.....tkScaleButtonDown.%W.%x.%y
1f280 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 .}.bind.Scale.<B1-Motion>.{.....
1f2a0 74 6b 53 63 61 6c 65 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c tkScaleDrag.%W.%x.%y.}.bind.Scal
1f2c0 65 20 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 31 2d e.<B1-Leave>.{.}.bind.Scale.<B1-
1f2e0 45 6e 74 65 72 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 75 74 74 6f 6e 52 65 6c Enter>.{.}.bind.Scale.<ButtonRel
1f300 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 20 20 ease-1>.{.....tkCancelRepeat....
1f320 20 74 6b 53 63 61 6c 65 45 6e 64 44 72 61 67 20 25 57 0d 20 20 20 20 74 6b 53 63 61 6c 65 41 63 .tkScaleEndDrag.%W.....tkScaleAc
1f340 74 69 76 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 32 3e tivate.%W.%x.%y.}.bind.Scale.<2>
1f360 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f 77 6e 20 25 57 20 25 78 20 .{.....tkScaleButton2Down.%W.%x.
1f380 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 %y.}.bind.Scale.<B2-Motion>.{...
1f3a0 20 20 74 6b 53 63 61 6c 65 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 ..tkScaleDrag.%W.%x.%y.}.bind.Sc
1f3c0 61 6c 65 20 3c 42 32 2d 4c 65 61 76 65 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 ale.<B2-Leave>.{.}.bind.Scale.<B
1f3e0 32 2d 45 6e 74 65 72 3e 20 7b 20 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 42 75 74 74 6f 6e 52 2-Enter>.{.}.bind.Scale.<ButtonR
1f400 65 6c 65 61 73 65 2d 32 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 20 elease-2>.{.....tkCancelRepeat..
1f420 20 20 20 74 6b 53 63 61 6c 65 45 6e 64 44 72 61 67 20 25 57 0d 20 20 20 20 74 6b 53 63 61 6c 65 ...tkScaleEndDrag.%W.....tkScale
1f440 41 63 74 69 76 61 74 65 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c Activate.%W.%x.%y.}.bind.Scale.<
1f460 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 43 6f 6e 74 72 6f 6c 50 Control-1>.{.....tkScaleControlP
1f480 72 65 73 73 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 55 70 3e 20 ress.%W.%x.%y.}.bind.Scale.<Up>.
1f4a0 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 20 6c 69 74 {.....tkScaleIncrement.%W.up.lit
1f4c0 74 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 44 6f 77 6e 3e tle.noRepeat.}.bind.Scale.<Down>
1f4e0 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 .{.....tkScaleIncrement.%W.down.
1f500 6c 69 74 74 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 4c 65 little.noRepeat.}.bind.Scale.<Le
1f520 66 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 ft>.{.....tkScaleIncrement.%W.up
1f540 20 6c 69 74 74 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 52 .little.noRepeat.}.bind.Scale.<R
1f560 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 ight>.{.....tkScaleIncrement.%W.
1f580 64 6f 77 6e 20 6c 69 74 74 6c 65 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c down.little.noRepeat.}.bind.Scal
1f5a0 65 20 3c 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 e.<Control-Up>.{.....tkScaleIncr
1f5c0 65 6d 65 6e 74 20 25 57 20 75 70 20 62 69 67 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 ement.%W.up.big.noRepeat.}.bind.
1f5e0 53 63 61 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 Scale.<Control-Down>.{.....tkSca
1f600 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f 77 6e 20 62 69 67 20 6e 6f 52 65 70 65 61 74 leIncrement.%W.down.big.noRepeat
1f620 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 .}.bind.Scale.<Control-Left>.{..
1f640 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 75 70 20 62 69 67 20 6e 6f ...tkScaleIncrement.%W.up.big.no
1f660 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 Repeat.}.bind.Scale.<Control-Rig
1f680 68 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 25 57 20 64 6f ht>.{.....tkScaleIncrement.%W.do
1f6a0 77 6e 20 62 69 67 20 6e 6f 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 48 6f wn.big.noRepeat.}.bind.Scale.<Ho
1f6c0 6d 65 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 74 20 5b 25 57 20 63 67 65 74 20 2d 66 72 6f 6d 5d me>.{.....%W.set.[%W.cget.-from]
1f6e0 0d 7d 0d 62 69 6e 64 20 53 63 61 6c 65 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 25 57 20 73 65 74 .}.bind.Scale.<End>.{.....%W.set
1f700 20 5b 25 57 20 63 67 65 74 20 2d 74 6f 5d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 41 63 74 69 76 .[%W.cget.-to].}..#.tkScaleActiv
1f720 61 74 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b ate.--.#.This.procedure.is.invok
1f740 65 64 20 74 6f 20 63 68 65 63 6b 20 61 20 67 69 76 65 6e 20 78 2d 79 20 70 6f 73 69 74 69 6f 6e ed.to.check.a.given.x-y.position
1f760 20 69 6e 20 74 68 65 0d 23 20 73 63 61 6c 65 20 61 6e 64 20 61 63 74 69 76 61 74 65 20 74 68 65 .in.the.#.scale.and.activate.the
1f780 20 73 6c 69 64 65 72 20 69 66 20 74 68 65 20 78 2d 79 20 70 6f 73 69 74 69 6f 6e 20 66 61 6c 6c .slider.if.the.x-y.position.fall
1f7a0 73 20 77 69 74 68 69 6e 0d 23 20 74 68 65 20 73 6c 69 64 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d s.within.#.the.slider..#.#.Argum
1f7c0 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 ents:.#.w.-..The.scale.widget..#
1f7e0 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 .x,.y.-.Mouse.coordinates...proc
1f800 20 74 6b 53 63 61 6c 65 41 63 74 69 76 61 74 65 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 69 .tkScaleActivate.{w.x.y}.{.....i
1f820 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 f.{[string.equal.[$w.cget.-state
1f840 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 ]."disabled"]}.{..return.....}..
1f860 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 69 64 65 6e 74 69 66 ...if.{[string.equal.[$w.identif
1f880 79 20 24 78 20 24 79 5d 20 22 73 6c 69 64 65 72 22 5d 7d 20 7b 0d 09 73 65 74 20 73 74 61 74 65 y.$x.$y]."slider"]}.{..set.state
1f8a0 20 61 63 74 69 76 65 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 73 74 61 74 65 20 .active.....}.else.{..set.state.
1f8c0 6e 6f 72 6d 61 6c 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d normal.....}.....if.{[string.com
1f8e0 70 61 72 65 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 24 73 74 61 74 65 5d 7d 20 7b pare.[$w.cget.-state].$state]}.{
1f900 0d 09 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 24 73 74 61 74 65 0d 20 20 20 ..$w.configure.-state.$state....
1f920 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d 0d 23 20 54 .}.}..#.tkScaleButtonDown.--.#.T
1f940 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 his.procedure.is.invoked.when.a.
1f960 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 20 61 20 73 63 61 6c 65 2e 20 20 49 button.is.pressed.in.a.scale...I
1f980 74 0d 23 20 74 61 6b 65 73 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 73 20 64 65 70 65 t.#.takes.different.actions.depe
1f9a0 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 nding.on.where.the.button.was.pr
1f9c0 65 73 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 essed..#.#.Arguments:.#.w.-..The
1f9e0 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f .scale.widget..#.x,.y.-.Mouse.co
1fa00 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 0d 70 72 6f 63 ordinates.of.button.press...proc
1fa20 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 .tkScaleButtonDown.{w.x.y}.{....
1fa40 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 .global.tkPriv.....set.tkPriv(dr
1fa60 61 67 67 69 6e 67 29 20 30 0d 20 20 20 20 73 65 74 20 65 6c 20 5b 24 77 20 69 64 65 6e 74 69 66 agging).0.....set.el.[$w.identif
1fa80 79 20 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 y.$x.$y].....if.{[string.equal.$
1faa0 65 6c 20 22 74 72 6f 75 67 68 31 22 5d 7d 20 7b 0d 09 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 el."trough1"]}.{..tkScaleIncreme
1fac0 6e 74 20 24 77 20 75 70 20 6c 69 74 74 6c 65 20 69 6e 69 74 69 61 6c 0d 20 20 20 20 7d 20 65 6c nt.$w.up.little.initial.....}.el
1fae0 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 65 6c 20 22 74 72 6f 75 67 68 32 seif.{[string.equal.$el."trough2
1fb00 22 5d 7d 20 7b 0d 09 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 24 77 20 64 6f 77 6e 20 "]}.{..tkScaleIncrement.$w.down.
1fb20 6c 69 74 74 6c 65 20 69 6e 69 74 69 61 6c 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 little.initial.....}.elseif.{[st
1fb40 72 69 6e 67 20 65 71 75 61 6c 20 24 65 6c 20 22 73 6c 69 64 65 72 22 5d 7d 20 7b 0d 09 73 65 74 ring.equal.$el."slider"]}.{..set
1fb60 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 29 20 31 0d 09 73 65 74 20 74 6b 50 72 69 76 28 .tkPriv(dragging).1..set.tkPriv(
1fb80 69 6e 69 74 56 61 6c 75 65 29 20 5b 24 77 20 67 65 74 5d 0d 09 73 65 74 20 63 6f 6f 72 64 73 20 initValue).[$w.get]..set.coords.
1fba0 5b 24 77 20 63 6f 6f 72 64 73 5d 0d 09 73 65 74 20 74 6b 50 72 69 76 28 64 65 6c 74 61 58 29 20 [$w.coords]..set.tkPriv(deltaX).
1fbc0 5b 65 78 70 72 20 7b 24 78 20 2d 20 5b 6c 69 6e 64 65 78 20 24 63 6f 6f 72 64 73 20 30 5d 7d 5d [expr.{$x.-.[lindex.$coords.0]}]
1fbe0 0d 09 73 65 74 20 74 6b 50 72 69 76 28 64 65 6c 74 61 59 29 20 5b 65 78 70 72 20 7b 24 79 20 2d ..set.tkPriv(deltaY).[expr.{$y.-
1fc00 20 5b 6c 69 6e 64 65 78 20 24 63 6f 6f 72 64 73 20 31 5d 7d 5d 0d 09 24 77 20 63 6f 6e 66 69 67 .[lindex.$coords.1]}]..$w.config
1fc20 75 72 65 20 2d 73 6c 69 64 65 72 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 20 20 20 20 7d 0d 7d ure.-sliderrelief.sunken.....}.}
1fc40 0d 0d 23 20 74 6b 53 63 61 6c 65 44 72 61 67 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 ..#.tkScaleDrag.--.#.This.proced
1fc60 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 ure.is.called.when.the.mouse.is.
1fc80 64 72 61 67 67 65 64 20 77 69 74 68 0d 23 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 31 20 64 6f dragged.with.#.mouse.button.1.do
1fca0 77 6e 2e 20 20 49 66 20 74 68 65 20 64 72 61 67 20 73 74 61 72 74 65 64 20 69 6e 73 69 64 65 20 wn...If.the.drag.started.inside.
1fcc0 74 68 65 20 73 6c 69 64 65 72 0d 23 20 28 69 2e 65 2e 20 74 68 65 20 73 63 61 6c 65 20 69 73 20 the.slider.#.(i.e..the.scale.is.
1fce0 61 63 74 69 76 65 29 20 74 68 65 6e 20 74 68 65 20 73 63 61 6c 65 27 73 20 76 61 6c 75 65 20 69 active).then.the.scale's.value.i
1fd00 73 20 61 64 6a 75 73 74 65 64 0d 23 20 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 6d 6f 75 73 s.adjusted.#.to.reflect.the.mous
1fd20 65 27 73 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 e's.position..#.#.Arguments:.#.w
1fd40 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d .-..The.scale.widget..#.x,.y.-.M
1fd60 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 44 ouse.coordinates...proc.tkScaleD
1fd80 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d rag.{w.x.y}.{.....global.tkPriv.
1fda0 20 20 20 20 69 66 20 7b 21 24 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 29 7d 20 7b 0d 09 72 ....if.{!$tkPriv(dragging)}.{..r
1fdc0 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 73 65 74 20 5b 24 77 20 67 65 74 20 5b eturn.....}.....$w.set.[$w.get.[
1fde0 65 78 70 72 20 7b 24 78 2d 24 74 6b 50 72 69 76 28 64 65 6c 74 61 58 29 7d 5d 20 5b 65 78 70 72 expr.{$x-$tkPriv(deltaX)}].[expr
1fe00 20 7b 24 79 2d 24 74 6b 50 72 69 76 28 64 65 6c 74 61 59 29 7d 5d 5d 0d 7d 0d 0d 23 20 74 6b 53 .{$y-$tkPriv(deltaY)}]].}..#.tkS
1fe20 63 61 6c 65 45 6e 64 44 72 61 67 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 caleEndDrag.--.#.This.procedure.
1fe40 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 65 6e 64 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 is.called.to.end.an.interactive.
1fe60 64 72 61 67 20 6f 66 20 74 68 65 0d 23 20 73 6c 69 64 65 72 2e 20 20 49 74 20 6a 75 73 74 20 6d drag.of.the.#.slider...It.just.m
1fe80 61 72 6b 73 20 74 68 65 20 64 72 61 67 20 61 73 20 6f 76 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d arks.the.drag.as.over..#.#.Argum
1fea0 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 0d ents:.#.w.-..The.scale.widget...
1fec0 70 72 6f 63 20 74 6b 53 63 61 6c 65 45 6e 64 44 72 61 67 20 7b 77 7d 20 7b 0d 20 20 20 20 67 6c proc.tkScaleEndDrag.{w}.{.....gl
1fee0 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 obal.tkPriv.....set.tkPriv(dragg
1ff00 69 6e 67 29 20 30 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 6c 69 64 65 72 72 ing).0.....$w.configure.-sliderr
1ff20 65 6c 69 65 66 20 72 61 69 73 65 64 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 elief.raised.}..#.tkScaleIncreme
1ff40 6e 74 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 nt.--.#.This.procedure.is.invoke
1ff60 64 20 74 6f 20 69 6e 63 72 65 6d 65 6e 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 61 20 73 63 d.to.increment.the.value.of.a.sc
1ff80 61 6c 65 20 61 6e 64 0d 23 20 74 6f 20 73 65 74 20 75 70 20 61 75 74 6f 2d 72 65 70 65 61 74 69 ale.and.#.to.set.up.auto-repeati
1ffa0 6e 67 20 6f 66 20 74 68 65 20 61 63 74 69 6f 6e 20 69 66 20 74 68 61 74 20 69 73 20 64 65 73 69 ng.of.the.action.if.that.is.desi
1ffc0 72 65 64 2e 20 20 54 68 65 0d 23 20 77 61 79 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 69 6e 63 red...The.#.way.the.value.is.inc
1ffe0 72 65 6d 65 6e 74 65 64 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 22 64 69 72 22 20 61 6e remented.depends.on.the."dir".an
20000 64 20 22 62 69 67 22 0d 23 20 61 72 67 75 6d 65 6e 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e d."big".#.arguments..#.#.Argumen
20020 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 64 ts:.#.w.-..The.scale.widget..#.d
20040 69 72 20 2d 09 09 22 75 70 22 20 6d 65 61 6e 73 20 6d 6f 76 65 20 76 61 6c 75 65 20 74 6f 77 61 ir.-.."up".means.move.value.towa
20060 72 64 73 20 2d 66 72 6f 6d 2c 20 22 64 6f 77 6e 22 20 6d 65 61 6e 73 0d 23 09 09 6d 6f 76 65 20 rds.-from,."down".means.#..move.
20080 74 6f 77 61 72 64 73 20 2d 74 6f 2e 0d 23 20 62 69 67 20 2d 09 09 53 69 7a 65 20 6f 66 20 69 6e towards.-to..#.big.-..Size.of.in
200a0 63 72 65 6d 65 6e 74 73 3a 20 22 62 69 67 22 20 6f 72 20 22 6c 69 74 74 6c 65 22 2e 0d 23 20 72 crements:."big".or."little"..#.r
200c0 65 70 65 61 74 20 2d 09 57 68 65 74 68 65 72 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 75 74 6f 2d epeat.-.Whether.and.how.to.auto-
200e0 72 65 70 65 61 74 20 74 68 65 20 61 63 74 69 6f 6e 3a 20 20 22 6e 6f 52 65 70 65 61 74 22 0d 23 repeat.the.action:.."noRepeat".#
20100 09 09 6d 65 61 6e 73 20 64 6f 6e 27 74 20 61 75 74 6f 2d 72 65 70 65 61 74 2c 20 22 69 6e 69 74 ..means.don't.auto-repeat,."init
20120 69 61 6c 22 20 6d 65 61 6e 73 20 74 68 69 73 20 69 73 20 74 68 65 0d 23 09 09 66 69 72 73 74 20 ial".means.this.is.the.#..first.
20140 61 63 74 69 6f 6e 20 69 6e 20 61 6e 20 61 75 74 6f 2d 72 65 70 65 61 74 20 73 65 71 75 65 6e 63 action.in.an.auto-repeat.sequenc
20160 65 2c 20 61 6e 64 20 22 61 67 61 69 6e 22 0d 23 09 09 6d 65 61 6e 73 20 74 68 69 73 20 69 73 20 e,.and."again".#..means.this.is.
20180 74 68 65 20 73 65 63 6f 6e 64 20 72 65 70 65 74 69 74 69 6f 6e 20 6f 72 20 6c 61 74 65 72 2e 0d the.second.repetition.or.later..
201a0 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 7b 77 20 64 69 72 20 62 69 .proc.tkScaleIncrement.{w.dir.bi
201c0 67 20 72 65 70 65 61 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 g.repeat}.{.....global.tkPriv...
201e0 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e ..if.{![winfo.exists.$w]}.return
20200 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 62 69 67 20 22 62 69 67 .....if.{[string.equal.$big."big
20220 22 5d 7d 20 7b 0d 09 73 65 74 20 69 6e 63 20 5b 24 77 20 63 67 65 74 20 2d 62 69 67 69 6e 63 72 "]}.{..set.inc.[$w.cget.-bigincr
20240 65 6d 65 6e 74 5d 0d 09 69 66 20 7b 24 69 6e 63 20 3d 3d 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 ement]..if.{$inc.==.0}.{......se
20260 74 20 69 6e 63 20 5b 65 78 70 72 20 7b 61 62 73 28 5b 24 77 20 63 67 65 74 20 2d 74 6f 5d 20 2d t.inc.[expr.{abs([$w.cget.-to].-
20280 20 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 29 2f 31 30 2e 30 7d 5d 0d 09 7d 0d 09 69 66 20 .[$w.cget.-from])/10.0}]..}..if.
202a0 7b 24 69 6e 63 20 3c 20 5b 24 77 20 63 67 65 74 20 2d 72 65 73 6f 6c 75 74 69 6f 6e 5d 7d 20 7b {$inc.<.[$w.cget.-resolution]}.{
202c0 0d 09 20 20 20 20 73 65 74 20 69 6e 63 20 5b 24 77 20 63 67 65 74 20 2d 72 65 73 6f 6c 75 74 69 ......set.inc.[$w.cget.-resoluti
202e0 6f 6e 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 69 6e 63 20 5b 24 77 on]..}.....}.else.{..set.inc.[$w
20300 20 63 67 65 74 20 2d 72 65 73 6f 6c 75 74 69 6f 6e 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 .cget.-resolution].....}.....if.
20320 7b 28 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 20 3e 20 5b 24 77 20 63 67 65 74 20 2d 74 6f {([$w.cget.-from].>.[$w.cget.-to
20340 5d 29 20 5e 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 64 69 72 20 22 75 70 22 5d 7d 20 7b ]).^.[string.equal.$dir."up"]}.{
20360 0d 09 73 65 74 20 69 6e 63 20 5b 65 78 70 72 20 7b 2d 24 69 6e 63 7d 5d 0d 20 20 20 20 7d 0d 20 ..set.inc.[expr.{-$inc}].....}..
20380 20 20 20 24 77 20 73 65 74 20 5b 65 78 70 72 20 7b 5b 24 77 20 67 65 74 5d 20 2b 20 24 69 6e 63 ...$w.set.[expr.{[$w.get].+.$inc
203a0 7d 5d 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 72 65 70 65 61 }]......if.{[string.equal.$repea
203c0 74 20 22 61 67 61 69 6e 22 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 t."again"]}.{..set.tkPriv(afterI
203e0 64 29 20 5b 61 66 74 65 72 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 74 69 6e 74 65 72 76 d).[after.[$w.cget.-repeatinterv
20400 61 6c 5d 20 5c 0d 09 09 5b 6c 69 73 74 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 20 24 al].\...[list.tkScaleIncrement.$
20420 77 20 24 64 69 72 20 24 62 69 67 20 61 67 61 69 6e 5d 5d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 w.$dir.$big.again]].....}.elseif
20440 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 72 65 70 65 61 74 20 22 69 6e 69 74 69 61 6c .{[string.equal.$repeat."initial
20460 22 5d 7d 20 7b 0d 09 73 65 74 20 64 65 6c 61 79 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 "]}.{..set.delay.[$w.cget.-repea
20480 74 64 65 6c 61 79 5d 0d 09 69 66 20 7b 24 64 65 6c 61 79 20 3e 20 30 7d 20 7b 0d 09 20 20 20 20 tdelay]..if.{$delay.>.0}.{......
204a0 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 24 64 65 6c 61 set.tkPriv(afterId).[after.$dela
204c0 79 20 5c 0d 09 09 20 20 20 20 5b 6c 69 73 74 20 74 6b 53 63 61 6c 65 49 6e 63 72 65 6d 65 6e 74 y.\.......[list.tkScaleIncrement
204e0 20 24 77 20 24 64 69 72 20 24 62 69 67 20 61 67 61 69 6e 5d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d .$w.$dir.$big.again]]..}.....}.}
20500 0d 0d 23 20 74 6b 53 63 61 6c 65 43 6f 6e 74 72 6f 6c 50 72 65 73 73 20 2d 2d 0d 23 20 54 68 69 ..#.tkScaleControlPress.--.#.Thi
20520 73 20 70 72 6f 63 65 64 75 72 65 20 68 61 6e 64 6c 65 73 20 62 75 74 74 6f 6e 20 70 72 65 73 73 s.procedure.handles.button.press
20540 65 73 20 74 68 61 74 20 61 72 65 20 6d 61 64 65 20 77 69 74 68 20 74 68 65 20 43 6f 6e 74 72 6f es.that.are.made.with.the.Contro
20560 6c 0d 23 20 6b 65 79 20 64 6f 77 6e 2e 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 l.#.key.down...Depending.on.the.
20580 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2c 20 69 74 20 61 64 6a 75 73 74 73 20 74 68 65 20 73 mouse.position,.it.adjusts.the.s
205a0 63 61 6c 65 0d 23 20 76 61 6c 75 65 20 74 6f 20 6f 6e 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 cale.#.value.to.one.end.of.the.r
205c0 61 6e 67 65 20 6f 72 20 74 68 65 20 6f 74 68 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 ange.or.the.other..#.#.Arguments
205e0 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 61 6c 65 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 :.#.w.-..The.scale.widget..#.x,.
20600 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 68 65 72 65 20 74 68 65 20 y.-.Mouse.coordinates.where.the.
20620 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c button.was.pressed...proc.tkScal
20640 65 43 6f 6e 74 72 6f 6c 50 72 65 73 73 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 73 65 74 20 eControlPress.{w.x.y}.{.....set.
20660 65 6c 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 5b el.[$w.identify.$x.$y].....if.{[
20680 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 65 6c 20 22 74 72 6f 75 67 68 31 22 5d 7d 20 7b 0d 09 string.equal.$el."trough1"]}.{..
206a0 24 77 20 73 65 74 20 5b 24 77 20 63 67 65 74 20 2d 66 72 6f 6d 5d 0d 20 20 20 20 7d 20 65 6c 73 $w.set.[$w.cget.-from].....}.els
206c0 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 65 6c 20 22 74 72 6f 75 67 68 32 22 eif.{[string.equal.$el."trough2"
206e0 5d 7d 20 7b 0d 09 24 77 20 73 65 74 20 5b 24 77 20 63 67 65 74 20 2d 74 6f 5d 0d 20 20 20 20 7d ]}.{..$w.set.[$w.cget.-to].....}
20700 0d 7d 0d 0d 23 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f 77 6e 0d 23 20 54 68 69 73 20 .}..#.tkScaleButton2Down.#.This.
20720 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 62 75 74 74 6f 6e procedure.is.invoked.when.button
20740 20 32 20 69 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 61 20 73 63 61 6c 65 2e 0d 23 20 49 74 .2.is.pressed.over.a.scale..#.It
20760 20 73 65 74 73 20 74 68 65 20 76 61 6c 75 65 20 74 6f 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f .sets.the.value.to.correspond.to
20780 20 74 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 73 74 61 72 74 73 0d 23 .the.mouse.position.and.starts.#
207a0 20 61 20 73 6c 69 64 65 72 20 64 72 61 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 .a.slider.drag..#.#.Arguments:.#
207c0 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c .w.-..The.scrollbar.widget..#.x,
207e0 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 68 69 6e 20 74 68 .y.-.Mouse.coordinates.within.th
20800 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 61 6c 65 42 75 74 74 6f 6e 32 44 6f e.widget...proc.tkScaleButton2Do
20820 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d wn.{w.x.y}.{.....global.tkPriv..
20840 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d ....if.{[string.equal.[$w.cget.-
20860 73 74 61 74 65 5d 20 22 64 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 20 20 20 20 20 20 72 65 74 75 state]."disabled"]}.{.......retu
20880 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 rn.....}.....$w.configure.-state
208a0 20 61 63 74 69 76 65 0d 20 20 20 20 24 77 20 73 65 74 20 5b 24 77 20 67 65 74 20 24 78 20 24 79 .active.....$w.set.[$w.get.$x.$y
208c0 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 72 61 67 67 69 6e 67 29 20 31 0d 20 20 20 ].....set.tkPriv(dragging).1....
208e0 20 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 29 20 5b 24 77 20 67 65 74 5d 0d .set.tkPriv(initValue).[$w.get].
20900 20 20 20 20 73 65 74 20 63 6f 6f 72 64 73 20 22 24 78 20 24 79 22 0d 20 20 20 20 73 65 74 20 74 ....set.coords."$x.$y".....set.t
20920 6b 50 72 69 76 28 64 65 6c 74 61 58 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 64 kPriv(deltaX).0.....set.tkPriv(d
20940 65 6c 74 61 59 29 20 30 0d 7d 0d 00 00 2d df 23 20 73 63 72 6c 62 61 72 2e 74 63 6c 20 2d 2d 0d eltaY).0.}...-.#.scrlbar.tcl.--.
20960 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c #.#.This.file.defines.the.defaul
20980 74 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 54 6b 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 t.bindings.for.Tk.scrollbar.widg
209a0 65 74 73 2e 0d 23 20 49 74 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 70 72 6f 63 65 64 75 72 ets..#.It.also.provides.procedur
209c0 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 74 68 65 es.that.help.in.implementing.the
209e0 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 73 63 .bindings..#.#.RCS:.@(#).$Id:.sc
20a00 72 6c 62 61 72 2e 74 63 6c 2c 76 20 31 2e 38 20 32 30 30 30 2f 30 31 2f 30 36 20 30 32 3a 32 32 rlbar.tcl,v.1.8.2000/01/06.02:22
20a20 3a 32 34 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 :24.hobbs.Exp.$.#.#.Copyright.(c
20a40 29 20 31 39 39 34 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 ).1994.The.Regents.of.the.Univer
20a60 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 sity.of.California..#.Copyright.
20a80 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 (c).1994-1996.Sun.Microsystems,.
20aa0 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 Inc..#.#.See.the.file."license.t
20ac0 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 erms".for.information.on.usage.a
20ae0 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 nd.redistribution.#.of.this.file
20b00 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 ,.and.for.a.DISCLAIMER.OF.ALL.WA
20b20 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d RRANTIES..#..#------------------
20b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20b60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 63 6f -----------------------.#.The.co
20b80 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6c 61 de.below.creates.the.default.cla
20ba0 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 73 63 72 6f 6c 6c 62 61 72 73 2e 0d 23 2d 2d 2d ss.bindings.for.scrollbars..#---
20bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
20c00 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 61 6e 64 61 72 64 20 4d 6f 74 69 66 20 62 69 6e 64 69 6e 67 ------..#.Standard.Motif.binding
20c20 73 3a 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 s:.if.{[string.compare.$tcl_plat
20c40 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 5d 20 26 26 20 5c 0d 09 form(platform)."windows"].&&.\..
20c60 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c [string.compare.$tcl_platform(pl
20c80 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 0d 62 69 6e 64 20 53 63 atform)."macintosh"]}.{..bind.Sc
20ca0 72 6f 6c 6c 62 61 72 20 3c 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 69 66 20 7b 24 74 6b 5f 73 74 rollbar.<Enter>.{.....if.{$tk_st
20cc0 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 rictMotif}.{..set.tkPriv(activeB
20ce0 67 29 20 5b 25 57 20 63 67 65 74 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 09 g).[%W.cget.-activebackground]..
20d00 25 57 20 63 6f 6e 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 20 5b 25 57 20 %W.config.-activebackground.[%W.
20d20 63 67 65 74 20 2d 62 61 63 6b 67 72 6f 75 6e 64 5d 0d 20 20 20 20 7d 0d 20 20 20 20 25 57 20 61 cget.-background].....}.....%W.a
20d40 63 74 69 76 61 74 65 20 5b 25 57 20 69 64 65 6e 74 69 66 79 20 25 78 20 25 79 5d 0d 7d 0d 62 69 ctivate.[%W.identify.%x.%y].}.bi
20d60 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 25 57 20 61 nd.Scrollbar.<Motion>.{.....%W.a
20d80 63 74 69 76 61 74 65 20 5b 25 57 20 69 64 65 6e 74 69 66 79 20 25 78 20 25 79 5d 0d 7d 0d 0d 23 ctivate.[%W.identify.%x.%y].}..#
20da0 20 54 68 65 20 22 69 6e 66 6f 20 65 78 69 73 74 73 22 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 .The."info.exists".command.in.th
20dc0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69 6e 64 69 6e 67 20 68 61 6e 64 6c 65 73 20 74 68 65 0d e.following.binding.handles.the.
20de0 23 20 73 69 74 75 61 74 69 6f 6e 20 77 68 65 72 65 20 61 20 4c 65 61 76 65 20 65 76 65 6e 74 20 #.situation.where.a.Leave.event.
20e00 6f 63 63 75 72 73 20 66 6f 72 20 61 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 74 68 6f 75 74 20 74 occurs.for.a.scrollbar.without.t
20e20 68 65 20 45 6e 74 65 72 0d 23 20 65 76 65 6e 74 2e 20 20 54 68 69 73 20 73 65 65 6d 73 20 74 6f he.Enter.#.event...This.seems.to
20e40 20 68 61 70 70 65 6e 20 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 20 28 73 75 63 68 20 61 73 .happen.on.some.systems.(such.as
20e60 20 53 6f 6c 61 72 69 73 20 32 2e 34 29 20 66 6f 72 0d 23 20 75 6e 6b 6e 6f 77 6e 20 72 65 61 73 .Solaris.2.4).for.#.unknown.reas
20e80 6f 6e 73 2e 0d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 4c 65 61 76 65 3e 20 7b 0d 20 ons...bind.Scrollbar.<Leave>.{..
20ea0 20 20 20 69 66 20 7b 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 20 26 26 20 5b 69 6e 66 6f 20 ...if.{$tk_strictMotif.&&.[info.
20ec0 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 61 63 74 69 76 65 42 67 29 5d 7d 20 7b 0d 09 25 57 20 exists.tkPriv(activeBg)]}.{..%W.
20ee0 63 6f 6e 66 69 67 20 2d 61 63 74 69 76 65 62 61 63 6b 67 72 6f 75 6e 64 20 24 74 6b 50 72 69 76 config.-activebackground.$tkPriv
20f00 28 61 63 74 69 76 65 42 67 29 0d 20 20 20 20 7d 0d 20 20 20 20 25 57 20 61 63 74 69 76 61 74 65 (activeBg).....}.....%W.activate
20f20 20 7b 7d 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 31 3e 20 7b 0d 20 20 20 20 74 .{}.}.bind.Scrollbar.<1>.{.....t
20f40 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e kScrollButtonDown.%W.%x.%y.}.bin
20f60 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b d.Scrollbar.<B1-Motion>.{.....tk
20f80 53 63 72 6f 6c 6c 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c ScrollDrag.%W.%x.%y.}.bind.Scrol
20fa0 6c 62 61 72 20 3c 42 31 2d 42 32 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f lbar.<B1-B2-Motion>.{.....tkScro
20fc0 6c 6c 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 llDrag.%W.%x.%y.}.bind.Scrollbar
20fe0 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c .<ButtonRelease-1>.{.....tkScrol
21000 6c 42 75 74 74 6f 6e 55 70 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c lButtonUp.%W.%x.%y.}.bind.Scroll
21020 62 61 72 20 3c 42 31 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 23 20 50 72 65 76 65 6e 74 73 20 bar.<B1-Leave>.{.....#.Prevents.
21040 3c 4c 65 61 76 65 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 76 6f 6b <Leave>.binding.from.being.invok
21060 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 45 6e 74 65 72 3e 20 ed..}.bind.Scrollbar.<B1-Enter>.
21080 7b 0d 20 20 20 20 23 20 50 72 65 76 65 6e 74 73 20 3c 45 6e 74 65 72 3e 20 62 69 6e 64 69 6e 67 {.....#.Prevents.<Enter>.binding
210a0 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f .from.being.invoked..}.bind.Scro
210c0 6c 6c 62 61 72 20 3c 32 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 32 44 llbar.<2>.{.....tkScrollButton2D
210e0 6f 77 6e 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 own.%W.%x.%y.}.bind.Scrollbar.<B
21100 31 2d 32 3e 20 7b 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 2c 20 73 69 6e 63 65 20 62 1-2>.{.....#.Do.nothing,.since.b
21120 75 74 74 6f 6e 20 31 20 69 73 20 61 6c 72 65 61 64 79 20 64 6f 77 6e 2e 0d 7d 0d 62 69 6e 64 20 utton.1.is.already.down..}.bind.
21140 53 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 31 3e 20 7b 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 Scrollbar.<B2-1>.{.....#.Do.noth
21160 69 6e 67 2c 20 73 69 6e 63 65 20 62 75 74 74 6f 6e 20 32 20 69 73 20 61 6c 72 65 61 64 79 20 64 ing,.since.button.2.is.already.d
21180 6f 77 6e 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 4d 6f 74 69 6f 6e own..}.bind.Scrollbar.<B2-Motion
211a0 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 25 57 20 25 78 20 25 79 0d 7d 0d >.{.....tkScrollDrag.%W.%x.%y.}.
211c0 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 32 3e bind.Scrollbar.<ButtonRelease-2>
211e0 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 20 25 57 20 25 78 20 25 79 .{.....tkScrollButtonUp.%W.%x.%y
21200 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 31 2d 42 75 74 74 6f 6e 52 65 6c 65 .}.bind.Scrollbar.<B1-ButtonRele
21220 61 73 65 2d 32 3e 20 7b 0d 20 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 3a 20 20 42 31 20 72 ase-2>.{.....#.Do.nothing:..B1.r
21240 65 6c 65 61 73 65 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 69 74 2e 0d 7d 0d 62 69 6e 64 20 53 63 elease.will.handle.it..}.bind.Sc
21260 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 rollbar.<B2-ButtonRelease-1>.{..
21280 20 20 20 23 20 44 6f 20 6e 6f 74 68 69 6e 67 3a 20 20 42 32 20 72 65 6c 65 61 73 65 20 77 69 6c ...#.Do.nothing:..B2.release.wil
212a0 6c 20 68 61 6e 64 6c 65 20 69 74 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 l.handle.it..}.bind.Scrollbar.<B
212c0 32 2d 4c 65 61 76 65 3e 20 7b 0d 20 20 20 20 23 20 50 72 65 76 65 6e 74 73 20 3c 4c 65 61 76 65 2-Leave>.{.....#.Prevents.<Leave
212e0 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d >.binding.from.being.invoked..}.
21300 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 42 32 2d 45 6e 74 65 72 3e 20 7b 0d 20 20 20 20 bind.Scrollbar.<B2-Enter>.{.....
21320 23 20 50 72 65 76 65 6e 74 73 20 3c 45 6e 74 65 72 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 #.Prevents.<Enter>.binding.from.
21340 62 65 69 6e 67 20 69 6e 76 6f 6b 65 64 2e 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 being.invoked..}.bind.Scrollbar.
21360 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 <Control-1>.{.....tkScrollTopBot
21380 74 6f 6d 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 43 tom.%W.%x.%y.}.bind.Scrollbar.<C
213a0 6f 6e 74 72 6f 6c 2d 32 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f ontrol-2>.{.....tkScrollTopBotto
213c0 6d 20 25 57 20 25 78 20 25 79 0d 7d 0d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 55 70 m.%W.%x.%y.}..bind.Scrollbar.<Up
213e0 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 76 20 2d 31 0d >.{.....tkScrollByUnits.%W.v.-1.
21400 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b }.bind.Scrollbar.<Down>.{.....tk
21420 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 76 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f ScrollByUnits.%W.v.1.}.bind.Scro
21440 6c 6c 62 61 72 20 3c 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c llbar.<Control-Up>.{.....tkScrol
21460 6c 42 79 50 61 67 65 73 20 25 57 20 76 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 lByPages.%W.v.-1.}.bind.Scrollba
21480 72 20 3c 43 6f 6e 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 r.<Control-Down>.{.....tkScrollB
214a0 79 50 61 67 65 73 20 25 57 20 76 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c yPages.%W.v.1.}.bind.Scrollbar.<
214c0 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 68 Left>.{.....tkScrollByUnits.%W.h
214e0 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 52 69 67 68 74 3e 20 7b 0d 20 .-1.}.bind.Scrollbar.<Right>.{..
21500 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 25 57 20 68 20 31 0d 7d 0d 62 69 6e 64 ...tkScrollByUnits.%W.h.1.}.bind
21520 20 53 63 72 6f 6c 6c 62 61 72 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 .Scrollbar.<Control-Left>.{.....
21540 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 25 57 20 68 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 tkScrollByPages.%W.h.-1.}.bind.S
21560 63 72 6f 6c 6c 62 61 72 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 crollbar.<Control-Right>.{.....t
21580 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 25 57 20 68 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 kScrollByPages.%W.h.1.}.bind.Scr
215a0 6f 6c 6c 62 61 72 20 3c 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 ollbar.<Prior>.{.....tkScrollByP
215c0 61 67 65 73 20 25 57 20 68 76 20 2d 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c ages.%W.hv.-1.}.bind.Scrollbar.<
215e0 4e 65 78 74 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 25 57 20 68 Next>.{.....tkScrollByPages.%W.h
21600 76 20 31 0d 7d 0d 62 69 6e 64 20 53 63 72 6f 6c 6c 62 61 72 20 3c 48 6f 6d 65 3e 20 7b 0d 20 20 v.1.}.bind.Scrollbar.<Home>.{...
21620 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 25 57 20 30 0d 7d 0d 62 69 6e 64 20 53 63 72 6f ..tkScrollToPos.%W.0.}.bind.Scro
21640 6c 6c 62 61 72 20 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 llbar.<End>.{.....tkScrollToPos.
21660 25 57 20 31 0d 7d 0d 7d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 2d 2d %W.1.}.}.#.tkScrollButtonDown.--
21680 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 .#.This.procedure.is.invoked.whe
216a0 6e 20 61 20 62 75 74 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 69 6e 20 61 20 73 63 72 6f 6c n.a.button.is.pressed.in.a.scrol
216c0 6c 62 61 72 2e 0d 23 20 49 74 20 63 68 61 6e 67 65 73 20 74 68 65 20 77 61 79 20 74 68 65 20 73 lbar..#.It.changes.the.way.the.s
216e0 63 72 6f 6c 6c 62 61 72 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 6e 64 20 74 61 6b 65 73 20 crollbar.is.displayed.and.takes.
21700 61 63 74 69 6f 6e 73 0d 23 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 actions.#.depending.on.where.the
21720 20 6d 6f 75 73 65 20 69 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 .mouse.is..#.#.Arguments:.#.w.-.
21740 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 .The.scrollbar.widget..#.x,.y.-.
21760 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c Mouse.coordinates...proc.tkScrol
21780 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c lButtonDown.{w.x.y}.{.....global
217a0 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b .tkPriv.....set.tkPriv(relief).[
217c0 24 77 20 63 67 65 74 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 5d 0d 20 20 20 20 24 77 20 63 6f $w.cget.-activerelief].....$w.co
217e0 6e 66 69 67 75 72 65 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 20 20 20 nfigure.-activerelief.sunken....
21800 20 73 65 74 20 65 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d .set.element.[$w.identify.$x.$y]
21820 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 65 6c 65 6d 65 6e 74 20 .....if.{[string.equal.$element.
21840 22 73 6c 69 64 65 72 22 5d 7d 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 53 74 61 72 74 44 72 61 67 20 "slider"]}.{..tkScrollStartDrag.
21860 24 77 20 24 78 20 24 79 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 53 $w.$x.$y.....}.else.{..tkScrollS
21880 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 69 6e 69 74 69 61 6c 0d 20 20 20 20 7d 0d elect.$w.$element.initial.....}.
218a0 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 20 2d 2d 0d 23 20 54 68 69 73 20 }..#.tkScrollButtonUp.--.#.This.
218c0 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 62 75 74 74 procedure.is.invoked.when.a.butt
218e0 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 20 69 6e 20 61 20 73 63 72 6f 6c 6c 62 61 72 2e 0d 23 on.is.released.in.a.scrollbar..#
21900 20 49 74 20 63 61 6e 63 65 6c 73 20 73 63 61 6e 73 20 61 6e 64 20 61 75 74 6f 2d 72 65 70 65 61 .It.cancels.scans.and.auto-repea
21920 74 73 20 74 68 61 74 20 77 65 72 65 20 69 6e 20 70 72 6f 67 72 65 73 73 2c 20 61 6e 64 20 72 65 ts.that.were.in.progress,.and.re
21940 73 74 6f 72 65 73 0d 23 20 74 68 65 20 77 61 79 20 74 68 65 20 61 63 74 69 76 65 20 65 6c 65 6d stores.#.the.way.the.active.elem
21960 65 6e 74 20 69 73 20 64 69 73 70 6c 61 79 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a ent.is.displayed..#.#.Arguments:
21980 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 .#.w.-..The.scrollbar.widget..#.
219a0 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e 0d 0d 70 72 6f 63 20 x,.y.-.Mouse.coordinates...proc.
219c0 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 tkScrollButtonUp.{w.x.y}.{.....g
219e0 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d lobal.tkPriv.....tkCancelRepeat.
21a00 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 72 65 6c 69 ....if.{[info.exists.tkPriv(reli
21a20 65 66 29 5d 7d 20 7b 0d 09 23 20 41 76 6f 69 64 20 65 72 72 6f 72 20 64 75 65 20 74 6f 20 73 70 ef)]}.{..#.Avoid.error.due.to.sp
21a40 75 72 69 6f 75 73 20 72 65 6c 65 61 73 65 20 65 76 65 6e 74 73 0d 09 24 77 20 63 6f 6e 66 69 67 urious.release.events..$w.config
21a60 75 72 65 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 20 24 74 6b 50 72 69 76 28 72 65 6c 69 65 66 ure.-activerelief.$tkPriv(relief
21a80 29 0d 09 74 6b 53 63 72 6f 6c 6c 45 6e 64 44 72 61 67 20 24 77 20 24 78 20 24 79 0d 09 24 77 20 )..tkScrollEndDrag.$w.$x.$y..$w.
21aa0 61 63 74 69 76 61 74 65 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 activate.[$w.identify.$x.$y]....
21ac0 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 2d 2d 0d 23 20 54 68 69 73 .}.}..#.tkScrollSelect.--.#.This
21ae0 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 61 20 62 75 74 .procedure.is.invoked.when.a.but
21b00 74 6f 6e 20 69 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 ton.is.pressed.over.the.scrollba
21b20 72 2e 0d 23 20 49 74 20 69 6e 76 6f 6b 65 73 20 6f 6e 65 20 6f 66 20 73 65 76 65 72 61 6c 20 73 r..#.It.invokes.one.of.several.s
21b40 63 72 6f 6c 6c 69 6e 67 20 61 63 74 69 6f 6e 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 crolling.actions.depending.on.wh
21b60 65 72 65 20 69 6e 0d 23 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 68 65 20 62 75 74 74 6f ere.in.#.the.scrollbar.the.butto
21b80 6e 20 77 61 73 20 70 72 65 73 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 n.was.pressed..#.#.Arguments:.#.
21ba0 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 65 6c 65 w.-..The.scrollbar.widget..#.ele
21bc0 6d 65 6e 74 20 2d 09 54 68 65 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 63 72 6f 6c 6c ment.-.The.element.of.the.scroll
21be0 62 61 72 20 74 68 61 74 20 77 61 73 20 73 65 6c 65 63 74 65 64 2c 20 73 75 63 68 0d 23 09 09 61 bar.that.was.selected,.such.#..a
21c00 73 20 22 61 72 72 6f 77 31 22 20 6f 72 20 22 74 72 6f 75 67 68 32 22 2e 20 20 53 68 6f 75 6c 64 s."arrow1".or."trough2"...Should
21c20 6e 27 74 20 62 65 20 22 73 6c 69 64 65 72 22 2e 0d 23 20 72 65 70 65 61 74 20 2d 09 57 68 65 74 n't.be."slider"..#.repeat.-.Whet
21c40 68 65 72 20 61 6e 64 20 68 6f 77 20 74 6f 20 61 75 74 6f 2d 72 65 70 65 61 74 20 74 68 65 20 61 her.and.how.to.auto-repeat.the.a
21c60 63 74 69 6f 6e 3a 20 20 22 6e 6f 52 65 70 65 61 74 22 0d 23 09 09 6d 65 61 6e 73 20 64 6f 6e 27 ction:.."noRepeat".#..means.don'
21c80 74 20 61 75 74 6f 2d 72 65 70 65 61 74 2c 20 22 69 6e 69 74 69 61 6c 22 20 6d 65 61 6e 73 20 74 t.auto-repeat,."initial".means.t
21ca0 68 69 73 20 69 73 20 74 68 65 0d 23 09 09 66 69 72 73 74 20 61 63 74 69 6f 6e 20 69 6e 20 61 6e his.is.the.#..first.action.in.an
21cc0 20 61 75 74 6f 2d 72 65 70 65 61 74 20 73 65 71 75 65 6e 63 65 2c 20 61 6e 64 20 22 61 67 61 69 .auto-repeat.sequence,.and."agai
21ce0 6e 22 0d 23 09 09 6d 65 61 6e 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 65 63 6f 6e 64 20 72 n".#..means.this.is.the.second.r
21d00 65 70 65 74 69 74 69 6f 6e 20 6f 72 20 6c 61 74 65 72 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f epetition.or.later...proc.tkScro
21d20 6c 6c 53 65 6c 65 63 74 20 7b 77 20 65 6c 65 6d 65 6e 74 20 72 65 70 65 61 74 7d 20 7b 0d 20 20 llSelect.{w.element.repeat}.{...
21d40 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 ..global.tkPriv.....if.{![winfo.
21d60 65 78 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 73 77 69 74 63 68 20 2d 2d exists.$w]}.return.....switch.--
21d80 20 24 65 6c 65 6d 65 6e 74 20 7b 0d 09 22 61 72 72 6f 77 31 22 09 7b 74 6b 53 63 72 6f 6c 6c 42 .$element.{.."arrow1".{tkScrollB
21da0 79 55 6e 69 74 73 20 24 77 20 68 76 20 2d 31 7d 0d 09 22 74 72 6f 75 67 68 31 22 09 7b 74 6b 53 yUnits.$w.hv.-1}.."trough1".{tkS
21dc0 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 24 77 20 68 76 20 2d 31 7d 0d 09 22 74 72 6f 75 67 68 32 crollByPages.$w.hv.-1}.."trough2
21de0 22 09 7b 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 24 77 20 68 76 20 31 7d 0d 09 22 61 72 ".{tkScrollByPages.$w.hv.1}.."ar
21e00 72 6f 77 32 22 09 7b 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 24 77 20 68 76 20 31 7d 0d row2".{tkScrollByUnits.$w.hv.1}.
21e20 09 64 65 66 61 75 6c 74 09 09 7b 72 65 74 75 72 6e 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 .default..{return}.....}.....if.
21e40 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 72 65 70 65 61 74 20 22 61 67 61 69 6e 22 5d 7d {[string.equal.$repeat."again"]}
21e60 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 5b .{..set.tkPriv(afterId).[after.[
21e80 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 74 69 6e 74 65 72 76 61 6c 5d 20 5c 0d 09 09 5b 6c 69 $w.cget.-repeatinterval].\...[li
21ea0 73 74 20 74 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 61 67 st.tkScrollSelect.$w.$element.ag
21ec0 61 69 6e 5d 5d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 ain]].....}.elseif.{[string.equa
21ee0 6c 20 24 72 65 70 65 61 74 20 22 69 6e 69 74 69 61 6c 22 5d 7d 20 7b 0d 09 73 65 74 20 64 65 6c l.$repeat."initial"]}.{..set.del
21f00 61 79 20 5b 24 77 20 63 67 65 74 20 2d 72 65 70 65 61 74 64 65 6c 61 79 5d 0d 09 69 66 20 7b 24 ay.[$w.cget.-repeatdelay]..if.{$
21f20 64 65 6c 61 79 20 3e 20 30 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 61 66 74 delay.>.0}.{......set.tkPriv(aft
21f40 65 72 49 64 29 20 5b 61 66 74 65 72 20 24 64 65 6c 61 79 20 5c 0d 09 09 20 20 20 20 5b 6c 69 73 erId).[after.$delay.\.......[lis
21f60 74 20 74 6b 53 63 72 6f 6c 6c 53 65 6c 65 63 74 20 24 77 20 24 65 6c 65 6d 65 6e 74 20 61 67 61 t.tkScrollSelect.$w.$element.aga
21f80 69 6e 5d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 53 74 61 72 74 in]]..}.....}.}..#.tkScrollStart
21fa0 44 72 61 67 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c Drag.--.#.This.procedure.is.call
21fc0 65 64 20 74 6f 20 69 6e 69 74 69 61 74 65 20 61 20 64 72 61 67 20 6f 66 20 74 68 65 20 73 6c 69 ed.to.initiate.a.drag.of.the.sli
21fe0 64 65 72 2e 20 20 49 74 20 6a 75 73 74 0d 23 20 72 65 6d 65 6d 62 65 72 73 20 74 68 65 20 73 74 der...It.just.#.remembers.the.st
22000 61 72 74 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 20 61 6e 64 arting.position.of.the.mouse.and
22020 20 73 6c 69 64 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 .slider..#.#.Arguments:.#.w.-..T
22040 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 54 68 he.scrollbar.widget..#.x,.y.-.Th
22060 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 e.mouse.position.at.the.start.of
22080 20 74 68 65 20 64 72 61 67 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 .the.drag.operation...proc.tkScr
220a0 6f 6c 6c 53 74 61 72 74 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 ollStartDrag.{w.x.y}.{.....globa
220c0 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 l.tkPriv......if.{[string.equal.
220e0 5b 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 [$w.cget.-command].""]}.{..retur
22100 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 24 n.....}.....set.tkPriv(pressX).$
22120 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 73 73 59 29 20 24 79 0d 20 20 20 20 x.....set.tkPriv(pressY).$y.....
22140 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 5b 24 77 20 67 65 74 5d 0d set.tkPriv(initValues).[$w.get].
22160 20 20 20 20 73 65 74 20 69 76 30 20 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 ....set.iv0.[lindex.$tkPriv(init
22180 56 61 6c 75 65 73 29 20 30 5d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 74 6b 50 Values).0].....if.{[llength.$tkP
221a0 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 5d 20 3d 3d 20 32 7d 20 7b 0d 09 73 65 74 20 74 6b riv(initValues)].==.2}.{..set.tk
221c0 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 24 69 76 30 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 Priv(initPos).$iv0.....}.elseif.
221e0 7b 24 69 76 30 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 69 6e 69 74 50 6f {$iv0.==.0}.{..set.tkPriv(initPo
22200 73 29 20 30 2e 30 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 s).0.0.....}.else.{..set.tkPriv(
22220 69 6e 69 74 50 6f 73 29 20 5b 65 78 70 72 20 7b 28 64 6f 75 62 6c 65 28 5b 6c 69 6e 64 65 78 20 initPos).[expr.{(double([lindex.
22240 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 32 5d 29 29 20 5c 0d 09 09 2f 20 5b $tkPriv(initValues).2])).\.../.[
22260 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 7d 5d 0d lindex.$tkPriv(initValues).0]}].
22280 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 2d 2d 0d 23 20 54 68 69 ....}.}..#.tkScrollDrag.--.#.Thi
222a0 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 20 6d s.procedure.is.called.for.each.m
222c0 6f 75 73 65 20 6d 6f 74 69 6f 6e 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 73 6c 69 64 65 72 ouse.motion.even.when.the.slider
222e0 0d 23 20 69 73 20 62 65 69 6e 67 20 64 72 61 67 67 65 64 2e 20 20 49 74 20 6e 6f 74 69 66 69 65 .#.is.being.dragged...It.notifie
22300 73 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 69 66 20 77 65 27 72 65 s.the.associated.widget.if.we're
22320 20 6e 6f 74 0d 23 20 6a 75 6d 70 20 73 63 72 6f 6c 6c 69 6e 67 2c 20 61 6e 64 20 69 74 20 6a 75 .not.#.jump.scrolling,.and.it.ju
22340 73 74 20 75 70 64 61 74 65 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 69 66 20 77 65 20 61 st.updates.the.scrollbar.if.we.a
22360 72 65 20 6a 75 6d 70 0d 23 20 73 63 72 6f 6c 6c 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e re.jump.#.scrolling..#.#.Argumen
22380 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e ts:.#.w.-..The.scrollbar.widget.
223a0 0d 23 20 78 2c 20 79 20 2d 09 54 68 65 20 63 75 72 72 65 6e 74 20 6d 6f 75 73 65 20 70 6f 73 69 .#.x,.y.-.The.current.mouse.posi
223c0 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 44 72 61 67 20 7b 77 20 78 20 79 7d tion...proc.tkScrollDrag.{w.x.y}
223e0 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 .{.....global.tkPriv......if.{[s
22400 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 22 22 5d tring.equal.$tkPriv(initPos).""]
22420 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 64 65 6c 74 61 20 }.{..return.....}.....set.delta.
22440 5b 24 77 20 64 65 6c 74 61 20 5b 65 78 70 72 20 7b 24 78 20 2d 20 24 74 6b 50 72 69 76 28 70 72 [$w.delta.[expr.{$x.-.$tkPriv(pr
22460 65 73 73 58 29 7d 5d 20 5b 65 78 70 72 20 7b 24 79 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 essX)}].[expr.{$y.-.$tkPriv(pres
22480 73 59 29 7d 5d 5d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 6a 75 6d 70 5d 7d 20 sY)}]].....if.{[$w.cget.-jump]}.
224a0 7b 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 {..if.{[llength.$tkPriv(initValu
224c0 65 73 29 5d 20 3d 3d 20 32 7d 20 7b 0d 09 20 20 20 20 24 77 20 73 65 74 20 5b 65 78 70 72 20 7b es)].==.2}.{......$w.set.[expr.{
224e0 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 20 2b [lindex.$tkPriv(initValues).0].+
22500 20 24 64 65 6c 74 61 7d 5d 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 72 20 7b 5b 6c 69 6e 64 65 78 .$delta}].\.......[expr.{[lindex
22520 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 31 5d 20 2b 20 24 64 65 6c 74 61 .$tkPriv(initValues).1].+.$delta
22540 7d 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 64 65 6c 74 61 20 5b 65 78 70 }]..}.else.{......set.delta.[exp
22560 72 20 7b 72 6f 75 6e 64 28 24 64 65 6c 74 61 20 2a 20 5b 6c 69 6e 64 65 78 20 24 74 6b 50 72 69 r.{round($delta.*.[lindex.$tkPri
22580 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 30 5d 29 7d 5d 0d 09 20 20 20 20 65 76 61 6c 20 5b 6c v(initValues).0])}]......eval.[l
225a0 69 73 74 20 24 77 5d 20 73 65 74 20 5b 6c 72 65 70 6c 61 63 65 20 24 74 6b 50 72 69 76 28 69 6e ist.$w].set.[lreplace.$tkPriv(in
225c0 69 74 56 61 6c 75 65 73 29 20 32 20 33 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 72 20 7b 5b 6c 69 itValues).2.3.\.......[expr.{[li
225e0 6e 64 65 78 20 24 74 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 32 5d 20 2b 20 24 64 ndex.$tkPriv(initValues).2].+.$d
22600 65 6c 74 61 7d 5d 20 5c 0d 09 09 20 20 20 20 5b 65 78 70 72 20 7b 5b 6c 69 6e 64 65 78 20 24 74 elta}].\.......[expr.{[lindex.$t
22620 6b 50 72 69 76 28 69 6e 69 74 56 61 6c 75 65 73 29 20 33 5d 20 2b 20 24 64 65 6c 74 61 7d 5d 5d kPriv(initValues).3].+.$delta}]]
22640 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 ..}.....}.else.{..tkScrollToPos.
22660 24 77 20 5b 65 78 70 72 20 7b 24 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 2b 20 24 64 65 $w.[expr.{$tkPriv(initPos).+.$de
22680 6c 74 61 7d 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 45 6e 64 44 72 61 67 lta}].....}.}..#.tkScrollEndDrag
226a0 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 74 .--.#.This.procedure.is.called.t
226c0 6f 20 65 6e 64 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 64 72 61 67 20 6f 66 20 74 68 65 o.end.an.interactive.drag.of.the
226e0 20 73 6c 69 64 65 72 2e 0d 23 20 49 74 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 .slider..#.It.scrolls.the.window
22700 20 69 66 20 77 65 27 72 65 20 69 6e 20 6a 75 6d 70 20 6d 6f 64 65 2c 20 6f 74 68 65 72 77 69 73 .if.we're.in.jump.mode,.otherwis
22720 65 20 69 74 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 e.it.does.nothing..#.#.Arguments
22740 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 :.#.w.-..The.scrollbar.widget..#
22760 20 78 2c 20 79 20 2d 09 54 68 65 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 20 61 74 20 74 68 .x,.y.-.The.mouse.position.at.th
22780 65 20 65 6e 64 20 6f 66 20 74 68 65 20 64 72 61 67 20 6f 70 65 72 61 74 69 6f 6e 2e 0d 0d 70 72 e.end.of.the.drag.operation...pr
227a0 6f 63 20 74 6b 53 63 72 6f 6c 6c 45 6e 64 44 72 61 67 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 oc.tkScrollEndDrag.{w.x.y}.{....
227c0 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 .global.tkPriv......if.{[string.
227e0 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 22 22 5d 7d 20 7b 0d 09 72 equal.$tkPriv(initPos).""]}.{..r
22800 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 67 65 74 20 2d 6a 75 eturn.....}.....if.{[$w.cget.-ju
22820 6d 70 5d 7d 20 7b 0d 09 73 65 74 20 64 65 6c 74 61 20 5b 24 77 20 64 65 6c 74 61 20 5b 65 78 70 mp]}.{..set.delta.[$w.delta.[exp
22840 72 20 7b 24 78 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 7d 5d 20 5c 0d 09 09 5b 65 r.{$x.-.$tkPriv(pressX)}].\...[e
22860 78 70 72 20 7b 24 79 20 2d 20 24 74 6b 50 72 69 76 28 70 72 65 73 73 59 29 7d 5d 5d 0d 09 74 6b xpr.{$y.-.$tkPriv(pressY)}]]..tk
22880 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 5b 65 78 70 72 20 7b 24 74 6b 50 72 69 76 28 69 6e ScrollToPos.$w.[expr.{$tkPriv(in
228a0 69 74 50 6f 73 29 20 2b 20 24 64 65 6c 74 61 7d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 itPos).+.$delta}].....}.....set.
228c0 74 6b 50 72 69 76 28 69 6e 69 74 50 6f 73 29 20 22 22 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c tkPriv(initPos)."".}..#.tkScroll
228e0 42 79 55 6e 69 74 73 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 74 65 6c 6c ByUnits.--.#.This.procedure.tell
22900 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 27 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 s.the.scrollbar's.associated.wid
22920 67 65 74 20 74 6f 20 73 63 72 6f 6c 6c 20 75 70 0d 23 20 6f 72 20 64 6f 77 6e 20 62 79 20 61 20 get.to.scroll.up.#.or.down.by.a.
22940 67 69 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 69 74 73 2e 20 20 49 74 20 6e 6f 74 69 66 given.number.of.units...It.notif
22960 69 65 73 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 0d 23 20 69 6e 20 64 ies.the.associated.widget.#.in.d
22980 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 66 6f 72 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20 63 6f ifferent.ways.for.old.and.new.co
229a0 6d 6d 61 6e 64 20 73 79 6e 74 61 78 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 mmand.syntaxes..#.#.Arguments:.#
229c0 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 6f 72 .w.-..The.scrollbar.widget..#.or
229e0 69 65 6e 74 20 2d 09 57 68 69 63 68 20 6b 69 6e 64 73 20 6f 66 20 73 63 72 6f 6c 6c 62 61 72 73 ient.-.Which.kinds.of.scrollbars
22a00 20 74 68 69 73 20 61 70 70 6c 69 65 73 20 74 6f 3a 20 20 22 68 22 20 66 6f 72 0d 23 09 09 68 6f .this.applies.to:.."h".for.#..ho
22a20 72 69 7a 6f 6e 74 61 6c 2c 20 22 76 22 20 66 6f 72 20 76 65 72 74 69 63 61 6c 2c 20 22 68 76 22 rizontal,."v".for.vertical,."hv"
22a40 20 66 6f 72 20 62 6f 74 68 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 48 6f 77 20 6d 61 6e 79 20 75 .for.both..#.amount.-.How.many.u
22a60 6e 69 74 73 20 74 6f 20 73 63 72 6f 6c 6c 3a 20 20 74 79 70 69 63 61 6c 6c 79 20 31 20 6f 72 20 nits.to.scroll:..typically.1.or.
22a80 2d 31 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 79 55 6e 69 74 73 20 7b 77 20 6f 72 69 -1...proc.tkScrollByUnits.{w.ori
22aa0 65 6e 74 20 61 6d 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 ent.amount}.{.....set.cmd.[$w.cg
22ac0 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 et.-command].....if.{[string.equ
22ae0 61 6c 20 24 63 6d 64 20 22 22 5d 20 7c 7c 20 28 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 5c 0d al.$cmd.""].||.([string.first.\.
22b00 09 20 20 20 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 63 67 65 74 20 2d 6f 72 69 .....[string.index.[$w.cget.-ori
22b20 65 6e 74 5d 20 30 5d 20 24 6f 72 69 65 6e 74 5d 20 3c 20 30 29 7d 20 7b 0d 09 72 65 74 75 72 6e ent].0].$orient].<.0)}.{..return
22b40 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 .....}.....set.info.[$w.get]....
22b60 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 .if.{[llength.$info].==.2}.{..up
22b80 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 73 63 72 6f 6c 6c 20 24 61 6d 6f 75 6e 74 20 75 6e 69 level.#0.$cmd.scroll.$amount.uni
22ba0 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 ts.....}.else.{..uplevel.#0.$cmd
22bc0 20 5b 65 78 70 72 20 7b 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 32 5d 20 2b 20 24 61 6d 6f 75 .[expr.{[lindex.$info.2].+.$amou
22be0 6e 74 7d 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 nt}].....}.}..#.tkScrollByPages.
22c00 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 74 65 6c 6c 73 20 74 68 65 20 73 63 --.#.This.procedure.tells.the.sc
22c20 72 6f 6c 6c 62 61 72 27 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 74 6f 20 73 rollbar's.associated.widget.to.s
22c40 63 72 6f 6c 6c 20 75 70 0d 23 20 6f 72 20 64 6f 77 6e 20 62 79 20 61 20 67 69 76 65 6e 20 6e 75 croll.up.#.or.down.by.a.given.nu
22c60 6d 62 65 72 20 6f 66 20 73 63 72 65 65 6e 66 75 6c 73 2e 20 20 49 74 20 6e 6f 74 69 66 69 65 73 mber.of.screenfuls...It.notifies
22c80 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 0d 23 20 77 69 64 67 65 74 20 69 6e 20 64 69 66 66 .the.associated.#.widget.in.diff
22ca0 65 72 65 6e 74 20 77 61 79 73 20 66 6f 72 20 6f 6c 64 20 61 6e 64 20 6e 65 77 20 63 6f 6d 6d 61 erent.ways.for.old.and.new.comma
22cc0 6e 64 20 73 79 6e 74 61 78 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 nd.syntaxes..#.#.Arguments:.#.w.
22ce0 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 6f 72 69 65 6e -..The.scrollbar.widget..#.orien
22d00 74 20 2d 09 57 68 69 63 68 20 6b 69 6e 64 73 20 6f 66 20 73 63 72 6f 6c 6c 62 61 72 73 20 74 68 t.-.Which.kinds.of.scrollbars.th
22d20 69 73 20 61 70 70 6c 69 65 73 20 74 6f 3a 20 20 22 68 22 20 66 6f 72 0d 23 09 09 68 6f 72 69 7a is.applies.to:.."h".for.#..horiz
22d40 6f 6e 74 61 6c 2c 20 22 76 22 20 66 6f 72 20 76 65 72 74 69 63 61 6c 2c 20 22 68 76 22 20 66 6f ontal,."v".for.vertical,."hv".fo
22d60 72 20 62 6f 74 68 2e 0d 23 20 61 6d 6f 75 6e 74 20 2d 09 48 6f 77 20 6d 61 6e 79 20 73 63 72 65 r.both..#.amount.-.How.many.scre
22d80 65 6e 73 20 74 6f 20 73 63 72 6f 6c 6c 3a 20 20 74 79 70 69 63 61 6c 6c 79 20 31 20 6f 72 20 2d ens.to.scroll:..typically.1.or.-
22da0 31 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 79 50 61 67 65 73 20 7b 77 20 6f 72 69 65 1...proc.tkScrollByPages.{w.orie
22dc0 6e 74 20 61 6d 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 65 nt.amount}.{.....set.cmd.[$w.cge
22de0 74 20 2d 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 t.-command].....if.{[string.equa
22e00 6c 20 24 63 6d 64 20 22 22 5d 20 7c 7c 20 28 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 5c 0d 09 l.$cmd.""].||.([string.first.\..
22e20 20 20 20 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 20 63 67 65 74 20 2d 6f 72 69 65 ....[string.index.[$w.cget.-orie
22e40 6e 74 5d 20 30 5d 20 24 6f 72 69 65 6e 74 5d 20 3c 20 30 29 7d 20 7b 0d 09 72 65 74 75 72 6e 0d nt].0].$orient].<.0)}.{..return.
22e60 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 ....}.....set.info.[$w.get].....
22e80 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 6c if.{[llength.$info].==.2}.{..upl
22ea0 65 76 65 6c 20 23 30 20 24 63 6d 64 20 73 63 72 6f 6c 6c 20 24 61 6d 6f 75 6e 74 20 70 61 67 65 evel.#0.$cmd.scroll.$amount.page
22ec0 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 s.....}.else.{..uplevel.#0.$cmd.
22ee0 5b 65 78 70 72 20 7b 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 32 5d 20 2b 20 24 61 6d 6f 75 6e [expr.{[lindex.$info.2].+.$amoun
22f00 74 2a 28 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 31 5d 20 2d 20 31 29 7d 5d 0d 20 20 20 20 7d t*([lindex.$info.1].-.1)}].....}
22f20 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 .}..#.tkScrollToPos.--.#.This.pr
22f40 6f 63 65 64 75 72 65 20 74 65 6c 6c 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 27 73 20 61 73 ocedure.tells.the.scrollbar's.as
22f60 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 74 6f 20 73 63 72 6f 6c 6c 20 74 6f 0d 23 20 61 sociated.widget.to.scroll.to.#.a
22f80 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e 2c 20 67 69 76 65 6e 20 62 79 20 61 .particular.location,.given.by.a
22fa0 20 66 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 31 2e 20 20 49 74 20 6e .fraction.between.0.and.1...It.n
22fc0 6f 74 69 66 69 65 73 0d 23 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 64 67 65 74 20 otifies.#.the.associated.widget.
22fe0 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 66 6f 72 20 6f 6c 64 20 61 6e 64 20 6e 65 in.different.ways.for.old.and.ne
23000 77 20 63 6f 6d 6d 61 6e 64 20 73 79 6e 74 61 78 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 w.command.syntaxes..#.#.Argument
23020 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d s:.#.w.-..The.scrollbar.widget..
23040 23 20 70 6f 73 20 2d 09 09 41 20 66 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 30 20 61 6e #.pos.-..A.fraction.between.0.an
23060 64 20 31 20 69 6e 64 69 63 61 74 69 6e 67 20 61 20 64 65 73 69 72 65 64 20 70 6f 73 69 74 69 6f d.1.indicating.a.desired.positio
23080 6e 0d 23 09 09 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 n.#..in.the.document...proc.tkSc
230a0 72 6f 6c 6c 54 6f 50 6f 73 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 rollToPos.{w.pos}.{.....set.cmd.
230c0 5b 24 77 20 63 67 65 74 20 2d 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 [$w.cget.-command].....if.{[stri
230e0 6e 67 20 65 71 75 61 6c 20 24 63 6d 64 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 ng.equal.$cmd.""]}.{..return....
23100 20 7d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 5b 24 77 20 67 65 74 5d 0d 20 20 20 20 69 66 20 .}.....set.info.[$w.get].....if.
23120 7b 5b 6c 6c 65 6e 67 74 68 20 24 69 6e 66 6f 5d 20 3d 3d 20 32 7d 20 7b 0d 09 75 70 6c 65 76 65 {[llength.$info].==.2}.{..upleve
23140 6c 20 23 30 20 24 63 6d 64 20 6d 6f 76 65 74 6f 20 24 70 6f 73 0d 20 20 20 20 7d 20 65 6c 73 65 l.#0.$cmd.moveto.$pos.....}.else
23160 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 20 5b 65 78 70 72 20 7b 72 6f 75 6e 64 .{..uplevel.#0.$cmd.[expr.{round
23180 28 5b 6c 69 6e 64 65 78 20 24 69 6e 66 6f 20 30 5d 2a 24 70 6f 73 29 7d 5d 0d 20 20 20 20 7d 0d ([lindex.$info.0]*$pos)}].....}.
231a0 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 0d 23 20 53 63 72 6f 6c 6c 20 }..#.tkScrollTopBottom.#.Scroll.
231c0 74 6f 20 74 68 65 20 74 6f 70 20 6f 72 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 6f 63 75 to.the.top.or.bottom.of.the.docu
231e0 6d 65 6e 74 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 6d 6f 75 73 65 0d 23 20 70 ment,.depending.on.the.mouse.#.p
23200 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 osition..#.#.Arguments:.#.w.-..T
23220 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f he.scrollbar.widget..#.x,.y.-.Mo
23240 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 64 67 65 use.coordinates.within.the.widge
23260 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 54 6f 70 42 6f 74 74 6f 6d 20 7b 77 20 78 20 t...proc.tkScrollTopBottom.{w.x.
23280 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 65 y}.{.....global.tkPriv.....set.e
232a0 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 66 79 20 24 78 20 24 79 5d 0d 20 20 20 20 69 lement.[$w.identify.$x.$y].....i
232c0 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 31 20 24 65 6c 65 6d 65 6e 74 5d 7d 20 7b f.{[string.match.*1.$element]}.{
232e0 0d 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 30 0d 20 20 20 20 7d 20 65 6c 73 65 69 ..tkScrollToPos.$w.0.....}.elsei
23300 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 32 20 24 65 6c 65 6d 65 6e 74 5d 7d 20 7b f.{[string.match.*2.$element]}.{
23320 0d 09 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 31 0d 20 20 20 20 7d 0d 0d 20 20 20 20 ..tkScrollToPos.$w.1.....}......
23340 23 20 53 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 2c 20 73 69 6e 63 65 20 69 74 27 73 #.Set.tkPriv(relief),.since.it's
23360 20 6e 65 65 64 65 64 20 62 79 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e 55 70 2e 0d 0d 20 20 .needed.by.tkScrollButtonUp.....
23380 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 61 ..set.tkPriv(relief).[$w.cget.-a
233a0 63 74 69 76 65 72 65 6c 69 65 66 5d 0d 7d 0d 0d 23 20 74 6b 53 63 72 6f 6c 6c 42 75 74 74 6f 6e ctiverelief].}..#.tkScrollButton
233c0 32 44 6f 77 6e 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 2Down.#.This.procedure.is.invoke
233e0 64 20 77 68 65 6e 20 62 75 74 74 6f 6e 20 32 20 69 73 20 70 72 65 73 73 65 64 20 6f 76 65 72 20 d.when.button.2.is.pressed.over.
23400 61 20 73 63 72 6f 6c 6c 62 61 72 2e 0d 23 20 49 66 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 a.scrollbar..#.If.the.button.is.
23420 6f 76 65 72 20 74 68 65 20 74 72 6f 75 67 68 20 6f 72 20 73 6c 69 64 65 72 2c 20 69 74 20 73 65 over.the.trough.or.slider,.it.se
23440 74 73 20 74 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 74 6f 0d 23 20 74 68 65 20 6d 6f 75 73 65 20 ts.the.scrollbar.to.#.the.mouse.
23460 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 73 74 61 72 74 73 20 61 20 73 6c 69 64 65 72 20 64 72 61 position.and.starts.a.slider.dra
23480 67 2e 20 20 4f 74 68 65 72 77 69 73 65 20 69 74 20 6a 75 73 74 0d 23 20 62 65 68 61 76 65 73 20 g...Otherwise.it.just.#.behaves.
234a0 74 68 65 20 73 61 6d 65 20 61 73 20 62 75 74 74 6f 6e 20 31 2e 0d 23 0d 23 20 41 72 67 75 6d 65 the.same.as.button.1..#.#.Argume
234c0 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 73 63 72 6f 6c 6c 62 61 72 20 77 69 64 67 65 74 nts:.#.w.-..The.scrollbar.widget
234e0 2e 0d 23 20 78 2c 20 79 20 2d 09 4d 6f 75 73 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 77 69 74 ..#.x,.y.-.Mouse.coordinates.wit
23500 68 69 6e 20 74 68 65 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 53 63 72 6f 6c 6c 42 75 hin.the.widget...proc.tkScrollBu
23520 74 74 6f 6e 32 44 6f 77 6e 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 tton2Down.{w.x.y}.{.....global.t
23540 6b 50 72 69 76 0d 20 20 20 20 73 65 74 20 65 6c 65 6d 65 6e 74 20 5b 24 77 20 69 64 65 6e 74 69 kPriv.....set.element.[$w.identi
23560 66 79 20 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 fy.$x.$y].....if.{[string.match.
23580 7b 61 72 72 6f 77 5b 31 32 5d 7d 20 24 65 6c 65 6d 65 6e 74 5d 7d 20 7b 0d 09 74 6b 53 63 72 6f {arrow[12]}.$element]}.{..tkScro
235a0 6c 6c 42 75 74 74 6f 6e 44 6f 77 6e 20 24 77 20 24 78 20 24 79 0d 09 72 65 74 75 72 6e 0d 20 20 llButtonDown.$w.$x.$y..return...
235c0 20 20 7d 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 54 6f 50 6f 73 20 24 77 20 5b 24 77 20 66 72 61 ..}.....tkScrollToPos.$w.[$w.fra
235e0 63 74 69 6f 6e 20 24 78 20 24 79 5d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 72 65 6c 69 ction.$x.$y].....set.tkPriv(reli
23600 65 66 29 20 5b 24 77 20 63 67 65 74 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 5d 0d 0d 20 20 20 ef).[$w.cget.-activerelief].....
23620 20 23 20 4e 65 65 64 20 74 68 65 20 22 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 22 20 62 .#.Need.the."update.idletasks".b
23640 65 6c 6f 77 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 64 67 65 74 20 63 61 6c 6c 73 20 75 73 elow.so.that.the.widget.calls.us
23660 0d 20 20 20 20 23 20 62 61 63 6b 20 74 6f 20 72 65 73 65 74 20 74 68 65 20 61 63 74 75 61 6c 20 .....#.back.to.reset.the.actual.
23680 73 63 72 6f 6c 6c 62 61 72 20 70 6f 73 69 74 69 6f 6e 20 62 65 66 6f 72 65 20 77 65 20 73 74 61 scrollbar.position.before.we.sta
236a0 72 74 20 74 68 65 0d 20 20 20 20 23 20 73 6c 69 64 65 72 20 64 72 61 67 2e 0d 0d 20 20 20 20 75 rt.the.....#.slider.drag.......u
236c0 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 24 77 20 63 6f 6e 66 69 67 75 72 65 pdate.idletasks.....$w.configure
236e0 20 2d 61 63 74 69 76 65 72 65 6c 69 65 66 20 73 75 6e 6b 65 6e 0d 20 20 20 20 24 77 20 61 63 74 .-activerelief.sunken.....$w.act
23700 69 76 61 74 65 20 73 6c 69 64 65 72 0d 20 20 20 20 74 6b 53 63 72 6f 6c 6c 53 74 61 72 74 44 72 ivate.slider.....tkScrollStartDr
23720 61 67 20 24 77 20 24 78 20 24 79 0d 7d 0d 00 00 12 31 23 20 74 65 61 72 6f 66 66 2e 74 63 6c 20 ag.$w.$x.$y.}....1#.tearoff.tcl.
23740 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 70 72 6f 63 65 64 --.#.#.This.file.contains.proced
23760 75 72 65 73 20 74 68 61 74 20 69 6d 70 6c 65 6d 65 6e 74 20 74 65 61 72 2d 6f 66 66 20 6d 65 6e ures.that.implement.tear-off.men
23780 75 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 74 65 61 72 6f 66 66 2e 74 us..#.#.RCS:.@(#).$Id:.tearoff.t
237a0 63 6c 2c 76 20 31 2e 36 20 32 30 30 30 2f 30 31 2f 30 36 20 30 32 3a 32 32 3a 32 34 20 68 6f 62 cl,v.1.6.2000/01/06.02:22:24.hob
237c0 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 bs.Exp.$.#.#.Copyright.(c).1994.
237e0 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 The.Regents.of.the.University.of
23800 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 .California..#.Copyright.(c).199
23820 34 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 4-1997.Sun.Microsystems,.Inc..#.
23840 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 #.See.the.file."license.terms".f
23860 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 or.information.on.usage.and.redi
23880 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 stribution.#.of.this.file,.and.f
238a0 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 or.a.DISCLAIMER.OF.ALL.WARRANTIE
238c0 53 2e 0d 23 0d 0d 23 20 74 6b 54 65 61 72 6f 66 66 4d 65 6e 75 20 2d 2d 0d 23 20 47 69 76 65 6e S..#..#.tkTearoffMenu.--.#.Given
238e0 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 6d 65 6e 75 2c 20 74 68 69 73 20 70 72 6f 63 65 64 .the.name.of.a.menu,.this.proced
23900 75 72 65 20 63 72 65 61 74 65 73 20 61 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 0d 23 20 74 68 ure.creates.a.torn-off.menu.#.th
23920 61 74 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 74 68 65 20 67 69 76 65 6e 20 6d 65 6e at.is.identical.to.the.given.men
23940 75 20 28 69 6e 63 6c 75 64 69 6e 67 20 6e 65 73 74 65 64 20 73 75 62 6d 65 6e 75 73 29 2e 0d 23 u.(including.nested.submenus)..#
23960 20 54 68 65 20 6e 65 77 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 20 65 78 69 73 74 73 20 61 73 .The.new.torn-off.menu.exists.as
23980 20 61 20 74 6f 70 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 64 20 62 79 20 74 68 .a.toplevel.window.managed.by.th
239a0 65 0d 23 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 2e 20 20 54 68 65 20 72 65 74 75 72 6e 20 e.#.window.manager...The.return.
239c0 76 61 6c 75 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 77 20 6d 65 6e value.is.the.name.of.the.new.men
239e0 75 2e 0d 23 20 54 68 65 20 77 69 6e 64 6f 77 20 69 73 20 63 72 65 61 74 65 64 20 61 74 20 74 68 u..#.The.window.is.created.at.th
23a00 65 20 70 6f 69 6e 74 20 73 70 65 63 69 66 69 65 64 20 62 79 20 78 20 61 6e 64 20 79 0d 23 0d 23 e.point.specified.by.x.and.y.#.#
23a20 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 09 54 68 65 20 6d 65 6e 75 20 74 6f 20 .Arguments:.#.w.-...The.menu.to.
23a40 62 65 20 74 6f 72 6e 2d 6f 66 66 20 28 64 75 70 6c 69 63 61 74 65 64 29 2e 0d 23 20 78 20 2d 09 be.torn-off.(duplicated)..#.x.-.
23a60 09 09 78 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 68 65 72 65 20 77 69 6e 64 6f 77 20 69 73 20 63 ..x.coordinate.where.window.is.c
23a80 72 65 61 74 65 64 0d 23 20 79 20 2d 09 09 09 79 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 68 65 72 reated.#.y.-...y.coordinate.wher
23aa0 65 20 77 69 6e 64 6f 77 20 69 73 20 63 72 65 61 74 65 64 0d 0d 70 72 6f 63 20 74 6b 54 65 61 72 e.window.is.created..proc.tkTear
23ac0 4f 66 66 4d 65 6e 75 20 7b 77 20 7b 78 20 30 7d 20 7b 79 20 30 7d 7d 20 7b 0d 20 20 20 20 23 20 OffMenu.{w.{x.0}.{y.0}}.{.....#.
23ae0 46 69 6e 64 20 61 20 75 6e 69 71 75 65 20 6e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f 72 20 74 68 Find.a.unique.name.to.use.for.th
23b00 65 20 74 6f 72 6e 2d 6f 66 66 20 6d 65 6e 75 2e 20 20 46 69 6e 64 20 74 68 65 20 66 69 72 73 74 e.torn-off.menu...Find.the.first
23b20 0d 20 20 20 20 23 20 61 6e 63 65 73 74 6f 72 20 6f 66 20 77 20 74 68 61 74 20 69 73 20 61 20 74 .....#.ancestor.of.w.that.is.a.t
23b40 6f 70 6c 65 76 65 6c 20 62 75 74 20 6e 6f 74 20 61 20 6d 65 6e 75 2c 20 61 6e 64 20 75 73 65 20 oplevel.but.not.a.menu,.and.use.
23b60 74 68 69 73 20 61 73 0d 20 20 20 20 23 20 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 20 this.as.....#.the.parent.of.the.
23b80 6e 65 77 20 6d 65 6e 75 2e 20 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 new.menu...This.guarantees.that.
23ba0 74 68 65 20 74 6f 72 6e 20 6f 66 66 0d 20 20 20 20 23 20 6d 65 6e 75 20 77 69 6c 6c 20 62 65 20 the.torn.off.....#.menu.will.be.
23bc0 6f 6e 20 74 68 65 20 73 61 6d 65 20 73 63 72 65 65 6e 20 61 73 20 74 68 65 20 6f 72 69 67 69 6e on.the.same.screen.as.the.origin
23be0 61 6c 20 6d 65 6e 75 2e 20 20 42 79 20 6d 61 6b 69 6e 67 0d 20 20 20 20 23 20 69 74 20 61 20 63 al.menu...By.making.....#.it.a.c
23c00 68 69 6c 64 20 6f 66 20 74 68 65 20 61 6e 63 65 73 74 6f 72 2c 20 72 61 74 68 65 72 20 74 68 61 hild.of.the.ancestor,.rather.tha
23c20 6e 20 61 20 63 68 69 6c 64 20 6f 66 20 74 68 65 20 6d 65 6e 75 2c 20 69 74 0d 20 20 20 20 23 20 n.a.child.of.the.menu,.it.....#.
23c40 63 61 6e 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 6c 69 76 65 20 65 76 65 6e 20 69 66 20 74 68 65 can.continue.to.live.even.if.the
23c60 20 6d 65 6e 75 20 69 73 20 64 65 6c 65 74 65 64 3b 20 20 69 74 20 77 69 6c 6c 20 67 6f 0d 20 20 .menu.is.deleted;..it.will.go...
23c80 20 20 23 20 61 77 61 79 20 77 68 65 6e 20 74 68 65 20 74 6f 70 6c 65 76 65 6c 20 67 6f 65 73 20 ..#.away.when.the.toplevel.goes.
23ca0 61 77 61 79 2e 0d 0d 20 20 20 20 69 66 20 7b 24 78 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 09 73 away.......if.{$x.==.0}.{......s
23cc0 65 74 20 78 20 5b 77 69 6e 66 6f 20 72 6f 6f 74 78 20 24 77 5d 0d 20 20 20 20 7d 0d 20 20 20 20 et.x.[winfo.rootx.$w].....}.....
23ce0 69 66 20 7b 24 79 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 09 73 65 74 20 79 20 5b 77 69 6e 66 6f if.{$y.==.0}.{......set.y.[winfo
23d00 20 72 6f 6f 74 79 20 24 77 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 .rooty.$w].....}......set.parent
23d20 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 .[winfo.parent.$w].....while.{[s
23d40 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 70 tring.compare.[winfo.toplevel.$p
23d60 61 72 65 6e 74 5d 20 24 70 61 72 65 6e 74 5d 20 5c 0d 09 20 20 20 20 7c 7c 20 5b 73 74 72 69 6e arent].$parent].\......||.[strin
23d80 67 20 65 71 75 61 6c 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 70 61 72 65 6e 74 5d 20 22 4d g.equal.[winfo.class.$parent]."M
23da0 65 6e 75 22 5d 7d 20 7b 0d 09 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 enu"]}.{..set.parent.[winfo.pare
23dc0 6e 74 20 24 70 61 72 65 6e 74 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e nt.$parent].....}.....if.{[strin
23de0 67 20 65 71 75 61 6c 20 24 70 61 72 65 6e 74 20 22 2e 22 5d 7d 20 7b 0d 09 73 65 74 20 70 61 72 g.equal.$parent."."]}.{..set.par
23e00 65 6e 74 20 22 22 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 31 7d 20 31 ent."".....}.....for.{set.i.1}.1
23e20 20 7b 69 6e 63 72 20 69 7d 20 7b 0d 09 73 65 74 20 6d 65 6e 75 20 24 70 61 72 65 6e 74 2e 74 65 .{incr.i}.{..set.menu.$parent.te
23e40 61 72 6f 66 66 24 69 0d 09 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 6d 65 6e aroff$i..if.{![winfo.exists.$men
23e60 75 5d 7d 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 24 u]}.{......break..}.....}......$
23e80 77 20 63 6c 6f 6e 65 20 24 6d 65 6e 75 20 74 65 61 72 6f 66 66 0d 0d 20 20 20 20 23 20 50 69 63 w.clone.$menu.tearoff......#.Pic
23ea0 6b 20 61 20 74 69 74 6c 65 20 66 6f 72 20 74 68 65 20 6e 65 77 20 6d 65 6e 75 20 62 79 20 6c 6f k.a.title.for.the.new.menu.by.lo
23ec0 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 68 65 0d 20 20 20 20 23 oking.at.the.parent.of.the.....#
23ee0 20 6f 72 69 67 69 6e 61 6c 3a 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 20 69 73 20 61 20 6d 65 .original:.if.the.parent.is.a.me
23f00 6e 75 2c 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 61 63 74 nu,.then.use.the.text.of.the.act
23f20 69 76 65 0d 20 20 20 20 23 20 65 6e 74 72 79 2e 20 20 49 66 20 69 74 27 73 20 61 20 6d 65 6e 75 ive.....#.entry...If.it's.a.menu
23f40 62 75 74 74 6f 6e 20 74 68 65 6e 20 75 73 65 20 69 74 73 20 74 65 78 74 2e 0d 0d 20 20 20 20 73 button.then.use.its.text.......s
23f60 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f 20 70 61 72 65 6e 74 20 24 77 5d 0d 20 20 20 20 et.parent.[winfo.parent.$w].....
23f80 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 if.{[string.compare.[$menu.cget.
23fa0 2d 74 69 74 6c 65 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 20 09 77 6d 20 74 69 74 6c 65 20 24 6d 65 -title].""]}.{......wm.title.$me
23fc0 6e 75 20 5b 24 6d 65 6e 75 20 63 67 65 74 20 2d 74 69 74 6c 65 5d 0d 20 20 20 20 7d 20 65 6c 73 nu.[$menu.cget.-title].....}.els
23fe0 65 20 7b 0d 20 20 20 20 09 73 77 69 74 63 68 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 24 70 61 e.{......switch.[winfo.class.$pa
24000 72 65 6e 74 5d 20 7b 0d 09 20 20 20 20 4d 65 6e 75 62 75 74 74 6f 6e 20 7b 0d 09 20 20 20 20 09 rent].{......Menubutton.{.......
24020 77 6d 20 74 69 74 6c 65 20 24 6d 65 6e 75 20 5b 24 70 61 72 65 6e 74 20 63 67 65 74 20 2d 74 65 wm.title.$menu.[$parent.cget.-te
24040 78 74 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 4d 65 6e 75 20 7b 0d 09 20 20 20 20 09 77 6d 20 xt]......}......Menu.{.......wm.
24060 74 69 74 6c 65 20 24 6d 65 6e 75 20 5b 24 70 61 72 65 6e 74 20 65 6e 74 72 79 63 67 65 74 20 61 title.$menu.[$parent.entrycget.a
24080 63 74 69 76 65 20 2d 6c 61 62 65 6c 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 ctive.-label]......}..}.....}...
240a0 20 20 20 24 6d 65 6e 75 20 70 6f 73 74 20 24 78 20 24 79 0d 0d 20 20 20 20 69 66 20 7b 5b 77 69 ...$menu.post.$x.$y......if.{[wi
240c0 6e 66 6f 20 65 78 69 73 74 73 20 24 6d 65 6e 75 5d 20 3d 3d 20 30 7d 20 7b 0d 09 72 65 74 75 72 nfo.exists.$menu].==.0}.{..retur
240e0 6e 20 22 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 53 65 74 20 74 6b 50 72 69 76 28 66 6f 63 n."".....}......#.Set.tkPriv(foc
24100 75 73 29 20 6f 6e 20 65 6e 74 72 79 3a 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 66 6f 63 us).on.entry:..otherwise.the.foc
24120 75 73 20 77 69 6c 6c 20 67 65 74 20 6c 6f 73 74 0d 20 20 20 20 23 20 61 66 74 65 72 20 6b 65 79 us.will.get.lost.....#.after.key
24140 62 6f 61 72 64 20 69 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 20 61 20 73 75 62 2d 6d 65 6e 75 20 28 board.invocation.of.a.sub-menu.(
24160 69 74 20 77 69 6c 6c 20 73 74 61 79 20 6f 6e 20 74 68 65 0d 20 20 20 20 23 20 73 75 62 6d 65 6e it.will.stay.on.the.....#.submen
24180 75 29 2e 0d 0d 20 20 20 20 62 69 6e 64 20 24 6d 65 6e 75 20 3c 45 6e 74 65 72 3e 20 7b 0d 09 73 u).......bind.$menu.<Enter>.{..s
241a0 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 29 20 25 57 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 et.tkPriv(focus).%W.....}......#
241c0 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 2d 74 65 61 72 6f 66 66 63 6f 6d 6d 61 6e 64 20 6f .If.there.is.a.-tearoffcommand.o
241e0 70 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 6d 65 6e 75 2c 20 69 6e 76 6f 6b 65 20 69 74 0d 20 20 ption.for.the.menu,.invoke.it...
24200 20 20 23 20 6e 6f 77 2e 0d 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 24 77 20 63 67 65 74 20 2d ..#.now.......set.cmd.[$w.cget.-
24220 74 65 61 72 6f 66 66 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 tearoffcommand].....if.{[string.
24240 63 6f 6d 70 61 72 65 20 24 63 6d 64 20 22 22 5d 7d 20 7b 0d 09 75 70 6c 65 76 65 6c 20 23 30 20 compare.$cmd.""]}.{..uplevel.#0.
24260 24 63 6d 64 20 5b 6c 69 73 74 20 24 77 20 24 6d 65 6e 75 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 $cmd.[list.$w.$menu].....}.....r
24280 65 74 75 72 6e 20 24 6d 65 6e 75 0d 7d 0d 0d 23 20 74 6b 4d 65 6e 75 44 75 70 20 2d 2d 0d 23 20 eturn.$menu.}..#.tkMenuDup.--.#.
242a0 47 69 76 65 6e 20 61 20 6d 65 6e 75 20 28 68 69 65 72 61 72 63 68 79 29 2c 20 63 72 65 61 74 65 Given.a.menu.(hierarchy),.create
242c0 20 61 20 64 75 70 6c 69 63 61 74 65 20 6d 65 6e 75 20 28 68 69 65 72 61 72 63 68 79 29 0d 23 20 .a.duplicate.menu.(hierarchy).#.
242e0 69 6e 20 61 20 67 69 76 65 6e 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 in.a.given.window..#.#.Arguments
24300 3a 0d 23 20 73 72 63 20 2d 09 09 09 53 6f 75 72 63 65 20 77 69 6e 64 6f 77 2e 20 20 4d 75 73 74 :.#.src.-...Source.window...Must
24320 20 62 65 20 61 20 6d 65 6e 75 2e 20 20 49 74 20 61 6e 64 20 69 74 73 0d 23 09 09 09 6d 65 6e 75 .be.a.menu...It.and.its.#...menu
24340 20 64 65 73 63 65 6e 64 61 6e 74 73 20 77 69 6c 6c 20 62 65 20 64 75 70 6c 69 63 61 74 65 64 20 .descendants.will.be.duplicated.
24360 61 74 20 64 73 74 2e 0d 23 20 64 73 74 20 2d 09 09 09 4e 61 6d 65 20 74 6f 20 75 73 65 20 66 6f at.dst..#.dst.-...Name.to.use.fo
24380 72 20 74 6f 70 6d 6f 73 74 20 6d 65 6e 75 20 69 6e 20 64 75 70 6c 69 63 61 74 65 0d 23 09 09 09 r.topmost.menu.in.duplicate.#...
243a0 68 69 65 72 61 72 63 68 79 2e 0d 0d 70 72 6f 63 20 74 6b 4d 65 6e 75 44 75 70 20 7b 73 72 63 20 hierarchy...proc.tkMenuDup.{src.
243c0 64 73 74 20 74 79 70 65 7d 20 7b 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 6d 65 dst.type}.{.....set.cmd.[list.me
243e0 6e 75 20 24 64 73 74 20 2d 74 79 70 65 20 24 74 79 70 65 5d 0d 20 20 20 20 66 6f 72 65 61 63 68 nu.$dst.-type.$type].....foreach
24400 20 6f 70 74 69 6f 6e 20 5b 24 73 72 63 20 63 6f 6e 66 69 67 75 72 65 5d 20 7b 0d 09 69 66 20 7b .option.[$src.configure].{..if.{
24420 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 69 6f 6e 5d 20 3d 3d 20 32 7d 20 7b 0d 09 20 20 20 20 63 [llength.$option].==.2}.{......c
24440 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 6c ontinue..}..if.{[string.equal.[l
24460 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 30 5d 20 22 2d 74 79 70 65 22 5d 7d 20 7b 0d 09 20 20 index.$option.0]."-type"]}.{....
24480 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 6c 61 70 70 65 6e 64 20 63 6d 64 20 5b 6c 69 6e 64 ..continue..}..lappend.cmd.[lind
244a0 65 78 20 24 6f 70 74 69 6f 6e 20 30 5d 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 34 5d ex.$option.0].[lindex.$option.4]
244c0 0d 20 20 20 20 7d 0d 20 20 20 20 65 76 61 6c 20 24 63 6d 64 0d 20 20 20 20 73 65 74 20 6c 61 73 .....}.....eval.$cmd.....set.las
244e0 74 20 5b 24 73 72 63 20 69 6e 64 65 78 20 6c 61 73 74 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 t.[$src.index.last].....if.{[str
24500 69 6e 67 20 65 71 75 61 6c 20 24 6c 61 73 74 20 22 6e 6f 6e 65 22 5d 7d 20 7b 0d 09 72 65 74 75 ing.equal.$last."none"]}.{..retu
24520 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 24 73 72 63 20 63 67 rn.....}.....for.{set.i.[$src.cg
24540 65 74 20 2d 74 65 61 72 6f 66 66 5d 7d 20 7b 24 69 20 3c 3d 20 24 6c 61 73 74 7d 20 7b 69 6e 63 et.-tearoff]}.{$i.<=.$last}.{inc
24560 72 20 69 7d 20 7b 0d 09 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 24 64 73 74 20 61 64 64 20 5b r.i}.{..set.cmd.[list.$dst.add.[
24580 24 73 72 63 20 74 79 70 65 20 24 69 5d 5d 0d 09 66 6f 72 65 61 63 68 20 6f 70 74 69 6f 6e 20 5b $src.type.$i]]..foreach.option.[
245a0 24 73 72 63 20 65 6e 74 72 79 63 6f 6e 66 69 67 75 72 65 20 24 69 5d 20 20 7b 0d 09 20 20 20 20 $src.entryconfigure.$i]..{......
245c0 6c 61 70 70 65 6e 64 20 63 6d 64 20 5b 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 30 5d 20 5b lappend.cmd.[lindex.$option.0].[
245e0 6c 69 6e 64 65 78 20 24 6f 70 74 69 6f 6e 20 34 5d 0d 09 7d 0d 09 65 76 61 6c 20 24 63 6d 64 0d lindex.$option.4]..}..eval.$cmd.
24600 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 44 75 70 6c 69 63 61 74 65 20 74 68 65 20 62 69 6e 64 69 ....}......#.Duplicate.the.bindi
24620 6e 67 20 74 61 67 73 20 61 6e 64 20 62 69 6e 64 69 6e 67 73 20 66 72 6f 6d 20 74 68 65 20 73 6f ng.tags.and.bindings.from.the.so
24640 75 72 63 65 20 6d 65 6e 75 2e 0d 0d 20 20 20 20 73 65 74 20 74 61 67 73 20 5b 62 69 6e 64 74 61 urce.menu.......set.tags.[bindta
24660 67 73 20 24 73 72 63 5d 0d 20 20 20 20 73 65 74 20 73 72 63 4c 65 6e 20 5b 73 74 72 69 6e 67 20 gs.$src].....set.srcLen.[string.
24680 6c 65 6e 67 74 68 20 24 73 72 63 5d 0d 20 0d 20 20 20 20 23 20 43 6f 70 79 20 74 61 67 73 20 74 length.$src].......#.Copy.tags.t
246a0 6f 20 78 2c 20 72 65 70 6c 61 63 69 6e 67 20 65 61 63 68 20 73 75 62 73 74 72 69 6e 67 20 6f 66 o.x,.replacing.each.substring.of
246c0 20 73 72 63 20 77 69 74 68 20 64 73 74 2e 0d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 65 74 20 .src.with.dst.......while.{[set.
246e0 69 6e 64 65 78 20 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 24 73 72 63 20 24 74 61 67 73 5d 5d index.[string.first.$src.$tags]]
24700 20 21 3d 20 2d 31 7d 20 7b 0d 09 61 70 70 65 6e 64 20 78 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 .!=.-1}.{..append.x.[string.rang
24720 65 20 24 74 61 67 73 20 30 20 5b 65 78 70 72 20 7b 24 69 6e 64 65 78 20 2d 20 31 7d 5d 5d 24 64 e.$tags.0.[expr.{$index.-.1}]]$d
24740 73 74 0d 09 73 65 74 20 74 61 67 73 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 74 61 67 73 st..set.tags.[string.range.$tags
24760 20 5b 65 78 70 72 20 7b 24 69 6e 64 65 78 20 2b 20 24 73 72 63 4c 65 6e 7d 5d 20 65 6e 64 5d 0d .[expr.{$index.+.$srcLen}].end].
24780 20 20 20 20 7d 0d 20 20 20 20 61 70 70 65 6e 64 20 78 20 24 74 61 67 73 0d 0d 20 20 20 20 62 69 ....}.....append.x.$tags......bi
247a0 6e 64 74 61 67 73 20 24 64 73 74 20 24 78 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 65 76 65 6e ndtags.$dst.$x......foreach.even
247c0 74 20 5b 62 69 6e 64 20 24 73 72 63 5d 20 7b 0d 09 75 6e 73 65 74 20 78 0d 09 73 65 74 20 73 63 t.[bind.$src].{..unset.x..set.sc
247e0 72 69 70 74 20 5b 62 69 6e 64 20 24 73 72 63 20 24 65 76 65 6e 74 5d 0d 09 73 65 74 20 65 76 65 ript.[bind.$src.$event]..set.eve
24800 6e 74 4c 65 6e 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 65 76 65 6e 74 5d 0d 0d 09 23 ntLen.[string.length.$event]...#
24820 20 43 6f 70 79 20 73 63 72 69 70 74 20 74 6f 20 78 2c 20 72 65 70 6c 61 63 69 6e 67 20 65 61 63 .Copy.script.to.x,.replacing.eac
24840 68 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 65 76 65 6e 74 20 77 69 74 68 20 64 73 74 2e 0d 0d h.substring.of.event.with.dst...
24860 09 77 68 69 6c 65 20 7b 5b 73 65 74 20 69 6e 64 65 78 20 5b 73 74 72 69 6e 67 20 66 69 72 73 74 .while.{[set.index.[string.first
24880 20 24 65 76 65 6e 74 20 24 73 63 72 69 70 74 5d 5d 20 21 3d 20 2d 31 7d 20 7b 0d 09 20 20 20 20 .$event.$script]].!=.-1}.{......
248a0 61 70 70 65 6e 64 20 78 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 63 72 69 70 74 20 30 append.x.[string.range.$script.0
248c0 20 5b 65 78 70 72 20 7b 24 69 6e 64 65 78 20 2d 20 31 7d 5d 5d 0d 09 20 20 20 20 61 70 70 65 6e .[expr.{$index.-.1}]]......appen
248e0 64 20 78 20 24 64 73 74 0d 09 20 20 20 20 73 65 74 20 73 63 72 69 70 74 20 5b 73 74 72 69 6e 67 d.x.$dst......set.script.[string
24900 20 72 61 6e 67 65 20 24 73 63 72 69 70 74 20 5b 65 78 70 72 20 7b 24 69 6e 64 65 78 20 2b 20 24 .range.$script.[expr.{$index.+.$
24920 65 76 65 6e 74 4c 65 6e 7d 5d 20 65 6e 64 5d 0d 09 7d 0d 09 61 70 70 65 6e 64 20 78 20 24 73 63 eventLen}].end]..}..append.x.$sc
24940 72 69 70 74 0d 0d 09 62 69 6e 64 20 24 64 73 74 20 24 65 76 65 6e 74 20 24 78 0d 20 20 20 20 7d ript...bind.$dst.$event.$x.....}
24960 0d 7d 0d 00 00 6e d8 23 20 74 65 78 74 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 66 69 .}...n.#.text.tcl.--.#.#.This.fi
24980 6c 65 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 20 le.defines.the.default.bindings.
249a0 66 6f 72 20 54 6b 20 74 65 78 74 20 77 69 64 67 65 74 73 20 61 6e 64 20 70 72 6f 76 69 64 65 73 for.Tk.text.widgets.and.provides
249c0 0d 23 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 68 65 6c 70 20 69 6e 20 69 6d 70 6c 65 .#.procedures.that.help.in.imple
249e0 6d 65 6e 74 69 6e 67 20 74 68 65 20 62 69 6e 64 69 6e 67 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 menting.the.bindings..#.#.RCS:.@
24a00 28 23 29 20 24 49 64 3a 20 74 65 78 74 2e 74 63 6c 2c 76 20 31 2e 31 32 2e 32 2e 31 20 32 30 30 (#).$Id:.text.tcl,v.1.12.2.1.200
24a20 31 2f 30 34 2f 30 34 20 30 37 3a 35 37 3a 31 37 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 1/04/04.07:57:17.hobbs.Exp.$.#.#
24a40 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 32 2d 31 39 39 34 20 54 68 65 20 52 65 67 .Copyright.(c).1992-1994.The.Reg
24a60 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f ents.of.the.University.of.Califo
24a80 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 37 20 rnia..#.Copyright.(c).1994-1997.
24aa0 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 20 43 6f 70 79 72 69 67 Sun.Microsystems,.Inc..#.Copyrig
24ac0 68 74 20 28 63 29 20 31 39 39 38 20 62 79 20 53 63 72 69 70 74 69 63 73 20 43 6f 72 70 6f 72 61 ht.(c).1998.by.Scriptics.Corpora
24ae0 74 69 6f 6e 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e tion..#.#.See.the.file."license.
24b00 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 terms".for.information.on.usage.
24b20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c and.redistribution.#.of.this.fil
24b40 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 e,.and.for.a.DISCLAIMER.OF.ALL.W
24b60 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ARRANTIES..#..#-----------------
24b80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
24ba0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 45 6c 65 6d 65 ------------------------.#.Eleme
24bc0 6e 74 73 20 6f 66 20 74 6b 50 72 69 76 20 74 68 61 74 20 61 72 65 20 75 73 65 64 20 69 6e 20 74 nts.of.tkPriv.that.are.used.in.t
24be0 68 69 73 20 66 69 6c 65 3a 0d 23 0d 23 20 61 66 74 65 72 49 64 20 2d 09 09 49 66 20 6e 6f 6e 2d his.file:.#.#.afterId.-..If.non-
24c00 6e 75 6c 6c 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 75 74 6f 2d 73 63 61 6e 6e 69 6e null,.it.means.that.auto-scannin
24c20 67 20 69 73 20 75 6e 64 65 72 77 61 79 0d 23 09 09 09 61 6e 64 20 69 74 20 67 69 76 65 73 20 74 g.is.underway.#...and.it.gives.t
24c40 68 65 20 22 61 66 74 65 72 22 20 69 64 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 61 75 74 6f 2d he."after".id.for.the.next.auto-
24c60 73 63 61 6e 0d 23 09 09 09 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 2e scan.#...command.to.be.executed.
24c80 0d 23 20 63 68 61 72 20 2d 09 09 43 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 6e .#.char.-..Character.position.on
24ca0 20 74 68 65 20 6c 69 6e 65 3b 20 20 6b 65 70 74 20 69 6e 20 6f 72 64 65 72 0d 23 09 09 09 74 6f .the.line;..kept.in.order.#...to
24cc0 20 61 6c 6c 6f 77 20 6d 6f 76 69 6e 67 20 75 70 20 6f 72 20 64 6f 77 6e 20 70 61 73 74 20 73 68 .allow.moving.up.or.down.past.sh
24ce0 6f 72 74 20 6c 69 6e 65 73 20 77 68 69 6c 65 0d 23 09 09 09 73 74 69 6c 6c 20 72 65 6d 65 6d 62 ort.lines.while.#...still.rememb
24d00 65 72 69 6e 67 20 74 68 65 20 64 65 73 69 72 65 64 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 20 6d 6f ering.the.desired.position..#.mo
24d20 75 73 65 4d 6f 76 65 64 20 2d 09 09 4e 6f 6e 2d 7a 65 72 6f 20 6d 65 61 6e 73 20 74 68 65 20 6d useMoved.-..Non-zero.means.the.m
24d40 6f 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 61 20 73 69 67 6e 69 66 69 63 61 6e 74 0d 23 09 09 ouse.has.moved.a.significant.#..
24d60 09 61 6d 6f 75 6e 74 20 73 69 6e 63 65 20 74 68 65 20 62 75 74 74 6f 6e 20 77 65 6e 74 20 64 6f .amount.since.the.button.went.do
24d80 77 6e 20 28 73 6f 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 0d 23 09 09 09 73 74 61 72 74 20 64 wn.(so,.for.example,.#...start.d
24da0 72 61 67 67 69 6e 67 20 6f 75 74 20 61 20 73 65 6c 65 63 74 69 6f 6e 29 2e 0d 23 20 70 72 65 76 ragging.out.a.selection)..#.prev
24dc0 50 6f 73 20 2d 09 09 55 73 65 64 20 77 68 65 6e 20 6d 6f 76 69 6e 67 20 75 70 20 6f 72 20 64 6f Pos.-..Used.when.moving.up.or.do
24de0 77 6e 20 6c 69 6e 65 73 20 76 69 61 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2e 0d 23 09 09 09 4b wn.lines.via.the.keyboard..#...K
24e00 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 69 6e 73 65 72 eeps.track.of.the.previous.inser
24e20 74 20 70 6f 73 69 74 69 6f 6e 2c 20 73 6f 0d 23 09 09 09 77 65 20 63 61 6e 20 64 69 73 74 69 6e t.position,.so.#...we.can.distin
24e40 67 75 69 73 68 20 61 20 73 65 72 69 65 73 20 6f 66 20 75 70 73 20 61 6e 64 20 64 6f 77 6e 73 2c guish.a.series.of.ups.and.downs,
24e60 20 61 6c 6c 0d 23 09 09 09 69 6e 20 61 20 72 6f 77 2c 20 66 72 6f 6d 20 61 20 6e 65 77 20 75 70 .all.#...in.a.row,.from.a.new.up
24e80 20 6f 72 20 64 6f 77 6e 2e 0d 23 20 73 65 6c 65 63 74 4d 6f 64 65 20 2d 09 09 54 68 65 20 73 74 .or.down..#.selectMode.-..The.st
24ea0 79 6c 65 20 6f 66 20 73 65 6c 65 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 6c 79 20 75 6e 64 65 72 yle.of.selection.currently.under
24ec0 77 61 79 3a 0d 23 09 09 09 63 68 61 72 2c 20 77 6f 72 64 2c 20 6f 72 20 6c 69 6e 65 2e 0d 23 20 way:.#...char,.word,.or.line..#.
24ee0 78 2c 20 79 20 2d 09 09 4c 61 73 74 20 6b 6e 6f 77 6e 20 6d 6f 75 73 65 20 63 6f 6f 72 64 69 6e x,.y.-..Last.known.mouse.coordin
24f00 61 74 65 73 20 66 6f 72 20 73 63 61 6e 6e 69 6e 67 0d 23 09 09 09 61 6e 64 20 61 75 74 6f 2d 73 ates.for.scanning.#...and.auto-s
24f20 63 61 6e 6e 69 6e 67 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d canning..#----------------------
24f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
24f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -------------------..#----------
24f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
24fa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d -------------------------------.
24fc0 23 20 54 68 65 20 63 6f 64 65 20 62 65 6c 6f 77 20 63 72 65 61 74 65 73 20 74 68 65 20 64 65 66 #.The.code.below.creates.the.def
24fe0 61 75 6c 74 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 74 65 78 74 20 77 69 64 ault.class.bindings.for.text.wid
25000 67 65 74 73 2e 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d gets..#-------------------------
25020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
25040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 23 20 53 74 61 6e 64 61 72 64 20 4d 6f 74 ----------------..#.Standard.Mot
25060 69 66 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 31 3e 20 7b 0d 20 20 if.bindings:..bind.Text.<1>.{...
25080 20 20 74 6b 54 65 78 74 42 75 74 74 6f 6e 31 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 25 57 20 ..tkTextButton1.%W.%x.%y.....%W.
250a0 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 30 2e 30 20 65 6e 64 0d 7d 0d 62 69 6e 64 20 54 65 tag.remove.sel.0.0.end.}.bind.Te
250c0 78 74 20 3c 42 31 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 xt.<B1-Motion>.{.....set.tkPriv(
250e0 78 29 20 25 78 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 79 0d 20 20 20 20 74 x).%x.....set.tkPriv(y).%y.....t
25100 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 kTextSelectTo.%W.%x.%y.}.bind.Te
25120 78 74 20 3c 44 6f 75 62 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 xt.<Double-1>.{.....set.tkPriv(s
25140 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 electMode).word.....tkTextSelect
25160 54 6f 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 63 61 74 63 68 20 7b 25 57 20 6d 61 72 6b 20 73 To.%W.%x.%y.....catch.{%W.mark.s
25180 65 74 20 69 6e 73 65 72 74 20 73 65 6c 2e 6c 61 73 74 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 25 et.insert.sel.last}.....catch.{%
251a0 57 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 73 74 7d 0d 7d 0d 62 W.mark.set.anchor.sel.first}.}.b
251c0 69 6e 64 20 54 65 78 74 20 3c 54 72 69 70 6c 65 2d 31 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b ind.Text.<Triple-1>.{.....set.tk
251e0 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 54 65 78 74 Priv(selectMode).line.....tkText
25200 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 63 61 74 63 68 20 7b 25 57 20 SelectTo.%W.%x.%y.....catch.{%W.
25220 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 73 65 6c 2e 6c 61 73 74 7d 0d 20 20 20 20 63 61 mark.set.insert.sel.last}.....ca
25240 74 63 68 20 7b 25 57 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 73 tch.{%W.mark.set.anchor.sel.firs
25260 74 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 31 3e 20 7b 0d 20 20 20 20 74 t}.}.bind.Text.<Shift-1>.{.....t
25280 6b 54 65 78 74 52 65 73 65 74 41 6e 63 68 6f 72 20 25 57 20 40 25 78 2c 25 79 0d 20 20 20 20 73 kTextResetAnchor.%W.@%x,%y.....s
252a0 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 74 et.tkPriv(selectMode).char.....t
252c0 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 kTextSelectTo.%W.%x.%y.}.bind.Te
252e0 78 74 20 3c 44 6f 75 62 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b xt.<Double-Shift-1>.{.....set.tk
25300 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 77 6f 72 64 0d 20 20 20 20 74 6b 54 65 78 74 Priv(selectMode).word.....tkText
25320 53 65 6c 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 20 31 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 SelectTo.%W.%x.%y.1.}.bind.Text.
25340 3c 54 72 69 70 6c 65 2d 53 68 69 66 74 2d 31 3e 09 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 <Triple-Shift-1>.{.....set.tkPri
25360 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 6c 69 6e 65 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c v(selectMode).line.....tkTextSel
25380 65 63 74 54 6f 20 25 57 20 25 78 20 25 79 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 31 2d 4c ectTo.%W.%x.%y.}.bind.Text.<B1-L
253a0 65 61 76 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 20 20 20 eave>.{.....set.tkPriv(x).%x....
253c0 20 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 79 0d 20 20 20 20 74 6b 54 65 78 74 41 75 74 6f .set.tkPriv(y).%y.....tkTextAuto
253e0 53 63 61 6e 20 25 57 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 31 2d 45 6e 74 65 72 3e 20 7b Scan.%W.}.bind.Text.<B1-Enter>.{
25400 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 .....tkCancelRepeat.}.bind.Text.
25420 3c 42 75 74 74 6f 6e 52 65 6c 65 61 73 65 2d 31 3e 20 7b 0d 20 20 20 20 74 6b 43 61 6e 63 65 6c <ButtonRelease-1>.{.....tkCancel
25440 52 65 70 65 61 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 31 3e 20 7b Repeat.}.bind.Text.<Control-1>.{
25460 0d 20 20 20 20 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 40 25 78 2c 25 79 0d 7d .....%W.mark.set.insert.@%x,%y.}
25480 0d 62 69 6e 64 20 54 65 78 74 20 3c 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 .bind.Text.<Left>.{.....tkTextSe
254a0 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2d 31 63 0d 7d 0d 62 69 6e 64 20 54 65 78 74 tCursor.%W.insert-1c.}.bind.Text
254c0 20 3c 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 .<Right>.{.....tkTextSetCursor.%
254e0 57 20 69 6e 73 65 72 74 2b 31 63 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 55 70 3e 20 7b 0d 20 W.insert+1c.}.bind.Text.<Up>.{..
25500 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 ...tkTextSetCursor.%W.[tkTextUpD
25520 6f 77 6e 4c 69 6e 65 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 44 6f 77 6e ownLine.%W.-1].}.bind.Text.<Down
25540 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 >.{.....tkTextSetCursor.%W.[tkTe
25560 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c xtUpDownLine.%W.1].}.bind.Text.<
25580 53 68 69 66 74 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 Shift-Left>.{.....tkTextKeySelec
255a0 74 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 7b 69 6e 73 65 72 74 20 2d 20 31 63 7d 5d 0d 7d 0d t.%W.[%W.index.{insert.-.1c}].}.
255c0 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 52 69 67 68 74 3e 20 7b 0d 20 20 20 20 74 6b bind.Text.<Shift-Right>.{.....tk
255e0 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 25 57 20 69 6e 64 65 78 20 7b 69 6e 73 65 TextKeySelect.%W.[%W.index.{inse
25600 72 74 20 2b 20 31 63 7d 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 55 70 3e rt.+.1c}].}.bind.Text.<Shift-Up>
25620 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 .{.....tkTextKeySelect.%W.[tkTex
25640 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c tUpDownLine.%W.-1].}.bind.Text.<
25660 53 68 69 66 74 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 Shift-Down>.{.....tkTextKeySelec
25680 74 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 31 5d 0d 7d 0d 62 t.%W.[tkTextUpDownLine.%W.1].}.b
256a0 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b ind.Text.<Control-Left>.{.....tk
256c0 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 TextSetCursor.%W.[tkTextPrevPos.
256e0 25 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 %W.insert.tcl_startOfPreviousWor
25700 64 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b d].}.bind.Text.<Control-Right>.{
25720 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e .....tkTextSetCursor.%W.[tkTextN
25740 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c extWord.%W.insert].}.bind.Text.<
25760 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f Control-Up>.{.....tkTextSetCurso
25780 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d r.%W.[tkTextPrevPara.%W.insert].
257a0 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 44 6f 77 6e 3e 20 7b 0d 20 20 20 }.bind.Text.<Control-Down>.{....
257c0 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 .tkTextSetCursor.%W.[tkTextNextP
257e0 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 ara.%W.insert].}.bind.Text.<Shif
25800 74 2d 43 6f 6e 74 72 6f 6c 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 t-Control-Left>.{.....tkTextKeyS
25820 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 72 elect.%W.[tkTextPrevPos.%W.inser
25840 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 0d 7d 0d 62 69 6e t.tcl_startOfPreviousWord].}.bin
25860 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 52 69 67 68 74 3e 20 7b 0d 20 d.Text.<Shift-Control-Right>.{..
25880 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 ...tkTextKeySelect.%W.[tkTextNex
258a0 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 tWord.%W.insert].}.bind.Text.<Sh
258c0 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 ift-Control-Up>.{.....tkTextKeyS
258e0 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 elect.%W.[tkTextPrevPara.%W.inse
25900 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 43 6f 6e 74 72 6f 6c 2d 44 rt].}.bind.Text.<Shift-Control-D
25920 6f 77 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 own>.{.....tkTextKeySelect.%W.[t
25940 6b 54 65 78 74 4e 65 78 74 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 kTextNextPara.%W.insert].}.bind.
25960 54 65 78 74 20 3c 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 Text.<Prior>.{.....tkTextSetCurs
25980 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 2d 31 5d 0d or.%W.[tkTextScrollPages.%W.-1].
259a0 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 }.bind.Text.<Shift-Prior>.{.....
259c0 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c tkTextKeySelect.%W.[tkTextScroll
259e0 50 61 67 65 73 20 25 57 20 2d 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4e 65 78 74 3e 20 Pages.%W.-1].}.bind.Text.<Next>.
25a00 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 {.....tkTextSetCursor.%W.[tkText
25a20 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 31 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 ScrollPages.%W.1].}.bind.Text.<S
25a40 68 69 66 74 2d 4e 65 78 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 hift-Next>.{.....tkTextKeySelect
25a60 20 25 57 20 5b 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 31 5d 0d 7d 0d 62 .%W.[tkTextScrollPages.%W.1].}.b
25a80 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 50 72 69 6f 72 3e 20 7b 0d 20 20 20 20 25 ind.Text.<Control-Prior>.{.....%
25aa0 57 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 2d 31 20 70 61 67 65 0d 7d 0d 62 69 6e 64 20 54 65 W.xview.scroll.-1.page.}.bind.Te
25ac0 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 4e 65 78 74 3e 20 7b 0d 20 20 20 20 25 57 20 78 76 69 65 77 xt.<Control-Next>.{.....%W.xview
25ae0 20 73 63 72 6f 6c 6c 20 31 20 70 61 67 65 0d 7d 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 48 6f 6d .scroll.1.page.}..bind.Text.<Hom
25b00 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 e>.{.....tkTextSetCursor.%W.{ins
25b20 65 72 74 20 6c 69 6e 65 73 74 61 72 74 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 ert.linestart}.}.bind.Text.<Shif
25b40 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 t-Home>.{.....tkTextKeySelect.%W
25b60 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 73 74 61 72 74 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 .{insert.linestart}.}.bind.Text.
25b80 3c 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b <End>.{.....tkTextSetCursor.%W.{
25ba0 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 insert.lineend}.}.bind.Text.<Shi
25bc0 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 ft-End>.{.....tkTextKeySelect.%W
25be0 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 .{insert.lineend}.}.bind.Text.<C
25c00 6f 6e 74 72 6f 6c 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 ontrol-Home>.{.....tkTextSetCurs
25c20 6f 72 20 25 57 20 31 2e 30 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 53 or.%W.1.0.}.bind.Text.<Control-S
25c40 68 69 66 74 2d 48 6f 6d 65 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 hift-Home>.{.....tkTextKeySelect
25c60 20 25 57 20 31 2e 30 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 45 6e 64 .%W.1.0.}.bind.Text.<Control-End
25c80 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 65 6e 64 20 >.{.....tkTextSetCursor.%W.{end.
25ca0 2d 20 31 20 63 68 61 72 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 53 -.1.char}.}.bind.Text.<Control-S
25cc0 68 69 66 74 2d 45 6e 64 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 hift-End>.{.....tkTextKeySelect.
25ce0 25 57 20 7b 65 6e 64 20 2d 20 31 20 63 68 61 72 7d 0d 7d 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c %W.{end.-.1.char}.}..bind.Text.<
25d00 54 61 62 3e 20 7b 0d 20 20 20 20 69 66 20 7b 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 25 Tab>.{.....if.{.[string.equal.[%
25d20 57 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 6e 6f 72 6d 61 6c 22 5d 20 7d 20 7b 0d 09 74 6b W.cget.-state]."normal"].}.{..tk
25d40 54 65 78 74 49 6e 73 65 72 74 20 25 57 20 5c 74 0d 09 66 6f 63 75 73 20 25 57 0d 09 62 72 65 61 TextInsert.%W.\t..focus.%W..brea
25d60 6b 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 54 61 62 3e 20 k.....}.}.bind.Text.<Shift-Tab>.
25d80 7b 0d 20 20 20 20 23 20 4e 65 65 64 65 64 20 6f 6e 6c 79 20 74 6f 20 6b 65 65 70 20 3c 54 61 62 {.....#.Needed.only.to.keep.<Tab
25da0 3e 20 62 69 6e 64 69 6e 67 20 66 72 6f 6d 20 74 72 69 67 67 65 72 69 6e 67 3b 20 20 64 6f 65 73 >.binding.from.triggering;..does
25dc0 6e 27 74 0d 20 20 20 20 23 20 68 61 76 65 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 61 6e n't.....#.have.to.actually.do.an
25de0 79 74 68 69 6e 67 2e 0d 20 20 20 20 62 72 65 61 6b 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 ything......break.}.bind.Text.<C
25e00 6f 6e 74 72 6f 6c 2d 54 61 62 3e 20 7b 0d 20 20 20 20 66 6f 63 75 73 20 5b 74 6b 5f 66 6f 63 75 ontrol-Tab>.{.....focus.[tk_focu
25e20 73 4e 65 78 74 20 25 57 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 53 sNext.%W].}.bind.Text.<Control-S
25e40 68 69 66 74 2d 54 61 62 3e 20 7b 0d 20 20 20 20 66 6f 63 75 73 20 5b 74 6b 5f 66 6f 63 75 73 50 hift-Tab>.{.....focus.[tk_focusP
25e60 72 65 76 20 25 57 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 69 3e 20 rev.%W].}.bind.Text.<Control-i>.
25e80 7b 0d 20 20 20 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 25 57 20 5c 74 0d 7d 0d 62 69 6e 64 20 {.....tkTextInsert.%W.\t.}.bind.
25ea0 54 65 78 74 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 49 6e 73 65 72 74 Text.<Return>.{.....tkTextInsert
25ec0 20 25 57 20 5c 6e 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 44 65 6c 65 74 65 3e 20 7b 0d 20 20 .%W.\n.}.bind.Text.<Delete>.{...
25ee0 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 25 57 20 74 61 67 20 6e 65 ..if.{[string.compare.[%W.tag.ne
25f00 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 22 22 5d 7d 20 7b 0d 09 25 57 20 xtrange.sel.1.0.end].""]}.{..%W.
25f20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 20 7d 20 delete.sel.first.sel.last.....}.
25f40 65 6c 73 65 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 09 25 57 20 73 65 65 else.{..%W.delete.insert..%W.see
25f60 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 61 63 6b 53 .insert.....}.}.bind.Text.<BackS
25f80 70 61 63 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 pace>.{.....if.{[string.compare.
25fa0 5b 25 57 20 74 61 67 20 6e 65 78 74 72 61 6e 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 22 [%W.tag.nextrange.sel.1.0.end]."
25fc0 22 5d 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c "]}.{..%W.delete.sel.first.sel.l
25fe0 61 73 74 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e ast.....}.elseif.{[%W.compare.in
26000 73 65 72 74 20 21 3d 20 31 2e 30 5d 7d 20 7b 0d 09 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 sert.!=.1.0]}.{..%W.delete.inser
26020 74 2d 31 63 0d 09 25 57 20 73 65 65 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 62 69 6e t-1c..%W.see.insert.....}.}..bin
26040 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 25 57 20 d.Text.<Control-space>.{.....%W.
26060 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 mark.set.anchor.insert.}.bind.Te
26080 78 74 20 3c 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 25 57 20 6d 61 72 6b 20 73 65 74 20 61 6e xt.<Select>.{.....%W.mark.set.an
260a0 63 68 6f 72 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c chor.insert.}.bind.Text.<Control
260c0 2d 53 68 69 66 74 2d 73 70 61 63 65 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 -Shift-space>.{.....set.tkPriv(s
260e0 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 45 78 74 electMode).char.....tkTextKeyExt
26100 65 6e 64 20 25 57 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 end.%W.insert.}.bind.Text.<Shift
26120 2d 53 65 6c 65 63 74 3e 20 7b 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 73 65 6c 65 63 74 -Select>.{.....set.tkPriv(select
26140 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 45 78 74 65 6e 64 20 25 Mode).char.....tkTextKeyExtend.%
26160 57 20 69 6e 73 65 72 74 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 73 6c W.insert.}.bind.Text.<Control-sl
26180 61 73 68 3e 20 7b 0d 20 20 20 20 25 57 20 74 61 67 20 61 64 64 20 73 65 6c 20 31 2e 30 20 65 6e ash>.{.....%W.tag.add.sel.1.0.en
261a0 64 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 62 61 63 6b 73 6c 61 73 68 d.}.bind.Text.<Control-backslash
261c0 3e 20 7b 0d 20 20 20 20 25 57 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 31 2e 30 20 65 6e >.{.....%W.tag.remove.sel.1.0.en
261e0 64 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 74 6b 5f 74 d.}.bind.Text.<<Cut>>.{.....tk_t
26200 65 78 74 43 75 74 20 25 57 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 43 6f 70 79 3e 3e 20 7b extCut.%W.}.bind.Text.<<Copy>>.{
26220 0d 20 20 20 20 74 6b 5f 74 65 78 74 43 6f 70 79 20 25 57 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 .....tk_textCopy.%W.}.bind.Text.
26240 3c 3c 50 61 73 74 65 3e 3e 20 7b 0d 20 20 20 20 74 6b 5f 74 65 78 74 50 61 73 74 65 20 25 57 0d <<Paste>>.{.....tk_textPaste.%W.
26260 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 43 6c 65 61 72 3e 3e 20 7b 0d 20 20 20 20 63 61 74 63 }.bind.Text.<<Clear>>.{.....catc
26280 68 20 7b 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 7d h.{%W.delete.sel.first.sel.last}
262a0 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 3c 50 61 73 74 65 53 65 6c 65 63 74 69 6f 6e 3e 3e 20 .}.bind.Text.<<PasteSelection>>.
262c0 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c {.....if.{!$tkPriv(mouseMoved).|
262e0 7c 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 50 61 73 74 |.$tk_strictMotif}.{..tkTextPast
26300 65 20 25 57 20 25 78 20 25 79 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 49 6e e.%W.%x.%y.....}.}.bind.Text.<In
26320 73 65 72 74 3e 20 7b 0d 20 20 20 20 63 61 74 63 68 20 7b 74 6b 54 65 78 74 49 6e 73 65 72 74 20 sert>.{.....catch.{tkTextInsert.
26340 25 57 20 5b 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 5d %W.[selection.get.-displayof.%W]
26360 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b 0d 20 20 20 20 74 }.}.bind.Text.<KeyPress>.{.....t
26380 6b 54 65 78 74 49 6e 73 65 72 74 20 25 57 20 25 41 0d 7d 0d 0d 23 20 49 67 6e 6f 72 65 20 61 6c kTextInsert.%W.%A.}..#.Ignore.al
263a0 6c 20 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f 6e 74 72 6f 6c 20 6b 65 79 70 72 65 73 l.Alt,.Meta,.and.Control.keypres
263c0 73 65 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 6c 79 20 62 6f 75 6e 64 2e 0d 23 20 4f ses.unless.explicitly.bound..#.O
263e0 74 68 65 72 77 69 73 65 2c 20 69 66 20 61 20 77 69 64 67 65 74 20 62 69 6e 64 69 6e 67 20 66 6f therwise,.if.a.widget.binding.fo
26400 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 69 73 20 64 65 66 69 6e 65 64 2c 20 74 68 65 0d 23 r.one.of.these.is.defined,.the.#
26420 20 3c 4b 65 79 50 72 65 73 73 3e 20 63 6c 61 73 73 20 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 61 .<KeyPress>.class.binding.will.a
26440 6c 73 6f 20 66 69 72 65 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 63 68 61 72 61 63 74 65 lso.fire.and.insert.the.characte
26460 72 2c 0d 23 20 77 68 69 63 68 20 69 73 20 77 72 6f 6e 67 2e 20 20 44 69 74 74 6f 20 66 6f 72 20 r,.#.which.is.wrong...Ditto.for.
26480 3c 45 73 63 61 70 65 3e 2e 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 41 6c 74 2d 4b 65 79 50 72 65 <Escape>...bind.Text.<Alt-KeyPre
264a0 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 20 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 ss>.{#.nothing.}.bind.Text.<Meta
264c0 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 69 6e 64 20 54 65 78 74 -KeyPress>.{#.nothing}.bind.Text
264e0 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d .<Control-KeyPress>.{#.nothing}.
26500 62 69 6e 64 20 54 65 78 74 20 3c 45 73 63 61 70 65 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 62 bind.Text.<Escape>.{#.nothing}.b
26520 69 6e 64 20 54 65 78 74 20 3c 4b 50 5f 45 6e 74 65 72 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d ind.Text.<KP_Enter>.{#.nothing}.
26540 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 if.{[string.equal.$tcl_platform(
26560 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 20 20 20 20 62 69 platform)."macintosh"]}.{.....bi
26580 6e 64 20 54 65 78 74 20 3c 43 6f 6d 6d 61 6e 64 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f nd.Text.<Command-KeyPress>.{#.no
265a0 74 68 69 6e 67 7d 0d 7d 0d 0d 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 65 6d 61 63 73 2d 6c 69 6b thing}.}..#.Additional.emacs-lik
265c0 65 20 62 69 6e 64 69 6e 67 73 3a 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d e.bindings:..bind.Text.<Control-
265e0 61 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b a>.{.....if.{!$tk_strictMotif}.{
26600 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 20 6c 69 6e ..tkTextSetCursor.%W.{insert.lin
26620 65 73 74 61 72 74 7d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 estart}.....}.}.bind.Text.<Contr
26640 6f 6c 2d 62 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 ol-b>.{.....if.{!$tk_strictMotif
26660 7d 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 69 6e 73 65 72 74 2d 31 }.{..tkTextSetCursor.%W.insert-1
26680 63 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 64 3e 20 c.....}.}.bind.Text.<Control-d>.
266a0 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 {.....if.{!$tk_strictMotif}.{..%
266c0 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 W.delete.insert.....}.}.bind.Tex
266e0 74 20 3c 43 6f 6e 74 72 6f 6c 2d 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 t.<Control-e>.{.....if.{!$tk_str
26700 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 ictMotif}.{..tkTextSetCursor.%W.
26720 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 {insert.lineend}.....}.}.bind.Te
26740 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 66 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 xt.<Control-f>.{.....if.{!$tk_st
26760 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 rictMotif}.{..tkTextSetCursor.%W
26780 20 69 6e 73 65 72 74 2b 31 63 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f .insert+1c.....}.}.bind.Text.<Co
267a0 6e 74 72 6f 6c 2d 6b 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f ntrol-k>.{.....if.{!$tk_strictMo
267c0 74 69 66 7d 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3d tif}.{..if.{[%W.compare.insert.=
267e0 3d 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 =.{insert.lineend}]}.{......%W.d
26800 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 25 57 20 64 elete.insert..}.else.{......%W.d
26820 65 6c 65 74 65 20 69 6e 73 65 72 74 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 09 7d elete.insert.{insert.lineend}..}
26840 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 6e 3e 20 7b .....}.}.bind.Text.<Control-n>.{
26860 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b .....if.{!$tk_strictMotif}.{..tk
26880 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 TextSetCursor.%W.[tkTextUpDownLi
268a0 6e 65 20 25 57 20 31 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 ne.%W.1].....}.}.bind.Text.<Cont
268c0 72 6f 6c 2d 6f 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 rol-o>.{.....if.{!$tk_strictMoti
268e0 66 7d 20 7b 0d 09 25 57 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 5c 6e 0d 09 25 57 20 6d 61 f}.{..%W.insert.insert.\n..%W.ma
26900 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 2d 31 63 0d 20 20 20 20 7d 0d 7d 0d rk.set.insert.insert-1c.....}.}.
26920 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 70 3e 20 7b 0d 20 20 20 20 69 66 20 7b bind.Text.<Control-p>.{.....if.{
26940 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 !$tk_strictMotif}.{..tkTextSetCu
26960 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 25 57 20 2d 31 5d rsor.%W.[tkTextUpDownLine.%W.-1]
26980 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 74 3e 20 7b .....}.}.bind.Text.<Control-t>.{
269a0 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b .....if.{!$tk_strictMotif}.{..tk
269c0 54 65 78 74 54 72 61 6e 73 70 6f 73 65 20 25 57 0d 20 20 20 20 7d 0d 7d 0d 0d 69 66 20 7b 5b 73 TextTranspose.%W.....}.}..if.{[s
269e0 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 tring.compare.$tcl_platform(plat
26a00 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 5d 7d 20 7b 0d 62 69 6e 64 20 54 65 78 74 20 3c 43 form)."windows"]}.{.bind.Text.<C
26a20 6f 6e 74 72 6f 6c 2d 76 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d ontrol-v>.{.....if.{!$tk_strictM
26a40 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 65 73 20 25 57 20 31 0d otif}.{..tkTextScrollPages.%W.1.
26a60 20 20 20 20 7d 0d 7d 0d 7d 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 62 3e 20 7b 0d ....}.}.}..bind.Text.<Meta-b>.{.
26a80 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 ....if.{!$tk_strictMotif}.{..tkT
26aa0 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 extSetCursor.%W.[tkTextPrevPos.%
26ac0 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 W.insert.tcl_startOfPreviousWord
26ae0 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 64 3e 20 7b 0d 20 ].....}.}.bind.Text.<Meta-d>.{..
26b00 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 20 64 ...if.{!$tk_strictMotif}.{..%W.d
26b20 65 6c 65 74 65 20 69 6e 73 65 72 74 20 5b 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 elete.insert.[tkTextNextWord.%W.
26b40 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d insert].....}.}.bind.Text.<Meta-
26b60 66 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b f>.{.....if.{!$tk_strictMotif}.{
26b80 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 ..tkTextSetCursor.%W.[tkTextNext
26ba0 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 Word.%W.insert].....}.}.bind.Tex
26bc0 74 20 3c 4d 65 74 61 2d 6c 65 73 73 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 t.<Meta-less>.{.....if.{!$tk_str
26be0 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 ictMotif}.{..tkTextSetCursor.%W.
26c00 31 2e 30 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 67 72 65 61 1.0.....}.}.bind.Text.<Meta-grea
26c20 74 65 72 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d ter>.{.....if.{!$tk_strictMotif}
26c40 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 65 6e 64 2d 31 63 0d 20 20 .{..tkTextSetCursor.%W.end-1c...
26c60 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e ..}.}.bind.Text.<Meta-BackSpace>
26c80 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 .{.....if.{!$tk_strictMotif}.{..
26ca0 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 %W.delete.[tkTextPrevPos.%W.inse
26cc0 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 20 69 6e 73 65 rt.tcl_startOfPreviousWord].inse
26ce0 72 74 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 65 74 61 2d 44 65 6c 65 74 rt.....}.}.bind.Text.<Meta-Delet
26d00 65 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b e>.{.....if.{!$tk_strictMotif}.{
26d20 0d 09 25 57 20 64 65 6c 65 74 65 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e ..%W.delete.[tkTextPrevPos.%W.in
26d40 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 20 69 6e sert.tcl_startOfPreviousWord].in
26d60 73 65 72 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 4d 61 63 69 6e 74 6f 73 68 20 6f 6e 6c 79 20 62 sert.....}.}..#.Macintosh.only.b
26d80 69 6e 64 69 6e 67 73 3a 0d 0d 23 20 69 66 20 74 65 78 74 20 62 6c 61 63 6b 20 26 20 68 69 67 68 indings:..#.if.text.black.&.high
26da0 6c 69 67 68 74 20 62 6c 61 63 6b 20 2d 3e 20 74 65 78 74 20 77 68 69 74 65 2c 20 6f 74 68 65 72 light.black.->.text.white,.other
26dc0 20 74 65 78 74 20 74 68 65 20 73 61 6d 65 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c .text.the.same.if.{[string.equal
26de0 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 .$tcl_platform(platform)."macint
26e00 6f 73 68 22 5d 7d 20 7b 0d 62 69 6e 64 20 54 65 78 74 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 0d 20 osh"]}.{.bind.Text.<FocusIn>.{..
26e20 20 20 20 25 57 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 73 65 6c 20 2d 62 6f 72 64 65 72 77 ...%W.tag.configure.sel.-borderw
26e40 69 64 74 68 20 30 0d 20 20 20 20 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 65 6c 65 63 74 62 idth.0.....%W.configure.-selectb
26e60 61 63 6b 67 72 6f 75 6e 64 20 73 79 73 74 65 6d 48 69 67 68 6c 69 67 68 74 20 2d 73 65 6c 65 63 ackground.systemHighlight.-selec
26e80 74 66 6f 72 65 67 72 6f 75 6e 64 20 73 79 73 74 65 6d 48 69 67 68 6c 69 67 68 74 54 65 78 74 0d tforeground.systemHighlightText.
26ea0 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 46 6f 63 75 73 4f 75 74 3e 20 7b 0d 20 20 20 20 25 57 20 }.bind.Text.<FocusOut>.{.....%W.
26ec0 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 73 65 6c 20 2d 62 6f 72 64 65 72 77 69 64 74 68 20 31 tag.configure.sel.-borderwidth.1
26ee0 0d 20 20 20 20 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 73 65 6c 65 63 74 62 61 63 6b 67 72 6f .....%W.configure.-selectbackgro
26f00 75 6e 64 20 77 68 69 74 65 20 2d 73 65 6c 65 63 74 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 und.white.-selectforeground.blac
26f20 6b 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 4c 65 66 74 3e 20 7b 0d 20 20 k.}.bind.Text.<Option-Left>.{...
26f40 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 ..tkTextSetCursor.%W.[tkTextPrev
26f60 50 6f 73 20 25 57 20 69 6e 73 65 72 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 Pos.%W.insert.tcl_startOfPreviou
26f80 73 57 6f 72 64 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 52 69 67 68 74 sWord].}.bind.Text.<Option-Right
26fa0 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 >.{.....tkTextSetCursor.%W.[tkTe
26fc0 78 74 4e 65 78 74 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 xtNextWord.%W.insert].}.bind.Tex
26fe0 74 20 3c 4f 70 74 69 6f 6e 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 t.<Option-Up>.{.....tkTextSetCur
27000 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 sor.%W.[tkTextPrevPara.%W.insert
27020 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4f 70 74 69 6f 6e 2d 44 6f 77 6e 3e 20 7b 0d 20 20 ].}.bind.Text.<Option-Down>.{...
27040 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 ..tkTextSetCursor.%W.[tkTextNext
27060 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 Para.%W.insert].}.bind.Text.<Shi
27080 66 74 2d 4f 70 74 69 6f 6e 2d 4c 65 66 74 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 ft-Option-Left>.{.....tkTextKeyS
270a0 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 25 57 20 69 6e 73 65 72 elect.%W.[tkTextPrevPos.%W.inser
270c0 74 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 5d 0d 7d 0d 62 69 6e t.tcl_startOfPreviousWord].}.bin
270e0 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 4f 70 74 69 6f 6e 2d 52 69 67 68 74 3e 20 7b 0d 20 20 d.Text.<Shift-Option-Right>.{...
27100 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 4e 65 78 74 ..tkTextKeySelect.%W.[tkTextNext
27120 57 6f 72 64 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 Word.%W.insert].}.bind.Text.<Shi
27140 66 74 2d 4f 70 74 69 6f 6e 2d 55 70 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c ft-Option-Up>.{.....tkTextKeySel
27160 65 63 74 20 25 57 20 5b 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 ect.%W.[tkTextPrevPara.%W.insert
27180 5d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 53 68 69 66 74 2d 4f 70 74 69 6f 6e 2d 44 6f 77 6e ].}.bind.Text.<Shift-Option-Down
271a0 3e 20 7b 0d 20 20 20 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 25 57 20 5b 74 6b 54 65 >.{.....tkTextKeySelect.%W.[tkTe
271c0 78 74 4e 65 78 74 50 61 72 61 20 25 57 20 69 6e 73 65 72 74 5d 0d 7d 0d 0d 23 20 45 6e 64 20 6f xtNextPara.%W.insert].}..#.End.o
271e0 66 20 4d 61 63 20 6f 6e 6c 79 20 62 69 6e 64 69 6e 67 73 0d 7d 0d 0d 23 20 41 20 66 65 77 20 61 f.Mac.only.bindings.}..#.A.few.a
27200 64 64 69 74 69 6f 6e 61 6c 20 62 69 6e 64 69 6e 67 73 20 6f 66 20 6d 79 20 6f 77 6e 2e 0d 0d 62 dditional.bindings.of.my.own...b
27220 69 6e 64 20 54 65 78 74 20 3c 43 6f 6e 74 72 6f 6c 2d 68 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 ind.Text.<Control-h>.{.....if.{!
27240 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 $tk_strictMotif}.{..if.{[%W.comp
27260 61 72 65 20 69 6e 73 65 72 74 20 21 3d 20 31 2e 30 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 are.insert.!=.1.0]}.{......%W.de
27280 6c 65 74 65 20 69 6e 73 65 72 74 2d 31 63 0d 09 20 20 20 20 25 57 20 73 65 65 20 69 6e 73 65 72 lete.insert-1c......%W.see.inser
272a0 74 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 32 3e 20 7b 0d 20 20 20 t..}.....}.}.bind.Text.<2>.{....
272c0 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 25 57 20 73 63 61 .if.{!$tk_strictMotif}.{..%W.sca
272e0 6e 20 6d 61 72 6b 20 25 78 20 25 79 0d 09 73 65 74 20 74 6b 50 72 69 76 28 78 29 20 25 78 0d 09 n.mark.%x.%y..set.tkPriv(x).%x..
27300 73 65 74 20 74 6b 50 72 69 76 28 79 29 20 25 79 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 set.tkPriv(y).%y..set.tkPriv(mou
27320 73 65 4d 6f 76 65 64 29 20 30 0d 20 20 20 20 7d 0d 7d 0d 62 69 6e 64 20 54 65 78 74 20 3c 42 32 seMoved).0.....}.}.bind.Text.<B2
27340 2d 4d 6f 74 69 6f 6e 3e 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f -Motion>.{.....if.{!$tk_strictMo
27360 74 69 66 7d 20 7b 0d 09 69 66 20 7b 28 25 78 20 21 3d 20 24 74 6b 50 72 69 76 28 78 29 29 20 7c tif}.{..if.{(%x.!=.$tkPriv(x)).|
27380 7c 20 28 25 79 20 21 3d 20 24 74 6b 50 72 69 76 28 79 29 29 7d 20 7b 0d 09 20 20 20 20 73 65 74 |.(%y.!=.$tkPriv(y))}.{......set
273a0 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 31 0d 09 7d 0d 09 69 66 20 7b 24 74 .tkPriv(mouseMoved).1..}..if.{$t
273c0 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 7d 20 7b 0d 09 20 20 20 20 25 57 20 73 63 61 kPriv(mouseMoved)}.{......%W.sca
273e0 6e 20 64 72 61 67 74 6f 20 25 78 20 25 79 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 73 65 74 20 74 6b n.dragto.%x.%y..}.....}.}.set.tk
27400 50 72 69 76 28 70 72 65 76 50 6f 73 29 20 7b 7d 0d 0d 23 20 54 68 65 20 4d 6f 75 73 65 57 68 65 Priv(prevPos).{}..#.The.MouseWhe
27420 65 6c 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 20 6f 6e 6c 79 20 66 69 72 65 20 6f 6e 20 57 el.will.typically.only.fire.on.W
27440 69 6e 64 6f 77 73 2e 20 20 48 6f 77 65 76 65 72 2c 0d 23 20 73 6f 6d 65 6f 6e 65 20 63 6f 75 6c indows...However,.#.someone.coul
27460 64 20 75 73 65 20 74 68 65 20 22 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 22 20 63 6f 6d 6d 61 d.use.the."event.generate".comma
27480 6e 64 20 74 6f 20 70 72 6f 64 75 63 65 20 6f 6e 65 0d 23 20 6f 6e 20 6f 74 68 65 72 20 70 6c 61 nd.to.produce.one.#.on.other.pla
274a0 74 66 6f 72 6d 73 2e 0d 0d 62 69 6e 64 20 54 65 78 74 20 3c 4d 6f 75 73 65 57 68 65 65 6c 3e 20 tforms...bind.Text.<MouseWheel>.
274c0 7b 0d 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 5b 65 78 70 72 20 7b 2d 20 28 {.....%W.yview.scroll.[expr.{-.(
274e0 25 44 20 2f 20 31 32 30 29 20 2a 20 34 7d 5d 20 75 6e 69 74 73 0d 7d 0d 0d 69 66 20 7b 5b 73 74 %D./.120).*.4}].units.}..if.{[st
27500 72 69 6e 67 20 65 71 75 61 6c 20 22 75 6e 69 78 22 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 ring.equal."unix".$tcl_platform(
27520 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 20 20 20 20 23 20 53 75 70 70 6f 72 74 20 66 6f 72 20 platform)]}.{.....#.Support.for.
27540 6d 6f 75 73 65 77 68 65 65 6c 73 20 6f 6e 20 4c 69 6e 75 78 2f 55 6e 69 78 20 63 6f 6d 6d 6f 6e mousewheels.on.Linux/Unix.common
27560 6c 79 20 63 6f 6d 65 73 20 74 68 72 6f 75 67 68 20 6d 61 70 70 69 6e 67 0d 20 20 20 20 23 20 74 ly.comes.through.mapping.....#.t
27580 68 65 20 77 68 65 65 6c 20 74 6f 20 74 68 65 20 65 78 74 65 6e 64 65 64 20 62 75 74 74 6f 6e 73 he.wheel.to.the.extended.buttons
275a0 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 6d 6f 75 73 65 77 68 65 65 6c 2c 20 66 69 6e ...If.you.have.a.mousewheel,.fin
275c0 64 0d 20 20 20 20 23 20 4c 69 6e 75 78 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6e 66 6f d.....#.Linux.configuration.info
275e0 20 61 74 3a 0d 20 20 20 20 23 09 68 74 74 70 3a 2f 2f 77 77 77 2e 69 6e 72 69 61 2e 66 72 2f 6b .at:.....#.http://www.inria.fr/k
27600 6f 61 6c 61 2f 63 6f 6c 61 73 2f 6d 6f 75 73 65 2d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2f 0d 20 oala/colas/mouse-wheel-scroll/..
27620 20 20 20 62 69 6e 64 20 54 65 78 74 20 3c 34 3e 20 7b 0d 09 69 66 20 7b 21 24 74 6b 5f 73 74 72 ...bind.Text.<4>.{..if.{!$tk_str
27640 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c ictMotif}.{......%W.yview.scroll
27660 20 2d 35 20 75 6e 69 74 73 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 54 65 78 74 .-5.units..}.....}.....bind.Text
27680 20 3c 35 3e 20 7b 0d 09 69 66 20 7b 21 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d .<5>.{..if.{!$tk_strictMotif}.{.
276a0 09 20 20 20 20 25 57 20 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 35 20 75 6e 69 74 73 0d 09 7d 0d .....%W.yview.scroll.5.units..}.
276c0 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 2d 2d 0d 23 ....}.}..#.tkTextClosestGap.--.#
276e0 20 47 69 76 65 6e 20 78 20 61 6e 64 20 79 20 63 6f 6f 72 64 69 6e 61 74 65 73 2c 20 74 68 69 73 .Given.x.and.y.coordinates,.this
27700 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e 64 73 20 74 68 65 20 63 6c 6f 73 65 73 74 20 62 6f 75 .procedure.finds.the.closest.bou
27720 6e 64 61 72 79 0d 23 20 62 65 74 77 65 65 6e 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 ndary.#.between.characters.to.th
27740 65 20 67 69 76 65 6e 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 e.given.coordinates.and.returns.
27760 74 68 65 20 69 6e 64 65 78 0d 23 20 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6a 75 73 the.index.#.of.the.character.jus
27780 74 20 61 66 74 65 72 20 74 68 65 20 62 6f 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 t.after.the.boundary..#.#.Argume
277a0 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 78 nts:.#.w.-..The.text.window..#.x
277c0 20 2d 09 09 58 2d 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 .-..X-coordinate.within.the.wind
277e0 6f 77 2e 0d 23 20 79 20 2d 09 09 59 2d 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 69 6e 20 74 ow..#.y.-..Y-coordinate.within.t
27800 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 he.window...proc.tkTextClosestGa
27820 70 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 p.{w.x.y}.{.....set.pos.[$w.inde
27840 78 20 40 24 78 2c 24 79 5d 0d 20 20 20 20 73 65 74 20 62 62 6f 78 20 5b 24 77 20 62 62 6f 78 20 x.@$x,$y].....set.bbox.[$w.bbox.
27860 24 70 6f 73 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 62 62 6f $pos].....if.{[string.equal.$bbo
27880 78 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 20 20 20 20 7d 0d 20 20 20 20 x.""]}.{..return.$pos.....}.....
278a0 69 66 20 7b 28 24 78 20 2d 20 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 30 5d 29 20 3c 20 28 5b if.{($x.-.[lindex.$bbox.0]).<.([
278c0 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 32 5d 2f 32 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 70 lindex.$bbox.2]/2)}.{..return.$p
278e0 6f 73 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 os.....}.....$w.index."$pos.+.1.
27900 63 68 61 72 22 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 42 75 74 74 6f 6e 31 20 2d 2d 0d 23 20 54 68 char".}..#.tkTextButton1.--.#.Th
27920 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 6f 20 68 61 6e 64 6c is.procedure.is.invoked.to.handl
27940 65 20 62 75 74 74 6f 6e 2d 31 20 70 72 65 73 73 65 73 20 69 6e 20 74 65 78 74 0d 23 20 77 69 64 e.button-1.presses.in.text.#.wid
27960 67 65 74 73 2e 20 20 49 74 20 6d 6f 76 65 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 gets...It.moves.the.insertion.cu
27980 72 73 6f 72 2c 20 73 65 74 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e 63 68 6f 72 2c rsor,.sets.the.selection.anchor,
279a0 0d 23 20 61 6e 64 20 63 6c 61 69 6d 73 20 74 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 2e 0d 23 .#.and.claims.the.input.focus..#
279c0 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 .#.Arguments:.#.w.-..The.text.wi
279e0 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 ndow.in.which.the.button.was.pre
27a00 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 54 68 65 20 78 2d 63 6f 6f 72 64 69 6e 61 74 65 20 6f 66 ssed..#.x.-..The.x-coordinate.of
27a20 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d 23 20 79 20 2d 09 09 54 68 65 20 78 2d .the.button.press..#.y.-..The.x-
27a40 63 6f 6f 72 64 69 6e 61 74 65 20 6f 66 20 74 68 65 20 62 75 74 74 6f 6e 20 70 72 65 73 73 2e 0d coordinate.of.the.button.press..
27a60 0d 70 72 6f 63 20 74 6b 54 65 78 74 42 75 74 74 6f 6e 31 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 .proc.tkTextButton1.{w.x.y}.{...
27a80 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 ..global.tkPriv......set.tkPriv(
27aa0 73 65 6c 65 63 74 4d 6f 64 65 29 20 63 68 61 72 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 selectMode).char.....set.tkPriv(
27ac0 6d 6f 75 73 65 4d 6f 76 65 64 29 20 30 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 65 mouseMoved).0.....set.tkPriv(pre
27ae0 73 73 58 29 20 24 78 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 5b ssX).$x.....$w.mark.set.insert.[
27b00 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 24 77 20 24 78 20 24 79 5d 0d 20 20 20 20 24 tkTextClosestGap.$w.$x.$y].....$
27b20 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 69 6e 73 65 72 74 0d 20 20 20 20 69 66 20 w.mark.set.anchor.insert.....if.
27b40 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 {[string.equal.[$w.cget.-state].
27b60 22 6e 6f 72 6d 61 6c 22 5d 7d 20 7b 66 6f 63 75 73 20 24 77 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 "normal"]}.{focus.$w}.}..#.tkTex
27b80 74 53 65 6c 65 63 74 54 6f 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 tSelectTo.--.#.This.procedure.is
27ba0 20 69 6e 76 6f 6b 65 64 20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e .invoked.to.extend.the.selection
27bc0 2c 20 74 79 70 69 63 61 6c 6c 79 20 77 68 65 6e 0d 23 20 64 72 61 67 67 69 6e 67 20 69 74 20 77 ,.typically.when.#.dragging.it.w
27be0 69 74 68 20 74 68 65 20 6d 6f 75 73 65 2e 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 ith.the.mouse...Depending.on.the
27c00 20 73 65 6c 65 63 74 69 6f 6e 20 6d 6f 64 65 20 28 63 68 61 72 61 63 74 65 72 2c 0d 23 20 77 6f .selection.mode.(character,.#.wo
27c20 72 64 2c 20 6c 69 6e 65 29 20 69 74 20 73 65 6c 65 63 74 73 20 69 6e 20 64 69 66 66 65 72 65 6e rd,.line).it.selects.in.differen
27c40 74 2d 73 69 7a 65 64 20 75 6e 69 74 73 2e 20 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 0d 23 t-sized.units...This.procedure.#
27c60 20 69 67 6e 6f 72 65 73 20 6d 6f 75 73 65 20 6d 6f 74 69 6f 6e 73 20 69 6e 69 74 69 61 6c 6c 79 .ignores.mouse.motions.initially
27c80 20 75 6e 74 69 6c 20 74 68 65 20 6d 6f 75 73 65 20 68 61 73 20 6d 6f 76 65 64 20 66 72 6f 6d 0d .until.the.mouse.has.moved.from.
27ca0 23 20 6f 6e 65 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 6f 72 20 75 6e #.one.character.to.another.or.un
27cc0 74 69 6c 20 74 68 65 72 65 20 68 61 76 65 20 62 65 65 6e 20 6d 75 6c 74 69 70 6c 65 20 63 6c 69 til.there.have.been.multiple.cli
27ce0 63 6b 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 cks..#.#.Arguments:.#.w.-..The.t
27d00 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 62 75 74 74 6f 6e 20 77 ext.window.in.which.the.button.w
27d20 61 73 20 70 72 65 73 73 65 64 2e 0d 23 20 78 20 2d 09 09 4d 6f 75 73 65 20 78 20 70 6f 73 69 74 as.pressed..#.x.-..Mouse.x.posit
27d40 69 6f 6e 2e 0d 23 20 79 20 2d 20 09 09 4d 6f 75 73 65 20 79 20 70 6f 73 69 74 69 6f 6e 2e 0d 0d ion..#.y.-...Mouse.y.position...
27d60 70 72 6f 63 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 7b 77 20 78 20 79 20 7b 65 78 74 65 proc.tkTextSelectTo.{w.x.y.{exte
27d80 6e 64 20 30 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 63 6c 5f 70 nd.0}}.{.....global.tkPriv.tcl_p
27da0 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 73 65 74 20 63 75 72 20 5b 74 6b 54 65 78 74 43 6c 6f 73 latform......set.cur.[tkTextClos
27dc0 65 73 74 47 61 70 20 24 77 20 24 78 20 24 79 5d 0d 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 estGap.$w.$x.$y].....if.{[catch.
27de0 7b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 7d 5d 7d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 {$w.index.anchor}]}.{..$w.mark.s
27e00 65 74 20 61 6e 63 68 6f 72 20 24 63 75 72 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 6e 63 et.anchor.$cur.....}.....set.anc
27e20 68 6f 72 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 0d 20 20 20 20 69 66 20 7b 5b 24 hor.[$w.index.anchor].....if.{[$
27e40 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 21 3d 20 24 61 6e 63 68 6f 72 5d 20 7c 7c 20 28 61 w.compare.$cur.!=.$anchor].||.(a
27e60 62 73 28 24 74 6b 50 72 69 76 28 70 72 65 73 73 58 29 20 2d 20 24 78 29 20 3e 3d 20 33 29 7d 20 bs($tkPriv(pressX).-.$x).>=.3)}.
27e80 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 31 0d 20 20 20 20 {..set.tkPriv(mouseMoved).1.....
27ea0 7d 0d 20 20 20 20 73 77 69 74 63 68 20 24 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 }.....switch.$tkPriv(selectMode)
27ec0 20 7b 0d 09 63 68 61 72 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 .{..char.{......if.{[$w.compare.
27ee0 24 63 75 72 20 3c 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 20 24 63 $cur.<.anchor]}.{...set.first.$c
27f00 75 72 0d 09 09 73 65 74 20 6c 61 73 74 20 61 6e 63 68 6f 72 0d 09 20 20 20 20 7d 20 65 6c 73 65 ur...set.last.anchor......}.else
27f20 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 20 61 6e 63 68 6f 72 0d 09 09 73 65 74 20 6c 61 73 74 .{...set.first.anchor...set.last
27f40 20 24 63 75 72 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 77 6f 72 64 20 7b 0d 09 20 20 20 20 69 66 20 .$cur......}..}..word.{......if.
27f60 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 {[$w.compare.$cur.<.anchor]}.{..
27f80 09 73 65 74 20 66 69 72 73 74 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 24 77 20 22 24 63 .set.first.[tkTextPrevPos.$w."$c
27fa0 75 72 20 2b 20 31 63 22 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 5d 0d 09 09 ur.+.1c".tcl_wordBreakBefore]...
27fc0 69 66 20 7b 20 21 24 65 78 74 65 6e 64 20 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 6c 61 73 74 if.{.!$extend.}.{.......set.last
27fe0 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 22 61 6e 63 68 6f 72 22 20 74 63 6c 5f .[tkTextNextPos.$w."anchor".tcl_
28000 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 5d 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 wordBreakAfter]...}.else.{......
28020 20 73 65 74 20 6c 61 73 74 20 61 6e 63 68 6f 72 0d 09 09 7d 0d 09 20 20 20 20 7d 20 65 6c 73 65 .set.last.anchor...}......}.else
28040 20 7b 0d 09 09 73 65 74 20 6c 61 73 74 20 5b 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 .{...set.last.[tkTextNextPos.$w.
28060 22 24 63 75 72 20 2d 20 31 63 22 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 5d 0d "$cur.-.1c".tcl_wordBreakAfter].
28080 09 09 69 66 20 7b 20 21 24 65 78 74 65 6e 64 20 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 66 69 ..if.{.!$extend.}.{.......set.fi
280a0 72 73 74 20 5b 74 6b 54 65 78 74 50 72 65 76 50 6f 73 20 24 77 20 61 6e 63 68 6f 72 20 74 63 6c rst.[tkTextPrevPos.$w.anchor.tcl
280c0 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 5d 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 _wordBreakBefore]...}.else.{....
280e0 20 20 20 73 65 74 20 66 69 72 73 74 20 61 6e 63 68 6f 72 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 ...set.first.anchor...}......}..
28100 7d 0d 09 6c 69 6e 65 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 }..line.{......if.{[$w.compare.$
28120 63 75 72 20 3c 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 09 73 65 74 20 66 69 72 73 74 20 5b 24 77 cur.<.anchor]}.{...set.first.[$w
28140 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 73 74 61 72 74 22 5d 0d 09 09 73 65 74 20 6c .index."$cur.linestart"]...set.l
28160 61 73 74 20 5b 24 77 20 69 6e 64 65 78 20 22 61 6e 63 68 6f 72 20 2d 20 31 63 20 6c 69 6e 65 65 ast.[$w.index."anchor.-.1c.linee
28180 6e 64 20 2b 20 31 63 22 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 66 69 nd.+.1c"]......}.else.{...set.fi
281a0 72 73 74 20 5b 24 77 20 69 6e 64 65 78 20 22 61 6e 63 68 6f 72 20 6c 69 6e 65 73 74 61 72 74 22 rst.[$w.index."anchor.linestart"
281c0 5d 0d 09 09 73 65 74 20 6c 61 73 74 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e ]...set.last.[$w.index."$cur.lin
281e0 65 65 6e 64 20 2b 20 31 63 22 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 eend.+.1c"]......}..}.....}.....
28200 69 66 20 7b 24 74 6b 50 72 69 76 28 6d 6f 75 73 65 4d 6f 76 65 64 29 20 7c 7c 20 5b 73 74 72 69 if.{$tkPriv(mouseMoved).||.[stri
28220 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 6b 50 72 69 76 28 73 65 6c 65 63 74 4d 6f 64 65 29 20 22 ng.compare.$tkPriv(selectMode)."
28240 63 68 61 72 22 5d 7d 20 7b 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 30 2e 30 char"]}.{..$w.tag.remove.sel.0.0
28260 20 65 6e 64 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 24 63 75 72 0d 09 24 .end..$w.mark.set.insert.$cur..$
28280 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 66 69 72 73 74 20 24 6c 61 73 74 0d 09 75 70 64 61 w.tag.add.sel.$first.$last..upda
282a0 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4b 65 te.idletasks.....}.}..#.tkTextKe
282c0 79 45 78 74 65 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 68 61 6e 64 yExtend.--.#.This.procedure.hand
282e0 6c 65 73 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d les.extending.the.selection.from
28300 20 74 68 65 20 6b 65 79 62 6f 61 72 64 2c 0d 23 20 77 68 65 72 65 20 74 68 65 20 70 6f 69 6e 74 .the.keyboard,.#.where.the.point
28320 20 74 6f 20 65 78 74 65 6e 64 20 74 6f 20 69 73 20 72 65 61 6c 6c 79 20 74 68 65 20 62 6f 75 6e .to.extend.to.is.really.the.boun
28340 64 61 72 79 20 62 65 74 77 65 65 6e 20 74 77 6f 0d 23 20 63 68 61 72 61 63 74 65 72 73 20 72 61 dary.between.two.#.characters.ra
28360 74 68 65 72 20 74 68 61 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 63 68 61 72 61 63 74 65 72 ther.than.a.particular.character
28380 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 ..#.#.Arguments:.#.w.-..The.text
283a0 20 77 69 6e 64 6f 77 2e 0d 23 20 69 6e 64 65 78 20 2d 09 54 68 65 20 70 6f 69 6e 74 20 74 6f 20 .window..#.index.-.The.point.to.
283c0 77 68 69 63 68 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 69 73 20 74 6f 20 62 65 20 65 78 74 which.the.selection.is.to.be.ext
283e0 65 6e 64 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 4b 65 79 45 78 74 65 6e 64 20 7b 77 20 ended...proc.tkTextKeyExtend.{w.
28400 69 6e 64 65 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 index}.{.....global.tkPriv......
28420 73 65 74 20 63 75 72 20 5b 24 77 20 69 6e 64 65 78 20 24 69 6e 64 65 78 5d 0d 20 20 20 20 69 66 set.cur.[$w.index.$index].....if
28440 20 7b 5b 63 61 74 63 68 20 7b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 7d 5d 7d 20 7b 0d 09 .{[catch.{$w.index.anchor}]}.{..
28460 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 24 63 75 72 0d 20 20 20 20 7d 0d 20 20 $w.mark.set.anchor.$cur.....}...
28480 20 20 73 65 74 20 61 6e 63 68 6f 72 20 5b 24 77 20 69 6e 64 65 78 20 61 6e 63 68 6f 72 5d 0d 20 ..set.anchor.[$w.index.anchor]..
284a0 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 61 6e 63 68 6f 72 ...if.{[$w.compare.$cur.<.anchor
284c0 5d 7d 20 7b 0d 09 73 65 74 20 66 69 72 73 74 20 24 63 75 72 0d 09 73 65 74 20 6c 61 73 74 20 61 ]}.{..set.first.$cur..set.last.a
284e0 6e 63 68 6f 72 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 66 69 72 73 74 20 61 6e nchor.....}.else.{..set.first.an
28500 63 68 6f 72 0d 09 73 65 74 20 6c 61 73 74 20 24 63 75 72 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 chor..set.last.$cur.....}.....$w
28520 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 30 2e 30 20 24 66 69 72 73 74 0d 20 20 20 20 24 .tag.remove.sel.0.0.$first.....$
28540 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 66 69 72 73 74 20 24 6c 61 73 74 0d 20 20 20 20 24 w.tag.add.sel.$first.$last.....$
28560 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 24 6c 61 73 74 20 65 6e 64 0d 7d 0d 0d 23 20 w.tag.remove.sel.$last.end.}..#.
28580 74 6b 54 65 78 74 50 61 73 74 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 tkTextPaste.--.#.This.procedure.
285a0 73 65 74 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 74 6f 20 74 68 65 sets.the.insertion.cursor.to.the
285c0 20 6d 6f 75 73 65 20 70 6f 73 69 74 69 6f 6e 2c 0d 23 20 69 6e 73 65 72 74 73 20 74 68 65 20 73 .mouse.position,.#.inserts.the.s
285e0 65 6c 65 63 74 69 6f 6e 2c 20 61 6e 64 20 73 65 74 73 20 74 68 65 20 66 6f 63 75 73 20 74 6f 20 election,.and.sets.the.focus.to.
28600 74 68 65 20 77 69 6e 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d the.window..#.#.Arguments:.#.w.-
28620 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 78 2c 20 79 20 2d 20 09 50 6f 73 ..The.text.window..#.x,.y.-..Pos
28640 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 6f 75 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 ition.of.the.mouse...proc.tkText
28660 50 61 73 74 65 20 7b 77 20 78 20 79 7d 20 7b 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 Paste.{w.x.y}.{.....$w.mark.set.
28680 69 6e 73 65 72 74 20 5b 74 6b 54 65 78 74 43 6c 6f 73 65 73 74 47 61 70 20 24 77 20 24 78 20 24 insert.[tkTextClosestGap.$w.$x.$
286a0 79 5d 0d 20 20 20 20 63 61 74 63 68 20 7b 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 5b y].....catch.{$w.insert.insert.[
286c0 73 65 6c 65 63 74 69 6f 6e 20 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 5d 7d 0d 20 20 selection.get.-displayof.$w]}...
286e0 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 74 ..if.{[string.equal.[$w.cget.-st
28700 61 74 65 5d 20 22 6e 6f 72 6d 61 6c 22 5d 7d 20 7b 66 6f 63 75 73 20 24 77 7d 0d 7d 0d 0d 23 20 ate]."normal"]}.{focus.$w}.}..#.
28720 74 6b 54 65 78 74 41 75 74 6f 53 63 61 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 tkTextAutoScan.--.#.This.procedu
28740 72 65 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 74 68 65 20 6d 6f 75 73 65 20 6c 65 61 re.is.invoked.when.the.mouse.lea
28760 76 65 73 20 61 20 74 65 78 74 20 77 69 6e 64 6f 77 0d 23 20 77 69 74 68 20 62 75 74 74 6f 6e 20 ves.a.text.window.#.with.button.
28780 31 20 64 6f 77 6e 2e 20 20 49 74 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 77 69 6e 64 6f 77 20 75 1.down...It.scrolls.the.window.u
287a0 70 2c 20 64 6f 77 6e 2c 20 6c 65 66 74 2c 20 6f 72 20 72 69 67 68 74 2c 0d 23 20 64 65 70 65 6e p,.down,.left,.or.right,.#.depen
287c0 64 69 6e 67 20 6f 6e 20 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 69 73 20 28 74 68 69 73 ding.on.where.the.mouse.is.(this
287e0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 61 73 20 73 61 76 65 64 20 69 6e 0d 23 20 74 6b 50 72 .information.was.saved.in.#.tkPr
28800 69 76 28 78 29 20 61 6e 64 20 74 6b 50 72 69 76 28 79 29 29 2c 20 61 6e 64 20 72 65 73 63 68 65 iv(x).and.tkPriv(y)),.and.resche
28820 64 75 6c 65 73 20 69 74 73 65 6c 66 20 61 73 20 61 6e 20 22 61 66 74 65 72 22 0d 23 20 63 6f 6d dules.itself.as.an."after".#.com
28840 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 74 68 65 20 77 69 6e 64 6f 77 20 63 6f 6e 74 69 6e 75 65 mand.so.that.the.window.continue
28860 73 20 74 6f 20 73 63 72 6f 6c 6c 20 75 6e 74 69 6c 20 74 68 65 20 6d 6f 75 73 65 0d 23 20 6d 6f s.to.scroll.until.the.mouse.#.mo
28880 76 65 73 20 62 61 63 6b 20 69 6e 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 20 6f 72 20 74 68 65 20 ves.back.into.the.window.or.the.
288a0 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 72 65 6c 65 61 73 65 64 2e 0d 23 0d 23 20 41 72 mouse.button.is.released..#.#.Ar
288c0 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e guments:.#.w.-..The.text.window.
288e0 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 41 75 74 6f 53 63 61 6e 20 7b 77 7d 20 7b 0d 20 20 20 20 ..proc.tkTextAutoScan.{w}.{.....
28900 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 global.tkPriv.....if.{![winfo.ex
28920 69 73 74 73 20 24 77 5d 7d 20 72 65 74 75 72 6e 0d 20 20 20 20 69 66 20 7b 24 74 6b 50 72 69 76 ists.$w]}.return.....if.{$tkPriv
28940 28 79 29 20 3e 3d 20 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 5d 7d 20 7b 0d 09 24 77 20 (y).>=.[winfo.height.$w]}.{..$w.
28960 79 76 69 65 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 yview.scroll.2.units.....}.elsei
28980 66 20 7b 24 74 6b 50 72 69 76 28 79 29 20 3c 20 30 7d 20 7b 0d 09 24 77 20 79 76 69 65 77 20 73 f.{$tkPriv(y).<.0}.{..$w.yview.s
289a0 63 72 6f 6c 6c 20 2d 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 74 6b croll.-2.units.....}.elseif.{$tk
289c0 50 72 69 76 28 78 29 20 3e 3d 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 24 77 5d 7d 20 7b 0d 09 Priv(x).>=.[winfo.width.$w]}.{..
289e0 24 77 20 78 76 69 65 77 20 73 63 72 6f 6c 6c 20 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c $w.xview.scroll.2.units.....}.el
28a00 73 65 69 66 20 7b 24 74 6b 50 72 69 76 28 78 29 20 3c 20 30 7d 20 7b 0d 09 24 77 20 78 76 69 65 seif.{$tkPriv(x).<.0}.{..$w.xvie
28a20 77 20 73 63 72 6f 6c 6c 20 2d 32 20 75 6e 69 74 73 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 w.scroll.-2.units.....}.else.{..
28a40 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 74 6b 54 65 78 74 53 65 6c 65 63 74 54 6f 20 return.....}.....tkTextSelectTo.
28a60 24 77 20 24 74 6b 50 72 69 76 28 78 29 20 24 74 6b 50 72 69 76 28 79 29 0d 20 20 20 20 73 65 74 $w.$tkPriv(x).$tkPriv(y).....set
28a80 20 74 6b 50 72 69 76 28 61 66 74 65 72 49 64 29 20 5b 61 66 74 65 72 20 35 30 20 5b 6c 69 73 74 .tkPriv(afterId).[after.50.[list
28aa0 20 74 6b 54 65 78 74 41 75 74 6f 53 63 61 6e 20 24 77 5d 5d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 .tkTextAutoScan.$w]].}..#.tkText
28ac0 53 65 74 43 75 72 73 6f 72 0d 23 20 4d 6f 76 65 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 SetCursor.#.Move.the.insertion.c
28ae0 75 72 73 6f 72 20 74 6f 20 61 20 67 69 76 65 6e 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 61 20 74 ursor.to.a.given.position.in.a.t
28b00 65 78 74 2e 20 20 41 6c 73 6f 0d 23 20 63 6c 65 61 72 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f ext...Also.#.clears.the.selectio
28b20 6e 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 20 69 6e 20 74 68 65 20 74 65 78 74 2c 20 n,.if.there.is.one.in.the.text,.
28b40 61 6e 64 20 6d 61 6b 65 73 20 73 75 72 65 0d 23 20 74 68 61 74 20 74 68 65 20 69 6e 73 65 72 74 and.makes.sure.#.that.the.insert
28b60 69 6f 6e 20 63 75 72 73 6f 72 20 69 73 20 76 69 73 69 62 6c 65 2e 20 20 41 6c 73 6f 2c 20 64 6f ion.cursor.is.visible...Also,.do
28b80 6e 27 74 20 6c 65 74 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 0d 23 20 63 75 72 73 6f 72 20 61 n't.let.the.insertion.#.cursor.a
28ba0 70 70 65 61 72 20 6f 6e 20 74 68 65 20 64 75 6d 6d 79 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 ppear.on.the.dummy.last.line.of.
28bc0 74 68 65 20 74 65 78 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 the.text..#.#.Arguments:.#.w.-..
28be0 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 70 6f 73 20 2d 09 09 54 68 65 20 64 65 The.text.window..#.pos.-..The.de
28c00 73 69 72 65 64 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 73 6f sired.new.position.for.the.curso
28c20 72 20 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 53 65 74 r.in.the.window...proc.tkTextSet
28c40 43 75 72 73 6f 72 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 Cursor.{w.pos}.{.....global.tkPr
28c60 69 76 0d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 3d 3d 20 iv......if.{[$w.compare.$pos.==.
28c80 65 6e 64 5d 7d 20 7b 0d 09 73 65 74 20 70 6f 73 20 7b 65 6e 64 20 2d 20 31 20 63 68 61 72 73 7d end]}.{..set.pos.{end.-.1.chars}
28ca0 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 24 70 .....}.....$w.mark.set.insert.$p
28cc0 6f 73 0d 20 20 20 20 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 os.....$w.tag.remove.sel.1.0.end
28ce0 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4b 65 .....$w.see.insert.}..#.tkTextKe
28d00 79 53 65 6c 65 63 74 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 69 6e 76 6f ySelect.#.This.procedure.is.invo
28d20 6b 65 64 20 77 68 65 6e 20 73 74 72 6f 6b 69 6e 67 20 6f 75 74 20 73 65 6c 65 63 74 69 6f 6e 73 ked.when.stroking.out.selections
28d40 20 75 73 69 6e 67 20 74 68 65 0d 23 20 6b 65 79 62 6f 61 72 64 2e 20 20 49 74 20 6d 6f 76 65 73 .using.the.#.keyboard...It.moves
28d60 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 61 20 6e 65 77 20 70 6f 73 69 74 69 6f 6e 2c 20 74 .the.cursor.to.a.new.position,.t
28d80 68 65 6e 20 65 78 74 65 6e 64 73 0d 23 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 74 6f 20 74 hen.extends.#.the.selection.to.t
28da0 68 61 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 hat.position..#.#.Arguments:.#.w
28dc0 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 2e 0d 23 20 6e 65 77 20 2d 09 09 41 20 .-..The.text.window..#.new.-..A.
28de0 6e 65 77 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 new.position.for.the.insertion.c
28e00 75 72 73 6f 72 20 28 74 68 65 20 63 75 72 73 6f 72 20 68 61 73 6e 27 74 0d 23 09 09 61 63 74 75 ursor.(the.cursor.hasn't.#..actu
28e20 61 6c 6c 79 20 62 65 65 6e 20 6d 6f 76 65 64 20 74 6f 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e ally.been.moved.to.this.position
28e40 20 79 65 74 29 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 4b 65 79 53 65 6c 65 63 74 20 7b 77 20 .yet)...proc.tkTextKeySelect.{w.
28e60 6e 65 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 69 66 new}.{.....global.tkPriv......if
28e80 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 74 61 67 20 6e 65 78 74 72 61 6e 67 .{[string.equal.[$w.tag.nextrang
28ea0 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 20 22 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 24 77 20 63 e.sel.1.0.end].""]}.{..if.{[$w.c
28ec0 6f 6d 70 61 72 65 20 24 6e 65 77 20 3c 20 69 6e 73 65 72 74 5d 7d 20 7b 0d 09 20 20 20 20 24 77 ompare.$new.<.insert]}.{......$w
28ee0 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 6e 65 77 20 69 6e 73 65 72 74 0d 09 7d 20 65 6c 73 65 .tag.add.sel.$new.insert..}.else
28f00 20 7b 0d 09 20 20 20 20 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 69 6e 73 65 72 74 20 24 6e .{......$w.tag.add.sel.insert.$n
28f20 65 77 0d 09 7d 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 69 6e 73 65 72 74 ew..}..$w.mark.set.anchor.insert
28f40 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 .....}.else.{..if.{[$w.compare.$
28f60 6e 65 77 20 3c 20 61 6e 63 68 6f 72 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 72 73 74 20 new.<.anchor]}.{......set.first.
28f80 24 6e 65 77 0d 09 20 20 20 20 73 65 74 20 6c 61 73 74 20 61 6e 63 68 6f 72 0d 09 7d 20 65 6c 73 $new......set.last.anchor..}.els
28fa0 65 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 72 73 74 20 61 6e 63 68 6f 72 0d 09 20 20 20 20 73 e.{......set.first.anchor......s
28fc0 65 74 20 6c 61 73 74 20 24 6e 65 77 0d 09 7d 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 et.last.$new..}..$w.tag.remove.s
28fe0 65 6c 20 31 2e 30 20 24 66 69 72 73 74 0d 09 24 77 20 74 61 67 20 61 64 64 20 73 65 6c 20 24 66 el.1.0.$first..$w.tag.add.sel.$f
29000 69 72 73 74 20 24 6c 61 73 74 0d 09 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 24 6c irst.$last..$w.tag.remove.sel.$l
29020 61 73 74 20 65 6e 64 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 69 6e ast.end.....}.....$w.mark.set.in
29040 73 65 72 74 20 24 6e 65 77 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 20 20 20 20 sert.$new.....$w.see.insert.....
29060 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 52 65 73 65 update.idletasks.}..#.tkTextRese
29080 74 41 6e 63 68 6f 72 20 2d 2d 0d 23 20 53 65 74 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 tAnchor.--.#.Set.the.selection.a
290a0 6e 63 68 6f 72 20 74 6f 20 77 68 69 63 68 65 76 65 72 20 65 6e 64 20 69 73 20 66 61 72 74 68 65 nchor.to.whichever.end.is.farthe
290c0 73 74 20 66 72 6f 6d 20 74 68 65 0d 23 20 69 6e 64 65 78 20 61 72 67 75 6d 65 6e 74 2e 20 20 4f st.from.the.#.index.argument...O
290e0 6e 65 20 73 70 65 63 69 61 6c 20 74 72 69 63 6b 3a 20 69 66 20 74 68 65 20 73 65 6c 65 63 74 69 ne.special.trick:.if.the.selecti
29100 6f 6e 20 68 61 73 20 74 77 6f 20 6f 72 0d 23 20 66 65 77 65 72 20 63 68 61 72 61 63 74 65 72 73 on.has.two.or.#.fewer.characters
29120 2c 20 6a 75 73 74 20 6c 65 61 76 65 20 74 68 65 20 61 6e 63 68 6f 72 20 77 68 65 72 65 20 69 74 ,.just.leave.the.anchor.where.it
29140 20 69 73 2e 20 20 49 6e 20 74 68 69 73 0d 23 20 63 61 73 65 20 69 74 20 64 6f 65 73 6e 27 74 20 .is...In.this.#.case.it.doesn't.
29160 6d 61 74 74 65 72 20 77 68 69 63 68 20 70 6f 69 6e 74 20 67 65 74 73 20 63 68 6f 73 65 6e 20 66 matter.which.point.gets.chosen.f
29180 6f 72 20 74 68 65 20 61 6e 63 68 6f 72 2c 0d 23 20 61 6e 64 20 66 6f 72 20 74 68 65 20 74 68 69 or.the.anchor,.#.and.for.the.thi
291a0 6e 67 73 20 6c 69 6b 65 20 53 68 69 66 74 2d 4c 65 66 74 20 61 6e 64 20 53 68 69 66 74 2d 52 69 ngs.like.Shift-Left.and.Shift-Ri
291c0 67 68 74 20 74 68 69 73 20 70 72 6f 64 75 63 65 73 0d 23 20 62 65 74 74 65 72 20 62 65 68 61 76 ght.this.produces.#.better.behav
291e0 69 6f 72 20 77 68 65 6e 20 74 68 65 20 63 75 72 73 6f 72 20 6d 6f 76 65 73 20 62 61 63 6b 20 61 ior.when.the.cursor.moves.back.a
29200 6e 64 20 66 6f 72 74 68 20 61 63 72 6f 73 73 20 74 68 65 0d 23 20 61 6e 63 68 6f 72 2e 0d 23 0d nd.forth.across.the.#.anchor..#.
29220 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 64 #.Arguments:.#.w.-..The.text.wid
29240 67 65 74 2e 0d 23 20 69 6e 64 65 78 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 get..#.index.-.Position.at.which
29260 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 65 73 73 65 64 2c 20 77 68 69 63 68 .mouse.button.was.pressed,.which
29280 20 64 65 74 65 72 6d 69 6e 65 73 0d 23 09 09 77 68 69 63 68 20 65 6e 64 20 6f 66 20 73 65 6c 65 .determines.#..which.end.of.sele
292a0 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 61 73 20 61 6e 63 68 6f 72 20 70 ction.should.be.used.as.anchor.p
292c0 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 52 65 73 65 74 41 6e 63 68 6f 72 20 7b 77 oint...proc.tkTextResetAnchor.{w
292e0 20 69 6e 64 65 78 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 .index}.{.....global.tkPriv.....
29300 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 74 61 67 20 72 61 6e 67 65 .if.{[string.equal.[$w.tag.range
29320 73 20 73 65 6c 5d 20 22 22 5d 7d 20 7b 0d 09 23 20 44 6f 6e 27 74 20 6d 6f 76 65 20 74 68 65 20 s.sel].""]}.{..#.Don't.move.the.
29340 61 6e 63 68 6f 72 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 65 6c 65 63 74 69 6f 6e 20 anchor.if.there.is.no.selection.
29360 6e 6f 77 3b 20 74 68 69 73 20 6d 61 6b 65 73 0d 09 23 20 74 68 65 20 77 69 64 67 65 74 20 62 65 now;.this.makes..#.the.widget.be
29380 68 61 76 65 20 22 63 6f 72 72 65 63 74 6c 79 22 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 63 have."correctly".when.the.user.c
293a0 6c 69 63 6b 73 20 6f 6e 63 65 2c 20 74 68 65 6e 0d 09 23 20 73 68 69 66 74 2d 63 6c 69 63 6b 73 licks.once,.then..#.shift-clicks
293c0 20 73 6f 6d 65 77 68 65 72 65 20 2d 2d 20 69 65 2c 20 74 68 65 20 61 72 65 61 20 62 65 74 77 65 .somewhere.--.ie,.the.area.betwe
293e0 65 6e 20 74 68 65 20 74 77 6f 20 63 6c 69 63 6b 73 20 77 69 6c 6c 20 62 65 0d 09 23 20 73 65 6c en.the.two.clicks.will.be..#.sel
29400 65 63 74 65 64 2e 20 5b 42 75 67 3a 20 35 39 32 39 5d 2e 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 ected..[Bug:.5929]...return.....
29420 7d 0d 20 20 20 20 73 65 74 20 61 20 5b 24 77 20 69 6e 64 65 78 20 24 69 6e 64 65 78 5d 0d 20 20 }.....set.a.[$w.index.$index]...
29440 20 20 73 65 74 20 62 20 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 66 69 72 73 74 5d 0d 20 20 20 ..set.b.[$w.index.sel.first]....
29460 20 73 65 74 20 63 20 5b 24 77 20 69 6e 64 65 78 20 73 65 6c 2e 6c 61 73 74 5d 0d 20 20 20 20 69 .set.c.[$w.index.sel.last].....i
29480 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 61 20 3c 20 24 62 5d 7d 20 7b 0d 09 24 77 20 6d f.{[$w.compare.$a.<.$b]}.{..$w.m
294a0 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 6c 61 73 74 0d 09 72 65 74 75 72 6e 0d ark.set.anchor.sel.last..return.
294c0 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 61 20 3e 20 24 ....}.....if.{[$w.compare.$a.>.$
294e0 63 5d 7d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 c]}.{..$w.mark.set.anchor.sel.fi
29500 72 73 74 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 73 63 61 6e 20 24 61 20 22 25 rst..return.....}.....scan.$a."%
29520 64 2e 25 64 22 20 6c 69 6e 65 41 20 63 68 41 0d 20 20 20 20 73 63 61 6e 20 24 62 20 22 25 64 2e d.%d".lineA.chA.....scan.$b."%d.
29540 25 64 22 20 6c 69 6e 65 42 20 63 68 42 0d 20 20 20 20 73 63 61 6e 20 24 63 20 22 25 64 2e 25 64 %d".lineB.chB.....scan.$c."%d.%d
29560 22 20 6c 69 6e 65 43 20 63 68 43 0d 20 20 20 20 69 66 20 7b 24 6c 69 6e 65 42 20 3c 20 24 6c 69 ".lineC.chC.....if.{$lineB.<.$li
29580 6e 65 43 2b 32 7d 20 7b 0d 09 73 65 74 20 74 6f 74 61 6c 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 neC+2}.{..set.total.[string.leng
295a0 74 68 20 5b 24 77 20 67 65 74 20 24 62 20 24 63 5d 5d 0d 09 69 66 20 7b 24 74 6f 74 61 6c 20 3c th.[$w.get.$b.$c]]..if.{$total.<
295c0 3d 20 32 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 0d 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 =.2}.{......return..}..if.{[stri
295e0 6e 67 20 6c 65 6e 67 74 68 20 5b 24 77 20 67 65 74 20 24 62 20 24 61 5d 5d 20 3c 20 28 24 74 6f ng.length.[$w.get.$b.$a]].<.($to
29600 74 61 6c 2f 32 29 7d 20 7b 0d 09 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f tal/2)}.{......$w.mark.set.ancho
29620 72 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 24 77 20 6d 61 72 r.sel.last..}.else.{......$w.mar
29640 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 73 74 0d 09 7d 0d 09 72 65 74 75 72 k.set.anchor.sel.first..}..retur
29660 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 28 24 6c 69 6e 65 41 2d 24 6c 69 6e 65 42 29 20 n.....}.....if.{($lineA-$lineB).
29680 3c 20 28 24 6c 69 6e 65 43 2d 24 6c 69 6e 65 41 29 7d 20 7b 0d 09 24 77 20 6d 61 72 6b 20 73 65 <.($lineC-$lineA)}.{..$w.mark.se
296a0 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 t.anchor.sel.last.....}.else.{..
296c0 24 77 20 6d 61 72 6b 20 73 65 74 20 61 6e 63 68 6f 72 20 73 65 6c 2e 66 69 72 73 74 0d 20 20 20 $w.mark.set.anchor.sel.first....
296e0 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 2d 2d 0d 23 20 49 6e 73 65 72 74 .}.}..#.tkTextInsert.--.#.Insert
29700 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 74 65 78 74 20 61 74 20 74 68 65 20 70 6f 69 .a.string.into.a.text.at.the.poi
29720 6e 74 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2e 0d 23 20 49 66 nt.of.the.insertion.cursor..#.If
29740 20 74 68 65 72 65 20 69 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 74 65 78 .there.is.a.selection.in.the.tex
29760 74 2c 20 61 6e 64 20 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 t,.and.it.covers.the.point.of.th
29780 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 68 65 6e 20 64 65 6c 65 74 e.#.insertion.cursor,.then.delet
297a0 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 69 6e 67 e.the.selection.before.inserting
297c0 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 ..#.#.Arguments:.#.w.-..The.text
297e0 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 73 .window.in.which.to.insert.the.s
29800 74 72 69 6e 67 0d 23 20 73 20 2d 09 09 54 68 65 20 73 74 72 69 6e 67 20 74 6f 20 69 6e 73 65 72 tring.#.s.-..The.string.to.inser
29820 74 20 28 75 73 75 61 6c 6c 79 20 6a 75 73 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 t.(usually.just.a.single.charact
29840 65 72 29 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 49 6e 73 65 72 74 20 7b 77 20 73 7d 20 7b 0d 20 er)..proc.tkTextInsert.{w.s}.{..
29860 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 73 20 22 22 5d 20 7c 7c 20 5b ...if.{[string.equal.$s.""].||.[
29880 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 24 77 20 63 67 65 74 20 2d 73 74 61 74 65 5d 20 22 64 string.equal.[$w.cget.-state]."d
298a0 69 73 61 62 6c 65 64 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 63 isabled"]}.{..return.....}.....c
298c0 61 74 63 68 20 7b 0d 09 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e 66 69 72 73 atch.{..if.{[$w.compare.sel.firs
298e0 74 20 3c 3d 20 69 6e 73 65 72 74 5d 20 5c 0d 09 09 26 26 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 t.<=.insert].\...&&.[$w.compare.
29900 73 65 6c 2e 6c 61 73 74 20 3e 3d 20 69 6e 73 65 72 74 5d 7d 20 7b 0d 09 20 20 20 20 24 77 20 64 sel.last.>=.insert]}.{......$w.d
29920 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d 20 20 20 20 elete.sel.first.sel.last..}.....
29940 7d 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 73 0d 20 20 20 20 24 77 }.....$w.insert.insert.$s.....$w
29960 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e .see.insert.}..#.tkTextUpDownLin
29980 65 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 e.--.#.Returns.the.index.of.the.
299a0 63 68 61 72 61 63 74 65 72 20 6f 6e 65 20 6c 69 6e 65 20 61 62 6f 76 65 20 6f 72 20 62 65 6c 6f character.one.line.above.or.belo
299c0 77 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2e 20 20 54 68 65 72 65 w.the.#.insertion.cursor...There
299e0 20 61 72 65 20 74 77 6f 20 74 72 69 63 6b 79 20 74 68 69 6e 67 73 20 68 65 72 65 2e 20 20 46 69 .are.two.tricky.things.here...Fi
29a00 72 73 74 2c 0d 23 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 6f rst,.#.we.want.to.maintain.the.o
29a20 72 69 67 69 6e 61 6c 20 63 6f 6c 75 6d 6e 20 61 63 72 6f 73 73 20 72 65 70 65 61 74 65 64 20 6f riginal.column.across.repeated.o
29a40 70 65 72 61 74 69 6f 6e 73 2c 0d 23 20 65 76 65 6e 20 74 68 6f 75 67 68 20 73 6f 6d 65 20 6c 69 perations,.#.even.though.some.li
29a60 6e 65 73 20 74 68 61 74 20 77 69 6c 6c 20 67 65 74 20 70 61 73 73 65 64 20 74 68 72 6f 75 67 68 nes.that.will.get.passed.through
29a80 20 64 6f 6e 27 74 20 68 61 76 65 0d 23 20 65 6e 6f 75 67 68 20 63 68 61 72 61 63 74 65 72 73 20 .don't.have.#.enough.characters.
29aa0 74 6f 20 63 6f 76 65 72 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6c 75 6d 6e 2e 20 20 53 to.cover.the.original.column...S
29ac0 65 63 6f 6e 64 2c 20 64 6f 6e 27 74 0d 23 20 74 72 79 20 74 6f 20 73 63 72 6f 6c 6c 20 70 61 73 econd,.don't.#.try.to.scroll.pas
29ae0 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 72 20 65 6e 64 20 6f 66 20 74 68 65 20 74 65 t.the.beginning.or.end.of.the.te
29b00 78 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 xt..#.#.Arguments:.#.w.-..The.te
29b20 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 xt.window.in.which.the.cursor.is
29b40 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 6e 20 2d 09 09 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c .to.move..#.n.-..The.number.of.l
29b60 69 6e 65 73 20 74 6f 20 6d 6f 76 65 3a 20 2d 31 20 66 6f 72 20 75 70 20 6f 6e 65 20 6c 69 6e 65 ines.to.move:.-1.for.up.one.line
29b80 2c 0d 23 09 09 2b 31 20 66 6f 72 20 64 6f 77 6e 20 6f 6e 65 20 6c 69 6e 65 2e 0d 0d 70 72 6f 63 ,.#..+1.for.down.one.line...proc
29ba0 20 74 6b 54 65 78 74 55 70 44 6f 77 6e 4c 69 6e 65 20 7b 77 20 6e 7d 20 7b 0d 20 20 20 20 67 6c .tkTextUpDownLine.{w.n}.{.....gl
29bc0 6f 62 61 6c 20 74 6b 50 72 69 76 0d 0d 20 20 20 20 73 65 74 20 69 20 5b 24 77 20 69 6e 64 65 78 obal.tkPriv......set.i.[$w.index
29be0 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 73 63 61 6e 20 24 69 20 22 25 64 2e 25 64 22 20 6c 69 6e .insert].....scan.$i."%d.%d".lin
29c00 65 20 63 68 61 72 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 e.char.....if.{[string.compare.$
29c20 74 6b 50 72 69 76 28 70 72 65 76 50 6f 73 29 20 24 69 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 tkPriv(prevPos).$i]}.{..set.tkPr
29c40 69 76 28 63 68 61 72 29 20 24 63 68 61 72 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 iv(char).$char.....}.....set.new
29c60 20 5b 24 77 20 69 6e 64 65 78 20 5b 65 78 70 72 20 7b 24 6c 69 6e 65 20 2b 20 24 6e 7d 5d 2e 24 .[$w.index.[expr.{$line.+.$n}].$
29c80 74 6b 50 72 69 76 28 63 68 61 72 29 5d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 tkPriv(char)].....if.{[$w.compar
29ca0 65 20 24 6e 65 77 20 3d 3d 20 65 6e 64 5d 20 7c 7c 20 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 6e e.$new.==.end].||.[$w.compare.$n
29cc0 65 77 20 3d 3d 20 22 69 6e 73 65 72 74 20 6c 69 6e 65 73 74 61 72 74 22 5d 7d 20 7b 0d 09 73 65 ew.==."insert.linestart"]}.{..se
29ce0 74 20 6e 65 77 20 24 69 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 6b 50 72 69 76 28 70 72 t.new.$i.....}.....set.tkPriv(pr
29d00 65 76 50 6f 73 29 20 24 6e 65 77 0d 20 20 20 20 72 65 74 75 72 6e 20 24 6e 65 77 0d 7d 0d 0d 23 evPos).$new.....return.$new.}..#
29d20 20 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 .tkTextPrevPara.--.#.Returns.the
29d40 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 70 .index.of.the.beginning.of.the.p
29d60 61 72 61 67 72 61 70 68 20 6a 75 73 74 20 62 65 66 6f 72 65 20 61 20 67 69 76 65 6e 0d 23 20 70 aragraph.just.before.a.given.#.p
29d80 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 74 65 78 74 20 28 74 68 65 20 62 65 67 69 6e 6e 69 osition.in.the.text.(the.beginni
29da0 6e 67 20 6f 66 20 61 20 70 61 72 61 67 72 61 70 68 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6e ng.of.a.paragraph.is.the.first.n
29dc0 6f 6e 2d 62 6c 61 6e 6b 0d 23 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 61 20 62 6c 61 on-blank.#.character.after.a.bla
29de0 6e 6b 20 6c 69 6e 65 29 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 nk.line)..#.#.Arguments:.#.w.-..
29e00 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 The.text.window.in.which.the.cur
29e20 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 70 6f 73 20 2d 09 09 50 6f 73 69 74 69 6f sor.is.to.move..#.pos.-..Positio
29e40 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 70 72 6f n.at.which.to.start.search...pro
29e60 63 20 74 6b 54 65 78 74 50 72 65 76 50 61 72 61 20 7b 77 20 70 6f 73 7d 20 7b 0d 20 20 20 20 73 c.tkTextPrevPara.{w.pos}.{.....s
29e80 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 6c 69 6e 65 73 74 61 72 74 et.pos.[$w.index."$pos.linestart
29ea0 22 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 31 7d 20 7b 0d 09 69 66 20 7b 28 5b 73 74 72 69 6e 67 "].....while.{1}.{..if.{([string
29ec0 20 65 71 75 61 6c 20 5b 24 77 20 67 65 74 20 22 24 70 6f 73 20 2d 20 31 20 6c 69 6e 65 22 5d 20 .equal.[$w.get."$pos.-.1.line"].
29ee0 22 5c 6e 22 5d 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 24 77 "\n"].\...&&.[string.compare.[$w
29f00 20 67 65 74 20 24 70 6f 73 5d 20 22 5c 6e 22 5d 29 20 5c 0d 09 09 7c 7c 20 5b 73 74 72 69 6e 67 .get.$pos]."\n"]).\...||.[string
29f20 20 65 71 75 61 6c 20 24 70 6f 73 20 22 31 2e 30 22 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b .equal.$pos."1.0"]}.{......if.{[
29f40 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 7b 5e 5b 20 09 5d 2b 28 2e 29 7d 20 5b 24 77 20 regexp.-indices.{^[..]+(.)}.[$w.
29f60 67 65 74 20 24 70 6f 73 20 22 24 70 6f 73 20 6c 69 6e 65 65 6e 64 22 5d 20 5c 0d 09 09 20 20 20 get.$pos."$pos.lineend"].\......
29f80 20 64 75 6d 6d 79 20 69 6e 64 65 78 5d 7d 20 7b 0d 09 09 73 65 74 20 70 6f 73 20 5b 24 77 20 69 .dummy.index]}.{...set.pos.[$w.i
29fa0 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 5b 6c 69 6e 64 65 78 20 24 69 6e 64 65 78 20 30 5d 20 63 ndex."$pos.+.[lindex.$index.0].c
29fc0 68 61 72 73 22 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 hars"]......}......if.{[$w.compa
29fe0 72 65 20 24 70 6f 73 20 21 3d 20 69 6e 73 65 72 74 5d 20 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 re.$pos.!=.insert].||.[string.eq
2a000 75 61 6c 20 24 70 6f 73 20 31 2e 30 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 70 6f 73 0d 09 ual.$pos.1.0]}.{...return.$pos..
2a020 20 20 20 20 7d 0d 09 7d 0d 09 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f ....}..}..set.pos.[$w.index."$po
2a040 73 20 2d 20 31 20 6c 69 6e 65 22 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4e 65 s.-.1.line"].....}.}..#.tkTextNe
2a060 78 74 50 61 72 61 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 xtPara.--.#.Returns.the.index.of
2a080 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 70 61 72 61 67 72 61 70 68 20 .the.beginning.of.the.paragraph.
2a0a0 6a 75 73 74 20 61 66 74 65 72 20 61 20 67 69 76 65 6e 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 6e just.after.a.given.#.position.in
2a0c0 20 74 68 65 20 74 65 78 74 20 28 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 61 20 70 61 .the.text.(the.beginning.of.a.pa
2a0e0 72 61 67 72 61 70 68 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 62 6c 61 6e 6b 0d 23 ragraph.is.the.first.non-blank.#
2a100 20 63 68 61 72 61 63 74 65 72 20 61 66 74 65 72 20 61 20 62 6c 61 6e 6b 20 6c 69 6e 65 29 2e 0d .character.after.a.blank.line)..
2a120 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 #.#.Arguments:.#.w.-..The.text.w
2a140 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 indow.in.which.the.cursor.is.to.
2a160 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 move..#.start.-.Position.at.whic
2a180 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 4e h.to.start.search...proc.tkTextN
2a1a0 65 78 74 50 61 72 61 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 extPara.{w.start}.{.....set.pos.
2a1c0 5b 24 77 20 69 6e 64 65 78 20 22 24 73 74 61 72 74 20 6c 69 6e 65 73 74 61 72 74 20 2b 20 31 20 [$w.index."$start.linestart.+.1.
2a1e0 6c 69 6e 65 22 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 line"].....while.{[string.compar
2a200 65 20 5b 24 77 20 67 65 74 20 24 70 6f 73 5d 20 22 5c 6e 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 24 e.[$w.get.$pos]."\n"]}.{..if.{[$
2a220 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 3d 3d 20 65 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 72 w.compare.$pos.==.end]}.{......r
2a240 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 65 6e 64 20 2d 20 31 63 22 5d 0d 09 7d 0d 09 eturn.[$w.index."end.-.1c"]..}..
2a260 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 6c 69 6e 65 set.pos.[$w.index."$pos.+.1.line
2a280 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 "].....}.....while.{[string.equa
2a2a0 6c 20 5b 24 77 20 67 65 74 20 24 70 6f 73 5d 20 22 5c 6e 22 5d 7d 20 7b 0d 09 73 65 74 20 70 6f l.[$w.get.$pos]."\n"]}.{..set.po
2a2c0 73 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 31 20 6c 69 6e 65 22 5d 0d 09 69 66 s.[$w.index."$pos.+.1.line"]..if
2a2e0 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 3d 3d 20 65 6e 64 5d 7d 20 7b 0d 09 20 .{[$w.compare.$pos.==.end]}.{...
2a300 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 65 6e 64 20 2d 20 31 63 22 5d 0d ...return.[$w.index."end.-.1c"].
2a320 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 .}.....}.....if.{[regexp.-indice
2a340 73 20 7b 5e 5b 20 09 5d 2b 28 2e 29 7d 20 5b 24 77 20 67 65 74 20 24 70 6f 73 20 22 24 70 6f 73 s.{^[..]+(.)}.[$w.get.$pos."$pos
2a360 20 6c 69 6e 65 65 6e 64 22 5d 20 5c 0d 09 20 20 20 20 64 75 6d 6d 79 20 69 6e 64 65 78 5d 7d 20 .lineend"].\......dummy.index]}.
2a380 7b 0d 09 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 24 70 6f 73 20 2b 20 5b 6c 69 6e {..return.[$w.index."$pos.+.[lin
2a3a0 64 65 78 20 24 69 6e 64 65 78 20 30 5d 20 63 68 61 72 73 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 dex.$index.0].chars"].....}.....
2a3c0 72 65 74 75 72 6e 20 24 70 6f 73 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 53 63 72 6f 6c 6c 50 61 67 return.$pos.}..#.tkTextScrollPag
2a3e0 65 73 20 2d 2d 0d 23 20 54 68 69 73 20 69 73 20 61 20 75 74 69 6c 69 74 79 20 70 72 6f 63 65 64 es.--.#.This.is.a.utility.proced
2a400 75 72 65 20 75 73 65 64 20 69 6e 20 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 6f 76 69 6e 67 20 ure.used.in.bindings.for.moving.
2a420 75 70 20 61 6e 64 20 64 6f 77 6e 0d 23 20 70 61 67 65 73 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 up.and.down.#.pages.and.possibly
2a440 20 65 78 74 65 6e 64 69 6e 67 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6c 6f 6e 67 20 74 .extending.the.selection.along.t
2a460 68 65 20 77 61 79 2e 20 20 49 74 20 73 63 72 6f 6c 6c 73 0d 23 20 74 68 65 20 76 69 65 77 20 69 he.way...It.scrolls.#.the.view.i
2a480 6e 20 74 68 65 20 77 69 64 67 65 74 20 62 79 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 n.the.widget.by.the.number.of.pa
2a4a0 67 65 73 2c 20 61 6e 64 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 0d 23 20 69 6e 64 65 78 20 ges,.and.it.returns.the.#.index.
2a4c0 6f 66 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 74 68 61 74 20 69 73 20 61 74 20 74 68 65 20 of.the.character.that.is.at.the.
2a4e0 73 61 6d 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 6e 65 77 20 76 69 65 77 0d 23 20 same.position.in.the.new.view.#.
2a500 61 73 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 75 73 65 64 20 74 6f 20 as.the.insertion.cursor.used.to.
2a520 62 65 20 69 6e 20 74 68 65 20 6f 6c 64 20 76 69 65 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 be.in.the.old.view..#.#.Argument
2a540 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 s:.#.w.-..The.text.window.in.whi
2a560 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 63 6f 75 6e ch.the.cursor.is.to.move..#.coun
2a580 74 20 2d 09 4e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20 66 6f 72 77 61 72 64 20 74 6f 20 73 t.-.Number.of.pages.forward.to.s
2a5a0 63 72 6f 6c 6c 3b 20 20 6d 61 79 20 62 65 20 6e 65 67 61 74 69 76 65 0d 23 09 09 74 6f 20 73 63 croll;..may.be.negative.#..to.sc
2a5c0 72 6f 6c 6c 20 62 61 63 6b 77 61 72 64 73 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 53 63 72 6f roll.backwards...proc.tkTextScro
2a5e0 6c 6c 50 61 67 65 73 20 7b 77 20 63 6f 75 6e 74 7d 20 7b 0d 20 20 20 20 73 65 74 20 62 62 6f 78 llPages.{w.count}.{.....set.bbox
2a600 20 5b 24 77 20 62 62 6f 78 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 24 77 20 79 76 69 65 77 20 73 .[$w.bbox.insert].....$w.yview.s
2a620 63 72 6f 6c 6c 20 24 63 6f 75 6e 74 20 70 61 67 65 73 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 croll.$count.pages.....if.{[stri
2a640 6e 67 20 65 71 75 61 6c 20 24 62 62 6f 78 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 24 ng.equal.$bbox.""]}.{..return.[$
2a660 77 20 69 6e 64 65 78 20 40 5b 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 68 65 69 67 68 74 20 24 77 w.index.@[expr.{[winfo.height.$w
2a680 5d 2f 32 7d 5d 2c 30 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e ]/2}],0].....}.....return.[$w.in
2a6a0 64 65 78 20 40 5b 6c 69 6e 64 65 78 20 24 62 62 6f 78 20 30 5d 2c 5b 6c 69 6e 64 65 78 20 24 62 dex.@[lindex.$bbox.0],[lindex.$b
2a6c0 62 6f 78 20 31 5d 5d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 54 72 61 6e 73 70 6f 73 65 20 2d 2d 0d box.1]].}..#.tkTextTranspose.--.
2a6e0 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68 65 20 #.This.procedure.implements.the.
2a700 22 74 72 61 6e 73 70 6f 73 65 22 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 65 78 74 20 77 69 "transpose".function.for.text.wi
2a720 64 67 65 74 73 2e 0d 23 20 49 74 20 74 72 61 6e 70 6f 73 65 73 20 74 68 65 20 63 68 61 72 61 63 dgets..#.It.tranposes.the.charac
2a740 74 65 72 73 20 6f 6e 20 65 69 74 68 65 72 20 73 69 64 65 20 6f 66 20 74 68 65 20 69 6e 73 65 72 ters.on.either.side.of.the.inser
2a760 74 69 6f 6e 20 63 75 72 73 6f 72 2c 0d 23 20 75 6e 6c 65 73 73 20 74 68 65 20 63 75 72 73 6f 72 tion.cursor,.#.unless.the.cursor
2a780 20 69 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 20 49 6e 20 .is.at.the.end.of.the.line...In.
2a7a0 74 68 69 73 20 63 61 73 65 20 69 74 0d 23 20 74 72 61 6e 73 70 6f 73 65 73 20 74 68 65 20 74 77 this.case.it.#.transposes.the.tw
2a7c0 6f 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 o.characters.to.the.left.of.the.
2a7e0 63 75 72 73 6f 72 2e 20 20 49 6e 20 65 69 74 68 65 72 0d 23 20 63 61 73 65 2c 20 74 68 65 20 63 cursor...In.either.#.case,.the.c
2a800 75 72 73 6f 72 20 65 6e 64 73 20 75 70 20 74 6f 20 74 68 65 20 72 69 67 68 74 20 6f 66 20 74 68 ursor.ends.up.to.the.right.of.th
2a820 65 20 74 72 61 6e 73 70 6f 73 65 64 20 63 68 61 72 61 63 74 65 72 73 2e 0d 23 0d 23 20 41 72 67 e.transposed.characters..#.#.Arg
2a840 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 uments:.#.w.-..Text.window.in.wh
2a860 69 63 68 20 74 6f 20 74 72 61 6e 73 70 6f 73 65 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 54 72 ich.to.transpose...proc.tkTextTr
2a880 61 6e 73 70 6f 73 65 20 77 20 7b 0d 20 20 20 20 73 65 74 20 70 6f 73 20 69 6e 73 65 72 74 0d 20 anspose.w.{.....set.pos.insert..
2a8a0 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 70 6f 73 20 21 3d 20 22 24 70 6f 73 ...if.{[$w.compare.$pos.!=."$pos
2a8c0 20 6c 69 6e 65 65 6e 64 22 5d 7d 20 7b 0d 09 73 65 74 20 70 6f 73 20 5b 24 77 20 69 6e 64 65 78 .lineend"]}.{..set.pos.[$w.index
2a8e0 20 22 24 70 6f 73 20 2b 20 31 20 63 68 61 72 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 ."$pos.+.1.char"].....}.....set.
2a900 6e 65 77 20 5b 24 77 20 67 65 74 20 22 24 70 6f 73 20 2d 20 31 20 63 68 61 72 22 5d 5b 24 77 20 new.[$w.get."$pos.-.1.char"][$w.
2a920 67 65 74 20 20 22 24 70 6f 73 20 2d 20 32 20 63 68 61 72 22 5d 0d 20 20 20 20 69 66 20 7b 5b 24 get.."$pos.-.2.char"].....if.{[$
2a940 77 20 63 6f 6d 70 61 72 65 20 22 24 70 6f 73 20 2d 20 31 20 63 68 61 72 22 20 3d 3d 20 31 2e 30 w.compare."$pos.-.1.char".==.1.0
2a960 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 20 64 65 6c 65 74 65 ]}.{..return.....}.....$w.delete
2a980 20 22 24 70 6f 73 20 2d 20 32 20 63 68 61 72 22 20 24 70 6f 73 0d 20 20 20 20 24 77 20 69 6e 73 ."$pos.-.2.char".$pos.....$w.ins
2a9a0 65 72 74 20 69 6e 73 65 72 74 20 24 6e 65 77 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 ert.insert.$new.....$w.see.inser
2a9c0 74 0d 7d 0d 0d 23 20 74 6b 5f 74 65 78 74 43 6f 70 79 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f t.}..#.tk_textCopy.--.#.This.pro
2a9e0 63 65 64 75 72 65 20 63 6f 70 69 65 73 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 66 72 6f 6d cedure.copies.the.selection.from
2aa00 20 61 20 74 65 78 74 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 68 65 0d 23 20 63 6c 69 70 62 6f .a.text.widget.into.the.#.clipbo
2aa20 61 72 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 4e 61 6d 65 20 ard..#.#.Arguments:.#.w.-..Name.
2aa40 6f 66 20 61 20 74 65 78 74 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 74 6b 5f 74 65 78 74 43 of.a.text.widget...proc.tk_textC
2aa60 6f 70 79 20 77 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 opy.w.{.....if.{![catch.{set.dat
2aa80 61 20 5b 24 77 20 67 65 74 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d a.[$w.get.sel.first.sel.last]}]}
2aaa0 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 .{..clipboard.clear.-displayof.$
2aac0 77 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 w..clipboard.append.-displayof.$
2aae0 77 20 24 64 61 74 61 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 5f 74 65 78 74 43 75 74 20 2d 2d w.$data.....}.}..#.tk_textCut.--
2ab00 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6f 70 69 65 73 20 74 68 65 20 73 65 6c .#.This.procedure.copies.the.sel
2ab20 65 63 74 69 6f 6e 20 66 72 6f 6d 20 61 20 74 65 78 74 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 ection.from.a.text.widget.into.t
2ab40 68 65 0d 23 20 63 6c 69 70 62 6f 61 72 64 2c 20 74 68 65 6e 20 64 65 6c 65 74 65 73 20 74 68 65 he.#.clipboard,.then.deletes.the
2ab60 20 73 65 6c 65 63 74 69 6f 6e 20 28 69 66 20 69 74 20 65 78 69 73 74 73 20 69 6e 20 74 68 65 20 .selection.(if.it.exists.in.the.
2ab80 67 69 76 65 6e 0d 23 20 77 69 64 67 65 74 29 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d given.#.widget)..#.#.Arguments:.
2aba0 23 20 77 20 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 74 65 78 74 20 77 69 64 67 65 74 2e 0d 0d 70 #.w.-..Name.of.a.text.widget...p
2abc0 72 6f 63 20 74 6b 5f 74 65 78 74 43 75 74 20 77 20 7b 0d 20 20 20 20 69 66 20 7b 21 5b 63 61 74 roc.tk_textCut.w.{.....if.{![cat
2abe0 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 24 77 20 67 65 74 20 73 65 6c 2e 66 69 72 73 74 20 73 ch.{set.data.[$w.get.sel.first.s
2ac00 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b 0d 09 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d el.last]}]}.{..clipboard.clear.-
2ac20 64 69 73 70 6c 61 79 6f 66 20 24 77 0d 09 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d displayof.$w..clipboard.append.-
2ac40 64 69 73 70 6c 61 79 6f 66 20 24 77 20 24 64 61 74 61 0d 09 24 77 20 64 65 6c 65 74 65 20 73 65 displayof.$w.$data..$w.delete.se
2ac60 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 5f 74 l.first.sel.last.....}.}..#.tk_t
2ac80 65 78 74 50 61 73 74 65 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 61 73 extPaste.--.#.This.procedure.pas
2aca0 74 65 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 63 6c 69 70 62 6f 61 72 tes.the.contents.of.the.clipboar
2acc0 64 20 74 6f 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 0d 23 20 70 6f 69 6e 74 20 69 6e 20 61 20 d.to.the.insertion.#.point.in.a.
2ace0 74 65 78 74 20 77 69 64 67 65 74 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 text.widget..#.#.Arguments:.#.w.
2ad00 2d 09 09 4e 61 6d 65 20 6f 66 20 61 20 74 65 78 74 20 77 69 64 67 65 74 2e 0d 0d 70 72 6f 63 20 -..Name.of.a.text.widget...proc.
2ad20 74 6b 5f 74 65 78 74 50 61 73 74 65 20 77 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f tk_textPaste.w.{.....global.tcl_
2ad40 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e platform.....catch.{..if.{[strin
2ad60 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d g.compare.$tcl_platform(platform
2ad80 29 20 22 75 6e 69 78 22 5d 7d 20 7b 0d 09 20 20 20 20 63 61 74 63 68 20 7b 0d 09 09 24 77 20 64 )."unix"]}.{......catch.{...$w.d
2ada0 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 20 20 20 20 7d 0d elete.sel.first.sel.last......}.
2adc0 09 7d 0d 09 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 5b 73 65 6c 65 63 74 69 6f 6e 20 .}..$w.insert.insert.[selection.
2ade0 67 65 74 20 2d 64 69 73 70 6c 61 79 6f 66 20 24 77 20 2d 73 65 6c 65 63 74 69 6f 6e 20 43 4c 49 get.-displayof.$w.-selection.CLI
2ae00 50 42 4f 41 52 44 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 PBOARD].....}.}..#.tkTextNextWor
2ae20 64 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 d.--.#.Returns.the.index.of.the.
2ae40 6e 65 78 74 20 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 61 20 67 69 76 65 6e next.word.position.after.a.given
2ae60 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 0d 23 20 74 65 78 74 2e 20 20 54 68 65 20 6e 65 .position.in.the.#.text...The.ne
2ae80 78 74 20 77 6f 72 64 20 69 73 20 70 6c 61 74 66 6f 72 6d 20 64 65 70 65 6e 64 65 6e 74 20 61 6e xt.word.is.platform.dependent.an
2aea0 64 20 6d 61 79 20 62 65 20 65 69 74 68 65 72 20 74 68 65 20 6e 65 78 74 0d 23 20 65 6e 64 2d 6f d.may.be.either.the.next.#.end-o
2aec0 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 6f 72 20 74 68 65 20 6e 65 78 74 20 73 74 61 72 f-word.position.or.the.next.star
2aee0 74 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 6e 65 78 t-of-word.position.after.the.nex
2af00 74 0d 23 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 70 6f 73 69 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 t.#.end-of-word.position..#.#.Ar
2af20 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 guments:.#.w.-..The.text.window.
2af40 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d in.which.the.cursor.is.to.move..
2af60 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 #.start.-.Position.at.which.to.s
2af80 74 61 72 74 20 73 65 61 72 63 68 2e 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 tart.search...if.{[string.equal.
2afa0 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 $tcl_platform(platform)."windows
2afc0 22 5d 7d 20 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 54 65 78 74 4e 65 78 74 57 6f 72 64 20 7b "]}..{.....proc.tkTextNextWord.{
2afe0 77 20 73 74 61 72 74 7d 20 7b 0d 09 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 5b 74 6b w.start}.{..tkTextNextPos.$w.[tk
2b000 54 65 78 74 4e 65 78 74 50 6f 73 20 24 77 20 24 73 74 61 72 74 20 74 63 6c 5f 65 6e 64 4f 66 57 TextNextPos.$w.$start.tcl_endOfW
2b020 6f 72 64 5d 20 5c 0d 09 20 20 20 20 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 74 57 6f 72 64 0d ord].\......tcl_startOfNextWord.
2b040 20 20 20 20 7d 0d 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 70 72 6f 63 20 74 6b 54 65 78 74 4e 65 ....}.}.else.{.....proc.tkTextNe
2b060 78 74 57 6f 72 64 20 7b 77 20 73 74 61 72 74 7d 20 7b 0d 09 74 6b 54 65 78 74 4e 65 78 74 50 6f xtWord.{w.start}.{..tkTextNextPo
2b080 73 20 24 77 20 24 73 74 61 72 74 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 0d 20 20 20 20 7d 0d s.$w.$start.tcl_endOfWord.....}.
2b0a0 7d 0d 0d 23 20 74 6b 54 65 78 74 4e 65 78 74 50 6f 73 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 }..#.tkTextNextPos.--.#.Returns.
2b0c0 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6e 65 78 74 20 70 6f 73 69 74 69 6f 6e 20 61 the.index.of.the.next.position.a
2b0e0 66 74 65 72 20 74 68 65 20 67 69 76 65 6e 20 73 74 61 72 74 69 6e 67 0d 23 20 70 6f 73 69 74 69 fter.the.given.starting.#.positi
2b100 6f 6e 20 69 6e 20 74 68 65 20 74 65 78 74 20 61 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 20 on.in.the.text.as.computed.by.a.
2b120 73 70 65 63 69 66 69 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 specified.function..#.#.Argument
2b140 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 s:.#.w.-..The.text.window.in.whi
2b160 63 68 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 ch.the.cursor.is.to.move..#.star
2b180 74 20 2d 09 50 6f 73 69 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 20 73 t.-.Position.at.which.to.start.s
2b1a0 65 61 72 63 68 2e 0d 23 20 6f 70 20 2d 09 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 74 earch..#.op.-..Function.to.use.t
2b1c0 6f 20 66 69 6e 64 20 6e 65 78 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 o.find.next.position...proc.tkTe
2b1e0 78 74 4e 65 78 74 50 6f 73 20 7b 77 20 73 74 61 72 74 20 6f 70 7d 20 7b 0d 20 20 20 20 73 65 74 xtNextPos.{w.start.op}.{.....set
2b200 20 74 65 78 74 20 22 22 0d 20 20 20 20 73 65 74 20 63 75 72 20 24 73 74 61 72 74 0d 20 20 20 20 .text."".....set.cur.$start.....
2b220 77 68 69 6c 65 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3c 20 65 6e 64 5d 7d 20 while.{[$w.compare.$cur.<.end]}.
2b240 7b 0d 09 73 65 74 20 74 65 78 74 20 24 74 65 78 74 5b 24 77 20 67 65 74 20 24 63 75 72 20 22 24 {..set.text.$text[$w.get.$cur."$
2b260 63 75 72 20 6c 69 6e 65 65 6e 64 20 2b 20 31 63 22 5d 0d 09 73 65 74 20 70 6f 73 20 5b 24 6f 70 cur.lineend.+.1c"]..set.pos.[$op
2b280 20 24 74 65 78 74 20 30 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 .$text.0]..if.{$pos.>=.0}.{.....
2b2a0 20 23 23 20 41 64 6a 75 73 74 20 66 6f 72 20 65 6d 62 65 64 64 65 64 20 77 69 6e 64 6f 77 73 20 .##.Adjust.for.embedded.windows.
2b2c0 61 6e 64 20 69 6d 61 67 65 73 0d 09 20 20 20 20 23 23 20 64 75 6d 70 20 67 69 76 65 73 20 75 73 and.images......##.dump.gives.us
2b2e0 20 33 20 69 74 65 6d 73 20 70 65 72 20 77 69 6e 64 6f 77 2f 69 6d 61 67 65 0d 09 20 20 20 20 73 .3.items.per.window/image......s
2b300 65 74 20 64 75 6d 70 20 5b 24 77 20 64 75 6d 70 20 2d 69 6d 61 67 65 20 2d 77 69 6e 64 6f 77 20 et.dump.[$w.dump.-image.-window.
2b320 24 73 74 61 72 74 20 22 24 73 74 61 72 74 20 2b 20 24 70 6f 73 20 63 22 5d 0d 09 20 20 20 20 69 $start."$start.+.$pos.c"]......i
2b340 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 64 75 6d 70 5d 7d 20 7b 0d 09 09 73 65 74 20 70 6f 73 20 f.{[llength.$dump]}.{...set.pos.
2b360 5b 65 78 70 72 20 7b 24 70 6f 73 20 2b 20 28 5b 6c 6c 65 6e 67 74 68 20 24 64 75 6d 70 5d 2f 33 [expr.{$pos.+.([llength.$dump]/3
2b380 29 7d 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 )}]......}......return.[$w.index
2b3a0 20 22 24 73 74 61 72 74 20 2b 20 24 70 6f 73 20 63 22 5d 0d 09 7d 0d 09 73 65 74 20 63 75 72 20 ."$start.+.$pos.c"]..}..set.cur.
2b3c0 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 65 6e 64 20 2b 31 63 22 5d 0d 20 20 [$w.index."$cur.lineend.+1c"]...
2b3e0 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 65 6e 64 0d 7d 0d 0d 23 20 74 6b 54 65 78 74 50 72 ..}.....return.end.}..#.tkTextPr
2b400 65 76 50 6f 73 20 2d 2d 0d 23 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 evPos.--.#.Returns.the.index.of.
2b420 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 6f 73 69 74 69 6f 6e 20 62 65 66 6f 72 65 20 74 68 65 the.previous.position.before.the
2b440 20 67 69 76 65 6e 20 73 74 61 72 74 69 6e 67 0d 23 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 .given.starting.#.position.in.th
2b460 65 20 74 65 78 74 20 61 73 20 63 6f 6d 70 75 74 65 64 20 62 79 20 61 20 73 70 65 63 69 66 69 65 e.text.as.computed.by.a.specifie
2b480 64 20 66 75 6e 63 74 69 6f 6e 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 77 20 2d d.function..#.#.Arguments:.#.w.-
2b4a0 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 ..The.text.window.in.which.the.c
2b4c0 75 72 73 6f 72 20 69 73 20 74 6f 20 6d 6f 76 65 2e 0d 23 20 73 74 61 72 74 20 2d 09 50 6f 73 69 ursor.is.to.move..#.start.-.Posi
2b4e0 74 69 6f 6e 20 61 74 20 77 68 69 63 68 20 74 6f 20 73 74 61 72 74 20 73 65 61 72 63 68 2e 0d 23 tion.at.which.to.start.search..#
2b500 20 6f 70 20 2d 09 09 46 75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 74 6f 20 66 69 6e 64 20 6e .op.-..Function.to.use.to.find.n
2b520 65 78 74 20 70 6f 73 69 74 69 6f 6e 2e 0d 0d 70 72 6f 63 20 74 6b 54 65 78 74 50 72 65 76 50 6f ext.position...proc.tkTextPrevPo
2b540 73 20 7b 77 20 73 74 61 72 74 20 6f 70 7d 20 7b 0d 20 20 20 20 73 65 74 20 74 65 78 74 20 22 22 s.{w.start.op}.{.....set.text.""
2b560 0d 20 20 20 20 73 65 74 20 63 75 72 20 24 73 74 61 72 74 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b .....set.cur.$start.....while.{[
2b580 24 77 20 63 6f 6d 70 61 72 65 20 24 63 75 72 20 3e 20 30 2e 30 5d 7d 20 7b 0d 09 73 65 74 20 74 $w.compare.$cur.>.0.0]}.{..set.t
2b5a0 65 78 74 20 5b 24 77 20 67 65 74 20 22 24 63 75 72 20 6c 69 6e 65 73 74 61 72 74 20 2d 20 31 63 ext.[$w.get."$cur.linestart.-.1c
2b5c0 22 20 24 63 75 72 5d 24 74 65 78 74 0d 09 73 65 74 20 70 6f 73 20 5b 24 6f 70 20 24 74 65 78 74 ".$cur]$text..set.pos.[$op.$text
2b5e0 20 65 6e 64 5d 0d 09 69 66 20 7b 24 70 6f 73 20 3e 3d 20 30 7d 20 7b 0d 09 20 20 20 20 23 23 20 .end]..if.{$pos.>=.0}.{......##.
2b600 41 64 6a 75 73 74 20 66 6f 72 20 65 6d 62 65 64 64 65 64 20 77 69 6e 64 6f 77 73 20 61 6e 64 20 Adjust.for.embedded.windows.and.
2b620 69 6d 61 67 65 73 0d 09 20 20 20 20 23 23 20 64 75 6d 70 20 67 69 76 65 73 20 75 73 20 33 20 69 images......##.dump.gives.us.3.i
2b640 74 65 6d 73 20 70 65 72 20 77 69 6e 64 6f 77 2f 69 6d 61 67 65 0d 09 20 20 20 20 73 65 74 20 64 tems.per.window/image......set.d
2b660 75 6d 70 20 5b 24 77 20 64 75 6d 70 20 2d 69 6d 61 67 65 20 2d 77 69 6e 64 6f 77 20 22 24 63 75 ump.[$w.dump.-image.-window."$cu
2b680 72 20 6c 69 6e 65 73 74 61 72 74 22 20 22 24 73 74 61 72 74 20 2d 20 31 63 22 5d 0d 09 20 20 20 r.linestart"."$start.-.1c"].....
2b6a0 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 64 75 6d 70 5d 7d 20 7b 0d 09 09 23 23 20 54 68 69 .if.{[llength.$dump]}.{...##.Thi
2b6c0 73 20 69 73 20 61 20 68 6f 6b 65 79 20 65 78 74 72 61 20 68 61 63 6b 20 66 6f 72 20 63 6f 6e 74 s.is.a.hokey.extra.hack.for.cont
2b6e0 72 6f 6c 2d 61 72 72 6f 77 20 6d 6f 76 65 6d 65 6e 74 0d 09 09 23 23 20 74 68 61 74 20 73 68 6f rol-arrow.movement...##.that.sho
2b700 75 6c 64 20 62 65 20 69 6e 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 63 6f 72 uld.be.in.a.while.loop.to.be.cor
2b720 72 65 63 74 20 28 68 6f 62 62 73 29 0d 09 09 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 5b rect.(hobbs)...if.{[$w.compare.[
2b740 6c 69 6e 64 65 78 20 24 64 75 6d 70 20 32 5d 20 3e 20 5c 0d 09 09 09 22 24 63 75 72 20 6c 69 6e lindex.$dump.2].>.\...."$cur.lin
2b760 65 73 74 61 72 74 20 2d 20 31 63 20 2b 20 24 70 6f 73 20 63 22 5d 7d 20 7b 0d 09 09 20 20 20 20 estart.-.1c.+.$pos.c"]}.{.......
2b780 69 6e 63 72 20 70 6f 73 20 2d 31 0d 09 09 7d 0d 09 09 73 65 74 20 70 6f 73 20 5b 65 78 70 72 20 incr.pos.-1...}...set.pos.[expr.
2b7a0 7b 24 70 6f 73 20 2b 20 28 5b 6c 6c 65 6e 67 74 68 20 24 64 75 6d 70 5d 2f 33 29 7d 5d 0d 09 20 {$pos.+.([llength.$dump]/3)}]...
2b7c0 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 ...}......return.[$w.index."$cur
2b7e0 20 6c 69 6e 65 73 74 61 72 74 20 2d 20 31 63 20 2b 20 24 70 6f 73 20 63 22 5d 0d 09 7d 0d 09 73 .linestart.-.1c.+.$pos.c"]..}..s
2b800 65 74 20 63 75 72 20 5b 24 77 20 69 6e 64 65 78 20 22 24 63 75 72 20 6c 69 6e 65 73 74 61 72 74 et.cur.[$w.index."$cur.linestart
2b820 20 2d 20 31 63 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 30 2e 30 0d 7d 0d 00 .-.1c"].....}.....return.0.0.}..
2b840 00 21 96 23 20 62 67 65 72 72 6f 72 2e 74 63 6c 20 2d 2d 0d 23 0d 23 09 49 6d 70 6c 65 6d 65 6e .!.#.bgerror.tcl.--.#.#.Implemen
2b860 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 67 65 72 72 6f 72 20 70 72 6f 63 65 64 75 72 65 2e tation.of.the.bgerror.procedure.
2b880 20 20 49 74 20 70 6f 73 74 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 20 77 69 74 68 0d 23 09 74 ..It.posts.a.dialog.box.with.#.t
2b8a0 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 69 76 65 73 20 74 68 65 20 75 he.error.message.and.gives.the.u
2b8c0 73 65 72 20 61 20 63 68 61 6e 63 65 20 74 6f 20 73 65 65 20 61 20 6d 6f 72 65 20 64 65 74 61 69 ser.a.chance.to.see.a.more.detai
2b8e0 6c 65 64 0d 23 09 73 74 61 63 6b 20 74 72 61 63 65 2c 20 61 6e 64 20 70 6f 73 73 69 62 6c 65 20 led.#.stack.trace,.and.possible.
2b900 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 6d 6f 72 65 20 69 6e 74 65 72 65 73 74 69 6e 67 20 77 69 do.something.more.interesting.wi
2b920 74 68 20 74 68 61 74 0d 23 09 74 72 61 63 65 20 28 6c 69 6b 65 20 73 61 76 65 20 69 74 20 74 6f th.that.#.trace.(like.save.it.to
2b940 20 61 20 6c 6f 67 29 2e 20 20 54 68 69 73 20 69 73 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 77 .a.log)...This.is.adapted.from.w
2b960 6f 72 6b 20 64 6f 6e 65 20 62 79 0d 23 09 44 6f 6e 61 6c 20 4b 2e 20 46 65 6c 6c 6f 77 73 2e 0d ork.done.by.#.Donal.K..Fellows..
2b980 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 2d 32 30 30 30 20 62 79 20 41 #.#.Copyright.(c).1998-2000.by.A
2b9a0 6a 75 62 61 20 53 6f 6c 75 74 69 6f 6e 73 2e 0d 23 20 41 6c 6c 20 72 69 67 68 74 73 20 72 65 73 juba.Solutions..#.All.rights.res
2b9c0 65 72 76 65 64 2e 0d 23 20 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 62 67 65 72 72 erved..#..#.RCS:.@(#).$Id:.bgerr
2b9e0 6f 72 2e 74 63 6c 2c 76 20 31 2e 38 2e 32 2e 32 20 32 30 30 31 2f 31 30 2f 31 37 20 31 39 3a 32 or.tcl,v.1.8.2.2.2001/10/17.19:2
2ba00 39 3a 35 31 20 64 61 73 20 45 78 70 20 24 0d 0d 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 9:51.das.Exp.$..package.require.
2ba20 6d 73 67 63 61 74 0d 0d 6f 70 74 69 6f 6e 20 61 64 64 20 2a 45 72 72 6f 72 44 69 61 6c 6f 67 2e msgcat..option.add.*ErrorDialog.
2ba40 66 75 6e 63 74 69 6f 6e 2e 74 65 78 74 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 53 61 76 function.text.[::msgcat::mc."Sav
2ba60 65 20 54 6f 20 4c 6f 67 22 5d 20 5c 0d 09 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 6f 70 74 69 e.To.Log"].\..widgetDefault.opti
2ba80 6f 6e 20 61 64 64 20 2a 45 72 72 6f 72 44 69 61 6c 6f 67 2e 66 75 6e 63 74 69 6f 6e 2e 63 6f 6d on.add.*ErrorDialog.function.com
2baa0 6d 61 6e 64 20 22 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 73 61 76 65 54 mand."::tk::dialog::error::saveT
2bac0 6f 4c 6f 67 22 0d 0d 23 20 63 72 65 61 74 65 20 6e 61 6d 65 73 70 61 63 65 20 68 69 65 72 61 72 oLog"..#.create.namespace.hierar
2bae0 63 68 79 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a chy.namespace.eval.::tk::dialog:
2bb00 3a 65 72 72 6f 72 20 7b 7d 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 :error.{}..proc.::tk::dialog::er
2bb20 72 6f 72 3a 3a 52 65 74 75 72 6e 20 7b 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 62 75 ror::Return.{}.{.....variable.bu
2bb40 74 74 6f 6e 0d 20 20 20 20 0d 20 20 20 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 6f 6b 20 tton...........bgerrorDialog.ok.
2bb60 63 6f 6e 66 69 67 75 72 65 20 2d 73 74 61 74 65 20 61 63 74 69 76 65 20 2d 72 65 6c 69 65 66 20 configure.-state.active.-relief.
2bb80 73 75 6e 6b 65 6e 0d 20 20 20 20 75 70 64 61 74 65 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 sunken.....update.idletasks.....
2bba0 61 66 74 65 72 20 31 30 30 0d 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 20 30 0d 7d 0d 0d 70 72 after.100.....set.button.0.}..pr
2bbc0 6f 63 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 64 65 74 61 69 6c 73 20 oc.::tk::dialog::error::details.
2bbe0 7b 7d 20 7b 0d 20 20 20 20 73 65 74 20 77 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 0d 20 20 {}.{.....set.w..bgerrorDialog...
2bc00 20 20 73 65 74 20 63 61 70 74 69 6f 6e 20 5b 6f 70 74 69 6f 6e 20 67 65 74 20 24 77 2e 66 75 6e ..set.caption.[option.get.$w.fun
2bc20 63 74 69 6f 6e 20 74 65 78 74 20 7b 7d 5d 0d 20 20 20 20 73 65 74 20 63 6f 6d 6d 61 6e 64 20 5b ction.text.{}].....set.command.[
2bc40 6f 70 74 69 6f 6e 20 67 65 74 20 24 77 2e 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 7b option.get.$w.function.command.{
2bc60 7d 5d 0d 20 20 20 20 69 66 20 7b 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 61 70 74 69 }].....if.{.[string.equal.$capti
2bc80 6f 6e 20 22 22 5d 20 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 6f 6d 6d 61 6e 64 on.""].||.[string.equal.$command
2bca0 20 22 22 5d 20 7d 20 7b 0d 09 67 72 69 64 20 66 6f 72 67 65 74 20 24 77 2e 66 75 6e 63 74 69 6f .""].}.{..grid.forget.$w.functio
2bcc0 6e 0d 20 20 20 20 7d 0d 20 20 20 20 24 77 2e 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 n.....}.....$w.function.configur
2bce0 65 20 2d 74 65 78 74 20 24 63 61 70 74 69 6f 6e 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 e.-text.$caption.\......-command
2bd00 20 5b 6c 69 73 74 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 65 76 61 6c .[list.::tk::dialog::error::eval
2bd20 46 75 6e 63 74 69 6f 6e 20 24 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 67 72 69 64 20 24 77 2e 74 Function.$command].....grid.$w.t
2bd40 6f 70 2e 69 6e 66 6f 20 2d 20 2d 73 74 69 63 6b 79 20 6e 73 65 77 20 2d 70 61 64 78 20 33 6d 20 op.info.-.-sticky.nsew.-padx.3m.
2bd60 2d 70 61 64 79 20 33 6d 0d 7d 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 -pady.3m.}..proc.::tk::dialog::e
2bd80 72 72 6f 72 3a 3a 65 76 61 6c 46 75 6e 63 74 69 6f 6e 20 7b 63 6d 64 7d 20 7b 0d 20 20 20 20 75 rror::evalFunction.{cmd}.{.....u
2bda0 70 6c 65 76 65 6c 20 5c 23 30 20 5b 6c 69 73 74 20 24 63 6d 64 20 5b 2e 62 67 65 72 72 6f 72 44 plevel.\#0.[list.$cmd.[.bgerrorD
2bdc0 69 61 6c 6f 67 2e 74 6f 70 2e 69 6e 66 6f 2e 74 65 78 74 20 67 65 74 20 31 2e 30 20 65 6e 64 5d ialog.top.info.text.get.1.0.end]
2bde0 5d 0d 7d 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 73 ].}..proc.::tk::dialog::error::s
2be00 61 76 65 54 6f 4c 6f 67 20 7b 74 65 78 74 7d 20 7b 0d 20 20 20 20 69 66 20 7b 20 5b 73 74 72 69 aveToLog.{text}.{.....if.{.[stri
2be20 6e 67 20 65 71 75 61 6c 20 24 3a 3a 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 ng.equal.$::tcl_platform(platfor
2be40 6d 29 20 22 77 69 6e 64 6f 77 73 22 5d 20 7d 20 7b 0d 09 73 65 74 20 61 6c 6c 46 69 6c 65 73 20 m)."windows"].}.{..set.allFiles.
2be60 22 2a 2e 2a 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 61 6c 6c 46 69 6c 65 73 "*.*".....}.else.{..set.allFiles
2be80 20 22 2a 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 74 79 70 65 73 20 5b 6c 69 73 74 09 5c ."*".....}.....set.types.[list.\
2bea0 0d 09 20 20 20 20 5b 6c 69 73 74 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 4c 6f 67 20 46 ......[list.[::msgcat::mc."Log.F
2bec0 69 6c 65 73 22 5d 09 2e 6c 6f 67 5d 09 09 5c 0d 09 20 20 20 20 5b 6c 69 73 74 20 5b 3a 3a 6d 73 iles"]..log]..\......[list.[::ms
2bee0 67 63 61 74 3a 3a 6d 63 20 22 54 65 78 74 20 46 69 6c 65 73 22 5d 09 2e 74 78 74 5d 09 09 5c 0d gcat::mc."Text.Files"]..txt]..\.
2bf00 09 20 20 20 20 5b 6c 69 73 74 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 41 6c 6c 20 46 69 .....[list.[::msgcat::mc."All.Fi
2bf20 6c 65 73 22 5d 09 24 61 6c 6c 46 69 6c 65 73 5d 09 5c 0d 09 20 20 20 20 5d 0d 20 20 20 20 73 65 les"].$allFiles].\......].....se
2bf40 74 20 66 69 6c 65 6e 61 6d 65 20 5b 74 6b 5f 67 65 74 53 61 76 65 46 69 6c 65 20 2d 74 69 74 6c t.filename.[tk_getSaveFile.-titl
2bf60 65 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 53 65 6c 65 63 74 20 4c 6f 67 20 46 69 6c 65 e.[::msgcat::mc."Select.Log.File
2bf80 22 5d 20 5c 0d 09 20 20 20 20 2d 66 69 6c 65 74 79 70 65 73 20 24 74 79 70 65 73 20 2d 64 65 66 "].\......-filetypes.$types.-def
2bfa0 61 75 6c 74 65 78 74 65 6e 73 69 6f 6e 20 2e 6c 6f 67 20 2d 70 61 72 65 6e 74 20 2e 62 67 65 72 aultextension..log.-parent..bger
2bfc0 72 6f 72 44 69 61 6c 6f 67 5d 0d 20 20 20 20 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6c 65 6e 67 rorDialog].....if.{![string.leng
2bfe0 74 68 20 24 66 69 6c 65 6e 61 6d 65 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 th.$filename]}.{..return.....}..
2c000 20 20 20 73 65 74 20 66 20 5b 6f 70 65 6e 20 24 66 69 6c 65 6e 61 6d 65 20 77 5d 0d 20 20 20 20 ...set.f.[open.$filename.w].....
2c020 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 66 20 24 74 65 78 74 0d 20 20 20 20 63 6c 6f puts.-nonewline.$f.$text.....clo
2c040 73 65 20 24 66 0d 7d 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f se.$f.}..proc.::tk::dialog::erro
2c060 72 3a 3a 44 65 73 74 72 6f 79 20 7b 77 7d 20 7b 0d 20 20 20 20 69 66 20 7b 22 2e 62 67 65 72 72 r::Destroy.{w}.{.....if.{".bgerr
2c080 6f 72 44 69 61 6c 6f 67 22 20 3d 3d 20 22 24 77 22 7d 20 7b 0d 09 76 61 72 69 61 62 6c 65 20 62 orDialog".==."$w"}.{..variable.b
2c0a0 75 74 74 6f 6e 0d 09 73 65 74 20 62 75 74 74 6f 6e 20 2d 31 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 utton..set.button.-1.....}.}..#.
2c0c0 3a 3a 62 67 65 72 72 6f 72 20 2d 2d 0d 23 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 ::bgerror.--.#.This.is.the.defau
2c0e0 6c 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 62 67 65 72 72 6f 72 2e 20 0d 23 20 49 74 20 74 72 69 lt.version.of.bgerror...#.It.tri
2c100 65 73 20 74 6f 20 65 78 65 63 75 74 65 20 74 6b 65 72 72 6f 72 2c 20 69 66 20 74 68 61 74 20 66 es.to.execute.tkerror,.if.that.f
2c120 61 69 6c 73 20 69 74 20 70 6f 73 74 73 20 61 20 64 69 61 6c 6f 67 20 62 6f 78 20 63 6f 6e 74 61 ails.it.posts.a.dialog.box.conta
2c140 69 6e 69 6e 67 0d 23 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 61 6e 64 20 67 69 ining.#.the.error.message.and.gi
2c160 76 65 73 20 74 68 65 20 75 73 65 72 20 61 20 63 68 61 6e 63 65 20 74 6f 20 61 73 6b 20 74 6f 20 ves.the.user.a.chance.to.ask.to.
2c180 73 65 65 20 61 20 73 74 61 63 6b 0d 23 20 74 72 61 63 65 2e 0d 23 20 41 72 67 75 6d 65 6e 74 73 see.a.stack.#.trace..#.Arguments
2c1a0 3a 0d 23 20 65 72 72 20 2d 09 09 09 54 68 65 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 0d 0d :.#.err.-...The.error.message...
2c1c0 70 72 6f 63 20 3a 3a 62 67 65 72 72 6f 72 20 65 72 72 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 proc.::bgerror.err.{.....global.
2c1e0 65 72 72 6f 72 49 6e 66 6f 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 73 65 74 20 62 errorInfo.tcl_platform.....set.b
2c200 75 74 76 61 72 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 62 75 74 74 6f utvar.::tk::dialog::error::butto
2c220 6e 0d 0d 20 20 20 20 73 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 0d 20 20 20 20 n......set.info.$errorInfo......
2c240 73 65 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 74 6b 65 72 72 6f 72 20 24 65 72 72 7d 20 6d 73 set.ret.[catch.{tkerror.$err}.ms
2c260 67 5d 3b 0d 20 20 20 20 69 66 20 7b 24 72 65 74 20 21 3d 20 31 7d 20 7b 72 65 74 75 72 6e 20 2d g];.....if.{$ret.!=.1}.{return.-
2c280 63 6f 64 65 20 24 72 65 74 20 24 6d 73 67 7d 0d 0d 20 20 20 20 23 20 4f 6b 20 74 68 65 20 61 70 code.$ret.$msg}......#.Ok.the.ap
2c2a0 70 6c 69 63 61 74 69 6f 6e 27 73 20 74 6b 65 72 72 6f 72 20 65 69 74 68 65 72 20 66 61 69 6c 65 plication's.tkerror.either.faile
2c2c0 64 20 6f 72 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 0d 20 20 20 20 23 20 77 65 20 75 73 65 20 d.or.was.not.found.....#.we.use.
2c2e0 74 68 65 20 64 65 66 61 75 6c 74 20 64 69 61 6c 6f 67 20 74 68 65 6e 20 3a 0d 20 20 20 20 69 66 the.default.dialog.then.:.....if
2c300 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 .{$tcl_platform(platform).==."ma
2c320 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 73 65 74 20 6f 6b 09 09 5b 3a 3a 6d 73 67 63 61 74 3a 3a cintosh"}.{..set.ok..[::msgcat::
2c340 6d 63 20 22 4f 6b 22 5d 0d 09 73 65 74 20 6d 65 73 73 61 67 65 46 6f 6e 74 09 73 79 73 74 65 6d mc."Ok"]..set.messageFont.system
2c360 0d 09 73 65 74 20 74 65 78 74 52 65 6c 69 65 66 09 22 66 6c 61 74 22 0d 09 73 65 74 20 74 65 78 ..set.textRelief."flat"..set.tex
2c380 74 48 69 6c 69 67 68 74 09 30 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6f 6b 09 tHilight.0.....}.else.{..set.ok.
2c3a0 09 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 4f 4b 22 5d 0d 09 73 65 74 20 6d 65 73 73 61 67 .[::msgcat::mc."OK"]..set.messag
2c3c0 65 46 6f 6e 74 09 7b 54 69 6d 65 73 20 2d 31 38 7d 0d 09 73 65 74 20 74 65 78 74 52 65 6c 69 65 eFont.{Times.-18}..set.textRelie
2c3e0 66 09 22 73 75 6e 6b 65 6e 22 0d 09 73 65 74 20 74 65 78 74 48 69 6c 69 67 68 74 09 31 0d 20 20 f."sunken"..set.textHilight.1...
2c400 20 20 7d 0d 0d 0d 20 20 20 20 23 20 54 72 75 6e 63 61 74 65 20 74 68 65 20 6d 65 73 73 61 67 65 ..}.......#.Truncate.the.message
2c420 20 69 66 20 69 74 20 69 73 20 74 6f 6f 20 77 69 64 65 20 28 6c 6f 6e 67 65 72 20 74 68 61 6e 20 .if.it.is.too.wide.(longer.than.
2c440 33 30 20 63 68 61 72 61 63 61 63 74 65 72 73 29 20 6f 72 0d 20 20 20 20 23 20 74 6f 6f 20 74 61 30.characacters).or.....#.too.ta
2c460 6c 6c 20 28 6d 6f 72 65 20 74 68 61 6e 20 34 20 6e 65 77 6c 69 6e 65 73 29 2e 20 20 54 72 75 6e ll.(more.than.4.newlines)...Trun
2c480 63 61 74 69 6f 6e 20 6f 63 63 75 72 73 20 61 74 20 74 68 65 20 66 69 72 73 74 20 70 6f 69 6e 74 cation.occurs.at.the.first.point
2c4a0 20 61 74 0d 20 20 20 20 23 20 77 68 69 63 68 20 6f 6e 65 20 6f 66 20 74 68 6f 73 65 20 63 6f 6e .at.....#.which.one.of.those.con
2c4c0 64 69 74 69 6f 6e 73 20 69 73 20 6d 65 74 2e 0d 20 20 20 20 73 65 74 20 64 69 73 70 6c 61 79 65 ditions.is.met......set.displaye
2c4e0 64 45 72 72 20 22 22 0d 20 20 20 20 73 65 74 20 6c 69 6e 65 73 20 30 0d 20 20 20 20 66 6f 72 65 dErr."".....set.lines.0.....fore
2c500 61 63 68 20 6c 69 6e 65 20 5b 73 70 6c 69 74 20 24 65 72 72 20 22 5c 6e 22 5d 20 7b 0d 09 69 66 ach.line.[split.$err."\n"].{..if
2c520 20 7b 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6c 69 6e 65 5d 20 3e 20 33 30 20 7d 20 .{.[string.length.$line].>.30.}.
2c540 7b 0d 09 20 20 20 20 61 70 70 65 6e 64 20 64 69 73 70 6c 61 79 65 64 45 72 72 20 22 5b 73 74 72 {......append.displayedErr."[str
2c560 69 6e 67 20 72 61 6e 67 65 20 24 6c 69 6e 65 20 30 20 32 39 5d 2e 2e 2e 22 0d 09 20 20 20 20 62 ing.range.$line.0.29]..."......b
2c580 72 65 61 6b 0d 09 7d 0d 09 69 66 20 7b 20 24 6c 69 6e 65 73 20 3e 20 34 20 7d 20 7b 0d 09 20 20 reak..}..if.{.$lines.>.4.}.{....
2c5a0 20 20 61 70 70 65 6e 64 20 64 69 73 70 6c 61 79 65 64 45 72 72 20 22 2e 2e 2e 22 0d 09 20 20 20 ..append.displayedErr."...".....
2c5c0 20 62 72 65 61 6b 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 61 70 70 65 6e 64 20 64 69 73 .break..}.else.{......append.dis
2c5e0 70 6c 61 79 65 64 45 72 72 20 22 24 7b 6c 69 6e 65 7d 5c 6e 22 0d 09 7d 0d 09 69 6e 63 72 20 6c playedErr."${line}\n"..}..incr.l
2c600 69 6e 65 73 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 77 20 2e 62 67 65 72 72 6f 72 44 69 ines.....}......set.w..bgerrorDi
2c620 61 6c 6f 67 0d 20 20 20 20 73 65 74 20 74 69 74 6c 65 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 alog.....set.title.[::msgcat::mc
2c640 20 22 41 70 70 6c 69 63 61 74 69 6f 6e 20 45 72 72 6f 72 22 5d 0d 20 20 20 20 73 65 74 20 74 65 ."Application.Error"].....set.te
2c660 78 74 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 45 72 72 6f 72 3a 20 25 31 5c 24 73 22 20 xt.[::msgcat::mc."Error:.%1\$s".
2c680 24 65 72 72 5d 0d 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 5b 6c 69 73 74 20 6f 6b 20 24 $err].....set.buttons.[list.ok.$
2c6a0 6f 6b 20 64 69 73 6d 69 73 73 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 53 6b 69 70 20 4d ok.dismiss.[::msgcat::mc."Skip.M
2c6c0 65 73 73 61 67 65 73 22 5d 20 5c 0d 09 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 5b 3a 3a 6d 73 67 essages"].\......function.[::msg
2c6e0 63 61 74 3a 3a 6d 63 20 22 44 65 74 61 69 6c 73 20 3e 3e 22 5d 5d 0d 0d 20 20 20 20 23 20 31 2e cat::mc."Details.>>"]]......#.1.
2c700 20 43 72 65 61 74 65 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 61 6e 64 .Create.the.top-level.window.and
2c720 20 64 69 76 69 64 65 20 69 74 20 69 6e 74 6f 20 74 6f 70 0d 20 20 20 20 23 20 61 6e 64 20 62 6f .divide.it.into.top.....#.and.bo
2c740 74 74 6f 6d 20 70 61 72 74 73 2e 0d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f 79 20 ttom.parts.......catch.{destroy.
2c760 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 7d 0d 20 20 20 20 74 6f 70 6c 65 76 65 6c 20 2e 62 67 .bgerrorDialog}.....toplevel..bg
2c780 65 72 72 6f 72 44 69 61 6c 6f 67 20 2d 63 6c 61 73 73 20 45 72 72 6f 72 44 69 61 6c 6f 67 0d 20 errorDialog.-class.ErrorDialog..
2c7a0 20 20 20 77 6d 20 74 69 74 6c 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 20 24 74 69 74 6c ...wm.title..bgerrorDialog.$titl
2c7c0 65 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 6d 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 e.....wm.iconname..bgerrorDialog
2c7e0 20 45 72 72 6f 72 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 2e 62 67 .ErrorDialog.....wm.protocol..bg
2c800 65 72 72 6f 72 44 69 61 6c 6f 67 20 57 4d 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 20 7b 20 7d errorDialog.WM_DELETE_WINDOW.{.}
2c820 0d 0d 20 20 20 20 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 2c 20 74 68 6f 75 67 68 20 73 75 ......#.The.following,.though.su
2c840 72 70 72 69 73 69 6e 67 2c 20 77 6f 72 6b 73 2e 0d 20 20 20 20 77 6d 20 74 72 61 6e 73 69 65 6e rprising,.works......wm.transien
2c860 74 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 0d t..bgerrorDialog..bgerrorDialog.
2c880 0d 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 .....if.{$tcl_platform(platform)
2c8a0 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 75 6e 73 75 70 70 6f 72 74 65 64 31 .==."macintosh"}.{..unsupported1
2c8c0 20 73 74 79 6c 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 20 64 42 6f 78 50 72 6f 63 0d 20 .style..bgerrorDialog.dBoxProc..
2c8e0 20 20 20 7d 0d 0d 20 20 20 20 66 72 61 6d 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 ...}......frame..bgerrorDialog.b
2c900 6f 74 0d 20 20 20 20 66 72 61 6d 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 74 6f 70 0d ot.....frame..bgerrorDialog.top.
2c920 20 20 20 20 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 ....if.{$tcl_platform(platform).
2c940 3d 3d 20 22 75 6e 69 78 22 7d 20 7b 0d 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 6f 74 ==."unix"}.{...bgerrorDialog.bot
2c960 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d .configure.-relief.raised.-bd.1.
2c980 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 74 6f 70 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 ..bgerrorDialog.top.configure.-r
2c9a0 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d 20 20 20 20 7d 0d 20 20 20 20 70 61 63 elief.raised.-bd.1.....}.....pac
2c9c0 6b 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 6f 74 20 2d 73 69 64 65 20 62 6f 74 74 6f k..bgerrorDialog.bot.-side.botto
2c9e0 6d 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 70 61 63 6b 20 2e 62 67 65 72 72 6f 72 44 69 m.-fill.both.....pack..bgerrorDi
2ca00 61 6c 6f 67 2e 74 6f 70 20 2d 73 69 64 65 20 74 6f 70 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 alog.top.-side.top.-fill.both.-e
2ca20 78 70 61 6e 64 20 31 0d 0d 20 20 20 20 73 65 74 20 57 20 5b 66 72 61 6d 65 20 24 77 2e 74 6f 70 xpand.1......set.W.[frame.$w.top
2ca40 2e 69 6e 66 6f 5d 0d 20 20 20 20 74 65 78 74 20 24 57 2e 74 65 78 74 09 09 09 09 5c 0d 09 20 20 .info].....text.$W.text....\....
2ca60 20 20 2d 62 64 20 32 09 09 09 09 5c 0d 09 20 20 20 20 2d 79 73 63 72 6f 6c 6c 63 6f 6d 6d 61 6e ..-bd.2....\......-yscrollcomman
2ca80 64 20 22 24 57 2e 73 63 72 6f 6c 6c 20 73 65 74 22 09 5c 0d 09 20 20 20 20 2d 73 65 74 67 72 69 d."$W.scroll.set".\......-setgri
2caa0 64 20 74 72 75 65 09 09 09 5c 0d 09 20 20 20 20 2d 77 69 64 74 68 20 34 30 09 09 09 09 5c 0d 09 d.true...\......-width.40....\..
2cac0 20 20 20 20 2d 68 65 69 67 68 74 20 31 30 09 09 09 09 5c 0d 09 20 20 20 20 2d 73 74 61 74 65 20 ....-height.10....\......-state.
2cae0 6e 6f 72 6d 61 6c 09 09 09 5c 0d 09 20 20 20 20 2d 72 65 6c 69 65 66 20 24 74 65 78 74 52 65 6c normal...\......-relief.$textRel
2cb00 69 65 66 09 09 09 5c 0d 09 20 20 20 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 73 73 ief...\......-highlightthickness
2cb20 20 24 74 65 78 74 48 69 6c 69 67 68 74 09 5c 0d 09 20 20 20 20 2d 77 72 61 70 20 63 68 61 72 0d .$textHilight.\......-wrap.char.
2cb40 0d 20 20 20 20 73 63 72 6f 6c 6c 62 61 72 20 24 57 2e 73 63 72 6f 6c 6c 20 2d 72 65 6c 69 65 66 .....scrollbar.$W.scroll.-relief
2cb60 20 73 75 6e 6b 65 6e 20 2d 63 6f 6d 6d 61 6e 64 20 22 24 57 2e 74 65 78 74 20 79 76 69 65 77 22 .sunken.-command."$W.text.yview"
2cb80 0d 20 20 20 20 70 61 63 6b 20 24 57 2e 73 63 72 6f 6c 6c 20 2d 73 69 64 65 20 72 69 67 68 74 20 .....pack.$W.scroll.-side.right.
2cba0 2d 66 69 6c 6c 20 79 0d 20 20 20 20 70 61 63 6b 20 24 57 2e 74 65 78 74 20 2d 73 69 64 65 20 6c -fill.y.....pack.$W.text.-side.l
2cbc0 65 66 74 20 2d 65 78 70 61 6e 64 20 79 65 73 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 24 eft.-expand.yes.-fill.both.....$
2cbe0 57 2e 74 65 78 74 20 69 6e 73 65 72 74 20 30 2e 30 20 22 24 65 72 72 5c 6e 24 69 6e 66 6f 22 0d W.text.insert.0.0."$err\n$info".
2cc00 20 20 20 20 24 57 2e 74 65 78 74 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 30 2e 30 0d ....$W.text.mark.set.insert.0.0.
2cc20 20 20 20 20 62 69 6e 64 20 24 57 2e 74 65 78 74 20 3c 42 75 74 74 6f 6e 50 72 65 73 73 2d 31 3e ....bind.$W.text.<ButtonPress-1>
2cc40 20 7b 20 66 6f 63 75 73 20 25 57 20 7d 0d 20 20 20 20 24 57 2e 74 65 78 74 20 63 6f 6e 66 69 67 .{.focus.%W.}.....$W.text.config
2cc60 75 72 65 20 2d 73 74 61 74 65 20 64 69 73 61 62 6c 65 64 0d 0d 20 20 20 20 23 20 32 2e 20 46 69 ure.-state.disabled......#.2..Fi
2cc80 6c 6c 20 74 68 65 20 74 6f 70 20 70 61 72 74 20 77 69 74 68 20 62 69 74 6d 61 70 20 61 6e 64 20 ll.the.top.part.with.bitmap.and.
2cca0 6d 65 73 73 61 67 65 0d 0d 20 20 20 20 6c 61 62 65 6c 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f message......label..bgerrorDialo
2ccc0 67 2e 6d 73 67 20 2d 6a 75 73 74 69 66 79 20 6c 65 66 74 20 2d 74 65 78 74 20 24 74 65 78 74 20 g.msg.-justify.left.-text.$text.
2cce0 2d 66 6f 6e 74 20 24 6d 65 73 73 61 67 65 46 6f 6e 74 0d 20 20 20 20 69 66 20 7b 20 5b 73 74 72 -font.$messageFont.....if.{.[str
2cd00 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d ing.equal.$tcl_platform(platform
2cd20 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 20 7d 20 7b 0d 09 23 20 4f 6e 20 74 68 65 20 4d 61 63 )."macintosh"].}.{..#.On.the.Mac
2cd40 69 6e 74 6f 73 68 2c 20 75 73 65 20 74 68 65 20 73 74 6f 70 20 62 69 74 6d 61 70 0d 09 6c 61 62 intosh,.use.the.stop.bitmap..lab
2cd60 65 6c 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 69 74 6d 61 70 20 2d 62 69 74 6d 61 70 el..bgerrorDialog.bitmap.-bitmap
2cd80 20 73 74 6f 70 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 23 20 4f 6e 20 6f 74 68 65 72 20 70 .stop.....}.else.{..#.On.other.p
2cda0 6c 61 74 66 6f 72 6d 73 2c 20 6d 61 6b 65 20 74 68 65 20 65 72 72 6f 72 20 69 63 6f 6e 0d 09 63 latforms,.make.the.error.icon..c
2cdc0 61 6e 76 61 73 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 69 74 6d 61 70 20 2d 77 69 64 anvas..bgerrorDialog.bitmap.-wid
2cde0 74 68 20 33 32 20 2d 68 65 69 67 68 74 20 33 32 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b th.32.-height.32.-highlightthick
2ce00 6e 65 73 73 20 30 0d 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 69 74 6d 61 70 20 63 72 ness.0...bgerrorDialog.bitmap.cr
2ce20 65 61 74 65 20 6f 76 61 6c 20 30 20 30 20 33 31 20 33 31 20 2d 66 69 6c 6c 20 72 65 64 20 2d 6f eate.oval.0.0.31.31.-fill.red.-o
2ce40 75 74 6c 69 6e 65 20 62 6c 61 63 6b 0d 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 69 74 utline.black...bgerrorDialog.bit
2ce60 6d 61 70 20 63 72 65 61 74 65 20 6c 69 6e 65 20 39 20 39 20 32 33 20 32 33 20 2d 66 69 6c 6c 20 map.create.line.9.9.23.23.-fill.
2ce80 77 68 69 74 65 20 2d 77 69 64 74 68 20 34 0d 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 white.-width.4...bgerrorDialog.b
2cea0 69 74 6d 61 70 20 63 72 65 61 74 65 20 6c 69 6e 65 20 39 20 32 33 20 32 33 20 39 20 2d 66 69 6c itmap.create.line.9.23.23.9.-fil
2cec0 6c 20 77 68 69 74 65 20 2d 77 69 64 74 68 20 34 0d 20 20 20 20 7d 0d 20 20 20 20 67 72 69 64 20 l.white.-width.4.....}.....grid.
2cee0 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 69 74 6d 61 70 20 2e 62 67 65 72 72 6f 72 44 69 .bgerrorDialog.bitmap..bgerrorDi
2cf00 61 6c 6f 67 2e 6d 73 67 20 5c 0d 09 20 20 20 20 2d 69 6e 20 2e 62 67 65 72 72 6f 72 44 69 61 6c alog.msg.\......-in..bgerrorDial
2cf20 6f 67 2e 74 6f 70 09 5c 0d 09 20 20 20 20 2d 72 6f 77 20 30 09 09 09 5c 0d 09 20 20 20 20 2d 70 og.top.\......-row.0...\......-p
2cf40 61 64 78 20 33 6d 09 09 09 5c 0d 09 20 20 20 20 2d 70 61 64 79 20 33 6d 0d 20 20 20 20 67 72 69 adx.3m...\......-pady.3m.....gri
2cf60 64 20 63 6f 6e 66 69 67 75 72 65 09 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 6d 73 67 20 d.configure...bgerrorDialog.msg.
2cf80 2d 73 74 69 63 6b 79 20 6e 73 77 0d 20 20 20 20 67 72 69 64 20 72 6f 77 63 6f 6e 66 69 67 75 72 -sticky.nsw.....grid.rowconfigur
2cfa0 65 09 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 74 6f 70 20 31 20 2d 77 65 69 67 68 74 20 e...bgerrorDialog.top.1.-weight.
2cfc0 31 0d 20 20 20 20 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 09 2e 62 67 65 72 1.....grid.columnconfigure..bger
2cfe0 72 6f 72 44 69 61 6c 6f 67 2e 74 6f 70 20 31 20 2d 77 65 69 67 68 74 20 31 0d 0d 20 20 20 20 23 rorDialog.top.1.-weight.1......#
2d000 20 33 2e 20 43 72 65 61 74 65 20 61 20 72 6f 77 20 6f 66 20 62 75 74 74 6f 6e 73 20 61 74 20 74 .3..Create.a.row.of.buttons.at.t
2d020 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 69 61 6c 6f 67 2e 0d 0d 20 20 20 20 73 65 he.bottom.of.the.dialog.......se
2d040 74 20 69 20 30 0d 20 20 20 20 66 6f 72 65 61 63 68 20 7b 6e 61 6d 65 20 63 61 70 74 69 6f 6e 7d t.i.0.....foreach.{name.caption}
2d060 20 24 62 75 74 74 6f 6e 73 20 7b 0d 09 62 75 74 74 6f 6e 20 2e 62 67 65 72 72 6f 72 44 69 61 6c .$buttons.{..button..bgerrorDial
2d080 6f 67 2e 24 6e 61 6d 65 09 5c 0d 09 09 2d 74 65 78 74 20 24 63 61 70 74 69 6f 6e 09 09 5c 0d 09 og.$name.\...-text.$caption..\..
2d0a0 09 2d 64 65 66 61 75 6c 74 20 6e 6f 72 6d 61 6c 09 09 5c 0d 09 09 2d 63 6f 6d 6d 61 6e 64 20 5b .-default.normal..\...-command.[
2d0c0 6c 69 73 74 20 73 65 74 20 24 62 75 74 76 61 72 20 24 69 5d 0d 09 67 72 69 64 20 2e 62 67 65 72 list.set.$butvar.$i]..grid..bger
2d0e0 72 6f 72 44 69 61 6c 6f 67 2e 24 6e 61 6d 65 09 5c 0d 09 09 2d 69 6e 20 2e 62 67 65 72 72 6f 72 rorDialog.$name.\...-in..bgerror
2d100 44 69 61 6c 6f 67 2e 62 6f 74 09 5c 0d 09 09 2d 63 6f 6c 75 6d 6e 20 24 69 09 09 5c 0d 09 09 2d Dialog.bot.\...-column.$i..\...-
2d120 72 6f 77 20 30 09 09 09 5c 0d 09 09 2d 73 74 69 63 6b 79 20 65 77 09 09 5c 0d 09 09 2d 70 61 64 row.0...\...-sticky.ew..\...-pad
2d140 78 20 31 30 0d 09 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 20 2e 62 67 65 72 x.10..grid.columnconfigure..bger
2d160 72 6f 72 44 69 61 6c 6f 67 2e 62 6f 74 20 24 69 20 2d 77 65 69 67 68 74 20 31 0d 09 23 20 57 65 rorDialog.bot.$i.-weight.1..#.We
2d180 20 62 6f 6f 73 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 73 6f 6d 65 20 4d 61 63 20 62 75 74 74 .boost.the.size.of.some.Mac.butt
2d1a0 6f 6e 73 20 66 6f 72 20 6c 26 66 0d 09 69 66 20 7b 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 ons.for.l&f..if.{$tcl_platform(p
2d1c0 6c 61 74 66 6f 72 6d 29 20 3d 3d 20 22 6d 61 63 69 6e 74 6f 73 68 22 7d 20 7b 0d 09 20 20 20 20 latform).==."macintosh"}.{......
2d1e0 69 66 20 7b 28 24 6e 61 6d 65 20 3d 3d 20 22 6f 6b 22 29 20 7c 7c 20 28 24 6e 61 6d 65 20 3d 3d if.{($name.==."ok").||.($name.==
2d200 20 22 64 69 73 6d 69 73 73 22 29 7d 20 7b 0d 09 09 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 ."dismiss")}.{...grid.columnconf
2d220 69 67 75 72 65 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e 62 6f 74 20 24 69 20 2d 6d 69 6e igure..bgerrorDialog.bot.$i.-min
2d240 73 69 7a 65 20 37 39 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d size.79......}..}..incr.i.....}.
2d260 20 20 20 20 23 20 54 68 65 20 22 4f 4b 22 20 62 75 74 74 6f 6e 20 69 73 20 74 68 65 20 64 65 66 ....#.The."OK".button.is.the.def
2d280 61 75 6c 74 20 66 6f 72 20 74 68 69 73 20 64 69 61 6c 6f 67 2e 0d 20 20 20 20 2e 62 67 65 72 72 ault.for.this.dialog.......bgerr
2d2a0 6f 72 44 69 61 6c 6f 67 2e 6f 6b 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 61 orDialog.ok.configure.-default.a
2d2c0 63 74 69 76 65 0d 0d 20 20 20 20 73 65 74 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 ctive......set.::tk::dialog::err
2d2e0 6f 72 3a 3a 63 75 72 68 20 30 0d 20 20 20 20 62 69 6e 64 20 2e 62 67 65 72 72 6f 72 44 69 61 6c or::curh.0.....bind..bgerrorDial
2d300 6f 67 20 3c 52 65 74 75 72 6e 3e 09 7b 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 og.<Return>.{::tk::dialog::error
2d320 3a 3a 52 65 74 75 72 6e 7d 0d 20 20 20 20 62 69 6e 64 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f ::Return}.....bind..bgerrorDialo
2d340 67 20 3c 44 65 73 74 72 6f 79 3e 09 7b 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 g.<Destroy>.{::tk::dialog::error
2d360 3a 3a 44 65 73 74 72 6f 79 20 25 57 7d 0d 20 20 20 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 ::Destroy.%W}......bgerrorDialog
2d380 2e 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 09 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d .function.configure.\......-comm
2d3a0 61 6e 64 20 7b 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 64 65 74 61 69 6c and.{::tk::dialog::error::detail
2d3c0 73 20 20 20 7d 0d 0d 20 20 20 20 23 20 36 2e 20 57 69 74 68 64 72 61 77 20 74 68 65 20 77 69 6e s...}......#.6..Withdraw.the.win
2d3e0 64 6f 77 2c 20 74 68 65 6e 20 75 70 64 61 74 65 20 61 6c 6c 20 74 68 65 20 67 65 6f 6d 65 74 72 dow,.then.update.all.the.geometr
2d400 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d 20 20 20 20 23 20 73 6f 20 77 65 20 6b 6e 6f 77 20 68 y.information.....#.so.we.know.h
2d420 6f 77 20 62 69 67 20 69 74 20 77 61 6e 74 73 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 63 65 6e 74 ow.big.it.wants.to.be,.then.cent
2d440 65 72 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 20 74 68 65 0d 20 20 20 20 23 20 64 69 73 70 6c er.the.window.in.the.....#.displ
2d460 61 79 20 61 6e 64 20 64 65 2d 69 63 6f 6e 69 66 79 20 69 74 2e 0d 0d 20 20 20 20 77 6d 20 77 69 ay.and.de-iconify.it.......wm.wi
2d480 74 68 64 72 61 77 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 0d 20 20 20 20 75 70 64 61 74 65 thdraw..bgerrorDialog.....update
2d4a0 20 69 64 6c 65 74 61 73 6b 73 0d 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 20 5b 77 69 6e 66 6f .idletasks.....set.parent.[winfo
2d4c0 20 70 61 72 65 6e 74 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 5d 0d 20 20 20 20 73 65 74 20 .parent..bgerrorDialog].....set.
2d4e0 77 69 64 74 68 20 20 5b 77 69 6e 66 6f 20 72 65 71 77 69 64 74 68 09 2e 62 67 65 72 72 6f 72 44 width..[winfo.reqwidth..bgerrorD
2d500 69 61 6c 6f 67 5d 0d 20 20 20 20 73 65 74 20 68 65 69 67 68 74 20 5b 77 69 6e 66 6f 20 72 65 71 ialog].....set.height.[winfo.req
2d520 68 65 69 67 68 74 09 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 5d 0d 20 20 20 20 73 65 74 20 78 height..bgerrorDialog].....set.x
2d540 20 5b 65 78 70 72 20 7b 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 77 69 64 74 68 20 2e 62 67 65 .[expr.{([winfo.screenwidth..bge
2d560 72 72 6f 72 44 69 61 6c 6f 67 5d 20 20 2d 20 24 77 69 64 74 68 20 29 2f 32 20 2d 20 5c 0d 09 20 rrorDialog]..-.$width.)/2.-.\...
2d580 20 20 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 78 20 24 70 61 72 65 6e 74 5d 7d 5d 0d 20 20 20 20 ...[winfo.vrootx.$parent]}].....
2d5a0 73 65 74 20 79 20 5b 65 78 70 72 20 7b 28 5b 77 69 6e 66 6f 20 73 63 72 65 65 6e 68 65 69 67 68 set.y.[expr.{([winfo.screenheigh
2d5c0 74 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 5d 20 2d 20 24 68 65 69 67 68 74 29 2f 32 20 2d t..bgerrorDialog].-.$height)/2.-
2d5e0 20 5c 0d 09 20 20 20 20 5b 77 69 6e 66 6f 20 76 72 6f 6f 74 79 20 24 70 61 72 65 6e 74 5d 7d 5d .\......[winfo.vrooty.$parent]}]
2d600 0d 20 20 20 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 20 63 6f 6e 66 69 67 75 72 65 20 2d 77 ......bgerrorDialog.configure.-w
2d620 69 64 74 68 20 24 77 69 64 74 68 0d 20 20 20 20 77 6d 20 67 65 6f 6d 65 74 72 79 20 2e 62 67 65 idth.$width.....wm.geometry..bge
2d640 72 72 6f 72 44 69 61 6c 6f 67 20 2b 24 78 2b 24 79 0d 20 20 20 20 77 6d 20 64 65 69 63 6f 6e 69 rrorDialog.+$x+$y.....wm.deiconi
2d660 66 79 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 0d 0d 20 20 20 20 23 20 37 2e 20 53 65 74 20 fy..bgerrorDialog......#.7..Set.
2d680 61 20 67 72 61 62 20 61 6e 64 20 63 6c 61 69 6d 20 74 68 65 20 66 6f 63 75 73 20 74 6f 6f 2e 0d a.grab.and.claim.the.focus.too..
2d6a0 0d 20 20 20 20 73 65 74 20 6f 6c 64 46 6f 63 75 73 20 5b 66 6f 63 75 73 5d 0d 20 20 20 20 73 65 .....set.oldFocus.[focus].....se
2d6c0 74 20 6f 6c 64 47 72 61 62 20 5b 67 72 61 62 20 63 75 72 72 65 6e 74 20 2e 62 67 65 72 72 6f 72 t.oldGrab.[grab.current..bgerror
2d6e0 44 69 61 6c 6f 67 5d 0d 20 20 20 20 69 66 20 7b 24 6f 6c 64 47 72 61 62 20 21 3d 20 22 22 7d 20 Dialog].....if.{$oldGrab.!=.""}.
2d700 7b 0d 09 73 65 74 20 67 72 61 62 53 74 61 74 75 73 20 5b 67 72 61 62 20 73 74 61 74 75 73 20 24 {..set.grabStatus.[grab.status.$
2d720 6f 6c 64 47 72 61 62 5d 0d 20 20 20 20 7d 0d 20 20 20 20 67 72 61 62 20 2e 62 67 65 72 72 6f 72 oldGrab].....}.....grab..bgerror
2d740 44 69 61 6c 6f 67 0d 20 20 20 20 66 6f 63 75 73 20 2e 62 67 65 72 72 6f 72 44 69 61 6c 6f 67 2e Dialog.....focus..bgerrorDialog.
2d760 6f 6b 0d 0d 20 20 20 20 23 20 38 2e 20 57 61 69 74 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 74 ok......#.8..Wait.for.the.user.t
2d780 6f 20 72 65 73 70 6f 6e 64 2c 20 74 68 65 6e 20 72 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 o.respond,.then.restore.the.focu
2d7a0 73 20 61 6e 64 0d 20 20 20 20 23 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 s.and.....#.return.the.index.of.
2d7c0 74 68 65 20 73 65 6c 65 63 74 65 64 20 62 75 74 74 6f 6e 2e 20 20 52 65 73 74 6f 72 65 20 74 68 the.selected.button...Restore.th
2d7e0 65 20 66 6f 63 75 73 0d 20 20 20 20 23 20 62 65 66 6f 72 65 20 64 65 6c 65 74 69 6e 67 20 74 68 e.focus.....#.before.deleting.th
2d800 65 20 77 69 6e 64 6f 77 2c 20 73 69 6e 63 65 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 77 69 e.window,.since.otherwise.the.wi
2d820 6e 64 6f 77 20 6d 61 6e 61 67 65 72 0d 20 20 20 20 23 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 ndow.manager.....#.may.take.the.
2d840 66 6f 63 75 73 20 61 77 61 79 20 73 6f 20 77 65 20 63 61 6e 27 74 20 72 65 64 69 72 65 63 74 20 focus.away.so.we.can't.redirect.
2d860 69 74 2e 20 20 46 69 6e 61 6c 6c 79 2c 0d 20 20 20 20 23 20 72 65 73 74 6f 72 65 20 61 6e 79 20 it...Finally,.....#.restore.any.
2d880 67 72 61 62 20 74 68 61 74 20 77 61 73 20 69 6e 20 65 66 66 65 63 74 2e 0d 0d 20 20 20 20 76 77 grab.that.was.in.effect.......vw
2d8a0 61 69 74 20 24 62 75 74 76 61 72 0d 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 20 24 3a 3a 74 6b ait.$butvar.....set.button.$::tk
2d8c0 3a 3a 64 69 61 6c 6f 67 3a 3a 65 72 72 6f 72 3a 3a 62 75 74 74 6f 6e 3b 20 23 20 53 61 76 65 20 ::dialog::error::button;.#.Save.
2d8e0 61 20 63 6f 70 79 2e 2e 2e 0d 20 20 20 20 63 61 74 63 68 20 7b 66 6f 63 75 73 20 24 6f 6c 64 46 a.copy........catch.{focus.$oldF
2d900 6f 63 75 73 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f 79 20 2e 62 67 65 72 72 6f ocus}.....catch.{destroy..bgerro
2d920 72 44 69 61 6c 6f 67 7d 0d 20 20 20 20 69 66 20 7b 24 6f 6c 64 47 72 61 62 20 21 3d 20 22 22 7d rDialog}.....if.{$oldGrab.!=.""}
2d940 20 7b 0d 09 69 66 20 7b 24 67 72 61 62 53 74 61 74 75 73 20 3d 3d 20 22 67 6c 6f 62 61 6c 22 7d .{..if.{$grabStatus.==."global"}
2d960 20 7b 0d 09 20 20 20 20 67 72 61 62 20 2d 67 6c 6f 62 61 6c 20 24 6f 6c 64 47 72 61 62 0d 09 7d .{......grab.-global.$oldGrab..}
2d980 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 67 72 61 62 20 24 6f 6c 64 47 72 61 62 0d 09 7d 0d 20 20 .else.{......grab.$oldGrab..}...
2d9a0 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 24 62 75 74 74 6f 6e 20 3d 3d 20 31 7d 20 7b 0d 09 72 65 ..}......if.{$button.==.1}.{..re
2d9c0 74 75 72 6e 20 2d 63 6f 64 65 20 62 72 65 61 6b 0d 20 20 20 20 7d 0d 7d 0d 00 00 66 9a 23 20 63 turn.-code.break.....}.}...f.#.c
2d9e0 6f 6e 73 6f 6c 65 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 63 6f 64 65 20 63 6f 6e 73 onsole.tcl.--.#.#.This.code.cons
2da00 74 72 75 63 74 73 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 77 69 6e 64 6f 77 20 66 6f 72 20 61 6e tructs.the.console.window.for.an
2da20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 20 20 49 74 0d 23 20 63 61 6e 20 62 65 20 75 73 65 64 20 .application...It.#.can.be.used.
2da40 62 79 20 6e 6f 6e 2d 75 6e 69 78 20 73 79 73 74 65 6d 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 by.non-unix.systems.that.do.not.
2da60 68 61 76 65 20 62 75 69 6c 74 2d 69 6e 20 73 75 70 70 6f 72 74 0d 23 20 66 6f 72 20 73 68 65 6c have.built-in.support.#.for.shel
2da80 6c 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 63 6f 6e 73 6f 6c 65 2e 74 ls..#.#.RCS:.@(#).$Id:.console.t
2daa0 63 6c 2c 76 20 31 2e 38 2e 32 2e 34 20 32 30 30 31 2f 31 30 2f 31 39 20 31 39 3a 34 30 3a 31 37 cl,v.1.8.2.4.2001/10/19.19:40:17
2dac0 20 64 61 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 .das.Exp.$.#.#.Copyright.(c).199
2dae0 38 2d 31 39 39 39 20 53 63 72 69 70 74 69 63 73 20 43 6f 72 70 2e 0d 23 20 43 6f 70 79 72 69 67 8-1999.Scriptics.Corp..#.Copyrig
2db00 68 74 20 28 63 29 20 31 39 39 35 2d 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d ht.(c).1995-1997.Sun.Microsystem
2db20 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 s,.Inc..#.#.See.the.file."licens
2db40 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 e.terms".for.information.on.usag
2db60 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 e.and.redistribution.#.of.this.f
2db80 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c ile,.and.for.a.DISCLAIMER.OF.ALL
2dba0 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 54 4f 44 4f 3a 20 68 69 73 74 6f 72 79 20 .WARRANTIES..#..#.TODO:.history.
2dbc0 2d 20 72 65 6d 65 6d 62 65 72 20 70 61 72 74 69 61 6c 6c 79 20 77 72 69 74 74 65 6e 20 63 6f 6d -.remember.partially.written.com
2dbe0 6d 61 6e 64 0d 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 6d 73 67 63 61 74 0d 0d 6e 61 6d mand.package.require.msgcat..nam
2dc00 65 73 70 61 63 65 20 65 76 61 6c 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 20 7b 0d 20 20 20 20 espace.eval.::tk::console.{.....
2dc20 76 61 72 69 61 62 6c 65 20 62 6c 69 6e 6b 54 69 6d 65 20 20 20 35 30 30 20 3b 20 23 20 6d 73 65 variable.blinkTime...500.;.#.mse
2dc40 63 73 20 74 6f 20 62 6c 69 6e 6b 20 62 72 61 63 65 64 20 72 61 6e 67 65 20 66 6f 72 0d 20 20 20 cs.to.blink.braced.range.for....
2dc60 20 76 61 72 69 61 62 6c 65 20 62 6c 69 6e 6b 52 61 6e 67 65 20 20 31 20 20 20 3b 20 23 20 65 6e .variable.blinkRange..1...;.#.en
2dc80 61 62 6c 65 20 62 6c 69 6e 6b 69 6e 67 20 6f 66 20 74 68 65 20 65 6e 74 69 72 65 20 62 72 61 63 able.blinking.of.the.entire.brac
2dca0 65 64 20 72 61 6e 67 65 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 6d 61 67 69 63 4b 65 79 73 20 ed.range.....variable.magicKeys.
2dcc0 20 20 31 20 20 20 3b 20 23 20 65 6e 61 62 6c 65 20 62 72 61 63 65 20 6d 61 74 63 68 69 6e 67 20 ..1...;.#.enable.brace.matching.
2dce0 61 6e 64 20 70 72 6f 63 2f 76 61 72 20 72 65 63 6f 67 6e 69 74 69 6f 6e 0d 20 20 20 20 76 61 72 and.proc/var.recognition.....var
2dd00 69 61 62 6c 65 20 6d 61 78 4c 69 6e 65 73 20 20 20 20 36 30 30 20 3b 20 23 20 6d 61 78 69 6d 75 iable.maxLines....600.;.#.maximu
2dd20 6d 20 23 20 6f 66 20 6c 69 6e 65 73 20 62 75 66 66 65 72 65 64 20 69 6e 20 63 6f 6e 73 6f 6c 65 m.#.of.lines.buffered.in.console
2dd40 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 73 68 6f 77 4d 61 74 63 68 65 73 20 31 20 20 20 3b 20 .....variable.showMatches.1...;.
2dd60 23 20 73 68 6f 77 20 6d 75 6c 74 69 70 6c 65 20 65 78 70 61 6e 64 20 6d 61 74 63 68 65 73 0d 0d #.show.multiple.expand.matches..
2dd80 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 50 6c 75 67 69 6e 20 5b 69 6e 66 6f 20 65 78 69 73 ....variable.inPlugin.[info.exis
2dda0 74 73 20 65 6d 62 65 64 5f 61 72 67 73 5d 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 64 65 66 61 ts.embed_args].....variable.defa
2ddc0 75 6c 74 50 72 6f 6d 70 74 20 20 3b 20 23 20 64 65 66 61 75 6c 74 20 70 72 6f 6d 70 74 20 69 66 ultPrompt..;.#.default.prompt.if
2dde0 20 74 63 6c 5f 70 72 6f 6d 70 74 31 20 69 73 6e 27 74 20 75 73 65 64 0d 0d 20 20 20 20 69 66 20 .tcl_prompt1.isn't.used......if.
2de00 7b 24 69 6e 50 6c 75 67 69 6e 7d 20 7b 0d 09 73 65 74 20 64 65 66 61 75 6c 74 50 72 6f 6d 70 74 {$inPlugin}.{..set.defaultPrompt
2de20 20 7b 73 75 62 73 74 20 22 5b 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 5d 20 25 20 22 7d 0d 20 .{subst."[history.nextid].%."}..
2de40 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 64 65 66 61 75 6c 74 50 72 6f 6d 70 74 20 7b ...}.else.{..set.defaultPrompt.{
2de60 73 75 62 73 74 20 22 28 5b 66 69 6c 65 20 74 61 69 6c 20 5b 70 77 64 5d 5d 29 20 5b 68 69 73 74 subst."([file.tail.[pwd]]).[hist
2de80 6f 72 79 20 6e 65 78 74 69 64 5d 20 25 20 22 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 73 69 6d 70 ory.nextid].%."}.....}.}..#.simp
2dea0 6c 65 20 63 6f 6d 70 61 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 6b 63 6f 6e 20 63 6f 64 le.compat.function.for.tkcon.cod
2dec0 65 20 61 64 64 65 64 20 66 6f 72 20 74 68 69 73 20 63 6f 6e 73 6f 6c 65 0d 69 6e 74 65 72 70 20 e.added.for.this.console.interp.
2dee0 61 6c 69 61 73 20 7b 7d 20 45 76 61 6c 41 74 74 61 63 68 65 64 20 7b 7d 20 63 6f 6e 73 6f 6c 65 alias.{}.EvalAttached.{}.console
2df00 69 6e 74 65 72 70 20 65 76 61 6c 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 69 74 20 2d 2d 0d interp.eval..#.tkConsoleInit.--.
2df20 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 6f 6e 73 74 72 75 63 74 73 20 61 6e 64 20 #.This.procedure.constructs.and.
2df40 63 6f 6e 66 69 67 75 72 65 73 20 74 68 65 20 63 6f 6e 73 6f 6c 65 20 77 69 6e 64 6f 77 73 2e 0d configures.the.console.windows..
2df60 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 09 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b #.#.Arguments:.#..None...proc.tk
2df80 43 6f 6e 73 6f 6c 65 49 6e 69 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f ConsoleInit.{}.{.....global.tcl_
2dfa0 70 6c 61 74 66 6f 72 6d 0d 0d 20 20 20 20 69 66 20 7b 21 5b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 platform......if.{![consoleinter
2dfc0 70 20 65 76 61 6c 20 7b 73 65 74 20 74 63 6c 5f 69 6e 74 65 72 61 63 74 69 76 65 7d 5d 7d 20 7b p.eval.{set.tcl_interactive}]}.{
2dfe0 0d 09 77 6d 20 77 69 74 68 64 72 61 77 20 2e 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b ..wm.withdraw.......}......if.{[
2e000 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 string.compare.$tcl_platform(pla
2e020 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 73 65 74 20 6d 6f 64 20 tform)."macintosh"]}.{..set.mod.
2e040 22 43 74 72 6c 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6d 6f 64 20 22 43 6d "Ctrl".....}.else.{..set.mod."Cm
2e060 64 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 0d 20 20 20 20 d".....}......menu..menubar.....
2e080 2e 6d 65 6e 75 62 61 72 20 61 64 64 20 63 61 73 63 61 64 65 20 2d 6c 61 62 65 6c 20 46 69 6c 65 .menubar.add.cascade.-label.File
2e0a0 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 2d 75 6e 64 65 72 6c 69 6e 65 20 .-menu..menubar.file.-underline.
2e0c0 30 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 20 61 64 64 20 63 61 73 63 61 64 65 20 2d 6c 61 62 65 0......menubar.add.cascade.-labe
2e0e0 6c 20 45 64 69 74 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 2d 75 6e 64 65 l.Edit.-menu..menubar.edit.-unde
2e100 72 6c 69 6e 65 20 30 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 rline.0......menu..menubar.file.
2e120 2d 74 65 61 72 6f 66 66 20 30 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 -tearoff.0......menubar.file.add
2e140 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 53 6f 75 72 63 65 2e 2e 2e 22 20 2d 75 6e 64 .command.-label."Source...".-und
2e160 65 72 6c 69 6e 65 20 30 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 74 6b 43 6f 6e 73 6f erline.0.\......-command.tkConso
2e180 6c 65 53 6f 75 72 63 65 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 20 63 leSource......menubar.file.add.c
2e1a0 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 48 69 64 65 20 43 6f 6e 73 6f 6c 65 22 20 2d 75 6e ommand.-label."Hide.Console".-un
2e1c0 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 7b 77 6d 20 77 69 derline.0.\......-command.{wm.wi
2e1e0 74 68 64 72 61 77 20 2e 7d 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 20 thdraw..}......menubar.file.add.
2e200 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 5b 3a 3a 6d 73 67 63 61 74 3a 3a 6d 63 20 22 43 6c command.-label.[::msgcat::mc."Cl
2e220 65 61 72 20 43 6f 6e 73 6f 6c 65 22 5d 20 5c 0d 09 20 20 20 20 2d 75 6e 64 65 72 6c 69 6e 65 20 ear.Console"].\......-underline.
2e240 30 20 2d 63 6f 6d 6d 61 6e 64 20 7b 2e 63 6f 6e 73 6f 6c 65 20 64 65 6c 65 74 65 20 31 2e 30 20 0.-command.{.console.delete.1.0.
2e260 22 70 72 6f 6d 70 74 45 6e 64 20 6c 69 6e 65 73 74 61 72 74 22 7d 0d 20 20 20 20 69 66 20 7b 5b "promptEnd.linestart"}.....if.{[
2e280 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 string.compare.$tcl_platform(pla
2e2a0 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 tform)."macintosh"]}.{...menubar
2e2c0 2e 66 69 6c 65 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 45 78 69 74 22 20 .file.add.command.-label."Exit".
2e2e0 2d 75 6e 64 65 72 6c 69 6e 65 20 31 20 2d 63 6f 6d 6d 61 6e 64 20 65 78 69 74 0d 20 20 20 20 7d -underline.1.-command.exit.....}
2e300 20 65 6c 73 65 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 2e 66 69 6c 65 20 61 64 64 20 63 6f 6d 6d 61 .else.{...menubar.file.add.comma
2e320 6e 64 20 2d 6c 61 62 65 6c 20 22 51 75 69 74 22 20 2d 63 6f 6d 6d 61 6e 64 20 65 78 69 74 20 2d nd.-label."Quit".-command.exit.-
2e340 61 63 63 65 6c 20 43 6d 64 2d 51 0d 20 20 20 20 7d 0d 0d 20 20 20 20 6d 65 6e 75 20 2e 6d 65 6e accel.Cmd-Q.....}......menu..men
2e360 75 62 61 72 2e 65 64 69 74 20 2d 74 65 61 72 6f 66 66 20 30 0d 20 20 20 20 2e 6d 65 6e 75 62 61 ubar.edit.-tearoff.0......menuba
2e380 72 2e 65 64 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 75 74 22 20 r.edit.add.command.-label."Cut".
2e3a0 2d 75 6e 64 65 72 6c 69 6e 65 20 32 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 -underline.2.\......-command.{.e
2e3c0 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 75 74 3e 3e 20 7d vent.generate..console.<<Cut>>.}
2e3e0 20 2d 61 63 63 65 6c 20 22 24 6d 6f 64 2b 58 22 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 65 64 .-accel."$mod+X"......menubar.ed
2e400 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 6f 70 79 22 20 2d 75 6e it.add.command.-label."Copy".-un
2e420 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e derline.0.\......-command.{.even
2e440 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 70 79 3e 3e 20 7d 20 2d t.generate..console.<<Copy>>.}.-
2e460 61 63 63 65 6c 20 22 24 6d 6f 64 2b 43 22 0d 20 20 20 20 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 accel."$mod+C"......menubar.edit
2e480 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 50 61 73 74 65 22 20 2d 75 6e 64 .add.command.-label."Paste".-und
2e4a0 65 72 6c 69 6e 65 20 31 20 5c 0d 09 20 20 20 20 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e 74 erline.1.\......-command.{.event
2e4c0 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 50 61 73 74 65 3e 3e 20 7d 20 2d .generate..console.<<Paste>>.}.-
2e4e0 61 63 63 65 6c 20 22 24 6d 6f 64 2b 56 22 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 accel."$mod+V"......if.{[string.
2e500 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 compare.$tcl_platform(platform).
2e520 22 77 69 6e 64 6f 77 73 22 5d 7d 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 61 64 64 "windows"]}.{...menubar.edit.add
2e540 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 6c 20 22 43 6c 65 61 72 22 20 2d 75 6e 64 65 72 6c 69 .command.-label."Clear".-underli
2e560 6e 65 20 32 20 5c 0d 09 09 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e 74 20 67 65 6e 65 72 61 ne.2.\...-command.{.event.genera
2e580 74 65 20 2e 63 6f 6e 73 6f 6c 65 20 3c 3c 43 6c 65 61 72 3e 3e 20 7d 0d 20 20 20 20 7d 20 65 6c te..console.<<Clear>>.}.....}.el
2e5a0 73 65 20 7b 0d 09 2e 6d 65 6e 75 62 61 72 2e 65 64 69 74 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 se.{...menubar.edit.add.command.
2e5c0 2d 6c 61 62 65 6c 20 22 44 65 6c 65 74 65 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 -label."Delete".-underline.0.\..
2e5e0 09 2d 63 6f 6d 6d 61 6e 64 20 7b 20 65 76 65 6e 74 20 67 65 6e 65 72 61 74 65 20 2e 63 6f 6e 73 .-command.{.event.generate..cons
2e600 6f 6c 65 20 3c 3c 43 6c 65 61 72 3e 3e 20 7d 20 2d 61 63 63 65 6c 20 22 44 65 6c 22 0d 0d 09 2e ole.<<Clear>>.}.-accel."Del"....
2e620 6d 65 6e 75 62 61 72 20 61 64 64 20 63 61 73 63 61 64 65 20 2d 6c 61 62 65 6c 20 48 65 6c 70 20 menubar.add.cascade.-label.Help.
2e640 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 68 65 6c 70 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 -menu..menubar.help.-underline.0
2e660 0d 09 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 2e 68 65 6c 70 20 2d 74 65 61 72 6f 66 66 20 30 0d ..menu..menubar.help.-tearoff.0.
2e680 09 2e 6d 65 6e 75 62 61 72 2e 68 65 6c 70 20 61 64 64 20 63 6f 6d 6d 61 6e 64 20 2d 6c 61 62 65 ..menubar.help.add.command.-labe
2e6a0 6c 20 22 41 62 6f 75 74 2e 2e 2e 22 20 2d 75 6e 64 65 72 6c 69 6e 65 20 30 20 5c 0d 09 09 2d 63 l."About...".-underline.0.\...-c
2e6c0 6f 6d 6d 61 6e 64 20 74 6b 43 6f 6e 73 6f 6c 65 41 62 6f 75 74 0d 20 20 20 20 7d 0d 0d 20 20 20 ommand.tkConsoleAbout.....}.....
2e6e0 20 2e 20 63 6f 6e 66 69 67 75 72 65 20 2d 6d 65 6e 75 20 2e 6d 65 6e 75 62 61 72 0d 0d 20 20 20 ...configure.-menu..menubar.....
2e700 20 73 65 74 20 63 6f 6e 20 5b 74 65 78 74 20 2e 63 6f 6e 73 6f 6c 65 20 20 2d 79 73 63 72 6f 6c .set.con.[text..console..-yscrol
2e720 6c 63 6f 6d 6d 61 6e 64 20 5b 6c 69 73 74 20 2e 73 62 20 73 65 74 5d 20 2d 73 65 74 67 72 69 64 lcommand.[list..sb.set].-setgrid
2e740 20 74 72 75 65 5d 0d 20 20 20 20 73 63 72 6f 6c 6c 62 61 72 20 2e 73 62 20 2d 63 6f 6d 6d 61 6e .true].....scrollbar..sb.-comman
2e760 64 20 5b 6c 69 73 74 20 24 63 6f 6e 20 79 76 69 65 77 5d 0d 20 20 20 20 70 61 63 6b 20 2e 73 62 d.[list.$con.yview].....pack..sb
2e780 20 2d 73 69 64 65 20 72 69 67 68 74 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 70 61 63 6b .-side.right.-fill.both.....pack
2e7a0 20 24 63 6f 6e 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 20 2d 73 69 64 65 .$con.-fill.both.-expand.1.-side
2e7c0 20 6c 65 66 74 0d 20 20 20 20 73 77 69 74 63 68 20 2d 65 78 61 63 74 20 24 74 63 6c 5f 70 6c 61 .left.....switch.-exact.$tcl_pla
2e7e0 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 7b 0d 09 22 6d 61 63 69 6e 74 6f 73 68 22 20 7b tform(platform).{.."macintosh".{
2e800 0d 09 20 20 20 20 24 63 6f 6e 20 63 6f 6e 66 69 67 75 72 65 20 2d 66 6f 6e 74 20 7b 4d 6f 6e 61 ......$con.configure.-font.{Mona
2e820 63 6f 20 39 20 6e 6f 72 6d 61 6c 7d 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 73 73 co.9.normal}.-highlightthickness
2e840 20 30 0d 09 7d 0d 09 22 77 69 6e 64 6f 77 73 22 20 7b 0d 09 20 20 20 20 24 63 6f 6e 20 63 6f 6e .0..}.."windows".{......$con.con
2e860 66 69 67 75 72 65 20 2d 66 6f 6e 74 20 73 79 73 74 65 6d 66 69 78 65 64 0d 09 7d 0d 20 20 20 20 figure.-font.systemfixed..}.....
2e880 7d 0d 0d 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 42 69 6e 64 20 24 63 6f 6e 0d 0d 20 20 20 20 24 }......tkConsoleBind.$con......$
2e8a0 63 6f 6e 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 73 74 64 65 72 72 09 2d 66 6f 72 65 67 72 con.tag.configure.stderr.-foregr
2e8c0 6f 75 6e 64 20 72 65 64 0d 20 20 20 20 24 63 6f 6e 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 ound.red.....$con.tag.configure.
2e8e0 73 74 64 69 6e 09 2d 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 75 65 0d 20 20 20 20 24 63 6f 6e 20 stdin.-foreground.blue.....$con.
2e900 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 70 72 6f 6d 70 74 09 2d 66 6f 72 65 67 72 6f 75 6e 64 tag.configure.prompt.-foreground
2e920 20 5c 23 38 46 34 34 33 33 0d 20 20 20 20 24 63 6f 6e 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 .\#8F4433.....$con.tag.configure
2e940 20 70 72 6f 63 09 2d 66 6f 72 65 67 72 6f 75 6e 64 20 5c 23 30 30 38 38 30 30 0d 20 20 20 20 24 .proc.-foreground.\#008800.....$
2e960 63 6f 6e 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 76 61 72 09 2d 62 61 63 6b 67 72 6f 75 6e con.tag.configure.var.-backgroun
2e980 64 20 5c 23 46 46 43 30 44 30 0d 20 20 20 20 24 63 6f 6e 20 74 61 67 20 72 61 69 73 65 20 73 65 d.\#FFC0D0.....$con.tag.raise.se
2e9a0 6c 0d 20 20 20 20 24 63 6f 6e 20 74 61 67 20 63 6f 6e 66 69 67 75 72 65 20 62 6c 69 6e 6b 09 2d l.....$con.tag.configure.blink.-
2e9c0 62 61 63 6b 67 72 6f 75 6e 64 20 5c 23 46 46 46 46 30 30 0d 20 20 20 20 24 63 6f 6e 20 74 61 67 background.\#FFFF00.....$con.tag
2e9e0 20 63 6f 6e 66 69 67 75 72 65 20 66 69 6e 64 09 2d 62 61 63 6b 67 72 6f 75 6e 64 20 5c 23 46 46 .configure.find.-background.\#FF
2ea00 46 46 30 30 0d 0d 20 20 20 20 66 6f 63 75 73 20 24 63 6f 6e 0d 20 20 20 20 0d 20 20 20 20 77 6d FF00......focus.$con..........wm
2ea20 20 70 72 6f 74 6f 63 6f 6c 20 2e 20 57 4d 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 20 7b 20 77 .protocol...WM_DELETE_WINDOW.{.w
2ea40 6d 20 77 69 74 68 64 72 61 77 20 2e 20 7d 0d 20 20 20 20 77 6d 20 74 69 74 6c 65 20 2e 20 22 43 m.withdraw...}.....wm.title..."C
2ea60 6f 6e 73 6f 6c 65 22 0d 20 20 20 20 66 6c 75 73 68 20 73 74 64 6f 75 74 0d 20 20 20 20 24 63 6f onsole".....flush.stdout.....$co
2ea80 6e 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 20 5b 24 63 6f 6e 20 69 6e 64 65 78 20 22 65 n.mark.set.output.[$con.index."e
2eaa0 6e 64 20 2d 20 31 20 63 68 61 72 22 5d 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f nd.-.1.char"].....tkTextSetCurso
2eac0 72 20 24 63 6f 6e 20 65 6e 64 0d 20 20 20 20 24 63 6f 6e 20 6d 61 72 6b 20 73 65 74 20 70 72 6f r.$con.end.....$con.mark.set.pro
2eae0 6d 70 74 45 6e 64 20 69 6e 73 65 72 74 0d 20 20 20 20 24 63 6f 6e 20 6d 61 72 6b 20 67 72 61 76 mptEnd.insert.....$con.mark.grav
2eb00 69 74 79 20 70 72 6f 6d 70 74 45 6e 64 20 6c 65 66 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c ity.promptEnd.left.}..#.tkConsol
2eb20 65 53 6f 75 72 63 65 20 2d 2d 0d 23 0d 23 20 50 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 eSource.--.#.#.Prompts.the.user.
2eb40 66 6f 72 20 61 20 66 69 6c 65 20 74 6f 20 73 6f 75 72 63 65 20 69 6e 20 74 68 65 20 6d 61 69 6e for.a.file.to.source.in.the.main
2eb60 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e .interpreter..#.#.Arguments:.#.N
2eb80 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 53 6f 75 72 63 65 20 7b 7d 20 7b 0d one...proc.tkConsoleSource.{}.{.
2eba0 20 20 20 20 73 65 74 20 66 69 6c 65 6e 61 6d 65 20 5b 74 6b 5f 67 65 74 4f 70 65 6e 46 69 6c 65 ....set.filename.[tk_getOpenFile
2ebc0 20 2d 64 65 66 61 75 6c 74 65 78 74 65 6e 73 69 6f 6e 20 2e 74 63 6c 20 2d 70 61 72 65 6e 74 20 .-defaultextension..tcl.-parent.
2ebe0 2e 20 5c 0d 09 20 20 20 20 2d 74 69 74 6c 65 20 22 53 65 6c 65 63 74 20 61 20 66 69 6c 65 20 74 ..\......-title."Select.a.file.t
2ec00 6f 20 73 6f 75 72 63 65 22 20 5c 0d 09 20 20 20 20 2d 66 69 6c 65 74 79 70 65 73 20 7b 7b 22 54 o.source".\......-filetypes.{{"T
2ec20 63 6c 20 53 63 72 69 70 74 73 22 20 2e 74 63 6c 7d 20 7b 22 41 6c 6c 20 46 69 6c 65 73 22 20 2a cl.Scripts"..tcl}.{"All.Files".*
2ec40 7d 7d 5d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 66 69 6c }}].....if.{[string.compare.$fil
2ec60 65 6e 61 6d 65 20 22 22 5d 7d 20 7b 0d 20 20 20 20 09 73 65 74 20 63 6d 64 20 5b 6c 69 73 74 20 ename.""]}.{......set.cmd.[list.
2ec80 73 6f 75 72 63 65 20 24 66 69 6c 65 6e 61 6d 65 5d 0d 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 63 source.$filename]..if.{[catch.{c
2eca0 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 24 63 6d 64 7d 20 72 65 73 75 6c 74 5d 7d onsoleinterp.eval.$cmd}.result]}
2ecc0 20 7b 0d 09 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 73 74 64 65 72 72 20 22 .{......tkConsoleOutput.stderr."
2ece0 24 72 65 73 75 6c 74 5c 6e 22 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f $result\n"..}.....}.}..#.tkConso
2ed00 6c 65 49 6e 76 6f 6b 65 20 2d 2d 0d 23 20 50 72 6f 63 65 73 73 65 73 20 74 68 65 20 63 6f 6d 6d leInvoke.--.#.Processes.the.comm
2ed20 61 6e 64 20 6c 69 6e 65 20 69 6e 70 75 74 2e 20 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 and.line.input...If.the.command.
2ed40 69 73 20 63 6f 6d 70 6c 65 74 65 20 69 74 0d 23 20 69 73 20 65 76 61 6c 65 64 20 69 6e 20 74 68 is.complete.it.#.is.evaled.in.th
2ed60 65 20 6d 61 69 6e 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 e.main.interpreter...Otherwise,.
2ed80 74 68 65 20 63 6f 6e 74 69 6e 75 61 74 69 6f 6e 0d 23 20 70 72 6f 6d 70 74 20 69 73 20 61 64 64 the.continuation.#.prompt.is.add
2eda0 65 64 20 61 6e 64 20 6d 6f 72 65 20 69 6e 70 75 74 20 6d 61 79 20 62 65 20 61 64 64 65 64 2e 0d ed.and.more.input.may.be.added..
2edc0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 #.#.Arguments:.#.None...proc.tkC
2ede0 6f 6e 73 6f 6c 65 49 6e 76 6f 6b 65 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 72 61 onsoleInvoke.{args}.{.....set.ra
2ee00 6e 67 65 73 20 5b 2e 63 6f 6e 73 6f 6c 65 20 74 61 67 20 72 61 6e 67 65 73 20 69 6e 70 75 74 5d nges.[.console.tag.ranges.input]
2ee20 0d 20 20 20 20 73 65 74 20 63 6d 64 20 22 22 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 .....set.cmd."".....if.{[llength
2ee40 20 24 72 61 6e 67 65 73 5d 7d 20 7b 0d 09 73 65 74 20 70 6f 73 20 30 0d 09 77 68 69 6c 65 20 7b .$ranges]}.{..set.pos.0..while.{
2ee60 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 73 20 [string.compare.[lindex.$ranges.
2ee80 24 70 6f 73 5d 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 73 74 61 72 74 20 5b 6c 69 6e $pos].""]}.{......set.start.[lin
2eea0 64 65 78 20 24 72 61 6e 67 65 73 20 24 70 6f 73 5d 0d 09 20 20 20 20 73 65 74 20 65 6e 64 20 5b dex.$ranges.$pos]......set.end.[
2eec0 6c 69 6e 64 65 78 20 24 72 61 6e 67 65 73 20 5b 69 6e 63 72 20 70 6f 73 5d 5d 0d 09 20 20 20 20 lindex.$ranges.[incr.pos]]......
2eee0 61 70 70 65 6e 64 20 63 6d 64 20 5b 2e 63 6f 6e 73 6f 6c 65 20 67 65 74 20 24 73 74 61 72 74 20 append.cmd.[.console.get.$start.
2ef00 24 65 6e 64 5d 0d 09 20 20 20 20 69 6e 63 72 20 70 6f 73 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 $end]......incr.pos..}.....}....
2ef20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 6d 64 20 22 22 5d 7d 20 7b 0d 09 .if.{[string.equal.$cmd.""]}.{..
2ef40 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 69 tkConsolePrompt.....}.elseif.{[i
2ef60 6e 66 6f 20 63 6f 6d 70 6c 65 74 65 20 24 63 6d 64 5d 7d 20 7b 0d 09 2e 63 6f 6e 73 6f 6c 65 20 nfo.complete.$cmd]}.{...console.
2ef80 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 20 65 6e 64 0d 09 2e 63 6f 6e 73 6f 6c 65 20 74 61 mark.set.output.end...console.ta
2efa0 67 20 64 65 6c 65 74 65 20 69 6e 70 75 74 0d 09 73 65 74 20 72 65 73 75 6c 74 20 5b 63 6f 6e 73 g.delete.input..set.result.[cons
2efc0 6f 6c 65 69 6e 74 65 72 70 20 72 65 63 6f 72 64 20 24 63 6d 64 5d 0d 09 69 66 20 7b 5b 73 74 72 oleinterp.record.$cmd]..if.{[str
2efe0 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 72 65 73 75 6c 74 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 ing.compare.$result.""]}.{......
2f000 70 75 74 73 20 24 72 65 73 75 6c 74 0d 09 7d 0d 09 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 puts.$result..}..tkConsoleHistor
2f020 79 20 72 65 73 65 74 0d 09 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 0d 20 20 20 20 7d 20 65 y.reset..tkConsolePrompt.....}.e
2f040 6c 73 65 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 20 70 61 72 74 69 61 6c 0d 20 lse.{..tkConsolePrompt.partial..
2f060 20 20 20 7d 0d 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 79 76 69 65 77 20 2d 70 69 63 6b 70 6c 61 ...}......console.yview.-pickpla
2f080 63 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 ce.insert.}..#.tkConsoleHistory.
2f0a0 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 63 --.#.This.procedure.implements.c
2f0c0 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 68 69 73 74 6f 72 79 20 66 6f 72 20 74 68 65 0d 23 20 63 6f ommand.line.history.for.the.#.co
2f0e0 6e 73 6f 6c 65 2e 20 20 49 6e 20 67 65 6e 65 72 61 6c 20 69 73 20 65 76 61 6c 73 20 74 68 65 20 nsole...In.general.is.evals.the.
2f100 68 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 74 68 65 0d 23 20 6d 61 69 6e 20 69 6e history.command.in.the.#.main.in
2f120 74 65 72 70 72 65 74 65 72 20 74 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 2e terpreter.to.obtain.the.history.
2f140 20 20 54 68 65 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 0d 23 20 68 69 73 74 4e 75 6d 20 ..The.global.variable.#.histNum.
2f160 69 73 20 75 73 65 64 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 is.used.to.store.the.current.loc
2f180 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 ation.in.the.history..#.#.Argume
2f1a0 6e 74 73 3a 0d 23 20 63 6d 64 20 2d 09 57 68 69 63 68 20 61 63 74 69 6f 6e 20 74 6f 20 74 61 6b nts:.#.cmd.-.Which.action.to.tak
2f1c0 65 3a 20 70 72 65 76 2c 20 6e 65 78 74 2c 20 72 65 73 65 74 2e 0d 0d 73 65 74 20 68 69 73 74 4e e:.prev,.next,.reset...set.histN
2f1e0 75 6d 20 31 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 7b 63 6d 64 7d um.1.proc.tkConsoleHistory.{cmd}
2f200 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 68 69 73 74 4e 75 6d 0d 20 20 20 20 0d 20 20 20 20 73 .{.....global.histNum..........s
2f220 77 69 74 63 68 20 24 63 6d 64 20 7b 0d 20 20 20 20 09 70 72 65 76 20 7b 0d 09 20 20 20 20 69 6e witch.$cmd.{......prev.{......in
2f240 63 72 20 68 69 73 74 4e 75 6d 20 2d 31 0d 09 20 20 20 20 69 66 20 7b 24 68 69 73 74 4e 75 6d 20 cr.histNum.-1......if.{$histNum.
2f260 3d 3d 20 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 7b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 ==.0}.{...set.cmd.{history.event
2f280 20 5b 65 78 70 72 20 7b 5b 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 5d 20 2d 31 7d 5d 7d 0d 09 .[expr.{[history.nextid].-1}]}..
2f2a0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 68 69 73 74 6f 72 79 20 ....}.else.{...set.cmd."history.
2f2c0 65 76 65 6e 74 20 24 68 69 73 74 4e 75 6d 22 0d 09 20 20 20 20 7d 0d 20 20 20 20 09 20 20 20 20 event.$histNum"......}..........
2f2e0 69 66 20 7b 5b 63 61 74 63 68 20 7b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 24 if.{[catch.{consoleinterp.eval.$
2f300 63 6d 64 7d 20 63 6d 64 5d 7d 20 7b 0d 20 20 20 20 09 20 20 20 20 09 69 6e 63 72 20 68 69 73 74 cmd}.cmd]}.{...........incr.hist
2f320 4e 75 6d 0d 20 20 20 20 09 20 20 20 20 09 72 65 74 75 72 6e 0d 20 20 20 20 09 20 20 20 20 7d 0d Num...........return..........}.
2f340 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 64 65 6c 65 74 65 20 70 72 6f 6d 70 74 45 6e 64 20 65 ......console.delete.promptEnd.e
2f360 6e 64 0d 20 20 20 20 09 20 20 20 20 2e 63 6f 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 70 72 6f 6d nd...........console.insert.prom
2f380 70 74 45 6e 64 20 24 63 6d 64 20 7b 69 6e 70 75 74 20 73 74 64 69 6e 7d 0d 20 20 20 20 09 7d 0d ptEnd.$cmd.{input.stdin}......}.
2f3a0 20 20 20 20 09 6e 65 78 74 20 7b 0d 09 20 20 20 20 69 6e 63 72 20 68 69 73 74 4e 75 6d 0d 09 20 .....next.{......incr.histNum...
2f3c0 20 20 20 69 66 20 7b 24 68 69 73 74 4e 75 6d 20 3d 3d 20 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d ...if.{$histNum.==.0}.{...set.cm
2f3e0 64 20 7b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 20 5b 65 78 70 72 20 7b 5b 68 69 73 74 6f 72 79 d.{history.event.[expr.{[history
2f400 20 6e 65 78 74 69 64 5d 20 2d 31 7d 5d 7d 0d 09 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 68 .nextid].-1}]}......}.elseif.{$h
2f420 69 73 74 4e 75 6d 20 3e 20 30 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 22 0d 09 09 73 65 74 istNum.>.0}.{...set.cmd.""...set
2f440 20 68 69 73 74 4e 75 6d 20 31 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 63 .histNum.1......}.else.{...set.c
2f460 6d 64 20 22 68 69 73 74 6f 72 79 20 65 76 65 6e 74 20 24 68 69 73 74 4e 75 6d 22 0d 09 20 20 20 md."history.event.$histNum".....
2f480 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 63 6d 64 .}......if.{[string.compare.$cmd
2f4a0 20 22 22 5d 7d 20 7b 0d 09 09 63 61 74 63 68 20 7b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 .""]}.{...catch.{consoleinterp.e
2f4c0 76 61 6c 20 24 63 6d 64 7d 20 63 6d 64 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 2e 63 6f 6e 73 6f val.$cmd}.cmd......}.......conso
2f4e0 6c 65 20 64 65 6c 65 74 65 20 70 72 6f 6d 70 74 45 6e 64 20 65 6e 64 0d 09 20 20 20 20 2e 63 6f le.delete.promptEnd.end.......co
2f500 6e 73 6f 6c 65 20 69 6e 73 65 72 74 20 70 72 6f 6d 70 74 45 6e 64 20 24 63 6d 64 20 7b 69 6e 70 nsole.insert.promptEnd.$cmd.{inp
2f520 75 74 20 73 74 64 69 6e 7d 0d 20 20 20 20 09 7d 0d 20 20 20 20 09 72 65 73 65 74 20 7b 0d 20 20 ut.stdin}......}......reset.{...
2f540 20 20 09 20 20 20 20 73 65 74 20 68 69 73 74 4e 75 6d 20 31 0d 20 20 20 20 09 7d 0d 20 20 20 20 .......set.histNum.1......}.....
2f560 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 20 2d 2d 0d 23 20 54 68 69 73 }.}..#.tkConsolePrompt.--.#.This
2f580 20 70 72 6f 63 65 64 75 72 65 20 64 72 61 77 73 20 74 68 65 20 70 72 6f 6d 70 74 2e 20 20 49 66 .procedure.draws.the.prompt...If
2f5a0 20 74 63 6c 5f 70 72 6f 6d 70 74 31 20 6f 72 20 74 63 6c 5f 70 72 6f 6d 70 74 32 0d 23 20 65 78 .tcl_prompt1.or.tcl_prompt2.#.ex
2f5c0 69 73 74 73 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 74 20 ists.in.the.main.interpreter.it.
2f5e0 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 0d will.be.called.to.generate.the..
2f600 23 20 70 72 6f 6d 70 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 68 61 72 64 20 63 6f 64 #.prompt...Otherwise,.a.hard.cod
2f620 65 64 20 64 65 66 61 75 6c 74 20 70 72 6f 6d 70 74 20 69 73 20 70 72 69 6e 74 65 64 2e 0d 23 0d ed.default.prompt.is.printed..#.
2f640 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 70 61 72 74 69 61 6c 20 2d 09 46 6c 61 67 20 74 6f #.Arguments:.#.partial.-.Flag.to
2f660 20 73 70 65 63 69 66 79 20 77 68 69 63 68 20 70 72 6f 6d 70 74 20 74 6f 20 70 72 69 6e 74 2e 0d .specify.which.prompt.to.print..
2f680 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 50 72 6f 6d 70 74 20 7b 7b 70 61 72 74 69 61 6c 20 .proc.tkConsolePrompt.{{partial.
2f6a0 6e 6f 72 6d 61 6c 7d 7d 20 7b 0d 20 20 20 20 73 65 74 20 77 20 2e 63 6f 6e 73 6f 6c 65 0d 20 20 normal}}.{.....set.w..console...
2f6c0 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 70 61 72 74 69 61 6c 20 22 6e 6f ..if.{[string.equal.$partial."no
2f6e0 72 6d 61 6c 22 5d 7d 20 7b 0d 09 73 65 74 20 74 65 6d 70 20 5b 24 77 20 69 6e 64 65 78 20 22 65 rmal"]}.{..set.temp.[$w.index."e
2f700 6e 64 20 2d 20 31 20 63 68 61 72 22 5d 0d 09 24 77 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 nd.-.1.char"]..$w.mark.set.outpu
2f720 74 20 65 6e 64 0d 20 20 20 20 09 69 66 20 7b 5b 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 t.end......if.{[consoleinterp.ev
2f740 61 6c 20 22 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 6c 5f 70 72 6f 6d 70 74 31 22 5d 7d 20 7b al."info.exists.tcl_prompt1"]}.{
2f760 0d 20 20 20 20 09 20 20 20 20 63 6f 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 22 65 76 ..........consoleinterp.eval."ev
2f780 61 6c 20 5c 5b 73 65 74 20 74 63 6c 5f 70 72 6f 6d 70 74 31 5c 5d 22 0d 20 20 20 20 09 7d 20 65 al.\[set.tcl_prompt1\]"......}.e
2f7a0 6c 73 65 20 7b 0d 20 20 20 20 09 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 5b lse.{..........puts.-nonewline.[
2f7c0 45 76 61 6c 41 74 74 61 63 68 65 64 20 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 64 65 66 EvalAttached.$::tk::console::def
2f7e0 61 75 6c 74 50 72 6f 6d 70 74 5d 0d 20 20 20 20 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d aultPrompt]......}.....}.else.{.
2f800 09 73 65 74 20 74 65 6d 70 20 5b 24 77 20 69 6e 64 65 78 20 6f 75 74 70 75 74 5d 0d 09 24 77 20 .set.temp.[$w.index.output]..$w.
2f820 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 75 74 20 65 6e 64 0d 20 20 20 20 09 69 66 20 7b 5b 63 6f mark.set.output.end......if.{[co
2f840 6e 73 6f 6c 65 69 6e 74 65 72 70 20 65 76 61 6c 20 22 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 nsoleinterp.eval."info.exists.tc
2f860 6c 5f 70 72 6f 6d 70 74 32 22 5d 7d 20 7b 0d 20 20 20 20 09 20 20 20 20 63 6f 6e 73 6f 6c 65 69 l_prompt2"]}.{..........consolei
2f880 6e 74 65 72 70 20 65 76 61 6c 20 22 65 76 61 6c 20 5c 5b 73 65 74 20 74 63 6c 5f 70 72 6f 6d 70 nterp.eval."eval.\[set.tcl_promp
2f8a0 74 32 5c 5d 22 0d 20 20 20 20 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 70 75 74 73 20 2d 6e t2\]"......}.else.{......puts.-n
2f8c0 6f 6e 65 77 6c 69 6e 65 20 22 3e 20 22 0d 20 20 20 20 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 66 onewline.">."......}.....}.....f
2f8e0 6c 75 73 68 20 73 74 64 6f 75 74 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 6f 75 74 70 lush.stdout.....$w.mark.set.outp
2f900 75 74 20 24 74 65 6d 70 0d 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 24 77 20 ut.$temp.....tkTextSetCursor.$w.
2f920 65 6e 64 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 73 65 74 20 70 72 6f 6d 70 74 45 6e 64 20 69 6e end.....$w.mark.set.promptEnd.in
2f940 73 65 72 74 0d 20 20 20 20 24 77 20 6d 61 72 6b 20 67 72 61 76 69 74 79 20 70 72 6f 6d 70 74 45 sert.....$w.mark.gravity.promptE
2f960 6e 64 20 6c 65 66 74 0d 20 20 20 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 43 6f 6e 73 74 nd.left.....::tk::console::Const
2f980 72 61 69 6e 42 75 66 66 65 72 20 24 77 20 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 6d 61 rainBuffer.$w.$::tk::console::ma
2f9a0 78 4c 69 6e 65 73 0d 20 20 20 20 24 77 20 73 65 65 20 65 6e 64 0d 7d 0d 0d 23 20 74 6b 43 6f 6e xLines.....$w.see.end.}..#.tkCon
2f9c0 73 6f 6c 65 42 69 6e 64 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 66 69 72 soleBind.--.#.This.procedure.fir
2f9e0 73 74 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 st.ensures.that.the.default.bind
2fa00 69 6e 67 73 20 66 6f 72 20 74 68 65 20 54 65 78 74 0d 23 20 63 6c 61 73 73 20 68 61 76 65 20 62 ings.for.the.Text.#.class.have.b
2fa20 65 65 6e 20 64 65 66 69 6e 65 64 2e 20 20 54 68 65 6e 20 63 65 72 74 61 69 6e 20 62 69 6e 64 69 een.defined...Then.certain.bindi
2fa40 6e 67 73 20 61 72 65 20 6f 76 65 72 72 69 64 64 65 6e 20 66 6f 72 0d 23 20 74 68 65 20 63 6c 61 ngs.are.overridden.for.#.the.cla
2fa60 73 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 ss..#.#.Arguments:.#.None...proc
2fa80 20 74 6b 43 6f 6e 73 6f 6c 65 42 69 6e 64 20 7b 77 7d 20 7b 0d 20 20 20 20 62 69 6e 64 74 61 67 .tkConsoleBind.{w}.{.....bindtag
2faa0 73 20 24 77 20 5b 6c 69 73 74 20 24 77 20 43 6f 6e 73 6f 6c 65 20 50 6f 73 74 43 6f 6e 73 6f 6c s.$w.[list.$w.Console.PostConsol
2fac0 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 77 5d 20 61 6c 6c 5d 0d 0d 20 20 20 20 e.[winfo.toplevel.$w].all]......
2fae0 23 23 20 47 65 74 20 61 6c 6c 20 54 65 78 74 20 62 69 6e 64 69 6e 67 73 20 69 6e 74 6f 20 43 6f ##.Get.all.Text.bindings.into.Co
2fb00 6e 73 6f 6c 65 0d 20 20 20 20 66 6f 72 65 61 63 68 20 65 76 20 5b 62 69 6e 64 20 54 65 78 74 5d nsole.....foreach.ev.[bind.Text]
2fb20 20 7b 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 24 65 76 20 5b 62 69 6e 64 20 54 65 78 74 20 24 .{.bind.Console.$ev.[bind.Text.$
2fb40 65 76 5d 20 7d 09 0d 20 20 20 20 23 23 20 57 65 20 72 65 61 6c 6c 79 20 64 69 64 6e 27 74 20 77 ev].}......##.We.really.didn't.w
2fb60 61 6e 74 20 74 68 65 20 6e 65 77 6c 69 6e 65 20 69 6e 73 65 72 74 69 6f 6e 0d 20 20 20 20 62 69 ant.the.newline.insertion.....bi
2fb80 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 6f 3e 20 7b 7d 0d 0d 20 nd.Console.<Control-Key-o>.{}...
2fba0 20 20 20 23 20 46 6f 72 20 74 68 65 20 6d 6f 6d 65 6e 74 2c 20 74 72 61 6e 73 70 6f 73 65 20 69 ...#.For.the.moment,.transpose.i
2fbc0 73 6e 27 74 20 65 6e 61 62 6c 65 64 20 75 6e 74 69 6c 20 74 68 65 20 63 6f 6e 73 6f 6c 65 0d 20 sn't.enabled.until.the.console..
2fbe0 20 20 20 23 20 67 65 74 73 20 61 6e 64 20 6f 76 65 72 68 61 75 6c 20 6f 66 20 68 6f 77 20 69 74 ...#.gets.and.overhaul.of.how.it
2fc00 20 68 61 6e 64 6c 65 73 20 69 6e 70 75 74 20 2d 2d 20 68 6f 62 62 73 0d 20 20 20 20 62 69 6e 64 .handles.input.--.hobbs.....bind
2fc20 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 74 3e 20 7b 7d 0d 0d 20 20 20 .Console.<Control-Key-t>.{}.....
2fc40 20 23 20 49 67 6e 6f 72 65 20 61 6c 6c 20 41 6c 74 2c 20 4d 65 74 61 2c 20 61 6e 64 20 43 6f 6e .#.Ignore.all.Alt,.Meta,.and.Con
2fc60 74 72 6f 6c 20 6b 65 79 70 72 65 73 73 65 73 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63 69 74 6c trol.keypresses.unless.explicitl
2fc80 79 20 62 6f 75 6e 64 2e 0d 20 20 20 20 23 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 61 20 77 y.bound......#.Otherwise,.if.a.w
2fca0 69 64 67 65 74 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 69 idget.binding.for.one.of.these.i
2fcc0 73 20 64 65 66 69 6e 65 64 2c 20 74 68 65 0d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 s.defined,.the......bind.Console
2fce0 20 3c 41 6c 74 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 20 7d 0d 20 20 20 .<Alt-KeyPress>.{#.nothing.}....
2fd00 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 4d 65 74 61 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 .bind.Console.<Meta-KeyPress>.{#
2fd20 20 6e 6f 74 68 69 6e 67 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 .nothing}.....bind.Console.<Cont
2fd40 72 6f 6c 2d 4b 65 79 50 72 65 73 73 3e 20 7b 23 20 6e 6f 74 68 69 6e 67 7d 0d 0d 20 20 20 20 66 rol-KeyPress>.{#.nothing}......f
2fd60 6f 72 65 61 63 68 20 7b 65 76 20 6b 65 79 7d 20 7b 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 50 72 65 oreach.{ev.key}.{..<<Console_Pre
2fd80 76 3e 3e 09 09 3c 4b 65 79 2d 55 70 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 4e 65 78 74 3e 3e 09 v>>..<Key-Up>..<<Console_Next>>.
2fda0 09 3c 4b 65 79 2d 44 6f 77 6e 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 4e 65 78 74 49 6d 6d 65 64 .<Key-Down>..<<Console_NextImmed
2fdc0 69 61 74 65 3e 3e 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 6e 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c iate>>.<Control-Key-n>..<<Consol
2fde0 65 5f 50 72 65 76 49 6d 6d 65 64 69 61 74 65 3e 3e 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 70 e_PrevImmediate>>.<Control-Key-p
2fe00 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 50 72 65 76 53 65 61 72 63 68 3e 3e 09 09 3c 43 6f 6e 74 >..<<Console_PrevSearch>>..<Cont
2fe20 72 6f 6c 2d 4b 65 79 2d 72 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 4e 65 78 74 53 65 61 72 63 68 rol-Key-r>..<<Console_NextSearch
2fe40 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 73 3e 0d 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f >>..<Control-Key-s>...<<Console_
2fe60 45 78 70 61 6e 64 3e 3e 09 09 3c 4b 65 79 2d 45 73 63 61 70 65 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c Expand>>..<Key-Escape>..<<Consol
2fe80 65 5f 45 78 70 61 6e 64 46 69 6c 65 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 4b e_ExpandFile>>..<Control-Shift-K
2fea0 65 79 2d 46 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 78 70 61 6e 64 50 72 6f 63 3e 3e 09 09 3c ey-F>..<<Console_ExpandProc>>..<
2fec0 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 4b 65 79 2d 50 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f Control-Shift-Key-P>..<<Console_
2fee0 45 78 70 61 6e 64 56 61 72 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 53 68 69 66 74 2d 4b 65 79 2d ExpandVar>>..<Control-Shift-Key-
2ff00 56 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 54 61 62 3e 3e 09 09 09 3c 43 6f 6e 74 72 6f 6c 2d 4b V>..<<Console_Tab>>...<Control-K
2ff20 65 79 2d 69 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 54 61 62 3e 3e 09 09 09 3c 4d 65 74 61 2d 4b ey-i>..<<Console_Tab>>...<Meta-K
2ff40 65 79 2d 69 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 76 61 6c 3e 3e 09 09 3c 4b 65 79 2d 52 65 ey-i>..<<Console_Eval>>..<Key-Re
2ff60 74 75 72 6e 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 76 61 6c 3e 3e 09 09 3c 4b 65 79 2d 4b 50 turn>..<<Console_Eval>>..<Key-KP
2ff80 5f 45 6e 74 65 72 3e 0d 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 43 6c 65 61 72 3e 3e 09 09 3c 43 6f _Enter>...<<Console_Clear>>..<Co
2ffa0 6e 74 72 6f 6c 2d 4b 65 79 2d 6c 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 4b 69 6c 6c 4c 69 6e 65 ntrol-Key-l>..<<Console_KillLine
2ffc0 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 6b 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 54 >>..<Control-Key-k>..<<Console_T
2ffe0 72 61 6e 73 70 6f 73 65 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 74 3e 0d 09 3c 3c 43 ranspose>>..<Control-Key-t>..<<C
30000 6f 6e 73 6f 6c 65 5f 43 6c 65 61 72 4c 69 6e 65 3e 3e 09 09 3c 43 6f 6e 74 72 6f 6c 2d 4b 65 79 onsole_ClearLine>>..<Control-Key
30020 2d 75 3e 0d 09 3c 3c 43 6f 6e 73 6f 6c 65 5f 53 61 76 65 43 6f 6d 6d 61 6e 64 3e 3e 09 09 3c 43 -u>..<<Console_SaveCommand>>..<C
30040 6f 6e 74 72 6f 6c 2d 4b 65 79 2d 7a 3e 0d 20 20 20 20 7d 20 7b 0d 09 65 76 65 6e 74 20 61 64 64 ontrol-Key-z>.....}.{..event.add
30060 20 24 65 76 20 24 6b 65 79 0d 09 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 24 6b 65 79 20 7b 7d 0d .$ev.$key..bind.Console.$key.{}.
30080 20 20 20 20 7d 0d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 54 61 62 3e 20 7b 0d ....}......bind.Console.<Tab>.{.
300a0 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 5c 74 0d 09 66 6f 63 75 73 20 25 57 .tkConsoleInsert.%W.\t..focus.%W
300c0 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c ..break.....}.....bind.Console.<
300e0 3c 43 6f 6e 73 6f 6c 65 5f 45 78 70 61 6e 64 3e 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d <Console_Expand>>.{..if.{[%W.com
30100 70 61 72 65 20 69 6e 73 65 72 74 20 3e 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 3a 3a 74 6b 3a pare.insert.>.promptEnd]}.{::tk:
30120 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 20 25 57 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 :console::Expand.%W}.....}.....b
30140 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 78 70 61 6e 64 46 69 6c 65 ind.Console.<<Console_ExpandFile
30160 3e 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3e 20 70 >>.{..if.{[%W.compare.insert.>.p
30180 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e romptEnd]}.{::tk::console::Expan
301a0 64 20 25 57 20 70 61 74 68 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c d.%W.path}.....}.....bind.Consol
301c0 65 20 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 78 70 61 6e 64 50 72 6f 63 3e 3e 20 7b 0d 09 69 66 20 7b e.<<Console_ExpandProc>>.{..if.{
301e0 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3e 20 70 72 6f 6d 70 74 45 6e 64 5d 7d [%W.compare.insert.>.promptEnd]}
30200 20 7b 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 20 25 57 20 70 72 6f 63 7d .{::tk::console::Expand.%W.proc}
30220 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 6f 6c .....}.....bind.Console.<<Consol
30240 65 5f 45 78 70 61 6e 64 56 61 72 3e 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 e_ExpandVar>>.{..if.{[%W.compare
30260 20 69 6e 73 65 72 74 20 3e 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 3a 3a 74 6b 3a 3a 63 6f 6e .insert.>.promptEnd]}.{::tk::con
30280 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 20 25 57 20 76 61 72 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 sole::Expand.%W.var}.....}.....b
302a0 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 6f 6c 65 5f 45 76 61 6c 3e 3e 20 7b 0d 09 ind.Console.<<Console_Eval>>.{..
302c0 25 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 7b 65 6e 64 20 2d 20 31 63 7d 0d 09 74 %W.mark.set.insert.{end.-.1c}..t
302e0 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 22 5c 6e 22 0d 09 74 6b 43 6f 6e 73 6f 6c kConsoleInsert.%W."\n"..tkConsol
30300 65 49 6e 76 6f 6b 65 0d 09 62 72 65 61 6b 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f eInvoke..break.....}.....bind.Co
30320 6e 73 6f 6c 65 20 3c 44 65 6c 65 74 65 3e 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f nsole.<Delete>.{..if.{[string.co
30340 6d 70 61 72 65 20 7b 7d 20 5b 25 57 20 74 61 67 20 6e 65 78 74 72 61 6e 67 65 20 73 65 6c 20 31 mpare.{}.[%W.tag.nextrange.sel.1
30360 2e 30 20 65 6e 64 5d 5d 20 5c 0d 09 09 26 26 20 5b 25 57 20 63 6f 6d 70 61 72 65 20 73 65 6c 2e .0.end]].\...&&.[%W.compare.sel.
30380 66 69 72 73 74 20 3e 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 first.>=.promptEnd]}.{......%W.d
303a0 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 0d 09 7d 20 65 6c 73 65 elete.sel.first.sel.last..}.else
303c0 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3e 3d 20 70 72 6f 6d 70 74 if.{[%W.compare.insert.>=.prompt
303e0 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 0d 09 20 End]}.{......%W.delete.insert...
30400 20 20 20 25 57 20 73 65 65 20 69 6e 73 65 72 74 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 ...%W.see.insert..}.....}.....bi
30420 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 09 69 66 20 7b 5b 73 nd.Console.<BackSpace>.{..if.{[s
30440 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 5b 25 57 20 74 61 67 20 6e 65 78 74 72 61 6e tring.compare.{}.[%W.tag.nextran
30460 67 65 20 73 65 6c 20 31 2e 30 20 65 6e 64 5d 5d 20 5c 0d 09 09 26 26 20 5b 25 57 20 63 6f 6d 70 ge.sel.1.0.end]].\...&&.[%W.comp
30480 61 72 65 20 73 65 6c 2e 66 69 72 73 74 20 3e 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 are.sel.first.>=.promptEnd]}.{..
304a0 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 ....%W.delete.sel.first.sel.last
304c0 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 21 ..}.elseif.{[%W.compare.insert.!
304e0 3d 20 31 2e 30 5d 20 26 26 20 5c 0d 09 09 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 =.1.0].&&.\...[%W.compare.insert
30500 20 3e 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 .>.promptEnd]}.{......%W.delete.
30520 69 6e 73 65 72 74 2d 31 63 0d 09 20 20 20 20 25 57 20 73 65 65 20 69 6e 73 65 72 74 0d 09 7d 0d insert-1c......%W.see.insert..}.
30540 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d ....}.....bind.Console.<Control-
30560 68 3e 20 5b 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 42 61 63 6b 53 70 61 63 65 3e 5d 0d 0d 20 h>.[bind.Console.<BackSpace>]...
30580 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 48 6f 6d 65 3e 20 7b 0d 09 69 66 20 7b 5b 25 ...bind.Console.<Home>.{..if.{[%
305a0 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b W.compare.insert.<.promptEnd]}.{
305c0 0d 09 20 20 20 20 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 7b 69 6e 73 65 72 74 ......tkTextSetCursor.%W.{insert
305e0 20 6c 69 6e 65 73 74 61 72 74 7d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 74 6b 54 65 78 .linestart}..}.else.{......tkTex
30600 74 53 65 74 43 75 72 73 6f 72 20 25 57 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 20 7d tSetCursor.%W.promptEnd..}.....}
30620 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 61 3e 20 5b 62 .....bind.Console.<Control-a>.[b
30640 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 48 6f 6d 65 3e 5d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e ind.Console.<Home>].....bind.Con
30660 73 6f 6c 65 20 3c 45 6e 64 3e 20 7b 0d 09 74 6b 54 65 78 74 53 65 74 43 75 72 73 6f 72 20 25 57 sole.<End>.{..tkTextSetCursor.%W
30680 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 .{insert.lineend}.....}.....bind
306a0 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 72 6f 6c 2d 65 3e 20 5b 62 69 6e 64 20 43 6f 6e 73 6f .Console.<Control-e>.[bind.Conso
306c0 6c 65 20 3c 45 6e 64 3e 5d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 43 6f 6e 74 le.<End>].....bind.Console.<Cont
306e0 72 6f 6c 2d 64 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 rol-d>.{..if.{[%W.compare.insert
30700 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 62 72 65 61 6b 0d 09 25 57 20 64 65 6c 65 74 65 20 .<.promptEnd]}.break..%W.delete.
30720 69 6e 73 65 72 74 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c insert.....}.....bind.Console.<<
30740 43 6f 6e 73 6f 6c 65 5f 4b 69 6c 6c 4c 69 6e 65 3e 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f Console_KillLine>>.{..if.{[%W.co
30760 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 62 72 65 61 6b mpare.insert.<.promptEnd]}.break
30780 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3d 3d 20 7b 69 6e 73 ..if.{[%W.compare.insert.==.{ins
307a0 65 72 74 20 6c 69 6e 65 65 6e 64 7d 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 ert.lineend}]}.{......%W.delete.
307c0 69 6e 73 65 72 74 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 insert..}.else.{......%W.delete.
307e0 69 6e 73 65 72 74 20 7b 69 6e 73 65 72 74 20 6c 69 6e 65 65 6e 64 7d 0d 09 7d 0d 20 20 20 20 7d insert.{insert.lineend}..}.....}
30800 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 6f 6c 65 5f 43 6c 65 61 .....bind.Console.<<Console_Clea
30820 72 3e 3e 20 7b 0d 09 23 23 20 43 6c 65 61 72 20 63 6f 6e 73 6f 6c 65 20 64 69 73 70 6c 61 79 0d r>>.{..##.Clear.console.display.
30840 09 25 57 20 64 65 6c 65 74 65 20 31 2e 30 20 22 70 72 6f 6d 70 74 45 6e 64 20 6c 69 6e 65 73 74 .%W.delete.1.0."promptEnd.linest
30860 61 72 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f art".....}.....bind.Console.<<Co
30880 6e 73 6f 6c 65 5f 43 6c 65 61 72 4c 69 6e 65 3e 3e 20 7b 0d 09 23 23 20 43 6c 65 61 72 20 63 6f nsole_ClearLine>>.{..##.Clear.co
308a0 6d 6d 61 6e 64 20 6c 69 6e 65 20 28 55 6e 69 78 20 73 68 65 6c 6c 20 73 74 61 70 6c 65 29 0d 09 mmand.line.(Unix.shell.staple)..
308c0 25 57 20 64 65 6c 65 74 65 20 70 72 6f 6d 70 74 45 6e 64 20 65 6e 64 0d 20 20 20 20 7d 0d 20 20 %W.delete.promptEnd.end.....}...
308e0 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 4d 65 74 61 2d 64 3e 20 7b 0d 09 69 66 20 7b 5b ..bind.Console.<Meta-d>.{..if.{[
30900 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3e 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d %W.compare.insert.>=.promptEnd]}
30920 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 7b 69 6e 73 65 72 74 .{......%W.delete.insert.{insert
30940 20 77 6f 72 64 65 6e 64 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 .wordend}..}.....}.....bind.Cons
30960 6f 6c 65 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 ole.<Meta-BackSpace>.{..if.{[%W.
30980 63 6f 6d 70 61 72 65 20 7b 69 6e 73 65 72 74 20 2d 31 63 20 77 6f 72 64 73 74 61 72 74 7d 20 3e compare.{insert.-1c.wordstart}.>
309a0 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 7b =.promptEnd]}.{......%W.delete.{
309c0 69 6e 73 65 72 74 20 2d 31 63 20 77 6f 72 64 73 74 61 72 74 7d 20 69 6e 73 65 72 74 0d 09 7d 0d insert.-1c.wordstart}.insert..}.
309e0 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 4d 65 74 61 2d 64 3e 20 ....}.....bind.Console.<Meta-d>.
30a00 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3e 3d 20 70 72 6f {..if.{[%W.compare.insert.>=.pro
30a20 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 64 65 6c 65 74 65 20 69 6e 73 65 72 74 mptEnd]}.{......%W.delete.insert
30a40 20 7b 69 6e 73 65 72 74 20 77 6f 72 64 65 6e 64 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 .{insert.wordend}..}.....}.....b
30a60 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 4d 65 74 61 2d 42 61 63 6b 53 70 61 63 65 3e 20 7b 0d 09 ind.Console.<Meta-BackSpace>.{..
30a80 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 7b 69 6e 73 65 72 74 20 2d 31 63 20 77 6f 72 64 if.{[%W.compare.{insert.-1c.word
30aa0 73 74 61 72 74 7d 20 3e 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 start}.>=.promptEnd]}.{......%W.
30ac0 64 65 6c 65 74 65 20 7b 69 6e 73 65 72 74 20 2d 31 63 20 77 6f 72 64 73 74 61 72 74 7d 20 69 6e delete.{insert.-1c.wordstart}.in
30ae0 73 65 72 74 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c sert..}.....}.....bind.Console.<
30b00 4d 65 74 61 2d 44 65 6c 65 74 65 3e 20 7b 0d 09 69 66 20 7b 5b 25 57 20 63 6f 6d 70 61 72 65 20 Meta-Delete>.{..if.{[%W.compare.
30b20 69 6e 73 65 72 74 20 3e 3d 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 20 20 20 20 25 57 20 insert.>=.promptEnd]}.{......%W.
30b40 64 65 6c 65 74 65 20 69 6e 73 65 72 74 20 7b 69 6e 73 65 72 74 20 77 6f 72 64 65 6e 64 7d 0d 09 delete.insert.{insert.wordend}..
30b60 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 6f }.....}.....bind.Console.<<Conso
30b80 6c 65 5f 50 72 65 76 3e 3e 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 70 72 le_Prev>>.{..tkConsoleHistory.pr
30ba0 65 76 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 6f 6e 73 ev.....}.....bind.Console.<<Cons
30bc0 6f 6c 65 5f 4e 65 78 74 3e 3e 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 48 69 73 74 6f 72 79 20 6e ole_Next>>.{..tkConsoleHistory.n
30be0 65 78 74 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 49 6e 73 65 ext.....}.....bind.Console.<Inse
30c00 72 74 3e 20 7b 0d 09 63 61 74 63 68 20 7b 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 rt>.{..catch.{tkConsoleInsert.%W
30c20 20 5b 3a 3a 74 6b 3a 3a 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 25 57 20 50 52 49 4d 41 52 59 5d .[::tk::GetSelection.%W.PRIMARY]
30c40 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 4b 65 79 50 72 65 }.....}.....bind.Console.<KeyPre
30c60 73 73 3e 20 7b 0d 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 25 41 0d 20 20 20 ss>.{..tkConsoleInsert.%W.%A....
30c80 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 46 39 3e 20 7b 0d 09 65 76 61 6c .}.....bind.Console.<F9>.{..eval
30ca0 20 64 65 73 74 72 6f 79 20 5b 77 69 6e 66 6f 20 63 68 69 6c 64 20 2e 5d 0d 09 69 66 20 7b 5b 73 .destroy.[winfo.child..]..if.{[s
30cc0 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f tring.equal.$tcl_platform(platfo
30ce0 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 63 61 rm)."macintosh"]}.{......if.{[ca
30d00 74 63 68 20 7b 73 6f 75 72 63 65 20 24 74 6b 5f 6c 69 62 72 61 72 79 3a 63 6f 6e 73 6f 6c 65 2e tch.{source.$tk_library:console.
30d20 74 63 6c 7d 5d 7d 20 7b 73 6f 75 72 63 65 20 2d 72 73 72 63 20 63 6f 6e 73 6f 6c 65 7d 0d 09 7d tcl}]}.{source.-rsrc.console}..}
30d40 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 .else.{......source.[file.join.$
30d60 74 6b 5f 6c 69 62 72 61 72 79 20 63 6f 6e 73 6f 6c 65 2e 74 63 6c 5d 0d 09 7d 0d 20 20 20 20 7d tk_library.console.tcl]..}.....}
30d80 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 75 74 3e 3e 20 7b 0d 20 20 20 20 .....bind.Console.<<Cut>>.{.....
30da0 20 20 20 20 23 20 53 61 6d 65 20 61 73 20 74 68 65 20 63 6f 70 79 20 65 76 65 6e 74 0d 20 09 69 ....#.Same.as.the.copy.event...i
30dc0 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 5b 25 57 20 67 65 74 20 73 65 6c f.{![catch.{set.data.[%W.get.sel
30de0 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b 0d 09 20 20 20 20 63 6c 69 70 62 .first.sel.last]}]}.{......clipb
30e00 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 0d 09 20 20 20 20 63 6c oard.clear.-displayof.%W......cl
30e20 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c 61 79 6f 66 20 25 57 20 24 64 61 ipboard.append.-displayof.%W.$da
30e40 74 61 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 43 6f 6e 73 6f 6c 65 20 3c 3c 43 ta..}.....}.....bind.Console.<<C
30e60 6f 70 79 3e 3e 20 7b 0d 20 09 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 73 65 74 20 64 61 74 61 20 opy>>.{...if.{![catch.{set.data.
30e80 5b 25 57 20 67 65 74 20 73 65 6c 2e 66 69 72 73 74 20 73 65 6c 2e 6c 61 73 74 5d 7d 5d 7d 20 7b [%W.get.sel.first.sel.last]}]}.{
30ea0 0d 09 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 63 6c 65 61 72 20 2d 64 69 73 70 6c 61 79 6f 66 ......clipboard.clear.-displayof
30ec0 20 25 57 0d 09 20 20 20 20 63 6c 69 70 62 6f 61 72 64 20 61 70 70 65 6e 64 20 2d 64 69 73 70 6c .%W......clipboard.append.-displ
30ee0 61 79 6f 66 20 25 57 20 24 64 61 74 61 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 ayof.%W.$data..}.....}.....bind.
30f00 43 6f 6e 73 6f 6c 65 20 3c 3c 50 61 73 74 65 3e 3e 20 7b 0d 09 63 61 74 63 68 20 7b 0d 09 20 20 Console.<<Paste>>.{..catch.{....
30f20 20 20 73 65 74 20 63 6c 69 70 20 5b 3a 3a 74 6b 3a 3a 47 65 74 53 65 6c 65 63 74 69 6f 6e 20 25 ..set.clip.[::tk::GetSelection.%
30f40 57 20 43 4c 49 50 42 4f 41 52 44 5d 0d 09 20 20 20 20 73 65 74 20 6c 69 73 74 20 5b 73 70 6c 69 W.CLIPBOARD]......set.list.[spli
30f60 74 20 24 63 6c 69 70 20 5c 6e 5c 72 5d 0d 09 20 20 20 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 t.$clip.\n\r]......tkConsoleInse
30f80 72 74 20 25 57 20 5b 6c 69 6e 64 65 78 20 24 6c 69 73 74 20 30 5d 0d 09 20 20 20 20 66 6f 72 65 rt.%W.[lindex.$list.0]......fore
30fa0 61 63 68 20 78 20 5b 6c 72 61 6e 67 65 20 24 6c 69 73 74 20 31 20 65 6e 64 5d 20 7b 0d 09 09 25 ach.x.[lrange.$list.1.end].{...%
30fc0 57 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 7b 65 6e 64 20 2d 20 31 63 7d 0d 09 09 74 W.mark.set.insert.{end.-.1c}...t
30fe0 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 22 5c 6e 22 0d 09 09 74 6b 43 6f 6e 73 6f kConsoleInsert.%W."\n"...tkConso
31000 6c 65 49 6e 76 6f 6b 65 0d 09 09 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 25 57 20 24 78 leInvoke...tkConsoleInsert.%W.$x
31020 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 23 0d 20 20 20 20 23 23 20 ......}..}.....}......##.....##.
31040 42 69 6e 64 69 6e 67 73 20 66 6f 72 20 64 6f 69 6e 67 20 73 70 65 63 69 61 6c 20 74 68 69 6e 67 Bindings.for.doing.special.thing
31060 73 20 62 61 73 65 64 20 6f 6e 20 63 65 72 74 61 69 6e 20 6b 65 79 73 0d 20 20 20 20 23 23 0d 20 s.based.on.certain.keys.....##..
31080 20 20 20 62 69 6e 64 20 50 6f 73 74 43 6f 6e 73 6f 6c 65 20 3c 4b 65 79 2d 70 61 72 65 6e 72 69 ...bind.PostConsole.<Key-parenri
310a0 67 68 74 3e 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5c 5c 20 5b ght>.{..if.{[string.compare.\\.[
310c0 25 57 20 67 65 74 20 69 6e 73 65 72 74 2d 32 63 5d 5d 7d 20 7b 0d 09 20 20 20 20 3a 3a 74 6b 3a %W.get.insert-2c]]}.{......::tk:
310e0 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 50 61 69 72 20 25 57 20 5c 28 20 5c 29 20 70 72 6f :console::MatchPair.%W.\(.\).pro
31100 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 50 6f 73 74 43 6f 6e mptEnd..}.....}.....bind.PostCon
31120 73 6f 6c 65 20 3c 4b 65 79 2d 62 72 61 63 6b 65 74 72 69 67 68 74 3e 20 7b 0d 09 69 66 20 7b 5b sole.<Key-bracketright>.{..if.{[
31140 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5c 5c 20 5b 25 57 20 67 65 74 20 69 6e 73 65 72 74 string.compare.\\.[%W.get.insert
31160 2d 32 63 5d 5d 7d 20 7b 0d 09 20 20 20 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 -2c]]}.{......::tk::console::Mat
31180 63 68 50 61 69 72 20 25 57 20 5c 5b 20 5c 5d 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 chPair.%W.\[.\].promptEnd..}....
311a0 20 7d 0d 20 20 20 20 62 69 6e 64 20 50 6f 73 74 43 6f 6e 73 6f 6c 65 20 3c 4b 65 79 2d 62 72 61 .}.....bind.PostConsole.<Key-bra
311c0 63 65 72 69 67 68 74 3e 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 ceright>.{..if.{[string.compare.
311e0 5c 5c 20 5b 25 57 20 67 65 74 20 69 6e 73 65 72 74 2d 32 63 5d 5d 7d 20 7b 0d 09 20 20 20 20 3a \\.[%W.get.insert-2c]]}.{......:
31200 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 50 61 69 72 20 25 57 20 5c 7b 20 5c 7d :tk::console::MatchPair.%W.\{.\}
31220 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 62 69 6e 64 20 50 6f 73 .promptEnd..}.....}.....bind.Pos
31240 74 43 6f 6e 73 6f 6c 65 20 3c 4b 65 79 2d 71 75 6f 74 65 64 62 6c 3e 20 7b 0d 09 69 66 20 7b 5b tConsole.<Key-quotedbl>.{..if.{[
31260 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5c 5c 20 5b 25 57 20 67 65 74 20 69 6e 73 65 72 74 string.compare.\\.[%W.get.insert
31280 2d 32 63 5d 5d 7d 20 7b 0d 09 20 20 20 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 -2c]]}.{......::tk::console::Mat
312a0 63 68 51 75 6f 74 65 20 25 57 20 70 72 6f 6d 70 74 45 6e 64 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 chQuote.%W.promptEnd..}.....}...
312c0 20 20 20 62 69 6e 64 20 50 6f 73 74 43 6f 6e 73 6f 6c 65 20 3c 4b 65 79 50 72 65 73 73 3e 20 7b ...bind.PostConsole.<KeyPress>.{
312e0 0d 09 69 66 20 7b 22 25 41 22 20 21 3d 20 22 22 7d 20 7b 0d 09 20 20 20 20 3a 3a 74 6b 3a 3a 63 ..if.{"%A".!=.""}.{......::tk::c
31300 6f 6e 73 6f 6c 65 3a 3a 54 61 67 50 72 6f 63 20 25 57 0d 09 7d 0d 09 62 72 65 61 6b 0d 20 20 20 onsole::TagProc.%W..}..break....
31320 20 7d 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 49 6e 73 65 72 74 20 2d 2d 0d 23 20 49 6e 73 .}.}..#.tkConsoleInsert.--.#.Ins
31340 65 72 74 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 74 65 78 74 20 61 74 20 74 68 65 20 ert.a.string.into.a.text.at.the.
31360 70 6f 69 6e 74 20 6f 66 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2e 0d 23 point.of.the.insertion.cursor..#
31380 20 49 66 20 74 68 65 72 65 20 69 73 20 61 20 73 65 6c 65 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 .If.there.is.a.selection.in.the.
313a0 74 65 78 74 2c 20 61 6e 64 20 69 74 20 63 6f 76 65 72 73 20 74 68 65 20 70 6f 69 6e 74 20 6f 66 text,.and.it.covers.the.point.of
313c0 20 74 68 65 0d 23 20 69 6e 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 2c 20 74 68 65 6e 20 64 65 .the.#.insertion.cursor,.then.de
313e0 6c 65 74 65 20 74 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 lete.the.selection.before.insert
31400 69 6e 67 2e 20 20 49 6e 73 65 72 74 69 6f 6e 0d 23 20 69 73 20 72 65 73 74 72 69 63 74 65 64 20 ing...Insertion.#.is.restricted.
31420 74 6f 20 74 68 65 20 70 72 6f 6d 70 74 20 61 72 65 61 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 to.the.prompt.area..#.#.Argument
31440 73 3a 0d 23 20 77 20 2d 09 09 54 68 65 20 74 65 78 74 20 77 69 6e 64 6f 77 20 69 6e 20 77 68 69 s:.#.w.-..The.text.window.in.whi
31460 63 68 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 73 74 72 69 6e 67 0d 23 20 73 20 2d 09 09 54 ch.to.insert.the.string.#.s.-..T
31480 68 65 20 73 74 72 69 6e 67 20 74 6f 20 69 6e 73 65 72 74 20 28 75 73 75 61 6c 6c 79 20 6a 75 73 he.string.to.insert.(usually.jus
314a0 74 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 29 0d 0d 70 72 6f 63 20 74 6b 43 6f t.a.single.character)..proc.tkCo
314c0 6e 73 6f 6c 65 49 6e 73 65 72 74 20 7b 77 20 73 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 nsoleInsert.{w.s}.{.....if.{[str
314e0 69 6e 67 20 65 71 75 61 6c 20 24 73 20 22 22 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 ing.equal.$s.""]}.{..return.....
31500 7d 0d 20 20 20 20 63 61 74 63 68 20 7b 0d 09 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 73 }.....catch.{..if.{[$w.compare.s
31520 65 6c 2e 66 69 72 73 74 20 3c 3d 20 69 6e 73 65 72 74 5d 0d 09 09 26 26 20 5b 24 77 20 63 6f 6d el.first.<=.insert]...&&.[$w.com
31540 70 61 72 65 20 73 65 6c 2e 6c 61 73 74 20 3e 3d 20 69 6e 73 65 72 74 5d 7d 20 7b 0d 09 20 20 20 pare.sel.last.>=.insert]}.{.....
31560 20 24 77 20 74 61 67 20 72 65 6d 6f 76 65 20 73 65 6c 20 73 65 6c 2e 66 69 72 73 74 20 70 72 6f .$w.tag.remove.sel.sel.first.pro
31580 6d 70 74 45 6e 64 0d 09 20 20 20 20 24 77 20 64 65 6c 65 74 65 20 73 65 6c 2e 66 69 72 73 74 20 mptEnd......$w.delete.sel.first.
315a0 73 65 6c 2e 6c 61 73 74 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f sel.last..}.....}.....if.{[$w.co
315c0 6d 70 61 72 65 20 69 6e 73 65 72 74 20 3c 20 70 72 6f 6d 70 74 45 6e 64 5d 7d 20 7b 0d 09 24 77 mpare.insert.<.promptEnd]}.{..$w
315e0 20 6d 61 72 6b 20 73 65 74 20 69 6e 73 65 72 74 20 65 6e 64 09 0d 20 20 20 20 7d 0d 20 20 20 20 .mark.set.insert.end......}.....
31600 24 77 20 69 6e 73 65 72 74 20 69 6e 73 65 72 74 20 24 73 20 7b 69 6e 70 75 74 20 73 74 64 69 6e $w.insert.insert.$s.{input.stdin
31620 7d 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f }.....$w.see.insert.}..#.tkConso
31640 6c 65 4f 75 74 70 75 74 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 69 73 20 leOutput.--.#.#.This.routine.is.
31660 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 62 79 20 43 6f 6e 73 6f 6c 65 50 75 74 73 43 6d called.directly.by.ConsolePutsCm
31680 64 20 74 6f 20 63 61 75 73 65 20 61 20 73 74 72 69 6e 67 0d 23 20 74 6f 20 62 65 20 64 69 73 70 d.to.cause.a.string.#.to.be.disp
316a0 6c 61 79 65 64 20 69 6e 20 74 68 65 20 63 6f 6e 73 6f 6c 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 layed.in.the.console..#.#.Argume
316c0 6e 74 73 3a 0d 23 20 64 65 73 74 20 2d 09 54 68 65 20 6f 75 74 70 75 74 20 74 61 67 20 74 6f 20 nts:.#.dest.-.The.output.tag.to.
316e0 62 65 20 75 73 65 64 3a 20 65 69 74 68 65 72 20 22 73 74 64 65 72 72 22 20 6f 72 20 22 73 74 64 be.used:.either."stderr".or."std
31700 6f 75 74 22 2e 0d 23 20 73 74 72 69 6e 67 20 2d 09 54 68 65 20 73 74 72 69 6e 67 20 74 6f 20 62 out"..#.string.-.The.string.to.b
31720 65 20 64 69 73 70 6c 61 79 65 64 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e 73 6f 6c 65 4f 75 74 70 e.displayed...proc.tkConsoleOutp
31740 75 74 20 7b 64 65 73 74 20 73 74 72 69 6e 67 7d 20 7b 0d 20 20 20 20 73 65 74 20 77 20 2e 63 6f ut.{dest.string}.{.....set.w..co
31760 6e 73 6f 6c 65 0d 20 20 20 20 24 77 20 69 6e 73 65 72 74 20 6f 75 74 70 75 74 20 24 73 74 72 69 nsole.....$w.insert.output.$stri
31780 6e 67 20 24 64 65 73 74 0d 20 20 20 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 43 6f 6e 73 ng.$dest.....::tk::console::Cons
317a0 74 72 61 69 6e 42 75 66 66 65 72 20 24 77 20 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 6d trainBuffer.$w.$::tk::console::m
317c0 61 78 4c 69 6e 65 73 0d 20 20 20 20 24 77 20 73 65 65 20 69 6e 73 65 72 74 0d 7d 0d 0d 23 20 74 axLines.....$w.see.insert.}..#.t
317e0 6b 43 6f 6e 73 6f 6c 65 45 78 69 74 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 72 6f 75 74 69 6e 65 kConsoleExit.--.#.#.This.routine
31800 20 69 73 20 63 61 6c 6c 65 64 20 62 79 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 50 72 6f 63 20 77 .is.called.by.ConsoleEventProc.w
31820 68 65 6e 20 74 68 65 20 6d 61 69 6e 20 77 69 6e 64 6f 77 20 6f 66 0d 23 20 74 68 65 20 61 70 70 hen.the.main.window.of.#.the.app
31840 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 73 74 72 6f 79 65 64 2e 20 20 44 6f 6e 27 74 20 63 61 lication.is.destroyed...Don't.ca
31860 6c 6c 20 65 78 69 74 20 2d 20 74 68 61 74 20 70 72 6f 62 61 62 6c 79 20 61 6c 72 65 61 64 79 0d ll.exit.-.that.probably.already.
31880 23 20 68 61 70 70 65 6e 65 64 2e 20 20 4a 75 73 74 20 64 65 6c 65 74 65 20 6f 75 72 20 77 69 6e #.happened...Just.delete.our.win
318a0 64 6f 77 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f dow..#.#.Arguments:.#.None...pro
318c0 63 20 74 6b 43 6f 6e 73 6f 6c 65 45 78 69 74 20 7b 7d 20 7b 0d 20 20 20 20 64 65 73 74 72 6f 79 c.tkConsoleExit.{}.{.....destroy
318e0 20 2e 0d 7d 0d 0d 23 20 74 6b 43 6f 6e 73 6f 6c 65 41 62 6f 75 74 20 2d 2d 0d 23 0d 23 20 54 68 ...}..#.tkConsoleAbout.--.#.#.Th
31900 69 73 20 72 6f 75 74 69 6e 65 20 64 69 73 70 6c 61 79 73 20 61 6e 20 41 62 6f 75 74 20 62 6f 78 is.routine.displays.an.About.box
31920 20 74 6f 20 73 68 6f 77 20 54 63 6c 2f 54 6b 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 2e 0d 23 0d .to.show.Tcl/Tk.version.info..#.
31940 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 74 6b 43 6f 6e #.Arguments:.#.None...proc.tkCon
31960 73 6f 6c 65 41 62 6f 75 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 5f 70 61 74 soleAbout.{}.{.....global.tk_pat
31980 63 68 4c 65 76 65 6c 0d 20 20 20 20 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 20 2d 74 79 70 65 20 chLevel.....tk_messageBox.-type.
319a0 6f 6b 20 2d 6d 65 73 73 61 67 65 20 22 54 63 6c 20 66 6f 72 20 57 69 6e 64 6f 77 73 0d 0d 54 63 ok.-message."Tcl.for.Windows..Tc
319c0 6c 20 5b 69 6e 66 6f 20 70 61 74 63 68 6c 65 76 65 6c 5d 0d 54 6b 20 24 74 6b 5f 70 61 74 63 68 l.[info.patchlevel].Tk.$tk_patch
319e0 4c 65 76 65 6c 22 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 54 61 67 50 72 Level".}..#.::tk::console::TagPr
31a00 6f 63 20 2d 2d 0d 23 0d 23 20 54 61 67 73 20 61 20 70 72 6f 63 65 64 75 72 65 20 69 6e 20 74 68 oc.--.#.#.Tags.a.procedure.in.th
31a20 65 20 63 6f 6e 73 6f 6c 65 20 69 66 20 69 74 27 73 20 72 65 63 6f 67 6e 69 7a 65 64 0d 23 20 54 e.console.if.it's.recognized.#.T
31a40 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 6e 6f 74 20 70 65 72 66 65 63 74 2e 20 20 48 his.procedure.is.not.perfect...H
31a60 6f 77 65 76 65 72 2c 20 6d 61 6b 69 6e 67 20 69 74 20 70 65 72 66 65 63 74 20 77 61 73 74 65 73 owever,.making.it.perfect.wastes
31a80 0d 23 20 74 6f 6f 20 6d 75 63 68 20 43 50 55 20 74 69 6d 65 2e 2e 2e 0d 23 0d 23 20 41 72 67 75 .#.too.much.CPU.time....#.#.Argu
31aa0 6d 65 6e 74 73 3a 0d 23 09 77 09 2d 20 63 6f 6e 73 6f 6c 65 20 74 65 78 74 20 77 69 64 67 65 74 ments:.#.w.-.console.text.widget
31ac0 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 54 61 67 50 72 6f 63 20 77 20 ..proc.::tk::console::TagProc.w.
31ae0 7b 0d 20 20 20 20 69 66 20 7b 21 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 6d 61 67 69 63 {.....if.{!$::tk::console::magic
31b00 4b 65 79 73 7d 20 7b 20 72 65 74 75 72 6e 20 7d 0d 20 20 20 20 73 65 74 20 65 78 70 20 22 5c 5b Keys}.{.return.}.....set.exp."\[
31b20 5e 5c 5c 5c 5c 5c 5d 5c 5b 5c 5b 20 5c 74 5c 6e 5c 72 5c 3b 7b 7d 5c 22 5c 24 5c 5d 22 0d 20 20 ^\\\\\]\[\[.\t\n\r\;{}\"\$\]"...
31b40 20 20 73 65 74 20 69 20 5b 24 77 20 73 65 61 72 63 68 20 2d 62 61 63 6b 77 61 72 64 73 20 2d 72 ..set.i.[$w.search.-backwards.-r
31b60 65 67 65 78 70 20 24 65 78 70 20 69 6e 73 65 72 74 2d 31 63 20 70 72 6f 6d 70 74 45 6e 64 2d 31 egexp.$exp.insert-1c.promptEnd-1
31b80 63 5d 0d 20 20 20 20 69 66 20 7b 24 69 20 3d 3d 20 22 22 7d 20 7b 73 65 74 20 69 20 70 72 6f 6d c].....if.{$i.==.""}.{set.i.prom
31ba0 70 74 45 6e 64 7d 20 65 6c 73 65 20 7b 61 70 70 65 6e 64 20 69 20 2b 32 63 7d 0d 20 20 20 20 72 ptEnd}.else.{append.i.+2c}.....r
31bc0 65 67 73 75 62 20 2d 61 6c 6c 20 22 5c 5b 5c 5b 5c 5c 5c 5c 5c 5c 3f 5c 5c 2a 5c 5d 22 20 5b 24 egsub.-all."\[\[\\\\\\?\\*\]".[$
31be0 77 20 67 65 74 20 24 69 20 22 69 6e 73 65 72 74 2d 31 63 20 77 6f 72 64 65 6e 64 22 5d 20 7b 5c w.get.$i."insert-1c.wordend"].{\
31c00 5c 5c 30 7d 20 63 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 45 76 61 6c 41 74 74 \\0}.c.....if.{[llength.[EvalAtt
31c20 61 63 68 65 64 20 5b 6c 69 73 74 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 63 5d 5d 5d 7d ached.[list.info.commands.$c]]]}
31c40 20 7b 0d 09 24 77 20 74 61 67 20 61 64 64 20 70 72 6f 63 20 24 69 20 22 69 6e 73 65 72 74 2d 31 .{..$w.tag.add.proc.$i."insert-1
31c60 63 20 77 6f 72 64 65 6e 64 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 74 61 67 20 c.wordend".....}.else.{..$w.tag.
31c80 72 65 6d 6f 76 65 20 70 72 6f 63 20 24 69 20 22 69 6e 73 65 72 74 2d 31 63 20 77 6f 72 64 65 6e remove.proc.$i."insert-1c.worden
31ca0 64 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 45 76 61 6c 41 d".....}.....if.{[llength.[EvalA
31cc0 74 74 61 63 68 65 64 20 5b 6c 69 73 74 20 69 6e 66 6f 20 76 61 72 73 20 24 63 5d 5d 5d 7d 20 7b ttached.[list.info.vars.$c]]]}.{
31ce0 0d 09 24 77 20 74 61 67 20 61 64 64 20 76 61 72 20 24 69 20 22 69 6e 73 65 72 74 2d 31 63 20 77 ..$w.tag.add.var.$i."insert-1c.w
31d00 6f 72 64 65 6e 64 22 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 24 77 20 74 61 67 20 72 65 6d ordend".....}.else.{..$w.tag.rem
31d20 6f 76 65 20 76 61 72 20 24 69 20 22 69 6e 73 65 72 74 2d 31 63 20 77 6f 72 64 65 6e 64 22 0d 20 ove.var.$i."insert-1c.wordend"..
31d40 20 20 20 7d 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 50 61 ...}.}..#.::tk::console::MatchPa
31d60 69 72 20 2d 2d 0d 23 0d 23 20 42 6c 69 6e 6b 73 20 61 20 6d 61 74 63 68 69 6e 67 20 70 61 69 72 ir.--.#.#.Blinks.a.matching.pair
31d80 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 0d 23 20 63 32 20 69 73 20 61 73 73 75 6d 65 64 20 74 .of.characters.#.c2.is.assumed.t
31da0 6f 20 62 65 20 61 74 20 74 68 65 20 74 65 78 74 20 69 6e 64 65 78 20 27 69 6e 73 65 72 74 27 2e o.be.at.the.text.index.'insert'.
31dc0 0d 23 20 54 68 69 73 20 70 72 6f 63 20 69 73 20 72 65 61 6c 6c 79 20 6c 6f 6f 70 79 20 61 6e 64 .#.This.proc.is.really.loopy.and
31de0 20 74 6f 6f 6b 20 6d 65 20 61 6e 20 68 6f 75 72 20 74 6f 20 66 69 67 75 72 65 20 6f 75 74 20 67 .took.me.an.hour.to.figure.out.g
31e00 69 76 65 6e 0d 23 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 iven.#.all.possible.combinations
31e20 20 77 69 74 68 20 65 73 63 61 70 69 6e 67 20 65 78 63 65 70 74 20 66 6f 72 20 65 73 63 61 70 65 .with.escaping.except.for.escape
31e40 64 20 5c 27 73 2e 0d 23 20 49 74 20 64 6f 65 73 6e 27 74 20 74 61 6b 65 20 69 6e 74 6f 20 61 63 d.\'s..#.It.doesn't.take.into.ac
31e60 63 6f 75 6e 74 20 70 6f 73 73 69 62 6c 65 20 63 6f 6d 6d 65 6e 74 69 6e 67 2e 2e 2e 20 4f 68 20 count.possible.commenting....Oh.
31e80 77 65 6c 6c 2e 20 20 49 66 0d 23 20 61 6e 79 6f 6e 65 20 68 61 73 20 73 6f 6d 65 74 68 69 6e 67 well...If.#.anyone.has.something
31ea0 20 62 65 74 74 65 72 2c 20 49 27 64 20 6c 69 6b 65 20 74 6f 20 73 65 65 2f 75 73 65 20 69 74 2e .better,.I'd.like.to.see/use.it.
31ec0 20 20 54 68 69 73 20 69 73 20 72 65 61 6c 6c 79 0d 23 20 6f 6e 6c 79 20 65 66 66 69 63 69 65 6e ..This.is.really.#.only.efficien
31ee0 74 20 66 6f 72 20 73 6d 61 6c 6c 20 63 6f 6e 74 65 78 74 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 t.for.small.contexts..#.#.Argume
31f00 6e 74 73 3a 0d 23 09 77 09 2d 20 63 6f 6e 73 6f 6c 65 20 74 65 78 74 20 77 69 64 67 65 74 0d 23 nts:.#.w.-.console.text.widget.#
31f20 20 09 63 31 09 2d 20 66 69 72 73 74 20 63 68 61 72 20 6f 66 20 70 61 69 72 0d 23 20 09 63 32 09 ..c1.-.first.char.of.pair.#..c2.
31f40 2d 20 73 65 63 6f 6e 64 20 63 68 61 72 20 6f 66 20 70 61 69 72 0d 23 0d 23 20 43 61 6c 6c 73 3a -.second.char.of.pair.#.#.Calls:
31f60 09 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 42 6c 69 6e 6b 0d 20 0d 70 72 6f 63 20 3a 3a 74 .::tk::console::Blink...proc.::t
31f80 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 50 61 69 72 20 7b 77 20 63 31 20 63 32 20 7b k::console::MatchPair.{w.c1.c2.{
31fa0 6c 69 6d 20 31 2e 30 7d 7d 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 lim.1.0}}.{.....if.{!$::tk::cons
31fc0 6f 6c 65 3a 3a 6d 61 67 69 63 4b 65 79 73 7d 20 7b 20 72 65 74 75 72 6e 20 7d 0d 20 20 20 20 69 ole::magicKeys}.{.return.}.....i
31fe0 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 5b 73 65 74 20 69 78 20 5b 24 f.{[string.compare.{}.[set.ix.[$
32000 77 20 73 65 61 72 63 68 20 2d 62 61 63 6b 20 24 63 31 20 69 6e 73 65 72 74 20 24 6c 69 6d 5d 5d w.search.-back.$c1.insert.$lim]]
32020 5d 7d 20 7b 0d 09 77 68 69 6c 65 20 7b 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 ]}.{..while.{......[string.match
32040 20 7b 5c 5c 7d 20 5b 24 77 20 67 65 74 20 24 69 78 2d 31 63 5d 5d 20 26 26 0d 09 20 20 20 20 5b .{\\}.[$w.get.$ix-1c]].&&......[
32060 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 5b 73 65 74 20 69 78 20 5b 24 77 20 73 65 string.compare.{}.[set.ix.[$w.se
32080 61 72 63 68 20 2d 62 61 63 6b 20 24 63 31 20 24 69 78 2d 31 63 20 24 6c 69 6d 5d 5d 5d 0d 09 7d arch.-back.$c1.$ix-1c.$lim]]]..}
320a0 20 7b 7d 0d 09 73 65 74 20 69 31 20 69 6e 73 65 72 74 2d 31 63 0d 09 77 68 69 6c 65 20 7b 5b 73 .{}..set.i1.insert-1c..while.{[s
320c0 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 24 69 78 5d 7d 20 7b 0d 09 20 20 20 20 73 65 tring.compare.{}.$ix]}.{......se
320e0 74 20 69 30 20 24 69 78 0d 09 20 20 20 20 73 65 74 20 6a 20 30 0d 09 20 20 20 20 77 68 69 6c 65 t.i0.$ix......set.j.0......while
32100 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 5b 73 65 74 20 69 30 20 5b 24 77 .{[string.compare.{}.[set.i0.[$w
32120 20 73 65 61 72 63 68 20 24 63 32 20 24 69 30 20 24 69 31 5d 5d 5d 7d 20 7b 0d 09 09 61 70 70 65 .search.$c2.$i0.$i1]]]}.{...appe
32140 6e 64 20 69 30 20 2b 31 63 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 7b 5c nd.i0.+1c...if.{[string.match.{\
32160 5c 7d 20 5b 24 77 20 67 65 74 20 24 69 30 2d 32 63 5d 5d 7d 20 63 6f 6e 74 69 6e 75 65 0d 09 09 \}.[$w.get.$i0-2c]]}.continue...
32180 69 6e 63 72 20 6a 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 24 6a 7d 20 62 72 65 61 incr.j......}......if.{!$j}.brea
321a0 6b 0d 09 20 20 20 20 73 65 74 20 69 31 20 24 69 78 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 24 6a k......set.i1.$ix......while.{$j
321c0 20 26 26 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b 7d 20 5c 0d 09 09 20 20 20 20 5b .&&.[string.compare.{}.\.......[
321e0 73 65 74 20 69 78 20 5b 24 77 20 73 65 61 72 63 68 20 2d 62 61 63 6b 20 24 63 31 20 24 69 78 20 set.ix.[$w.search.-back.$c1.$ix.
32200 24 6c 69 6d 5d 5d 5d 7d 20 7b 0d 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 7b $lim]]]}.{...if.{[string.match.{
32220 5c 5c 7d 20 5b 24 77 20 67 65 74 20 24 69 78 2d 31 63 5d 5d 7d 20 63 6f 6e 74 69 6e 75 65 0d 09 \\}.[$w.get.$ix-1c]]}.continue..
32240 09 69 6e 63 72 20 6a 20 2d 31 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 66 20 7b 5b 73 74 72 69 6e .incr.j.-1......}..}..if.{[strin
32260 67 20 6d 61 74 63 68 20 7b 7d 20 24 69 78 5d 7d 20 7b 20 73 65 74 20 69 78 20 5b 24 77 20 69 6e g.match.{}.$ix]}.{.set.ix.[$w.in
32280 64 65 78 20 24 6c 69 6d 5d 20 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 73 65 74 20 69 78 20 dex.$lim].}.....}.else.{.set.ix.
322a0 5b 24 77 20 69 6e 64 65 78 20 24 6c 69 6d 5d 20 7d 0d 20 20 20 20 69 66 20 7b 24 3a 3a 74 6b 3a [$w.index.$lim].}.....if.{$::tk:
322c0 3a 63 6f 6e 73 6f 6c 65 3a 3a 62 6c 69 6e 6b 52 61 6e 67 65 7d 20 7b 0d 09 42 6c 69 6e 6b 20 24 :console::blinkRange}.{..Blink.$
322e0 77 20 24 69 78 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 7d 20 65 6c w.$ix.[$w.index.insert].....}.el
32300 73 65 20 7b 0d 09 42 6c 69 6e 6b 20 24 77 20 24 69 78 20 24 69 78 2b 31 63 20 5b 24 77 20 69 6e se.{..Blink.$w.$ix.$ix+1c.[$w.in
32320 64 65 78 20 69 6e 73 65 72 74 2d 31 63 5d 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d dex.insert-1c].[$w.index.insert]
32340 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 .....}.}..#.::tk::console::Match
32360 51 75 6f 74 65 20 2d 2d 0d 23 0d 23 20 42 6c 69 6e 6b 73 20 62 65 74 77 65 65 6e 20 6d 61 74 63 Quote.--.#.#.Blinks.between.matc
32380 68 69 6e 67 20 71 75 6f 74 65 73 2e 0d 23 20 42 6c 69 6e 6b 73 20 6a 75 73 74 20 74 68 65 20 71 hing.quotes..#.Blinks.just.the.q
323a0 75 6f 74 65 20 69 66 20 69 74 27 73 20 75 6e 6d 61 74 63 68 65 64 2c 20 6f 74 68 65 72 77 69 73 uote.if.it's.unmatched,.otherwis
323c0 65 20 62 6c 69 6e 6b 73 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 0d 23 20 54 68 65 20 71 75 6f e.blinks.quoted.string.#.The.quo
323e0 74 65 20 74 6f 20 6d 61 74 63 68 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 74 20 te.to.match.is.assumed.to.be.at.
32400 74 68 65 20 74 65 78 74 20 69 6e 64 65 78 20 27 69 6e 73 65 72 74 27 2e 0d 23 0d 23 20 41 72 67 the.text.index.'insert'..#.#.Arg
32420 75 6d 65 6e 74 73 3a 0d 23 09 77 09 2d 20 63 6f 6e 73 6f 6c 65 20 74 65 78 74 20 77 69 64 67 65 uments:.#.w.-.console.text.widge
32440 74 0d 23 0d 23 20 43 61 6c 6c 73 3a 09 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 42 6c 69 6e t.#.#.Calls:.::tk::console::Blin
32460 6b 0d 20 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 4d 61 74 63 68 51 75 6f k...proc.::tk::console::MatchQuo
32480 74 65 20 7b 77 20 7b 6c 69 6d 20 31 2e 30 7d 7d 20 7b 0d 20 20 20 20 69 66 20 7b 21 24 3a 3a 74 te.{w.{lim.1.0}}.{.....if.{!$::t
324a0 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 6d 61 67 69 63 4b 65 79 73 7d 20 7b 20 72 65 74 75 72 6e 20 k::console::magicKeys}.{.return.
324c0 7d 0d 20 20 20 20 73 65 74 20 69 20 69 6e 73 65 72 74 2d 31 63 0d 20 20 20 20 73 65 74 20 6a 20 }.....set.i.insert-1c.....set.j.
324e0 30 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 73 65 0.....while.{[string.compare.[se
32500 74 20 69 20 5b 24 77 20 73 65 61 72 63 68 20 2d 62 61 63 6b 20 5c 22 20 24 69 20 24 6c 69 6d 5d t.i.[$w.search.-back.\".$i.$lim]
32520 5d 20 7b 7d 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 7b 5c 5c 7d ].{}]}.{..if.{[string.match.{\\}
32540 20 5b 24 77 20 67 65 74 20 24 69 2d 31 63 5d 5d 7d 20 63 6f 6e 74 69 6e 75 65 0d 09 69 66 20 7b .[$w.get.$i-1c]]}.continue..if.{
32560 21 24 6a 7d 20 7b 73 65 74 20 69 30 20 24 69 7d 0d 09 69 6e 63 72 20 6a 0d 20 20 20 20 7d 0d 20 !$j}.{set.i0.$i}..incr.j.....}..
32580 20 20 20 69 66 20 7b 24 6a 26 31 7d 20 7b 0d 09 69 66 20 7b 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f ...if.{$j&1}.{..if.{$::tk::conso
325a0 6c 65 3a 3a 62 6c 69 6e 6b 52 61 6e 67 65 7d 20 7b 0d 09 20 20 20 20 42 6c 69 6e 6b 20 24 77 20 le::blinkRange}.{......Blink.$w.
325c0 24 69 30 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d $i0.[$w.index.insert]..}.else.{.
325e0 09 20 20 20 20 42 6c 69 6e 6b 20 24 77 20 24 69 30 20 24 69 30 2b 31 63 20 5b 24 77 20 69 6e 64 .....Blink.$w.$i0.$i0+1c.[$w.ind
32600 65 78 20 69 6e 73 65 72 74 2d 31 63 5d 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d 0d ex.insert-1c].[$w.index.insert].
32620 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 42 6c 69 6e 6b 20 24 77 20 5b 24 77 20 69 6e .}.....}.else.{..Blink.$w.[$w.in
32640 64 65 78 20 69 6e 73 65 72 74 2d 31 63 5d 20 5b 24 77 20 69 6e 64 65 78 20 69 6e 73 65 72 74 5d dex.insert-1c].[$w.index.insert]
32660 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 42 6c 69 6e 6b .....}.}..#.::tk::console::Blink
32680 20 2d 2d 0d 23 0d 23 20 42 6c 69 6e 6b 73 20 62 65 74 77 65 65 6e 20 6e 20 69 6e 64 65 78 20 70 .--.#.#.Blinks.between.n.index.p
326a0 61 69 72 73 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 65 64 20 64 75 72 61 74 69 6f 6e 2e 0d 23 airs.for.a.specified.duration..#
326c0 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 77 09 2d 20 63 6f 6e 73 6f 6c 65 20 74 65 78 74 .#.Arguments:.#.w.-.console.text
326e0 20 77 69 64 67 65 74 0d 23 20 09 69 31 09 2d 20 73 74 61 72 74 20 69 6e 64 65 78 20 74 6f 20 62 .widget.#..i1.-.start.index.to.b
32700 6c 69 6e 6b 20 72 65 67 69 6f 6e 0d 23 20 09 69 32 09 2d 20 65 6e 64 20 69 6e 64 65 78 20 6f 66 link.region.#..i2.-.end.index.of
32720 20 62 6c 69 6e 6b 20 72 65 67 69 6f 6e 0d 23 20 09 64 75 72 09 2d 20 64 75 72 61 74 69 6f 6e 20 .blink.region.#..dur.-.duration.
32740 69 6e 20 75 73 65 63 73 20 74 6f 20 62 6c 69 6e 6b 20 66 6f 72 0d 23 0d 23 20 4f 75 74 70 75 74 in.usecs.to.blink.for.#.#.Output
32760 73 3a 0d 23 09 62 6c 69 6e 6b 73 20 73 65 6c 65 63 74 65 64 20 63 68 61 72 61 63 74 65 72 73 20 s:.#.blinks.selected.characters.
32780 69 6e 20 24 77 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 42 6c 69 6e 6b in.$w..proc.::tk::console::Blink
327a0 20 7b 77 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 65 76 61 6c 20 5b 6c 69 73 74 20 24 77 20 74 61 .{w.args}.{.....eval.[list.$w.ta
327c0 67 20 61 64 64 20 62 6c 69 6e 6b 5d 20 24 61 72 67 73 0d 20 20 20 20 61 66 74 65 72 20 24 3a 3a g.add.blink].$args.....after.$::
327e0 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 62 6c 69 6e 6b 54 69 6d 65 20 5b 6c 69 73 74 20 24 77 5d tk::console::blinkTime.[list.$w]
32800 20 74 61 67 20 72 65 6d 6f 76 65 20 62 6c 69 6e 6b 20 24 61 72 67 73 0d 7d 0d 0d 23 20 3a 3a 74 .tag.remove.blink.$args.}..#.::t
32820 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 43 6f 6e 73 74 72 61 69 6e 42 75 66 66 65 72 20 2d 2d 0d 23 k::console::ConstrainBuffer.--.#
32840 0d 23 20 54 68 69 73 20 6c 69 6d 69 74 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 64 61 74 .#.This.limits.the.amount.of.dat
32860 61 20 69 6e 20 74 68 65 20 74 65 78 74 20 77 69 64 67 65 74 0d 23 20 43 61 6c 6c 65 64 20 62 79 a.in.the.text.widget.#.Called.by
32880 20 50 72 6f 6d 70 74 20 61 6e 64 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 0d 23 0d 23 20 41 72 .Prompt.and.ConsoleOutput.#.#.Ar
328a0 67 75 6d 65 6e 74 73 3a 0d 23 09 77 09 2d 20 63 6f 6e 73 6f 6c 65 20 74 65 78 74 20 77 69 64 67 guments:.#.w.-.console.text.widg
328c0 65 74 0d 23 09 73 69 7a 65 09 2d 20 23 20 6f 66 20 6c 69 6e 65 73 20 74 6f 20 63 6f 6e 73 74 72 et.#.size.-.#.of.lines.to.constr
328e0 61 69 6e 20 74 6f 0d 23 0d 23 20 4f 75 74 70 75 74 73 3a 0d 23 09 6d 61 79 20 64 65 6c 65 74 65 ain.to.#.#.Outputs:.#.may.delete
32900 20 64 61 74 61 20 69 6e 20 63 6f 6e 73 6f 6c 65 20 77 69 64 67 65 74 0d 0d 70 72 6f 63 20 3a 3a .data.in.console.widget..proc.::
32920 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 43 6f 6e 73 74 72 61 69 6e 42 75 66 66 65 72 20 7b 77 20 tk::console::ConstrainBuffer.{w.
32940 73 69 7a 65 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 69 6e 64 65 78 20 65 6e 64 5d 20 3e size}.{.....if.{[$w.index.end].>
32960 20 24 73 69 7a 65 7d 20 7b 0d 09 24 77 20 64 65 6c 65 74 65 20 31 2e 30 20 5b 65 78 70 72 20 7b .$size}.{..$w.delete.1.0.[expr.{
32980 69 6e 74 28 5b 24 77 20 69 6e 64 65 78 20 65 6e 64 5d 29 2d 24 73 69 7a 65 7d 5d 2e 30 0d 20 20 int([$w.index.end])-$size}].0...
329a0 20 20 7d 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 20 2d ..}.}..#.::tk::console::Expand.-
329c0 2d 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 41 52 47 53 3a 09 77 09 2d 20 74 65 78 -.#.#.Arguments:.#.ARGS:.w.-.tex
329e0 74 20 77 69 64 67 65 74 20 69 6e 20 77 68 69 63 68 20 74 6f 20 65 78 70 61 6e 64 20 73 74 72 0d t.widget.in.which.to.expand.str.
32a00 23 20 09 74 79 70 65 09 2d 20 74 79 70 65 20 6f 66 20 65 78 70 61 6e 73 69 6f 6e 20 28 70 61 74 #..type.-.type.of.expansion.(pat
32a20 68 20 2f 20 70 72 6f 63 20 2f 20 76 61 72 69 61 62 6c 65 29 0d 23 0d 23 20 43 61 6c 6c 73 3a 09 h./.proc./.variable).#.#.Calls:.
32a40 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 28 50 61 74 68 6e 61 6d 65 7c 50 ::tk::console::Expand(Pathname|P
32a60 72 6f 63 6e 61 6d 65 7c 56 61 72 69 61 62 6c 65 29 0d 23 0d 23 20 4f 75 74 70 75 74 73 3a 09 54 rocname|Variable).#.#.Outputs:.T
32a80 68 65 20 73 74 72 69 6e 67 20 74 6f 20 6d 61 74 63 68 20 69 73 20 65 78 70 61 6e 64 65 64 20 74 he.string.to.match.is.expanded.t
32aa0 6f 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 70 6f 73 73 69 62 6c 65 20 6d 61 74 63 68 2e 0d 23 09 o.the.longest.possible.match..#.
32ac0 09 49 66 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 73 68 6f 77 4d 61 74 63 68 65 73 20 69 .If.::tk::console::showMatches.i
32ae0 73 20 6e 6f 6e 2d 7a 65 72 6f 20 61 6e 64 20 74 68 65 20 6c 6f 6e 67 65 73 74 20 6d 61 74 63 68 s.non-zero.and.the.longest.match
32b00 0d 23 09 09 65 71 75 61 6c 65 64 20 74 68 65 20 73 74 72 69 6e 67 20 74 6f 20 65 78 70 61 6e 64 .#..equaled.the.string.to.expand
32b20 2c 20 74 68 65 6e 20 61 6c 6c 20 70 6f 73 73 69 62 6c 65 20 6d 61 74 63 68 65 73 20 61 72 65 0d ,.then.all.possible.matches.are.
32b40 23 09 09 6f 75 74 70 75 74 20 74 6f 20 73 74 64 6f 75 74 2e 20 20 54 72 69 67 67 65 72 73 20 62 #..output.to.stdout...Triggers.b
32b60 65 6c 6c 20 69 66 20 6e 6f 20 6d 61 74 63 68 65 73 20 61 72 65 20 66 6f 75 6e 64 2e 0d 23 0d 23 ell.if.no.matches.are.found..#.#
32b80 20 52 65 74 75 72 6e 73 3a 09 6e 75 6d 62 65 72 20 6f 66 20 6d 61 74 63 68 65 73 20 66 6f 75 6e .Returns:.number.of.matches.foun
32ba0 64 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 20 7b 77 d..proc.::tk::console::Expand.{w
32bc0 20 7b 74 79 70 65 20 22 22 7d 7d 20 7b 0d 20 20 20 20 73 65 74 20 65 78 70 20 22 5c 5b 5e 5c 5c .{type.""}}.{.....set.exp."\[^\\
32be0 5c 5c 5c 5d 5c 5b 5c 5b 20 5c 74 5c 6e 5c 72 5c 5c 5c 7b 5c 22 5c 5c 5c 5c 5c 24 5c 5d 22 0d 20 \\\]\[\[.\t\n\r\\\{\"\\\\\$\]"..
32c00 20 20 20 73 65 74 20 74 6d 70 20 5b 24 77 20 73 65 61 72 63 68 20 2d 62 61 63 6b 77 61 72 64 73 ...set.tmp.[$w.search.-backwards
32c20 20 2d 72 65 67 65 78 70 20 24 65 78 70 20 69 6e 73 65 72 74 2d 31 63 20 70 72 6f 6d 70 74 45 6e .-regexp.$exp.insert-1c.promptEn
32c40 64 2d 31 63 5d 0d 20 20 20 20 69 66 20 7b 24 74 6d 70 20 3d 3d 20 22 22 7d 20 7b 73 65 74 20 74 d-1c].....if.{$tmp.==.""}.{set.t
32c60 6d 70 20 70 72 6f 6d 70 74 45 6e 64 7d 20 65 6c 73 65 20 7b 61 70 70 65 6e 64 20 74 6d 70 20 2b mp.promptEnd}.else.{append.tmp.+
32c80 32 63 7d 0d 20 20 20 20 69 66 20 7b 5b 24 77 20 63 6f 6d 70 61 72 65 20 24 74 6d 70 20 3e 3d 20 2c}.....if.{[$w.compare.$tmp.>=.
32ca0 69 6e 73 65 72 74 5d 7d 20 7b 20 72 65 74 75 72 6e 20 7d 0d 20 20 20 20 73 65 74 20 73 74 72 20 insert]}.{.return.}.....set.str.
32cc0 5b 24 77 20 67 65 74 20 24 74 6d 70 20 69 6e 73 65 72 74 5d 0d 20 20 20 20 73 77 69 74 63 68 20 [$w.get.$tmp.insert].....switch.
32ce0 2d 67 6c 6f 62 20 24 74 79 70 65 20 7b 0d 09 70 61 74 68 2a 20 7b 20 73 65 74 20 72 65 73 20 5b -glob.$type.{..path*.{.set.res.[
32d00 45 78 70 61 6e 64 50 61 74 68 6e 61 6d 65 20 24 73 74 72 5d 20 7d 0d 09 70 72 6f 63 2a 20 7b 20 ExpandPathname.$str].}..proc*.{.
32d20 73 65 74 20 72 65 73 20 5b 45 78 70 61 6e 64 50 72 6f 63 6e 61 6d 65 20 24 73 74 72 5d 20 7d 0d set.res.[ExpandProcname.$str].}.
32d40 09 76 61 72 2a 20 20 7b 20 73 65 74 20 72 65 73 20 5b 45 78 70 61 6e 64 56 61 72 69 61 62 6c 65 .var*..{.set.res.[ExpandVariable
32d60 20 24 73 74 72 5d 20 7d 0d 09 64 65 66 61 75 6c 74 20 7b 0d 09 20 20 20 20 73 65 74 20 72 65 73 .$str].}..default.{......set.res
32d80 20 7b 7d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 74 20 7b 50 61 74 68 6e 61 6d 65 20 50 72 6f .{}......foreach.t.{Pathname.Pro
32da0 63 6e 61 6d 65 20 56 61 72 69 61 62 6c 65 7d 20 7b 0d 09 09 69 66 20 7b 21 5b 63 61 74 63 68 20 cname.Variable}.{...if.{![catch.
32dc0 7b 45 78 70 61 6e 64 24 74 20 24 73 74 72 7d 20 72 65 73 5d 20 26 26 20 28 24 72 65 73 20 21 3d {Expand$t.$str}.res].&&.($res.!=
32de0 20 22 22 29 7d 20 7b 20 62 72 65 61 6b 20 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d ."")}.{.break.}......}..}.....}.
32e00 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c 6c 65 6e 67 74 68 20 24 72 65 73 5d 0d 20 20 20 20 69 ....set.len.[llength.$res].....i
32e20 66 20 7b 24 6c 65 6e 7d 20 7b 0d 09 73 65 74 20 72 65 70 6c 20 5b 6c 69 6e 64 65 78 20 24 72 65 f.{$len}.{..set.repl.[lindex.$re
32e40 73 20 30 5d 0d 09 24 77 20 64 65 6c 65 74 65 20 24 74 6d 70 20 69 6e 73 65 72 74 0d 09 24 77 20 s.0]..$w.delete.$tmp.insert..$w.
32e60 69 6e 73 65 72 74 20 24 74 6d 70 20 24 72 65 70 6c 20 7b 69 6e 70 75 74 20 73 74 64 69 6e 7d 0d insert.$tmp.$repl.{input.stdin}.
32e80 09 69 66 20 7b 28 24 6c 65 6e 20 3e 20 31 29 20 26 26 20 24 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c .if.{($len.>.1).&&.$::tk::consol
32ea0 65 3a 3a 73 68 6f 77 4d 61 74 63 68 65 73 20 5c 0d 09 09 26 26 20 5b 73 74 72 69 6e 67 20 65 71 e::showMatches.\...&&.[string.eq
32ec0 75 61 6c 20 24 72 65 70 6c 20 24 73 74 72 5d 7d 20 7b 0d 09 20 20 20 20 70 75 74 73 20 73 74 64 ual.$repl.$str]}.{......puts.std
32ee0 6f 75 74 20 5b 6c 73 6f 72 74 20 5b 6c 72 65 70 6c 61 63 65 20 24 72 65 73 20 30 20 30 5d 5d 0d out.[lsort.[lreplace.$res.0.0]].
32f00 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 20 62 65 6c 6c 20 7d 0d 20 20 20 20 72 65 74 75 72 .}.....}.else.{.bell.}.....retur
32f20 6e 20 5b 69 6e 63 72 20 6c 65 6e 20 2d 31 5d 0d 7d 0d 0d 23 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 n.[incr.len.-1].}..##.::tk::cons
32f40 6f 6c 65 3a 3a 45 78 70 61 6e 64 50 61 74 68 6e 61 6d 65 20 2d 2d 0d 23 0d 23 20 45 78 70 61 6e ole::ExpandPathname.--.#.#.Expan
32f60 64 20 61 20 66 69 6c 65 20 70 61 74 68 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 24 73 74 72 0d d.a.file.pathname.based.on.$str.
32f80 23 20 54 68 69 73 20 69 73 20 62 61 73 65 64 20 6f 6e 20 55 4e 49 58 20 66 69 6c 65 20 6e 61 6d #.This.is.based.on.UNIX.file.nam
32fa0 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 73 e.conventions.#.#.Arguments:.#.s
32fc0 74 72 09 2d 20 70 61 72 74 69 61 6c 20 66 69 6c 65 20 70 61 74 68 6e 61 6d 65 20 74 6f 20 65 78 tr.-.partial.file.pathname.to.ex
32fe0 70 61 6e 64 0d 23 0d 23 20 43 61 6c 6c 73 3a 09 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 pand.#.#.Calls:.::tk::console::E
33000 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 0d 23 0d 23 20 52 65 74 75 72 6e 73 3a 09 6c 69 73 74 xpandBestMatch.#.#.Returns:.list
33020 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6c 6f 6e 67 65 73 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 .containing.longest.unique.match
33040 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6c 6c 20 74 68 65 0d 23 09 09 70 6f 73 73 69 62 6c 65 .followed.by.all.the.#..possible
33060 20 66 75 72 74 68 65 72 20 6d 61 74 63 68 65 73 0d 20 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f .further.matches...proc.::tk::co
33080 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 50 61 74 68 6e 61 6d 65 20 73 74 72 20 7b 0d 20 20 20 20 nsole::ExpandPathname.str.{.....
330a0 73 65 74 20 70 77 64 20 5b 45 76 61 6c 41 74 74 61 63 68 65 64 20 70 77 64 5d 0d 20 20 20 20 69 set.pwd.[EvalAttached.pwd].....i
330c0 66 20 7b 5b 63 61 74 63 68 20 7b 45 76 61 6c 41 74 74 61 63 68 65 64 20 5b 6c 69 73 74 20 63 64 f.{[catch.{EvalAttached.[list.cd
330e0 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 73 74 72 5d 5d 7d 20 65 72 72 5d 7d 20 7b 0d 09 .[file.dirname.$str]]}.err]}.{..
33100 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 24 65 72 72 0d 20 20 20 20 7d 0d 20 20 return.-code.error.$err.....}...
33120 20 20 73 65 74 20 64 69 72 20 5b 66 69 6c 65 20 74 61 69 6c 20 24 73 74 72 5d 0d 20 20 20 20 23 ..set.dir.[file.tail.$str].....#
33140 23 20 43 68 65 63 6b 20 74 6f 20 73 65 65 20 69 66 20 69 74 20 77 61 73 20 6b 6e 6f 77 6e 20 74 #.Check.to.see.if.it.was.known.t
33160 6f 20 62 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 6b 65 65 70 20 74 68 65 20 74 72 o.be.a.directory.and.keep.the.tr
33180 61 69 6c 69 6e 67 0d 20 20 20 20 23 23 20 73 6c 61 73 68 20 69 66 20 73 6f 20 28 66 69 6c 65 20 ailing.....##.slash.if.so.(file.
331a0 74 61 69 6c 20 63 75 74 73 20 69 74 20 6f 66 66 29 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e tail.cuts.it.off).....if.{[strin
331c0 67 20 6d 61 74 63 68 20 2a 2f 20 24 73 74 72 5d 7d 20 7b 20 61 70 70 65 6e 64 20 64 69 72 20 2f g.match.*/.$str]}.{.append.dir./
331e0 20 7d 0d 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 6c 73 6f 72 74 20 5b 45 76 61 6c 41 74 .}.....if.{[catch.{lsort.[EvalAt
33200 74 61 63 68 65 64 20 5b 6c 69 73 74 20 67 6c 6f 62 20 24 64 69 72 2a 5d 5d 7d 20 6d 5d 7d 20 7b tached.[list.glob.$dir*]]}.m]}.{
33220 0d 09 73 65 74 20 6d 61 74 63 68 20 7b 7d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 69 66 20 ..set.match.{}.....}.else.{..if.
33240 7b 5b 6c 6c 65 6e 67 74 68 20 24 6d 5d 20 3e 20 31 7d 20 7b 0d 09 20 20 20 20 67 6c 6f 62 61 6c {[llength.$m].>.1}.{......global
33260 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d .tcl_platform......if.{[string.m
33280 61 74 63 68 20 77 69 6e 64 6f 77 73 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 atch.windows.$tcl_platform(platf
332a0 6f 72 6d 29 5d 7d 20 7b 0d 09 09 23 23 20 57 69 6e 64 6f 77 73 20 69 73 20 73 63 72 65 77 79 20 orm)]}.{...##.Windows.is.screwy.
332c0 62 65 63 61 75 73 65 20 69 74 27 73 20 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 0d 09 09 because.it's.case.insensitive...
332e0 73 65 74 20 74 6d 70 20 5b 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 5b 73 74 72 69 6e 67 set.tmp.[ExpandBestMatch.[string
33300 20 74 6f 6c 6f 77 65 72 20 24 6d 5d 20 5c 0d 09 09 09 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 .tolower.$m].\....[string.tolowe
33320 72 20 24 64 69 72 5d 5d 0d 09 09 23 23 20 44 6f 6e 27 74 20 63 68 61 6e 67 65 20 63 61 73 65 20 r.$dir]]...##.Don't.change.case.
33340 69 66 20 77 65 20 68 61 76 65 6e 27 74 20 63 68 61 6e 67 65 64 20 74 68 65 20 77 6f 72 64 0d 09 if.we.haven't.changed.the.word..
33360 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 64 69 72 5d 3d 3d 5b 73 74 72 69 .if.{[string.length.$dir]==[stri
33380 6e 67 20 6c 65 6e 67 74 68 20 24 74 6d 70 5d 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 74 6d 70 ng.length.$tmp]}.{.......set.tmp
333a0 20 24 64 69 72 0d 09 09 7d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 74 6d .$dir...}......}.else.{...set.tm
333c0 70 20 5b 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 24 6d 20 24 64 69 72 5d 0d 09 20 20 20 p.[ExpandBestMatch.$m.$dir].....
333e0 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 3f 2a 2f 2a 20 24 .}......if.{[string.match.?*/*.$
33400 73 74 72 5d 7d 20 7b 0d 09 09 73 65 74 20 74 6d 70 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 str]}.{...set.tmp.[file.dirname.
33420 24 73 74 72 5d 2f 24 74 6d 70 0d 09 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 72 69 6e $str]/$tmp......}.elseif.{[strin
33440 67 20 6d 61 74 63 68 20 2f 2a 20 24 73 74 72 5d 7d 20 7b 0d 09 09 73 65 74 20 74 6d 70 20 2f 24 g.match./*.$str]}.{...set.tmp./$
33460 74 6d 70 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 20 7d 20 tmp......}......regsub.-all.{.}.
33480 24 74 6d 70 20 7b 5c 5c 20 7d 20 74 6d 70 0d 09 20 20 20 20 73 65 74 20 6d 61 74 63 68 20 5b 6c $tmp.{\\.}.tmp......set.match.[l
334a0 69 6e 73 65 72 74 20 24 6d 20 30 20 24 74 6d 70 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 insert.$m.0.$tmp]..}.else.{.....
334c0 20 23 23 20 54 68 69 73 20 6d 61 79 20 6c 6f 6f 6b 20 67 6f 6f 66 79 2c 20 62 75 74 20 69 74 20 .##.This.may.look.goofy,.but.it.
334e0 68 61 6e 64 6c 65 73 20 73 70 61 63 65 73 20 69 6e 20 70 61 74 68 20 6e 61 6d 65 73 0d 09 20 20 handles.spaces.in.path.names....
33500 20 20 65 76 61 6c 20 61 70 70 65 6e 64 20 6d 61 74 63 68 20 24 6d 0d 09 20 20 20 20 69 66 20 7b ..eval.append.match.$m......if.{
33520 5b 66 69 6c 65 20 69 73 64 69 72 20 24 6d 61 74 63 68 5d 7d 20 7b 61 70 70 65 6e 64 20 6d 61 74 [file.isdir.$match]}.{append.mat
33540 63 68 20 2f 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 3f 2a 2f ch./}......if.{[string.match.?*/
33560 2a 20 24 73 74 72 5d 7d 20 7b 0d 09 09 73 65 74 20 6d 61 74 63 68 20 5b 66 69 6c 65 20 64 69 72 *.$str]}.{...set.match.[file.dir
33580 6e 61 6d 65 20 24 73 74 72 5d 2f 24 6d 61 74 63 68 0d 09 20 20 20 20 7d 20 65 6c 73 65 69 66 20 name.$str]/$match......}.elseif.
335a0 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2f 2a 20 24 73 74 72 5d 7d 20 7b 0d 09 09 73 65 74 {[string.match./*.$str]}.{...set
335c0 20 6d 61 74 63 68 20 2f 24 6d 61 74 63 68 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 65 67 73 75 .match./$match......}......regsu
335e0 62 20 2d 61 6c 6c 20 7b 20 7d 20 24 6d 61 74 63 68 20 7b 5c 5c 20 7d 20 6d 61 74 63 68 0d 09 20 b.-all.{.}.$match.{\\.}.match...
33600 20 20 20 23 23 20 57 68 79 20 69 73 20 74 68 69 73 20 6f 6e 65 20 6e 65 65 64 65 64 20 61 6e 64 ...##.Why.is.this.one.needed.and
33620 20 74 68 65 20 6f 6e 65 73 20 62 65 6c 6f 77 20 61 72 65 6e 27 74 21 21 0d 09 20 20 20 20 73 65 .the.ones.below.aren't!!......se
33640 74 20 6d 61 74 63 68 20 5b 6c 69 73 74 20 24 6d 61 74 63 68 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 t.match.[list.$match]..}.....}..
33660 20 20 20 45 76 61 6c 41 74 74 61 63 68 65 64 20 5b 6c 69 73 74 20 63 64 20 24 70 77 64 5d 0d 20 ...EvalAttached.[list.cd.$pwd]..
33680 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 ...return.$match.}..#.::tk::cons
336a0 6f 6c 65 3a 3a 45 78 70 61 6e 64 50 72 6f 63 6e 61 6d 65 20 2d 2d 0d 23 0d 23 20 45 78 70 61 6e ole::ExpandProcname.--.#.#.Expan
336c0 64 20 61 20 74 63 6c 20 70 72 6f 63 20 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 24 73 74 72 0d d.a.tcl.proc.name.based.on.$str.
336e0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 73 74 72 09 2d 20 70 61 72 74 69 61 6c 20 70 #.#.Arguments:.#.str.-.partial.p
33700 72 6f 63 20 6e 61 6d 65 20 74 6f 20 65 78 70 61 6e 64 0d 23 0d 23 20 43 61 6c 6c 73 3a 09 3a 3a roc.name.to.expand.#.#.Calls:.::
33720 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 0d 23 0d 23 tk::console::ExpandBestMatch.#.#
33740 20 52 65 74 75 72 6e 73 3a 09 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6c 6f 6e 67 65 73 .Returns:.list.containing.longes
33760 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6c 6c 20 74 t.unique.match.followed.by.all.t
33780 68 65 0d 23 09 09 70 6f 73 73 69 62 6c 65 20 66 75 72 74 68 65 72 20 6d 61 74 63 68 65 73 0d 0d he.#..possible.further.matches..
337a0 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 50 72 6f 63 6e 61 proc.::tk::console::ExpandProcna
337c0 6d 65 20 73 74 72 20 7b 0d 20 20 20 20 73 65 74 20 6d 61 74 63 68 20 5b 45 76 61 6c 41 74 74 61 me.str.{.....set.match.[EvalAtta
337e0 63 68 65 64 20 5b 6c 69 73 74 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 73 74 72 2a 5d 5d ched.[list.info.commands.$str*]]
33800 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 6d 61 74 63 68 5d 20 3d 3d 20 30 7d 20 .....if.{[llength.$match].==.0}.
33820 7b 0d 09 73 65 74 20 6e 73 20 5b 45 76 61 6c 41 74 74 61 63 68 65 64 20 5c 0d 09 09 22 6e 61 6d {..set.ns.[EvalAttached.\..."nam
33840 65 73 70 61 63 65 20 63 68 69 6c 64 72 65 6e 20 5c 5b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 espace.children.\[namespace.curr
33860 65 6e 74 5c 5d 20 5b 6c 69 73 74 20 24 73 74 72 2a 5d 22 5d 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 ent\].[list.$str*]"]..if.{[lleng
33880 74 68 20 24 6e 73 5d 3d 3d 31 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6d 61 74 63 68 20 5b 45 76 th.$ns]==1}.{......set.match.[Ev
338a0 61 6c 41 74 74 61 63 68 65 64 20 5b 6c 69 73 74 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 alAttached.[list.info.commands.$
338c0 7b 6e 73 7d 3a 3a 2a 5d 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 6d 61 74 {ns}::*]]..}.else.{......set.mat
338e0 63 68 20 24 6e 73 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 ch.$ns..}.....}.....if.{[llength
33900 20 24 6d 61 74 63 68 5d 20 3e 20 31 7d 20 7b 0d 09 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 20 7d .$match].>.1}.{..regsub.-all.{.}
33920 20 5b 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 24 6d 61 74 63 68 20 24 73 74 72 5d 20 7b .[ExpandBestMatch.$match.$str].{
33940 5c 5c 20 7d 20 73 74 72 0d 09 73 65 74 20 6d 61 74 63 68 20 5b 6c 69 6e 73 65 72 74 20 24 6d 61 \\.}.str..set.match.[linsert.$ma
33960 74 63 68 20 30 20 24 73 74 72 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 67 73 75 62 tch.0.$str].....}.else.{..regsub
33980 20 2d 61 6c 6c 20 7b 20 7d 20 24 6d 61 74 63 68 20 7b 5c 5c 20 7d 20 6d 61 74 63 68 0d 20 20 20 .-all.{.}.$match.{\\.}.match....
339a0 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 6d 61 74 63 68 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a .}.....return.$match.}..#.::tk::
339c0 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 56 61 72 69 61 62 6c 65 20 2d 2d 0d 23 0d 23 20 45 console::ExpandVariable.--.#.#.E
339e0 78 70 61 6e 64 20 61 20 74 63 6c 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 62 61 73 65 64 20 xpand.a.tcl.variable.name.based.
33a00 6f 6e 20 24 73 74 72 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 73 74 72 09 2d 20 70 on.$str.#.#.Arguments:.#.str.-.p
33a20 61 72 74 69 61 6c 20 74 63 6c 20 76 61 72 20 6e 61 6d 65 20 74 6f 20 65 78 70 61 6e 64 0d 23 0d artial.tcl.var.name.to.expand.#.
33a40 23 20 43 61 6c 6c 73 3a 09 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 78 70 61 6e 64 42 65 #.Calls:.::tk::console::ExpandBe
33a60 73 74 4d 61 74 63 68 0d 23 0d 23 20 52 65 74 75 72 6e 73 3a 09 6c 69 73 74 20 63 6f 6e 74 61 69 stMatch.#.#.Returns:.list.contai
33a80 6e 69 6e 67 20 6c 6f 6e 67 65 73 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 20 66 6f 6c 6c 6f 77 ning.longest.unique.match.follow
33aa0 65 64 20 62 79 20 61 6c 6c 20 74 68 65 0d 23 09 09 70 6f 73 73 69 62 6c 65 20 66 75 72 74 68 65 ed.by.all.the.#..possible.furthe
33ac0 72 20 6d 61 74 63 68 65 73 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 r.matches..proc.::tk::console::E
33ae0 78 70 61 6e 64 56 61 72 69 61 62 6c 65 20 73 74 72 20 7b 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 xpandVariable.str.{.....if.{[reg
33b00 65 78 70 20 7b 28 5b 5e 5c 28 5d 2a 29 5c 28 28 2e 2a 29 7d 20 24 73 74 72 20 6a 75 6e 6b 20 61 exp.{([^\(]*)\((.*)}.$str.junk.a
33b20 72 79 20 73 74 72 5d 7d 20 7b 0d 09 23 23 20 4c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 65 79 27 72 ry.str]}.{..##.Looks.like.they'r
33b40 65 20 74 72 79 69 6e 67 20 74 6f 20 65 78 70 61 6e 64 20 61 6e 20 61 72 72 61 79 2e 0d 09 73 65 e.trying.to.expand.an.array...se
33b60 74 20 6d 61 74 63 68 20 5b 45 76 61 6c 41 74 74 61 63 68 65 64 20 5b 6c 69 73 74 20 61 72 72 61 t.match.[EvalAttached.[list.arra
33b80 79 20 6e 61 6d 65 73 20 24 61 72 79 20 24 73 74 72 2a 5d 5d 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 y.names.$ary.$str*]]..if.{[lleng
33ba0 74 68 20 24 6d 61 74 63 68 5d 20 3e 20 31 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 76 61 72 73 20 th.$match].>.1}.{......set.vars.
33bc0 24 61 72 79 5c 28 5b 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 24 6d 61 74 63 68 20 24 73 $ary\([ExpandBestMatch.$match.$s
33be0 74 72 5d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 76 61 72 20 24 6d 61 74 63 68 20 7b 6c 61 70 tr]......foreach.var.$match.{lap
33c00 70 65 6e 64 20 76 61 72 73 20 24 61 72 79 5c 28 24 76 61 72 5c 29 7d 0d 09 20 20 20 20 72 65 74 pend.vars.$ary\($var\)}......ret
33c20 75 72 6e 20 24 76 61 72 73 0d 09 7d 20 65 6c 73 65 20 7b 73 65 74 20 6d 61 74 63 68 20 24 61 72 urn.$vars..}.else.{set.match.$ar
33c40 79 5c 28 24 6d 61 74 63 68 5c 29 7d 0d 09 23 23 20 53 70 61 63 65 20 74 72 61 6e 73 66 6f 72 6d y\($match\)}..##.Space.transform
33c60 61 74 69 6f 6e 20 61 76 6f 69 64 65 64 20 66 6f 72 20 61 72 72 61 79 20 6e 61 6d 65 73 2e 0d 20 ation.avoided.for.array.names...
33c80 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6d 61 74 63 68 20 5b 45 76 61 6c 41 74 74 61 ...}.else.{..set.match.[EvalAtta
33ca0 63 68 65 64 20 5b 6c 69 73 74 20 69 6e 66 6f 20 76 61 72 73 20 24 73 74 72 2a 5d 5d 0d 09 69 66 ched.[list.info.vars.$str*]]..if
33cc0 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 6d 61 74 63 68 5d 20 3e 20 31 7d 20 7b 0d 09 20 20 20 20 72 .{[llength.$match].>.1}.{......r
33ce0 65 67 73 75 62 20 2d 61 6c 6c 20 7b 20 7d 20 5b 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 egsub.-all.{.}.[ExpandBestMatch.
33d00 24 6d 61 74 63 68 20 24 73 74 72 5d 20 7b 5c 5c 20 7d 20 73 74 72 0d 09 20 20 20 20 73 65 74 20 $match.$str].{\\.}.str......set.
33d20 6d 61 74 63 68 20 5b 6c 69 6e 73 65 72 74 20 24 6d 61 74 63 68 20 30 20 24 73 74 72 5d 0d 09 7d match.[linsert.$match.0.$str]..}
33d40 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 20 7d 20 24 6d 61 .else.{......regsub.-all.{.}.$ma
33d60 74 63 68 20 7b 5c 5c 20 7d 20 6d 61 74 63 68 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 tch.{\\.}.match..}.....}.....ret
33d80 75 72 6e 20 24 6d 61 74 63 68 0d 7d 0d 0d 23 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a 45 urn.$match.}..#.::tk::console::E
33da0 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 2d 2d 0d 23 0d 23 20 46 69 6e 64 73 20 74 68 65 20 xpandBestMatch.--.#.#.Finds.the.
33dc0 62 65 73 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 20 69 6e 20 61 20 6c 69 73 74 20 6f 66 20 6e best.unique.match.in.a.list.of.n
33de0 61 6d 65 73 2e 0d 23 20 54 68 65 20 65 78 74 72 61 20 24 65 20 69 6e 20 74 68 69 73 20 61 72 67 ames..#.The.extra.$e.in.this.arg
33e00 75 6d 65 6e 74 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 69 6e 6e ument.allows.us.to.limit.the.inn
33e20 65 72 6d 6f 73 74 20 6c 6f 6f 70 20 61 20 6c 69 74 74 6c 65 0d 23 20 66 75 72 74 68 65 72 2e 20 ermost.loop.a.little.#.further..
33e40 20 54 68 69 73 20 69 6d 70 72 6f 76 65 73 20 73 70 65 65 64 20 61 73 20 24 6c 20 62 65 63 6f 6d .This.improves.speed.as.$l.becom
33e60 65 73 20 6c 61 72 67 65 20 6f 72 20 24 65 20 62 65 63 6f 6d 65 73 20 6c 6f 6e 67 2e 0d 23 0d 23 es.large.or.$e.becomes.long..#.#
33e80 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 6c 09 2d 20 6c 69 73 74 20 74 6f 20 66 69 6e 64 20 62 .Arguments:.#.l.-.list.to.find.b
33ea0 65 73 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 20 69 6e 0d 23 20 09 65 09 2d 20 63 75 72 72 65 est.unique.match.in.#..e.-.curre
33ec0 6e 74 6c 79 20 62 65 73 74 20 6b 6e 6f 77 6e 20 75 6e 69 71 75 65 20 6d 61 74 63 68 0d 23 0d 23 ntly.best.known.unique.match.#.#
33ee0 20 52 65 74 75 72 6e 73 3a 09 6c 6f 6e 67 65 73 74 20 75 6e 69 71 75 65 20 6d 61 74 63 68 20 69 .Returns:.longest.unique.match.i
33f00 6e 20 74 68 65 20 6c 69 73 74 0d 0d 70 72 6f 63 20 3a 3a 74 6b 3a 3a 63 6f 6e 73 6f 6c 65 3a 3a n.the.list..proc.::tk::console::
33f20 45 78 70 61 6e 64 42 65 73 74 4d 61 74 63 68 20 7b 6c 20 7b 65 20 7b 7d 7d 7d 20 7b 0d 20 20 20 ExpandBestMatch.{l.{e.{}}}.{....
33f40 20 73 65 74 20 65 63 20 5b 6c 69 6e 64 65 78 20 24 6c 20 30 5d 0d 20 20 20 20 69 66 20 7b 5b 6c .set.ec.[lindex.$l.0].....if.{[l
33f60 6c 65 6e 67 74 68 20 24 6c 5d 3e 31 7d 20 7b 0d 09 73 65 74 20 65 20 20 5b 73 74 72 69 6e 67 20 length.$l]>1}.{..set.e..[string.
33f80 6c 65 6e 67 74 68 20 24 65 5d 3b 20 69 6e 63 72 20 65 20 2d 31 0d 09 73 65 74 20 65 69 20 5b 73 length.$e];.incr.e.-1..set.ei.[s
33fa0 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 65 63 5d 3b 20 69 6e 63 72 20 65 69 20 2d 31 0d 09 66 tring.length.$ec];.incr.ei.-1..f
33fc0 6f 72 65 61 63 68 20 6c 20 24 6c 20 7b 0d 09 20 20 20 20 77 68 69 6c 65 20 7b 24 65 69 3e 3d 24 oreach.l.$l.{......while.{$ei>=$
33fe0 65 20 26 26 20 5b 73 74 72 69 6e 67 20 66 69 72 73 74 20 24 65 63 20 24 6c 5d 7d 20 7b 0d 09 09 e.&&.[string.first.$ec.$l]}.{...
34000 73 65 74 20 65 63 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 65 63 20 30 20 5b 69 6e 63 72 set.ec.[string.range.$ec.0.[incr
34020 20 65 69 20 2d 31 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 .ei.-1]]......}..}.....}.....ret
34040 75 72 6e 20 24 65 63 0d 7d 0d 0d 23 20 6e 6f 77 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 urn.$ec.}..#.now.initialize.the.
34060 63 6f 6e 73 6f 6c 65 0d 0d 74 6b 43 6f 6e 73 6f 6c 65 49 6e 69 74 0d 00 00 3b c5 23 20 6d 73 67 console..tkConsoleInit...;.#.msg
34080 62 6f 78 2e 74 63 6c 20 2d 2d 0d 23 0d 23 09 49 6d 70 6c 65 6d 65 6e 74 73 20 6d 65 73 73 61 67 box.tcl.--.#.#.Implements.messag
340a0 65 62 6f 78 65 73 20 66 6f 72 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 eboxes.for.platforms.that.do.not
340c0 20 68 61 76 65 20 6e 61 74 69 76 65 0d 23 09 6d 65 73 73 61 67 65 62 6f 78 20 73 75 70 70 6f 72 .have.native.#.messagebox.suppor
340e0 74 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 6d 73 67 62 6f 78 2e 74 63 6c t..#.#.RCS:.@(#).$Id:.msgbox.tcl
34100 2c 76 20 31 2e 31 30 20 32 30 30 30 2f 30 34 2f 31 39 20 30 39 3a 32 35 3a 35 33 20 68 6f 62 62 ,v.1.10.2000/04/19.09:25:53.hobb
34120 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 s.Exp.$.#.#.Copyright.(c).1994-1
34140 39 39 37 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 997.Sun.Microsystems,.Inc..#.#.S
34160 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 ee.the.file."license.terms".for.
34180 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 information.on.usage.and.redistr
341a0 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 ibution.#.of.this.file,.and.for.
341c0 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d a.DISCLAIMER.OF.ALL.WARRANTIES..
341e0 23 0d 0d 23 20 45 6e 73 75 72 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 3a 3a 74 6b 3a 3a 64 #..#.Ensure.existence.of.::tk::d
34200 69 61 6c 6f 67 20 6e 61 6d 65 73 70 61 63 65 0d 23 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c ialog.namespace.#.namespace.eval
34220 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 20 7b 7d 0d 0d 69 6d 61 67 65 20 63 72 65 61 74 65 20 62 .::tk::dialog.{}..image.create.b
34240 69 74 6d 61 70 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 62 31 20 2d 66 6f 72 65 67 72 6f 75 itmap.::tk::dialog::b1.-foregrou
34260 6e 64 20 62 6c 61 63 6b 20 5c 0d 2d 64 61 74 61 20 22 23 64 65 66 69 6e 65 20 62 31 5f 77 69 64 nd.black.\.-data."#define.b1_wid
34280 74 68 20 33 32 5c 6e 23 64 65 66 69 6e 65 20 62 31 5f 68 65 69 67 68 74 20 33 32 0d 73 74 61 74 th.32\n#define.b1_height.32.stat
342a0 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 71 31 5f 62 69 74 73 5b 5d 20 3d 20 7b 0d 20 ic.unsigned.char.q1_bits[].=.{..
342c0 20 20 30 78 30 30 2c 20 30 78 66 38 2c 20 30 78 31 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ..0x00,.0xf8,.0x1f,.0x00,.0x00,.
342e0 30 78 30 37 2c 20 30 78 65 30 2c 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 30 2c 20 30 78 0x07,.0xe0,.0x00,.0xc0,.0x00,.0x
34300 30 30 2c 20 30 78 30 33 2c 0d 20 20 20 30 78 32 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 00,.0x03,....0x20,.0x00,.0x00,.0
34320 78 30 34 2c 20 30 78 31 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 38 2c 20 30 78 30 x04,.0x10,.0x00,.0x00,.0x08,.0x0
34340 38 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 31 30 2c 0d 20 20 20 30 78 30 34 2c 20 30 78 8,.0x00,.0x00,.0x10,....0x04,.0x
34360 30 30 2c 20 30 78 30 30 2c 20 30 78 32 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 30 00,.0x00,.0x20,.0x02,.0x00,.0x00
34380 2c 20 30 78 34 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 0d ,.0x40,.0x02,.0x00,.0x00,.0x40,.
343a0 20 20 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c ...0x01,.0x00,.0x00,.0x80,.0x01,
343c0 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x80,.0x01,.0x00,.0
343e0 78 30 30 2c 20 30 78 38 30 2c 0d 20 20 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 x00,.0x80,....0x01,.0x00,.0x00,.
34400 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 0x80,.0x01,.0x00,.0x00,.0x80,.0x
34420 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 0d 20 20 20 30 78 30 31 2c 20 30 01,.0x00,.0x00,.0x80,....0x01,.0
34440 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 x00,.0x00,.0x80,.0x02,.0x00,.0x0
34460 30 2c 20 30 78 34 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 0,.0x40,.0x02,.0x00,.0x00,.0x40,
34480 0d 20 20 20 30 78 30 34 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 32 30 2c 20 30 78 30 38 ....0x04,.0x00,.0x00,.0x20,.0x08
344a0 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 31 30 2c 20 30 78 31 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x10,.0x10,.0x00,.
344c0 30 78 30 30 2c 20 30 78 30 38 2c 0d 20 20 20 30 78 36 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0x00,.0x08,....0x60,.0x00,.0x00,
344e0 20 30 78 30 34 2c 20 30 78 38 30 2c 20 30 78 30 33 2c 20 30 78 38 30 2c 20 30 78 30 33 2c 20 30 .0x04,.0x80,.0x03,.0x80,.0x03,.0
34500 78 30 30 2c 20 30 78 30 63 2c 20 30 78 37 38 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 x00,.0x0c,.0x78,.0x00,....0x00,.
34520 30 78 33 30 2c 20 30 78 30 34 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 20 30 78 0x30,.0x04,.0x00,.0x00,.0x40,.0x
34540 30 34 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 20 30 78 30 34 2c 20 30 78 30 30 04,.0x00,.0x00,.0x40,.0x04,.0x00
34560 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 34 2c 20 30 78 30 30 2c 20 30 78 30 ,....0x00,.0x80,.0x04,.0x00,.0x0
34580 30 2c 20 30 78 30 30 2c 20 30 78 30 35 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x05,.0x00,.0x00,.0x00,
345a0 20 30 78 30 36 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 .0x06,.0x00,....0x00,.0x00,.0x00
345c0 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 7d 3b ,.0x00,.0x00,.0x00,.0x00,.0x00};
345e0 22 0d 69 6d 61 67 65 20 63 72 65 61 74 65 20 62 69 74 6d 61 70 20 3a 3a 74 6b 3a 3a 64 69 61 6c ".image.create.bitmap.::tk::dial
34600 6f 67 3a 3a 62 32 20 2d 66 6f 72 65 67 72 6f 75 6e 64 20 77 68 69 74 65 20 5c 0d 2d 64 61 74 61 og::b2.-foreground.white.\.-data
34620 20 22 23 64 65 66 69 6e 65 20 62 32 5f 77 69 64 74 68 20 33 32 5c 6e 23 64 65 66 69 6e 65 20 62 ."#define.b2_width.32\n#define.b
34640 32 5f 68 65 69 67 68 74 20 33 32 0d 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 2_height.32.static.unsigned.char
34660 20 62 32 5f 62 69 74 73 5b 5d 20 3d 20 7b 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 .b2_bits[].=.{....0x00,.0x00,.0x
34680 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 38 2c 20 30 78 31 66 2c 20 30 78 30 30 00,.0x00,.0x00,.0xf8,.0x1f,.0x00
346a0 2c 20 30 78 30 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 63 ,.0x00,.0xff,.0xff,.0x00,....0xc
346c0 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 33 2c 20 30 78 65 30 2c 20 30 78 66 66 2c 0,.0xff,.0xff,.0x03,.0xe0,.0xff,
346e0 20 30 78 66 66 2c 20 30 78 30 37 2c 20 30 78 66 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 .0xff,.0x07,.0xf0,.0xff,.0xff,.0
34700 78 30 66 2c 0d 20 20 20 30 78 66 38 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 31 66 2c 20 x0f,....0xf8,.0xff,.0xff,.0x1f,.
34720 30 78 66 63 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 33 66 2c 20 30 78 66 63 2c 20 30 78 0xfc,.0xff,.0xff,.0x3f,.0xfc,.0x
34740 66 66 2c 20 30 78 66 66 2c 20 30 78 33 66 2c 0d 20 20 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 ff,.0xff,.0x3f,....0xfe,.0xff,.0
34760 78 66 66 2c 20 30 78 37 66 2c 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 37 xff,.0x7f,.0xfe,.0xff,.0xff,.0x7
34780 66 2c 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 37 66 2c 0d 20 20 20 30 78 f,.0xfe,.0xff,.0xff,.0x7f,....0x
347a0 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 37 66 2c 20 30 78 66 65 2c 20 30 78 66 66 fe,.0xff,.0xff,.0x7f,.0xfe,.0xff
347c0 2c 20 30 78 66 66 2c 20 30 78 37 66 2c 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 ,.0xff,.0x7f,.0xfe,.0xff,.0xff,.
347e0 30 78 37 66 2c 0d 20 20 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 37 66 2c 0x7f,....0xfe,.0xff,.0xff,.0x7f,
34800 20 30 78 66 63 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 33 66 2c 20 30 78 66 63 2c 20 30 .0xfc,.0xff,.0xff,.0x3f,.0xfc,.0
34820 78 66 66 2c 20 30 78 66 66 2c 20 30 78 33 66 2c 0d 20 20 20 30 78 66 38 2c 20 30 78 66 66 2c 20 xff,.0xff,.0x3f,....0xf8,.0xff,.
34840 30 78 66 66 2c 20 30 78 31 66 2c 20 30 78 66 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 0xff,.0x1f,.0xf0,.0xff,.0xff,.0x
34860 30 66 2c 20 30 78 65 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 37 2c 0d 20 20 20 30 0f,.0xe0,.0xff,.0xff,.0x07,....0
34880 78 38 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 66 x80,.0xff,.0xff,.0x03,.0x00,.0xf
348a0 63 2c 20 30 78 37 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 37 2c c,.0x7f,.0x00,.0x00,.0xf0,.0x07,
348c0 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 33 2c 20 30 78 30 30 .0x00,....0x00,.0xc0,.0x03,.0x00
348e0 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x80,.0x03,.0x00,.0x00,.
34900 30 78 38 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 0x80,.0x03,.0x00,....0x00,.0x00,
34920 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 32 2c 20 30 .0x03,.0x00,.0x00,.0x00,.0x02,.0
34940 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 x00,.0x00,.0x00,.0x00,.0x00,....
34960 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
34980 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 7d 3b 22 0d 69 6d 61 67 65 20 63 72 65 61 74 65 20 62 00,.0x00,.0x00};".image.create.b
349a0 69 74 6d 61 70 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 71 20 2d 66 6f 72 65 67 72 6f 75 6e itmap.::tk::dialog::q.-foregroun
349c0 64 20 62 6c 75 65 20 5c 0d 2d 64 61 74 61 20 22 23 64 65 66 69 6e 65 20 71 5f 77 69 64 74 68 20 d.blue.\.-data."#define.q_width.
349e0 33 32 5c 6e 23 64 65 66 69 6e 65 20 71 5f 68 65 69 67 68 74 20 33 32 0d 73 74 61 74 69 63 20 75 32\n#define.q_height.32.static.u
34a00 6e 73 69 67 6e 65 64 20 63 68 61 72 20 71 5f 62 69 74 73 5b 5d 20 3d 20 7b 0d 20 20 20 30 78 30 nsigned.char.q_bits[].=.{....0x0
34a20 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x00,.0x00,.0x00,
34a40 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x00,.0x00,.0x00,.0
34a60 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 x00,....0x00,.0x00,.0x00,.0x00,.
34a80 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
34aa0 65 30 2c 20 30 78 30 37 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 31 30 2c 20 30 e0,.0x07,.0x00,....0x00,.0x10,.0
34ac0 78 30 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 31 38 2c 20 30 78 31 65 2c 20 30 78 30 x0f,.0x00,.0x00,.0x18,.0x1e,.0x0
34ae0 30 2c 20 30 78 30 30 2c 20 30 78 33 38 2c 20 30 78 31 65 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 0,.0x00,.0x38,.0x1e,.0x00,....0x
34b00 30 30 2c 20 30 78 33 38 2c 20 30 78 31 65 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 31 30 00,.0x38,.0x1e,.0x00,.0x00,.0x10
34b20 2c 20 30 78 30 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 37 2c 20 ,.0x0f,.0x00,.0x00,.0x80,.0x07,.
34b40 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 0x00,....0x00,.0xc0,.0x01,.0x00,
34b60 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0xc0,.0x00,.0x00,.0x00,.0
34b80 78 63 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 xc0,.0x00,.0x00,....0x00,.0x00,.
34ba0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0xc0,.0x00,.0x
34bc0 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 0d 20 20 20 30 00,.0x00,.0xe0,.0x01,.0x00,....0
34be0 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 63 x00,.0xe0,.0x01,.0x00,.0x00,.0xc
34c00 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x00,.0x00,.0x00,
34c20 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 .0x00,....0x00,.0x00,.0x00,.0x00
34c40 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
34c60 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 0x00,.0x00,.0x00,....0x00,.0x00,
34c80 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x00,.0x00,.0x00,.0
34ca0 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 x00,.0x00,.0x00,.0x00,.0x00,....
34cc0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
34ce0 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 00,.0x00,.0x00,.0x00,.0x00,.0x00
34d00 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 ,.0x00,....0x00,.0x00,.0x00,.0x0
34d20 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 7d 3b 22 0d 69 6d 61 0,.0x00,.0x00,.0x00,.0x00};".ima
34d40 67 65 20 63 72 65 61 74 65 20 62 69 74 6d 61 70 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 69 ge.create.bitmap.::tk::dialog::i
34d60 20 2d 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 75 65 20 5c 0d 2d 64 61 74 61 20 22 23 64 65 66 69 .-foreground.blue.\.-data."#defi
34d80 6e 65 20 69 5f 77 69 64 74 68 20 33 32 5c 6e 23 64 65 66 69 6e 65 20 69 5f 68 65 69 67 68 74 20 ne.i_width.32\n#define.i_height.
34da0 33 32 0d 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 69 5f 62 69 74 73 5b 5d 32.static.unsigned.char.i_bits[]
34dc0 20 3d 20 7b 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 .=.{....0x00,.0x00,.0x00,.0x00,.
34de0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
34e00 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 00,.0x00,.0x00,....0x00,.0xe0,.0
34e20 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 33 2c 20 30 78 30 x01,.0x00,.0x00,.0xf0,.0x03,.0x0
34e40 30 2c 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 0,.0x00,.0xf0,.0x03,.0x00,....0x
34e60 30 30 2c 20 30 78 65 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 00,.0xe0,.0x01,.0x00,.0x00,.0x00
34e80 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
34ea0 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 66 38 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0x00,....0x00,.0xf8,.0x03,.0x00,
34ec0 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0xf0,.0x03,.0x00,.0x00,.0
34ee0 78 65 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 65 30 2c 20 xe0,.0x03,.0x00,....0x00,.0xe0,.
34f00 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 33 2c 20 30 78 0x03,.0x00,.0x00,.0xe0,.0x03,.0x
34f20 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 00,.0x00,.0xe0,.0x03,.0x00,....0
34f40 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 x00,.0xe0,.0x03,.0x00,.0x00,.0xe
34f60 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 37 2c 0,.0x03,.0x00,.0x00,.0xf0,.0x07,
34f80 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 66 38 2c 20 30 78 30 66 2c 20 30 78 30 30 .0x00,....0x00,.0xf8,.0x0f,.0x00
34fa0 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
34fc0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 0x00,.0x00,.0x00,....0x00,.0x00,
34fe0 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x00,.0x00,.0x00,.0
35000 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 x00,.0x00,.0x00,.0x00,.0x00,....
35020 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
35040 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 00,.0x00,.0x00,.0x00,.0x00,.0x00
35060 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 ,.0x00,....0x00,.0x00,.0x00,.0x0
35080 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x00,.0x00,.0x00,
350a0 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 .0x00,.0x00,.0x00,....0x00,.0x00
350c0 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
350e0 30 78 30 30 7d 3b 22 0d 69 6d 61 67 65 20 63 72 65 61 74 65 20 62 69 74 6d 61 70 20 3a 3a 74 6b 0x00};".image.create.bitmap.::tk
35100 3a 3a 64 69 61 6c 6f 67 3a 3a 77 31 20 2d 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 5c ::dialog::w1.-foreground.black.\
35120 0d 2d 64 61 74 61 20 22 23 64 65 66 69 6e 65 20 77 31 5f 77 69 64 74 68 20 33 32 5c 6e 23 64 65 .-data."#define.w1_width.32\n#de
35140 66 69 6e 65 20 77 31 5f 68 65 69 67 68 74 20 33 32 0d 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 fine.w1_height.32.static.unsigne
35160 64 20 63 68 61 72 20 77 31 5f 62 69 74 73 5b 5d 20 3d 20 7b 0d 20 20 20 30 78 30 30 2c 20 30 78 d.char.w1_bits[].=.{....0x00,.0x
35180 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 20 30 78 30 32 80,.0x01,.0x00,.0x00,.0x40,.0x02
351a0 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 32 30 2c 20 30 78 30 34 2c 20 30 78 30 30 2c 0d ,.0x00,.0x00,.0x20,.0x04,.0x00,.
351c0 20 20 20 30 78 30 30 2c 20 30 78 31 30 2c 20 30 78 30 34 2c 20 30 78 30 30 2c 20 30 78 30 30 2c ...0x00,.0x10,.0x04,.0x00,.0x00,
351e0 20 30 78 31 30 2c 20 30 78 30 38 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 38 2c 20 30 .0x10,.0x08,.0x00,.0x00,.0x08,.0
35200 78 30 38 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 38 2c 20 30 78 31 30 2c 20 x08,.0x00,....0x00,.0x08,.0x10,.
35220 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 34 2c 20 30 78 31 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x04,.0x10,.0x00,.0x
35240 30 30 2c 20 30 78 30 34 2c 20 30 78 32 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 00,.0x04,.0x20,.0x00,....0x00,.0
35260 78 30 32 2c 20 30 78 32 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 32 2c 20 30 78 34 x02,.0x20,.0x00,.0x00,.0x02,.0x4
35280 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 31 2c 20 30 78 34 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x01,.0x40,.0x00,
352a0 0d 20 20 20 30 78 30 30 2c 20 30 78 30 31 2c 20 30 78 38 30 2c 20 30 78 30 30 2c 20 30 78 38 30 ....0x00,.0x01,.0x80,.0x00,.0x80
352c0 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x80,.0x00,.0x80,.0x00,.
352e0 30 78 30 30 2c 20 30 78 30 31 2c 0d 20 20 20 30 78 34 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0x00,.0x01,....0x40,.0x00,.0x00,
35300 20 30 78 30 31 2c 20 30 78 34 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 32 2c 20 30 .0x01,.0x40,.0x00,.0x00,.0x02,.0
35320 78 32 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 32 2c 0d 20 20 20 30 78 32 30 2c 20 x20,.0x00,.0x00,.0x02,....0x20,.
35340 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 34 2c 20 30 78 31 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x04,.0x10,.0x00,.0x
35360 30 30 2c 20 30 78 30 34 2c 20 30 78 31 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 38 00,.0x04,.0x10,.0x00,.0x00,.0x08
35380 2c 0d 20 20 20 30 78 30 38 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 38 2c 20 30 78 30 ,....0x08,.0x00,.0x00,.0x08,.0x0
353a0 38 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 31 30 2c 20 30 78 30 34 2c 20 30 78 30 30 2c 8,.0x00,.0x00,.0x10,.0x04,.0x00,
353c0 20 30 78 30 30 2c 20 30 78 31 30 2c 0d 20 20 20 30 78 30 34 2c 20 30 78 30 30 2c 20 30 78 30 30 .0x00,.0x10,....0x04,.0x00,.0x00
353e0 2c 20 30 78 32 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 32 30 2c 20 ,.0x20,.0x02,.0x00,.0x00,.0x20,.
35400 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 0d 20 20 20 30 78 30 31 2c 0x01,.0x00,.0x00,.0x40,....0x01,
35420 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 34 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x40,.0x01,.0x00,.0
35440 78 30 30 2c 20 30 78 34 30 2c 20 30 78 30 32 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 32 x00,.0x40,.0x02,.0x00,.0x00,.0x2
35460 30 2c 0d 20 20 20 30 78 66 63 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 31 66 2c 20 30 78 0,....0xfc,.0xff,.0xff,.0x1f,.0x
35480 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 7d 3b 22 0d 69 6d 61 67 65 20 63 72 00,.0x00,.0x00,.0x00};".image.cr
354a0 65 61 74 65 20 62 69 74 6d 61 70 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 77 32 20 2d 66 6f eate.bitmap.::tk::dialog::w2.-fo
354c0 72 65 67 72 6f 75 6e 64 20 79 65 6c 6c 6f 77 20 5c 0d 2d 64 61 74 61 20 22 23 64 65 66 69 6e 65 reground.yellow.\.-data."#define
354e0 20 77 32 5f 77 69 64 74 68 20 33 32 5c 6e 23 64 65 66 69 6e 65 20 77 32 5f 68 65 69 67 68 74 20 .w2_width.32\n#define.w2_height.
35500 33 32 0d 73 74 61 74 69 63 20 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 77 32 5f 62 69 74 73 5b 32.static.unsigned.char.w2_bits[
35520 5d 20 3d 20 7b 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c ].=.{....0x00,.0x00,.0x00,.0x00,
35540 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0x80,.0x01,.0x00,.0x00,.0
35560 78 63 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 65 30 2c 20 xc0,.0x03,.0x00,....0x00,.0xe0,.
35580 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 37 2c 20 30 78 0x03,.0x00,.0x00,.0xe0,.0x07,.0x
355a0 30 30 2c 20 30 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 37 2c 20 30 78 30 30 2c 0d 20 20 20 30 00,.0x00,.0xf0,.0x07,.0x00,....0
355c0 78 30 30 2c 20 30 78 66 30 2c 20 30 78 30 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 x00,.0xf0,.0x0f,.0x00,.0x00,.0xf
355e0 38 2c 20 30 78 30 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 38 2c 20 30 78 31 66 2c 8,.0x0f,.0x00,.0x00,.0xf8,.0x1f,
35600 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 66 63 2c 20 30 78 31 66 2c 20 30 78 30 30 .0x00,....0x00,.0xfc,.0x1f,.0x00
35620 2c 20 30 78 30 30 2c 20 30 78 66 63 2c 20 30 78 33 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0xfc,.0x3f,.0x00,.0x00,.
35640 30 78 66 65 2c 20 30 78 33 66 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 66 65 2c 0xfe,.0x3f,.0x00,....0x00,.0xfe,
35660 20 30 78 37 66 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 66 2c 20 30 78 37 66 2c 20 30 .0x7f,.0x00,.0x00,.0xff,.0x7f,.0
35680 78 30 30 2c 20 30 78 30 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 30 2c 0d 20 20 20 x00,.0x00,.0xff,.0xff,.0x00,....
356a0 30 78 38 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 0x80,.0xff,.0xff,.0x00,.0x80,.0x
356c0 66 66 2c 20 30 78 66 66 2c 20 30 78 30 31 2c 20 30 78 63 30 2c 20 30 78 66 66 2c 20 30 78 66 66 ff,.0xff,.0x01,.0xc0,.0xff,.0xff
356e0 2c 20 30 78 30 31 2c 0d 20 20 20 30 78 63 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 ,.0x01,....0xc0,.0xff,.0xff,.0x0
35700 33 2c 20 30 78 65 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 33 2c 20 30 78 65 30 2c 3,.0xe0,.0xff,.0xff,.0x03,.0xe0,
35720 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 37 2c 0d 20 20 20 30 78 66 30 2c 20 30 78 66 66 .0xff,.0xff,.0x07,....0xf0,.0xff
35740 2c 20 30 78 66 66 2c 20 30 78 30 37 2c 20 30 78 66 30 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 ,.0xff,.0x07,.0xf0,.0xff,.0xff,.
35760 30 78 30 66 2c 20 30 78 66 38 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 30 66 2c 0d 20 20 0x0f,.0xf8,.0xff,.0xff,.0x0f,...
35780 20 30 78 66 38 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 31 66 2c 20 30 78 66 63 2c 20 30 .0xf8,.0xff,.0xff,.0x1f,.0xfc,.0
357a0 78 66 66 2c 20 30 78 66 66 2c 20 30 78 31 66 2c 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 xff,.0xff,.0x1f,.0xfe,.0xff,.0xf
357c0 66 2c 20 30 78 33 66 2c 0d 20 20 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 f,.0x3f,....0xfe,.0xff,.0xff,.0x
357e0 33 66 2c 20 30 78 66 65 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 33 66 2c 20 30 78 66 63 3f,.0xfe,.0xff,.0xff,.0x3f,.0xfc
35800 2c 20 30 78 66 66 2c 20 30 78 66 66 2c 20 30 78 31 66 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 ,.0xff,.0xff,.0x1f,....0x00,.0x0
35820 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x00,.0x00,.0x00,
35840 20 30 78 30 30 7d 3b 22 0d 69 6d 61 67 65 20 63 72 65 61 74 65 20 62 69 74 6d 61 70 20 3a 3a 74 .0x00};".image.create.bitmap.::t
35860 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 77 33 20 2d 66 6f 72 65 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 k::dialog::w3.-foreground.black.
35880 5c 0d 2d 64 61 74 61 20 22 23 64 65 66 69 6e 65 20 77 33 5f 77 69 64 74 68 20 33 32 5c 6e 23 64 \.-data."#define.w3_width.32\n#d
358a0 65 66 69 6e 65 20 77 33 5f 68 65 69 67 68 74 20 33 32 0d 73 74 61 74 69 63 20 75 6e 73 69 67 6e efine.w3_height.32.static.unsign
358c0 65 64 20 63 68 61 72 20 77 33 5f 62 69 74 73 5b 5d 20 3d 20 7b 0d 20 20 20 30 78 30 30 2c 20 30 ed.char.w3_bits[].=.{....0x00,.0
358e0 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 x00,.0x00,.0x00,.0x00,.0x00,.0x0
35900 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0,.0x00,.0x00,.0x00,.0x00,.0x00,
35920 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 ....0x00,.0x00,.0x00,.0x00,.0x00
35940 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
35960 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0x00,.0x00,....0x00,.0x00,.0x00,
35980 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 .0x00,.0x00,.0x00,.0x00,.0x00,.0
359a0 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 x00,.0x00,.0x00,.0x00,....0x00,.
359c0 30 78 63 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 0xc0,.0x03,.0x00,.0x00,.0xe0,.0x
359e0 30 37 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 37 2c 20 30 78 30 30 07,.0x00,.0x00,.0xe0,.0x07,.0x00
35a00 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 65 30 2c 20 30 78 30 37 2c 20 30 78 30 30 2c 20 30 78 30 ,....0x00,.0xe0,.0x07,.0x00,.0x0
35a20 30 2c 20 30 78 65 30 2c 20 30 78 30 37 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 65 30 2c 0,.0xe0,.0x07,.0x00,.0x00,.0xe0,
35a40 20 30 78 30 37 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 33 .0x07,.0x00,....0x00,.0xc0,.0x03
35a60 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0xc0,.0x03,.0x00,.
35a80 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 0x00,.0xc0,.0x03,.0x00,....0x00,
35aa0 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 .0x80,.0x01,.0x00,.0x00,.0x80,.0
35ac0 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 x01,.0x00,.0x00,.0x80,.0x01,.0x0
35ae0 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0,....0x00,.0x00,.0x00,.0x00,.0x
35b00 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 63 30 00,.0x80,.0x01,.0x00,.0x00,.0xc0
35b20 2c 20 30 78 30 33 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 63 30 2c 20 30 78 30 ,.0x03,.0x00,....0x00,.0xc0,.0x0
35b40 33 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 38 30 2c 20 30 78 30 31 2c 20 30 78 30 30 2c 3,.0x00,.0x00,.0x80,.0x01,.0x00,
35b60 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 0d 20 20 20 30 78 30 30 .0x00,.0x00,.0x00,.0x00,....0x00
35b80 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 ,.0x00,.0x00,.0x00,.0x00,.0x00,.
35ba0 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 0x00,.0x00,.0x00,.0x00,.0x00,.0x
35bc0 30 30 2c 0d 20 20 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 00,....0x00,.0x00,.0x00,.0x00,.0
35be0 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 2c 20 30 78 30 30 7d 3b 22 0d 0d 23 20 74 6b 4d 65 x00,.0x00,.0x00,.0x00};"..#.tkMe
35c00 73 73 61 67 65 42 6f 78 20 2d 2d 0d 23 0d 23 09 50 6f 70 73 20 75 70 20 61 20 6d 65 73 73 61 67 ssageBox.--.#.#.Pops.up.a.messag
35c20 65 62 6f 78 20 77 69 74 68 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 2d 73 75 70 70 6c 69 65 ebox.with.an.application-supplie
35c40 64 20 6d 65 73 73 61 67 65 20 77 69 74 68 0d 23 09 61 6e 20 69 63 6f 6e 20 61 6e 64 20 61 20 6c d.message.with.#.an.icon.and.a.l
35c60 69 73 74 20 6f 66 20 62 75 74 74 6f 6e 73 2e 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 77 ist.of.buttons..This.procedure.w
35c80 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 0d 23 09 62 79 20 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 ill.be.called.#.by.tk_messageBox
35ca0 20 69 66 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 6e .if.the.platform.does.not.have.n
35cc0 61 74 69 76 65 0d 23 09 6d 65 73 73 61 67 65 62 6f 78 20 73 75 70 70 6f 72 74 2c 20 6f 72 20 69 ative.#.messagebox.support,.or.i
35ce0 66 20 74 68 65 20 70 61 72 74 69 63 75 6c 61 72 20 74 79 70 65 20 6f 66 20 6d 65 73 73 61 67 65 f.the.particular.type.of.message
35d00 62 6f 78 20 69 73 0d 23 09 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6e 61 74 69 76 65 6c 79 2e box.is.#.not.supported.natively.
35d20 0d 23 0d 23 09 43 6f 6c 6f 72 20 69 63 6f 6e 73 20 61 72 65 20 75 73 65 64 20 6f 6e 20 55 6e 69 .#.#.Color.icons.are.used.on.Uni
35d40 78 20 64 69 73 70 6c 61 79 73 20 74 68 61 74 20 68 61 76 65 20 61 20 63 6f 6c 6f 72 0d 23 09 64 x.displays.that.have.a.color.#.d
35d60 65 70 74 68 20 6f 66 20 34 20 6f 72 20 6d 6f 72 65 20 61 6e 64 20 24 74 6b 5f 73 74 72 69 63 74 epth.of.4.or.more.and.$tk_strict
35d80 4d 6f 74 69 66 20 69 73 20 6e 6f 74 20 6f 6e 2e 0d 23 0d 23 09 54 68 69 73 20 70 72 6f 63 65 64 Motif.is.not.on..#.#.This.proced
35da0 75 72 65 20 69 73 20 61 20 70 72 69 76 61 74 65 20 70 72 6f 63 65 64 75 72 65 20 73 68 6f 75 6c ure.is.a.private.procedure.shoul
35dc0 64 6e 27 74 20 62 65 20 63 61 6c 6c 65 64 0d 23 09 64 69 72 65 63 74 6c 79 2e 20 43 61 6c 6c 20 dn't.be.called.#.directly..Call.
35de0 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 20 69 6e 73 74 65 61 64 2e 0d 23 0d 23 09 53 65 65 20 74 tk_messageBox.instead..#.#.See.t
35e00 68 65 20 75 73 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c he.user.documentation.for.detail
35e20 73 20 6f 6e 20 77 68 61 74 20 74 6b 5f 6d 65 73 73 61 67 65 42 6f 78 20 64 6f 65 73 2e 0d 23 0d s.on.what.tk_messageBox.does..#.
35e40 70 72 6f 63 20 74 6b 4d 65 73 73 61 67 65 42 6f 78 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 proc.tkMessageBox.{args}.{.....g
35e60 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 74 6b 5f 73 74 72 lobal.tkPriv.tcl_platform.tk_str
35e80 69 63 74 4d 6f 74 69 66 0d 0d 20 20 20 20 73 65 74 20 77 20 74 6b 50 72 69 76 4d 73 67 42 6f 78 ictMotif......set.w.tkPrivMsgBox
35ea0 0d 20 20 20 20 75 70 76 61 72 20 23 30 20 24 77 20 64 61 74 61 0d 0d 20 20 20 20 23 0d 20 20 20 .....upvar.#0.$w.data......#....
35ec0 20 23 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 69 74 6c .#.The.default.value.of.the.titl
35ee0 65 20 69 73 20 73 70 61 63 65 20 28 22 20 22 29 20 6e 6f 74 20 74 68 65 20 65 6d 70 74 79 20 73 e.is.space.(".").not.the.empty.s
35f00 74 72 69 6e 67 0d 20 20 20 20 23 20 62 65 63 61 75 73 65 20 66 6f 72 20 73 6f 6d 65 20 77 69 6e tring.....#.because.for.some.win
35f20 64 6f 77 20 6d 61 6e 61 67 65 72 73 2c 20 61 20 0d 20 20 20 20 23 09 09 77 6d 20 74 69 74 6c 65 dow.managers,.a......#..wm.title
35f40 20 2e 66 6f 6f 20 22 22 0d 20 20 20 20 23 20 63 61 75 73 65 73 20 74 68 65 20 77 69 6e 64 6f 77 ..foo."".....#.causes.the.window
35f60 20 74 69 74 6c 65 20 74 6f 20 62 65 20 22 66 6f 6f 22 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 .title.to.be."foo".instead.of.th
35f80 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0d 20 20 20 20 23 0d 20 20 20 20 73 65 74 20 73 70 e.empty.string......#.....set.sp
35fa0 65 63 73 20 7b 0d 09 7b 2d 64 65 66 61 75 6c 74 20 22 22 20 22 22 20 22 22 7d 0d 20 20 20 20 20 ecs.{..{-default.""."".""}......
35fc0 20 20 20 7b 2d 69 63 6f 6e 20 22 22 20 22 22 20 22 69 6e 66 6f 22 7d 0d 20 20 20 20 20 20 20 20 ...{-icon."".""."info"}.........
35fe0 7b 2d 6d 65 73 73 61 67 65 20 22 22 20 22 22 20 22 22 7d 0d 20 20 20 20 20 20 20 20 7b 2d 70 61 {-message.""."".""}.........{-pa
36000 72 65 6e 74 20 22 22 20 22 22 20 2e 7d 0d 20 20 20 20 20 20 20 20 7b 2d 74 69 74 6c 65 20 22 22 rent."".""..}.........{-title.""
36020 20 22 22 20 22 20 22 7d 0d 20 20 20 20 20 20 20 20 7b 2d 74 79 70 65 20 22 22 20 22 22 20 22 6f .""."."}.........{-type."".""."o
36040 6b 22 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 74 63 6c 50 61 72 73 65 43 6f 6e 66 69 67 53 70 65 k"}.....}......tclParseConfigSpe
36060 63 20 24 77 20 24 73 70 65 63 73 20 22 22 20 24 61 72 67 73 0d 0d 20 20 20 20 69 66 20 7b 5b 6c c.$w.$specs."".$args......if.{[l
36080 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 7b 69 6e 66 6f 20 77 61 72 6e 69 6e 67 20 65 72 72 6f search.-exact.{info.warning.erro
360a0 72 20 71 75 65 73 74 69 6f 6e 7d 20 24 64 61 74 61 28 2d 69 63 6f 6e 29 5d 20 3d 3d 20 2d 31 7d r.question}.$data(-icon)].==.-1}
360c0 20 7b 0d 09 65 72 72 6f 72 20 22 62 61 64 20 2d 69 63 6f 6e 20 76 61 6c 75 65 20 5c 22 24 64 61 .{..error."bad.-icon.value.\"$da
360e0 74 61 28 2d 69 63 6f 6e 29 5c 22 3a 20 6d 75 73 74 20 62 65 20 65 72 72 6f 72 2c 20 69 6e 66 6f ta(-icon)\":.must.be.error,.info
36100 2c 20 71 75 65 73 74 69 6f 6e 2c 20 6f 72 20 77 61 72 6e 69 6e 67 22 0d 20 20 20 20 7d 0d 20 20 ,.question,.or.warning".....}...
36120 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 ..if.{[string.equal.$tcl_platfor
36140 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 73 77 69 m(platform)."macintosh"]}.{..swi
36160 74 63 68 20 2d 2d 20 24 64 61 74 61 28 2d 69 63 6f 6e 29 20 7b 0d 09 20 20 20 20 22 65 72 72 6f tch.--.$data(-icon).{......"erro
36180 72 22 20 20 20 20 20 7b 73 65 74 20 64 61 74 61 28 2d 69 63 6f 6e 29 20 22 73 74 6f 70 22 7d 0d r".....{set.data(-icon)."stop"}.
361a0 09 20 20 20 20 22 77 61 72 6e 69 6e 67 22 20 20 20 7b 73 65 74 20 64 61 74 61 28 2d 69 63 6f 6e ....."warning"...{set.data(-icon
361c0 29 20 22 63 61 75 74 69 6f 6e 22 7d 0d 09 20 20 20 20 22 69 6e 66 6f 22 20 20 20 20 20 20 7b 73 )."caution"}......"info"......{s
361e0 65 74 20 64 61 74 61 28 2d 69 63 6f 6e 29 20 22 6e 6f 74 65 22 7d 0d 09 7d 0d 20 20 20 20 7d 0d et.data(-icon)."note"}..}.....}.
36200 0d 20 20 20 20 69 66 20 7b 21 5b 77 69 6e 66 6f 20 65 78 69 73 74 73 20 24 64 61 74 61 28 2d 70 .....if.{![winfo.exists.$data(-p
36220 61 72 65 6e 74 29 5d 7d 20 7b 0d 09 65 72 72 6f 72 20 22 62 61 64 20 77 69 6e 64 6f 77 20 70 61 arent)]}.{..error."bad.window.pa
36240 74 68 20 6e 61 6d 65 20 5c 22 24 64 61 74 61 28 2d 70 61 72 65 6e 74 29 5c 22 22 0d 20 20 20 20 th.name.\"$data(-parent)\"".....
36260 7d 0d 0d 20 20 20 20 73 77 69 74 63 68 20 2d 2d 20 24 64 61 74 61 28 2d 74 79 70 65 29 20 7b 0d }......switch.--.$data(-type).{.
36280 09 61 62 6f 72 74 72 65 74 72 79 69 67 6e 6f 72 65 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 .abortretryignore.{......set.but
362a0 74 6f 6e 73 20 7b 0d 09 09 7b 61 62 6f 72 74 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 tons.{...{abort..-width.6.-text.
362c0 41 62 6f 72 74 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 72 65 74 72 79 20 20 2d 77 69 64 74 68 Abort.-under.0}...{retry..-width
362e0 20 36 20 2d 74 65 78 74 20 52 65 74 72 79 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 69 67 6e 6f .6.-text.Retry.-under.0}...{igno
36300 72 65 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 49 67 6e 6f 72 65 20 2d 75 6e 64 65 72 20 re.-width.6.-text.Ignore.-under.
36320 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 6f 6b 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 0}......}..}..ok.{......set.butt
36340 6f 6e 73 20 7b 0d 09 09 7b 6f 6b 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 4f 4b 20 2d 75 ons.{...{ok.-width.6.-text.OK.-u
36360 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 nder.0}......}......if.{[string.
36380 65 71 75 61 6c 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 22 5d 7d 20 7b 0d 09 09 73 equal.$data(-default).""]}.{...s
363a0 65 74 20 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 6f 6b 22 0d 09 20 20 20 20 7d 0d 09 7d et.data(-default)."ok"......}..}
363c0 0d 09 6f 6b 63 61 6e 63 65 6c 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d ..okcancel.{......set.buttons.{.
363e0 09 09 7b 6f 6b 20 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 4f 4b 20 20 20 20 20 ..{ok.....-width.6.-text.OK.....
36400 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 63 61 6e 63 65 6c 20 2d 77 69 64 74 68 20 36 20 2d 74 65 -under.0}...{cancel.-width.6.-te
36420 78 74 20 43 61 6e 63 65 6c 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 72 xt.Cancel.-under.0}......}..}..r
36440 65 74 72 79 63 61 6e 63 65 6c 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d etrycancel.{......set.buttons.{.
36460 09 09 7b 72 65 74 72 79 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 52 65 74 72 79 20 20 ..{retry..-width.6.-text.Retry..
36480 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 63 61 6e 63 65 6c 20 2d 77 69 64 74 68 20 36 20 2d 74 65 -under.0}...{cancel.-width.6.-te
364a0 78 74 20 43 61 6e 63 65 6c 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 79 xt.Cancel.-under.0}......}..}..y
364c0 65 73 6e 6f 20 7b 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d 09 09 7b 79 65 73 esno.{......set.buttons.{...{yes
364e0 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 59 65 73 20 2d 75 6e 64 65 72 20 30 7d ....-width.6.-text.Yes.-under.0}
36500 0d 09 09 7b 6e 6f 20 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 4e 6f 20 20 2d 75 ...{no.....-width.6.-text.No..-u
36520 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 79 65 73 6e 6f 63 61 6e 63 65 6c 20 7b nder.0}......}..}..yesnocancel.{
36540 0d 09 20 20 20 20 73 65 74 20 62 75 74 74 6f 6e 73 20 7b 0d 09 09 7b 79 65 73 20 20 20 20 2d 77 ......set.buttons.{...{yes....-w
36560 69 64 74 68 20 36 20 2d 74 65 78 74 20 59 65 73 20 2d 75 6e 64 65 72 20 30 7d 0d 09 09 7b 6e 6f idth.6.-text.Yes.-under.0}...{no
36580 20 20 20 20 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 4e 6f 20 20 2d 75 6e 64 65 72 20 30 .....-width.6.-text.No..-under.0
365a0 7d 0d 09 09 7b 63 61 6e 63 65 6c 20 2d 77 69 64 74 68 20 36 20 2d 74 65 78 74 20 43 61 6e 63 65 }...{cancel.-width.6.-text.Cance
365c0 6c 20 2d 75 6e 64 65 72 20 30 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 64 65 66 61 75 6c 74 20 7b l.-under.0}......}..}..default.{
365e0 0d 09 20 20 20 20 65 72 72 6f 72 20 22 62 61 64 20 2d 74 79 70 65 20 76 61 6c 75 65 20 5c 22 24 ......error."bad.-type.value.\"$
36600 64 61 74 61 28 2d 74 79 70 65 29 5c 22 3a 20 6d 75 73 74 20 62 65 20 61 62 6f 72 74 72 65 74 72 data(-type)\":.must.be.abortretr
36620 79 69 67 6e 6f 72 65 2c 20 6f 6b 2c 20 6f 6b 63 61 6e 63 65 6c 2c 20 72 65 74 72 79 63 61 6e 63 yignore,.ok,.okcancel,.retrycanc
36640 65 6c 2c 20 79 65 73 6e 6f 2c 20 6f 72 20 79 65 73 6e 6f 63 61 6e 63 65 6c 22 0d 09 7d 0d 20 20 el,.yesno,.or.yesnocancel"..}...
36660 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 ..}......if.{[string.compare.$da
36680 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 22 5d 7d 20 7b 0d 09 73 65 74 20 76 61 6c 69 64 20 30 ta(-default).""]}.{..set.valid.0
366a0 0d 09 66 6f 72 65 61 63 68 20 62 74 6e 20 24 62 75 74 74 6f 6e 73 20 7b 0d 09 20 20 20 20 69 66 ..foreach.btn.$buttons.{......if
366c0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 6c 69 6e 64 65 78 20 24 62 74 6e 20 30 5d 20 .{[string.equal.[lindex.$btn.0].
366e0 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 5d 7d 20 7b 0d 09 09 73 65 74 20 76 61 6c 69 64 20 $data(-default)]}.{...set.valid.
36700 31 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 69 66 20 7b 21 24 76 61 6c 69 64 1...break......}..}..if.{!$valid
36720 7d 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 64 20 64 65 66 61 75 6c 74 20 }.{......error."invalid.default.
36740 62 75 74 74 6f 6e 20 5c 22 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 5c 22 22 0d 09 7d 0d 20 button.\"$data(-default)\""..}..
36760 20 20 20 7d 0d 0d 20 20 20 20 23 20 32 2e 20 53 65 74 20 74 68 65 20 64 69 61 6c 6f 67 20 74 6f ...}......#.2..Set.the.dialog.to
36780 20 62 65 20 61 20 63 68 69 6c 64 20 77 69 6e 64 6f 77 20 6f 66 20 24 70 61 72 65 6e 74 0d 20 20 .be.a.child.window.of.$parent...
367a0 20 20 23 0d 20 20 20 20 23 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 ..#.....#.....if.{[string.compar
367c0 65 20 24 64 61 74 61 28 2d 70 61 72 65 6e 74 29 20 2e 5d 7d 20 7b 0d 09 73 65 74 20 77 20 24 64 e.$data(-parent)..]}.{..set.w.$d
367e0 61 74 61 28 2d 70 61 72 65 6e 74 29 2e 5f 5f 74 6b 5f 5f 6d 65 73 73 61 67 65 62 6f 78 0d 20 20 ata(-parent).__tk__messagebox...
36800 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 77 20 2e 5f 5f 74 6b 5f 5f 6d 65 73 73 61 67 65 ..}.else.{..set.w..__tk__message
36820 62 6f 78 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 33 2e 20 43 72 65 61 74 65 20 74 68 65 20 74 box.....}......#.3..Create.the.t
36840 6f 70 2d 6c 65 76 65 6c 20 77 69 6e 64 6f 77 20 61 6e 64 20 64 69 76 69 64 65 20 69 74 20 69 6e op-level.window.and.divide.it.in
36860 74 6f 20 74 6f 70 0d 20 20 20 20 23 20 61 6e 64 20 62 6f 74 74 6f 6d 20 70 61 72 74 73 2e 0d 0d to.top.....#.and.bottom.parts...
36880 20 20 20 20 63 61 74 63 68 20 7b 64 65 73 74 72 6f 79 20 24 77 7d 0d 20 20 20 20 74 6f 70 6c 65 ....catch.{destroy.$w}.....tople
368a0 76 65 6c 20 24 77 20 2d 63 6c 61 73 73 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 74 69 74 6c vel.$w.-class.Dialog.....wm.titl
368c0 65 20 24 77 20 24 64 61 74 61 28 2d 74 69 74 6c 65 29 0d 20 20 20 20 77 6d 20 69 63 6f 6e 6e 61 e.$w.$data(-title).....wm.iconna
368e0 6d 65 20 24 77 20 44 69 61 6c 6f 67 0d 20 20 20 20 77 6d 20 70 72 6f 74 6f 63 6f 6c 20 24 77 20 me.$w.Dialog.....wm.protocol.$w.
36900 57 4d 5f 44 45 4c 45 54 45 5f 57 49 4e 44 4f 57 20 7b 20 7d 0d 0d 20 20 20 20 23 20 4d 65 73 73 WM_DELETE_WINDOW.{.}......#.Mess
36920 61 67 65 20 62 6f 78 65 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 69 65 6e 74 20 77 69 age.boxes.should.be.transient.wi
36940 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 69 72 20 70 61 72 65 6e 74 20 73 6f 20 74 68 th.respect.to.their.parent.so.th
36960 61 74 0d 20 20 20 20 23 20 74 68 65 79 20 61 6c 77 61 79 73 20 73 74 61 79 20 6f 6e 20 74 6f 70 at.....#.they.always.stay.on.top
36980 20 6f 66 20 74 68 65 20 70 61 72 65 6e 74 20 77 69 6e 64 6f 77 2e 20 20 42 75 74 20 73 6f 6d 65 .of.the.parent.window...But.some
369a0 20 77 69 6e 64 6f 77 20 6d 61 6e 61 67 65 72 73 0d 20 20 20 20 23 20 77 69 6c 6c 20 73 69 6d 70 .window.managers.....#.will.simp
369c0 6c 79 20 63 72 65 61 74 65 20 74 68 65 20 63 68 69 6c 64 20 77 69 6e 64 6f 77 20 61 73 20 77 69 ly.create.the.child.window.as.wi
369e0 74 68 64 72 61 77 6e 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 20 69 73 20 6e 6f 74 0d 20 20 20 thdrawn.if.the.parent.is.not....
36a00 20 23 20 76 69 65 77 61 62 6c 65 20 28 62 65 63 61 75 73 65 20 69 74 20 69 73 20 77 69 74 68 64 .#.viewable.(because.it.is.withd
36a20 72 61 77 6e 20 6f 72 20 69 63 6f 6e 69 66 69 65 64 29 2e 20 20 54 68 69 73 20 69 73 20 6e 6f 74 rawn.or.iconified)...This.is.not
36a40 20 67 6f 6f 64 20 66 6f 72 0d 20 20 20 20 23 20 22 67 72 61 62 22 62 65 64 20 77 69 6e 64 6f 77 .good.for.....#."grab"bed.window
36a60 73 2e 20 20 53 6f 20 6f 6e 6c 79 20 6d 61 6b 65 20 74 68 65 20 6d 65 73 73 61 67 65 20 62 6f 78 s...So.only.make.the.message.box
36a80 20 74 72 61 6e 73 69 65 6e 74 20 69 66 20 74 68 65 20 70 61 72 65 6e 74 0d 20 20 20 20 23 20 69 .transient.if.the.parent.....#.i
36aa0 73 20 76 69 65 77 61 62 6c 65 2e 0d 20 20 20 20 23 0d 20 20 20 20 69 66 20 7b 20 5b 77 69 6e 66 s.viewable......#.....if.{.[winf
36ac0 6f 20 76 69 65 77 61 62 6c 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 64 61 74 61 o.viewable.[winfo.toplevel.$data
36ae0 28 2d 70 61 72 65 6e 74 29 5d 5d 20 7d 20 7b 0d 09 77 6d 20 74 72 61 6e 73 69 65 6e 74 20 24 77 (-parent)]].}.{..wm.transient.$w
36b00 20 24 64 61 74 61 28 2d 70 61 72 65 6e 74 29 0d 20 20 20 20 7d 20 20 20 20 0d 0d 20 20 20 20 69 .$data(-parent).....}..........i
36b20 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 f.{[string.equal.$tcl_platform(p
36b40 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 75 6e 73 75 70 70 latform)."macintosh"]}.{..unsupp
36b60 6f 72 74 65 64 31 20 73 74 79 6c 65 20 24 77 20 64 42 6f 78 50 72 6f 63 0d 20 20 20 20 7d 0d 0d orted1.style.$w.dBoxProc.....}..
36b80 20 20 20 20 66 72 61 6d 65 20 24 77 2e 62 6f 74 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 62 6f 74 ....frame.$w.bot.....pack.$w.bot
36ba0 20 2d 73 69 64 65 20 62 6f 74 74 6f 6d 20 2d 66 69 6c 6c 20 62 6f 74 68 0d 20 20 20 20 66 72 61 .-side.bottom.-fill.both.....fra
36bc0 6d 65 20 24 77 2e 74 6f 70 0d 20 20 20 20 70 61 63 6b 20 24 77 2e 74 6f 70 20 2d 73 69 64 65 20 me.$w.top.....pack.$w.top.-side.
36be0 74 6f 70 20 2d 66 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 0d 20 20 20 20 69 66 20 top.-fill.both.-expand.1.....if.
36c00 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 {[string.compare.$tcl_platform(p
36c20 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 24 77 2e 62 6f 74 latform)."macintosh"]}.{..$w.bot
36c40 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 20 2d 62 64 20 31 0d .configure.-relief.raised.-bd.1.
36c60 09 24 77 2e 74 6f 70 20 63 6f 6e 66 69 67 75 72 65 20 2d 72 65 6c 69 65 66 20 72 61 69 73 65 64 .$w.top.configure.-relief.raised
36c80 20 2d 62 64 20 31 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 34 2e 20 46 69 6c 6c 20 74 68 65 20 .-bd.1.....}......#.4..Fill.the.
36ca0 74 6f 70 20 70 61 72 74 20 77 69 74 68 20 62 69 74 6d 61 70 20 61 6e 64 20 6d 65 73 73 61 67 65 top.part.with.bitmap.and.message
36cc0 20 28 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e 0d 20 20 20 20 23 20 64 61 74 61 62 61 73 65 20 .(use.the.option.....#.database.
36ce0 66 6f 72 20 2d 77 72 61 70 6c 65 6e 67 74 68 20 61 6e 64 20 2d 66 6f 6e 74 20 73 6f 20 74 68 61 for.-wraplength.and.-font.so.tha
36d00 74 20 74 68 65 79 20 63 61 6e 20 62 65 0d 20 20 20 20 23 20 6f 76 65 72 72 69 64 64 65 6e 20 62 t.they.can.be.....#.overridden.b
36d20 79 20 74 68 65 20 63 61 6c 6c 65 72 29 2e 0d 0d 20 20 20 20 6f 70 74 69 6f 6e 20 61 64 64 20 2a y.the.caller).......option.add.*
36d40 44 69 61 6c 6f 67 2e 6d 73 67 2e 77 72 61 70 4c 65 6e 67 74 68 20 33 69 20 77 69 64 67 65 74 44 Dialog.msg.wrapLength.3i.widgetD
36d60 65 66 61 75 6c 74 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 efault.....if.{[string.equal.$tc
36d80 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 l_platform(platform)."macintosh"
36da0 5d 7d 20 7b 0d 09 6f 70 74 69 6f 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e 66 6f 6e ]}.{..option.add.*Dialog.msg.fon
36dc0 74 20 73 79 73 74 65 6d 20 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 7d 20 65 6c 73 t.system.widgetDefault.....}.els
36de0 65 20 7b 0d 09 6f 70 74 69 6f 6e 20 61 64 64 20 2a 44 69 61 6c 6f 67 2e 6d 73 67 2e 66 6f 6e 74 e.{..option.add.*Dialog.msg.font
36e00 20 7b 54 69 6d 65 73 20 31 38 7d 20 77 69 64 67 65 74 44 65 66 61 75 6c 74 0d 20 20 20 20 7d 0d .{Times.18}.widgetDefault.....}.
36e20 0d 20 20 20 20 6c 61 62 65 6c 20 24 77 2e 6d 73 67 20 2d 61 6e 63 68 6f 72 20 6e 77 20 2d 6a 75 .....label.$w.msg.-anchor.nw.-ju
36e40 73 74 69 66 79 20 6c 65 66 74 20 2d 74 65 78 74 20 24 64 61 74 61 28 2d 6d 65 73 73 61 67 65 29 stify.left.-text.$data(-message)
36e60 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d .....if.{[string.compare.$data(-
36e80 69 63 6f 6e 29 20 22 22 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 icon).""]}.{..if.{[string.equal.
36ea0 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 6d 61 63 69 6e 74 6f $tcl_platform(platform)."macinto
36ec0 73 68 22 5d 20 5c 0d 09 09 7c 7c 20 28 5b 77 69 6e 66 6f 20 64 65 70 74 68 20 24 77 5d 20 3c 20 sh"].\...||.([winfo.depth.$w].<.
36ee0 34 29 20 7c 7c 20 24 74 6b 5f 73 74 72 69 63 74 4d 6f 74 69 66 7d 20 7b 0d 09 20 20 20 20 6c 61 4).||.$tk_strictMotif}.{......la
36f00 62 65 6c 20 24 77 2e 62 69 74 6d 61 70 20 2d 62 69 74 6d 61 70 20 24 64 61 74 61 28 2d 69 63 6f bel.$w.bitmap.-bitmap.$data(-ico
36f20 6e 29 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 63 61 6e 76 61 73 20 24 77 2e 62 69 74 6d n)..}.else.{......canvas.$w.bitm
36f40 61 70 20 2d 77 69 64 74 68 20 33 32 20 2d 68 65 69 67 68 74 20 33 32 20 2d 68 69 67 68 6c 69 67 ap.-width.32.-height.32.-highlig
36f60 68 74 74 68 69 63 6b 6e 65 73 73 20 30 0d 09 20 20 20 20 73 77 69 74 63 68 20 24 64 61 74 61 28 htthickness.0......switch.$data(
36f80 2d 69 63 6f 6e 29 20 7b 0d 09 09 65 72 72 6f 72 20 7b 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d -icon).{...error.{.......$w.bitm
36fa0 61 70 20 63 72 65 61 74 65 20 6f 76 61 6c 20 30 20 30 20 33 31 20 33 31 20 2d 66 69 6c 6c 20 72 ap.create.oval.0.0.31.31.-fill.r
36fc0 65 64 20 2d 6f 75 74 6c 69 6e 65 20 62 6c 61 63 6b 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 ed.-outline.black.......$w.bitma
36fe0 70 20 63 72 65 61 74 65 20 6c 69 6e 65 20 39 20 39 20 32 33 20 32 33 20 2d 66 69 6c 6c 20 77 68 p.create.line.9.9.23.23.-fill.wh
37000 69 74 65 20 2d 77 69 64 74 68 20 34 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 ite.-width.4.......$w.bitmap.cre
37020 61 74 65 20 6c 69 6e 65 20 39 20 32 33 20 32 33 20 39 20 2d 66 69 6c 6c 20 77 68 69 74 65 20 2d ate.line.9.23.23.9.-fill.white.-
37040 77 69 64 74 68 20 34 0d 09 09 7d 0d 09 09 69 6e 66 6f 20 7b 0d 09 09 20 20 20 20 24 77 2e 62 69 width.4...}...info.{.......$w.bi
37060 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 tmap.create.image.0.0.-anchor.nw
37080 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 62 .\........-image.::tk::dialog::b
370a0 31 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 67 65 20 30 1.......$w.bitmap.create.image.0
370c0 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a .0.-anchor.nw.\........-image.::
370e0 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 62 32 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 tk::dialog::b2.......$w.bitmap.c
37100 72 65 61 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 reate.image.0.0.-anchor.nw.\....
37120 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 69 0d 09 09 7d 0d 09 ....-image.::tk::dialog::i...}..
37140 09 71 75 65 73 74 69 6f 6e 20 7b 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 61 .question.{.......$w.bitmap.crea
37160 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 te.image.0.0.-anchor.nw.\.......
37180 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 62 31 0d 09 09 20 20 20 20 24 .-image.::tk::dialog::b1.......$
371a0 77 2e 62 69 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e 63 68 6f w.bitmap.create.image.0.0.-ancho
371c0 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f r.nw.\........-image.::tk::dialo
371e0 67 3a 3a 62 32 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 g::b2.......$w.bitmap.create.ima
37200 67 65 20 30 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 ge.0.0.-anchor.nw.\........-imag
37220 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 71 0d 09 09 7d 0d 09 09 64 65 66 61 75 6c 74 20 e.::tk::dialog::q...}...default.
37240 7b 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 67 65 20 30 {.......$w.bitmap.create.image.0
37260 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a .0.-anchor.nw.\........-image.::
37280 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 77 31 0d 09 09 20 20 20 20 24 77 2e 62 69 74 6d 61 70 20 63 tk::dialog::w1.......$w.bitmap.c
372a0 72 65 61 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 reate.image.0.0.-anchor.nw.\....
372c0 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 61 6c 6f 67 3a 3a 77 32 0d 09 09 20 20 ....-image.::tk::dialog::w2.....
372e0 20 20 24 77 2e 62 69 74 6d 61 70 20 63 72 65 61 74 65 20 69 6d 61 67 65 20 30 20 30 20 2d 61 6e ..$w.bitmap.create.image.0.0.-an
37300 63 68 6f 72 20 6e 77 20 5c 0d 09 09 09 20 20 20 20 2d 69 6d 61 67 65 20 3a 3a 74 6b 3a 3a 64 69 chor.nw.\........-image.::tk::di
37320 61 6c 6f 67 3a 3a 77 33 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 alog::w3...}......}..}.....}....
37340 20 67 72 69 64 20 24 77 2e 62 69 74 6d 61 70 20 24 77 2e 6d 73 67 20 2d 69 6e 20 24 77 2e 74 6f .grid.$w.bitmap.$w.msg.-in.$w.to
37360 70 20 2d 73 74 69 63 6b 79 20 6e 65 77 73 20 2d 70 61 64 78 20 32 6d 20 2d 70 61 64 79 20 32 6d p.-sticky.news.-padx.2m.-pady.2m
37380 0d 20 20 20 20 67 72 69 64 20 63 6f 6c 75 6d 6e 63 6f 6e 66 69 67 75 72 65 20 24 77 2e 74 6f 70 .....grid.columnconfigure.$w.top
373a0 20 31 20 2d 77 65 69 67 68 74 20 31 0d 20 20 20 20 67 72 69 64 20 72 6f 77 63 6f 6e 66 69 67 75 .1.-weight.1.....grid.rowconfigu
373c0 72 65 20 24 77 2e 74 6f 70 20 30 20 2d 77 65 69 67 68 74 20 31 0d 0d 20 20 20 20 23 20 35 2e 20 re.$w.top.0.-weight.1......#.5..
373e0 43 72 65 61 74 65 20 61 20 72 6f 77 20 6f 66 20 62 75 74 74 6f 6e 73 20 61 74 20 74 68 65 20 62 Create.a.row.of.buttons.at.the.b
37400 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 64 69 61 6c 6f 67 2e 0d 0d 20 20 20 20 73 65 74 20 69 20 ottom.of.the.dialog.......set.i.
37420 30 0d 20 20 20 20 66 6f 72 65 61 63 68 20 62 75 74 20 24 62 75 74 74 6f 6e 73 20 7b 0d 09 73 65 0.....foreach.but.$buttons.{..se
37440 74 20 6e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 24 62 75 74 20 30 5d 0d 09 73 65 74 20 6f 70 74 73 t.name.[lindex.$but.0]..set.opts
37460 20 5b 6c 72 61 6e 67 65 20 24 62 75 74 20 31 20 65 6e 64 5d 0d 09 69 66 20 7b 21 5b 6c 6c 65 6e .[lrange.$but.1.end]..if.{![llen
37480 67 74 68 20 24 6f 70 74 73 5d 7d 20 7b 0d 09 20 20 20 20 23 20 43 61 70 69 74 61 6c 69 7a 65 20 gth.$opts]}.{......#.Capitalize.
374a0 74 68 65 20 66 69 72 73 74 20 6c 65 74 74 65 72 20 6f 66 20 24 6e 61 6d 65 0d 09 20 20 20 20 73 the.first.letter.of.$name......s
374c0 65 74 20 63 61 70 4e 61 6d 65 20 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 20 24 6e 61 6d 65 et.capName.[string.toupper.$name
374e0 20 30 5d 0d 09 20 20 20 20 73 65 74 20 6f 70 74 73 20 5b 6c 69 73 74 20 2d 74 65 78 74 20 24 63 .0]......set.opts.[list.-text.$c
37500 61 70 4e 61 6d 65 5d 0d 09 7d 0d 0d 09 65 76 61 6c 20 62 75 74 74 6f 6e 20 5b 6c 69 73 74 20 24 apName]..}...eval.button.[list.$
37520 77 2e 24 6e 61 6d 65 5d 20 24 6f 70 74 73 20 5b 6c 69 73 74 20 2d 63 6f 6d 6d 61 6e 64 20 5b 6c w.$name].$opts.[list.-command.[l
37540 69 73 74 20 73 65 74 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 20 24 6e 61 6d 65 5d 5d 0d 0d ist.set.tkPriv(button).$name]]..
37560 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 20 24 64 61 74 61 28 2d .if.{[string.equal.$name.$data(-
37580 64 65 66 61 75 6c 74 29 5d 7d 20 7b 0d 09 20 20 20 20 24 77 2e 24 6e 61 6d 65 20 63 6f 6e 66 69 default)]}.{......$w.$name.confi
375a0 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 61 63 74 69 76 65 0d 09 7d 0d 09 70 61 63 6b 20 24 77 gure.-default.active..}..pack.$w
375c0 2e 24 6e 61 6d 65 20 2d 69 6e 20 24 77 2e 62 6f 74 20 2d 73 69 64 65 20 6c 65 66 74 20 2d 65 78 .$name.-in.$w.bot.-side.left.-ex
375e0 70 61 6e 64 20 31 20 2d 70 61 64 78 20 33 6d 20 2d 70 61 64 79 20 32 6d 0d 0d 09 23 20 63 72 65 pand.1.-padx.3m.-pady.2m...#.cre
37600 61 74 65 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 74 68 65 20 6b 65 79 20 61 63 63 65 ate.the.binding.for.the.key.acce
37620 6c 65 72 61 74 6f 72 2c 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 75 6e 64 65 72 6c 69 6e 65 0d lerator,.based.on.the.underline.
37640 09 23 0d 09 73 65 74 20 75 6e 64 65 72 49 64 78 20 5b 24 77 2e 24 6e 61 6d 65 20 63 67 65 74 20 .#..set.underIdx.[$w.$name.cget.
37660 2d 75 6e 64 65 72 5d 0d 09 69 66 20 7b 24 75 6e 64 65 72 49 64 78 20 3e 3d 20 30 7d 20 7b 0d 09 -under]..if.{$underIdx.>=.0}.{..
37680 20 20 20 20 73 65 74 20 6b 65 79 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 5b 24 77 2e 24 6e ....set.key.[string.index.[$w.$n
376a0 61 6d 65 20 63 67 65 74 20 2d 74 65 78 74 5d 20 24 75 6e 64 65 72 49 64 78 5d 0d 09 20 20 20 20 ame.cget.-text].$underIdx]......
376c0 62 69 6e 64 20 24 77 20 3c 41 6c 74 2d 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 24 6b 65 bind.$w.<Alt-[string.tolower.$ke
376e0 79 5d 3e 20 20 5b 6c 69 73 74 20 24 77 2e 24 6e 61 6d 65 20 69 6e 76 6f 6b 65 5d 0d 09 20 20 20 y]>..[list.$w.$name.invoke].....
37700 20 62 69 6e 64 20 24 77 20 3c 41 6c 74 2d 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 20 24 6b .bind.$w.<Alt-[string.toupper.$k
37720 65 79 5d 3e 20 20 5b 6c 69 73 74 20 24 77 2e 24 6e 61 6d 65 20 69 6e 76 6f 6b 65 5d 0d 09 7d 0d ey]>..[list.$w.$name.invoke]..}.
37740 09 69 6e 63 72 20 69 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 .incr.i.....}......if.{[string.c
37760 6f 6d 70 61 72 65 20 7b 7d 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 5d 7d 20 7b 0d 09 62 ompare.{}.$data(-default)]}.{..b
37780 69 6e 64 20 24 77 20 3c 46 6f 63 75 73 49 6e 3e 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 ind.$w.<FocusIn>.{......if.{[str
377a0 69 6e 67 20 65 71 75 61 6c 20 42 75 74 74 6f 6e 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 25 57 ing.equal.Button.[winfo.class.%W
377c0 5d 5d 7d 20 7b 0d 09 09 25 57 20 63 6f 6e 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 61 63 ]]}.{...%W.configure.-default.ac
377e0 74 69 76 65 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 62 69 6e 64 20 24 77 20 3c 46 6f 63 75 73 4f 75 tive......}..}..bind.$w.<FocusOu
37800 74 3e 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 42 75 74 74 t>.{......if.{[string.equal.Butt
37820 6f 6e 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 25 57 5d 5d 7d 20 7b 0d 09 09 25 57 20 63 6f 6e on.[winfo.class.%W]]}.{...%W.con
37840 66 69 67 75 72 65 20 2d 64 65 66 61 75 6c 74 20 6e 6f 72 6d 61 6c 0d 09 20 20 20 20 7d 0d 09 7d figure.-default.normal......}..}
37860 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 36 2e 20 43 72 65 61 74 65 20 61 20 62 69 6e 64 69 6e .....}......#.6..Create.a.bindin
37880 67 20 66 6f 72 20 3c 52 65 74 75 72 6e 3e 20 6f 6e 20 74 68 65 20 64 69 61 6c 6f 67 0d 0d 20 20 g.for.<Return>.on.the.dialog....
378a0 20 20 62 69 6e 64 20 24 77 20 3c 52 65 74 75 72 6e 3e 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e ..bind.$w.<Return>.{..if.{[strin
378c0 67 20 65 71 75 61 6c 20 42 75 74 74 6f 6e 20 5b 77 69 6e 66 6f 20 63 6c 61 73 73 20 25 57 5d 5d g.equal.Button.[winfo.class.%W]]
378e0 7d 20 7b 0d 09 20 20 20 20 74 6b 42 75 74 74 6f 6e 49 6e 76 6f 6b 65 20 25 57 0d 09 7d 0d 20 20 }.{......tkButtonInvoke.%W..}...
37900 20 20 7d 0d 0d 20 20 20 20 23 20 37 2e 20 57 69 74 68 64 72 61 77 20 74 68 65 20 77 69 6e 64 6f ..}......#.7..Withdraw.the.windo
37920 77 2c 20 74 68 65 6e 20 75 70 64 61 74 65 20 61 6c 6c 20 74 68 65 20 67 65 6f 6d 65 74 72 79 20 w,.then.update.all.the.geometry.
37940 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d 20 20 20 20 23 20 73 6f 20 77 65 20 6b 6e 6f 77 20 68 6f 77 information.....#.so.we.know.how
37960 20 62 69 67 20 69 74 20 77 61 6e 74 73 20 74 6f 20 62 65 2c 20 74 68 65 6e 20 63 65 6e 74 65 72 .big.it.wants.to.be,.then.center
37980 20 74 68 65 20 77 69 6e 64 6f 77 20 69 6e 20 74 68 65 0d 20 20 20 20 23 20 64 69 73 70 6c 61 79 .the.window.in.the.....#.display
379a0 20 61 6e 64 20 64 65 2d 69 63 6f 6e 69 66 79 20 69 74 2e 0d 0d 20 20 20 20 3a 3a 74 6b 3a 3a 50 .and.de-iconify.it.......::tk::P
379c0 6c 61 63 65 57 69 6e 64 6f 77 20 24 77 20 77 69 64 67 65 74 20 24 64 61 74 61 28 2d 70 61 72 65 laceWindow.$w.widget.$data(-pare
379e0 6e 74 29 0d 0d 20 20 20 20 23 20 38 2e 20 53 65 74 20 61 20 67 72 61 62 20 61 6e 64 20 63 6c 61 nt)......#.8..Set.a.grab.and.cla
37a00 69 6d 20 74 68 65 20 66 6f 63 75 73 20 74 6f 6f 2e 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 im.the.focus.too.......if.{[stri
37a20 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 20 22 22 5d 7d 20 ng.compare.$data(-default).""]}.
37a40 7b 0d 09 73 65 74 20 66 6f 63 75 73 20 24 77 2e 24 64 61 74 61 28 2d 64 65 66 61 75 6c 74 29 0d {..set.focus.$w.$data(-default).
37a60 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 66 6f 63 75 73 20 24 77 0d 20 20 20 20 7d ....}.else.{..set.focus.$w.....}
37a80 0d 20 20 20 20 3a 3a 74 6b 3a 3a 53 65 74 46 6f 63 75 73 47 72 61 62 20 24 77 20 24 66 6f 63 75 .....::tk::SetFocusGrab.$w.$focu
37aa0 73 0d 0d 20 20 20 20 23 20 39 2e 20 57 61 69 74 20 66 6f 72 20 74 68 65 20 75 73 65 72 20 74 6f s......#.9..Wait.for.the.user.to
37ac0 20 72 65 73 70 6f 6e 64 2c 20 74 68 65 6e 20 72 65 73 74 6f 72 65 20 74 68 65 20 66 6f 63 75 73 .respond,.then.restore.the.focus
37ae0 20 61 6e 64 0d 20 20 20 20 23 20 72 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 .and.....#.return.the.index.of.t
37b00 68 65 20 73 65 6c 65 63 74 65 64 20 62 75 74 74 6f 6e 2e 20 20 52 65 73 74 6f 72 65 20 74 68 65 he.selected.button...Restore.the
37b20 20 66 6f 63 75 73 0d 20 20 20 20 23 20 62 65 66 6f 72 65 20 64 65 6c 65 74 69 6e 67 20 74 68 65 .focus.....#.before.deleting.the
37b40 20 77 69 6e 64 6f 77 2c 20 73 69 6e 63 65 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 77 69 6e .window,.since.otherwise.the.win
37b60 64 6f 77 20 6d 61 6e 61 67 65 72 0d 20 20 20 20 23 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 66 dow.manager.....#.may.take.the.f
37b80 6f 63 75 73 20 61 77 61 79 20 73 6f 20 77 65 20 63 61 6e 27 74 20 72 65 64 69 72 65 63 74 20 69 ocus.away.so.we.can't.redirect.i
37ba0 74 2e 20 20 46 69 6e 61 6c 6c 79 2c 0d 20 20 20 20 23 20 72 65 73 74 6f 72 65 20 61 6e 79 20 67 t...Finally,.....#.restore.any.g
37bc0 72 61 62 20 74 68 61 74 20 77 61 73 20 69 6e 20 65 66 66 65 63 74 2e 0d 0d 20 20 20 20 74 6b 77 rab.that.was.in.effect.......tkw
37be0 61 69 74 20 76 61 72 69 61 62 6c 65 20 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 0d 20 20 20 ait.variable.tkPriv(button).....
37c00 20 3a 3a 74 6b 3a 3a 52 65 73 74 6f 72 65 46 6f 63 75 73 47 72 61 62 20 24 77 20 24 66 6f 63 75 .::tk::RestoreFocusGrab.$w.$focu
37c20 73 0d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 74 6b 50 72 69 76 28 62 75 74 74 6f 6e 29 0d 7d 0d s......return.$tkPriv(button).}.
37c40 00 00 1d 02 23 20 63 6f 6d 64 6c 67 2e 74 63 6c 20 2d 2d 0d 23 0d 23 09 53 6f 6d 65 20 66 75 6e ....#.comdlg.tcl.--.#.#.Some.fun
37c60 63 74 69 6f 6e 73 20 6e 65 65 64 65 64 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 64 69 61 ctions.needed.for.the.common.dia
37c80 6c 6f 67 20 62 6f 78 65 73 2e 20 50 72 6f 62 61 62 6c 79 20 6e 65 65 64 20 74 6f 20 67 6f 0d 23 log.boxes..Probably.need.to.go.#
37ca0 09 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 2e 0d 23 0d 23 20 52 43 53 3a 20 40 .in.a.different.file..#.#.RCS:.@
37cc0 28 23 29 20 24 49 64 3a 20 63 6f 6d 64 6c 67 2e 74 63 6c 2c 76 20 31 2e 37 20 32 30 30 30 2f 30 (#).$Id:.comdlg.tcl,v.1.7.2000/0
37ce0 34 2f 30 38 20 30 36 3a 35 39 3a 32 38 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 4/08.06:59:28.hobbs.Exp.$.#.#.Co
37d00 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 36 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d pyright.(c).1996.Sun.Microsystem
37d20 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 s,.Inc..#.#.See.the.file."licens
37d40 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 e.terms".for.information.on.usag
37d60 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 e.and.redistribution.#.of.this.f
37d80 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c ile,.and.for.a.DISCLAIMER.OF.ALL
37da0 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 74 63 6c 50 61 72 73 65 43 6f 6e 66 69 67 .WARRANTIES..#..#.tclParseConfig
37dc0 53 70 65 63 20 2d 2d 0d 23 0d 23 09 50 61 72 73 65 73 20 61 20 6c 69 73 74 20 6f 66 20 22 2d 6f Spec.--.#.#.Parses.a.list.of."-o
37de0 70 74 69 6f 6e 20 76 61 6c 75 65 22 20 70 61 69 72 73 2e 20 49 66 20 61 6c 6c 20 6f 70 74 69 6f ption.value".pairs..If.all.optio
37e00 6e 73 20 61 6e 64 0d 23 09 76 61 6c 75 65 73 20 61 72 65 20 6c 65 67 61 6c 2c 20 74 68 65 20 76 ns.and.#.values.are.legal,.the.v
37e20 61 6c 75 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 0d 23 09 24 64 61 74 61 28 24 6f 70 74 alues.are.stored.in.#.$data($opt
37e40 69 6f 6e 29 2e 20 4f 74 68 65 72 77 69 73 65 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 ion)..Otherwise.an.error.message
37e60 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 57 68 65 6e 0d 23 09 61 6e 20 65 72 72 6f 72 20 68 61 .is.returned..When.#.an.error.ha
37e80 70 70 65 6e 73 2c 20 74 68 65 20 64 61 74 61 28 29 20 61 72 72 61 79 20 6d 61 79 20 68 61 76 65 ppens,.the.data().array.may.have
37ea0 20 62 65 65 6e 20 70 61 72 74 69 61 6c 6c 79 0d 23 09 6d 6f 64 69 66 69 65 64 2c 20 62 75 74 20 .been.partially.#.modified,.but.
37ec0 61 6c 6c 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 20 all.the.modified.members.of.the.
37ee0 64 61 74 61 28 30 20 61 72 72 61 79 20 61 72 65 0d 23 09 67 75 61 72 61 6e 74 65 65 64 20 74 6f data(0.array.are.#.guaranteed.to
37f00 20 68 61 76 65 20 76 61 6c 69 64 20 76 61 6c 75 65 73 2e 20 54 68 69 73 20 69 73 20 64 69 66 66 .have.valid.values..This.is.diff
37f20 65 72 65 6e 74 20 74 68 61 6e 0d 23 09 54 6b 5f 43 6f 6e 66 69 67 75 72 65 57 69 64 67 65 74 28 erent.than.#.Tk_ConfigureWidget(
37f40 29 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 76 61 6c 75 ).which.does.not.modify.the.valu
37f60 65 20 6f 66 20 61 0d 23 09 77 69 64 67 65 74 20 72 65 63 6f 72 64 20 69 66 20 61 6e 79 20 65 72 e.of.a.#.widget.record.if.any.er
37f80 72 6f 72 20 6f 63 63 75 72 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 0d 23 20 77 ror.occurs..#.#.Arguments:.#.#.w
37fa0 20 3d 20 77 69 64 67 65 74 20 72 65 63 6f 72 64 20 74 6f 20 6d 6f 64 69 66 79 2e 20 4d 75 73 74 .=.widget.record.to.modify..Must
37fc0 20 62 65 20 74 68 65 20 70 61 74 68 6e 61 6d 65 20 6f 66 20 61 20 77 69 64 67 65 74 2e 0d 23 0d .be.the.pathname.of.a.widget..#.
37fe0 23 20 73 70 65 63 73 20 3d 20 7b 0d 23 20 20 20 20 7b 2d 63 6f 6d 6d 61 6e 64 6c 69 6e 65 73 77 #.specs.=.{.#....{-commandlinesw
38000 69 74 63 68 20 72 65 73 6f 75 72 63 65 4e 61 6d 65 20 52 65 73 6f 75 72 63 65 43 6c 61 73 73 20 itch.resourceName.ResourceClass.
38020 64 65 66 61 75 6c 74 56 61 6c 75 65 20 76 65 72 69 66 69 65 72 7d 0d 23 20 20 20 20 7b 2e 2e 2e defaultValue.verifier}.#....{...
38040 2e 7d 0d 23 20 7d 0d 23 0d 23 20 66 6c 61 67 73 20 3d 20 63 75 72 72 65 6e 74 6c 79 20 75 6e 75 .}.#.}.#.#.flags.=.currently.unu
38060 73 65 64 2e 0d 23 0d 23 20 61 72 67 4c 69 73 74 20 3d 20 54 68 65 20 6c 69 73 74 20 6f 66 20 20 sed..#.#.argList.=.The.list.of..
38080 22 2d 6f 70 74 69 6f 6e 20 76 61 6c 75 65 22 20 70 61 69 72 73 2e 0d 23 0d 70 72 6f 63 20 74 63 "-option.value".pairs..#.proc.tc
380a0 6c 50 61 72 73 65 43 6f 6e 66 69 67 53 70 65 63 20 7b 77 20 73 70 65 63 73 20 66 6c 61 67 73 20 lParseConfigSpec.{w.specs.flags.
380c0 61 72 67 4c 69 73 74 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 23 30 20 24 77 20 64 61 74 61 0d argList}.{.....upvar.#0.$w.data.
380e0 0d 20 20 20 20 23 20 31 3a 20 50 75 74 20 74 68 65 20 73 70 65 63 73 20 69 6e 20 61 73 73 6f 63 .....#.1:.Put.the.specs.in.assoc
38100 69 61 74 69 76 65 20 61 72 72 61 79 73 20 66 6f 72 20 66 61 73 74 65 72 20 61 63 63 65 73 73 0d iative.arrays.for.faster.access.
38120 20 20 20 20 23 0d 20 20 20 20 66 6f 72 65 61 63 68 20 73 70 65 63 20 24 73 70 65 63 73 20 7b 0d ....#.....foreach.spec.$specs.{.
38140 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 73 70 65 63 5d 20 3c 20 34 7d 20 7b 0d 09 20 20 20 .if.{[llength.$spec].<.4}.{.....
38160 20 65 72 72 6f 72 20 22 5c 22 73 70 65 63 5c 22 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 .error."\"spec\".should.contain.
38180 35 20 6f 72 20 34 20 65 6c 65 6d 65 6e 74 73 22 0d 09 7d 0d 09 73 65 74 20 63 6d 64 73 77 20 5b 5.or.4.elements"..}..set.cmdsw.[
381a0 6c 69 6e 64 65 78 20 24 73 70 65 63 20 30 5d 0d 09 73 65 74 20 63 6d 64 28 24 63 6d 64 73 77 29 lindex.$spec.0]..set.cmd($cmdsw)
381c0 20 22 22 0d 09 73 65 74 20 72 6e 61 6d 65 28 24 63 6d 64 73 77 29 20 20 20 5b 6c 69 6e 64 65 78 .""..set.rname($cmdsw)...[lindex
381e0 20 24 73 70 65 63 20 31 5d 0d 09 73 65 74 20 72 63 6c 61 73 73 28 24 63 6d 64 73 77 29 20 20 5b .$spec.1]..set.rclass($cmdsw)..[
38200 6c 69 6e 64 65 78 20 24 73 70 65 63 20 32 5d 0d 09 73 65 74 20 64 65 66 28 24 63 6d 64 73 77 29 lindex.$spec.2]..set.def($cmdsw)
38220 20 20 20 20 20 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 33 5d 0d 09 73 65 74 20 76 65 72 70 72 .....[lindex.$spec.3]..set.verpr
38240 6f 63 28 24 63 6d 64 73 77 29 20 5b 6c 69 6e 64 65 78 20 24 73 70 65 63 20 34 5d 0d 20 20 20 20 oc($cmdsw).[lindex.$spec.4].....
38260 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 61 72 67 4c 69 73 74 5d 20 26 20 }......if.{[llength.$argList].&.
38280 31 7d 20 7b 0d 09 73 65 74 20 63 6d 64 73 77 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 4c 69 73 74 1}.{..set.cmdsw.[lindex.$argList
382a0 20 65 6e 64 5d 0d 09 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 63 6d 64 28 24 63 6d .end]..if.{![info.exists.cmd($cm
382c0 64 73 77 29 5d 7d 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 dsw)]}.{......error."bad.option.
382e0 5c 22 24 63 6d 64 73 77 5c 22 3a 20 6d 75 73 74 20 62 65 20 5b 74 63 6c 4c 69 73 74 56 61 6c 69 \"$cmdsw\":.must.be.[tclListVali
38300 64 46 6c 61 67 73 20 63 6d 64 5d 22 0d 09 7d 0d 09 65 72 72 6f 72 20 22 76 61 6c 75 65 20 66 6f dFlags.cmd]"..}..error."value.fo
38320 72 20 5c 22 24 63 6d 64 73 77 5c 22 20 6d 69 73 73 69 6e 67 22 0d 20 20 20 20 7d 0d 0d 20 20 20 r.\"$cmdsw\".missing".....}.....
38340 20 23 20 32 3a 20 73 65 74 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 0d 20 20 20 .#.2:.set.the.default.values....
38360 20 23 0d 20 20 20 20 66 6f 72 65 61 63 68 20 63 6d 64 73 77 20 5b 61 72 72 61 79 20 6e 61 6d 65 .#.....foreach.cmdsw.[array.name
38380 73 20 63 6d 64 5d 20 7b 0d 09 73 65 74 20 64 61 74 61 28 24 63 6d 64 73 77 29 20 24 64 65 66 28 s.cmd].{..set.data($cmdsw).$def(
383a0 24 63 6d 64 73 77 29 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 33 3a 20 70 61 72 73 65 20 74 68 $cmdsw).....}......#.3:.parse.th
383c0 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74 0d 20 20 20 20 23 0d 20 20 20 20 66 6f 72 65 61 63 e.argument.list.....#.....foreac
383e0 68 20 7b 63 6d 64 73 77 20 76 61 6c 75 65 7d 20 24 61 72 67 4c 69 73 74 20 7b 0d 09 69 66 20 7b h.{cmdsw.value}.$argList.{..if.{
38400 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 63 6d 64 28 24 63 6d 64 73 77 29 5d 7d 20 7b 0d 09 20 ![info.exists.cmd($cmdsw)]}.{...
38420 20 20 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 63 6d 64 73 77 5c 22 3a ...error."bad.option.\"$cmdsw\":
38440 20 6d 75 73 74 20 62 65 20 5b 74 63 6c 4c 69 73 74 56 61 6c 69 64 46 6c 61 67 73 20 63 6d 64 5d .must.be.[tclListValidFlags.cmd]
38460 22 0d 09 7d 0d 09 73 65 74 20 64 61 74 61 28 24 63 6d 64 73 77 29 20 24 76 61 6c 75 65 0d 20 20 "..}..set.data($cmdsw).$value...
38480 20 20 7d 0d 0d 20 20 20 20 23 20 44 6f 6e 65 21 0d 7d 0d 0d 70 72 6f 63 20 74 63 6c 4c 69 73 74 ..}......#.Done!.}..proc.tclList
384a0 56 61 6c 69 64 46 6c 61 67 73 20 7b 76 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 24 76 20 63 6d ValidFlags.{v}.{.....upvar.$v.cm
384c0 64 0d 0d 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c 6c 65 6e 67 74 68 20 5b 61 72 72 61 79 20 6e d......set.len.[llength.[array.n
384e0 61 6d 65 73 20 63 6d 64 5d 5d 0d 20 20 20 20 73 65 74 20 69 20 31 0d 20 20 20 20 73 65 74 20 73 ames.cmd]].....set.i.1.....set.s
38500 65 70 61 72 61 74 6f 72 20 22 22 0d 20 20 20 20 73 65 74 20 65 72 72 6f 72 6d 73 67 20 22 22 0d eparator."".....set.errormsg."".
38520 20 20 20 20 66 6f 72 65 61 63 68 20 63 6d 64 73 77 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 ....foreach.cmdsw.[lsort.[array.
38540 6e 61 6d 65 73 20 63 6d 64 5d 5d 20 7b 0d 09 61 70 70 65 6e 64 20 65 72 72 6f 72 6d 73 67 20 22 names.cmd]].{..append.errormsg."
38560 24 73 65 70 61 72 61 74 6f 72 24 63 6d 64 73 77 22 0d 09 69 6e 63 72 20 69 0d 09 69 66 20 7b 24 $separator$cmdsw"..incr.i..if.{$
38580 69 20 3d 3d 20 24 6c 65 6e 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 73 65 70 61 72 61 74 6f 72 20 i.==.$len}.{......set.separator.
385a0 22 2c 20 6f 72 20 22 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 73 65 70 61 72 ",.or."..}.else.{......set.separ
385c0 61 74 6f 72 20 22 2c 20 22 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 65 ator.",."..}.....}.....return.$e
385e0 72 72 6f 72 6d 73 67 0d 7d 0d 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d rrormsg.}..#--------------------
38600 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
38620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 0d 23 09 09 09 46 6f 63 75 73 20 47 ------------------.#.#...Focus.G
38640 72 6f 75 70 0d 23 0d 23 20 46 6f 63 75 73 20 67 72 6f 75 70 73 20 61 72 65 20 75 73 65 64 20 74 roup.#.#.Focus.groups.are.used.t
38660 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 75 73 65 72 27 73 20 66 6f 63 75 73 69 6e 67 20 61 63 74 o.handle.the.user's.focusing.act
38680 69 6f 6e 73 20 69 6e 73 69 64 65 20 61 0d 23 20 74 6f 70 6c 65 76 65 6c 2e 0d 23 0d 23 20 4f 6e ions.inside.a.#.toplevel..#.#.On
386a0 65 20 65 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 66 6f 63 75 73 20 67 72 6f 75 70 73 20 e.example.of.using.focus.groups.
386c0 69 73 3a 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 66 6f 63 75 73 65 73 20 6f 6e 20 61 6e 0d is:.when.the.user.focuses.on.an.
386e0 23 20 65 6e 74 72 79 2c 20 74 68 65 20 74 65 78 74 20 69 6e 20 74 68 65 20 65 6e 74 72 79 20 69 #.entry,.the.text.in.the.entry.i
38700 73 20 68 69 67 68 6c 69 67 68 74 65 64 20 61 6e 64 20 74 68 65 20 63 75 72 73 6f 72 20 69 73 20 s.highlighted.and.the.cursor.is.
38720 70 75 74 20 74 6f 0d 23 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 74 65 78 74 2e 20 57 68 put.to.#.the.end.of.the.text..Wh
38740 65 6e 20 74 68 65 20 75 73 65 72 20 63 68 61 6e 67 65 73 20 66 6f 63 75 73 20 74 6f 20 61 6e 6f en.the.user.changes.focus.to.ano
38760 74 68 65 72 20 77 69 64 67 65 74 2c 0d 23 20 74 68 65 20 74 65 78 74 20 69 6e 20 74 68 65 20 70 ther.widget,.#.the.text.in.the.p
38780 72 65 76 69 6f 75 73 6c 79 20 66 6f 63 75 73 65 64 20 65 6e 74 72 79 20 69 73 20 76 61 6c 69 64 reviously.focused.entry.is.valid
387a0 61 74 65 64 2e 0d 23 0d 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ated..#.#-----------------------
387c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
387e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0d 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 ---------------...#.tkFocusGroup
38800 5f 43 72 65 61 74 65 20 2d 2d 0d 23 0d 23 09 43 72 65 61 74 65 20 61 20 66 6f 63 75 73 20 67 72 _Create.--.#.#.Create.a.focus.gr
38820 6f 75 70 2e 20 41 6c 6c 20 74 68 65 20 77 69 64 67 65 74 73 20 69 6e 20 61 20 66 6f 63 75 73 20 oup..All.the.widgets.in.a.focus.
38840 67 72 6f 75 70 20 6d 75 73 74 20 62 65 0d 23 09 77 69 74 68 69 6e 20 74 68 65 20 73 61 6d 65 20 group.must.be.#.within.the.same.
38860 66 6f 63 75 73 20 74 6f 70 6c 65 76 65 6c 2e 20 45 61 63 68 20 74 6f 70 6c 65 76 65 6c 20 63 61 focus.toplevel..Each.toplevel.ca
38880 6e 20 68 61 76 65 20 6f 6e 6c 79 0d 23 09 6f 6e 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2c 20 77 n.have.only.#.one.focus.group,.w
388a0 68 69 63 68 20 69 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 74 68 65 20 6e 61 6d 65 20 6f hich.is.identified.by.the.name.o
388c0 66 20 74 68 65 0d 23 09 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 65 74 2e 0d 23 0d 70 72 6f 63 20 f.the.#.toplevel.widget..#.proc.
388e0 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 43 72 65 61 74 65 20 7b 74 7d 20 7b 0d 20 20 20 20 67 6c tkFocusGroup_Create.{t}.{.....gl
38900 6f 62 61 6c 20 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 obal.tkPriv.....if.{[string.comp
38920 61 72 65 20 5b 77 69 6e 66 6f 20 74 6f 70 6c 65 76 65 6c 20 24 74 5d 20 24 74 5d 7d 20 7b 0d 09 are.[winfo.toplevel.$t].$t]}.{..
38940 65 72 72 6f 72 20 22 24 74 20 69 73 20 6e 6f 74 20 61 20 74 6f 70 6c 65 76 65 6c 20 77 69 6e 64 error."$t.is.not.a.toplevel.wind
38960 6f 77 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 ow".....}.....if.{![info.exists.
38980 74 6b 50 72 69 76 28 66 67 2c 24 74 29 5d 7d 20 7b 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 67 tkPriv(fg,$t)]}.{..set.tkPriv(fg
389a0 2c 24 74 29 20 31 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 22 22 0d ,$t).1..set.tkPriv(focus,$t)."".
389c0 09 62 69 6e 64 20 24 74 20 3c 46 6f 63 75 73 49 6e 3e 20 20 5b 6c 69 73 74 20 74 6b 46 6f 63 75 .bind.$t.<FocusIn>..[list.tkFocu
389e0 73 47 72 6f 75 70 5f 49 6e 20 20 24 74 20 25 57 20 25 64 5d 0d 09 62 69 6e 64 20 24 74 20 3c 46 sGroup_In..$t.%W.%d]..bind.$t.<F
38a00 6f 63 75 73 4f 75 74 3e 20 5b 6c 69 73 74 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 4f 75 74 20 ocusOut>.[list.tkFocusGroup_Out.
38a20 24 74 20 25 57 20 25 64 5d 0d 09 62 69 6e 64 20 24 74 20 3c 44 65 73 74 72 6f 79 3e 20 20 5b 6c $t.%W.%d]..bind.$t.<Destroy>..[l
38a40 69 73 74 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 24 74 20 25 57 5d 0d ist.tkFocusGroup_Destroy.$t.%W].
38a60 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 49 6e 20 2d ....}.}..#.tkFocusGroup_BindIn.-
38a80 2d 0d 23 0d 23 20 41 64 64 20 61 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 68 65 20 22 46 6f 63 -.#.#.Add.a.widget.into.the."Foc
38aa0 75 73 49 6e 22 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 20 54 usIn".list.of.the.focus.group..T
38ac0 68 65 20 24 63 6d 64 20 77 69 6c 6c 20 62 65 0d 23 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 he.$cmd.will.be.#.called.when.th
38ae0 65 20 77 69 64 67 65 74 20 69 73 20 66 6f 63 75 73 65 64 20 6f 6e 20 62 79 20 74 68 65 20 75 73 e.widget.is.focused.on.by.the.us
38b00 65 72 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 49 6e 20 7b er..#.proc.tkFocusGroup_BindIn.{
38b20 74 20 77 20 63 6d 64 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 46 6f 63 75 73 49 6e 20 t.w.cmd}.{.....global.tkFocusIn.
38b40 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 tkPriv.....if.{![info.exists.tkP
38b60 72 69 76 28 66 67 2c 24 74 29 5d 7d 20 7b 0d 09 65 72 72 6f 72 20 22 66 6f 63 75 73 20 67 72 6f riv(fg,$t)]}.{..error."focus.gro
38b80 75 70 20 5c 22 24 74 5c 22 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 22 0d 20 20 20 20 7d 0d 20 up.\"$t\".doesn't.exist".....}..
38ba0 20 20 20 73 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 20 24 63 6d 64 0d 7d 0d 0d ...set.tkFocusIn($t,$w).$cmd.}..
38bc0 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 4f 75 74 20 2d 2d 0d 23 0d 23 09 41 .#.tkFocusGroup_BindOut.--.#.#.A
38be0 64 64 20 61 20 77 69 64 67 65 74 20 69 6e 74 6f 20 74 68 65 20 22 46 6f 63 75 73 4f 75 74 22 20 dd.a.widget.into.the."FocusOut".
38c00 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 20 54 68 65 0d 23 09 24 list.of.the.focus.group..The.#.$
38c20 63 6d 64 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 77 69 64 67 cmd.will.be.called.when.the.widg
38c40 65 74 20 6c 6f 73 65 73 20 74 68 65 20 66 6f 63 75 73 20 28 55 73 65 72 0d 23 09 74 79 70 65 73 et.loses.the.focus.(User.#.types
38c60 20 54 61 62 20 6f 72 20 63 6c 69 63 6b 20 6f 6e 20 61 6e 6f 74 68 65 72 20 77 69 64 67 65 74 29 .Tab.or.click.on.another.widget)
38c80 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 42 69 6e 64 4f 75 74 20 7b 74 ..#.proc.tkFocusGroup_BindOut.{t
38ca0 20 77 20 63 6d 64 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 46 6f 63 75 73 4f 75 74 20 .w.cmd}.{.....global.tkFocusOut.
38cc0 74 6b 50 72 69 76 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 tkPriv.....if.{![info.exists.tkP
38ce0 72 69 76 28 66 67 2c 24 74 29 5d 7d 20 7b 0d 09 65 72 72 6f 72 20 22 66 6f 63 75 73 20 67 72 6f riv(fg,$t)]}.{..error."focus.gro
38d00 75 70 20 5c 22 24 74 5c 22 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 22 0d 20 20 20 20 7d 0d 20 up.\"$t\".doesn't.exist".....}..
38d20 20 20 20 73 65 74 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 77 29 20 24 63 6d 64 0d 7d 0d ...set.tkFocusOut($t,$w).$cmd.}.
38d40 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 2d 2d 0d 23 0d 23 09 43 .#.tkFocusGroup_Destroy.--.#.#.C
38d60 6c 65 61 6e 73 20 75 70 20 77 68 65 6e 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 68 65 20 66 6f 63 leans.up.when.members.of.the.foc
38d80 75 73 20 67 72 6f 75 70 20 69 73 20 64 65 6c 65 74 65 64 2c 20 6f 72 20 77 68 65 6e 20 74 68 65 us.group.is.deleted,.or.when.the
38da0 0d 23 09 74 6f 70 6c 65 76 65 6c 20 69 74 73 65 6c 66 20 67 65 74 73 20 64 65 6c 65 74 65 64 2e .#.toplevel.itself.gets.deleted.
38dc0 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 44 65 73 74 72 6f 79 20 7b 74 20 .#.proc.tkFocusGroup_Destroy.{t.
38de0 77 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 6b 46 6f 63 75 73 49 6e w}.{.....global.tkPriv.tkFocusIn
38e00 20 74 6b 46 6f 63 75 73 4f 75 74 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 .tkFocusOut......if.{[string.equ
38e20 61 6c 20 24 74 20 24 77 5d 7d 20 7b 0d 09 75 6e 73 65 74 20 74 6b 50 72 69 76 28 66 67 2c 24 74 al.$t.$w]}.{..unset.tkPriv(fg,$t
38e40 29 0d 09 75 6e 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 0d 0d 09 66 6f 72 )..unset.tkPriv(focus,$t)....for
38e60 65 61 63 68 20 6e 61 6d 65 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 74 6b 46 6f 63 75 73 49 6e each.name.[array.names.tkFocusIn
38e80 20 24 74 2c 2a 5d 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 6e .$t,*].{......unset.tkFocusIn($n
38ea0 61 6d 65 29 0d 09 7d 0d 09 66 6f 72 65 61 63 68 20 6e 61 6d 65 20 5b 61 72 72 61 79 20 6e 61 6d ame)..}..foreach.name.[array.nam
38ec0 65 73 20 74 6b 46 6f 63 75 73 4f 75 74 20 24 74 2c 2a 5d 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 es.tkFocusOut.$t,*].{......unset
38ee0 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 6e 61 6d 65 29 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 .tkFocusOut($name)..}.....}.else
38f00 20 7b 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 .{..if.{[info.exists.tkPriv(focu
38f20 73 2c 24 74 29 5d 20 26 26 20 5c 0d 09 09 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 s,$t)].&&.\...[string.equal.$tkP
38f40 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 24 77 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 74 6b riv(focus,$t).$w]}.{......set.tk
38f60 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 22 22 0d 09 7d 0d 09 63 61 74 63 68 20 7b 0d 09 20 Priv(focus,$t).""..}..catch.{...
38f80 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 0d 09 7d 0d 09 63 61 ...unset.tkFocusIn($t,$w)..}..ca
38fa0 74 63 68 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 tch.{......unset.tkFocusOut($t,$
38fc0 77 29 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 49 6e w)..}.....}.}..#.tkFocusGroup_In
38fe0 20 2d 2d 0d 23 0d 23 09 48 61 6e 64 6c 65 73 20 74 68 65 20 3c 46 6f 63 75 73 49 6e 3e 20 65 76 .--.#.#.Handles.the.<FocusIn>.ev
39000 65 6e 74 2e 20 43 61 6c 6c 73 20 74 68 65 20 46 6f 63 75 73 49 6e 20 63 6f 6d 6d 61 6e 64 20 66 ent..Calls.the.FocusIn.command.f
39020 6f 72 20 74 68 65 20 6e 65 77 6c 79 0d 23 09 66 6f 63 75 73 65 64 20 77 69 64 67 65 74 20 69 6e or.the.newly.#.focused.widget.in
39040 20 74 68 65 20 66 6f 63 75 73 20 67 72 6f 75 70 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 .the.focus.group..#.proc.tkFocus
39060 47 72 6f 75 70 5f 49 6e 20 7b 74 20 77 20 64 65 74 61 69 6c 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 Group_In.{t.w.detail}.{.....glob
39080 61 6c 20 74 6b 50 72 69 76 20 74 6b 46 6f 63 75 73 49 6e 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 al.tkPriv.tkFocusIn......if.{[st
390a0 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 65 74 61 69 6c 20 4e 6f 74 69 66 79 4e 6f 6e 6c 69 ring.compare.$detail.NotifyNonli
390c0 6e 65 61 72 5d 20 26 26 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 near].&&.\......[string.compare.
390e0 24 64 65 74 61 69 6c 20 4e 6f 74 69 66 79 4e 6f 6e 6c 69 6e 65 61 72 56 69 72 74 75 61 6c 5d 7d $detail.NotifyNonlinearVirtual]}
39100 20 7b 0d 09 23 20 54 68 69 73 20 69 73 20 63 61 75 73 65 64 20 62 79 20 6d 6f 75 73 65 20 6d 6f .{..#.This.is.caused.by.mouse.mo
39120 76 69 6e 67 20 6f 75 74 26 69 6e 20 6f 66 20 74 68 65 20 77 69 6e 64 6f 77 20 2a 6f 72 2a 0d 09 ving.out&in.of.the.window.*or*..
39140 23 20 6f 72 64 69 6e 61 72 79 20 6b 65 79 70 72 65 73 73 65 73 20 73 6f 6d 65 20 77 69 6e 64 6f #.ordinary.keypresses.some.windo
39160 77 20 6d 61 6e 61 67 65 72 73 20 28 69 65 3a 20 43 44 45 20 5b 42 75 67 3a 20 32 39 36 30 5d 29 w.managers.(ie:.CDE.[Bug:.2960])
39180 2e 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 ...return.....}.....if.{![info.e
391a0 78 69 73 74 73 20 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 5d 7d 20 7b 0d 09 73 65 74 20 xists.tkFocusIn($t,$w)]}.{..set.
391c0 74 6b 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 20 22 22 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 tkFocusIn($t,$w).""..return.....
391e0 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 }.....if.{![info.exists.tkPriv(f
39200 6f 63 75 73 2c 24 74 29 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 ocus,$t)]}.{..return.....}.....i
39220 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 f.{[string.equal.$tkPriv(focus,$
39240 74 29 20 24 77 5d 7d 20 7b 0d 09 23 20 54 68 69 73 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 t).$w]}.{..#.This.is.already.in.
39260 66 6f 63 75 73 0d 09 23 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 focus..#..return.....}.else.{..s
39280 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 20 24 77 0d 09 65 76 61 6c 20 24 74 6b et.tkPriv(focus,$t).$w..eval.$tk
392a0 46 6f 63 75 73 49 6e 28 24 74 2c 24 77 29 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 6f 63 75 FocusIn($t,$w).....}.}..#.tkFocu
392c0 73 47 72 6f 75 70 5f 4f 75 74 20 2d 2d 0d 23 0d 23 09 48 61 6e 64 6c 65 73 20 74 68 65 20 3c 46 sGroup_Out.--.#.#.Handles.the.<F
392e0 6f 63 75 73 4f 75 74 3e 20 65 76 65 6e 74 2e 20 43 68 65 63 6b 73 20 69 66 20 74 68 69 73 20 69 ocusOut>.event..Checks.if.this.i
39300 73 20 72 65 61 6c 6c 79 20 61 20 6c 6f 73 65 0d 23 09 66 6f 63 75 73 20 65 76 65 6e 74 2c 20 6e s.really.a.lose.#.focus.event,.n
39320 6f 74 20 6f 6e 65 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 6d 6f 75 73 65 20 6d 6f ot.one.generated.by.the.mouse.mo
39340 76 69 6e 67 20 6f 75 74 20 6f 66 20 74 68 65 0d 23 09 74 6f 70 6c 65 76 65 6c 20 77 69 6e 64 6f ving.out.of.the.#.toplevel.windo
39360 77 2e 20 20 43 61 6c 6c 73 20 74 68 65 20 46 6f 63 75 73 4f 75 74 20 63 6f 6d 6d 61 6e 64 20 66 w...Calls.the.FocusOut.command.f
39380 6f 72 20 74 68 65 20 77 69 64 67 65 74 0d 23 09 77 68 6f 20 6c 6f 73 65 73 20 69 74 73 20 66 6f or.the.widget.#.who.loses.its.fo
393a0 63 75 73 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 6f 63 75 73 47 72 6f 75 70 5f 4f 75 74 20 7b 74 20 cus..#.proc.tkFocusGroup_Out.{t.
393c0 77 20 64 65 74 61 69 6c 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 6b 50 72 69 76 20 74 6b w.detail}.{.....global.tkPriv.tk
393e0 46 6f 63 75 73 4f 75 74 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 FocusOut......if.{[string.compar
39400 65 20 24 64 65 74 61 69 6c 20 4e 6f 74 69 66 79 4e 6f 6e 6c 69 6e 65 61 72 5d 20 26 26 20 5c 0d e.$detail.NotifyNonlinear].&&.\.
39420 09 20 20 20 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 64 65 74 61 69 6c 20 4e 6f 74 .....[string.compare.$detail.Not
39440 69 66 79 4e 6f 6e 6c 69 6e 65 61 72 56 69 72 74 75 61 6c 5d 7d 20 7b 0d 09 23 20 54 68 69 73 20 ifyNonlinearVirtual]}.{..#.This.
39460 69 73 20 63 61 75 73 65 64 20 62 79 20 6d 6f 75 73 65 20 6d 6f 76 69 6e 67 20 6f 75 74 20 6f 66 is.caused.by.mouse.moving.out.of
39480 20 74 68 65 20 77 69 6e 64 6f 77 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 .the.window..return.....}.....if
394a0 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 74 29 .{![info.exists.tkPriv(focus,$t)
394c0 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 ]}.{..return.....}.....if.{![inf
394e0 6f 20 65 78 69 73 74 73 20 74 6b 46 6f 63 75 73 4f 75 74 28 24 74 2c 24 77 29 5d 7d 20 7b 0d 09 o.exists.tkFocusOut($t,$w)]}.{..
39500 72 65 74 75 72 6e 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 65 76 61 6c 20 24 74 6b 46 6f 63 return.....}.else.{..eval.$tkFoc
39520 75 73 4f 75 74 28 24 74 2c 24 77 29 0d 09 73 65 74 20 74 6b 50 72 69 76 28 66 6f 63 75 73 2c 24 usOut($t,$w)..set.tkPriv(focus,$
39540 74 29 20 22 22 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 6b 46 44 47 65 74 46 69 6c 65 54 79 70 65 t)."".....}.}..#.tkFDGetFileType
39560 73 20 2d 2d 0d 23 0d 23 09 50 72 6f 63 65 73 73 20 74 68 65 20 73 74 72 69 6e 67 20 67 69 76 65 s.--.#.#.Process.the.string.give
39580 6e 20 62 79 20 74 68 65 20 2d 66 69 6c 65 74 79 70 65 73 20 6f 70 74 69 6f 6e 20 6f 66 20 74 68 n.by.the.-filetypes.option.of.th
395a0 65 20 66 69 6c 65 0d 23 09 64 69 61 6c 6f 67 73 2e 20 53 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 e.file.#.dialogs..Similar.to.the
395c0 20 43 20 66 75 6e 63 74 69 6f 6e 20 54 6b 47 65 74 46 69 6c 65 46 69 6c 74 65 72 73 28 29 20 6f .C.function.TkGetFileFilters().o
395e0 6e 20 74 68 65 20 4d 61 63 0d 23 09 61 6e 64 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d n.the.Mac.#.and.Windows.platform
39600 2e 0d 23 0d 70 72 6f 63 20 74 6b 46 44 47 65 74 46 69 6c 65 54 79 70 65 73 20 7b 73 74 72 69 6e ..#.proc.tkFDGetFileTypes.{strin
39620 67 7d 20 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 74 20 24 73 74 72 69 6e 67 20 7b 0d 09 69 66 g}.{.....foreach.t.$string.{..if
39640 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 74 5d 20 3c 20 32 20 7c 7c 20 5b 6c 6c 65 6e 67 74 68 20 24 .{[llength.$t].<.2.||.[llength.$
39660 74 5d 20 3e 20 33 7d 20 7b 0d 09 20 20 20 20 65 72 72 6f 72 20 22 62 61 64 20 66 69 6c 65 20 74 t].>.3}.{......error."bad.file.t
39680 79 70 65 20 5c 22 24 74 5c 22 2c 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 74 79 70 65 4e 61 6d 65 ype.\"$t\",.should.be.\"typeName
396a0 20 7b 65 78 74 65 6e 73 69 6f 6e 20 3f 65 78 74 65 6e 73 69 6f 6e 73 20 2e 2e 2e 3f 7d 20 3f 7b .{extension.?extensions....?}.?{
396c0 6d 61 63 54 79 70 65 20 3f 6d 61 63 54 79 70 65 73 20 2e 2e 2e 3f 7d 3f 5c 22 22 0d 09 7d 0d 09 macType.?macTypes....?}?\""..}..
396e0 65 76 61 6c 20 6c 61 70 70 65 6e 64 20 5b 6c 69 73 74 20 66 69 6c 65 54 79 70 65 73 28 5b 6c 69 eval.lappend.[list.fileTypes([li
39700 6e 64 65 78 20 24 74 20 30 5d 29 5d 20 5b 6c 69 6e 64 65 78 20 24 74 20 31 5d 0d 20 20 20 20 7d ndex.$t.0])].[lindex.$t.1].....}
39720 0d 0d 20 20 20 20 73 65 74 20 74 79 70 65 73 20 7b 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 74 ......set.types.{}.....foreach.t
39740 20 24 73 74 72 69 6e 67 20 7b 0d 09 73 65 74 20 6c 61 62 65 6c 20 5b 6c 69 6e 64 65 78 20 24 74 .$string.{..set.label.[lindex.$t
39760 20 30 5d 0d 09 73 65 74 20 65 78 74 73 20 7b 7d 0d 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 .0]..set.exts.{}...if.{[info.exi
39780 73 74 73 20 68 61 73 44 6f 6e 65 54 79 70 65 28 24 6c 61 62 65 6c 29 5d 7d 20 7b 0d 09 20 20 20 sts.hasDoneType($label)]}.{.....
397a0 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 0d 09 73 65 74 20 6e 61 6d 65 20 22 24 6c 61 62 65 6c 20 .continue..}...set.name."$label.
397c0 28 22 0d 09 73 65 74 20 73 65 70 20 22 22 0d 09 66 6f 72 65 61 63 68 20 65 78 74 20 24 66 69 6c ("..set.sep.""..foreach.ext.$fil
397e0 65 54 79 70 65 73 28 24 6c 61 62 65 6c 29 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e eTypes($label).{......if.{[strin
39800 67 20 65 71 75 61 6c 20 24 65 78 74 20 22 22 5d 7d 20 7b 0d 09 09 63 6f 6e 74 69 6e 75 65 0d 09 g.equal.$ext.""]}.{...continue..
39820 20 20 20 20 7d 0d 09 20 20 20 20 72 65 67 73 75 62 20 7b 5e 5b 2e 5d 7d 20 24 65 78 74 20 22 2a ....}......regsub.{^[.]}.$ext."*
39840 2e 22 20 65 78 74 0d 09 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 61 .".ext......if.{![info.exists.ha
39860 73 47 6f 74 45 78 74 28 24 6c 61 62 65 6c 2c 24 65 78 74 29 5d 7d 20 7b 0d 09 09 61 70 70 65 6e sGotExt($label,$ext)]}.{...appen
39880 64 20 6e 61 6d 65 20 24 73 65 70 24 65 78 74 0d 09 09 6c 61 70 70 65 6e 64 20 65 78 74 73 20 24 d.name.$sep$ext...lappend.exts.$
398a0 65 78 74 0d 09 09 73 65 74 20 68 61 73 47 6f 74 45 78 74 28 24 6c 61 62 65 6c 2c 24 65 78 74 29 ext...set.hasGotExt($label,$ext)
398c0 20 31 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 73 65 70 20 2c 0d 09 7d 0d 09 61 70 70 .1......}......set.sep.,..}..app
398e0 65 6e 64 20 6e 61 6d 65 20 22 29 22 0d 09 6c 61 70 70 65 6e 64 20 74 79 70 65 73 20 5b 6c 69 73 end.name.")"..lappend.types.[lis
39900 74 20 24 6e 61 6d 65 20 24 65 78 74 73 5d 0d 0d 09 73 65 74 20 68 61 73 44 6f 6e 65 54 79 70 65 t.$name.$exts]...set.hasDoneType
39920 28 24 6c 61 62 65 6c 29 20 31 0d 20 20 20 20 7d 0d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 74 79 ($label).1.....}......return.$ty
39940 70 65 73 0d 7d 0d 00 00 00 a6 00 02 00 00 00 00 00 8f 00 93 00 a7 00 c9 04 02 4f 6b 00 00 00 00 pes.}.....................Ok....
39960 00 0e 00 6c 00 89 01 3a 88 75 57 69 73 68 20 2d 20 57 69 6e 64 6f 77 69 6e 67 20 53 68 65 6c 6c ...l...:.uWish.-.Windowing.Shell
39980 0d 62 61 73 65 64 20 6f 6e 20 54 63 6c 20 38 2e 33 2e 34 20 26 20 54 6b 20 38 2e 33 2e 34 0d 0d .based.on.Tcl.8.3.4.&.Tk.8.3.4..
399a0 4a 69 6d 20 49 6e 67 68 61 6d 20 26 20 52 61 79 20 4a 6f 68 6e 73 6f 6e 0d a9 20 32 30 30 31 20 Jim.Ingham.&.Ray.Johnson...2001.
399c0 54 63 6c 20 43 6f 72 65 20 54 65 61 6d 0d 6a 69 6e 67 68 61 6d 40 61 70 70 6c 65 2e 63 6f 6d 00 Tcl.Core.Team.jingham@apple.com.
399e0 00 00 00 00 00 13 00 18 00 77 00 5c 40 02 00 80 00 00 4a e2 23 20 61 75 74 6f 2e 74 63 6c 20 2d .........w.\@.....J.#.auto.tcl.-
39a00 2d 0d 23 0d 23 20 75 74 69 6c 69 74 79 20 70 72 6f 63 73 20 66 6f 72 6d 65 72 6c 79 20 69 6e 20 -.#.#.utility.procs.formerly.in.
39a20 69 6e 69 74 2e 74 63 6c 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 61 75 74 6f 20 65 78 65 63 75 init.tcl.dealing.with.auto.execu
39a40 74 69 6f 6e 0d 23 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 63 61 6e 20 62 65 20 61 75 tion.#.of.commands.and.can.be.au
39a60 74 6f 20 6c 6f 61 64 65 64 20 74 68 65 6d 73 65 6c 76 65 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 to.loaded.themselves..#.#.RCS:.@
39a80 28 23 29 20 24 49 64 3a 20 61 75 74 6f 2e 74 63 6c 2c 76 20 31 2e 37 20 32 30 30 30 2f 30 32 2f (#).$Id:.auto.tcl,v.1.7.2000/02/
39aa0 30 38 20 31 30 3a 30 36 3a 31 32 20 68 6f 62 62 73 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 08.10:06:12.hobbs.Exp.$.#.#.Copy
39ac0 72 69 67 68 74 20 28 63 29 20 31 39 39 31 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 right.(c).1991-1993.The.Regents.
39ae0 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e of.the.University.of.California.
39b00 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 38 20 53 75 6e 20 4d .#.Copyright.(c).1994-1998.Sun.M
39b20 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 icrosystems,.Inc..#.#.See.the.fi
39b40 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 le."license.terms".for.informati
39b60 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 on.on.usage.and.redistribution.#
39b80 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 .of.this.file,.and.for.a.DISCLAI
39ba0 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 61 75 74 6f MER.OF.ALL.WARRANTIES..#..#.auto
39bc0 5f 72 65 73 65 74 20 2d 2d 0d 23 0d 23 20 44 65 73 74 72 6f 79 20 61 6c 6c 20 63 61 63 68 65 64 _reset.--.#.#.Destroy.all.cached
39be0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 61 75 74 6f 2d 6c 6f 61 64 69 6e 67 20 61 6e .information.for.auto-loading.an
39c00 64 20 61 75 74 6f 2d 65 78 65 63 75 74 69 6f 6e 2c 0d 23 20 73 6f 20 74 68 61 74 20 74 68 65 20 d.auto-execution,.#.so.that.the.
39c20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 67 65 74 73 20 72 65 63 6f 6d 70 75 74 65 64 20 74 68 65 20 information.gets.recomputed.the.
39c40 6e 65 78 74 20 74 69 6d 65 20 69 74 27 73 20 6e 65 65 64 65 64 2e 0d 23 20 41 6c 73 6f 20 64 65 next.time.it's.needed..#.Also.de
39c60 6c 65 74 65 20 61 6e 79 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 61 72 65 20 6c 69 73 lete.any.procedures.that.are.lis
39c80 74 65 64 20 69 6e 20 74 68 65 20 61 75 74 6f 2d 6c 6f 61 64 20 69 6e 64 65 78 0d 23 20 65 78 63 ted.in.the.auto-load.index.#.exc
39ca0 65 70 74 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 69 73 20 66 69 6c 65 2e 0d ept.those.defined.in.this.file..
39cc0 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 61 75 #.#.Arguments:..#.None...proc.au
39ce0 74 6f 5f 72 65 73 65 74 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 65 78 to_reset.{}.{.....global.auto_ex
39d00 65 63 73 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 0d 20 20 20 20 ecs.auto_index.auto_oldpath.....
39d20 66 6f 72 65 61 63 68 20 70 20 5b 69 6e 66 6f 20 70 72 6f 63 73 5d 20 7b 0d 09 69 66 20 7b 5b 69 foreach.p.[info.procs].{..if.{[i
39d40 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 70 29 5d 20 26 26 20 21 5b nfo.exists.auto_index($p)].&&.![
39d60 73 74 72 69 6e 67 20 6d 61 74 63 68 20 61 75 74 6f 5f 2a 20 24 70 5d 0d 09 09 26 26 20 28 5b 6c string.match.auto_*.$p]...&&.([l
39d80 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 7b 75 6e 6b 6e 6f 77 6e 20 70 6b 67 5f 6d 6b 49 6e 64 search.-exact.{unknown.pkg_mkInd
39da0 65 78 20 74 63 6c 50 6b 67 53 65 74 75 70 0d 09 09 09 74 63 6c 5f 66 69 6e 64 4c 69 62 72 61 72 ex.tclPkgSetup....tcl_findLibrar
39dc0 79 20 70 6b 67 5f 63 6f 6d 70 61 72 65 45 78 74 65 6e 73 69 6f 6e 0d 09 09 09 74 63 6c 4d 61 63 y.pkg_compareExtension....tclMac
39de0 50 6b 67 53 65 61 72 63 68 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 7d 20 24 70 5d 20 3c 20 30 PkgSearch.tclPkgUnknown}.$p].<.0
39e00 29 7d 20 7b 0d 09 20 20 20 20 72 65 6e 61 6d 65 20 24 70 20 7b 7d 0d 09 7d 0d 20 20 20 20 7d 0d )}.{......rename.$p.{}..}.....}.
39e20 20 20 20 20 63 61 74 63 68 20 7b 75 6e 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 7d 0d 20 20 20 ....catch.{unset.auto_execs}....
39e40 20 63 61 74 63 68 20 7b 75 6e 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 78 7d 0d 20 20 20 20 63 61 .catch.{unset.auto_index}.....ca
39e60 74 63 68 20 7b 75 6e 73 65 74 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 7d 0d 7d 0d 0d 23 20 74 63 tch.{unset.auto_oldpath}.}..#.tc
39e80 6c 5f 66 69 6e 64 4c 69 62 72 61 72 79 20 2d 2d 0d 23 0d 23 09 54 68 69 73 20 69 73 20 61 20 75 l_findLibrary.--.#.#.This.is.a.u
39ea0 74 69 6c 69 74 79 20 66 6f 72 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 68 61 74 20 73 65 61 72 63 tility.for.extensions.that.searc
39ec0 68 65 73 20 66 6f 72 20 61 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 0d 23 09 75 73 hes.for.a.library.directory.#.us
39ee0 69 6e 67 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20 73 65 61 72 63 68 69 6e 67 20 61 6c 67 6f 72 69 ing.a.canonical.searching.algori
39f00 74 68 6d 2e 20 41 20 73 69 64 65 20 65 66 66 65 63 74 20 69 73 20 74 6f 20 73 6f 75 72 63 65 0d thm..A.side.effect.is.to.source.
39f20 23 09 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 70 74 20 61 6e 64 20 #.the.initialization.script.and.
39f40 73 65 74 20 61 20 67 6c 6f 62 61 6c 20 6c 69 62 72 61 72 79 20 76 61 72 69 61 62 6c 65 2e 0d 23 set.a.global.library.variable..#
39f60 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 09 62 61 73 65 6e 61 6d 65 09 50 72 65 66 69 78 .#.Arguments:.#..basename.Prefix
39f80 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 28 65 2e 67 2e 2c 20 22 .of.the.directory.name,.(e.g.,."
39fa0 74 6b 22 29 0d 23 09 76 65 72 73 69 6f 6e 09 09 56 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f tk").#.version..Version.number.o
39fc0 66 20 74 68 65 20 70 61 63 6b 61 67 65 2c 20 28 65 2e 67 2e 2c 20 22 38 2e 30 22 29 0d 23 09 70 f.the.package,.(e.g.,."8.0").#.p
39fe0 61 74 63 68 09 09 50 61 74 63 68 6c 65 76 65 6c 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 2c atch..Patchlevel.of.the.package,
3a000 20 28 65 2e 67 2e 2c 20 22 38 2e 30 2e 33 22 29 0d 23 09 69 6e 69 74 53 63 72 69 70 74 09 49 6e .(e.g.,."8.0.3").#.initScript.In
3a020 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 70 74 20 74 6f 20 73 6f 75 72 63 65 20 28 65 itialization.script.to.source.(e
3a040 2e 67 2e 2c 20 74 6b 2e 74 63 6c 29 0d 23 09 65 6e 56 61 72 4e 61 6d 65 09 65 6e 76 69 72 6f 6e .g.,.tk.tcl).#.enVarName.environ
3a060 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 6f 6e 6f 72 20 28 65 2e 67 2e 2c 20 54 4b ment.variable.to.honor.(e.g.,.TK
3a080 5f 4c 49 42 52 41 52 59 29 0d 23 09 76 61 72 4e 61 6d 65 09 09 47 6c 6f 62 61 6c 20 76 61 72 69 _LIBRARY).#.varName..Global.vari
3a0a0 61 62 6c 65 20 74 6f 20 73 65 74 20 77 68 65 6e 20 64 6f 6e 65 20 28 65 2e 67 2e 2c 20 74 6b 5f able.to.set.when.done.(e.g.,.tk_
3a0c0 6c 69 62 72 61 72 79 29 0d 0d 70 72 6f 63 20 74 63 6c 5f 66 69 6e 64 4c 69 62 72 61 72 79 20 7b library)..proc.tcl_findLibrary.{
3a0e0 62 61 73 65 6e 61 6d 65 20 76 65 72 73 69 6f 6e 20 70 61 74 63 68 20 69 6e 69 74 53 63 72 69 70 basename.version.patch.initScrip
3a100 74 20 65 6e 56 61 72 4e 61 6d 65 20 76 61 72 4e 61 6d 65 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 t.enVarName.varName}.{.....upvar
3a120 20 23 30 20 24 76 61 72 4e 61 6d 65 20 74 68 65 5f 6c 69 62 72 61 72 79 0d 20 20 20 20 67 6c 6f .#0.$varName.the_library.....glo
3a140 62 61 6c 20 65 6e 76 20 65 72 72 6f 72 49 6e 66 6f 0d 0d 20 20 20 20 73 65 74 20 64 69 72 73 20 bal.env.errorInfo......set.dirs.
3a160 7b 7d 0d 20 20 20 20 73 65 74 20 65 72 72 6f 72 73 20 7b 7d 0d 0d 20 20 20 20 23 20 54 68 65 20 {}.....set.errors.{}......#.The.
3a180 43 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6d 61 79 20 68 61 76 65 20 68 61 72 64 77 69 72 65 64 C.application.may.have.hardwired
3a1a0 20 61 20 70 61 74 68 2c 20 77 68 69 63 68 20 77 65 20 68 6f 6e 6f 72 0d 20 20 20 20 0d 20 20 20 .a.path,.which.we.honor.........
3a1c0 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 20 74 68 65 5f 6c 69 62 72 61 72 79 5d 20 26 26 .if.{[info.exist.the_library].&&
3a1e0 20 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 74 68 65 5f 6c 69 62 72 61 72 79 20 7b 7d .[string.compare.$the_library.{}
3a200 5d 7d 20 7b 0d 09 6c 61 70 70 65 6e 64 20 64 69 72 73 20 24 74 68 65 5f 6c 69 62 72 61 72 79 0d ]}.{..lappend.dirs.$the_library.
3a220 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0d 09 23 20 44 6f 20 74 68 65 20 63 61 6e 6f 6e 69 63 61 ....}.else.{...#.Do.the.canonica
3a240 6c 20 73 65 61 72 63 68 0d 0d 09 23 20 31 2e 20 46 72 6f 6d 20 61 6e 20 65 6e 76 69 72 6f 6e 6d l.search...#.1..From.an.environm
3a260 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 69 66 20 69 74 20 65 78 69 73 74 73 0d 0d 20 20 20 20 ent.variable,.if.it.exists......
3a280 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 65 6e 76 28 24 65 6e 56 61 72 4e ....if.{[info.exists.env($enVarN
3a2a0 61 6d 65 29 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 ame)]}.{.............lappend.dir
3a2c0 73 20 24 65 6e 76 28 24 65 6e 56 61 72 4e 61 6d 65 29 0d 20 20 20 20 20 20 20 20 7d 0d 0d 09 23 s.$env($enVarName).........}...#
3a2e0 20 32 2e 20 52 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 0d .2..Relative.to.the.Tcl.library.
3a300 0d 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f 69 6e .........lappend.dirs.[file.join
3a320 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 6c 69 62 72 61 72 79 5d 5d 20 5c .[file.dirname.[info.library]].\
3a340 0d 09 09 24 62 61 73 65 6e 61 6d 65 24 76 65 72 73 69 6f 6e 5d 0d 0d 09 23 20 33 2e 20 56 61 72 ...$basename$version]...#.3..Var
3a360 69 6f 75 73 20 6c 6f 63 61 74 69 6f 6e 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 65 ious.locations.relative.to.the.e
3a380 78 65 63 75 74 61 62 6c 65 0d 09 23 20 2e 2e 2f 6c 69 62 2f 66 6f 6f 31 2e 30 09 09 28 46 72 6f xecutable..#.../lib/foo1.0..(Fro
3a3a0 6d 20 62 69 6e 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 69 6e 73 74 61 6c 6c 20 68 69 65 72 61 m.bin.directory.in.install.hiera
3a3c0 72 63 68 79 29 0d 09 23 20 2e 2e 2f 2e 2e 2f 6c 69 62 2f 66 6f 6f 31 2e 30 09 28 46 72 6f 6d 20 rchy)..#.../../lib/foo1.0.(From.
3a3e0 62 69 6e 2f 61 72 63 68 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 69 6e 73 74 61 6c 6c 20 68 69 bin/arch.directory.in.install.hi
3a400 65 72 61 72 63 68 79 29 0d 09 23 20 2e 2e 2f 6c 69 62 72 61 72 79 09 09 28 46 72 6f 6d 20 75 6e erarchy)..#.../library..(From.un
3a420 69 78 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 62 75 69 6c 64 20 68 69 65 72 61 72 63 68 79 29 ix.directory.in.build.hierarchy)
3a440 0d 09 23 20 2e 2e 2f 2e 2e 2f 6c 69 62 72 61 72 79 09 09 28 46 72 6f 6d 20 75 6e 69 78 2f 61 72 ..#.../../library..(From.unix/ar
3a460 63 68 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 62 75 69 6c 64 20 68 69 65 72 61 72 63 68 79 29 ch.directory.in.build.hierarchy)
3a480 0d 09 23 20 2e 2e 2f 2e 2e 2f 66 6f 6f 31 2e 30 62 31 2f 6c 69 62 72 61 72 79 20 28 46 72 6f 6d ..#.../../foo1.0b1/library.(From
3a4a0 20 75 6e 69 78 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c .unix.directory.in.parallel.buil
3a4c0 64 20 68 69 65 72 61 72 63 68 79 29 0d 09 23 20 2e 2e 2f 2e 2e 2f 2e 2e 2f 66 6f 6f 31 2e 30 62 d.hierarchy)..#.../../../foo1.0b
3a4e0 31 2f 6c 69 62 72 61 72 79 20 28 46 72 6f 6d 20 75 6e 69 78 2f 61 72 63 68 20 64 69 72 65 63 74 1/library.(From.unix/arch.direct
3a500 6f 72 79 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 62 75 69 6c 64 20 68 69 65 72 61 72 63 68 79 29 ory.in.parallel.build.hierarchy)
3a520 0d 0d 20 20 20 20 20 20 20 20 73 65 74 20 70 61 72 65 6e 74 44 69 72 20 5b 66 69 6c 65 20 64 69 ..........set.parentDir.[file.di
3a540 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 6e 61 6d 65 6f 66 rname.[file.dirname.[info.nameof
3a560 65 78 65 63 75 74 61 62 6c 65 5d 5d 5d 0d 20 20 20 20 20 20 20 20 73 65 74 20 67 72 61 6e 64 50 executable]]].........set.grandP
3a580 61 72 65 6e 74 44 69 72 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 70 61 72 65 6e 74 44 69 arentDir.[file.dirname.$parentDi
3a5a0 72 5d 0d 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f r].........lappend.dirs.[file.jo
3a5c0 69 6e 20 24 70 61 72 65 6e 74 44 69 72 20 6c 69 62 20 24 62 61 73 65 6e 61 6d 65 24 76 65 72 73 in.$parentDir.lib.$basename$vers
3a5e0 69 6f 6e 5d 0d 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 ion].........lappend.dirs.[file.
3a600 6a 6f 69 6e 20 24 67 72 61 6e 64 50 61 72 65 6e 74 44 69 72 20 6c 69 62 20 24 62 61 73 65 6e 61 join.$grandParentDir.lib.$basena
3a620 6d 65 24 76 65 72 73 69 6f 6e 5d 0d 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 me$version].........lappend.dirs
3a640 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 70 61 72 65 6e 74 44 69 72 20 6c 69 62 72 61 72 79 5d 0d .[file.join.$parentDir.library].
3a660 20 20 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 ........lappend.dirs.[file.join.
3a680 24 67 72 61 6e 64 50 61 72 65 6e 74 44 69 72 20 6c 69 62 72 61 72 79 5d 0d 20 20 20 20 20 20 20 $grandParentDir.library]........
3a6a0 20 69 66 20 7b 21 5b 72 65 67 65 78 70 20 7b 2e 2a 5b 61 62 5d 5b 30 2d 39 5d 2a 7d 20 24 70 61 .if.{![regexp.{.*[ab][0-9]*}.$pa
3a6c0 74 63 68 20 76 65 72 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 76 65 72 20 tch.ver]}.{.............set.ver.
3a6e0 24 76 65 72 73 69 6f 6e 0d 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 20 20 20 20 6c 61 70 70 65 $version.........}.........lappe
3a700 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 67 72 61 6e 64 50 61 72 65 6e 74 44 nd.dirs.[file.join.$grandParentD
3a720 69 72 20 24 62 61 73 65 6e 61 6d 65 24 76 65 72 20 6c 69 62 72 61 72 79 5d 0d 20 20 20 20 20 20 ir.$basename$ver.library].......
3a740 20 20 6c 61 70 70 65 6e 64 20 64 69 72 73 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b 66 69 6c 65 20 ..lappend.dirs.[file.join.[file.
3a760 64 69 72 6e 61 6d 65 20 24 67 72 61 6e 64 50 61 72 65 6e 74 44 69 72 5d 20 24 62 61 73 65 6e 61 dirname.$grandParentDir].$basena
3a780 6d 65 24 76 65 72 20 6c 69 62 72 61 72 79 5d 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 me$ver.library].....}.....foreac
3a7a0 68 20 69 20 24 64 69 72 73 20 7b 0d 20 20 20 20 20 20 20 20 73 65 74 20 74 68 65 5f 6c 69 62 72 h.i.$dirs.{.........set.the_libr
3a7c0 61 72 79 20 24 69 0d 20 20 20 20 20 20 20 20 73 65 74 20 66 69 6c 65 20 5b 66 69 6c 65 20 6a 6f ary.$i.........set.file.[file.jo
3a7e0 69 6e 20 24 69 20 24 69 6e 69 74 53 63 72 69 70 74 5d 0d 0d 09 23 20 73 6f 75 72 63 65 20 65 76 in.$i.$initScript]...#.source.ev
3a800 65 72 79 74 68 69 6e 67 20 77 68 65 6e 20 69 6e 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 erything.when.in.a.safe.interpre
3a820 74 65 72 20 62 65 63 61 75 73 65 0d 09 23 20 77 65 20 68 61 76 65 20 61 20 73 6f 75 72 63 65 20 ter.because..#.we.have.a.source.
3a840 63 6f 6d 6d 61 6e 64 2c 20 62 75 74 20 6e 6f 20 66 69 6c 65 20 65 78 69 73 74 73 20 63 6f 6d 6d command,.but.no.file.exists.comm
3a860 61 6e 64 0d 0d 20 20 20 20 20 20 20 20 69 66 20 7b 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d and..........if.{[interp.issafe]
3a880 20 7c 7c 20 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 66 69 6c 65 5d 7d 20 7b 0d 20 20 20 20 20 .||.[file.exists.$file]}.{......
3a8a0 20 20 20 20 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 75 70 6c 65 76 65 6c 20 23 30 20 5b .......if.{![catch.{uplevel.#0.[
3a8c0 6c 69 73 74 20 73 6f 75 72 63 65 20 24 66 69 6c 65 5d 7d 20 6d 73 67 5d 7d 20 7b 0d 20 20 20 20 list.source.$file]}.msg]}.{.....
3a8e0 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d ............return.............}
3a900 20 65 6c 73 65 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 65 6e 64 20 65 .else.{.................append.e
3a920 72 72 6f 72 73 20 22 24 66 69 6c 65 3a 20 24 6d 73 67 5c 6e 24 65 72 72 6f 72 49 6e 66 6f 5c 6e rrors."$file:.$msg\n$errorInfo\n
3a940 22 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 7d 0d ".............}.........}.....}.
3a960 20 20 20 20 73 65 74 20 6d 73 67 20 22 43 61 6e 27 74 20 66 69 6e 64 20 61 20 75 73 61 62 6c 65 ....set.msg."Can't.find.a.usable
3a980 20 24 69 6e 69 74 53 63 72 69 70 74 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 69 .$initScript.in.the.following.di
3a9a0 72 65 63 74 6f 72 69 65 73 3a 20 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 6d 73 67 20 22 20 rectories:.\n".....append.msg.".
3a9c0 20 20 20 24 64 69 72 73 5c 6e 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 6d 73 67 20 22 24 65 ...$dirs\n\n".....append.msg."$e
3a9e0 72 72 6f 72 73 5c 6e 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 6d 73 67 20 22 54 68 69 73 20 rrors\n\n".....append.msg."This.
3aa00 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 24 62 61 73 65 6e 61 6d 65 20 77 61 probably.means.that.$basename.wa
3aa20 73 6e 27 74 20 69 6e 73 74 61 6c 6c 65 64 20 70 72 6f 70 65 72 6c 79 2e 5c 6e 22 0d 20 20 20 20 sn't.installed.properly.\n".....
3aa40 65 72 72 6f 72 20 24 6d 73 67 0d 7d 0d 0d 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d error.$msg.}...#.---------------
3aa60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3aa80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 61 75 74 6f 5f 6d -----------------------.#.auto_m
3aaa0 6b 69 6e 64 65 78 0d 23 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d kindex.#.-----------------------
3aac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3aae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ---------------.#.The.following.
3ab00 70 72 6f 63 65 64 75 72 65 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 procedures.are.used.to.generate.
3ab20 74 68 65 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 0d 23 20 66 72 6f 6d 20 54 63 6c 20 73 6f 75 the.tclIndex.file.#.from.Tcl.sou
3ab40 72 63 65 20 66 69 6c 65 73 2e 20 20 54 68 65 79 20 75 73 65 20 61 20 73 70 65 63 69 61 6c 20 73 rce.files...They.use.a.special.s
3ab60 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 74 6f 0d 23 20 70 61 72 73 65 20 54 63 6c 20 73 afe.interpreter.to.#.parse.Tcl.s
3ab80 6f 75 72 63 65 20 66 69 6c 65 73 2c 20 77 72 69 74 69 6e 67 20 6f 75 74 20 69 6e 64 65 78 20 65 ource.files,.writing.out.index.e
3aba0 6e 74 72 69 65 73 20 61 73 20 22 70 72 6f 63 22 0d 23 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 ntries.as."proc".#.commands.are.
3abc0 65 6e 63 6f 75 6e 74 65 72 65 64 2e 20 20 54 68 69 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f encountered...This.implementatio
3abe0 6e 20 77 6f 6e 27 74 20 77 6f 72 6b 20 69 6e 20 61 0d 23 20 73 61 66 65 20 69 6e 74 65 72 70 72 n.won't.work.in.a.#.safe.interpr
3ac00 65 74 65 72 2c 20 73 69 6e 63 65 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 63 eter,.since.a.safe.interpreter.c
3ac20 61 6e 27 74 20 63 72 65 61 74 65 20 74 68 65 0d 23 20 73 70 65 63 69 61 6c 20 70 61 72 73 65 72 an't.create.the.#.special.parser
3ac40 20 61 6e 64 20 6d 65 73 73 20 77 69 74 68 20 69 74 73 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 0d 0d .and.mess.with.its.commands.....
3ac60 69 66 20 7b 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 7d 20 7b 0d 20 20 20 20 72 65 74 75 72 if.{[interp.issafe]}.{.....retur
3ac80 6e 09 3b 23 20 53 74 6f 70 20 73 6f 75 72 63 69 6e 67 20 74 68 65 20 66 69 6c 65 20 68 65 72 65 n.;#.Stop.sourcing.the.file.here
3aca0 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 2d 2d 0d 23 20 52 65 67 65 6e 65 72 61 .}..#.auto_mkindex.--.#.Regenera
3acc0 74 65 20 61 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 20 66 72 6f 6d 20 54 63 6c 20 73 6f 75 72 te.a.tclIndex.file.from.Tcl.sour
3ace0 63 65 20 66 69 6c 65 73 2e 20 20 54 61 6b 65 73 20 61 73 20 61 72 67 75 6d 65 6e 74 0d 23 20 74 ce.files...Takes.as.argument.#.t
3ad00 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 he.name.of.the.directory.in.whic
3ad20 68 20 74 68 65 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 20 69 73 20 74 6f 20 62 65 20 70 6c 61 h.the.tclIndex.file.is.to.be.pla
3ad40 63 65 64 2c 0d 23 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 ced,.#.followed.by.any.number.of
3ad60 20 67 6c 6f 62 20 70 61 74 74 65 72 6e 73 20 74 6f 20 75 73 65 20 69 6e 20 74 68 61 74 20 64 69 .glob.patterns.to.use.in.that.di
3ad80 72 65 63 74 6f 72 79 20 74 6f 0d 23 20 6c 6f 63 61 74 65 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 rectory.to.#.locate.all.of.the.r
3ada0 65 6c 65 76 61 6e 74 20 66 69 6c 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d 23 elevant.files..#.#.Arguments:..#
3adc0 20 64 69 72 20 2d 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 69 6e .dir.-..Name.of.the.directory.in
3ade0 20 77 68 69 63 68 20 74 6f 20 63 72 65 61 74 65 20 61 6e 20 69 6e 64 65 78 2e 0d 23 20 61 72 67 .which.to.create.an.index..#.arg
3ae00 73 20 2d 09 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 s.-.Any.number.of.additional.arg
3ae20 75 6d 65 6e 74 73 20 67 69 76 69 6e 67 20 74 68 65 0d 23 09 09 6e 61 6d 65 73 20 6f 66 20 66 69 uments.giving.the.#..names.of.fi
3ae40 6c 65 73 20 77 69 74 68 69 6e 20 64 69 72 2e 20 20 49 66 20 6e 6f 20 61 64 64 69 74 69 6f 6e 61 les.within.dir...If.no.additiona
3ae60 6c 0d 23 09 09 61 72 65 20 67 69 76 65 6e 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 77 69 6c 6c l.#..are.given.auto_mkindex.will
3ae80 20 6c 6f 6f 6b 20 66 6f 72 20 2a 2e 74 63 6c 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e .look.for.*.tcl...proc.auto_mkin
3aea0 64 65 78 20 7b 64 69 72 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f dex.{dir.args}.{.....global.erro
3aec0 72 43 6f 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 74 65 72 70 rCode.errorInfo......if.{[interp
3aee0 20 69 73 73 61 66 65 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 22 63 61 6e 27 74 .issafe]}.{.........error."can't
3af00 20 67 65 6e 65 72 61 74 65 20 69 6e 64 65 78 20 77 69 74 68 69 6e 20 73 61 66 65 20 69 6e 74 65 .generate.index.within.safe.inte
3af20 72 70 72 65 74 65 72 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 6f 6c 64 44 69 72 20 5b rpreter".....}......set.oldDir.[
3af40 70 77 64 5d 0d 20 20 20 20 63 64 20 24 64 69 72 0d 20 20 20 20 73 65 74 20 64 69 72 20 5b 70 77 pwd].....cd.$dir.....set.dir.[pw
3af60 64 5d 0d 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 54 63 6c 20 61 75 74 6f d]......append.index."#.Tcl.auto
3af80 6c 6f 61 64 20 69 6e 64 65 78 20 66 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20 32 2e 30 5c 6e 22 0d load.index.file,.version.2.0\n".
3afa0 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 ....append.index."#.This.file.is
3afc0 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 20 5c 22 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 .generated.by.the.\"auto_mkindex
3afe0 5c 22 20 63 6f 6d 6d 61 6e 64 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 \".command\n".....append.index."
3b000 23 20 61 6e 64 20 73 6f 75 72 63 65 64 20 74 6f 20 73 65 74 20 75 70 20 69 6e 64 65 78 69 6e 67 #.and.sourced.to.set.up.indexing
3b020 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 6f 6e 65 20 6f 72 5c 6e 22 0d 20 20 20 20 61 .information.for.one.or\n".....a
3b040 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 6d 6f 72 65 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 54 ppend.index."#.more.commands...T
3b060 79 70 69 63 61 6c 6c 79 20 65 61 63 68 20 6c 69 6e 65 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 ypically.each.line.is.a.command.
3b080 74 68 61 74 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 73 65 74 73 that\n".....append.index."#.sets
3b0a0 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 65 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 .an.element.in.the.auto_index.ar
3b0c0 72 61 79 2c 20 77 68 65 72 65 20 74 68 65 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 ray,.where.the\n".....append.ind
3b0e0 65 78 20 22 23 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f ex."#.element.name.is.the.name.o
3b100 66 20 61 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 69 73 5c 6e 22 0d f.a.command.and.the.value.is\n".
3b120 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 61 20 73 63 72 69 70 74 20 74 68 61 ....append.index."#.a.script.tha
3b140 74 20 6c 6f 61 64 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 5c 6e 5c 6e 22 0d 20 20 20 20 69 66 t.loads.the.command.\n\n".....if
3b160 20 7b 24 61 72 67 73 20 3d 3d 20 22 22 7d 20 7b 0d 09 73 65 74 20 61 72 67 73 20 2a 2e 74 63 6c .{$args.==.""}.{..set.args.*.tcl
3b180 0d 20 20 20 20 7d 0d 0d 20 20 20 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a .....}......auto_mkindex_parser:
3b1a0 3a 69 6e 69 74 0d 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 6c 65 20 5b 65 76 61 6c 20 67 6c 6f :init.....foreach.file.[eval.glo
3b1c0 62 20 24 61 72 67 73 5d 20 7b 0d 20 20 20 20 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 61 b.$args].{.........if.{[catch.{a
3b1e0 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 6d 6b 69 6e 64 65 78 20 24 66 69 6c uto_mkindex_parser::mkindex.$fil
3b200 65 7d 20 6d 73 67 5d 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 61 70 70 65 e}.msg].==.0}.{.............appe
3b220 6e 64 20 69 6e 64 65 78 20 24 6d 73 67 0d 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 20 nd.index.$msg.........}.else.{..
3b240 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d 20 ...........set.code.$errorCode..
3b260 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 20 ...........set.info.$errorInfo..
3b280 20 20 20 20 20 20 20 20 20 20 20 63 64 20 24 6f 6c 64 44 69 72 0d 20 20 20 20 20 20 20 20 20 20 ...........cd.$oldDir...........
3b2a0 20 20 65 72 72 6f 72 20 24 6d 73 67 20 24 69 6e 66 6f 20 24 63 6f 64 65 0d 20 20 20 20 20 20 20 ..error.$msg.$info.$code........
3b2c0 20 7d 0d 20 20 20 20 7d 0d 20 20 20 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 .}.....}.....auto_mkindex_parser
3b2e0 3a 3a 63 6c 65 61 6e 75 70 0d 0d 20 20 20 20 73 65 74 20 66 69 64 20 5b 6f 70 65 6e 20 22 74 63 ::cleanup......set.fid.[open."tc
3b300 6c 49 6e 64 65 78 22 20 77 5d 0d 20 20 20 20 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 lIndex".w].....puts.-nonewline.$
3b320 66 69 64 20 24 69 6e 64 65 78 0d 20 20 20 20 63 6c 6f 73 65 20 24 66 69 64 0d 20 20 20 20 63 64 fid.$index.....close.$fid.....cd
3b340 20 24 6f 6c 64 44 69 72 0d 7d 0d 0d 23 20 4f 72 69 67 69 6e 61 6c 20 76 65 72 73 69 6f 6e 20 6f .$oldDir.}..#.Original.version.o
3b360 66 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 74 68 61 74 20 6a 75 73 74 20 73 65 61 72 63 68 65 f.auto_mkindex.that.just.searche
3b380 73 20 74 68 65 20 73 6f 75 72 63 65 0d 23 20 63 6f 64 65 20 66 6f 72 20 22 70 72 6f 63 22 20 61 s.the.source.#.code.for."proc".a
3b3a0 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 0d 0d 70 72 t.the.beginning.of.the.line...pr
3b3c0 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 6f 6c 64 20 7b 64 69 72 20 61 72 67 73 7d 20 7b oc.auto_mkindex_old.{dir.args}.{
3b3e0 0d 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d .....global.errorCode.errorInfo.
3b400 20 20 20 20 73 65 74 20 6f 6c 64 44 69 72 20 5b 70 77 64 5d 0d 20 20 20 20 63 64 20 24 64 69 72 ....set.oldDir.[pwd].....cd.$dir
3b420 0d 20 20 20 20 73 65 74 20 64 69 72 20 5b 70 77 64 5d 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e .....set.dir.[pwd].....append.in
3b440 64 65 78 20 22 23 20 54 63 6c 20 61 75 74 6f 6c 6f 61 64 20 69 6e 64 65 78 20 66 69 6c 65 2c 20 dex."#.Tcl.autoload.index.file,.
3b460 76 65 72 73 69 6f 6e 20 32 2e 30 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 version.2.0\n".....append.index.
3b480 22 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 74 68 65 "#.This.file.is.generated.by.the
3b4a0 20 5c 22 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5c 22 20 63 6f 6d 6d 61 6e 64 5c 6e 22 0d 20 20 20 .\"auto_mkindex\".command\n"....
3b4c0 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 61 6e 64 20 73 6f 75 72 63 65 64 20 74 6f 20 .append.index."#.and.sourced.to.
3b4e0 73 65 74 20 75 70 20 69 6e 64 65 78 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 set.up.indexing.information.for.
3b500 6f 6e 65 20 6f 72 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 6d 6f one.or\n".....append.index."#.mo
3b520 72 65 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 54 79 70 69 63 61 6c 6c 79 20 65 61 63 68 20 6c 69 6e re.commands...Typically.each.lin
3b540 65 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e e.is.a.command.that\n".....appen
3b560 64 20 69 6e 64 65 78 20 22 23 20 73 65 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 68 d.index."#.sets.an.element.in.th
3b580 65 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 72 61 79 2c 20 77 68 65 72 65 20 74 68 65 5c 6e 22 e.auto_index.array,.where.the\n"
3b5a0 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 65 6c 65 6d 65 6e 74 20 6e 61 6d .....append.index."#.element.nam
3b5c0 65 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 74 e.is.the.name.of.a.command.and.t
3b5e0 68 65 20 76 61 6c 75 65 20 69 73 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 he.value.is\n".....append.index.
3b600 22 23 20 61 20 73 63 72 69 70 74 20 74 68 61 74 20 6c 6f 61 64 73 20 74 68 65 20 63 6f 6d 6d 61 "#.a.script.that.loads.the.comma
3b620 6e 64 2e 5c 6e 5c 6e 22 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 nd.\n\n".....if.{[string.equal.$
3b640 61 72 67 73 20 22 22 5d 7d 20 7b 0d 09 73 65 74 20 61 72 67 73 20 2a 2e 74 63 6c 0d 20 20 20 20 args.""]}.{..set.args.*.tcl.....
3b660 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 6c 65 20 5b 65 76 61 6c 20 67 6c 6f 62 20 24 61 }.....foreach.file.[eval.glob.$a
3b680 72 67 73 5d 20 7b 0d 09 73 65 74 20 66 20 22 22 0d 09 73 65 74 20 65 72 72 6f 72 20 5b 63 61 74 rgs].{..set.f.""..set.error.[cat
3b6a0 63 68 20 7b 0d 09 20 20 20 20 73 65 74 20 66 20 5b 6f 70 65 6e 20 24 66 69 6c 65 5d 0d 09 20 20 ch.{......set.f.[open.$file]....
3b6c0 20 20 77 68 69 6c 65 20 7b 5b 67 65 74 73 20 24 66 20 6c 69 6e 65 5d 20 3e 3d 20 30 7d 20 7b 0d ..while.{[gets.$f.line].>=.0}.{.
3b6e0 09 09 69 66 20 7b 5b 72 65 67 65 78 70 20 7b 5e 70 72 6f 63 5b 20 09 5d 2b 28 5b 5e 20 09 5d 2a ..if.{[regexp.{^proc[..]+([^..]*
3b700 29 7d 20 24 6c 69 6e 65 20 6d 61 74 63 68 20 70 72 6f 63 4e 61 6d 65 5d 7d 20 7b 0d 09 09 20 20 )}.$line.match.procName]}.{.....
3b720 20 20 73 65 74 20 70 72 6f 63 4e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 5b 61 75 74 6f 5f 71 75 61 ..set.procName.[lindex.[auto_qua
3b740 6c 69 66 79 20 24 70 72 6f 63 4e 61 6d 65 20 22 3a 3a 22 5d 20 30 5d 0d 09 09 20 20 20 20 61 70 lify.$procName."::"].0].......ap
3b760 70 65 6e 64 20 69 6e 64 65 78 20 22 73 65 74 20 5b 6c 69 73 74 20 61 75 74 6f 5f 69 6e 64 65 78 pend.index."set.[list.auto_index
3b780 28 24 70 72 6f 63 4e 61 6d 65 29 5d 22 0d 09 09 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 ($procName)]".......append.index
3b7a0 20 22 20 5c 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5c 5b 66 69 6c 65 20 6a 6f 69 6e 20 5c 24 64 .".\[list.source.\[file.join.\$d
3b7c0 69 72 20 5b 6c 69 73 74 20 24 66 69 6c 65 5d 5c 5d 5c 5d 5c 6e 22 0d 09 09 7d 0d 09 20 20 20 20 ir.[list.$file]\]\]\n"...}......
3b7e0 7d 0d 09 20 20 20 20 63 6c 6f 73 65 20 24 66 0d 09 7d 20 6d 73 67 5d 0d 09 69 66 20 7b 24 65 72 }......close.$f..}.msg]..if.{$er
3b800 72 6f 72 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d ror}.{......set.code.$errorCode.
3b820 09 20 20 20 20 73 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 09 20 20 20 20 63 61 .....set.info.$errorInfo......ca
3b840 74 63 68 20 7b 63 6c 6f 73 65 20 24 66 7d 0d 09 20 20 20 20 63 64 20 24 6f 6c 64 44 69 72 0d 09 tch.{close.$f}......cd.$oldDir..
3b860 20 20 20 20 65 72 72 6f 72 20 24 6d 73 67 20 24 69 6e 66 6f 20 24 63 6f 64 65 0d 09 7d 0d 20 20 ....error.$msg.$info.$code..}...
3b880 20 20 7d 0d 20 20 20 20 73 65 74 20 66 20 22 22 0d 20 20 20 20 73 65 74 20 65 72 72 6f 72 20 5b ..}.....set.f."".....set.error.[
3b8a0 63 61 74 63 68 20 7b 0d 09 73 65 74 20 66 20 5b 6f 70 65 6e 20 74 63 6c 49 6e 64 65 78 20 77 5d catch.{..set.f.[open.tclIndex.w]
3b8c0 0d 09 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20 24 66 20 24 69 6e 64 65 78 0d 09 63 6c 6f ..puts.-nonewline.$f.$index..clo
3b8e0 73 65 20 24 66 0d 09 63 64 20 24 6f 6c 64 44 69 72 0d 20 20 20 20 7d 20 6d 73 67 5d 0d 20 20 20 se.$f..cd.$oldDir.....}.msg]....
3b900 20 69 66 20 7b 24 65 72 72 6f 72 7d 20 7b 0d 09 73 65 74 20 63 6f 64 65 20 24 65 72 72 6f 72 43 .if.{$error}.{..set.code.$errorC
3b920 6f 64 65 0d 09 73 65 74 20 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 09 63 61 74 63 68 20 ode..set.info.$errorInfo..catch.
3b940 7b 63 6c 6f 73 65 20 24 66 7d 0d 09 63 64 20 24 6f 6c 64 44 69 72 0d 09 65 72 72 6f 72 20 24 6d {close.$f}..cd.$oldDir..error.$m
3b960 73 67 20 24 69 6e 66 6f 20 24 63 6f 64 65 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 43 72 65 61 74 65 sg.$info.$code.....}.}..#.Create
3b980 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 74 68 61 74 20 63 61 6e 20 62 65 20 .a.safe.interpreter.that.can.be.
3b9a0 75 73 65 64 20 74 6f 20 70 61 72 73 65 20 54 63 6c 20 73 6f 75 72 63 65 20 66 69 6c 65 73 0d 23 used.to.parse.Tcl.source.files.#
3b9c0 20 67 65 6e 65 72 61 74 65 20 61 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 20 66 6f 72 20 61 75 .generate.a.tclIndex.file.for.au
3b9e0 74 6f 6c 6f 61 64 69 6e 67 2e 20 20 54 68 69 73 20 69 6e 74 65 72 70 20 63 6f 6e 74 61 69 6e 73 toloading...This.interp.contains
3ba00 0d 23 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 69 6e 67 73 20 74 68 61 74 20 6e 65 65 64 .#.commands.for.things.that.need
3ba20 20 69 6e 64 65 78 20 65 6e 74 72 69 65 73 2e 20 20 45 61 63 68 20 74 69 6d 65 20 61 20 63 6f 6d .index.entries...Each.time.a.com
3ba40 6d 61 6e 64 0d 23 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 69 74 20 77 72 69 74 65 73 20 61 6e mand.#.is.executed,.it.writes.an
3ba60 20 65 6e 74 72 79 20 6f 75 74 20 74 6f 20 74 68 65 20 69 6e 64 65 78 20 66 69 6c 65 2e 0d 0d 6e .entry.out.to.the.index.file...n
3ba80 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 amespace.eval.auto_mkindex_parse
3baa0 72 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 20 22 22 20 20 20 20 20 20 r.{.....variable.parser.""......
3bac0 20 20 20 20 3b 23 20 70 61 72 73 65 72 20 75 73 65 64 20 74 6f 20 62 75 69 6c 64 20 69 6e 64 65 ....;#.parser.used.to.build.inde
3bae0 78 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 64 65 78 20 22 22 20 20 20 20 20 20 20 20 20 x.....variable.index."".........
3bb00 20 20 3b 23 20 6d 61 69 6e 74 61 69 6e 73 20 69 6e 64 65 78 20 61 73 20 69 74 20 69 73 20 62 75 ..;#.maintains.index.as.it.is.bu
3bb20 69 6c 74 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 73 63 72 69 70 74 46 69 6c 65 20 22 22 20 20 ilt.....variable.scriptFile.""..
3bb40 20 20 20 20 3b 23 20 6e 61 6d 65 20 6f 66 20 66 69 6c 65 20 62 65 69 6e 67 20 70 72 6f 63 65 73 ....;#.name.of.file.being.proces
3bb60 73 65 64 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 65 78 74 53 74 61 63 6b 20 22 22 sed.....variable.contextStack.""
3bb80 20 20 20 20 3b 23 20 73 74 61 63 6b 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 20 73 63 6f 70 65 73 ....;#.stack.of.namespace.scopes
3bba0 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6d 70 6f 72 74 73 20 22 22 20 20 20 20 20 20 20 20 .....variable.imports.""........
3bbc0 20 3b 23 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 61 6c 6c 20 69 6d 70 6f 72 74 65 64 20 .;#.keeps.track.of.all.imported.
3bbe0 63 6d 64 73 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 69 74 43 6f 6d 6d 61 6e 64 73 20 22 cmds.....variable.initCommands."
3bc00 22 20 20 20 20 3b 23 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 63 72 "....;#.list.of.commands.that.cr
3bc20 65 61 74 65 20 61 6c 69 61 73 65 73 0d 0d 20 20 20 20 70 72 6f 63 20 69 6e 69 74 20 7b 7d 20 7b eate.aliases......proc.init.{}.{
3bc40 0d 09 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 09 76 61 72 69 61 62 6c 65 20 69 6e 69 74 ..variable.parser..variable.init
3bc60 43 6f 6d 6d 61 6e 64 73 0d 0d 09 69 66 20 7b 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 7d Commands...if.{![interp.issafe]}
3bc80 20 7b 0d 09 20 20 20 20 73 65 74 20 70 61 72 73 65 72 20 5b 69 6e 74 65 72 70 20 63 72 65 61 74 .{......set.parser.[interp.creat
3bca0 65 20 2d 73 61 66 65 5d 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 68 69 64 65 20 69 6e 66 6f 0d e.-safe]......$parser.hide.info.
3bcc0 09 20 20 20 20 24 70 61 72 73 65 72 20 68 69 64 65 20 72 65 6e 61 6d 65 0d 09 20 20 20 20 24 70 .....$parser.hide.rename......$p
3bce0 61 72 73 65 72 20 68 69 64 65 20 70 72 6f 63 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 68 69 64 arser.hide.proc......$parser.hid
3bd00 65 20 6e 61 6d 65 73 70 61 63 65 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 68 69 64 65 20 65 76 e.namespace......$parser.hide.ev
3bd20 61 6c 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 68 69 64 65 20 70 75 74 73 0d 09 20 20 20 20 24 al......$parser.hide.puts......$
3bd40 70 61 72 73 65 72 20 69 6e 76 6f 6b 65 68 69 64 64 65 6e 20 6e 61 6d 65 73 70 61 63 65 20 64 65 parser.invokehidden.namespace.de
3bd60 6c 65 74 65 20 3a 3a 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 69 6e 76 6f 6b 65 68 69 64 64 65 lete.::......$parser.invokehidde
3bd80 6e 20 70 72 6f 63 20 75 6e 6b 6e 6f 77 6e 20 7b 61 72 67 73 7d 20 7b 7d 0d 0d 09 20 20 20 20 23 n.proc.unknown.{args}.{}.......#
3bda0 20 57 65 27 6c 6c 20 6e 65 65 64 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 22 6e 61 6d 65 73 .We'll.need.access.to.the."names
3bdc0 70 61 63 65 22 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 69 6e 20 74 68 65 0d 09 20 20 20 20 23 20 pace".command.within.the......#.
3bde0 69 6e 74 65 72 70 2e 20 20 50 75 74 20 69 74 20 62 61 63 6b 2c 20 62 75 74 20 6d 6f 76 65 20 69 interp...Put.it.back,.but.move.i
3be00 74 20 6f 75 74 20 6f 66 20 74 68 65 20 77 61 79 2e 0d 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 t.out.of.the.way........$parser.
3be20 65 78 70 6f 73 65 20 6e 61 6d 65 73 70 61 63 65 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 69 6e expose.namespace......$parser.in
3be40 76 6f 6b 65 68 69 64 64 65 6e 20 72 65 6e 61 6d 65 20 6e 61 6d 65 73 70 61 63 65 20 5f 25 40 6e vokehidden.rename.namespace._%@n
3be60 61 6d 65 73 70 61 63 65 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 65 78 70 6f 73 65 20 65 76 61 amespace......$parser.expose.eva
3be80 6c 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 69 6e 76 6f 6b 65 68 69 64 64 65 6e 20 72 65 6e 61 l......$parser.invokehidden.rena
3bea0 6d 65 20 65 76 61 6c 20 5f 25 40 65 76 61 6c 0d 0d 09 20 20 20 20 23 20 49 6e 73 74 61 6c 6c 20 me.eval._%@eval.......#.Install.
3bec0 61 6c 6c 20 74 68 65 20 72 65 67 69 73 74 65 72 65 64 20 70 73 75 65 64 6f 2d 63 6f 6d 6d 61 6e all.the.registered.psuedo-comman
3bee0 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 d.implementations.......foreach.
3bf00 63 6d 64 20 24 69 6e 69 74 43 6f 6d 6d 61 6e 64 73 20 7b 0d 09 09 65 76 61 6c 20 24 63 6d 64 0d cmd.$initCommands.{...eval.$cmd.
3bf20 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 70 72 6f 63 20 63 6c 65 61 6e 75 70 .....}..}.....}.....proc.cleanup
3bf40 20 7b 7d 20 7b 0d 09 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 09 69 6e 74 65 72 70 20 64 .{}.{..variable.parser..interp.d
3bf60 65 6c 65 74 65 20 24 70 61 72 73 65 72 0d 09 75 6e 73 65 74 20 70 61 72 73 65 72 0d 20 20 20 20 elete.$parser..unset.parser.....
3bf80 7d 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 6d 6b 69 6e }.}..#.auto_mkindex_parser::mkin
3bfa0 64 65 78 20 2d 2d 0d 23 0d 23 20 55 73 65 64 20 62 79 20 74 68 65 20 22 61 75 74 6f 5f 6d 6b 69 dex.--.#.#.Used.by.the."auto_mki
3bfc0 6e 64 65 78 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 72 65 61 74 65 20 61 20 22 74 63 6c 49 6e ndex".command.to.create.a."tclIn
3bfe0 64 65 78 22 20 66 69 6c 65 20 66 6f 72 0d 23 20 74 68 65 20 67 69 76 65 6e 20 54 63 6c 20 73 6f dex".file.for.#.the.given.Tcl.so
3c000 75 72 63 65 20 66 69 6c 65 2e 20 20 45 78 65 63 75 74 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 urce.file...Executes.the.command
3c020 73 20 69 6e 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 0d 23 20 68 61 6e 64 6c 65 73 20 74 68 69 s.in.the.file,.and.#.handles.thi
3c040 6e 67 73 20 6c 69 6b 65 20 74 68 65 20 22 70 72 6f 63 22 20 63 6f 6d 6d 61 6e 64 20 62 79 20 61 ngs.like.the."proc".command.by.a
3c060 64 64 69 6e 67 20 61 6e 20 65 6e 74 72 79 20 66 6f 72 20 74 68 65 0d 23 20 69 6e 64 65 78 20 66 dding.an.entry.for.the.#.index.f
3c080 69 6c 65 2e 20 20 52 65 74 75 72 6e 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 72 65 70 72 ile...Returns.a.string.that.repr
3c0a0 65 73 65 6e 74 73 20 74 68 65 20 69 6e 64 65 78 20 66 69 6c 65 2e 0d 23 0d 23 20 41 72 67 75 6d esents.the.index.file..#.#.Argum
3c0c0 65 6e 74 73 3a 20 0d 23 09 66 69 6c 65 09 4e 61 6d 65 20 6f 66 20 54 63 6c 20 73 6f 75 72 63 65 ents:..#.file.Name.of.Tcl.source
3c0e0 20 66 69 6c 65 20 74 6f 20 62 65 20 69 6e 64 65 78 65 64 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f .file.to.be.indexed...proc.auto_
3c100 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 6d 6b 69 6e 64 65 78 20 7b 66 69 6c 65 7d 20 7b mkindex_parser::mkindex.{file}.{
3c120 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 20 20 20 20 76 61 72 69 61 62 6c .....variable.parser.....variabl
3c140 65 20 69 6e 64 65 78 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 73 63 72 69 70 74 46 69 6c 65 0d e.index.....variable.scriptFile.
3c160 20 20 20 20 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 65 78 74 53 74 61 63 6b 0d 20 20 20 20 76 61 ....variable.contextStack.....va
3c180 72 69 61 62 6c 65 20 69 6d 70 6f 72 74 73 0d 0d 20 20 20 20 73 65 74 20 73 63 72 69 70 74 46 69 riable.imports......set.scriptFi
3c1a0 6c 65 20 24 66 69 6c 65 0d 0d 20 20 20 20 73 65 74 20 66 69 64 20 5b 6f 70 65 6e 20 24 66 69 6c le.$file......set.fid.[open.$fil
3c1c0 65 5d 0d 20 20 20 20 73 65 74 20 63 6f 6e 74 65 6e 74 73 20 5b 72 65 61 64 20 24 66 69 64 5d 0d e].....set.contents.[read.$fid].
3c1e0 20 20 20 20 63 6c 6f 73 65 20 24 66 69 64 0d 0d 20 20 20 20 23 20 54 68 65 72 65 20 69 73 20 6f ....close.$fid......#.There.is.o
3c200 6e 65 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 20 73 6f 75 72 63 69 6e 67 20 66 69 6c 65 73 20 69 ne.problem.with.sourcing.files.i
3c220 6e 74 6f 20 74 68 65 20 73 61 66 65 0d 20 20 20 20 23 20 69 6e 74 65 72 70 72 65 74 65 72 3a 20 nto.the.safe.....#.interpreter:.
3c240 20 72 65 66 65 72 65 6e 63 65 73 20 6c 69 6b 65 20 22 24 78 22 20 77 69 6c 6c 20 66 61 69 6c 20 .references.like."$x".will.fail.
3c260 73 69 6e 63 65 20 63 6f 64 65 20 69 73 20 6e 6f 74 0d 20 20 20 20 23 20 72 65 61 6c 6c 79 20 62 since.code.is.not.....#.really.b
3c280 65 69 6e 67 20 65 78 65 63 75 74 65 64 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 64 6f 20 6e eing.executed.and.variables.do.n
3c2a0 6f 74 20 72 65 61 6c 6c 79 20 65 78 69 73 74 2e 0d 20 20 20 20 23 20 54 6f 20 61 76 6f 69 64 20 ot.really.exist......#.To.avoid.
3c2c0 74 68 69 73 2c 20 77 65 20 72 65 70 6c 61 63 65 20 61 6c 6c 20 24 20 77 69 74 68 20 5c 30 20 28 this,.we.replace.all.$.with.\0.(
3c2e0 6c 69 74 65 72 61 6c 6c 79 2c 20 74 68 65 20 6e 75 6c 6c 20 63 68 61 72 29 0d 20 20 20 20 23 20 literally,.the.null.char).....#.
3c300 6c 61 74 65 72 2c 20 77 68 65 6e 20 67 65 74 74 69 6e 67 20 70 72 6f 63 20 6e 61 6d 65 73 20 77 later,.when.getting.proc.names.w
3c320 65 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 72 65 76 65 72 73 65 20 74 68 69 73 20 72 65 70 6c e.will.have.to.reverse.this.repl
3c340 61 63 65 6d 65 6e 74 2c 0d 20 20 20 20 23 20 69 6e 20 63 61 73 65 20 74 68 65 72 65 20 77 65 72 acement,.....#.in.case.there.wer
3c360 65 20 61 6e 79 20 24 20 69 6e 20 74 68 65 20 70 72 6f 63 20 6e 61 6d 65 2e 20 20 54 68 69 73 20 e.any.$.in.the.proc.name...This.
3c380 77 69 6c 6c 20 63 61 75 73 65 20 61 20 70 72 6f 62 6c 65 6d 0d 20 20 20 20 23 20 69 66 20 73 6f will.cause.a.problem.....#.if.so
3c3a0 6d 65 62 6f 64 79 20 61 63 74 75 61 6c 6c 79 20 74 72 69 65 73 20 74 6f 20 68 61 76 65 20 61 20 mebody.actually.tries.to.have.a.
3c3c0 5c 30 20 69 6e 20 74 68 65 69 72 20 70 72 6f 63 20 6e 61 6d 65 2e 20 20 54 6f 6f 20 62 61 64 0d \0.in.their.proc.name...Too.bad.
3c3e0 20 20 20 20 23 20 66 6f 72 20 74 68 65 6d 2e 0d 20 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 ....#.for.them......regsub.-all.
3c400 7b 5c 24 7d 20 24 63 6f 6e 74 65 6e 74 73 20 22 5c 30 22 20 63 6f 6e 74 65 6e 74 73 0d 20 20 20 {\$}.$contents."\0".contents....
3c420 20 0d 20 20 20 20 73 65 74 20 69 6e 64 65 78 20 22 22 0d 20 20 20 20 73 65 74 20 63 6f 6e 74 65 ......set.index."".....set.conte
3c440 78 74 53 74 61 63 6b 20 22 22 0d 20 20 20 20 73 65 74 20 69 6d 70 6f 72 74 73 20 22 22 0d 0d 20 xtStack."".....set.imports.""...
3c460 20 20 20 24 70 61 72 73 65 72 20 65 76 61 6c 20 24 63 6f 6e 74 65 6e 74 73 0d 0d 20 20 20 20 66 ...$parser.eval.$contents......f
3c480 6f 72 65 61 63 68 20 6e 61 6d 65 20 24 69 6d 70 6f 72 74 73 20 7b 0d 20 20 20 20 20 20 20 20 63 oreach.name.$imports.{.........c
3c4a0 61 74 63 68 20 7b 24 70 61 72 73 65 72 20 65 76 61 6c 20 5b 6c 69 73 74 20 5f 25 40 6e 61 6d 65 atch.{$parser.eval.[list._%@name
3c4c0 73 70 61 63 65 20 66 6f 72 67 65 74 20 24 6e 61 6d 65 5d 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 space.forget.$name]}.....}.....r
3c4e0 65 74 75 72 6e 20 24 69 6e 64 65 78 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 eturn.$index.}..#.auto_mkindex_p
3c500 61 72 73 65 72 3a 3a 68 6f 6f 6b 20 63 6f 6d 6d 61 6e 64 0d 23 0d 23 20 52 65 67 69 73 74 65 72 arser::hook.command.#.#.Register
3c520 73 20 61 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 77 68 65 6e s.a.Tcl.command.to.evaluate.when
3c540 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 74 68 65 0d 23 20 73 6c 61 76 65 20 69 6e 74 65 72 70 .initializing.the.#.slave.interp
3c560 72 65 74 65 72 20 75 73 65 64 20 62 79 20 74 68 65 20 6d 6b 69 6e 64 65 78 20 70 61 72 73 65 72 reter.used.by.the.mkindex.parser
3c580 2e 0d 23 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 ..#.The.command.is.evaluated.in.
3c5a0 74 68 65 20 6d 61 73 74 65 72 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 61 6e 64 20 63 61 6e 0d the.master.interpreter,.and.can.
3c5c0 23 20 75 73 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f #.use.the.variable.auto_mkindex_
3c5e0 70 61 72 73 65 72 3a 3a 70 61 72 73 65 72 20 74 6f 20 67 65 74 20 74 6f 20 74 68 65 20 73 6c 61 parser::parser.to.get.to.the.sla
3c600 76 65 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 68 6f ve..proc.auto_mkindex_parser::ho
3c620 6f 6b 20 7b 63 6d 64 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 69 74 43 6f 6d 6d ok.{cmd}.{.....variable.initComm
3c640 61 6e 64 73 0d 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 69 6e 69 74 43 6f 6d 6d 61 6e 64 73 20 24 ands......lappend.initCommands.$
3c660 63 6d 64 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 73 6c cmd.}..#.auto_mkindex_parser::sl
3c680 61 76 65 68 6f 6f 6b 20 63 6f 6d 6d 61 6e 64 0d 23 0d 23 20 52 65 67 69 73 74 65 72 73 20 61 20 avehook.command.#.#.Registers.a.
3c6a0 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 77 68 65 6e 20 69 6e 69 Tcl.command.to.evaluate.when.ini
3c6c0 74 69 61 6c 69 7a 69 6e 67 20 74 68 65 0d 23 20 73 6c 61 76 65 20 69 6e 74 65 72 70 72 65 74 65 tializing.the.#.slave.interprete
3c6e0 72 20 75 73 65 64 20 62 79 20 74 68 65 20 6d 6b 69 6e 64 65 78 20 70 61 72 73 65 72 2e 0d 23 20 r.used.by.the.mkindex.parser..#.
3c700 54 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 69 6e 20 74 68 65 20 The.command.is.evaluated.in.the.
3c720 73 6c 61 76 65 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b slave.interpreter...proc.auto_mk
3c740 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 73 6c 61 76 65 68 6f 6f 6b 20 7b 63 6d 64 7d 20 7b 0d index_parser::slavehook.{cmd}.{.
3c760 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 69 74 43 6f 6d 6d 61 6e 64 73 0d 0d 20 20 20 20 23 ....variable.initCommands......#
3c780 20 54 68 65 20 24 70 61 72 73 65 72 20 76 61 72 69 61 62 6c 65 20 69 73 20 64 65 66 69 6e 65 64 .The.$parser.variable.is.defined
3c7a0 20 74 6f 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 0d 20 20 20 20 23 20 73 6c 61 .to.be.the.name.of.the.....#.sla
3c7c0 76 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 77 68 65 6e 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 ve.interpreter.when.this.command
3c7e0 20 69 73 20 75 73 65 64 20 6c 61 74 65 72 2e 0d 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 69 6e 69 .is.used.later.......lappend.ini
3c800 74 43 6f 6d 6d 61 6e 64 73 20 22 5c 24 70 61 72 73 65 72 20 65 76 61 6c 20 5b 6c 69 73 74 20 24 tCommands."\$parser.eval.[list.$
3c820 63 6d 64 5d 22 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a cmd]".}..#.auto_mkindex_parser::
3c840 63 6f 6d 6d 61 6e 64 20 2d 2d 0d 23 0d 23 20 52 65 67 69 73 74 65 72 73 20 61 20 6e 65 77 20 63 command.--.#.#.Registers.a.new.c
3c860 6f 6d 6d 61 6e 64 20 77 69 74 68 20 74 68 65 20 22 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 ommand.with.the."auto_mkindex_pa
3c880 72 73 65 72 22 20 69 6e 74 65 72 70 72 65 74 65 72 0d 23 20 74 68 61 74 20 70 61 72 73 65 73 20 rser".interpreter.#.that.parses.
3c8a0 54 63 6c 20 66 69 6c 65 73 2e 20 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 66 Tcl.files...These.commands.are.f
3c8c0 61 6b 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 69 6e 67 73 0d 23 20 6c 69 6b 65 20 74 68 ake.versions.of.things.#.like.th
3c8e0 65 20 22 70 72 6f 63 22 20 63 6f 6d 6d 61 6e 64 2e 20 20 57 68 65 6e 20 79 6f 75 20 65 78 65 63 e."proc".command...When.you.exec
3c900 75 74 65 20 74 68 65 6d 2c 20 74 68 65 79 20 73 69 6d 70 6c 79 20 77 72 69 74 65 0d 23 20 6f 75 ute.them,.they.simply.write.#.ou
3c920 74 20 61 6e 20 65 6e 74 72 79 20 74 6f 20 61 20 22 74 63 6c 49 6e 64 65 78 22 20 66 69 6c 65 20 t.an.entry.to.a."tclIndex".file.
3c940 66 6f 72 20 61 75 74 6f 2d 6c 6f 61 64 69 6e 67 2e 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 for.auto-loading..#.#.This.proce
3c960 64 75 72 65 20 61 6c 6c 6f 77 73 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 72 65 67 69 73 74 dure.allows.extensions.to.regist
3c980 65 72 20 74 68 65 69 72 20 6f 77 6e 20 63 6f 6d 6d 61 6e 64 73 0d 23 20 77 69 74 68 20 74 68 65 er.their.own.commands.#.with.the
3c9a0 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 66 61 63 69 6c 69 74 79 2e 20 20 46 6f 72 20 65 78 61 .auto_mkindex.facility...For.exa
3c9c0 6d 70 6c 65 2c 20 61 20 70 61 63 6b 61 67 65 20 6c 69 6b 65 0d 23 20 5b 69 6e 63 72 20 54 63 6c mple,.a.package.like.#.[incr.Tcl
3c9e0 5d 20 6d 69 67 68 74 20 72 65 67 69 73 74 65 72 20 61 20 22 63 6c 61 73 73 22 20 63 6f 6d 6d 61 ].might.register.a."class".comma
3ca00 6e 64 20 73 6f 20 74 68 61 74 20 63 6c 61 73 73 20 64 65 66 69 6e 69 74 69 6f 6e 73 0d 23 20 63 nd.so.that.class.definitions.#.c
3ca20 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 74 6f 20 61 20 22 74 63 6c 49 6e 64 65 78 22 20 66 69 ould.be.added.to.a."tclIndex".fi
3ca40 6c 65 20 66 6f 72 20 61 75 74 6f 2d 6c 6f 61 64 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e le.for.auto-loading..#.#.Argumen
3ca60 74 73 3a 0d 23 09 6e 61 6d 65 20 09 4e 61 6d 65 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 72 65 63 6f ts:.#.name..Name.of.command.reco
3ca80 67 6e 69 7a 65 64 20 69 6e 20 54 63 6c 20 66 69 6c 65 73 2e 0d 23 09 61 72 67 6c 69 73 74 09 41 gnized.in.Tcl.files..#.arglist.A
3caa0 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 2e 0d 23 09 62 6f 64 79 rgument.list.for.command..#.body
3cac0 20 09 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 68 ..Implementation.of.command.to.h
3cae0 61 6e 64 6c 65 20 69 6e 64 65 78 69 6e 67 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 andle.indexing...proc.auto_mkind
3cb00 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 20 7b 6e 61 6d 65 20 61 72 67 6c 69 73 74 ex_parser::command.{name.arglist
3cb20 20 62 6f 64 79 7d 20 7b 0d 20 20 20 20 68 6f 6f 6b 20 5b 6c 69 73 74 20 61 75 74 6f 5f 6d 6b 69 .body}.{.....hook.[list.auto_mki
3cb40 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 49 6e 69 74 20 24 6e 61 6d 65 20 24 ndex_parser::commandInit.$name.$
3cb60 61 72 67 6c 69 73 74 20 24 62 6f 64 79 5d 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 arglist.$body].}..#.auto_mkindex
3cb80 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 49 6e 69 74 20 2d 2d 0d 23 0d 23 20 54 68 69 73 _parser::commandInit.--.#.#.This
3cba0 20 64 6f 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 77 6f 72 6b 20 73 65 74 20 75 70 20 62 79 20 .does.the.actual.work.set.up.by.
3cbc0 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 0d 23 20 54 auto_mkindex_parser::command.#.T
3cbe0 68 69 73 20 69 73 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 his.is.called.when.the.interpret
3cc00 65 72 20 75 73 65 64 20 62 79 20 74 68 65 20 70 61 72 73 65 72 20 69 73 20 63 72 65 61 74 65 64 er.used.by.the.parser.is.created
3cc20 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 6e 61 6d 65 20 09 4e 61 6d 65 20 6f 66 ..#.#.Arguments:.#.name..Name.of
3cc40 20 63 6f 6d 6d 61 6e 64 20 72 65 63 6f 67 6e 69 7a 65 64 20 69 6e 20 54 63 6c 20 66 69 6c 65 73 .command.recognized.in.Tcl.files
3cc60 2e 0d 23 09 61 72 67 6c 69 73 74 09 41 72 67 75 6d 65 6e 74 20 6c 69 73 74 20 66 6f 72 20 63 6f ..#.arglist.Argument.list.for.co
3cc80 6d 6d 61 6e 64 2e 0d 23 09 62 6f 64 79 20 09 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 mmand..#.body..Implementation.of
3cca0 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 68 61 6e 64 6c 65 20 69 6e 64 65 78 69 6e 67 2e 0d 0d 70 72 .command.to.handle.indexing...pr
3ccc0 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 49 oc.auto_mkindex_parser::commandI
3cce0 6e 69 74 20 7b 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 62 6f 64 79 7d 20 7b 0d 20 20 20 20 76 61 nit.{name.arglist.body}.{.....va
3cd00 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 0d 20 20 20 20 73 65 74 20 6e 73 20 5b 6e 61 6d 65 73 riable.parser......set.ns.[names
3cd20 70 61 63 65 20 71 75 61 6c 69 66 69 65 72 73 20 24 6e 61 6d 65 5d 0d 20 20 20 20 73 65 74 20 74 pace.qualifiers.$name].....set.t
3cd40 61 69 6c 20 5b 6e 61 6d 65 73 70 61 63 65 20 74 61 69 6c 20 24 6e 61 6d 65 5d 0d 20 20 20 20 69 ail.[namespace.tail.$name].....i
3cd60 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 73 20 22 22 5d 7d 20 7b 0d 20 20 20 20 f.{[string.equal.$ns.""]}.{.....
3cd80 20 20 20 20 73 65 74 20 66 61 6b 65 4e 61 6d 65 20 22 5b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 ....set.fakeName."[namespace.cur
3cda0 72 65 6e 74 5d 3a 3a 5f 25 40 66 61 6b 65 5f 24 74 61 69 6c 22 0d 20 20 20 20 7d 20 65 6c 73 65 rent]::_%@fake_$tail".....}.else
3cdc0 20 7b 0d 20 20 20 20 20 20 20 20 73 65 74 20 66 61 6b 65 4e 61 6d 65 20 22 5f 25 40 66 61 6b 65 .{.........set.fakeName."_%@fake
3cde0 5f 24 6e 61 6d 65 22 0d 20 20 20 20 20 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 7b 3a 3a 7d _$name".........regsub.-all.{::}
3ce00 20 24 66 61 6b 65 4e 61 6d 65 20 22 5f 22 20 66 61 6b 65 4e 61 6d 65 0d 20 20 20 20 20 20 20 20 .$fakeName."_".fakeName.........
3ce20 73 65 74 20 66 61 6b 65 4e 61 6d 65 20 22 5b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 set.fakeName."[namespace.current
3ce40 5d 3a 3a 24 66 61 6b 65 4e 61 6d 65 22 0d 20 20 20 20 7d 0d 20 20 20 20 70 72 6f 63 20 24 66 61 ]::$fakeName".....}.....proc.$fa
3ce60 6b 65 4e 61 6d 65 20 24 61 72 67 6c 69 73 74 20 24 62 6f 64 79 0d 0d 20 20 20 20 23 20 59 55 4b keName.$arglist.$body......#.YUK
3ce80 21 20 20 54 63 6c 20 77 6f 6e 27 74 20 6c 65 74 20 75 73 20 61 6c 69 61 73 20 66 75 6c 6c 79 20 !..Tcl.won't.let.us.alias.fully.
3cea0 71 75 61 6c 69 66 69 65 64 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 2c 0d 20 20 20 20 23 20 73 qualified.command.names,.....#.s
3cec0 6f 20 77 65 20 63 61 6e 27 74 20 68 61 6e 64 6c 65 20 6e 61 6d 65 73 20 6c 69 6b 65 20 22 3a 3a o.we.can't.handle.names.like."::
3cee0 69 74 63 6c 3a 3a 63 6c 61 73 73 22 2e 20 20 49 6e 73 74 65 61 64 2c 0d 20 20 20 20 23 20 77 65 itcl::class"...Instead,.....#.we
3cf00 20 68 61 76 65 20 74 6f 20 62 75 69 6c 64 20 70 72 6f 63 73 20 77 69 74 68 20 74 68 65 20 66 75 .have.to.build.procs.with.the.fu
3cf20 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 2c 20 61 6e 64 0d 20 20 20 20 23 20 68 lly.qualified.names,.and.....#.h
3cf40 61 76 65 20 74 68 65 20 70 72 6f 63 73 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 61 6c 69 61 73 ave.the.procs.point.to.the.alias
3cf60 65 73 2e 0d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 7b 3a 3a 7d 20 24 6e 61 6d 65 5d es.......if.{[regexp.{::}.$name]
3cf80 7d 20 7b 0d 20 20 20 20 20 20 20 20 73 65 74 20 65 78 70 6f 72 74 43 6d 64 20 5b 6c 69 73 74 20 }.{.........set.exportCmd.[list.
3cfa0 5f 25 40 6e 61 6d 65 73 70 61 63 65 20 65 78 70 6f 72 74 20 5b 6e 61 6d 65 73 70 61 63 65 20 74 _%@namespace.export.[namespace.t
3cfc0 61 69 6c 20 24 6e 61 6d 65 5d 5d 0d 20 20 20 20 20 20 20 20 24 70 61 72 73 65 72 20 65 76 61 6c ail.$name]].........$parser.eval
3cfe0 20 5b 6c 69 73 74 20 5f 25 40 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 24 6e 73 20 24 65 78 .[list._%@namespace.eval.$ns.$ex
3d000 70 6f 72 74 43 6d 64 5d 0d 20 0d 09 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 portCmd]....#.The.following.proc
3d020 20 64 65 66 69 6e 69 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 69 66 20 79 6f 75 .definition.does.not.work.if.you
3d040 0d 09 23 20 77 61 6e 74 20 74 6f 20 74 6f 6c 65 72 61 74 65 20 73 70 61 63 65 20 6f 72 20 73 6f ..#.want.to.tolerate.space.or.so
3d060 6d 65 74 68 69 6e 67 20 65 6c 73 65 20 64 69 61 62 6f 6c 69 63 61 6c 0d 09 23 20 69 6e 20 74 68 mething.else.diabolical..#.in.th
3d080 65 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 2c 20 28 69 2e 65 2e 2c 20 73 70 61 63 65 20 69 e.procedure.name,.(i.e.,.space.i
3d0a0 6e 20 24 61 6c 69 61 73 29 0d 09 23 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 6f 65 73 20 n.$alias)..#.The.following.does.
3d0c0 6e 6f 74 20 77 6f 72 6b 3a 0d 09 23 20 20 20 22 5f 25 40 65 76 61 6c 20 7b 24 61 6c 69 61 73 7d not.work:..#..."_%@eval.{$alias}
3d0e0 20 5c 24 61 72 67 73 22 0d 09 23 20 62 65 63 61 75 73 65 20 24 61 6c 69 61 73 20 67 65 74 73 20 .\$args"..#.because.$alias.gets.
3d100 63 6f 6e 63 61 74 27 65 64 20 74 6f 20 24 61 72 67 73 2e 0d 09 23 20 54 68 65 20 66 6f 6c 6c 6f concat'ed.to.$args...#.The.follo
3d120 77 69 6e 67 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 62 65 63 61 75 73 65 20 24 63 6d 64 20 wing.does.not.work.because.$cmd.
3d140 69 73 20 73 6f 6d 65 68 6f 77 20 75 6e 64 65 66 69 6e 65 64 0d 09 23 20 20 20 22 73 65 74 20 63 is.somehow.undefined..#..."set.c
3d160 6d 64 20 7b 24 61 6c 69 61 73 7d 20 5c 3b 20 5f 25 40 65 76 61 6c 20 7b 5c 24 63 6d 64 7d 20 5c md.{$alias}.\;._%@eval.{\$cmd}.\
3d180 24 61 72 67 73 22 0d 09 23 20 41 20 67 6f 6c 64 20 73 74 61 72 20 74 6f 20 73 6f 6d 65 6f 6e 65 $args"..#.A.gold.star.to.someone
3d1a0 20 74 68 61 74 20 63 61 6e 20 6d 61 6b 65 20 74 65 73 74 0d 09 23 20 61 75 74 6f 4d 6b 69 6e 64 .that.can.make.test..#.autoMkind
3d1c0 65 78 2d 33 2e 33 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c 79 0d 0d 20 20 20 20 20 20 20 20 73 65 ex-3.3.work.properly..........se
3d1e0 74 20 61 6c 69 61 73 20 5b 6e 61 6d 65 73 70 61 63 65 20 74 61 69 6c 20 24 66 61 6b 65 4e 61 6d t.alias.[namespace.tail.$fakeNam
3d200 65 5d 0d 20 20 20 20 20 20 20 20 24 70 61 72 73 65 72 20 69 6e 76 6f 6b 65 68 69 64 64 65 6e 20 e].........$parser.invokehidden.
3d220 70 72 6f 63 20 24 6e 61 6d 65 20 7b 61 72 67 73 7d 20 22 5f 25 40 65 76 61 6c 20 7b 24 61 6c 69 proc.$name.{args}."_%@eval.{$ali
3d240 61 73 7d 20 5c 24 61 72 67 73 22 0d 20 20 20 20 20 20 20 20 24 70 61 72 73 65 72 20 61 6c 69 61 as}.\$args".........$parser.alia
3d260 73 20 24 61 6c 69 61 73 20 24 66 61 6b 65 4e 61 6d 65 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d s.$alias.$fakeName.....}.else.{.
3d280 20 20 20 20 20 20 20 20 24 70 61 72 73 65 72 20 61 6c 69 61 73 20 24 6e 61 6d 65 20 24 66 61 6b ........$parser.alias.$name.$fak
3d2a0 65 4e 61 6d 65 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 0d 7d 0d 0d 23 20 61 75 74 6f eName.....}.....return.}..#.auto
3d2c0 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 66 75 6c 6c 6e 61 6d 65 20 2d 2d 0d 23 20 55 _mkindex_parser::fullname.--.#.U
3d2e0 73 65 64 20 62 79 20 63 6f 6d 6d 61 6e 64 73 20 6c 69 6b 65 20 22 70 72 6f 63 22 20 77 69 74 68 sed.by.commands.like."proc".with
3d300 69 6e 20 74 68 65 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 70 61 72 73 65 72 2e 0d 23 20 52 65 in.the.auto_mkindex.parser..#.Re
3d320 74 75 72 6e 73 20 74 68 65 20 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 70 61 63 65 20 6e 61 turns.the.qualified.namespace.na
3d340 6d 65 20 66 6f 72 20 74 68 65 20 22 6e 61 6d 65 22 20 61 72 67 75 6d 65 6e 74 2e 0d 23 20 49 66 me.for.the."name".argument..#.If
3d360 20 74 68 65 20 22 6e 61 6d 65 22 20 64 6f 65 73 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 20 .the."name".does.not.start.with.
3d380 22 3a 3a 22 2c 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 61 64 64 65 64 20 66 72 6f 6d 0d 23 20 "::",.elements.are.added.from.#.
3d3a0 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 73 74 61 63 6b 20 74 6f 20 70 the.current.namespace.stack.to.p
3d3c0 72 6f 64 75 63 65 20 61 20 71 75 61 6c 69 66 69 65 64 20 6e 61 6d 65 2e 20 20 54 68 65 6e 2c 0d roduce.a.qualified.name...Then,.
3d3e0 23 20 74 68 65 20 6e 61 6d 65 20 69 73 20 65 78 61 6d 69 6e 65 64 20 74 6f 20 73 65 65 20 77 68 #.the.name.is.examined.to.see.wh
3d400 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 69 74 20 73 68 6f 75 6c 64 20 72 65 61 6c 6c 79 20 62 65 ether.or.not.it.should.really.be
3d420 0d 23 20 71 75 61 6c 69 66 69 65 64 2e 20 20 49 66 20 74 68 65 20 6e 61 6d 65 20 68 61 73 20 6d .#.qualified...If.the.name.has.m
3d440 6f 72 65 20 74 68 61 6e 20 74 68 65 20 6c 65 61 64 69 6e 67 20 22 3a 3a 22 2c 20 69 74 20 69 73 ore.than.the.leading."::",.it.is
3d460 0d 23 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 66 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 .#.returned.as.a.fully.qualified
3d480 20 6e 61 6d 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 72 65 74 75 72 6e 65 .name...Otherwise,.it.is.returne
3d4a0 64 0d 23 20 61 73 20 61 20 73 69 6d 70 6c 65 20 6e 61 6d 65 2e 20 20 54 68 61 74 20 77 61 79 2c d.#.as.a.simple.name...That.way,
3d4c0 20 74 68 65 20 54 63 6c 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 72 65 63 6f 67 6e 69 .the.Tcl.autoloader.will.recogni
3d4e0 7a 65 0d 23 20 69 74 20 70 72 6f 70 65 72 6c 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a ze.#.it.properly..#.#.Arguments:
3d500 0d 23 20 6e 61 6d 65 20 2d 09 09 4e 61 6d 65 20 74 68 61 74 20 69 73 20 62 65 69 6e 67 20 61 64 .#.name.-..Name.that.is.being.ad
3d520 64 65 64 20 74 6f 20 69 6e 64 65 78 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 ded.to.index...proc.auto_mkindex
3d540 5f 70 61 72 73 65 72 3a 3a 66 75 6c 6c 6e 61 6d 65 20 7b 6e 61 6d 65 7d 20 7b 0d 20 20 20 20 76 _parser::fullname.{name}.{.....v
3d560 61 72 69 61 62 6c 65 20 63 6f 6e 74 65 78 74 53 74 61 63 6b 0d 0d 20 20 20 20 69 66 20 7b 21 5b ariable.contextStack......if.{![
3d580 73 74 72 69 6e 67 20 6d 61 74 63 68 20 3a 3a 2a 20 24 6e 61 6d 65 5d 7d 20 7b 0d 20 20 20 20 20 string.match.::*.$name]}.{......
3d5a0 20 20 20 66 6f 72 65 61 63 68 20 6e 73 20 24 63 6f 6e 74 65 78 74 53 74 61 63 6b 20 7b 0d 20 20 ...foreach.ns.$contextStack.{...
3d5c0 20 20 20 20 20 20 20 20 20 20 73 65 74 20 6e 61 6d 65 20 22 24 7b 6e 73 7d 3a 3a 24 6e 61 6d 65 ..........set.name."${ns}::$name
3d5e0 22 0d 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 ".............if.{[string.match.
3d600 3a 3a 2a 20 24 6e 61 6d 65 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 ::*.$name]}.{.................br
3d620 65 61 6b 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 eak.............}.........}.....
3d640 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 6e 61 6d 65 73 70 }......if.{[string.equal.[namesp
3d660 61 63 65 20 71 75 61 6c 69 66 69 65 72 73 20 24 6e 61 6d 65 5d 20 22 22 5d 7d 20 7b 0d 20 20 20 ace.qualifiers.$name].""]}.{....
3d680 20 20 20 20 20 73 65 74 20 6e 61 6d 65 20 5b 6e 61 6d 65 73 70 61 63 65 20 74 61 69 6c 20 24 6e .....set.name.[namespace.tail.$n
3d6a0 61 6d 65 5d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 ame].....}.elseif.{![string.matc
3d6c0 68 20 3a 3a 2a 20 24 6e 61 6d 65 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 73 65 74 20 6e 61 6d 65 h.::*.$name]}.{.........set.name
3d6e0 20 22 3a 3a 24 6e 61 6d 65 22 0d 20 20 20 20 7d 0d 20 20 20 20 0d 20 20 20 20 23 20 45 61 72 6c ."::$name".....}..........#.Earl
3d700 69 65 72 2c 20 6d 6b 69 6e 64 65 78 20 72 65 70 6c 61 63 65 64 20 61 6c 6c 20 24 27 73 20 77 69 ier,.mkindex.replaced.all.$'s.wi
3d720 74 68 20 5c 30 2e 20 20 4e 6f 77 2c 20 77 65 20 68 61 76 65 20 74 6f 20 72 65 76 65 72 73 65 0d th.\0...Now,.we.have.to.reverse.
3d740 20 20 20 20 23 20 74 68 61 74 20 72 65 70 6c 61 63 65 6d 65 6e 74 2e 0d 20 20 20 20 72 65 67 73 ....#.that.replacement......regs
3d760 75 62 20 2d 61 6c 6c 20 22 5c 30 22 20 24 6e 61 6d 65 20 22 5c 24 22 20 6e 61 6d 65 0d 20 20 20 ub.-all."\0".$name."\$".name....
3d780 20 72 65 74 75 72 6e 20 24 6e 61 6d 65 0d 7d 0d 0d 23 20 52 65 67 69 73 74 65 72 20 61 6c 6c 20 .return.$name.}..#.Register.all.
3d7a0 6f 66 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 73 20 66 6f 72 20 74 68 65 20 61 75 74 6f 5f 6d of.the.procedures.for.the.auto_m
3d7c0 6b 69 6e 64 65 78 20 70 61 72 73 65 72 20 74 68 61 74 0d 23 20 77 69 6c 6c 20 62 75 69 6c 64 20 kindex.parser.that.#.will.build.
3d7e0 74 68 65 20 22 74 63 6c 49 6e 64 65 78 22 20 66 69 6c 65 2e 0d 0d 23 20 41 55 54 4f 20 4d 4b 49 the."tclIndex".file...#.AUTO.MKI
3d800 4e 44 45 58 3a 20 20 70 72 6f 63 20 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 62 6f 64 79 0d 23 20 NDEX:..proc.name.arglist.body.#.
3d820 41 64 64 73 20 61 6e 20 65 6e 74 72 79 20 74 6f 20 74 68 65 20 61 75 74 6f 20 69 6e 64 65 78 20 Adds.an.entry.to.the.auto.index.
3d840 6c 69 73 74 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d list.for.the.given.procedure.nam
3d860 65 2e 0d 0d 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 e...auto_mkindex_parser::command
3d880 20 70 72 6f 63 20 7b 6e 61 6d 65 20 61 72 67 73 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 .proc.{name.args}.{.....variable
3d8a0 20 69 6e 64 65 78 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 73 63 72 69 70 74 46 69 6c 65 0d 20 .index.....variable.scriptFile..
3d8c0 20 20 20 23 20 44 6f 20 73 6f 6d 65 20 66 61 6e 63 79 20 72 65 66 6f 72 6d 61 74 74 69 6e 67 20 ...#.Do.some.fancy.reformatting.
3d8e0 6f 6e 20 74 68 65 20 22 73 6f 75 72 63 65 22 20 63 61 6c 6c 20 74 6f 20 68 61 6e 64 6c 65 20 70 on.the."source".call.to.handle.p
3d900 6c 61 74 66 6f 72 6d 0d 20 20 20 20 23 20 64 69 66 66 65 72 65 6e 63 65 73 20 77 69 74 68 20 72 latform.....#.differences.with.r
3d920 65 73 70 65 63 74 20 74 6f 20 70 61 74 68 6e 61 6d 65 73 2e 20 20 55 73 65 20 66 6f 72 6d 61 74 espect.to.pathnames...Use.format
3d940 20 6a 75 73 74 20 73 6f 20 74 68 61 74 20 74 68 65 0d 20 20 20 20 23 20 63 6f 6d 6d 61 6e 64 20 .just.so.that.the.....#.command.
3d960 69 73 20 61 20 6c 69 74 74 6c 65 20 65 61 73 69 65 72 20 74 6f 20 72 65 61 64 20 28 6f 74 68 65 is.a.little.easier.to.read.(othe
3d980 72 77 69 73 65 20 69 74 27 64 20 62 65 20 66 75 6c 6c 20 6f 66 20 0d 20 20 20 20 23 20 62 61 63 rwise.it'd.be.full.of......#.bac
3d9a0 6b 73 6c 61 73 68 65 64 20 64 6f 6c 6c 61 72 20 73 69 67 6e 73 2c 20 65 74 63 2e 0d 20 20 20 20 kslashed.dollar.signs,.etc......
3d9c0 61 70 70 65 6e 64 20 69 6e 64 65 78 20 5b 6c 69 73 74 20 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 append.index.[list.set.auto_inde
3d9e0 78 28 5b 66 75 6c 6c 6e 61 6d 65 20 24 6e 61 6d 65 5d 29 5d 20 5c 0d 09 20 20 20 20 5b 66 6f 72 x([fullname.$name])].\......[for
3da00 6d 61 74 20 7b 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 mat.{.[list.source.[file.join.$d
3da20 69 72 20 25 73 5d 5d 7d 20 5c 0d 09 20 20 20 20 5b 66 69 6c 65 20 73 70 6c 69 74 20 24 73 63 72 ir.%s]]}.\......[file.split.$scr
3da40 69 70 74 46 69 6c 65 5d 5d 20 22 5c 6e 22 0d 7d 0d 0d 23 20 43 6f 6e 64 69 74 69 6f 6e 61 6c 6c iptFile]]."\n".}..#.Conditionall
3da60 79 20 61 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 54 63 6c 20 62 79 74 65 20 63 6f 64 65 20 y.add.support.for.Tcl.byte.code.
3da80 66 69 6c 65 73 2e 20 20 54 68 65 72 65 20 61 72 65 20 73 6f 6d 65 0d 23 20 74 72 69 63 6b 79 20 files...There.are.some.#.tricky.
3daa0 64 65 74 61 69 6c 73 20 68 65 72 65 2e 20 20 46 69 72 73 74 2c 20 77 65 20 6e 65 65 64 20 74 6f details.here...First,.we.need.to
3dac0 20 67 65 74 20 74 68 65 20 74 62 63 6c 6f 61 64 20 6c 69 62 72 61 72 79 0d 23 20 69 6e 69 74 69 .get.the.tbcload.library.#.initi
3dae0 61 6c 69 7a 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65 alized.in.the.current.interprete
3db00 72 2e 20 20 57 65 20 63 61 6e 6e 6f 74 20 6c 6f 61 64 20 74 62 63 6c 6f 61 64 20 69 6e 74 6f 20 r...We.cannot.load.tbcload.into.
3db20 74 68 65 0d 23 20 73 6c 61 76 65 20 75 6e 74 69 6c 20 77 65 20 68 61 76 65 20 64 6f 6e 65 20 73 the.#.slave.until.we.have.done.s
3db40 6f 20 62 65 63 61 75 73 65 20 69 74 20 6e 65 65 64 73 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 o.because.it.needs.access.to.the
3db60 20 74 63 6c 5f 70 61 74 63 68 4c 65 76 65 6c 0d 23 20 76 61 72 69 61 62 6c 65 2e 20 20 53 65 63 .tcl_patchLevel.#.variable...Sec
3db80 6f 6e 64 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 66 ond,.because.the.package.index.f
3dba0 69 6c 65 20 6d 61 79 20 64 65 66 65 72 20 6c 6f 61 64 69 6e 67 20 74 68 65 0d 23 20 6c 69 62 72 ile.may.defer.loading.the.#.libr
3dbc0 61 72 79 20 75 6e 74 69 6c 20 77 65 20 69 6e 76 6f 6b 65 20 61 20 63 6f 6d 6d 61 6e 64 2c 20 77 ary.until.we.invoke.a.command,.w
3dbe0 65 20 6e 65 65 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 69 6e 76 6f 6b 65 20 61 75 74 6f e.need.to.explicitly.invoke.auto
3dc00 5f 6c 6f 61 64 0d 23 20 74 6f 20 66 6f 72 63 65 20 69 74 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 _load.#.to.force.it.to.be.loaded
3dc20 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6e 6f 6f 70 20 69 66 20 74 68 65 20 ...This.should.be.a.noop.if.the.
3dc40 70 61 63 6b 61 67 65 20 68 61 73 0d 23 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 6c 6f 61 64 65 package.has.#.already.been.loade
3dc60 64 0d 0d 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 68 6f 6f 6b 20 7b 0d 20 d..auto_mkindex_parser::hook.{..
3dc80 20 20 20 69 66 20 7b 21 5b 63 61 74 63 68 20 7b 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 ...if.{![catch.{package.require.
3dca0 74 62 63 6c 6f 61 64 7d 5d 7d 20 7b 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 69 6e 66 6f tbcload}]}.{..if.{[llength.[info
3dcc0 20 63 6f 6d 6d 61 6e 64 73 20 74 62 63 6c 6f 61 64 3a 3a 62 63 70 72 6f 63 5d 5d 20 3d 3d 20 30 .commands.tbcload::bcproc]].==.0
3dce0 7d 20 7b 0d 09 20 20 20 20 61 75 74 6f 5f 6c 6f 61 64 20 74 62 63 6c 6f 61 64 3a 3a 62 63 70 72 }.{......auto_load.tbcload::bcpr
3dd00 6f 63 0d 09 7d 0d 09 6c 6f 61 64 20 7b 7d 20 74 62 63 6c 6f 61 64 20 24 61 75 74 6f 5f 6d 6b 69 oc..}..load.{}.tbcload.$auto_mki
3dd20 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 70 61 72 73 65 72 0d 0d 09 23 20 41 55 54 4f 20 4d 4b 49 ndex_parser::parser...#.AUTO.MKI
3dd40 4e 44 45 58 3a 20 20 74 62 63 6c 6f 61 64 3a 3a 62 63 70 72 6f 63 20 6e 61 6d 65 20 61 72 67 6c NDEX:..tbcload::bcproc.name.argl
3dd60 69 73 74 20 62 6f 64 79 0d 09 23 20 41 64 64 73 20 61 6e 20 65 6e 74 72 79 20 74 6f 20 74 68 65 ist.body..#.Adds.an.entry.to.the
3dd80 20 61 75 74 6f 20 69 6e 64 65 78 20 6c 69 73 74 20 66 6f 72 20 74 68 65 20 67 69 76 65 6e 20 70 .auto.index.list.for.the.given.p
3dda0 72 65 2d 63 6f 6d 70 69 6c 65 64 0d 09 23 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 2e 20 20 re-compiled..#.procedure.name...
3ddc0 0d 0d 09 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a 3a 63 6f 6d 6d 61 6e 64 49 ...auto_mkindex_parser::commandI
3dde0 6e 69 74 20 74 62 63 6c 6f 61 64 3a 3a 62 63 70 72 6f 63 20 7b 6e 61 6d 65 20 61 72 67 73 7d 20 nit.tbcload::bcproc.{name.args}.
3de00 7b 0d 09 20 20 20 20 76 61 72 69 61 62 6c 65 20 69 6e 64 65 78 0d 09 20 20 20 20 76 61 72 69 61 {......variable.index......varia
3de20 62 6c 65 20 73 63 72 69 70 74 46 69 6c 65 0d 09 20 20 20 20 23 20 44 6f 20 73 6f 6d 65 20 6e 69 ble.scriptFile......#.Do.some.ni
3de40 63 65 20 72 65 66 6f 72 6d 61 74 74 69 6e 67 20 6f 66 20 74 68 65 20 22 73 6f 75 72 63 65 22 20 ce.reformatting.of.the."source".
3de60 63 61 6c 6c 2c 20 74 6f 20 67 65 74 20 61 72 6f 75 6e 64 0d 09 20 20 20 20 23 20 70 61 74 68 20 call,.to.get.around......#.path.
3de80 64 69 66 66 65 72 65 6e 63 65 73 20 6f 6e 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 74 66 6f 72 differences.on.different.platfor
3dea0 6d 73 2e 20 20 57 65 20 75 73 65 20 74 68 65 20 66 6f 72 6d 61 74 0d 09 20 20 20 20 23 20 63 6f ms...We.use.the.format......#.co
3dec0 6d 6d 61 6e 64 20 6a 75 73 74 20 73 6f 20 74 68 61 74 20 74 68 65 20 63 6f 64 65 20 69 73 20 61 mmand.just.so.that.the.code.is.a
3dee0 20 6c 69 74 74 6c 65 20 65 61 73 69 65 72 20 74 6f 20 72 65 61 64 2e 0d 09 20 20 20 20 61 70 70 .little.easier.to.read.......app
3df00 65 6e 64 20 69 6e 64 65 78 20 5b 6c 69 73 74 20 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 78 28 5b end.index.[list.set.auto_index([
3df20 66 75 6c 6c 6e 61 6d 65 20 24 6e 61 6d 65 5d 29 5d 20 5c 0d 09 09 20 20 20 20 5b 66 6f 72 6d 61 fullname.$name])].\.......[forma
3df40 74 20 7b 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 t.{.[list.source.[file.join.$dir
3df60 20 25 73 5d 5d 7d 20 5c 0d 09 09 20 20 20 20 5b 66 69 6c 65 20 73 70 6c 69 74 20 24 73 63 72 69 .%s]]}.\.......[file.split.$scri
3df80 70 74 46 69 6c 65 5d 5d 20 22 5c 6e 22 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 41 55 54 4f ptFile]]."\n"..}.....}.}..#.AUTO
3dfa0 20 4d 4b 49 4e 44 45 58 3a 20 20 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 6e 61 6d 65 20 63 .MKINDEX:..namespace.eval.name.c
3dfc0 6f 6d 6d 61 6e 64 20 3f 61 72 67 20 61 72 67 2e 2e 2e 3f 0d 23 20 41 64 64 73 20 74 68 65 20 6e ommand.?arg.arg...?.#.Adds.the.n
3dfe0 61 6d 65 73 70 61 63 65 20 6e 61 6d 65 20 6f 6e 74 6f 20 74 68 65 20 63 6f 6e 74 65 78 74 20 73 amespace.name.onto.the.context.s
3e000 74 61 63 6b 20 61 6e 64 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 0d 23 20 61 73 73 6f 63 69 61 tack.and.evaluates.the.#.associa
3e020 74 65 64 20 62 6f 64 79 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 2e 0d 23 0d 23 20 41 55 54 4f 20 4d ted.body.of.commands..#.#.AUTO.M
3e040 4b 49 4e 44 45 58 3a 20 20 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 20 3f 2d 66 6f 72 63 KINDEX:..namespace.import.?-forc
3e060 65 3f 20 70 61 74 74 65 72 6e 20 3f 70 61 74 74 65 72 6e 2e 2e 2e 3f 0d 23 20 50 65 72 66 6f 72 e?.pattern.?pattern...?.#.Perfor
3e080 6d 73 20 74 68 65 20 22 69 6d 70 6f 72 74 22 20 61 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 70 61 ms.the."import".action.in.the.pa
3e0a0 72 73 65 72 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 20 54 68 69 73 20 69 73 0d 23 20 69 6d 70 rser.interpreter...This.is.#.imp
3e0c0 6f 72 74 61 6e 74 20 66 6f 72 20 61 6e 79 20 63 6f 6d 6d 61 6e 64 73 20 63 6f 6e 74 61 69 6e 65 ortant.for.any.commands.containe
3e0e0 64 20 69 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 20 74 68 61 74 20 61 66 66 65 63 74 0d 23 20 74 d.in.a.namespace.that.affect.#.t
3e100 68 65 20 69 6e 64 65 78 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 20 73 63 72 69 70 74 he.index...For.example,.a.script
3e120 20 6d 61 79 20 73 61 79 20 22 69 74 63 6c 3a 3a 63 6c 61 73 73 20 2e 2e 2e 22 2c 0d 23 20 6f 72 .may.say."itcl::class....",.#.or
3e140 20 69 74 20 6d 61 79 20 69 6d 70 6f 72 74 20 22 69 74 63 6c 3a 3a 2a 22 20 61 6e 64 20 74 68 65 .it.may.import."itcl::*".and.the
3e160 6e 20 73 61 79 20 22 63 6c 61 73 73 20 2e 2e 2e 22 2e 20 20 54 68 69 73 0d 23 20 70 72 6f 63 65 n.say."class...."...This.#.proce
3e180 64 75 72 65 20 64 6f 65 73 20 74 68 65 20 69 6d 70 6f 72 74 20 6f 70 65 72 61 74 69 6f 6e 2c 20 dure.does.the.import.operation,.
3e1a0 62 75 74 20 6b 65 65 70 73 20 74 72 61 63 6b 20 6f 66 20 69 6d 70 6f 72 74 65 64 0d 23 20 70 61 but.keeps.track.of.imported.#.pa
3e1c0 74 74 65 72 6e 73 20 73 6f 20 77 65 20 63 61 6e 20 72 65 6d 6f 76 65 20 74 68 65 20 69 6d 70 6f tterns.so.we.can.remove.the.impo
3e1e0 72 74 73 20 6c 61 74 65 72 2e 0d 0d 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 70 61 72 73 65 72 3a rts.later...auto_mkindex_parser:
3e200 3a 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 20 7b 6f 70 20 61 72 67 73 7d 20 7b 0d 20 :command.namespace.{op.args}.{..
3e220 20 20 20 73 77 69 74 63 68 20 2d 2d 20 24 6f 70 20 7b 0d 20 20 20 20 20 20 20 20 65 76 61 6c 20 ...switch.--.$op.{.........eval.
3e240 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 20 20 {.............variable.parser...
3e260 20 20 20 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 65 78 74 53 74 61 63 6b 0d ..........variable.contextStack.
3e280 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 6e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 24 61 .............set.name.[lindex.$a
3e2a0 72 67 73 20 30 5d 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 61 72 67 73 20 5b 6c 72 61 rgs.0].............set.args.[lra
3e2c0 6e 67 65 20 24 61 72 67 73 20 31 20 65 6e 64 5d 0d 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 nge.$args.1.end]..............se
3e2e0 74 20 63 6f 6e 74 65 78 74 53 74 61 63 6b 20 5b 6c 69 6e 73 65 72 74 20 24 63 6f 6e 74 65 78 74 t.contextStack.[linsert.$context
3e300 53 74 61 63 6b 20 30 20 24 6e 61 6d 65 5d 0d 09 20 20 20 20 24 70 61 72 73 65 72 20 65 76 61 6c Stack.0.$name]......$parser.eval
3e320 20 5b 6c 69 73 74 20 5f 25 40 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 24 6e 61 6d 65 5d 20 .[list._%@namespace.eval.$name].
3e340 24 61 72 67 73 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 63 6f 6e 74 65 78 74 53 74 61 $args.............set.contextSta
3e360 63 6b 20 5b 6c 72 61 6e 67 65 20 24 63 6f 6e 74 65 78 74 53 74 61 63 6b 20 31 20 65 6e 64 5d 0d ck.[lrange.$contextStack.1.end].
3e380 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 20 20 20 20 69 6d 70 6f 72 74 20 7b 0d 20 20 20 20 20 ........}.........import.{......
3e3a0 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 70 61 72 73 65 72 0d 20 20 20 20 20 20 20 20 20 .......variable.parser..........
3e3c0 20 20 20 76 61 72 69 61 62 6c 65 20 69 6d 70 6f 72 74 73 0d 20 20 20 20 20 20 20 20 20 20 20 20 ...variable.imports.............
3e3e0 66 6f 72 65 61 63 68 20 70 61 74 74 65 72 6e 20 24 61 72 67 73 20 7b 0d 20 20 20 20 20 20 20 20 foreach.pattern.$args.{.........
3e400 20 20 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 70 61 74 ........if.{[string.compare.$pat
3e420 74 65 72 6e 20 22 2d 66 6f 72 63 65 22 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tern."-force"]}.{...............
3e440 20 20 20 20 20 20 6c 61 70 70 65 6e 64 20 69 6d 70 6f 72 74 73 20 24 70 61 74 74 65 72 6e 0d 20 ......lappend.imports.$pattern..
3e460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 20 ...............}.............}..
3e480 20 20 20 20 20 20 20 20 20 20 20 63 61 74 63 68 20 7b 24 70 61 72 73 65 72 20 65 76 61 6c 20 22 ...........catch.{$parser.eval."
3e4a0 5f 25 40 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 20 24 61 72 67 73 22 7d 0d 20 20 20 20 _%@namespace.import.$args"}.....
3e4c0 20 20 20 20 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 72 65 74 75 72 6e 0d 00 00 23 2f 23 20 68 69 73 74 ....}.....}.}..return...#/#.hist
3e4e0 6f 72 79 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 ory.tcl.--.#.#.Implementation.of
3e500 20 74 68 65 20 68 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 52 43 53 3a 20 40 .the.history.command..#.#.RCS:.@
3e520 28 23 29 20 24 49 64 3a 20 68 69 73 74 6f 72 79 2e 74 63 6c 2c 76 20 31 2e 33 2e 31 38 2e 31 20 (#).$Id:.history.tcl,v.1.3.18.1.
3e540 32 30 30 30 2f 30 38 2f 30 37 20 32 31 3a 33 31 3a 34 37 20 68 6f 62 62 73 20 45 78 70 20 24 0d 2000/08/07.21:31:47.hobbs.Exp.$.
3e560 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 37 20 53 75 6e 20 4d 69 63 72 6f #.#.Copyright.(c).1997.Sun.Micro
3e580 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 systems,.Inc..#.#.See.the.file."
3e5a0 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f license.terms".for.information.o
3e5c0 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 n.usage.and.redistribution.#.of.
3e5e0 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 this.file,.and.for.a.DISCLAIMER.
3e600 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 54 68 65 20 74 63 6c 3a OF.ALL.WARRANTIES..#..#.The.tcl:
3e620 3a 68 69 73 74 6f 72 79 20 61 72 72 61 79 20 68 6f 6c 64 73 20 74 68 65 20 68 69 73 74 6f 72 79 :history.array.holds.the.history
3e640 20 6c 69 73 74 20 61 6e 64 0d 23 20 73 6f 6d 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 6f 6f 6b .list.and.#.some.additional.book
3e660 6b 65 65 70 69 6e 67 20 76 61 72 69 61 62 6c 65 73 2e 0d 23 0d 23 20 6e 65 78 74 69 64 09 74 68 keeping.variables..#.#.nextid.th
3e680 65 20 69 6e 64 65 78 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 68 69 73 74 6f 72 e.index.used.for.the.next.histor
3e6a0 79 20 6c 69 73 74 20 69 74 65 6d 2e 0d 23 20 6b 65 65 70 09 09 74 68 65 20 6d 61 78 20 73 69 7a y.list.item..#.keep..the.max.siz
3e6c0 65 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 20 6f 6c 64 65 73 74 09 74 e.of.the.history.list.#.oldest.t
3e6e0 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 6f 6c 64 65 73 74 20 69 74 65 6d 20 69 6e 20 74 he.index.of.the.oldest.item.in.t
3e700 68 65 20 68 69 73 74 6f 72 79 2e 0d 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 74 63 6c 20 he.history...namespace.eval.tcl.
3e720 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b 21 {.....variable.history.....if.{!
3e740 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f 72 79 5d 7d 20 7b 0d 09 61 72 72 61 79 20 [info.exists.history]}.{..array.
3e760 73 65 74 20 68 69 73 74 6f 72 79 20 7b 0d 09 20 20 20 20 6e 65 78 74 69 64 09 30 0d 09 20 20 20 set.history.{......nextid.0.....
3e780 20 6b 65 65 70 09 32 30 0d 09 20 20 20 20 6f 6c 64 65 73 74 09 2d 32 30 0d 09 7d 0d 20 20 20 20 .keep.20......oldest.-20..}.....
3e7a0 7d 0d 7d 0d 0d 23 20 68 69 73 74 6f 72 79 20 2d 2d 0d 23 0d 23 09 54 68 69 73 20 69 73 20 74 68 }.}..#.history.--.#.#.This.is.th
3e7c0 65 20 6d 61 69 6e 20 68 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 2e 20 20 53 65 65 20 74 68 65 e.main.history.command...See.the
3e7e0 20 6d 61 6e 20 70 61 67 65 20 66 6f 72 20 69 74 73 20 69 6e 74 65 72 66 61 63 65 2e 0d 23 09 54 .man.page.for.its.interface..#.T
3e800 68 69 73 20 64 6f 65 73 20 61 72 67 75 6d 65 6e 74 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 63 his.does.argument.checking.and.c
3e820 61 6c 6c 73 20 68 65 6c 70 65 72 20 70 72 6f 63 65 64 75 72 65 73 20 69 6e 20 74 68 65 0d 23 09 alls.helper.procedures.in.the.#.
3e840 68 69 73 74 6f 72 79 20 6e 61 6d 65 73 70 61 63 65 2e 0d 0d 70 72 6f 63 20 68 69 73 74 6f 72 79 history.namespace...proc.history
3e860 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c 6c 65 6e 67 74 68 20 24 .{args}.{.....set.len.[llength.$
3e880 61 72 67 73 5d 0d 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 30 7d 20 7b 0d 09 72 65 74 75 args].....if.{$len.==.0}.{..retu
3e8a0 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 rn.[tcl::HistInfo].....}.....set
3e8c0 20 6b 65 79 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 73 65 74 20 6f 70 .key.[lindex.$args.0].....set.op
3e8e0 74 69 6f 6e 73 20 22 61 64 64 2c 20 63 68 61 6e 67 65 2c 20 63 6c 65 61 72 2c 20 65 76 65 6e 74 tions."add,.change,.clear,.event
3e900 2c 20 69 6e 66 6f 2c 20 6b 65 65 70 2c 20 6e 65 78 74 69 64 2c 20 6f 72 20 72 65 64 6f 22 0d 20 ,.info,.keep,.nextid,.or.redo"..
3e920 20 20 20 73 77 69 74 63 68 20 2d 67 6c 6f 62 20 2d 2d 20 24 6b 65 79 20 7b 0d 09 61 2a 20 7b 20 ...switch.-glob.--.$key.{..a*.{.
3e940 23 20 68 69 73 74 6f 72 79 20 61 64 64 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 33 #.history.add.......if.{$len.>.3
3e960 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 }.{...return.-code.error."wrong.
3e980 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 61 64 64 20 #.args:.should.be.\"history.add.
3e9a0 65 76 65 6e 74 20 3f 65 78 65 63 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b event.?exec?\""......}......if.{
3e9c0 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 61 64 64 5d 7d 20 7b 0d 09 09 72 ![string.match.$key*.add]}.{...r
3e9e0 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 eturn.-code.error."bad.option.\"
3ea00 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d $key\":.must.be.$options"......}
3ea20 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 33 7d 20 7b 0d 09 09 73 65 74 20 61 72 67 ......if.{$len.==.3}.{...set.arg
3ea40 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 0d 09 09 69 66 20 7b 21 20 28 5b 73 74 72 69 .[lindex.$args.2]...if.{!.([stri
3ea60 6e 67 20 6d 61 74 63 68 20 65 2a 20 24 61 72 67 5d 20 26 26 20 5b 73 74 72 69 6e 67 20 6d 61 74 ng.match.e*.$arg].&&.[string.mat
3ea80 63 68 20 24 61 72 67 2a 20 65 78 65 63 5d 29 7d 20 7b 0d 09 09 20 20 20 20 72 65 74 75 72 6e 20 ch.$arg*.exec])}.{.......return.
3eaa0 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 61 72 67 75 6d 65 6e 74 20 5c 22 24 61 72 67 -code.error."bad.argument.\"$arg
3eac0 5c 22 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 65 78 65 63 5c 22 22 0d 09 09 7d 0d 09 20 20 20 \":.should.be.\"exec\""...}.....
3eae0 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 41 64 64 20 5b 6c 69 .}......return.[tcl::HistAdd.[li
3eb00 6e 64 65 78 20 24 61 72 67 73 20 31 5d 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 5d 0d ndex.$args.1].[lindex.$args.2]].
3eb20 09 7d 0d 09 63 68 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 0d 0d 09 20 20 20 .}..ch*.{.#.history.change......
3eb40 20 69 66 20 7b 28 24 6c 65 6e 20 3e 20 33 29 20 7c 7c 20 28 24 6c 65 6e 20 3c 20 32 29 7d 20 7b .if.{($len.>.3).||.($len.<.2)}.{
3eb60 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 ...return.-code.error."wrong.#.a
3eb80 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 20 rgs:.should.be.\"history.change.
3eba0 6e 65 77 56 61 6c 75 65 20 3f 65 76 65 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 newValue.?event?\""......}......
3ebc0 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 63 68 61 6e 67 65 5d if.{![string.match.$key*.change]
3ebe0 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 }.{...return.-code.error."bad.op
3ec00 74 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 tion.\"$key\":.must.be.$options"
3ec20 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 32 7d 20 7b 0d 09 09 ......}......if.{$len.==.2}.{...
3ec40 73 65 74 20 65 76 65 6e 74 20 30 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 set.event.0......}.else.{...set.
3ec60 65 76 65 6e 74 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 32 5d 0d 09 20 20 20 20 7d 0d 0d 09 event.[lindex.$args.2]......}...
3ec80 20 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 43 68 61 6e 67 65 20 5b 6c 69 6e ....return.[tcl::HistChange.[lin
3eca0 64 65 78 20 24 61 72 67 73 20 31 5d 20 24 65 76 65 6e 74 5d 0d 09 7d 0d 09 63 6c 2a 20 7b 20 23 dex.$args.1].$event]..}..cl*.{.#
3ecc0 20 68 69 73 74 6f 72 79 20 63 6c 65 61 72 0d 0d 09 20 20 20 20 69 66 20 7b 28 24 6c 65 6e 20 3e .history.clear.......if.{($len.>
3ece0 20 31 29 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f .1)}.{...return.-code.error."wro
3ed00 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 63 ng.#.args:.should.be.\"history.c
3ed20 6c 65 61 72 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b 73 74 72 69 6e 67 lear\""......}......if.{![string
3ed40 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 63 6c 65 61 72 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 .match.$key*.clear]}.{...return.
3ed60 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b 65 79 5c 22 -code.error."bad.option.\"$key\"
3ed80 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 :.must.be.$options"......}......
3eda0 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 43 6c 65 61 72 5d 0d 09 7d 0d 09 65 2a 20 7b return.[tcl::HistClear]..}..e*.{
3edc0 20 23 20 68 69 73 74 6f 72 79 20 65 76 65 6e 74 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 .#.history.event.......if.{$len.
3ede0 3e 20 32 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f >.2}.{...return.-code.error."wro
3ee00 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 65 ng.#.args:.should.be.\"history.e
3ee20 76 65 6e 74 20 3f 65 76 65 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b vent.?event?\""......}......if.{
3ee40 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 65 76 65 6e 74 5d 7d 20 7b 0d 09 ![string.match.$key*.event]}.{..
3ee60 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 .return.-code.error."bad.option.
3ee80 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 \"$key\":.must.be.$options".....
3eea0 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d 20 31 7d 20 7b 0d 09 09 73 65 74 20 65 .}......if.{$len.==.1}.{...set.e
3eec0 76 65 6e 74 20 2d 31 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 65 76 65 6e vent.-1......}.else.{...set.even
3eee0 74 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 72 t.[lindex.$args.1]......}......r
3ef00 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 45 76 65 6e 74 20 24 65 76 65 6e 74 5d 0d 09 7d eturn.[tcl::HistEvent.$event]..}
3ef20 0d 09 69 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 69 6e 66 6f 0d 0d 09 20 20 20 20 69 66 20 7b ..i*.{.#.history.info.......if.{
3ef40 24 6c 65 6e 20 3e 20 32 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 $len.>.2}.{...return.-code.error
3ef60 20 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 ."wrong.#.args:.should.be.\"hist
3ef80 6f 72 79 20 69 6e 66 6f 20 3f 63 6f 75 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 ory.info.?count?\""......}......
3efa0 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 69 6e 66 6f 5d 7d 20 if.{![string.match.$key*.info]}.
3efc0 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 {...return.-code.error."bad.opti
3efe0 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 on.\"$key\":.must.be.$options"..
3f000 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f ....}......return.[tcl::HistInfo
3f020 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 31 5d 5d 0d 09 7d 0d 09 6b 2a 20 7b 20 23 20 68 69 .[lindex.$args.1]]..}..k*.{.#.hi
3f040 73 74 6f 72 79 20 6b 65 65 70 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 32 7d 20 7b story.keep.......if.{$len.>.2}.{
3f060 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 ...return.-code.error."wrong.#.a
3f080 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 6b 65 65 70 20 3f 63 rgs:.should.be.\"history.keep.?c
3f0a0 6f 75 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3d 3d ount?\""......}......if.{$len.==
3f0c0 20 31 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 5d 0d 09 .1}.{...return.[tcl::HistKeep]..
3f0e0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 6c 69 6d 69 74 20 5b 6c 69 6e 64 65 78 ....}.else.{...set.limit.[lindex
3f100 20 24 61 72 67 73 20 31 5d 0d 09 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 65 78 70 72 20 7b 7e 24 .$args.1]...if.{[catch.{expr.{~$
3f120 6c 69 6d 69 74 7d 7d 5d 20 7c 7c 20 28 24 6c 69 6d 69 74 20 3c 20 30 29 7d 20 7b 0d 09 09 20 20 limit}}].||.($limit.<.0)}.{.....
3f140 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 69 6c 6c 65 67 61 6c 20 6b 65 ..return.-code.error."illegal.ke
3f160 65 70 20 63 6f 75 6e 74 20 5c 22 24 6c 69 6d 69 74 5c 22 22 0d 09 09 7d 0d 09 09 72 65 74 75 72 ep.count.\"$limit\""...}...retur
3f180 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 24 6c 69 6d 69 74 5d 0d 09 20 20 20 20 7d 0d n.[tcl::HistKeep.$limit]......}.
3f1a0 09 7d 0d 09 6e 2a 20 7b 20 23 20 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 0d 0d 09 20 20 20 20 .}..n*.{.#.history.nextid.......
3f1c0 69 66 20 7b 24 6c 65 6e 20 3e 20 31 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 if.{$len.>.1}.{...return.-code.e
3f1e0 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 rror."wrong.#.args:.should.be.\"
3f200 68 69 73 74 6f 72 79 20 6e 65 78 74 69 64 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 history.nextid\""......}......if
3f220 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 6e 65 78 74 69 64 5d 7d 20 .{![string.match.$key*.nextid]}.
3f240 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 {...return.-code.error."bad.opti
3f260 6f 6e 20 5c 22 24 6b 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 on.\"$key\":.must.be.$options"..
3f280 20 20 20 20 7d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 65 78 70 72 20 7b 24 74 63 6c 3a 3a 68 ....}......return.[expr.{$tcl::h
3f2a0 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 20 2b 20 31 7d 5d 0d 09 7d 0d 09 72 2a 20 7b 20 23 20 istory(nextid).+.1}]..}..r*.{.#.
3f2c0 68 69 73 74 6f 72 79 20 72 65 64 6f 0d 0d 09 20 20 20 20 69 66 20 7b 24 6c 65 6e 20 3e 20 32 7d history.redo.......if.{$len.>.2}
3f2e0 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 6f 6e 67 20 23 .{...return.-code.error."wrong.#
3f300 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 68 69 73 74 6f 72 79 20 72 65 64 6f 20 .args:.should.be.\"history.redo.
3f320 3f 65 76 65 6e 74 3f 5c 22 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b 73 74 72 ?event?\""......}......if.{![str
3f340 69 6e 67 20 6d 61 74 63 68 20 24 6b 65 79 2a 20 72 65 64 6f 5d 7d 20 7b 0d 09 09 72 65 74 75 72 ing.match.$key*.redo]}.{...retur
3f360 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b 65 79 n.-code.error."bad.option.\"$key
3f380 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 20 20 20 20 7d 0d 09 20 20 \":.must.be.$options"......}....
3f3a0 20 20 72 65 74 75 72 6e 20 5b 74 63 6c 3a 3a 48 69 73 74 52 65 64 6f 20 5b 6c 69 6e 64 65 78 20 ..return.[tcl::HistRedo.[lindex.
3f3c0 24 61 72 67 73 20 31 5d 5d 0d 09 7d 0d 09 64 65 66 61 75 6c 74 20 7b 0d 09 20 20 20 20 72 65 74 $args.1]]..}..default.{......ret
3f3e0 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 62 61 64 20 6f 70 74 69 6f 6e 20 5c 22 24 6b urn.-code.error."bad.option.\"$k
3f400 65 79 5c 22 3a 20 6d 75 73 74 20 62 65 20 24 6f 70 74 69 6f 6e 73 22 0d 09 7d 0d 20 20 20 20 7d ey\":.must.be.$options"..}.....}
3f420 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 41 64 64 20 2d 2d 0d 23 0d 23 09 41 64 64 20 61 6e .}..#.tcl::HistAdd.--.#.#.Add.an
3f440 20 69 74 65 6d 20 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 2c 20 61 6e 64 20 6f 70 74 69 6f 6e .item.to.the.history,.and.option
3f460 61 6c 6c 79 20 65 76 61 6c 20 69 74 20 61 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 ally.eval.it.at.the.global.scope
3f480 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 63 6f 6d 6d 61 6e 64 09 09 74 68 65 20 .#.#.Parameters:.#.command..the.
3f4a0 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 64 64 0d 23 09 65 78 65 63 09 09 28 6f 70 74 69 6f 6e 61 6c command.to.add.#.exec..(optional
3f4c0 29 20 61 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 22 65 78 65 63 22 20 63 61 75 73 65 73 20 74 ).a.substring.of."exec".causes.t
3f4e0 68 65 0d 23 09 09 09 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 65 76 61 6c 65 64 2e 0d 23 20 52 he.#...command.to.be.evaled..#.R
3f500 65 73 75 6c 74 73 3a 0d 23 20 09 49 66 20 65 78 65 63 75 74 69 6e 67 2c 20 74 68 65 6e 20 74 68 esults:.#..If.executing,.then.th
3f520 65 20 72 65 73 75 6c 74 73 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 72 65 20 72 65 74 e.results.of.the.command.are.ret
3f540 75 72 6e 65 64 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 41 64 64 73 20 74 urned.#.#.Side.Effects:.#.Adds.t
3f560 6f 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 o.the.history.list...proc.tcl::H
3f580 69 73 74 41 64 64 20 7b 63 6f 6d 6d 61 6e 64 20 7b 65 78 65 63 20 7b 7d 7d 7d 20 7b 0d 20 20 20 istAdd.{command.{exec.{}}}.{....
3f5a0 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 69 6e 63 .variable.history.....set.i.[inc
3f5c0 72 20 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 5d 0d 20 20 20 20 73 65 74 20 68 69 73 74 6f r.history(nextid)].....set.histo
3f5e0 72 79 28 24 69 29 20 24 63 6f 6d 6d 61 6e 64 0d 20 20 20 20 73 65 74 20 6a 20 5b 69 6e 63 72 20 ry($i).$command.....set.j.[incr.
3f600 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 29 5d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 history(oldest)].....if.{[info.e
3f620 78 69 73 74 73 20 68 69 73 74 6f 72 79 28 24 6a 29 5d 7d 20 7b 75 6e 73 65 74 20 68 69 73 74 6f xists.history($j)]}.{unset.histo
3f640 72 79 28 24 6a 29 7d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 65 2a ry($j)}.....if.{[string.match.e*
3f660 20 24 65 78 65 63 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 23 30 20 24 .$exec]}.{..return.[uplevel.#0.$
3f680 63 6f 6d 6d 61 6e 64 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 20 7b 7d command].....}.else.{..return.{}
3f6a0 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 2d 2d 0d 23 0d 23 .....}.}..#.tcl::HistKeep.--.#.#
3f6c0 09 53 65 74 20 6f 72 20 71 75 65 72 79 20 74 68 65 20 6c 69 6d 69 74 20 6f 6e 20 74 68 65 20 6c .Set.or.query.the.limit.on.the.l
3f6e0 65 6e 67 74 68 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 50 61 ength.of.the.history.list.#.#.Pa
3f700 72 61 6d 65 74 65 72 73 3a 0d 23 09 6c 69 6d 69 74 09 28 6f 70 74 69 6f 6e 61 6c 29 20 74 68 65 rameters:.#.limit.(optional).the
3f720 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 .length.of.the.history.list.#.#.
3f740 52 65 73 75 6c 74 73 3a 0d 23 09 49 66 20 6e 6f 20 6c 69 6d 69 74 20 69 73 20 73 70 65 63 69 66 Results:.#.If.no.limit.is.specif
3f760 69 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6d 69 74 20 69 73 20 72 65 74 75 72 6e ied,.the.current.limit.is.return
3f780 65 64 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 55 70 64 61 74 65 73 20 68 ed.#.#.Side.Effects:.#.Updates.h
3f7a0 69 73 74 6f 72 79 28 6b 65 65 70 29 20 69 66 20 61 20 6c 69 6d 69 74 20 69 73 20 73 70 65 63 69 istory(keep).if.a.limit.is.speci
3f7c0 66 69 65 64 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 4b 65 65 70 20 7b 7b 6c 69 6d 69 fied...proc.tcl::HistKeep.{{limi
3f7e0 74 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 t.{}}}.{.....variable.history...
3f800 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6c 69 6d 69 74 5d 20 3d 3d 20 ..if.{[string.length.$limit].==.
3f820 30 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 68 69 73 74 6f 72 79 28 6b 65 65 70 29 0d 20 20 20 20 0}.{..return.$history(keep).....
3f840 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 6f 6c 64 6f 6c 64 20 24 68 69 73 74 6f 72 79 28 6f 6c }.else.{..set.oldold.$history(ol
3f860 64 65 73 74 29 0d 09 73 65 74 20 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 74 29 20 5b 65 78 70 72 dest)..set.history(oldest).[expr
3f880 20 7b 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 20 2d 20 24 6c 69 6d 69 74 7d 5d 0d 09 66 .{$history(nextid).-.$limit}]..f
3f8a0 6f 72 20 7b 7d 20 7b 24 6f 6c 64 6f 6c 64 20 3c 3d 20 24 68 69 73 74 6f 72 79 28 6f 6c 64 65 73 or.{}.{$oldold.<=.$history(oldes
3f8c0 74 29 7d 20 7b 69 6e 63 72 20 6f 6c 64 6f 6c 64 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 69 6e t)}.{incr.oldold}.{......if.{[in
3f8e0 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f 72 79 28 24 6f 6c 64 6f 6c 64 29 5d 7d 20 7b 75 6e fo.exists.history($oldold)]}.{un
3f900 73 65 74 20 68 69 73 74 6f 72 79 28 24 6f 6c 64 6f 6c 64 29 7d 0d 09 7d 0d 09 73 65 74 20 68 69 set.history($oldold)}..}..set.hi
3f920 73 74 6f 72 79 28 6b 65 65 70 29 20 24 6c 69 6d 69 74 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 story(keep).$limit.....}.}..#.tc
3f940 6c 3a 3a 48 69 73 74 43 6c 65 61 72 20 2d 2d 0d 23 0d 23 09 45 72 61 73 65 20 74 68 65 20 68 69 l::HistClear.--.#.#.Erase.the.hi
3f960 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 09 6e 6f 6e story.list.#.#.Parameters:.#.non
3f980 65 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 6e 6f 6e 65 0d 23 0d 23 20 53 69 64 65 20 45 e.#.#.Results:.#.none.#.#.Side.E
3f9a0 66 66 65 63 74 73 3a 0d 23 09 52 65 73 65 74 73 20 74 68 65 20 68 69 73 74 6f 72 79 20 61 72 72 ffects:.#.Resets.the.history.arr
3f9c0 61 79 2c 20 65 78 63 65 70 74 20 66 6f 72 20 74 68 65 20 6b 65 65 70 20 6c 69 6d 69 74 0d 0d 20 ay,.except.for.the.keep.limit...
3f9e0 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 43 6c 65 61 72 20 7b 7d 20 7b 0d 20 20 20 20 76 61 72 proc.tcl::HistClear.{}.{.....var
3fa00 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 6b 65 65 70 20 24 68 69 73 74 iable.history.....set.keep.$hist
3fa20 6f 72 79 28 6b 65 65 70 29 0d 20 20 20 20 75 6e 73 65 74 20 68 69 73 74 6f 72 79 0d 20 20 20 20 ory(keep).....unset.history.....
3fa40 61 72 72 61 79 20 73 65 74 20 68 69 73 74 6f 72 79 20 5b 6c 69 73 74 20 5c 0d 09 6e 65 78 74 69 array.set.history.[list.\..nexti
3fa60 64 09 30 09 5c 0d 09 6b 65 65 70 09 24 6b 65 65 70 09 5c 0d 09 6f 6c 64 65 73 74 09 2d 24 6b 65 d.0.\..keep.$keep.\..oldest.-$ke
3fa80 65 70 09 5c 0d 20 20 20 20 5d 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 20 2d 2d ep.\.....].}..#.tcl::HistInfo.--
3faa0 0d 23 0d 23 09 52 65 74 75 72 6e 20 61 20 70 72 65 74 74 79 2d 70 72 69 6e 74 65 64 20 76 65 72 .#.#.Return.a.pretty-printed.ver
3fac0 73 69 6f 6e 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 0d 23 0d 23 20 50 61 72 sion.of.the.history.list.#.#.Par
3fae0 61 6d 65 74 65 72 73 3a 0d 23 09 6e 75 6d 09 28 6f 70 74 69 6f 6e 61 6c 29 20 74 68 65 20 6c 65 ameters:.#.num.(optional).the.le
3fb00 6e 67 74 68 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 20 74 6f 20 72 65 74 75 ngth.of.the.history.list.to.retu
3fb20 72 6e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 41 20 66 6f 72 6d 61 74 74 65 64 20 68 69 rn.#.#.Results:.#.A.formatted.hi
3fb40 73 74 6f 72 79 20 6c 69 73 74 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 49 6e 66 6f 20 story.list...proc.tcl::HistInfo.
3fb60 7b 7b 6e 75 6d 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 {{num.{}}}.{.....variable.histor
3fb80 79 0d 20 20 20 20 69 66 20 7b 24 6e 75 6d 20 3d 3d 20 7b 7d 7d 20 7b 0d 09 73 65 74 20 6e 75 6d y.....if.{$num.==.{}}.{..set.num
3fba0 20 5b 65 78 70 72 20 7b 24 68 69 73 74 6f 72 79 28 6b 65 65 70 29 20 2b 20 31 7d 5d 0d 20 20 20 .[expr.{$history(keep).+.1}]....
3fbc0 20 7d 0d 20 20 20 20 73 65 74 20 72 65 73 75 6c 74 20 7b 7d 0d 20 20 20 20 73 65 74 20 6e 65 77 .}.....set.result.{}.....set.new
3fbe0 6c 69 6e 65 20 22 22 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 65 78 70 72 20 7b 24 68 line."".....for.{set.i.[expr.{$h
3fc00 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 20 2d 20 24 6e 75 6d 20 2b 20 31 7d 5d 7d 20 5c 0d 09 istory(nextid).-.$num.+.1}]}.\..
3fc20 20 20 20 20 7b 24 69 20 3c 3d 20 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 7d 20 7b 69 6e ....{$i.<=.$history(nextid)}.{in
3fc40 63 72 20 69 7d 20 7b 0d 09 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 74 6f cr.i}.{..if.{![info.exists.histo
3fc60 72 79 28 24 69 29 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d 09 73 65 74 ry($i)]}.{......continue..}..set
3fc80 20 63 6d 64 20 5b 73 74 72 69 6e 67 20 74 72 69 6d 72 69 67 68 74 20 24 68 69 73 74 6f 72 79 28 .cmd.[string.trimright.$history(
3fca0 24 69 29 20 5c 20 5c 6e 5d 0d 09 72 65 67 73 75 62 20 2d 61 6c 6c 20 5c 6e 20 24 63 6d 64 20 22 $i).\.\n]..regsub.-all.\n.$cmd."
3fcc0 5c 6e 5c 74 22 20 63 6d 64 0d 09 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 24 6e 65 77 6c 69 6e \n\t".cmd..append.result.$newlin
3fce0 65 5b 66 6f 72 6d 61 74 20 22 25 36 64 20 20 25 73 22 20 24 69 20 24 63 6d 64 5d 0d 09 73 65 74 e[format."%6d..%s".$i.$cmd]..set
3fd00 20 6e 65 77 6c 69 6e 65 20 5c 6e 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 .newline.\n.....}.....return.$re
3fd20 73 75 6c 74 0d 7d 0d 0d 23 20 74 63 6c 3a 3a 48 69 73 74 52 65 64 6f 20 2d 2d 0d 23 0d 23 09 46 sult.}..#.tcl::HistRedo.--.#.#.F
3fd40 65 74 63 68 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 6f 72 20 73 70 65 63 69 66 69 65 64 20 65 etch.the.previous.or.specified.e
3fd60 76 65 6e 74 2c 20 65 78 65 63 75 74 65 20 69 74 2c 20 61 6e 64 20 74 68 65 6e 0d 23 09 72 65 70 vent,.execute.it,.and.then.#.rep
3fd80 6c 61 63 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 68 69 73 74 6f 72 79 20 69 74 65 6d 20 77 69 lace.the.current.history.item.wi
3fda0 74 68 20 74 68 61 74 20 65 76 65 6e 74 2e 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 73 3a 0d 23 th.that.event..#.#.Parameters:.#
3fdc0 09 65 76 65 6e 74 09 28 6f 70 74 69 6f 6e 61 6c 29 20 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f .event.(optional).index.of.histo
3fde0 72 79 20 69 74 65 6d 20 74 6f 20 72 65 64 6f 2e 20 20 44 65 66 61 75 6c 74 73 20 74 6f 20 2d 31 ry.item.to.redo...Defaults.to.-1
3fe00 2c 0d 23 09 09 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 76 ,.#..which.means.the.previous.ev
3fe20 65 6e 74 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 54 68 6f 73 65 20 6f 66 20 74 68 65 ent..#.#.Results:.#.Those.of.the
3fe40 20 63 6f 6d 6d 61 6e 64 20 62 65 69 6e 67 20 72 65 64 6f 6e 65 2e 0d 23 0d 23 20 53 69 64 65 20 .command.being.redone..#.#.Side.
3fe60 45 66 66 65 63 74 73 3a 0d 23 09 52 65 70 6c 61 63 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 Effects:.#.Replaces.the.current.
3fe80 68 69 73 74 6f 72 79 20 6c 69 73 74 20 69 74 65 6d 20 77 69 74 68 20 74 68 65 20 6f 6e 65 20 62 history.list.item.with.the.one.b
3fea0 65 69 6e 67 20 72 65 64 6f 6e 65 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 74 52 65 64 eing.redone....proc.tcl::HistRed
3fec0 6f 20 7b 7b 65 76 65 6e 74 20 2d 31 7d 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 o.{{event.-1}}.{.....variable.hi
3fee0 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 65 76 story.....if.{[string.length.$ev
3ff00 65 6e 74 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 65 76 65 6e 74 20 2d 31 0d 20 20 20 20 7d ent].==.0}.{..set.event.-1.....}
3ff20 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 73 74 49 6e 64 65 78 20 24 65 76 65 6e 74 5d 0d 20 20 .....set.i.[HistIndex.$event]...
3ff40 20 20 69 66 20 7b 24 69 20 3d 3d 20 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 7d 20 7b 0d ..if.{$i.==.$history(nextid)}.{.
3ff60 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 63 61 6e 6e 6f 74 20 72 65 64 6f .return.-code.error."cannot.redo
3ff80 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 76 65 6e 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 .the.current.event".....}.....se
3ffa0 74 20 63 6d 64 20 24 68 69 73 74 6f 72 79 28 24 69 29 0d 20 20 20 20 48 69 73 74 43 68 61 6e 67 t.cmd.$history($i).....HistChang
3ffc0 65 20 24 63 6d 64 20 30 0d 20 20 20 20 75 70 6c 65 76 65 6c 20 23 30 20 24 63 6d 64 0d 7d 0d 0d e.$cmd.0.....uplevel.#0.$cmd.}..
3ffe0 23 20 74 63 6c 3a 3a 48 69 73 74 49 6e 64 65 78 20 2d 2d 0d 23 0d 23 09 4d 61 70 20 66 72 6f 6d #.tcl::HistIndex.--.#.#.Map.from
40000 20 61 6e 20 65 76 65 6e 74 20 73 70 65 63 69 66 69 65 72 20 74 6f 20 61 6e 20 69 6e 64 65 78 20 .an.event.specifier.to.an.index.
40020 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 72 61 6d 65 74 in.the.history.list..#.#.Paramet
40040 65 72 73 3a 0d 23 09 65 76 65 6e 74 09 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 ers:.#.event.index.of.history.it
40060 65 6d 20 74 6f 20 72 65 64 6f 2e 0d 23 09 09 49 66 20 74 68 69 73 20 69 73 20 61 20 70 6f 73 69 em.to.redo..#..If.this.is.a.posi
40080 74 69 76 65 20 6e 75 6d 62 65 72 2c 20 69 74 20 69 73 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 tive.number,.it.is.used.directly
400a0 2e 0d 23 09 09 49 66 20 69 74 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2c ..#..If.it.is.a.negative.number,
400c0 20 74 68 65 6e 20 69 74 20 63 6f 75 6e 74 73 20 62 61 63 6b 20 74 6f 20 61 20 70 72 65 76 69 6f .then.it.counts.back.to.a.previo
400e0 75 73 0d 23 09 09 65 76 65 6e 74 2c 20 77 68 65 72 65 20 2d 31 20 69 73 20 74 68 65 20 6d 6f 73 us.#..event,.where.-1.is.the.mos
40100 74 20 72 65 63 65 6e 74 20 65 76 65 6e 74 2e 0d 23 09 09 41 20 73 74 72 69 6e 67 20 63 61 6e 20 t.recent.event..#..A.string.can.
40120 62 65 20 6d 61 74 63 68 65 64 2c 20 65 69 74 68 65 72 20 62 79 20 62 65 69 6e 67 20 74 68 65 20 be.matched,.either.by.being.the.
40140 70 72 65 66 69 78 20 6f 66 0d 23 09 09 61 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 62 79 20 6d 61 74 prefix.of.#..a.command.or.by.mat
40160 63 68 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 73 74 72 69 6e 67 20 6d 61 74 63 ching.a.command.with.string.matc
40180 68 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 54 68 65 20 69 6e 64 65 78 20 69 6e 74 6f h..#.#.Results:.#.The.index.into
401a0 20 68 69 73 74 6f 72 79 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 69 6e 64 .history,.or.an.error.if.the.ind
401c0 65 78 20 64 69 64 6e 27 74 20 6d 61 74 63 68 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 69 73 ex.didn't.match....proc.tcl::His
401e0 74 49 6e 64 65 78 20 7b 65 76 65 6e 74 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 6c 65 20 68 69 tIndex.{event}.{.....variable.hi
40200 73 74 6f 72 79 0d 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 65 78 70 72 20 7b 7e 24 65 76 story.....if.{[catch.{expr.{~$ev
40220 65 6e 74 7d 7d 5d 7d 20 7b 0d 09 66 6f 72 20 7b 73 65 74 20 69 20 5b 65 78 70 72 20 7b 24 68 69 ent}}]}.{..for.{set.i.[expr.{$hi
40240 73 74 6f 72 79 28 6e 65 78 74 69 64 29 2d 31 7d 5d 7d 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 story(nextid)-1}]}.{[info.exists
40260 20 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 5c 0d 09 09 7b 69 6e 63 72 20 69 20 2d 31 7d 20 7b .history($i)]}.\...{incr.i.-1}.{
40280 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 65 76 65 6e 74 2a 20 ......if.{[string.match.$event*.
402a0 24 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 69 3b 0d 09 20 $history($i)]}.{...return.$i;...
402c0 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 24 65 76 65 ...}......if.{[string.match.$eve
402e0 6e 74 20 24 68 69 73 74 6f 72 79 28 24 69 29 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 24 69 3b nt.$history($i)]}.{...return.$i;
40300 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 ......}..}..return.-code.error."
40320 6e 6f 20 65 76 65 6e 74 20 6d 61 74 63 68 65 73 20 5c 22 24 65 76 65 6e 74 5c 22 22 0d 20 20 20 no.event.matches.\"$event\""....
40340 20 7d 20 65 6c 73 65 69 66 20 7b 24 65 76 65 6e 74 20 3c 3d 20 30 7d 20 7b 0d 09 73 65 74 20 69 .}.elseif.{$event.<=.0}.{..set.i
40360 20 5b 65 78 70 72 20 7b 24 68 69 73 74 6f 72 79 28 6e 65 78 74 69 64 29 20 2b 20 24 65 76 65 6e .[expr.{$history(nextid).+.$even
40380 74 7d 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 74 20 69 20 24 65 76 65 6e 74 0d 20 t}].....}.else.{..set.i.$event..
403a0 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 69 20 3c 3d 20 24 68 69 73 74 6f 72 79 28 6f 6c 64 65 ...}.....if.{$i.<=.$history(olde
403c0 73 74 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 65 76 65 6e st)}.{..return.-code.error."even
403e0 74 20 5c 22 24 65 76 65 6e 74 5c 22 20 69 73 20 74 6f 6f 20 66 61 72 20 69 6e 20 74 68 65 20 70 t.\"$event\".is.too.far.in.the.p
40400 61 73 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 24 69 20 3e 20 24 68 69 73 74 6f 72 79 ast".....}.....if.{$i.>.$history
40420 28 6e 65 78 74 69 64 29 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 (nextid)}.{..return.-code.error.
40440 22 65 76 65 6e 74 20 5c 22 24 65 76 65 6e 74 5c 22 20 68 61 73 6e 27 74 20 6f 63 63 75 72 65 64 "event.\"$event\".hasn't.occured
40460 20 79 65 74 22 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 24 69 0d 7d 0d 0d 23 20 74 .yet".....}.....return.$i.}..#.t
40480 63 6c 3a 3a 48 69 73 74 45 76 65 6e 74 20 2d 2d 0d 23 0d 23 09 4d 61 70 20 66 72 6f 6d 20 61 6e cl::HistEvent.--.#.#.Map.from.an
404a0 20 65 76 65 6e 74 20 73 70 65 63 69 66 69 65 72 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 69 6e .event.specifier.to.the.value.in
404c0 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 72 61 6d 65 74 65 72 .the.history.list..#.#.Parameter
404e0 73 3a 0d 23 09 65 76 65 6e 74 09 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 69 74 65 6d s:.#.event.index.of.history.item
40500 20 74 6f 20 72 65 64 6f 2e 20 20 53 65 65 20 69 6e 64 65 78 20 66 6f 72 20 61 0d 23 09 09 64 65 .to.redo...See.index.for.a.#..de
40520 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 65 76 65 6e 74 20 70 61 74 74 scription.of.possible.event.patt
40540 65 72 6e 73 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 54 68 65 20 76 61 6c 75 65 20 66 erns..#.#.Results:.#.The.value.f
40560 72 6f 6d 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 0d 20 70 72 6f 63 20 74 63 6c rom.the.history.list....proc.tcl
40580 3a 3a 48 69 73 74 45 76 65 6e 74 20 7b 65 76 65 6e 74 7d 20 7b 0d 20 20 20 20 76 61 72 69 61 62 ::HistEvent.{event}.{.....variab
405a0 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 73 74 49 6e 64 65 78 20 le.history.....set.i.[HistIndex.
405c0 24 65 76 65 6e 74 5d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 68 69 73 $event].....if.{[info.exists.his
405e0 74 6f 72 79 28 24 69 29 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 73 74 72 69 6e 67 20 74 72 69 tory($i)]}.{..return.[string.tri
40600 6d 72 69 67 68 74 20 24 68 69 73 74 6f 72 79 28 24 69 29 20 5c 20 5c 6e 5d 0d 20 20 20 20 7d 20 mright.$history($i).\.\n].....}.
40620 65 6c 73 65 20 7b 0d 09 72 65 74 75 72 6e 20 22 22 3b 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 else.{..return."";.....}.}..#.tc
40640 6c 3a 3a 48 69 73 74 43 68 61 6e 67 65 20 2d 2d 0d 23 0d 23 09 52 65 70 6c 61 63 65 20 61 20 76 l::HistChange.--.#.#.Replace.a.v
40660 61 6c 75 65 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 0d 23 20 50 61 alue.in.the.history.list..#.#.Pa
40680 72 61 6d 65 74 65 72 73 3a 0d 23 09 63 6d 64 09 54 68 65 20 6e 65 77 20 76 61 6c 75 65 20 74 6f rameters:.#.cmd.The.new.value.to
406a0 20 70 75 74 20 69 6e 74 6f 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 23 09 65 76 .put.into.the.history.list..#.ev
406c0 65 6e 74 09 28 6f 70 74 69 6f 6e 61 6c 29 20 69 6e 64 65 78 20 6f 66 20 68 69 73 74 6f 72 79 20 ent.(optional).index.of.history.
406e0 69 74 65 6d 20 74 6f 20 72 65 64 6f 2e 20 20 53 65 65 20 69 6e 64 65 78 20 66 6f 72 20 61 0d 23 item.to.redo...See.index.for.a.#
40700 09 09 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 65 76 65 6e 74 20 ..description.of.possible.event.
40720 70 61 74 74 65 72 6e 73 2e 20 20 54 68 69 73 20 64 65 66 61 75 6c 74 73 0d 23 09 09 74 6f 20 30 patterns...This.defaults.#..to.0
40740 2c 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 76 ,.which.specifies.the.current.ev
40760 65 6e 74 2e 0d 23 0d 23 20 53 69 64 65 20 45 66 66 65 63 74 73 3a 0d 23 09 43 68 61 6e 67 65 73 ent..#.#.Side.Effects:.#.Changes
40780 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 0d 0d 20 70 72 6f 63 20 74 63 6c 3a 3a 48 .the.history.list....proc.tcl::H
407a0 69 73 74 43 68 61 6e 67 65 20 7b 63 6d 64 20 7b 65 76 65 6e 74 20 30 7d 7d 20 7b 0d 20 20 20 20 istChange.{cmd.{event.0}}.{.....
407c0 76 61 72 69 61 62 6c 65 20 68 69 73 74 6f 72 79 0d 20 20 20 20 73 65 74 20 69 20 5b 48 69 73 74 variable.history.....set.i.[Hist
407e0 49 6e 64 65 78 20 24 65 76 65 6e 74 5d 0d 20 20 20 20 73 65 74 20 68 69 73 74 6f 72 79 28 24 69 Index.$event].....set.history($i
40800 29 20 24 63 6d 64 0d 7d 0d 00 00 44 a0 23 20 69 6e 69 74 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 44 ).$cmd.}...D.#.init.tcl.--.#.#.D
40820 65 66 61 75 6c 74 20 73 79 73 74 65 6d 20 73 74 61 72 74 75 70 20 66 69 6c 65 20 66 6f 72 20 54 efault.system.startup.file.for.T
40840 63 6c 2d 62 61 73 65 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 20 20 44 65 66 69 6e 65 73 0d cl-based.applications...Defines.
40860 23 20 22 75 6e 6b 6e 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 20 61 6e 64 20 61 75 74 6f 2d 6c #."unknown".procedure.and.auto-l
40880 6f 61 64 20 66 61 63 69 6c 69 74 69 65 73 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 oad.facilities..#.#.RCS:.@(#).$I
408a0 64 3a 20 69 6e 69 74 2e 74 63 6c 2c 76 20 31 2e 33 39 2e 32 2e 33 20 32 30 30 31 2f 30 38 2f 32 d:.init.tcl,v.1.39.2.3.2001/08/2
408c0 34 20 31 36 3a 31 39 3a 30 39 20 64 67 70 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 4.16:19:09.dgp.Exp.$.#.#.Copyrig
408e0 68 74 20 28 63 29 20 31 39 39 31 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 ht.(c).1991-1993.The.Regents.of.
40900 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 the.University.of.California..#.
40920 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2d 31 39 39 36 20 53 75 6e 20 4d 69 63 72 Copyright.(c).1994-1996.Sun.Micr
40940 6f 73 79 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 osystems,.Inc..#.Copyright.(c).1
40960 39 39 38 2d 31 39 39 39 20 53 63 72 69 70 74 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 998-1999.Scriptics.Corporation..
40980 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 #.#.See.the.file."license.terms"
409a0 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 .for.information.on.usage.and.re
409c0 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 distribution.#.of.this.file,.and
409e0 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 .for.a.DISCLAIMER.OF.ALL.WARRANT
40a00 49 45 53 2e 0d 23 0d 0d 69 66 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 70 61 63 6b 61 IES..#..if.{[info.commands.packa
40a20 67 65 5d 20 3d 3d 20 22 22 7d 20 7b 0d 20 20 20 20 65 72 72 6f 72 20 22 76 65 72 73 69 6f 6e 20 ge].==.""}.{.....error."version.
40a40 6d 69 73 6d 61 74 63 68 3a 20 6c 69 62 72 61 72 79 5c 6e 73 63 72 69 70 74 73 20 65 78 70 65 63 mismatch:.library\nscripts.expec
40a60 74 20 54 63 6c 20 76 65 72 73 69 6f 6e 20 37 2e 35 62 31 20 6f 72 20 6c 61 74 65 72 20 62 75 74 t.Tcl.version.7.5b1.or.later.but
40a80 20 74 68 65 20 6c 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 69 73 5c 6e 6f 6e 6c 79 20 5b 69 6e .the.loaded.version.is\nonly.[in
40aa0 66 6f 20 70 61 74 63 68 6c 65 76 65 6c 5d 22 0d 7d 0d 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 fo.patchlevel]".}.package.requir
40ac0 65 20 2d 65 78 61 63 74 20 54 63 6c 20 38 2e 33 0d 0d 23 20 43 6f 6d 70 75 74 65 20 74 68 65 20 e.-exact.Tcl.8.3..#.Compute.the.
40ae0 61 75 74 6f 20 70 61 74 68 20 74 6f 20 75 73 65 20 69 6e 20 74 68 69 73 20 69 6e 74 65 72 70 72 auto.path.to.use.in.this.interpr
40b00 65 74 65 72 2e 0d 23 20 54 68 65 20 76 61 6c 75 65 73 20 6f 6e 20 74 68 65 20 70 61 74 68 20 63 eter..#.The.values.on.the.path.c
40b20 6f 6d 65 20 66 72 6f 6d 20 73 65 76 65 72 61 6c 20 6c 6f 63 61 74 69 6f 6e 73 3a 0d 23 0d 23 20 ome.from.several.locations:.#.#.
40b40 54 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 54 43 4c 4c 49 42 50 The.environment.variable.TCLLIBP
40b60 41 54 48 0d 23 0d 23 20 74 63 6c 5f 6c 69 62 72 61 72 79 2c 20 77 68 69 63 68 20 69 73 20 74 68 ATH.#.#.tcl_library,.which.is.th
40b80 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 69 73 20 69 6e 69 74 e.directory.containing.this.init
40ba0 2e 74 63 6c 20 73 63 72 69 70 74 2e 0d 23 20 74 63 6c 49 6e 69 74 53 63 72 69 70 74 2e 68 20 73 .tcl.script..#.tclInitScript.h.s
40bc0 65 61 72 63 68 65 73 20 61 72 6f 75 6e 64 20 66 6f 72 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 earches.around.for.the.directory
40be0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 69 73 0d 23 20 69 6e 69 74 2e 74 63 6c 20 61 6e 64 20 .containing.this.#.init.tcl.and.
40c00 64 65 66 69 6e 65 73 20 74 63 6c 5f 6c 69 62 72 61 72 79 20 74 6f 20 74 68 61 74 20 6c 6f 63 61 defines.tcl_library.to.that.loca
40c20 74 69 6f 6e 20 62 65 66 6f 72 65 20 73 6f 75 72 63 69 6e 67 20 69 74 2e 0d 23 0d 23 20 54 68 65 tion.before.sourcing.it..#.#.The
40c40 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 63 6c 5f 6c 69 62 72 61 72 79 .parent.directory.of.tcl_library
40c60 2e 20 41 64 64 69 6e 67 20 74 68 65 20 70 61 72 65 6e 74 0d 23 20 6d 65 61 6e 73 20 74 68 61 74 ..Adding.the.parent.#.means.that
40c80 20 70 61 63 6b 61 67 65 73 20 69 6e 20 70 65 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 69 .packages.in.peer.directories.wi
40ca0 6c 6c 20 62 65 20 66 6f 75 6e 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0d 23 0d 23 20 41 ll.be.found.automatically..#.#.A
40cc0 6c 73 6f 20 61 64 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 20 lso.add.the.directory.where.the.
40ce0 65 78 65 63 75 74 61 62 6c 65 20 69 73 20 6c 6f 63 61 74 65 64 2c 20 70 6c 75 73 20 2e 2e 2f 6c executable.is.located,.plus.../l
40d00 69 62 0d 23 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 61 74 20 70 61 74 68 2e 0d 23 0d 23 20 ib.#.relative.to.that.path..#.#.
40d20 74 63 6c 5f 70 6b 67 50 61 74 68 2c 20 77 68 69 63 68 20 69 73 20 73 65 74 20 62 79 20 74 68 65 tcl_pkgPath,.which.is.set.by.the
40d40 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f .platform-specific.initializatio
40d60 6e 20 72 6f 75 74 69 6e 65 73 0d 23 09 4f 6e 20 55 4e 49 58 20 69 74 20 69 73 20 63 6f 6d 70 69 n.routines.#.On.UNIX.it.is.compi
40d80 6c 65 64 20 69 6e 0d 23 20 20 20 20 20 20 20 4f 6e 20 57 69 6e 64 6f 77 73 2c 20 69 74 20 69 73 led.in.#.......On.Windows,.it.is
40da0 20 6e 6f 74 20 75 73 65 64 0d 23 09 4f 6e 20 4d 61 63 69 6e 74 6f 73 68 20 69 74 20 69 73 20 22 .not.used.#.On.Macintosh.it.is."
40dc0 54 6f 6f 6c 20 43 6f 6d 6d 61 6e 64 20 4c 61 6e 67 75 61 67 65 22 20 69 6e 20 74 68 65 20 45 78 Tool.Command.Language".in.the.Ex
40de0 74 65 6e 73 69 6f 6e 73 20 66 6f 6c 64 65 72 0d 0d 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 tensions.folder..if.{![info.exis
40e00 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 7d 20 7b 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 ts.auto_path]}.{.....if.{[info.e
40e20 78 69 73 74 20 65 6e 76 28 54 43 4c 4c 49 42 50 41 54 48 29 5d 7d 20 7b 0d 09 73 65 74 20 61 75 xist.env(TCLLIBPATH)]}.{..set.au
40e40 74 6f 5f 70 61 74 68 20 24 65 6e 76 28 54 43 4c 4c 49 42 50 41 54 48 29 0d 20 20 20 20 7d 20 65 to_path.$env(TCLLIBPATH).....}.e
40e60 6c 73 65 20 7b 0d 09 73 65 74 20 61 75 74 6f 5f 70 61 74 68 20 22 22 0d 20 20 20 20 7d 0d 7d 0d lse.{..set.auto_path."".....}.}.
40e80 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b 69 6e 66 6f 20 6c 69 62 72 61 72 if.{[string.compare.[info.librar
40ea0 79 5d 20 7b 7d 5d 7d 20 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 5f 5f 64 69 72 20 5b 6c 69 73 y].{}]}.{.....foreach.__dir.[lis
40ec0 74 20 5b 69 6e 66 6f 20 6c 69 62 72 61 72 79 5d 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b t.[info.library].[file.dirname.[
40ee0 69 6e 66 6f 20 6c 69 62 72 61 72 79 5d 5d 5d 20 7b 0d 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 info.library]]].{..if.{[lsearch.
40f00 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 68 20 24 5f 5f 64 69 72 5d 20 3c 20 30 7d 20 7b -exact.$auto_path.$__dir].<.0}.{
40f20 0d 09 20 20 20 20 6c 61 70 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 24 5f 5f 64 69 72 0d 09 ......lappend.auto_path.$__dir..
40f40 7d 0d 20 20 20 20 7d 0d 7d 0d 73 65 74 20 5f 5f 64 69 72 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 5b }.....}.}.set.__dir.[file.join.[
40f60 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5c 0d 09 5b 69 file.dirname.[file.dirname.\..[i
40f80 6e 66 6f 20 6e 61 6d 65 6f 66 65 78 65 63 75 74 61 62 6c 65 5d 5d 5d 20 6c 69 62 5d 0d 69 66 20 nfo.nameofexecutable]]].lib].if.
40fa0 7b 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 24 61 75 74 6f 5f 70 61 74 68 20 24 5f 5f 64 {[lsearch.-exact.$auto_path.$__d
40fc0 69 72 5d 20 3c 20 30 7d 20 7b 0d 20 20 20 20 6c 61 70 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 68 ir].<.0}.{.....lappend.auto_path
40fe0 20 24 5f 5f 64 69 72 0d 7d 0d 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 20 74 63 6c 5f 70 6b .$__dir.}.if.{[info.exist.tcl_pk
41000 67 50 61 74 68 5d 7d 20 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 5f 5f 64 69 72 20 24 74 63 6c gPath]}.{.....foreach.__dir.$tcl
41020 5f 70 6b 67 50 61 74 68 20 7b 0d 09 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 2d 65 78 61 63 74 20 _pkgPath.{..if.{[lsearch.-exact.
41040 24 61 75 74 6f 5f 70 61 74 68 20 24 5f 5f 64 69 72 5d 20 3c 20 30 7d 20 7b 0d 09 20 20 20 20 6c $auto_path.$__dir].<.0}.{......l
41060 61 70 70 65 6e 64 20 61 75 74 6f 5f 70 61 74 68 20 24 5f 5f 64 69 72 0d 09 7d 0d 20 20 20 20 7d append.auto_path.$__dir..}.....}
41080 0d 7d 0d 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 5f 5f 64 69 72 5d 7d 20 7b 0d 20 20 .}.if.{[info.exists.__dir]}.{...
410a0 20 20 75 6e 73 65 74 20 5f 5f 64 69 72 0d 7d 0d 20 20 0d 23 20 57 69 6e 64 6f 77 73 20 73 70 65 ..unset.__dir.}....#.Windows.spe
410c0 63 69 66 69 63 20 65 6e 64 20 6f 66 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 0d 0d 69 66 20 cific.end.of.initialization..if.
410e0 7b 28 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 29 20 26 26 20 5b 73 74 72 69 6e 67 20 65 {(![interp.issafe]).&&.[string.e
41100 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 qual.$tcl_platform(platform)."wi
41120 6e 64 6f 77 73 22 5d 7d 20 7b 0d 20 20 20 20 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 74 63 ndows"]}.{.....namespace.eval.tc
41140 6c 20 7b 0d 09 70 72 6f 63 20 65 6e 76 54 72 61 63 65 50 72 6f 63 20 7b 6c 6f 20 6e 31 20 6e 32 l.{..proc.envTraceProc.{lo.n1.n2
41160 20 6f 70 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 78 20 24 3a 3a 65 6e 76 28 24 6e 32 29 0d 09 20 .op}.{......set.x.$::env($n2)...
41180 20 20 20 73 65 74 20 3a 3a 65 6e 76 28 24 6c 6f 29 20 24 78 0d 09 20 20 20 20 73 65 74 20 3a 3a ...set.::env($lo).$x......set.::
411a0 65 6e 76 28 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 20 24 6c 6f 5d 29 20 24 78 0d 09 7d 0d env([string.toupper.$lo]).$x..}.
411c0 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 70 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 ....}.....foreach.p.[array.names
411e0 20 65 6e 76 5d 20 7b 0d 09 73 65 74 20 75 20 5b 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 20 24 .env].{..set.u.[string.toupper.$
41200 70 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 75 20 24 70 5d 7d 20 p]..if.{[string.compare.$u.$p]}.
41220 7b 0d 09 20 20 20 20 73 77 69 74 63 68 20 2d 2d 20 24 75 20 7b 0d 09 09 43 4f 4d 53 50 45 43 20 {......switch.--.$u.{...COMSPEC.
41240 2d 0d 09 09 50 41 54 48 20 7b 0d 09 09 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 -...PATH.{.......if.{![info.exis
41260 74 73 20 65 6e 76 28 24 75 29 5d 7d 20 7b 0d 09 09 09 73 65 74 20 65 6e 76 28 24 75 29 20 24 65 ts.env($u)]}.{....set.env($u).$e
41280 6e 76 28 24 70 29 0d 09 09 20 20 20 20 7d 0d 09 09 20 20 20 20 74 72 61 63 65 20 76 61 72 69 61 nv($p).......}.......trace.varia
412a0 62 6c 65 20 65 6e 76 28 24 70 29 20 77 20 5b 6c 69 73 74 20 74 63 6c 3a 3a 65 6e 76 54 72 61 63 ble.env($p).w.[list.tcl::envTrac
412c0 65 50 72 6f 63 20 24 70 5d 0d 09 09 20 20 20 20 74 72 61 63 65 20 76 61 72 69 61 62 6c 65 20 65 eProc.$p].......trace.variable.e
412e0 6e 76 28 24 75 29 20 77 20 5b 6c 69 73 74 20 74 63 6c 3a 3a 65 6e 76 54 72 61 63 65 50 72 6f 63 nv($u).w.[list.tcl::envTraceProc
41300 20 24 70 5d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 .$p]...}......}..}.....}.....if.
41320 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 70 5d 7d 20 7b 0d 09 75 6e 73 65 74 20 70 0d 20 20 20 {[info.exists.p]}.{..unset.p....
41340 20 7d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 75 5d 7d 20 7b 0d 09 75 .}.....if.{[info.exists.u]}.{..u
41360 6e 73 65 74 20 75 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 nset.u.....}.....if.{![info.exis
41380 74 73 20 65 6e 76 28 43 4f 4d 53 50 45 43 29 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 ts.env(COMSPEC)]}.{..if.{[string
413a0 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 6f 73 29 20 22 57 69 6e 64 6f 77 .equal.$tcl_platform(os)."Window
413c0 73 20 4e 54 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 65 6e 76 28 43 4f 4d 53 50 45 43 29 20 s.NT"]}.{......set.env(COMSPEC).
413e0 63 6d 64 2e 65 78 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 65 6e 76 28 43 cmd.exe..}.else.{......set.env(C
41400 4f 4d 53 50 45 43 29 20 63 6f 6d 6d 61 6e 64 2e 63 6f 6d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d OMSPEC).command.com..}.....}.}..
41420 23 20 53 65 74 75 70 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 70 61 63 6b 61 67 65 20 68 61 6e 64 #.Setup.the.unknown.package.hand
41440 6c 65 72 0d 0d 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f ler..package.unknown.tclPkgUnkno
41460 77 6e 0d 0d 23 20 43 6f 6e 64 69 74 69 6f 6e 61 6c 69 7a 65 20 66 6f 72 20 70 72 65 73 65 6e 63 wn..#.Conditionalize.for.presenc
41480 65 20 6f 66 20 65 78 65 63 2e 0d 0d 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 69 6e 66 6f 20 63 e.of.exec...if.{[llength.[info.c
414a0 6f 6d 6d 61 6e 64 73 20 65 78 65 63 5d 5d 20 3d 3d 20 30 7d 20 7b 0d 0d 20 20 20 20 23 20 53 6f ommands.exec]].==.0}.{......#.So
414c0 6d 65 20 6d 61 63 68 69 6e 65 73 2c 20 73 75 63 68 20 61 73 20 74 68 65 20 4d 61 63 69 6e 74 6f me.machines,.such.as.the.Macinto
414e0 73 68 2c 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 65 78 65 63 2e 20 41 6c 73 6f 2c 20 6f 6e 20 61 sh,.do.not.have.exec..Also,.on.a
41500 6c 6c 0d 20 20 20 20 23 20 70 6c 61 74 66 6f 72 6d 73 2c 20 73 61 66 65 20 69 6e 74 65 72 70 72 ll.....#.platforms,.safe.interpr
41520 65 74 65 72 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 65 78 65 63 2e 0d 0d 20 20 20 20 73 65 74 eters.do.not.have.exec.......set
41540 20 61 75 74 6f 5f 6e 6f 65 78 65 63 20 31 0d 7d 0d 73 65 74 20 65 72 72 6f 72 43 6f 64 65 20 22 .auto_noexec.1.}.set.errorCode."
41560 22 0d 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 22 22 0d 0d 23 20 44 65 66 69 6e 65 20 61 20 6c ".set.errorInfo.""..#.Define.a.l
41580 6f 67 20 63 6f 6d 6d 61 6e 64 20 28 77 68 69 63 68 20 63 61 6e 20 62 65 20 6f 76 65 72 77 69 74 og.command.(which.can.be.overwit
415a0 74 65 6e 20 74 6f 20 6c 6f 67 20 65 72 72 6f 72 73 0d 23 20 64 69 66 66 65 72 65 6e 74 6c 79 2c ten.to.log.errors.#.differently,
415c0 20 73 70 65 63 69 61 6c 6c 79 20 77 68 65 6e 20 73 74 64 65 72 72 20 69 73 20 6e 6f 74 20 61 76 .specially.when.stderr.is.not.av
415e0 61 69 6c 61 62 6c 65 29 0d 0d 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 69 6e 66 6f 20 63 6f 6d ailable)..if.{[llength.[info.com
41600 6d 61 6e 64 73 20 74 63 6c 4c 6f 67 5d 5d 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 70 72 6f 63 20 mands.tclLog]].==.0}.{.....proc.
41620 74 63 6c 4c 6f 67 20 7b 73 74 72 69 6e 67 7d 20 7b 0d 09 63 61 74 63 68 20 7b 70 75 74 73 20 73 tclLog.{string}.{..catch.{puts.s
41640 74 64 65 72 72 20 24 73 74 72 69 6e 67 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 75 6e 6b 6e 6f 77 tderr.$string}.....}.}..#.unknow
41660 6e 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 69 73 20 63 61 6c 6c 65 64 20 n.--.#.This.procedure.is.called.
41680 77 68 65 6e 20 61 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 69 6e 76 6f 6b 65 64 20 74 68 when.a.Tcl.command.is.invoked.th
416a0 61 74 20 64 6f 65 73 6e 27 74 0d 23 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 at.doesn't.#.exist.in.the.interp
416c0 72 65 74 65 72 2e 20 20 49 74 20 74 61 6b 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 reter...It.takes.the.following.s
416e0 74 65 70 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 0d 23 20 63 6f 6d 6d 61 6e 64 20 61 76 61 69 6c teps.to.make.the.#.command.avail
41700 61 62 6c 65 3a 0d 23 0d 23 09 31 2e 20 53 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 able:.#.#.1..See.if.the.command.
41720 68 61 73 20 74 68 65 20 66 6f 72 6d 20 22 6e 61 6d 65 73 70 61 63 65 20 69 6e 73 63 6f 70 65 20 has.the.form."namespace.inscope.
41740 6e 73 20 63 6d 64 22 20 61 6e 64 0d 23 09 20 20 20 69 66 20 73 6f 2c 20 63 6f 6e 63 61 74 65 6e ns.cmd".and.#....if.so,.concaten
41760 61 74 65 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 6f 6e 74 6f 20 74 68 65 20 65 6e 64 20 61 ate.its.arguments.onto.the.end.a
41780 6e 64 20 65 76 61 6c 75 61 74 65 20 69 74 2e 0d 23 09 32 2e 20 53 65 65 20 69 66 20 74 68 65 20 nd.evaluate.it..#.2..See.if.the.
417a0 61 75 74 6f 6c 6f 61 64 20 66 61 63 69 6c 69 74 79 20 63 61 6e 20 6c 6f 63 61 74 65 20 74 68 65 autoload.facility.can.locate.the
417c0 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 61 0d 23 09 20 20 20 54 63 6c 20 73 63 72 69 70 74 20 66 69 .command.in.a.#....Tcl.script.fi
417e0 6c 65 2e 20 20 49 66 20 73 6f 2c 20 6c 6f 61 64 20 69 74 20 61 6e 64 20 65 78 65 63 75 74 65 20 le...If.so,.load.it.and.execute.
41800 69 74 2e 0d 23 09 33 2e 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 69 6e 76 6f it..#.3..If.the.command.was.invo
41820 6b 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 61 74 20 74 6f 70 2d 6c 65 76 65 6c 3a 0d ked.interactively.at.top-level:.
41840 23 09 20 20 20 20 28 61 29 20 73 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 69 #.....(a).see.if.the.command.exi
41860 73 74 73 20 61 73 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 55 4e 49 58 20 70 72 6f 67 72 61 sts.as.an.executable.UNIX.progra
41880 6d 2e 0d 23 09 09 49 66 20 73 6f 2c 20 22 65 78 65 63 22 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e m..#..If.so,."exec".the.command.
418a0 0d 23 09 20 20 20 20 28 62 29 20 73 65 65 20 69 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 .#.....(b).see.if.the.command.re
418c0 71 75 65 73 74 73 20 63 73 68 2d 6c 69 6b 65 20 68 69 73 74 6f 72 79 20 73 75 62 73 74 69 74 75 quests.csh-like.history.substitu
418e0 74 69 6f 6e 0d 23 09 09 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 66 6f 72 tion.#..in.one.of.the.common.for
41900 6d 73 20 21 21 2c 20 21 3c 6e 75 6d 62 65 72 3e 2c 20 6f 72 20 5e 6f 6c 64 5e 6e 65 77 2e 20 20 ms.!!,.!<number>,.or.^old^new...
41920 49 66 0d 23 09 09 73 6f 2c 20 65 6d 75 6c 61 74 65 20 63 73 68 27 73 20 68 69 73 74 6f 72 79 20 If.#..so,.emulate.csh's.history.
41940 73 75 62 73 74 69 74 75 74 69 6f 6e 2e 0d 23 09 20 20 20 20 28 63 29 20 73 65 65 20 69 66 20 74 substitution..#.....(c).see.if.t
41960 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 61 20 75 6e 69 71 75 65 20 61 62 62 72 65 76 69 61 74 he.command.is.a.unique.abbreviat
41980 69 6f 6e 20 66 6f 72 20 61 6e 6f 74 68 65 72 0d 23 09 09 63 6f 6d 6d 61 6e 64 2e 20 20 49 66 20 ion.for.another.#..command...If.
419a0 73 6f 2c 20 69 6e 76 6f 6b 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0d 23 0d 23 20 41 72 67 75 so,.invoke.the.command..#.#.Argu
419c0 6d 65 6e 74 73 3a 0d 23 20 61 72 67 73 20 2d 09 41 20 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 ments:.#.args.-.A.list.whose.ele
419e0 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 77 6f 72 64 73 20 6f 66 20 74 68 65 20 6f 72 69 67 69 ments.are.the.words.of.the.origi
41a00 6e 61 6c 0d 23 09 09 63 6f 6d 6d 61 6e 64 2c 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 63 6f nal.#..command,.including.the.co
41a20 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0d 0d 70 72 6f 63 20 75 6e 6b 6e 6f 77 6e 20 61 72 67 73 20 7b mmand.name...proc.unknown.args.{
41a40 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 6e 6f 65 78 65 63 20 61 75 74 6f 5f 6e 6f 6c .....global.auto_noexec.auto_nol
41a60 6f 61 64 20 65 6e 76 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 20 74 63 6c 5f 69 6e 74 65 oad.env.unknown_pending.tcl_inte
41a80 72 61 63 74 69 76 65 0d 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 20 65 72 72 ractive.....global.errorCode.err
41aa0 6f 72 49 6e 66 6f 0d 0d 20 20 20 20 23 20 49 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 77 6f 72 orInfo......#.If.the.command.wor
41ac0 64 20 68 61 73 20 74 68 65 20 66 6f 72 6d 20 22 6e 61 6d 65 73 70 61 63 65 20 69 6e 73 63 6f 70 d.has.the.form."namespace.inscop
41ae0 65 20 6e 73 20 63 6d 64 22 0d 20 20 20 20 23 20 74 68 65 6e 20 63 6f 6e 63 61 74 65 6e 61 74 65 e.ns.cmd".....#.then.concatenate
41b00 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 6f 6e 74 6f 20 74 68 65 20 65 6e 64 20 61 6e 64 20 .its.arguments.onto.the.end.and.
41b20 65 76 61 6c 75 61 74 65 20 69 74 2e 0d 0d 20 20 20 20 73 65 74 20 63 6d 64 20 5b 6c 69 6e 64 65 evaluate.it.......set.cmd.[linde
41b40 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 22 5e 6e 61 6d x.$args.0].....if.{[regexp."^nam
41b60 65 73 70 61 63 65 5c 5b 20 5c 74 5c 6e 5c 5d 2b 69 6e 73 63 6f 70 65 22 20 24 63 6d 64 5d 20 26 espace\[.\t\n\]+inscope".$cmd].&
41b80 26 20 5b 6c 6c 65 6e 67 74 68 20 24 63 6d 64 5d 20 3d 3d 20 34 7d 20 7b 0d 20 20 20 20 20 20 20 &.[llength.$cmd].==.4}.{........
41ba0 20 73 65 74 20 61 72 67 6c 69 73 74 20 5b 6c 72 61 6e 67 65 20 24 61 72 67 73 20 31 20 65 6e 64 .set.arglist.[lrange.$args.1.end
41bc0 5d 0d 09 73 65 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 75 70 6c 65 76 65 6c 20 31 20 3a 3a 24 ]..set.ret.[catch.{uplevel.1.::$
41be0 63 6d 64 20 24 61 72 67 6c 69 73 74 7d 20 72 65 73 75 6c 74 5d 0d 20 20 20 20 20 20 20 20 69 66 cmd.$arglist}.result].........if
41c00 20 7b 24 72 65 74 20 3d 3d 20 30 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 .{$ret.==.0}.{.............retur
41c20 6e 20 24 72 65 73 75 6c 74 0d 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 n.$result.........}.else.{......
41c40 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 2d 65 72 72 6f 72 63 6f 64 65 20 24 65 72 return.-code.$ret.-errorcode.$er
41c60 72 6f 72 43 6f 64 65 20 24 72 65 73 75 6c 74 0d 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 7d 0d rorCode.$result.........}.....}.
41c80 0d 20 20 20 20 23 20 53 61 76 65 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20 65 72 72 6f 72 43 .....#.Save.the.values.of.errorC
41ca0 6f 64 65 20 61 6e 64 20 65 72 72 6f 72 49 6e 66 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 73 69 6e ode.and.errorInfo.variables,.sin
41cc0 63 65 20 74 68 65 79 0d 20 20 20 20 23 20 6d 61 79 20 67 65 74 20 6d 6f 64 69 66 69 65 64 20 69 ce.they.....#.may.get.modified.i
41ce0 66 20 63 61 75 67 68 74 20 65 72 72 6f 72 73 20 6f 63 63 75 72 20 62 65 6c 6f 77 2e 20 20 54 68 f.caught.errors.occur.below...Th
41d00 65 20 76 61 72 69 61 62 6c 65 73 20 77 69 6c 6c 0d 20 20 20 20 23 20 62 65 20 72 65 73 74 6f 72 e.variables.will.....#.be.restor
41d20 65 64 20 6a 75 73 74 20 62 65 66 6f 72 65 20 72 65 2d 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 ed.just.before.re-executing.the.
41d40 6d 69 73 73 69 6e 67 20 63 6f 6d 6d 61 6e 64 2e 0d 0d 20 20 20 20 73 65 74 20 73 61 76 65 64 45 missing.command.......set.savedE
41d60 72 72 6f 72 43 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 0d 20 20 20 20 73 65 74 20 73 61 76 65 rrorCode.$errorCode.....set.save
41d80 64 45 72 72 6f 72 49 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 0d 20 20 20 20 73 65 74 20 6e 61 dErrorInfo.$errorInfo.....set.na
41da0 6d 65 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 30 5d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e me.[lindex.$args.0].....if.{![in
41dc0 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 6e 6f 6c 6f 61 64 5d 7d 20 7b 0d 09 23 0d 09 23 20 fo.exists.auto_noload]}.{..#..#.
41de0 4d 61 6b 65 20 73 75 72 65 20 77 65 27 72 65 20 6e 6f 74 20 74 72 79 69 6e 67 20 74 6f 20 6c 6f Make.sure.we're.not.trying.to.lo
41e00 61 64 20 74 68 65 20 73 61 6d 65 20 70 72 6f 63 20 74 77 69 63 65 2e 0d 09 23 0d 09 69 66 20 7b ad.the.same.proc.twice...#..if.{
41e20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 28 24 6e 61 [info.exists.unknown_pending($na
41e40 6d 65 29 5d 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 me)]}.{......return.-code.error.
41e60 22 73 65 6c 66 2d 72 65 66 65 72 65 6e 74 69 61 6c 20 72 65 63 75 72 73 69 6f 6e 20 69 6e 20 5c "self-referential.recursion.in.\
41e80 22 75 6e 6b 6e 6f 77 6e 5c 22 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 5c 22 24 6e 61 6d 65 5c 22 "unknown\".for.command.\"$name\"
41ea0 22 3b 0d 09 7d 0d 09 73 65 74 20 75 6e 6b 6e 6f 77 6e 5f 70 65 6e 64 69 6e 67 28 24 6e 61 6d 65 ";..}..set.unknown_pending($name
41ec0 29 20 70 65 6e 64 69 6e 67 3b 0d 09 73 65 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 61 75 74 6f ).pending;..set.ret.[catch.{auto
41ee0 5f 6c 6f 61 64 20 24 6e 61 6d 65 20 5b 75 70 6c 65 76 65 6c 20 31 20 7b 3a 3a 6e 61 6d 65 73 70 _load.$name.[uplevel.1.{::namesp
41f00 61 63 65 20 63 75 72 72 65 6e 74 7d 5d 7d 20 6d 73 67 5d 0d 09 75 6e 73 65 74 20 75 6e 6b 6e 6f ace.current}]}.msg]..unset.unkno
41f20 77 6e 5f 70 65 6e 64 69 6e 67 28 24 6e 61 6d 65 29 3b 0d 09 69 66 20 7b 24 72 65 74 20 21 3d 20 wn_pending($name);..if.{$ret.!=.
41f40 30 7d 20 7b 0d 09 20 20 20 20 61 70 70 65 6e 64 20 65 72 72 6f 72 49 6e 66 6f 20 22 5c 6e 20 20 0}.{......append.errorInfo."\n..
41f60 20 20 28 61 75 74 6f 6c 6f 61 64 69 6e 67 20 5c 22 24 6e 61 6d 65 5c 22 29 22 0d 09 20 20 20 20 ..(autoloading.\"$name\")"......
41f80 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 2d 65 72 72 6f 72 63 6f 64 65 20 24 65 72 return.-code.$ret.-errorcode.$er
41fa0 72 6f 72 43 6f 64 65 20 2d 65 72 72 6f 72 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 20 24 6d rorCode.-errorinfo.$errorInfo.$m
41fc0 73 67 0d 09 7d 0d 09 69 66 20 7b 21 5b 61 72 72 61 79 20 73 69 7a 65 20 75 6e 6b 6e 6f 77 6e 5f sg..}..if.{![array.size.unknown_
41fe0 70 65 6e 64 69 6e 67 5d 7d 20 7b 0d 09 20 20 20 20 75 6e 73 65 74 20 75 6e 6b 6e 6f 77 6e 5f 70 pending]}.{......unset.unknown_p
42000 65 6e 64 69 6e 67 0d 09 7d 0d 09 69 66 20 7b 24 6d 73 67 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 ending..}..if.{$msg}.{......set.
42020 65 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 64 45 72 72 6f 72 43 6f 64 65 0d 09 20 20 20 20 73 errorCode.$savedErrorCode......s
42040 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 24 73 61 76 65 64 45 72 72 6f 72 49 6e 66 6f 0d 09 20 20 et.errorInfo.$savedErrorInfo....
42060 20 20 73 65 74 20 63 6f 64 65 20 5b 63 61 74 63 68 20 7b 75 70 6c 65 76 65 6c 20 31 20 24 61 72 ..set.code.[catch.{uplevel.1.$ar
42080 67 73 7d 20 6d 73 67 5d 0d 09 20 20 20 20 69 66 20 7b 24 63 6f 64 65 20 3d 3d 20 20 31 7d 20 7b gs}.msg]......if.{$code.==..1}.{
420a0 0d 09 09 23 0d 09 09 23 20 53 74 72 69 70 20 74 68 65 20 6c 61 73 74 20 66 69 76 65 20 6c 69 6e ...#...#.Strip.the.last.five.lin
420c0 65 73 20 6f 66 66 20 74 68 65 20 65 72 72 6f 72 20 73 74 61 63 6b 20 28 74 68 65 79 27 72 65 0d es.off.the.error.stack.(they're.
420e0 09 09 23 20 66 72 6f 6d 20 74 68 65 20 22 75 70 6c 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 29 2e ..#.from.the."uplevel".command).
42100 0d 09 09 23 0d 0d 09 09 73 65 74 20 6e 65 77 20 5b 73 70 6c 69 74 20 24 65 72 72 6f 72 49 6e 66 ...#....set.new.[split.$errorInf
42120 6f 20 5c 6e 5d 0d 09 09 73 65 74 20 6e 65 77 20 5b 6a 6f 69 6e 20 5b 6c 72 61 6e 67 65 20 24 6e o.\n]...set.new.[join.[lrange.$n
42140 65 77 20 30 20 5b 65 78 70 72 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 6e 65 77 5d 20 2d 20 36 7d 5d ew.0.[expr.{[llength.$new].-.6}]
42160 5d 20 5c 6e 5d 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 2d 65 72 72 6f ].\n]...return.-code.error.-erro
42180 72 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 20 5c 0d 09 09 09 2d 65 72 72 6f 72 69 6e 66 6f rcode.$errorCode.\....-errorinfo
421a0 20 24 6e 65 77 20 24 6d 73 67 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 72 65 74 75 72 .$new.$msg......}.else.{...retur
421c0 6e 20 2d 63 6f 64 65 20 24 63 6f 64 65 20 24 6d 73 67 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 n.-code.$code.$msg......}..}....
421e0 20 7d 0d 0d 20 20 20 20 69 66 20 7b 28 5b 69 6e 66 6f 20 6c 65 76 65 6c 5d 20 3d 3d 20 31 29 20 .}......if.{([info.level].==.1).
42200 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d 20 22 &&.[string.equal.[info.script]."
42220 22 5d 20 5c 0d 09 20 20 20 20 26 26 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63 6c 5f 69 6e "].\......&&.[info.exists.tcl_in
42240 74 65 72 61 63 74 69 76 65 5d 20 26 26 20 24 74 63 6c 5f 69 6e 74 65 72 61 63 74 69 76 65 7d 20 teractive].&&.$tcl_interactive}.
42260 7b 0d 09 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 6e 6f 65 78 65 63 {..if.{![info.exists.auto_noexec
42280 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 20 5b 61 75 74 6f 5f 65 78 65 63 6f 6b 20 24 ]}.{......set.new.[auto_execok.$
422a0 6e 61 6d 65 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 7b name]......if.{[string.compare.{
422c0 7d 20 24 6e 65 77 5d 7d 20 7b 0d 09 09 73 65 74 20 65 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 }.$new]}.{...set.errorCode.$save
422e0 64 45 72 72 6f 72 43 6f 64 65 0d 09 09 73 65 74 20 65 72 72 6f 72 49 6e 66 6f 20 24 73 61 76 65 dErrorCode...set.errorInfo.$save
42300 64 45 72 72 6f 72 49 6e 66 6f 0d 09 09 73 65 74 20 72 65 64 69 72 20 22 22 0d 09 09 69 66 20 7b dErrorInfo...set.redir.""...if.{
42320 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 63 6f 6e [string.equal.[info.commands.con
42340 73 6f 6c 65 5d 20 22 22 5d 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 72 65 64 69 72 20 22 3e 26 sole].""]}.{.......set.redir.">&
42360 40 73 74 64 6f 75 74 20 3c 40 73 74 64 69 6e 22 0d 09 09 7d 0d 09 09 72 65 74 75 72 6e 20 5b 75 @stdout.<@stdin"...}...return.[u
42380 70 6c 65 76 65 6c 20 31 20 65 78 65 63 20 24 72 65 64 69 72 20 24 6e 65 77 20 5b 6c 72 61 6e 67 plevel.1.exec.$redir.$new.[lrang
423a0 65 20 24 61 72 67 73 20 31 20 65 6e 64 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 73 65 74 20 65 e.$args.1.end]]......}..}..set.e
423c0 72 72 6f 72 43 6f 64 65 20 24 73 61 76 65 64 45 72 72 6f 72 43 6f 64 65 0d 09 73 65 74 20 65 72 rrorCode.$savedErrorCode..set.er
423e0 72 6f 72 49 6e 66 6f 20 24 73 61 76 65 64 45 72 72 6f 72 49 6e 66 6f 0d 09 69 66 20 7b 5b 73 74 rorInfo.$savedErrorInfo..if.{[st
42400 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 20 22 21 21 22 5d 7d 20 7b 0d 09 20 20 20 20 73 ring.equal.$name."!!"]}.{......s
42420 65 74 20 6e 65 77 63 6d 64 20 5b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 5d 0d 09 7d 20 65 6c 73 et.newcmd.[history.event]..}.els
42440 65 69 66 20 7b 5b 72 65 67 65 78 70 20 7b 5e 21 28 2e 2b 29 24 7d 20 24 6e 61 6d 65 20 64 75 6d eif.{[regexp.{^!(.+)$}.$name.dum
42460 6d 79 20 65 76 65 6e 74 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 6e 65 77 63 6d 64 20 5b 68 69 my.event]}.{......set.newcmd.[hi
42480 73 74 6f 72 79 20 65 76 65 6e 74 20 24 65 76 65 6e 74 5d 0d 09 7d 20 65 6c 73 65 69 66 20 7b 5b story.event.$event]..}.elseif.{[
424a0 72 65 67 65 78 70 20 7b 5e 5c 5e 28 5b 5e 5e 5d 2a 29 5c 5e 28 5b 5e 5e 5d 2a 29 5c 5e 3f 24 7d regexp.{^\^([^^]*)\^([^^]*)\^?$}
424c0 20 24 6e 61 6d 65 20 64 75 6d 6d 79 20 6f 6c 64 20 6e 65 77 5d 7d 20 7b 0d 09 20 20 20 20 73 65 .$name.dummy.old.new]}.{......se
424e0 74 20 6e 65 77 63 6d 64 20 5b 68 69 73 74 6f 72 79 20 65 76 65 6e 74 20 2d 31 5d 0d 09 20 20 20 t.newcmd.[history.event.-1].....
42500 20 63 61 74 63 68 20 7b 72 65 67 73 75 62 20 2d 61 6c 6c 20 2d 2d 20 24 6f 6c 64 20 24 6e 65 77 .catch.{regsub.-all.--.$old.$new
42520 63 6d 64 20 24 6e 65 77 20 6e 65 77 63 6d 64 7d 0d 09 7d 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 cmd.$new.newcmd}..}..if.{[info.e
42540 78 69 73 74 73 20 6e 65 77 63 6d 64 5d 7d 20 7b 0d 09 20 20 20 20 74 63 6c 4c 6f 67 20 24 6e 65 xists.newcmd]}.{......tclLog.$ne
42560 77 63 6d 64 0d 09 20 20 20 20 68 69 73 74 6f 72 79 20 63 68 61 6e 67 65 20 24 6e 65 77 63 6d 64 wcmd......history.change.$newcmd
42580 20 30 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 6c 20 31 20 24 6e 65 77 63 6d .0......return.[uplevel.1.$newcm
425a0 64 5d 0d 09 7d 0d 0d 09 73 65 74 20 72 65 74 20 5b 63 61 74 63 68 20 7b 73 65 74 20 63 6d 64 73 d]..}...set.ret.[catch.{set.cmds
425c0 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 6d 65 2a 5d 7d 20 6d 73 67 5d 0d 09 69 .[info.commands.$name*]}.msg]..i
425e0 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 20 22 3a 3a 22 5d 7d 20 7b 0d f.{[string.equal.$name."::"]}.{.
42600 09 20 20 20 20 73 65 74 20 6e 61 6d 65 20 22 22 0d 09 7d 0d 09 69 66 20 7b 24 72 65 74 20 21 3d .....set.name.""..}..if.{$ret.!=
42620 20 30 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 24 72 65 74 20 2d 65 72 .0}.{......return.-code.$ret.-er
42640 72 6f 72 63 6f 64 65 20 24 65 72 72 6f 72 43 6f 64 65 20 5c 0d 09 09 22 65 72 72 6f 72 20 69 6e rorcode.$errorCode.\..."error.in
42660 20 75 6e 6b 6e 6f 77 6e 20 77 68 69 6c 65 20 63 68 65 63 6b 69 6e 67 20 69 66 20 5c 22 24 6e 61 .unknown.while.checking.if.\"$na
42680 6d 65 5c 22 20 69 73 20 61 20 75 6e 69 71 75 65 20 63 6f 6d 6d 61 6e 64 20 61 62 62 72 65 76 69 me\".is.a.unique.command.abbrevi
426a0 61 74 69 6f 6e 3a 20 24 6d 73 67 22 0d 09 7d 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 63 ation:.$msg"..}..if.{[llength.$c
426c0 6d 64 73 5d 20 3d 3d 20 31 7d 20 7b 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 75 70 6c 65 76 65 mds].==.1}.{......return.[upleve
426e0 6c 20 31 20 5b 6c 72 65 70 6c 61 63 65 20 24 61 72 67 73 20 30 20 30 20 24 63 6d 64 73 5d 5d 0d l.1.[lreplace.$args.0.0.$cmds]].
42700 09 7d 0d 09 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 63 6d 64 73 5d 7d 20 7b 0d 09 20 20 20 20 .}..if.{[llength.$cmds]}.{......
42720 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 20 22 22 5d 7d 20 7b 0d 09 if.{[string.equal.$name.""]}.{..
42740 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 65 6d 70 74 79 20 63 6f 6d 6d 61 .return.-code.error."empty.comma
42760 6e 64 20 6e 61 6d 65 20 5c 22 5c 22 22 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 72 65 nd.name.\"\""......}.else.{...re
42780 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 5c 0d 09 09 09 22 61 6d 62 69 67 75 6f 75 73 turn.-code.error.\...."ambiguous
427a0 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 5c 22 24 6e 61 6d 65 5c 22 3a 20 5b 6c 73 6f 72 74 20 .command.name.\"$name\":.[lsort.
427c0 24 63 6d 64 73 5d 22 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 $cmds]"......}..}.....}.....retu
427e0 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 69 6e 76 61 6c 69 64 20 63 6f 6d 6d 61 6e 64 20 rn.-code.error."invalid.command.
42800 6e 61 6d 65 20 5c 22 24 6e 61 6d 65 5c 22 22 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6c 6f 61 64 20 2d name.\"$name\"".}..#.auto_load.-
42820 2d 0d 23 20 43 68 65 63 6b 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 6c 69 62 72 61 -.#.Checks.a.collection.of.libra
42840 72 79 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 6f 20 73 65 65 20 69 66 20 61 20 70 72 6f 63 65 ry.directories.to.see.if.a.proce
42860 64 75 72 65 0d 23 20 69 73 20 64 65 66 69 6e 65 64 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 6d dure.#.is.defined.in.one.of.them
42880 2e 20 20 49 66 20 73 6f 2c 20 69 74 20 73 6f 75 72 63 65 73 20 74 68 65 20 61 70 70 72 6f 70 72 ...If.so,.it.sources.the.appropr
428a0 69 61 74 65 0d 23 20 6c 69 62 72 61 72 79 20 66 69 6c 65 20 74 6f 20 63 72 65 61 74 65 20 74 68 iate.#.library.file.to.create.th
428c0 65 20 70 72 6f 63 65 64 75 72 65 2e 20 20 52 65 74 75 72 6e 73 20 31 20 69 66 20 69 74 20 73 75 e.procedure...Returns.1.if.it.su
428e0 63 63 65 73 73 66 75 6c 6c 79 0d 23 20 6c 6f 61 64 65 64 20 74 68 65 20 70 72 6f 63 65 64 75 72 ccessfully.#.loaded.the.procedur
42900 65 2c 20 30 20 6f 74 68 65 72 77 69 73 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 20 0d e,.0.otherwise..#.#.Arguments:..
42920 23 20 63 6d 64 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f #.cmd.-...Name.of.the.command.to
42940 20 66 69 6e 64 20 61 6e 64 20 6c 6f 61 64 2e 0d 23 20 6e 61 6d 65 73 70 61 63 65 20 28 6f 70 74 .find.and.load..#.namespace.(opt
42960 69 6f 6e 61 6c 29 20 20 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 77 68 65 72 65 20 74 68 65 20 ional)..The.namespace.where.the.
42980 63 6f 6d 6d 61 6e 64 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 2d 20 6d 75 73 74 20 62 65 0d command.is.being.used.-.must.be.
429a0 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 63 61 6e 6f 6e 69 #.......................a.canoni
429c0 63 61 6c 20 6e 61 6d 65 73 70 61 63 65 20 61 73 20 72 65 74 75 72 6e 65 64 20 5b 6e 61 6d 65 73 cal.namespace.as.returned.[names
429e0 70 61 63 65 20 63 75 72 72 65 6e 74 5d 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pace.current].#.................
42a00 20 20 20 20 20 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2e 20 49 66 20 6e 6f 74 20 67 69 76 65 6e ......for.instance..If.not.given
42a20 2c 20 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 20 69 73 20 75 73 65 64 2e 0d 0d 70 72 ,.namespace.current.is.used...pr
42a40 6f 63 20 61 75 74 6f 5f 6c 6f 61 64 20 7b 63 6d 64 20 7b 6e 61 6d 65 73 70 61 63 65 20 7b 7d 7d oc.auto_load.{cmd.{namespace.{}}
42a60 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 75 74 6f 5f 6f }.{.....global.auto_index.auto_o
42a80 6c 64 70 61 74 68 20 61 75 74 6f 5f 70 61 74 68 0d 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e ldpath.auto_path......if.{[strin
42aa0 67 20 6c 65 6e 67 74 68 20 24 6e 61 6d 65 73 70 61 63 65 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 g.length.$namespace].==.0}.{..se
42ac0 74 20 6e 61 6d 65 73 70 61 63 65 20 5b 75 70 6c 65 76 65 6c 20 31 20 5b 6c 69 73 74 20 3a 3a 6e t.namespace.[uplevel.1.[list.::n
42ae0 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 5d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 amespace.current]].....}.....set
42b00 20 6e 61 6d 65 4c 69 73 74 20 5b 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 24 63 6d 64 20 24 6e 61 .nameList.[auto_qualify.$cmd.$na
42b20 6d 65 73 70 61 63 65 5d 0d 20 20 20 20 23 20 77 6f 72 6b 61 72 6f 75 6e 64 20 6e 6f 6e 20 63 61 mespace].....#.workaround.non.ca
42b40 6e 6f 6e 69 63 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 20 65 6e 74 72 69 65 73 20 74 68 61 74 20 nonical.auto_index.entries.that.
42b60 6d 69 67 68 74 20 62 65 20 61 72 6f 75 6e 64 0d 20 20 20 20 23 20 66 72 6f 6d 20 6f 6c 64 65 72 might.be.around.....#.from.older
42b80 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 76 65 72 73 69 6f 6e 73 0d 20 20 20 20 6c 61 70 70 65 .auto_mkindex.versions.....lappe
42ba0 6e 64 20 6e 61 6d 65 4c 69 73 74 20 24 63 6d 64 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6e 61 6d nd.nameList.$cmd.....foreach.nam
42bc0 65 20 24 6e 61 6d 65 4c 69 73 74 20 7b 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 e.$nameList.{..if.{[info.exists.
42be0 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 5d 7d 20 7b 0d 09 20 20 20 20 75 70 6c 65 76 auto_index($name)]}.{......uplev
42c00 65 6c 20 23 30 20 24 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 0d 09 20 20 20 20 72 65 el.#0.$auto_index($name)......re
42c20 74 75 72 6e 20 5b 65 78 70 72 20 7b 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 6d 65 turn.[expr.{[info.commands.$name
42c40 5d 20 21 3d 20 22 22 7d 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 21 5b 69 6e 66 ].!=.""}]..}.....}.....if.{![inf
42c60 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 o.exists.auto_path]}.{..return.0
42c80 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 21 5b 61 75 74 6f 5f 6c 6f 61 64 5f 69 6e 64 65 .....}......if.{![auto_load_inde
42ca0 78 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 x]}.{..return.0.....}.....foreac
42cc0 68 20 6e 61 6d 65 20 24 6e 61 6d 65 4c 69 73 74 20 7b 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 h.name.$nameList.{..if.{[info.ex
42ce0 69 73 74 73 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 5d 7d 20 7b 0d 09 20 20 20 20 ists.auto_index($name)]}.{......
42d00 75 70 6c 65 76 65 6c 20 23 30 20 24 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 0d 09 20 uplevel.#0.$auto_index($name)...
42d20 20 20 20 23 20 54 68 65 72 65 27 73 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 77 61 79 73 20 74 6f ...#.There's.a.couple.of.ways.to
42d40 20 6c 6f 6f 6b 20 66 6f 72 20 61 20 63 6f 6d 6d 61 6e 64 20 6f 66 20 61 20 67 69 76 65 6e 0d 09 .look.for.a.command.of.a.given..
42d60 20 20 20 20 23 20 6e 61 6d 65 2e 20 20 4f 6e 65 20 69 73 20 74 6f 20 75 73 65 0d 09 20 20 20 20 ....#.name...One.is.to.use......
42d80 23 20 20 20 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 6d 65 0d 09 20 20 20 20 23 20 #....info.commands.$name......#.
42da0 55 6e 66 6f 72 74 75 6e 61 74 65 6c 79 2c 20 69 66 20 74 68 65 20 6e 61 6d 65 20 68 61 73 20 67 Unfortunately,.if.the.name.has.g
42dc0 6c 6f 62 2d 6d 61 67 69 63 20 63 68 61 72 73 20 69 6e 20 69 74 20 6c 69 6b 65 20 2a 0d 09 20 20 lob-magic.chars.in.it.like.*....
42de0 20 20 23 20 6f 72 20 5b 5d 2c 20 69 74 20 6d 61 79 20 6e 6f 74 20 6d 61 74 63 68 2e 20 20 46 6f ..#.or.[],.it.may.not.match...Fo
42e00 72 20 6f 75 72 20 70 75 72 70 6f 73 65 73 20 68 65 72 65 2c 20 61 20 62 65 74 74 65 72 0d 09 20 r.our.purposes.here,.a.better...
42e20 20 20 20 23 20 72 6f 75 74 65 20 69 73 20 74 6f 20 75 73 65 20 0d 09 20 20 20 20 23 20 20 20 20 ...#.route.is.to.use.......#....
42e40 6e 61 6d 65 73 70 61 63 65 20 77 68 69 63 68 20 2d 63 6f 6d 6d 61 6e 64 20 24 6e 61 6d 65 0d 09 namespace.which.-command.$name..
42e60 20 20 20 20 69 66 20 7b 20 21 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 6e 61 6d 65 73 70 61 ....if.{.![string.equal.[namespa
42e80 63 65 20 77 68 69 63 68 20 2d 63 6f 6d 6d 61 6e 64 20 24 6e 61 6d 65 5d 20 22 22 5d 20 7d 20 7b ce.which.-command.$name].""].}.{
42ea0 0d 09 09 72 65 74 75 72 6e 20 31 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 ...return.1......}..}.....}.....
42ec0 72 65 74 75 72 6e 20 30 0d 7d 0d 0d 23 20 61 75 74 6f 5f 6c 6f 61 64 5f 69 6e 64 65 78 20 2d 2d return.0.}..#.auto_load_index.--
42ee0 0d 23 20 4c 6f 61 64 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 63 6c 49 6e 64 65 .#.Loads.the.contents.of.tclInde
42f00 78 20 66 69 6c 65 73 20 6f 6e 20 74 68 65 20 61 75 74 6f 5f 70 61 74 68 20 64 69 72 65 63 74 6f x.files.on.the.auto_path.directo
42f20 72 79 0d 23 20 6c 69 73 74 2e 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 69 6e 76 6f ry.#.list...This.is.usually.invo
42f40 6b 65 64 20 77 69 74 68 69 6e 20 61 75 74 6f 5f 6c 6f 61 64 20 74 6f 20 6c 6f 61 64 20 74 68 65 ked.within.auto_load.to.load.the
42f60 20 69 6e 64 65 78 0d 23 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 73 2e 20 .index.#.of.available.commands..
42f80 20 52 65 74 75 72 6e 73 20 31 20 69 66 20 74 68 65 20 69 6e 64 65 78 20 69 73 20 6c 6f 61 64 65 .Returns.1.if.the.index.is.loade
42fa0 64 2c 20 61 6e 64 20 30 20 69 66 0d 23 20 74 68 65 20 69 6e 64 65 78 20 69 73 20 61 6c 72 65 61 d,.and.0.if.#.the.index.is.alrea
42fc0 64 79 20 6c 6f 61 64 65 64 20 61 6e 64 20 75 70 20 74 6f 20 64 61 74 65 2e 0d 23 0d 23 20 41 72 dy.loaded.and.up.to.date..#.#.Ar
42fe0 67 75 6d 65 6e 74 73 3a 20 0d 23 20 4e 6f 6e 65 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 6c 6f 61 guments:..#.None...proc.auto_loa
43000 64 5f 69 6e 64 65 78 20 7b 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 69 6e 64 d_index.{}.{.....global.auto_ind
43020 65 78 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 20 61 75 74 6f 5f 70 61 74 68 20 65 72 72 6f 72 49 ex.auto_oldpath.auto_path.errorI
43040 6e 66 6f 20 65 72 72 6f 72 43 6f 64 65 0d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 nfo.errorCode......if.{[info.exi
43060 73 74 73 20 61 75 74 6f 5f 6f 6c 64 70 61 74 68 5d 20 26 26 20 5c 0d 09 20 20 20 20 5b 73 74 72 sts.auto_oldpath].&&.\......[str
43080 69 6e 67 20 65 71 75 61 6c 20 24 61 75 74 6f 5f 6f 6c 64 70 61 74 68 20 24 61 75 74 6f 5f 70 61 ing.equal.$auto_oldpath.$auto_pa
430a0 74 68 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 30 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 th]}.{..return.0.....}.....set.a
430c0 75 74 6f 5f 6f 6c 64 70 61 74 68 20 24 61 75 74 6f 5f 70 61 74 68 0d 0d 20 20 20 20 23 20 43 68 uto_oldpath.$auto_path......#.Ch
430e0 65 63 6b 20 69 66 20 77 65 20 61 72 65 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 eck.if.we.are.a.safe.interpreter
43100 2e 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 77 65 20 73 75 70 70 6f 72 74 20 6f 6e 6c 79 0d ..In.that.case,.we.support.only.
43120 20 20 20 20 23 20 6e 65 77 65 72 20 66 6f 72 6d 61 74 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 ....#.newer.format.tclIndex.file
43140 73 2e 0d 0d 20 20 20 20 73 65 74 20 69 73 73 61 66 65 20 5b 69 6e 74 65 72 70 20 69 73 73 61 66 s.......set.issafe.[interp.issaf
43160 65 5d 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 20 5b 65 78 70 72 20 7b 5b 6c 6c 65 6e 67 74 e].....for.{set.i.[expr.{[llengt
43180 68 20 24 61 75 74 6f 5f 70 61 74 68 5d 20 2d 20 31 7d 5d 7d 20 7b 24 69 20 3e 3d 20 30 7d 20 7b h.$auto_path].-.1}]}.{$i.>=.0}.{
431a0 69 6e 63 72 20 69 20 2d 31 7d 20 7b 0d 09 73 65 74 20 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 61 incr.i.-1}.{..set.dir.[lindex.$a
431c0 75 74 6f 5f 70 61 74 68 20 24 69 5d 0d 09 73 65 74 20 66 20 22 22 0d 09 69 66 20 7b 24 69 73 73 uto_path.$i]..set.f.""..if.{$iss
431e0 61 66 65 7d 20 7b 0d 09 20 20 20 20 63 61 74 63 68 20 7b 73 6f 75 72 63 65 20 5b 66 69 6c 65 20 afe}.{......catch.{source.[file.
43200 6a 6f 69 6e 20 24 64 69 72 20 74 63 6c 49 6e 64 65 78 5d 7d 0d 09 7d 20 65 6c 73 65 69 66 20 7b join.$dir.tclIndex]}..}.elseif.{
43220 5b 63 61 74 63 68 20 7b 73 65 74 20 66 20 5b 6f 70 65 6e 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 [catch.{set.f.[open.[file.join.$
43240 64 69 72 20 74 63 6c 49 6e 64 65 78 5d 5d 7d 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 dir.tclIndex]]}]}.{......continu
43260 65 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 65 72 72 6f 72 20 5b 63 61 74 63 e..}.else.{......set.error.[catc
43280 68 20 7b 0d 09 09 73 65 74 20 69 64 20 5b 67 65 74 73 20 24 66 5d 0d 09 09 69 66 20 7b 5b 73 74 h.{...set.id.[gets.$f]...if.{[st
432a0 72 69 6e 67 20 65 71 75 61 6c 20 24 69 64 20 5c 0d 09 09 09 22 23 20 54 63 6c 20 61 75 74 6f 6c ring.equal.$id.\...."#.Tcl.autol
432c0 6f 61 64 20 69 6e 64 65 78 20 66 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20 32 2e 30 22 5d 7d 20 7b oad.index.file,.version.2.0"]}.{
432e0 0d 09 09 20 20 20 20 65 76 61 6c 20 5b 72 65 61 64 20 24 66 5d 0d 09 09 7d 20 65 6c 73 65 69 66 .......eval.[read.$f]...}.elseif
43300 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 69 64 20 22 23 20 54 63 6c 20 61 75 74 6f 6c .{[string.equal.$id."#.Tcl.autol
43320 6f 61 64 20 69 6e 64 65 78 20 66 69 6c 65 3a 20 65 61 63 68 20 6c 69 6e 65 20 69 64 65 6e 74 69 oad.index.file:.each.line.identi
43340 66 69 65 73 20 61 20 54 63 6c 22 5d 7d 20 7b 0d 09 09 20 20 20 20 77 68 69 6c 65 20 7b 5b 67 65 fies.a.Tcl"]}.{.......while.{[ge
43360 74 73 20 24 66 20 6c 69 6e 65 5d 20 3e 3d 20 30 7d 20 7b 0d 09 09 09 69 66 20 7b 5b 73 74 72 69 ts.$f.line].>=.0}.{....if.{[stri
43380 6e 67 20 65 71 75 61 6c 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 20 24 6c 69 6e 65 20 30 5d 20 ng.equal.[string.index.$line.0].
433a0 22 23 22 5d 20 5c 0d 09 09 09 09 7c 7c 20 28 5b 6c 6c 65 6e 67 74 68 20 24 6c 69 6e 65 5d 20 21 "#"].\.....||.([llength.$line].!
433c0 3d 20 32 29 7d 20 7b 0d 09 09 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 09 09 7d 0d 09 09 09 =.2)}.{........continue....}....
433e0 73 65 74 20 6e 61 6d 65 20 5b 6c 69 6e 64 65 78 20 24 6c 69 6e 65 20 30 5d 0d 09 09 09 73 65 74 set.name.[lindex.$line.0]....set
43400 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 20 5c 0d 09 09 09 09 22 73 6f 75 72 63 65 .auto_index($name).\....."source
43420 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 6c 69 6e 65 20 31 .[file.join.$dir.[lindex.$line.1
43440 5d 5d 22 0d 09 09 20 20 20 20 7d 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 65 72 72 ]]".......}...}.else.{.......err
43460 6f 72 20 22 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 74 63 6c 49 6e 64 65 78 5d 20 69 73 or."[file.join.$dir.tclIndex].is
43480 6e 27 74 20 61 20 70 72 6f 70 65 72 20 54 63 6c 20 69 6e 64 65 78 20 66 69 6c 65 22 0d 09 09 7d n't.a.proper.Tcl.index.file"...}
434a0 0d 09 20 20 20 20 7d 20 6d 73 67 5d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f ......}.msg]......if.{[string.co
434c0 6d 70 61 72 65 20 24 66 20 22 22 5d 7d 20 7b 0d 09 09 63 6c 6f 73 65 20 24 66 0d 09 20 20 20 20 mpare.$f.""]}.{...close.$f......
434e0 7d 0d 09 20 20 20 20 69 66 20 7b 24 65 72 72 6f 72 7d 20 7b 0d 09 09 65 72 72 6f 72 20 24 6d 73 }......if.{$error}.{...error.$ms
43500 67 20 24 65 72 72 6f 72 49 6e 66 6f 20 24 65 72 72 6f 72 43 6f 64 65 0d 09 20 20 20 20 7d 0d 09 g.$errorInfo.$errorCode......}..
43520 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 31 0d 7d 0d 0d 23 20 61 75 74 6f 5f 71 }.....}.....return.1.}..#.auto_q
43540 75 61 6c 69 66 79 20 2d 2d 0d 23 0d 23 20 43 6f 6d 70 75 74 65 20 61 20 66 75 6c 6c 79 20 71 75 ualify.--.#.#.Compute.a.fully.qu
43560 61 6c 69 66 69 65 64 20 6e 61 6d 65 73 20 6c 69 73 74 20 66 6f 72 20 75 73 65 20 69 6e 20 74 68 alified.names.list.for.use.in.th
43580 65 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72 72 61 79 2e 0d 23 20 46 6f 72 20 68 69 73 74 6f 72 e.auto_index.array..#.For.histor
435a0 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 67 6c ical.reasons,.commands.in.the.gl
435c0 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 6c 65 61 64 69 obal.namespace.do.not.have.leadi
435e0 6e 67 0d 23 20 3a 3a 20 69 6e 20 74 68 65 20 69 6e 64 65 78 20 6b 65 79 2e 20 54 68 65 20 6c 69 ng.#.::.in.the.index.key..The.li
43600 73 74 20 68 61 73 20 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6d st.has.two.elements.when.the.com
43620 6d 61 6e 64 20 6e 61 6d 65 20 69 73 0d 23 20 72 65 6c 61 74 69 76 65 20 28 6e 6f 20 6c 65 61 64 mand.name.is.#.relative.(no.lead
43640 69 6e 67 20 3a 3a 29 20 61 6e 64 20 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 69 73 20 6e 6f 74 ing.::).and.the.namespace.is.not
43660 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2e 20 4f 74 68 65 72 77 69 73 65 0d 23 20 6f 6e 6c .the.global.one..Otherwise.#.onl
43680 79 20 6f 6e 65 20 6e 61 6d 65 20 69 73 20 72 65 74 75 72 6e 65 64 20 28 61 6e 64 20 73 65 61 72 y.one.name.is.returned.(and.sear
436a0 63 68 65 64 20 69 6e 20 74 68 65 20 61 75 74 6f 5f 69 6e 64 65 78 29 2e 0d 23 0d 23 20 41 72 67 ched.in.the.auto_index)..#.#.Arg
436c0 75 6d 65 6e 74 73 20 2d 0d 23 20 63 6d 64 09 09 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 uments.-.#.cmd..The.command.name
436e0 2e 20 43 61 6e 20 62 65 20 61 6e 79 20 6e 61 6d 65 20 61 63 63 65 70 74 65 64 20 66 6f 72 20 63 ..Can.be.any.name.accepted.for.c
43700 6f 6d 6d 61 6e 64 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 76 6f 63 61 74 69 6f ommand.#...............invocatio
43720 6e 73 20 28 4c 69 6b 65 20 22 66 6f 6f 3a 3a 3a 3a 62 61 72 22 29 2e 0d 23 20 6e 61 6d 65 73 70 ns.(Like."foo::::bar")..#.namesp
43740 61 63 65 09 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 77 68 65 72 65 20 74 68 65 20 63 6f 6d 6d ace.The.namespace.where.the.comm
43760 61 6e 64 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 20 2d 20 6d 75 73 74 20 62 65 0d 23 20 20 20 and.is.being.used.-.must.be.#...
43780 20 20 20 20 20 20 20 20 20 20 20 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20 6e 61 6d 65 73 70 61 63 ............a.canonical.namespac
437a0 65 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 5b 6e 61 6d 65 73 70 61 63 65 20 63 75 72 72 e.as.returned.by.[namespace.curr
437c0 65 6e 74 5d 0d 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 6e 73 74 61 6e 63 ent].#...............for.instanc
437e0 65 2e 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 7b 63 6d 64 20 6e 61 6d 65 73 e...proc.auto_qualify.{cmd.names
43800 70 61 63 65 7d 20 7b 0d 0d 20 20 20 20 23 20 63 6f 75 6e 74 20 73 65 70 61 72 61 74 6f 72 73 20 pace}.{......#.count.separators.
43820 61 6e 64 20 63 6c 65 61 6e 20 74 68 65 6d 20 75 70 0d 20 20 20 20 23 20 28 6d 61 6b 69 6e 67 20 and.clean.them.up.....#.(making.
43840 73 75 72 65 20 74 68 61 74 20 66 6f 6f 3a 3a 3a 3a 3a 62 61 72 20 77 69 6c 6c 20 62 65 20 74 72 sure.that.foo:::::bar.will.be.tr
43860 65 61 74 65 64 20 61 73 20 66 6f 6f 3a 3a 62 61 72 29 0d 20 20 20 20 73 65 74 20 6e 20 5b 72 65 eated.as.foo::bar).....set.n.[re
43880 67 73 75 62 20 2d 61 6c 6c 20 7b 3a 3a 2b 7d 20 24 63 6d 64 20 3a 3a 20 63 6d 64 5d 0d 0d 20 20 gsub.-all.{::+}.$cmd.::.cmd]....
438a0 20 20 23 20 49 67 6e 6f 72 65 20 6e 61 6d 65 73 70 61 63 65 20 69 66 20 74 68 65 20 6e 61 6d 65 ..#.Ignore.namespace.if.the.name
438c0 20 73 74 61 72 74 73 20 77 69 74 68 20 3a 3a 0d 20 20 20 20 23 20 48 61 6e 64 6c 65 20 73 70 65 .starts.with.::.....#.Handle.spe
438e0 63 69 61 6c 20 63 61 73 65 20 6f 66 20 6f 6e 6c 79 20 6c 65 61 64 69 6e 67 20 3a 3a 0d 0d 20 20 cial.case.of.only.leading.::....
43900 20 20 23 20 42 65 66 6f 72 65 20 65 61 63 68 20 72 65 74 75 72 6e 20 63 61 73 65 20 77 65 20 67 ..#.Before.each.return.case.we.g
43920 69 76 65 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 77 68 69 63 68 20 63 61 74 65 67 6f 72 79 ive.an.example.of.which.category
43940 20 69 74 20 69 73 0d 20 20 20 20 23 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 .it.is.....#.with.the.following.
43960 66 6f 72 6d 20 3a 0d 20 20 20 20 23 20 28 20 69 6e 70 75 74 43 6d 64 2c 20 69 6e 70 75 74 4e 61 form.:.....#.(.inputCmd,.inputNa
43980 6d 65 53 70 61 63 65 29 20 2d 3e 20 6f 75 74 70 75 74 0d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 meSpace).->.output......if.{[reg
439a0 65 78 70 20 7b 5e 3a 3a 28 2e 2a 29 24 7d 20 24 63 6d 64 20 78 20 74 61 69 6c 5d 7d 20 7b 0d 09 exp.{^::(.*)$}.$cmd.x.tail]}.{..
439c0 69 66 20 7b 24 6e 20 3e 20 31 7d 20 7b 0d 09 20 20 20 20 23 20 28 20 3a 3a 66 6f 6f 3a 3a 62 61 if.{$n.>.1}.{......#.(.::foo::ba
439e0 72 20 2c 20 2a 20 29 20 2d 3e 20 3a 3a 66 6f 6f 3a 3a 62 61 72 0d 09 20 20 20 20 72 65 74 75 72 r.,.*.).->.::foo::bar......retur
43a00 6e 20 5b 6c 69 73 74 20 24 63 6d 64 5d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 28 n.[list.$cmd]..}.else.{......#.(
43a20 20 3a 3a 67 6c 6f 62 61 6c 20 2c 20 2a 20 29 20 2d 3e 20 67 6c 6f 62 61 6c 0d 09 20 20 20 20 72 .::global.,.*.).->.global......r
43a40 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 74 61 69 6c 5d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 eturn.[list.$tail]..}.....}.....
43a60 0d 20 20 20 20 23 20 50 6f 74 65 6e 74 69 61 6c 6c 79 20 72 65 74 75 72 6e 69 6e 67 20 32 20 65 .....#.Potentially.returning.2.e
43a80 6c 65 6d 65 6e 74 73 20 74 6f 20 74 72 79 20 20 3a 0d 20 20 20 20 23 20 28 69 66 20 74 68 65 20 lements.to.try..:.....#.(if.the.
43aa0 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 69 73 20 6e 6f 74 20 74 68 65 20 67 6c 6f current.namespace.is.not.the.glo
43ac0 62 61 6c 20 6f 6e 65 29 0d 0d 20 20 20 20 69 66 20 7b 24 6e 20 3d 3d 20 30 7d 20 7b 0d 09 69 66 bal.one)......if.{$n.==.0}.{..if
43ae0 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 3a 5d 7d 20 .{[string.equal.$namespace.::]}.
43b00 7b 0d 09 20 20 20 20 23 20 28 20 6e 6f 63 6f 6c 6f 6e 73 20 2c 20 3a 3a 20 29 20 2d 3e 20 6e 6f {......#.(.nocolons.,.::.).->.no
43b20 63 6f 6c 6f 6e 73 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 63 6d 64 5d 0d 09 colons......return.[list.$cmd]..
43b40 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 23 20 28 20 6e 6f 63 6f 6c 6f 6e 73 20 2c 20 3a 3a 73 }.else.{......#.(.nocolons.,.::s
43b60 75 62 20 29 20 2d 3e 20 3a 3a 73 75 62 3a 3a 6e 6f 63 6f 6c 6f 6e 73 20 6e 6f 63 6f 6c 6f 6e 73 ub.).->.::sub::nocolons.nocolons
43b80 0d 09 20 20 20 20 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 24 7b 6e 61 6d 65 73 70 61 63 65 7d 3a ......return.[list.${namespace}:
43ba0 3a 24 63 6d 64 20 24 63 6d 64 5d 0d 09 7d 0d 20 20 20 20 7d 20 65 6c 73 65 69 66 20 7b 5b 73 74 :$cmd.$cmd]..}.....}.elseif.{[st
43bc0 72 69 6e 67 20 65 71 75 61 6c 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 3a 5d 7d 20 7b 0d 09 23 20 ring.equal.$namespace.::]}.{..#.
43be0 20 28 20 66 6f 6f 3a 3a 62 61 72 20 2c 20 3a 3a 20 29 20 2d 3e 20 3a 3a 66 6f 6f 3a 3a 62 61 72 .(.foo::bar.,.::.).->.::foo::bar
43c00 0d 09 72 65 74 75 72 6e 20 5b 6c 69 73 74 20 3a 3a 24 63 6d 64 5d 0d 20 20 20 20 7d 20 65 6c 73 ..return.[list.::$cmd].....}.els
43c20 65 20 7b 0d 09 23 20 28 20 66 6f 6f 3a 3a 62 61 72 20 2c 20 3a 3a 73 75 62 20 29 20 2d 3e 20 3a e.{..#.(.foo::bar.,.::sub.).->.:
43c40 3a 73 75 62 3a 3a 66 6f 6f 3a 3a 62 61 72 20 3a 3a 66 6f 6f 3a 3a 62 61 72 0d 09 72 65 74 75 72 :sub::foo::bar.::foo::bar..retur
43c60 6e 20 5b 6c 69 73 74 20 24 7b 6e 61 6d 65 73 70 61 63 65 7d 3a 3a 24 63 6d 64 20 3a 3a 24 63 6d n.[list.${namespace}::$cmd.::$cm
43c80 64 5d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 61 75 74 6f 5f 69 6d 70 6f 72 74 20 2d 2d 0d 23 0d 23 d].....}.}..#.auto_import.--.#.#
43ca0 20 49 6e 76 6f 6b 65 64 20 64 75 72 69 6e 67 20 22 6e 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 .Invoked.during."namespace.impor
43cc0 74 22 20 74 6f 20 6d 61 6b 65 20 73 65 65 20 69 66 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 63 t".to.make.see.if.the.imported.c
43ce0 6f 6d 6d 61 6e 64 73 0d 23 20 72 65 73 69 64 65 20 69 6e 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 ommands.#.reside.in.an.autoloade
43d00 64 20 6c 69 62 72 61 72 79 2e 20 20 49 66 20 73 6f 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 d.library...If.so,.the.commands.
43d20 61 72 65 20 6c 6f 61 64 65 64 20 73 6f 0d 23 20 74 68 61 74 20 74 68 65 79 20 77 69 6c 6c 20 62 are.loaded.so.#.that.they.will.b
43d40 65 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 69 6d 70 6f 72 74 20 6c 69 6e 6b 73 e.available.for.the.import.links
43d60 2e 20 20 49 66 20 6e 6f 74 2c 20 74 68 65 6e 20 74 68 69 73 0d 23 20 70 72 6f 63 65 64 75 72 65 ...If.not,.then.this.#.procedure
43d80 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 20 2d 0d 23 .does.nothing..#.#.Arguments.-.#
43da0 20 70 61 74 74 65 72 6e 09 54 68 65 20 70 61 74 74 65 72 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 .pattern.The.pattern.of.commands
43dc0 20 62 65 69 6e 67 20 69 6d 70 6f 72 74 65 64 20 28 6c 69 6b 65 20 22 66 6f 6f 3a 3a 2a 22 29 0d .being.imported.(like."foo::*").
43de0 23 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20 6e 61 6d 65 #...............a.canonical.name
43e00 73 70 61 63 65 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 20 5b 6e 61 6d 65 73 70 61 63 65 20 space.as.returned.by.[namespace.
43e20 63 75 72 72 65 6e 74 5d 0d 0d 70 72 6f 63 20 61 75 74 6f 5f 69 6d 70 6f 72 74 20 7b 70 61 74 74 current]..proc.auto_import.{patt
43e40 65 72 6e 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 69 6e 64 65 78 0d 0d 20 20 ern}.{.....global.auto_index....
43e60 20 20 23 20 49 66 20 6e 6f 20 6e 61 6d 65 73 70 61 63 65 20 69 73 20 73 70 65 63 69 66 69 65 64 ..#.If.no.namespace.is.specified
43e80 2c 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 61 6e 20 65 72 72 6f 72 20 63 61 73 65 0d 0d 20 20 ,.this.will.be.an.error.case....
43ea0 20 20 69 66 20 7b 21 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 20 2a 3a 3a 2a 20 24 70 61 74 74 65 ..if.{![string.match.*::*.$patte
43ec0 72 6e 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 6e 73 rn]}.{..return.....}......set.ns
43ee0 20 5b 75 70 6c 65 76 65 6c 20 31 20 5b 6c 69 73 74 20 3a 3a 6e 61 6d 65 73 70 61 63 65 20 63 75 .[uplevel.1.[list.::namespace.cu
43f00 72 72 65 6e 74 5d 5d 0d 20 20 20 20 73 65 74 20 70 61 74 74 65 72 6e 4c 69 73 74 20 5b 61 75 74 rrent]].....set.patternList.[aut
43f20 6f 5f 71 75 61 6c 69 66 79 20 24 70 61 74 74 65 72 6e 20 24 6e 73 5d 0d 0d 20 20 20 20 61 75 74 o_qualify.$pattern.$ns]......aut
43f40 6f 5f 6c 6f 61 64 5f 69 6e 64 65 78 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 70 61 74 74 65 72 o_load_index......foreach.patter
43f60 6e 20 24 70 61 74 74 65 72 6e 4c 69 73 74 20 7b 0d 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 n.$patternList.{.........foreach
43f80 20 6e 61 6d 65 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 61 75 74 6f 5f 69 6e 64 65 78 20 24 70 .name.[array.names.auto_index.$p
43fa0 61 74 74 65 72 6e 5d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e attern].{.............if.{[strin
43fc0 67 20 65 71 75 61 6c 20 22 22 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 20 24 6e 61 6d 65 5d g.equal."".[info.commands.$name]
43fe0 5d 0d 09 09 20 20 20 20 26 26 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 5b 6e 61 6d 65 73 70 ].......&&.[string.equal.[namesp
44000 61 63 65 20 71 75 61 6c 69 66 69 65 72 73 20 24 70 61 74 74 65 72 6e 5d 20 5c 0d 09 09 09 09 20 ace.qualifiers.$pattern].\......
44020 20 20 20 20 5b 6e 61 6d 65 73 70 61 63 65 20 71 75 61 6c 69 66 69 65 72 73 20 24 6e 61 6d 65 5d ....[namespace.qualifiers.$name]
44040 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 70 6c 65 76 65 6c 20 23 30 20 ]}.{.................uplevel.#0.
44060 24 61 75 74 6f 5f 69 6e 64 65 78 28 24 6e 61 6d 65 29 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d $auto_index($name).............}
44080 0d 20 20 20 20 20 20 20 20 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 61 75 74 6f 5f 65 78 65 63 6f .........}.....}.}..#.auto_execo
440a0 6b 20 2d 2d 0d 23 0d 23 20 52 65 74 75 72 6e 73 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 6e 64 k.--.#.#.Returns.string.that.ind
440c0 69 63 61 74 65 73 20 6e 61 6d 65 20 6f 66 20 70 72 6f 67 72 61 6d 20 74 6f 20 65 78 65 63 75 74 icates.name.of.program.to.execut
440e0 65 20 69 66 20 0d 23 20 6e 61 6d 65 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 61 20 73 68 e.if..#.name.corresponds.to.a.sh
44100 65 6c 6c 20 62 75 69 6c 74 69 6e 20 6f 72 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 69 6e 20 ell.builtin.or.an.executable.in.
44120 74 68 65 0d 23 20 57 69 6e 64 6f 77 73 20 73 65 61 72 63 68 20 70 61 74 68 2c 20 6f 72 20 22 22 the.#.Windows.search.path,.or.""
44140 20 6f 74 68 65 72 77 69 73 65 2e 20 20 42 75 69 6c 64 73 20 61 6e 20 61 73 73 6f 63 69 61 74 69 .otherwise...Builds.an.associati
44160 76 65 20 0d 23 20 61 72 72 61 79 20 61 75 74 6f 5f 65 78 65 63 73 20 74 68 61 74 20 63 61 63 68 ve..#.array.auto_execs.that.cach
44180 65 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 72 65 76 69 6f 75 73 20 63 68 es.information.about.previous.ch
441a0 65 63 6b 73 2c 20 0d 23 20 66 6f 72 20 73 70 65 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 ecks,..#.for.speed..#.#.Argument
441c0 73 3a 20 0d 23 20 6e 61 6d 65 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 s:..#.name.-...Name.of.a.command
441e0 2e 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 77 69 6e 64 6f 77 73 20 24 74 63 ...if.{[string.equal.windows.$tc
44200 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 5d 7d 20 7b 0d 23 20 57 69 6e 64 6f l_platform(platform)]}.{.#.Windo
44220 77 73 20 76 65 72 73 69 6f 6e 2e 0d 23 0d 23 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 66 6f 20 65 ws.version..#.#.Note.that.info.e
44240 78 65 63 75 74 61 62 6c 65 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 75 6e 64 65 72 20 57 69 6e xecutable.doesn't.work.under.Win
44260 64 6f 77 73 2c 20 73 6f 20 77 65 20 68 61 76 65 20 74 6f 0d 23 20 6c 6f 6f 6b 20 66 6f 72 20 66 dows,.so.we.have.to.#.look.for.f
44280 69 6c 65 73 20 77 69 74 68 20 2e 65 78 65 2c 20 2e 63 6f 6d 2c 20 6f 72 20 2e 62 61 74 20 65 78 iles.with..exe,..com,.or..bat.ex
442a0 74 65 6e 73 69 6f 6e 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 70 61 74 68 0d 23 20 6d 61 79 20 tensions...Also,.the.path.#.may.
442c0 62 65 20 69 6e 20 74 68 65 20 50 61 74 68 20 6f 72 20 50 41 54 48 20 65 6e 76 69 72 6f 6e 6d 65 be.in.the.Path.or.PATH.environme
442e0 6e 74 20 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 70 61 74 68 0d 23 20 63 6f 6d 70 6f 6e 65 nt.variables,.and.path.#.compone
44300 6e 74 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 77 69 74 68 20 73 65 6d 69 63 6f 6c 6f 6e nts.are.separated.with.semicolon
44320 73 2c 20 6e 6f 74 20 63 6f 6c 6f 6e 73 20 61 73 20 75 6e 64 65 72 20 55 6e 69 78 2e 0d 23 0d 70 s,.not.colons.as.under.Unix..#.p
44340 72 6f 63 20 61 75 74 6f 5f 65 78 65 63 6f 6b 20 6e 61 6d 65 20 7b 0d 20 20 20 20 67 6c 6f 62 61 roc.auto_execok.name.{.....globa
44360 6c 20 61 75 74 6f 5f 65 78 65 63 73 20 65 6e 76 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 0d 20 l.auto_execs.env.tcl_platform...
44380 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 65 78 65 63 73 28 24 ...if.{[info.exists.auto_execs($
443a0 6e 61 6d 65 29 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 24 61 75 74 6f 5f 65 78 65 63 73 28 24 6e name)]}.{..return.$auto_execs($n
443c0 61 6d 65 29 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e ame).....}.....set.auto_execs($n
443e0 61 6d 65 29 20 22 22 0d 0d 20 20 20 20 73 65 74 20 73 68 65 6c 6c 42 75 69 6c 74 69 6e 73 20 5b ame).""......set.shellBuiltins.[
44400 6c 69 73 74 20 63 6c 73 20 63 6f 70 79 20 64 61 74 65 20 64 65 6c 20 65 72 61 73 65 20 64 69 72 list.cls.copy.date.del.erase.dir
44420 20 65 63 68 6f 20 6d 6b 64 69 72 20 5c 0d 09 20 20 20 20 6d 64 20 72 65 6e 61 6d 65 20 72 65 6e .echo.mkdir.\......md.rename.ren
44440 20 72 6d 64 69 72 20 72 64 20 74 69 6d 65 20 74 79 70 65 20 76 65 72 20 76 6f 6c 5d 0d 20 20 20 .rmdir.rd.time.type.ver.vol]....
44460 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d .if.{[string.equal.$tcl_platform
44480 28 6f 73 29 20 22 57 69 6e 64 6f 77 73 20 4e 54 22 5d 7d 20 7b 0d 09 23 20 4e 54 20 69 6e 63 6c (os)."Windows.NT"]}.{..#.NT.incl
444a0 75 64 65 73 20 74 68 65 20 27 73 74 61 72 74 27 20 62 75 69 6c 74 2d 69 6e 0d 09 6c 61 70 70 65 udes.the.'start'.built-in..lappe
444c0 6e 64 20 73 68 65 6c 6c 42 75 69 6c 74 69 6e 73 20 22 73 74 61 72 74 22 0d 20 20 20 20 7d 0d 20 nd.shellBuiltins."start".....}..
444e0 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 65 6e 76 28 50 41 54 48 45 58 54 29 ...if.{[info.exists.env(PATHEXT)
44500 5d 7d 20 7b 0d 09 23 20 41 64 64 20 61 6e 20 69 6e 69 74 69 61 6c 20 3b 20 74 6f 20 68 61 76 65 ]}.{..#.Add.an.initial.;.to.have
44520 20 74 68 65 20 7b 7d 20 65 78 74 65 6e 73 69 6f 6e 20 63 68 65 63 6b 20 66 69 72 73 74 2e 0d 09 .the.{}.extension.check.first...
44540 73 65 74 20 65 78 65 63 45 78 74 65 6e 73 69 6f 6e 73 20 5b 73 70 6c 69 74 20 22 3b 24 65 6e 76 set.execExtensions.[split.";$env
44560 28 50 41 54 48 45 58 54 29 22 20 22 3b 22 5d 0d 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 73 65 (PATHEXT)".";"].....}.else.{..se
44580 74 20 65 78 65 63 45 78 74 65 6e 73 69 6f 6e 73 20 5b 6c 69 73 74 20 7b 7d 20 2e 63 6f 6d 20 2e t.execExtensions.[list.{}..com..
445a0 65 78 65 20 2e 62 61 74 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 73 65 61 72 63 exe..bat].....}......if.{[lsearc
445c0 68 20 2d 65 78 61 63 74 20 24 73 68 65 6c 6c 42 75 69 6c 74 69 6e 73 20 24 6e 61 6d 65 5d 20 21 h.-exact.$shellBuiltins.$name].!
445e0 3d 20 2d 31 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 =.-1}.{..return.[set.auto_execs(
44600 24 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 65 6e 76 28 43 4f 4d 53 50 45 43 29 20 2f 63 20 24 6e $name).[list.$env(COMSPEC)./c.$n
44620 61 6d 65 5d 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 66 ame]].....}......if.{[llength.[f
44640 69 6c 65 20 73 70 6c 69 74 20 24 6e 61 6d 65 5d 5d 20 21 3d 20 31 7d 20 7b 0d 09 66 6f 72 65 61 ile.split.$name]].!=.1}.{..forea
44660 63 68 20 65 78 74 20 24 65 78 65 63 45 78 74 65 6e 73 69 6f 6e 73 20 7b 0d 09 20 20 20 20 73 65 ch.ext.$execExtensions.{......se
44680 74 20 66 69 6c 65 20 24 7b 6e 61 6d 65 7d 24 7b 65 78 74 7d 0d 09 20 20 20 20 69 66 20 7b 5b 66 t.file.${name}${ext}......if.{[f
446a0 69 6c 65 20 65 78 69 73 74 73 20 24 66 69 6c 65 5d 20 26 26 20 21 5b 66 69 6c 65 20 69 73 64 69 ile.exists.$file].&&.![file.isdi
446c0 72 65 63 74 6f 72 79 20 24 66 69 6c 65 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 5b 73 65 74 20 rectory.$file]}.{...return.[set.
446e0 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 66 69 6c 65 5d 5d 0d auto_execs($name).[list.$file]].
44700 09 20 20 20 20 7d 0d 09 7d 0d 09 72 65 74 75 72 6e 20 22 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 .....}..}..return."".....}......
44720 73 65 74 20 70 61 74 68 20 22 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 5b 69 6e 66 6f 20 6e 61 set.path."[file.dirname.[info.na
44740 6d 65 6f 66 5d 5d 3b 2e 3b 22 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 meof]];.;".....if.{[info.exists.
44760 65 6e 76 28 57 49 4e 44 49 52 29 5d 7d 20 7b 0d 09 73 65 74 20 77 69 6e 64 69 72 20 24 65 6e 76 env(WINDIR)]}.{..set.windir.$env
44780 28 57 49 4e 44 49 52 29 20 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 69 6e 66 6f 20 65 78 (WINDIR)......}.....if.{[info.ex
447a0 69 73 74 73 20 77 69 6e 64 69 72 5d 7d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 ists.windir]}.{..if.{[string.equ
447c0 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 6f 73 29 20 22 57 69 6e 64 6f 77 73 20 4e 54 al.$tcl_platform(os)."Windows.NT
447e0 22 5d 7d 20 7b 0d 09 20 20 20 20 61 70 70 65 6e 64 20 70 61 74 68 20 22 24 77 69 6e 64 69 72 2f "]}.{......append.path."$windir/
44800 73 79 73 74 65 6d 33 32 3b 22 0d 09 7d 0d 09 61 70 70 65 6e 64 20 70 61 74 68 20 22 24 77 69 6e system32;"..}..append.path."$win
44820 64 69 72 2f 73 79 73 74 65 6d 3b 24 77 69 6e 64 69 72 3b 22 0d 20 20 20 20 7d 0d 0d 20 20 20 20 dir/system;$windir;".....}......
44840 66 6f 72 65 61 63 68 20 76 61 72 20 7b 50 41 54 48 20 50 61 74 68 20 70 61 74 68 7d 20 7b 0d 09 foreach.var.{PATH.Path.path}.{..
44860 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 65 6e 76 28 24 76 61 72 29 5d 7d 20 7b 0d 09 if.{[info.exists.env($var)]}.{..
44880 20 20 20 20 61 70 70 65 6e 64 20 70 61 74 68 20 22 3b 24 65 6e 76 28 24 76 61 72 29 22 0d 09 7d ....append.path.";$env($var)"..}
448a0 0d 20 20 20 20 7d 0d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 64 69 72 20 5b 73 70 6c 69 74 20 24 .....}......foreach.dir.[split.$
448c0 70 61 74 68 20 7b 3b 7d 5d 20 7b 0d 09 23 20 53 6b 69 70 20 61 6c 72 65 61 64 79 20 63 68 65 63 path.{;}].{..#.Skip.already.chec
448e0 6b 65 64 20 64 69 72 65 63 74 6f 72 69 65 73 0d 09 69 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 ked.directories..if.{[info.exist
44900 73 20 63 68 65 63 6b 65 64 28 24 64 69 72 29 5d 20 7c 7c 20 5b 73 74 72 69 6e 67 20 65 71 75 61 s.checked($dir)].||.[string.equa
44920 6c 20 7b 7d 20 24 64 69 72 5d 7d 20 7b 20 63 6f 6e 74 69 6e 75 65 20 7d 0d 09 73 65 74 20 63 68 l.{}.$dir]}.{.continue.}..set.ch
44940 65 63 6b 65 64 28 24 64 69 72 29 20 7b 7d 0d 09 66 6f 72 65 61 63 68 20 65 78 74 20 24 65 78 65 ecked($dir).{}..foreach.ext.$exe
44960 63 45 78 74 65 6e 73 69 6f 6e 73 20 7b 0d 09 20 20 20 20 73 65 74 20 66 69 6c 65 20 5b 66 69 6c cExtensions.{......set.file.[fil
44980 65 20 6a 6f 69 6e 20 24 64 69 72 20 24 7b 6e 61 6d 65 7d 24 7b 65 78 74 7d 5d 0d 09 20 20 20 20 e.join.$dir.${name}${ext}]......
449a0 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 66 69 6c 65 5d 20 26 26 20 21 5b 66 69 6c if.{[file.exists.$file].&&.![fil
449c0 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 66 69 6c 65 5d 7d 20 7b 0d 09 09 72 65 74 75 72 6e e.isdirectory.$file]}.{...return
449e0 20 5b 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 5b 6c 69 73 74 20 24 66 .[set.auto_execs($name).[list.$f
44a00 69 6c 65 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e ile]]......}..}.....}.....return
44a20 20 22 22 0d 7d 0d 0d 7d 20 65 6c 73 65 20 7b 0d 23 20 55 6e 69 78 20 76 65 72 73 69 6f 6e 2e 0d ."".}..}.else.{.#.Unix.version..
44a40 23 0d 70 72 6f 63 20 61 75 74 6f 5f 65 78 65 63 6f 6b 20 6e 61 6d 65 20 7b 0d 20 20 20 20 67 6c #.proc.auto_execok.name.{.....gl
44a60 6f 62 61 6c 20 61 75 74 6f 5f 65 78 65 63 73 20 65 6e 76 0d 0d 20 20 20 20 69 66 20 7b 5b 69 6e obal.auto_execs.env......if.{[in
44a80 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 5d 7d 20 7b 0d fo.exists.auto_execs($name)]}.{.
44aa0 09 72 65 74 75 72 6e 20 24 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 0d 20 20 20 20 7d .return.$auto_execs($name).....}
44ac0 0d 20 20 20 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 20 22 22 0d 20 20 .....set.auto_execs($name).""...
44ae0 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 5b 66 69 6c 65 20 73 70 6c 69 74 20 24 6e 61 6d 65 ..if.{[llength.[file.split.$name
44b00 5d 5d 20 21 3d 20 31 7d 20 7b 0d 09 69 66 20 7b 5b 66 69 6c 65 20 65 78 65 63 75 74 61 62 6c 65 ]].!=.1}.{..if.{[file.executable
44b20 20 24 6e 61 6d 65 5d 20 26 26 20 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 24 6e .$name].&&.![file.isdirectory.$n
44b40 61 6d 65 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d ame]}.{......set.auto_execs($nam
44b60 65 29 20 5b 6c 69 73 74 20 24 6e 61 6d 65 5d 0d 09 7d 0d 09 72 65 74 75 72 6e 20 24 61 75 74 6f e).[list.$name]..}..return.$auto
44b80 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 _execs($name).....}.....foreach.
44ba0 64 69 72 20 5b 73 70 6c 69 74 20 24 65 6e 76 28 50 41 54 48 29 20 3a 5d 20 7b 0d 09 69 66 20 7b dir.[split.$env(PATH).:].{..if.{
44bc0 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 64 69 72 20 22 22 5d 7d 20 7b 0d 09 20 20 20 20 73 [string.equal.$dir.""]}.{......s
44be0 65 74 20 64 69 72 20 2e 0d 09 7d 0d 09 73 65 74 20 66 69 6c 65 20 5b 66 69 6c 65 20 6a 6f 69 6e et.dir....}..set.file.[file.join
44c00 20 24 64 69 72 20 24 6e 61 6d 65 5d 0d 09 69 66 20 7b 5b 66 69 6c 65 20 65 78 65 63 75 74 61 62 .$dir.$name]..if.{[file.executab
44c20 6c 65 20 24 66 69 6c 65 5d 20 26 26 20 21 5b 66 69 6c 65 20 69 73 64 69 72 65 63 74 6f 72 79 20 le.$file].&&.![file.isdirectory.
44c40 24 66 69 6c 65 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 61 75 74 6f 5f 65 78 65 63 73 28 24 6e $file]}.{......set.auto_execs($n
44c60 61 6d 65 29 20 5b 6c 69 73 74 20 24 66 69 6c 65 5d 0d 09 20 20 20 20 72 65 74 75 72 6e 20 24 61 ame).[list.$file]......return.$a
44c80 75 74 6f 5f 65 78 65 63 73 28 24 6e 61 6d 65 29 0d 09 7d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 uto_execs($name)..}.....}.....re
44ca0 74 75 72 6e 20 22 22 0d 7d 0d 0d 7d 0d 00 00 50 60 23 20 70 61 63 6b 61 67 65 2e 74 63 6c 20 2d turn."".}..}...P`#.package.tcl.-
44cc0 2d 0d 23 0d 23 20 75 74 69 6c 69 74 79 20 70 72 6f 63 73 20 66 6f 72 6d 65 72 6c 79 20 69 6e 20 -.#.#.utility.procs.formerly.in.
44ce0 69 6e 69 74 2e 74 63 6c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 64 20 6f 6e 20 init.tcl.which.can.be.loaded.on.
44d00 64 65 6d 61 6e 64 0d 23 20 66 6f 72 20 70 61 63 6b 61 67 65 20 6d 61 6e 61 67 65 6d 65 6e 74 2e demand.#.for.package.management.
44d20 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 70 61 63 6b 61 67 65 2e 74 63 6c 2c .#.#.RCS:.@(#).$Id:.package.tcl,
44d40 76 20 31 2e 31 34 2e 32 2e 32 20 32 30 30 31 2f 30 38 2f 32 34 20 31 36 3a 31 39 3a 31 30 20 64 v.1.14.2.2.2001/08/24.16:19:10.d
44d60 67 70 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 31 2d gp.Exp.$.#.#.Copyright.(c).1991-
44d80 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 1993.The.Regents.of.the.Universi
44da0 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 ty.of.California..#.Copyright.(c
44dc0 29 20 31 39 39 34 2d 31 39 39 38 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c 20 49 6e ).1994-1998.Sun.Microsystems,.In
44de0 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 c..#.#.See.the.file."license.ter
44e00 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 ms".for.information.on.usage.and
44e20 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 .redistribution.#.of.this.file,.
44e40 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 and.for.a.DISCLAIMER.OF.ALL.WARR
44e60 41 4e 54 49 45 53 2e 0d 23 0d 0d 23 20 43 72 65 61 74 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 ANTIES..#..#.Create.the.package.
44e80 6e 61 6d 65 73 70 61 63 65 0d 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 3a 3a 70 6b 67 20 7b namespace.namespace.eval.::pkg.{
44ea0 0d 7d 0d 0d 23 20 70 6b 67 5f 63 6f 6d 70 61 72 65 45 78 74 65 6e 73 69 6f 6e 20 2d 2d 0d 23 0d .}..#.pkg_compareExtension.--.#.
44ec0 23 20 20 55 73 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 62 79 20 70 6b 67 5f 6d 6b 49 6e 64 65 #..Used.internally.by.pkg_mkInde
44ee0 78 20 74 6f 20 63 6f 6d 70 61 72 65 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 61 20 x.to.compare.the.extension.of.a.
44f00 66 69 6c 65 20 74 6f 0d 23 20 20 61 20 67 69 76 65 6e 20 65 78 74 65 6e 73 69 6f 6e 2e 20 4f 6e file.to.#..a.given.extension..On
44f20 20 57 69 6e 64 6f 77 73 2c 20 69 74 20 75 73 65 73 20 61 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 .Windows,.it.uses.a.case-insensi
44f40 74 69 76 65 20 63 6f 6d 70 61 72 69 73 6f 6e 0d 23 20 20 62 65 63 61 75 73 65 20 74 68 65 20 66 tive.comparison.#..because.the.f
44f60 69 6c 65 20 73 79 73 74 65 6d 20 63 61 6e 20 62 65 20 66 69 6c 65 20 69 6e 73 65 6e 73 69 74 69 ile.system.can.be.file.insensiti
44f80 76 65 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 20 66 69 6c 65 4e 61 6d 65 09 6e ve..#.#.Arguments:.#..fileName.n
44fa0 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 20 77 68 6f 73 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 ame.of.a.file.whose.extension.is
44fc0 20 63 6f 6d 70 61 72 65 64 0d 23 20 20 65 78 74 09 09 28 6f 70 74 69 6f 6e 61 6c 29 20 54 68 65 .compared.#..ext..(optional).The
44fe0 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 63 6f 6d 70 61 72 65 20 61 67 61 69 6e 73 74 3b 20 79 .extension.to.compare.against;.y
45000 6f 75 20 6d 75 73 74 0d 23 09 09 70 72 6f 76 69 64 65 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 ou.must.#..provide.the.starting.
45020 64 6f 74 2e 0d 23 09 09 44 65 66 61 75 6c 74 73 20 74 6f 20 5b 69 6e 66 6f 20 73 68 61 72 65 64 dot..#..Defaults.to.[info.shared
45040 6c 69 62 65 78 74 65 6e 73 69 6f 6e 5d 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 20 20 52 65 libextension].#.#.Results:.#..Re
45060 74 75 72 6e 73 20 31 20 69 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6d 61 74 63 68 65 73 turns.1.if.the.extension.matches
45080 2c 20 30 20 6f 74 68 65 72 77 69 73 65 0d 0d 70 72 6f 63 20 70 6b 67 5f 63 6f 6d 70 61 72 65 45 ,.0.otherwise..proc.pkg_compareE
450a0 78 74 65 6e 73 69 6f 6e 20 7b 20 66 69 6c 65 4e 61 6d 65 20 7b 65 78 74 20 7b 7d 7d 20 7d 20 7b xtension.{.fileName.{ext.{}}.}.{
450c0 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 0d 20 20 20 20 69 66 20 .....global.tcl_platform.....if.
450e0 7b 21 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 65 78 74 5d 7d 20 7b 73 65 74 20 65 78 74 {![string.length.$ext]}.{set.ext
45100 20 5b 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62 65 78 74 65 6e 73 69 6f 6e 5d 7d 0d 20 20 20 20 .[info.sharedlibextension]}.....
45120 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 if.{[string.equal.$tcl_platform(
45140 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 platform)."windows"]}.{.........
45160 72 65 74 75 72 6e 20 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 2d 6e 6f 63 61 73 65 20 5b 66 69 return.[string.equal.-nocase.[fi
45180 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 24 66 69 6c 65 4e 61 6d 65 5d 20 24 65 78 74 5d 0d 20 20 le.extension.$fileName].$ext]...
451a0 20 20 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 20 20 20 20 23 20 53 6f 6d 65 20 75 6e 69 63 65 73 ..}.else.{.........#.Some.unices
451c0 20 61 64 64 20 74 72 61 69 6c 69 6e 67 20 6e 75 6d 62 65 72 73 20 61 66 74 65 72 20 74 68 65 20 .add.trailing.numbers.after.the.
451e0 2e 73 6f 2c 20 73 6f 0d 20 20 20 20 20 20 20 20 23 20 77 65 20 63 6f 75 6c 64 20 68 61 76 65 20 .so,.so.........#.we.could.have.
45200 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 27 2e 73 6f 2e 31 2e 32 27 2e 0d 20 20 20 20 20 20 something.like.'.so.1.2'........
45220 20 20 73 65 74 20 72 6f 6f 74 20 24 66 69 6c 65 4e 61 6d 65 0d 20 20 20 20 20 20 20 20 77 68 69 ..set.root.$fileName.........whi
45240 6c 65 20 7b 31 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 63 75 72 72 45 78 74 le.{1}.{.............set.currExt
45260 20 5b 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 24 72 6f 6f 74 5d 0d 20 20 20 20 20 20 20 20 .[file.extension.$root].........
45280 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 63 75 72 72 45 78 74 20 24 ....if.{[string.equal.$currExt.$
452a0 65 78 74 5d 7d 20 7b 0d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 ext]}.{.................return.1
452c0 0d 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 0d 0d 09 20 20 20 20 23 20 54 68 65 20 63 75 72 72 .............}........#.The.curr
452e0 65 6e 74 20 65 78 74 65 6e 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 3b 20 69 66 ent.extension.does.not.match;.if
45300 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6e 75 6d 65 72 69 63 0d 09 20 20 20 20 23 20 76 61 6c 75 .it.is.not.a.numeric......#.valu
45320 65 2c 20 71 75 69 74 2c 20 61 73 20 77 65 20 61 72 65 20 6f 6e 6c 79 20 6c 6f 6f 6b 69 6e 67 20 e,.quit,.as.we.are.only.looking.
45340 74 6f 20 69 67 6e 6f 72 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 0d 09 20 20 20 20 23 20 to.ignore.version.number......#.
45360 65 78 74 65 6e 73 69 6f 6e 73 2e 20 20 4f 74 68 65 72 77 69 73 65 20 77 65 20 6d 69 67 68 74 20 extensions...Otherwise.we.might.
45380 72 65 74 75 72 6e 20 31 20 69 6e 20 74 68 69 73 20 63 61 73 65 3a 0d 09 20 20 20 20 23 09 09 70 return.1.in.this.case:......#..p
453a0 6b 67 5f 63 6f 6d 70 61 72 65 45 78 74 65 6e 73 69 6f 6e 20 66 6f 6f 2e 73 6f 2e 62 61 72 20 2e kg_compareExtension.foo.so.bar..
453c0 73 6f 0d 09 20 20 20 20 23 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 61 74 63 68 so......#.which.should.not.match
453e0 2e 0d 0d 09 20 20 20 20 69 66 20 7b 20 21 5b 73 74 72 69 6e 67 20 69 73 20 69 6e 74 65 67 65 72 ........if.{.![string.is.integer
45400 20 2d 73 74 72 69 63 74 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 63 75 72 72 45 78 74 20 .-strict.[string.range.$currExt.
45420 31 20 65 6e 64 5d 5d 20 7d 20 7b 0d 09 09 72 65 74 75 72 6e 20 30 0d 09 20 20 20 20 7d 0d 20 20 1.end]].}.{...return.0......}...
45440 20 20 20 20 20 20 20 20 20 20 73 65 74 20 72 6f 6f 74 20 5b 66 69 6c 65 20 72 6f 6f 74 6e 61 6d ..........set.root.[file.rootnam
45460 65 20 24 72 6f 6f 74 5d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 70 6b 67 5f 6d 6b 49 6e 64 e.$root]..}.....}.}..#.pkg_mkInd
45480 65 78 20 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 63 72 65 61 74 65 73 20 61 ex.--.#.This.procedure.creates.a
454a0 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 69 6e 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74 .package.index.in.a.given.direct
454c0 6f 72 79 2e 20 20 54 68 65 0d 23 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 63 6f 6e 73 69 73 ory...The.#.package.index.consis
454e0 74 73 20 6f 66 20 61 20 22 70 6b 67 49 6e 64 65 78 2e 74 63 6c 22 20 66 69 6c 65 20 77 68 6f 73 ts.of.a."pkgIndex.tcl".file.whos
45500 65 20 63 6f 6e 74 65 6e 74 73 20 61 72 65 0d 23 20 61 20 54 63 6c 20 73 63 72 69 70 74 20 74 68 e.contents.are.#.a.Tcl.script.th
45520 61 74 20 73 65 74 73 20 75 70 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 at.sets.up.package.information.w
45540 69 74 68 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 22 0d 23 20 63 6f 6d 6d 61 6e 64 73 ith."package.require".#.commands
45560 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 64 65 73 63 72 69 62 65 20 61 6c 6c 20 6f 66 20 ...The.commands.describe.all.of.
45580 74 68 65 20 70 61 63 6b 61 67 65 73 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 0d 23 20 66 69 the.packages.defined.by.the.#.fi
455a0 6c 65 73 20 67 69 76 65 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 0d 23 0d 23 20 41 72 67 75 les.given.as.arguments..#.#.Argu
455c0 6d 65 6e 74 73 3a 0d 23 20 2d 64 69 72 65 63 74 09 09 28 6f 70 74 69 6f 6e 61 6c 29 20 49 66 20 ments:.#.-direct..(optional).If.
455e0 74 68 69 73 20 66 6c 61 67 20 69 73 20 70 72 65 73 65 6e 74 2c 20 74 68 65 20 67 65 6e 65 72 61 this.flag.is.present,.the.genera
45600 74 65 64 0d 23 09 09 09 63 6f 64 65 20 69 6e 20 70 6b 67 4d 6b 49 6e 64 65 78 2e 74 63 6c 20 77 ted.#...code.in.pkgMkIndex.tcl.w
45620 69 6c 6c 20 63 61 75 73 65 20 74 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 0d 23 09 09 09 ill.cause.the.package.to.be.#...
45640 6c 6f 61 64 65 64 20 77 68 65 6e 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 22 20 69 73 loaded.when."package.require".is
45660 20 65 78 65 63 75 74 65 64 2c 20 72 61 74 68 65 72 0d 23 09 09 09 74 68 61 6e 20 6c 61 7a 69 6c .executed,.rather.#...than.lazil
45680 79 20 77 68 65 6e 20 74 68 65 20 66 69 72 73 74 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 6e y.when.the.first.reference.to.an
456a0 20 65 78 70 6f 72 74 65 64 0d 23 09 09 09 70 72 6f 63 65 64 75 72 65 20 69 6e 20 74 68 65 20 70 .exported.#...procedure.in.the.p
456c0 61 63 6b 61 67 65 20 69 73 20 6d 61 64 65 2e 0d 23 20 2d 76 65 72 62 6f 73 65 09 09 28 6f 70 74 ackage.is.made..#.-verbose..(opt
456e0 69 6f 6e 61 6c 29 20 56 65 72 62 6f 73 65 20 6f 75 74 70 75 74 3b 20 74 68 65 20 6e 61 6d 65 20 ional).Verbose.output;.the.name.
45700 6f 66 20 65 61 63 68 20 66 69 6c 65 20 74 68 61 74 0d 23 09 09 09 77 61 73 20 73 75 63 63 65 73 of.each.file.that.#...was.succes
45720 73 66 75 6c 6c 79 20 72 6f 63 65 73 73 65 64 20 69 73 20 70 72 69 6e 74 65 64 20 6f 75 74 2e 20 sfully.rocessed.is.printed.out..
45740 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 0d 23 09 09 09 69 66 20 70 72 6f 63 65 73 73 69 6e 67 20 Additionally,.#...if.processing.
45760 6f 66 20 61 20 66 69 6c 65 20 66 61 69 6c 65 64 20 61 20 6d 65 73 73 61 67 65 20 69 73 20 70 72 of.a.file.failed.a.message.is.pr
45780 69 6e 74 65 64 2e 0d 23 20 2d 6c 6f 61 64 20 70 61 74 09 09 28 6f 70 74 69 6f 6e 61 6c 29 20 50 inted..#.-load.pat..(optional).P
457a0 72 65 6c 6f 61 64 20 61 6e 79 20 70 61 63 6b 61 67 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 73 20 reload.any.packages.whose.names.
457c0 6d 61 74 63 68 0d 23 09 09 09 74 68 65 20 70 61 74 74 65 72 6e 2e 20 20 55 73 65 64 20 74 6f 20 match.#...the.pattern...Used.to.
457e0 68 61 6e 64 6c 65 20 44 4c 4c 73 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 0d 23 09 09 09 6f handle.DLLs.that.depend.on.#...o
45800 74 68 65 72 20 70 61 63 6b 61 67 65 73 20 64 75 72 69 6e 67 20 74 68 65 69 72 20 49 6e 69 74 20 ther.packages.during.their.Init.
45820 70 72 6f 63 65 64 75 72 65 2e 0d 23 20 64 69 72 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 procedure..#.dir.-...Name.of.the
45840 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 74 6f 20 63 72 65 61 74 65 20 74 68 .directory.in.which.to.create.th
45860 65 20 69 6e 64 65 78 2e 0d 23 20 61 72 67 73 20 2d 09 09 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 e.index..#.args.-..Any.number.of
45880 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 61 63 68 20 67 69 76 69 .additional.arguments,.each.givi
458a0 6e 67 0d 23 09 09 09 61 20 67 6c 6f 62 20 70 61 74 74 65 72 6e 20 74 68 61 74 20 6d 61 74 63 68 ng.#...a.glob.pattern.that.match
458c0 65 73 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 6f 6e 65 20 6f 72 0d 23 09 09 09 6d 6f 72 65 20 es.the.names.of.one.or.#...more.
458e0 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 20 6f 72 20 54 63 6c 20 73 63 72 69 70 74 20 66 shared.libraries.or.Tcl.script.f
45900 69 6c 65 73 20 69 6e 0d 23 09 09 09 64 69 72 2e 0d 0d 70 72 6f 63 20 70 6b 67 5f 6d 6b 49 6e 64 iles.in.#...dir...proc.pkg_mkInd
45920 65 78 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f 64 65 ex.{args}.{.....global.errorCode
45940 20 65 72 72 6f 72 49 6e 66 6f 0d 20 20 20 20 73 65 74 20 75 73 61 67 65 20 7b 22 70 6b 67 5f 6d .errorInfo.....set.usage.{"pkg_m
45960 6b 49 6e 64 65 78 20 3f 2d 64 69 72 65 63 74 3f 20 3f 2d 6c 61 7a 79 3f 20 3f 2d 6c 6f 61 64 20 kIndex.?-direct?.?-lazy?.?-load.
45980 70 61 74 74 65 72 6e 3f 20 3f 2d 76 65 72 62 6f 73 65 3f 20 3f 2d 2d 3f 20 64 69 72 20 3f 70 61 pattern?.?-verbose?.?--?.dir.?pa
459a0 74 74 65 72 6e 20 2e 2e 2e 3f 22 7d 3b 0d 0d 20 20 20 20 73 65 74 20 61 72 67 43 6f 75 6e 74 20 ttern....?"};......set.argCount.
459c0 5b 6c 6c 65 6e 67 74 68 20 24 61 72 67 73 5d 0d 20 20 20 20 69 66 20 7b 24 61 72 67 43 6f 75 6e [llength.$args].....if.{$argCoun
459e0 74 20 3c 20 31 7d 20 7b 0d 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 22 77 72 t.<.1}.{..return.-code.error."wr
45a00 6f 6e 67 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 5c 6e 24 75 73 61 67 65 22 0d 20 ong.#.args:.should.be\n$usage"..
45a20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 6d 6f 72 65 20 22 22 0d 20 20 20 20 73 65 74 20 64 69 ...}......set.more."".....set.di
45a40 72 65 63 74 20 31 0d 20 20 20 20 73 65 74 20 64 6f 56 65 72 62 6f 73 65 20 30 0d 20 20 20 20 73 rect.1.....set.doVerbose.0.....s
45a60 65 74 20 6c 6f 61 64 50 61 74 20 22 22 0d 20 20 20 20 66 6f 72 20 7b 73 65 74 20 69 64 78 20 30 et.loadPat."".....for.{set.idx.0
45a80 7d 20 7b 24 69 64 78 20 3c 20 24 61 72 67 43 6f 75 6e 74 7d 20 7b 69 6e 63 72 20 69 64 78 7d 20 }.{$idx.<.$argCount}.{incr.idx}.
45aa0 7b 0d 09 73 65 74 20 66 6c 61 67 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 24 69 64 78 5d 0d {..set.flag.[lindex.$args.$idx].
45ac0 09 73 77 69 74 63 68 20 2d 67 6c 6f 62 20 2d 2d 20 24 66 6c 61 67 20 7b 0d 09 20 20 20 20 2d 2d .switch.-glob.--.$flag.{......--
45ae0 20 7b 0d 09 09 23 20 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 66 6c 61 67 73 0d 09 09 69 6e 63 .{...#.done.with.the.flags...inc
45b00 72 20 69 64 78 0d 09 09 62 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 2d 76 65 72 62 6f r.idx...break......}......-verbo
45b20 73 65 20 7b 0d 09 09 73 65 74 20 64 6f 56 65 72 62 6f 73 65 20 31 0d 09 20 20 20 20 7d 0d 09 20 se.{...set.doVerbose.1......}...
45b40 20 20 20 2d 6c 61 7a 79 20 7b 0d 09 09 73 65 74 20 64 69 72 65 63 74 20 30 0d 09 09 61 70 70 65 ...-lazy.{...set.direct.0...appe
45b60 6e 64 20 6d 6f 72 65 20 22 20 2d 6c 61 7a 79 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 2d 64 69 nd.more.".-lazy"......}......-di
45b80 72 65 63 74 20 7b 0d 09 09 61 70 70 65 6e 64 20 6d 6f 72 65 20 22 20 2d 64 69 72 65 63 74 22 0d rect.{...append.more.".-direct".
45ba0 09 20 20 20 20 7d 0d 09 20 20 20 20 2d 6c 6f 61 64 20 7b 0d 09 09 69 6e 63 72 20 69 64 78 0d 09 .....}......-load.{...incr.idx..
45bc0 09 73 65 74 20 6c 6f 61 64 50 61 74 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 24 69 64 78 5d .set.loadPat.[lindex.$args.$idx]
45be0 0d 09 09 61 70 70 65 6e 64 20 6d 6f 72 65 20 22 20 2d 6c 6f 61 64 20 24 6c 6f 61 64 50 61 74 22 ...append.more.".-load.$loadPat"
45c00 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 2d 2a 20 7b 0d 09 09 72 65 74 75 72 6e 20 2d 63 6f 64 65 ......}......-*.{...return.-code
45c20 20 65 72 72 6f 72 20 22 75 6e 6b 6e 6f 77 6e 20 66 6c 61 67 20 24 66 6c 61 67 3a 20 73 68 6f 75 .error."unknown.flag.$flag:.shou
45c40 6c 64 20 62 65 5c 6e 24 75 73 61 67 65 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 64 65 66 61 75 ld.be\n$usage"......}......defau
45c60 6c 74 20 7b 0d 09 09 23 20 64 6f 6e 65 20 77 69 74 68 20 74 68 65 20 66 6c 61 67 73 0d 09 09 62 lt.{...#.done.with.the.flags...b
45c80 72 65 61 6b 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 74 20 64 69 reak......}..}.....}......set.di
45ca0 72 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 24 69 64 78 5d 0d 20 20 20 20 73 65 74 20 70 61 r.[lindex.$args.$idx].....set.pa
45cc0 74 74 65 72 6e 4c 69 73 74 20 5b 6c 72 61 6e 67 65 20 24 61 72 67 73 20 5b 65 78 70 72 20 7b 24 tternList.[lrange.$args.[expr.{$
45ce0 69 64 78 20 2b 20 31 7d 5d 20 65 6e 64 5d 0d 20 20 20 20 69 66 20 7b 5b 6c 6c 65 6e 67 74 68 20 idx.+.1}].end].....if.{[llength.
45d00 24 70 61 74 74 65 72 6e 4c 69 73 74 5d 20 3d 3d 20 30 7d 20 7b 0d 09 73 65 74 20 70 61 74 74 65 $patternList].==.0}.{..set.patte
45d20 72 6e 4c 69 73 74 20 5b 6c 69 73 74 20 22 2a 2e 74 63 6c 22 20 22 2a 5b 69 6e 66 6f 20 73 68 61 rnList.[list."*.tcl"."*[info.sha
45d40 72 65 64 6c 69 62 65 78 74 65 6e 73 69 6f 6e 5d 22 5d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 73 65 redlibextension]"].....}......se
45d60 74 20 6f 6c 64 44 69 72 20 5b 70 77 64 5d 0d 20 20 20 20 63 64 20 24 64 69 72 0d 0d 20 20 20 20 t.oldDir.[pwd].....cd.$dir......
45d80 69 66 20 7b 5b 63 61 74 63 68 20 7b 65 76 61 6c 20 67 6c 6f 62 20 24 70 61 74 74 65 72 6e 4c 69 if.{[catch.{eval.glob.$patternLi
45da0 73 74 7d 20 66 69 6c 65 4c 69 73 74 5d 7d 20 7b 0d 09 67 6c 6f 62 61 6c 20 65 72 72 6f 72 43 6f st}.fileList]}.{..global.errorCo
45dc0 64 65 20 65 72 72 6f 72 49 6e 66 6f 0d 09 63 64 20 24 6f 6c 64 44 69 72 0d 09 72 65 74 75 72 6e de.errorInfo..cd.$oldDir..return
45de0 20 2d 63 6f 64 65 20 65 72 72 6f 72 20 2d 65 72 72 6f 72 63 6f 64 65 20 24 65 72 72 6f 72 43 6f .-code.error.-errorcode.$errorCo
45e00 64 65 20 2d 65 72 72 6f 72 69 6e 66 6f 20 24 65 72 72 6f 72 49 6e 66 6f 20 24 66 69 6c 65 4c 69 de.-errorinfo.$errorInfo.$fileLi
45e20 73 74 0d 20 20 20 20 7d 0d 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 6c 65 20 24 66 69 6c 65 4c st.....}.....foreach.file.$fileL
45e40 69 73 74 20 7b 0d 09 23 20 46 6f 72 20 65 61 63 68 20 66 69 6c 65 2c 20 66 69 67 75 72 65 20 6f ist.{..#.For.each.file,.figure.o
45e60 75 74 20 77 68 61 74 20 63 6f 6d 6d 61 6e 64 73 20 61 6e 64 20 70 61 63 6b 61 67 65 73 20 69 74 ut.what.commands.and.packages.it
45e80 20 70 72 6f 76 69 64 65 73 2e 0d 09 23 20 54 6f 20 64 6f 20 74 68 69 73 2c 20 63 72 65 61 74 65 .provides...#.To.do.this,.create
45ea0 20 61 20 63 68 69 6c 64 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 6c 6f 61 64 20 74 68 65 20 66 .a.child.interpreter,.load.the.f
45ec0 69 6c 65 20 69 6e 74 6f 20 74 68 65 0d 09 23 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 61 6e 64 ile.into.the..#.interpreter,.and
45ee0 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 .get.a.list.of.the.new.commands.
45f00 61 6e 64 20 70 61 63 6b 61 67 65 73 0d 09 23 20 74 68 61 74 20 61 72 65 20 64 65 66 69 6e 65 64 and.packages..#.that.are.defined
45f20 2e 0d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 66 69 6c 65 20 22 70 6b 67 ....if.{[string.equal.$file."pkg
45f40 49 6e 64 65 78 2e 74 63 6c 22 5d 7d 20 7b 0d 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 0d 09 7d 0d Index.tcl"]}.{......continue..}.
45f60 0d 09 23 20 43 68 61 6e 67 65 64 20 62 61 63 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c ..#.Changed.back.to.the.original
45f80 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 74 .directory.before.initializing.t
45fa0 68 65 0d 09 23 20 73 6c 61 76 65 20 69 6e 20 63 61 73 65 20 54 43 4c 5f 4c 49 42 52 41 52 59 20 he..#.slave.in.case.TCL_LIBRARY.
45fc0 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 28 65 2e 67 2e 20 69 6e 20 74 68 65 20 is.a.relative.path.(e.g..in.the.
45fe0 74 65 73 74 0d 09 23 20 73 75 69 74 65 29 2e 20 0d 0d 09 63 64 20 24 6f 6c 64 44 69 72 0d 09 73 test..#.suite).....cd.$oldDir..s
46000 65 74 20 63 20 5b 69 6e 74 65 72 70 20 63 72 65 61 74 65 5d 0d 0d 09 23 20 4c 6f 61 64 20 69 6e et.c.[interp.create]...#.Load.in
46020 74 6f 20 74 68 65 20 63 68 69 6c 64 20 61 6e 79 20 70 61 63 6b 61 67 65 73 20 63 75 72 72 65 6e to.the.child.any.packages.curren
46040 74 6c 79 20 6c 6f 61 64 65 64 20 69 6e 20 74 68 65 20 70 61 72 65 6e 74 0d 09 23 20 69 6e 74 65 tly.loaded.in.the.parent..#.inte
46060 72 70 72 65 74 65 72 20 74 68 61 74 20 6d 61 74 63 68 20 74 68 65 20 2d 6c 6f 61 64 20 70 61 74 rpreter.that.match.the.-load.pat
46080 74 65 72 6e 2e 0d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6c 6f 61 64 tern....if.{[string.length.$load
460a0 50 61 74 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 24 64 6f 56 65 72 62 6f 73 65 7d 20 7b 0d 09 Pat]}.{......if.{$doVerbose}.{..
460c0 09 74 63 6c 4c 6f 67 20 22 63 75 72 72 65 6e 74 6c 79 20 6c 6f 61 64 65 64 20 70 61 63 6b 61 67 .tclLog."currently.loaded.packag
460e0 65 73 3a 20 27 5b 69 6e 66 6f 20 6c 6f 61 64 65 64 5d 27 22 0d 09 09 74 63 6c 4c 6f 67 20 22 74 es:.'[info.loaded]'"...tclLog."t
46100 72 79 69 6e 67 20 74 6f 20 6c 6f 61 64 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 6d 61 74 63 68 rying.to.load.all.packages.match
46120 69 6e 67 20 24 6c 6f 61 64 50 61 74 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 21 5b ing.$loadPat"......}......if.{![
46140 6c 6c 65 6e 67 74 68 20 5b 69 6e 66 6f 20 6c 6f 61 64 65 64 5d 5d 7d 20 7b 0d 09 09 74 63 6c 4c llength.[info.loaded]]}.{...tclL
46160 6f 67 20 22 77 61 72 6e 69 6e 67 3a 20 6e 6f 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 63 75 72 og."warning:.no.packages.are.cur
46180 72 65 6e 74 6c 79 20 6c 6f 61 64 65 64 2c 20 6e 6f 74 68 69 6e 67 22 0d 09 09 74 63 6c 4c 6f 67 rently.loaded,.nothing"...tclLog
461a0 20 22 63 61 6e 20 70 6f 73 73 69 62 6c 79 20 6d 61 74 63 68 20 27 24 6c 6f 61 64 50 61 74 27 22 ."can.possibly.match.'$loadPat'"
461c0 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 66 6f 72 65 61 63 68 20 70 6b 67 20 5b 69 6e 66 6f 20 6c 6f ......}..}..foreach.pkg.[info.lo
461e0 61 64 65 64 5d 20 7b 0d 09 20 20 20 20 69 66 20 7b 21 20 5b 73 74 72 69 6e 67 20 6d 61 74 63 68 aded].{......if.{!.[string.match
46200 20 24 6c 6f 61 64 50 61 74 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 31 5d 5d 7d 20 7b 0d 09 09 .$loadPat.[lindex.$pkg.1]]}.{...
46220 63 6f 6e 74 69 6e 75 65 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 24 64 6f 56 65 72 62 continue......}......if.{$doVerb
46240 6f 73 65 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 70 61 63 6b 61 67 65 20 5b 6c 69 6e 64 65 78 ose}.{...tclLog."package.[lindex
46260 20 24 70 6b 67 20 31 5d 20 6d 61 74 63 68 65 73 20 27 24 6c 6f 61 64 50 61 74 27 22 0d 09 20 20 .$pkg.1].matches.'$loadPat'"....
46280 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 0d 09 09 6c 6f 61 64 20 5b 6c 69 ..}......if.{[catch.{...load.[li
462a0 6e 64 65 78 20 24 70 6b 67 20 30 5d 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 31 5d 20 24 63 0d ndex.$pkg.0].[lindex.$pkg.1].$c.
462c0 09 20 20 20 20 7d 20 65 72 72 5d 7d 20 7b 0d 09 09 69 66 20 7b 24 64 6f 56 65 72 62 6f 73 65 7d .....}.err]}.{...if.{$doVerbose}
462e0 20 7b 0d 09 09 20 20 20 20 74 63 6c 4c 6f 67 20 22 77 61 72 6e 69 6e 67 3a 20 6c 6f 61 64 20 5b .{.......tclLog."warning:.load.[
46300 6c 69 6e 64 65 78 20 24 70 6b 67 20 30 5d 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 31 5d 5c 6e lindex.$pkg.0].[lindex.$pkg.1]\n
46320 66 61 69 6c 65 64 20 77 69 74 68 3a 20 24 65 72 72 22 0d 09 09 7d 0d 09 20 20 20 20 7d 20 65 6c failed.with:.$err"...}......}.el
46340 73 65 69 66 20 7b 24 64 6f 56 65 72 62 6f 73 65 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 6c 6f seif.{$doVerbose}.{...tclLog."lo
46360 61 64 65 64 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 30 5d 20 5b 6c 69 6e 64 65 78 20 24 70 6b aded.[lindex.$pkg.0].[lindex.$pk
46380 67 20 31 5d 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 g.1]"......}......if.{[string.eq
463a0 75 61 6c 20 5b 6c 69 6e 64 65 78 20 24 70 6b 67 20 31 5d 20 22 54 6b 22 5d 7d 20 7b 0d 09 09 23 ual.[lindex.$pkg.1]."Tk"]}.{...#
463c0 20 57 69 74 68 64 72 61 77 20 2e 20 69 66 20 54 6b 20 77 61 73 20 6c 6f 61 64 65 64 2c 20 74 6f .Withdraw...if.Tk.was.loaded,.to
463e0 20 61 76 6f 69 64 20 73 68 6f 77 69 6e 67 20 61 20 77 69 6e 64 6f 77 2e 0d 09 09 24 63 20 65 76 .avoid.showing.a.window....$c.ev
46400 61 6c 20 5b 6c 69 73 74 20 77 6d 20 77 69 74 68 64 72 61 77 20 2e 5d 0d 09 20 20 20 20 7d 0d 09 al.[list.wm.withdraw..]......}..
46420 7d 0d 09 63 64 20 24 64 69 72 0d 0d 09 24 63 20 65 76 61 6c 20 7b 0d 09 20 20 20 20 23 20 53 74 }..cd.$dir...$c.eval.{......#.St
46440 75 62 20 6f 75 74 20 74 68 65 20 70 61 63 6b 61 67 65 20 63 6f 6d 6d 61 6e 64 20 73 6f 20 70 61 ub.out.the.package.command.so.pa
46460 63 6b 61 67 65 73 20 63 61 6e 0d 09 20 20 20 20 23 20 72 65 71 75 69 72 65 20 6f 74 68 65 72 20 ckages.can......#.require.other.
46480 70 61 63 6b 61 67 65 73 2e 0d 0d 09 20 20 20 20 72 65 6e 61 6d 65 20 70 61 63 6b 61 67 65 20 5f packages........rename.package._
464a0 5f 70 61 63 6b 61 67 65 5f 6f 72 69 67 0d 09 20 20 20 20 70 72 6f 63 20 70 61 63 6b 61 67 65 20 _package_orig......proc.package.
464c0 7b 77 68 61 74 20 61 72 67 73 7d 20 7b 0d 09 09 73 77 69 74 63 68 20 2d 2d 20 24 77 68 61 74 20 {what.args}.{...switch.--.$what.
464e0 7b 0d 09 09 20 20 20 20 72 65 71 75 69 72 65 20 7b 20 72 65 74 75 72 6e 20 3b 20 23 20 69 67 6e {.......require.{.return.;.#.ign
46500 6f 72 65 20 74 72 61 6e 73 69 74 69 76 65 20 72 65 71 75 69 72 65 73 20 7d 0d 09 09 20 20 20 20 ore.transitive.requires.}.......
46520 64 65 66 61 75 6c 74 20 7b 20 65 76 61 6c 20 5f 5f 70 61 63 6b 61 67 65 5f 6f 72 69 67 20 7b 24 default.{.eval.__package_orig.{$
46540 77 68 61 74 7d 20 24 61 72 67 73 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 70 72 what}.$args.}...}......}......pr
46560 6f 63 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 20 61 72 67 73 20 7b 7d 0d 09 20 20 20 20 70 61 oc.tclPkgUnknown.args.{}......pa
46580 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 0d 0d 09 20 20 ckage.unknown.tclPkgUnknown.....
465a0 20 20 23 20 53 74 75 62 20 6f 75 74 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64 ..#.Stub.out.the.unknown.command
465c0 20 73 6f 20 70 61 63 6b 61 67 65 20 63 61 6e 20 63 61 6c 6c 0d 09 20 20 20 20 23 20 69 6e 74 6f .so.package.can.call......#.into
465e0 20 65 61 63 68 20 6f 74 68 65 72 20 64 75 72 69 6e 67 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c .each.other.during.their.initial
46600 69 6c 7a 61 74 69 6f 6e 2e 0d 0d 09 20 20 20 20 70 72 6f 63 20 75 6e 6b 6e 6f 77 6e 20 7b 61 72 ilzation........proc.unknown.{ar
46620 67 73 7d 20 7b 7d 0d 0d 09 20 20 20 20 23 20 53 74 75 62 20 6f 75 74 20 74 68 65 20 61 75 74 6f gs}.{}.......#.Stub.out.the.auto
46640 5f 69 6d 70 6f 72 74 20 6d 65 63 68 61 6e 69 73 6d 0d 0d 09 20 20 20 20 70 72 6f 63 20 61 75 74 _import.mechanism.......proc.aut
46660 6f 5f 69 6d 70 6f 72 74 20 7b 61 72 67 73 7d 20 7b 7d 0d 0d 09 20 20 20 20 23 20 72 65 73 65 72 o_import.{args}.{}.......#.reser
46680 76 65 20 74 68 65 20 3a 3a 74 63 6c 20 6e 61 6d 65 73 70 61 63 65 20 66 6f 72 20 73 75 70 70 6f ve.the.::tcl.namespace.for.suppo
466a0 72 74 20 70 72 6f 63 73 0d 09 20 20 20 20 23 20 61 6e 64 20 74 65 6d 70 6f 72 61 72 79 20 76 61 rt.procs......#.and.temporary.va
466c0 72 69 61 62 6c 65 73 2e 20 20 54 68 69 73 20 6d 69 67 68 74 20 6d 61 6b 65 20 69 74 20 61 77 6b riables...This.might.make.it.awk
466e0 77 61 72 64 0d 09 20 20 20 20 23 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 70 6b 67 49 6e 64 ward......#.to.generate.a.pkgInd
46700 65 78 2e 74 63 6c 20 66 69 6c 65 20 66 6f 72 20 74 68 65 20 3a 3a 74 63 6c 20 6e 61 6d 65 73 70 ex.tcl.file.for.the.::tcl.namesp
46720 61 63 65 2e 0d 0d 09 20 20 20 20 6e 61 6d 65 73 70 61 63 65 20 65 76 61 6c 20 3a 3a 74 63 6c 20 ace........namespace.eval.::tcl.
46740 7b 0d 09 09 76 61 72 69 61 62 6c 65 20 66 69 6c 65 09 09 3b 23 20 43 75 72 72 65 6e 74 20 66 69 {...variable.file..;#.Current.fi
46760 6c 65 20 62 65 69 6e 67 20 70 72 6f 63 65 73 73 65 64 0d 09 09 76 61 72 69 61 62 6c 65 20 64 69 le.being.processed...variable.di
46780 72 65 63 74 09 09 3b 23 20 2d 64 69 72 65 63 74 20 66 6c 61 67 20 76 61 6c 75 65 0d 09 09 76 61 rect..;#.-direct.flag.value...va
467a0 72 69 61 62 6c 65 20 78 09 09 3b 23 20 4c 6f 6f 70 20 76 61 72 69 61 62 6c 65 0d 09 09 76 61 72 riable.x..;#.Loop.variable...var
467c0 69 61 62 6c 65 20 64 65 62 75 67 09 09 3b 23 20 46 6f 72 20 64 65 62 75 67 67 69 6e 67 0d 09 09 iable.debug..;#.For.debugging...
467e0 76 61 72 69 61 62 6c 65 20 74 79 70 65 09 09 3b 23 20 22 6c 6f 61 64 22 20 6f 72 20 22 73 6f 75 variable.type..;#."load".or."sou
46800 72 63 65 22 2c 20 66 6f 72 20 2d 64 69 72 65 63 74 0d 09 09 76 61 72 69 61 62 6c 65 20 6e 61 6d rce",.for.-direct...variable.nam
46820 65 73 70 61 63 65 73 09 3b 23 20 45 78 69 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 73 20 28 espaces.;#.Existing.namespaces.(
46840 65 2e 67 2e 2c 20 3a 3a 74 63 6c 29 0d 09 09 76 61 72 69 61 62 6c 65 20 70 61 63 6b 61 67 65 73 e.g.,.::tcl)...variable.packages
46860 09 3b 23 20 45 78 69 73 74 69 6e 67 20 70 61 63 6b 61 67 65 73 20 28 65 2e 67 2e 2c 20 54 63 6c .;#.Existing.packages.(e.g.,.Tcl
46880 29 0d 09 09 76 61 72 69 61 62 6c 65 20 6f 72 69 67 43 6d 64 73 09 3b 23 20 45 78 69 73 74 69 6e )...variable.origCmds.;#.Existin
468a0 67 20 63 6f 6d 6d 61 6e 64 73 0d 09 09 76 61 72 69 61 62 6c 65 20 6e 65 77 43 6d 64 73 09 3b 23 g.commands...variable.newCmds.;#
468c0 20 4e 65 77 6c 79 20 63 72 65 61 74 65 64 20 63 6f 6d 6d 61 6e 64 73 0d 09 09 76 61 72 69 61 62 .Newly.created.commands...variab
468e0 6c 65 20 6e 65 77 50 6b 67 73 20 7b 7d 09 3b 23 20 4e 65 77 6c 79 20 63 72 65 61 74 65 64 20 70 le.newPkgs.{}.;#.Newly.created.p
46900 61 63 6b 61 67 65 73 0d 09 20 20 20 20 7d 0d 09 7d 0d 0d 09 24 63 20 65 76 61 6c 20 5b 6c 69 73 ackages......}..}...$c.eval.[lis
46920 74 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 66 69 6c 65 20 24 66 69 6c 65 5d 0d 09 24 63 20 65 76 61 t.set.::tcl::file.$file]..$c.eva
46940 6c 20 5b 6c 69 73 74 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 69 72 65 63 74 20 24 64 69 72 65 63 l.[list.set.::tcl::direct.$direc
46960 74 5d 0d 0d 09 23 20 44 6f 77 6e 6c 6f 61 64 20 6e 65 65 64 65 64 20 70 72 6f 63 65 64 75 72 65 t]...#.Download.needed.procedure
46980 73 20 69 6e 74 6f 20 74 68 65 20 73 6c 61 76 65 20 62 65 63 61 75 73 65 20 77 65 27 76 65 0d 09 s.into.the.slave.because.we've..
469a0 23 20 6a 75 73 74 20 64 65 6c 65 74 65 64 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 70 72 6f 63 65 #.just.deleted.the.unknown.proce
469c0 64 75 72 65 2e 20 20 54 68 69 73 20 64 6f 65 73 6e 27 74 20 68 61 6e 64 6c 65 0d 09 23 20 70 72 dure...This.doesn't.handle..#.pr
469e0 6f 63 65 64 75 72 65 73 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 61 72 67 75 6d 65 6e 74 73 2e ocedures.with.default.arguments.
46a00 0d 0d 09 66 6f 72 65 61 63 68 20 70 20 7b 70 6b 67 5f 63 6f 6d 70 61 72 65 45 78 74 65 6e 73 69 ...foreach.p.{pkg_compareExtensi
46a20 6f 6e 7d 20 7b 0d 09 20 20 20 20 24 63 20 65 76 61 6c 20 5b 6c 69 73 74 20 70 72 6f 63 20 24 70 on}.{......$c.eval.[list.proc.$p
46a40 20 5b 69 6e 66 6f 20 61 72 67 73 20 24 70 5d 20 5b 69 6e 66 6f 20 62 6f 64 79 20 24 70 5d 5d 0d .[info.args.$p].[info.body.$p]].
46a60 09 7d 0d 0d 09 69 66 20 7b 5b 63 61 74 63 68 20 7b 0d 09 20 20 20 20 24 63 20 65 76 61 6c 20 7b .}...if.{[catch.{......$c.eval.{
46a80 0d 09 09 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 65 62 75 67 20 22 6c 6f 61 64 69 6e 67 20 6f 72 20 ...set.::tcl::debug."loading.or.
46aa0 73 6f 75 72 63 69 6e 67 22 0d 0d 09 09 23 20 77 65 20 6e 65 65 64 20 74 6f 20 74 72 61 63 6b 20 sourcing"....#.we.need.to.track.
46ac0 63 6f 6d 6d 61 6e 64 20 64 65 66 69 6e 65 64 20 62 79 20 65 61 63 68 20 70 61 63 6b 61 67 65 20 command.defined.by.each.package.
46ae0 65 76 65 6e 20 69 6e 0d 09 09 23 20 74 68 65 20 2d 64 69 72 65 63 74 20 63 61 73 65 2c 20 62 65 even.in...#.the.-direct.case,.be
46b00 63 61 75 73 65 20 74 68 65 79 20 61 72 65 20 6e 65 65 64 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 cause.they.are.needed.internally
46b20 20 62 79 0d 09 09 23 20 74 68 65 20 22 70 61 72 74 69 61 6c 20 70 6b 67 49 6e 64 65 78 2e 74 63 .by...#.the."partial.pkgIndex.tc
46b40 6c 22 20 73 74 65 70 20 61 62 6f 76 65 2e 0d 0d 09 09 70 72 6f 63 20 3a 3a 74 63 6c 3a 3a 47 65 l".step.above.....proc.::tcl::Ge
46b60 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 7b 7b 72 6f 6f 74 20 3a 3a 7d 7d 20 7b 0d 09 09 20 tAllNamespaces.{{root.::}}.{....
46b80 20 20 20 73 65 74 20 6c 69 73 74 20 24 72 6f 6f 74 0d 09 09 20 20 20 20 66 6f 72 65 61 63 68 20 ...set.list.$root.......foreach.
46ba0 6e 73 20 5b 6e 61 6d 65 73 70 61 63 65 20 63 68 69 6c 64 72 65 6e 20 24 72 6f 6f 74 5d 20 7b 0d ns.[namespace.children.$root].{.
46bc0 09 09 09 65 76 61 6c 20 6c 61 70 70 65 6e 64 20 6c 69 73 74 20 5b 3a 3a 74 63 6c 3a 3a 47 65 74 ...eval.lappend.list.[::tcl::Get
46be0 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 24 6e 73 5d 0d 09 09 20 20 20 20 7d 0d 09 09 20 20 20 AllNamespaces.$ns].......}......
46c00 20 72 65 74 75 72 6e 20 24 6c 69 73 74 0d 09 09 7d 0d 0d 09 09 23 20 69 6e 69 74 20 74 68 65 20 .return.$list...}....#.init.the.
46c20 6c 69 73 74 20 6f 66 20 65 78 69 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 63 65 73 2c 20 70 61 63 list.of.existing.namespaces,.pac
46c40 6b 61 67 65 73 2c 20 63 6f 6d 6d 61 6e 64 73 0d 0d 09 09 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c kages,.commands....foreach.::tcl
46c60 3a 3a 78 20 5b 3a 3a 74 63 6c 3a 3a 47 65 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 5d 20 7b 0d ::x.[::tcl::GetAllNamespaces].{.
46c80 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 6e 61 6d 65 73 70 61 63 65 73 28 24 3a 3a 74 ......set.::tcl::namespaces($::t
46ca0 63 6c 3a 3a 78 29 20 31 0d 09 09 7d 0d 09 09 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c 3a 3a 78 20 cl::x).1...}...foreach.::tcl::x.
46cc0 5b 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 5d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 [package.names].{.......set.::tc
46ce0 6c 3a 3a 70 61 63 6b 61 67 65 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 20 31 0d 09 09 7d 0d 09 09 73 l::packages($::tcl::x).1...}...s
46d00 65 74 20 3a 3a 74 63 6c 3a 3a 6f 72 69 67 43 6d 64 73 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 et.::tcl::origCmds.[info.command
46d20 73 5d 0d 0d 09 09 23 20 54 72 79 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 66 69 6c 65 20 69 66 20 s]....#.Try.to.load.the.file.if.
46d40 69 74 20 68 61 73 20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 0d 09 09 23 20 65 78 it.has.the.shared.library...#.ex
46d60 74 65 6e 73 69 6f 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 73 6f 75 72 63 65 20 69 74 2e 20 20 49 tension,.otherwise.source.it...I
46d80 74 27 73 20 69 6d 70 6f 72 74 61 6e 74 20 6e 6f 74 20 74 6f 0d 09 09 23 20 74 72 79 20 74 6f 20 t's.important.not.to...#.try.to.
46da0 6c 6f 61 64 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 6e 27 74 20 73 68 61 72 65 64 20 6c 69 load.files.that.aren't.shared.li
46dc0 62 72 61 72 69 65 73 2c 20 62 65 63 61 75 73 65 0d 09 09 23 20 6f 6e 20 73 6f 6d 65 20 73 79 73 braries,.because...#.on.some.sys
46de0 74 65 6d 73 20 28 6c 69 6b 65 20 53 75 6e 4f 53 29 20 74 68 65 20 6c 6f 61 64 65 72 20 77 69 6c tems.(like.SunOS).the.loader.wil
46e00 6c 20 61 62 6f 72 74 20 74 68 65 0d 09 09 23 20 77 68 6f 6c 65 20 61 70 70 6c 69 63 61 74 69 6f l.abort.the...#.whole.applicatio
46e20 6e 20 77 68 65 6e 20 69 74 20 67 65 74 73 20 61 6e 20 65 72 72 6f 72 2e 0d 0d 09 09 69 66 20 7b n.when.it.gets.an.error.....if.{
46e40 5b 70 6b 67 5f 63 6f 6d 70 61 72 65 45 78 74 65 6e 73 69 6f 6e 20 24 3a 3a 74 63 6c 3a 3a 66 69 [pkg_compareExtension.$::tcl::fi
46e60 6c 65 20 5b 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62 65 78 74 65 6e 73 69 6f 6e 5d 5d 7d 20 7b le.[info.sharedlibextension]]}.{
46e80 0d 09 09 20 20 20 20 23 20 54 68 65 20 22 66 69 6c 65 20 6a 6f 69 6e 20 2e 22 20 63 6f 6d 6d 61 .......#.The."file.join..".comma
46ea0 6e 64 20 62 65 6c 6f 77 20 69 73 20 6e 65 63 65 73 73 61 72 79 2e 0d 09 09 20 20 20 20 23 20 57 nd.below.is.necessary........#.W
46ec0 69 74 68 6f 75 74 20 69 74 2c 20 69 66 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 68 61 73 20 ithout.it,.if.the.file.name.has.
46ee0 6e 6f 20 5c 27 73 20 61 6e 64 20 77 65 27 72 65 0d 09 09 20 20 20 20 23 20 6f 6e 20 55 4e 49 58 no.\'s.and.we're.......#.on.UNIX
46f00 2c 20 74 68 65 20 6c 6f 61 64 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 74 ,.the.load.command.will.invoke.t
46f20 68 65 0d 09 09 20 20 20 20 23 20 4c 44 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 20 73 65 61 72 63 he.......#.LD_LIBRARY_PATH.searc
46f40 68 20 6d 65 63 68 61 6e 69 73 6d 2c 20 77 68 69 63 68 20 63 6f 75 6c 64 20 63 61 75 73 65 0d 09 h.mechanism,.which.could.cause..
46f60 09 20 20 20 20 23 20 74 68 65 20 77 72 6f 6e 67 20 66 69 6c 65 20 74 6f 20 62 65 20 75 73 65 64 .....#.the.wrong.file.to.be.used
46f80 2e 0d 0d 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 65 62 75 67 20 6c 6f 61 64 69 6e .........set.::tcl::debug.loadin
46fa0 67 0d 09 09 20 20 20 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 2e 20 24 3a 3a 74 63 6c g.......load.[file.join...$::tcl
46fc0 3a 3a 66 69 6c 65 5d 0d 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 74 79 70 65 20 6c 6f ::file].......set.::tcl::type.lo
46fe0 61 64 0d 09 09 7d 20 65 6c 73 65 20 7b 0d 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 ad...}.else.{.......set.::tcl::d
47000 65 62 75 67 20 73 6f 75 72 63 69 6e 67 0d 09 09 20 20 20 20 73 6f 75 72 63 65 20 24 3a 3a 74 63 ebug.sourcing.......source.$::tc
47020 6c 3a 3a 66 69 6c 65 0d 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 74 79 70 65 20 73 6f l::file.......set.::tcl::type.so
47040 75 72 63 65 0d 09 09 7d 0d 0d 09 09 23 20 41 73 20 61 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f urce...}....#.As.a.performance.o
47060 70 74 69 6d 69 7a 61 74 69 6f 6e 2c 20 69 66 20 77 65 20 61 72 65 20 63 72 65 61 74 69 6e 67 20 ptimization,.if.we.are.creating.
47080 0d 09 09 23 20 64 69 72 65 63 74 20 6c 6f 61 64 20 70 61 63 6b 61 67 65 73 2c 20 64 6f 6e 27 74 ...#.direct.load.packages,.don't
470a0 20 62 6f 74 68 65 72 20 66 69 67 75 72 69 6e 67 20 6f 75 74 20 74 68 65 20 0d 09 09 23 20 73 65 .bother.figuring.out.the....#.se
470c0 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 63 72 65 61 74 65 64 20 62 79 20 74 68 65 20 6e 65 77 t.of.commands.created.by.the.new
470e0 20 70 61 63 6b 61 67 65 73 2e 20 20 57 65 20 0d 09 09 23 20 6f 6e 6c 79 20 6e 65 65 64 20 74 68 .packages...We....#.only.need.th
47100 61 74 20 6c 69 73 74 20 66 6f 72 20 73 65 74 74 69 6e 67 20 75 70 20 74 68 65 20 61 75 74 6f 6c at.list.for.setting.up.the.autol
47120 6f 61 64 69 6e 67 20 0d 09 09 23 20 75 73 65 64 20 69 6e 20 74 68 65 20 6e 6f 6e 2d 64 69 72 65 oading....#.used.in.the.non-dire
47140 63 74 20 63 61 73 65 2e 0d 09 09 69 66 20 7b 20 21 24 3a 3a 74 63 6c 3a 3a 64 69 72 65 63 74 20 ct.case....if.{.!$::tcl::direct.
47160 7d 20 7b 0d 09 09 20 20 20 20 23 20 53 65 65 20 77 68 61 74 20 6e 65 77 20 6e 61 6d 65 73 70 61 }.{.......#.See.what.new.namespa
47180 63 65 73 20 61 70 70 65 61 72 65 64 2c 20 61 6e 64 20 69 6d 70 6f 72 74 20 63 6f 6d 6d 61 6e 64 ces.appeared,.and.import.command
471a0 73 0d 09 09 20 20 20 20 23 20 66 72 6f 6d 20 74 68 65 6d 2e 20 20 4f 6e 6c 79 20 65 78 70 6f 72 s.......#.from.them...Only.expor
471c0 74 65 64 20 63 6f 6d 6d 61 6e 64 73 20 67 6f 20 69 6e 74 6f 20 74 68 65 20 69 6e 64 65 78 2e 0d ted.commands.go.into.the.index..
471e0 09 09 20 20 20 20 0d 09 09 20 20 20 20 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c 3a 3a 78 20 5b 3a .............foreach.::tcl::x.[:
47200 3a 74 63 6c 3a 3a 47 65 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 5d 20 7b 0d 09 09 09 69 66 20 :tcl::GetAllNamespaces].{....if.
47220 7b 21 20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 3a 3a 74 63 6c 3a 3a 6e 61 6d 65 73 70 61 63 65 {!.[info.exists.::tcl::namespace
47240 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 5d 7d 20 7b 0d 09 09 09 20 20 20 20 6e 61 6d 65 73 70 61 63 s($::tcl::x)]}.{........namespac
47260 65 20 69 6d 70 6f 72 74 20 2d 66 6f 72 63 65 20 24 7b 3a 3a 74 63 6c 3a 3a 78 7d 3a 3a 2a 0d 09 e.import.-force.${::tcl::x}::*..
47280 09 09 7d 0d 0d 09 09 09 23 20 46 69 67 75 72 65 20 6f 75 74 20 77 68 61 74 20 63 6f 6d 6d 61 6e ..}.....#.Figure.out.what.comman
472a0 64 73 20 61 70 70 65 61 72 65 64 0d 09 09 09 0d 09 09 09 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c ds.appeared........foreach.::tcl
472c0 3a 3a 78 20 5b 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 5d 20 7b 0d 09 09 09 20 20 20 20 73 65 74 ::x.[info.commands].{........set
472e0 20 3a 3a 74 63 6c 3a 3a 6e 65 77 43 6d 64 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 20 31 0d 09 09 09 .::tcl::newCmds($::tcl::x).1....
47300 7d 0d 09 09 09 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c 3a 3a 78 20 24 3a 3a 74 63 6c 3a 3a 6f 72 }....foreach.::tcl::x.$::tcl::or
47320 69 67 43 6d 64 73 20 7b 0d 09 09 09 20 20 20 20 63 61 74 63 68 20 7b 75 6e 73 65 74 20 3a 3a 74 igCmds.{........catch.{unset.::t
47340 63 6c 3a 3a 6e 65 77 43 6d 64 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 7d 0d 09 09 09 7d 0d 09 09 09 cl::newCmds($::tcl::x)}....}....
47360 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c 3a 3a 78 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 3a 3a foreach.::tcl::x.[array.names.::
47380 74 63 6c 3a 3a 6e 65 77 43 6d 64 73 5d 20 7b 0d 09 09 09 20 20 20 20 23 20 64 65 74 65 72 6d 69 tcl::newCmds].{........#.determi
473a0 6e 65 20 77 68 69 63 68 20 6e 61 6d 65 73 70 61 63 65 20 61 20 63 6f 6d 6d 61 6e 64 20 63 6f 6d ne.which.namespace.a.command.com
473c0 65 73 20 66 72 6f 6d 0d 09 09 09 20 20 20 20 0d 09 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c es.from................set.::tcl
473e0 3a 3a 61 62 73 20 5b 6e 61 6d 65 73 70 61 63 65 20 6f 72 69 67 69 6e 20 24 3a 3a 74 63 6c 3a 3a ::abs.[namespace.origin.$::tcl::
47400 78 5d 0d 09 09 09 20 20 20 20 0d 09 09 09 20 20 20 20 23 20 73 70 65 63 69 61 6c 20 63 61 73 65 x]................#.special.case
47420 20 73 6f 20 74 68 61 74 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 20 68 61 76 65 20 6e 6f 20 6c 65 .so.that.global.names.have.no.le
47440 61 64 69 6e 67 0d 09 09 09 20 20 20 20 23 20 3a 3a 2c 20 74 68 69 73 20 69 73 20 72 65 71 75 69 ading........#.::,.this.is.requi
47460 72 65 64 20 62 79 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64 0d 09 09 09 20 20 red.by.the.unknown.command......
47480 20 20 0d 09 09 09 20 20 20 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 61 62 73 20 5c 0d 09 09 09 09 20 ..........set.::tcl::abs.\......
474a0 20 20 20 5b 6c 69 6e 64 65 78 20 5b 61 75 74 6f 5f 71 75 61 6c 69 66 79 20 24 3a 3a 74 63 6c 3a ...[lindex.[auto_qualify.$::tcl:
474c0 3a 61 62 73 20 3a 3a 5d 20 30 5d 0d 09 09 09 20 20 20 20 0d 09 09 09 20 20 20 20 69 66 20 7b 5b :abs.::].0]................if.{[
474e0 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 24 3a 3a 74 63 6c 3a 3a 78 20 24 3a 3a 74 63 6c 3a string.compare.$::tcl::x.$::tcl:
47500 3a 61 62 73 5d 7d 20 7b 0d 09 09 09 09 23 20 4e 61 6d 65 20 63 68 61 6e 67 65 64 20 64 75 72 69 :abs]}.{.....#.Name.changed.duri
47520 6e 67 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 0d 09 09 09 09 0d 09 09 09 09 73 65 74 20 3a 3a ng.qualification..........set.::
47540 74 63 6c 3a 3a 6e 65 77 43 6d 64 73 28 24 3a 3a 74 63 6c 3a 3a 61 62 73 29 20 31 0d 09 09 09 09 tcl::newCmds($::tcl::abs).1.....
47560 75 6e 73 65 74 20 3a 3a 74 63 6c 3a 3a 6e 65 77 43 6d 64 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 0d unset.::tcl::newCmds($::tcl::x).
47580 09 09 09 20 20 20 20 7d 0d 09 09 09 7d 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 0d 09 09 23 20 4c .......}....}.......}...}....#.L
475a0 6f 6f 6b 20 74 68 72 6f 75 67 68 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 70 ook.through.the.packages.that.ap
475c0 70 65 61 72 65 64 2c 20 61 6e 64 20 69 66 20 74 68 65 72 65 20 69 73 0d 09 09 23 20 61 20 76 65 peared,.and.if.there.is...#.a.ve
475e0 72 73 69 6f 6e 20 70 72 6f 76 69 64 65 64 2c 20 74 68 65 6e 20 72 65 63 6f 72 64 20 69 74 0d 0d rsion.provided,.then.record.it..
47600 09 09 66 6f 72 65 61 63 68 20 3a 3a 74 63 6c 3a 3a 78 20 5b 70 61 63 6b 61 67 65 20 6e 61 6d 65 ..foreach.::tcl::x.[package.name
47620 73 5d 20 7b 0d 09 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 5b s].{.......if.{[string.compare.[
47640 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 20 24 3a 3a 74 63 6c 3a 3a 78 5d 20 22 22 5d 20 5c package.provide.$::tcl::x].""].\
47660 0d 09 09 09 20 20 20 20 26 26 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 3a 3a 74 63 6c 3a 3a ........&&.![info.exists.::tcl::
47680 70 61 63 6b 61 67 65 73 28 24 3a 3a 74 63 6c 3a 3a 78 29 5d 7d 20 7b 0d 09 09 09 6c 61 70 70 65 packages($::tcl::x)]}.{....lappe
476a0 6e 64 20 3a 3a 74 63 6c 3a 3a 6e 65 77 50 6b 67 73 20 5c 0d 09 09 09 20 20 20 20 5b 6c 69 73 74 nd.::tcl::newPkgs.\........[list
476c0 20 24 3a 3a 74 63 6c 3a 3a 78 20 5b 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 20 24 3a 3a 74 .$::tcl::x.[package.provide.$::t
476e0 63 6c 3a 3a 78 5d 5d 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 20 6d 73 cl::x]].......}...}......}..}.ms
47700 67 5d 20 3d 3d 20 31 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 77 68 61 74 20 5b 24 63 20 65 76 61 g].==.1}.{......set.what.[$c.eva
47720 6c 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 65 62 75 67 5d 0d 09 20 20 20 20 69 66 20 7b 24 64 6f l.set.::tcl::debug]......if.{$do
47740 56 65 72 62 6f 73 65 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 77 61 72 6e 69 6e 67 3a 20 65 72 Verbose}.{...tclLog."warning:.er
47760 72 6f 72 20 77 68 69 6c 65 20 24 77 68 61 74 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d 09 20 20 ror.while.$what.$file:.$msg"....
47780 20 20 7d 0d 09 7d 20 65 6c 73 65 20 7b 0d 09 20 20 20 20 73 65 74 20 77 68 61 74 20 5b 24 63 20 ..}..}.else.{......set.what.[$c.
477a0 65 76 61 6c 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 64 65 62 75 67 5d 0d 09 20 20 20 20 69 66 20 7b eval.set.::tcl::debug]......if.{
477c0 24 64 6f 56 65 72 62 6f 73 65 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 73 75 63 63 65 73 73 66 $doVerbose}.{...tclLog."successf
477e0 75 6c 20 24 77 68 61 74 20 6f 66 20 24 66 69 6c 65 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 ul.$what.of.$file"......}......s
47800 65 74 20 74 79 70 65 20 5b 24 63 20 65 76 61 6c 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 74 79 70 65 et.type.[$c.eval.set.::tcl::type
47820 5d 0d 09 20 20 20 20 73 65 74 20 63 6d 64 73 20 5b 6c 73 6f 72 74 20 5b 24 63 20 65 76 61 6c 20 ]......set.cmds.[lsort.[$c.eval.
47840 61 72 72 61 79 20 6e 61 6d 65 73 20 3a 3a 74 63 6c 3a 3a 6e 65 77 43 6d 64 73 5d 5d 0d 09 20 20 array.names.::tcl::newCmds]]....
47860 20 20 73 65 74 20 70 6b 67 73 20 5b 24 63 20 65 76 61 6c 20 73 65 74 20 3a 3a 74 63 6c 3a 3a 6e ..set.pkgs.[$c.eval.set.::tcl::n
47880 65 77 50 6b 67 73 5d 0d 09 20 20 20 20 69 66 20 7b 24 64 6f 56 65 72 62 6f 73 65 7d 20 7b 0d 09 ewPkgs]......if.{$doVerbose}.{..
478a0 09 74 63 6c 4c 6f 67 20 22 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 76 69 64 65 64 20 77 65 72 65 20 .tclLog."commands.provided.were.
478c0 24 63 6d 64 73 22 0d 09 09 74 63 6c 4c 6f 67 20 22 70 61 63 6b 61 67 65 73 20 70 72 6f 76 69 64 $cmds"...tclLog."packages.provid
478e0 65 64 20 77 65 72 65 20 24 70 6b 67 73 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 66 20 7b 5b ed.were.$pkgs"......}......if.{[
47900 6c 6c 65 6e 67 74 68 20 24 70 6b 67 73 5d 20 3e 20 31 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 llength.$pkgs].>.1}.{...tclLog."
47920 77 61 72 6e 69 6e 67 3a 20 5c 22 24 66 69 6c 65 5c 22 20 70 72 6f 76 69 64 65 73 20 6d 6f 72 65 warning:.\"$file\".provides.more
47940 20 74 68 61 6e 20 6f 6e 65 20 70 61 63 6b 61 67 65 20 28 24 70 6b 67 73 29 22 0d 09 20 20 20 20 .than.one.package.($pkgs)"......
47960 7d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 70 6b 67 20 24 70 6b 67 73 20 7b 0d 09 09 23 20 63 }......foreach.pkg.$pkgs.{...#.c
47980 6d 64 73 20 69 73 20 65 6d 70 74 79 2f 6e 6f 74 20 75 73 65 64 20 69 6e 20 74 68 65 20 64 69 72 mds.is.empty/not.used.in.the.dir
479a0 65 63 74 20 63 61 73 65 0d 09 09 6c 61 70 70 65 6e 64 20 66 69 6c 65 73 28 24 70 6b 67 29 20 5b ect.case...lappend.files($pkg).[
479c0 6c 69 73 74 20 24 66 69 6c 65 20 24 74 79 70 65 20 24 63 6d 64 73 5d 0d 09 20 20 20 20 7d 0d 0d list.$file.$type.$cmds]......}..
479e0 09 20 20 20 20 69 66 20 7b 24 64 6f 56 65 72 62 6f 73 65 7d 20 7b 0d 09 09 74 63 6c 4c 6f 67 20 .....if.{$doVerbose}.{...tclLog.
47a00 22 70 72 6f 63 65 73 73 65 64 20 24 66 69 6c 65 22 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 69 6e "processed.$file"......}......in
47a20 74 65 72 70 20 64 65 6c 65 74 65 20 24 63 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 20 20 20 61 70 70 terp.delete.$c..}.....}......app
47a40 65 6e 64 20 69 6e 64 65 78 20 22 23 20 54 63 6c 20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 66 end.index."#.Tcl.package.index.f
47a60 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20 31 2e 31 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 ile,.version.1.1\n".....append.i
47a80 6e 64 65 78 20 22 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 ndex."#.This.file.is.generated.b
47aa0 79 20 74 68 65 20 5c 22 70 6b 67 5f 6d 6b 49 6e 64 65 78 24 6d 6f 72 65 5c 22 20 63 6f 6d 6d 61 y.the.\"pkg_mkIndex$more\".comma
47ac0 6e 64 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 61 6e 64 20 73 6f nd\n".....append.index."#.and.so
47ae0 75 72 63 65 64 20 65 69 74 68 65 72 20 77 68 65 6e 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e urced.either.when.an.application
47b00 20 73 74 61 72 74 73 20 75 70 20 6f 72 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 .starts.up.or\n".....append.inde
47b20 78 20 22 23 20 62 79 20 61 20 5c 22 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 6e 5c 22 20 73 63 x."#.by.a.\"package.unknown\".sc
47b40 72 69 70 74 2e 20 20 49 74 20 69 6e 76 6f 6b 65 73 20 74 68 65 5c 6e 22 0d 20 20 20 20 61 70 70 ript...It.invokes.the\n".....app
47b60 65 6e 64 20 69 6e 64 65 78 20 22 23 20 5c 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 5c end.index."#.\"package.ifneeded\
47b80 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 74 20 75 70 20 70 61 63 6b 61 67 65 2d 72 65 6c 61 ".command.to.set.up.package-rela
47ba0 74 65 64 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 69 6e 66 6f 72 ted\n".....append.index."#.infor
47bc0 6d 61 74 69 6f 6e 20 73 6f 20 74 68 61 74 20 70 61 63 6b 61 67 65 73 20 77 69 6c 6c 20 62 65 20 mation.so.that.packages.will.be.
47be0 6c 6f 61 64 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 5c 6e 22 0d 20 20 20 20 61 70 70 65 loaded.automatically\n".....appe
47c00 6e 64 20 69 6e 64 65 78 20 22 23 20 69 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 5c 22 70 61 63 nd.index."#.in.response.to.\"pac
47c20 6b 61 67 65 20 72 65 71 75 69 72 65 5c 22 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 57 68 65 6e 20 74 kage.require\".commands...When.t
47c40 68 69 73 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 69 6e 64 65 78 20 22 23 20 73 63 72 69 70 his\n".....append.index."#.scrip
47c60 74 20 69 73 20 73 6f 75 72 63 65 64 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 5c 24 64 69 72 t.is.sourced,.the.variable.\$dir
47c80 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 5c 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 .must.contain.the\n".....append.
47ca0 69 6e 64 65 78 20 22 23 20 66 75 6c 6c 20 70 61 74 68 20 6e 61 6d 65 20 6f 66 20 74 68 69 73 20 index."#.full.path.name.of.this.
47cc0 66 69 6c 65 27 73 20 64 69 72 65 63 74 6f 72 79 2e 5c 6e 22 0d 0d 20 20 20 20 66 6f 72 65 61 63 file's.directory.\n"......foreac
47ce0 68 20 70 6b 67 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 20 66 69 6c 65 73 5d h.pkg.[lsort.[array.names.files]
47d00 5d 20 7b 0d 09 73 65 74 20 63 6d 64 20 7b 7d 0d 09 66 6f 72 65 61 63 68 20 7b 6e 61 6d 65 20 76 ].{..set.cmd.{}..foreach.{name.v
47d20 65 72 73 69 6f 6e 7d 20 24 70 6b 67 20 7b 0d 09 20 20 20 20 62 72 65 61 6b 0d 09 7d 0d 09 6c 61 ersion}.$pkg.{......break..}..la
47d40 70 70 65 6e 64 20 63 6d 64 20 3a 3a 70 6b 67 3a 3a 63 72 65 61 74 65 20 2d 6e 61 6d 65 20 24 6e ppend.cmd.::pkg::create.-name.$n
47d60 61 6d 65 20 2d 76 65 72 73 69 6f 6e 20 24 76 65 72 73 69 6f 6e 0d 09 66 6f 72 65 61 63 68 20 73 ame.-version.$version..foreach.s
47d80 70 65 63 20 24 66 69 6c 65 73 28 24 70 6b 67 29 20 7b 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 pec.$files($pkg).{......foreach.
47da0 7b 66 69 6c 65 20 74 79 70 65 20 70 72 6f 63 73 7d 20 24 73 70 65 63 20 7b 0d 09 09 69 66 20 7b {file.type.procs}.$spec.{...if.{
47dc0 20 24 64 69 72 65 63 74 20 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 70 72 6f 63 73 20 7b 7d 0d .$direct.}.{.......set.procs.{}.
47de0 09 09 7d 0d 09 09 6c 61 70 70 65 6e 64 20 63 6d 64 20 22 2d 24 74 79 70 65 22 20 5b 6c 69 73 74 ..}...lappend.cmd."-$type".[list
47e00 20 24 66 69 6c 65 20 24 70 72 6f 63 73 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 61 70 70 65 6e 64 .$file.$procs]......}..}..append
47e20 20 69 6e 64 65 78 20 22 5c 6e 5b 65 76 61 6c 20 24 63 6d 64 5d 22 0d 20 20 20 20 7d 0d 0d 20 20 .index."\n[eval.$cmd]".....}....
47e40 20 20 73 65 74 20 66 20 5b 6f 70 65 6e 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 77 5d 0d 20 20 ..set.f.[open.pkgIndex.tcl.w]...
47e60 20 20 70 75 74 73 20 24 66 20 24 69 6e 64 65 78 0d 20 20 20 20 63 6c 6f 73 65 20 24 66 0d 20 20 ..puts.$f.$index.....close.$f...
47e80 20 20 63 64 20 24 6f 6c 64 44 69 72 0d 7d 0d 0d 23 20 74 63 6c 50 6b 67 53 65 74 75 70 20 2d 2d ..cd.$oldDir.}..#.tclPkgSetup.--
47ea0 0d 23 20 54 68 69 73 20 69 73 20 61 20 75 74 69 6c 69 74 79 20 70 72 6f 63 65 64 75 72 65 20 75 .#.This.is.a.utility.procedure.u
47ec0 73 65 20 62 79 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 66 69 6c 65 73 2e 20 20 49 74 20 69 73 se.by.pkgIndex.tcl.files...It.is
47ee0 20 69 6e 76 6f 6b 65 64 0d 23 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 22 70 61 63 6b 61 67 65 .invoked.#.as.part.of.a."package
47f00 20 69 66 6e 65 65 64 65 64 22 20 73 63 72 69 70 74 2e 20 20 49 74 20 63 61 6c 6c 73 20 22 70 61 .ifneeded".script...It.calls."pa
47f20 63 6b 61 67 65 20 70 72 6f 76 69 64 65 22 0d 23 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 61 ckage.provide".#.to.indicate.tha
47f40 74 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 65 6e 20 73 t.a.package.is.available,.then.s
47f60 65 74 73 20 65 6e 74 72 69 65 73 20 69 6e 20 74 68 65 0d 23 20 61 75 74 6f 5f 69 6e 64 65 78 20 ets.entries.in.the.#.auto_index.
47f80 61 72 72 61 79 20 73 6f 20 74 68 61 74 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 66 69 6c 65 array.so.that.the.package's.file
47fa0 73 20 77 69 6c 6c 20 62 65 20 61 75 74 6f 2d 6c 6f 61 64 65 64 20 77 68 65 6e 0d 23 20 74 68 65 s.will.be.auto-loaded.when.#.the
47fc0 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 75 73 65 64 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 .commands.are.used..#.#.Argument
47fe0 73 3a 0d 23 20 64 69 72 20 2d 09 09 09 44 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e s:.#.dir.-...Directory.containin
48000 67 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 66 6f 72 20 74 68 69 73 20 70 61 63 6b 61 67 65 g.all.the.files.for.this.package
48020 2e 0d 23 20 70 6b 67 20 2d 09 09 09 4e 61 6d 65 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 ..#.pkg.-...Name.of.the.package.
48040 28 6e 6f 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 29 2e 0d 23 20 76 65 72 73 69 6f 6e 20 2d (no.version.number)..#.version.-
48060 09 09 56 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 ..Version.number.for.the.package
48080 2c 20 73 75 63 68 20 61 73 20 32 2e 31 2e 33 2e 0d 23 20 66 69 6c 65 73 20 2d 09 09 4c 69 73 74 ,.such.as.2.1.3..#.files.-..List
480a0 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 63 6f 6e 73 74 69 74 75 74 65 20 74 68 65 20 70 61 .of.files.that.constitute.the.pa
480c0 63 6b 61 67 65 2e 20 20 45 61 63 68 0d 23 09 09 09 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 73 75 ckage...Each.#...element.is.a.su
480e0 62 2d 6c 69 73 74 20 77 69 74 68 20 74 68 72 65 65 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54 68 65 b-list.with.three.elements...The
48100 20 66 69 72 73 74 0d 23 09 09 09 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 66 69 6c 65 .first.#...is.the.name.of.a.file
48120 20 72 65 6c 61 74 69 76 65 20 74 6f 20 24 64 69 72 2c 20 74 68 65 20 73 65 63 6f 6e 64 20 69 73 .relative.to.$dir,.the.second.is
48140 0d 23 09 09 09 22 6c 6f 61 64 22 20 6f 72 20 22 73 6f 75 72 63 65 22 2c 20 69 6e 64 69 63 61 74 .#..."load".or."source",.indicat
48160 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 69 73 20 61 0d 23 09 09 09 6c 6f ing.whether.the.file.is.a.#...lo
48180 61 64 61 62 6c 65 20 62 69 6e 61 72 79 20 6f 72 20 61 20 73 63 72 69 70 74 20 74 6f 20 73 6f 75 adable.binary.or.a.script.to.sou
481a0 72 63 65 2c 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 0d 23 09 09 09 69 73 20 61 20 6c 69 73 74 rce,.and.the.third.#...is.a.list
481c0 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 64 65 66 69 6e 65 64 20 62 79 20 74 68 69 73 20 66 69 6c .of.commands.defined.by.this.fil
481e0 65 2e 0d 0d 70 72 6f 63 20 74 63 6c 50 6b 67 53 65 74 75 70 20 7b 64 69 72 20 70 6b 67 20 76 65 e...proc.tclPkgSetup.{dir.pkg.ve
48200 72 73 69 6f 6e 20 66 69 6c 65 73 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 61 75 74 6f 5f 69 rsion.files}.{.....global.auto_i
48220 6e 64 65 78 0d 0d 20 20 20 20 70 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 20 24 70 6b 67 20 24 ndex......package.provide.$pkg.$
48240 76 65 72 73 69 6f 6e 0d 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 6c 65 49 6e 66 6f 20 24 66 69 version.....foreach.fileInfo.$fi
48260 6c 65 73 20 7b 0d 09 73 65 74 20 66 20 5b 6c 69 6e 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 30 les.{..set.f.[lindex.$fileInfo.0
48280 5d 0d 09 73 65 74 20 74 79 70 65 20 5b 6c 69 6e 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 31 5d ]..set.type.[lindex.$fileInfo.1]
482a0 0d 09 66 6f 72 65 61 63 68 20 63 6d 64 20 5b 6c 69 6e 64 65 78 20 24 66 69 6c 65 49 6e 66 6f 20 ..foreach.cmd.[lindex.$fileInfo.
482c0 32 5d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 79 70 2].{......if.{[string.equal.$typ
482e0 65 20 22 6c 6f 61 64 22 5d 7d 20 7b 0d 09 09 73 65 74 20 61 75 74 6f 5f 69 6e 64 65 78 28 24 63 e."load"]}.{...set.auto_index($c
48300 6d 64 29 20 5b 6c 69 73 74 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 24 md).[list.load.[file.join.$dir.$
48320 66 5d 20 24 70 6b 67 5d 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 61 75 74 f].$pkg]......}.else.{...set.aut
48340 6f 5f 69 6e 64 65 78 28 24 63 6d 64 29 20 5b 6c 69 73 74 20 73 6f 75 72 63 65 20 5b 66 69 6c 65 o_index($cmd).[list.source.[file
48360 20 6a 6f 69 6e 20 24 64 69 72 20 24 66 5d 5d 0d 09 20 20 20 20 7d 20 0d 09 7d 0d 20 20 20 20 7d .join.$dir.$f]]......}...}.....}
48380 0d 7d 0d 0d 23 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 2d 2d 0d 23 20 54 68 65 20 70 .}..#.tclMacPkgSearch.--.#.The.p
483a0 72 6f 63 65 64 75 72 65 20 69 73 20 75 73 65 64 20 6f 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 rocedure.is.used.on.the.Macintos
483c0 68 20 74 6f 20 73 65 61 72 63 68 20 61 20 67 69 76 65 6e 20 64 69 72 65 63 74 6f 72 79 20 66 6f h.to.search.a.given.directory.fo
483e0 72 20 66 69 6c 65 73 0d 23 20 77 69 74 68 20 61 20 54 45 58 54 20 72 65 73 6f 75 72 63 65 20 6e r.files.#.with.a.TEXT.resource.n
48400 61 6d 65 64 20 22 70 6b 67 49 6e 64 65 78 22 2e 20 20 49 66 20 69 74 20 65 78 69 73 74 73 20 69 amed."pkgIndex"...If.it.exists.i
48420 74 20 69 73 20 73 6f 75 72 63 65 64 20 69 6e 20 74 6f 20 74 68 65 0d 23 20 69 6e 74 65 72 70 72 t.is.sourced.in.to.the.#.interpr
48440 65 74 65 72 20 74 6f 20 73 65 74 75 70 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 61 74 61 62 61 eter.to.setup.the.package.databa
48460 73 65 2e 0d 0d 70 72 6f 63 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 7b 64 69 72 7d 20 se...proc.tclMacPkgSearch.{dir}.
48480 7b 0d 20 20 20 20 66 6f 72 65 61 63 68 20 78 20 5b 67 6c 6f 62 20 2d 64 69 72 65 63 74 6f 72 79 {.....foreach.x.[glob.-directory
484a0 20 24 64 69 72 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 2a 2e 73 68 6c 62 5d 20 7b 0d 09 69 66 20 .$dir.-nocomplain.*.shlb].{..if.
484c0 7b 5b 66 69 6c 65 20 69 73 66 69 6c 65 20 24 78 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 72 65 {[file.isfile.$x]}.{......set.re
484e0 73 20 5b 72 65 73 6f 75 72 63 65 20 6f 70 65 6e 20 24 78 5d 0d 09 20 20 20 20 66 6f 72 65 61 63 s.[resource.open.$x]......foreac
48500 68 20 79 20 5b 72 65 73 6f 75 72 63 65 20 6c 69 73 74 20 54 45 58 54 20 24 72 65 73 5d 20 7b 0d h.y.[resource.list.TEXT.$res].{.
48520 09 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 79 20 22 70 6b 67 49 6e 64 65 78 ..if.{[string.equal.$y."pkgIndex
48540 22 5d 7d 20 7b 73 6f 75 72 63 65 20 2d 72 73 72 63 20 70 6b 67 49 6e 64 65 78 7d 0d 09 20 20 20 "]}.{source.-rsrc.pkgIndex}.....
48560 20 7d 0d 09 20 20 20 20 63 61 74 63 68 20 7b 72 65 73 6f 75 72 63 65 20 63 6c 6f 73 65 20 24 72 .}......catch.{resource.close.$r
48580 65 73 7d 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 20 es}..}.....}.}..#.tclPkgUnknown.
485a0 2d 2d 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 70 72 6f 76 69 64 65 73 20 74 68 65 --.#.This.procedure.provides.the
485c0 20 64 65 66 61 75 6c 74 20 66 6f 72 20 74 68 65 20 22 70 61 63 6b 61 67 65 20 75 6e 6b 6e 6f 77 .default.for.the."package.unknow
485e0 6e 22 20 66 75 6e 63 74 69 6f 6e 2e 0d 23 20 49 74 20 69 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 n".function..#.It.is.invoked.whe
48600 6e 20 61 20 70 61 63 6b 61 67 65 20 74 68 61 74 27 73 20 6e 65 65 64 65 64 20 63 61 6e 27 74 20 n.a.package.that's.needed.can't.
48620 62 65 20 66 6f 75 6e 64 2e 20 20 49 74 20 73 63 61 6e 73 0d 23 20 74 68 65 20 61 75 74 6f 5f 70 be.found...It.scans.#.the.auto_p
48640 61 74 68 20 64 69 72 65 63 74 6f 72 69 65 73 20 61 6e 64 20 74 68 65 69 72 20 69 6d 6d 65 64 69 ath.directories.and.their.immedi
48660 61 74 65 20 63 68 69 6c 64 72 65 6e 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 0d 23 20 70 6b 67 49 6e ate.children.looking.for.#.pkgIn
48680 64 65 78 2e 74 63 6c 20 66 69 6c 65 73 20 61 6e 64 20 73 6f 75 72 63 65 73 20 61 6e 79 20 73 75 dex.tcl.files.and.sources.any.su
486a0 63 68 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 66 6f 75 6e 64 20 74 6f 20 73 65 74 75 70 ch.files.that.are.found.to.setup
486c0 0d 23 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 61 74 61 62 61 73 65 2e 20 20 28 4f 6e 20 74 68 .#.the.package.database...(On.th
486e0 65 20 4d 61 63 69 6e 74 6f 73 68 20 77 65 20 61 6c 73 6f 20 73 65 61 72 63 68 20 66 6f 72 20 70 e.Macintosh.we.also.search.for.p
48700 6b 67 49 6e 64 65 78 0d 23 20 54 45 58 54 20 72 65 73 6f 75 72 63 65 73 20 69 6e 20 61 6c 6c 20 kgIndex.#.TEXT.resources.in.all.
48720 66 69 6c 65 73 2e 29 20 20 41 73 20 69 74 20 73 65 61 72 63 68 65 73 2c 20 69 74 20 77 69 6c 6c files.)..As.it.searches,.it.will
48740 20 72 65 63 6f 67 6e 69 7a 65 20 63 68 61 6e 67 65 73 0d 23 20 74 6f 20 74 68 65 20 61 75 74 6f .recognize.changes.#.to.the.auto
48760 5f 70 61 74 68 20 61 6e 64 20 73 63 61 6e 20 61 6e 79 20 6e 65 77 20 64 69 72 65 63 74 6f 72 69 _path.and.scan.any.new.directori
48780 65 73 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 6e 61 6d 65 20 2d 09 09 4e 61 6d es..#.#.Arguments:.#.name.-..Nam
487a0 65 20 6f 66 20 64 65 73 69 72 65 64 20 70 61 63 6b 61 67 65 2e 20 20 4e 6f 74 20 75 73 65 64 2e e.of.desired.package...Not.used.
487c0 0d 23 20 76 65 72 73 69 6f 6e 20 2d 09 09 56 65 72 73 69 6f 6e 20 6f 66 20 64 65 73 69 72 65 64 .#.version.-..Version.of.desired
487e0 20 70 61 63 6b 61 67 65 2e 20 20 4e 6f 74 20 75 73 65 64 2e 0d 23 20 65 78 61 63 74 20 2d 09 09 .package...Not.used..#.exact.-..
48800 45 69 74 68 65 72 20 22 2d 65 78 61 63 74 22 20 6f 72 20 6f 6d 69 74 74 65 64 2e 20 20 4e 6f 74 Either."-exact".or.omitted...Not
48820 20 75 73 65 64 2e 0d 0d 70 72 6f 63 20 74 63 6c 50 6b 67 55 6e 6b 6e 6f 77 6e 20 7b 6e 61 6d 65 .used...proc.tclPkgUnknown.{name
48840 20 76 65 72 73 69 6f 6e 20 7b 65 78 61 63 74 20 7b 7d 7d 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 .version.{exact.{}}}.{.....globa
48860 6c 20 61 75 74 6f 5f 70 61 74 68 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 65 6e 76 0d 0d 20 20 l.auto_path.tcl_platform.env....
48880 20 20 69 66 20 7b 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 61 75 74 6f 5f 70 61 74 68 5d 7d 20 ..if.{![info.exists.auto_path]}.
488a0 7b 0d 09 72 65 74 75 72 6e 0d 20 20 20 20 7d 0d 20 20 20 20 23 20 43 61 63 68 65 20 74 68 65 20 {..return.....}.....#.Cache.the.
488c0 61 75 74 6f 5f 70 61 74 68 2c 20 62 65 63 61 75 73 65 20 69 74 20 6d 61 79 20 63 68 61 6e 67 65 auto_path,.because.it.may.change
488e0 20 77 68 69 6c 65 20 77 65 20 72 75 6e 20 74 68 72 6f 75 67 68 0d 20 20 20 20 23 20 74 68 65 20 .while.we.run.through.....#.the.
48900 66 69 72 73 74 20 73 65 74 20 6f 66 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 66 69 6c 65 73 0d first.set.of.pkgIndex.tcl.files.
48920 20 20 20 20 73 65 74 20 6f 6c 64 5f 70 61 74 68 20 5b 73 65 74 20 75 73 65 5f 70 61 74 68 20 24 ....set.old_path.[set.use_path.$
48940 61 75 74 6f 5f 70 61 74 68 5d 0d 20 20 20 20 77 68 69 6c 65 20 7b 5b 6c 6c 65 6e 67 74 68 20 24 auto_path].....while.{[llength.$
48960 75 73 65 5f 70 61 74 68 5d 7d 20 7b 0d 09 73 65 74 20 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 75 use_path]}.{..set.dir.[lindex.$u
48980 73 65 5f 70 61 74 68 20 65 6e 64 5d 0d 09 23 20 77 65 20 63 61 6e 27 74 20 75 73 65 20 67 6c 6f se_path.end]..#.we.can't.use.glo
489a0 62 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 2c 20 73 6f 20 65 6e 63 6c 6f 73 65 20 74 68 b.in.safe.interps,.so.enclose.th
489c0 65 20 66 6f 6c 6c 6f 77 69 6e 67 0d 09 23 20 69 6e 20 61 20 63 61 74 63 68 20 73 74 61 74 65 6d e.following..#.in.a.catch.statem
489e0 65 6e 74 2c 20 77 68 65 72 65 20 77 65 20 67 65 74 20 74 68 65 20 70 6b 67 49 6e 64 65 78 20 66 ent,.where.we.get.the.pkgIndex.f
48a00 69 6c 65 73 20 6f 75 74 0d 09 23 20 6f 66 20 74 68 65 20 73 75 62 64 69 72 65 63 74 6f 72 69 65 iles.out..#.of.the.subdirectorie
48a20 73 0d 09 63 61 74 63 68 20 7b 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 66 69 6c 65 20 5b 67 6c s..catch.{......foreach.file.[gl
48a40 6f 62 20 2d 64 69 72 65 63 74 6f 72 79 20 24 64 69 72 20 2d 6a 6f 69 6e 20 2d 6e 6f 63 6f 6d 70 ob.-directory.$dir.-join.-nocomp
48a60 6c 61 69 6e 20 5c 0d 09 09 20 20 20 20 2a 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 5d 20 7b 0d 09 lain.\.......*.pkgIndex.tcl].{..
48a80 09 73 65 74 20 64 69 72 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 66 69 6c 65 5d 0d 09 09 .set.dir.[file.dirname.$file]...
48aa0 69 66 20 7b 5b 66 69 6c 65 20 72 65 61 64 61 62 6c 65 20 24 66 69 6c 65 5d 20 26 26 20 21 5b 69 if.{[file.readable.$file].&&.![i
48ac0 6e 66 6f 20 65 78 69 73 74 73 20 70 72 6f 63 64 44 69 72 73 28 24 64 69 72 29 5d 7d 20 7b 0d 09 nfo.exists.procdDirs($dir)]}.{..
48ae0 09 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 73 6f 75 72 63 65 20 24 66 69 6c 65 7d 20 6d .....if.{[catch.{source.$file}.m
48b00 73 67 5d 7d 20 7b 0d 09 09 09 74 63 6c 4c 6f 67 20 22 65 72 72 6f 72 20 72 65 61 64 69 6e 67 20 sg]}.{....tclLog."error.reading.
48b20 70 61 63 6b 61 67 65 20 69 6e 64 65 78 20 66 69 6c 65 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d package.index.file.$file:.$msg".
48b40 09 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 09 73 65 74 20 70 72 6f 63 64 44 69 72 73 28 ......}.else.{....set.procdDirs(
48b60 24 64 69 72 29 20 31 0d 09 09 20 20 20 20 7d 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 7d 0d 09 73 $dir).1.......}...}......}..}..s
48b80 65 74 20 64 69 72 20 5b 6c 69 6e 64 65 78 20 24 75 73 65 5f 70 61 74 68 20 65 6e 64 5d 0d 09 73 et.dir.[lindex.$use_path.end]..s
48ba0 65 74 20 66 69 6c 65 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69 72 20 70 6b 67 49 6e 64 65 78 et.file.[file.join.$dir.pkgIndex
48bc0 2e 74 63 6c 5d 0d 09 23 20 73 61 66 65 20 69 6e 74 65 72 70 73 20 75 73 75 61 6c 6c 79 20 64 6f .tcl]..#.safe.interps.usually.do
48be0 6e 27 74 20 68 61 76 65 20 22 66 69 6c 65 20 72 65 61 64 61 62 6c 65 22 2c 20 6e 6f 72 20 73 74 n't.have."file.readable",.nor.st
48c00 64 65 72 72 20 63 68 61 6e 6e 65 6c 0d 09 69 66 20 7b 28 5b 69 6e 74 65 72 70 20 69 73 73 61 66 derr.channel..if.{([interp.issaf
48c20 65 5d 20 7c 7c 20 5b 66 69 6c 65 20 72 65 61 64 61 62 6c 65 20 24 66 69 6c 65 5d 29 20 26 26 20 e].||.[file.readable.$file]).&&.
48c40 5c 0d 09 09 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 70 72 6f 63 64 44 69 72 73 28 24 64 69 72 \...![info.exists.procdDirs($dir
48c60 29 5d 7d 20 7b 0d 09 20 20 20 20 69 66 20 7b 5b 63 61 74 63 68 20 7b 73 6f 75 72 63 65 20 24 66 )]}.{......if.{[catch.{source.$f
48c80 69 6c 65 7d 20 6d 73 67 5d 20 26 26 20 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 7d 20 20 ile}.msg].&&.![interp.issafe]}..
48ca0 7b 0d 09 09 74 63 6c 4c 6f 67 20 22 65 72 72 6f 72 20 72 65 61 64 69 6e 67 20 70 61 63 6b 61 67 {...tclLog."error.reading.packag
48cc0 65 20 69 6e 64 65 78 20 66 69 6c 65 20 24 66 69 6c 65 3a 20 24 6d 73 67 22 0d 09 20 20 20 20 7d e.index.file.$file:.$msg"......}
48ce0 20 65 6c 73 65 20 7b 0d 09 09 73 65 74 20 70 72 6f 63 64 44 69 72 73 28 24 64 69 72 29 20 31 0d .else.{...set.procdDirs($dir).1.
48d00 09 20 20 20 20 7d 0d 09 7d 0d 09 23 20 4f 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 20 77 65 .....}..}..#.On.the.Macintosh.we
48d20 20 61 6c 73 6f 20 6c 6f 6f 6b 20 69 6e 20 74 68 65 20 72 65 73 6f 75 72 63 65 20 66 6f 72 6b 20 .also.look.in.the.resource.fork.
48d40 0d 09 23 20 6f 66 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69 65 73 0d 09 23 20 57 65 20 63 61 ..#.of.shared.libraries..#.We.ca
48d60 6e 27 74 20 75 73 65 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 69 6e 20 73 61 66 65 20 n't.use.tclMacPkgSearch.in.safe.
48d80 69 6e 74 65 72 70 73 20 62 65 63 61 75 73 65 20 69 74 20 75 73 65 73 20 67 6c 6f 62 0d 09 69 66 interps.because.it.uses.glob..if
48da0 20 7b 28 21 5b 69 6e 74 65 72 70 20 69 73 73 61 66 65 5d 29 20 26 26 20 5c 0d 09 09 5b 73 74 72 .{(![interp.issafe]).&&.\...[str
48dc0 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 70 6c 61 74 66 6f 72 6d ing.equal.$tcl_platform(platform
48de0 29 20 22 6d 61 63 69 6e 74 6f 73 68 22 5d 7d 20 7b 0d 09 20 20 20 20 73 65 74 20 64 69 72 20 5b )."macintosh"]}.{......set.dir.[
48e00 6c 69 6e 64 65 78 20 24 75 73 65 5f 70 61 74 68 20 65 6e 64 5d 0d 09 20 20 20 20 69 66 20 7b 21 lindex.$use_path.end]......if.{!
48e20 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 70 72 6f 63 64 44 69 72 73 28 24 64 69 72 29 5d 7d 20 7b [info.exists.procdDirs($dir)]}.{
48e40 0d 09 09 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 24 64 69 72 0d 09 09 73 65 74 20 70 72 ...tclMacPkgSearch.$dir...set.pr
48e60 6f 63 64 44 69 72 73 28 24 64 69 72 29 20 31 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 66 6f 72 65 ocdDirs($dir).1......}......fore
48e80 61 63 68 20 78 20 5b 67 6c 6f 62 20 2d 64 69 72 65 63 74 6f 72 79 20 24 64 69 72 20 2d 6e 6f 63 ach.x.[glob.-directory.$dir.-noc
48ea0 6f 6d 70 6c 61 69 6e 20 2a 5d 20 7b 0d 09 09 69 66 20 7b 5b 66 69 6c 65 20 69 73 64 69 72 65 63 omplain.*].{...if.{[file.isdirec
48ec0 74 6f 72 79 20 24 78 5d 20 26 26 20 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 70 72 6f 63 64 44 tory.$x].&&.![info.exists.procdD
48ee0 69 72 73 28 24 78 29 5d 7d 20 7b 0d 09 09 20 20 20 20 73 65 74 20 64 69 72 20 24 78 0d 09 09 20 irs($x)]}.{.......set.dir.$x....
48f00 20 20 20 74 63 6c 4d 61 63 50 6b 67 53 65 61 72 63 68 20 24 64 69 72 0d 09 09 20 20 20 20 73 65 ...tclMacPkgSearch.$dir.......se
48f20 74 20 70 72 6f 63 64 44 69 72 73 28 24 64 69 72 29 20 31 0d 09 09 7d 0d 09 20 20 20 20 7d 0d 09 t.procdDirs($dir).1...}......}..
48f40 7d 0d 09 73 65 74 20 75 73 65 5f 70 61 74 68 20 5b 6c 72 61 6e 67 65 20 24 75 73 65 5f 70 61 74 }..set.use_path.[lrange.$use_pat
48f60 68 20 30 20 65 6e 64 2d 31 5d 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 20 h.0.end-1]..if.{[string.compare.
48f80 24 6f 6c 64 5f 70 61 74 68 20 24 61 75 74 6f 5f 70 61 74 68 5d 7d 20 7b 0d 09 20 20 20 20 66 6f $old_path.$auto_path]}.{......fo
48fa0 72 65 61 63 68 20 64 69 72 20 24 61 75 74 6f 5f 70 61 74 68 20 7b 0d 09 09 6c 61 70 70 65 6e 64 reach.dir.$auto_path.{...lappend
48fc0 20 75 73 65 5f 70 61 74 68 20 24 64 69 72 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 73 65 74 20 6f .use_path.$dir......}......set.o
48fe0 6c 64 5f 70 61 74 68 20 24 61 75 74 6f 5f 70 61 74 68 0d 09 7d 0d 20 20 20 20 7d 0d 7d 0d 0d 23 ld_path.$auto_path..}.....}.}..#
49000 20 3a 3a 70 6b 67 3a 3a 63 72 65 61 74 65 20 2d 2d 0d 23 0d 23 09 47 69 76 65 6e 20 61 20 70 61 .::pkg::create.--.#.#.Given.a.pa
49020 63 6b 61 67 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 20 61 20 22 ckage.specification.generate.a."
49040 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 22 20 73 74 61 74 65 6d 65 6e 74 0d 23 09 66 6f package.ifneeded".statement.#.fo
49060 72 20 74 68 65 20 70 61 63 6b 61 67 65 2c 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 63 6c r.the.package,.suitable.for.incl
49080 75 73 69 6f 6e 20 69 6e 20 61 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 20 66 69 6c 65 2e 0d 23 0d usion.in.a.pkgIndex.tcl.file..#.
490a0 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 09 61 72 67 73 09 09 61 72 67 75 6d 65 6e 74 73 20 75 #.Arguments:.#.args..arguments.u
490c0 73 65 64 20 62 79 20 74 68 65 20 63 72 65 61 74 65 20 66 75 6e 63 74 69 6f 6e 3a 0d 23 09 09 09 sed.by.the.create.function:.#...
490e0 2d 6e 61 6d 65 09 09 70 61 63 6b 61 67 65 4e 61 6d 65 0d 23 09 09 09 2d 76 65 72 73 69 6f 6e 09 -name..packageName.#...-version.
49100 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 0d 23 09 09 09 2d 6c 6f 61 64 09 09 7b 66 69 6c 65 6e packageVersion.#...-load..{filen
49120 61 6d 65 20 3f 7b 70 72 6f 63 73 7d 3f 7d 0d 23 09 09 09 2e 2e 2e 0d 23 09 09 09 2d 73 6f 75 72 ame.?{procs}?}.#.......#...-sour
49140 63 65 09 09 7b 66 69 6c 65 6e 61 6d 65 20 3f 7b 70 72 6f 63 73 7d 3f 7d 0d 23 09 09 09 2e 2e 2e ce..{filename.?{procs}?}.#......
49160 0d 23 0d 23 09 09 09 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 2d 6c 6f 61 64 20 61 6e 64 20 2d .#.#...Any.number.of.-load.and.-
49180 73 6f 75 72 63 65 20 70 61 72 61 6d 65 74 65 72 73 20 6d 61 79 20 62 65 0d 23 09 09 09 73 70 65 source.parameters.may.be.#...spe
491a0 63 69 66 69 65 64 2c 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 65 72 65 20 69 73 20 61 74 20 6c cified,.so.long.as.there.is.at.l
491c0 65 61 73 74 20 6f 6e 65 20 2d 6c 6f 61 64 20 6f 72 0d 23 09 09 09 2d 73 6f 75 72 63 65 20 70 61 east.one.-load.or.#...-source.pa
491e0 72 61 6d 65 74 65 72 2e 20 20 49 66 20 74 68 65 20 70 72 6f 63 73 20 63 6f 6d 70 6f 6e 65 6e 74 rameter...If.the.procs.component
49200 20 6f 66 20 61 20 0d 23 09 09 09 6d 6f 64 75 6c 65 20 73 70 65 63 69 66 69 65 72 20 69 73 20 6c .of.a..#...module.specifier.is.l
49220 65 66 74 20 6f 66 66 2c 20 74 68 61 74 20 6d 6f 64 75 6c 65 20 77 69 6c 6c 20 62 65 0d 23 09 09 eft.off,.that.module.will.be.#..
49240 09 73 65 74 20 75 70 20 66 6f 72 20 64 69 72 65 63 74 20 6c 6f 61 64 69 6e 67 3b 20 6f 74 68 65 .set.up.for.direct.loading;.othe
49260 72 77 69 73 65 2c 20 69 74 20 77 69 6c 6c 20 62 65 0d 23 09 09 09 73 65 74 20 75 70 20 66 6f 72 rwise,.it.will.be.#...set.up.for
49280 20 6c 61 7a 79 20 6c 6f 61 64 69 6e 67 2e 20 20 49 66 20 62 6f 74 68 20 2d 73 6f 75 72 63 65 20 .lazy.loading...If.both.-source.
492a0 61 6e 64 20 2d 6c 6f 61 64 0d 23 09 09 09 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 and.-load.#...are.specified,.the
492c0 20 2d 6c 6f 61 64 27 65 64 20 66 69 6c 65 73 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 20 0d .-load'ed.files.will.be.loaded..
492e0 23 09 09 09 66 69 72 73 74 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 2d 73 6f 75 72 #...first,.followed.by.the.-sour
49300 63 65 27 64 20 66 69 6c 65 73 2e 0d 23 0d 23 20 52 65 73 75 6c 74 73 3a 0d 23 09 41 6e 20 61 70 ce'd.files..#.#.Results:.#.An.ap
49320 70 72 6f 70 72 69 61 74 65 20 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 22 20 73 74 61 propriate."package.ifneeded".sta
49340 74 65 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 2e 0d 0d 70 72 6f 63 20 3a 3a tement.for.the.package...proc.::
49360 70 6b 67 3a 3a 63 72 65 61 74 65 20 7b 61 72 67 73 7d 20 7b 0d 20 20 20 20 61 70 70 65 6e 64 20 pkg::create.{args}.{.....append.
49380 65 72 72 28 75 73 61 67 65 29 20 22 5b 6c 69 6e 64 65 78 20 5b 69 6e 66 6f 20 6c 65 76 65 6c 20 err(usage)."[lindex.[info.level.
493a0 30 5d 20 30 5d 20 22 0d 20 20 20 20 61 70 70 65 6e 64 20 65 72 72 28 75 73 61 67 65 29 20 22 2d 0].0].".....append.err(usage)."-
493c0 6e 61 6d 65 20 70 61 63 6b 61 67 65 4e 61 6d 65 20 2d 76 65 72 73 69 6f 6e 20 70 61 63 6b 61 67 name.packageName.-version.packag
493e0 65 56 65 72 73 69 6f 6e 22 0d 20 20 20 20 61 70 70 65 6e 64 20 65 72 72 28 75 73 61 67 65 29 20 eVersion".....append.err(usage).
49400 22 3f 2d 6c 6f 61 64 20 7b 66 69 6c 65 6e 61 6d 65 20 3f 7b 70 72 6f 63 73 7d 3f 7d 3f 20 2e 2e "?-load.{filename.?{procs}?}?...
49420 2e 20 22 0d 20 20 20 20 61 70 70 65 6e 64 20 65 72 72 28 75 73 61 67 65 29 20 22 3f 2d 73 6f 75 ..".....append.err(usage)."?-sou
49440 72 63 65 20 7b 66 69 6c 65 6e 61 6d 65 20 3f 7b 70 72 6f 63 73 7d 3f 7d 3f 20 2e 2e 2e 22 0d 0d rce.{filename.?{procs}?}?...."..
49460 20 20 20 20 73 65 74 20 65 72 72 28 77 72 6f 6e 67 4e 75 6d 41 72 67 73 29 20 22 77 72 6f 6e 67 ....set.err(wrongNumArgs)."wrong
49480 20 23 20 61 72 67 73 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 24 65 72 72 28 75 73 61 67 65 29 .#.args:.should.be.\"$err(usage)
494a0 5c 22 22 0d 20 20 20 20 73 65 74 20 65 72 72 28 76 61 6c 75 65 4d 69 73 73 69 6e 67 29 20 22 76 \"".....set.err(valueMissing)."v
494c0 61 6c 75 65 20 66 6f 72 20 5c 22 25 73 5c 22 20 6d 69 73 73 69 6e 67 3a 20 73 68 6f 75 6c 64 20 alue.for.\"%s\".missing:.should.
494e0 62 65 20 5c 22 24 65 72 72 28 75 73 61 67 65 29 5c 22 22 0d 20 20 20 20 73 65 74 20 65 72 72 28 be.\"$err(usage)\"".....set.err(
49500 75 6e 6b 6e 6f 77 6e 4f 70 74 29 20 20 20 22 75 6e 6b 6e 6f 77 6e 20 6f 70 74 69 6f 6e 20 5c 22 unknownOpt)..."unknown.option.\"
49520 25 73 5c 22 3a 20 73 68 6f 75 6c 64 20 62 65 20 5c 22 24 65 72 72 28 75 73 61 67 65 29 5c 22 22 %s\":.should.be.\"$err(usage)\""
49540 0d 20 20 20 20 73 65 74 20 65 72 72 28 6e 6f 4c 6f 61 64 4f 72 53 6f 75 72 63 65 29 20 22 61 74 .....set.err(noLoadOrSource)."at
49560 20 6c 65 61 73 74 20 6f 6e 65 20 6f 66 20 2d 6c 6f 61 64 20 61 6e 64 20 2d 73 6f 75 72 63 65 20 .least.one.of.-load.and.-source.
49580 6d 75 73 74 20 62 65 20 67 69 76 65 6e 22 0d 0d 20 20 20 20 23 20 70 72 6f 63 65 73 73 20 61 72 must.be.given"......#.process.ar
495a0 67 75 6d 65 6e 74 73 0d 20 20 20 20 73 65 74 20 6c 65 6e 20 5b 6c 6c 65 6e 67 74 68 20 24 61 72 guments.....set.len.[llength.$ar
495c0 67 73 5d 0d 20 20 20 20 69 66 20 7b 20 24 6c 65 6e 20 3c 20 36 20 7d 20 7b 0d 09 65 72 72 6f 72 gs].....if.{.$len.<.6.}.{..error
495e0 20 24 65 72 72 28 77 72 6f 6e 67 4e 75 6d 41 72 67 73 29 0d 20 20 20 20 7d 0d 20 20 20 20 0d 20 .$err(wrongNumArgs).....}.......
49600 20 20 20 23 20 49 6e 69 74 69 61 6c 69 7a 65 20 70 61 72 61 6d 65 74 65 72 73 0d 20 20 20 20 73 ...#.Initialize.parameters.....s
49620 65 74 20 6f 70 74 73 28 2d 6e 61 6d 65 29 09 09 7b 7d 0d 20 20 20 20 73 65 74 20 6f 70 74 73 28 et.opts(-name)..{}.....set.opts(
49640 2d 76 65 72 73 69 6f 6e 29 09 09 7b 7d 0d 20 20 20 20 73 65 74 20 6f 70 74 73 28 2d 73 6f 75 72 -version)..{}.....set.opts(-sour
49660 63 65 29 09 09 7b 7d 0d 20 20 20 20 73 65 74 20 6f 70 74 73 28 2d 6c 6f 61 64 29 09 09 7b 7d 0d ce)..{}.....set.opts(-load)..{}.
49680 0d 20 20 20 20 23 20 70 72 6f 63 65 73 73 20 70 61 72 61 6d 65 74 65 72 73 0d 20 20 20 20 66 6f .....#.process.parameters.....fo
496a0 72 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 20 24 6c 65 6e 7d 20 7b 69 6e 63 72 20 69 7d r.{set.i.0}.{$i.<.$len}.{incr.i}
496c0 20 7b 0d 09 73 65 74 20 66 6c 61 67 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 73 20 24 69 5d 0d 09 .{..set.flag.[lindex.$args.$i]..
496e0 69 6e 63 72 20 69 0d 09 73 77 69 74 63 68 20 2d 67 6c 6f 62 20 2d 2d 20 24 66 6c 61 67 20 7b 0d incr.i..switch.-glob.--.$flag.{.
49700 09 20 20 20 20 22 2d 6e 61 6d 65 22 09 09 2d 0d 09 20 20 20 20 22 2d 76 65 72 73 69 6f 6e 22 09 ....."-name"..-......"-version".
49720 09 7b 0d 09 09 69 66 20 7b 20 24 69 20 3e 3d 20 24 6c 65 6e 20 7d 20 7b 0d 09 09 20 20 20 20 65 .{...if.{.$i.>=.$len.}.{.......e
49740 72 72 6f 72 20 5b 66 6f 72 6d 61 74 20 24 65 72 72 28 76 61 6c 75 65 4d 69 73 73 69 6e 67 29 20 rror.[format.$err(valueMissing).
49760 24 66 6c 61 67 5d 0d 09 09 7d 0d 09 09 73 65 74 20 6f 70 74 73 28 24 66 6c 61 67 29 20 5b 6c 69 $flag]...}...set.opts($flag).[li
49780 6e 64 65 78 20 24 61 72 67 73 20 24 69 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 22 2d 73 6f 75 ndex.$args.$i]......}......"-sou
497a0 72 63 65 22 09 09 2d 0d 09 20 20 20 20 22 2d 6c 6f 61 64 22 09 09 7b 0d 09 09 69 66 20 7b 20 24 rce"..-......"-load"..{...if.{.$
497c0 69 20 3e 3d 20 24 6c 65 6e 20 7d 20 7b 0d 09 09 20 20 20 20 65 72 72 6f 72 20 5b 66 6f 72 6d 61 i.>=.$len.}.{.......error.[forma
497e0 74 20 24 65 72 72 28 76 61 6c 75 65 4d 69 73 73 69 6e 67 29 20 24 66 6c 61 67 5d 0d 09 09 7d 0d t.$err(valueMissing).$flag]...}.
49800 09 09 6c 61 70 70 65 6e 64 20 6f 70 74 73 28 24 66 6c 61 67 29 20 5b 6c 69 6e 64 65 78 20 24 61 ..lappend.opts($flag).[lindex.$a
49820 72 67 73 20 24 69 5d 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 64 65 66 61 75 6c 74 20 7b 0d 09 09 rgs.$i]......}......default.{...
49840 65 72 72 6f 72 20 5b 66 6f 72 6d 61 74 20 24 65 72 72 28 75 6e 6b 6e 6f 77 6e 4f 70 74 29 20 5b error.[format.$err(unknownOpt).[
49860 6c 69 6e 64 65 78 20 24 61 72 67 73 20 24 69 5d 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 lindex.$args.$i]]......}..}.....
49880 7d 0d 0d 20 20 20 20 23 20 56 61 6c 69 64 61 74 65 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 73 }......#.Validate.the.parameters
498a0 0d 20 20 20 20 69 66 20 7b 20 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 73 28 2d 6e 61 6d 65 29 5d .....if.{.[llength.$opts(-name)]
498c0 20 3d 3d 20 30 20 7d 20 7b 0d 09 65 72 72 6f 72 20 5b 66 6f 72 6d 61 74 20 24 65 72 72 28 76 61 .==.0.}.{..error.[format.$err(va
498e0 6c 75 65 4d 69 73 73 69 6e 67 29 20 22 2d 6e 61 6d 65 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 lueMissing)."-name"].....}.....i
49900 66 20 7b 20 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 73 28 2d 76 65 72 73 69 6f 6e 29 5d 20 3d 3d f.{.[llength.$opts(-version)].==
49920 20 30 20 7d 20 7b 0d 09 65 72 72 6f 72 20 5b 66 6f 72 6d 61 74 20 24 65 72 72 28 76 61 6c 75 65 .0.}.{..error.[format.$err(value
49940 4d 69 73 73 69 6e 67 29 20 22 2d 76 65 72 73 69 6f 6e 22 5d 0d 20 20 20 20 7d 0d 20 20 20 20 0d Missing)."-version"].....}......
49960 20 20 20 20 69 66 20 7b 20 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 73 28 2d 73 6f 75 72 63 65 29 ....if.{.[llength.$opts(-source)
49980 5d 20 3d 3d 20 30 20 26 26 20 5b 6c 6c 65 6e 67 74 68 20 24 6f 70 74 73 28 2d 6c 6f 61 64 29 5d ].==.0.&&.[llength.$opts(-load)]
499a0 20 3d 3d 20 30 20 7d 20 7b 0d 09 65 72 72 6f 72 20 24 65 72 72 28 6e 6f 4c 6f 61 64 4f 72 53 6f .==.0.}.{..error.$err(noLoadOrSo
499c0 75 72 63 65 29 0d 20 20 20 20 7d 0d 0d 20 20 20 20 23 20 4f 4b 2c 20 6e 6f 77 20 65 76 65 72 79 urce).....}......#.OK,.now.every
499e0 74 68 69 6e 67 20 69 73 20 67 6f 6f 64 2e 20 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 70 61 63 thing.is.good...Generate.the.pac
49a00 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 73 74 61 74 6d 65 6e 74 2e 0d 20 20 20 20 73 65 74 20 kage.ifneeded.statment......set.
49a20 63 6d 64 6c 69 6e 65 20 22 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65 64 20 24 6f 70 74 73 28 cmdline."package.ifneeded.$opts(
49a40 2d 6e 61 6d 65 29 20 24 6f 70 74 73 28 2d 76 65 72 73 69 6f 6e 29 20 22 0d 20 20 20 20 0d 20 20 -name).$opts(-version)."........
49a60 20 20 73 65 74 20 63 6d 64 4c 69 73 74 20 7b 7d 0d 20 20 20 20 73 65 74 20 6c 61 7a 79 46 69 6c ..set.cmdList.{}.....set.lazyFil
49a80 65 4c 69 73 74 20 7b 7d 0d 0d 20 20 20 20 23 20 48 61 6e 64 6c 65 20 2d 6c 6f 61 64 20 61 6e 64 eList.{}......#.Handle.-load.and
49aa0 20 2d 73 6f 75 72 63 65 20 73 70 65 63 73 0d 20 20 20 20 66 6f 72 65 61 63 68 20 6b 65 79 20 7b .-source.specs.....foreach.key.{
49ac0 6c 6f 61 64 20 73 6f 75 72 63 65 7d 20 7b 0d 09 66 6f 72 65 61 63 68 20 66 69 6c 65 73 70 65 63 load.source}.{..foreach.filespec
49ae0 20 24 6f 70 74 73 28 2d 24 6b 65 79 29 20 7b 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 7b 66 69 .$opts(-$key).{......foreach.{fi
49b00 6c 65 6e 61 6d 65 20 70 72 6f 63 6c 69 73 74 7d 20 7b 7b 7d 20 7b 7d 7d 20 7b 0d 09 09 62 72 65 lename.proclist}.{{}.{}}.{...bre
49b20 61 6b 0d 09 20 20 20 20 7d 0d 09 20 20 20 20 66 6f 72 65 61 63 68 20 7b 66 69 6c 65 6e 61 6d 65 ak......}......foreach.{filename
49b40 20 70 72 6f 63 6c 69 73 74 7d 20 24 66 69 6c 65 73 70 65 63 20 7b 0d 09 09 62 72 65 61 6b 0d 09 .proclist}.$filespec.{...break..
49b60 20 20 20 20 7d 0d 09 20 20 20 20 0d 09 20 20 20 20 69 66 20 7b 20 5b 6c 6c 65 6e 67 74 68 20 24 ....}............if.{.[llength.$
49b80 70 72 6f 63 6c 69 73 74 5d 20 3d 3d 20 30 20 7d 20 7b 0d 09 09 73 65 74 20 63 6d 64 20 22 5c 5b proclist].==.0.}.{...set.cmd."\[
49ba0 6c 69 73 74 20 24 6b 65 79 20 5c 5b 66 69 6c 65 20 6a 6f 69 6e 20 5c 24 64 69 72 20 5b 6c 69 73 list.$key.\[file.join.\$dir.[lis
49bc0 74 20 24 66 69 6c 65 6e 61 6d 65 5d 5c 5d 5c 5d 22 0d 09 09 6c 61 70 70 65 6e 64 20 63 6d 64 4c t.$filename]\]\]"...lappend.cmdL
49be0 69 73 74 20 24 63 6d 64 0d 09 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 09 09 6c 61 70 70 65 6e 64 ist.$cmd......}.else.{...lappend
49c00 20 6c 61 7a 79 46 69 6c 65 4c 69 73 74 20 5b 6c 69 73 74 20 24 66 69 6c 65 6e 61 6d 65 20 24 6b .lazyFileList.[list.$filename.$k
49c20 65 79 20 24 70 72 6f 63 6c 69 73 74 5d 0d 09 20 20 20 20 7d 0d 09 7d 0d 20 20 20 20 7d 0d 0d 20 ey.$proclist]......}..}.....}...
49c40 20 20 20 69 66 20 7b 20 5b 6c 6c 65 6e 67 74 68 20 24 6c 61 7a 79 46 69 6c 65 4c 69 73 74 5d 20 ...if.{.[llength.$lazyFileList].
49c60 3e 20 30 20 7d 20 7b 0d 09 6c 61 70 70 65 6e 64 20 63 6d 64 4c 69 73 74 20 22 5c 5b 6c 69 73 74 >.0.}.{..lappend.cmdList."\[list
49c80 20 74 63 6c 50 6b 67 53 65 74 75 70 20 5c 24 64 69 72 20 24 6f 70 74 73 28 2d 6e 61 6d 65 29 5c .tclPkgSetup.\$dir.$opts(-name)\
49ca0 0d 09 09 24 6f 70 74 73 28 2d 76 65 72 73 69 6f 6e 29 20 5b 6c 69 73 74 20 24 6c 61 7a 79 46 69 ...$opts(-version).[list.$lazyFi
49cc0 6c 65 4c 69 73 74 5d 5c 5d 22 0d 20 20 20 20 7d 0d 20 20 20 20 61 70 70 65 6e 64 20 63 6d 64 6c leList]\]".....}.....append.cmdl
49ce0 69 6e 65 20 5b 6a 6f 69 6e 20 24 63 6d 64 4c 69 73 74 20 22 5c 5c 6e 22 5d 0d 20 20 20 20 72 65 ine.[join.$cmdList."\\n"].....re
49d00 74 75 72 6e 20 24 63 6d 64 6c 69 6e 65 0d 7d 0d 0d 00 00 03 72 23 20 70 61 72 72 61 79 3a 0d 23 turn.$cmdline.}.....r#.parray:.#
49d20 20 50 72 69 6e 74 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 67 6c 6f 62 61 6c 20 .Print.the.contents.of.a.global.
49d40 61 72 72 61 79 20 6f 6e 20 73 74 64 6f 75 74 2e 0d 23 0d 23 20 52 43 53 3a 20 40 28 23 29 20 24 array.on.stdout..#.#.RCS:.@(#).$
49d60 49 64 3a 20 70 61 72 72 61 79 2e 74 63 6c 2c 76 20 31 2e 33 20 31 39 39 38 2f 30 39 2f 31 34 20 Id:.parray.tcl,v.1.3.1998/09/14.
49d80 31 38 3a 34 30 3a 30 33 20 73 74 61 6e 74 6f 6e 20 45 78 70 20 24 0d 23 0d 23 20 43 6f 70 79 72 18:40:03.stanton.Exp.$.#.#.Copyr
49da0 69 67 68 74 20 28 63 29 20 31 39 39 31 2d 31 39 39 33 20 54 68 65 20 52 65 67 65 6e 74 73 20 6f ight.(c).1991-1993.The.Regents.o
49dc0 66 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2e 0d f.the.University.of.California..
49de0 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 20 53 75 6e 20 4d 69 63 72 6f 73 79 #.Copyright.(c).1994.Sun.Microsy
49e00 73 74 65 6d 73 2c 20 49 6e 63 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 20 66 69 6c 65 20 22 6c 69 stems,.Inc..#.#.See.the.file."li
49e20 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 cense.terms".for.information.on.
49e40 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f 6e 0d 23 20 6f 66 20 74 68 usage.and.redistribution.#.of.th
49e60 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 4c 41 49 4d 45 52 20 4f 46 is.file,.and.for.a.DISCLAIMER.OF
49e80 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 0d 0d 70 72 6f 63 20 70 61 72 72 61 79 20 .ALL.WARRANTIES..#..proc.parray.
49ea0 7b 61 20 7b 70 61 74 74 65 72 6e 20 2a 7d 7d 20 7b 0d 20 20 20 20 75 70 76 61 72 20 31 20 24 61 {a.{pattern.*}}.{.....upvar.1.$a
49ec0 20 61 72 72 61 79 0d 20 20 20 20 69 66 20 7b 21 5b 61 72 72 61 79 20 65 78 69 73 74 73 20 61 72 .array.....if.{![array.exists.ar
49ee0 72 61 79 5d 7d 20 7b 0d 09 65 72 72 6f 72 20 22 5c 22 24 61 5c 22 20 69 73 6e 27 74 20 61 6e 20 ray]}.{..error."\"$a\".isn't.an.
49f00 61 72 72 61 79 22 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6d 61 78 6c 20 30 0d 20 20 20 20 array".....}.....set.maxl.0.....
49f20 66 6f 72 65 61 63 68 20 6e 61 6d 65 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 foreach.name.[lsort.[array.names
49f40 20 61 72 72 61 79 20 24 70 61 74 74 65 72 6e 5d 5d 20 7b 0d 09 69 66 20 7b 5b 73 74 72 69 6e 67 .array.$pattern]].{..if.{[string
49f60 20 6c 65 6e 67 74 68 20 24 6e 61 6d 65 5d 20 3e 20 24 6d 61 78 6c 7d 20 7b 0d 09 20 20 20 20 73 .length.$name].>.$maxl}.{......s
49f80 65 74 20 6d 61 78 6c 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 6e 61 6d 65 5d 0d 09 7d et.maxl.[string.length.$name]..}
49fa0 0d 20 20 20 20 7d 0d 20 20 20 20 73 65 74 20 6d 61 78 6c 20 5b 65 78 70 72 20 7b 24 6d 61 78 6c .....}.....set.maxl.[expr.{$maxl
49fc0 20 2b 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 61 5d 20 2b 20 32 7d 5d 0d 20 20 20 20 .+.[string.length.$a].+.2}].....
49fe0 66 6f 72 65 61 63 68 20 6e 61 6d 65 20 5b 6c 73 6f 72 74 20 5b 61 72 72 61 79 20 6e 61 6d 65 73 foreach.name.[lsort.[array.names
4a000 20 61 72 72 61 79 20 24 70 61 74 74 65 72 6e 5d 5d 20 7b 0d 09 73 65 74 20 6e 61 6d 65 53 74 72 .array.$pattern]].{..set.nameStr
4a020 69 6e 67 20 5b 66 6f 72 6d 61 74 20 25 73 28 25 73 29 20 24 61 20 24 6e 61 6d 65 5d 0d 09 70 75 ing.[format.%s(%s).$a.$name]..pu
4a040 74 73 20 73 74 64 6f 75 74 20 5b 66 6f 72 6d 61 74 20 22 25 2d 2a 73 20 3d 20 25 73 22 20 24 6d ts.stdout.[format."%-*s.=.%s".$m
4a060 61 78 6c 20 24 6e 61 6d 65 53 74 72 69 6e 67 20 24 61 72 72 61 79 28 24 6e 61 6d 65 29 5d 0d 20 axl.$nameString.$array($name)]..
4a080 20 20 20 7d 0d 7d 0d 00 00 11 0b 23 20 77 6f 72 64 2e 74 63 6c 20 2d 2d 0d 23 0d 23 20 54 68 69 ...}.}.....#.word.tcl.--.#.#.Thi
4a0a0 73 20 66 69 6c 65 20 64 65 66 69 6e 65 73 20 76 61 72 69 6f 75 73 20 70 72 6f 63 65 64 75 72 65 s.file.defines.various.procedure
4a0c0 73 20 66 6f 72 20 63 6f 6d 70 75 74 69 6e 67 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 0d s.for.computing.word.boundaries.
4a0e0 23 20 69 6e 20 73 74 72 69 6e 67 73 2e 20 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 72 69 6d #.in.strings...This.file.is.prim
4a100 61 72 69 6c 79 20 6e 65 65 64 65 64 20 73 6f 20 54 6b 20 74 65 78 74 20 61 6e 64 20 65 6e 74 72 arily.needed.so.Tk.text.and.entr
4a120 79 0d 23 20 77 69 64 67 65 74 73 20 62 65 68 61 76 65 20 70 72 6f 70 65 72 6c 79 20 66 6f 72 20 y.#.widgets.behave.properly.for.
4a140 64 69 66 66 65 72 65 6e 74 20 70 6c 61 74 66 6f 72 6d 73 2e 0d 23 0d 23 20 43 6f 70 79 72 69 67 different.platforms..#.#.Copyrig
4a160 68 74 20 28 63 29 20 31 39 39 36 20 62 79 20 53 75 6e 20 4d 69 63 72 6f 73 79 73 74 65 6d 73 2c ht.(c).1996.by.Sun.Microsystems,
4a180 20 49 6e 63 2e 0d 23 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 38 20 62 79 20 53 63 .Inc..#.Copyright.(c).1998.by.Sc
4a1a0 72 69 74 70 69 63 73 20 43 6f 72 70 6f 72 61 74 69 6f 6e 2e 0d 23 0d 23 20 53 65 65 20 74 68 65 ritpics.Corporation..#.#.See.the
4a1c0 20 66 69 6c 65 20 22 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 66 6f 72 20 69 6e 66 6f 72 6d .file."license.terms".for.inform
4a1e0 61 74 69 6f 6e 20 6f 6e 20 75 73 61 67 65 20 61 6e 64 20 72 65 64 69 73 74 72 69 62 75 74 69 6f ation.on.usage.and.redistributio
4a200 6e 0d 23 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2c 20 61 6e 64 20 66 6f 72 20 61 20 44 49 53 43 n.#.of.this.file,.and.for.a.DISC
4a220 4c 41 49 4d 45 52 20 4f 46 20 41 4c 4c 20 57 41 52 52 41 4e 54 49 45 53 2e 0d 23 20 0d 23 20 52 LAIMER.OF.ALL.WARRANTIES..#..#.R
4a240 43 53 3a 20 40 28 23 29 20 24 49 64 3a 20 77 6f 72 64 2e 74 63 6c 2c 76 20 31 2e 36 20 32 30 30 CS:.@(#).$Id:.word.tcl,v.1.6.200
4a260 30 2f 30 31 2f 32 31 20 30 32 3a 32 35 3a 33 38 20 68 6f 62 62 73 20 45 78 70 20 24 0d 0d 23 20 0/01/21.02:25:38.hobbs.Exp.$..#.
4a280 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 75 73 65 64 The.following.variables.are.used
4a2a0 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 63 68 61 72 61 63 74 65 72 73 20 61 .to.determine.which.characters.a
4a2c0 72 65 0d 23 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 77 68 69 74 65 20 73 70 61 63 65 2e re.#.interpreted.as.white.space.
4a2e0 20 20 0d 0d 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 74 63 6c 5f 70 6c 61 74 66 ....if.{[string.equal.$tcl_platf
4a300 6f 72 6d 28 70 6c 61 74 66 6f 72 6d 29 20 22 77 69 6e 64 6f 77 73 22 5d 7d 20 7b 0d 20 20 20 20 orm(platform)."windows"]}.{.....
4a320 23 20 57 69 6e 64 6f 77 73 20 73 74 79 6c 65 20 2d 20 61 6e 79 20 62 75 74 20 61 20 75 6e 69 63 #.Windows.style.-.any.but.a.unic
4a340 6f 64 65 20 73 70 61 63 65 20 63 68 61 72 0d 20 20 20 20 73 65 74 20 74 63 6c 5f 77 6f 72 64 63 ode.space.char.....set.tcl_wordc
4a360 68 61 72 73 20 22 5c 5c 53 22 0d 20 20 20 20 73 65 74 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 hars."\\S".....set.tcl_nonwordch
4a380 61 72 73 20 22 5c 5c 73 22 0d 7d 20 65 6c 73 65 20 7b 0d 20 20 20 20 23 20 4d 6f 74 69 66 20 73 ars."\\s".}.else.{.....#.Motif.s
4a3a0 74 79 6c 65 20 2d 20 61 6e 79 20 75 6e 69 63 6f 64 65 20 77 6f 72 64 20 63 68 61 72 20 28 6e 75 tyle.-.any.unicode.word.char.(nu
4a3c0 6d 62 65 72 2c 20 6c 65 74 74 65 72 2c 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 29 0d 20 20 20 mber,.letter,.or.underscore)....
4a3e0 20 73 65 74 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 20 22 5c 5c 77 22 0d 20 20 20 20 73 65 74 .set.tcl_wordchars."\\w".....set
4a400 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 22 5c 5c 57 22 0d 7d 0d 0d 23 20 74 63 6c .tcl_nonwordchars."\\W".}..#.tcl
4a420 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 _wordBreakAfter.--.#.#.This.proc
4a440 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 edure.returns.the.index.of.the.f
4a460 69 72 73 74 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 79 0d 23 20 61 66 74 65 72 20 74 68 65 20 73 irst.word.boundary.#.after.the.s
4a480 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e tarting.point.in.the.given.strin
4a4a0 67 2c 20 6f 72 20 2d 31 20 69 66 20 74 68 65 72 65 0d 23 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 g,.or.-1.if.there.#.are.no.more.
4a4c0 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2e 20 boundaries.in.the.given.string..
4a4e0 20 54 68 65 20 69 6e 64 65 78 20 72 65 74 75 72 6e 65 64 20 72 65 66 65 72 73 0d 23 20 74 6f 20 .The.index.returned.refers.#.to.
4a500 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 74 68 65 20 70 61 69 72 20 the.first.character.of.the.pair.
4a520 74 68 61 74 20 63 6f 6d 70 72 69 73 65 73 20 61 20 62 6f 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 that.comprises.a.boundary..#.#.A
4a540 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 rguments:.#.str.-..String.to.sea
4a560 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 rch..#.start.-.Index.into.string
4a580 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f .specifying.starting.point...pro
4a5a0 63 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 41 66 74 65 72 20 7b 73 74 72 20 73 74 61 72 74 7d c.tcl_wordBreakAfter.{str.start}
4a5c0 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 74 .{.....global.tcl_nonwordchars.t
4a5e0 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 73 65 74 20 73 74 72 20 5b 73 74 72 69 6e 67 cl_wordchars.....set.str.[string
4a600 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 61 72 74 20 65 6e 64 5d 0d 20 20 20 20 69 66 20 7b .range.$str.$start.end].....if.{
4a620 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 [regexp.-indices."$tcl_wordchars
4a640 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 7c 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 $tcl_nonwordchars|$tcl_nonwordch
4a660 61 72 73 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 22 20 24 73 74 72 20 72 65 73 75 6c 74 5d 7d ars$tcl_wordchars".$str.result]}
4a680 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 20 7b 5b 6c 69 6e 64 65 78 20 24 72 65 73 75 6c .{..return.[expr.{[lindex.$resul
4a6a0 74 20 31 5d 20 2b 20 24 73 74 61 72 74 7d 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e t.1].+.$start}].....}.....return
4a6c0 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 66 6f 72 65 20 2d 2d 0d .-1.}..#.tcl_wordBreakBefore.--.
4a6e0 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 #.#.This.procedure.returns.the.i
4a700 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 79 0d ndex.of.the.first.word.boundary.
4a720 23 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 20 69 6e 20 74 #.before.the.starting.point.in.t
4a740 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2c 20 6f 72 20 2d 31 20 69 66 20 74 68 65 72 65 0d he.given.string,.or.-1.if.there.
4a760 23 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 74 68 65 20 #.are.no.more.boundaries.in.the.
4a780 67 69 76 65 6e 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 69 6e 64 65 78 20 72 65 74 75 72 6e 65 given.string...The.index.returne
4a7a0 64 0d 23 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 73 65 63 6f 6e 64 20 63 68 61 72 61 63 74 d.#.refers.to.the.second.charact
4a7c0 65 72 20 6f 66 20 74 68 65 20 70 61 69 72 20 74 68 61 74 20 63 6f 6d 70 72 69 73 65 73 20 61 20 er.of.the.pair.that.comprises.a.
4a7e0 62 6f 75 6e 64 61 72 79 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d boundary..#.#.Arguments:.#.str.-
4a800 09 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e ..String.to.search..#.start.-.In
4a820 64 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 dex.into.string.specifying.start
4a840 69 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 77 6f 72 64 42 72 65 61 6b 42 65 ing.point...proc.tcl_wordBreakBe
4a860 66 6f 72 65 20 7b 73 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 fore.{str.start}.{.....global.tc
4a880 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 l_nonwordchars.tcl_wordchars....
4a8a0 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 73 74 61 72 74 20 65 6e 64 5d 7d 20 .if.{[string.equal.$start.end]}.
4a8c0 7b 0d 09 73 65 74 20 73 74 61 72 74 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 24 73 74 72 {..set.start.[string.length.$str
4a8e0 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 2d 69 6e 64 69 63 65 73 ].....}.....if.{[regexp.-indices
4a900 20 22 5e 2e 2a 28 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 ."^.*($tcl_wordchars$tcl_nonword
4a920 63 68 61 72 73 7c 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 24 74 63 6c 5f 77 6f 72 64 chars|$tcl_nonwordchars$tcl_word
4a940 63 68 61 72 73 29 22 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 30 20 24 73 74 chars)".[string.range.$str.0.$st
4a960 61 72 74 5d 20 72 65 73 75 6c 74 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 6c 69 6e 64 65 78 20 art].result]}.{..return.[lindex.
4a980 24 72 65 73 75 6c 74 20 31 5d 0d 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d $result.1].....}.....return.-1.}
4a9a0 0d 0d 23 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 ..#.tcl_endOfWord.--.#.#.This.pr
4a9c0 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 ocedure.returns.the.index.of.the
4a9e0 20 66 69 72 73 74 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 61 66 .first.end-of-word.location.#.af
4aa00 74 65 72 20 61 20 73 74 61 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 67 69 76 65 ter.a.starting.index.in.the.give
4aa20 6e 20 73 74 72 69 6e 67 2e 20 20 41 6e 20 65 6e 64 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 n.string...An.end-of-word.locati
4aa40 6f 6e 0d 23 20 69 73 20 64 65 66 69 6e 65 64 20 74 6f 20 62 65 20 74 68 65 20 66 69 72 73 74 20 on.#.is.defined.to.be.the.first.
4aa60 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 whitespace.character.following.t
4aa80 68 65 20 66 69 72 73 74 0d 23 20 6e 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 he.first.#.non-whitespace.charac
4aaa0 74 65 72 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 2e 20 20 52 ter.after.the.starting.point...R
4aac0 65 74 75 72 6e 73 20 2d 31 20 69 66 0d 23 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 eturns.-1.if.#.there.are.no.more
4aae0 20 77 6f 72 64 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 2e .words.after.the.starting.point.
4ab00 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 09 53 74 72 69 6e 67 20 .#.#.Arguments:.#.str.-..String.
4ab20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 65 78 20 69 6e 74 6f 20 to.search..#.start.-.Index.into.
4ab40 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 string.specifying.starting.point
4ab60 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 65 6e 64 4f 66 57 6f 72 64 20 7b 73 74 72 20 73 74 61 72 74 ...proc.tcl_endOfWord.{str.start
4ab80 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 }.{.....global.tcl_nonwordchars.
4aba0 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 2d 69 tcl_wordchars.....if.{[regexp.-i
4abc0 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 2a 24 74 63 6c 5f 77 ndices."$tcl_nonwordchars*$tcl_w
4abe0 6f 72 64 63 68 61 72 73 2b 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 22 20 5c 0d 09 20 ordchars+$tcl_nonwordchars".\...
4ac00 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 61 72 74 20 65 6e 64 ...[string.range.$str.$start.end
4ac20 5d 20 72 65 73 75 6c 74 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 20 7b 5b 6c 69 6e ].result]}.{..return.[expr.{[lin
4ac40 64 65 78 20 24 72 65 73 75 6c 74 20 31 5d 20 2b 20 24 73 74 61 72 74 7d 5d 0d 20 20 20 20 7d 0d dex.$result.1].+.$start}].....}.
4ac60 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 ....return.-1.}..#.tcl_startOfNe
4ac80 78 74 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 64 75 72 65 20 72 65 74 xtWord.--.#.#.This.procedure.ret
4aca0 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 73 74 61 72 urns.the.index.of.the.first.star
4acc0 74 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 61 66 74 65 72 20 61 20 73 74 61 t-of-word.location.#.after.a.sta
4ace0 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 73 74 72 69 6e 67 2e rting.index.in.the.given.string.
4ad00 20 20 41 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 0d 23 20 6c 6f 63 61 74 69 6f 6e 20 69 73 20 ..A.start-of-word.#.location.is.
4ad20 64 65 66 69 6e 65 64 20 74 6f 20 62 65 20 61 20 6e 6f 6e 2d 77 68 69 74 65 73 70 61 63 65 20 63 defined.to.be.a.non-whitespace.c
4ad40 68 61 72 61 63 74 65 72 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 0d 23 20 77 68 69 74 65 73 70 61 63 haracter.following.a.#.whitespac
4ad60 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 52 65 74 75 72 6e 73 20 2d 31 20 69 66 20 74 68 65 72 e.character...Returns.-1.if.ther
4ad80 65 20 61 72 65 20 6e 6f 20 6d 6f 72 65 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 0d 23 20 6c 6f e.are.no.more.start-of-word.#.lo
4ada0 63 61 74 69 6f 6e 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e 74 cations.after.the.starting.point
4adc0 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d 09 09 53 74 72 69 6e 67 ..#.#.Arguments:.#.str.-..String
4ade0 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e 64 65 78 20 69 6e 74 6f .to.search..#.start.-.Index.into
4ae00 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 69 6e 67 20 70 6f 69 6e .string.specifying.starting.poin
4ae20 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 73 74 61 72 74 4f 66 4e 65 78 74 57 6f 72 64 20 7b 73 74 t...proc.tcl_startOfNextWord.{st
4ae40 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 r.start}.{.....global.tcl_nonwor
4ae60 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 0d 20 20 20 20 69 66 20 7b 5b 72 65 dchars.tcl_wordchars.....if.{[re
4ae80 67 65 78 70 20 2d 69 6e 64 69 63 65 73 20 22 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 2a 24 74 gexp.-indices."$tcl_wordchars*$t
4aea0 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 2b 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 22 20 cl_nonwordchars+$tcl_wordchars".
4aec0 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 24 73 74 61 72 74 \......[string.range.$str.$start
4aee0 20 65 6e 64 5d 20 72 65 73 75 6c 74 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 65 78 70 72 20 7b .end].result]}.{..return.[expr.{
4af00 5b 6c 69 6e 64 65 78 20 24 72 65 73 75 6c 74 20 31 5d 20 2b 20 24 73 74 61 72 74 7d 5d 0d 20 20 [lindex.$result.1].+.$start}]...
4af20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 0d 23 20 74 63 6c 5f 73 74 61 72 74 ..}.....return.-1.}..#.tcl_start
4af40 4f 66 50 72 65 76 69 6f 75 73 57 6f 72 64 20 2d 2d 0d 23 0d 23 20 54 68 69 73 20 70 72 6f 63 65 OfPreviousWord.--.#.#.This.proce
4af60 64 75 72 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 74 68 65 20 66 69 dure.returns.the.index.of.the.fi
4af80 72 73 74 20 73 74 61 72 74 2d 6f 66 2d 77 6f 72 64 20 6c 6f 63 61 74 69 6f 6e 0d 23 20 62 65 66 rst.start-of-word.location.#.bef
4afa0 6f 72 65 20 61 20 73 74 61 72 74 69 6e 67 20 69 6e 64 65 78 20 69 6e 20 74 68 65 20 67 69 76 65 ore.a.starting.index.in.the.give
4afc0 6e 20 73 74 72 69 6e 67 2e 0d 23 0d 23 20 41 72 67 75 6d 65 6e 74 73 3a 0d 23 20 73 74 72 20 2d n.string..#.#.Arguments:.#.str.-
4afe0 09 09 53 74 72 69 6e 67 20 74 6f 20 73 65 61 72 63 68 2e 0d 23 20 73 74 61 72 74 20 2d 09 49 6e ..String.to.search..#.start.-.In
4b000 64 65 78 20 69 6e 74 6f 20 73 74 72 69 6e 67 20 73 70 65 63 69 66 79 69 6e 67 20 73 74 61 72 74 dex.into.string.specifying.start
4b020 69 6e 67 20 70 6f 69 6e 74 2e 0d 0d 70 72 6f 63 20 74 63 6c 5f 73 74 61 72 74 4f 66 50 72 65 76 ing.point...proc.tcl_startOfPrev
4b040 69 6f 75 73 57 6f 72 64 20 7b 73 74 72 20 73 74 61 72 74 7d 20 7b 0d 20 20 20 20 67 6c 6f 62 61 iousWord.{str.start}.{.....globa
4b060 6c 20 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 20 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 l.tcl_nonwordchars.tcl_wordchars
4b080 0d 20 20 20 20 69 66 20 7b 5b 73 74 72 69 6e 67 20 65 71 75 61 6c 20 24 73 74 61 72 74 20 65 6e .....if.{[string.equal.$start.en
4b0a0 64 5d 7d 20 7b 0d 09 73 65 74 20 73 74 61 72 74 20 5b 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 d]}.{..set.start.[string.length.
4b0c0 24 73 74 72 5d 0d 20 20 20 20 7d 0d 20 20 20 20 69 66 20 7b 5b 72 65 67 65 78 70 20 2d 69 6e 64 $str].....}.....if.{[regexp.-ind
4b0e0 69 63 65 73 20 5c 0d 09 20 20 20 20 22 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 73 2a 28 ices.\......"$tcl_nonwordchars*(
4b100 24 74 63 6c 5f 77 6f 72 64 63 68 61 72 73 2b 29 24 74 63 6c 5f 6e 6f 6e 77 6f 72 64 63 68 61 72 $tcl_wordchars+)$tcl_nonwordchar
4b120 73 2a 5c 24 22 20 5c 0d 09 20 20 20 20 5b 73 74 72 69 6e 67 20 72 61 6e 67 65 20 24 73 74 72 20 s*\$".\......[string.range.$str.
4b140 30 20 5b 65 78 70 72 20 7b 24 73 74 61 72 74 20 2d 20 31 7d 5d 5d 20 72 65 73 75 6c 74 20 77 6f 0.[expr.{$start.-.1}]].result.wo
4b160 72 64 5d 7d 20 7b 0d 09 72 65 74 75 72 6e 20 5b 6c 69 6e 64 65 78 20 24 77 6f 72 64 20 30 5d 0d rd]}.{..return.[lindex.$word.0].
4b180 20 20 20 20 7d 0d 20 20 20 20 72 65 74 75 72 6e 20 2d 31 0d 7d 0d 00 00 01 19 d9 a9 73 ed 3f e5 ....}.....return.-1.}.......s.?.
4b1a0 32 30 00 04 00 00 00 01 00 00 00 00 b8 61 2d 37 b8 61 2b 92 00 00 00 00 00 00 00 00 00 00 00 00 20...........a-7.a+.............
4b1c0 00 00 00 00 0a 6a 61 63 6b 6a 61 6e 73 65 6e 00 00 00 0d 74 6b 70 79 74 68 6f 6e 2e 72 73 72 63 .....jackjansen....tkpython.rsrc
4b1e0 00 00 00 00 cd 41 64 64 65 64 20 74 68 65 20 6d 6f 64 75 6c 65 73 20 49 20 6d 69 73 73 65 64 20 .....Added.the.modules.I.missed.
4b200 66 69 72 73 74 20 74 69 6d 65 20 61 72 6f 75 6e 64 2e 20 53 74 69 6c 6c 20 6e 6f 74 20 67 6f 6f first.time.around..Still.not.goo
4b220 64 20 65 6e 6f 75 67 68 2c 20 74 68 6f 75 67 68 3a 20 62 67 65 72 72 6f 72 20 64 6f 65 73 20 61 d.enough,.though:.bgerror.does.a
4b240 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 6d 73 67 63 61 74 22 20 61 6e 64 20 49 20 ."package.require.msgcat".and.I.
4b260 64 6f 6e 27 74 20 73 65 65 20 61 20 77 61 79 20 74 6f 20 70 75 74 20 70 61 63 6b 61 67 65 73 20 don't.see.a.way.to.put.packages.
4b280 69 6e 74 6f 20 72 65 73 6f 75 72 63 65 73 2e 20 4f 66 66 20 74 6f 20 74 68 65 20 6d 61 63 74 63 into.resources..Off.to.the.mactc
4b2a0 6c 20 6c 69 73 74 20 66 6f 72 20 68 65 6c 70 2e 2e 2e 00 00 00 01 00 00 04 b2 75 00 04 b1 75 00 l.list.for.help...........u...u.
4b2c0 00 0b 42 53 4f 52 54 01 86 00 80 00 1c 06 c6 00 0b 43 4e 54 4c 00 00 00 62 43 55 52 53 00 54 00 ..BSORT..........CNTL...bCURS.T.
4b2e0 6e 44 49 54 4c 00 01 04 6a 44 4c 4f 47 00 01 04 82 4d 44 45 46 00 00 04 9a 4d 45 4e 55 00 00 04 nDITL...jDLOG....MDEF....MENU...
4b300 a6 50 49 43 54 00 00 04 b2 53 49 43 4e 00 00 04 be 53 49 5a 45 00 00 04 ca 54 45 58 54 00 16 04 .PICT....SICN....SIZE....TEXT...
4b320 d6 63 6b 69 64 00 00 05 ea 63 72 73 72 00 0e 05 f6 00 83 00 00 20 00 00 00 00 00 00 00 03 e8 00 .ckid....crsr...................
4b340 72 00 00 12 ff 00 00 00 00 03 ea 00 77 00 00 13 47 00 00 00 00 03 eb 00 7e 00 00 13 8f 00 00 00 r...........w...G.......~.......
4b360 00 03 ec 00 85 00 00 13 d7 00 00 00 00 03 ed 00 8c 00 00 14 1f 00 00 00 00 03 ee 00 94 00 00 14 ................................
4b380 67 00 00 00 00 03 ef 00 a1 00 00 14 af 00 00 00 00 03 f0 00 a9 00 00 14 f7 00 00 00 00 0b b8 00 g...............................
4b3a0 b2 00 00 15 3f 00 00 00 00 0b b9 00 bb 00 00 15 87 00 00 00 00 0b ba 00 c1 00 00 15 cf 00 00 00 ....?...........................
4b3c0 00 0b bb 00 d2 00 00 16 17 00 00 00 00 0b bc 00 e1 00 00 16 5f 00 00 00 00 0b bd 00 e6 00 00 16 ...................._...........
4b3e0 a7 00 00 00 00 0b be 00 ef 00 00 16 ef 00 00 00 00 0b bf 01 02 00 00 17 37 00 00 00 00 0b c0 01 ........................7.......
4b400 16 00 00 17 7f 00 00 00 00 0b c1 01 22 00 00 17 c7 00 00 00 00 0b c2 01 2d 00 00 18 0f 00 00 00 ............"...........-.......
4b420 00 0b c3 01 38 00 00 18 57 00 00 00 00 0b c4 01 43 00 00 18 9f 00 00 00 00 0b c5 01 4a 00 00 18 ....8...W.......C...........J...
4b440 e7 00 00 00 00 0b c6 01 50 00 00 19 2f 00 00 00 00 0b c7 01 5b 00 00 19 77 00 00 00 00 0b c8 01 ........P.../.......[...w.......
4b460 61 00 00 19 bf 00 00 00 00 0b c9 01 6f 00 00 1a 07 00 00 00 00 0b ca 01 79 00 00 1a 4f 00 00 00 a...........o...........y...O...
4b480 00 0b cb 01 87 00 00 1a 97 00 00 00 00 0b cc 01 8b 00 00 1a df 00 00 00 00 0b cd 01 92 00 00 1b ................................
4b4a0 27 00 00 00 00 0b ce 01 9f 00 00 1b 6f 00 00 00 00 0b cf 01 ab 00 00 1b b7 00 00 00 00 0b d0 01 '...........o...................
4b4c0 b7 00 00 1b ff 00 00 00 00 0b d1 01 c2 00 00 1c 47 00 00 00 00 0b d2 01 cb 00 00 1c 8f 00 00 00 ................G...............
4b4e0 00 0b d3 01 d1 00 00 1c d7 00 00 00 00 0b d4 01 d9 00 00 1d 1f 00 00 00 00 0b d5 01 df 00 00 1d ................................
4b500 67 00 00 00 00 0b d6 01 e5 00 00 1d af 00 00 00 00 0b d7 01 eb 00 00 1d f7 00 00 00 00 0b d8 01 g...............................
4b520 f1 00 00 1e 3f 00 00 00 00 0b d9 01 f6 00 00 1e 87 00 00 00 00 0b da 02 01 00 00 1e cf 00 00 00 ....?...........................
4b540 00 0b db 02 0a 00 00 1f 17 00 00 00 00 0b dc 02 14 00 00 1f 5f 00 00 00 00 0b dd 02 1d 00 00 1f ...................._...........
4b560 a7 00 00 00 00 0b de 02 28 00 00 1f ef 00 00 00 00 0b df 02 31 00 00 20 37 00 00 00 00 0b e0 02 ........(...........1...7.......
4b580 3a 00 00 20 7f 00 00 00 00 0b e1 02 3e 00 00 20 c7 00 00 00 00 0b e2 02 4b 00 00 21 0f 00 00 00 :...........>...........K..!....
4b5a0 00 0b e3 02 51 00 00 21 57 00 00 00 00 0b e4 02 58 00 00 21 9f 00 00 00 00 0b e5 02 5f 00 00 21 ....Q..!W.......X..!........_..!
4b5c0 e7 00 00 00 00 0b e6 02 64 00 00 22 2f 00 00 00 00 0b e7 02 73 00 00 22 77 00 00 00 00 0b e8 02 ........d.."/.......s.."w.......
4b5e0 7d 00 00 22 bf 00 00 00 00 0b e9 02 88 00 00 23 07 00 00 00 00 0b ea 02 92 00 00 23 4f 00 00 00 }.."...........#...........#O...
4b600 00 0b eb 02 9e 00 00 23 97 00 00 00 00 0b ec 02 a7 00 00 23 df 00 00 00 00 0b ed 02 b0 00 00 24 .......#...........#...........$
4b620 27 00 00 00 00 0b ee 02 be 00 00 24 6f 00 00 00 00 0b ef 02 d0 00 00 24 b7 00 00 00 00 0b f0 02 '..........$o..........$........
4b640 de 00 00 24 ff 00 00 00 00 0b f1 02 ed 00 00 25 47 00 00 00 00 0b f2 02 f9 00 00 25 8f 00 00 00 ...$...........%G..........%....
4b660 00 0b f3 03 0b 00 00 25 d7 00 00 00 00 0b f4 03 13 00 00 26 1f 00 00 00 00 0b f5 03 1a 00 00 26 .......%...........&...........&
4b680 67 00 00 00 00 0b f6 03 21 00 00 26 af 00 00 00 00 0b f7 03 2a 00 00 26 f7 00 00 00 00 0b f8 03 g.......!..&........*..&........
4b6a0 2f 00 00 27 3f 00 00 00 00 0b f9 03 36 00 00 27 87 00 00 00 00 0b fa 03 3d 00 00 27 cf 00 00 00 /..'?.......6..'........=..'....
4b6c0 00 0b fb 03 4c 00 00 28 17 00 00 00 00 0b fc 03 5c 00 00 28 5f 00 00 00 00 0b fd 03 6d 00 00 28 ....L..(........\..(_.......m..(
4b6e0 a7 00 00 00 00 0b fe 03 76 00 00 28 ef 00 00 00 00 0b ff 03 7e 00 00 29 37 00 00 00 00 0c 00 03 ........v..(........~..)7.......
4b700 83 00 00 29 7f 00 00 00 00 0c 01 03 8c 00 00 29 c7 00 00 00 00 0c 02 03 95 00 00 2a 0f 00 00 00 ...)...........)...........*....
4b720 00 0c 03 03 9e 00 00 2a 57 00 00 00 00 0c 04 03 a4 00 00 2a 9f 00 00 00 00 00 80 03 aa 20 03 98 .......*W..........*............
4b740 08 00 00 00 00 00 82 03 b4 20 00 2a e7 00 00 00 00 00 80 03 c2 20 00 2b 99 00 00 00 00 00 82 ff ...........*...........+........
4b760 ff 20 00 2b b5 00 00 00 00 02 4f ff ff 04 00 2b d1 15 58 6c 2c 00 84 ff ff 04 00 2c a3 15 58 6c ...+......O....+..Xl,......,..Xl
4b780 34 00 80 ff ff 00 00 2c b7 00 00 00 00 00 80 ff ff 14 00 40 5f 15 58 6c 30 ff ff ff ff 00 00 41 4......,...........@_.Xl0......A
4b7a0 43 00 00 00 00 07 d0 04 54 20 04 06 cb 00 00 00 00 07 d1 04 47 20 03 98 b2 00 00 00 00 07 d2 04 C.......T...........G...........
4b7c0 59 24 04 4b 6f 15 58 66 8c 07 d3 04 4c 20 03 e3 98 00 00 00 00 07 d4 04 68 24 04 9f 49 15 58 66 Y$.Ko.Xf....L...........h$..I.Xf
4b7e0 94 07 d5 04 61 24 04 9b d3 15 58 66 90 0b b9 03 d4 24 00 41 51 15 58 66 7c 0b ba 03 d7 20 00 6d ....a$....Xf.....$.AQ.Xf|......m
4b800 78 00 00 00 00 0b bb 03 de 20 00 9a 7b 00 00 00 00 0b bc 03 e5 20 00 b2 c9 00 00 00 00 0b bd 03 x...........{...................
4b820 eb 20 00 f1 10 00 00 00 00 0b be 03 f1 20 01 04 d0 00 00 00 00 0b bf 03 f9 20 01 39 97 00 00 00 ...........................9....
4b840 00 0b c0 03 fe 20 01 c9 37 00 00 00 00 0b c1 04 06 20 01 cf b6 00 00 00 00 0b c2 04 0e 20 01 ec ........7.......................
4b860 9e 00 00 00 00 0b c3 04 14 20 02 08 0d 00 00 00 00 0b c4 04 1c 20 02 35 f0 00 00 00 00 0b c5 04 .......................5........
4b880 24 20 02 48 25 00 00 00 00 0b c6 04 29 20 02 b7 01 00 00 00 00 0b c7 04 31 20 02 d8 9b 00 00 00 $..H%.......)...........1.......
4b8a0 00 0b c8 04 39 20 03 3f 39 00 00 00 00 0b c9 04 40 20 03 7b 02 00 00 00 00 00 80 04 6d 00 04 b0 ....9..?9.......@..{........m...
4b8c0 58 15 58 66 80 03 e8 00 10 00 00 00 25 00 00 00 00 03 e9 00 15 00 00 01 1b 00 00 00 00 0b bc 00 X.Xf........%...................
4b8e0 1a 20 00 02 11 00 00 00 00 0b c5 00 1f 00 00 03 6f 00 00 00 00 0b c6 00 25 00 00 04 cd 00 00 00 ................o.......%.......
4b900 00 0b d3 00 30 00 00 06 23 00 00 00 00 0b d4 00 38 00 00 07 79 00 00 00 00 0b d7 00 3e 00 00 08 ....0...#.......8...y.......>...
4b920 c7 00 00 00 00 0b e2 00 44 20 00 09 c5 00 00 00 00 0b e3 00 4a 20 00 0b 43 00 00 00 00 0b f3 00 ........D...........J...C.......
4b940 51 00 00 0c 99 00 00 00 00 0b f6 00 59 00 00 0d ef 00 00 00 00 0b f7 00 62 00 00 0f 6d 00 00 00 Q...........Y...........b...m...
4b960 00 0b ff 00 67 00 00 10 63 00 00 00 00 0c 03 00 6c 20 00 11 b9 00 00 00 00 0f 46 69 6c 65 20 54 ....g...c.......l.........File.T
4b980 79 70 65 73 20 6d 65 6e 75 04 68 61 6e 64 04 66 69 73 74 04 62 6f 61 74 05 63 6c 6f 63 6b 0a 63 ypes.menu.hand.fist.boat.clock.c
4b9a0 6f 66 66 65 65 5f 6d 75 67 07 67 6f 62 62 6c 65 72 05 67 75 6d 62 79 05 68 65 61 72 74 05 6d 6f offee_mug.gobbler.gumby.heart.mo
4b9c0 75 73 65 06 70 65 6e 63 69 6c 07 73 68 75 74 74 6c 65 08 73 70 72 61 79 63 61 6e 04 73 74 61 72 use.pencil.shuttle.spraycan.star
4b9e0 04 74 72 65 6b 05 77 61 74 63 68 04 68 61 6e 64 06 62 75 63 6b 65 74 06 63 61 6e 63 65 6c 06 52 .trek.watch.hand.bucket.cancel.R
4ba00 65 73 69 7a 65 07 65 79 65 64 72 6f 70 0c 65 79 65 64 72 6f 70 2d 66 75 6c 6c 07 7a 6f 6f 6d 2d esize.eyedrop.eyedrop-full.zoom-
4ba20 69 6e 08 7a 6f 6f 6d 2d 6f 75 74 08 58 5f 63 75 72 73 6f 72 05 61 72 72 6f 77 10 62 61 73 65 64 in.zoom-out.X_cursor.arrow.based
4ba40 5f 61 72 72 6f 77 5f 64 6f 77 6e 0e 62 61 73 65 64 5f 61 72 72 6f 77 5f 75 70 04 62 6f 61 74 08 _arrow_down.based_arrow_up.boat.
4ba60 62 6f 67 6f 73 69 74 79 12 62 6f 74 74 6f 6d 5f 6c 65 66 74 5f 63 6f 72 6e 65 72 13 62 6f 74 74 bogosity.bottom_left_corner.bott
4ba80 6f 6d 5f 72 69 67 68 74 5f 63 6f 72 6e 65 72 0b 62 6f 74 74 6f 6d 5f 73 69 64 65 0a 62 6f 74 74 om_right_corner.bottom_side.bott
4baa0 6f 6d 5f 74 65 65 0a 62 6f 78 5f 73 70 69 72 61 6c 0a 63 65 6e 74 65 72 5f 70 74 72 06 63 69 72 om_tee.box_spiral.center_ptr.cir
4bac0 63 6c 65 05 63 6c 6f 63 6b 0a 63 6f 66 66 65 65 5f 6d 75 67 05 63 72 6f 73 73 0d 63 72 6f 73 73 cle.clock.coffee_mug.cross.cross
4bae0 5f 72 65 76 65 72 73 65 09 63 72 6f 73 73 68 61 69 72 0d 64 69 61 6d 6f 6e 64 5f 63 72 6f 73 73 _reverse.crosshair.diamond_cross
4bb00 03 64 6f 74 06 64 6f 74 62 6f 78 0c 64 6f 75 62 6c 65 5f 61 72 72 6f 77 0b 64 72 61 66 74 5f 6c .dot.dotbox.double_arrow.draft_l
4bb20 61 72 67 65 0b 64 72 61 66 74 5f 73 6d 61 6c 6c 0a 64 72 61 70 65 64 5f 62 6f 78 08 65 78 63 68 arge.draft_small.draped_box.exch
4bb40 61 6e 67 65 05 66 6c 65 75 72 07 67 6f 62 62 6c 65 72 05 67 75 6d 62 79 05 68 61 6e 64 31 05 68 ange.fleur.gobbler.gumby.hand1.h
4bb60 61 6e 64 32 05 68 65 61 72 74 04 69 63 6f 6e 0a 69 72 6f 6e 5f 63 72 6f 73 73 08 6c 65 66 74 5f and2.heart.icon.iron_cross.left_
4bb80 70 74 72 09 6c 65 66 74 5f 73 69 64 65 08 6c 65 66 74 5f 74 65 65 0a 6c 65 66 74 62 75 74 74 6f ptr.left_side.left_tee.leftbutto
4bba0 6e 08 6c 6c 5f 61 6e 67 6c 65 08 6c 72 5f 61 6e 67 6c 65 03 6d 61 6e 0c 6d 69 64 64 6c 65 62 75 n.ll_angle.lr_angle.man.middlebu
4bbc0 74 74 6f 6e 05 6d 6f 75 73 65 06 70 65 6e 63 69 6c 06 70 69 72 61 74 65 04 70 6c 75 73 0e 71 75 tton.mouse.pencil.pirate.plus.qu
4bbe0 65 73 74 69 6f 6e 5f 61 72 72 6f 77 09 72 69 67 68 74 5f 70 74 72 0a 72 69 67 68 74 5f 73 69 64 estion_arrow.right_ptr.right_sid
4bc00 65 09 72 69 67 68 74 5f 74 65 65 0b 72 69 67 68 74 62 75 74 74 6f 6e 08 72 74 6c 5f 6c 6f 67 6f e.right_tee.rightbutton.rtl_logo
4bc20 08 73 61 69 6c 62 6f 61 74 0d 73 62 5f 64 6f 77 6e 5f 61 72 72 6f 77 11 73 62 5f 68 5f 64 6f 75 .sailboat.sb_down_arrow.sb_h_dou
4bc40 62 6c 65 5f 61 72 72 6f 77 0d 73 62 5f 6c 65 66 74 5f 61 72 72 6f 77 0e 73 62 5f 72 69 67 68 74 ble_arrow.sb_left_arrow.sb_right
4bc60 5f 61 72 72 6f 77 0b 73 62 5f 75 70 5f 61 72 72 6f 77 11 73 62 5f 76 5f 64 6f 75 62 6c 65 5f 61 _arrow.sb_up_arrow.sb_v_double_a
4bc80 72 72 6f 77 07 73 68 75 74 74 6c 65 06 73 69 7a 69 6e 67 06 73 70 69 64 65 72 08 73 70 72 61 79 rrow.shuttle.sizing.spider.spray
4bca0 63 61 6e 04 73 74 61 72 06 74 61 72 67 65 74 06 74 63 72 6f 73 73 0e 74 6f 70 5f 6c 65 66 74 5f can.star.target.tcross.top_left_
4bcc0 61 72 72 6f 77 0f 74 6f 70 5f 6c 65 66 74 5f 63 6f 72 6e 65 72 10 74 6f 70 5f 72 69 67 68 74 5f arrow.top_left_corner.top_right_
4bce0 63 6f 72 6e 65 72 08 74 6f 70 5f 73 69 64 65 07 74 6f 70 5f 74 65 65 04 74 72 65 6b 08 75 6c 5f corner.top_side.top_tee.trek.ul_
4bd00 61 6e 67 6c 65 08 75 6d 62 72 65 6c 6c 61 08 75 72 5f 61 6e 67 6c 65 05 77 61 74 63 68 05 78 74 angle.umbrella.ur_angle.watch.xt
4bd20 65 72 6d 09 41 62 6f 75 74 20 42 6f 78 0d 46 69 6c 65 20 4f 70 65 6e 20 42 6f 78 11 44 65 66 61 erm.About.Box.File.Open.Box.Defa
4bd40 75 6c 74 20 41 62 6f 75 74 20 42 6f 78 02 74 6b 06 62 75 74 74 6f 6e 06 64 69 61 6c 6f 67 05 65 ult.About.Box.tk.button.dialog.e
4bd60 6e 74 72 79 05 66 6f 63 75 73 07 6c 69 73 74 62 6f 78 04 6d 65 6e 75 07 6f 70 74 4d 65 6e 75 07 ntry.focus.listbox.menu.optMenu.
4bd80 70 61 6c 65 74 74 65 05 73 63 61 6c 65 07 73 63 72 6c 62 61 72 07 74 65 61 72 6f 66 66 04 74 65 palette.scale.scrlbar.tearoff.te
4bda0 78 74 07 62 67 65 72 72 6f 72 07 63 6f 6e 73 6f 6c 65 06 6d 73 67 62 6f 78 06 63 6f 6d 64 6c 67 xt.bgerror.console.msgbox.comdlg
4bdc0 04 41 75 74 6f 07 48 69 73 74 6f 72 79 04 49 6e 69 74 07 50 61 63 6b 61 67 65 06 50 61 72 72 61 .Auto.History.Init.Package.Parra
4bde0 79 04 57 6f 72 64 0e 50 72 6f 6a 65 63 74 6f 72 20 44 61 74 61 72 73 72 63 52 53 45 44 01 00 00 y.Word.Projector.DatarsrcRSED...
4be00 75 00 b9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 u....................