Tcl Source Code

Hex Artifact Content
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to tclconference@googlegroups.com
or submit via the online form by Sep 9.

Artifact 3d3dc17299994079f4ba5b5022afba032b0160e9:


0000: 52 65 63 65 6e 74 20 75 73 65 72 2d 76 69 73 69  Recent user-visi
0010: 62 6c 65 20 63 68 61 6e 67 65 73 20 74 6f 20 54  ble changes to T
0020: 63 6c 3a 0a 0a 31 2e 20 4e 6f 20 6d 6f 72 65 20  cl:..1. No more 
0030: 5b 63 6f 6d 6d 61 6e 64 31 5d 20 5b 63 6f 6d 6d  [command1] [comm
0040: 61 6e 64 32 5d 20 63 6f 6e 73 74 72 75 63 74 20  and2] construct 
0050: 66 6f 72 20 67 72 6f 75 70 69 6e 67 20 6d 75 6c  for grouping mul
0060: 74 69 70 6c 65 0a 63 6f 6d 6d 61 6e 64 73 20 6f  tiple.commands o
0070: 6e 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 61  n a single comma
0080: 6e 64 20 6c 69 6e 65 2e 0a 0a 32 2e 20 53 65 6d  nd line...2. Sem
0090: 69 2d 63 6f 6c 6f 6e 20 6e 6f 77 20 61 76 61 69  i-colon now avai
00a0: 6c 61 62 6c 65 20 66 6f 72 20 67 72 6f 75 70 69  lable for groupi
00b0: 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20 61  ng commands on a
00c0: 20 6c 69 6e 65 2e 0a 0a 33 2e 20 46 6f 72 20 61   line...3. For a
00d0: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 70 61 6e   command to span
00e0: 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2c   multiple lines,
00f0: 20 6d 75 73 74 20 6e 6f 77 20 75 73 65 20 62 61   must now use ba
0100: 63 6b 73 6c 61 73 68 2d 72 65 74 75 72 6e 0a 61  ckslash-return.a
0110: 74 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61 63  t the end of eac
0120: 68 20 6c 69 6e 65 20 62 75 74 20 74 68 65 20 6c  h line but the l
0130: 61 73 74 2e 0a 0a 34 2e 20 22 56 61 72 22 20 63  ast...4. "Var" c
0140: 6f 6d 6d 61 6e 64 20 68 61 73 20 62 65 65 6e 20  ommand has been 
0150: 63 68 61 6e 67 65 64 20 74 6f 20 22 73 65 74 22  changed to "set"
0160: 2e 0a 0a 35 2e 20 44 6f 75 62 6c 65 2d 71 75 6f  ...5. Double-quo
0170: 74 65 73 20 6e 6f 77 20 61 76 61 69 6c 61 62 6c  tes now availabl
0180: 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74  e as an argument
0190: 20 67 72 6f 75 70 69 6e 67 20 63 68 61 72 61 63   grouping charac
01a0: 74 65 72 2e 0a 0a 36 2e 20 22 52 65 74 75 72 6e  ter...6. "Return
01b0: 22 20 6d 61 79 20 62 65 20 75 73 65 64 20 61 74  " may be used at
01c0: 20 74 6f 70 2d 6c 65 76 65 6c 2e 0a 0a 37 2e 20   top-level...7. 
01d0: 4d 6f 72 65 20 62 61 63 6b 73 6c 61 73 68 20 73  More backslash s
01e0: 65 71 75 65 6e 63 65 73 20 61 76 61 69 6c 61 62  equences availab
01f0: 6c 65 20 6e 6f 77 2e 20 20 49 6e 20 70 61 72 74  le now.  In part
0200: 69 63 75 6c 61 72 2c 20 62 61 63 6b 73 6c 61 73  icular, backslas
0210: 68 2d 6e 65 77 6c 69 6e 65 0a 6d 61 79 20 62 65  h-newline.may be
0220: 20 75 73 65 64 20 74 6f 20 6a 6f 69 6e 20 6c 69   used to join li
0230: 6e 65 73 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 66  nes in command f
0240: 69 6c 65 73 2e 0a 0a 38 2e 20 4e 65 77 20 6f 72  iles...8. New or
0250: 20 6d 6f 64 69 66 69 65 64 20 62 75 69 6c 74 2d   modified built-
0260: 69 6e 20 63 6f 6d 6d 61 6e 64 73 3a 20 20 63 61  in commands:  ca
0270: 73 65 2c 20 72 65 74 75 72 6e 2c 20 66 6f 72 2c  se, return, for,
0280: 20 67 6c 6f 62 2c 20 69 6e 66 6f 2c 0a 70 72 69   glob, info,.pri
0290: 6e 74 2c 20 72 65 74 75 72 6e 2c 20 73 65 74 2c  nt, return, set,
02a0: 20 73 6f 75 72 63 65 2c 20 73 74 72 69 6e 67 2c   source, string,
02b0: 20 75 70 6c 65 76 65 6c 2e 0a 0a 39 2e 20 41 66   uplevel...9. Af
02c0: 74 65 72 20 61 6e 20 65 72 72 6f 72 2c 20 74 68  ter an error, th
02d0: 65 20 76 61 72 69 61 62 6c 65 20 22 65 72 72 6f  e variable "erro
02e0: 72 49 6e 66 6f 22 20 69 73 20 66 69 6c 6c 65 64  rInfo" is filled
02f0: 20 77 69 74 68 20 61 20 73 74 61 63 6b 0a 74 72   with a stack.tr
0300: 61 63 65 20 73 68 6f 77 69 6e 67 20 77 68 61 74  ace showing what
0310: 20 77 61 73 20 62 65 69 6e 67 20 65 78 65 63 75   was being execu
0320: 74 65 64 20 77 68 65 6e 20 74 68 65 20 65 72 72  ted when the err
0330: 6f 72 20 6f 63 63 75 72 72 65 64 2e 0a 0a 31 30  or occurred...10
0340: 2e 20 43 6f 6d 6d 61 6e 64 20 61 62 62 72 65 76  . Command abbrev
0350: 69 61 74 69 6f 6e 73 20 61 72 65 20 61 63 63 65  iations are acce
0360: 70 74 65 64 20 77 68 65 6e 20 70 61 72 73 69 6e  pted when parsin
0370: 67 20 63 6f 6d 6d 61 6e 64 73 2c 20 62 75 74 0a  g commands, but.
0380: 61 72 65 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e  are not recommen
0390: 64 65 64 20 65 78 63 65 70 74 20 66 6f 72 20 70  ded except for p
03a0: 75 72 65 6c 79 2d 69 6e 74 65 72 61 63 74 69 76  urely-interactiv
03b0: 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 31 2e  e commands...11.
03c0: 20 24 2c 20 73 65 74 2c 20 61 6e 64 20 65 78 70   $, set, and exp
03d0: 72 20 61 6c 6c 20 63 6f 6d 70 6c 61 69 6e 20 6e  r all complain n
03e0: 6f 77 20 69 66 20 61 20 6e 6f 6e 2d 65 78 69 73  ow if a non-exis
03f0: 74 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73  tent variable is
0400: 0a 72 65 66 65 72 65 6e 63 65 64 2e 0a 0a 31 32  .referenced...12
0410: 2e 20 48 69 73 74 6f 72 79 20 66 61 63 69 6c 69  . History facili
0420: 74 69 65 73 20 65 78 69 73 74 20 6e 6f 77 2e 20  ties exist now. 
0430: 20 53 65 65 20 54 63 6c 2e 6d 61 6e 20 61 6e 64   See Tcl.man and
0440: 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76   Tcl_RecordAndEv
0450: 61 6c 2e 6d 61 6e 2e 0a 0a 31 33 2e 20 43 68 61  al.man...13. Cha
0460: 6e 67 65 64 20 74 6f 20 64 69 73 74 69 6e 67 75  nged to distingu
0470: 69 73 68 20 62 65 74 77 65 65 6e 20 65 6d 70 74  ish between empt
0480: 79 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20  y variables and 
0490: 74 68 6f 73 65 20 74 68 61 74 20 64 6f 6e 27 74  those that don't
04a0: 0a 65 78 69 73 74 20 61 74 20 61 6c 6c 2e 20 20  .exist at all.  
04b0: 49 6e 74 65 72 66 61 63 65 73 20 74 6f 20 54 63  Interfaces to Tc
04c0: 6c 5f 47 65 74 56 61 72 20 61 6e 64 20 54 63 6c  l_GetVar and Tcl
04d0: 5f 50 61 72 73 65 56 61 72 20 68 61 76 65 20 63  _ParseVar have c
04e0: 68 61 6e 67 65 64 0a 28 4e 55 4c 4c 20 72 65 74  hanged.(NULL ret
04f0: 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 77  urn value is now
0500: 20 70 6f 73 73 69 62 6c 65 29 2e 20 20 2a 2a 2a   possible).  ***
0510: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
0520: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
0530: 31 34 2e 20 43 68 61 6e 67 65 64 20 6d 65 61 6e  14. Changed mean
0540: 69 6e 67 20 6f 66 20 22 6c 65 76 65 6c 22 20 61  ing of "level" a
0550: 72 67 75 6d 65 6e 74 20 74 6f 20 22 75 70 6c 65  rgument to "uple
0560: 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 28 31 20  vel" command (1 
0570: 6e 6f 77 20 6d 65 61 6e 73 0a 22 67 6f 20 75 70  now means."go up
0580: 20 6f 6e 65 20 6c 65 76 65 6c 22 2c 20 6e 6f 74   one level", not
0590: 20 22 67 6f 20 74 6f 20 6c 65 76 65 6c 20 31 22   "go to level 1"
05a0: 3b 20 22 23 31 22 20 6d 65 61 6e 73 20 22 67 6f  ; "#1" means "go
05b0: 20 74 6f 20 6c 65 76 65 6c 20 31 22 29 2e 0a 2a   to level 1")..*
05c0: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
05d0: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
05e0: 0a 0a 31 35 2e 20 33 2f 31 39 2f 39 30 20 41 64  ..15. 3/19/90 Ad
05f0: 64 65 64 20 22 69 6e 66 6f 20 65 78 69 73 74 73  ded "info exists
0600: 22 20 6f 70 74 69 6f 6e 20 74 6f 20 73 65 65 20  " option to see 
0610: 69 66 20 76 61 72 69 61 62 6c 65 20 65 78 69 73  if variable exis
0620: 74 73 2e 0a 0a 31 36 2e 20 33 2f 31 39 2f 39 30  ts...16. 3/19/90
0630: 20 41 64 64 65 64 20 22 6e 6f 41 62 62 72 65 76   Added "noAbbrev
0640: 22 20 76 61 72 69 61 62 6c 65 20 74 6f 20 70 72  " variable to pr
0650: 6f 68 69 62 69 74 20 63 6f 6d 6d 61 6e 64 20 61  ohibit command a
0660: 62 62 72 65 76 69 61 74 69 6f 6e 73 2e 0a 0a 31  bbreviations...1
0670: 37 2e 20 33 2f 31 39 2f 39 30 20 41 64 64 65 64  7. 3/19/90 Added
0680: 20 65 78 74 72 61 20 65 72 72 6f 72 49 6e 66 6f   extra errorInfo
0690: 20 6f 70 74 69 6f 6e 20 74 6f 20 22 65 72 72 6f   option to "erro
06a0: 72 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 38 2e  r" command...18.
06b0: 20 33 2f 32 31 2f 39 30 20 44 6f 75 62 6c 65 2d   3/21/90 Double-
06c0: 71 75 6f 74 65 73 20 6e 6f 77 20 6f 6e 6c 79 20  quotes now only 
06d0: 61 66 66 65 63 74 20 73 70 61 63 65 3a 20 20 63  affect space:  c
06e0: 6f 6d 6d 61 6e 64 2c 20 76 61 72 69 61 62 6c 65  ommand, variable
06f0: 2c 0a 61 6e 64 20 62 61 63 6b 73 6c 61 73 68 20  ,.and backslash 
0700: 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20 73 74  substitutions st
0710: 69 6c 6c 20 6f 63 63 75 72 20 69 6e 73 69 64 65  ill occur inside
0720: 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73 2e 0a   double-quotes..
0730: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
0740: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
0750: 2a 0a 0a 31 39 2e 20 33 2f 32 31 2f 39 30 20 41  *..19. 3/21/90 A
0760: 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
0770: 20 5c 72 2e 0a 0a 32 30 2e 20 33 2f 32 31 2f 39   \r...20. 3/21/9
0780: 30 20 4c 69 73 74 2c 20 63 6f 6e 63 61 74 2c 20  0 List, concat, 
0790: 65 76 61 6c 2c 20 61 6e 64 20 67 6c 6f 62 20 63  eval, and glob c
07a0: 6f 6d 6d 61 6e 64 73 20 61 6c 6c 20 65 78 70 65  ommands all expe
07b0: 63 74 20 61 74 20 6c 65 61 73 74 0a 6f 6e 65 20  ct at least.one 
07c0: 61 72 67 75 6d 65 6e 74 20 6e 6f 77 2e 20 20 2a  argument now.  *
07d0: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
07e0: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
07f0: 0a 0a 32 31 2e 20 33 2f 32 32 2f 39 30 20 41 64  ..21. 3/22/90 Ad
0800: 64 65 64 20 22 3f 3a 22 20 6f 70 65 72 61 74 6f  ded "?:" operato
0810: 72 73 20 74 6f 20 65 78 70 72 65 73 73 69 6f 6e  rs to expression
0820: 73 2e 0a 0a 32 32 2e 20 33 2f 32 35 2f 39 30 20  s...22. 3/25/90 
0830: 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c  Fixed bug in Tcl
0840: 5f 52 65 73 75 6c 74 20 74 68 61 74 20 63 61 75  _Result that cau
0850: 73 65 64 20 6d 65 6d 6f 72 79 20 74 6f 20 67 65  sed memory to ge
0860: 74 20 74 72 61 73 68 65 64 2e 0a 0a 2d 2d 2d 2d  t trashed...----
0870: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
0880: 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e  Released version
0890: 20 33 2e 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   3.1 -----------
08a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 33 2e 20  ----------..23. 
08b0: 33 2f 32 39 2f 39 30 20 46 69 78 65 64 20 62 75  3/29/90 Fixed bu
08c0: 67 20 74 68 61 74 20 63 61 75 73 65 64 20 22 66  g that caused "f
08d0: 69 6c 65 20 61 2e 62 2f 63 20 65 78 74 22 20 74  ile a.b/c ext" t
08e0: 6f 20 72 65 74 75 72 6e 20 22 2e 62 2f 63 22 2e  o return ".b/c".
08f0: 0a 0a 32 34 2e 20 33 2f 32 39 2f 39 30 20 53 65  ..24. 3/29/90 Se
0900: 6d 69 2d 63 6f 6c 6f 6e 20 69 73 20 6e 6f 74 20  mi-colon is not 
0910: 74 72 65 61 74 65 64 20 73 70 65 63 69 61 6c 6c  treated speciall
0920: 79 20 77 68 65 6e 20 65 6e 63 6c 6f 73 65 64 20  y when enclosed 
0930: 69 6e 0a 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73  in.double-quotes
0940: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
0950: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
0960: 76 65 72 73 69 6f 6e 20 33 2e 32 20 2d 2d 2d 2d  version 3.2 ----
0970: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0980: 2d 0a 0a 32 35 2e 20 34 2f 31 36 2f 39 30 20 52  -..25. 4/16/90 R
0990: 65 77 72 6f 74 65 20 22 65 78 65 63 22 20 6e 6f  ewrote "exec" no
09a0: 74 20 74 6f 20 75 73 65 20 73 65 6c 65 63 74 20  t to use select 
09b0: 6f 72 20 73 69 67 6e 61 6c 73 20 61 6e 79 6d 6f  or signals anymo
09c0: 72 65 2e 0a 53 68 6f 75 6c 64 20 62 65 20 6d 6f  re..Should be mo
09d0: 72 65 20 53 79 73 2d 56 20 63 6f 6d 70 61 74 69  re Sys-V compati
09e0: 62 6c 65 2c 20 61 6e 64 20 6e 6f 20 73 6c 6f 77  ble, and no slow
09f0: 65 72 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c  er in the normal
0a00: 20 63 61 73 65 2e 0a 0a 32 36 2e 20 34 2f 31 38   case...26. 4/18
0a10: 2f 39 30 20 52 65 77 72 6f 74 65 20 22 67 6c 6f  /90 Rewrote "glo
0a20: 62 22 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20  b" to eliminate 
0a30: 47 4e 55 20 63 6f 64 65 20 28 74 68 65 72 65 27  GNU code (there'
0a40: 73 20 6e 6f 20 47 4e 55 20 63 6f 64 65 0a 6c 65  s no GNU code.le
0a50: 66 74 20 69 6e 20 54 63 6c 2c 20 6e 6f 77 29 2c  ft in Tcl, now),
0a60: 20 61 6e 64 20 61 64 64 65 64 20 54 63 6c 5f 54   and added Tcl_T
0a70: 69 6c 64 65 53 75 62 73 74 20 70 72 6f 63 65 64  ildeSubst proced
0a80: 75 72 65 2e 20 20 41 64 64 65 64 20 61 75 74 6f  ure.  Added auto
0a90: 6d 61 74 69 63 0a 74 69 6c 64 65 2d 73 75 62 73  matic.tilde-subs
0aa0: 74 69 74 75 74 69 6f 6e 20 69 6e 20 6d 61 6e 79  titution in many
0ab0: 20 63 6f 6d 6d 61 6e 64 73 2c 20 69 6e 63 6c 75   commands, inclu
0ac0: 64 69 6e 67 20 22 67 6c 6f 62 22 2e 0a 0a 2d 2d  ding "glob"...--
0ad0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0ae0: 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69  - Released versi
0af0: 6f 6e 20 33 2e 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  on 3.3 ---------
0b00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 37  ------------..27
0b10: 2e 20 37 2f 31 31 2f 39 30 20 41 64 64 65 64 20  . 7/11/90 Added 
0b20: 22 54 63 6c 5f 41 70 70 65 6e 64 52 65 73 75 6c  "Tcl_AppendResul
0b30: 74 22 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a 32  t" procedure...2
0b40: 38 2e 20 37 2f 32 30 2f 39 30 20 22 48 69 73 74  8. 7/20/90 "Hist
0b50: 6f 72 79 22 20 77 69 74 68 20 6e 6f 20 6f 70 74  ory" with no opt
0b60: 69 6f 6e 73 20 6e 6f 77 20 64 65 66 61 75 6c 74  ions now default
0b70: 73 20 74 6f 20 22 68 69 73 74 6f 72 79 20 69 6e  s to "history in
0b80: 66 6f 22 0a 72 61 74 68 65 72 20 74 68 61 6e 20  fo".rather than 
0b90: 74 6f 20 22 68 69 73 74 6f 72 79 20 72 65 64 6f  to "history redo
0ba0: 22 2e 20 20 41 6c 74 68 6f 75 67 68 20 74 68 69  ".  Although thi
0bb0: 73 20 69 73 20 61 20 62 61 63 6b 77 61 72 64 20  s is a backward 
0bc0: 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c  incompatibility,
0bd0: 0a 69 74 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20  .it should only 
0be0: 62 65 20 75 73 65 64 20 69 6e 74 65 72 61 63 74  be used interact
0bf0: 69 76 65 6c 79 20 61 6e 64 20 74 68 75 73 20 73  ively and thus s
0c00: 68 6f 75 6c 64 6e 27 74 20 70 72 65 73 65 6e 74  houldn't present
0c10: 20 61 6e 79 0a 63 6f 6d 70 61 74 69 62 69 6c 69   any.compatibili
0c20: 74 79 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68  ty problems with
0c30: 20 73 63 72 69 70 74 73 2e 0a 0a 32 39 2e 20 37   scripts...29. 7
0c40: 2f 32 30 2f 39 30 20 41 64 64 65 64 20 22 54 63  /20/90 Added "Tc
0c50: 6c 5f 47 65 74 49 6e 74 65 67 65 72 22 2c 20 22  l_GetInteger", "
0c60: 54 63 6c 5f 47 65 74 44 6f 75 62 6c 65 22 2c 20  Tcl_GetDouble", 
0c70: 61 6e 64 20 22 54 63 6c 5f 47 65 74 42 6f 6f 6c  and "Tcl_GetBool
0c80: 65 61 6e 22 0a 70 72 6f 63 65 64 75 72 65 73 2e  ean".procedures.
0c90: 0a 0a 33 30 2e 20 37 2f 32 32 2f 39 30 20 52 65  ..30. 7/22/90 Re
0ca0: 6d 6f 76 65 64 20 22 54 63 6c 5f 57 61 74 63 68  moved "Tcl_Watch
0cb0: 49 6e 74 65 72 70 22 20 70 72 6f 63 65 64 75 72  Interp" procedur
0cc0: 65 3a 20 20 64 6f 65 73 6e 27 74 20 73 65 65 6d  e:  doesn't seem
0cd0: 20 74 6f 20 62 65 0a 6e 65 63 65 73 73 61 72 79   to be.necessary
0ce0: 2c 20 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65  , since the same
0cf0: 20 65 66 66 65 63 74 20 63 61 6e 20 62 65 20 61   effect can be a
0d00: 63 68 69 65 76 65 64 20 77 69 74 68 20 74 68 65  chieved with the
0d10: 20 64 65 6c 65 74 69 6f 6e 0a 63 61 6c 6c 62 61   deletion.callba
0d20: 63 6b 73 20 6f 6e 20 69 6e 64 69 76 69 64 75 61  cks on individua
0d30: 6c 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 2a 2a 2a  l commands.  ***
0d40: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
0d50: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
0d60: 33 31 2e 20 37 2f 32 33 2f 39 30 20 41 64 64 65  31. 7/23/90 Adde
0d70: 64 20 76 61 72 69 61 62 6c 65 20 74 72 61 63 69  d variable traci
0d80: 6e 67 3a 20 20 54 63 6c 5f 54 72 61 63 65 56 61  ng:  Tcl_TraceVa
0d90: 72 2c 20 54 63 6c 5f 55 6e 54 72 61 63 65 56 61  r, Tcl_UnTraceVa
0da0: 72 2c 0a 61 6e 64 20 54 63 6c 5f 56 61 72 54 72  r,.and Tcl_VarTr
0db0: 61 63 65 49 6e 66 6f 20 70 72 6f 63 65 64 75 72  aceInfo procedur
0dc0: 65 73 2c 20 22 74 72 61 63 65 22 20 63 6f 6d 6d  es, "trace" comm
0dd0: 61 6e 64 2e 0a 0a 33 32 2e 20 38 2f 39 2f 39 30  and...32. 8/9/90
0de0: 20 4d 61 69 6c 65 64 20 6f 75 74 20 6c 69 73 74   Mailed out list
0df0: 20 6f 66 20 61 6c 6c 20 62 75 67 20 66 69 78 65   of all bug fixe
0e00: 73 20 73 69 6e 63 65 20 33 2e 33 20 72 65 6c 65  s since 3.3 rele
0e10: 61 73 65 2e 0a 0a 33 33 2e 20 38 2f 32 39 2f 39  ase...33. 8/29/9
0e20: 30 20 46 69 78 65 64 20 62 75 67 73 20 69 6e 20  0 Fixed bugs in 
0e30: 54 63 6c 5f 4d 65 72 67 65 20 72 65 6c 61 74 69  Tcl_Merge relati
0e40: 6e 67 20 74 6f 20 62 61 63 6b 73 6c 61 73 68 65  ng to backslashe
0e50: 73 20 61 6e 64 0a 73 65 6d 69 2d 63 6f 6c 6f 6e  s and.semi-colon
0e60: 73 2e 20 20 4d 61 69 6c 65 64 20 6f 75 74 20 70  s.  Mailed out p
0e70: 61 74 63 68 2e 0a 0a 33 34 2e 20 39 2f 33 2f 39  atch...34. 9/3/9
0e80: 30 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 74  0 Fixed bug in t
0e90: 63 6c 42 61 73 69 63 2e 63 3a 20 71 75 6f 74 65  clBasic.c: quote
0ea0: 73 20 77 65 72 65 6e 27 74 20 71 75 6f 74 69 6e  s weren't quotin
0eb0: 67 20 5d 27 73 2e 0a 4d 61 69 6c 65 64 20 6f 75  g ]'s..Mailed ou
0ec0: 74 20 70 61 74 63 68 2e 0a 0a 33 35 2e 20 39 2f  t patch...35. 9/
0ed0: 31 39 2f 39 30 20 52 65 77 72 6f 74 65 20 65 78  19/90 Rewrote ex
0ee0: 65 63 20 74 6f 20 61 6c 77 61 79 73 20 75 73 65  ec to always use
0ef0: 20 66 69 6c 65 73 20 62 6f 74 68 20 66 6f 72 20   files both for 
0f00: 69 6e 70 75 74 20 61 6e 64 0a 6f 75 74 70 75 74  input and.output
0f10: 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73 2e   to the process.
0f20: 20 20 54 68 65 20 6f 6c 64 20 70 69 70 65 2d 62    The old pipe-b
0f30: 61 73 65 64 20 76 65 72 73 69 6f 6e 20 64 69 64  ased version did
0f40: 6e 27 74 20 77 6f 72 6b 20 69 66 0a 74 68 65 20  n't work if.the 
0f50: 65 78 65 63 27 65 64 20 70 72 6f 63 65 73 73 20  exec'ed process 
0f60: 66 6f 72 6b 65 64 20 61 20 63 68 69 6c 64 20 61  forked a child a
0f70: 6e 64 20 74 68 65 6e 20 65 78 69 74 65 64 3a 20  nd then exited: 
0f80: 20 54 63 6c 20 77 61 69 74 65 64 0a 61 72 6f 75   Tcl waited.arou
0f90: 6e 64 20 66 6f 72 20 73 74 64 6f 75 74 20 74 6f  nd for stdout to
0fa0: 20 67 65 74 20 63 6c 6f 73 65 64 2c 20 77 68 69   get closed, whi
0fb0: 63 68 20 64 69 64 6e 27 74 20 68 61 70 70 65 6e  ch didn't happen
0fc0: 20 75 6e 74 69 6c 20 74 68 65 0a 67 72 61 6e 64   until the.grand
0fd0: 63 68 69 6c 64 20 65 78 69 74 65 64 2e 0a 0a 33  child exited...3
0fe0: 36 2e 20 31 31 2f 35 2f 39 30 20 45 52 52 5f 49  6. 11/5/90 ERR_I
0ff0: 4e 5f 50 52 4f 47 52 45 53 53 20 66 6c 61 67 20  N_PROGRESS flag 
1000: 77 61 73 6e 27 74 20 62 65 69 6e 67 20 63 6c 65  wasn't being cle
1010: 61 72 65 64 20 73 6f 6f 6e 20 65 6e 6f 75 67 68  ared soon enough
1020: 0a 69 6e 20 54 63 6c 5f 45 76 61 6c 2c 20 61 6c  .in Tcl_Eval, al
1030: 6c 6f 77 69 6e 67 20 65 72 72 6f 72 20 6d 65 73  lowing error mes
1040: 73 61 67 65 73 20 66 72 6f 6d 20 64 69 66 66 65  sages from diffe
1050: 72 65 6e 74 20 63 6f 6d 6d 61 6e 64 73 20 74 6f  rent commands to
1060: 0a 70 69 6c 65 20 75 70 20 69 6e 20 24 65 72 72  .pile up in $err
1070: 6f 72 49 6e 66 6f 2e 20 20 46 69 78 65 64 20 62  orInfo.  Fixed b
1080: 79 20 72 65 2d 61 72 72 61 6e 67 69 6e 67 20 63  y re-arranging c
1090: 6f 64 65 20 69 6e 20 54 63 6c 5f 45 76 61 6c 20  ode in Tcl_Eval 
10a0: 74 68 61 74 0a 72 65 2d 69 6e 69 74 69 61 6c 69  that.re-initiali
10b0: 7a 65 73 20 72 65 73 75 6c 74 20 61 6e 64 20 45  zes result and E
10c0: 52 52 5f 49 4e 5f 50 52 4f 47 52 45 53 53 20 66  RR_IN_PROGRESS f
10d0: 6c 61 67 2e 20 20 44 69 64 6e 27 74 20 6d 61 69  lag.  Didn't mai
10e0: 6c 20 6f 75 74 0a 70 61 74 63 68 3a 20 20 63 68  l out.patch:  ch
10f0: 61 6e 67 65 73 20 74 6f 6f 20 63 6f 6d 70 6c 69  anges too compli
1100: 63 61 74 65 64 20 74 6f 20 64 65 73 63 72 69 62  cated to describ
1110: 65 2e 0a 0a 33 37 2e 20 31 32 2f 31 39 2f 39 30  e...37. 12/19/90
1120: 20 41 64 64 65 64 20 54 63 6c 5f 56 61 72 45 76   Added Tcl_VarEv
1130: 61 6c 20 70 72 6f 63 65 64 75 72 65 20 61 73 20  al procedure as 
1140: 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 6f  a convenience fo
1150: 72 0a 61 73 73 65 6d 62 6c 69 6e 67 20 61 6e 64  r.assembling and
1160: 20 65 78 65 63 75 74 69 6e 67 20 54 63 6c 20 63   executing Tcl c
1170: 6f 6d 6d 61 6e 64 73 2e 0a 0a 33 38 2e 20 31 2f  ommands...38. 1/
1180: 32 39 2f 39 31 20 46 69 78 65 64 20 63 6f 72 65  29/91 Fixed core
1190: 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 41 64 64   leak in Tcl_Add
11a0: 45 72 72 6f 72 49 6e 66 6f 2e 20 20 41 6c 73 6f  ErrorInfo.  Also
11b0: 20 63 68 61 6e 67 65 64 20 70 72 6f 63 65 64 75   changed procedu
11c0: 72 65 0a 61 6e 64 20 54 63 6c 5f 45 76 61 6c 20  re.and Tcl_Eval 
11d0: 73 6f 20 74 68 61 74 20 66 69 72 73 74 20 63 61  so that first ca
11e0: 6c 6c 20 74 6f 20 54 63 6c 5f 41 64 64 45 72 72  ll to Tcl_AddErr
11f0: 6f 72 49 6e 66 6f 20 6e 65 65 64 20 6e 6f 74 20  orInfo need not 
1200: 63 6f 6d 65 20 66 72 6f 6d 0a 54 63 6c 5f 45 76  come from.Tcl_Ev
1210: 61 6c 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  al...-----------
1220: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
1230: 76 65 72 73 69 6f 6e 20 35 2e 30 20 77 69 74 68  version 5.0 with
1240: 20 54 6b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   Tk ------------
1250: 2d 2d 2d 2d 2d 2d 0a 0a 33 39 2e 20 34 2f 33 2f  ------..39. 4/3/
1260: 39 31 20 52 65 6d 6f 76 65 64 20 63 68 61 6e 67  91 Removed chang
1270: 65 20 62 61 72 73 20 66 72 6f 6d 20 6d 61 6e 75  e bars from manu
1280: 61 6c 20 65 6e 74 72 69 65 73 2c 20 6c 65 61 76  al entries, leav
1290: 69 6e 67 20 6f 6e 6c 79 20 74 68 6f 73 65 0a 74  ing only those.t
12a0: 68 61 74 20 63 61 6d 65 20 61 66 74 65 72 20 76  hat came after v
12b0: 65 72 73 69 6f 6e 20 33 2e 33 20 77 61 73 20 72  ersion 3.3 was r
12c0: 65 6c 65 61 73 65 64 2e 0a 0a 34 30 2e 20 35 2f  eleased...40. 5/
12d0: 31 37 2f 39 31 20 43 68 61 6e 67 65 64 20 74 65  17/91 Changed te
12e0: 73 74 73 20 74 6f 20 63 6f 6e 66 6f 72 6d 20 74  sts to conform t
12f0: 6f 20 4d 61 72 79 20 41 6e 6e 20 4d 61 79 2d 50  o Mary Ann May-P
1300: 75 6d 70 68 72 65 79 27 73 20 61 70 70 72 6f 61  umphrey's approa
1310: 63 68 2e 0a 20 0a 34 31 2e 20 35 2f 32 33 2f 39  ch.. .41. 5/23/9
1320: 31 20 4d 61 73 73 69 76 65 20 72 65 76 69 73 69  1 Massive revisi
1330: 6f 6e 20 74 6f 20 54 63 6c 20 70 61 72 73 65 72  on to Tcl parser
1340: 20 74 6f 20 73 69 6d 70 6c 69 66 79 20 74 68 65   to simplify the
1350: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a   implementation.
1360: 6f 66 20 73 74 72 69 6e 67 20 61 6e 64 20 66 6c  of string and fl
1370: 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 73 75 70  oating-point sup
1380: 70 6f 72 74 20 69 6e 20 65 78 70 72 65 73 73 69  port in expressi
1390: 6f 6e 73 2e 20 20 4e 65 77 6c 69 6e 65 73 20 69  ons.  Newlines i
13a0: 6e 73 69 64 65 0a 5b 5d 20 61 72 65 20 6e 6f 77  nside.[] are now
13b0: 20 74 72 65 61 74 65 64 20 61 73 20 63 6f 6d 6d   treated as comm
13c0: 61 6e 64 20 73 65 70 61 72 61 74 6f 72 73 20 72  and separators r
13d0: 61 74 68 65 72 20 74 68 61 6e 20 77 6f 72 64 20  ather than word 
13e0: 73 65 70 61 72 61 74 6f 72 73 0a 28 74 68 69 73  separators.(this
13f0: 20 6d 61 6b 65 73 20 6e 65 77 6c 69 6e 65 20 74   makes newline t
1400: 72 65 61 74 6d 65 6e 74 20 63 6f 6e 73 69 73 74  reatment consist
1410: 65 6e 74 20 74 68 72 6f 75 67 68 6f 75 74 20 54  ent throughout T
1420: 63 6c 29 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  cl)..*** POTENTI
1430: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
1440: 54 59 20 2a 2a 2a 0a 0a 34 32 2e 20 35 2f 32 33  TY ***..42. 5/23
1450: 2f 39 31 20 4d 61 73 73 69 76 65 20 72 65 77 72  /91 Massive rewr
1460: 69 74 65 20 6f 66 20 65 78 70 72 65 73 73 69 6f  ite of expressio
1470: 6e 20 63 6f 64 65 20 74 6f 20 73 75 70 70 6f 72  n code to suppor
1480: 74 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74  t floating-point
1490: 0a 76 61 6c 75 65 73 20 61 6e 64 20 73 69 6d 70  .values and simp
14a0: 6c 65 20 73 74 72 69 6e 67 20 63 6f 6d 70 61 72  le string compar
14b0: 69 73 6f 6e 73 2e 20 20 54 68 65 20 43 20 69 6e  isons.  The C in
14c0: 74 65 72 66 61 63 65 73 20 74 6f 20 65 78 70 72  terfaces to expr
14d0: 65 73 73 69 6f 6e 0a 72 6f 75 74 69 6e 65 73 20  ession.routines 
14e0: 68 61 76 65 20 63 68 61 6e 67 65 64 20 28 54 63  have changed (Tc
14f0: 6c 5f 45 78 70 72 20 69 73 20 72 65 70 6c 61 63  l_Expr is replac
1500: 65 64 20 62 79 20 54 63 6c 5f 45 78 70 72 4c 6f  ed by Tcl_ExprLo
1510: 6e 67 2c 20 54 63 6c 5f 45 78 70 72 44 6f 75 62  ng, Tcl_ExprDoub
1520: 6c 65 2c 0a 65 74 63 2e 29 2c 20 62 75 74 20 61  le,.etc.), but a
1530: 6c 6c 20 6f 6c 64 20 54 63 6c 20 65 78 70 72 65  ll old Tcl expre
1540: 73 73 69 6f 6e 20 73 74 72 69 6e 67 73 20 73 68  ssion strings sh
1550: 6f 75 6c 64 20 62 65 20 61 63 63 65 70 74 65 64  ould be accepted
1560: 20 62 79 20 74 68 65 20 6e 65 77 0a 65 78 70 72   by the new.expr
1570: 65 73 73 69 6f 6e 20 63 6f 64 65 2e 0a 2a 2a 2a  ession code..***
1580: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
1590: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
15a0: 34 33 2e 20 35 2f 32 33 2f 39 31 20 4d 6f 64 69  43. 5/23/91 Modi
15b0: 66 69 65 64 20 74 63 6c 48 69 73 74 6f 72 79 2e  fied tclHistory.
15c0: 63 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 6e  c to check for n
15d0: 65 67 61 74 69 76 65 20 22 6b 65 65 70 22 20 76  egative "keep" v
15e0: 61 6c 75 65 2e 0a 0a 34 34 2e 20 35 2f 32 33 2f  alue...44. 5/23/
15f0: 39 31 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f  91 Modified Tcl_
1600: 42 61 63 6b 73 6c 61 73 68 20 74 6f 20 68 61 6e  Backslash to han
1610: 64 6c 65 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65  dle backslash-ne
1620: 77 6c 69 6e 65 2e 20 20 49 74 20 6e 6f 77 0a 72  wline.  It now.r
1630: 65 74 75 72 6e 73 20 30 20 74 6f 20 69 6e 64 69  eturns 0 to indi
1640: 63 61 74 65 20 74 68 61 74 20 61 20 62 61 63 6b  cate that a back
1650: 73 6c 61 73 68 20 73 65 71 75 65 6e 63 65 20 73  slash sequence s
1660: 68 6f 75 6c 64 20 62 65 20 72 65 70 6c 61 63 65  hould be replace
1670: 64 20 62 79 0a 6e 6f 20 63 68 61 72 61 63 74 65  d by.no characte
1680: 72 20 61 74 20 61 6c 6c 2e 0a 2a 2a 2a 20 50 4f  r at all..*** PO
1690: 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
16a0: 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34 35 2e  IBILITY ***..45.
16b0: 20 35 2f 32 39 2f 39 31 20 4d 6f 64 69 66 69 65   5/29/91 Modifie
16c0: 64 20 74 6f 20 75 73 65 20 41 4e 53 49 20 43 20  d to use ANSI C 
16d0: 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79  function prototy
16e0: 70 65 73 2e 20 20 4d 75 73 74 20 73 65 74 0a 22  pes.  Must set."
16f0: 55 53 45 5f 41 4e 53 49 22 20 73 77 69 74 63 68  USE_ANSI" switch
1700: 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20   when compiling 
1710: 74 6f 20 67 65 74 20 70 72 6f 74 6f 74 79 70 65  to get prototype
1720: 73 2e 0a 0a 34 36 2e 20 35 2f 32 39 2f 39 31 20  s...46. 5/29/91 
1730: 43 6f 6d 70 6c 65 74 65 64 20 74 65 73 74 20 73  Completed test s
1740: 75 69 74 65 20 62 79 20 70 72 6f 76 69 64 69 6e  uite by providin
1750: 67 20 74 65 73 74 73 20 66 6f 72 20 61 6c 6c 20  g tests for all 
1760: 6f 66 20 74 68 65 0a 62 75 69 6c 74 2d 69 6e 20  of the.built-in 
1770: 54 63 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 34  Tcl commands...4
1780: 37 2e 20 35 2f 32 39 2f 39 31 20 43 68 61 6e 67  7. 5/29/91 Chang
1790: 65 64 20 54 63 6c 5f 43 6f 6e 63 61 74 20 74 6f  ed Tcl_Concat to
17a0: 20 65 6c 69 6d 69 6e 61 74 65 20 6c 65 61 64 69   eliminate leadi
17b0: 6e 67 20 61 6e 64 20 74 72 61 69 6c 69 6e 67 0a  ng and trailing.
17c0: 77 68 69 74 65 2d 73 70 61 63 65 20 69 6e 20 65  white-space in e
17d0: 61 63 68 20 6f 66 20 74 68 65 20 74 68 69 6e 67  ach of the thing
17e0: 73 20 69 74 20 63 6f 6e 63 61 74 65 6e 61 74 65  s it concatenate
17f0: 73 20 61 6e 64 20 74 6f 20 69 67 6e 6f 72 65 0a  s and to ignore.
1800: 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72  elements that ar
1810: 65 20 65 6d 70 74 79 20 6f 72 20 68 61 76 65 20  e empty or have 
1820: 6f 6e 6c 79 20 77 68 69 74 65 20 73 70 61 63 65  only white space
1830: 20 69 6e 20 74 68 65 6d 2e 20 20 54 68 69 73 0a   in them.  This.
1840: 70 72 6f 64 75 63 65 73 20 63 6c 65 61 6e 65 72  produces cleaner
1850: 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65   output from the
1860: 20 22 63 6f 6e 63 61 74 22 20 63 6f 6d 6d 61 6e   "concat" comman
1870: 64 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  d..*** POTENTIAL
1880: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
1890: 20 2a 2a 2a 0a 0a 34 38 2e 20 35 2f 33 31 2f 39   ***..48. 5/31/9
18a0: 31 20 43 68 61 6e 67 65 64 20 22 73 65 74 22 20  1 Changed "set" 
18b0: 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f  command and Tcl_
18c0: 53 65 74 56 61 72 20 70 72 6f 63 65 64 75 72 65  SetVar procedure
18d0: 20 74 6f 20 72 65 74 75 72 6e 0a 6e 65 77 20 76   to return.new v
18e0: 61 6c 75 65 20 6f 66 20 76 61 72 69 61 62 6c 65  alue of variable
18f0: 2e 0a 0a 34 39 2e 20 36 2f 31 2f 39 31 20 41 64  ...49. 6/1/91 Ad
1900: 64 65 64 20 22 77 68 69 6c 65 22 20 61 6e 64 20  ded "while" and 
1910: 22 63 64 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a  "cd" commands...
1920: 35 30 2e 20 36 2f 31 2f 39 31 20 43 68 61 6e 67  50. 6/1/91 Chang
1930: 65 64 20 22 65 78 65 63 22 20 74 6f 20 64 65 6c  ed "exec" to del
1940: 65 74 65 20 74 68 65 20 6c 61 73 74 20 63 68 61  ete the last cha
1950: 72 61 63 74 65 72 20 6f 66 20 70 72 6f 67 72 61  racter of progra
1960: 6d 0a 6f 75 74 70 75 74 20 69 66 20 69 74 20 69  m.output if it i
1970: 73 20 61 20 6e 65 77 6c 69 6e 65 2e 20 20 49 6e  s a newline.  In
1980: 20 6d 6f 73 74 20 63 61 73 65 73 20 74 68 69 73   most cases this
1990: 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72   makes it easier
19a0: 20 74 6f 0a 70 72 6f 63 65 73 73 20 70 72 6f 67   to.process prog
19b0: 72 61 6d 2d 67 65 6e 65 72 61 74 65 64 20 6f 75  ram-generated ou
19c0: 74 70 75 74 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  tput..*** POTENT
19d0: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
19e0: 49 54 59 20 2a 2a 2a 0a 0a 35 31 2e 20 36 2f 31  ITY ***..51. 6/1
19f0: 2f 39 31 20 4d 61 64 65 20 73 75 72 65 20 74 68  /91 Made sure th
1a00: 61 74 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20  at pointers are 
1a10: 6e 65 76 65 72 20 75 73 65 64 20 61 66 74 65 72  never used after
1a20: 20 66 72 65 65 69 6e 67 20 74 68 65 6d 2e 0a 0a   freeing them...
1a30: 35 32 2e 20 36 2f 31 2f 39 31 20 46 69 78 65 64  52. 6/1/91 Fixed
1a40: 20 62 75 67 20 69 6e 20 54 63 6c 57 6f 72 64 45   bug in TclWordE
1a50: 6e 64 20 77 68 65 72 65 20 69 74 20 77 61 73 6e  nd where it wasn
1a60: 27 74 20 64 65 61 6c 69 6e 67 20 77 69 74 68 0a  't dealing with.
1a70: 5b 5d 20 69 6e 73 69 64 65 20 71 75 6f 74 65 73  [] inside quotes
1a80: 20 63 6f 72 72 65 63 74 6c 79 2e 0a 0a 35 33 2e   correctly...53.
1a90: 20 36 2f 38 2f 39 31 20 46 69 78 65 64 20 65 78   6/8/91 Fixed ex
1aa0: 65 63 2e 74 65 73 74 20 74 6f 20 61 63 63 65 70  ec.test to accep
1ab0: 74 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20  t return values 
1ac0: 6f 66 20 65 69 74 68 65 72 20 31 20 6f 72 0a 32  of either 1 or.2
1ad0: 35 35 20 66 72 6f 6d 20 22 66 61 6c 73 65 22 20  55 from "false" 
1ae0: 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 34 2e 20 37 2f  command...54. 7/
1af0: 36 2f 39 31 20 4d 61 73 73 69 76 65 20 6f 76 65  6/91 Massive ove
1b00: 72 68 61 75 6c 20 6f 66 20 76 61 72 69 61 62 6c  rhaul of variabl
1b10: 65 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 20 41  e management.  A
1b20: 73 73 6f 63 69 61 74 69 76 65 0a 61 72 72 61 79  ssociative.array
1b30: 73 20 6e 6f 77 20 61 76 61 69 6c 61 62 6c 65 2c  s now available,
1b40: 20 61 6c 6f 6e 67 20 77 69 74 68 20 22 75 6e 73   along with "uns
1b50: 65 74 22 20 63 6f 6d 6d 61 6e 64 20 28 61 6e 64  et" command (and
1b60: 20 54 63 6c 5f 55 6e 73 65 74 56 61 72 0a 70 72   Tcl_UnsetVar.pr
1b70: 6f 63 65 64 75 72 65 29 2e 20 20 56 61 72 69 61  ocedure).  Varia
1b80: 62 6c 65 20 74 72 61 63 65 73 20 68 61 76 65 20  ble traces have 
1b90: 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20  been completely 
1ba0: 72 65 77 6f 72 6b 65 64 3a 0a 69 6e 74 65 72 66  reworked:.interf
1bb0: 61 63 65 73 20 64 69 66 66 65 72 65 6e 74 20 62  aces different b
1bc0: 6f 74 68 20 66 72 6f 6d 20 54 63 6c 20 61 6e 64  oth from Tcl and
1bd0: 20 43 2c 20 61 6e 64 20 6d 75 6c 74 69 70 6c 65   C, and multiple
1be0: 20 74 72 61 63 65 73 20 6d 61 79 0a 65 78 69 73   traces may.exis
1bf0: 74 20 6f 6e 20 73 61 6d 65 20 76 61 72 69 61 62  t on same variab
1c00: 6c 65 2e 20 20 43 61 6e 20 6e 6f 20 6c 6f 6e 67  le.  Can no long
1c10: 65 72 20 72 65 64 65 66 69 6e 65 20 65 78 69 73  er redefine exis
1c20: 74 69 6e 67 20 6c 6f 63 61 6c 0a 76 61 72 69 61  ting local.varia
1c30: 62 6c 65 20 74 6f 20 62 65 20 67 6c 6f 62 61 6c  ble to be global
1c40: 2e 20 20 43 61 6c 6c 69 6e 67 20 73 65 71 75 65  .  Calling seque
1c50: 6e 63 65 73 20 68 61 76 65 20 63 68 61 6e 67 65  nces have change
1c60: 64 20 73 6c 69 67 68 74 6c 79 0a 66 6f 72 20 54  d slightly.for T
1c70: 63 6c 5f 47 65 74 56 61 72 20 61 6e 64 20 54 63  cl_GetVar and Tc
1c80: 6c 5f 53 65 74 56 61 72 20 28 22 67 6c 6f 62 61  l_SetVar ("globa
1c90: 6c 22 20 69 73 20 6e 6f 77 20 22 66 6c 61 67 73  l" is now "flags
1ca0: 22 29 2e 20 54 63 6c 5f 53 65 74 56 61 72 0a 63  "). Tcl_SetVar.c
1cb0: 61 6e 20 66 61 69 6c 20 61 6e 64 20 72 65 74 75  an fail and retu
1cc0: 72 6e 20 61 20 4e 55 4c 4c 20 72 65 73 75 6c 74  rn a NULL result
1cd0: 2e 20 20 4e 65 77 20 66 6f 72 6d 73 20 6f 66 20  .  New forms of 
1ce0: 76 61 72 69 61 62 6c 65 2d 6d 61 6e 69 70 75 6c  variable-manipul
1cf0: 61 74 69 6f 6e 0a 70 72 6f 63 65 64 75 72 65 73  ation.procedures
1d00: 3a 20 20 54 63 6c 5f 47 65 74 56 61 72 32 2c 20  :  Tcl_GetVar2, 
1d10: 54 63 6c 5f 53 65 74 56 61 72 32 2c 20 65 74 63  Tcl_SetVar2, etc
1d20: 2e 20 20 53 79 6e 74 61 78 20 6f 66 20 76 61 72  .  Syntax of var
1d30: 69 61 62 6c 65 0a 24 2d 6e 6f 74 61 74 69 6f 6e  iable.$-notation
1d40: 20 63 68 61 6e 67 65 64 20 74 6f 20 73 75 70 70   changed to supp
1d50: 6f 72 74 20 61 72 72 61 79 20 69 6e 64 65 78 69  ort array indexi
1d60: 6e 67 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  ng..*** POTENTIA
1d70: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
1d80: 59 20 2a 2a 2a 0a 0a 35 35 2e 20 37 2f 36 2f 39  Y ***..55. 7/6/9
1d90: 31 20 41 64 64 65 64 20 6e 65 77 20 6c 69 73 74  1 Added new list
1da0: 2d 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 70 72  -manipulation pr
1db0: 6f 63 65 64 75 72 65 73 3a 20 20 54 63 6c 5f 53  ocedures:  Tcl_S
1dc0: 63 61 6e 45 6c 65 6d 65 6e 74 2c 0a 54 63 6c 5f  canElement,.Tcl_
1dd0: 43 6f 6e 76 65 72 74 45 6c 65 6d 65 6e 74 2c 20  ConvertElement, 
1de0: 54 63 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65 6e  Tcl_AppendElemen
1df0: 74 2e 0a 0a 35 36 2e 20 37 2f 31 32 2f 39 31 20  t...56. 7/12/91 
1e00: 43 72 65 61 74 65 64 20 6e 65 77 20 70 72 6f 63  Created new proc
1e10: 65 64 75 72 65 20 54 63 6c 5f 45 76 61 6c 46 69  edure Tcl_EvalFi
1e20: 6c 65 2c 20 77 68 69 63 68 20 64 6f 65 73 20 6d  le, which does m
1e30: 6f 73 74 20 6f 66 20 74 68 65 0a 77 6f 72 6b 20  ost of the.work 
1e40: 6f 66 20 74 68 65 20 22 73 6f 75 72 63 65 22 20  of the "source" 
1e50: 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 37 2e 20 37 2f  command...57. 7/
1e60: 32 30 2f 39 31 20 4d 61 6a 6f 72 20 72 65 77 6f  20/91 Major rewo
1e70: 72 6b 69 6e 67 20 6f 66 20 22 65 78 65 63 22 20  rking of "exec" 
1e80: 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77  command to allow
1e90: 20 70 69 70 65 6c 69 6e 65 73 2c 0a 6d 6f 72 65   pipelines,.more
1ea0: 20 72 65 64 69 72 65 63 74 69 6f 6e 2c 20 62 61   redirection, ba
1eb0: 63 6b 67 72 6f 75 6e 64 2e 20 20 41 64 64 65 64  ckground.  Added
1ec0: 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 73 20   new procedures 
1ed0: 54 63 6c 5f 46 6f 72 6b 2c 0a 54 63 6c 5f 57 61  Tcl_Fork,.Tcl_Wa
1ee0: 69 74 50 69 64 73 2c 20 54 63 6c 5f 44 65 74 61  itPids, Tcl_Deta
1ef0: 63 68 50 69 64 73 2c 20 61 6e 64 20 54 63 6c 5f  chPids, and Tcl_
1f00: 43 72 65 61 74 65 50 69 70 65 6c 69 6e 65 2e 20  CreatePipeline. 
1f10: 20 54 68 65 20 6f 6c 64 0a 22 3c 20 69 6e 70 75   The old."< inpu
1f20: 74 22 20 6e 6f 74 61 74 69 6f 6e 20 68 61 73 20  t" notation has 
1f30: 62 65 65 6e 20 72 65 70 6c 61 63 65 64 20 62 79  been replaced by
1f40: 20 22 3c 3c 20 69 6e 70 75 74 22 20 28 22 3c 22   "<< input" ("<"
1f50: 20 69 73 20 66 6f 72 0a 72 65 64 69 72 65 63 74   is for.redirect
1f60: 69 6f 6e 20 66 72 6f 6d 20 61 20 66 69 6c 65 29  ion from a file)
1f70: 2e 20 20 41 6c 73 6f 20 68 61 6e 64 6c 65 73 20  .  Also handles 
1f80: 65 72 72 6f 72 20 72 65 74 75 72 6e 73 20 61 6e  error returns an
1f90: 64 20 61 62 6e 6f 72 6d 61 6c 0a 74 65 72 6d 69  d abnormal.termi
1fa0: 6e 61 74 69 6f 6e 73 20 28 65 2e 67 2e 20 73 69  nations (e.g. si
1fb0: 67 6e 61 6c 73 29 20 64 69 66 66 65 72 65 6e 74  gnals) different
1fc0: 6c 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  ly..*** POTENTIA
1fd0: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
1fe0: 59 20 2a 2a 2a 0a 0a 35 38 2e 20 37 2f 32 31 2f  Y ***..58. 7/21/
1ff0: 39 31 20 41 64 64 65 64 20 22 61 70 70 65 6e 64  91 Added "append
2000: 22 20 61 6e 64 20 22 6c 61 70 70 65 6e 64 22 20  " and "lappend" 
2010: 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 35 39 2e 20 37  commands...59. 7
2020: 2f 32 32 2f 39 31 20 52 65 77 6f 72 6b 65 64 20  /22/91 Reworked 
2030: 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 61  error messages a
2040: 6e 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65  nd manual entrie
2050: 73 20 74 6f 20 75 73 65 0a 3f 78 3f 20 61 73 20  s to use.?x? as 
2060: 74 68 65 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72  the notation for
2070: 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67   an optional arg
2080: 75 6d 65 6e 74 20 78 2c 20 69 6e 73 74 65 61 64  ument x, instead
2090: 20 6f 66 20 5b 78 5d 2e 20 20 54 68 65 0a 62 72   of [x].  The.br
20a0: 61 63 6b 65 74 20 6e 6f 74 61 74 69 6f 6e 20 77  acket notation w
20b0: 61 73 20 6f 66 74 65 6e 20 63 6f 6e 66 75 73 65  as often confuse
20c0: 64 20 77 69 74 68 20 74 68 65 20 75 73 65 20 6f  d with the use o
20d0: 66 20 62 72 61 63 6b 65 74 73 20 66 6f 72 0a 63  f brackets for.c
20e0: 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74  ommand substitut
20f0: 69 6f 6e 2e 20 20 41 6c 73 6f 20 6d 6f 64 69 66  ion.  Also modif
2100: 69 65 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67  ied error messag
2110: 65 73 20 74 6f 20 62 65 20 6d 6f 72 65 0a 63 6f  es to be more.co
2120: 6e 73 69 73 74 65 6e 74 2e 0a 0a 36 30 2e 20 37  nsistent...60. 7
2130: 2f 32 33 2f 39 31 20 54 63 6c 5f 44 65 6c 65 74  /23/91 Tcl_Delet
2140: 65 43 6f 6d 6d 61 6e 64 20 6e 6f 77 20 72 65 74  eCommand now ret
2150: 75 72 6e 73 20 61 6e 20 69 6e 64 69 63 61 74 69  urns an indicati
2160: 6f 6e 20 6f 66 20 77 68 65 74 68 65 72 0a 6f 72  on of whether.or
2170: 20 6e 6f 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64   not the command
2180: 20 61 63 74 75 61 6c 6c 79 20 65 78 69 73 74 65   actually existe
2190: 64 2c 20 61 6e 64 20 74 68 65 20 22 72 65 6e 61  d, and the "rena
21a0: 6d 65 22 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73  me" command uses
21b0: 0a 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f  .this informatio
21c0: 6e 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65  n to return an e
21d0: 72 72 6f 72 20 69 66 20 61 6e 20 61 74 74 65 6d  rror if an attem
21e0: 70 74 20 69 73 20 6d 61 64 65 20 74 6f 20 64 65  pt is made to de
21f0: 6c 65 74 65 0a 61 20 6e 6f 6e 2d 65 78 69 73 74  lete.a non-exist
2200: 65 6e 74 20 63 6f 6d 6d 61 6e 64 2e 0a 2a 2a 2a  ent command..***
2210: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2220: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
2230: 36 31 2e 20 37 2f 32 35 2f 39 31 20 41 64 64 65  61. 7/25/91 Adde
2240: 64 20 6e 65 77 20 22 65 72 72 6f 72 43 6f 64 65  d new "errorCode
2250: 22 20 6d 65 63 68 61 6e 69 73 6d 2c 20 61 6c 6f  " mechanism, alo
2260: 6e 67 20 77 69 74 68 20 70 72 6f 63 65 64 75 72  ng with procedur
2270: 65 73 0a 54 63 6c 5f 53 65 74 45 72 72 6f 72 43  es.Tcl_SetErrorC
2280: 6f 64 65 2c 20 54 63 6c 5f 55 6e 69 78 45 72 72  ode, Tcl_UnixErr
2290: 6f 72 2c 20 61 6e 64 20 54 63 6c 5f 52 65 73 65  or, and Tcl_Rese
22a0: 74 52 65 73 75 6c 74 2e 20 20 52 65 6e 61 6d 65  tResult.  Rename
22b0: 64 0a 54 63 6c 5f 52 65 74 75 72 6e 20 74 6f 20  d.Tcl_Return to 
22c0: 54 63 6c 5f 53 65 74 52 65 73 75 6c 74 2c 20 62  Tcl_SetResult, b
22d0: 75 74 20 6c 65 66 74 20 61 20 23 64 65 66 69 6e  ut left a #defin
22e0: 65 20 66 6f 72 20 54 63 6c 5f 52 65 74 75 72 6e  e for Tcl_Return
22f0: 20 74 6f 0a 61 76 6f 69 64 20 63 6f 6d 70 61 74   to.avoid compat
2300: 69 62 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73  ibility problems
2310: 2e 0a 0a 36 32 2e 20 37 2f 32 36 2f 39 31 20 45  ...62. 7/26/91 E
2320: 78 74 65 6e 64 65 64 20 22 63 61 73 65 22 20 63  xtended "case" c
2330: 6f 6d 6d 61 6e 64 20 77 69 74 68 20 61 6c 74 65  ommand with alte
2340: 72 6e 61 74 65 20 73 79 6e 74 61 78 20 77 68 65  rnate syntax whe
2350: 72 65 20 61 6c 6c 0a 70 61 74 74 65 72 6e 73 20  re all.patterns 
2360: 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65  and commands are
2370: 20 74 6f 67 65 74 68 65 72 20 69 6e 20 61 20 73   together in a s
2380: 69 6e 67 6c 65 20 6c 69 73 74 20 61 72 67 75 6d  ingle list argum
2390: 65 6e 74 3a 20 20 6d 61 6b 65 73 0a 69 74 20 65  ent:  makes.it e
23a0: 61 73 69 65 72 20 74 6f 20 77 72 69 74 65 20 6d  asier to write m
23b0: 75 6c 74 69 2d 6c 69 6e 65 20 63 61 73 65 20 73  ulti-line case s
23c0: 74 61 74 65 6d 65 6e 74 73 2e 0a 0a 36 33 2e 20  tatements...63. 
23d0: 37 2f 32 37 2f 39 31 20 43 68 61 6e 67 65 64 20  7/27/91 Changed 
23e0: 22 70 72 69 6e 74 22 20 63 6f 6d 6d 61 6e 64 20  "print" command 
23f0: 74 6f 20 70 65 72 66 6f 72 6d 20 74 69 6c 64 65  to perform tilde
2400: 2d 73 75 62 73 74 69 74 75 74 69 6f 6e 20 6f 6e  -substitution on
2410: 0a 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 2e 0a  .the file name..
2420: 0a 36 34 2e 20 37 2f 32 37 2f 39 31 20 41 64 64  .64. 7/27/91 Add
2430: 65 64 20 22 74 6f 6c 6f 77 65 72 22 2c 20 22 74  ed "tolower", "t
2440: 6f 75 70 70 65 72 22 2c 20 22 74 72 69 6d 22 2c  oupper", "trim",
2450: 20 22 74 72 69 6d 6c 65 66 74 22 2c 20 61 6e 64   "trimleft", and
2460: 20 22 74 72 69 6d 72 69 67 68 74 22 0a 6f 70 74   "trimright".opt
2470: 69 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e 67 22  ions to "string"
2480: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 36 35 2e 20 37   command...65. 7
2490: 2f 32 39 2f 39 31 20 41 64 64 65 64 20 22 61 74  /29/91 Added "at
24a0: 69 6d 65 22 2c 20 22 6d 74 69 6d 65 22 2c 20 22  ime", "mtime", "
24b0: 73 69 7a 65 22 2c 20 61 6e 64 20 22 73 74 61 74  size", and "stat
24c0: 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 66 69  " options to "fi
24d0: 6c 65 22 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 36 36  le".command...66
24e0: 2e 20 38 2f 31 2f 39 31 20 41 64 64 65 64 20 22  . 8/1/91 Added "
24f0: 73 70 6c 69 74 22 20 61 6e 64 20 22 6a 6f 69 6e  split" and "join
2500: 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 36 37 2e  " commands...67.
2510: 20 38 2f 31 31 2f 39 31 20 41 64 64 65 64 20 63   8/11/91 Added c
2520: 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 66 69 6c 65  ommands for file
2530: 20 49 2f 4f 2c 20 69 6e 63 6c 75 64 69 6e 67 20   I/O, including 
2540: 22 6f 70 65 6e 22 2c 20 22 63 6c 6f 73 65 22 2c  "open", "close",
2550: 0a 22 72 65 61 64 22 2c 20 22 67 65 74 73 22 2c  ."read", "gets",
2560: 20 22 70 75 74 73 22 2c 20 22 66 6c 75 73 68 22   "puts", "flush"
2570: 2c 20 22 65 6f 66 22 2c 20 22 73 65 65 6b 22 2c  , "eof", "seek",
2580: 20 61 6e 64 20 22 74 65 6c 6c 22 2e 0a 0a 36 38   and "tell"...68
2590: 2e 20 38 2f 31 34 2f 39 31 20 53 77 69 74 63 68  . 8/14/91 Switch
25a0: 65 64 20 74 6f 20 75 73 65 20 61 20 68 61 73 68  ed to use a hash
25b0: 20 74 61 62 6c 65 20 66 6f 72 20 63 6f 6d 6d 61   table for comma
25c0: 6e 64 20 6c 6f 6f 6b 75 70 73 2e 20 20 43 6f 6d  nd lookups.  Com
25d0: 6d 61 6e 64 0a 61 62 62 72 65 76 69 61 74 69 6f  mand.abbreviatio
25e0: 6e 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 76  ns no longer hav
25f0: 65 20 64 69 72 65 63 74 20 73 75 70 70 6f 72 74  e direct support
2600: 20 69 6e 20 74 68 65 20 54 63 6c 20 69 6e 74 65   in the Tcl inte
2610: 72 70 72 65 74 65 72 2c 20 62 75 74 0a 69 74 20  rpreter, but.it 
2620: 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62  should be possib
2630: 6c 65 20 74 6f 20 73 69 6d 75 6c 61 74 65 20 74  le to simulate t
2640: 68 65 6d 20 77 69 74 68 20 74 68 65 20 61 75 74  hem with the aut
2650: 6f 2d 6c 6f 61 64 20 66 65 61 74 75 72 65 73 0a  o-load features.
2660: 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e  described below.
2670: 20 20 54 68 65 20 22 6e 6f 41 62 62 72 65 76 22    The "noAbbrev"
2680: 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 20   variable is no 
2690: 6c 6f 6e 67 65 72 20 75 73 65 64 20 62 79 20 54  longer used by T
26a0: 63 6c 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  cl..*** POTENTIA
26b0: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
26c0: 59 20 2a 2a 2a 0a 0a 36 38 2e 35 20 38 2f 31 35  Y ***..68.5 8/15
26d0: 2f 39 31 20 41 64 64 65 64 20 73 75 70 70 6f 72  /91 Added suppor
26e0: 74 20 66 6f 72 20 22 75 6e 6b 6e 6f 77 6e 22 20  t for "unknown" 
26f0: 63 6f 6d 6d 61 6e 64 2c 20 77 68 69 63 68 20 63  command, which c
2700: 61 6e 20 62 65 20 75 73 65 64 20 74 6f 0a 63 6f  an be used to.co
2710: 6d 70 6c 65 74 65 20 61 62 62 72 65 76 69 61 74  mplete abbreviat
2720: 69 6f 6e 73 2c 20 61 75 74 6f 2d 6c 6f 61 64 20  ions, auto-load 
2730: 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2c 20 61  library files, a
2740: 75 74 6f 2d 65 78 65 63 20 73 68 65 6c 6c 0a 63  uto-exec shell.c
2750: 6f 6d 6d 61 6e 64 73 2c 20 65 74 63 2e 0a 0a 36  ommands, etc...6
2760: 39 2e 20 38 2f 31 35 2f 39 31 20 41 64 64 65 64  9. 8/15/91 Added
2770: 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 73 77 69   -nocomplain swi
2780: 74 63 68 20 74 6f 20 22 67 6c 6f 62 22 20 63 6f  tch to "glob" co
2790: 6d 6d 61 6e 64 2e 0a 0a 37 30 2e 20 38 2f 32 30  mmand...70. 8/20
27a0: 2f 39 31 20 41 64 64 65 64 20 22 69 6e 66 6f 20  /91 Added "info 
27b0: 6c 69 62 72 61 72 79 22 20 6f 70 74 69 6f 6e 20  library" option 
27c0: 61 6e 64 20 54 43 4c 5f 4c 49 42 52 41 52 59 20  and TCL_LIBRARY 
27d0: 23 64 65 66 69 6e 65 2e 20 20 41 6c 73 6f 0a 61  #define.  Also.a
27e0: 64 64 65 64 20 22 69 6e 66 6f 20 73 63 72 69 70  dded "info scrip
27f0: 74 22 20 6f 70 74 69 6f 6e 2e 0a 0a 37 31 2e 20  t" option...71. 
2800: 38 2f 32 30 2f 39 31 20 43 68 61 6e 67 65 64 20  8/20/91 Changed 
2810: 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 74  "file" command t
2820: 6f 20 74 61 6b 65 20 22 6f 70 74 69 6f 6e 22 20  o take "option" 
2830: 61 72 67 75 6d 65 6e 74 20 61 73 20 66 69 72 73  argument as firs
2840: 74 0a 61 72 67 75 6d 65 6e 74 20 28 62 65 66 6f  t.argument (befo
2850: 72 65 20 66 69 6c 65 20 6e 61 6d 65 29 2c 20 66  re file name), f
2860: 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77  or consistency w
2870: 69 74 68 20 6f 74 68 65 72 20 54 63 6c 20 63 6f  ith other Tcl co
2880: 6d 6d 61 6e 64 73 2e 0a 2a 2a 2a 20 50 4f 54 45  mmands..*** POTE
2890: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
28a0: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 37 32 2e 20 38  ILITY ***..72. 8
28b0: 2f 32 30 2f 39 31 20 43 68 61 6e 67 65 64 20 66  /20/91 Changed f
28c0: 6f 72 6d 61 74 20 6f 66 20 69 6e 66 6f 72 6d 61  ormat of informa
28d0: 74 69 6f 6e 20 69 6e 20 24 65 72 72 6f 72 49 6e  tion in $errorIn
28e0: 66 6f 20 76 61 72 69 61 62 6c 65 3a 0a 63 6f 6d  fo variable:.com
28f0: 6d 65 6e 74 73 20 73 75 63 68 20 61 73 20 0a 20  ments such as . 
2900: 20 20 20 28 22 77 68 69 6c 65 22 20 62 6f 64 79     ("while" body
2910: 20 6c 69 6e 65 20 31 29 0a 61 72 65 20 6e 6f 77   line 1).are now
2920: 20 6f 6e 20 73 65 70 61 72 61 74 65 20 6c 69 6e   on separate lin
2930: 65 73 20 66 72 6f 6d 20 63 6f 6d 6d 61 6e 64 73  es from commands
2940: 20 62 65 69 6e 67 20 65 78 65 63 75 74 65 64 2e   being executed.
2950: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
2960: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
2970: 2a 2a 0a 0a 37 33 2e 20 38 2f 32 30 2f 39 31 20  **..73. 8/20/91 
2980: 43 68 61 6e 67 65 64 20 54 63 6c 5f 41 70 70 65  Changed Tcl_Appe
2990: 6e 64 52 65 73 75 6c 74 20 73 6f 20 74 68 61 74  ndResult so that
29a0: 20 69 74 20 28 65 76 65 6e 74 75 61 6c 6c 79 29   it (eventually)
29b0: 20 66 72 65 65 73 0a 6c 61 72 67 65 20 62 75 66   frees.large buf
29c0: 66 65 72 73 20 74 68 61 74 20 69 74 20 61 6c 6c  fers that it all
29d0: 6f 63 61 74 65 73 2e 0a 0a 37 34 2e 20 38 2f 32  ocates...74. 8/2
29e0: 31 2f 39 31 20 41 64 64 65 64 20 22 6c 69 6e 73  1/91 Added "lins
29f0: 65 72 74 22 2c 20 22 6c 72 65 70 6c 61 63 65 22  ert", "lreplace"
2a00: 2c 20 22 6c 73 65 61 72 63 68 22 2c 20 61 6e 64  , "lsearch", and
2a10: 20 22 6c 73 6f 72 74 22 0a 63 6f 6d 6d 61 6e 64   "lsort".command
2a20: 73 2e 0a 0a 37 35 2e 20 38 2f 32 38 2f 39 31 20  s...75. 8/28/91 
2a30: 41 64 64 65 64 20 22 69 6e 63 72 22 20 61 6e 64  Added "incr" and
2a40: 20 22 65 78 69 74 22 20 63 6f 6d 6d 61 6e 64 73   "exit" commands
2a50: 2e 0a 0a 37 36 2e 20 38 2f 33 30 2f 39 31 20 41  ...76. 8/30/91 A
2a60: 64 64 65 64 20 22 72 65 67 65 78 70 22 20 61 6e  dded "regexp" an
2a70: 64 20 22 72 65 67 73 75 62 22 20 63 6f 6d 6d 61  d "regsub" comma
2a80: 6e 64 73 2e 0a 0a 37 37 2e 20 39 2f 34 2f 39 31  nds...77. 9/4/91
2a90: 20 43 68 61 6e 67 65 64 20 22 64 79 6e 61 6d 69   Changed "dynami
2aa0: 63 22 20 66 69 65 6c 64 20 69 6e 20 69 6e 74 65  c" field in inte
2ab0: 72 70 72 65 74 65 72 73 20 74 6f 20 22 66 72 65  rpreters to "fre
2ac0: 65 50 72 6f 63 22 20 28 70 72 6f 63 65 64 75 72  eProc" (procedur
2ad0: 65 0a 61 64 64 72 65 73 73 29 2e 20 20 54 68 69  e.address).  Thi
2ae0: 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 61 6c 74  s allows for alt
2af0: 65 72 6e 61 74 69 76 65 20 73 74 6f 72 61 67 65  ernative storage
2b00: 20 6d 61 6e 61 67 65 72 73 2e 0a 2a 2a 2a 20 50   managers..*** P
2b10: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
2b20: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 37 38  TIBILITY ***..78
2b30: 2e 20 39 2f 36 2f 39 31 20 41 64 64 65 64 20 22  . 9/6/91 Added "
2b40: 69 6e 64 65 78 22 2c 20 22 6c 65 6e 67 74 68 22  index", "length"
2b50: 2c 20 61 6e 64 20 22 72 61 6e 67 65 22 20 6f 70  , and "range" op
2b60: 74 69 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e 67  tions to "string
2b70: 22 0a 63 6f 6d 6d 61 6e 64 2e 20 20 41 64 64 65  ".command.  Adde
2b80: 64 20 22 6c 69 6e 64 65 78 22 2c 20 22 6c 6c 65  d "lindex", "lle
2b90: 6e 67 74 68 22 2c 20 61 6e 64 20 22 6c 72 61 6e  ngth", and "lran
2ba0: 67 65 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 37  ge" commands...7
2bb0: 39 2e 20 39 2f 38 2f 39 31 20 52 65 6d 6f 76 65  9. 9/8/91 Remove
2bc0: 64 20 22 69 6e 64 65 78 22 2c 20 22 6c 65 6e 67  d "index", "leng
2bd0: 74 68 22 2c 20 22 70 72 69 6e 74 22 20 61 6e 64  th", "print" and
2be0: 20 22 72 61 6e 67 65 22 20 63 6f 6d 6d 61 6e 64   "range" command
2bf0: 73 2e 0a 22 50 72 69 6e 74 22 20 69 73 20 72 65  s.."Print" is re
2c00: 64 75 6e 64 61 6e 74 20 77 69 74 68 20 22 70 75  dundant with "pu
2c10: 74 73 22 2c 20 62 75 74 20 6c 65 73 73 20 67 65  ts", but less ge
2c20: 6e 65 72 61 6c 2c 20 61 6e 64 20 74 68 65 20 6f  neral, and the o
2c30: 74 68 65 72 0a 63 6f 6d 6d 61 6e 64 73 20 61 72  ther.commands ar
2c40: 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20  e replaced with 
2c50: 74 68 65 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 73  the new commands
2c60: 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 63 68   described in ch
2c70: 61 6e 67 65 20 37 38 0a 61 62 6f 76 65 2e 0a 2a  ange 78.above..*
2c80: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
2c90: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
2ca0: 0a 0a 38 30 2e 20 39 2f 38 2f 39 31 20 43 68 61  ..80. 9/8/91 Cha
2cb0: 6e 67 65 64 20 68 69 73 74 6f 72 79 20 72 65 76  nged history rev
2cc0: 69 73 69 6f 6e 20 74 6f 20 6f 63 63 75 72 20 65  ision to occur e
2cd0: 76 65 6e 20 77 68 65 6e 20 68 69 73 74 6f 72 79  ven when history
2ce0: 20 63 6f 6d 6d 61 6e 64 0a 69 73 20 6e 65 73 74   command.is nest
2cf0: 65 64 3b 20 20 6e 65 65 64 65 64 20 69 6e 20 6f  ed;  needed in o
2d00: 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 22 68  rder to allow "h
2d10: 69 73 74 6f 72 79 22 20 74 6f 20 62 65 20 69 6e  istory" to be in
2d20: 76 6f 6b 65 64 20 66 72 6f 6d 0a 22 75 6e 6b 6e  voked from."unkn
2d30: 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 2e 0a  own" procedure..
2d40: 0a 38 31 2e 20 39 2f 31 33 2f 39 31 20 43 68 61  .81. 9/13/91 Cha
2d50: 6e 67 65 64 20 22 70 61 6e 69 63 22 20 6e 6f 74  nged "panic" not
2d60: 20 74 6f 20 75 73 65 20 76 66 70 72 69 6e 74 66   to use vfprintf
2d70: 20 28 69 74 27 73 20 75 67 6c 69 65 72 20 61 6e   (it's uglier an
2d80: 64 20 6c 65 73 73 0a 67 65 6e 65 72 61 6c 20 6e  d less.general n
2d90: 6f 77 2c 20 62 75 74 20 6d 61 6b 65 73 20 69 74  ow, but makes it
2da0: 20 65 61 73 69 65 72 20 74 6f 20 72 75 6e 20 54   easier to run T
2db0: 63 6c 20 6f 6e 20 73 79 73 74 65 6d 73 20 74 68  cl on systems th
2dc0: 61 74 20 64 6f 6e 27 74 0a 68 61 76 65 20 76 66  at don't.have vf
2dd0: 70 72 69 6e 74 66 29 2e 20 20 41 6c 73 6f 20 63  printf).  Also c
2de0: 68 61 6e 67 65 64 20 22 73 74 72 65 72 72 6f 72  hanged "strerror
2df0: 22 20 6e 6f 74 20 74 6f 20 72 65 64 65 63 6c 61  " not to redecla
2e00: 72 65 20 73 79 73 5f 65 72 72 6c 69 73 74 2e 0a  re sys_errlist..
2e10: 0a 38 32 2e 20 39 2f 31 39 2f 39 31 20 4c 6f 74  .82. 9/19/91 Lot
2e20: 73 20 6f 66 20 63 68 61 6e 67 65 73 20 74 6f 20  s of changes to 
2e30: 69 6d 70 72 6f 76 65 20 70 6f 72 74 61 62 69 6c  improve portabil
2e40: 69 74 79 20 74 6f 20 64 69 66 66 65 72 65 6e 74  ity to different
2e50: 20 55 4e 49 58 0a 73 79 73 74 65 6d 73 2c 20 69   UNIX.systems, i
2e60: 6e 63 6c 75 64 69 6e 67 20 61 64 64 69 74 69 6f  ncluding additio
2e70: 6e 20 6f 66 20 22 63 6f 6e 66 69 67 22 20 73 63  n of "config" sc
2e80: 72 69 70 74 20 74 6f 20 61 64 61 70 74 20 54 63  ript to adapt Tc
2e90: 6c 20 74 6f 20 74 68 65 0a 63 6f 6e 66 69 67 75  l to the.configu
2ea0: 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 79  ration of the sy
2eb0: 73 74 65 6d 20 69 74 27 73 20 62 65 69 6e 67 20  stem it's being 
2ec0: 63 6f 6d 70 69 6c 65 64 20 6f 6e 2e 0a 0a 38 33  compiled on...83
2ed0: 2e 20 39 2f 32 32 2f 39 31 20 41 64 64 65 64 20  . 9/22/91 Added 
2ee0: 22 70 77 64 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a  "pwd" command...
2ef0: 38 34 2e 20 39 2f 32 32 2f 39 31 20 52 65 6e 61  84. 9/22/91 Rena
2f00: 6d 65 64 20 6d 61 6e 75 61 6c 20 70 61 67 65 73  med manual pages
2f10: 20 73 6f 20 74 68 61 74 20 74 68 65 69 72 20 66   so that their f
2f20: 69 6c 65 6e 61 6d 65 73 20 61 72 65 20 6e 6f 20  ilenames are no 
2f30: 6d 6f 72 65 0a 74 68 61 6e 20 31 34 20 63 68 61  more.than 14 cha
2f40: 72 61 63 74 65 72 73 20 69 6e 20 6c 65 6e 67 74  racters in lengt
2f50: 68 2c 20 6d 6f 76 65 64 20 74 6f 20 22 64 6f 63  h, moved to "doc
2f60: 22 20 73 75 62 64 69 72 65 63 74 6f 72 79 2e 0a  " subdirectory..
2f70: 0a 38 35 2e 20 39 2f 32 34 2f 39 31 20 52 65 64  .85. 9/24/91 Red
2f80: 69 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65  id manual entrie
2f90: 73 20 73 6f 20 74 68 65 79 20 63 6f 6e 74 61 69  s so they contai
2fa0: 6e 20 74 68 65 20 73 75 70 70 6c 65 6d 65 6e 74  n the supplement
2fb0: 61 6c 0a 6d 61 63 72 6f 73 20 74 68 61 74 20 74  al.macros that t
2fc0: 68 65 79 20 6e 65 65 64 3b 20 20 63 61 6e 20 6a  hey need;  can j
2fd0: 75 73 74 20 70 72 69 6e 74 20 77 69 74 68 20 22  ust print with "
2fe0: 74 72 6f 66 66 20 2d 6d 61 6e 22 20 6f 72 20 22  troff -man" or "
2ff0: 6d 61 6e 22 0a 6e 6f 77 2e 0a 0a 38 36 2e 20 39  man".now...86. 9
3000: 2f 32 36 2f 39 31 20 43 72 65 61 74 65 64 20 69  /26/91 Created i
3010: 6e 69 74 69 61 6c 20 76 65 72 73 69 6f 6e 20 6f  nitial version o
3020: 66 20 73 63 72 69 70 74 20 6c 69 62 72 61 72 79  f script library
3030: 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 61 20 76 65  , including.a ve
3040: 72 73 69 6f 6e 20 6f 66 20 22 75 6e 6b 6e 6f 77  rsion of "unknow
3050: 6e 22 20 74 68 61 74 20 64 6f 65 73 20 61 75 74  n" that does aut
3060: 6f 2d 6c 6f 61 64 69 6e 67 2c 20 61 75 74 6f 2d  o-loading, auto-
3070: 65 78 65 63 75 74 69 6f 6e 2c 20 61 6e 64 0a 61  execution, and.a
3080: 62 62 72 65 76 69 61 74 69 6f 6e 20 65 78 70 61  bbreviation expa
3090: 6e 73 69 6f 6e 2e 20 20 54 68 69 73 20 6c 69 62  nsion.  This lib
30a0: 72 61 72 79 20 69 73 20 75 73 65 64 20 62 79 20  rary is used by 
30b0: 74 63 6c 54 65 73 74 0a 61 75 74 6f 6d 61 74 69  tclTest.automati
30c0: 63 61 6c 6c 79 2e 20 20 53 65 65 20 74 68 65 20  cally.  See the 
30d0: 22 6c 69 62 72 61 72 79 22 20 6d 61 6e 75 61 6c  "library" manual
30e0: 20 65 6e 74 72 79 20 66 6f 72 20 64 65 74 61 69   entry for detai
30f0: 6c 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ls...-----------
3100: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
3110: 76 65 72 73 69 6f 6e 20 36 2e 30 2c 20 39 2f 32  version 6.0, 9/2
3120: 36 2f 39 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6/91 -----------
3130: 2d 2d 2d 2d 2d 2d 2d 0a 0a 38 37 2e 20 39 2f 33  -------..87. 9/3
3140: 30 2f 39 31 20 4d 61 64 65 20 22 73 74 72 69 6e  0/91 Made "strin
3150: 67 20 74 6f 6c 6f 77 65 72 22 20 61 6e 64 20 22  g tolower" and "
3160: 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 22 20  string toupper" 
3170: 63 68 65 63 6b 20 63 61 73 65 0a 62 65 66 6f 72  check case.befor
3180: 65 20 63 6f 6e 76 65 72 74 69 6e 67 3a 20 20 6f  e converting:  o
3190: 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 2c 20  n some systems, 
31a0: 22 74 6f 6c 6f 77 65 72 22 20 61 6e 64 20 22 74  "tolower" and "t
31b0: 6f 75 70 70 65 72 22 20 61 73 73 75 6d 65 0a 74  oupper" assume.t
31c0: 68 61 74 20 63 68 61 72 61 63 74 65 72 20 61 6c  hat character al
31d0: 72 65 61 64 79 20 68 61 73 20 70 61 72 74 69 63  ready has partic
31e0: 75 6c 61 72 20 63 61 73 65 2e 0a 0a 38 38 2e 20  ular case...88. 
31f0: 39 2f 33 30 2f 39 31 20 46 69 78 65 64 20 62 75  9/30/91 Fixed bu
3200: 67 20 69 6e 20 54 63 6c 5f 53 65 74 52 65 73 75  g in Tcl_SetResu
3210: 6c 74 3a 20 20 77 61 73 6e 27 74 20 61 6c 77 61  lt:  wasn't alwa
3220: 79 73 20 73 65 74 74 69 6e 67 20 66 72 65 65 50  ys setting freeP
3230: 72 6f 63 0a 63 6f 72 72 65 63 74 6c 79 20 77 68  roc.correctly wh
3240: 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 4e  en called with N
3250: 55 4c 4c 20 76 61 6c 75 65 2e 20 20 54 68 69 73  ULL value.  This
3260: 20 74 65 6e 64 65 64 20 74 6f 20 63 61 75 73 65   tended to cause
3270: 20 6d 65 6d 6f 72 79 0a 61 6c 6c 6f 63 61 74 69   memory.allocati
3280: 6f 6e 20 65 72 72 6f 72 73 20 6c 61 74 65 72 2e  on errors later.
3290: 0a 0a 38 39 2e 20 31 30 2f 33 2f 39 31 20 41 64  ..89. 10/3/91 Ad
32a0: 64 65 64 20 22 75 70 76 61 72 22 20 63 6f 6d 6d  ded "upvar" comm
32b0: 61 6e 64 2e 0a 0a 39 30 2e 20 31 30 2f 34 2f 39  and...90. 10/4/9
32c0: 31 20 43 68 61 6e 67 65 64 20 22 66 6f 72 6d 61  1 Changed "forma
32d0: 74 22 20 73 6f 20 74 68 61 74 20 69 6e 74 65 72  t" so that inter
32e0: 6e 61 6c 6c 79 20 69 74 20 63 6f 6e 76 65 72 74  nally it convert
32f0: 73 20 25 44 20 74 6f 20 25 6c 64 2c 0a 25 55 20  s %D to %ld,.%U 
3300: 74 6f 20 25 6c 75 2c 20 25 4f 20 74 6f 20 25 6c  to %lu, %O to %l
3310: 6f 2c 20 61 6e 64 20 25 46 20 74 6f 20 25 66 2e  o, and %F to %f.
3320: 20 20 54 68 69 73 20 65 6c 69 6d 69 6e 61 74 65    This eliminate
3330: 73 20 73 6f 6d 65 20 63 6f 6d 70 61 74 69 62 69  s some compatibi
3340: 6c 69 74 79 0a 70 72 6f 62 6c 65 6d 73 20 6f 6e  lity.problems on
3350: 20 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20 77   some machines w
3360: 69 74 68 6f 75 74 20 61 66 66 65 63 74 69 6e 67  ithout affecting
3370: 20 62 65 68 61 76 69 6f 72 2e 0a 0a 39 31 2e 20   behavior...91. 
3380: 31 30 2f 31 30 2f 39 31 20 46 69 78 65 64 20 62  10/10/91 Fixed b
3390: 75 67 20 69 6e 20 22 72 65 67 73 75 62 22 20 74  ug in "regsub" t
33a0: 68 61 74 20 63 61 75 73 65 64 20 63 6f 72 65 20  hat caused core 
33b0: 64 75 6d 70 73 20 77 69 74 68 20 74 68 65 20 2d  dumps with the -
33c0: 61 6c 6c 0a 6f 70 74 69 6f 6e 20 77 68 65 6e 20  all.option when 
33d0: 74 68 65 20 6c 61 73 74 20 6d 61 74 63 68 20 77  the last match w
33e0: 61 73 6e 27 74 20 61 74 20 74 68 65 20 65 6e 64  asn't at the end
33f0: 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a   of the string..
3400: 0a 39 32 2e 20 31 30 2f 31 37 2f 39 31 20 46 69  .92. 10/17/91 Fi
3410: 78 65 64 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  xed problems wit
3420: 68 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71 75  h backslash sequ
3430: 65 6e 63 65 73 3a 20 20 5c 72 20 73 75 70 70 6f  ences:  \r suppo
3440: 72 74 20 77 61 73 0a 69 6e 63 6f 6d 70 6c 65 74  rt was.incomplet
3450: 65 20 61 6e 64 20 5c 66 20 61 6e 64 20 5c 76 20  e and \f and \v 
3460: 77 65 72 65 6e 27 74 20 73 75 70 70 6f 72 74 65  weren't supporte
3470: 64 20 61 74 20 61 6c 6c 2e 0a 0a 39 33 2e 20 31  d at all...93. 1
3480: 30 2f 32 34 2f 39 31 20 41 64 64 65 64 20 54 63  0/24/91 Added Tc
3490: 6c 5f 49 6e 69 74 48 69 73 74 6f 72 79 20 70 72  l_InitHistory pr
34a0: 6f 63 65 64 75 72 65 2e 0a 0a 39 34 2e 20 31 30  ocedure...94. 10
34b0: 2f 32 34 2f 39 31 20 43 68 61 6e 67 65 64 20 22  /24/91 Changed "
34c0: 72 65 67 65 78 70 22 20 74 6f 20 73 74 6f 72 65  regexp" to store
34d0: 20 22 2d 31 20 2d 31 22 20 69 6e 20 73 75 62 4d   "-1 -1" in subM
34e0: 61 74 63 68 56 61 72 73 20 74 68 61 74 0a 64 6f  atchVars that.do
34f0: 6e 27 74 20 6d 61 74 63 68 2c 20 72 61 74 68 65  n't match, rathe
3500: 72 20 74 68 61 6e 20 72 65 74 75 72 6e 69 6e 67  r than returning
3510: 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 39 35 2e 20   an error...95. 
3520: 31 30 2f 32 37 2f 39 31 20 4d 6f 64 69 66 69 65  10/27/91 Modifie
3530: 64 20 22 72 65 67 65 78 70 22 20 74 6f 20 72 65  d "regexp" to re
3540: 74 75 72 6e 20 61 63 74 75 61 6c 20 73 74 72 69  turn actual stri
3550: 6e 67 73 20 69 6e 20 6d 61 74 63 68 56 61 72 0a  ngs in matchVar.
3560: 61 6e 64 20 73 75 62 4d 61 74 63 68 56 61 72 73  and subMatchVars
3570: 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 69   instead of indi
3580: 63 65 73 2e 20 20 41 64 64 65 64 20 22 2d 69 6e  ces.  Added "-in
3590: 64 69 63 65 73 22 20 73 77 69 74 63 68 20 74 6f  dices" switch to
35a0: 20 63 61 75 73 65 0a 69 6e 64 69 63 65 73 20 74   cause.indices t
35b0: 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2e 0a 2a  o be returned..*
35c0: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
35d0: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
35e0: 0a 0a 39 36 2e 20 31 30 2f 32 37 2f 39 31 20 46  ..96. 10/27/91 F
35f0: 69 78 65 64 20 62 75 67 20 69 6e 20 22 73 63 61  ixed bug in "sca
3600: 6e 22 20 77 68 65 72 65 20 69 74 20 75 73 65 64  n" where it used
3610: 20 68 61 72 64 77 69 72 65 64 20 63 6f 6e 73 74   hardwired const
3620: 61 6e 74 73 20 66 6f 72 0a 73 69 7a 65 73 20 6f  ants for.sizes o
3630: 66 20 66 6c 6f 61 74 73 20 61 6e 64 20 64 6f 75  f floats and dou
3640: 62 6c 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20  bles instead of 
3650: 75 73 69 6e 67 20 22 73 69 7a 65 6f 66 22 2e 0a  using "sizeof"..
3660: 0a 39 37 2e 20 31 30 2f 33 31 2f 39 31 20 46 69  .97. 10/31/91 Fi
3670: 78 65 64 20 62 75 67 20 69 6e 20 74 63 6c 50 61  xed bug in tclPa
3680: 72 73 65 2e 63 20 77 68 65 72 65 20 70 61 72 73  rse.c where pars
3690: 65 2d 72 65 6c 61 74 65 64 20 65 72 72 6f 72 20  e-related error 
36a0: 6d 65 73 73 61 67 65 73 0a 77 65 72 65 6e 27 74  messages.weren't
36b0: 20 62 65 69 6e 67 20 73 74 6f 72 61 67 65 2d 6d   being storage-m
36c0: 61 6e 61 67 65 64 20 63 6f 72 72 65 63 74 6c 79  anaged correctly
36d0: 2c 20 63 61 75 73 69 6e 67 20 73 70 75 72 69 6f  , causing spurio
36e0: 75 73 20 66 72 65 65 27 73 2e 0a 0a 39 38 2e 20  us free's...98. 
36f0: 31 30 2f 33 31 2f 39 31 20 46 6f 72 6d 20 66 65  10/31/91 Form fe
3700: 65 64 20 61 6e 64 20 76 65 72 74 69 63 61 6c 20  ed and vertical 
3710: 74 61 62 20 63 68 61 72 61 63 74 65 72 73 20 61  tab characters a
3720: 72 65 20 6e 6f 77 20 63 6f 6e 73 69 64 65 72 65  re now considere
3730: 64 0a 74 6f 20 62 65 20 73 70 61 63 65 20 63 68  d.to be space ch
3740: 61 72 61 63 74 65 72 73 20 62 79 20 74 68 65 20  aracters by the 
3750: 70 61 72 73 65 72 2e 0a 0a 39 39 2e 20 31 30 2f  parser...99. 10/
3760: 33 31 2f 39 31 20 41 64 64 65 64 20 54 43 4c 5f  31/91 Added TCL_
3770: 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47 20 66 6c  LEAVE_ERR_MSG fl
3780: 61 67 20 74 6f 20 70 72 6f 63 65 64 75 72 65 73  ag to procedures
3790: 20 6c 69 6b 65 20 54 63 6c 5f 53 65 74 56 61 72   like Tcl_SetVar
37a0: 2e 0a 0a 31 30 30 2e 20 31 31 2f 37 2f 39 31 20  ...100. 11/7/91 
37b0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 63 61  Fixed bug in "ca
37c0: 73 65 22 20 77 68 65 72 65 20 22 69 6e 22 20 61  se" where "in" a
37d0: 72 67 75 6d 65 6e 74 20 63 6f 75 6c 64 6e 27 74  rgument couldn't
37e0: 20 62 65 20 6f 6d 69 74 74 65 64 0a 69 66 20 61   be omitted.if a
37f0: 6c 6c 20 63 61 73 65 20 62 72 61 6e 63 68 65 73  ll case branches
3800: 20 77 65 72 65 20 65 6d 62 65 64 64 65 64 20 69   were embedded i
3810: 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 2e  n a single list.
3820: 0a 0a 31 30 31 2e 20 31 31 2f 37 2f 39 31 20 53  ..101. 11/7/91 S
3830: 77 69 74 63 68 65 64 20 74 6f 20 75 73 65 20 22  witched to use "
3840: 70 69 64 5f 74 22 20 61 6e 64 20 22 75 69 64 5f  pid_t" and "uid_
3850: 74 22 20 61 6e 64 20 6f 74 68 65 72 20 6f 66 66  t" and other off
3860: 69 63 69 61 6c 0a 50 4f 53 49 43 20 74 79 70 65  icial.POSIC type
3870: 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 70  s and function p
3880: 72 6f 74 6f 74 79 70 65 73 2e 0a 0a 2d 2d 2d 2d  rototypes...----
3890: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
38a0: 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36  leased version 6
38b0: 2e 31 2c 20 31 31 2f 37 2f 39 31 20 2d 2d 2d 2d  .1, 11/7/91 ----
38c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
38d0: 31 30 32 2e 20 31 32 2f 32 2f 39 31 20 4d 6f 64  102. 12/2/91 Mod
38e0: 69 66 69 65 64 20 54 63 6c 5f 53 63 61 6e 45 6c  ified Tcl_ScanEl
38f0: 65 6d 65 6e 74 20 61 6e 64 20 54 63 6c 5f 43 6f  ement and Tcl_Co
3900: 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20 69 6e 20  nvertElement in 
3910: 73 65 76 65 72 61 6c 0a 77 61 79 73 2e 20 20 46  several.ways.  F
3920: 69 72 73 74 2c 20 61 6c 6c 6f 77 65 64 20 63 61  irst, allowed ca
3930: 6c 6c 65 72 20 74 6f 20 72 65 71 75 65 73 74 20  ller to request 
3940: 74 68 61 74 20 6f 6e 6c 79 20 62 61 63 6b 73 6c  that only backsl
3950: 61 73 68 65 73 20 62 65 20 75 73 65 64 0a 28 6e  ashes be used.(n
3960: 6f 20 62 72 61 63 65 73 29 2e 20 20 53 65 63 6f  o braces).  Seco
3970: 6e 64 2c 20 6d 61 64 65 20 54 63 6c 5f 43 6f 6e  nd, made Tcl_Con
3980: 76 65 72 74 45 6c 65 6d 65 6e 74 20 6d 6f 72 65  vertElement more
3990: 20 61 67 67 72 65 73 73 69 76 65 20 69 6e 20 75   aggressive in u
39a0: 73 69 6e 67 0a 62 61 63 6b 73 6c 61 73 68 65 73  sing.backslashes
39b0: 20 66 6f 72 20 62 72 61 63 65 73 20 61 6e 64 20   for braces and 
39c0: 71 75 6f 74 65 73 2e 0a 0a 31 30 33 2e 20 31 32  quotes...103. 12
39d0: 2f 35 2f 39 31 20 41 64 64 65 64 20 22 74 79 70  /5/91 Added "typ
39e0: 65 22 2c 20 22 6c 73 74 61 74 22 2c 20 61 6e 64  e", "lstat", and
39f0: 20 22 72 65 61 64 6c 69 6e 6b 22 20 6f 70 74 69   "readlink" opti
3a00: 6f 6e 73 20 74 6f 20 22 66 69 6c 65 22 0a 63 6f  ons to "file".co
3a10: 6d 6d 61 6e 64 2c 20 70 6c 75 73 20 61 64 64 65  mmand, plus adde
3a20: 64 20 6e 65 77 20 22 74 79 70 65 22 20 65 6c 65  d new "type" ele
3a30: 6d 65 6e 74 20 74 6f 20 6f 75 74 70 75 74 20 6f  ment to output o
3a40: 66 20 22 73 74 61 74 22 20 61 6e 64 20 22 6c 73  f "stat" and "ls
3a50: 74 61 74 22 0a 6f 70 74 69 6f 6e 73 2e 0a 0a 31  tat".options...1
3a60: 30 34 2e 20 31 32 2f 31 30 2f 39 31 20 4d 61 6e  04. 12/10/91 Man
3a70: 75 61 6c 20 65 6e 74 72 69 65 73 20 68 61 64 20  ual entries had 
3a80: 66 69 72 73 74 20 6c 69 6e 65 73 20 74 68 61 74  first lines that
3a90: 20 63 61 75 73 65 64 20 22 6d 61 6e 22 20 70 72   caused "man" pr
3aa0: 6f 67 72 61 6d 0a 74 6f 20 74 72 79 20 77 65 69  ogram.to try wei
3ab0: 72 64 20 70 72 65 70 72 6f 63 65 73 73 6f 72 2e  rd preprocessor.
3ac0: 20 20 41 64 64 65 64 20 62 6c 61 6e 6b 20 63 6f    Added blank co
3ad0: 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 74 6f 20 66  mment lines to f
3ae0: 69 78 20 70 72 6f 62 6c 65 6d 2e 0a 0a 31 30 35  ix problem...105
3af0: 2e 20 31 32 2f 31 36 2f 39 31 20 46 69 78 65 64  . 12/16/91 Fixed
3b00: 20 61 20 66 65 77 20 62 75 67 73 20 69 6e 20 61   a few bugs in a
3b10: 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 70 72 6f 63  uto_mkindex proc
3b20: 3a 20 20 77 61 73 6e 27 74 20 68 61 6e 64 6c 69  :  wasn't handli
3b30: 6e 67 0a 65 72 72 6f 72 73 20 70 72 6f 70 65 72  ng.errors proper
3b40: 6c 79 2c 20 61 6e 64 20 68 61 64 6e 27 74 20 62  ly, and hadn't b
3b50: 65 65 6e 20 75 70 67 72 61 64 65 64 20 66 6f 72  een upgraded for
3b60: 20 6e 65 77 20 22 72 65 67 65 78 70 22 20 73 79   new "regexp" sy
3b70: 6e 74 61 78 2e 0a 0a 31 30 36 2e 20 31 2f 32 2f  ntax...106. 1/2/
3b80: 39 32 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  92 Fixed bug in 
3b90: 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 77  "file" command w
3ba0: 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20 70  here it didn't p
3bb0: 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 61  roperly handle.a
3bc0: 20 66 69 6c 65 20 6e 61 6d 65 73 20 63 6f 6e 74   file names cont
3bd0: 61 69 6e 69 6e 67 20 74 69 6c 64 65 73 20 77 68  aining tildes wh
3be0: 65 72 65 20 74 68 65 20 69 6e 64 69 63 61 74 65  ere the indicate
3bf0: 64 20 75 73 65 72 20 64 6f 65 73 6e 27 74 20 65  d user doesn't e
3c00: 78 69 73 74 2e 0a 0a 31 30 37 2e 20 31 2f 32 2f  xist...107. 1/2/
3c10: 39 32 20 46 69 78 65 64 20 6c 6f 74 73 20 6f 66  92 Fixed lots of
3c20: 20 63 61 73 65 73 20 69 6e 20 74 63 6c 55 6e 69   cases in tclUni
3c30: 78 53 74 72 2e 63 20 77 68 65 72 65 20 74 77 6f  xStr.c where two
3c40: 20 64 69 66 66 65 72 65 6e 74 0a 65 72 72 6e 6f   different.errno
3c50: 20 73 79 6d 62 6f 6c 73 20 28 65 2e 67 2e 20 45   symbols (e.g. E
3c60: 57 4f 55 4c 44 42 4c 4f 43 4b 20 61 6e 64 20 45  WOULDBLOCK and E
3c70: 41 47 41 49 4e 29 20 68 61 76 65 20 74 68 65 20  AGAIN) have the 
3c80: 73 61 6d 65 20 6e 75 6d 62 65 72 3b 20 20 54 63  same number;  Tc
3c90: 6c 0a 77 69 6c 6c 20 6f 6e 6c 79 20 75 73 65 20  l.will only use 
3ca0: 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 0a 0a 31 30  one of them...10
3cb0: 38 2e 20 31 2f 32 2f 39 32 20 4c 6f 74 73 20 6f  8. 1/2/92 Lots o
3cc0: 66 20 63 68 61 6e 67 65 73 20 74 6f 20 63 6f 6e  f changes to con
3cd0: 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70  figuration scrip
3ce0: 74 20 74 6f 20 68 61 6e 64 6c 65 20 6d 61 6e 79  t to handle many
3cf0: 20 6d 6f 72 65 0a 73 79 73 74 65 6d 73 20 6d 6f   more.systems mo
3d00: 72 65 20 67 72 61 63 65 66 75 6c 6c 79 2e 20 20  re gracefully.  
3d10: 45 2e 67 2e 20 73 68 6f 75 6c 64 20 6e 6f 77 20  E.g. should now 
3d20: 64 65 74 65 63 74 20 74 68 65 20 62 6f 67 75 73  detect the bogus
3d30: 20 73 74 72 74 6f 75 6c 20 74 68 61 74 0a 63 6f   strtoul that.co
3d40: 6d 65 73 20 77 69 74 68 20 41 49 58 20 61 6e 64  mes with AIX and
3d50: 20 73 75 62 73 74 69 74 75 74 65 20 54 63 6c 27   substitute Tcl'
3d60: 73 20 6f 77 6e 20 76 65 72 73 69 6f 6e 20 69 6e  s own version in
3d70: 73 74 65 61 64 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  stead...--------
3d80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
3d90: 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 32 2c 20  ed version 6.2, 
3da0: 31 2f 31 30 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d 2d  1/10/92 --------
3db0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 39 2e  ----------..109.
3dc0: 20 31 2f 32 30 2f 39 32 20 43 6f 6e 66 69 67 20   1/20/92 Config 
3dd0: 64 69 64 6e 27 74 20 68 61 76 65 20 63 6f 64 65  didn't have code
3de0: 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 75 73 65   to actually use
3df0: 20 22 75 69 64 5f 74 22 20 76 61 72 69 61 62 6c   "uid_t" variabl
3e00: 65 0a 74 6f 20 73 65 74 20 54 43 4c 5f 55 49 54  e.to set TCL_UIT
3e10: 5f 54 20 23 64 65 66 69 6e 65 2e 0a 0a 31 31 30  _T #define...110
3e20: 2e 20 32 2f 31 30 2f 39 32 20 54 63 6c 5f 45 76  . 2/10/92 Tcl_Ev
3e30: 61 6c 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72  al didn't proper
3e40: 6c 79 20 72 65 73 65 74 20 22 6e 75 6d 4c 65 76  ly reset "numLev
3e50: 65 6c 73 22 20 76 61 72 69 61 62 6c 65 20 77 68  els" variable wh
3e60: 65 6e 0a 74 6f 6f 2d 64 65 65 70 20 72 65 63 75  en.too-deep recu
3e70: 72 73 69 6f 6e 20 6f 63 63 75 72 72 65 64 2e 0a  rsion occurred..
3e80: 0a 31 31 31 2e 20 32 2f 32 39 2f 39 32 20 41 64  .111. 2/29/92 Ad
3e90: 64 65 64 20 22 6f 6e 22 20 61 6e 64 20 22 6f 66  ded "on" and "of
3ea0: 66 22 20 74 6f 20 6b 65 79 77 6f 72 64 73 20 61  f" to keywords a
3eb0: 63 63 65 70 74 65 64 20 62 79 20 54 63 6c 5f 47  ccepted by Tcl_G
3ec0: 65 74 42 6f 6f 6c 65 61 6e 2e 0a 0a 31 31 32 2e  etBoolean...112.
3ed0: 20 33 2f 31 39 2f 39 32 20 43 6f 6e 66 69 67 20   3/19/92 Config 
3ee0: 77 61 73 6e 27 74 20 69 6e 73 74 61 6c 6c 69 6e  wasn't installin
3ef0: 67 20 64 65 66 61 75 6c 74 20 76 65 72 73 69 6f  g default versio
3f00: 6e 20 6f 66 20 73 74 72 74 6f 64 2e 63 20 66 6f  n of strtod.c fo
3f10: 72 0a 73 79 73 74 65 6d 73 20 74 68 61 74 20 64  r.systems that d
3f20: 6f 6e 27 74 20 68 61 76 65 20 6f 6e 65 20 69 6e  on't have one in
3f30: 20 6c 69 62 63 2e 61 2e 0a 0a 31 31 33 2e 20 33   libc.a...113. 3
3f40: 2f 32 33 2f 39 32 20 46 69 78 65 64 20 62 75 67  /23/92 Fixed bug
3f50: 20 69 6e 20 74 63 6c 45 78 70 72 2e 63 20 77 68   in tclExpr.c wh
3f60: 65 72 65 20 6e 75 6d 62 65 72 73 20 77 69 74 68  ere numbers with
3f70: 20 6c 65 61 64 69 6e 67 20 22 2e 22 73 2c 0a 6c   leading "."s,.l
3f80: 69 6b 65 20 30 2e 37 35 2c 20 63 6f 75 6c 64 6e  ike 0.75, couldn
3f90: 27 74 20 62 65 20 70 72 6f 70 65 72 6c 79 20 73  't be properly s
3fa0: 75 62 73 74 69 74 75 74 65 64 20 69 6e 74 6f 20  ubstituted into 
3fb0: 65 78 70 72 65 73 73 69 6f 6e 73 20 77 69 74 68  expressions with
3fc0: 0a 76 61 72 69 61 62 6c 65 20 6f 72 20 63 6f 6d  .variable or com
3fd0: 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74 69 6f  mand substitutio
3fe0: 6e 2e 0a 0a 31 31 34 2e 20 33 2f 32 35 2f 39 32  n...114. 3/25/92
3ff0: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 74 63   Fixed bug in tc
4000: 6c 55 6e 69 78 41 5a 2e 63 20 77 68 65 72 65 20  lUnixAZ.c where 
4010: 22 67 65 74 73 22 20 63 6f 6d 6d 61 6e 64 20 77  "gets" command w
4020: 61 73 6e 27 74 0a 63 68 65 63 6b 69 6e 67 20 74  asn't.checking t
4030: 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74  o make sure that
4040: 20 69 74 20 77 61 73 20 61 62 6c 65 20 74 6f 20   it was able to 
4050: 77 72 69 74 65 20 74 68 65 20 76 61 72 69 61 62  write the variab
4060: 6c 65 20 4f 4b 2e 0a 0a 31 31 35 2e 20 34 2f 31  le OK...115. 4/1
4070: 36 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69  6/92 Fixed bug i
4080: 6e 20 74 63 6c 55 6e 69 78 41 5a 2e 63 20 77 68  n tclUnixAZ.c wh
4090: 65 72 65 20 22 72 65 61 64 22 20 63 6f 6d 6d 61  ere "read" comma
40a0: 6e 64 20 64 69 64 6e 27 74 0a 63 6f 6d 70 75 74  nd didn't.comput
40b0: 65 20 66 69 6c 65 20 73 69 7a 65 20 72 69 67 68  e file size righ
40c0: 74 20 66 6f 72 20 64 65 76 69 63 65 20 66 69 6c  t for device fil
40d0: 65 73 2e 0a 0a 31 31 36 2e 20 34 2f 32 33 2f 39  es...116. 4/23/9
40e0: 32 20 46 69 78 65 64 20 62 75 74 20 69 6e 20 74  2 Fixed but in t
40f0: 63 6c 43 6d 64 4d 5a 2e 63 20 77 68 65 72 65 20  clCmdMZ.c where 
4100: 22 74 72 61 63 65 20 76 69 6e 66 6f 22 20 77 61  "trace vinfo" wa
4110: 73 20 6f 76 65 72 77 72 69 74 69 6e 67 0a 74 68  s overwriting.th
4120: 65 20 74 72 61 63 65 20 63 6f 6d 6d 61 6e 64 2e  e trace command.
4130: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
4140: 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72  --- Released ver
4150: 73 69 6f 6e 20 36 2e 33 2c 20 35 2f 31 2f 39 32  sion 6.3, 5/1/92
4160: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
4170: 2d 2d 2d 0a 0a 31 31 37 2e 20 35 2f 31 2f 39 32  ---..117. 5/1/92
4180: 20 41 64 64 65 64 20 54 63 6c 5f 47 6c 6f 62 61   Added Tcl_Globa
4190: 6c 45 76 61 6c 2e 0a 0a 31 31 38 2e 20 36 2f 31  lEval...118. 6/1
41a0: 2f 39 32 20 43 68 61 6e 67 65 64 20 61 75 74 6f  /92 Changed auto
41b0: 2d 6c 6f 61 64 20 66 61 63 69 6c 69 74 79 20 74  -load facility t
41c0: 6f 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61  o source files a
41d0: 74 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 2e 0a  t global level..
41e0: 0a 31 31 39 2e 20 36 2f 38 2f 39 32 20 54 63 6c  .119. 6/8/92 Tcl
41f0: 5f 50 61 72 73 65 56 61 72 20 77 61 73 6e 27 74  _ParseVar wasn't
4200: 20 61 6c 77 61 79 73 20 73 65 74 74 69 6e 67 20   always setting 
4210: 74 65 72 6d 50 74 72 20 61 66 74 65 72 20 65 72  termPtr after er
4220: 72 6f 72 73 2c 20 77 68 69 63 68 0a 73 6f 6d 65  rors, which.some
4230: 74 69 6d 65 73 20 63 61 75 73 65 64 20 63 6f 72  times caused cor
4240: 65 20 64 75 6d 70 73 2e 0a 0a 31 32 30 2e 20 36  e dumps...120. 6
4250: 2f 32 31 2f 39 32 20 46 69 78 65 64 20 62 75 67  /21/92 Fixed bug
4260: 20 69 6e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69   in initializati
4270: 6f 6e 20 6f 66 20 72 65 67 65 78 70 20 70 61 74  on of regexp pat
4280: 74 65 72 6e 20 63 61 63 68 65 2e 20 20 54 68 69  tern cache.  Thi
4290: 73 0a 62 75 67 20 63 61 75 73 65 64 20 73 65 67  s.bug caused seg
42a0: 6d 65 6e 74 61 74 69 6f 6e 20 76 69 6f 6c 61 74  mentation violat
42b0: 69 6f 6e 73 20 69 6e 20 72 65 67 65 78 70 20 63  ions in regexp c
42c0: 6f 6d 6d 61 6e 64 73 20 75 6e 64 65 72 20 73 6f  ommands under so
42d0: 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a  me conditions...
42e0: 31 32 31 2e 20 36 2f 32 32 2f 39 32 20 43 68 61  121. 6/22/92 Cha
42f0: 6e 67 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74  nged implementat
4300: 69 6f 6e 20 6f 66 20 22 67 6c 6f 62 22 20 63 6f  ion of "glob" co
4310: 6d 6d 61 6e 64 20 74 6f 20 65 6c 69 6d 69 6e 61  mmand to elimina
4320: 74 65 0a 74 72 61 69 6c 69 6e 67 20 73 6c 61 73  te.trailing slas
4330: 68 65 73 20 6f 6e 20 64 69 72 65 63 74 6f 72 79  hes on directory
4340: 20 6e 61 6d 65 73 3a 20 20 74 68 65 79 20 63 6f   names:  they co
4350: 6e 66 75 73 65 20 73 6f 6d 65 20 73 79 73 74 65  nfuse some syste
4360: 6d 73 2e 20 20 54 68 65 72 65 0a 73 68 6f 75 6c  ms.  There.shoul
4370: 64 6e 27 74 20 62 65 20 61 6e 79 20 75 73 65 72  dn't be any user
4380: 2d 76 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73  -visible changes
4390: 20 69 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74   in functionalit
43a0: 79 20 65 78 63 65 70 74 20 66 6f 72 20 6e 61 6d  y except for nam
43b0: 65 73 0a 69 6e 20 65 72 72 6f 72 20 6d 65 73 73  es.in error mess
43c0: 61 67 65 73 20 6e 6f 74 20 68 61 76 69 6e 67 20  ages not having 
43d0: 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 65 73  trailing slashes
43e0: 2e 0a 0a 31 32 32 2e 20 37 2f 32 2f 39 32 20 46  ...122. 7/2/92 F
43f0: 69 78 65 64 20 62 75 67 20 74 68 61 74 20 63 61  ixed bug that ca
4400: 75 73 65 64 20 27 73 74 72 69 6e 67 20 6d 61 74  used 'string mat
4410: 63 68 20 2a 2a 20 22 22 27 20 74 6f 20 72 65 74  ch ** ""' to ret
4420: 75 72 6e 20 30 2e 0a 0a 31 32 33 2e 20 37 2f 32  urn 0...123. 7/2
4430: 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69 6e  /92 Fixed bug in
4440: 20 54 63 6c 5f 43 72 65 61 74 65 43 6d 64 42 75   Tcl_CreateCmdBu
4450: 66 20 77 68 65 72 65 20 69 74 20 77 61 73 6e 27  f where it wasn'
4460: 74 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 0a 74  t initializing.t
4470: 68 65 20 62 75 66 66 65 72 20 74 6f 20 61 6e 20  he buffer to an 
4480: 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 0a 31  empty string...1
4490: 32 34 2e 20 37 2f 36 2f 39 32 20 46 69 78 65 64  24. 7/6/92 Fixed
44a0: 20 62 75 67 20 69 6e 20 22 63 61 73 65 22 20 63   bug in "case" c
44b0: 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 69 74 20  ommand where it 
44c0: 75 73 65 64 20 4e 55 4c 4c 20 70 61 74 74 65 72  used NULL patter
44d0: 6e 20 73 74 72 69 6e 67 0a 61 66 74 65 72 20 65  n string.after e
44e0: 72 72 6f 72 73 20 69 6e 20 74 68 65 20 22 64 65  rrors in the "de
44f0: 66 61 75 6c 74 22 20 63 6c 61 75 73 65 2e 0a 0a  fault" clause...
4500: 31 32 35 2e 20 37 2f 32 35 2f 39 32 20 53 70 65  125. 7/25/92 Spe
4510: 65 64 65 64 20 75 70 20 61 75 74 6f 5f 6c 6f 61  eded up auto_loa
4520: 64 20 70 72 6f 63 65 64 75 72 65 3a 20 20 64 6f  d procedure:  do
4530: 6e 27 74 20 72 65 72 65 61 64 20 61 6c 6c 20 74  n't reread all t
4540: 68 65 20 69 6e 64 65 78 0a 66 69 6c 65 73 20 75  he index.files u
4550: 6e 6c 65 73 73 20 74 68 65 20 70 61 74 68 20 68  nless the path h
4560: 61 73 20 63 68 61 6e 67 65 64 2e 0a 0a 31 32 36  as changed...126
4570: 2e 20 38 2f 33 2f 39 32 20 43 68 61 6e 67 65 64  . 8/3/92 Changed
4580: 20 74 63 6c 55 6e 69 78 2e 68 20 74 6f 20 64 65   tclUnix.h to de
4590: 66 69 6e 65 20 4d 41 58 50 41 54 48 4c 45 4e 20  fine MAXPATHLEN 
45a0: 66 72 6f 6d 20 50 41 54 48 5f 4d 41 58 2c 20 6e  from PATH_MAX, n
45b0: 6f 74 0a 5f 50 4f 53 49 58 5f 50 41 54 48 5f 4d  ot._POSIX_PATH_M
45c0: 41 58 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  AX...-----------
45d0: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
45e0: 76 65 72 73 69 6f 6e 20 36 2e 34 2c 20 38 2f 37  version 6.4, 8/7
45f0: 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /92 ------------
4600: 2d 2d 2d 2d 2d 2d 0a 0a 31 32 37 2e 20 38 2f 31  ------..127. 8/1
4610: 30 2f 39 32 20 43 68 61 6e 67 65 64 20 74 63 6c  0/92 Changed tcl
4620: 42 61 73 69 63 2e 63 20 73 6f 20 74 68 61 74 20  Basic.c so that 
4630: 63 6f 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 63 61  comment lines ca
4640: 6e 20 62 65 20 63 6f 6e 74 69 6e 75 65 64 20 62  n be continued b
4650: 79 0a 70 75 74 74 69 6e 67 20 61 20 62 61 63 6b  y.putting a back
4660: 73 6c 61 73 68 20 62 65 66 6f 72 65 20 74 68 65  slash before the
4670: 20 6e 65 77 6c 69 6e 65 2e 0a 0a 31 32 38 2e 20   newline...128. 
4680: 38 2f 32 31 2f 39 32 20 4d 6f 64 69 66 69 65 64  8/21/92 Modified
4690: 20 22 75 6e 6b 6e 6f 77 6e 22 20 74 6f 20 61 6c   "unknown" to al
46a0: 6c 6f 77 20 74 68 65 20 73 6f 75 72 63 65 2d 69  low the source-i
46b0: 6e 67 20 6f 66 20 61 20 66 69 6c 65 20 66 6f 72  ng of a file for
46c0: 0a 61 6e 20 61 75 74 6f 2d 6c 6f 61 64 20 74 6f  .an auto-load to
46d0: 20 74 72 69 67 67 65 72 20 6f 74 68 65 72 20 6e   trigger other n
46e0: 65 73 74 65 64 20 61 75 74 6f 2d 6c 6f 61 64 73  ested auto-loads
46f0: 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65  , as long as the
4700: 72 65 20 69 73 6e 27 74 0a 61 6e 79 20 72 65 63  re isn't.any rec
4710: 75 72 73 69 6f 6e 20 6f 6e 20 74 68 65 20 73 61  ursion on the sa
4720: 6d 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e  me command name.
4730: 0a 0a 31 32 39 2e 20 38 2f 32 35 2f 39 32 20 4d  ..129. 8/25/92 M
4740: 6f 64 69 66 69 65 64 20 22 66 6f 72 6d 61 74 22  odified "format"
4750: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f   command to allo
4760: 77 20 22 20 22 20 61 6e 64 20 22 2b 22 20 66 6c  w " " and "+" fl
4770: 61 67 73 2c 20 61 6e 64 0a 61 6c 6c 6f 77 20 66  ags, and.allow f
4780: 6c 61 67 73 20 69 6e 20 61 6e 79 20 6f 72 64 65  lags in any orde
4790: 72 2e 0a 0a 31 33 30 2e 20 39 2f 31 34 2f 39 32  r...130. 9/14/92
47a0: 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f 50 61   Modified Tcl_Pa
47b0: 72 73 65 56 61 72 20 73 6f 20 74 68 61 74 20 69  rseVar so that i
47c0: 74 20 64 6f 65 73 6e 27 74 20 61 63 74 75 61 6c  t doesn't actual
47d0: 6c 79 20 61 74 74 65 6d 70 74 0a 74 6f 20 6c 6f  ly attempt.to lo
47e0: 6f 6b 20 75 70 20 74 68 65 20 76 61 72 69 61 62  ok up the variab
47f0: 6c 65 20 69 66 20 22 6e 6f 45 76 61 6c 22 20 6d  le if "noEval" m
4800: 6f 64 65 20 69 73 20 69 6e 20 65 66 66 65 63 74  ode is in effect
4810: 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65   in the interpre
4820: 74 65 72 0a 28 69 74 20 6a 75 73 74 20 70 61 72  ter.(it just par
4830: 73 65 73 20 74 68 65 20 6e 61 6d 65 29 2e 20 20  ses the name).  
4840: 54 68 69 73 20 61 76 6f 69 64 73 20 74 68 65 20  This avoids the 
4850: 65 72 72 6f 72 73 20 74 68 61 74 20 75 73 65 64  errors that used
4860: 20 74 6f 20 6f 63 63 75 72 0a 69 6e 20 73 74 61   to occur.in sta
4870: 74 65 6d 65 6e 74 73 20 6c 69 6b 65 20 22 65 78  tements like "ex
4880: 70 72 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73  pr {[info exists
4890: 20 66 6f 6f 5d 20 26 26 20 24 66 6f 6f 7d 22 2e   foo] && $foo}".
48a0: 0a 0a 31 33 31 2e 20 39 2f 31 34 2f 39 32 20 46  ..131. 9/14/92 F
48b0: 69 78 65 64 20 62 75 67 20 69 6e 20 22 75 70 6c  ixed bug in "upl
48c0: 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 77 68  evel" command wh
48d0: 65 72 65 20 69 74 20 64 69 64 6e 27 74 20 6f 75  ere it didn't ou
48e0: 74 70 75 74 20 74 68 65 0a 63 6f 72 72 65 63 74  tput the.correct
48f0: 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69   error message i
4900: 66 20 61 20 6c 65 76 65 6c 20 77 61 73 20 73 70  f a level was sp
4910: 65 63 69 66 69 65 64 20 62 75 74 20 6e 6f 20 63  ecified but no c
4920: 6f 6d 6d 61 6e 64 2e 0a 0a 31 33 32 2e 20 39 2f  ommand...132. 9/
4930: 31 34 2f 39 32 20 52 65 6e 61 6d 65 64 20 6d 61  14/92 Renamed ma
4940: 6e 75 61 6c 20 65 6e 74 72 69 65 73 20 74 6f 20  nual entries to 
4950: 68 61 76 65 20 65 78 74 65 6e 73 69 6f 6e 73 20  have extensions 
4960: 6c 69 6b 65 20 2e 33 20 61 6e 64 20 2e 6e 2c 0a  like .3 and .n,.
4970: 61 6e 64 20 61 64 64 65 64 20 22 69 6e 73 74 61  and added "insta
4980: 6c 6c 22 20 74 61 72 67 65 74 20 74 6f 20 4d 61  ll" target to Ma
4990: 6b 65 66 69 6c 65 2e 0a 0a 31 33 33 2e 20 39 2f  kefile...133. 9/
49a0: 31 38 2f 39 32 20 4d 6f 64 69 66 69 65 64 20 22  18/92 Modified "
49b0: 75 6e 6b 6e 6f 77 6e 22 20 63 6f 6d 6d 61 6e 64  unknown" command
49c0: 20 74 6f 20 65 6d 75 6c 61 74 65 20 21 21 2c 20   to emulate !!, 
49d0: 21 3c 6e 75 6d 3e 2c 20 61 6e 64 0a 5e 3c 6f 6c  !<num>, and.^<ol
49e0: 64 3e 5e 3c 6e 65 77 3e 20 63 73 68 20 68 69 73  d>^<new> csh his
49f0: 74 6f 72 79 20 73 75 62 73 74 69 74 75 74 69 6f  tory substitutio
4a00: 6e 73 2e 0a 0a 31 33 34 2e 20 39 2f 32 31 2f 39  ns...134. 9/21/9
4a10: 32 20 4d 61 64 65 20 74 68 65 20 63 6f 6e 66 69  2 Made the confi
4a20: 67 20 73 63 72 69 70 74 20 63 6c 65 76 65 72 65  g script clevere
4a30: 72 20 61 62 6f 75 74 20 66 69 67 75 72 69 6e 67  r about figuring
4a40: 20 6f 75 74 20 77 68 69 63 68 0a 73 77 69 74 63   out which.switc
4a50: 68 65 73 20 74 6f 20 70 61 73 73 20 74 6f 20 22  hes to pass to "
4a60: 6e 6d 22 2e 0a 0a 31 33 35 2e 20 39 2f 32 33 2f  nm"...135. 9/23/
4a70: 39 32 20 46 69 78 65 64 20 74 63 6c 56 61 72 2e  92 Fixed tclVar.
4a80: 63 20 74 6f 20 62 65 20 73 75 72 65 20 74 6f 20  c to be sure to 
4a90: 63 6f 70 79 20 66 6c 61 67 73 20 77 68 65 6e 20  copy flags when 
4aa0: 67 72 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65  growing variable
4ab0: 73 2e 0a 55 73 65 64 20 74 6f 20 66 6f 72 67 65  s..Used to forge
4ac0: 74 20 61 62 6f 75 74 20 74 72 61 63 65 73 20 69  t about traces i
4ad0: 6e 20 70 72 6f 67 72 65 73 73 20 61 6e 64 20 6d  n progress and m
4ae0: 61 6b 65 20 65 78 74 72 61 20 72 65 63 75 72 73  ake extra recurs
4af0: 69 76 65 20 63 61 6c 6c 73 0a 6f 6e 20 74 72 61  ive calls.on tra
4b00: 63 65 20 70 72 6f 63 73 2e 0a 0a 31 33 36 2e 20  ce procs...136. 
4b10: 39 2f 32 38 2f 39 32 20 46 69 78 65 64 20 62 75  9/28/92 Fixed bu
4b20: 67 20 69 6e 20 61 75 74 6f 5f 72 65 73 65 74 20  g in auto_reset 
4b30: 77 68 65 72 65 20 69 74 20 77 61 73 20 75 6e 73  where it was uns
4b40: 65 74 74 69 6e 67 20 76 61 72 69 61 62 6c 65 73  etting variables
4b50: 0a 74 68 61 74 20 6d 69 67 68 74 20 6e 6f 74 20  .that might not 
4b60: 65 78 69 73 74 2e 0a 0a 31 33 37 2e 20 31 30 2f  exist...137. 10/
4b70: 37 2f 39 32 20 43 68 61 6e 67 65 64 20 22 70 61  7/92 Changed "pa
4b80: 72 72 61 79 22 20 6c 69 62 72 61 72 79 20 70 72  rray" library pr
4b90: 6f 63 65 64 75 72 65 20 74 6f 20 70 72 69 6e 74  ocedure to print
4ba0: 20 61 6e 79 20 61 72 72 61 79 0a 61 63 63 65 73   any array.acces
4bb0: 73 69 62 6c 65 20 74 6f 20 63 61 6c 6c 65 72 2c  sible to caller,
4bc0: 20 6c 6f 63 61 6c 20 6f 72 20 67 6c 6f 62 61 6c   local or global
4bd0: 2e 0a 0a 31 33 38 2e 20 31 30 2f 31 35 2f 39 32  ...138. 10/15/92
4be0: 20 46 69 78 65 64 20 62 75 67 20 77 68 65 72 65   Fixed bug where
4bf0: 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20   propagation of 
4c00: 6e 65 77 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20  new environment 
4c10: 76 61 72 69 61 62 6c 65 0a 76 61 6c 75 65 73 20  variable.values 
4c20: 61 6d 6f 6e 67 20 69 6e 74 65 72 70 72 65 74 65  among interprete
4c30: 72 73 20 74 6f 6f 6b 20 4e 21 20 74 69 6d 65 20  rs took N! time 
4c40: 69 66 20 74 68 65 72 65 20 65 78 69 73 74 20 4e  if there exist N
4c50: 20 69 6e 74 65 72 70 72 65 74 65 72 73 2e 0a 0a   interpreters...
4c60: 31 33 39 2e 20 31 30 2f 31 36 2f 39 32 20 43 68  139. 10/16/92 Ch
4c70: 61 6e 67 65 64 20 61 75 74 6f 5f 72 65 73 65 74  anged auto_reset
4c80: 20 70 72 6f 63 65 64 75 72 65 20 73 6f 20 74 68   procedure so th
4c90: 61 74 20 69 74 20 61 6c 73 6f 20 64 65 6c 65 74  at it also delet
4ca0: 65 73 20 61 6e 79 0a 65 78 69 73 74 69 6e 67 20  es any.existing 
4cb0: 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74 20  procedures that 
4cc0: 61 72 65 20 69 6e 20 74 68 65 20 61 75 74 6f 5f  are in the auto_
4cd0: 6c 6f 61 64 20 69 6e 64 65 78 20 28 74 68 65 20  load index (the 
4ce0: 61 73 73 75 6d 70 74 69 6f 6e 20 69 73 0a 74 68  assumption is.th
4cf0: 61 74 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62  at they should b
4d00: 65 20 72 65 2d 6c 6f 61 64 65 64 20 74 6f 20 67  e re-loaded to g
4d10: 65 74 20 74 68 65 20 6c 61 74 65 73 74 20 76 65  et the latest ve
4d20: 72 73 69 6f 6e 73 29 2e 0a 0a 31 34 30 2e 20 31  rsions)...140. 1
4d30: 30 2f 32 31 2f 39 32 20 46 69 78 65 64 20 62 75  0/21/92 Fixed bu
4d40: 67 20 74 68 61 74 20 63 61 75 73 65 64 20 6c 69  g that caused li
4d50: 73 74 73 20 74 6f 20 62 65 20 69 6e 63 6f 72 72  sts to be incorr
4d60: 65 63 74 6c 79 20 67 65 6e 65 72 61 74 65 64 0a  ectly generated.
4d70: 66 6f 72 20 65 6c 65 6d 65 6e 74 73 20 74 68 61  for elements tha
4d80: 74 20 63 6f 6e 74 61 69 6e 65 64 20 62 61 63 6b  t contained back
4d90: 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 73 65  slash-newline se
4da0: 71 75 65 6e 63 65 73 2e 0a 0a 31 34 31 2e 20 31  quences...141. 1
4db0: 32 2f 39 2f 39 32 20 41 64 64 65 64 20 73 75 70  2/9/92 Added sup
4dc0: 70 6f 72 74 20 66 6f 72 20 54 43 4c 5f 4c 49 42  port for TCL_LIB
4dd0: 52 41 52 59 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  RARY environment
4de0: 20 76 61 72 69 61 62 6c 65 3a 20 20 75 73 65 0a   variable:  use.
4df0: 69 74 20 61 73 20 6c 69 62 72 61 72 79 20 6c 6f  it as library lo
4e00: 63 61 74 69 6f 6e 20 69 66 20 69 74 27 73 20 70  cation if it's p
4e10: 72 65 73 65 6e 74 2e 0a 0a 31 34 32 2e 20 31 32  resent...142. 12
4e20: 2f 39 2f 39 32 20 41 64 64 65 64 20 22 69 6e 66  /9/92 Added "inf
4e30: 6f 20 63 6f 6d 70 6c 65 74 65 22 20 63 6f 6d 6d  o complete" comm
4e40: 61 6e 64 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64  and, Tcl_Command
4e50: 43 6f 6d 70 6c 65 74 65 20 70 72 6f 63 65 64 75  Complete procedu
4e60: 72 65 2e 0a 0a 31 34 33 2e 20 31 32 2f 31 36 2f  re...143. 12/16/
4e70: 39 32 20 43 68 61 6e 67 65 64 20 74 68 65 20 4d  92 Changed the M
4e80: 61 6b 65 66 69 6c 65 20 74 6f 20 63 68 65 63 6b  akefile to check
4e90: 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 22 63   to make sure "c
4ea0: 6f 6e 66 69 67 22 20 68 61 73 20 62 65 65 6e 0a  onfig" has been.
4eb0: 72 75 6e 20 28 63 61 6e 27 74 20 72 75 6e 20 63  run (can't run c
4ec0: 6f 6e 66 69 67 20 64 69 72 65 63 74 6c 79 20 66  onfig directly f
4ed0: 72 6f 6d 20 74 68 65 20 4d 61 6b 65 66 69 6c 65  rom the Makefile
4ee0: 20 62 65 63 61 75 73 65 20 69 74 20 6d 6f 64 69   because it modi
4ef0: 66 69 65 73 20 74 68 65 0a 4d 61 6b 65 66 69 6c  fies the.Makefil
4f00: 65 3b 20 20 74 68 75 73 20 6d 61 6b 65 20 68 61  e;  thus make ha
4f10: 73 20 74 6f 20 62 65 20 72 75 6e 20 61 67 61 69  s to be run agai
4f20: 6e 20 61 66 74 65 72 20 72 75 6e 6e 69 6e 67 20  n after running 
4f30: 63 6f 6e 66 69 67 29 2e 0a 0a 2d 2d 2d 2d 2d 2d  config)...------
4f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
4f50: 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 35  ased version 6.5
4f60: 2c 20 31 32 2f 31 37 2f 39 32 20 2d 2d 2d 2d 2d  , 12/17/92 -----
4f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31  -------------..1
4f80: 34 34 2e 20 31 32 2f 32 31 2f 39 32 20 43 68 61  44. 12/21/92 Cha
4f90: 6e 67 65 64 20 63 6f 6e 66 69 67 20 74 6f 20 6c  nged config to l
4fa0: 6f 6f 6b 20 69 6e 20 73 65 76 65 72 61 6c 20 70  ook in several p
4fb0: 6c 61 63 65 73 20 66 6f 72 20 6c 69 62 63 20 66  laces for libc f
4fc0: 69 6c 65 2e 0a 0a 31 34 35 2e 20 31 32 2f 32 33  ile...145. 12/23
4fd0: 2f 39 32 20 41 64 64 65 64 20 22 65 6c 73 65 69  /92 Added "elsei
4fe0: 66 22 20 73 75 70 70 6f 72 74 20 74 6f 20 69 66  f" support to if
4ff0: 2e 20 20 41 6c 73 6f 2c 20 22 74 68 65 6e 22 2c  .  Also, "then",
5000: 20 22 65 6c 73 65 22 2c 20 61 6e 64 0a 22 65 6c   "else", and."el
5010: 73 65 69 66 22 20 6d 61 79 20 6e 6f 20 6c 6f 6e  seif" may no lon
5020: 67 65 72 20 62 65 20 61 62 62 72 65 76 69 61 74  ger be abbreviat
5030: 65 64 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  ed..*** POTENTIA
5040: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
5050: 59 20 2a 2a 2a 0a 0a 31 34 36 2e 20 31 32 2f 32  Y ***..146. 12/2
5060: 38 2f 39 32 20 43 68 61 6e 67 65 64 20 22 70 75  8/92 Changed "pu
5070: 74 73 22 20 61 6e 64 20 22 72 65 61 64 22 20 74  ts" and "read" t
5080: 6f 20 73 75 70 70 6f 72 74 20 69 6e 69 74 69 61  o support initia
5090: 6c 20 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 0a 73  l "-nonewline".s
50a0: 77 69 74 63 68 20 69 6e 73 74 65 61 64 20 6f 66  witch instead of
50b0: 20 61 64 64 69 74 69 6f 6e 61 6c 20 22 6e 6f 6e   additional "non
50c0: 65 77 6c 69 6e 65 22 20 61 72 67 75 6d 65 6e 74  ewline" argument
50d0: 2e 20 20 54 68 65 20 6f 6c 64 20 66 6f 72 6d 20  .  The old form 
50e0: 69 73 0a 73 74 69 6c 6c 20 73 75 70 70 6f 72 74  is.still support
50f0: 65 64 2c 20 62 75 74 20 69 74 20 69 73 20 64 69  ed, but it is di
5100: 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 69 73  scouraged and is
5110: 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f 63 75 6d   no longer docum
5120: 65 6e 74 65 64 2e 0a 41 6c 73 6f 20 63 68 61 6e  ented..Also chan
5130: 67 65 64 20 22 70 75 74 73 22 20 74 6f 20 6d 61  ged "puts" to ma
5140: 6b 65 20 74 68 65 20 66 69 6c 65 20 61 72 67 75  ke the file argu
5150: 6d 65 6e 74 20 64 65 66 61 75 6c 74 20 74 6f 20  ment default to 
5160: 73 74 64 6f 75 74 3a 20 65 2e 67 2e 0a 22 70 75  stdout: e.g.."pu
5170: 74 73 20 66 6f 6f 22 20 77 69 6c 6c 20 70 72 69  ts foo" will pri
5180: 6e 74 20 66 6f 6f 20 6f 6e 20 73 74 61 6e 64 61  nt foo on standa
5190: 72 64 20 6f 75 74 70 75 74 2e 0a 0a 31 34 37 2e  rd output...147.
51a0: 20 31 2f 36 2f 39 33 20 46 69 78 65 64 20 62 75   1/6/93 Fixed bu
51b0: 67 20 77 68 65 72 65 62 79 20 62 61 63 6b 73 6c  g whereby backsl
51c0: 61 73 68 2d 6e 65 77 6c 69 6e 65 20 77 61 73 6e  ash-newline wasn
51d0: 27 74 20 77 6f 72 6b 69 6e 67 20 77 68 65 6e 0a  't working when.
51e0: 74 79 70 65 64 20 69 6e 74 65 72 61 63 74 69 76  typed interactiv
51f0: 65 6c 79 2c 20 6f 72 20 69 6e 20 22 69 6e 66 6f  ely, or in "info
5200: 20 63 6f 6d 70 6c 65 74 65 22 2e 0a 0a 31 34 38   complete"...148
5210: 2e 20 31 2f 32 32 2f 39 33 20 46 69 78 65 64 20  . 1/22/93 Fixed 
5220: 62 75 67 73 20 69 6e 20 22 6c 72 65 70 6c 61 63  bugs in "lreplac
5230: 65 22 20 61 6e 64 20 22 6c 69 6e 73 65 72 74 22  e" and "linsert"
5240: 20 77 68 65 72 65 20 63 6c 6f 73 65 0a 71 75 6f   where close.quo
5250: 74 65 73 20 77 65 72 65 20 62 65 69 6e 67 20 6c  tes were being l
5260: 6f 73 74 20 66 72 6f 6d 20 6c 61 73 74 20 65 6c  ost from last el
5270: 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 72 65 70  ement before rep
5280: 6c 61 63 65 6d 65 6e 74 20 6f 72 0a 69 6e 73 65  lacement or.inse
5290: 72 74 69 6f 6e 2e 0a 0a 31 34 39 2e 20 31 2f 32  rtion...149. 1/2
52a0: 39 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69  9/93 Fixed bug i
52b0: 6e 20 54 63 6c 5f 41 73 73 65 6d 62 6c 65 43 6d  n Tcl_AssembleCm
52c0: 64 20 77 68 65 72 65 20 69 74 20 77 61 73 6e 27  d where it wasn'
52d0: 74 20 72 65 71 75 69 72 69 6e 67 0a 61 20 6e 65  t requiring.a ne
52e0: 77 6c 69 6e 65 20 61 74 20 74 68 65 20 65 6e 64  wline at the end
52f0: 20 6f 66 20 61 20 6c 69 6e 65 20 62 65 66 6f 72   of a line befor
5300: 65 20 63 6f 6e 73 69 64 65 72 69 6e 67 20 61 20  e considering a 
5310: 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 0a 63 6f  command to be.co
5320: 6d 70 6c 65 74 65 2e 20 20 54 68 65 20 62 75 67  mplete.  The bug
5330: 20 63 61 75 73 65 64 20 73 6f 6d 65 20 76 65 72   caused some ver
5340: 79 20 6c 6f 6e 67 20 6c 69 6e 65 73 20 69 6e 20  y long lines in 
5350: 73 63 72 69 70 74 20 66 69 6c 65 73 20 74 6f 0a  script files to.
5360: 62 65 20 70 72 6f 63 65 73 73 65 64 20 61 73 20  be processed as 
5370: 6d 75 6c 74 69 70 6c 65 20 73 65 70 61 72 61 74  multiple separat
5380: 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 35 30  e commands...150
5390: 2e 20 31 2f 32 39 2f 39 33 20 56 61 72 69 6f 75  . 1/29/93 Variou
53a0: 73 20 63 68 61 6e 67 65 73 20 69 6e 20 4d 61 6b  s changes in Mak
53b0: 65 66 69 6c 65 20 74 6f 20 61 64 64 20 6d 6f 72  efile to add mor
53c0: 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a  e configuration.
53d0: 6f 70 74 69 6f 6e 73 2c 20 73 69 6d 70 6c 69 66  options, simplif
53e0: 79 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20  y installation, 
53f0: 66 69 78 20 62 75 67 73 20 28 65 2e 67 2e 20 64  fix bugs (e.g. d
5400: 6f 6e 27 74 20 75 73 65 20 2d 66 20 73 77 69 74  on't use -f swit
5410: 63 68 0a 66 6f 72 20 63 70 29 2c 20 65 74 63 2e  ch.for cp), etc.
5420: 0a 0a 31 35 31 2e 20 31 2f 32 39 2f 39 33 20 43  ..151. 1/29/93 C
5430: 68 61 6e 67 65 64 20 22 6e 61 6d 65 31 22 20 61  hanged "name1" a
5440: 6e 64 20 22 6e 61 6d 65 32 22 20 69 64 65 6e 74  nd "name2" ident
5450: 69 66 69 65 72 73 20 74 6f 20 22 70 61 72 74 31  ifiers to "part1
5460: 22 20 61 6e 64 0a 22 70 61 72 74 32 22 20 74 6f  " and."part2" to
5470: 20 61 76 6f 69 64 20 6e 61 6d 65 20 63 6f 6e 66   avoid name conf
5480: 6c 69 63 74 73 20 77 69 74 68 20 73 74 75 70 69  licts with stupi
5490: 64 20 43 2b 2b 20 69 6d 70 6c 65 6d 65 6e 74 61  d C++ implementa
54a0: 74 69 6f 6e 73 20 74 68 61 74 0a 75 73 65 20 22  tions that.use "
54b0: 6e 61 6d 65 31 22 20 61 6e 64 20 22 6e 61 6d 65  name1" and "name
54c0: 32 22 20 69 6e 20 61 20 72 65 73 65 72 76 65 64  2" in a reserved
54d0: 20 77 61 79 2e 0a 0a 31 35 32 2e 20 32 2f 31 2f   way...152. 2/1/
54e0: 39 33 20 41 64 64 65 64 20 22 70 75 74 65 6e 76  93 Added "putenv
54f0: 22 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 72  " procedure to r
5500: 65 70 6c 61 63 65 20 74 68 65 20 73 74 61 6e 64  eplace the stand
5510: 61 72 64 20 73 79 73 74 65 6d 0a 76 65 72 73 69  ard system.versi
5520: 6f 6e 20 73 6f 20 74 68 61 74 20 69 74 20 77 69  on so that it wi
5530: 6c 6c 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  ll work correctl
5540: 79 20 77 69 74 68 20 54 63 6c 27 73 20 65 6e 76  y with Tcl's env
5550: 69 72 6f 6e 6d 65 6e 74 20 68 61 6e 64 6c 69 6e  ironment handlin
5560: 67 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  g...------------
5570: 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76  ----- Released v
5580: 65 72 73 69 6f 6e 20 36 2e 36 2c 20 32 2f 35 2f  ersion 6.6, 2/5/
5590: 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  93 -------------
55a0: 2d 2d 2d 2d 2d 0a 0a 31 35 33 2e 20 32 2f 31 30  -----..153. 2/10
55b0: 2f 39 33 20 46 69 78 65 64 20 62 75 67 73 20 69  /93 Fixed bugs i
55c0: 6e 20 63 6f 6e 66 69 67 20 73 63 72 69 70 74 3a  n config script:
55d0: 20 20 6d 69 73 73 69 6e 67 20 22 65 6e 64 69 66    missing "endif
55e0: 22 20 69 6e 20 6c 69 62 63 20 6c 6f 6f 70 2c 0a  " in libc loop,.
55f0: 61 6e 64 20 74 72 69 65 64 20 74 6f 20 75 73 65  and tried to use
5600: 20 73 74 72 6e 63 61 73 65 63 6d 70 2e 63 20 69   strncasecmp.c i
5610: 6e 73 74 65 61 64 20 6f 66 20 73 74 72 63 61 73  nstead of strcas
5620: 65 63 6d 70 2e 63 2e 0a 0a 31 35 34 2e 20 32 2f  ecmp.c...154. 2/
5630: 31 30 2f 39 33 20 4d 61 6b 65 66 69 6c 65 20 69  10/93 Makefile i
5640: 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 20 20 61 64  mprovements:  ad
5650: 64 65 64 20 52 41 4e 4c 49 42 20 76 61 72 69 61  ded RANLIB varia
5660: 62 6c 65 20 66 6f 72 20 65 61 73 69 65 72 0a 53  ble for easier.S
5670: 79 73 2d 56 20 63 6f 6e 66 69 67 75 72 61 74 69  ys-V configurati
5680: 6f 6e 2c 20 61 64 64 65 64 20 53 48 45 4c 4c 20  on, added SHELL 
5690: 76 61 72 69 61 62 6c 65 20 66 6f 72 20 53 47 49  variable for SGI
56a0: 20 73 79 73 74 65 6d 73 2e 0a 0a 2d 2d 2d 2d 2d   systems...-----
56b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
56c0: 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e  eased version 6.
56d0: 37 2c 20 32 2f 31 31 2f 39 33 20 2d 2d 2d 2d 2d  7, 2/11/93 -----
56e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31  -------------..1
56f0: 35 33 2e 20 32 2f 36 2f 39 33 20 43 68 61 6e 67  53. 2/6/93 Chang
5700: 65 73 20 69 6e 20 62 61 63 6b 73 6c 61 73 68 20  es in backslash 
5710: 70 72 6f 63 65 73 73 69 6e 67 3a 0a 20 20 20 20  processing:.    
5720: 2d 20 5c 43 78 2c 20 5c 4d 78 2c 20 5c 43 4d 78  - \Cx, \Mx, \CMx
5730: 2c 20 5c 65 20 73 65 71 75 65 6e 63 65 73 20 6e  , \e sequences n
5740: 6f 20 6c 6f 6e 67 65 72 20 73 70 65 63 69 61 6c  o longer special
5750: 0a 20 20 20 20 2d 20 5c 3c 6e 65 77 6c 69 6e 65  .    - \<newline
5760: 3e 20 61 6c 73 6f 20 65 61 74 73 20 75 70 20 61  > also eats up a
5770: 6e 79 20 73 70 61 63 65 20 61 66 74 65 72 20 74  ny space after t
5780: 68 65 20 6e 65 77 6c 69 6e 65 2c 20 72 65 70 6c  he newline, repl
5790: 61 63 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20  acing.      the 
57a0: 77 68 6f 6c 65 20 73 65 71 75 65 6e 63 65 20 77  whole sequence w
57b0: 69 74 68 20 61 20 73 69 6e 67 6c 65 20 73 70 61  ith a single spa
57c0: 63 65 20 63 68 61 72 61 63 74 65 72 0a 20 20 20  ce character.   
57d0: 20 2d 20 48 65 78 20 73 65 71 75 65 6e 63 65 73   - Hex sequences
57e0: 20 6c 69 6b 65 20 5c 78 32 34 20 61 72 65 20 6e   like \x24 are n
57f0: 6f 77 20 73 75 70 70 6f 72 74 65 64 2c 20 61 6c  ow supported, al
5800: 6f 6e 67 20 77 69 74 68 20 41 4e 53 49 20 43 27  ong with ANSI C'
5810: 73 20 5c 61 2e 0a 20 20 20 20 2d 20 22 66 6f 72  s \a..    - "for
5820: 6d 61 74 22 20 6e 6f 20 6c 6f 6e 67 65 72 20 64  mat" no longer d
5830: 6f 65 73 20 62 61 63 6b 73 6c 61 73 68 20 70 72  oes backslash pr
5840: 6f 63 65 73 73 69 6e 67 20 6f 6e 20 69 74 73 20  ocessing on its 
5850: 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20  format string.  
5860: 20 20 2d 20 74 68 65 72 65 20 69 73 20 6e 6f 20    - there is no 
5870: 6c 6f 6e 67 65 72 20 61 6e 79 20 73 70 65 63 69  longer any speci
5880: 61 6c 20 6d 65 61 6e 69 6e 67 20 74 6f 20 61 20  al meaning to a 
5890: 30 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66  0 return value f
58a0: 72 6f 6d 0a 20 20 20 20 20 20 54 63 6c 5f 42 61  rom.      Tcl_Ba
58b0: 63 6b 73 6c 61 73 68 0a 20 20 20 20 2d 20 75 6e  ckslash.    - un
58c0: 6b 6e 6f 77 6e 20 62 61 63 6b 73 6c 61 73 68 20  known backslash 
58d0: 73 65 71 75 65 6e 63 65 73 2c 20 6c 69 6b 65 20  sequences, like 
58e0: 28 65 2e 67 2e 20 5c 2a 29 2c 20 61 72 65 20 72  (e.g. \*), are r
58f0: 65 70 6c 61 63 65 64 20 77 69 74 68 0a 20 20 20  eplaced with.   
5900: 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67     the following
5910: 20 63 68 61 72 61 63 74 65 72 20 28 65 2e 67 2e   character (e.g.
5920: 20 2a 29 2c 20 69 6e 73 74 65 61 64 20 6f 66 20   *), instead of 
5930: 6a 75 73 74 20 74 72 65 61 74 69 6e 67 20 74 68  just treating th
5940: 65 0a 20 20 20 20 20 20 62 61 63 6b 73 6c 61 73  e.      backslas
5950: 68 20 61 73 20 61 6e 20 6f 72 64 69 6e 61 72 79  h as an ordinary
5960: 20 63 68 61 72 61 63 74 65 72 2e 0a 2a 2a 2a 20   character..*** 
5970: 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
5980: 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31  ATIBILITY ***..1
5990: 35 34 2e 20 32 2f 36 2f 39 33 20 55 70 64 61 74  54. 2/6/93 Updat
59a0: 65 64 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74  ed all copyright
59b0: 20 6e 6f 74 69 63 65 73 2e 20 20 54 68 65 20 6d   notices.  The m
59c0: 65 61 6e 69 6e 67 20 68 61 73 6e 27 74 20 63 68  eaning hasn't ch
59d0: 61 6e 67 65 64 0a 61 74 20 61 6c 6c 20 62 75 74  anged.at all but
59e0: 20 74 68 65 20 77 6f 72 64 69 6e 67 20 64 6f 65   the wording doe
59f0: 73 20 61 20 62 65 74 74 65 72 20 6a 6f 62 20 6f  s a better job o
5a00: 66 20 70 72 6f 74 65 63 74 69 6e 67 20 55 2e 43  f protecting U.C
5a10: 2e 20 66 72 6f 6d 0a 6c 69 61 62 69 6c 69 74 79  . from.liability
5a20: 20 28 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 55   (according to U
5a30: 2e 43 2e 20 6c 61 77 79 65 72 73 2c 20 61 6e 79  .C. lawyers, any
5a40: 77 61 79 29 2e 0a 0a 31 35 35 2e 20 32 2f 36 2f  way)...155. 2/6/
5a50: 39 33 20 43 68 61 6e 67 65 64 20 22 72 65 67 73  93 Changed "regs
5a60: 75 62 22 20 73 6f 20 74 68 61 74 20 69 74 20 6f  ub" so that it o
5a70: 76 65 72 77 72 69 74 65 73 20 74 68 65 20 72 65  verwrites the re
5a80: 73 75 6c 74 20 76 61 72 69 61 62 6c 65 0a 69 6e  sult variable.in
5a90: 20 61 6c 6c 20 63 61 73 65 73 2c 20 65 76 65 6e   all cases, even
5aa0: 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20   if there is no 
5ab0: 6d 61 74 63 68 2e 0a 2a 2a 2a 20 50 4f 54 45 4e  match..*** POTEN
5ac0: 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
5ad0: 4c 49 54 59 20 2a 2a 2a 0a 0a 31 35 36 2e 20 32  LITY ***..156. 2
5ae0: 2f 38 2f 39 33 20 41 64 64 65 64 20 73 75 70 70  /8/93 Added supp
5af0: 6f 72 74 20 66 6f 72 20 58 50 47 33 20 25 6e 24  ort for XPG3 %n$
5b00: 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65 63   conversion spec
5b10: 69 66 69 65 72 73 20 74 6f 20 22 66 6f 72 6d 61  ifiers to "forma
5b20: 74 22 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 35 37  t".command...157
5b30: 2e 20 32 2f 31 37 2f 39 33 20 46 69 78 65 64 20  . 2/17/93 Fixed 
5b40: 62 75 67 20 69 6e 20 54 63 6c 5f 45 76 61 6c 20  bug in Tcl_Eval 
5b50: 77 68 65 72 65 20 65 72 72 6f 72 73 20 64 75 65  where errors due
5b60: 20 74 6f 20 69 6e 66 69 6e 69 74 65 0a 72 65 63   to infinite.rec
5b70: 75 72 73 69 6f 6e 20 63 6f 75 6c 64 20 72 65 73  ursion could res
5b80: 75 6c 74 20 69 6e 20 63 6f 72 65 20 64 75 6d 70  ult in core dump
5b90: 73 2e 0a 0a 31 35 38 2e 20 32 2f 31 37 2f 39 33  s...158. 2/17/93
5ba0: 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20 61 75   Improved the au
5bb0: 74 6f 2d 6c 6f 61 64 20 6d 65 63 68 61 6e 69 73  to-load mechanis
5bc0: 6d 20 74 6f 20 64 65 61 6c 20 67 72 61 63 65 66  m to deal gracef
5bd0: 75 6c 6c 79 20 28 69 2e 65 2e 0a 72 65 74 75 72  ully (i.e..retur
5be0: 6e 20 61 6e 20 65 72 72 6f 72 29 20 77 69 74 68  n an error) with
5bf0: 20 61 20 73 69 74 75 61 74 69 6f 6e 20 77 68 65   a situation whe
5c00: 72 65 20 61 20 6c 69 62 72 61 72 79 20 66 69 6c  re a library fil
5c10: 65 20 74 68 61 74 20 73 75 70 70 6f 73 65 64 6c  e that supposedl
5c20: 79 0a 64 65 66 69 6e 65 73 20 61 20 70 72 6f 63  y.defines a proc
5c30: 65 64 75 72 65 20 64 6f 65 73 6e 27 74 20 61 63  edure doesn't ac
5c40: 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 69 74  tually define it
5c50: 2e 0a 0a 31 35 39 2e 20 32 2f 31 37 2f 39 33 20  ...159. 2/17/93 
5c60: 52 65 6e 61 6d 65 64 20 54 63 6c 5f 55 6e 69 78  Renamed Tcl_Unix
5c70: 45 72 72 6f 72 20 70 72 6f 63 65 64 75 72 65 20  Error procedure 
5c80: 74 6f 20 54 63 6c 5f 50 6f 73 69 78 45 72 72 6f  to Tcl_PosixErro
5c90: 72 2c 20 61 6e 64 0a 63 68 61 6e 67 65 64 20 65  r, and.changed e
5ca0: 72 72 6f 72 43 6f 64 65 20 76 61 72 69 61 62 6c  rrorCode variabl
5cb0: 65 20 75 73 61 67 65 20 74 6f 20 75 73 65 20 50  e usage to use P
5cc0: 4f 53 49 58 20 61 73 20 6b 65 79 77 6f 72 64 20  OSIX as keyword 
5cd0: 69 6e 73 74 65 61 64 20 6f 66 0a 55 4e 49 58 2e  instead of.UNIX.
5ce0: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
5cf0: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
5d00: 2a 2a 0a 0a 31 36 30 2e 20 32 2f 31 39 2f 39 33  **..160. 2/19/93
5d10: 20 43 68 61 6e 67 65 73 20 74 6f 20 65 78 65 63   Changes to exec
5d20: 20 61 6e 64 20 70 72 6f 63 65 73 73 20 63 6f 6e   and process con
5d30: 74 72 6f 6c 3a 0a 20 20 20 20 2d 20 41 64 64 65  trol:.    - Adde
5d40: 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 3e 3e  d support for >>
5d50: 2c 20 3e 26 2c 20 3e 3e 26 2c 20 7c 26 2c 20 3c  , >&, >>&, |&, <
5d60: 40 2c 20 3e 40 2c 20 61 6e 64 20 3e 26 40 20 66  @, >@, and >&@ f
5d70: 6f 72 6d 73 20 6f 66 20 72 65 64 69 72 65 63 74  orms of redirect
5d80: 69 6f 6e 2e 0a 20 20 20 20 2d 20 57 68 65 6e 20  ion..    - When 
5d90: 65 78 65 63 20 70 75 74 73 20 70 72 6f 63 65 73  exec puts proces
5da0: 73 65 73 20 69 6e 74 6f 20 62 61 63 6b 67 72 6f  ses into backgro
5db0: 75 6e 64 2c 20 69 74 20 72 65 74 75 72 6e 73 20  und, it returns 
5dc0: 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 20  a list of.      
5dd0: 74 68 65 69 72 20 70 69 64 73 20 61 73 20 72 65  their pids as re
5de0: 73 75 6c 74 2e 0a 20 20 20 20 2d 20 41 64 64 65  sult..    - Adde
5df0: 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 3c 66  d support for <f
5e00: 69 6c 65 2c 20 3e 66 69 6c 65 2c 20 65 74 63 2e  ile, >file, etc.
5e10: 20 28 69 2e 65 2e 20 6e 6f 20 73 70 61 63 65 20   (i.e. no space 
5e20: 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 22 3e  between.      ">
5e30: 22 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 2e  " and file name.
5e40: 0a 20 20 20 20 2d 20 41 64 64 65 64 20 2d 6b 65  .    - Added -ke
5e50: 65 70 6e 65 77 6c 69 6e 65 20 6f 70 74 69 6f 6e  epnewline option
5e60: 2e 0a 20 20 20 20 2d 20 44 65 6c 65 74 65 64 20  ..    - Deleted 
5e70: 54 63 6c 5f 46 6f 72 6b 20 61 6e 64 20 54 63 6c  Tcl_Fork and Tcl
5e80: 5f 57 61 69 74 50 69 64 73 20 70 72 6f 63 65 64  _WaitPids proced
5e90: 75 72 65 73 20 28 6a 75 73 74 20 75 73 65 20 66  ures (just use f
5ea0: 6f 72 6b 20 61 6e 64 0a 20 20 20 20 20 20 77 61  ork and.      wa
5eb0: 69 74 70 69 64 20 69 6e 73 74 65 61 64 29 2e 0a  itpid instead)..
5ec0: 20 20 20 20 2d 20 41 64 64 65 64 20 77 61 69 74      - Added wait
5ed0: 70 69 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  pid compatibilit
5ee0: 79 20 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20  y procedure for 
5ef0: 73 79 73 74 65 6d 73 20 74 68 61 74 20 64 6f 6e  systems that don
5f00: 27 74 20 68 61 76 65 0a 20 20 20 20 20 20 69 74  't have.      it
5f10: 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 54 63  ..    - Added Tc
5f20: 6c 5f 52 65 61 70 44 65 74 61 63 68 65 64 50 72  l_ReapDetachedPr
5f30: 6f 63 73 20 70 72 6f 63 65 64 75 72 65 2e 0a 20  ocs procedure.. 
5f40: 20 20 20 2d 20 43 68 61 6e 67 65 64 20 22 65 78     - Changed "ex
5f50: 65 63 22 20 74 6f 20 72 65 74 75 72 6e 20 61 6e  ec" to return an
5f60: 20 65 72 72 6f 72 20 69 66 20 74 68 65 72 65 20   error if there 
5f70: 69 73 20 73 74 64 65 72 72 20 6f 75 74 70 75 74  is stderr output
5f80: 2c 20 65 76 65 6e 0a 20 20 20 20 20 20 69 66 20  , even.      if 
5f90: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75  the command retu
5fa0: 72 6e 73 20 61 20 30 20 65 78 69 74 20 73 74 61  rns a 0 exit sta
5fb0: 74 75 73 20 28 69 74 27 73 20 61 6c 77 61 79 73  tus (it's always
5fc0: 20 62 65 65 6e 20 64 6f 63 75 6d 65 6e 74 65 64   been documented
5fd0: 0a 20 20 20 20 20 20 74 68 69 73 20 77 61 79 2c  .      this way,
5fe0: 20 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65   but the impleme
5ff0: 6e 74 61 74 69 6f 6e 20 77 61 73 6e 27 74 20 63  ntation wasn't c
6000: 6f 72 72 65 63 74 29 2e 0a 20 20 20 20 2d 20 49  orrect)..    - I
6010: 66 20 61 20 70 72 6f 63 65 73 73 20 72 65 74 75  f a process retu
6020: 72 6e 73 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65  rns a non-zero e
6030: 78 69 74 20 73 74 61 74 75 73 20 62 75 74 20 64  xit status but d
6040: 6f 65 73 6e 27 74 20 67 65 6e 65 72 61 74 65 0a  oesn't generate.
6050: 20 20 20 20 20 20 61 6e 79 20 64 69 61 67 6e 6f        any diagno
6060: 73 74 69 63 20 6f 75 74 70 75 74 2c 20 74 68 65  stic output, the
6070: 6e 20 54 63 6c 20 67 65 6e 65 72 61 74 65 73 20  n Tcl generates 
6080: 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65  an error message
6090: 20 66 6f 72 20 69 74 2e 0a 2a 2a 2a 20 50 4f 54   for it..*** POT
60a0: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
60b0: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 31 2e  BILITY ***..161.
60c0: 20 32 2f 32 35 2f 39 33 20 46 69 78 65 64 20 74   2/25/93 Fixed t
60d0: 77 6f 20 6d 65 6d 6f 72 79 2d 6d 61 6e 61 67 65  wo memory-manage
60e0: 6d 65 6e 74 20 70 72 6f 62 6c 65 6d 73 20 68 61  ment problems ha
60f0: 76 69 6e 67 20 74 6f 20 64 6f 20 77 69 74 68 0a  ving to do with.
6100: 6d 61 6e 61 67 69 6e 67 20 74 68 65 20 6f 6c 64  managing the old
6110: 20 72 65 73 75 6c 74 20 64 75 72 69 6e 67 20 76   result during v
6120: 61 72 69 61 62 6c 65 20 74 72 61 63 65 20 63 61  ariable trace ca
6130: 6c 6c 62 61 63 6b 73 2e 0a 0a 31 36 32 2e 20 33  llbacks...162. 3
6140: 2f 31 2f 39 33 20 41 64 64 65 64 20 64 79 6e 61  /1/93 Added dyna
6150: 6d 69 63 20 73 74 72 69 6e 67 20 6c 69 62 72 61  mic string libra
6160: 72 79 3a 20 20 54 63 6c 5f 44 53 74 72 69 6e 67  ry:  Tcl_DString
6170: 49 6e 69 74 2c 20 54 63 6c 5f 44 53 74 72 69 6e  Init, Tcl_DStrin
6180: 67 41 70 70 65 6e 64 2c 0a 54 63 6c 5f 44 53 74  gAppend,.Tcl_DSt
6190: 72 69 6e 67 46 72 65 65 2c 20 54 63 6c 5f 44 53  ringFree, Tcl_DS
61a0: 74 72 69 6e 67 52 65 73 75 6c 74 2c 20 65 74 63  tringResult, etc
61b0: 2e 0a 0a 31 36 33 2e 20 33 2f 31 2f 39 33 20 4d  ...163. 3/1/93 M
61c0: 6f 64 69 66 69 65 64 20 67 6c 6f 62 20 63 6f 6d  odified glob com
61d0: 6d 61 6e 64 20 74 6f 20 6f 6e 6c 79 20 72 65 74  mand to only ret
61e0: 75 72 6e 20 74 68 65 20 6e 61 6d 65 73 20 6f 66  urn the names of
61f0: 20 66 69 6c 65 73 20 74 68 61 74 0a 65 78 69 73   files that.exis
6200: 74 2c 20 61 6e 64 20 74 6f 20 6f 6e 6c 79 20 72  t, and to only r
6210: 65 74 75 72 6e 20 6e 61 6d 65 73 20 65 6e 64 69  eturn names endi
6220: 6e 67 20 69 6e 20 22 2f 22 20 69 66 20 74 68 65  ng in "/" if the
6230: 20 66 69 6c 65 20 69 73 20 61 20 64 69 72 65 63   file is a direc
6240: 74 6f 72 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  tory..*** POTENT
6250: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
6260: 49 54 59 20 2a 2a 2a 0a 0a 31 36 34 2e 20 33 2f  ITY ***..164. 3/
6270: 31 39 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 6e  19/93 Modified n
6280: 6f 74 20 74 6f 20 75 73 65 20 73 79 73 74 65 6d  ot to use system
6290: 20 63 61 6c 6c 73 20 6c 69 6b 65 20 22 72 65 61   calls like "rea
62a0: 64 22 20 64 69 72 65 63 74 6c 79 2c 0a 62 75 74  d" directly,.but
62b0: 20 69 6e 73 74 65 61 64 20 74 6f 20 75 73 65 20   instead to use 
62c0: 73 70 65 63 69 61 6c 20 54 63 6c 20 70 72 6f 63  special Tcl proc
62d0: 65 64 75 72 65 73 20 74 68 61 74 20 72 65 74 72  edures that retr
62e0: 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a  y automatically.
62f0: 69 66 20 69 6e 74 65 72 72 75 70 74 65 64 20 62  if interrupted b
6300: 79 20 73 69 67 6e 61 6c 73 2e 0a 0a 31 36 35 2e  y signals...165.
6310: 20 34 2f 33 2f 39 33 20 45 6c 69 6d 69 6e 61 74   4/3/93 Eliminat
6320: 65 64 20 22 6e 6f 53 65 70 22 20 61 72 67 75 6d  ed "noSep" argum
6330: 65 6e 74 20 74 6f 20 54 63 6c 5f 41 70 70 65 6e  ent to Tcl_Appen
6340: 64 45 6c 65 6d 65 6e 74 2c 20 70 6c 75 73 0a 54  dElement, plus.T
6350: 43 4c 5f 4e 4f 5f 53 50 41 43 45 20 66 6c 61 67  CL_NO_SPACE flag
6360: 20 66 6f 72 20 54 63 6c 5f 53 65 74 56 61 72 20   for Tcl_SetVar 
6370: 61 6e 64 20 54 63 6c 5f 53 65 74 56 61 72 32 2e  and Tcl_SetVar2.
6380: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
6390: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
63a0: 2a 2a 0a 0a 31 36 36 2e 20 34 2f 33 2f 39 33 20  **..166. 4/3/93 
63b0: 45 6c 69 6d 69 6e 61 74 65 64 20 22 66 6c 61 67  Eliminated "flag
63c0: 73 22 20 61 6e 64 20 22 74 65 72 6d 50 74 72 22  s" and "termPtr"
63d0: 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 54 63   arguments to Tc
63e0: 6c 5f 45 76 61 6c 2e 0a 2a 2a 2a 20 50 4f 54 45  l_Eval..*** POTE
63f0: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
6400: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 37 2e 20  ILITY ***..167. 
6410: 34 2f 33 2f 39 33 20 43 68 61 6e 67 65 73 20 74  4/3/93 Changes t
6420: 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 3a 0a 20  o expressions:. 
6430: 20 20 20 2d 20 54 68 65 20 22 65 78 70 72 22 20     - The "expr" 
6440: 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20 61 63 63 65  command now acce
6450: 70 74 73 20 6d 75 6c 74 69 70 6c 65 20 61 72 67  pts multiple arg
6460: 75 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72  uments, which ar
6470: 65 0a 20 20 20 20 20 20 63 6f 6e 63 61 74 65 6e  e.      concaten
6480: 61 74 65 64 20 74 6f 67 65 74 68 65 72 20 77 69  ated together wi
6490: 74 68 20 73 70 61 63 65 20 73 65 70 61 72 61 74  th space separat
64a0: 6f 72 73 2e 0a 20 20 20 20 2d 20 49 6e 74 65 67  ors..    - Integ
64b0: 65 72 73 20 61 72 65 6e 27 74 20 61 75 74 6f 6d  ers aren't autom
64c0: 61 74 69 63 61 6c 6c 79 20 70 72 6f 6d 6f 74 65  atically promote
64d0: 64 20 74 6f 20 66 6c 6f 61 74 69 6e 67 2d 70 6f  d to floating-po
64e0: 69 6e 74 20 69 66 20 74 68 65 79 0a 20 20 20 20  int if they.    
64f0: 20 20 6f 76 65 72 66 6c 6f 77 20 74 68 65 20 77    overflow the w
6500: 6f 72 64 20 73 69 7a 65 3a 20 20 65 72 72 6f 72  ord size:  error
6510: 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20  s are generated 
6520: 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 2d 20 54  instead..    - T
6530: 63 6c 20 63 61 6e 20 6e 6f 77 20 68 61 6e 64 6c  cl can now handl
6540: 65 20 22 4e 61 4e 22 20 61 6e 64 20 6f 74 68 65  e "NaN" and othe
6550: 72 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73  r special values
6560: 20 69 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69   if the underlyi
6570: 6e 67 0a 20 20 20 20 20 20 6c 69 62 72 61 72 79  ng.      library
6580: 20 70 72 6f 63 65 64 75 72 65 73 20 68 61 6e 64   procedures hand
6590: 6c 65 20 74 68 65 6d 2e 0a 20 20 20 20 2d 20 57  le them..    - W
65a0: 68 65 6e 20 70 72 69 6e 74 69 6e 67 20 66 6c 6f  hen printing flo
65b0: 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62  ating-point numb
65c0: 65 72 73 2c 20 54 63 6c 20 65 6e 73 75 72 65 73  ers, Tcl ensures
65d0: 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 61   that there is a
65e0: 20 22 2e 22 0a 20 20 20 20 20 20 6f 72 20 22 65   ".".      or "e
65f0: 22 20 69 6e 20 74 68 65 20 6e 75 6d 62 65 72 2c  " in the number,
6600: 20 73 6f 20 69 74 20 63 61 6e 27 74 20 62 65 20   so it can't be 
6610: 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 69 6e  treated as an in
6620: 74 65 67 65 72 20 61 63 63 69 64 65 6e 74 61 6c  teger accidental
6630: 6c 79 2e 0a 20 20 20 20 20 20 54 68 65 20 70 72  ly..      The pr
6640: 6f 63 65 64 75 72 65 20 54 63 6c 5f 50 72 69 6e  ocedure Tcl_Prin
6650: 74 44 6f 75 62 6c 65 20 69 73 20 61 76 61 69 6c  tDouble is avail
6660: 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20  able to provide 
6670: 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20  this function.  
6680: 20 20 20 20 69 6e 20 6f 74 68 65 72 20 63 6f 6e      in other con
6690: 74 65 78 74 73 2e 20 20 41 6c 73 6f 2c 20 74 68  texts.  Also, th
66a0: 65 20 76 61 72 69 61 62 6c 65 20 22 74 63 6c 5f  e variable "tcl_
66b0: 70 72 65 63 69 73 69 6f 6e 22 20 63 61 6e 20 62  precision" can b
66c0: 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20  e used.      to 
66d0: 73 65 74 20 74 68 65 20 70 72 65 63 69 73 69 6f  set the precisio
66e0: 6e 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 28  n for printing (
66f0: 6d 75 73 74 20 62 65 20 61 20 64 65 63 69 6d 61  must be a decima
6700: 6c 20 6e 75 6d 62 65 72 20 67 69 76 69 6e 67 0a  l number giving.
6710: 20 20 20 20 20 20 64 69 67 69 74 73 20 6f 66 20        digits of 
6720: 70 72 65 63 69 73 69 6f 6e 29 2e 0a 20 20 20 20  precision)..    
6730: 2d 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6e 6f  - Expressions no
6740: 77 20 73 75 70 70 6f 72 74 20 74 72 61 6e 73 63  w support transc
6750: 65 6e 64 65 6e 74 61 6c 20 61 6e 64 20 6f 74 68  endental and oth
6760: 65 72 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65 2e  er functions, e.
6770: 67 2e 20 73 69 6e 2c 0a 20 20 20 20 20 20 61 63  g. sin,.      ac
6780: 6f 73 2c 20 68 79 70 6f 74 2c 20 63 65 69 6c 2c  os, hypot, ceil,
6790: 20 61 6e 64 20 72 6f 75 6e 64 2e 20 20 43 61 6e   and round.  Can
67a0: 20 61 64 64 20 6e 65 77 20 6d 61 74 68 20 66 75   add new math fu
67b0: 6e 63 74 69 6f 6e 73 20 77 69 74 68 0a 20 20 20  nctions with.   
67c0: 20 20 20 54 63 6c 5f 43 72 65 61 74 65 4d 61 74     Tcl_CreateMat
67d0: 68 46 75 6e 63 28 29 2e 0a 20 20 20 20 2d 20 42  hFunc()..    - B
67e0: 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f  oolean expressio
67f0: 6e 73 20 63 61 6e 20 6e 6f 77 20 68 61 76 65 20  ns can now have 
6800: 61 6e 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e  any of the strin
6810: 67 20 76 61 6c 75 65 73 20 61 63 63 65 70 74 65  g values accepte
6820: 64 0a 20 20 20 20 20 20 62 79 20 54 63 6c 5f 47  d.      by Tcl_G
6830: 65 74 42 6f 6f 6c 65 61 6e 2c 20 73 75 63 68 20  etBoolean, such 
6840: 61 73 20 22 79 65 73 22 20 6f 72 20 22 6e 6f 22  as "yes" or "no"
6850: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
6860: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
6870: 2a 2a 2a 0a 0a 31 36 38 2e 20 34 2f 35 2f 39 33  ***..168. 4/5/93
6880: 20 43 68 61 6e 67 65 64 20 54 63 6c 5f 55 6e 73   Changed Tcl_Uns
6890: 65 74 56 61 72 20 61 6e 64 20 54 63 6c 5f 55 6e  etVar and Tcl_Un
68a0: 73 65 74 56 61 72 32 20 74 6f 20 72 65 74 75 72  setVar2 to retur
68b0: 6e 20 54 43 4c 5f 4f 4b 0a 6f 72 20 54 43 4c 5f  n TCL_OK.or TCL_
68c0: 45 52 52 4f 52 20 69 6e 73 74 65 61 64 20 6f 66  ERROR instead of
68d0: 20 30 20 6f 72 20 2d 31 2e 0a 2a 2a 2a 20 50 4f   0 or -1..*** PO
68e0: 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
68f0: 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 39  IBILITY ***..169
6900: 2e 20 34 2f 35 2f 39 33 20 45 6c 69 6d 69 6e 61  . 4/5/93 Elimina
6910: 74 65 64 20 54 63 6c 5f 43 6d 64 42 75 66 20 73  ted Tcl_CmdBuf s
6920: 74 72 75 63 74 75 72 65 20 61 6e 64 20 61 73 73  tructure and ass
6930: 6f 63 69 61 74 65 64 20 70 72 6f 63 65 64 75 72  ociated procedur
6940: 65 73 3b 0a 63 61 6e 20 75 73 65 20 54 63 6c 5f  es;.can use Tcl_
6950: 44 53 74 72 69 6e 67 73 20 69 6e 73 74 65 61 64  DStrings instead
6960: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
6970: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
6980: 2a 2a 2a 0a 0a 31 37 30 2e 20 34 2f 38 2f 39 33  ***..170. 4/8/93
6990: 20 43 68 61 6e 67 65 64 20 69 6e 74 65 72 66 61   Changed interfa
69a0: 63 65 20 74 6f 20 54 63 6c 5f 54 69 6c 64 65 53  ce to Tcl_TildeS
69b0: 75 62 73 74 20 74 6f 20 75 73 65 20 61 20 64 79  ubst to use a dy
69c0: 6e 61 6d 69 63 0a 73 74 72 69 6e 67 20 66 6f 72  namic.string for
69d0: 20 62 75 66 66 65 72 20 73 70 61 63 65 2e 20 20   buffer space.  
69e0: 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 70  This makes the p
69f0: 72 6f 63 65 64 75 72 65 20 72 65 2d 65 6e 74 72  rocedure re-entr
6a00: 61 6e 74 20 61 6e 64 0a 74 68 72 65 61 64 2d 73  ant and.thread-s
6a10: 61 66 65 2c 20 77 68 65 72 65 61 73 20 69 74 20  afe, whereas it 
6a20: 77 61 73 6e 27 74 20 62 65 66 6f 72 65 2e 0a 2a  wasn't before..*
6a30: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
6a40: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
6a50: 0a 0a 31 37 31 2e 20 34 2f 31 34 2f 39 33 20 45  ..171. 4/14/93 E
6a60: 6c 69 6d 69 6e 61 74 65 64 20 74 63 6c 48 61 73  liminated tclHas
6a70: 68 2e 68 2c 20 61 6e 64 20 6d 6f 76 65 64 20 65  h.h, and moved e
6a80: 76 65 72 79 74 68 69 6e 67 20 66 72 6f 6d 20 69  verything from i
6a90: 74 20 74 6f 0a 74 63 6c 2e 68 0a 2a 2a 2a 20 50  t to.tcl.h.*** P
6aa0: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
6ab0: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 37  TIBILITY ***..17
6ac0: 32 2e 20 34 2f 31 35 2f 39 33 20 45 6c 69 6d 69  2. 4/15/93 Elimi
6ad0: 6e 61 74 65 64 20 54 63 6c 5f 49 6e 69 74 48 69  nated Tcl_InitHi
6ae0: 73 74 6f 72 79 2c 20 6d 61 64 65 20 22 68 69 73  story, made "his
6af0: 74 6f 72 79 22 20 63 6f 6d 6d 61 6e 64 20 61 6c  tory" command al
6b00: 77 61 79 73 0a 62 65 20 70 61 72 74 20 6f 66 20  ways.be part of 
6b10: 69 6e 74 65 72 70 72 65 74 65 72 2e 0a 2a 2a 2a  interpreter..***
6b20: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
6b30: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
6b40: 31 37 33 2e 20 34 2f 31 36 2f 39 33 20 4d 6f 64  173. 4/16/93 Mod
6b50: 69 66 69 65 64 20 22 66 69 6c 65 22 20 63 6f 6d  ified "file" com
6b60: 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 22 72 65  mand so that "re
6b70: 61 64 61 62 6c 65 22 20 6f 70 74 69 6f 6e 20 61  adable" option a
6b80: 6c 77 61 79 73 0a 65 78 69 73 74 73 2c 20 65 76  lways.exists, ev
6b90: 65 6e 20 6f 6e 20 6d 61 63 68 69 6e 65 73 20 74  en on machines t
6ba0: 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f 72  hat don't suppor
6bb0: 74 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73  t symbolic links
6bc0: 20 28 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73   (always returns
6bd0: 0a 73 61 6d 65 20 65 72 72 6f 72 20 61 73 20 69  .same error as i
6be0: 66 20 74 68 65 20 66 69 6c 65 20 77 61 73 6e 27  f the file wasn'
6bf0: 74 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e  t a symbolic lin
6c00: 6b 29 2e 0a 0a 31 37 34 2e 20 34 2f 32 36 2f 39  k)...174. 4/26/9
6c10: 33 20 46 69 78 65 64 20 62 75 67 73 20 69 6e 20  3 Fixed bugs in 
6c20: 22 72 65 67 73 75 62 22 20 77 68 65 72 65 20 5e  "regsub" where ^
6c30: 20 70 61 74 74 65 72 6e 73 20 64 69 64 6e 27 74   patterns didn't
6c40: 20 67 65 74 20 68 61 6e 64 6c 65 64 0a 72 69 67   get handled.rig
6c50: 68 74 20 28 70 72 65 74 65 6e 64 65 64 20 6e 6f  ht (pretended no
6c60: 74 20 74 6f 20 6d 61 74 63 68 20 77 68 65 6e 20  t to match when 
6c70: 69 74 20 72 65 61 6c 6c 79 20 64 69 64 2c 20 61  it really did, a
6c80: 6e 64 20 6c 6f 6f 70 65 64 20 69 6e 66 69 6e 69  nd looped infini
6c90: 74 65 6c 79 0a 69 66 20 2d 61 6c 6c 20 77 61 73  tely.if -all was
6ca0: 20 73 70 65 63 69 66 69 65 64 29 2e 0a 0a 31 37   specified)...17
6cb0: 35 2e 20 34 2f 32 39 2f 39 33 20 56 61 72 69 6f  5. 4/29/93 Vario
6cc0: 75 73 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20  us improvements 
6cd0: 69 6e 20 74 68 65 20 68 61 6e 64 6c 69 6e 67 20  in the handling 
6ce0: 6f 66 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 20  of variables:.  
6cf0: 20 20 2d 20 43 61 6e 20 63 72 65 61 74 65 20 76    - Can create v
6d00: 61 72 69 61 62 6c 65 73 20 61 6e 64 20 61 72 72  ariables and arr
6d10: 61 79 20 65 6c 65 6d 65 6e 74 73 20 64 75 72 69  ay elements duri
6d20: 6e 67 20 61 20 72 65 61 64 20 74 72 61 63 65 2e  ng a read trace.
6d30: 0a 20 20 20 20 2d 20 43 61 6e 20 64 65 6c 65 74  .    - Can delet
6d40: 65 20 76 61 72 69 61 62 6c 65 73 20 64 75 72 69  e variables duri
6d50: 6e 67 20 74 72 61 63 65 73 20 28 6e 6f 74 65 3a  ng traces (note:
6d60: 20 75 6e 73 65 74 20 74 72 61 63 65 73 20 77 69   unset traces wi
6d70: 6c 6c 20 62 65 0a 20 20 20 20 20 20 69 6e 76 6f  ll be.      invo
6d80: 6b 65 64 20 77 68 65 6e 20 74 68 69 73 20 68 61  ked when this ha
6d90: 70 70 65 6e 73 29 2e 0a 20 20 20 20 2d 20 43 61  ppens)..    - Ca
6da0: 6e 20 75 70 76 61 72 20 74 6f 20 61 72 72 61 79  n upvar to array
6db0: 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 2d   elements..    -
6dc0: 20 43 61 6e 20 72 65 74 61 72 67 65 74 20 61 6e   Can retarget an
6dd0: 20 75 70 76 61 72 20 74 6f 20 61 6e 6f 74 68 65   upvar to anothe
6de0: 72 20 76 61 72 69 61 62 6c 65 20 62 79 20 72 65  r variable by re
6df0: 2d 69 73 73 75 69 6e 67 20 74 68 65 0a 20 20 20  -issuing the.   
6e00: 20 20 20 75 70 76 61 72 20 63 6f 6d 6d 61 6e 64     upvar command
6e10: 20 77 69 74 68 20 61 20 64 69 66 66 65 72 65 6e   with a differen
6e20: 74 20 22 6f 74 68 65 72 22 20 76 61 72 69 61 62  t "other" variab
6e30: 6c 65 2e 0a 0a 31 37 36 2e 20 35 2f 33 2f 39 33  le...176. 5/3/93
6e40: 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74 43 6f   Added Tcl_GetCo
6e50: 6d 6d 61 6e 64 49 6e 66 6f 2c 20 77 68 69 63 68  mmandInfo, which
6e60: 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 20 61 62   returns info ab
6e70: 6f 75 74 20 61 20 54 63 6c 0a 63 6f 6d 6d 61 6e  out a Tcl.comman
6e80: 64 20 73 75 63 68 20 61 73 20 77 68 65 74 68 65  d such as whethe
6e90: 72 20 69 74 20 65 78 69 73 74 73 20 61 6e 64 20  r it exists and 
6ea0: 69 74 73 20 43 6c 69 65 6e 74 44 61 74 61 2e 20  its ClientData. 
6eb0: 20 41 6c 73 6f 20 61 64 64 65 64 0a 54 63 6c 5f   Also added.Tcl_
6ec0: 53 65 74 43 6f 6d 6d 61 6e 64 49 6e 66 6f 2c 20  SetCommandInfo, 
6ed0: 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 61 6e 79  which allows any
6ee0: 20 6f 66 20 74 68 69 73 20 69 6e 66 6f 72 6d 61   of this informa
6ef0: 74 69 6f 6e 20 74 6f 20 62 65 20 6d 6f 64 69 66  tion to be modif
6f00: 69 65 64 0a 61 6e 64 20 61 6c 73 6f 20 61 6c 6c  ied.and also all
6f10: 6f 77 73 20 61 20 63 6f 6d 6d 61 6e 64 27 73 20  ows a command's 
6f20: 64 65 6c 65 74 65 20 70 72 6f 63 65 64 75 72 65  delete procedure
6f30: 20 74 6f 20 68 61 76 65 20 61 20 64 69 66 66 65   to have a diffe
6f40: 72 65 6e 74 0a 43 6c 69 65 6e 74 44 61 74 61 20  rent.ClientData 
6f50: 76 61 6c 75 65 20 74 68 61 6e 20 69 74 73 20 63  value than its c
6f60: 6f 6d 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65  ommand procedure
6f70: 2e 0a 0a 31 37 37 2e 20 35 2f 35 2f 39 33 20 41  ...177. 5/5/93 A
6f80: 64 64 65 64 20 54 63 6c 5f 52 65 67 45 78 70 4d  dded Tcl_RegExpM
6f90: 61 74 63 68 20 70 72 6f 63 65 64 75 72 65 2e 0a  atch procedure..
6fa0: 0a 31 37 38 2e 20 35 2f 36 2f 39 33 20 46 69 78  .178. 5/6/93 Fix
6fb0: 65 64 20 62 75 67 20 69 6e 20 22 73 63 61 6e 22  ed bug in "scan"
6fc0: 20 77 68 65 72 65 20 69 74 20 64 69 64 6e 27 74   where it didn't
6fd0: 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65   properly handle
6fe0: 0a 25 25 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73  .%% conversion s
6ff0: 70 65 63 69 66 69 65 72 73 2e 20 20 41 6c 73 6f  pecifiers.  Also
7000: 20 63 68 61 6e 67 65 64 20 22 73 63 61 6e 22 20   changed "scan" 
7010: 74 6f 20 75 73 65 20 54 63 6c 5f 50 72 69 6e 74  to use Tcl_Print
7020: 44 6f 75 62 6c 65 0a 66 6f 72 20 70 72 69 6e 74  Double.for print
7030: 69 6e 67 20 72 65 61 6c 20 76 61 6c 75 65 73 2e  ing real values.
7040: 0a 0a 31 37 39 2e 20 35 2f 37 2f 39 33 20 41 64  ..179. 5/7/93 Ad
7050: 64 65 64 20 22 2d 65 78 61 63 74 22 2c 20 22 2d  ded "-exact", "-
7060: 67 6c 6f 62 22 2c 20 61 6e 64 20 22 2d 72 65 67  glob", and "-reg
7070: 65 78 70 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20  exp" options to 
7080: 22 6c 73 65 61 72 63 68 22 0a 63 6f 6d 6d 61 6e  "lsearch".comman
7090: 64 20 74 6f 20 61 6c 6c 6f 77 20 64 69 66 66 65  d to allow diffe
70a0: 72 65 6e 74 20 6b 69 6e 64 73 20 6f 66 20 70 61  rent kinds of pa
70b0: 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67 2e 0a  ttern matching..
70c0: 0a 31 38 30 2e 20 35 2f 37 2f 39 33 20 41 64 64  .180. 5/7/93 Add
70d0: 65 64 20 6d 61 6e 79 20 6e 65 77 20 73 77 69 74  ed many new swit
70e0: 63 68 65 73 20 74 6f 20 22 6c 73 6f 72 74 22 20  ches to "lsort" 
70f0: 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 73  to control the s
7100: 6f 72 74 69 6e 67 0a 70 72 6f 63 65 73 73 3a 20  orting.process: 
7110: 22 2d 61 73 63 69 69 22 2c 20 22 2d 69 6e 74 65  "-ascii", "-inte
7120: 67 65 72 22 2c 20 22 2d 72 65 61 6c 22 2c 20 22  ger", "-real", "
7130: 2d 63 6f 6d 6d 61 6e 64 22 2c 20 22 2d 69 6e 63  -command", "-inc
7140: 72 65 61 73 69 6e 67 22 2c 0a 61 6e 64 20 22 2d  reasing",.and "-
7150: 64 65 63 72 65 61 73 69 6e 67 22 2e 0a 0a 31 38  decreasing"...18
7160: 31 2e 20 35 2f 31 30 2f 39 33 20 43 68 61 6e 67  1. 5/10/93 Chang
7170: 65 73 20 74 6f 20 66 69 6c 65 20 49 2f 4f 3a 0a  es to file I/O:.
7180: 20 20 20 20 2d 20 4d 6f 64 69 66 69 65 64 20 22      - Modified "
7190: 6f 70 65 6e 22 20 63 6f 6d 6d 61 6e 64 20 74 6f  open" command to
71a0: 20 73 75 70 70 6f 72 74 20 61 20 6c 69 73 74 20   support a list 
71b0: 6f 66 20 50 4f 53 49 58 20 61 63 63 65 73 73 20  of POSIX access 
71c0: 66 6c 61 67 73 0a 20 20 20 20 20 20 6c 69 6b 65  flags.      like
71d0: 20 7b 57 52 4f 4e 4c 59 20 43 52 45 41 54 20 54   {WRONLY CREAT T
71e0: 52 55 4e 43 7d 20 69 6e 20 61 64 64 69 74 69 6f  RUNC} in additio
71f0: 6e 20 74 6f 20 63 75 72 72 65 6e 74 20 66 6f 70  n to current fop
7200: 65 6e 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 61  en-style.      a
7210: 63 63 65 73 73 20 6d 6f 64 65 73 2e 20 20 41 6c  ccess modes.  Al
7220: 73 6f 20 61 64 64 65 64 20 22 70 65 72 6d 69 73  so added "permis
7230: 73 69 6f 6e 73 22 20 61 72 67 75 6d 65 6e 74 20  sions" argument 
7240: 74 6f 20 73 65 74 20 70 65 72 6d 69 73 73 69 6f  to set permissio
7250: 6e 73 0a 20 20 20 20 20 20 6f 66 20 6e 65 77 6c  ns.      of newl
7260: 79 2d 63 72 65 61 74 65 64 20 66 69 6c 65 73 2e  y-created files.
7270: 0a 20 20 20 20 2d 20 46 69 78 65 64 20 53 63 6f  .    - Fixed Sco
7280: 74 74 20 42 6f 6c 74 65 27 73 20 62 75 67 20 28  tt Bolte's bug (
7290: 63 61 6e 20 63 6c 6f 73 65 20 73 74 64 69 6e 20  can close stdin 
72a0: 65 74 63 2e 20 69 6e 20 61 70 70 6c 69 63 61 74  etc. in applicat
72b0: 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 74 68  ion and.      th
72c0: 65 6e 20 72 65 2d 6f 70 65 6e 20 74 68 65 6d 20  en re-open them 
72d0: 77 69 74 68 20 54 63 6c 20 63 6f 6d 6d 61 6e 64  with Tcl command
72e0: 73 29 2e 0a 20 20 20 20 2d 20 45 78 70 6f 72 74  s)..    - Export
72f0: 65 64 20 61 63 63 65 73 73 20 74 6f 20 54 63 6c  ed access to Tcl
7300: 27 73 20 66 69 6c 65 20 74 61 62 6c 65 20 77 69  's file table wi
7310: 74 68 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65  th new procedure
7320: 73 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65 0a  s Tcl_EnterFile.
7330: 20 20 20 20 20 20 61 6e 64 20 54 63 6c 5f 47 65        and Tcl_Ge
7340: 74 4f 70 65 6e 46 69 6c 65 2e 0a 0a 31 38 32 2e  tOpenFile...182.
7350: 20 35 2f 31 35 2f 39 33 20 41 64 64 65 64 20 6e   5/15/93 Added n
7360: 65 77 20 22 70 69 64 22 20 63 6f 6d 6d 61 6e 64  ew "pid" command
7370: 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75  , which can be u
7380: 73 65 64 20 74 6f 20 72 65 74 72 69 65 76 65 0a  sed to retrieve.
7390: 65 69 74 68 65 72 20 74 68 65 20 63 75 72 72 65  either the curre
73a0: 6e 74 20 70 72 6f 63 65 73 73 20 69 64 20 6f 72  nt process id or
73b0: 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 70   a list of the p
73c0: 72 6f 63 65 73 73 20 69 64 73 20 69 6e 20 61 0a  rocess ids in a.
73d0: 70 69 70 65 6c 69 6e 65 20 6f 70 65 6e 65 64 20  pipeline opened 
73e0: 77 69 74 68 20 22 6f 70 65 6e 20 7c 2e 2e 2e 22  with "open |..."
73f0: 0a 0a 31 38 33 2e 20 36 2f 33 2f 39 33 20 43 68  ..183. 6/3/93 Ch
7400: 61 6e 67 65 64 20 74 6f 20 75 73 65 20 47 4e 55  anged to use GNU
7410: 20 61 75 74 6f 63 6f 6e 66 69 67 20 66 6f 72 20   autoconfig for 
7420: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6e  configuration in
7430: 73 74 65 61 64 20 6f 66 0a 74 68 65 20 68 6f 6d  stead of.the hom
7440: 65 2d 62 72 65 77 20 22 63 6f 6e 66 69 67 22 20  e-brew "config" 
7450: 73 63 72 69 70 74 2e 20 20 41 6c 73 6f 20 6d 61  script.  Also ma
7460: 64 65 20 6d 61 6e 79 20 6f 74 68 65 72 20 63 6f  de many other co
7470: 6e 66 69 67 75 72 61 74 69 6f 6e 2d 72 65 6c 61  nfiguration-rela
7480: 74 65 64 0a 63 68 61 6e 67 65 73 2c 20 73 75 63  ted.changes, suc
7490: 68 20 61 73 20 75 73 69 6e 67 20 3c 75 6e 69 73  h as using <unis
74a0: 74 64 2e 68 3e 20 69 6e 73 74 65 61 64 20 6f 66  td.h> instead of
74b0: 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c   explicitly decl
74c0: 61 72 69 6e 67 20 73 79 73 74 65 6d 0a 63 61 6c  aring system.cal
74d0: 6c 73 20 69 6e 20 74 63 6c 55 6e 69 78 2e 68 2e  ls in tclUnix.h.
74e0: 0a 0a 31 38 34 2e 20 36 2f 34 2f 39 33 20 46 69  ..184. 6/4/93 Fi
74f0: 78 65 64 20 62 75 67 20 77 68 65 72 65 20 63 6f  xed bug where co
7500: 72 65 2d 64 75 6d 70 73 20 63 6f 75 6c 64 20 6f  re-dumps could o
7510: 63 63 75 72 20 69 66 20 61 20 70 72 6f 63 65 64  ccur if a proced
7520: 75 72 65 0a 72 65 64 65 66 69 6e 65 64 20 69 74  ure.redefined it
7530: 73 65 6c 66 20 28 74 68 65 20 6d 65 6d 6f 72 79  self (the memory
7540: 20 66 6f 72 20 74 68 65 20 70 72 6f 63 65 64 75   for the procedu
7550: 72 65 27 73 20 62 6f 64 79 20 63 6f 75 6c 64 20  re's body could 
7560: 67 65 74 0a 72 65 61 6c 6c 6f 63 61 74 65 64 20  get.reallocated 
7570: 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66  in the middle of
7580: 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20   evaluating the 
7590: 62 6f 64 79 29 3b 20 20 69 6d 70 6c 65 6d 65 6e  body);  implemen
75a0: 74 65 64 0a 73 69 6d 70 6c 65 20 72 65 66 65 72  ted.simple refer
75b0: 65 6e 63 65 20 63 6f 75 6e 74 20 6d 65 63 68 61  ence count mecha
75c0: 6e 69 73 6d 2e 0a 0a 31 38 35 2e 20 36 2f 35 2f  nism...185. 6/5/
75d0: 39 33 20 43 68 61 6e 67 65 64 20 74 63 6c 49 6e  93 Changed tclIn
75e0: 64 65 78 20 66 69 6c 65 20 66 6f 72 6d 61 74 20  dex file format 
75f0: 69 6e 20 74 77 6f 20 77 61 79 73 3a 20 20 28 61  in two ways:  (a
7600: 29 20 69 74 27 73 20 6e 6f 77 0a 65 76 61 6c 2d  ) it's now.eval-
7610: 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 70 61  ed instead of pa
7620: 72 73 65 64 2c 20 77 68 69 63 68 20 6d 61 6b 65  rsed, which make
7630: 73 20 69 74 20 33 2d 34 78 20 66 61 73 74 65 72  s it 3-4x faster
7640: 3b 20 28 62 29 20 74 68 65 20 65 6e 74 72 69 65  ; (b) the entrie
7650: 73 0a 69 6e 20 61 75 74 6f 5f 69 6e 64 65 78 20  s.in auto_index 
7660: 61 72 65 20 6e 6f 77 20 63 6f 6d 6d 61 6e 64 73  are now commands
7670: 20 74 6f 20 65 76 61 6c 75 61 74 65 2c 20 77 68   to evaluate, wh
7680: 69 63 68 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d 61  ich allows comma
7690: 6e 64 73 20 74 6f 0a 62 65 20 6c 6f 61 64 65 64  nds to.be loaded
76a0: 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77 61   in different wa
76b0: 79 73 20 73 75 63 68 20 61 73 20 64 79 6e 61 6d  ys such as dynam
76c0: 69 63 2d 6c 6f 61 64 69 6e 67 20 6f 66 20 43 20  ic-loading of C 
76d0: 63 6f 64 65 2e 20 20 54 68 65 0a 6f 6c 64 20 74  code.  The.old t
76e0: 63 6c 49 6e 64 65 78 20 66 69 6c 65 20 66 6f 72  clIndex file for
76f0: 6d 61 74 20 69 73 20 73 74 69 6c 6c 20 73 75 70  mat is still sup
7700: 70 6f 72 74 65 64 2e 0a 0a 31 38 36 2e 20 36 2f  ported...186. 6/
7710: 37 2f 39 33 20 45 6c 69 6d 69 6e 61 74 65 64 20  7/93 Eliminated 
7720: 74 63 6c 54 65 73 74 20 70 72 6f 67 72 61 6d 2c  tclTest program,
7730: 20 61 64 64 65 64 20 6e 65 77 20 22 74 63 6c 73   added new "tcls
7740: 68 22 20 70 72 6f 67 72 61 6d 0a 74 68 61 74 20  h" program.that 
7750: 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 77 69 73  is more like wis
7760: 68 20 28 61 6c 6c 6f 77 73 20 73 63 72 69 70 74  h (allows script
7770: 20 66 69 6c 65 73 20 74 6f 20 62 65 20 69 6e 76   files to be inv
7780: 6f 6b 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c  oked automatical
7790: 6c 79 0a 75 73 69 6e 67 20 22 23 21 2f 75 73 72  ly.using "#!/usr
77a0: 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 74 63 6c 73 68  /local/bin/tclsh
77b0: 22 2c 20 6d 61 6b 65 73 20 61 72 67 75 6d 65 6e  ", makes argumen
77c0: 74 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20  ts available to 
77d0: 73 63 72 69 70 74 2c 0a 65 74 63 2e 29 2e 20 20  script,.etc.).  
77e0: 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
77f0: 72 20 54 63 6c 5f 41 70 70 49 6e 69 74 20 70 6c  r Tcl_AppInit pl
7800: 75 73 20 64 65 66 61 75 6c 74 20 76 65 72 73 69  us default versi
7810: 6f 6e 3b 20 20 74 68 69 73 0a 61 6c 6c 6f 77 73  on;  this.allows
7820: 20 6e 65 77 20 54 63 6c 20 61 70 70 6c 69 63 61   new Tcl applica
7830: 74 69 6f 6e 73 20 74 6f 20 62 65 20 63 72 65 61  tions to be crea
7840: 74 65 64 20 77 69 74 68 6f 75 74 20 6d 6f 64 69  ted without modi
7850: 66 79 69 6e 67 20 74 68 65 0a 6d 61 69 6e 20 70  fying the.main p
7860: 72 6f 67 72 61 6d 20 66 6f 72 20 74 63 6c 73 68  rogram for tclsh
7870: 2e 0a 0a 31 38 37 2e 20 36 2f 37 2f 39 33 20 46  ...187. 6/7/93 F
7880: 69 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c 57  ixed bug in TclW
7890: 6f 72 64 45 6e 64 20 74 68 61 74 20 6b 65 70 74  ordEnd that kept
78a0: 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69   backslash-newli
78b0: 6e 65 20 66 72 6f 6d 0a 77 6f 72 6b 69 6e 67 20  ne from.working 
78c0: 63 6f 72 72 65 63 74 6c 79 20 69 6e 20 73 6f 6d  correctly in som
78d0: 65 20 63 61 73 65 73 20 64 75 72 69 6e 67 20 69  e cases during i
78e0: 6e 74 65 72 61 63 74 69 76 65 20 69 6e 70 75 74  nteractive input
78f0: 2e 0a 0a 31 38 38 2e 20 36 2f 39 2f 39 33 20 41  ...188. 6/9/93 A
7900: 64 64 65 64 20 54 63 6c 5f 4c 69 6e 6b 56 61 72  dded Tcl_LinkVar
7910: 20 61 6e 64 20 72 65 6c 61 74 65 64 20 70 72 6f   and related pro
7920: 63 65 64 75 72 65 73 2c 20 77 68 69 63 68 20 61  cedures, which a
7930: 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 6b 65 65  utomatically.kee
7940: 70 20 61 20 54 63 6c 20 76 61 72 69 61 62 6c 65  p a Tcl variable
7950: 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 61 20   in sync with a 
7960: 43 20 76 61 72 69 61 62 6c 65 2e 0a 0a 31 38 39  C variable...189
7970: 2e 20 36 2f 31 36 2f 39 33 20 49 6e 63 72 65 61  . 6/16/93 Increa
7980: 73 65 64 20 6d 61 78 69 6d 75 6d 20 6e 65 73 74  sed maximum nest
7990: 69 6e 67 20 64 65 70 74 68 20 66 72 6f 6d 20 31  ing depth from 1
79a0: 30 30 20 74 6f 20 31 30 30 30 2e 0a 0a 31 39 30  00 to 1000...190
79b0: 2e 20 36 2f 31 36 2f 39 33 20 4d 6f 64 69 66 69  . 6/16/93 Modifi
79c0: 65 64 20 22 74 72 61 63 65 20 76 61 72 22 20 63  ed "trace var" c
79d0: 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 65  ommand so that e
79e0: 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72  rror messages fr
79f0: 6f 6d 0a 77 69 74 68 69 6e 20 74 72 61 63 65 73  om.within traces
7a00: 20 61 72 65 20 72 65 74 75 72 6e 65 64 20 70 72   are returned pr
7a10: 6f 70 65 72 6c 79 20 61 73 20 74 68 65 20 72 65  operly as the re
7a20: 73 75 6c 74 20 6f 66 20 74 68 65 20 76 61 72 69  sult of the vari
7a30: 61 62 6c 65 0a 61 63 63 65 73 73 2c 20 69 6e 73  able.access, ins
7a40: 74 65 61 64 20 6f 66 20 74 68 65 20 67 65 6e 65  tead of the gene
7a50: 72 69 63 20 22 61 63 63 65 73 73 20 64 69 73 61  ric "access disa
7a60: 6c 6c 6f 77 65 64 20 62 79 20 74 72 61 63 65 20  llowed by trace 
7a70: 63 6f 6d 6d 61 6e 64 22 0a 6d 65 73 73 61 67 65  command".message
7a80: 2e 0a 0a 31 39 31 2e 20 36 2f 31 36 2f 39 33 20  ...191. 6/16/93 
7a90: 41 64 64 65 64 20 54 63 6c 5f 43 61 6c 6c 57 68  Added Tcl_CallWh
7aa0: 65 6e 44 65 6c 65 74 65 64 20 74 6f 20 70 72 6f  enDeleted to pro
7ab0: 76 69 64 65 20 63 61 6c 6c 62 61 63 6b 73 20 77  vide callbacks w
7ac0: 68 65 6e 20 61 6e 0a 69 6e 74 65 72 70 72 65 74  hen an.interpret
7ad0: 65 72 20 69 73 20 64 65 6c 65 74 65 64 20 28 73  er is deleted (s
7ae0: 61 6d 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74  ame functionalit
7af0: 79 20 61 73 20 54 63 6c 5f 57 61 74 63 68 49 6e  y as Tcl_WatchIn
7b00: 74 65 72 70 2c 20 77 68 69 63 68 0a 75 73 65 64  terp, which.used
7b10: 20 74 6f 20 65 78 69 73 74 20 69 6e 20 76 65 72   to exist in ver
7b20: 73 69 6f 6e 73 20 62 65 66 6f 72 65 20 36 2e 30  sions before 6.0
7b30: 29 2e 0a 0a 31 39 33 2e 20 36 2f 31 36 2f 39 33  )...193. 6/16/93
7b40: 20 41 64 64 65 64 20 22 2d 63 6f 64 65 22 20 61   Added "-code" a
7b50: 72 67 75 6d 65 6e 74 20 74 6f 20 22 72 65 74 75  rgument to "retu
7b60: 72 6e 22 20 63 6f 6d 6d 61 6e 64 3b 20 20 69 74  rn" command;  it
7b70: 27 73 20 74 68 65 72 65 0a 70 72 69 6d 61 72 69  's there.primari
7b80: 6c 79 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 6e  ly for completen
7b90: 65 73 73 2c 20 73 6f 20 74 68 61 74 20 70 72 6f  ess, so that pro
7ba0: 63 65 64 75 72 65 73 20 69 6d 70 6c 65 6d 65 6e  cedures implemen
7bb0: 74 69 6e 67 20 63 6f 6e 74 72 6f 6c 0a 63 6f 6e  ting control.con
7bc0: 73 74 72 75 63 74 73 20 63 61 6e 20 72 65 66 6c  structs can refl
7bd0: 65 63 74 20 65 78 63 65 70 74 69 6f 6e 61 6c 20  ect exceptional 
7be0: 63 6f 6e 64 69 74 69 6f 6e 73 20 62 61 63 6b 20  conditions back 
7bf0: 74 6f 20 74 68 65 69 72 20 63 61 6c 6c 65 72 73  to their callers
7c00: 2e 0a 0a 31 39 34 2e 20 36 2f 31 36 2f 39 33 20  ...194. 6/16/93 
7c10: 53 70 6c 69 74 20 75 70 20 54 63 6c 2e 6e 20 74  Split up Tcl.n t
7c20: 6f 20 6d 61 6b 65 20 73 65 70 61 72 61 74 65 20  o make separate 
7c30: 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65 73 20 66  manual entries f
7c40: 6f 72 20 65 61 63 68 0a 54 63 6c 20 63 6f 6d 6d  or each.Tcl comm
7c50: 61 6e 64 2e 20 20 54 63 6c 2e 6e 20 6e 6f 77 20  and.  Tcl.n now 
7c60: 63 6f 6e 74 61 69 6e 73 20 61 20 73 75 6d 6d 61  contains a summa
7c70: 72 79 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61  ry of the langua
7c80: 67 65 20 73 79 6e 74 61 78 2e 0a 0a 31 39 35 2e  ge syntax...195.
7c90: 20 36 2f 31 37 2f 39 33 20 41 64 64 65 64 20 6e   6/17/93 Added n
7ca0: 65 77 20 22 73 77 69 74 63 68 22 20 63 6f 6d 6d  ew "switch" comm
7cb0: 61 6e 64 20 74 6f 20 72 65 70 6c 61 63 65 20 22  and to replace "
7cc0: 63 61 73 65 22 3a 20 61 6c 6c 6f 77 73 0a 61 6c  case": allows.al
7cd0: 74 65 72 6e 61 74 65 20 66 6f 72 6d 73 20 6f 66  ternate forms of
7ce0: 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e   pattern matchin
7cf0: 67 20 28 65 78 61 63 74 2c 20 67 6c 6f 62 2c 20  g (exact, glob, 
7d00: 72 65 67 65 78 70 29 2c 20 72 65 70 6c 61 63 65  regexp), replace
7d10: 73 0a 70 61 74 74 65 72 6e 20 6c 69 73 74 73 20  s.pattern lists 
7d20: 77 69 74 68 20 73 69 6e 67 6c 65 20 70 61 74 74  with single patt
7d30: 65 72 6e 73 20 28 62 75 74 20 79 6f 75 20 63 61  erns (but you ca
7d40: 6e 20 75 73 65 20 22 2d 22 20 62 6f 64 69 65 73  n use "-" bodies
7d50: 20 74 6f 0a 73 68 61 72 65 20 6f 6e 65 20 62 6f   to.share one bo
7d60: 64 79 20 61 6d 6f 6e 67 20 73 65 76 65 72 61 6c  dy among several
7d70: 20 70 61 74 74 65 72 6e 73 29 2c 20 65 6c 69 6d   patterns), elim
7d80: 69 6e 61 74 65 73 20 22 69 6e 22 20 6e 6f 69 73  inates "in" nois
7d90: 65 20 77 6f 72 64 2e 0a 22 43 61 73 65 22 20 63  e word.."Case" c
7da0: 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 77 20 6f 62  ommand is now ob
7db0: 73 6f 6c 65 74 65 2e 0a 0a 31 39 36 2e 20 36 2f  solete...196. 6/
7dc0: 31 37 2f 39 33 20 43 68 61 6e 67 65 64 20 74 68  17/93 Changed th
7dd0: 65 20 22 65 78 65 63 22 2c 20 22 67 6c 6f 62 22  e "exec", "glob"
7de0: 2c 20 22 72 65 67 65 78 70 22 2c 20 61 6e 64 20  , "regexp", and 
7df0: 22 72 65 67 73 75 62 22 20 63 6f 6d 6d 61 6e 64  "regsub" command
7e00: 73 0a 74 6f 20 69 6e 63 6c 75 64 65 20 61 20 22  s.to include a "
7e10: 2d 2d 22 20 73 77 69 74 63 68 2e 20 20 41 6c 6c  --" switch.  All
7e20: 20 69 6e 69 74 69 61 6c 20 61 72 67 75 6d 65 6e   initial argumen
7e30: 74 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68  ts starting with
7e40: 20 22 2d 22 20 61 72 65 20 6e 6f 77 0a 74 72 65   "-" are now.tre
7e50: 61 74 65 64 20 61 73 20 73 77 69 74 63 68 65 73  ated as switches
7e60: 20 75 6e 6c 65 73 73 20 61 20 22 2d 2d 22 20 73   unless a "--" s
7e70: 77 69 74 63 68 20 69 73 20 70 72 65 73 65 6e 74  witch is present
7e80: 20 74 6f 20 65 6e 64 20 74 68 65 20 6c 69 73 74   to end the list
7e90: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
7ea0: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
7eb0: 2a 2a 2a 0a 0a 31 39 37 2e 20 36 2f 31 37 2f 39  ***..197. 6/17/9
7ec0: 33 20 43 68 61 6e 67 65 64 20 61 75 74 6f 2d 65  3 Changed auto-e
7ed0: 78 65 63 20 73 6f 20 74 68 61 74 20 74 68 65 20  xec so that the 
7ee0: 73 75 62 70 72 6f 63 65 73 73 20 67 65 74 73 20  subprocess gets 
7ef0: 73 74 64 69 6e 2c 20 73 74 64 6f 75 74 2c 0a 61  stdin, stdout,.a
7f00: 6e 64 20 73 74 64 65 72 72 20 66 72 6f 6d 20 74  nd stderr from t
7f10: 68 65 20 70 61 72 65 6e 74 2e 20 20 54 68 69 73  he parent.  This
7f20: 20 61 6c 6c 6f 77 73 20 74 72 75 6c 79 20 69 6e   allows truly in
7f30: 74 65 72 61 63 74 69 76 65 20 73 75 62 2d 70 72  teractive sub-pr
7f40: 6f 63 65 73 73 65 73 0a 28 65 2e 67 2e 20 76 69  ocesses.(e.g. vi
7f50: 29 20 74 6f 20 62 65 20 61 75 74 6f 2d 65 78 65  ) to be auto-exe
7f60: 63 27 65 64 20 66 72 6f 6d 20 61 20 74 63 6c 20  c'ed from a tcl 
7f70: 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69  shell command li
7f80: 6e 65 2e 0a 0a 31 39 38 2e 20 36 2f 31 38 2f 39  ne...198. 6/18/9
7f90: 33 20 41 64 64 65 64 20 70 61 74 63 68 6c 65 76  3 Added patchlev
7fa0: 65 6c 2e 68 2c 20 66 6f 72 20 75 73 65 20 69 6e  el.h, for use in
7fb0: 20 63 6f 6f 72 64 69 6e 61 74 69 6e 67 20 66 75   coordinating fu
7fc0: 74 75 72 65 20 70 61 74 63 68 0a 72 65 6c 65 61  ture patch.relea
7fd0: 73 65 73 2c 20 61 6e 64 20 61 6c 73 6f 20 61 64  ses, and also ad
7fe0: 64 65 64 20 22 69 6e 66 6f 20 70 61 74 63 68 6c  ded "info patchl
7ff0: 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 74 6f  evel" command to
8000: 20 6d 61 6b 65 20 74 68 65 20 70 61 74 63 68 0a   make the patch.
8010: 6c 65 76 65 6c 20 61 76 61 69 6c 61 62 6c 65 20  level available 
8020: 74 6f 20 54 63 6c 20 73 63 72 69 70 74 73 2e 0a  to Tcl scripts..
8030: 0a 31 39 39 2e 20 36 2f 31 39 2f 39 33 20 4d 6f  .199. 6/19/93 Mo
8040: 64 69 66 69 65 64 20 22 67 6c 6f 62 22 20 63 6f  dified "glob" co
8050: 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 61 20  mmand so that a 
8060: 6c 65 61 64 69 6e 67 20 22 2f 2f 22 20 69 6e 20  leading "//" in 
8070: 61 20 6e 61 6d 65 0a 67 65 74 73 20 6c 65 66 74  a name.gets left
8080: 20 61 73 20 69 73 20 28 74 68 69 73 20 69 73 20   as is (this is 
8090: 6e 65 65 64 65 64 20 66 6f 72 20 73 79 73 74 65  needed for syste
80a0: 6d 73 20 6c 69 6b 65 20 41 70 6f 6c 6c 6f 73 20  ms like Apollos 
80b0: 77 68 65 72 65 20 22 2f 2f 22 20 69 73 0a 74 68  where "//" is.th
80c0: 65 20 73 75 70 65 72 2d 72 6f 6f 74 3b 20 20 54  e super-root;  T
80d0: 63 6c 20 75 73 65 64 20 74 6f 20 63 6f 6c 6c 61  cl used to colla
80e0: 70 73 65 20 74 68 65 20 74 77 6f 20 73 6c 61 73  pse the two slas
80f0: 68 65 73 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c  hes into a singl
8100: 65 0a 73 6c 61 73 68 29 2e 0a 0a 32 30 30 2e 20  e.slash)...200. 
8110: 37 2f 37 2f 39 33 20 41 64 64 65 64 20 54 63 6c  7/7/93 Added Tcl
8120: 5f 53 65 74 52 65 63 75 72 73 69 6f 6e 4c 69 6d  _SetRecursionLim
8130: 69 74 20 70 72 6f 63 65 64 75 72 65 20 73 6f 20  it procedure so 
8140: 74 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d  that the maximum
8150: 0a 61 6c 6c 6f 77 61 62 6c 65 20 6e 65 73 74 69  .allowable nesti
8160: 6e 67 20 64 65 70 74 68 20 63 61 6e 20 62 65 20  ng depth can be 
8170: 63 6f 6e 74 72 6f 6c 6c 65 64 20 66 6f 72 20 61  controlled for a
8180: 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 66 72  n interpreter fr
8190: 6f 6d 20 43 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  om C...---------
81a0: 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
81b0: 64 20 76 65 72 73 69 6f 6e 20 37 2e 30 20 42 65  d version 7.0 Be
81c0: 74 61 20 31 2c 20 37 2f 39 2f 39 33 20 2d 2d 2d  ta 1, 7/9/93 ---
81d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
81e0: 0a 32 30 31 2e 20 37 2f 31 32 2f 39 33 20 4d 6f  .201. 7/12/93 Mo
81f0: 64 69 66 69 65 64 20 54 63 6c 5f 47 65 74 49 6e  dified Tcl_GetIn
8200: 74 20 61 6e 64 20 74 63 6c 45 78 70 72 2e 63 20  t and tclExpr.c 
8210: 73 6f 20 74 68 61 74 20 66 75 6c 6c 2d 70 72 65  so that full-pre
8220: 63 69 73 69 6f 6e 0a 75 6e 73 69 67 6e 65 64 20  cision.unsigned 
8230: 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20  integers can be 
8240: 73 70 65 63 69 66 69 65 64 20 77 69 74 68 6f 75  specified withou
8250: 74 20 6f 76 65 72 66 6c 6f 77 20 65 72 72 6f 72  t overflow error
8260: 73 2e 0a 0a 32 30 32 2e 20 37 2f 31 32 2f 39 33  s...202. 7/12/93
8270: 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63   Configuration c
8280: 68 61 6e 67 65 73 3a 20 20 65 6c 69 6d 69 6e 61  hanges:  elimina
8290: 74 65 20 6c 65 61 64 69 6e 67 20 62 6c 61 6e 6b  te leading blank
82a0: 20 6c 69 6e 65 20 69 6e 0a 63 6f 6e 66 69 67 75   line in.configu
82b0: 72 65 20 73 63 72 69 70 74 3b 20 20 70 72 6f 76  re script;  prov
82c0: 69 64 65 20 73 65 70 61 72 61 74 65 20 74 61 72  ide separate tar
82d0: 67 65 74 73 20 69 6e 20 4d 61 6b 65 66 69 6c 65  gets in Makefile
82e0: 20 66 6f 72 20 69 6e 73 74 61 6c 6c 69 6e 67 0a   for installing.
82f0: 62 69 6e 61 72 79 20 61 6e 64 20 6e 6f 6e 2d 62  binary and non-b
8300: 69 6e 61 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f  inary informatio
8310: 6e 3b 20 63 68 65 63 6b 20 66 6f 72 20 73 69 7a  n; check for siz
8320: 65 5f 74 20 61 6e 64 20 61 20 66 65 77 20 6f 74  e_t and a few ot
8330: 68 65 72 0a 70 6f 74 65 6e 74 69 61 6c 6c 79 20  her.potentially 
8340: 6d 69 73 73 69 6e 67 20 74 79 70 65 64 65 66 73  missing typedefs
8350: 3b 20 64 6f 6e 27 74 20 70 75 74 20 74 63 6c 41  ; don't put tclA
8360: 70 70 49 6e 69 74 2e 6f 20 69 6e 74 6f 20 6c 69  ppInit.o into li
8370: 62 74 63 6c 2e 61 3b 0a 62 65 74 74 65 72 20 63  btcl.a;.better c
8380: 68 65 63 6b 73 20 66 6f 72 20 6d 61 74 68 65 72  hecks for mather
8390: 72 20 73 75 70 70 6f 72 74 2e 0a 0a 32 30 33 2e  r support...203.
83a0: 20 37 2f 31 34 2f 39 33 20 43 68 61 6e 67 65 64   7/14/93 Changed
83b0: 20 74 63 6c 45 78 70 72 2e 63 20 74 6f 20 63 68   tclExpr.c to ch
83c0: 65 63 6b 20 74 68 65 20 74 65 72 6d 69 6e 61 74  eck the terminat
83d0: 69 6f 6e 20 70 6f 69 6e 74 65 72 20 62 65 66 6f  ion pointer befo
83e0: 72 65 0a 65 72 72 6e 6f 20 61 66 74 65 72 20 73  re.errno after s
83f0: 74 72 74 6f 64 20 63 61 6c 6c 73 2c 20 74 6f 20  trtod calls, to 
8400: 61 76 6f 69 64 20 70 72 6f 62 6c 65 6d 73 20 77  avoid problems w
8410: 69 74 68 20 73 6f 6d 65 20 76 65 72 73 69 6f 6e  ith some version
8420: 73 20 6f 66 0a 73 74 72 74 6f 64 20 74 68 61 74  s of.strtod that
8430: 20 73 65 74 20 65 72 72 6e 6f 20 69 6e 20 75 6e   set errno in un
8440: 65 78 70 65 63 74 65 64 20 77 61 79 73 2e 0a 0a  expected ways...
8450: 32 30 34 2e 20 37 2f 31 36 2f 39 33 20 43 68 61  204. 7/16/93 Cha
8460: 6e 67 65 64 20 22 73 63 61 6e 22 20 63 6f 6d 6d  nged "scan" comm
8470: 61 6e 64 20 74 6f 20 62 65 20 6d 6f 72 65 20 41  and to be more A
8480: 4e 53 49 2d 63 6f 6e 66 6f 72 6d 61 6e 74 3a 0a  NSI-conformant:.
8490: 65 6c 69 6d 69 6e 61 74 65 64 20 25 46 2c 20 25  eliminated %F, %
84a0: 44 2c 20 65 74 63 2e 2c 20 61 64 64 65 64 20 63  D, etc., added c
84b0: 6f 64 65 20 74 6f 20 69 67 6e 6f 72 65 20 22 6c  ode to ignore "l
84c0: 22 2c 20 22 68 22 2c 20 61 6e 64 20 22 4c 22 0a  ", "h", and "L".
84d0: 6d 6f 64 69 66 69 65 72 73 20 62 75 74 20 61 6c  modifiers but al
84e0: 77 61 79 73 20 63 6f 6e 76 65 72 74 20 25 65 2c  ways convert %e,
84f0: 20 25 66 2c 20 61 6e 64 20 25 67 20 77 69 74 68   %f, and %g with
8500: 20 69 6d 70 6c 69 63 69 74 20 22 6c 22 3b 0a 61   implicit "l";.a
8510: 6c 73 6f 20 61 64 64 65 64 20 73 75 70 70 6f 72  lso added suppor
8520: 74 20 66 6f 72 20 25 75 20 61 6e 64 20 25 69 2e  t for %u and %i.
8530: 20 20 41 6c 73 6f 20 63 68 61 6e 67 65 64 20 22    Also changed "
8540: 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64 0a  format" command.
8550: 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 25 44 2c  to eliminate %D,
8560: 20 25 55 2c 20 25 4f 2c 20 61 6e 64 20 61 64 64   %U, %O, and add
8570: 20 25 69 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49   %i..*** POTENTI
8580: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
8590: 54 59 20 2a 2a 2a 0a 0a 32 30 35 2e 20 37 2f 31  TY ***..205. 7/1
85a0: 37 2f 39 33 20 43 68 61 6e 67 65 64 20 22 75 70  7/93 Changed "up
85b0: 6c 65 76 65 6c 22 20 61 6e 64 20 22 75 70 76 61  level" and "upva
85c0: 72 22 20 73 6f 20 74 68 61 74 20 74 68 65 79 20  r" so that they 
85d0: 63 61 6e 20 62 65 20 75 73 65 64 0a 66 72 6f 6d  can be used.from
85e0: 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 20 74 6f   global level to
85f0: 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 3a 20 20   global level:  
8600: 74 68 69 73 20 75 73 65 64 20 74 6f 20 67 65 6e  this used to gen
8610: 65 72 61 74 65 20 61 6e 20 65 72 72 6f 72 2e 0a  erate an error..
8620: 0a 32 30 36 2e 20 37 2f 31 39 2f 39 33 20 52 65  .206. 7/19/93 Re
8630: 6e 61 6d 65 64 20 22 73 65 74 65 6e 76 22 2c 20  named "setenv", 
8640: 22 70 75 74 65 6e 76 22 2c 20 61 6e 64 20 22 75  "putenv", and "u
8650: 6e 73 65 74 65 6e 76 22 20 70 72 6f 63 65 64 75  nsetenv" procedu
8660: 72 65 73 0a 74 6f 20 61 76 6f 69 64 20 63 6f 6e  res.to avoid con
8670: 66 6c 69 63 74 73 20 77 69 74 68 20 73 79 73 74  flicts with syst
8680: 65 6d 20 70 72 6f 63 65 64 75 72 65 73 20 77 69  em procedures wi
8690: 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65  th the same name
86a0: 73 2e 20 20 49 66 0a 79 6f 75 20 77 61 6e 74 20  s.  If.you want 
86b0: 54 63 6c 27 73 20 70 72 6f 63 65 64 75 72 65 73  Tcl's procedures
86c0: 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 65   to override the
86d0: 20 73 79 73 74 65 6d 20 70 72 6f 63 65 64 75 72   system procedur
86e0: 65 73 2c 20 64 6f 20 69 74 0a 69 6e 20 74 68 65  es, do it.in the
86f0: 20 4d 61 6b 65 66 69 6c 65 20 28 69 6e 73 74 72   Makefile (instr
8700: 75 63 74 69 6f 6e 73 20 61 72 65 20 69 6e 20 74  uctions are in t
8710: 68 65 20 4d 61 6b 65 66 69 6c 65 29 2e 0a 2a 2a  he Makefile)..**
8720: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
8730: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
8740: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
8750: 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73  -- Released vers
8760: 69 6f 6e 20 37 2e 30 20 42 65 74 61 20 32 2c 20  ion 7.0 Beta 2, 
8770: 37 2f 32 31 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d  7/21/93 --------
8780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 30 37 2e  ----------..207.
8790: 20 37 2f 32 31 2f 39 33 20 46 69 78 65 64 20 62   7/21/93 Fixed b
87a0: 75 67 20 69 6e 20 74 63 6c 56 61 72 2e 63 20 77  ug in tclVar.c w
87b0: 68 65 72 65 20 66 72 65 65 64 20 6d 65 6d 6f 72  here freed memor
87c0: 79 20 77 61 73 20 61 63 63 69 64 65 6e 74 61 6c  y was accidental
87d0: 6c 79 0a 75 73 65 64 20 69 66 20 61 20 70 72 6f  ly.used if a pro
87e0: 63 65 64 75 72 65 20 72 65 74 75 72 6e 65 64 20  cedure returned 
87f0: 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20  an element of a 
8800: 6c 6f 63 61 6c 20 61 72 72 61 79 2e 0a 0a 32 30  local array...20
8810: 38 2e 20 37 2f 32 32 2f 39 33 20 46 69 78 65 64  8. 7/22/93 Fixed
8820: 20 62 75 67 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e   bug in "unknown
8830: 22 20 77 68 65 72 65 20 69 74 20 64 69 64 6e 27  " where it didn'
8840: 74 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c  t properly handl
8850: 65 0a 65 72 72 6f 72 73 20 6f 63 63 75 72 72 69  e.errors occurri
8860: 6e 67 20 69 6e 20 74 68 65 20 22 61 75 74 6f 5f  ng in the "auto_
8870: 6c 6f 61 64 22 20 70 72 6f 63 65 64 75 72 65 2c  load" procedure,
8880: 20 6c 65 61 76 69 6e 67 20 69 74 73 20 73 74 61   leaving its sta
8890: 74 65 0a 69 6e 63 6f 6e 73 69 73 74 65 6e 74 2e  te.inconsistent.
88a0: 0a 0a 32 30 39 2e 20 37 2f 32 33 2f 39 33 20 43  ..209. 7/23/93 C
88b0: 68 61 6e 67 65 64 20 65 78 65 63 27 73 20 22 3e  hanged exec's ">
88c0: 32 22 20 72 65 64 69 72 65 63 74 69 6f 6e 20 6f  2" redirection o
88d0: 70 65 72 61 74 6f 72 20 74 6f 20 22 32 3e 22 20  perator to "2>" 
88e0: 66 6f 72 0a 63 6f 6e 73 69 73 74 65 6e 63 79 20  for.consistency 
88f0: 77 69 74 68 20 73 68 2e 20 20 54 68 69 73 20 69  with sh.  This i
8900: 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77  s incompatible w
8910: 69 74 68 20 65 61 72 6c 69 65 72 20 62 65 74 61  ith earlier beta
8920: 20 72 65 6c 65 61 73 65 73 0a 6f 66 20 37 2e 30   releases.of 7.0
8930: 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 70 72   but not with pr
8940: 65 2d 37 2e 30 20 72 65 6c 65 61 73 65 73 2c 20  e-7.0 releases, 
8950: 77 68 69 63 68 20 64 69 64 6e 27 74 20 73 75 70  which didn't sup
8960: 70 6f 72 74 20 65 69 74 68 65 72 0a 6f 70 65 72  port either.oper
8970: 61 74 6f 72 2e 0a 0a 32 31 30 2e 20 37 2f 32 38  ator...210. 7/28
8980: 2f 39 33 20 43 68 61 6e 67 65 64 20 62 61 63 6b  /93 Changed back
8990: 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 68 61  slash-newline ha
89a0: 6e 64 6c 69 6e 67 20 73 6f 20 74 68 61 74 20 74  ndling so that t
89b0: 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 70 61  he resulting.spa
89c0: 63 65 20 63 68 61 72 61 63 74 65 72 20 2a 69 73  ce character *is
89d0: 2a 20 74 72 65 61 74 65 64 20 61 73 20 61 20 77  * treated as a w
89e0: 6f 72 64 20 73 65 70 61 72 61 74 6f 72 20 75 6e  ord separator un
89f0: 6c 65 73 73 20 74 68 65 20 62 61 63 6b 73 6c 61  less the backsla
8a00: 73 68 0a 73 65 71 75 65 6e 63 65 20 69 73 20 69  sh.sequence is i
8a10: 6e 20 71 75 6f 74 65 73 20 6f 72 20 62 72 61 63  n quotes or brac
8a20: 65 73 2e 20 20 54 68 69 73 20 69 73 20 69 6e 63  es.  This is inc
8a30: 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 37  ompatible with 7
8a40: 2e 30 62 31 0a 61 6e 64 20 37 2e 30 62 32 20 62  .0b1.and 7.0b2 b
8a50: 75 74 20 69 73 20 6d 6f 72 65 20 63 6f 6d 70 61  ut is more compa
8a60: 74 69 62 6c 65 20 77 69 74 68 20 70 72 65 2d 37  tible with pre-7
8a70: 2e 30 20 76 65 72 73 69 6f 6e 73 20 74 68 61 74  .0 versions that
8a80: 20 74 68 65 20 62 31 0a 61 6e 64 20 62 32 20 72   the b1.and b2 r
8a90: 65 6c 65 61 73 65 73 20 77 65 72 65 2e 0a 0a 32  eleases were...2
8aa0: 31 31 2e 20 37 2f 32 38 2f 39 33 20 45 6c 69 6d  11. 7/28/93 Elim
8ab0: 69 6e 61 74 65 64 20 54 63 6c 5f 4c 69 6e 6b 65  inated Tcl_Linke
8ac0: 64 56 61 72 57 72 69 74 61 62 6c 65 2c 20 61 64  dVarWritable, ad
8ad0: 64 65 64 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41  ded TCL_LINK_REA
8ae0: 44 5f 4f 4e 4c 59 20 74 6f 0a 54 63 6c 5f 4c 69  D_ONLY to.Tcl_Li
8af0: 6e 6b 56 61 72 20 74 6f 20 61 63 63 6f 6d 70 6c  nkVar to accompl
8b00: 69 73 68 20 73 61 6d 65 20 70 75 72 70 6f 73 65  ish same purpose
8b10: 2e 20 20 54 68 69 73 20 63 68 61 6e 67 65 20 69  .  This change i
8b20: 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 77  s incompatible.w
8b30: 69 74 68 20 65 61 72 6c 69 65 72 20 62 65 74 61  ith earlier beta
8b40: 20 72 65 6c 65 61 73 65 73 2c 20 62 75 74 20 6e   releases, but n
8b50: 6f 74 20 77 69 74 68 20 72 65 6c 65 61 73 65 73  ot with releases
8b60: 20 62 65 66 6f 72 65 20 54 63 6c 20 37 2e 30 2e   before Tcl 7.0.
8b70: 0a 0a 32 31 32 2e 20 37 2f 32 39 2f 39 33 20 52  ..212. 7/29/93 R
8b80: 65 6e 61 6d 65 64 20 72 65 67 65 78 70 20 43 20  enamed regexp C 
8b90: 66 75 6e 63 74 69 6f 6e 73 20 73 6f 20 74 68 65  functions so the
8ba0: 79 20 77 6f 6e 27 74 20 63 6c 61 73 68 20 77 69  y won't clash wi
8bb0: 74 68 20 50 4f 53 49 58 0a 72 65 67 65 78 70 20  th POSIX.regexp 
8bc0: 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 75  functions that u
8bd0: 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65  se the same name
8be0: 2e 0a 0a 32 31 33 2e 20 38 2f 33 2f 39 33 20 41  ...213. 8/3/93 A
8bf0: 64 64 65 64 20 22 2d 65 72 72 6f 72 69 6e 66 6f  dded "-errorinfo
8c00: 22 20 61 6e 64 20 22 2d 65 72 72 6f 72 63 6f 64  " and "-errorcod
8c10: 65 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 72  e" options to "r
8c20: 65 74 75 72 6e 22 0a 63 6f 6d 6d 61 6e 64 3a 20  eturn".command: 
8c30: 74 68 65 73 65 20 61 6c 6c 6f 77 20 66 6f 72 20  these allow for 
8c40: 6d 75 63 68 20 62 65 74 74 65 72 20 68 61 6e 64  much better hand
8c50: 6c 69 6e 67 20 6f 66 20 74 68 65 20 65 72 72 6f  ling of the erro
8c60: 72 49 6e 66 6f 0a 61 6e 64 20 65 72 72 6f 72 43  rInfo.and errorC
8c70: 6f 64 65 20 76 61 72 69 61 62 6c 65 73 20 69 6e  ode variables in
8c80: 20 73 6f 6d 65 20 63 61 73 65 73 2e 0a 0a 32 31   some cases...21
8c90: 34 2e 20 38 2f 31 32 2f 39 33 20 43 68 61 6e 67  4. 8/12/93 Chang
8ca0: 65 64 20 22 65 78 70 72 22 20 73 6f 20 74 68 61  ed "expr" so tha
8cb0: 74 20 25 20 61 6c 77 61 79 73 20 72 65 74 75 72  t % always retur
8cc0: 6e 73 20 61 20 72 65 6d 61 69 6e 64 65 72 20 77  ns a remainder w
8cd0: 69 74 68 0a 74 68 65 20 73 61 6d 65 20 73 69 67  ith.the same sig
8ce0: 6e 20 61 73 20 74 68 65 20 64 69 76 69 73 6f 72  n as the divisor
8cf0: 20 61 6e 64 20 61 62 73 6f 6c 75 74 65 20 76 61   and absolute va
8d00: 6c 75 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e  lue smaller than
8d10: 20 74 68 65 0a 64 69 76 69 73 6f 72 2e 0a 0a 32   the.divisor...2
8d20: 31 35 2e 20 38 2f 31 34 2f 39 33 20 54 75 72 6e  15. 8/14/93 Turn
8d30: 65 64 20 6f 66 66 20 61 75 74 6f 2d 65 78 65 63  ed off auto-exec
8d40: 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20 75 6e   in "unknown" un
8d50: 6c 65 73 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64  less the command
8d60: 0a 77 61 73 20 74 79 70 65 64 20 69 6e 74 65 72  .was typed inter
8d70: 61 63 74 69 76 65 6c 79 2e 20 20 54 68 69 73 20  actively.  This 
8d80: 6d 65 61 6e 73 20 79 6f 75 20 6d 75 73 74 20 75  means you must u
8d90: 73 65 20 22 65 78 65 63 22 20 77 68 65 6e 0a 69  se "exec" when.i
8da0: 6e 76 6f 6b 69 6e 67 20 73 75 62 70 72 6f 63 65  nvoking subproce
8db0: 73 73 65 73 2c 20 75 6e 6c 65 73 73 20 69 74 27  sses, unless it'
8dc0: 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74  s a command that
8dd0: 27 73 20 74 79 70 65 64 20 69 6e 74 65 72 61 63  's typed interac
8de0: 74 69 76 65 6c 79 2e 0a 2a 2a 2a 20 50 4f 54 45  tively..*** POTE
8df0: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
8e00: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32 31 36 2e 20  ILITY ***..216. 
8e10: 38 2f 31 34 2f 39 33 20 41 64 64 65 64 20 73 75  8/14/93 Added su
8e20: 70 70 6f 72 74 20 66 6f 72 20 74 63 6c 5f 70 72  pport for tcl_pr
8e30: 6f 6d 70 74 31 20 61 6e 64 20 74 63 6c 5f 70 72  ompt1 and tcl_pr
8e40: 6f 6d 70 74 32 20 76 61 72 69 61 62 6c 65 73 0a  ompt2 variables.
8e50: 74 6f 20 74 63 6c 4d 61 69 6e 2e 63 3a 20 20 6d  to tclMain.c:  m
8e60: 61 6b 65 73 20 70 72 6f 6d 70 74 73 20 75 73 65  akes prompts use
8e70: 72 2d 73 65 74 74 61 62 6c 65 2e 0a 0a 32 31 37  r-settable...217
8e80: 2e 20 38 2f 31 34 2f 39 33 20 41 64 64 65 64 20  . 8/14/93 Added 
8e90: 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 68 61 6e  asynchronous han
8ea0: 64 6c 65 72 73 20 28 54 63 6c 5f 41 73 79 6e 63  dlers (Tcl_Async
8eb0: 43 72 65 61 74 65 20 65 74 63 2e 29 20 73 6f 0a  Create etc.) so.
8ec0: 74 68 61 74 20 73 69 67 6e 61 6c 73 20 63 61 6e  that signals can
8ed0: 20 62 65 20 74 61 6b 65 6e 20 63 6c 65 61 6e 6c   be taken cleanl
8ee0: 79 20 62 79 20 54 63 6c 20 61 70 70 6c 69 63 61  y by Tcl applica
8ef0: 74 69 6f 6e 73 2e 0a 0a 32 31 38 2e 20 38 2f 31  tions...218. 8/1
8f00: 36 2f 39 33 20 4d 6f 76 65 64 20 69 6e 66 6f 72  6/93 Moved infor
8f10: 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6f 70 65  mation about ope
8f20: 6e 20 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65  n files from the
8f30: 20 69 6e 74 65 72 70 72 65 74 65 72 0a 73 74 72   interpreter.str
8f40: 75 63 74 75 72 65 20 74 6f 20 67 6c 6f 62 61 6c  ucture to global
8f50: 20 76 61 72 69 61 62 6c 65 73 20 73 6f 20 74 68   variables so th
8f60: 61 74 20 61 20 66 69 6c 65 20 63 61 6e 20 62 65  at a file can be
8f70: 20 6f 70 65 6e 65 64 20 69 6e 20 6f 6e 65 0a 69   opened in one.i
8f80: 6e 74 65 72 70 72 65 74 65 72 20 61 6e 64 20 72  nterpreter and r
8f90: 65 61 64 20 6f 72 20 77 72 69 74 74 65 6e 20 69  ead or written i
8fa0: 6e 20 61 6e 6f 74 68 65 72 2e 0a 0a 32 31 39 2e  n another...219.
8fb0: 20 38 2f 31 36 2f 39 33 20 52 65 6d 6f 76 65 64   8/16/93 Removed
8fc0: 20 45 4e 56 5f 46 4c 41 47 53 20 66 72 6f 6d 20   ENV_FLAGS from 
8fd0: 4d 61 6b 65 66 69 6c 65 2c 20 73 6f 20 74 68 61  Makefile, so tha
8fe0: 74 20 74 68 65 72 65 27 73 20 6e 6f 0a 6f 66 66  t there's no.off
8ff0: 69 63 69 61 6c 20 73 75 70 70 6f 72 74 20 66 6f  icial support fo
9000: 72 20 6f 76 65 72 72 69 64 69 6e 67 20 73 65 74  r overriding set
9010: 65 6e 76 2c 20 75 6e 73 65 74 65 6e 76 2c 20 61  env, unsetenv, a
9020: 6e 64 20 70 75 74 65 6e 76 2e 0a 0a 32 32 30 2e  nd putenv...220.
9030: 20 38 2f 32 30 2f 39 33 20 56 61 72 69 6f 75 73   8/20/93 Various
9040: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69   configuration i
9050: 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 20 20 63 6f  mprovements:  co
9060: 65 72 63 65 20 63 68 61 72 73 0a 74 6f 20 75 6e  erce chars.to un
9070: 73 69 67 6e 65 64 20 63 68 61 72 73 20 62 65 66  signed chars bef
9080: 6f 72 65 20 75 73 69 6e 67 20 6d 61 63 72 6f 73  ore using macros
9090: 20 6c 69 6b 65 20 69 73 73 70 61 63 65 3b 20 20   like isspace;  
90a0: 73 6f 75 72 63 65 20 7e 2f 2e 74 63 6c 73 68 72  source ~/.tclshr
90b0: 63 0a 66 69 6c 65 20 64 75 72 69 6e 67 20 69 6e  c.file during in
90c0: 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 69 66 20  itialization if 
90d0: 69 74 20 65 78 69 73 74 73 20 61 6e 64 20 70 72  it exists and pr
90e0: 6f 67 72 61 6d 20 69 73 20 72 75 6e 6e 69 6e 67  ogram is running
90f0: 0a 69 6e 74 65 72 61 63 74 69 76 65 6c 79 3b 20  .interactively; 
9100: 20 61 6c 6c 6f 77 20 74 68 65 72 65 20 74 6f 20   allow there to 
9110: 62 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 69  be directories i
9120: 6e 20 61 75 74 6f 5f 70 61 74 68 20 74 68 61 74  n auto_path that
9130: 20 64 6f 6e 27 74 0a 65 78 69 73 74 20 6f 72 20   don't.exist or 
9140: 64 6f 6e 27 74 20 68 61 76 65 20 74 63 6c 49 6e  don't have tclIn
9150: 64 65 78 20 66 69 6c 65 73 20 28 69 67 6e 6f 72  dex files (ignor
9160: 65 20 74 68 65 6d 29 3b 20 61 64 64 65 64 20 54  e them); added T
9170: 63 6c 5f 49 6e 69 74 0a 70 72 6f 63 65 64 75 72  cl_Init.procedur
9180: 65 20 61 6e 64 20 63 68 61 6e 67 65 64 20 54 63  e and changed Tc
9190: 6c 5f 41 70 70 49 6e 69 74 20 74 6f 20 63 61 6c  l_AppInit to cal
91a0: 6c 20 69 74 2e 0a 0a 32 32 31 2e 20 38 2f 32 31  l it...221. 8/21
91b0: 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69 6e  /93 Fixed bug in
91c0: 20 65 78 70 72 20 77 68 65 72 65 20 22 2b 22 2c   expr where "+",
91d0: 20 22 2d 22 2c 20 61 6e 64 20 22 20 22 20 77 65   "-", and " " we
91e0: 72 65 20 61 6c 6c 0a 67 65 74 74 69 6e 67 20 74  re all.getting t
91f0: 72 65 61 74 65 64 20 61 73 20 69 6e 74 65 67 65  reated as intege
9200: 72 73 20 77 69 74 68 20 76 61 6c 75 65 20 30 2e  rs with value 0.
9210: 0a 0a 32 32 32 2e 20 38 2f 32 36 2f 39 33 20 41  ..222. 8/26/93 A
9220: 64 64 65 64 20 22 74 63 6c 5f 69 6e 74 65 72 61  dded "tcl_intera
9230: 63 74 69 76 65 22 20 76 61 72 69 61 62 6c 65 20  ctive" variable 
9240: 74 6f 20 74 63 6c 73 68 2e 0a 0a 32 32 33 2e 20  to tclsh...223. 
9250: 38 2f 32 37 2f 39 33 20 41 64 64 65 64 20 70 72  8/27/93 Added pr
9260: 6f 63 65 64 75 72 65 20 54 63 6c 5f 46 69 6c 65  ocedure Tcl_File
9270: 50 65 72 6d 69 73 73 69 6f 6e 73 20 74 6f 20 72  Permissions to r
9280: 65 74 75 72 6e 20 77 68 65 74 68 65 72 20 61 0a  eturn whether a.
9290: 67 69 76 65 6e 20 66 69 6c 65 20 63 61 6e 20 62  given file can b
92a0: 65 20 72 65 61 64 20 6f 72 20 77 72 69 74 74 65  e read or writte
92b0: 6e 20 6f 72 20 62 6f 74 68 2e 20 20 4d 6f 64 69  n or both.  Modi
92c0: 66 69 65 64 20 54 63 6c 5f 45 6e 74 65 72 46 69  fied Tcl_EnterFi
92d0: 6c 65 0a 74 6f 20 74 61 6b 65 20 61 20 70 65 72  le.to take a per
92e0: 6d 69 73 73 69 6f 6e 73 20 6d 61 73 6b 20 72 61  missions mask ra
92f0: 74 68 65 72 20 74 68 61 6e 20 73 65 70 61 72 61  ther than separa
9300: 74 65 20 72 65 61 64 20 61 6e 64 20 77 72 69 74  te read and writ
9310: 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 32 32  e arguments...22
9320: 34 2e 20 38 2f 32 38 2f 39 33 20 46 69 78 65 64  4. 8/28/93 Fixed
9330: 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67   performance bug
9340: 20 69 6e 20 22 67 6c 6f 62 22 20 63 6f 6d 6d 61   in "glob" comma
9350: 6e 64 20 28 75 6e 6e 65 63 65 73 73 61 72 79 20  nd (unnecessary 
9360: 63 61 6c 6c 0a 74 6f 20 22 61 63 63 65 73 73 22  call.to "access"
9370: 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20 63   for each file c
9380: 61 75 73 65 64 20 61 20 35 2d 31 30 78 20 73 6c  aused a 5-10x sl
9390: 6f 77 2d 64 6f 77 6e 20 66 6f 72 20 62 69 67 20  ow-down for big 
93a0: 64 69 72 65 63 74 6f 72 69 65 73 29 2e 0a 0a 2d  directories)...-
93b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
93c0: 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f   Released versio
93d0: 6e 20 37 2e 30 20 42 65 74 61 20 33 2c 20 38 2f  n 7.0 Beta 3, 8/
93e0: 32 38 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  28/93 ----------
93f0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 32 35 2e 20 39  --------..225. 9
9400: 2f 39 2f 39 33 20 52 65 6e 61 6d 65 64 20 72 65  /9/93 Renamed re
9410: 67 65 78 70 2e 68 20 74 6f 20 74 63 6c 52 65 67  gexp.h to tclReg
9420: 65 78 70 2e 68 20 74 6f 20 61 76 6f 69 64 20 63  exp.h to avoid c
9430: 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 73 79  onflicts with sy
9440: 73 74 65 6d 0a 69 6e 63 6c 75 64 65 20 66 69 6c  stem.include fil
9450: 65 20 62 79 20 73 61 6d 65 20 6e 61 6d 65 2e 0a  e by same name..
9460: 0a 32 32 36 2e 20 39 2f 39 2f 39 33 20 41 64 64  .226. 9/9/93 Add
9470: 65 64 20 54 63 6c 5f 44 6f 6e 74 43 61 6c 6c 57  ed Tcl_DontCallW
9480: 68 65 6e 44 65 6c 65 74 65 64 2e 0a 0a 32 32 37  henDeleted...227
9490: 2e 20 39 2f 31 36 2f 39 33 20 43 68 61 6e 67 65  . 9/16/93 Change
94a0: 64 20 6e 6f 74 20 74 6f 20 63 61 6c 6c 20 65 78  d not to call ex
94b0: 69 74 20 43 20 70 72 6f 63 65 64 75 72 65 20 64  it C procedure d
94c0: 69 72 65 63 74 6c 79 3b 20 20 69 6e 73 74 65 61  irectly;  instea
94d0: 64 0a 61 6c 77 61 79 73 20 69 6e 76 6f 6b 65 20  d.always invoke 
94e0: 22 65 78 69 74 22 20 54 63 6c 20 63 6f 6d 6d 61  "exit" Tcl comma
94f0: 6e 64 20 73 6f 20 74 68 61 74 20 61 70 70 6c 69  nd so that appli
9500: 63 61 74 69 6f 6e 20 63 61 6e 20 72 65 64 65 66  cation can redef
9510: 69 6e 65 20 74 68 65 0a 63 6f 6d 6d 61 6e 64 20  ine the.command 
9520: 74 6f 20 64 6f 20 61 64 64 69 74 69 6f 6e 61 6c  to do additional
9530: 20 63 6c 65 61 6e 75 70 2e 0a 0a 32 32 38 2e 20   cleanup...228. 
9540: 39 2f 31 37 2f 39 33 20 43 68 61 6e 67 65 64 20  9/17/93 Changed 
9550: 61 75 74 6f 2d 65 78 65 63 20 74 6f 20 68 61 6e  auto-exec to han
9560: 64 6c 65 20 6e 61 6d 65 73 20 74 68 61 74 20 63  dle names that c
9570: 6f 6e 74 61 69 6e 20 73 6c 61 73 68 65 73 0a 28  ontain slashes.(
9580: 69 2e 65 2e 20 64 6f 6e 27 74 20 75 73 65 20 50  i.e. don't use P
9590: 41 54 48 20 66 6f 72 20 74 68 65 6d 29 2e 0a 0a  ATH for them)...
95a0: 32 32 39 2e 20 39 2f 32 33 2f 39 33 20 46 69 78  229. 9/23/93 Fix
95b0: 65 64 20 62 75 67 20 69 6e 20 22 72 65 61 64 22  ed bug in "read"
95c0: 20 61 6e 64 20 22 67 65 74 73 22 20 63 6f 6d 6d   and "gets" comm
95d0: 61 6e 64 73 20 77 68 65 72 65 20 74 68 65 79 20  ands where they 
95e0: 64 69 64 6e 27 74 0a 63 6c 65 61 72 20 45 4f 46  didn't.clear EOF
95f0: 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 2d 2d   conditions...--
9600: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
9610: 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e  Released version
9620: 20 37 2e 30 2c 20 39 2f 32 39 2f 39 33 20 2d 2d   7.0, 9/29/93 --
9630: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
9640: 0a 0a 32 33 30 2e 20 31 30 2f 37 2f 39 33 20 22  ..230. 10/7/93 "
9650: 53 63 61 6e 22 20 63 6f 6d 6d 61 6e 64 20 77 61  Scan" command wa
9660: 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 61 6c  sn't properly al
9670: 69 67 6e 69 6e 67 20 74 68 69 6e 67 73 20 69 6e  igning things in
9680: 20 6d 65 6d 6f 72 79 2c 0a 73 6f 20 73 65 67 6d   memory,.so segm
9690: 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 73 20  entation faults 
96a0: 63 6f 75 6c 64 20 61 72 69 73 65 20 75 6e 64 65  could arise unde
96b0: 72 20 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61  r some circumsta
96c0: 6e 63 65 73 2e 0a 0a 32 33 31 2e 20 31 30 2f 37  nces...231. 10/7
96d0: 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69 6e  /93 Fixed bug in
96e0: 20 54 63 6c 5f 43 6f 6e 76 65 72 74 45 6c 65 6d   Tcl_ConvertElem
96f0: 65 6e 74 20 77 68 65 72 65 20 69 74 20 66 6f 72  ent where it for
9700: 67 6f 74 20 74 6f 0a 62 61 63 6b 73 6c 61 73 68  got to.backslash
9710: 20 6c 65 61 64 69 6e 67 20 63 75 72 6c 79 20 62   leading curly b
9720: 72 61 63 65 20 77 68 65 6e 20 63 72 65 61 74 69  race when creati
9730: 6e 67 20 6c 69 73 74 73 2e 0a 0a 32 33 32 2e 20  ng lists...232. 
9740: 31 30 2f 37 2f 39 33 20 45 6c 69 6d 69 6e 61 74  10/7/93 Eliminat
9750: 65 64 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 66  ed dependency of
9760: 20 74 63 6c 4d 61 69 6e 2e 63 20 6f 6e 20 74 63   tclMain.c on tc
9770: 6c 49 6e 74 2e 68 20 61 6e 64 0a 74 63 6c 55 6e  lInt.h and.tclUn
9780: 69 78 2e 68 2c 20 73 6f 20 74 68 61 74 20 70 65  ix.h, so that pe
9790: 6f 70 6c 65 20 63 61 6e 20 63 6f 70 79 20 74 68  ople can copy th
97a0: 65 20 66 69 6c 65 20 6f 75 74 20 6f 66 20 74 68  e file out of th
97b0: 65 20 54 63 6c 20 73 6f 75 72 63 65 0a 64 69 72  e Tcl source.dir
97c0: 65 63 74 6f 72 79 20 74 6f 20 6d 61 6b 65 20 6d  ectory to make m
97d0: 6f 64 69 66 69 65 64 20 70 72 69 76 61 74 65 20  odified private 
97e0: 76 65 72 73 69 6f 6e 73 2e 0a 0a 32 33 33 2e 20  versions...233. 
97f0: 31 30 2f 38 2f 39 33 20 46 69 78 65 64 20 62 75  10/8/93 Fixed bu
9800: 67 20 69 6e 20 61 75 74 6f 2d 6c 6f 61 64 65 72  g in auto-loader
9810: 20 74 68 61 74 20 72 65 76 65 72 73 65 64 20 74   that reversed t
9820: 68 65 20 70 72 69 6f 72 69 74 79 20 6f 72 64 65  he priority orde
9830: 72 0a 6f 66 20 65 6e 74 72 69 65 73 20 69 6e 20  r.of entries in 
9840: 61 75 74 6f 5f 70 61 74 68 20 66 6f 72 20 6e 65  auto_path for ne
9850: 77 2d 73 74 79 6c 65 20 69 6e 64 65 78 20 66 69  w-style index fi
9860: 6c 65 73 2e 20 20 4e 6f 77 20 74 68 69 6e 67 73  les.  Now things
9870: 20 61 72 65 0a 62 61 63 6b 20 74 6f 20 74 68 65   are.back to the
9880: 20 77 61 79 20 74 68 65 79 20 77 65 72 65 20 62   way they were b
9890: 65 66 6f 72 65 20 33 2e 30 3a 20 20 66 69 72 73  efore 3.0:  firs
98a0: 74 20 69 6e 20 61 75 74 6f 5f 70 61 74 68 20 69  t in auto_path i
98b0: 73 20 61 6c 77 61 79 73 0a 68 69 67 68 65 73 74  s always.highest
98c0: 20 70 72 69 6f 72 69 74 79 2e 0a 0a 32 33 34 2e   priority...234.
98d0: 20 31 30 2f 31 33 2f 39 33 20 46 69 78 65 64 20   10/13/93 Fixed 
98e0: 62 75 67 20 77 68 65 72 65 20 54 63 6c 5f 43 6f  bug where Tcl_Co
98f0: 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 20 64 69  mmandComplete di
9900: 64 6e 27 74 20 72 65 63 6f 67 6e 69 7a 65 0a 63  dn't recognize.c
9910: 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 74 72 65 61  omments and trea
9920: 74 20 74 68 65 6d 20 61 73 20 73 75 63 68 2e 20  t them as such. 
9930: 20 54 68 75 73 20 69 66 20 79 6f 75 20 74 79 70   Thus if you typ
9940: 65 64 20 74 68 65 20 6c 69 6e 65 0a 20 20 20 20  ed the line.    
9950: 23 20 7b 0a 69 6e 74 65 72 61 63 74 69 76 65 6c  # {.interactivel
9960: 79 2c 20 54 63 6c 20 77 6f 75 6c 64 20 74 68 69  y, Tcl would thi
9970: 6e 6b 20 74 68 61 74 20 74 68 65 20 63 6f 6d 6d  nk that the comm
9980: 61 6e 64 20 77 61 73 6e 27 74 20 63 6f 6d 70 6c  and wasn't compl
9990: 65 74 65 20 61 6e 64 0a 77 61 69 74 20 66 6f 72  ete and.wait for
99a0: 20 6d 6f 72 65 20 69 6e 70 75 74 20 62 65 66 6f   more input befo
99b0: 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68  re evaluating th
99c0: 65 20 73 63 72 69 70 74 2e 0a 0a 32 33 35 2e 20  e script...235. 
99d0: 31 30 2f 31 34 2f 39 33 20 46 69 78 65 64 20 62  10/14/93 Fixed b
99e0: 75 67 20 77 68 65 72 65 20 22 72 65 67 73 75 62  ug where "regsub
99f0: 22 20 64 69 64 6e 27 74 20 73 65 74 20 74 68 65  " didn't set the
9a00: 20 6f 75 74 70 75 74 20 76 61 72 69 61 62 6c 65   output variable
9a10: 0a 69 66 20 74 68 65 20 69 6e 70 75 74 20 73 74  .if the input st
9a20: 72 69 6e 67 20 77 61 73 20 65 6d 70 74 79 2e 0a  ring was empty..
9a30: 0a 32 33 36 2e 20 31 30 2f 32 33 2f 39 33 20 46  .236. 10/23/93 F
9a40: 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20 54  ixed bug where T
9a50: 63 6c 5f 43 72 65 61 74 65 50 69 70 65 6c 69 6e  cl_CreatePipelin
9a60: 65 20 64 69 64 6e 27 74 20 63 6c 6f 73 65 20 6f  e didn't close o
9a70: 66 66 20 65 6e 6f 75 67 68 0a 66 69 6c 65 20 64  ff enough.file d
9a80: 65 73 63 72 69 70 74 6f 72 73 20 69 6e 20 63 68  escriptors in ch
9a90: 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2c 20 63  ild processes, c
9aa0: 61 75 73 69 6e 67 20 63 68 69 6c 64 72 65 6e 20  ausing children 
9ab0: 6e 6f 74 20 74 6f 20 65 78 69 74 0a 70 72 6f 70  not to exit.prop
9ac0: 65 72 6c 79 20 69 6e 20 73 6f 6d 65 20 63 61 73  erly in some cas
9ad0: 65 73 2e 0a 0a 32 33 37 2e 20 31 30 2f 32 38 2f  es...237. 10/28/
9ae0: 39 33 20 43 68 61 6e 67 65 64 20 22 6c 69 73 74  93 Changed "list
9af0: 22 20 61 6e 64 20 22 63 6f 6e 63 61 74 22 20 63  " and "concat" c
9b00: 6f 6d 6d 61 6e 64 73 20 6e 6f 74 20 74 6f 20 67  ommands not to g
9b10: 65 6e 65 72 61 74 65 0a 65 72 72 6f 72 73 20 69  enerate.errors i
9b20: 66 20 67 69 76 65 6e 20 7a 65 72 6f 20 61 72 67  f given zero arg
9b30: 75 6d 65 6e 74 73 2c 20 62 75 74 20 69 6e 73 74  uments, but inst
9b40: 65 61 64 20 74 6f 20 6a 75 73 74 20 72 65 74 75  ead to just retu
9b50: 72 6e 20 61 6e 20 65 6d 70 74 79 0a 73 74 72 69  rn an empty.stri
9b60: 6e 67 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ng...-----------
9b70: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
9b80: 76 65 72 73 69 6f 6e 20 37 2e 31 2c 20 31 31 2f  version 7.1, 11/
9b90: 34 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  4/93 -----------
9ba0: 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 6f 74 65 3a 20 74  -------..Note: t
9bb0: 68 65 72 65 20 69 73 20 6e 6f 20 37 2e 32 20 72  here is no 7.2 r
9bc0: 65 6c 65 61 73 65 2e 20 20 49 74 20 77 61 73 20  elease.  It was 
9bd0: 66 6c 61 77 65 64 20 61 6e 64 20 77 61 73 20 74  flawed and was t
9be0: 68 75 73 20 77 69 74 68 64 72 61 77 6e 0a 73 68  hus withdrawn.sh
9bf0: 6f 72 74 6c 79 20 61 66 74 65 72 20 69 74 20 77  ortly after it w
9c00: 61 73 20 72 65 6c 65 61 73 65 64 2e 0a 0a 32 33  as released...23
9c10: 38 2e 20 31 31 2f 31 30 2f 39 33 20 54 63 6c 4d  8. 11/10/93 TclM
9c20: 61 69 6e 2e 63 20 64 69 64 6e 27 74 20 63 6f 6d  ain.c didn't com
9c30: 70 69 6c 65 20 6f 6e 20 73 6f 6d 65 20 73 79 73  pile on some sys
9c40: 74 65 6d 73 20 62 65 63 61 75 73 65 20 6f 66 0a  tems because of.
9c50: 52 5f 4f 4b 20 69 6e 20 63 61 6c 6c 20 74 6f 20  R_OK in call to 
9c60: 22 61 63 63 65 73 73 22 2e 20 20 43 68 61 6e 67  "access".  Chang
9c70: 65 64 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20  ed to eliminate 
9c80: 63 61 6c 6c 20 74 6f 20 22 61 63 63 65 73 73 22  call to "access"
9c90: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
9ca0: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
9cb0: 72 73 69 6f 6e 20 37 2e 33 2c 20 31 31 2f 32 36  rsion 7.3, 11/26
9cc0: 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /93 ------------
9cd0: 2d 2d 2d 2d 2d 2d 0a 0a 32 33 39 2e 20 31 31 2f  ------..239. 11/
9ce0: 36 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 22 6c  6/93 Modified "l
9cf0: 69 6e 64 65 78 22 2c 20 22 6c 69 6e 73 65 72 74  index", "linsert
9d00: 22 2c 20 22 6c 72 61 6e 67 65 22 2c 20 61 6e 64  ", "lrange", and
9d10: 20 22 6c 72 65 70 6c 61 63 65 22 0a 73 6f 20 74   "lreplace".so t
9d20: 68 61 74 20 22 65 6e 64 22 20 63 61 6e 20 62 65  hat "end" can be
9d30: 20 73 70 65 63 69 66 69 65 64 20 61 73 20 61 6e   specified as an
9d40: 20 69 6e 64 65 78 2e 0a 0a 32 34 30 2e 20 31 31   index...240. 11
9d50: 2f 36 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 22  /6/93 Modified "
9d60: 61 70 70 65 6e 64 22 20 61 6e 64 20 22 6c 61 70  append" and "lap
9d70: 70 65 6e 64 22 20 74 6f 20 61 6c 6c 6f 77 20 6f  pend" to allow o
9d80: 6e 6c 79 20 74 77 6f 0a 77 6f 72 64 73 20 74 6f  nly two.words to
9d90: 74 61 6c 20 28 69 2e 65 2e 2c 20 6e 6f 74 68 69  tal (i.e., nothi
9da0: 6e 67 20 74 6f 20 61 70 70 65 6e 64 29 20 77 69  ng to append) wi
9db0: 74 68 6f 75 74 20 67 65 6e 65 72 61 74 69 6e 67  thout generating
9dc0: 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 32 34 31 2e   an error...241.
9dd0: 20 31 32 2f 32 2f 39 33 20 43 68 61 6e 67 65 64   12/2/93 Changed
9de0: 20 74 6f 20 75 73 65 20 45 41 47 41 49 4e 20 61   to use EAGAIN a
9df0: 73 20 74 68 65 20 65 72 72 6e 6f 20 66 6f 72 20  s the errno for 
9e00: 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 0a 49 2f 4f  non-blocking.I/O
9e10: 20 69 6e 73 74 65 61 64 20 6f 66 20 45 57 4f 55   instead of EWOU
9e20: 4c 44 42 4c 4f 43 4b 3a 20 20 74 68 69 73 20 73  LDBLOCK:  this s
9e30: 68 6f 75 6c 64 20 66 69 78 20 70 72 6f 62 6c 65  hould fix proble
9e40: 6d 20 77 68 65 72 65 20 6e 6f 6e 2d 62 6c 6f 63  m where non-bloc
9e50: 6b 69 6e 67 0a 49 2f 4f 20 64 69 64 6e 27 74 20  king.I/O didn't 
9e60: 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 6f  work correctly o
9e70: 6e 20 53 79 73 74 65 6d 2d 56 20 73 79 73 74 65  n System-V syste
9e80: 6d 73 2e 0a 0a 32 34 32 2e 20 31 32 2f 32 32 2f  ms...242. 12/22/
9e90: 39 33 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  93 Fixed bug in 
9ea0: 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 72  expressions wher
9eb0: 65 20 63 61 6e 63 65 6c 6c 65 64 20 65 76 61 6c  e cancelled eval
9ec0: 75 61 74 69 6f 6e 0a 77 61 73 6e 27 74 20 61 6c  uation.wasn't al
9ed0: 77 61 79 73 20 77 6f 72 6b 69 6e 67 20 63 6f 72  ways working cor
9ee0: 72 65 63 74 6c 79 20 28 65 2e 67 2e 20 22 73 65  rectly (e.g. "se
9ef0: 74 20 6f 6e 65 20 31 3b 20 65 76 61 6c 20 7b 31  t one 1; eval {1
9f00: 20 7c 7c 20 31 2f 24 6f 6e 65 7d 22 0a 66 61 69   || 1/$one}".fai
9f10: 6c 65 64 20 77 69 74 68 20 61 20 64 69 76 69 64  led with a divid
9f20: 65 20 62 79 20 7a 65 72 6f 20 65 72 72 6f 72 29  e by zero error)
9f30: 2e 0a 0a 32 34 33 2e 20 31 2f 36 2f 39 34 20 43  ...243. 1/6/94 C
9f40: 68 61 6e 67 65 64 20 54 43 4c 5f 56 4f 4c 41 54  hanged TCL_VOLAT
9f50: 49 4c 45 20 64 65 66 69 6e 69 74 69 6f 6e 20 66  ILE definition f
9f60: 72 6f 6d 20 2d 31 20 74 6f 20 74 68 65 20 61 64  rom -1 to the ad
9f70: 64 72 65 73 73 20 6f 66 0a 61 20 64 75 6d 6d 79  dress of.a dummy
9f80: 20 70 72 6f 63 65 64 75 72 65 20 54 63 6c 5f 56   procedure Tcl_V
9f90: 6f 6c 61 74 69 6c 65 2c 20 73 69 6e 63 65 20 2d  olatile, since -
9fa0: 31 20 63 61 75 73 65 73 20 70 6f 72 74 61 62 69  1 causes portabi
9fb0: 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 6f 6e  lity problems on
9fc0: 0a 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20 28  .some machines (
9fd0: 65 2e 67 2e 2c 20 43 72 61 79 73 29 2e 0a 0a 32  e.g., Crays)...2
9fe0: 34 34 2e 20 32 2f 34 2f 39 34 20 41 64 64 65 64  44. 2/4/94 Added
9ff0: 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 6e 61   support for una
a000: 72 79 20 70 6c 75 73 2e 0a 0a 32 34 35 2e 20 32  ry plus...245. 2
a010: 2f 31 37 2f 39 34 20 43 68 61 6e 67 65 64 20 54  /17/94 Changed T
a020: 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c  cl_RecordAndEval
a030: 20 61 6e 64 20 22 68 69 73 74 6f 72 79 22 20 63   and "history" c
a040: 6f 6d 6d 61 6e 64 20 74 6f 0a 63 61 6c 6c 20 54  ommand to.call T
a050: 63 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 20 69 6e  cl_GlobalEval in
a060: 73 74 65 61 64 20 6f 66 20 54 63 6c 5f 45 76 61  stead of Tcl_Eva
a070: 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69  l.  Otherwise, i
a080: 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 0a 74 68 65  nvocation of.the
a090: 73 65 20 66 61 63 69 6c 69 74 69 65 73 20 69 6e  se facilities in
a0a0: 20 6e 65 73 74 65 64 20 70 72 6f 63 65 64 75 72   nested procedur
a0b0: 65 73 20 63 61 6e 20 63 61 75 73 65 20 75 6e 77  es can cause unw
a0c0: 61 6e 74 65 64 20 72 65 73 75 6c 74 73 2e 0a 0a  anted results...
a0d0: 32 34 36 2e 20 32 2f 31 37 2f 39 34 20 46 69 78  246. 2/17/94 Fix
a0e0: 65 64 20 62 75 67 20 69 6e 20 74 63 6c 45 78 70  ed bug in tclExp
a0f0: 72 2e 63 20 77 68 65 72 65 20 61 6e 20 65 78 70  r.c where an exp
a100: 72 65 73 73 69 6f 6e 20 73 75 63 68 20 61 73 0a  ression such as.
a110: 22 65 78 70 72 20 7b 22 31 32 33 39 38 37 31 32  "expr {"12398712
a120: 39 33 38 37 38 38 32 33 34 2d 31 32 39 38 33 37  938788234-129837
a130: 39 22 20 21 3d 20 22 22 7d 22 20 74 72 69 67 67  9" != ""}" trigg
a140: 65 72 73 20 61 6e 20 69 6e 74 65 67 65 72 0a 6f  ers an integer.o
a150: 76 65 72 66 6c 6f 77 20 65 72 72 6f 72 20 66 6f  verflow error fo
a160: 72 20 74 68 65 20 6e 75 6d 62 65 72 20 69 6e 20  r the number in 
a170: 71 75 6f 74 65 73 2c 20 65 76 65 6e 20 74 68 6f  quotes, even tho
a180: 75 67 68 20 69 74 20 69 73 6e 27 74 20 72 65 61  ugh it isn't rea
a190: 6c 6c 79 0a 61 20 70 72 6f 70 65 72 20 69 6e 74  lly.a proper int
a1a0: 65 67 65 72 20 61 6e 79 77 61 79 2e 0a 0a 32 34  eger anyway...24
a1b0: 37 2e 20 32 2f 31 39 2f 39 34 20 41 64 64 65 64  7. 2/19/94 Added
a1c0: 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 20 54   new procedure T
a1d0: 63 6c 5f 44 53 74 72 69 6e 67 47 65 74 52 65 73  cl_DStringGetRes
a1e0: 75 6c 74 20 74 6f 20 6d 6f 76 65 20 72 65 73 75  ult to move resu
a1f0: 6c 74 0a 66 72 6f 6d 20 69 6e 74 65 72 70 72 65  lt.from interpre
a200: 74 65 72 20 74 6f 20 61 20 64 79 6e 61 6d 69 63  ter to a dynamic
a210: 20 73 74 72 69 6e 67 2e 0a 0a 32 34 38 2e 20 32   string...248. 2
a220: 2f 31 39 2f 39 34 20 46 69 78 65 64 20 62 75 67  /19/94 Fixed bug
a230: 20 69 6e 20 54 63 6c 5f 44 53 74 72 69 6e 67 52   in Tcl_DStringR
a240: 65 73 75 6c 74 20 74 68 61 74 20 63 61 75 73 65  esult that cause
a250: 64 20 69 74 20 74 6f 20 6f 76 65 72 77 72 69 74  d it to overwrit
a260: 65 0a 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f  e.the contents o
a270: 66 20 61 20 73 74 61 74 69 63 20 72 65 73 75 6c  f a static resul
a280: 74 20 69 6e 20 73 6f 6d 65 20 73 69 74 75 61 74  t in some situat
a290: 69 6f 6e 73 2e 20 20 54 68 69 73 20 63 61 6e 20  ions.  This can 
a2a0: 63 61 75 73 65 0a 62 69 7a 61 72 72 65 20 65 72  cause.bizarre er
a2b0: 72 6f 72 73 20 73 75 63 68 20 61 73 20 76 61 72  rors such as var
a2c0: 69 61 62 6c 65 73 20 73 75 64 64 65 6e 6c 79 20  iables suddenly 
a2d0: 68 61 76 69 6e 67 20 65 6d 70 74 79 20 76 61 6c  having empty val
a2e0: 75 65 73 2e 0a 0a 32 34 39 2e 20 32 2f 32 31 2f  ues...249. 2/21/
a2f0: 39 34 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  94 Fixed bug in 
a300: 54 63 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65 6e  Tcl_AppendElemen
a310: 74 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 41 70  t, Tcl_DStringAp
a320: 70 65 6e 64 45 6c 65 6d 65 6e 74 2c 0a 61 6e 64  pendElement,.and
a330: 20 74 68 65 20 22 6c 61 70 70 65 6e 64 22 20 63   the "lappend" c
a340: 6f 6d 6d 61 6e 64 20 74 68 61 74 20 63 61 75 73  ommand that caus
a350: 65 64 20 69 6d 70 72 6f 70 65 72 20 6f 6d 69 73  ed improper omis
a360: 73 69 6f 6e 20 6f 66 20 61 20 73 65 70 61 72 61  sion of a separa
a370: 74 6f 72 0a 73 70 61 63 65 20 69 6e 20 73 6f 6d  tor.space in som
a380: 65 20 63 61 73 65 73 2e 20 20 46 6f 72 20 65 78  e cases.  For ex
a390: 61 6d 70 6c 65 2c 20 74 68 65 20 73 63 72 69 70  ample, the scrip
a3a0: 74 0a 20 20 20 20 73 65 74 20 78 20 22 61 62 63  t.    set x "abc
a3b0: 7b 22 3b 20 6c 61 70 70 65 6e 64 20 78 20 22 64  {"; lappend x "d
a3c0: 65 66 22 0a 75 73 65 64 20 74 6f 20 72 65 74 75  ef".used to retu
a3d0: 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 22 61  rn the result "a
a3e0: 62 63 7b 64 65 66 22 20 69 6e 73 74 65 61 64 20  bc{def" instead 
a3f0: 6f 66 20 22 61 62 63 7b 20 64 65 66 22 2e 0a 0a  of "abc{ def"...
a400: 32 35 30 2e 20 33 2f 33 2f 39 34 20 54 63 6c 5f  250. 3/3/94 Tcl_
a410: 43 6f 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20 77  ConvertElement w
a420: 61 73 20 6f 75 74 70 75 74 74 69 6e 67 20 65 6d  as outputting em
a430: 70 74 79 20 65 6c 65 6d 65 6e 74 73 20 61 73 20  pty elements as 
a440: 5c 30 20 69 66 0a 54 43 4c 5f 44 4f 4e 54 5f 55  \0 if.TCL_DONT_U
a450: 53 45 5f 42 52 41 43 45 53 20 77 61 73 20 73 65  SE_BRACES was se
a460: 74 2e 20 20 54 68 69 73 20 64 65 70 65 6e 64 73  t.  This depends
a470: 20 6f 6e 20 6f 6c 64 20 70 72 65 2d 37 2e 30 20   on old pre-7.0 
a480: 6d 65 61 6e 69 6e 67 20 6f 66 0a 5c 30 2c 20 77  meaning of.\0, w
a490: 68 69 63 68 20 69 73 20 6e 6f 20 6c 6f 6e 67 65  hich is no longe
a4a0: 72 20 69 6e 20 65 66 66 65 63 74 2c 20 73 6f 20  r in effect, so 
a4b0: 69 74 20 64 69 64 6e 27 74 20 72 65 61 6c 6c 79  it didn't really
a4c0: 20 77 6f 72 6b 2e 20 20 43 68 61 6e 67 65 64 0a   work.  Changed.
a4d0: 74 6f 20 6f 75 74 70 75 74 20 65 6d 70 74 79 20  to output empty 
a4e0: 65 6c 65 6d 65 6e 74 73 20 61 73 20 7b 7d 20 61  elements as {} a
a4f0: 6c 77 61 79 73 2e 0a 0a 32 35 31 2e 20 33 2f 33  lways...251. 3/3
a500: 2f 39 34 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f  /94 Renamed Tcl_
a510: 44 53 74 72 69 6e 67 54 72 75 6e 63 20 74 6f 20  DStringTrunc to 
a520: 54 63 6c 5f 44 53 74 72 69 6e 67 53 65 74 4c 65  Tcl_DStringSetLe
a530: 6e 67 74 68 20 61 6e 64 20 65 78 74 65 6e 64 65  ngth and extende
a540: 64 0a 69 74 20 73 6f 20 74 68 61 74 20 69 74 20  d.it so that it 
a550: 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c  can be used to l
a560: 65 6e 67 74 68 65 6e 20 61 20 73 74 72 69 6e 67  engthen a string
a570: 20 61 73 20 77 65 6c 6c 20 61 73 20 73 68 6f 72   as well as shor
a580: 74 65 6e 20 69 74 2e 0a 54 63 6c 5f 44 53 74 72  ten it..Tcl_DStr
a590: 69 6e 67 54 72 75 6e 63 20 69 73 20 64 65 66 69  ingTrunc is defi
a5a0: 6e 65 64 20 61 73 20 61 20 6d 61 63 72 6f 20 66  ned as a macro f
a5b0: 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70  or backward comp
a5c0: 61 74 69 62 69 6c 69 74 79 2c 20 62 75 74 0a 69  atibility, but.i
a5d0: 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e  t is deprecated.
a5e0: 0a 0a 32 35 32 2e 20 33 2f 33 2f 39 34 20 41 64  ..252. 3/3/94 Ad
a5f0: 64 65 64 20 54 63 6c 5f 41 6c 6c 6f 77 45 78 63  ded Tcl_AllowExc
a600: 65 70 74 69 6f 6e 73 20 70 72 6f 63 65 64 75 72  eptions procedur
a610: 65 2e 0a 0a 32 35 33 2e 20 33 2f 31 33 2f 39 34  e...253. 3/13/94
a620: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63   Fixed bug in Tc
a630: 6c 5f 46 6f 72 6d 61 74 43 6d 64 20 74 68 61 74  l_FormatCmd that
a640: 20 63 6f 75 6c 64 20 63 61 75 73 65 20 22 66 6f   could cause "fo
a650: 72 6d 61 74 22 0a 74 6f 20 6d 69 73 2d 62 65 68  rmat".to mis-beh
a660: 61 76 65 20 6f 6e 20 36 34 2d 62 69 74 20 42 69  ave on 64-bit Bi
a670: 67 2d 45 6e 64 69 61 6e 20 6d 61 63 68 69 6e 65  g-Endian machine
a680: 73 2e 0a 0a 32 35 34 2e 20 33 2f 31 33 2f 39 34  s...254. 3/13/94
a690: 20 43 68 61 6e 67 65 64 20 74 6f 20 75 73 65 20   Changed to use 
a6a0: 76 66 6f 72 6b 20 69 6e 73 74 65 61 64 20 6f 66  vfork instead of
a6b0: 20 66 6f 72 6b 20 6f 6e 20 73 79 73 74 65 6d 73   fork on systems
a6c0: 20 77 68 65 72 65 0a 76 66 6f 72 6b 20 65 78 69   where.vfork exi
a6d0: 73 74 73 2e 0a 0a 32 35 35 2e 20 33 2f 32 33 2f  sts...255. 3/23/
a6e0: 39 34 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  94 Fixed bug in 
a6f0: 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 72  expressions wher
a700: 65 20 3f 3a 20 64 69 64 6e 27 74 20 61 73 73 6f  e ?: didn't asso
a710: 63 69 61 74 65 0a 72 69 67 68 74 2d 74 6f 2d 6c  ciate.right-to-l
a720: 65 66 74 20 61 73 20 74 68 65 79 20 73 68 6f 75  eft as they shou
a730: 6c 64 2e 0a 0a 32 35 36 2e 20 34 2f 33 2f 39 34  ld...256. 4/3/94
a740: 20 46 69 78 65 64 20 22 65 78 65 63 22 20 74 6f   Fixed "exec" to
a750: 20 66 6c 75 73 68 20 61 6e 79 20 66 69 6c 65 73   flush any files
a760: 20 75 73 65 64 20 69 6e 20 3e 40 20 6f 72 20 3e   used in >@ or >
a770: 26 40 0a 72 65 64 69 72 65 63 74 69 6f 6e 20 69  &@.redirection i
a780: 6e 20 65 78 65 63 2c 20 73 6f 20 74 68 61 74 20  n exec, so that 
a790: 64 61 74 61 20 62 75 66 66 65 72 65 64 20 66 6f  data buffered fo
a7a0: 72 20 74 68 65 6d 20 69 73 20 77 72 69 74 74 65  r them is writte
a7b0: 6e 0a 62 65 66 6f 72 65 20 61 6e 79 20 6e 65 77  n.before any new
a7c0: 20 64 61 74 61 20 61 64 64 65 64 20 62 79 20 74   data added by t
a7d0: 68 65 20 73 75 62 70 72 6f 63 65 73 73 2e 0a 0a  he subprocess...
a7e0: 32 35 37 2e 20 34 2f 33 2f 39 34 20 41 64 64 65  257. 4/3/94 Adde
a7f0: 64 20 22 73 75 62 73 74 22 20 63 6f 6d 6d 61 6e  d "subst" comman
a800: 64 2e 0a 0a 32 35 38 2e 20 35 2f 32 30 2f 39 34  d...258. 5/20/94
a810: 20 54 68 65 20 74 63 6c 73 68 20 6d 61 69 6e 20   The tclsh main 
a820: 70 72 6f 67 72 61 6d 20 69 73 20 6e 6f 77 20 63  program is now c
a830: 61 6c 6c 65 64 20 54 63 6c 5f 4d 61 69 6e 3b 20  alled Tcl_Main; 
a840: 20 74 63 6c 41 70 70 49 6e 69 74 2e 63 0a 68 61   tclAppInit.c.ha
a850: 73 20 61 20 22 6d 61 69 6e 22 20 70 72 6f 63 65  s a "main" proce
a860: 64 75 72 65 20 74 68 61 74 20 63 61 6c 6c 73 20  dure that calls 
a870: 54 63 6c 5f 4d 61 69 6e 2e 20 20 54 68 69 73 20  Tcl_Main.  This 
a880: 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20  makes it easier 
a890: 74 6f 20 75 73 65 0a 54 63 6c 20 77 69 74 68 20  to use.Tcl with 
a8a0: 43 2b 2b 20 70 72 6f 67 72 61 6d 73 2c 20 77 68  C++ programs, wh
a8b0: 69 63 68 20 6e 65 65 64 20 74 68 65 69 72 20 6f  ich need their o
a8c0: 77 6e 20 6d 61 69 6e 20 70 72 6f 67 72 61 6d 73  wn main programs
a8d0: 2c 20 61 6e 64 20 69 74 20 61 6c 73 6f 0a 61 6c  , and it also.al
a8e0: 6c 6f 77 73 20 61 6e 20 61 70 70 6c 69 63 61 74  lows an applicat
a8f0: 69 6f 6e 20 74 6f 20 70 72 65 66 69 6c 74 65 72  ion to prefilter
a900: 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6c 69   the argument li
a910: 73 74 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e  st before callin
a920: 67 0a 54 63 6c 5f 4d 61 69 6e 2e 0a 2a 2a 2a 20  g.Tcl_Main..*** 
a930: 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
a940: 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32  ATIBILITY ***..2
a950: 35 39 2e 20 36 2f 36 2f 39 34 20 46 69 78 65 64  59. 6/6/94 Fixed
a960: 20 62 75 67 20 69 6e 20 70 72 6f 63 65 64 75 72   bug in procedur
a970: 65 20 72 65 74 75 72 6e 73 20 77 68 65 72 65 20  e returns where 
a980: 74 68 65 20 65 72 72 6f 72 49 6e 66 6f 20 76 61  the errorInfo va
a990: 72 69 61 62 6c 65 0a 63 6f 75 6c 64 20 67 65 74  riable.could get
a9a0: 20 74 72 75 6e 63 61 74 65 64 20 69 66 20 61 6e   truncated if an
a9b0: 20 75 6e 73 65 74 20 74 72 61 63 65 20 77 61 73   unset trace was
a9c0: 20 69 6e 76 6f 6b 65 64 20 61 73 20 70 61 72 74   invoked as part
a9d0: 20 6f 66 20 72 65 74 75 72 6e 69 6e 67 0a 66 72   of returning.fr
a9e0: 6f 6d 20 74 68 65 20 70 72 6f 63 65 64 75 72 65  om the procedure
a9f0: 2e 0a 0a 32 36 30 2e 20 36 2f 31 33 2f 39 34 20  ...260. 6/13/94 
aa00: 41 64 64 65 64 20 22 77 6f 72 64 73 74 61 72 74  Added "wordstart
aa10: 22 20 61 6e 64 20 22 77 6f 72 64 65 6e 64 22 20  " and "wordend" 
aa20: 6f 70 74 69 6f 6e 73 20 74 6f 20 22 73 74 72 69  options to "stri
aa30: 6e 67 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32 36  ng" command...26
aa40: 31 2e 20 36 2f 32 37 2f 39 34 20 46 69 78 65 64  1. 6/27/94 Fixed
aa50: 20 62 75 67 20 69 6e 20 65 78 70 72 65 73 73 69   bug in expressi
aa60: 6f 6e 73 20 77 68 65 72 65 20 74 68 65 79 20 64  ons where they d
aa70: 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 63  idn't properly c
aa80: 61 6e 63 65 6c 0a 74 68 65 20 65 76 61 6c 75 61  ancel.the evalua
aa90: 74 69 6f 6e 20 6f 66 20 6d 61 74 68 20 66 75 6e  tion of math fun
aaa0: 63 74 69 6f 6e 73 20 69 6e 20 26 26 2c 20 7c 7c  ctions in &&, ||
aab0: 2c 20 61 6e 64 20 3f 3a 2e 0a 0a 32 36 32 2e 20  , and ?:...262. 
aac0: 37 2f 31 31 2f 39 34 20 49 6e 63 6f 72 72 65 63  7/11/94 Incorrec
aad0: 74 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 73  t boolean values
aae0: 2c 20 6c 69 6b 65 20 22 6f 67 6c 65 22 2c 20 77  , like "ogle", w
aaf0: 65 72 65 6e 27 74 20 62 65 69 6e 67 0a 68 61 6e  eren't being.han
ab00: 64 6c 65 64 20 70 72 6f 70 65 72 6c 79 2e 0a 0a  dled properly...
ab10: 32 36 33 2e 20 37 2f 31 35 2f 39 34 20 41 64 64  263. 7/15/94 Add
ab20: 65 64 20 54 63 6c 5f 52 65 67 45 78 70 43 6f 6d  ed Tcl_RegExpCom
ab30: 70 69 6c 65 2c 20 54 63 6c 5f 52 65 67 45 78 70  pile, Tcl_RegExp
ab40: 45 78 65 63 2c 20 61 6e 64 20 54 63 6c 5f 52 65  Exec, and Tcl_Re
ab50: 67 45 78 70 52 61 6e 67 65 2c 0a 77 68 69 63 68  gExpRange,.which
ab60: 20 70 72 6f 76 69 64 65 20 6c 6f 77 65 72 2d 6c   provide lower-l
ab70: 65 76 65 6c 20 61 63 63 65 73 73 20 74 6f 20 72  evel access to r
ab80: 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
ab90: 6e 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69  n pattern matchi
aba0: 6e 67 2e 0a 0a 32 36 34 2e 20 37 2f 32 32 2f 39  ng...264. 7/22/9
abb0: 34 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 22  4 Fixed bug in "
abc0: 67 6c 6f 62 22 20 63 6f 6d 6d 61 6e 64 20 77 68  glob" command wh
abd0: 65 72 65 20 22 67 6c 6f 62 20 2d 6e 6f 63 6f 6d  ere "glob -nocom
abe0: 70 6c 61 69 6e 20 7e 62 61 64 5f 75 73 65 72 22  plain ~bad_user"
abf0: 0a 77 6f 75 6c 64 20 63 6f 6d 70 6c 61 69 6e 20  .would complain 
ac00: 61 62 6f 75 74 20 61 20 6d 69 73 73 69 6e 67 20  about a missing 
ac10: 75 73 65 72 2e 20 20 4e 6f 77 20 69 74 20 64 6f  user.  Now it do
ac20: 65 73 6e 27 74 20 63 6f 6d 70 6c 61 69 6e 20 61  esn't complain a
ac30: 6e 79 6d 6f 72 65 2e 0a 0a 32 36 35 2e 20 38 2f  nymore...265. 8/
ac40: 34 2f 39 34 20 46 69 78 65 64 20 62 75 67 20 77  4/94 Fixed bug w
ac50: 69 74 68 20 6c 69 6e 6b 65 64 20 76 61 72 69 61  ith linked varia
ac60: 62 6c 65 73 20 77 68 65 72 65 20 74 68 65 79 20  bles where they 
ac70: 64 69 64 6e 27 74 20 62 65 68 61 76 65 0a 63 6f  didn't behave.co
ac80: 72 72 65 63 74 6c 79 20 77 68 65 6e 20 61 63 63  rrectly when acc
ac90: 65 73 73 65 64 20 76 69 61 20 75 70 76 61 72 73  essed via upvars
aca0: 2e 0a 0a 32 36 36 2e 20 38 2f 31 37 2f 39 34 20  ...266. 8/17/94 
acb0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c  Fixed bug in Tcl
acc0: 5f 45 76 61 6c 46 69 6c 65 20 77 68 65 72 65 20  _EvalFile where 
acd0: 69 74 20 64 69 64 6e 27 74 20 63 6c 65 61 72 20  it didn't clear 
ace0: 69 6e 74 65 72 70 2d 3e 72 65 73 75 6c 74 2e 0a  interp->result..
acf0: 0a 32 36 37 2e 20 38 2f 33 31 2f 39 34 20 4d 6f  .267. 8/31/94 Mo
ad00: 64 69 66 69 65 64 20 22 6f 70 65 6e 22 20 63 6f  dified "open" co
ad10: 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 65 72  mmand so that er
ad20: 72 6f 72 73 20 69 6e 20 65 78 65 63 2d 69 6e 67  rors in exec-ing
ad30: 0a 73 75 62 70 72 6f 63 65 73 73 65 73 20 61 72  .subprocesses ar
ad40: 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68  e returned by th
ad50: 65 20 6f 70 65 6e 20 69 6d 6d 65 64 69 61 74 65  e open immediate
ad60: 6c 79 2c 20 72 61 74 68 65 72 20 74 68 61 6e 0a  ly, rather than.
ad70: 62 65 69 6e 67 20 64 65 6c 61 79 65 64 20 75 6e  being delayed un
ad80: 74 69 6c 20 74 68 65 20 22 63 6c 6f 73 65 22 20  til the "close" 
ad90: 69 73 20 65 78 65 63 75 74 65 64 2e 0a 0a 32 36  is executed...26
ada0: 38 2e 20 39 2f 39 2f 39 34 20 4d 6f 64 69 66 69  8. 9/9/94 Modifi
adb0: 65 64 20 22 65 78 70 72 22 20 63 6f 6d 6d 61 6e  ed "expr" comman
adc0: 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 65 72  d to generate er
add0: 72 6f 72 73 20 66 6f 72 20 69 6e 74 65 67 65 72  rors for integer
ade0: 0a 6f 76 65 72 66 6c 6f 77 20 28 69 6e 63 6c 75  .overflow (inclu
adf0: 64 65 73 20 61 64 64 69 74 69 6f 6e 2c 20 73 75  des addition, su
ae00: 62 74 72 61 63 74 69 6f 6e 2c 20 6e 65 67 61 74  btraction, negat
ae10: 69 6f 6e 2c 20 6d 75 6c 74 69 70 6c 69 63 61 74  ion, multiplicat
ae20: 69 6f 6e 2c 0a 64 69 76 69 73 69 6f 6e 29 2e 0a  ion,.division)..
ae30: 0a 32 36 39 2e 20 39 2f 32 33 2f 39 34 20 4d 6f  .269. 9/23/94 Mo
ae40: 64 69 66 69 65 64 20 22 72 65 67 73 75 62 22 20  dified "regsub" 
ae50: 74 6f 20 72 65 74 75 72 6e 20 61 20 63 6f 75 6e  to return a coun
ae60: 74 20 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20  t of the number 
ae70: 6f 66 0a 6d 61 74 63 68 65 73 20 61 6e 64 20 72  of.matches and r
ae80: 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 72 61 74  eplacements, rat
ae90: 68 65 72 20 74 68 61 6e 20 30 2f 31 2e 0a 0a 32  her than 0/1...2
aea0: 37 39 2e 20 31 30 2f 34 2f 39 34 20 41 64 64 65  79. 10/4/94 Adde
aeb0: 64 20 6e 65 77 20 66 65 61 74 75 72 65 73 20 74  d new features t
aec0: 6f 20 22 61 72 72 61 79 22 20 63 6f 6d 6d 61 6e  o "array" comman
aed0: 64 3a 0a 20 20 20 20 2d 20 61 64 64 65 64 20 22  d:.    - added "
aee0: 67 65 74 22 20 61 6e 64 20 22 73 65 74 22 20 63  get" and "set" c
aef0: 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 65 61 73 79  ommands for easy
af00: 20 63 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77   conversion betw
af10: 65 65 6e 20 61 72 72 61 79 73 0a 20 20 20 20 20  een arrays.     
af20: 20 61 6e 64 20 6c 69 73 74 73 2e 0a 20 20 20 20   and lists..    
af30: 2d 20 61 64 64 65 64 20 22 65 78 69 73 74 73 22  - added "exists"
af40: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 65 20   command to see 
af50: 69 66 20 61 20 76 61 72 69 61 62 6c 65 20 69 73  if a variable is
af60: 20 61 6e 20 61 72 72 61 79 2c 20 63 68 61 6e 67   an array, chang
af70: 65 64 0a 20 20 20 20 20 20 22 6e 61 6d 65 73 22  ed.      "names"
af80: 20 61 6e 64 20 22 73 69 7a 65 22 20 63 6f 6d 6d   and "size" comm
af90: 61 6e 64 73 20 74 6f 20 74 72 65 61 74 20 61 20  ands to treat a 
afa0: 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 61 72 72  non-existent arr
afb0: 61 79 20 28 6f 72 20 73 63 61 6c 61 72 0a 20 20  ay (or scalar.  
afc0: 20 20 20 20 76 61 72 69 61 62 6c 65 29 20 6a 75      variable) ju
afd0: 73 74 20 6c 69 6b 65 20 61 6e 20 65 6d 70 74 79  st like an empty
afe0: 20 6f 6e 65 2e 0a 20 20 20 20 2d 20 61 64 64 65   one..    - adde
aff0: 64 20 70 61 74 74 65 72 6e 20 6f 70 74 69 6f 6e  d pattern option
b000: 20 74 6f 20 22 6e 61 6d 65 73 22 20 63 6f 6d 6d   to "names" comm
b010: 61 6e 64 2e 0a 0a 32 38 30 2e 20 31 30 2f 36 2f  and...280. 10/6/
b020: 39 34 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f  94 Modified Tcl_
b030: 53 65 74 56 61 72 32 20 73 6f 20 74 68 61 74 20  SetVar2 so that 
b040: 72 65 61 64 20 74 72 61 63 65 73 20 6f 6e 20 76  read traces on v
b050: 61 72 69 61 62 6c 65 73 20 67 65 74 0a 63 61 6c  ariables get.cal
b060: 6c 65 64 20 64 75 72 69 6e 67 20 61 70 70 65 6e  led during appen
b070: 64 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 0a 32  d operations...2
b080: 38 31 2e 20 31 30 2f 32 30 2f 39 34 20 46 69 78  81. 10/20/94 Fix
b090: 65 64 20 62 75 67 20 69 6e 20 22 72 65 61 64 22  ed bug in "read"
b0a0: 20 63 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 72   command where r
b0b0: 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 64 69  eading from stdi
b0c0: 6e 0a 72 65 71 75 69 72 65 64 20 74 77 6f 20 63  n.required two c
b0d0: 6f 6e 74 72 6f 6c 2d 44 27 73 20 74 6f 20 73 74  ontrol-D's to st
b0e0: 6f 70 20 74 68 65 20 72 65 61 64 69 6e 67 2e 0a  op the reading..
b0f0: 0a 32 38 32 2e 20 31 31 2f 33 2f 39 34 20 43 68  .282. 11/3/94 Ch
b100: 61 6e 67 65 64 20 22 65 78 70 72 22 20 63 6f 6d  anged "expr" com
b110: 6d 61 6e 64 20 74 6f 20 75 73 65 20 6c 6f 6e 67  mand to use long
b120: 73 20 66 6f 72 20 64 69 76 69 73 69 6f 6e 20 6a  s for division j
b130: 75 73 74 20 6c 69 6b 65 0a 61 6c 6c 20 6f 74 68  ust like.all oth
b140: 65 72 20 65 78 70 72 20 6f 70 65 72 61 74 6f 72  er expr operator
b150: 73 3b 20 20 69 74 20 70 72 65 76 69 6f 75 73 6c  s;  it previousl
b160: 79 20 75 73 65 64 20 69 6e 74 73 20 66 6f 72 20  y used ints for 
b170: 64 69 76 69 73 69 6f 6e 2e 0a 0a 32 38 33 2e 20  division...283. 
b180: 31 31 2f 34 2f 39 34 20 46 69 78 65 64 20 62 75  11/4/94 Fixed bu
b190: 67 73 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20  gs in "unknown" 
b1a0: 70 72 6f 63 65 64 75 72 65 3a 20 20 69 74 20 77  procedure:  it w
b1b0: 61 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 0a 68  asn't properly.h
b1c0: 61 6e 64 6c 69 6e 67 20 65 78 63 65 70 74 69 6f  andling exceptio
b1d0: 6e 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 63  n returns from c
b1e0: 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 77 65 72  ommands that wer
b1f0: 65 20 65 78 65 63 75 74 65 64 20 61 66 74 65 72  e executed after
b200: 0a 62 65 69 6e 67 20 61 75 74 6f 2d 6c 6f 61 64  .being auto-load
b210: 65 64 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ed...-----------
b220: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
b230: 76 65 72 73 69 6f 6e 20 37 2e 34 62 31 2c 20 31  version 7.4b1, 1
b240: 32 2f 32 33 2f 39 34 20 2d 2d 2d 2d 2d 2d 2d 2d  2/23/94 --------
b250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 38 34 2e  ----------..284.
b260: 20 31 32 2f 32 36 2f 39 34 20 46 69 78 65 64 20   12/26/94 Fixed 
b270: 22 69 6e 73 74 61 6c 6c 22 20 74 61 72 67 65 74  "install" target
b280: 20 69 6e 20 4d 61 6b 65 66 69 6c 65 20 28 63 6f   in Makefile (co
b290: 75 6c 64 6e 27 74 20 61 6c 77 61 79 73 0a 66 69  uldn't always.fi
b2a0: 6e 64 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67 72  nd install progr
b2b0: 61 6d 29 2e 0a 0a 32 38 35 2e 20 31 32 2f 32 36  am)...285. 12/26
b2c0: 2f 39 34 20 41 64 64 65 64 20 73 74 72 63 6e 63  /94 Added strcnc
b2d0: 61 73 65 63 6d 70 20 70 72 6f 63 65 64 75 72 65  asecmp procedure
b2e0: 20 74 6f 20 63 6f 6d 70 61 74 20 64 69 72 65 63   to compat direc
b2f0: 74 6f 72 79 2e 0a 0a 32 38 36 2e 20 31 2f 33 2f  tory...286. 1/3/
b300: 39 35 20 46 69 78 65 64 20 61 6c 6c 20 70 72 6f  95 Fixed all pro
b310: 63 65 64 75 72 65 20 63 61 6c 6c 73 20 74 6f 20  cedure calls to 
b320: 65 78 70 6c 69 63 69 74 6c 79 20 63 61 73 74 20  explicitly cast 
b330: 61 72 67 75 6d 65 6e 74 73 3a 0a 69 6d 70 6c 69  arguments:.impli
b340: 63 69 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20  cit conversions 
b350: 66 72 6f 6d 20 70 72 6f 74 6f 74 79 70 65 73 20  from prototypes 
b360: 28 65 73 70 65 63 69 61 6c 6c 79 20 69 6e 74 65  (especially inte
b370: 67 65 72 2d 3e 64 6f 75 62 6c 65 29 0a 64 6f 6e  ger->double).don
b380: 27 74 20 77 6f 72 6b 20 77 68 65 6e 20 63 6f 6d  't work when com
b390: 70 69 6c 69 6e 67 20 75 6e 64 65 72 20 6e 6f 6e  piling under non
b3a0: 2d 41 4e 53 49 20 63 6f 6d 70 69 6c 65 72 73 2e  -ANSI compilers.
b3b0: 20 20 54 63 6c 20 69 73 20 6e 6f 77 20 63 6c 65    Tcl is now cle
b3c0: 61 6e 0a 75 6e 64 65 72 20 67 63 63 20 2d 57 63  an.under gcc -Wc
b3d0: 6f 6e 76 65 72 73 69 6f 6e 2e 0a 0a 32 38 37 2e  onversion...287.
b3e0: 20 31 2f 34 2f 39 35 20 46 69 78 65 64 20 70 72   1/4/95 Fixed pr
b3f0: 6f 62 6c 65 6d 20 69 6e 20 54 63 6c 5f 41 72 72  oblem in Tcl_Arr
b400: 61 79 43 6d 64 20 77 68 65 72 65 20 73 61 6d 65  ayCmd where same
b410: 20 6e 61 6d 65 20 77 61 73 20 75 73 65 64 20 66   name was used f
b420: 6f 72 0a 62 6f 74 68 20 61 20 6c 61 62 65 6c 20  or.both a label 
b430: 61 6e 64 20 61 20 76 61 72 69 61 62 6c 65 3b 20  and a variable; 
b440: 20 63 61 75 73 65 64 20 70 72 6f 62 6c 65 6d 73   caused problems
b450: 20 6f 6e 20 73 65 76 65 72 61 6c 20 6f 6c 64 65   on several olde
b460: 72 20 63 6f 6d 70 69 6c 65 72 73 2c 0a 6d 61 6b  r compilers,.mak
b470: 69 6e 67 20 61 72 72 61 79 20 63 6f 6d 6d 61 6e  ing array comman
b480: 64 20 6d 69 73 62 65 68 61 76 65 20 61 6e 64 20  d misbehave and 
b490: 63 61 75 73 69 6e 67 20 6d 61 6e 79 20 65 72 72  causing many err
b4a0: 6f 72 73 20 69 6e 20 54 63 6c 20 74 65 73 74 20  ors in Tcl test 
b4b0: 73 75 69 74 65 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  suite...--------
b4c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
b4d0: 65 64 20 76 65 72 73 69 6f 6e 20 37 2e 34 62 32  ed version 7.4b2
b4e0: 2c 20 31 2f 31 32 2f 39 35 20 2d 2d 2d 2d 2d 2d  , 1/12/95 ------
b4f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 38  ------------..28
b500: 38 2e 20 32 2f 39 2f 39 35 20 4d 6f 64 69 66 69  8. 2/9/95 Modifi
b510: 65 64 20 54 63 6c 5f 43 72 65 61 74 65 43 6f 6d  ed Tcl_CreateCom
b520: 6d 61 6e 64 20 74 6f 20 72 65 74 75 72 6e 20 61  mand to return a
b530: 20 74 6f 6b 65 6e 2c 20 61 6e 64 20 61 64 64 65   token, and adde
b540: 64 0a 54 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e 64  d.Tcl_GetCommand
b550: 4e 61 6d 65 20 70 72 6f 63 65 64 75 72 65 2e 20  Name procedure. 
b560: 20 54 6f 67 65 74 68 65 72 2c 20 74 68 65 73 65   Together, these
b570: 20 70 72 6f 63 65 64 75 72 65 73 20 6d 61 6b 65   procedures make
b580: 20 69 74 20 70 6f 73 73 69 62 6c 65 0a 74 6f 20   it possible.to 
b590: 74 72 61 63 6b 20 72 65 6e 61 6d 65 73 20 6f 66  track renames of
b5a0: 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32 38 39   a command...289
b5b0: 2e 20 32 2f 31 33 2f 39 35 20 46 69 78 65 64 20  . 2/13/95 Fixed 
b5c0: 62 75 67 20 69 6e 20 65 78 70 72 20 77 68 65 72  bug in expr wher
b5d0: 65 20 22 30 38 39 22 20 77 61 73 20 69 6e 74 65  e "089" was inte
b5e0: 72 70 72 65 74 65 64 20 61 73 20 61 0a 66 6c 6f  rpreted as a.flo
b5f0: 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62  ating-point numb
b600: 65 72 20 72 61 74 68 65 72 20 74 68 61 6e 20 61  er rather than a
b610: 20 62 6f 67 75 73 20 6f 63 74 61 6c 20 6e 75 6d   bogus octal num
b620: 62 65 72 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  ber..*** POTENTI
b630: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
b640: 54 59 20 2a 2a 2a 0a 0a 32 39 30 2e 20 32 2f 31  TY ***..290. 2/1
b650: 34 2f 39 35 20 41 64 64 65 64 20 63 6f 64 65 20  4/95 Added code 
b660: 74 6f 20 54 63 6c 5f 47 65 74 49 6e 74 20 61 6e  to Tcl_GetInt an
b670: 64 20 54 63 6c 5f 47 65 74 44 6f 75 62 6c 65 20  d Tcl_GetDouble 
b680: 74 6f 20 63 68 65 63 6b 20 66 6f 72 0a 6f 76 65  to check for.ove
b690: 72 66 6c 6f 77 73 20 77 68 65 6e 20 72 65 61 64  rflows when read
b6a0: 69 6e 67 20 69 6e 20 6e 75 6d 62 65 72 73 2e 0a  ing in numbers..
b6b0: 0a 32 39 31 2e 20 32 2f 31 38 2f 39 35 20 43 68  .291. 2/18/95 Ch
b6c0: 61 6e 67 65 64 20 22 61 72 72 61 79 20 73 65 74  anged "array set
b6d0: 22 20 74 6f 20 73 74 6f 70 20 61 66 74 65 72 20  " to stop after 
b6e0: 66 69 72 73 74 20 65 72 72 6f 72 2c 20 72 61 74  first error, rat
b6f0: 68 65 72 20 74 68 61 6e 0a 63 6f 6e 74 69 6e 75  her than.continu
b700: 69 6e 67 20 61 66 74 65 72 20 65 72 72 6f 72 2e  ing after error.
b710: 0a 0a 32 39 32 2e 20 32 2f 32 30 2f 39 35 20 55  ..292. 2/20/95 U
b720: 70 67 72 61 64 65 64 20 74 6f 20 75 73 65 20 61  pgraded to use a
b730: 75 74 6f 63 6f 6e 66 20 76 65 72 73 69 6f 6e 20  utoconf version 
b740: 32 2e 32 2e 0a 0a 32 39 33 2e 20 32 2f 32 30 2f  2.2...293. 2/20/
b750: 39 35 20 46 69 78 65 64 20 63 6f 72 65 20 64 75  95 Fixed core du
b760: 6d 70 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63  mp that could oc
b770: 63 75 72 20 69 6e 20 22 73 63 61 6e 22 20 63 6f  cur in "scan" co
b780: 6d 6d 61 6e 64 20 69 66 20 61 0a 63 6c 6f 73 65  mmand if a.close
b790: 20 62 72 61 63 6b 65 74 20 77 61 73 20 6f 6d 69   bracket was omi
b7a0: 74 74 65 64 2e 0a 0a 32 39 34 2e 20 32 2f 32 37  tted...294. 2/27
b7b0: 2f 39 35 20 43 68 61 6e 67 65 64 20 4d 61 6b 65  /95 Changed Make
b7c0: 66 69 6c 65 20 74 6f 20 61 6c 77 61 79 73 20 75  file to always u
b7d0: 73 65 20 69 6e 73 74 61 6c 6c 2d 73 68 20 66 6f  se install-sh fo
b7e0: 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 73 3a  r installations:
b7f0: 0a 74 68 65 72 65 27 73 20 6a 75 73 74 20 74 6f  .there's just to
b800: 6f 20 6d 75 63 68 20 76 61 72 69 61 74 69 6f 6e  o much variation
b810: 20 61 6d 6f 6e 67 20 22 69 6e 73 74 61 6c 6c 22   among "install"
b820: 20 73 79 73 74 65 6d 20 70 72 6f 67 72 61 6d 73   system programs
b830: 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 6e  , which.makes in
b840: 73 74 61 6c 6c 61 74 69 6f 6e 20 66 6c 61 6b 65  stallation flake
b850: 79 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  y...------------
b860: 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76  ----- Released v
b870: 65 72 73 69 6f 6e 20 37 2e 34 62 33 2c 20 33 2f  ersion 7.4b3, 3/
b880: 32 34 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  24/95 ----------
b890: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 33 2f 32 35 2f 39  --------..3/25/9
b8a0: 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  5 (bug fix) Chan
b8b0: 67 65 64 20 22 69 6e 73 74 61 6c 6c 22 20 74 6f  ged "install" to
b8c0: 20 22 2e 2f 69 6e 73 74 61 6c 6c 22 20 69 6e 20   "./install" in 
b8d0: 4d 61 6b 65 66 69 6c 65 20 73 6f 20 74 68 61 74  Makefile so that
b8e0: 0a 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 22 20  ."make install" 
b8f0: 77 69 6c 6c 20 77 6f 72 6b 20 65 76 65 6e 20 77  will work even w
b900: 68 65 6e 20 22 2e 22 20 69 73 6e 27 74 20 69 6e  hen "." isn't in
b910: 20 74 68 65 20 73 65 61 72 63 68 20 70 61 74 68   the search path
b920: 2e 0a 0a 33 2f 32 39 2f 39 35 20 28 62 75 67 20  ...3/29/95 (bug 
b930: 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 77  fix) Fixed bug w
b940: 68 65 72 65 20 74 68 65 20 61 75 74 6f 2d 6c 6f  here the auto-lo
b950: 61 64 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20  ading mechanism 
b960: 77 61 73 6e 27 74 0a 70 72 6f 74 65 63 74 69 6e  wasn't.protectin
b970: 67 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20  g the values of 
b980: 74 68 65 20 65 72 72 6f 72 43 6f 64 65 20 61 6e  the errorCode an
b990: 64 20 65 72 72 6f 72 49 6e 66 6f 20 76 61 72 69  d errorInfo vari
b9a0: 61 62 6c 65 73 2e 0a 0a 33 2f 32 39 2f 39 35 20  ables...3/29/95 
b9b0: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
b9c0: 64 65 64 20 6f 70 74 69 6f 6e 61 6c 20 70 61 74  ded optional pat
b9d0: 74 65 72 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f  tern argument to
b9e0: 20 22 70 61 72 72 61 79 22 20 70 72 6f 63 65 64   "parray" proced
b9f0: 75 72 65 2e 0a 0a 33 2f 32 39 2f 39 35 20 28 62  ure...3/29/95 (b
ba00: 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68 65  ug fix) Made the
ba10: 20 66 75 6c 6c 20 66 75 6e 63 74 69 6f 6e 61 6c   full functional
ba20: 69 74 79 20 6f 66 0a 20 20 20 20 22 72 65 74 75  ity of.    "retu
ba30: 72 6e 20 2d 63 6f 64 65 20 2e 2e 2e 20 2d 65 72  rn -code ... -er
ba40: 72 6f 72 63 6f 64 65 20 2e 2e 2e 22 0a 77 6f 72  rorcode ...".wor
ba50: 6b 20 6e 6f 74 20 6a 75 73 74 20 69 6e 73 69 64  k not just insid
ba60: 65 20 70 72 6f 63 65 64 75 72 65 73 2c 20 62 75  e procedures, bu
ba70: 74 20 61 6c 73 6f 20 69 6e 20 73 6f 75 72 63 65  t also in source
ba80: 64 20 66 69 6c 65 73 20 61 6e 64 20 61 74 0a 74  d files and at.t
ba90: 6f 70 20 6c 65 76 65 6c 2e 0a 0a 34 2f 36 2f 39  op level...4/6/9
baa0: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
bab0: 41 64 64 65 64 20 22 70 61 74 74 65 72 6e 22 20  Added "pattern" 
bac0: 6f 70 74 69 6f 6e 20 74 6f 20 22 61 72 72 61 79  option to "array
bad0: 20 6e 61 6d 65 73 22 20 63 6f 6d 6d 61 6e 64 2e   names" command.
bae0: 0a 0a 34 2f 31 38 2f 39 35 20 28 62 75 67 20 66  ..4/18/95 (bug f
baf0: 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
bb00: 20 70 61 72 73 65 72 20 77 68 65 72 65 20 69 74   parser where it
bb10: 20 64 69 64 6e 27 74 20 61 6c 6c 6f 77 20 62 61   didn't allow ba
bb20: 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 0a  ckslash-newline.
bb30: 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65  immediately afte
bb40: 72 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 6e  r an argument in
bb50: 20 62 72 61 63 65 73 20 6f 72 20 71 75 6f 74 65   braces or quote
bb60: 73 2e 0a 0a 34 2f 31 39 2f 39 35 20 28 6e 65 77  s...4/19/95 (new
bb70: 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
bb80: 74 63 6c 5f 6c 69 62 72 61 72 79 20 76 61 72 69  tcl_library vari
bb90: 61 62 6c 65 2c 20 77 68 69 63 68 20 61 70 70 6c  able, which appl
bba0: 69 63 61 74 69 6f 6e 20 63 61 6e 0a 73 65 74 20  ication can.set 
bbb0: 74 6f 20 6f 76 65 72 72 69 64 65 20 64 65 66 61  to override defa
bbc0: 75 6c 74 20 6c 69 62 72 61 72 79 20 64 69 72 65  ult library dire
bbd0: 63 74 6f 72 79 2e 0a 0a 34 2f 33 30 2f 39 35 20  ctory...4/30/95 
bbe0: 28 62 75 67 20 66 69 78 29 20 44 75 72 69 6e 67  (bug fix) During
bbf0: 20 74 72 61 63 65 20 63 61 6c 6c 62 61 63 6b 73   trace callbacks
bc00: 20 66 6f 72 20 61 72 72 61 79 20 65 6c 65 6d 65   for array eleme
bc10: 6e 74 73 2c 20 74 68 65 20 76 61 72 69 61 62 6c  nts, the variabl
bc20: 65 0a 6e 61 6d 65 20 75 73 65 64 20 69 6e 20 74  e.name used in t
bc30: 68 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 66 65  he original refe
bc40: 72 65 6e 63 65 20 77 6f 75 6c 64 20 62 65 20 74  rence would be t
bc50: 65 6d 70 6f 72 61 72 69 6c 79 20 6d 6f 64 69 66  emporarily modif
bc60: 69 65 64 20 74 6f 0a 73 65 70 61 72 61 74 65 20  ied to.separate 
bc70: 74 68 65 20 61 72 72 61 79 20 6e 61 6d 65 20 61  the array name a
bc80: 6e 64 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65 3b  nd element name;
bc90: 20 20 69 66 20 74 68 65 20 74 72 61 63 65 20 63    if the trace c
bca0: 61 6c 6c 62 61 63 6b 20 75 73 65 64 0a 74 68 65  allback used.the
bcb0: 20 73 61 6d 65 20 6e 61 6d 65 20 73 74 72 69 6e   same name strin
bcc0: 67 2c 20 69 74 20 77 6f 75 6c 64 20 67 65 74 20  g, it would get 
bcd0: 74 68 65 20 77 72 6f 6e 67 20 6e 61 6d 65 20 28  the wrong name (
bce0: 74 68 65 20 61 72 72 61 79 20 6e 61 6d 65 20 77  the array name w
bcf0: 69 74 68 6f 75 74 0a 65 6c 65 6d 65 6e 74 29 2e  ithout.element).
bd00: 20 20 46 69 78 65 64 20 74 6f 20 72 65 73 74 6f    Fixed to resto
bd10: 72 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20  re the variable 
bd20: 6e 61 6d 65 20 62 65 66 6f 72 65 20 6d 61 6b 69  name before maki
bd30: 6e 67 20 74 72 61 63 65 0a 63 61 6c 6c 62 61 63  ng trace.callbac
bd40: 6b 73 2e 0a 0a 34 2f 33 30 2f 39 35 20 28 6e 65  ks...4/30/95 (ne
bd50: 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
bd60: 20 2d 6e 6f 62 61 63 6b 73 6c 61 73 68 65 73 2c   -nobackslashes,
bd70: 20 2d 6e 6f 63 6f 6d 6d 61 6e 64 73 2c 20 61 6e   -nocommands, an
bd80: 64 20 2d 6e 6f 76 61 72 69 61 62 6c 65 73 0a 73  d -novariables.s
bd90: 77 69 74 63 68 65 73 20 74 6f 20 22 73 75 62 73  witches to "subs
bda0: 74 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 2f 34  t" command...5/4
bdb0: 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65  /95 (new feature
bdc0: 29 20 41 64 64 65 64 20 54 43 4c 5f 45 56 41 4c  ) Added TCL_EVAL
bdd0: 5f 47 4c 4f 42 41 4c 20 66 6c 61 67 20 74 6f 20  _GLOBAL flag to 
bde0: 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61  Tcl_RecordAndEva
bdf0: 6c 2e 0a 0a 35 2f 35 2f 39 35 20 28 62 75 67 20  l...5/5/95 (bug 
be00: 66 69 78 29 20 20 46 6f 72 6d 61 74 20 63 6f 6d  fix)  Format com
be10: 6d 61 6e 64 20 77 6f 75 6c 64 20 6f 76 65 72 72  mand would overr
be20: 75 6e 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 70  un memory when p
be30: 72 69 6e 74 69 6e 67 0a 69 6e 74 65 67 65 72 73  rinting.integers
be40: 20 77 69 74 68 20 76 65 72 79 20 6c 61 72 67 65   with very large
be50: 20 70 72 65 63 69 73 69 6f 6e 2c 20 61 73 20 69   precision, as i
be60: 6e 20 22 66 6f 72 6d 61 74 20 25 2e 31 30 30 30  n "format %.1000
be70: 64 20 30 22 2e 0a 0a 35 2f 35 2f 39 35 20 28 70  d 0"...5/5/95 (p
be80: 6f 72 74 61 62 69 6c 69 74 79 20 69 6d 70 72 6f  ortability impro
be90: 76 65 6d 65 6e 74 29 20 43 68 61 6e 67 65 64 20  vement) Changed 
bea0: 74 6f 20 75 73 65 20 42 53 44 67 65 74 74 69 6d  to use BSDgettim
beb0: 65 6f 66 64 61 79 20 6f 6e 0a 49 52 49 58 20 6d  eofday on.IRIX m
bec0: 61 63 68 69 6e 65 73 2c 20 74 6f 20 61 76 6f 69  achines, to avoi
bed0: 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72  d compilation pr
bee0: 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20  oblems with the 
bef0: 67 65 74 74 69 6d 65 6f 66 64 61 79 0a 64 65 63  gettimeofday.dec
bf00: 6c 61 72 61 74 69 6f 6e 2e 0a 0a 35 2f 36 2f 39  laration...5/6/9
bf10: 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  5 (bug fix) Chan
bf20: 67 65 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69  ged manual entri
bf30: 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 73 74  es to use the st
bf40: 61 6e 64 61 72 64 20 2e 54 48 0a 6d 61 63 72 6f  andard .TH.macro
bf50: 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 63 75   instead of a cu
bf60: 73 74 6f 6d 20 2e 48 53 20 6d 61 63 72 6f 3b 20  stom .HS macro; 
bf70: 20 74 68 65 20 2e 48 53 20 6d 61 63 72 6f 20 63   the .HS macro c
bf80: 6f 6e 66 75 73 65 73 20 69 6e 64 65 78 0a 67 65  onfuses index.ge
bf90: 6e 65 72 61 74 6f 72 73 20 6c 69 6b 65 20 6d 61  nerators like ma
bfa0: 6b 65 77 68 61 74 69 73 2e 0a 0a 35 2f 39 2f 39  kewhatis...5/9/9
bfb0: 35 20 28 62 75 67 20 66 69 78 29 20 4d 6f 64 69  5 (bug fix) Modi
bfc0: 66 69 65 64 20 63 6f 6e 66 69 67 75 72 65 20 73  fied configure s
bfd0: 63 72 69 70 74 20 74 6f 20 63 68 65 63 6b 20 66  cript to check f
bfe0: 6f 72 20 53 6f 6c 61 72 69 73 20 62 75 67 0a 74  or Solaris bug.t
bff0: 68 61 74 20 6d 61 6b 65 73 20 76 66 6f 72 6b 20  hat makes vfork 
c000: 75 6e 72 65 6c 69 61 62 6c 65 20 28 63 6f 72 65  unreliable (core
c010: 20 64 75 6d 70 73 20 72 65 73 75 6c 74 20 69 66   dumps result if
c020: 20 76 66 6f 72 6b 65 64 20 63 68 69 6c 64 0a 63   vforked child.c
c030: 68 61 6e 67 65 73 20 61 20 73 69 67 6e 61 6c 20  hanges a signal 
c040: 68 61 6e 64 6c 65 72 29 3b 20 20 77 69 6c 6c 20  handler);  will 
c050: 75 73 65 20 66 6f 72 6b 20 69 6e 73 74 65 61 64  use fork instead
c060: 20 6f 66 20 76 66 6f 72 6b 20 69 66 20 74 68 65   of vfork if the
c070: 0a 62 75 67 20 69 73 20 70 72 65 73 65 6e 74 2e  .bug is present.
c080: 0a 0a 36 2f 35 2f 39 35 20 28 62 75 67 20 66 69  ..6/5/95 (bug fi
c090: 78 29 20 4d 6f 64 69 66 69 65 64 20 22 6c 73 6f  x) Modified "lso
c0a0: 72 74 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 64  rt" command to d
c0b0: 69 73 61 6c 6c 6f 77 20 72 65 63 75 72 73 69 76  isallow recursiv
c0c0: 65 20 63 61 6c 6c 73 0a 74 6f 20 6c 73 6f 72 74  e calls.to lsort
c0d0: 20 66 72 6f 6d 20 61 20 63 6f 6d 70 61 72 69 73   from a comparis
c0e0: 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68  on function.  Th
c0f0: 69 73 20 69 73 20 6e 65 65 64 65 64 20 62 65 63  is is needed bec
c100: 61 75 73 65 20 71 73 6f 72 74 0a 69 73 20 6e 6f  ause qsort.is no
c110: 74 20 72 65 65 6e 74 72 61 6e 74 2e 0a 0a 36 2f  t reentrant...6/
c120: 35 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 55  5/95 (bug fix) U
c130: 6e 64 69 64 20 63 68 61 6e 67 65 20 32 34 33 20  ndid change 243 
c140: 61 62 6f 76 65 3a 20 20 63 68 61 6e 67 65 64 20  above:  changed 
c150: 54 43 4c 5f 56 4f 4c 41 54 49 4c 45 20 61 6e 64  TCL_VOLATILE and
c160: 0a 54 43 4c 5f 44 59 4e 41 4d 49 43 20 62 61 63  .TCL_DYNAMIC bac
c170: 6b 20 74 6f 20 69 6e 74 65 67 65 72 20 63 6f 6e  k to integer con
c180: 73 74 61 6e 74 73 20 72 61 74 68 65 72 20 74 68  stants rather th
c190: 61 6e 20 70 72 6f 63 65 64 75 72 65 20 61 64 64  an procedure add
c1a0: 72 65 73 73 65 73 2e 0a 54 68 69 73 20 77 61 73  resses..This was
c1b0: 20 6e 65 65 64 65 64 20 62 65 63 61 75 73 65 20   needed because 
c1c0: 70 72 6f 63 65 64 75 72 65 20 61 64 64 72 65 73  procedure addres
c1d0: 73 65 73 20 63 61 6e 20 68 61 76 65 20 6d 75 6c  ses can have mul
c1e0: 74 69 70 6c 65 20 76 61 6c 75 65 73 0a 75 6e 64  tiple values.und
c1f0: 65 72 20 73 6f 6d 65 20 64 79 6e 61 6d 69 63 20  er some dynamic 
c200: 6c 6f 61 64 69 6e 67 20 73 79 73 74 65 6d 73 20  loading systems 
c210: 28 65 2e 67 2e 20 53 75 6e 4f 53 20 34 2e 31 20  (e.g. SunOS 4.1 
c220: 61 6e 64 20 57 69 6e 64 6f 77 73 29 2e 0a 0a 36  and Windows)...6
c230: 2f 38 2f 39 35 20 28 66 65 61 74 75 72 65 20 63  /8/95 (feature c
c240: 68 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20  hange) Modified 
c250: 69 6e 74 65 72 66 61 63 65 20 74 6f 20 54 63 6c  interface to Tcl
c260: 5f 4d 61 69 6e 20 74 6f 20 70 61 73 73 20 69 6e  _Main to pass in
c270: 20 74 68 65 0a 61 64 64 72 65 73 73 20 6f 66 20   the.address of 
c280: 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2d  the application-
c290: 73 70 65 63 69 66 69 63 20 69 6e 69 74 69 61 6c  specific initial
c2a0: 69 7a 61 74 69 6f 6e 20 70 72 6f 63 65 64 75 72  ization procedur
c2b0: 65 2e 0a 54 63 6c 5f 41 70 70 49 6e 69 74 20 69  e..Tcl_AppInit i
c2c0: 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 72 64  s no longer hard
c2d0: 77 69 72 65 64 20 69 6e 74 6f 20 54 63 6c 5f 4d  wired into Tcl_M
c2e0: 61 69 6e 2e 20 20 54 68 69 73 20 69 73 20 6e 65  ain.  This is ne
c2f0: 65 64 65 64 0a 69 6e 20 6f 72 64 65 72 20 74 6f  eded.in order to
c300: 20 6d 61 6b 65 20 54 63 6c 20 61 20 73 68 61 72   make Tcl a shar
c310: 65 64 20 6c 69 62 72 61 72 79 2e 20 0a 0a 36 2f  ed library. ..6/
c320: 38 2f 39 35 20 28 66 65 61 74 75 72 65 20 63 68  8/95 (feature ch
c330: 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20 4d  ange) Modified M
c340: 61 6b 65 66 69 6c 65 20 73 6f 20 74 68 61 74 20  akefile so that 
c350: 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 76 65  the installed ve
c360: 72 73 69 6f 6e 73 0a 6f 66 20 74 63 6c 73 68 20  rsions.of tclsh 
c370: 61 6e 64 20 6c 69 62 74 63 6c 2e 61 20 68 61 76  and libtcl.a hav
c380: 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72  e version number
c390: 20 69 6e 20 74 68 65 6d 20 28 65 2e 67 2e 20 74   in them (e.g. t
c3a0: 63 6c 73 68 37 2e 34 20 61 6e 64 0a 6c 69 62 74  clsh7.4 and.libt
c3b0: 63 6c 37 2e 34 2e 61 29 20 61 6e 64 20 74 68 65  cl7.4.a) and the
c3c0: 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74 6f   library directo
c3d0: 72 79 20 6e 61 6d 65 20 61 6c 73 6f 20 68 61 73  ry name also has
c3e0: 20 61 6e 20 65 6d 62 65 64 64 65 64 20 76 65 72   an embedded ver
c3f0: 73 69 6f 6e 0a 6e 75 6d 62 65 72 20 28 65 2e 67  sion.number (e.g
c400: 2e 2c 20 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69  ., /usr/local/li
c410: 62 2f 74 63 6c 37 2e 34 29 2e 20 20 54 68 69 73  b/tcl7.4).  This
c420: 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74 20   should make it 
c430: 65 61 73 69 65 72 20 66 6f 72 0a 54 63 6c 20 37  easier for.Tcl 7
c440: 2e 34 20 74 6f 20 63 6f 65 78 69 73 74 20 77 69  .4 to coexist wi
c450: 74 68 20 65 61 72 6c 69 65 72 20 76 65 72 73 69  th earlier versi
c460: 6f 6e 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ons...----------
c470: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
c480: 20 76 65 72 73 69 6f 6e 20 37 2e 34 62 34 2c 20   version 7.4b4, 
c490: 36 2f 31 36 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d  6/16/95 --------
c4a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 36 2f 31 39  ----------..6/19
c4b0: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46 69  /95 (bug fix) Fi
c4c0: 78 65 64 20 62 75 67 73 20 69 6e 20 74 63 6c 43  xed bugs in tclC
c4d0: 6b 61 6c 6c 6f 63 2e 63 20 74 68 61 74 20 63 61  kalloc.c that ca
c4e0: 75 73 65 64 20 63 6f 72 65 20 64 75 6d 70 73 0a  used core dumps.
c4f0: 69 66 20 54 43 4c 5f 4d 45 4d 5f 44 45 42 55 47  if TCL_MEM_DEBUG
c500: 20 77 61 73 20 65 6e 61 62 6c 65 64 20 6f 6e 20   was enabled on 
c510: 77 6f 72 64 2d 61 64 64 72 65 73 73 65 64 20 6d  word-addressed m
c520: 61 63 68 69 6e 65 73 20 73 75 63 68 20 61 73 20  achines such as 
c530: 43 72 61 79 73 2e 0a 0a 36 2f 32 31 2f 39 35 20  Crays...6/21/95 
c540: 28 66 65 61 74 75 72 65 20 72 65 6d 6f 76 61 6c  (feature removal
c550: 29 20 52 65 6d 6f 76 65 64 20 6f 76 65 72 66 6c  ) Removed overfl
c560: 6f 77 20 63 68 65 63 6b 73 20 66 6f 72 20 69 6e  ow checks for in
c570: 74 65 67 65 72 20 61 72 69 74 68 6d 65 74 69 63  teger arithmetic
c580: 3a 0a 74 68 65 79 20 6a 75 73 74 20 63 61 75 73  :.they just caus
c590: 65 20 74 6f 6f 20 6d 75 63 68 20 74 72 6f 75 62  e too much troub
c5a0: 6c 65 20 28 65 2e 67 2e 20 66 6f 72 20 72 61 6e  le (e.g. for ran
c5b0: 64 6f 6d 20 20 6e 75 6d 62 65 72 20 67 65 6e 65  dom  number gene
c5c0: 72 61 74 6f 72 73 29 2e 0a 0a 36 2f 32 38 2f 39  rators)...6/28/9
c5d0: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29  5 (new features)
c5e0: 20 41 64 64 65 64 20 74 63 6c 5f 70 61 74 63 68   Added tcl_patch
c5f0: 4c 65 76 65 6c 20 61 6e 64 20 74 63 6c 5f 76 65  Level and tcl_ve
c600: 72 73 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 2c  rsion variables,
c610: 0a 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79  .for consistency
c620: 20 77 69 74 68 20 54 6b 2e 0a 0a 36 2f 32 39 2f   with Tk...6/29/
c630: 39 35 20 28 62 75 67 20 66 69 78 29 20 46 69 78  95 (bug fix) Fix
c640: 65 64 20 70 72 6f 62 6c 65 6d 20 69 6e 20 54 63  ed problem in Tc
c650: 6c 5f 45 76 61 6c 20 77 68 65 72 65 20 69 74 20  l_Eval where it 
c660: 64 69 64 6e 27 74 20 72 65 63 6f 72 64 0a 74 68  didn't record.th
c670: 65 20 72 69 67 68 74 20 74 65 72 6d 69 6e 61 74  e right terminat
c680: 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 69 66  ion character if
c690: 20 61 20 73 63 72 69 70 74 20 65 6e 64 65 64 20   a script ended 
c6a0: 77 69 74 68 20 61 20 63 6f 6d 6d 65 6e 74 2e 20  with a comment. 
c6b0: 20 54 68 69 73 0a 63 61 75 73 65 64 20 65 72 72   This.caused err
c6c0: 6f 6e 65 6f 75 73 20 6f 75 74 70 75 74 20 66 6f  oneous output fo
c6d0: 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  r the following 
c6e0: 63 6f 6d 6d 61 6e 64 2c 20 61 6d 6f 6e 67 20 6f  command, among o
c6f0: 74 68 65 72 73 3a 0a 70 75 74 73 20 22 5b 0a 65  thers:.puts "[.e
c700: 78 70 72 20 31 2b 31 0a 23 20 64 75 68 21 0a 5d  xpr 1+1.# duh!.]
c710: 22 0a 0a 36 2f 32 39 2f 39 35 20 28 6d 65 73 73  "..6/29/95 (mess
c720: 61 67 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  age change) Chan
c730: 67 65 64 20 74 68 65 20 65 72 72 6f 72 20 6d 65  ged the error me
c740: 73 73 61 67 65 20 66 6f 72 20 45 43 48 49 4c 44  ssage for ECHILD
c750: 20 73 6c 69 67 68 74 6c 79 0a 74 6f 20 70 72 6f   slightly.to pro
c760: 76 69 64 65 20 61 20 68 69 6e 74 20 61 62 6f 75  vide a hint abou
c770: 74 20 77 68 79 20 74 68 65 20 70 72 6f 62 6c 65  t why the proble
c780: 6d 20 69 73 20 6f 63 63 75 72 72 69 6e 67 2e 0a  m is occurring..
c790: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
c7a0: 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73  -- Released vers
c7b0: 69 6f 6e 20 37 2e 34 2c 20 37 2f 31 2f 39 35 20  ion 7.4, 7/1/95 
c7c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
c7d0: 2d 2d 0a 0a 37 2f 31 38 2f 39 35 20 28 62 75 67  --..7/18/95 (bug
c7e0: 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 22 6c   fix) Changed "l
c7f0: 72 65 70 6c 61 63 65 22 20 73 6f 20 74 68 61 74  replace" so that
c800: 20 6e 6f 74 68 69 6e 67 20 69 73 20 64 65 6c 65   nothing is dele
c810: 74 65 64 20 69 66 0a 74 68 65 20 6c 61 73 74 20  ted if.the last 
c820: 69 6e 64 65 78 20 69 73 20 6c 65 73 73 20 74 68  index is less th
c830: 61 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e 64  an the first ind
c840: 65 78 20 6f 72 20 69 66 20 74 68 65 20 6c 61 73  ex or if the las
c850: 74 20 69 6e 64 65 78 0a 69 73 20 3c 20 30 2e 0a  t index.is < 0..
c860: 0a 37 2f 31 38 2f 39 35 20 28 62 75 67 20 66 69  .7/18/95 (bug fi
c870: 78 29 20 46 69 78 65 64 20 62 75 67 73 20 77 69  x) Fixed bugs wi
c880: 74 68 20 62 61 63 6b 73 6c 61 73 68 65 73 20 69  th backslashes i
c890: 6e 20 63 6f 6d 6d 65 6e 74 73 3a 0a 54 63 6c 5f  n comments:.Tcl_
c8a0: 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 20  CommandComplete 
c8b0: 28 61 6e 64 20 22 69 6e 66 6f 20 63 6f 6d 70 6c  (and "info compl
c8c0: 65 74 65 22 29 20 64 69 64 6e 27 74 20 70 72 6f  ete") didn't pro
c8d0: 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 73 74 72  perly handle.str
c8e0: 69 6e 67 73 20 65 6e 64 69 6e 67 20 69 6e 20 62  ings ending in b
c8f0: 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65  ackslash-newline
c900: 2c 20 61 6e 64 20 6e 65 69 74 68 65 72 20 54 63  , and neither Tc
c910: 6c 5f 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74  l_CommandComplet
c920: 65 0a 6e 6f 72 20 74 68 65 20 54 63 6c 20 70 61  e.nor the Tcl pa
c930: 72 73 65 72 20 68 61 6e 64 6c 65 64 20 6f 74 68  rser handled oth
c940: 65 72 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71  er backslash seq
c950: 75 65 6e 63 65 73 20 72 69 67 68 74 2c 20 73 75  uences right, su
c960: 63 68 0a 61 73 20 74 77 6f 20 62 61 63 6b 73 6c  ch.as two backsl
c970: 61 73 68 65 73 20 62 65 66 6f 72 65 20 61 20 6e  ashes before a n
c980: 65 77 6c 69 6e 65 2e 0a 0a 37 2f 31 39 2f 39 35  ewline...7/19/95
c990: 20 28 62 75 67 20 66 69 78 29 20 4d 6f 64 69 66   (bug fix) Modif
c9a0: 69 65 64 20 54 63 6c 5f 44 65 6c 65 74 65 43 6f  ied Tcl_DeleteCo
c9b0: 6d 6d 61 6e 64 20 74 6f 20 64 65 6c 65 74 65 20  mmand to delete 
c9c0: 74 68 65 20 68 61 73 68 20 74 61 62 6c 65 0a 65  the hash table.e
c9d0: 6e 74 72 79 20 66 6f 72 20 74 68 65 20 63 6f 6d  ntry for the com
c9e0: 6d 61 6e 64 20 62 65 66 6f 72 65 20 69 6e 76 6f  mand before invo
c9f0: 6b 69 6e 67 20 69 74 73 20 63 61 6c 6c 62 61 63  king its callbac
ca00: 6b 2e 20 20 54 68 69 73 20 69 73 20 6e 65 65 64  k.  This is need
ca10: 65 64 20 69 6e 0a 6f 72 64 65 72 20 74 6f 20 64  ed in.order to d
ca20: 65 61 6c 20 77 69 74 68 20 72 65 65 6e 74 72 61  eal with reentra
ca30: 6e 63 79 2e 0a 0a 37 2f 32 32 2f 39 35 20 28 62  ncy...7/22/95 (b
ca40: 75 67 20 66 69 78 29 20 22 65 78 65 63 22 20 77  ug fix) "exec" w
ca50: 61 73 6e 27 74 20 72 65 61 70 69 6e 67 20 70 72  asn't reaping pr
ca60: 6f 63 65 73 73 65 73 20 63 6f 72 72 65 63 74 6c  ocesses correctl
ca70: 79 20 61 66 74 65 72 0a 63 65 72 74 61 69 6e 20  y after.certain 
ca80: 65 72 72 6f 72 73 20 28 65 2e 67 2e 20 69 66 20  errors (e.g. if 
ca90: 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
caa0: 65 78 65 63 75 74 61 62 6c 65 20 77 61 73 20 62  executable was b
cab0: 6f 67 75 73 2c 20 61 73 0a 69 6e 20 22 65 78 65  ogus, as.in "exe
cac0: 63 20 66 6f 6f 62 61 72 22 29 2e 0a 0a 37 2f 32  c foobar")...7/2
cad0: 37 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 4d  7/95 (bug fix) M
cae0: 61 6b 65 66 69 6c 65 2e 69 6e 20 77 61 73 6e 27  akefile.in wasn'
caf0: 74 20 75 73 69 6e 67 20 74 68 65 20 4c 49 42 53  t using the LIBS
cb00: 20 76 61 72 69 61 62 6c 65 20 70 72 6f 76 69 64   variable provid
cb10: 65 64 0a 62 79 20 74 68 65 20 22 63 6f 6e 66 69  ed.by the "confi
cb20: 67 75 72 65 22 20 73 63 72 69 70 74 2e 20 20 54  gure" script.  T
cb30: 68 69 73 20 63 61 75 73 65 64 20 70 72 6f 62 6c  his caused probl
cb40: 65 6d 73 20 6f 6e 20 73 6f 6d 65 20 53 43 4f 20  ems on some SCO 
cb50: 73 79 73 74 65 6d 73 2e 0a 0a 37 2f 32 37 2f 39  systems...7/27/9
cb60: 35 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20  5 (bug fix) The 
cb70: 76 65 72 73 69 6f 6e 20 6f 66 20 73 74 72 74 6f  version of strto
cb80: 64 20 69 6e 20 66 69 78 73 74 72 74 6f 64 2e 63  d in fixstrtod.c
cb90: 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79   didn't properly
cba0: 0a 68 61 6e 64 6c 65 20 74 68 65 20 63 61 73 65  .handle the case
cbb0: 20 77 68 65 72 65 20 65 6e 64 50 74 72 20 3d 3d   where endPtr ==
cbc0: 20 4e 55 4c 4c 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d   NULL...--------
cbd0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
cbe0: 65 64 20 70 61 74 63 68 20 37 2e 34 70 31 2c 20  ed patch 7.4p1, 
cbf0: 37 2f 32 39 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d  7/29/95 --------
cc00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
cc10: 0a 38 2f 34 2f 39 35 20 28 62 75 67 20 66 69 78  .8/4/95 (bug fix
cc20: 29 20 43 2d 6c 65 76 65 6c 20 74 72 61 63 65 20  ) C-level trace 
cc30: 63 61 6c 6c 62 61 63 6b 73 20 66 6f 72 20 76 61  callbacks for va
cc40: 72 69 61 62 6c 65 73 20 77 65 72 65 20 73 6f 6d  riables were som
cc50: 65 74 69 6d 65 73 0a 72 65 63 65 69 76 69 6e 67  etimes.receiving
cc60: 20 74 68 65 20 50 41 52 54 31 5f 4e 4f 54 5f 50   the PART1_NOT_P
cc70: 41 52 53 45 44 20 66 6c 61 67 2c 20 77 68 69 63  ARSED flag, whic
cc80: 68 20 63 6f 75 6c 64 20 63 61 75 73 65 20 65 72  h could cause er
cc90: 72 6f 72 73 20 69 6e 0a 73 75 62 73 65 71 75 65  rors in.subseque
cca0: 6e 74 20 54 63 6c 20 6c 69 62 72 61 72 79 20 63  nt Tcl library c
ccb0: 61 6c 6c 73 20 75 73 69 6e 67 20 74 68 65 20 66  alls using the f
ccc0: 6c 61 67 73 2e 20 28 4a 4f 29 0a 0a 38 2f 34 2f  lags. (JO)..8/4/
ccd0: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 61 6c  95 (bug fix) Cal
cce0: 6c 73 20 74 6f 20 74 6f 75 70 70 65 72 20 61 6e  ls to toupper an
ccf0: 64 20 74 6f 6c 6f 77 65 72 20 77 65 72 65 6e 27  d tolower weren'
cd00: 74 20 75 73 69 6e 67 20 74 68 65 0a 55 43 48 41  t using the.UCHA
cd10: 52 20 6d 61 63 72 6f 73 2c 20 77 68 69 63 68 20  R macros, which 
cd20: 63 61 75 73 65 64 20 74 72 6f 75 62 6c 65 20 69  caused trouble i
cd30: 6e 20 6e 6f 6e 2d 55 2e 53 2e 20 6c 6f 63 61 6c  n non-U.S. local
cd40: 65 73 2e 20 28 4a 4f 29 0a 0a 38 2f 31 30 2f 39  es. (JO)..8/10/9
cd50: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
cd60: 41 64 64 65 64 20 74 68 65 20 22 6c 6f 61 64 22  Added the "load"
cd70: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 79 6e   command for dyn
cd80: 61 6d 69 63 20 6c 6f 61 64 69 6e 67 20 6f 66 0a  amic loading of.
cd90: 62 69 6e 61 72 79 20 70 61 63 6b 61 67 65 73 2c  binary packages,
cda0: 20 61 6e 64 20 74 68 65 20 54 63 6c 5f 50 61 63   and the Tcl_Pac
cdb0: 6b 61 67 65 49 6e 69 74 50 72 6f 63 20 70 72 6f  kageInitProc pro
cdc0: 74 6f 74 79 70 65 20 66 6f 72 20 70 61 63 6b 61  totype for packa
cdd0: 67 65 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f  ge.initializatio
cde0: 6e 20 70 72 6f 63 65 64 75 72 65 73 2e 20 28 4a  n procedures. (J
cdf0: 4f 29 0a 0a 38 2f 32 33 2f 39 35 20 28 6e 65 77  O)..8/23/95 (new
ce00: 20 66 65 61 74 75 72 65 73 29 20 41 64 64 65 64   features) Added
ce10: 20 22 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62   "info sharedlib
ce20: 65 78 74 65 6e 73 69 6f 6e 22 20 61 6e 64 0a 22  extension" and."
ce30: 69 6e 66 6f 20 6e 61 6d 65 6f 66 65 78 65 63 75  info nameofexecu
ce40: 74 61 62 6c 65 22 20 63 6f 6d 6d 61 6e 64 73 2c  table" commands,
ce50: 20 70 6c 75 73 20 54 63 6c 5f 46 69 6e 64 45 78   plus Tcl_FindEx
ce60: 74 65 6e 73 69 6f 6e 20 70 72 6f 63 65 64 75 72  tension procedur
ce70: 65 2e 20 28 4a 4f 29 0a 0a 38 2f 32 35 2f 39 35  e. (JO)..8/25/95
ce80: 20 28 62 75 67 20 66 69 78 29 20 49 66 20 74 68   (bug fix) If th
ce90: 65 20 74 61 72 67 65 74 20 6f 66 20 61 6e 20 22  e target of an "
cea0: 75 70 76 61 72 22 20 77 61 73 20 6e 6f 6e 2d 65  upvar" was non-e
ceb0: 78 69 73 74 65 6e 74 20 62 75 74 0a 68 61 64 20  xistent but.had 
cec0: 74 72 61 63 65 73 20 73 65 74 2c 20 74 68 65 20  traces set, the 
ced0: 74 72 61 63 65 73 20 77 65 72 65 20 73 69 6c 65  traces were sile
cee0: 6e 74 6c 79 20 6c 6f 73 74 2e 20 20 43 68 61 6e  ntly lost.  Chan
cef0: 67 65 20 74 6f 20 67 65 6e 65 72 61 74 65 0a 61  ge to generate.a
cf00: 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 2e  n error instead.
cf10: 20 28 4a 4f 29 0a 0a 38 2f 32 35 2f 39 35 20 28   (JO)..8/25/95 (
cf20: 62 75 67 20 66 69 78 29 20 55 6e 64 69 64 20 63  bug fix) Undid c
cf30: 68 61 6e 67 65 20 66 72 6f 6d 20 37 2f 31 39 2c  hange from 7/19,
cf40: 20 73 6f 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64   so that command
cf50: 73 20 63 61 6e 20 73 74 61 79 0a 61 72 6f 75 6e  s can stay.aroun
cf60: 64 20 77 68 69 6c 65 20 74 68 65 69 72 20 64 65  d while their de
cf70: 6c 65 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 73  letion callbacks
cf80: 20 65 78 65 63 75 74 65 2e 20 20 41 64 64 65 64   execute.  Added
cf90: 20 6c 6f 74 73 20 6f 66 20 63 6f 64 65 20 74 6f   lots of code to
cfa0: 0a 68 61 6e 64 6c 65 20 61 6c 6c 20 6f 66 20 74  .handle all of t
cfb0: 68 65 20 72 65 65 6e 74 72 61 6e 63 79 20 70 72  he reentrancy pr
cfc0: 6f 62 6c 65 6d 73 20 74 68 61 74 20 74 68 69 73  oblems that this
cfd0: 20 6f 70 65 6e 73 20 75 70 2e 20 28 4a 4f 29 0a   opens up. (JO).
cfe0: 0a 38 2f 32 35 2f 39 35 20 28 62 75 67 20 66 69  .8/25/95 (bug fi
cff0: 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75  x) Fixed core du
d000: 6d 70 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63  mp that could oc
d010: 63 75 72 20 69 6e 20 54 63 6c 44 65 6c 65 74 65  cur in TclDelete
d020: 56 61 72 73 0a 69 66 20 74 68 65 72 65 20 77 61  Vars.if there wa
d030: 73 20 61 6e 20 75 70 76 61 72 20 66 72 6f 6d 20  s an upvar from 
d040: 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 74 68 65  one entry in the
d050: 20 74 61 62 6c 65 20 74 6f 20 74 68 65 20 6e 65   table to the ne
d060: 78 74 20 65 6e 74 72 79 0a 69 6e 20 74 68 65 20  xt entry.in the 
d070: 73 61 6d 65 20 74 61 62 6c 65 2e 20 28 4a 4f 29  same table. (JO)
d080: 0a 0a 38 2f 32 38 2f 39 35 20 28 62 75 67 20 66  ..8/28/95 (bug f
d090: 69 78 29 20 45 78 65 63 20 77 61 73 6e 27 74 20  ix) Exec wasn't 
d0a0: 68 61 6e 64 6c 69 6e 67 20 62 61 64 20 75 73 65  handling bad use
d0b0: 72 20 6e 61 6d 65 73 20 70 72 6f 70 65 72 6c 79  r names properly
d0c0: 2c 20 61 73 0a 69 6e 20 22 65 78 65 63 20 7e 62  , as.in "exec ~b
d0d0: 6f 67 75 73 5f 75 73 65 72 2f 66 6f 6f 22 2e 20  ogus_user/foo". 
d0e0: 28 4a 4f 29 0a 0a 38 2f 32 39 2f 39 35 20 28 62  (JO)..8/29/95 (b
d0f0: 75 67 20 66 69 78 65 73 29 20 43 68 61 6e 67 65  ug fixes) Change
d100: 64 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c  d backslash-newl
d110: 69 6e 65 20 68 61 6e 64 6c 69 6e 67 20 74 6f 20  ine handling to 
d120: 63 6f 72 72 65 63 74 20 74 77 6f 0a 70 72 6f 62  correct two.prob
d130: 6c 65 6d 73 3a 0a 20 20 20 20 2d 20 4f 6e 6c 79  lems:.    - Only
d140: 20 73 70 61 63 65 73 20 61 6e 64 20 74 61 62 73   spaces and tabs
d150: 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 62   following the b
d160: 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65  ackslash-newline
d170: 20 61 72 65 20 6e 6f 77 0a 20 20 20 20 20 20 61   are now.      a
d180: 62 73 6f 72 62 65 64 20 61 73 20 70 61 72 74 20  bsorbed as part 
d190: 6f 66 20 74 68 65 20 62 61 63 6b 73 6c 61 73 68  of the backslash
d1a0: 2d 6e 65 77 6c 69 6e 65 2e 20 20 4e 65 77 6c 69  -newline.  Newli
d1b0: 6e 65 77 20 61 72 65 20 6e 6f 0a 20 20 20 20 20  new are no.     
d1c0: 20 6c 6f 6e 67 65 72 20 61 62 73 6f 72 62 65 64   longer absorbed
d1d0: 20 28 61 64 64 20 61 6e 6f 74 68 65 72 20 62 61   (add another ba
d1e0: 63 6b 73 6c 61 73 68 20 69 66 20 79 6f 75 20 77  ckslash if you w
d1f0: 61 6e 74 20 74 6f 20 61 62 73 6f 72 62 0a 20 20  ant to absorb.  
d200: 20 20 20 20 61 6e 6f 74 68 65 72 20 6e 65 77 6c      another newl
d210: 69 6e 65 29 2e 0a 20 20 20 20 2d 20 54 63 6c 57  ine)..    - TclW
d220: 6f 72 64 45 6e 64 20 72 65 74 75 72 6e 73 20 74  ordEnd returns t
d230: 68 65 20 63 68 61 72 61 63 74 65 72 20 6a 75 73  he character jus
d240: 74 20 62 65 66 6f 72 65 20 74 68 65 20 62 61 63  t before the bac
d250: 6b 73 6c 61 73 68 20 69 6e 0a 20 20 20 20 20 20  kslash in.      
d260: 74 68 65 20 73 65 71 75 65 6e 63 65 20 61 73 20  the sequence as 
d270: 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73  the end of the s
d280: 65 71 75 65 6e 63 65 3b 20 20 69 74 20 75 73 65  equence;  it use
d290: 64 20 74 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65  d to not conside
d2a0: 72 0a 20 20 20 20 20 20 74 68 65 20 62 61 63 6b  r.      the back
d2b0: 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 61 73  slash-newline as
d2c0: 20 61 20 77 6f 72 64 20 73 65 70 61 72 61 74 6f   a word separato
d2d0: 72 2e 20 28 4a 4f 29 0a 0a 38 2f 33 31 2f 39 35  r. (JO)..8/31/95
d2e0: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43   (new feature) C
d2f0: 68 61 6e 67 65 64 20 6d 61 6e 20 70 61 67 65 20  hanged man page 
d300: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 28 77 69  installation (wi
d310: 74 68 20 22 6d 6b 4c 69 6e 6b 73 22 0a 73 63 72  th "mkLinks".scr
d320: 69 70 74 29 20 74 6f 20 63 72 65 61 74 65 20 61  ipt) to create a
d330: 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 73 20  dditional links 
d340: 66 6f 72 20 6d 61 6e 75 61 6c 20 70 61 67 65 73  for manual pages
d350: 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74   corresponding t
d360: 6f 0a 65 61 63 68 20 6f 66 20 74 68 65 20 70 72  o.each of the pr
d370: 6f 63 65 64 75 72 65 20 61 6e 64 20 63 6f 6d 6d  ocedure and comm
d380: 61 6e 64 20 6e 61 6d 65 73 20 64 65 73 63 72 69  and names descri
d390: 62 65 64 20 69 6e 20 74 68 65 20 70 61 67 65 73  bed in the pages
d3a0: 2e 20 28 4a 4f 29 0a 0a 39 2f 31 30 2f 39 35 20  . (JO)..9/10/95 
d3b0: 52 65 6f 72 67 61 6e 69 7a 65 64 20 54 63 6c 20  Reorganized Tcl 
d3c0: 73 6f 75 72 63 65 73 20 66 6f 72 20 57 69 6e 64  sources for Wind
d3d0: 6f 77 73 20 61 6e 64 20 4d 61 63 20 70 6f 72 74  ows and Mac port
d3e0: 73 2e 20 20 41 6c 6c 20 73 6f 75 72 63 65 73 0a  s.  All sources.
d3f0: 61 72 65 20 6e 6f 77 20 69 6e 20 73 75 62 64 69  are now in subdi
d400: 72 65 63 74 6f 72 69 65 73 3a 20 20 22 67 65 6e  rectories:  "gen
d410: 65 72 69 63 22 20 63 6f 6e 74 61 69 6e 73 20 73  eric" contains s
d420: 6f 75 72 63 65 73 20 74 68 61 74 20 77 6f 72 6b  ources that work
d430: 20 6f 6e 20 61 6c 6c 0a 70 6c 61 74 66 6f 72 6d   on all.platform
d440: 73 2c 20 22 77 69 6e 64 6f 77 73 22 2c 20 22 6d  s, "windows", "m
d450: 61 63 22 2c 20 61 6e 64 20 22 75 6e 69 78 22 20  ac", and "unix" 
d460: 64 69 72 65 63 74 6f 72 69 65 73 20 63 6f 6e 74  directories cont
d470: 61 69 6e 20 70 6c 61 74 66 6f 72 6d 2d 0a 73 70  ain platform-.sp
d480: 65 63 69 66 69 63 20 73 6f 75 72 63 65 73 2e 20  ecific sources. 
d490: 20 53 6f 6d 65 20 55 4e 49 58 20 73 6f 75 72 63   Some UNIX sourc
d4a0: 65 73 20 61 72 65 20 61 6c 73 6f 20 75 73 65 64  es are also used
d4b0: 20 6f 6e 20 6f 74 68 65 72 20 70 6c 61 74 66 6f   on other platfo
d4c0: 72 6d 73 2e 20 28 53 53 29 0a 0a 39 2f 31 30 2f  rms. (SS)..9/10/
d4d0: 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  95 (feature chan
d4e0: 67 65 29 20 45 6c 69 6d 69 6e 61 74 65 64 20 65  ge) Eliminated e
d4f0: 78 70 6f 72 74 65 64 20 67 6c 6f 62 61 6c 20 76  xported global v
d500: 61 72 69 61 62 6c 65 73 20 28 74 68 65 79 0a 64  ariables (they.d
d510: 6f 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 20 57  on't work with W
d520: 69 6e 64 6f 77 73 20 44 4c 4c 73 29 2e 20 20 52  indows DLLs).  R
d530: 65 70 6c 61 63 65 64 20 74 63 6c 5f 41 73 79 6e  eplaced tcl_Asyn
d540: 63 52 65 61 64 79 20 61 6e 64 0a 74 63 6c 5f 46  cReady and.tcl_F
d550: 69 6c 65 43 6c 6f 73 65 50 72 6f 63 20 77 69 74  ileCloseProc wit
d560: 68 20 70 72 6f 63 65 64 75 72 65 73 20 54 63 6c  h procedures Tcl
d570: 5f 41 73 79 6e 63 52 65 61 64 79 28 29 20 61 6e  _AsyncReady() an
d580: 64 0a 54 63 6c 5f 53 65 74 46 69 6c 65 43 6c 6f  d.Tcl_SetFileClo
d590: 73 65 50 72 6f 63 28 29 2e 20 20 52 65 70 6c 61  seProc().  Repla
d5a0: 63 65 64 20 43 20 76 61 72 69 61 62 6c 65 20 74  ced C variable t
d5b0: 63 6c 5f 52 63 46 69 6c 65 4e 61 6d 65 20 77 69  cl_RcFileName wi
d5c0: 74 68 0a 61 20 54 63 6c 20 76 61 72 69 61 62 6c  th.a Tcl variabl
d5d0: 65 20 74 63 6c 5f 72 63 46 69 6c 65 4e 61 6d 65  e tcl_rcFileName
d5e0: 2e 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e  . (SS).*** POTEN
d5f0: 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
d600: 4c 49 54 59 20 2a 2a 2a 0a 0a 39 2f 31 31 2f 39  LITY ***..9/11/9
d610: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
d620: 41 64 64 65 64 20 70 72 6f 63 65 64 75 72 65 20  Added procedure 
d630: 54 63 6c 5f 53 65 74 50 61 6e 69 63 50 72 6f 63  Tcl_SetPanicProc
d640: 20 74 6f 20 6f 76 65 72 72 69 64 65 0a 74 68 65   to override.the
d650: 20 64 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d 65   default impleme
d660: 6e 74 61 74 69 6f 6e 20 6f 66 20 22 70 61 6e 69  ntation of "pani
d670: 63 22 2e 20 28 53 53 29 0a 0a 39 2f 31 31 2f 39  c". (SS)..9/11/9
d680: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
d690: 41 64 64 65 64 20 22 69 6e 74 65 72 70 22 20 63  Added "interp" c
d6a0: 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77 20  ommand to allow 
d6b0: 63 72 65 61 74 69 6f 6e 20 6f 66 0a 6e 65 77 20  creation of.new 
d6c0: 69 6e 74 65 72 70 72 65 74 65 72 73 20 61 6e 64  interpreters and
d6d0: 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 75 6e   execution of un
d6e0: 74 72 75 73 74 65 64 20 73 63 72 69 70 74 73 2e  trusted scripts.
d6f0: 20 20 41 64 64 65 64 20 6d 61 6e 79 20 6e 65 77    Added many new
d700: 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 73 75 63  .procedures, suc
d710: 68 20 61 73 20 54 63 6c 5f 43 72 65 61 74 65 53  h as Tcl_CreateS
d720: 6c 61 76 65 2c 20 54 63 6c 5f 43 72 65 61 74 65  lave, Tcl_Create
d730: 41 6c 69 61 73 2c 61 6e 64 20 54 63 6c 5f 4d 61  Alias,and Tcl_Ma
d740: 6b 65 53 61 66 65 2c 0a 74 6f 20 70 72 6f 76 69  keSafe,.to provi
d750: 64 65 20 43 2d 6c 65 76 65 6c 20 61 63 63 65 73  de C-level acces
d760: 73 20 74 6f 20 74 68 65 20 69 6e 74 65 72 70 72  s to the interpr
d770: 65 74 65 72 20 66 61 63 69 6c 69 74 79 2e 20 54  eter facility. T
d780: 68 69 73 20 6d 65 63 68 61 6e 69 73 6d 0a 6e 6f  his mechanism.no
d790: 77 20 70 72 6f 76 69 64 65 73 20 61 6c 6d 6f 73  w provides almos
d7a0: 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 67 65 6e  t all of the gen
d7b0: 65 72 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 6f  eric functions o
d7c0: 66 20 42 6f 72 65 6e 73 74 65 69 6e 27 73 20 61  f Borenstein's a
d7d0: 6e 64 0a 52 6f 73 65 27 73 20 53 61 66 65 2d 54  nd.Rose's Safe-T
d7e0: 63 6c 20 28 62 75 74 20 6e 6f 74 20 61 6e 79 20  cl (but not any 
d7f0: 54 6b 20 6f 72 20 65 6d 61 69 6c 2d 72 65 6c 61  Tk or email-rela
d800: 74 65 64 20 73 74 75 66 66 29 2e 20 20 28 4a 4c  ted stuff).  (JL
d810: 29 0a 0a 39 2f 31 31 2f 39 35 20 28 66 65 61 74  )..9/11/95 (feat
d820: 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
d830: 67 65 64 20 66 69 6c 65 20 6d 61 6e 61 67 65 6d  ged file managem
d840: 65 6e 74 20 73 6f 20 74 68 61 74 20 66 69 6c 65  ent so that file
d850: 73 20 61 72 65 0a 6e 6f 20 6c 6f 6e 67 65 72 20  s are.no longer 
d860: 73 68 61 72 65 64 20 62 65 74 77 65 65 6e 20 69  shared between i
d870: 6e 74 65 72 70 72 65 74 65 72 73 3a 20 20 61 20  nterpreters:  a 
d880: 66 69 6c 65 20 63 61 6e 6e 6f 74 20 6e 6f 72 6d  file cannot norm
d890: 61 6c 6c 79 20 62 65 0a 72 65 66 65 72 65 6e 63  ally be.referenc
d8a0: 65 64 20 69 6e 20 6f 6e 65 20 69 6e 74 65 72 70  ed in one interp
d8b0: 72 65 74 65 72 20 69 66 20 69 74 20 77 61 73 20  reter if it was 
d8c0: 6f 70 65 6e 65 64 20 69 6e 20 61 6e 6f 74 68 65  opened in anothe
d8d0: 72 2e 20 20 54 68 69 73 0a 66 65 61 74 75 72 65  r.  This.feature
d8e0: 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 73 75   is needed to su
d8f0: 70 70 6f 72 74 20 73 61 66 65 20 69 6e 74 65 72  pport safe inter
d900: 70 72 65 74 65 72 73 2e 20 20 41 64 64 65 64 20  preters.  Added 
d910: 54 63 6c 5f 53 68 61 72 65 48 61 6e 64 6c 65 28  Tcl_ShareHandle(
d920: 29 0a 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20  ).procedure for 
d930: 61 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 73 20 74  allowing files t
d940: 6f 20 62 65 20 73 68 61 72 65 64 2c 20 61 6e 64  o be shared, and
d950: 20 61 64 64 65 64 20 22 69 6e 74 65 72 70 22 20   added "interp" 
d960: 61 72 67 75 6d 65 6e 74 0a 74 6f 20 54 63 6c 5f  argument.to Tcl_
d970: 46 69 6c 65 50 65 72 6d 69 73 73 69 6f 6e 73 20  FilePermissions 
d980: 70 72 6f 63 65 64 75 72 65 2e 20 28 4a 4c 29 0a  procedure. (JL).
d990: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
d9a0: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
d9b0: 2a 0a 0a 39 2f 31 31 2f 39 35 20 28 6e 65 77 20  *..9/11/95 (new 
d9c0: 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 22  feature) Added "
d9d0: 41 73 73 6f 63 44 61 74 61 22 20 6d 65 63 68 61  AssocData" mecha
d9e0: 6e 69 73 6d 2c 20 77 68 65 72 65 62 79 20 65 78  nism, whereby ex
d9f0: 74 65 6e 73 69 6f 6e 73 0a 63 61 6e 20 61 73 73  tensions.can ass
da00: 6f 63 69 61 74 65 20 74 68 65 69 72 20 6f 77 6e  ociate their own
da10: 20 64 61 74 61 20 77 69 74 68 20 61 6e 20 69 6e   data with an in
da20: 74 65 72 70 72 65 74 65 72 20 61 6e 64 20 67 65  terpreter and ge
da30: 74 20 63 61 6c 6c 65 64 20 62 61 63 6b 0a 77 68  t called back.wh
da40: 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  en the interpret
da50: 65 72 20 69 73 20 64 65 6c 65 74 65 64 2e 20 20  er is deleted.  
da60: 54 68 69 73 20 69 73 20 76 69 73 69 62 6c 65 20  This is visible 
da70: 61 74 20 43 20 6c 65 76 65 6c 20 76 69 61 20 74  at C level via t
da80: 68 65 0a 70 72 6f 63 65 64 75 72 65 73 20 54 63  he.procedures Tc
da90: 6c 5f 53 65 74 41 73 73 6f 63 44 61 74 61 20 61  l_SetAssocData a
daa0: 6e 64 20 54 63 6c 5f 47 65 74 41 73 73 6f 63 44  nd Tcl_GetAssocD
dab0: 61 74 61 2e 20 20 28 4a 4c 29 0a 0a 39 2f 31 31  ata.  (JL)..9/11
dac0: 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65  /95 (new feature
dad0: 29 20 41 64 64 65 64 20 54 63 6c 5f 45 72 72 6e  ) Added Tcl_Errn
dae0: 6f 4d 73 67 20 74 6f 20 74 72 61 6e 73 6c 61 74  oMsg to translat
daf0: 65 20 61 6e 20 65 72 72 6e 6f 20 76 61 6c 75 65  e an errno value
db00: 0a 69 6e 74 6f 20 61 20 68 75 6d 61 6e 2d 72 65  .into a human-re
db10: 61 64 61 62 6c 65 20 73 74 72 69 6e 67 2e 20 20  adable string.  
db20: 54 68 69 73 20 69 73 20 6e 6f 77 20 75 73 65 64  This is now used
db30: 20 69 6e 73 74 65 61 64 20 6f 66 20 63 61 6c 6c   instead of call
db40: 69 6e 67 0a 73 74 72 65 72 72 6f 72 20 62 65 63  ing.strerror bec
db50: 61 75 73 65 20 73 74 72 65 72 72 6f 72 20 6d 65  ause strerror me
db60: 73 61 67 65 73 20 76 61 72 79 20 64 72 61 6d 61  sages vary drama
db70: 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 70 6c 61  tically from pla
db80: 74 66 6f 72 6d 0a 74 6f 20 70 6c 61 74 66 6f 72  tform.to platfor
db90: 6d 2c 20 77 68 69 63 68 20 6d 65 73 73 65 73 20  m, which messes 
dba0: 75 70 20 54 63 6c 20 74 65 73 74 73 2e 20 20 54  up Tcl tests.  T
dbb0: 63 6c 5f 45 72 72 6e 6f 4d 73 67 20 75 73 65 73  cl_ErrnoMsg uses
dbc0: 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 50 4f   the standard.PO
dbd0: 53 49 58 20 6d 65 73 73 61 67 65 73 20 66 6f 72  SIX messages for
dbe0: 20 61 6c 6c 20 74 68 65 20 63 6f 6d 6d 6f 6e 20   all the common 
dbf0: 73 69 67 6e 61 6c 73 2c 20 61 6e 64 20 63 61 6c  signals, and cal
dc00: 6c 73 20 73 74 72 65 72 72 6f 72 20 66 6f 72 0a  ls strerror for.
dc10: 73 69 67 6e 61 6c 73 20 69 74 20 64 6f 65 73 6e  signals it doesn
dc20: 27 74 20 75 6e 64 65 72 73 74 61 6e 64 2e 0a 0a  't understand...
dc30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
dc40: 2d 20 52 65 6c 65 61 73 65 64 20 70 61 74 63 68  - Released patch
dc50: 20 37 2e 34 70 32 2c 20 39 2f 31 35 2f 39 35 20   7.4p2, 9/15/95 
dc60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
dc70: 2d 2d 2d 2d 2d 2d 2d 0a 0a 2d 2d 2d 2d 2d 2d 2d  -------..-------
dc80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
dc90: 73 65 64 20 37 2e 35 61 31 2c 20 39 2f 31 35 2f  sed 7.5a1, 9/15/
dca0: 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  95 -------------
dcb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 32  ----------..9/22
dcc0: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 43 68  /95 (bug fix) Ch
dcd0: 61 6e 67 65 64 20 61 75 74 6f 5f 6d 6b 69 6e 64  anged auto_mkind
dce0: 65 78 20 74 6f 20 63 72 65 61 74 65 20 74 63 6c  ex to create tcl
dcf0: 49 6e 64 65 78 20 66 69 6c 65 73 20 74 68 61 74  Index files that
dd00: 0a 68 61 6e 64 6c 65 20 64 69 72 65 63 74 6f 72  .handle director
dd10: 69 65 73 20 77 68 6f 73 65 20 70 61 74 68 73 20  ies whose paths 
dd20: 6d 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 73 70  might contain sp
dd30: 61 63 65 73 2e 20 28 52 4a 29 0a 0a 39 2f 32 37  aces. (RJ)..9/27
dd40: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 54 68  /95 (bug fix) Th
dd50: 65 20 22 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61  e "format" comma
dd60: 6e 64 20 64 69 64 6e 27 74 20 63 68 65 63 6b 20  nd didn't check 
dd70: 66 6f 72 20 68 75 67 65 20 6f 72 20 6e 65 67 61  for huge or nega
dd80: 74 69 76 65 0a 77 69 64 74 68 20 73 70 65 63 69  tive.width speci
dd90: 66 69 65 72 73 2c 20 77 68 69 63 68 20 63 6f 75  fiers, which cou
dda0: 6c 64 20 63 61 75 73 65 20 63 6f 72 65 20 64 75  ld cause core du
ddb0: 6d 70 73 2e 20 28 4a 4f 29 0a 0a 39 2f 32 37 2f  mps. (JO)..9/27/
ddc0: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 6f 72  95 (bug fix) Cor
ddd0: 65 20 64 75 6d 70 73 20 63 6f 75 6c 64 20 6f 63  e dumps could oc
dde0: 63 75 72 20 69 66 20 61 6e 20 69 6e 74 65 72 61  cur if an intera
ddf0: 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 20 74 79  ctive command ty
de00: 70 65 64 0a 74 6f 20 74 63 6c 73 68 20 72 65 74  ped.to tclsh ret
de10: 75 72 6e 65 64 20 61 20 76 65 72 79 20 6c 6f 6e  urned a very lon
de20: 67 20 72 65 73 75 6c 74 20 66 6f 72 20 74 63 6c  g result for tcl
de30: 73 68 20 74 6f 20 70 72 69 6e 74 20 6f 75 74 2e  sh to print out.
de40: 20 20 54 68 65 20 62 75 67 20 69 73 0a 61 63 74    The bug is.act
de50: 75 61 6c 6c 79 20 69 6e 20 70 72 69 6e 74 66 20  ually in printf 
de60: 28 69 6e 20 53 6f 6c 61 72 69 73 20 32 2e 33 20  (in Solaris 2.3 
de70: 61 6e 64 20 32 2e 34 2c 20 61 74 20 6c 65 61 73  and 2.4, at leas
de80: 74 29 3b 20 20 73 77 69 74 63 68 65 64 20 74 6f  t);  switched to
de90: 20 75 73 65 0a 70 75 74 73 20 69 6e 73 74 65 61   use.puts instea
dea0: 64 2e 20 20 28 4a 4f 29 0a 0a 39 2f 32 38 2f 39  d.  (JO)..9/28/9
deb0: 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  5 (bug fix) Chan
dec0: 67 65 64 20 6d 61 6b 65 66 69 6c 65 2e 62 63 20  ged makefile.bc 
ded0: 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 61 20 66  to eliminate a f
dee0: 61 6c 73 65 20 64 65 70 65 6e 64 65 6e 63 79 0a  alse dependency.
def0: 66 6f 72 20 74 63 6c 31 36 37 35 2e 64 6c 6c 20  for tcl1675.dll 
df00: 6f 6e 20 74 68 65 20 42 6f 72 6c 61 6e 64 20 72  on the Borland r
df10: 75 6e 20 74 69 6d 65 20 6c 69 62 72 61 72 79 2e  un time library.
df20: 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28   (SS)..9/28/95 (
df30: 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 74  bug fix) Fixed t
df40: 63 6c 37 35 2e 64 6c 6c 20 73 6f 20 69 74 20 6c  cl75.dll so it l
df50: 6f 6f 6b 73 20 66 6f 72 20 74 63 6c 31 36 37 35  ooks for tcl1675
df60: 2e 64 6c 6c 20 69 6e 73 74 65 61 64 0a 6f 66 20  .dll instead.of 
df70: 74 63 6c 31 36 2e 64 6c 6c 2e 20 28 53 53 29 0a  tcl16.dll. (SS).
df80: 0a 39 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69  .9/28/95 (bug fi
df90: 78 29 20 54 63 6c 20 77 61 73 20 6e 6f 74 20 63  x) Tcl was not c
dfa0: 6f 72 72 65 63 74 6c 79 20 64 65 74 65 63 74 69  orrectly detecti
dfb0: 6e 67 20 74 68 65 20 64 69 66 66 65 72 65 6e 63  ng the differenc
dfc0: 65 0a 62 65 74 77 65 65 6e 20 57 69 6e 33 32 73  e.between Win32s
dfd0: 20 61 6e 64 20 57 69 6e 64 6f 77 73 20 27 39 35   and Windows '95
dfe0: 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20  . (SS)..9/28/95 
dff0: 28 62 75 67 20 66 69 78 29 20 22 65 78 65 63 22  (bug fix) "exec"
e000: 20 77 61 73 20 6e 6f 74 20 70 61 73 73 69 6e 67   was not passing
e010: 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 63 68 61   environment cha
e020: 6e 67 65 73 20 74 6f 20 63 68 69 6c 64 0a 70 72  nges to child.pr
e030: 6f 63 65 73 73 65 73 20 75 6e 64 65 72 20 57 69  ocesses under Wi
e040: 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a 39 2f 32  ndows. (SS)..9/2
e050: 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 43  8/95 (bug fix) C
e060: 68 61 6e 67 65 64 20 54 63 6c 20 74 6f 20 65 6e  hanged Tcl to en
e070: 73 75 72 65 20 74 68 61 74 20 6f 70 65 6e 20 66  sure that open f
e080: 69 6c 65 73 20 61 72 65 20 6e 6f 74 20 70 61 73  iles are not pas
e090: 73 65 64 0a 74 6f 20 63 68 69 6c 64 20 70 72 6f  sed.to child pro
e0a0: 63 65 73 73 65 73 20 75 6e 64 65 72 20 57 69 6e  cesses under Win
e0b0: 64 6f 77 73 2e 20 28 53 53 29 0a 0a 39 2f 32 38  dows. (SS)..9/28
e0c0: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46 69  /95 (bug fix) Fi
e0d0: 78 65 64 20 57 69 6e 64 6f 77 73 20 27 39 35 20  xed Windows '95 
e0e0: 61 6e 64 20 4e 54 20 76 65 72 73 69 6f 6e 73 20  and NT versions 
e0f0: 6f 66 20 65 78 65 63 20 73 6f 20 69 74 20 63 61  of exec so it ca
e100: 6e 0a 68 61 6e 64 6c 65 20 62 6f 74 68 20 63 6f  n.handle both co
e110: 6e 73 6f 6c 65 20 61 6e 64 20 77 69 6e 64 6f 77  nsole and window
e120: 73 20 61 70 70 73 2e 20 20 20 28 53 53 29 0a 0a  s apps.   (SS)..
e130: 39 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69 78  9/28/95 (bug fix
e140: 29 20 46 69 78 65 64 20 57 69 6e 64 6f 77 73 20  ) Fixed Windows 
e150: 76 65 72 73 69 6f 6e 20 6f 66 20 65 78 65 63 20  version of exec 
e160: 73 6f 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72 20  so it no longer 
e170: 6c 65 61 76 65 73 0a 74 65 6d 70 20 66 69 6c 65  leaves.temp file
e180: 73 20 6c 79 69 6e 67 20 61 72 6f 75 6e 64 2e 20  s lying around. 
e190: 20 41 6c 73 6f 20 63 68 61 6e 67 65 64 20 69 74   Also changed it
e1a0: 20 73 6f 20 74 68 65 20 74 65 6d 70 20 66 69 6c   so the temp fil
e1b0: 65 73 20 61 72 65 0a 63 72 65 61 74 65 64 20 69  es are.created i
e1c0: 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  n the appropriat
e1d0: 65 20 73 79 73 74 65 6d 20 64 65 70 65 6e 64 65  e system depende
e1e0: 6e 74 20 74 65 6d 70 20 64 69 72 65 63 74 6f 72  nt temp director
e1f0: 79 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35  y. (SS)..9/28/95
e200: 20 28 62 75 67 20 66 69 78 29 20 45 6c 69 6d 69   (bug fix) Elimi
e210: 6e 61 74 65 64 20 73 6f 75 72 63 65 20 64 65 70  nated source dep
e220: 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 57  endency on the W
e230: 69 6e 33 32 73 20 55 6e 69 76 65 72 73 61 6c 0a  in32s Universal.
e240: 54 68 75 6e 6b 20 68 65 61 64 65 72 20 66 69 6c  Thunk header fil
e250: 65 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20 6e  e, since it is n
e260: 6f 74 20 62 75 6e 64 6c 65 64 20 77 69 74 68 20  ot bundled with 
e270: 56 43 2b 2b 2e 20 28 53 53 29 0a 0a 39 2f 32 38  VC++. (SS)..9/28
e280: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 55 6e  /95 (bug fix) Un
e290: 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 54 63 6c  der Windows, Tcl
e2a0: 20 6e 6f 77 20 63 6f 6e 73 74 72 75 63 74 73 20   now constructs 
e2b0: 74 68 65 20 48 4f 4d 45 0a 65 6e 76 69 72 6f 6e  the HOME.environ
e2c0: 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 66 72  ment variable fr
e2d0: 6f 6d 20 48 4f 4d 45 50 41 54 48 20 61 6e 64 20  om HOMEPATH and 
e2e0: 48 4f 4d 45 44 52 49 56 45 20 77 68 65 6e 20 48  HOMEDRIVE when H
e2f0: 4f 4d 45 20 69 73 20 6e 6f 74 0a 61 6c 72 65 61  OME is not.alrea
e300: 64 79 20 73 65 74 2e 20 28 53 53 29 0a 0a 39 2f  dy set. (SS)..9/
e310: 32 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  28/95 (bug fix) 
e320: 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
e330: 72 20 22 69 6e 66 6f 20 6e 61 6d 65 6f 66 65 78  r "info nameofex
e340: 65 63 75 74 61 62 6c 65 22 20 61 6e 64 20 22 69  ecutable" and "i
e350: 6e 66 6f 0a 73 68 61 72 65 64 6c 69 62 65 78 74  nfo.sharedlibext
e360: 65 6e 73 69 6f 6e 22 20 74 6f 20 74 68 65 20 57  ension" to the W
e370: 69 6e 64 6f 77 73 20 76 65 72 73 69 6f 6e 2e 20  indows version. 
e380: 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28 62  (SS)..9/28/95 (b
e390: 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20  ug fix) Changed 
e3a0: 74 63 6c 73 68 20 74 6f 20 63 6f 72 72 65 63 74  tclsh to correct
e3b0: 6c 79 20 70 61 72 73 65 20 63 6f 6d 6d 61 6e 64  ly parse command
e3c0: 20 6c 69 6e 65 0a 61 72 67 75 6d 65 6e 74 73 20   line.arguments 
e3d0: 73 6f 20 74 68 61 74 20 62 61 63 6b 73 6c 61 73  so that backslas
e3e0: 68 65 73 20 61 72 65 20 70 72 65 73 65 72 76 65  hes are preserve
e3f0: 64 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e  d under Windows.
e400: 20 28 53 53 29 0a 0a 39 2f 32 39 2f 39 35 20 28   (SS)..9/29/95 (
e410: 62 75 67 20 66 69 78 29 20 54 63 6c 20 37 2e 35  bug fix) Tcl 7.5
e420: 61 31 20 74 72 65 61 74 65 64 20 65 69 74 68 65  a1 treated eithe
e430: 72 20 72 65 74 75 72 6e 20 6f 72 20 6e 65 77 6c  r return or newl
e440: 69 6e 65 20 61 73 20 65 6e 64 0a 6f 66 20 6c 69  ine as end.of li
e450: 6e 65 20 69 6e 20 22 67 65 74 73 22 2c 20 77 68  ne in "gets", wh
e460: 69 63 68 20 63 61 75 73 65 64 20 6c 69 6e 65 73  ich caused lines
e470: 20 65 6e 64 69 6e 67 20 69 6e 20 43 52 4c 46 20   ending in CRLF 
e480: 74 6f 20 62 65 20 74 72 65 61 74 65 64 20 61 73  to be treated as
e490: 0a 74 77 6f 20 73 65 70 61 72 61 74 65 20 6c 69  .two separate li
e4a0: 6e 65 73 2e 20 20 43 68 61 6e 67 65 64 20 74 6f  nes.  Changed to
e4b0: 20 61 6c 6c 6f 77 20 6f 6e 6c 79 20 63 68 61 72   allow only char
e4c0: 61 63 74 65 72 20 61 73 20 65 6e 64 2d 6f 66 2d  acter as end-of-
e4d0: 6c 69 6e 65 3a 0a 63 61 72 72 69 61 67 65 20 72  line:.carriage r
e4e0: 65 74 75 72 6e 20 6f 6e 20 4d 61 63 73 2c 20 6e  eturn on Macs, n
e4f0: 65 77 6c 69 6e 65 20 65 6c 73 65 77 68 65 72 65  ewline elsewhere
e500: 2e 20 28 4a 4f 29 0a 0a 39 2f 32 39 2f 39 35 20  . (JO)..9/29/95 
e510: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 68  (new feature) Ch
e520: 61 6e 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c  anged to install
e530: 20 22 63 6f 6e 66 69 67 49 6e 66 6f 22 20 66 69   "configInfo" fi
e540: 6c 65 20 69 6e 20 73 61 6d 65 0a 64 69 72 65 63  le in same.direc
e550: 74 6f 72 79 20 61 73 20 6c 69 62 72 61 72 79 20  tory as library 
e560: 73 63 72 69 70 74 73 2e 20 20 49 74 20 64 69 64  scripts.  It did
e570: 6e 27 74 20 75 73 65 64 20 74 6f 20 67 65 74 20  n't used to get 
e580: 69 6e 73 74 61 6c 6c 65 64 2e 20 28 4a 4f 29 0a  installed. (JO).
e590: 0a 39 2f 32 39 2f 39 35 20 28 62 75 67 20 66 69  .9/29/95 (bug fi
e5a0: 78 29 20 54 63 6c 20 77 61 73 20 6e 6f 74 20 63  x) Tcl was not c
e5b0: 6f 6e 76 65 72 74 69 6e 67 20 57 69 6e 33 32 20  onverting Win32 
e5c0: 65 72 72 6f 72 73 20 69 6e 74 6f 20 50 4f 53 49  errors into POSI
e5d0: 58 0a 65 72 72 6f 72 73 20 75 6e 64 65 72 20 73  X.errors under s
e5e0: 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63 65  ome circumstance
e5f0: 73 2e 20 28 53 53 29 0a 0a 31 30 2f 32 2f 39 35  s. (SS)..10/2/95
e600: 20 28 62 75 67 20 66 69 78 29 20 53 61 66 65 20   (bug fix) Safe 
e610: 69 6e 74 65 72 70 72 65 74 65 72 73 20 6e 6f 20  interpreters no 
e620: 6c 6f 6e 67 65 72 20 67 65 74 20 69 6e 69 74 69  longer get initi
e630: 61 6c 69 7a 65 64 20 77 69 74 68 0a 61 20 63 61  alized with.a ca
e640: 6c 6c 20 74 6f 20 54 63 6c 5f 49 6e 69 74 28 29  ll to Tcl_Init()
e650: 2e 20 28 4a 4c 29 0a 0a 31 30 2f 31 2f 39 35 20  . (JL)..10/1/95 
e660: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
e670: 64 65 64 20 22 74 63 6c 5f 70 6c 61 74 66 6f 72  ded "tcl_platfor
e680: 6d 22 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62  m" global variab
e690: 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 0a 65 6e  le to provide.en
e6a0: 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 66 6f 72 6d  vironment inform
e6b0: 61 74 69 6f 6e 20 73 75 63 68 20 61 73 20 74 68  ation such as th
e6c0: 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 73 65  e instruction se
e6d0: 74 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 0a  t and operating.
e6e0: 73 79 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 31 30  system. (JO)..10
e6f0: 2f 31 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  /1/95 (bug fix) 
e700: 22 65 78 65 63 22 20 63 6f 6d 6d 61 6e 64 20 77  "exec" command w
e710: 61 73 6e 27 74 20 61 6c 77 61 79 73 20 67 65 6e  asn't always gen
e720: 65 72 61 74 69 6e 67 20 74 68 65 0a 22 63 68 69  erating the."chi
e730: 6c 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 65  ld process exite
e740: 64 20 61 62 6e 6f 72 6d 61 6c 6c 79 22 20 6d 65  d abnormally" me
e750: 73 73 61 67 65 20 77 68 65 6e 20 69 74 20 73 68  ssage when it sh
e760: 6f 75 6c 64 20 68 61 76 65 2e 20 20 28 4a 4f 29  ould have.  (JO)
e770: 0a 0a 31 30 2f 32 2f 39 35 20 28 62 75 67 20 66  ..10/2/95 (bug f
e780: 69 78 29 20 43 68 61 6e 67 65 64 20 22 6d 6b 4c  ix) Changed "mkL
e790: 69 6e 6b 73 2e 74 63 6c 22 20 73 6f 20 74 68 61  inks.tcl" so tha
e7a0: 74 20 74 68 65 20 73 63 72 69 70 74 73 20 69 74  t the scripts it
e7b0: 20 67 65 6e 65 72 61 74 65 73 0a 77 6f 6e 27 74   generates.won't
e7c0: 20 63 72 65 61 74 65 20 6c 69 6e 6b 73 20 74 68   create links th
e7d0: 61 74 20 6f 76 65 72 77 72 69 74 65 20 6f 72 69  at overwrite ori
e7e0: 67 69 6e 61 6c 20 6d 61 6e 75 61 6c 20 65 6e 74  ginal manual ent
e7f0: 72 69 65 73 20 28 74 68 65 72 65 20 77 61 73 0a  ries (there was.
e800: 61 20 70 72 6f 62 6c 65 6d 20 77 68 65 72 65 20  a problem where 
e810: 70 61 63 6b 2d 6f 6c 64 2e 6e 20 77 61 73 20 6f  pack-old.n was o
e820: 76 65 72 77 72 69 74 69 6e 67 20 70 61 63 6b 2e  verwriting pack.
e830: 6e 29 2e 20 20 28 4a 4f 29 0a 0a 31 30 2f 32 2f  n).  (JO)..10/2/
e840: 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  95 (feature chan
e850: 67 65 29 20 43 68 61 6e 67 65 64 20 74 6f 20 75  ge) Changed to u
e860: 73 65 20 2d 6c 64 6c 20 66 6f 72 20 64 79 6e 61  se -ldl for dyna
e870: 6d 69 63 20 6c 6f 61 64 69 6e 67 20 75 6e 64 65  mic loading unde
e880: 72 0a 4c 69 6e 75 78 20 69 66 20 69 74 20 69 73  r.Linux if it is
e890: 20 61 76 61 69 6c 61 62 6c 65 2c 20 62 75 74 20   available, but 
e8a0: 66 61 6c 6c 20 62 61 63 6b 20 74 6f 20 2d 6c 64  fall back to -ld
e8b0: 6c 64 20 69 66 20 69 74 20 69 73 6e 27 74 2e 20  ld if it isn't. 
e8c0: 20 28 4a 4f 29 0a 0a 31 30 2f 32 2f 39 35 20 28   (JO)..10/2/95 (
e8d0: 62 75 67 20 66 69 78 29 20 46 69 6c 65 20 73 68  bug fix) File sh
e8e0: 61 72 69 6e 67 20 77 61 73 20 63 61 75 73 69 6e  aring was causin
e8f0: 67 20 72 65 66 63 6f 75 6e 74 73 20 74 6f 20 72  g refcounts to r
e900: 65 61 63 68 20 30 0a 70 72 65 6d 61 74 75 72 65  each 0.premature
e910: 6c 79 20 66 6f 72 20 73 74 64 69 6e 2c 20 73 74  ly for stdin, st
e920: 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72 2c  dout and stderr,
e930: 20 75 6e 64 65 72 20 73 6f 6d 65 20 63 69 72 63   under some circ
e940: 75 6d 73 74 61 6e 63 65 73 2e 20 28 4a 4c 29 0a  umstances. (JL).
e950: 0a 31 30 2f 32 2f 39 35 20 28 70 6c 61 74 66 6f  .10/2/95 (platfo
e960: 72 6d 20 73 75 70 70 6f 72 74 29 20 41 64 64 65  rm support) Adde
e970: 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 56 69  d support for Vi
e980: 73 75 61 6c 20 43 2b 2b 20 63 6f 6d 70 69 6c 65  sual C++ compile
e990: 72 20 6f 6e 0a 57 69 6e 64 6f 77 73 2c 20 57 69  r on.Windows, Wi
e9a0: 6e 64 6f 77 73 20 27 39 35 20 61 6e 64 20 57 69  ndows '95 and Wi
e9b0: 6e 64 6f 77 73 20 4e 54 2c 20 63 6f 64 65 20 64  ndows NT, code d
e9c0: 6f 6e 61 74 65 64 20 62 79 20 47 6f 72 64 6f 6e  onated by Gordon
e9d0: 20 43 68 61 66 66 65 65 2e 20 28 4a 4c 29 0a 0a   Chaffee. (JL)..
e9e0: 31 30 2f 33 2f 39 35 20 28 62 75 67 20 66 69 78  10/3/95 (bug fix
e9f0: 29 20 54 63 6c 20 6e 6f 77 20 66 72 65 65 73 20  ) Tcl now frees 
ea00: 61 6e 79 20 6c 69 62 72 61 72 69 65 73 20 74 68  any libraries th
ea10: 61 74 20 69 74 20 6c 6f 61 64 73 20 62 65 66 6f  at it loads befo
ea20: 72 65 20 69 74 0a 65 78 69 74 73 2e 20 28 53 53  re it.exits. (SS
ea30: 29 0a 0a 31 30 2f 30 33 2f 39 35 20 28 62 75 67  )..10/03/95 (bug
ea40: 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
ea50: 69 6e 20 4d 61 63 69 6e 74 6f 73 68 20 6c 73 20  in Macintosh ls 
ea60: 63 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 74 68  command where th
ea70: 65 20 2d 6c 0a 61 6e 64 20 2d 43 20 6f 70 74 69  e -l.and -C opti
ea80: 6f 6e 73 20 77 6f 75 6c 64 20 66 61 69 6c 20 69  ons would fail i
ea90: 6e 20 61 6e 79 74 68 69 6e 67 20 62 75 74 20 74  n anything but t
eaa0: 68 65 20 48 4f 4d 45 20 64 69 72 65 63 74 6f 72  he HOME director
eab0: 79 2e 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  y. (RJ)..-------
eac0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
ead0: 73 65 64 20 37 2e 35 61 32 2c 20 31 30 2f 36 2f  sed 7.5a2, 10/6/
eae0: 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  95 -------------
eaf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 2f 31  ----------..10/1
eb00: 30 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 22  0/95 (bug fix) "
eb10: 66 69 6c 65 20 64 69 72 6e 61 6d 20 2f 2e 22 20  file dirnam /." 
eb20: 77 61 73 20 72 65 74 75 72 6e 69 6e 67 20 22 3a  was returning ":
eb30: 22 20 6f 6e 20 55 4e 49 58 20 69 6e 73 74 65 61  " on UNIX instea
eb40: 64 0a 6f 66 20 22 2f 22 2e 20 28 4a 4f 29 0a 0a  d.of "/". (JO)..
eb50: 31 30 2f 31 33 2f 39 35 20 28 62 75 67 20 66 69  10/13/95 (bug fi
eb60: 78 29 20 45 6c 69 6d 69 6e 61 74 65 64 20 64 65  x) Eliminated de
eb70: 70 65 6e 64 65 6e 63 79 20 6f 6e 20 4d 4b 53 20  pendency on MKS 
eb80: 74 6f 6f 6c 6b 69 74 20 66 6f 72 20 67 65 6e 65  toolkit for gene
eb90: 72 61 74 69 6e 67 0a 74 68 65 20 74 63 6c 2e 64  rating.the tcl.d
eba0: 65 66 20 66 69 6c 65 20 66 72 6f 6d 20 42 6f 72  ef file from Bor
ebb0: 6c 61 6e 64 20 6f 62 6a 65 63 74 20 66 69 6c 65  land object file
ebc0: 73 2e 20 28 53 53 29 0a 0a 31 30 2f 31 37 2f 39  s. (SS)..10/17/9
ebd0: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29  5 (new features)
ebe0: 20 4d 6f 76 65 64 20 74 68 65 20 65 76 65 6e 74   Moved the event
ebf0: 20 6c 6f 6f 70 20 66 72 6f 6d 20 54 63 6c 20 74   loop from Tcl t
ec00: 6f 20 54 6b 2c 20 6d 61 64 65 20 6d 61 6a 6f 72  o Tk, made major
ec10: 0a 72 65 76 69 73 69 6f 6e 73 20 61 6c 6f 6e 67  .revisions along
ec20: 20 74 68 65 20 77 61 79 3a 0a 20 20 20 20 2d 20   the way:.    - 
ec30: 4e 65 77 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 73  New Tcl commands
ec40: 3a 20 20 61 66 74 65 72 2c 20 75 70 64 61 74 65  :  after, update
ec50: 2c 20 76 77 61 69 74 20 28 72 65 70 6c 61 63 65  , vwait (replace
ec60: 73 20 22 74 6b 77 61 69 74 20 76 61 72 69 61 62  s "tkwait variab
ec70: 6c 65 22 29 2e 0a 20 20 20 20 2d 20 22 74 6b 65  le")..    - "tke
ec80: 72 72 6f 72 22 20 69 73 20 6e 6f 77 20 72 65 70  rror" is now rep
ec90: 6c 61 63 65 64 20 77 69 74 68 20 22 62 67 65 72  laced with "bger
eca0: 72 6f 72 22 2e 0a 20 20 20 20 2d 20 54 68 65 20  ror"..    - The 
ecb0: 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 65 64  following proced
ecc0: 75 72 65 73 20 61 72 65 20 73 69 6d 69 6c 61 72  ures are similar
ecd0: 20 74 6f 20 74 68 65 69 72 20 6f 6c 64 20 54 6b   to their old Tk
ece0: 20 63 6f 75 6e 74 65 72 70 61 72 74 73 3a 0a 20   counterparts:. 
ecf0: 20 20 20 20 20 54 63 6c 5f 44 6f 4f 6e 65 45 76       Tcl_DoOneEv
ed00: 65 6e 74 2c 20 54 63 6c 5f 53 6c 65 65 70 2c 20  ent, Tcl_Sleep, 
ed10: 54 63 6c 5f 44 6f 57 68 65 6e 49 64 6c 65 2c 20  Tcl_DoWhenIdle, 
ed20: 54 63 6c 5f 43 61 6e 63 65 6c 49 64 6c 65 43 61  Tcl_CancelIdleCa
ed30: 6c 6c 2c 0a 20 20 20 20 20 20 54 63 6c 5f 43 72  ll,.      Tcl_Cr
ed40: 65 61 74 65 46 69 6c 65 48 61 6e 64 6c 65 72 2c  eateFileHandler,
ed50: 20 54 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48   Tcl_DeleteFileH
ed60: 61 6e 64 6c 65 72 2c 20 54 63 6c 5f 43 72 65 61  andler, Tcl_Crea
ed70: 74 65 54 69 6d 65 72 48 61 6e 64 6c 65 72 2c 0a  teTimerHandler,.
ed80: 20 20 20 20 20 20 54 63 6c 5f 44 65 6c 65 74 65        Tcl_Delete
ed90: 54 69 6d 65 72 48 61 6e 64 6c 65 72 2c 20 54 63  TimerHandler, Tc
eda0: 6c 5f 42 61 63 6b 67 72 6f 75 6e 64 45 72 72 6f  l_BackgroundErro
edb0: 72 2e 0a 20 20 20 20 2d 20 52 65 76 69 73 65 64  r..    - Revised
edc0: 20 6e 6f 74 69 66 69 65 72 2c 20 61 64 64 20 6e   notifier, add n
edd0: 65 77 20 63 6f 6e 63 65 70 74 20 6f 66 20 22 65  ew concept of "e
ede0: 76 65 6e 74 20 73 6f 75 72 63 65 22 20 77 69 74  vent source" wit
edf0: 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a  h the following.
ee00: 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 73        procedures
ee10: 3a 20 20 54 63 6c 5f 43 72 65 61 74 65 45 76 65  :  Tcl_CreateEve
ee20: 6e 74 53 6f 75 72 63 65 2c 20 54 63 6c 5f 44 65  ntSource, Tcl_De
ee30: 6c 65 74 65 45 76 65 6e 74 53 6f 75 72 63 65 2c  leteEventSource,
ee40: 0a 20 20 20 20 20 20 54 63 6c 5f 57 61 74 63 68  .      Tcl_Watch
ee50: 46 69 6c 65 2c 20 54 63 6c 5f 53 65 74 4d 61 78  File, Tcl_SetMax
ee60: 42 6c 6f 63 6b 54 69 6d 65 2c 20 54 63 6c 5f 46  BlockTime, Tcl_F
ee70: 69 6c 65 52 65 61 64 79 2c 20 54 63 6c 5f 51 75  ileReady, Tcl_Qu
ee80: 65 75 65 45 76 65 6e 74 2c 0a 20 20 20 20 20 20  eueEvent,.      
ee90: 54 63 6c 5f 57 61 69 74 46 6f 72 45 76 65 6e 74  Tcl_WaitForEvent
eea0: 2e 20 28 4a 4f 29 0a 0a 31 30 2f 33 31 2f 39 35  . (JO)..10/31/95
eeb0: 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20   (new features) 
eec0: 49 6d 70 6c 65 6d 65 6e 74 65 64 20 63 72 6f 73  Implemented cros
eed0: 73 20 70 6c 61 74 66 6f 72 6d 20 66 69 6c 65 20  s platform file 
eee0: 6e 61 6d 65 20 73 75 70 70 6f 72 74 20 74 6f 20  name support to 
eef0: 6d 61 6b 65 0a 69 74 20 65 61 73 69 65 72 20 74  make.it easier t
ef00: 6f 20 77 72 69 74 65 20 63 72 6f 73 73 20 70 6c  o write cross pl
ef10: 61 74 66 6f 72 6d 20 73 63 72 69 70 74 73 2e 20  atform scripts. 
ef20: 20 54 63 6c 20 6e 6f 77 20 75 6e 64 65 72 73 74   Tcl now underst
ef30: 61 6e 64 73 20 34 20 66 69 6c 65 20 6e 61 6d 69  ands 4 file nami
ef40: 6e 67 0a 63 6f 6e 76 65 6e 74 69 6f 6e 73 3a 20  ng.conventions: 
ef50: 57 69 6e 64 6f 77 73 20 28 62 6f 74 68 20 44 4f  Windows (both DO
ef60: 53 20 61 6e 64 20 55 4e 43 29 2c 20 4d 61 63 2c  S and UNC), Mac,
ef70: 20 55 6e 69 78 2c 20 61 6e 64 20 4e 65 74 77 6f   Unix, and Netwo
ef80: 72 6b 2e 20 20 54 68 65 20 6e 65 74 77 6f 72 6b  rk.  The network
ef90: 0a 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 61  .convention is a
efa0: 20 6e 65 77 20 6e 61 6d 69 6e 67 20 6d 65 63 68   new naming mech
efb0: 61 6e 69 73 6d 20 74 68 61 74 20 63 61 6e 20 62  anism that can b
efc0: 65 20 75 73 65 64 20 74 6f 20 70 61 74 68 73 20  e used to paths 
efd0: 69 6e 20 61 20 70 6c 61 74 66 6f 72 6d 0a 69 6e  in a platform.in
efe0: 64 65 70 65 6e 64 65 6e 74 20 66 61 73 68 69 6f  dependent fashio
eff0: 6e 2e 20 20 53 65 65 20 74 68 65 20 22 66 69 6c  n.  See the "fil
f000: 65 22 20 63 6f 6d 6d 61 6e 64 20 6d 61 6e 75 61  e" command manua
f010: 6c 20 70 61 67 65 20 66 6f 72 20 6d 6f 72 65 20  l page for more 
f020: 64 65 74 61 69 6c 73 2e 0a 54 68 65 20 70 72 69  details..The pri
f030: 6d 61 72 79 20 69 6e 74 65 72 66 61 63 65 73 20  mary interfaces 
f040: 63 68 61 6e 67 65 73 20 61 72 65 3a 0a 20 20 20  changes are:.   
f050: 20 2d 20 41 6c 6c 20 54 63 6c 20 63 6f 6d 6d 61   - All Tcl comma
f060: 6e 64 73 20 74 68 61 74 20 65 78 70 65 63 74 20  nds that expect 
f070: 61 20 66 69 6c 65 20 6e 61 6d 65 20 6e 6f 77 20  a file name now 
f080: 61 63 63 65 70 74 20 62 6f 74 68 20 6e 65 74 77  accept both netw
f090: 6f 72 6b 20 61 6e 64 0a 20 20 20 20 20 20 6e 61  ork and.      na
f0a0: 74 69 76 65 20 66 6f 72 6d 2e 0a 20 20 20 20 2d  tive form..    -
f0b0: 20 54 77 6f 20 6e 65 77 20 22 66 69 6c 65 22 20   Two new "file" 
f0c0: 73 75 62 63 6f 6d 6d 61 6e 64 73 2c 20 22 6e 61  subcommands, "na
f0d0: 74 69 76 65 6e 61 6d 65 22 20 61 6e 64 20 22 6e  tivename" and "n
f0e0: 65 74 77 6f 72 6b 6e 61 6d 65 22 2c 20 70 72 6f  etworkname", pro
f0f0: 76 69 64 65 20 61 0a 20 20 20 20 20 20 77 61 79  vide a.      way
f100: 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77   to convert betw
f110: 65 65 6e 20 6e 65 74 77 6f 72 6b 20 61 6e 64 20  een network and 
f120: 6e 61 74 69 76 65 20 66 6f 72 6d 2e 0a 20 20 20  native form..   
f130: 20 2d 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f 54   - Renamed Tcl_T
f140: 69 6c 64 65 53 75 62 73 74 20 74 6f 20 54 63 6c  ildeSubst to Tcl
f150: 5f 54 72 61 6e 73 6c 61 74 65 46 69 6c 65 4e 61  _TranslateFileNa
f160: 6d 65 2c 20 61 6e 64 20 63 68 61 6e 67 65 64 20  me, and changed 
f170: 69 74 20 73 6f 20 74 68 61 74 0a 20 20 20 20 20  it so that.     
f180: 20 69 74 20 61 6c 77 61 79 73 20 72 65 74 75 72   it always retur
f190: 6e 73 20 61 20 66 69 6c 65 6e 61 6d 65 20 69 6e  ns a filename in
f1a0: 20 6e 61 74 69 76 65 20 66 6f 72 6d 2e 20 20 54   native form.  T
f1b0: 63 6c 5f 54 69 6c 64 65 53 75 62 73 74 20 69 73  cl_TildeSubst is
f1c0: 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20 61   defined.      a
f1d0: 73 20 61 20 6d 61 63 72 6f 20 66 6f 72 20 62 61  s a macro for ba
f1e0: 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69  ckward compatibi
f1f0: 6c 69 74 79 2c 20 62 75 74 20 69 74 20 69 73 20  lity, but it is 
f200: 64 65 70 72 65 63 61 74 65 64 2e 20 28 53 53 29  deprecated. (SS)
f210: 0a 0a 31 31 2f 35 2f 39 35 20 28 6e 65 77 20 66  ..11/5/95 (new f
f220: 65 61 74 75 72 65 29 20 4d 61 64 65 20 22 74 6b  eature) Made "tk
f230: 65 72 72 6f 72 22 20 61 6e 64 20 22 62 67 65 72  error" and "bger
f240: 72 6f 72 22 20 73 79 6e 6f 6e 79 6d 73 2c 20 73  ror" synonyms, s
f250: 6f 20 74 68 61 74 0a 65 69 74 68 65 72 20 6e 61  o that.either na
f260: 6d 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74  me can be used t
f270: 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 74 68 65  o manipulate the
f280: 20 63 6f 6d 6d 61 6e 64 20 28 70 72 6f 76 69 64   command (provid
f290: 65 73 20 74 65 6d 70 6f 72 61 72 79 0a 62 61 63  es temporary.bac
f2a0: 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c  kward compatibil
f2b0: 69 74 79 20 66 6f 72 20 65 78 69 73 74 69 6e 67  ity for existing
f2c0: 20 73 63 72 69 70 74 73 20 74 68 61 74 20 75 73   scripts that us
f2d0: 65 20 74 6b 65 72 72 6f 72 29 2e 20 28 4a 4f 29  e tkerror). (JO)
f2e0: 0a 0a 31 31 2f 35 2f 39 35 20 28 6e 65 77 20 66  ..11/5/95 (new f
f2f0: 65 61 74 75 72 65 29 20 41 64 64 65 64 20 65 78  eature) Added ex
f300: 69 74 20 68 61 6e 64 6c 65 72 73 20 61 6e 64 20  it handlers and 
f310: 6e 65 77 20 43 20 70 72 6f 63 65 64 75 72 65 73  new C procedures
f320: 0a 54 63 6c 5f 43 72 65 61 74 65 45 78 69 74 48  .Tcl_CreateExitH
f330: 61 6e 64 6c 65 72 2c 20 54 63 6c 5f 44 65 6c 65  andler, Tcl_Dele
f340: 74 65 45 78 69 74 48 61 6e 64 6c 65 72 2c 20 61  teExitHandler, a
f350: 6e 64 20 54 63 6c 5f 45 78 69 74 2e 20 28 4a 4f  nd Tcl_Exit. (JO
f360: 29 0a 0a 31 31 2f 36 2f 39 35 20 28 6e 65 77 20  )..11/6/95 (new 
f370: 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 70  feature) Added p
f380: 69 64 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 4d  id command for M
f390: 61 63 69 6e 74 6f 73 68 20 76 65 72 73 69 6f 6e  acintosh version
f3a0: 20 6f 66 0a 54 63 6c 20 28 69 74 20 64 69 64 6e   of.Tcl (it didn
f3b0: 27 74 20 70 72 65 76 69 6f 75 73 6c 79 20 65 78  't previously ex
f3c0: 69 73 74 20 6f 6e 20 74 68 65 20 4d 61 63 29 2e  ist on the Mac).
f3d0: 20 28 52 4a 29 0a 0a 31 31 2f 37 2f 39 35 20 28   (RJ)..11/7/95 (
f3e0: 6e 65 77 20 66 65 61 74 75 72 65 29 20 4e 65 77  new feature) New
f3f0: 20 67 65 6e 65 72 69 63 20 49 4f 20 66 61 63 69   generic IO faci
f400: 6c 69 74 79 20 61 6e 64 20 73 75 70 70 6f 72 74  lity and support
f410: 20 66 6f 72 20 49 4f 20 74 6f 0a 66 69 6c 65 73   for IO to.files
f420: 2c 20 70 69 70 65 73 20 61 6e 64 20 73 6f 63 6b  , pipes and sock
f430: 65 74 73 20 62 61 73 65 64 20 6f 6e 20 61 20 63  ets based on a c
f440: 6f 6d 6d 6f 6e 20 62 75 66 66 65 72 69 6e 67 20  ommon buffering 
f450: 73 63 68 65 6d 65 2e 20 53 75 70 70 6f 72 74 0a  scheme. Support.
f460: 66 6f 72 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73  for asynchronous
f470: 20 28 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 29 20   (non-blocking) 
f480: 49 4f 20 61 6e 64 20 66 6f 72 20 65 76 65 6e 74  IO and for event
f490: 20 64 72 69 76 65 72 20 49 4f 2e 20 53 75 70 70   driver IO. Supp
f4a0: 6f 72 74 0a 66 6f 72 20 61 75 74 6f 6d 61 74 69  ort.for automati
f4b0: 63 20 28 62 61 63 6b 67 72 6f 75 6e 64 29 20 61  c (background) a
f4c0: 73 79 6e 63 68 72 6f 6e 6f 75 73 20 66 6c 75 73  synchronous flus
f4d0: 68 69 6e 67 20 61 6e 64 20 61 73 79 6e 63 68 72  hing and asynchr
f4e0: 6f 6e 6f 75 73 0a 63 6c 6f 73 69 6e 67 20 6f 66  onous.closing of
f4f0: 20 63 68 61 6e 6e 65 6c 73 2e 20 28 4a 4c 29 0a   channels. (JL).
f500: 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77 20 66 65  .11/7/95 (new fe
f510: 61 74 75 72 65 29 20 20 41 64 64 65 64 20 6e 65  ature)  Added ne
f520: 77 20 63 6f 6d 6d 61 6e 64 73 20 22 66 63 6f 6e  w commands "fcon
f530: 66 69 67 75 72 65 22 20 61 6e 64 20 22 66 62 6c  figure" and "fbl
f540: 6f 63 6b 65 64 22 0a 74 6f 20 73 75 70 70 6f 72  ocked".to suppor
f550: 74 20 6e 65 77 20 49 2f 4f 20 66 65 61 74 75 72  t new I/O featur
f560: 65 73 20 73 75 63 68 20 61 73 20 6e 6f 6e 62 6c  es such as nonbl
f570: 6f 63 6b 69 6e 67 20 49 2f 4f 2e 20 20 41 64 64  ocking I/O.  Add
f580: 65 64 20 22 73 6f 63 6b 65 74 22 0a 63 6f 6d 6d  ed "socket".comm
f590: 61 6e 64 20 66 6f 72 20 63 72 65 61 74 69 6e 67  and for creating
f5a0: 20 54 43 50 20 63 6c 69 65 6e 74 20 61 6e 64 20   TCP client and 
f5b0: 73 65 72 76 65 72 20 73 6f 63 6b 65 74 73 2e 20  server sockets. 
f5c0: 28 4a 4c 29 2e 0a 0a 31 31 2f 37 2f 39 35 20 28  (JL)...11/7/95 (
f5d0: 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 6f 6d  new feature) Com
f5e0: 70 6c 65 74 65 20 73 65 74 20 6f 66 20 43 20 41  plete set of C A
f5f0: 50 49 73 20 74 6f 20 74 68 65 20 6e 65 77 20 67  PIs to the new g
f600: 65 6e 65 72 69 63 20 49 4f 0a 66 61 63 69 6c 69  eneric IO.facili
f610: 74 79 3a 0a 20 20 20 20 2d 20 4f 70 65 6e 69 6e  ty:.    - Openin
f620: 67 20 63 68 61 6e 6e 65 6c 73 3a 20 54 63 6c 5f  g channels: Tcl_
f630: 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 6c 2c  OpenFileChannel,
f640: 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61 6e 64   Tcl_OpenCommand
f650: 43 68 61 6e 6e 65 6c 2c 0a 20 20 20 20 20 20 54  Channel,.      T
f660: 63 6c 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74  cl_OpenTcpClient
f670: 2c 20 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65 72  , Tcl_OpenTcpSer
f680: 76 65 72 2e 0a 20 20 20 20 2d 20 49 2f 4f 20 70  ver..    - I/O p
f690: 72 6f 63 65 64 75 72 65 73 20 6f 6e 20 63 68 61  rocedures on cha
f6a0: 6e 6e 65 6c 73 2c 20 77 68 69 63 68 20 72 6f 75  nnels, which rou
f6b0: 67 68 6c 79 20 6d 69 72 72 6f 72 20 74 68 65 20  ghly mirror the 
f6c0: 41 4e 53 49 20 43 20 73 74 64 69 6f 0a 20 20 20  ANSI C stdio.   
f6d0: 20 20 20 6c 69 62 72 61 72 79 3a 20 20 54 63 6c     library:  Tcl
f6e0: 5f 52 65 61 64 2c 20 54 63 6c 5f 47 65 74 73 2c  _Read, Tcl_Gets,
f6f0: 20 54 63 6c 5f 57 72 69 74 65 2c 20 54 63 6c 5f   Tcl_Write, Tcl_
f700: 46 6c 75 73 68 2c 20 54 63 6c 5f 53 65 65 6b 2c  Flush, Tcl_Seek,
f710: 0a 20 20 20 20 20 20 54 63 6c 5f 54 65 6c 6c 2c  .      Tcl_Tell,
f720: 20 54 63 6c 5f 43 6c 6f 73 65 2c 20 54 63 6c 5f   Tcl_Close, Tcl_
f730: 45 6f 66 2c 20 54 63 6c 5f 49 6e 70 75 74 42 6c  Eof, Tcl_InputBl
f740: 6f 63 6b 65 64 2c 20 54 63 6c 5f 47 65 74 43 68  ocked, Tcl_GetCh
f750: 61 6e 6e 65 6c 4f 70 74 69 6f 6e 2c 0a 20 20 20  annelOption,.   
f760: 20 20 20 54 63 6c 5f 53 65 74 43 68 61 6e 6e 65     Tcl_SetChanne
f770: 6c 4f 70 74 69 6f 6e 2e 0a 20 20 20 20 2d 20 45  lOption..    - E
f780: 78 74 65 6e 73 69 6f 6e 20 6d 65 63 68 61 6e 69  xtension mechani
f790: 73 6d 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20  sm for creating 
f7a0: 6e 65 77 20 6b 69 6e 64 73 20 6f 66 20 63 68 61  new kinds of cha
f7b0: 6e 6e 65 6c 73 3a 0a 20 20 20 20 20 20 54 63 6c  nnels:.      Tcl
f7c0: 5f 43 72 65 61 74 65 43 68 61 6e 6e 65 6c 2c 20  _CreateChannel, 
f7d0: 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 49 6e  Tcl_GetChannelIn
f7e0: 73 74 61 6e 63 65 44 61 74 61 2c 20 54 63 6c 5f  stanceData, Tcl_
f7f0: 47 65 74 43 68 61 6e 6e 65 6c 54 79 70 65 2c 0a  GetChannelType,.
f800: 20 20 20 20 20 20 54 63 6c 5f 47 65 74 43 68 61        Tcl_GetCha
f810: 6e 6e 65 6c 4e 61 6d 65 2c 20 54 63 6c 5f 47 65  nnelName, Tcl_Ge
f820: 74 43 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 54 63  tChannelFile, Tc
f830: 6c 5f 52 65 67 69 73 74 65 72 43 68 61 6e 6e 65  l_RegisterChanne
f840: 6c 2c 0a 20 20 20 20 20 20 54 63 6c 5f 55 6e 72  l,.      Tcl_Unr
f850: 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 2c 20  egisterChannel, 
f860: 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 2e 0a  Tcl_GetChannel..
f870: 20 20 20 20 2d 20 45 76 65 6e 74 2d 64 72 69 76      - Event-driv
f880: 65 6e 20 49 2f 4f 20 6f 6e 20 63 68 61 6e 6e 65  en I/O on channe
f890: 6c 73 3a 20 54 63 6c 5f 43 72 65 61 74 65 43 68  ls: Tcl_CreateCh
f8a0: 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 2c 0a 20 20  annelHandler,.  
f8b0: 20 20 20 20 54 63 6c 5f 44 65 6c 65 74 65 43 68      Tcl_DeleteCh
f8c0: 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 2e 20 28 4a  annelHandler. (J
f8d0: 4c 29 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77  L)..11/7/95 (new
f8e0: 20 66 65 61 74 75 72 65 29 20 43 68 61 6e 6e 65   feature) Channe
f8f0: 6c 20 64 72 69 76 65 72 20 69 6e 74 65 72 66 61  l driver interfa
f900: 63 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e  ce specification
f910: 20 74 6f 20 61 6c 6c 6f 77 0a 6e 65 77 20 74 79   to allow.new ty
f920: 70 65 73 20 6f 66 20 63 68 61 6e 6e 65 6c 73 20  pes of channels 
f930: 74 6f 20 62 65 20 61 64 64 65 64 20 65 61 73 69  to be added easi
f940: 6c 79 20 74 6f 20 54 63 6c 2e 20 43 75 72 72 65  ly to Tcl. Curre
f950: 6e 74 6c 79 20 62 65 69 6e 67 20 75 73 65 64 0a  ntly being used.
f960: 69 6e 20 74 68 72 65 65 20 64 72 69 76 65 72 73  in three drivers
f970: 20 2d 20 66 6f 72 20 66 69 6c 65 73 2c 20 70 69   - for files, pi
f980: 70 65 73 20 61 6e 64 20 54 43 50 2d 62 61 73 65  pes and TCP-base
f990: 64 20 73 6f 63 6b 65 74 73 2e 20 28 4a 4c 29 2e  d sockets. (JL).
f9a0: 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77 20 66  ..11/7/95 (new f
f9b0: 65 61 74 75 72 65 29 20 69 6e 74 65 72 70 20 64  eature) interp d
f9c0: 65 6c 65 74 65 20 6e 6f 77 20 74 61 6b 65 73 20  elete now takes 
f9d0: 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 70 61  any number of pa
f9e0: 74 68 0a 6e 61 6d 65 73 20 6f 66 20 69 6e 74 65  th.names of inte
f9f0: 72 70 72 65 74 65 72 73 20 74 6f 20 64 65 6c 65  rpreters to dele
fa00: 74 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 7a 65  te, including ze
fa10: 72 6f 2e 20 28 4a 4c 29 2e 0a 0a 31 31 2f 38 2f  ro. (JL)...11/8/
fa20: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
fa30: 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 27 69 6e   implemented 'in
fa40: 66 6f 20 68 6f 73 74 6e 61 6d 65 27 20 61 6e 64  fo hostname' and
fa50: 20 54 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d 65   Tcl_GetHostName
fa60: 0a 63 6f 6d 6d 61 6e 64 20 74 6f 20 67 65 74 20  .command to get 
fa70: 68 6f 73 74 20 6e 61 6d 65 20 6f 66 20 6d 61 63  host name of mac
fa80: 68 69 6e 65 20 6f 6e 20 77 68 69 63 68 20 74 68  hine on which th
fa90: 65 20 54 63 6c 20 70 72 6f 63 65 73 73 20 69 73  e Tcl process is
faa0: 20 72 75 6e 6e 69 6e 67 2e 20 28 4a 4c 29 0a 0a   running. (JL)..
fab0: 31 31 2f 39 2f 39 35 20 28 6e 65 77 20 66 65 61  11/9/95 (new fea
fac0: 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65  ture) Implemente
fad0: 64 20 66 69 6c 65 20 41 50 49 73 20 66 6f 72 20  d file APIs for 
fae0: 61 63 63 65 73 73 20 74 6f 20 6c 6f 77 20 6c 65  access to low le
faf0: 76 65 6c 20 66 69 6c 65 73 0a 6f 6e 20 65 61 63  vel files.on eac
fb00: 68 20 73 79 73 74 65 6d 2e 20 54 68 65 20 41 50  h system. The AP
fb10: 49 73 20 61 72 65 3a 20 54 63 6c 5f 43 6c 6f 73  Is are: Tcl_Clos
fb20: 65 46 69 6c 65 2c 20 54 63 6c 5f 4f 70 65 6e 46  eFile, Tcl_OpenF
fb30: 69 6c 65 2c 20 54 63 6c 5f 52 65 61 64 46 69 6c  ile, Tcl_ReadFil
fb40: 65 2c 0a 54 63 6c 5f 57 72 69 74 65 46 69 6c 65  e,.Tcl_WriteFile
fb50: 20 61 6e 64 20 54 63 6c 5f 53 65 65 6b 46 69 6c   and Tcl_SeekFil
fb60: 65 2e 20 41 6c 73 6f 20 69 6d 70 6c 65 6d 65 6e  e. Also implemen
fb70: 74 65 64 20 54 63 6c 5f 57 61 69 74 50 69 64 20  ted Tcl_WaitPid 
fb80: 77 68 69 63 68 20 77 61 69 74 73 0a 69 6e 20 61  which waits.in a
fb90: 20 73 79 73 74 65 6d 20 64 65 70 65 6e 64 65 6e   system dependen
fba0: 74 20 6d 61 6e 6e 65 72 20 66 6f 72 20 61 20 63  t manner for a c
fbb0: 68 69 6c 64 20 70 72 6f 63 65 73 73 2e 20 28 4a  hild process. (J
fbc0: 4c 29 0a 0a 31 31 2f 39 2f 39 35 20 28 6e 65 77  L)..11/9/95 (new
fbd0: 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
fbe0: 54 63 6c 5f 55 70 64 61 74 65 4c 69 6e 6b 65 64  Tcl_UpdateLinked
fbf0: 56 61 72 20 70 72 6f 63 65 64 75 72 65 20 74 6f  Var procedure to
fc00: 20 66 6f 72 63 65 20 61 0a 54 63 6c 20 76 61 72   force a.Tcl var
fc10: 69 61 62 6c 65 20 74 6f 20 62 65 20 75 70 64 61  iable to be upda
fc20: 74 65 64 20 61 66 74 65 72 20 69 74 73 20 43 20  ted after its C 
fc30: 76 61 72 69 61 62 6c 65 20 63 68 61 6e 67 65 73  variable changes
fc40: 2e 20 28 4a 4f 29 0a 0a 31 31 2f 39 2f 39 35 20  . (JO)..11/9/95 
fc50: 28 62 75 67 20 66 69 78 29 20 54 68 65 20 67 6c  (bug fix) The gl
fc60: 6f 62 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 62  ob command has b
fc70: 65 65 6e 20 74 6f 74 61 6c 6c 79 20 72 65 69 6d  een totally reim
fc80: 70 6c 65 6d 65 6e 74 65 64 20 73 6f 0a 74 68 61  plemented so.tha
fc90: 74 20 69 74 20 63 61 6e 20 73 75 70 70 6f 72 74  t it can support
fca0: 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20   different file 
fcb0: 6e 61 6d 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 73  name conventions
fcc0: 2e 20 20 49 74 20 6e 6f 77 20 68 61 6e 64 6c 65  .  It now handle
fcd0: 73 0a 57 69 6e 64 6f 77 73 20 66 69 6c 65 20 6e  s.Windows file n
fce0: 61 6d 65 73 20 28 62 6f 74 68 20 55 4e 43 20 61  ames (both UNC a
fcf0: 6e 64 20 64 72 69 76 65 2d 72 65 6c 61 74 69 76  nd drive-relativ
fd00: 65 29 20 70 72 6f 70 65 72 6c 79 2e 20 20 49 74  e) properly.  It
fd10: 20 61 6c 73 6f 0a 73 75 70 70 6f 72 74 73 20 6e   also.supports n
fd20: 65 73 74 65 64 20 62 72 61 63 65 73 20 63 6f 72  ested braces cor
fd30: 72 65 63 74 6c 79 20 6e 6f 77 2e 20 28 53 53 29  rectly now. (SS)
fd40: 0a 0a 31 31 2f 31 33 2f 39 35 20 28 62 75 67 20  ..11/13/95 (bug 
fd50: 66 69 78 29 20 46 69 78 65 64 20 4d 61 6b 65 66  fix) Fixed Makef
fd60: 69 6c 65 2e 69 6e 20 73 6f 20 74 68 61 74 20 63  ile.in so that c
fd70: 6f 6e 66 69 67 75 72 65 20 63 61 6e 20 62 65 20  onfigure can be 
fd80: 72 75 6e 0a 66 72 6f 6d 20 61 20 63 6c 65 61 6e  run.from a clean
fd90: 20 64 69 72 65 63 74 6f 72 79 20 73 65 70 61 72   directory separ
fda0: 61 74 65 20 66 72 6f 6d 20 74 68 65 20 54 63 6c  ate from the Tcl
fdb0: 20 73 6f 75 72 63 65 20 74 72 65 65 2c 20 61 6e   source tree, an
fdc0: 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 0a 63  d compilations.c
fdd0: 61 6e 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20  an be performed 
fde0: 74 68 65 72 65 2e 20 28 4a 4f 29 0a 0a 31 31 2f  there. (JO)..11/
fdf0: 31 34 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  14/95 (bug fix) 
fe00: 46 69 78 65 64 20 66 69 6c 65 20 73 68 61 72 69  Fixed file shari
fe10: 6e 67 20 62 65 74 77 65 65 6e 20 69 6e 74 65 72  ng between inter
fe20: 70 72 65 74 65 72 73 20 61 6e 64 20 66 69 6c 65  preters and file
fe30: 0a 74 72 61 6e 73 66 65 72 72 69 6e 67 20 62 65  .transferring be
fe40: 74 77 65 65 6e 20 69 6e 74 65 72 70 72 65 74 65  tween interprete
fe50: 72 73 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20  rs to correctly 
fe60: 6d 61 6e 61 67 65 20 74 68 65 20 72 65 66 63 6f  manage the refco
fe70: 75 6e 74 20 73 6f 20 74 68 61 74 0a 66 69 6c 65  unt so that.file
fe80: 73 20 61 72 65 20 63 6c 6f 73 65 64 20 77 68 65  s are closed whe
fe90: 6e 20 74 68 65 20 6c 61 73 74 20 72 65 66 65 72  n the last refer
fea0: 65 6e 63 65 20 74 6f 20 74 68 65 6d 20 69 73 20  ence to them is 
feb0: 64 69 73 63 61 72 64 65 64 2e 20 28 4a 4c 29 0a  discarded. (JL).
fec0: 0a 31 31 2f 31 34 2f 39 35 20 28 62 75 67 20 66  .11/14/95 (bug f
fed0: 69 78 29 20 46 69 78 65 64 20 67 65 74 74 69 6d  ix) Fixed gettim
fee0: 65 6f 66 64 61 79 20 69 6d 70 6c 65 6d 65 6e 74  eofday implement
fef0: 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 0a 4d 61  ation for the.Ma
ff00: 63 69 6e 74 6f 73 68 2e 20 20 54 68 69 73 20 66  cintosh.  This f
ff10: 69 78 65 73 20 73 65 76 65 72 61 6c 20 74 69 6d  ixes several tim
ff20: 69 6e 67 20 72 65 6c 61 74 65 64 20 62 75 67 73  ing related bugs
ff30: 2e 20 28 52 4a 29 0a 0a 31 31 2f 31 37 2f 39 35  . (RJ)..11/17/95
ff40: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
ff50: 64 64 65 64 20 6d 69 73 73 69 6e 67 20 73 75 70  dded missing sup
ff60: 70 6f 72 74 20 66 6f 72 20 69 6e 66 6f 20 6e 61  port for info na
ff70: 6d 65 6f 66 65 78 65 63 75 74 61 62 6c 65 0a 6f  meofexecutable.o
ff80: 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 2e  n the Macintosh.
ff90: 20 28 52 4a 29 0a 0a 31 31 2f 31 37 2f 39 35 20   (RJ)..11/17/95 
ffa0: 28 62 75 67 20 66 69 78 29 20 54 68 65 20 54 63  (bug fix) The Tc
ffb0: 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 67 63  l variables argc
ffc0: 20 61 72 67 76 20 61 6e 64 20 61 72 67 76 30 20   argv and argv0 
ffd0: 6e 6f 77 20 72 65 74 75 72 6e 0a 73 6f 6d 65 74  now return.somet
ffe0: 68 69 6e 67 20 72 65 61 73 6f 6e 61 62 6c 65 20  hing reasonable 
fff0: 6f 6e 20 74 68 65 20 4d 61 63 2e 20 20 28 52 4a  on the Mac.  (RJ
10000 29 0a 0a 31 31 2f 32 32 2f 39 35 20 28 6e 65 77  )..11/22/95 (new
10010 20 66 65 61 74 75 72 65 29 20 49 6d 70 6c 65 6d   feature) Implem
10020 65 6e 74 65 64 20 22 61 75 74 6f 2d 64 65 74 65  ented "auto-dete
10030 63 74 22 20 6d 6f 64 65 20 66 6f 72 20 65 6e 64  ct" mode for end
10040 20 6f 66 20 6c 69 6e 65 0a 74 72 61 6e 73 6c 61   of line.transla
10050 74 69 6f 6e 73 2e 20 4f 6e 20 69 6e 70 75 74 2c  tions. On input,
10060 20 73 74 61 6e 64 61 6c 6f 6e 65 20 22 5c 72 22   standalone "\r"
10070 20 6d 65 61 6e 20 4d 41 43 20 6d 6f 64 65 2c 20   mean MAC mode, 
10080 73 74 61 6e 64 61 6c 6f 6e 65 20 22 5c 6e 22 0a  standalone "\n".
10090 6d 65 61 6e 20 55 6e 69 78 20 6d 6f 64 65 20 61  mean Unix mode a
100a0 6e 64 20 22 5c 72 5c 6e 22 20 6d 65 61 6e 73 20  nd "\r\n" means 
100b0 57 69 6e 64 6f 77 73 20 6d 6f 64 65 2e 20 4f 6e  Windows mode. On
100c0 20 6f 75 74 70 75 74 2c 20 74 68 65 20 6d 6f 64   output, the mod
100d0 65 20 69 73 0a 6d 6f 64 69 66 69 65 64 20 74 6f  e is.modified to
100e0 20 77 68 61 74 65 76 65 72 20 74 68 65 20 70 6c   whatever the pl
100f0 61 74 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20  atform specific 
10100 6d 6f 64 65 20 66 6f 72 20 74 68 61 74 20 70 6c  mode for that pl
10110 61 74 66 6f 72 6d 20 69 73 2e 20 28 4a 4c 29 0a  atform is. (JL).
10120 0a 31 31 2f 32 34 2f 39 35 20 28 66 65 61 74 75  .11/24/95 (featu
10130 72 65 20 63 68 61 6e 67 65 29 20 52 65 70 6c 61  re change) Repla
10140 63 65 64 20 22 63 6f 6e 66 69 67 49 6e 66 6f 22  ced "configInfo"
10150 20 66 69 6c 65 20 77 69 74 68 20 74 63 6c 43 6f   file with tclCo
10160 6e 66 69 67 2e 73 68 2c 0a 77 68 69 63 68 20 69  nfig.sh,.which i
10170 73 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 74 65 20  s more complete 
10180 61 6e 64 20 75 73 65 73 20 73 6c 69 67 68 74 6c  and uses slightl
10190 79 20 64 69 66 66 65 72 65 6e 74 20 6e 61 6d 65  y different name
101a0 73 2e 20 20 41 6c 73 6f 0a 61 72 72 61 6e 67 65  s.  Also.arrange
101b0 64 20 66 6f 72 20 74 63 6c 43 6f 6e 66 69 67 2e  d for tclConfig.
101c0 73 68 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c  sh to be install
101d0 65 64 20 69 6e 20 74 68 65 20 70 6c 61 74 66 6f  ed in the platfo
101e0 72 6d 2d 73 70 65 63 69 66 69 63 0a 6c 69 62 72  rm-specific.libr
101f0 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 69 6e  ary directory in
10200 73 74 65 61 64 20 6f 66 20 54 63 6c 27 73 20 73  stead of Tcl's s
10210 63 72 69 70 74 20 6c 69 62 72 61 72 79 20 64 69  cript library di
10220 72 65 63 74 6f 72 79 2e 20 28 4a 4f 29 0a 2a 2a  rectory. (JO).**
10230 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
10240 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
10250 20 54 63 6c 20 37 2e 35 61 32 2c 20 62 75 74 20   Tcl 7.5a2, but 
10260 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 34  not with Tcl 7.4
10270 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ***..----------
10280 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
10290 20 70 61 74 63 68 20 37 2e 34 70 33 2c 20 31 31   patch 7.4p3, 11
102a0 2f 32 38 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  /28/95 ---------
102b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
102c0 31 32 2f 35 2f 39 35 20 28 6e 65 77 20 66 65 61  12/5/95 (new fea
102d0 74 75 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f  ture) Added Tcl_
102e0 46 69 6c 65 20 66 61 63 69 6c 69 74 79 20 74 6f  File facility to
102f0 20 73 75 70 70 6f 72 74 20 70 6c 61 74 66 6f 72   support platfor
10300 6d 2d 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20 66  m-.independent f
10310 69 6c 65 20 68 61 6e 64 6c 65 73 2e 20 20 43 68  ile handles.  Ch
10320 61 6e 67 65 64 20 61 6c 6c 20 69 6e 74 65 72 66  anged all interf
10330 61 63 65 73 20 74 68 61 74 20 75 73 65 64 20 55  aces that used U
10340 6e 69 78 2d 0a 73 74 79 6c 65 20 69 6e 74 65 67  nix-.style integ
10350 65 72 20 66 64 27 73 20 74 6f 20 75 73 65 20 54  er fd's to use T
10360 63 6c 5f 46 69 6c 65 27 73 20 69 6e 73 74 65 61  cl_File's instea
10370 64 2e 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45  d. (SS).*** POTE
10380 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
10390 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 32 2f 35 2f  ILITY ***..12/5/
103a0 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
103b0 20 41 64 64 65 64 20 61 20 6e 65 77 20 22 63 6c   Added a new "cl
103c0 6f 63 6b 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  ock" command to 
103d0 54 63 6c 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e  Tcl.  The comman
103e0 64 0a 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20  d.allows you to 
103f0 67 65 74 20 74 68 65 20 63 75 72 72 65 6e 74 20  get the current 
10400 22 63 6c 69 63 6b 73 22 20 6f 72 20 73 65 63 6f  "clicks" or seco
10410 6e 64 73 20 26 20 61 6c 6c 6f 77 73 20 79 6f 75  nds & allows you
10420 20 74 6f 0a 66 6f 72 6d 61 74 20 6f 72 20 73 63   to.format or sc
10430 61 6e 20 68 75 6d 61 6e 20 72 65 61 64 61 62 6c  an human readabl
10440 65 20 74 69 6d 65 2f 64 61 74 65 20 73 74 72 69  e time/date stri
10450 6e 67 73 2e 20 28 52 4a 29 0a 0a 31 32 2f 31 38  ngs. (RJ)..12/18
10460 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65  /95 (new feature
10470 29 20 4d 6f 76 65 64 20 54 6b 5f 50 72 65 73 65  ) Moved Tk_Prese
10480 72 76 65 2c 20 54 6b 5f 52 65 6c 65 61 73 65 2c  rve, Tk_Release,
10490 20 61 6e 64 20 54 6b 5f 45 76 65 6e 74 75 61 6c   and Tk_Eventual
104a0 6c 79 46 72 65 65 0a 74 6f 20 54 63 6c 2c 20 72  lyFree.to Tcl, r
104b0 65 6e 61 6d 65 64 20 74 6f 20 54 63 6c 5f 50 72  enamed to Tcl_Pr
104c0 65 73 65 72 76 65 2c 20 54 63 6c 5f 52 65 6c 65  eserve, Tcl_Rele
104d0 61 73 65 2c 20 61 6e 64 20 54 63 6c 5f 45 76 65  ase, and Tcl_Eve
104e0 6e 74 75 61 6c 6c 79 46 72 65 65 2e 20 28 4a 4f  ntuallyFree. (JO
104f0 29 0a 0a 31 32 2f 31 38 2f 39 35 20 28 6e 65 77  )..12/18/95 (new
10500 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
10510 6e 65 77 20 22 70 61 63 6b 61 67 65 22 20 63 6f  new "package" co
10520 6d 6d 61 6e 64 20 61 6e 64 20 61 73 73 6f 63 69  mmand and associ
10530 61 74 65 64 0a 70 72 6f 63 65 64 75 72 65 73 20  ated.procedures 
10540 54 63 6c 5f 50 6b 67 52 65 71 75 69 72 65 20 61  Tcl_PkgRequire a
10550 6e 64 20 54 63 6c 5f 50 6b 67 50 72 6f 76 69 64  nd Tcl_PkgProvid
10560 65 2e 20 20 20 41 6c 73 6f 20 77 72 6f 74 65 0a  e.   Also wrote.
10570 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 6c 69 62 72  pkg_mkIndex libr
10580 61 72 79 20 70 72 6f 63 65 64 75 72 65 20 74 6f  ary procedure to
10590 20 63 72 65 61 74 65 20 69 6e 64 65 78 20 66 69   create index fi
105a0 6c 65 73 20 66 72 6f 6d 20 62 69 6e 61 72 69 65  les from binarie
105b0 73 0a 61 6e 64 20 73 63 72 69 70 74 73 2e 20 28  s.and scripts. (
105c0 4a 4f 29 0a 0a 31 32 2f 32 30 2f 39 35 20 28 6e  JO)..12/20/95 (n
105d0 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
105e0 64 20 54 63 6c 5f 57 61 69 74 46 6f 72 46 69 6c  d Tcl_WaitForFil
105f0 65 20 70 72 6f 63 65 64 75 72 65 2e 20 28 4a 4f  e procedure. (JO
10600 29 0a 0a 31 32 2f 32 31 2f 39 35 20 28 6e 65 77  )..12/21/95 (new
10610 20 66 65 61 74 75 72 65 73 29 20 4d 61 64 65 20   features) Made 
10620 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 61 72 67  package name arg
10630 75 6d 65 6e 74 20 74 6f 20 22 6c 6f 61 64 22 20  ument to "load" 
10640 6f 70 74 69 6f 6e 61 6c 0a 28 54 63 6c 20 77 69  optional.(Tcl wi
10650 6c 6c 20 6e 6f 77 20 61 74 74 65 6d 70 74 20 74  ll now attempt t
10660 6f 20 67 75 65 73 73 20 74 68 65 20 70 61 63 6b  o guess the pack
10670 61 67 65 20 6e 61 6d 65 20 69 66 20 6e 65 63 65  age name if nece
10680 73 73 61 72 79 29 2e 20 20 41 6c 73 6f 0a 61 64  ssary).  Also.ad
10690 64 65 64 20 54 63 6c 5f 53 74 61 74 69 63 50 61  ded Tcl_StaticPa
106a0 63 6b 61 67 65 20 61 6e 64 20 73 75 70 70 6f 72  ckage and suppor
106b0 74 20 69 6e 20 22 6c 6f 61 64 22 20 66 6f 72 20  t in "load" for 
106c0 73 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65  statically linke
106d0 64 0a 70 61 63 6b 61 67 65 73 2e 20 20 28 4a 4f  d.packages.  (JO
106e0 29 0a 0a 31 32 2f 32 32 2f 39 35 20 28 6e 65 77  )..12/22/95 (new
106f0 20 66 65 61 74 75 72 65 29 20 55 70 67 72 61 64   feature) Upgrad
10700 65 64 20 74 68 65 20 66 6f 72 65 61 63 68 20 63  ed the foreach c
10710 6f 6d 6d 61 6e 64 20 74 6f 20 61 63 63 65 70 74  ommand to accept
10720 20 6d 75 6c 74 69 70 6c 65 0a 6c 6f 6f 70 20 76   multiple.loop v
10730 61 72 69 61 62 6c 65 73 20 61 6e 64 20 6d 75 6c  ariables and mul
10740 74 69 70 6c 65 20 76 61 6c 75 65 20 6c 69 73 74  tiple value list
10750 73 2e 20 20 54 68 69 73 20 6c 65 74 73 20 79 6f  s.  This lets yo
10760 75 20 69 74 65 72 61 74 65 20 6f 76 65 72 0a 6d  u iterate over.m
10770 75 6c 74 69 70 6c 65 20 6c 69 73 74 73 20 69 6e  ultiple lists in
10780 20 70 61 72 61 6c 6c 65 6c 2c 20 61 6e 64 2f 6f   parallel, and/o
10790 72 20 61 73 73 69 67 6e 20 6d 75 6c 74 69 70 6c  r assign multipl
107a0 65 20 6c 6f 6f 70 20 76 61 72 69 61 62 6c 65 73  e loop variables
107b0 20 66 72 6f 6d 0a 6f 6e 65 20 76 61 6c 75 65 20   from.one value 
107c0 6c 69 73 74 20 64 75 72 69 6e 67 20 65 61 63 68  list during each
107d0 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 20   iteration. The 
107e0 6f 6e 6c 79 20 70 6f 74 65 6e 74 69 61 6c 20 63  only potential c
107f0 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 70 72 6f  ompatibility.pro
10800 62 6c 65 6d 20 69 73 20 77 69 74 68 20 73 63 72  blem is with scr
10810 69 70 74 73 20 74 68 61 74 20 75 73 65 64 20 6c  ipts that used l
10820 6f 6f 70 20 76 61 72 69 61 62 6c 65 73 20 77 69  oop variables wi
10830 74 68 20 61 20 6e 61 6d 65 20 74 68 61 74 20 63  th a name that c
10840 6f 75 6c 64 20 62 65 0a 63 6f 6e 73 74 72 75 65  ould be.construe
10850 64 20 74 6f 20 62 65 20 61 20 6c 69 73 74 20 6f  d to be a list o
10860 66 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 73  f variable names
10870 20 28 69 2e 65 2e 20 63 6f 6e 74 61 69 6e 65 64   (i.e. contained
10880 20 73 70 61 63 65 73 29 2e 20 20 28 42 57 29 0a   spaces).  (BW).
10890 0a 31 2f 35 2f 39 36 20 28 6e 65 77 20 66 65 61  .1/5/96 (new fea
108a0 74 75 72 65 29 20 43 68 61 6e 67 65 64 20 74 63  ture) Changed tc
108b0 6c 73 68 20 73 6f 20 69 74 20 62 75 69 6c 64 73  lsh so it builds
108c0 20 61 73 20 61 20 63 6f 6e 73 6f 6c 65 20 6d 6f   as a console mo
108d0 64 65 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 75  de.application u
108e0 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 20 4e  nder Windows.  N
108f0 6f 77 20 74 63 6c 73 68 20 63 61 6e 20 62 65 20  ow tclsh can be 
10900 75 73 65 64 20 66 72 6f 6d 20 74 68 65 20 63 6f  used from the co
10910 6d 6d 61 6e 64 0a 6c 69 6e 65 20 77 69 74 68 20  mmand.line with 
10920 70 69 70 65 73 20 6f 72 20 69 6e 74 65 72 61 63  pipes or interac
10930 74 69 76 65 6c 79 2e 20 20 4e 6f 74 65 20 74 68  tively.  Note th
10940 61 74 20 74 68 69 73 20 6f 6e 6c 79 20 77 6f 72  at this only wor
10950 6b 73 20 75 6e 64 65 72 0a 57 69 6e 64 6f 77 73  ks under.Windows
10960 20 39 35 20 6f 72 20 4e 54 2e 20 28 53 53 29 0a   95 or NT. (SS).
10970 0a 31 2f 31 37 2f 39 36 20 28 6e 65 77 20 66 65  .1/17/96 (new fe
10980 61 74 75 72 65 29 20 4d 6f 64 69 66 69 65 64 20  ature) Modified 
10990 4d 61 6b 65 66 69 6c 65 20 61 6e 64 20 63 6f 6e  Makefile and con
109a0 66 69 67 75 72 65 20 73 63 72 69 70 74 20 74 6f  figure script to
109b0 20 61 6c 6c 6f 77 0a 54 63 6c 20 74 6f 20 62 65   allow.Tcl to be
109c0 20 63 6f 6d 70 69 6c 65 64 20 61 73 20 61 20 73   compiled as a s
109d0 68 61 72 65 64 20 6c 69 62 72 61 72 79 3a 20 20  hared library:  
109e0 75 73 65 20 74 68 65 20 2d 2d 65 6e 61 62 6c 65  use the --enable
109f0 2d 73 68 61 72 65 64 20 6f 70 74 69 6f 6e 0a 77  -shared option.w
10a00 68 65 6e 20 63 6f 6e 66 69 67 75 69 6e 67 2e 20  hen configuing. 
10a10 20 28 4a 4f 29 0a 0a 31 2f 31 37 2f 39 36 20 28   (JO)..1/17/96 (
10a20 72 65 6d 6f 76 65 64 20 6f 62 73 6f 6c 65 74 65  removed obsolete
10a30 20 66 65 61 74 75 72 65 73 29 20 20 52 65 6d 6f   features)  Remo
10a40 76 65 64 20 74 68 65 20 70 72 6f 63 65 64 75 72  ved the procedur
10a50 65 73 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65  es Tcl_EnterFile
10a60 0a 61 6e 64 20 54 63 6c 5f 47 65 74 4f 70 65 6e  .and Tcl_GetOpen
10a70 46 69 6c 65 3a 20 20 74 68 65 73 65 20 6e 6f 20  File:  these no 
10a80 6c 6f 6e 67 65 72 20 6d 61 6b 65 20 73 65 6e 73  longer make sens
10a90 65 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 49  e with the new I
10aa0 2f 4f 20 73 79 73 74 65 6d 2e 20 28 4a 4c 29 0a  /O system. (JL).
10ab0 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
10ac0 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
10ad0 2a 0a 0a 31 2f 31 39 2f 39 36 20 28 62 75 67 20  *..1/19/96 (bug 
10ae0 66 69 78 65 73 29 20 50 72 65 76 65 6e 74 65 64  fixes) Prevented
10af0 20 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 63 69   formation of ci
10b00 72 63 75 6c 61 72 20 61 6c 69 61 73 65 73 2c 20  rcular aliases, 
10b10 74 68 72 6f 75 67 68 20 74 68 65 0a 54 63 6c 20  through the.Tcl 
10b20 27 69 6e 74 65 72 70 20 61 6c 69 61 73 27 20 63  'interp alias' c
10b30 6f 6d 6d 61 6e 64 20 61 6e 64 20 74 68 72 6f 75  ommand and throu
10b40 67 68 20 74 68 65 20 27 72 65 6e 61 6d 65 27 20  gh the 'rename' 
10b50 63 6f 6d 6d 61 6e 64 2c 20 61 73 20 77 65 6c 6c  command, as well
10b60 20 61 73 0a 74 68 72 6f 75 67 68 20 74 68 65 20   as.through the 
10b70 43 20 41 50 49 20 54 63 6c 5f 43 72 65 61 74 65  C API Tcl_Create
10b80 41 6c 69 61 73 2e 20 28 4a 4c 29 0a 0a 31 2f 31  Alias. (JL)..1/1
10b90 39 2f 39 36 20 28 62 75 67 20 66 69 78 65 73 29  9/96 (bug fixes)
10ba0 20 46 69 78 65 64 20 73 65 76 65 72 61 6c 20 62   Fixed several b
10bb0 75 67 73 20 69 6e 20 64 69 72 65 63 74 20 64 65  ugs in direct de
10bc0 6c 65 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72 70  letion of interp
10bd0 72 65 74 65 72 73 0a 77 69 74 68 20 54 63 6c 5f  reters.with Tcl_
10be0 44 65 6c 65 74 65 49 6e 74 65 72 70 20 77 68 65  DeleteInterp whe
10bf0 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65  n the interprete
10c00 72 20 69 73 20 61 20 73 6c 61 76 65 3b 20 66 69  r is a slave; fi
10c10 78 65 73 20 62 61 73 65 64 20 6f 6e 20 61 0a 70  xes based on a.p
10c20 61 74 63 68 20 72 65 63 65 69 76 65 64 20 66 72  atch received fr
10c30 6f 6d 20 56 69 6b 74 6f 72 20 44 75 6b 68 6f 76  om Viktor Dukhov
10c40 6e 69 20 6f 66 20 45 53 4d 2e 20 28 4a 4c 29 0a  ni of ESM. (JL).
10c50 0a 31 2f 31 39 2f 39 36 20 28 6e 65 77 20 66 65  .1/19/96 (new fe
10c60 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74  ature) Implement
10c70 65 64 20 6f 6e 2d 63 6c 6f 73 65 20 68 61 6e 64  ed on-close hand
10c80 6c 65 72 73 20 66 6f 72 20 63 68 61 6e 6e 65 6c  lers for channel
10c90 73 3b 20 61 64 64 65 64 0a 74 68 65 20 43 20 41  s; added.the C A
10ca0 50 49 73 20 54 63 6c 5f 43 72 65 61 74 65 43 6c  PIs Tcl_CreateCl
10cb0 6f 73 65 48 61 6e 64 6c 65 72 20 61 6e 64 20 54  oseHandler and T
10cc0 63 6c 5f 44 65 6c 65 74 65 43 6c 6f 73 65 48 61  cl_DeleteCloseHa
10cd0 6e 64 6c 65 72 2e 20 28 4a 4c 29 0a 0a 31 2f 31  ndler. (JL)..1/1
10ce0 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  9/96 (new featur
10cf0 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 70  e) Implemented p
10d00 6f 72 74 61 62 6c 65 20 65 72 72 6f 72 20 72 65  ortable error re
10d10 70 6f 72 74 69 6e 67 20 6d 65 63 68 61 6e 69 73  porting mechanis
10d20 6d 3b 20 61 64 64 65 64 0a 74 68 65 20 43 20 41  m; added.the C A
10d30 50 49 73 20 54 63 6c 5f 53 65 74 45 72 72 6e 6f  PIs Tcl_SetErrno
10d40 20 61 6e 64 20 54 63 6c 5f 47 65 74 45 72 72 6e   and Tcl_GetErrn
10d50 6f 2e 20 28 4a 4c 29 0a 0a 31 2f 32 34 2f 39 36  o. (JL)..1/24/96
10d60 20 28 62 75 67 20 66 69 78 29 20 55 6e 6b 6e 6f   (bug fix) Unkno
10d70 77 6e 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65  wn command proce
10d80 73 73 69 6e 67 20 70 72 6f 70 65 72 6c 79 20 69  ssing properly i
10d90 6e 76 6f 6b 65 73 20 65 78 74 65 72 6e 61 6c 0a  nvokes external.
10da0 63 6f 6d 6d 61 6e 64 73 20 75 6e 64 65 72 20 57  commands under W
10db0 69 6e 64 6f 77 73 20 4e 54 20 61 6e 64 20 57 69  indows NT and Wi
10dc0 6e 64 6f 77 73 20 27 39 35 20 6e 6f 77 2e 20 28  ndows '95 now. (
10dd0 53 53 29 0a 0a 31 2f 32 33 2f 39 36 20 28 62 75  SS)..1/23/96 (bu
10de0 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61 74 65  g fix) Eliminate
10df0 64 20 65 78 74 72 65 6d 65 6c 79 20 6c 6f 6e 67  d extremely long
10e00 20 73 74 61 72 74 75 70 20 74 69 6d 65 73 20 75   startup times u
10e10 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 27 39 35  nder Windows '95
10e20 2e 0a 54 68 65 20 70 72 6f 62 6c 65 6d 20 77 61  ..The problem wa
10e30 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 74 68  s a result of th
10e40 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73  e option databas
10e50 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  e initialization
10e60 20 63 6f 64 65 20 74 68 61 74 0a 63 6f 6e 63 61   code that.conca
10e70 74 65 6e 61 74 65 64 20 24 48 4f 4d 45 20 77 69  tenated $HOME wi
10e80 74 68 20 2f 2e 58 64 65 66 61 75 6c 74 73 2c 20  th /.Xdefaults, 
10e90 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 2f  resulting in a /
10ea0 2f 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20  / in the middle 
10eb0 6f 66 20 74 68 65 0a 66 69 6c 65 20 6e 61 6d 65  of the.file name
10ec0 2e 20 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73  .  Under Windows
10ed0 20 27 39 35 2c 20 74 68 69 73 20 69 73 20 69 6e   '95, this is in
10ee0 63 6f 72 72 65 63 74 6c 79 20 69 6e 74 65 72 70  correctly interp
10ef0 72 65 74 65 64 20 61 73 20 61 20 55 4e 43 0a 70  reted as a UNC.p
10f00 61 74 68 2e 20 20 54 68 65 79 20 64 65 6c 61 79  ath.  They delay
10f10 73 20 63 61 6d 65 20 66 72 6f 6d 20 74 68 65 20  s came from the 
10f20 6e 65 74 77 6f 72 6b 20 74 69 6d 65 6f 75 74 73  network timeouts
10f30 20 6e 65 65 64 65 64 20 74 6f 20 64 65 74 65 72   needed to deter
10f40 6d 69 6e 65 20 74 68 61 74 0a 74 68 65 20 66 69  mine that.the fi
10f50 6c 65 20 6e 61 6d 65 20 77 61 73 20 69 6e 76 61  le name was inva
10f60 6c 69 64 2e 20 20 54 63 6c 5f 54 72 61 6e 73 6c  lid.  Tcl_Transl
10f70 61 74 65 46 69 6c 65 4e 61 6d 65 20 6e 6f 77 20  ateFileName now 
10f80 73 75 70 70 72 65 73 73 65 73 20 64 75 70 6c 69  suppresses dupli
10f90 63 61 74 65 0a 73 6c 61 73 68 65 73 20 74 68 61  cate.slashes tha
10fa0 74 20 61 72 65 6e 27 74 20 61 74 20 74 68 65 20  t aren't at the 
10fb0 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65  beginning of the
10fc0 20 66 69 6c 65 20 6e 61 6d 65 2e 20 28 53 53 29   file name. (SS)
10fd0 0a 09 09 09 09 20 20 20 20 20 0a 31 2f 32 35 2f  .....     .1/25/
10fe0 39 36 20 28 62 75 67 20 66 69 78 29 20 43 68 61  96 (bug fix) Cha
10ff0 6e 67 65 64 20 65 78 65 63 20 61 6e 64 20 6f 70  nged exec and op
11000 65 6e 20 74 6f 20 63 72 65 61 74 65 20 63 68 69  en to create chi
11010 6c 64 72 65 6e 20 73 6f 20 74 68 65 79 20 61 72  ldren so they ar
11020 65 0a 61 74 74 61 63 68 65 64 20 74 6f 20 74 68  e.attached to th
11030 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73 20  e application's 
11040 63 6f 6e 73 6f 6c 65 20 69 66 20 69 74 20 65 78  console if it ex
11050 69 73 74 73 2e 20 28 53 53 29 0a 0a 31 2f 33 31  ists. (SS)..1/31
11060 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
11070 78 65 64 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  xed command line
11080 20 70 61 72 73 69 6e 67 20 74 6f 20 68 61 6e 64   parsing to hand
11090 6c 65 20 65 6d 62 65 64 64 65 64 0a 73 70 61 63  le embedded.spac
110a0 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  es under Windows
110b0 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (SS)..--------
110c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
110d0 65 64 20 37 2e 35 62 31 2c 20 32 2f 31 2f 39 36  ed 7.5b1, 2/1/96
110e0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
110f0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 37 2f 39 36  --------..2/7/96
11100 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
11110 20 6f 66 66 20 62 79 20 6f 6e 65 20 65 72 72 6f   off by one erro
11120 72 20 69 6e 20 61 72 67 75 6d 65 6e 74 20 70 61  r in argument pa
11130 72 73 69 6e 67 20 63 6f 64 65 20 75 6e 64 65 72  rsing code under
11140 0a 57 69 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a  .Windows. (SS)..
11150 32 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  2/7/96 (bug fix)
11160 20 46 69 78 65 64 20 62 75 67 73 20 69 6e 20 56   Fixed bugs in V
11170 43 2b 2b 20 6d 61 6b 65 66 69 6c 65 20 74 68 61  C++ makefile tha
11180 74 20 69 6d 70 72 6f 70 65 72 6c 79 0a 69 6e 69  t improperly.ini
11190 74 69 61 6c 69 7a 65 64 20 74 68 65 20 74 63 6c  tialized the tcl
111a0 37 35 2e 64 6c 6c 2e 20 20 46 69 78 65 64 20 62  75.dll.  Fixed b
111b0 75 67 73 20 69 6e 20 42 6f 72 6c 61 6e 64 20 6d  ugs in Borland m
111c0 61 6b 65 66 69 6c 65 20 74 68 61 74 20 63 61 75  akefile that cau
111d0 73 65 64 0a 62 75 69 6c 64 20 66 61 69 6c 75 72  sed.build failur
111e0 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  es under Windows
111f0 20 4e 54 2e 20 28 53 53 29 0a 0a 32 2f 39 2f 39   NT. (SS)..2/9/9
11200 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
11210 64 20 64 65 61 64 6c 6f 63 6b 20 70 72 6f 62 6c  d deadlock probl
11220 65 6d 20 69 6e 20 41 55 54 4f 20 65 6e 64 20 6f  em in AUTO end o
11230 66 20 6c 69 6e 65 20 74 72 61 6e 73 6c 61 74 69  f line translati
11240 6f 6e 0a 6d 6f 64 65 20 77 68 69 63 68 20 77 6f  on.mode which wo
11250 75 6c 64 20 63 61 75 73 65 20 61 20 73 6f 63 6b  uld cause a sock
11260 65 74 20 73 65 72 76 65 72 20 77 69 74 68 20 73  et server with s
11270 65 76 65 72 61 6c 20 63 6f 6e 63 75 72 72 65 6e  everal concurren
11280 74 20 63 6c 69 65 6e 74 73 0a 77 72 69 74 69 6e  t clients.writin
11290 67 20 69 6e 20 43 52 4c 46 20 6d 6f 64 65 20 74  g in CRLF mode t
112a0 6f 20 68 61 6e 67 2e 20 28 4a 4c 29 0a 0a 32 2f  o hang. (JL)..2/
112b0 39 2f 39 36 20 28 41 50 49 20 63 68 61 6e 67 65  9/96 (API change
112c0 29 20 52 65 70 6c 61 63 65 64 20 2d 6c 69 6e 65  ) Replaced -line
112d0 6d 6f 64 65 20 6f 70 74 69 6f 6e 20 74 6f 20 66  mode option to f
112e0 63 6f 6e 66 69 67 75 72 65 20 77 69 74 68 20 61  configure with a
112f0 0a 6e 65 77 20 2d 62 75 66 66 65 72 69 6e 67 20  .new -buffering 
11300 6f 70 74 69 6f 6e 2c 20 61 64 64 65 64 20 22 6e  option, added "n
11310 6f 6e 65 22 20 73 65 74 74 69 6e 67 20 74 6f 20  one" setting to 
11320 65 6e 61 62 6c 65 20 69 6d 6d 65 64 69 61 74 65  enable immediate
11330 20 77 72 69 74 65 2e 20 28 4a 4c 29 0a 2a 2a 2a   write. (JL).***
11340 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
11350 20 77 69 74 68 20 62 31 20 2a 2a 2a 0a 0a 32 2f   with b1 ***..2/
11360 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  9/96 (new featur
11370 65 29 20 41 64 64 65 64 20 43 20 41 50 49 20 54  e) Added C API T
11380 63 6c 5f 49 6e 70 75 74 42 75 66 66 65 72 65 64  cl_InputBuffered
11390 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 74   which returns t
113a0 68 65 20 63 6f 75 6e 74 0a 6f 66 20 62 79 74 65  he count.of byte
113b0 73 20 63 75 72 72 65 6e 74 6c 79 20 62 75 66 66  s currently buff
113c0 65 72 65 64 20 69 6e 20 74 68 65 20 69 6e 70 75  ered in the inpu
113d0 74 20 62 75 66 66 65 72 20 6f 66 20 61 20 63 68  t buffer of a ch
113e0 61 6e 6e 65 6c 2c 20 61 6e 64 20 6f 20 66 6f 72  annel, and o for
113f0 0a 6f 75 74 70 75 74 20 6f 6e 6c 79 20 63 68 61  .output only cha
11400 6e 6e 65 6c 73 2e 20 28 4a 4c 29 0a 0a 32 2f 39  nnels. (JL)..2/9
11410 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65  /96 (new feature
11420 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73  ) Implemented as
11430 79 6e 63 68 72 6f 6e 6f 75 73 20 63 6f 6e 6e 65  ynchronous conne
11440 63 74 20 66 6f 72 20 73 6f 63 6b 65 74 73 2e 20  ct for sockets. 
11450 28 4a 4c 29 0a 0a 32 2f 39 2f 39 36 20 28 6e 65  (JL)..2/9/96 (ne
11460 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
11470 20 43 20 41 50 49 20 54 63 6c 5f 53 65 74 44 65   C API Tcl_SetDe
11480 66 61 75 6c 74 54 72 61 6e 73 6c 61 74 69 6f 6e  faultTranslation
11490 20 74 6f 20 73 65 74 20 28 70 65 72 0a 63 68 61   to set (per.cha
114a0 6e 6e 65 6c 29 20 74 68 65 20 64 65 66 61 75 6c  nnel) the defaul
114b0 74 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74 72  t end of line tr
114c0 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2e 20  anslation mode. 
114d0 54 68 69 73 20 69 73 20 74 68 65 20 6d 6f 64 65  This is the mode
114e0 20 74 68 61 74 0a 77 69 6c 6c 20 62 65 20 69 6e   that.will be in
114f0 73 74 61 6c 6c 65 64 20 69 66 20 61 6e 20 6f 75  stalled if an ou
11500 74 70 75 74 20 6f 70 65 72 61 74 69 6f 6e 20 69  tput operation i
11510 73 20 64 6f 6e 65 20 6f 6e 20 74 68 65 20 63 68  s done on the ch
11520 61 6e 6e 65 6c 20 77 68 69 6c 65 20 69 74 20 69  annel while it i
11530 73 0a 73 74 69 6c 6c 20 69 6e 20 41 55 54 4f 20  s.still in AUTO 
11540 6d 6f 64 65 2e 20 28 4a 4c 29 0a 0a 32 2f 39 2f  mode. (JL)..2/9/
11550 39 36 20 28 62 75 67 20 66 69 78 29 20 43 68 61  96 (bug fix) Cha
11560 6e 67 65 64 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d  nged Tcl_OpenCom
11570 6d 61 6e 64 43 68 61 6e 6e 65 6c 20 69 6e 74 65  mandChannel inte
11580 72 66 61 63 65 20 74 6f 20 70 72 6f 70 65 72 6c  rface to properl
11590 79 0a 68 61 6e 64 6c 65 20 61 6c 6c 20 6f 66 20  y.handle all of 
115a0 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73  the combinations
115b0 20 6f 66 20 73 74 64 69 6f 20 69 6e 68 65 72 69   of stdio inheri
115c0 74 61 6e 63 65 20 69 6e 20 62 61 63 6b 67 72 6f  tance in backgro
115d0 75 6e 64 0a 70 69 70 65 6c 69 6e 65 73 2e 20 20  und.pipelines.  
115e0 53 65 65 20 74 68 65 20 54 63 6c 5f 4f 70 65 6e  See the Tcl_Open
115f0 46 69 6c 65 43 68 61 6e 6e 65 6c 28 33 29 20 6d  FileChannel(3) m
11600 61 6e 20 70 61 67 65 20 66 6f 72 20 6d 6f 72 65  an page for more
11610 0a 69 6e 66 6f 2e 20 20 54 68 69 73 20 63 68 61  .info.  This cha
11620 6e 67 65 20 66 69 78 65 73 20 74 68 65 20 62 75  nge fixes the bu
11630 67 20 77 68 65 72 65 20 65 78 65 63 20 6f 66 20  g where exec of 
11640 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 70 69 70  a background pip
11650 65 6c 69 6e 65 0a 77 61 73 20 6e 6f 74 20 67 65  eline.was not ge
11660 74 74 69 6e 67 20 70 61 73 73 65 64 20 74 68 65  tting passed the
11670 20 73 74 64 69 6f 20 68 61 6e 64 6c 65 73 20 70   stdio handles p
11680 72 6f 70 65 72 6c 79 2e 20 28 53 53 29 0a 0a 32  roperly. (SS)..2
11690 2f 39 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /9/96 (bug fix) 
116a0 52 65 6d 6f 76 65 64 20 74 68 65 20 6e 65 77 20  Removed the new 
116b0 54 63 6c 5f 43 72 65 61 74 65 50 69 70 65 6c 69  Tcl_CreatePipeli
116c0 6e 65 20 69 6e 74 65 72 66 61 63 65 2c 20 61 6e  ne interface, an
116d0 64 0a 72 65 73 74 6f 72 65 64 20 74 68 65 20 6f  d.restored the o
116e0 6c 64 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 55  ld version for U
116f0 6e 69 78 20 70 6c 61 74 66 6f 72 6d 73 20 6f 6e  nix platforms on
11700 6c 79 2e 20 20 41 6c 6c 20 6e 65 77 20 63 6f 64  ly.  All new cod
11710 65 20 73 68 6f 75 6c 64 0a 75 73 65 20 54 63 6c  e should.use Tcl
11720 5f 43 72 65 61 74 65 43 6f 6d 6d 61 6e 64 43 68  _CreateCommandCh
11730 61 6e 6e 65 6c 20 69 6e 73 74 65 61 64 2e 20 28  annel instead. (
11740 53 53 29 0a 0a 32 2f 39 2f 39 36 20 28 62 75 67  SS)..2/9/96 (bug
11750 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 4d 61   fix) Changed Ma
11760 6b 65 66 69 6c 65 2e 69 6e 20 74 6f 20 75 73 65  kefile.in to use
11770 20 2d 4c 20 61 6e 64 20 2d 6c 74 63 6c 37 2e 35   -L and -ltcl7.5
11780 20 66 6f 72 20 54 63 6c 0a 6c 69 62 72 61 72 79   for Tcl.library
11790 20 73 6f 20 74 68 61 74 20 73 68 61 72 65 64 20   so that shared 
117a0 6c 69 62 72 61 72 69 65 73 20 61 72 65 20 6d 6f  libraries are mo
117b0 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20  re likely to be 
117c0 66 6f 75 6e 64 20 63 6f 72 72 65 63 74 6c 79 0a  found correctly.
117d0 6f 6e 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72 6d  on more platform
117e0 73 2e 20 28 4a 4f 29 0a 0a 32 2f 31 33 2f 39 36  s. (JO)..2/13/96
117f0 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
11800 64 64 65 64 20 43 20 41 50 49 20 54 63 6c 5f 53  dded C API Tcl_S
11810 65 74 4e 6f 74 69 66 69 65 72 44 61 74 61 20 61  etNotifierData a
11820 6e 64 0a 54 63 6c 5f 47 65 74 4e 6f 74 69 66 69  nd.Tcl_GetNotifi
11830 65 72 44 61 74 61 20 74 6f 20 61 6c 6c 6f 77 20  erData to allow 
11840 6e 6f 74 69 66 69 65 72 20 61 6e 64 20 63 68 61  notifier and cha
11850 6e 6e 65 6c 20 64 72 69 76 65 72 20 77 72 69 74  nnel driver writ
11860 65 72 73 20 74 6f 0a 61 73 73 6f 63 69 61 74 65  ers to.associate
11870 20 64 61 74 61 20 77 69 74 68 20 61 20 54 63 6c   data with a Tcl
11880 5f 46 69 6c 65 2e 20 20 54 68 65 20 72 65 73 75  _File.  The resu
11890 6c 74 20 6f 66 20 74 68 69 73 20 63 68 61 6e 67  lt of this chang
118a0 65 20 69 73 20 74 68 61 74 0a 54 63 6c 5f 47 65  e is that.Tcl_Ge
118b0 74 46 69 6c 65 49 6e 66 6f 20 6e 6f 77 20 61 6c  tFileInfo now al
118c0 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 6e 20  ways returns an 
118d0 4f 53 20 66 69 6c 65 20 68 61 6e 64 6c 65 2c 20  OS file handle, 
118e0 61 6e 64 20 54 63 6c 5f 47 65 74 46 69 6c 65 0a  and Tcl_GetFile.
118f0 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63  can be used to c
11900 6f 6e 73 74 72 75 63 74 20 61 20 54 63 6c 5f 46  onstruct a Tcl_F
11910 69 6c 65 20 66 6f 72 20 61 6e 20 65 78 74 65 72  ile for an exter
11920 6e 61 6c 6c 79 20 63 6f 6e 73 74 72 75 63 74 65  nally constructe
11930 64 20 4f 53 0a 68 61 6e 64 6c 65 2e 20 28 53 53  d OS.handle. (SS
11940 29 0a 0a 32 2f 31 33 2f 39 36 20 28 62 75 67 20  )..2/13/96 (bug 
11950 66 69 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e  fix) Changed Win
11960 64 6f 77 73 20 73 6f 63 6b 65 74 20 69 6d 70 6c  dows socket impl
11970 65 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 20 69 74  ementation so it
11980 20 64 6f 65 73 6e 27 74 0a 73 65 74 20 53 4f 5f   doesn't.set SO_
11990 52 45 55 53 45 41 44 44 52 20 6f 6e 20 73 65 72  REUSEADDR on ser
119a0 76 65 72 20 73 6f 63 6b 65 74 73 2e 20 20 4e 6f  ver sockets.  No
119b0 77 20 61 74 74 65 6d 70 74 73 20 74 6f 20 63 72  w attempts to cr
119c0 65 61 74 65 20 61 20 73 65 72 76 65 72 0a 73 6f  eate a server.so
119d0 63 6b 65 74 20 6f 6e 20 61 20 70 6f 72 74 20 74  cket on a port t
119e0 68 61 74 20 69 73 20 61 6c 72 65 61 64 79 20 69  hat is already i
119f0 6e 20 75 73 65 20 77 69 6c 6c 20 62 65 20 70 72  n use will be pr
11a00 6f 70 65 72 6c 79 20 69 64 65 6e 74 69 66 69 65  operly identifie
11a10 64 0a 61 6e 64 20 61 6e 20 65 72 72 6f 72 20 77  d.and an error w
11a20 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64  ill be generated
11a30 2e 20 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36 20  . (SS)..2/13/96 
11a40 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
11a50 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 44 4c  problems with DL
11a60 4c 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  L initialization
11a70 20 75 6e 64 65 72 20 56 69 73 75 61 6c 0a 43 2b   under Visual.C+
11a80 2b 20 74 68 61 74 20 6c 65 66 74 20 74 68 65 20  + that left the 
11a90 43 20 72 75 6e 20 74 69 6d 65 20 6c 69 62 72 61  C run time libra
11aa0 72 79 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64  ry uninitialized
11ab0 2e 20 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36 20  . (SS)..2/13/96 
11ac0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
11ad0 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20 69  Windows socket i
11ae0 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 6f  nitialization so
11af0 20 69 74 20 6c 6f 61 64 73 0a 77 69 6e 73 6f 63   it loads.winsoc
11b00 6b 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65  k the first time
11b10 20 69 74 20 69 73 20 75 73 65 64 2c 20 72 61 74   it is used, rat
11b20 68 65 72 20 74 68 61 6e 20 61 74 20 74 68 65 20  her than at the 
11b30 74 69 6d 65 20 74 63 6c 37 35 2e 64 6c 6c 0a 69  time tcl75.dll.i
11b40 73 20 6c 6f 61 64 65 64 2e 20 20 54 68 69 73 20  s loaded.  This 
11b50 73 68 6f 75 6c 64 20 66 69 78 20 74 68 65 20 62  should fix the b
11b60 75 67 20 77 68 65 72 65 20 74 68 65 20 6d 6f 64  ug where the mod
11b70 65 6d 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 73  em immediately s
11b80 74 61 72 74 73 0a 74 72 79 69 6e 67 20 74 6f 20  tarts.trying to 
11b90 63 6f 6e 6e 65 63 74 20 74 6f 20 61 20 73 65 72  connect to a ser
11ba0 76 69 63 65 20 70 72 6f 76 69 64 65 72 20 77 68  vice provider wh
11bb0 65 6e 20 77 69 73 68 20 6f 72 20 74 63 6c 73 68  en wish or tclsh
11bc0 20 61 72 65 0a 73 74 61 72 74 65 64 2e 20 28 53   are.started. (S
11bd0 53 29 0a 0a 32 2f 31 33 2f 39 36 20 28 6e 65 77  S)..2/13/96 (new
11be0 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
11bf0 43 20 41 50 49 73 20 54 63 6c 5f 4d 61 6b 65 46  C APIs Tcl_MakeF
11c00 69 6c 65 43 68 61 6e 6e 65 6c 20 61 6e 64 0a 54  ileChannel and.T
11c10 63 6c 5f 4d 61 6b 65 54 63 70 43 6c 69 65 6e 74  cl_MakeTcpClient
11c20 43 68 61 6e 6e 65 6c 20 74 6f 20 77 72 61 70 20  Channel to wrap 
11c30 75 70 20 65 78 69 73 74 69 6e 67 20 66 64 73 20  up existing fds 
11c40 61 6e 64 20 73 6f 63 6b 65 74 73 20 69 6e 74 6f  and sockets into
11c50 0a 63 68 61 6e 6e 65 6c 73 2e 20 50 72 6f 76 69  .channels. Provi
11c60 64 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ded implementati
11c70 6f 6e 73 20 6f 6e 20 55 6e 69 78 20 61 6e 64 20  ons on Unix and 
11c80 57 69 6e 64 6f 77 73 2e 20 28 4a 4c 29 0a 0a 32  Windows. (JL)..2
11c90 2f 31 33 2f 39 36 20 28 62 75 67 20 66 69 78 29  /13/96 (bug fix)
11ca0 20 46 69 78 65 64 20 62 75 67 20 77 69 74 68 20   Fixed bug with 
11cb0 73 65 65 6b 20 6c 65 61 76 69 6e 67 20 45 4f 46  seek leaving EOF
11cc0 20 61 6e 64 20 42 4c 4f 43 4b 49 4e 47 20 73 65   and BLOCKING se
11cd0 74 2e 20 28 4a 4c 29 0a 0a 32 2f 31 34 2f 39 36  t. (JL)..2/14/96
11ce0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
11cf0 20 72 65 65 6e 74 72 61 6e 63 79 20 70 72 6f 62   reentrancy prob
11d00 6c 65 6d 20 69 6e 20 66 69 6c 65 65 76 65 6e 74  lem in fileevent
11d10 20 68 61 6e 64 6c 69 6e 67 0a 61 6e 64 20 6d 61   handling.and ma
11d20 64 65 20 69 74 20 6d 6f 72 65 20 72 6f 62 75 73  de it more robus
11d30 74 20 69 6e 20 74 68 65 20 66 61 63 65 20 6f 66  t in the face of
11d40 20 65 72 72 6f 72 73 2e 20 28 4a 4c 29 0a 0a 32   errors. (JL)..2
11d50 2f 31 34 2f 39 36 20 28 66 65 61 74 75 72 65 20  /14/96 (feature 
11d60 63 68 61 6e 67 65 29 20 4d 61 64 65 20 67 65 6e  change) Made gen
11d70 65 72 69 63 20 49 4f 20 6c 65 76 65 6c 20 65 6d  eric IO level em
11d80 75 6c 61 74 65 20 62 6c 6f 63 6b 69 6e 67 20 6d  ulate blocking m
11d90 6f 64 65 20 69 66 20 74 68 65 0a 63 68 61 6e 6e  ode if the.chann
11da0 65 6c 20 64 72 69 76 65 72 20 69 73 20 75 6e 61  el driver is una
11db0 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20 69  ble to provide i
11dc0 74 2c 20 65 2e 67 2e 20 69 66 20 74 68 65 20 6c  t, e.g. if the l
11dd0 6f 77 20 6c 65 76 65 6c 20 64 65 76 69 63 65 20  ow level device 
11de0 69 73 0a 61 6c 77 61 79 73 20 6e 6f 6e 62 6c 6f  is.always nonblo
11df0 63 6b 69 6e 67 2e 20 54 68 75 73 2c 20 6e 6f 77  cking. Thus, now
11e00 20 62 6c 6f 63 6b 69 6e 67 20 62 65 68 61 76 69   blocking behavi
11e10 6f 72 20 69 73 20 61 6e 20 61 64 76 69 73 6f 72  or is an advisor
11e20 79 20 73 65 74 74 69 6e 67 20 66 6f 72 0a 63 68  y setting for.ch
11e30 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 61 6e  annel drivers an
11e40 64 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64  d can be ignored
11e50 20 73 61 66 65 6c 79 20 69 66 20 74 68 65 20 63   safely if the c
11e60 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 20 69 73  hannel driver is
11e70 20 75 6e 61 62 6c 65 0a 74 6f 20 70 72 6f 76 69   unable.to provi
11e80 64 65 20 69 74 2e 20 28 4a 4c 29 0a 0a 32 2f 31  de it. (JL)..2/1
11e90 35 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  5/96 (new featur
11ea0 65 29 20 41 64 64 65 64 20 22 62 69 6e 61 72 79  e) Added "binary
11eb0 22 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74 72  " end of line tr
11ec0 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2c 20  anslation mode, 
11ed0 77 68 69 63 68 20 69 73 0a 61 20 73 79 6e 6f 6e  which is.a synon
11ee0 79 6d 20 6f 66 20 22 6c 66 22 20 6d 6f 64 65 2e  ym of "lf" mode.
11ef0 20 28 4a 4c 29 0a 0a 32 2f 31 35 2f 39 36 20 28   (JL)..2/15/96 (
11f00 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 72  bug fix) Fixed r
11f10 65 65 6e 74 72 61 6e 63 79 20 70 72 6f 62 6c 65  eentrancy proble
11f20 6d 20 69 6e 20 66 69 6c 65 65 76 65 6e 74 20 68  m in fileevent h
11f30 61 6e 64 6c 69 6e 67 20 76 73 0a 64 65 6c 65 74  andling vs.delet
11f40 69 6f 6e 20 6f 66 20 63 68 61 6e 6e 65 6c 20 65  ion of channel e
11f50 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 2e 20 28  vent handlers. (
11f60 4a 4c 29 0a 0a 32 2f 31 35 2f 39 36 20 28 62 75  JL)..2/15/96 (bu
11f70 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
11f80 20 69 6e 20 65 76 65 6e 74 20 68 61 6e 64 6c 69   in event handli
11f90 6e 67 20 77 68 69 63 68 20 77 6f 75 6c 64 20 63  ng which would c
11fa0 61 75 73 65 20 61 0a 6e 6f 6e 62 6c 6f 63 6b 69  ause a.nonblocki
11fb0 6e 67 20 63 68 61 6e 6e 65 6c 20 74 6f 20 6e 6f  ng channel to no
11fc0 74 20 73 65 65 20 66 75 72 74 68 65 72 20 72 65  t see further re
11fd0 61 64 61 62 6c 65 20 65 76 65 6e 74 73 20 61 66  adable events af
11fe0 74 65 72 20 74 68 65 20 66 69 72 73 74 0a 72 65  ter the first.re
11ff0 61 64 61 62 6c 65 20 65 76 65 6e 74 20 74 68 61  adable event tha
12000 74 20 68 61 64 20 69 6e 73 75 66 66 69 63 69 65  t had insufficie
12010 6e 74 20 69 6e 70 75 74 2e 20 28 4a 4c 29 0a 0a  nt input. (JL)..
12020 32 2f 31 37 2f 39 36 20 28 62 75 67 20 66 69 78  2/17/96 (bug fix
12030 29 20 22 69 6e 66 6f 20 63 6f 6d 70 6c 65 74 65  ) "info complete
12040 22 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c  " didn't properl
12050 79 20 68 61 6e 64 6c 65 20 63 6f 6d 6d 65 6e 74  y handle comment
12060 73 0a 69 6e 20 6e 65 73 74 65 64 20 63 6f 6d 6d  s.in nested comm
12070 61 6e 64 73 2e 20 28 4a 4f 29 0a 0a 32 2f 32 31  ands. (JO)..2/21
12080 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 22 65  /96 (bug fix) "e
12090 78 65 63 22 20 75 6e 64 65 72 20 57 69 6e 64 6f  xec" under Windo
120a0 77 73 20 4e 54 2f 39 35 20 64 69 64 20 6e 6f 74  ws NT/95 did not
120b0 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65   properly handle
120c0 0a 76 65 72 79 20 6c 6f 6e 67 20 63 6f 6d 6d 61  .very long comma
120d0 6e 64 20 6c 69 6e 65 73 20 28 3e 32 30 30 20 63  nd lines (>200 c
120e0 68 61 72 73 29 2e 20 28 53 53 29 0a 0a 32 2f 32  hars). (SS)..2/2
120f0 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 53  1/96 (bug fix) S
12100 6f 63 6b 65 74 73 20 63 6f 75 6c 64 20 67 65 74  ockets could get
12110 20 69 6e 74 6f 20 61 6e 20 69 6e 66 69 6e 69 74   into an infinit
12120 65 20 6c 6f 6f 70 20 69 66 20 61 20 72 65 61 64  e loop if a read
12130 0a 65 76 65 6e 74 20 61 72 72 69 76 65 64 20 61  .event arrived a
12140 66 74 65 72 20 61 6c 6c 20 6f 66 20 74 68 65 20  fter all of the 
12150 61 76 61 69 6c 61 62 6c 65 20 64 61 74 61 20 68  available data h
12160 61 64 20 62 65 65 6e 20 72 65 61 64 2e 20 28 53  ad been read. (S
12170 53 29 0a 0a 32 2f 32 32 2f 39 36 20 28 62 75 67  S)..2/22/96 (bug
12180 20 66 69 78 29 20 41 64 64 65 64 20 63 61 73 74   fix) Added cast
12190 20 6f 66 20 73 74 5f 73 69 7a 65 20 65 6c 65 6d   of st_size elem
121a0 65 6e 74 73 20 74 6f 20 28 6c 6f 6e 67 29 20 62  ents to (long) b
121b0 65 66 6f 72 65 0a 73 70 72 69 6e 74 66 2d 69 6e  efore.sprintf-in
121c0 67 20 69 6e 20 22 66 69 6c 65 20 73 69 7a 65 22  g in "file size"
121d0 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20   command.  This 
121e0 69 73 20 6e 65 65 64 65 64 20 74 6f 20 68 61 6e  is needed to han
121f0 64 6c 65 20 73 79 73 74 65 6d 73 0a 6c 69 6b 65  dle systems.like
12200 20 4e 65 74 42 53 44 20 77 69 74 68 20 36 34 2d   NetBSD with 64-
12210 62 69 74 20 66 69 6c 65 20 6f 66 66 73 65 74 73  bit file offsets
12220 2e 20 20 28 4a 4f 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  .  (JO)..-------
12230 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
12240 73 65 64 20 37 2e 35 62 32 2c 20 32 2f 32 33 2f  sed 7.5b2, 2/23/
12250 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  96 -------------
12260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 32 33  ----------..2/23
12270 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 54 43  /96 (bug fix) TC
12280 4c 5f 56 41 52 41 52 47 53 20 6d 61 63 72 6f 20  L_VARARGS macro 
12290 69 6e 20 74 63 6c 2e 68 20 77 61 73 6e 27 74 20  in tcl.h wasn't 
122a0 64 65 66 69 6e 65 64 20 70 72 6f 70 65 72 6c 79  defined properly
122b0 0a 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20  .when compiling 
122c0 77 69 74 68 20 43 2b 2b 2e 20 20 28 4a 4f 29 0a  with C++.  (JO).
122d0 0a 32 2f 32 34 2f 39 36 20 28 62 75 67 20 66 69  .2/24/96 (bug fi
122e0 78 29 20 52 65 6d 6f 76 65 64 20 64 65 70 65 6e  x) Removed depen
122f0 64 65 6e 63 69 65 73 20 6f 6e 20 4d 61 6b 65 66  dencies on Makef
12300 69 6c 65 20 69 6e 20 74 68 65 20 55 4e 49 58 20  ile in the UNIX 
12310 4d 61 6b 65 66 69 6c 65 3a 0a 74 68 69 73 20 63  Makefile:.this c
12320 61 75 73 65 64 20 70 72 6f 62 6c 65 6d 73 20 6f  aused problems o
12330 6e 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73  n some platforms
12340 20 28 6c 69 6b 65 20 4c 69 6e 75 78 3f 29 2e 20   (like Linux?). 
12350 28 4a 4f 29 0a 0a 32 2f 32 34 2f 39 36 20 28 62  (JO)..2/24/96 (b
12360 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63 6f  ug fix) Fixed co
12370 6e 66 69 67 75 72 61 74 69 6f 6e 20 62 75 67 20  nfiguration bug 
12380 74 68 61 74 20 6d 61 64 65 20 54 63 6c 20 6e 6f  that made Tcl no
12390 74 20 63 6f 6d 70 69 6c 65 0a 63 6f 72 72 65 63  t compile.correc
123a0 74 6c 79 20 6f 6e 20 4c 69 6e 75 78 20 6d 61 63  tly on Linux mac
123b0 68 69 6e 65 73 20 77 69 74 68 20 6e 65 69 74 68  hines with neith
123c0 65 72 20 2d 6c 64 6c 20 6f 72 20 2d 6c 64 6c 64  er -ldl or -ldld
123d0 2e 20 28 4a 4f 29 0a 0a 32 2f 32 34 2f 39 36 20  . (JO)..2/24/96 
123e0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
123f0 64 65 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63  ded a block of c
12400 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 64 65 66 69  omments and defi
12410 6e 69 74 69 6f 6e 73 20 74 6f 0a 4d 61 6b 65 66  nitions to.Makef
12420 69 6c 65 2e 69 6e 20 74 6f 20 6d 61 6b 65 20 69  ile.in to make i
12430 74 20 65 61 73 69 65 72 20 74 6f 20 68 61 76 65  t easier to have
12440 20 54 63 6c 27 73 20 54 63 6c 53 65 74 45 6e 76   Tcl's TclSetEnv
12450 20 65 74 63 2e 20 72 65 70 6c 61 63 65 0a 74 68   etc. replace.th
12460 65 20 6c 69 62 72 61 72 79 20 70 72 6f 63 65 64  e library proced
12470 75 72 65 73 20 73 65 74 65 6e 76 20 65 74 63 2c  ures setenv etc,
12480 20 73 6f 20 74 68 61 74 20 63 61 6c 6c 73 20 74   so that calls t
12490 6f 20 73 65 74 65 6e 76 20 65 74 63 2e 20 69 6e  o setenv etc. in
124a0 0a 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e  .the application
124b0 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75   automatically u
124c0 70 64 61 74 65 20 74 68 65 20 54 63 6c 20 22 65  pdate the Tcl "e
124d0 6e 76 22 20 76 61 72 69 61 62 6c 65 2e 20 28 4a  nv" variable. (J
124e0 4f 29 0a 0a 32 2f 32 37 2f 39 36 20 28 66 65 61  O)..2/27/96 (fea
124f0 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64  ture change) Add
12500 65 64 20 6f 70 74 69 6f 6e 61 6c 20 54 63 6c 5f  ed optional Tcl_
12510 49 6e 74 65 72 70 20 2a 20 61 72 67 75 6d 65 6e  Interp * argumen
12520 74 20 28 6d 61 79 20 62 65 20 4e 55 4c 4c 29 0a  t (may be NULL).
12530 74 6f 20 43 20 41 50 49 20 54 63 6c 5f 43 6c 6f  to C API Tcl_Clo
12540 73 65 20 61 6e 64 20 73 69 6d 70 6c 69 66 69 65  se and simplifie
12550 64 20 63 6c 6f 73 69 6e 67 20 6f 66 20 63 6f 6d  d closing of com
12560 6d 61 6e 64 20 63 68 61 6e 6e 65 6c 73 2e 20 28  mand channels. (
12570 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54  JL).*** INCOMPAT
12580 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
12590 20 37 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74 20   7.5b2, but not 
125a0 77 69 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a  with Tcl 7.4 ***
125b0 0a 0a 32 2f 32 37 2f 39 36 20 28 66 65 61 74 75  ..2/27/96 (featu
125c0 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  re change) Added
125d0 20 6f 70 74 69 6f 6e 61 6c 20 54 63 6c 5f 49 6e   optional Tcl_In
125e0 74 65 72 70 20 2a 20 61 72 67 75 6d 65 6e 74 20  terp * argument 
125f0 28 6d 61 79 20 62 65 20 4e 55 4c 4c 29 0a 74 6f  (may be NULL).to
12600 20 43 20 74 79 70 65 20 64 65 66 69 6e 69 74 69   C type definiti
12610 6f 6e 20 54 63 6c 5f 44 72 69 76 65 72 43 6c 6f  on Tcl_DriverClo
12620 73 65 50 72 6f 63 3b 20 6d 6f 64 69 66 69 65 64  seProc; modified
12630 20 61 6c 6c 20 63 68 61 6e 6e 65 6c 20 64 72 69   all channel dri
12640 76 65 72 73 20 74 6f 0a 69 6d 70 6c 65 6d 65 6e  vers to.implemen
12650 74 20 63 6c 6f 73 65 20 70 72 6f 63 65 64 75 72  t close procedur
12660 65 73 20 74 68 61 74 20 61 63 63 65 70 74 20 74  es that accept t
12670 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72  he additional ar
12680 67 75 6d 65 6e 74 2e 20 28 4a 4c 29 0a 2a 2a 2a  gument. (JL).***
12690 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
126a0 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62 32 2c   with Tcl 7.5b2,
126b0 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54 63   but not with Tc
126c0 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 32 2f 32 38 2f  l 7.4 ***..2/28/
126d0 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
126e0 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20 74  ed memory leak t
126f0 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75 72 20  hat could occur 
12700 69 66 20 61 6e 20 75 70 76 61 72 0a 72 65 66 65  if an upvar.refe
12710 72 72 65 64 20 74 6f 20 61 6e 20 65 6c 65 6d 65  rred to an eleme
12720 6e 74 20 6f 66 20 61 6e 20 61 72 72 61 79 20 69  nt of an array i
12730 6e 20 74 68 65 20 73 61 6d 65 20 73 74 61 63 6b  n the same stack
12740 20 66 72 61 6d 65 20 61 73 20 74 68 65 0a 75 70   frame as the.up
12750 76 61 72 2e 20 28 4a 4f 29 0a 0a 32 2f 32 39 2f  var. (JO)..2/29/
12760 39 36 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  96 (feature chan
12770 67 65 29 20 4d 6f 64 69 66 69 65 64 20 62 6f 74  ge) Modified bot
12780 68 20 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74  h Tcl_DoOneEvent
12790 20 61 6e 64 20 54 63 6c 5f 57 61 69 74 46 6f 72   and Tcl_WaitFor
127a0 45 76 65 6e 74 0a 73 6f 20 74 68 61 74 20 74 68  Event.so that th
127b0 65 79 20 72 65 74 75 72 6e 20 69 6d 6d 65 64 69  ey return immedi
127c0 61 74 65 6c 79 20 69 6e 20 63 61 73 65 73 20 77  ately in cases w
127d0 68 65 72 65 20 74 68 65 79 20 77 6f 75 6c 64 20  here they would 
127e0 6f 74 68 65 72 77 69 73 65 0a 62 6c 6f 63 6b 20  otherwise.block 
127f0 66 6f 72 65 76 65 72 20 28 65 2e 67 2e 20 69 66  forever (e.g. if
12800 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 65 76   there are no ev
12810 65 6e 74 20 68 61 6e 64 6c 65 72 73 20 6f 66 20  ent handlers of 
12820 61 6e 79 20 73 6f 72 74 29 2e 20 28 4a 4f 29 0a  any sort). (JO).
12830 0a 32 2f 32 39 2f 39 36 20 28 6e 65 77 20 66 65  .2/29/96 (new fe
12840 61 74 75 72 65 29 20 41 64 64 65 64 20 43 20 41  ature) Added C A
12850 50 49 73 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e  PIs Tcl_GetChann
12860 65 6c 42 75 66 66 65 72 53 69 7a 65 20 61 6e 64  elBufferSize and
12870 0a 54 63 6c 5f 53 65 74 43 68 61 6e 6e 65 6c 42  .Tcl_SetChannelB
12880 75 66 66 65 72 53 69 7a 65 20 74 6f 20 73 65 74  ufferSize to set
12890 20 61 6e 64 20 72 65 74 72 69 65 76 65 20 74 68   and retrieve th
128a0 65 20 73 69 7a 65 2c 20 69 6e 20 62 79 74 65 73  e size, in bytes
128b0 2c 20 66 6f 72 0a 62 75 66 66 65 72 73 20 61 6c  , for.buffers al
128c0 6c 6f 63 61 74 65 64 20 74 6f 20 73 74 6f 72 65  located to store
128d0 20 69 6e 70 75 74 20 6f 72 20 6f 75 74 70 75 74   input or output
128e0 20 69 6e 20 61 20 63 68 61 6e 6e 65 6c 2e 20 28   in a channel. (
128f0 4a 4c 29 0a 0a 32 2f 32 39 2f 39 36 20 28 6e 65  JL)..2/29/96 (ne
12900 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
12910 20 6f 70 74 69 6f 6e 20 2d 62 75 66 66 65 72 73   option -buffers
12920 69 7a 65 20 74 6f 20 54 63 6c 20 66 63 6f 6e 66  ize to Tcl fconf
12930 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 0a 74 6f  igure command.to
12940 20 61 6c 6c 6f 77 20 54 63 6c 20 73 63 72 69 70   allow Tcl scrip
12950 74 73 20 74 6f 20 71 75 65 72 79 20 61 6e 64 20  ts to query and 
12960 73 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20  set the size of 
12970 63 68 61 6e 6e 65 6c 20 62 75 66 66 65 72 73 2e  channel buffers.
12980 20 28 4a 4c 29 0a 0a 32 2f 32 39 2f 39 36 20 28   (JL)..2/29/96 (
12990 66 65 61 74 75 72 65 20 72 65 6d 6f 76 65 64 29  feature removed)
129a0 20 52 65 6d 6f 76 65 64 20 63 68 61 6e 6e 65 6c   Removed channel
129b0 20 64 72 69 76 65 72 20 66 75 6e 63 74 69 6f 6e   driver function
129c0 20 74 6f 20 73 70 65 63 69 66 79 0a 74 68 65 20   to specify.the 
129d0 62 75 66 66 65 72 20 73 69 7a 65 20 74 6f 20 75  buffer size to u
129e0 73 65 20 77 68 65 6e 20 61 6c 6c 6f 63 61 74 69  se when allocati
129f0 6e 67 20 61 20 62 75 66 66 65 72 2e 20 52 65 6d  ng a buffer. Rem
12a00 6f 76 65 64 20 74 68 65 20 43 20 74 79 70 65 64  oved the C typed
12a10 65 66 0a 66 6f 72 20 54 63 6c 5f 44 72 69 76 65  ef.for Tcl_Drive
12a20 72 42 75 66 66 65 72 53 69 7a 65 50 72 6f 63 2e  rBufferSizeProc.
12a30 20 43 68 61 6e 6e 65 6c 73 20 61 72 65 20 6e 6f   Channels are no
12a40 77 20 63 72 65 61 74 65 64 20 77 69 74 68 20 61  w created with a
12a50 20 64 65 66 61 75 6c 74 0a 62 75 66 66 65 72 20   default.buffer 
12a60 73 69 7a 65 20 6f 66 20 34 4b 2e 20 28 4a 4c 29  size of 4K. (JL)
12a70 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49  .*** INCOMPATIBI
12a80 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e  LITY with Tcl 7.
12a90 35 62 32 2c 20 62 75 74 20 6e 6f 74 20 77 69 74  5b2, but not wit
12aa0 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 32  h Tcl 7.4 ***..2
12ab0 2f 32 39 2f 39 36 20 28 66 65 61 74 75 72 65 20  /29/96 (feature 
12ac0 63 68 61 6e 67 65 29 20 54 68 65 20 63 68 61 6e  change) The chan
12ad0 6e 65 6c 20 64 72 69 76 65 72 20 66 75 6e 63 74  nel driver funct
12ae0 69 6f 6e 20 66 6f 72 20 73 65 74 74 69 6e 67 20  ion for setting 
12af0 62 6c 6f 63 6b 69 6e 67 0a 6d 6f 64 65 20 6f 6e  blocking.mode on
12b00 20 74 68 65 20 64 65 76 69 63 65 20 6d 61 79 20   the device may 
12b10 6e 6f 77 20 62 65 20 4e 55 4c 4c 2e 20 49 66 20  now be NULL. If 
12b20 74 68 65 20 67 65 6e 65 72 69 63 20 63 6f 64 65  the generic code
12b30 20 64 65 74 65 63 74 73 20 74 68 61 74 20 74 68   detects that th
12b40 65 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 4e 55  e.function is NU
12b50 4c 4c 2c 20 6f 70 65 72 61 74 69 6f 6e 73 20 74  LL, operations t
12b60 68 61 74 20 73 65 74 20 74 68 65 20 62 6c 6f 63  hat set the bloc
12b70 6b 69 6e 67 20 6d 6f 64 65 20 6f 6e 20 74 68 65  king mode on the
12b80 20 63 68 61 6e 6e 65 6c 0a 73 69 6d 70 6c 79 20   channel.simply 
12b90 73 75 63 63 65 65 64 2e 20 28 4a 4c 29 0a 0a 33  succeed. (JL)..3
12ba0 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /2/96 (bug fix) 
12bb0 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70 20  Fixed core dump 
12bc0 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75 72  that could occur
12bd0 20 69 66 20 61 20 73 79 6e 74 61 78 20 65 72 72   if a syntax err
12be0 6f 72 0a 28 73 75 63 68 20 61 73 20 6d 69 73 73  or.(such as miss
12bf0 69 6e 67 20 63 6c 6f 73 65 20 70 61 72 65 6e 29  ing close paren)
12c00 20 6f 63 63 75 72 72 65 64 20 69 6e 20 61 6e 20   occurred in an 
12c10 61 72 72 61 79 20 72 65 66 65 72 65 6e 63 65 20  array reference 
12c20 77 69 74 68 20 61 0a 76 65 72 79 20 6c 6f 6e 67  with a.very long
12c30 20 61 72 72 61 79 20 6e 61 6d 65 2e 20 28 4a 4f   array name. (JO
12c40 29 0a 0a 33 2f 34 2f 39 36 20 28 62 75 67 20 66  )..3/4/96 (bug f
12c50 69 78 29 20 52 65 6d 6f 76 65 64 20 63 6f 64 65  ix) Removed code
12c60 20 69 6e 20 74 68 65 20 22 61 75 74 6f 5f 6c 6f   in the "auto_lo
12c70 61 64 22 20 70 72 6f 63 65 64 75 72 65 20 74 68  ad" procedure th
12c80 61 74 20 64 65 6c 65 74 65 73 0a 61 6c 6c 20 65  at deletes.all e
12c90 78 69 73 74 69 6e 67 20 61 75 74 6f 2d 6c 6f 61  xisting auto-loa
12ca0 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 68  d information wh
12cb0 65 6e 65 76 65 72 20 74 68 65 20 22 61 75 74 6f  enever the "auto
12cc0 5f 70 61 74 68 22 20 76 61 72 69 61 62 6c 65 0a  _path" variable.
12cd0 69 73 20 63 68 61 6e 67 65 64 2e 20 20 49 6e 73  is changed.  Ins
12ce0 74 65 61 64 2c 20 6e 65 77 20 69 6e 66 6f 72 6d  tead, new inform
12cf0 61 74 69 6f 6e 20 61 64 64 73 20 74 6f 20 77 68  ation adds to wh
12d00 61 74 20 77 61 73 20 61 6c 72 65 61 64 79 20 74  at was already t
12d10 68 65 72 65 2e 0a 4f 74 68 65 72 77 69 73 65 2c  here..Otherwise,
12d20 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 22 61   changing the "a
12d30 75 74 6f 5f 70 61 74 68 22 20 76 61 72 69 61 62  uto_path" variab
12d40 6c 65 20 63 61 75 73 65 73 20 61 6c 6c 20 70 61  le causes all pa
12d50 63 6b 61 67 65 2d 0a 72 65 6c 61 74 65 64 20 69  ckage-.related i
12d60 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 62 65  nformation to be
12d70 20 6c 6f 73 74 2e 20 20 49 66 20 79 6f 75 20 72   lost.  If you r
12d80 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 67 65  eally want to ge
12d90 74 20 72 69 64 20 6f 66 0a 65 78 69 73 74 69 6e  t rid of.existin
12da0 67 20 61 75 74 6f 2d 6c 6f 61 64 20 69 6e 66 6f  g auto-load info
12db0 72 6d 61 74 69 6f 6e 2c 20 75 73 65 20 61 75 74  rmation, use aut
12dc0 6f 5f 72 65 73 65 74 20 62 65 66 6f 72 65 20 73  o_reset before s
12dd0 65 74 74 69 6e 67 20 61 75 74 6f 5f 70 61 74 68  etting auto_path
12de0 2e 20 28 4a 4f 29 0a 0a 33 2f 35 2f 39 36 20 28  . (JO)..3/5/96 (
12df0 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
12e00 65 64 20 76 65 72 73 69 6f 6e 20 73 75 66 66 69  ed version suffi
12e10 78 20 74 6f 20 73 68 61 72 65 64 20 6c 69 62 72  x to shared libr
12e20 61 72 79 20 6e 61 6d 65 73 20 73 6f 20 74 68 61  ary names so tha
12e30 74 0a 54 63 6c 20 77 69 6c 6c 20 63 6f 6d 70 69  t.Tcl will compi
12e40 6c 65 20 75 6e 64 65 72 20 4e 65 74 42 53 44 20  le under NetBSD 
12e50 61 6e 64 20 46 72 65 65 42 53 44 20 28 49 20 68  and FreeBSD (I h
12e60 6f 70 65 29 2e 20 20 28 4a 4f 29 0a 0a 33 2f 36  ope).  (JO)..3/6
12e70 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43 6c  /96 (bug fix) Cl
12e80 65 61 6e 65 64 20 75 70 20 65 72 72 6f 72 20 6d  eaned up error m
12e90 65 73 73 61 67 65 73 20 69 6e 20 6e 65 77 20 49  essages in new I
12ea0 2f 4f 20 73 79 73 74 65 6d 20 74 6f 20 63 6f 72  /O system to cor
12eb0 72 65 73 70 6f 6e 64 0a 6d 6f 72 65 20 63 6c 6f  respond.more clo
12ec0 73 65 6c 79 20 74 6f 20 6f 6c 64 20 49 2f 4f 20  sely to old I/O 
12ed0 73 79 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 33 2f  system. (JO)..3/
12ee0 36 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  6/96 (new featur
12ef0 65 29 20 41 64 64 65 64 20 2d 6d 79 61 64 64 72  e) Added -myaddr
12f00 20 61 6e 64 20 2d 6d 79 70 6f 72 74 20 6f 70 74   and -myport opt
12f10 69 6f 6e 73 20 74 6f 20 74 68 65 20 73 6f 63 6b  ions to the sock
12f20 65 74 0a 63 6f 6d 6d 61 6e 64 2c 20 72 65 6d 6f  et.command, remo
12f30 76 65 64 20 2d 74 63 70 20 61 6e 64 20 2d 2d 20  ved -tcp and -- 
12f40 6f 70 74 69 6f 6e 73 2e 20 20 54 68 69 73 20 6c  options.  This l
12f50 65 74 73 20 63 6c 69 65 6e 74 73 20 61 6e 64 20  ets clients and 
12f60 73 65 72 76 65 72 73 0a 63 68 6f 6f 73 65 20 61  servers.choose a
12f70 20 70 61 72 74 69 63 75 6c 61 72 20 69 6e 74 65   particular inte
12f80 72 66 61 63 65 2e 20 20 41 6c 73 6f 20 63 68 61  rface.  Also cha
12f90 6e 67 65 64 20 74 68 65 20 64 65 66 61 75 6c 74  nged the default
12fa0 20 73 65 72 76 65 72 20 61 64 64 72 65 73 73 0a   server address.
12fb0 66 72 6f 6d 20 74 68 65 20 68 6f 73 74 6e 61 6d  from the hostnam
12fc0 65 20 74 6f 20 49 4e 41 44 44 52 5f 41 4e 59 2e  e to INADDR_ANY.
12fd0 20 20 54 68 65 20 73 65 72 76 65 72 20 61 63 63    The server acc
12fe0 65 70 74 20 63 61 6c 6c 62 61 63 6b 20 6e 6f 77  ept callback now
12ff0 20 67 65 74 73 0a 70 61 73 73 65 64 20 74 68 65   gets.passed the
13000 20 63 6c 69 65 6e 74 27 73 20 70 6f 72 74 20 61   client's port a
13010 73 20 77 65 6c 6c 20 61 73 20 49 50 20 61 64 64  s well as IP add
13020 72 65 73 73 2e 20 20 54 68 65 20 43 20 69 6e 74  ress.  The C int
13030 65 72 66 61 63 65 73 20 66 6f 72 0a 54 63 6c 5f  erfaces for.Tcl_
13040 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74 20 61 6e  OpenTcpClient an
13050 64 20 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65 72  d Tcl_OpenTcpSer
13060 76 65 72 20 68 61 76 65 20 63 68 61 6e 67 65 64  ver have changed
13070 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65 0a   to support the.
13080 61 62 6f 76 65 20 63 68 61 6e 67 65 73 2e 20 28  above changes. (
13090 42 57 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  BW).*** POTENTIA
130a0 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
130b0 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62 32  Y with Tcl 7.5b2
130c0 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54  , but not with T
130d0 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 33 2f 36 2f  cl 7.4 ***..3/6/
130e0 39 36 20 28 63 68 61 6e 67 65 64 20 66 65 61 74  96 (changed feat
130f0 75 72 65 29 20 54 68 65 20 6c 69 62 72 61 72 79  ure) The library
13100 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 5f 6d   function auto_m
13110 6b 69 6e 64 65 78 20 77 69 6c 6c 20 6e 6f 77 0a  kindex will now.
13120 64 65 66 61 75 6c 74 20 74 6f 20 75 73 69 6e 67  default to using
13130 20 74 68 65 20 70 61 74 74 65 72 6e 20 22 2a 2e   the pattern "*.
13140 74 63 6c 22 20 69 66 20 6e 6f 20 70 61 74 74 65  tcl" if no patte
13150 72 6e 20 69 73 20 67 69 76 65 6e 2e 20 28 52 4a  rn is given. (RJ
13160 29 0a 0a 33 2f 36 2f 39 36 20 28 62 75 67 20 66  )..3/6/96 (bug f
13170 69 78 29 20 54 68 65 20 73 6f 63 6b 65 74 20 63  ix) The socket c
13180 68 61 6e 6e 65 6c 20 63 6f 64 65 20 66 6f 72 20  hannel code for 
13190 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 20 68 61  the Macintosh ha
131a0 73 20 62 65 65 6e 0a 72 65 77 72 69 74 74 65 6e  s been.rewritten
131b0 20 74 6f 20 75 73 65 20 6e 61 74 69 76 65 20 4d   to use native M
131c0 61 63 54 63 70 2e 20 20 28 52 4a 29 0a 0a 33 2f  acTcp.  (RJ)..3/
131d0 37 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  7/96 (new featur
131e0 65 29 20 41 64 64 65 64 20 54 63 6c 5f 53 65 74  e) Added Tcl_Set
131f0 53 74 64 43 68 61 6e 6e 65 6c 20 61 6e 64 20 54  StdChannel and T
13200 63 6c 5f 47 65 74 53 74 64 43 68 61 6e 6e 65 6c  cl_GetStdChannel
13210 0a 69 6e 74 65 72 66 61 63 65 73 20 74 6f 20 61  .interfaces to a
13220 6c 6c 6f 77 20 61 70 70 6c 69 63 61 74 69 6f 6e  llow application
13230 73 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20  s to explicitly 
13240 73 65 74 20 61 6e 64 20 67 65 74 20 74 68 65 20  set and get the 
13250 67 6c 6f 62 61 6c 0a 73 74 61 6e 64 61 72 64 20  global.standard 
13260 63 68 61 6e 6e 65 6c 73 2e 20 28 53 53 29 0a 0a  channels. (SS)..
13270 33 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  3/7/96 (bug fix)
13280 20 54 63 6c 20 64 69 64 20 63 6c 6f 73 65 20 6e   Tcl did close n
13290 6f 74 20 74 68 65 20 66 69 6c 65 20 64 65 73 63  ot the file desc
132a0 72 69 70 74 6f 72 73 20 61 73 73 6f 63 69 61 74  riptors associat
132b0 65 64 0a 77 69 74 68 20 22 73 74 64 6f 75 74 22  ed.with "stdout"
132c0 2c 20 65 74 63 2e 20 77 68 65 6e 20 74 68 65 20  , etc. when the 
132d0 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 68  corresponding ch
132e0 61 6e 6e 65 6c 73 20 77 65 72 65 20 63 6c 6f 73  annels were clos
132f0 65 64 2e 20 20 28 53 53 29 0a 0a 33 2f 37 2f 39  ed.  (SS)..3/7/9
13300 36 20 28 62 75 67 20 66 69 78 29 20 52 65 77 6f  6 (bug fix) Rewo
13310 72 6b 65 64 20 73 68 61 72 65 64 20 6c 69 62 72  rked shared libr
13320 61 72 79 20 61 6e 64 20 64 79 6e 61 6d 69 63 20  ary and dynamic 
13330 6c 6f 61 64 69 6e 67 20 73 74 75 66 66 20 74 6f  loading stuff to
13340 0a 74 72 79 20 74 6f 20 67 65 74 20 69 74 20 77  .try to get it w
13350 6f 72 6b 69 6e 67 20 75 6e 64 65 72 20 41 49 58  orking under AIX
13360 2e 20 20 41 64 64 65 64 20 6e 65 77 20 40 53 48  .  Added new @SH
13370 4c 49 42 5f 4c 44 5f 4c 49 42 53 40 20 61 75 74  LIB_LD_LIBS@ aut
13380 6f 63 6f 6e 66 0a 73 79 6d 62 6f 6c 20 61 73 20  oconf.symbol as 
13390 70 61 72 74 20 6f 66 20 74 68 69 73 2e 20 20 41  part of this.  A
133a0 49 58 20 70 72 6f 62 61 62 6c 79 20 64 6f 65 73  IX probably does
133b0 6e 27 74 20 77 6f 72 6b 20 79 65 74 2c 20 62 75  n't work yet, bu
133c0 74 20 69 74 20 73 68 6f 75 6c 64 0a 62 65 20 61  t it should.be a
133d0 20 6c 6f 74 20 63 6c 6f 73 65 72 2e 20 28 4a 4f   lot closer. (JO
133e0 29 0a 0a 33 2f 37 2f 39 36 20 28 66 65 61 74 75  )..3/7/96 (featu
133f0 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  re change) Added
13400 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f 63   Tcl_ChannelProc
13410 20 74 79 70 65 64 65 66 20 61 6e 64 20 63 68 61   typedef and cha
13420 6e 67 65 64 20 74 68 65 0a 73 69 67 6e 61 74 75  nged the.signatu
13430 72 65 20 6f 66 20 54 63 6c 5f 43 72 65 61 74 65  re of Tcl_Create
13440 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 20 61  ChannelHandler a
13450 6e 64 20 54 63 6c 5f 44 65 6c 65 74 65 43 68 61  nd Tcl_DeleteCha
13460 6e 6e 65 6c 48 61 6e 64 6c 65 72 20 74 6f 20 74  nnelHandler to t
13470 61 6b 65 0a 54 63 6c 5f 43 68 61 6e 6e 65 6c 50  ake.Tcl_ChannelP
13480 72 6f 63 20 61 72 67 75 6d 65 6e 74 73 20 69 6e  roc arguments in
13490 73 74 65 61 64 20 6f 66 20 54 63 6c 5f 46 69 6c  stead of Tcl_Fil
134a0 65 50 72 6f 63 20 61 72 67 75 6d 65 6e 74 73 2e  eProc arguments.
134b0 20 54 68 69 73 20 63 68 61 6e 67 65 0a 73 68 6f   This change.sho
134c0 75 6c 64 20 6e 6f 74 20 61 66 66 65 63 74 20 61  uld not affect a
134d0 6e 79 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20  ny code outside 
134e0 54 63 6c 20 62 65 63 61 75 73 65 20 74 68 65 20  Tcl because the 
134f0 73 69 67 6e 61 74 75 72 65 73 20 6f 66 0a 54 63  signatures of.Tc
13500 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f 63 20 61 6e  l_ChannelProc an
13510 64 20 54 63 6c 5f 46 69 6c 65 50 72 6f 63 20 61  d Tcl_FileProc a
13520 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 2e 20 28  re compatible. (
13530 4a 4c 29 0a 0a 33 2f 37 2f 39 36 20 28 41 50 49  JL)..3/7/96 (API
13540 20 63 68 61 6e 67 65 29 20 4d 6f 64 69 66 69 65   change) Modifie
13550 64 20 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54  d signature of T
13560 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4f 70 74  cl_GetChannelOpt
13570 69 6f 6e 20 74 6f 20 72 65 74 75 72 6e 0a 61 6e  ion to return.an
13580 20 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20   int instead of 
13590 63 68 61 72 20 2a 2c 20 61 6e 64 20 74 6f 20 74  char *, and to t
135a0 61 6b 65 20 61 20 54 63 6c 5f 44 53 74 72 69 6e  ake a Tcl_DStrin
135b0 67 20 2a 20 61 72 67 75 6d 65 6e 74 2e 20 4d 6f  g * argument. Mo
135c0 64 69 66 69 65 64 0a 74 68 65 20 69 6d 70 6c 65  dified.the imple
135d0 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 20 74 68 61  mentation so tha
135e0 74 20 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d  t the option nam
135f0 65 20 63 61 6e 20 62 65 20 4e 55 4c 4c 2c 20 74  e can be NULL, t
13600 6f 20 6d 65 61 6e 20 74 68 61 74 20 74 68 65 0a  o mean that the.
13610 63 61 6c 6c 20 73 68 6f 75 6c 64 20 72 65 74 72  call should retr
13620 69 65 76 65 20 61 20 6c 69 73 74 20 6f 66 20 61  ieve a list of a
13630 6c 74 65 72 6e 61 74 69 6e 67 20 6f 70 74 69 6f  lternating optio
13640 6e 20 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75  n names and valu
13650 65 73 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43  es. (JL).*** INC
13660 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
13670 68 20 54 63 6c 20 37 2e 35 62 32 2c 20 62 75 74  h Tcl 7.5b2, but
13680 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e   not with Tcl 7.
13690 34 20 2a 2a 2a 0a 0a 33 2f 37 2f 39 36 20 28 41  4 ***..3/7/96 (A
136a0 50 49 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  PI change) Added
136b0 20 54 63 6c 5f 44 72 69 76 65 72 53 65 74 4f 70   Tcl_DriverSetOp
136c0 74 69 6f 6e 50 72 6f 63 2c 20 54 63 6c 5f 44 72  tionProc, Tcl_Dr
136d0 69 76 65 72 47 65 74 4f 70 74 69 6f 6e 50 72 6f  iverGetOptionPro
136e0 63 0a 74 79 70 65 64 65 66 73 2c 20 61 64 64 65  c.typedefs, adde
136f0 64 20 74 77 6f 20 73 6c 6f 74 73 20 73 65 74 4f  d two slots setO
13700 70 74 69 6f 6e 50 72 6f 63 20 61 6e 64 20 67 65  ptionProc and ge
13710 74 4f 70 74 69 6f 6e 50 72 6f 63 20 74 6f 20 74  tOptionProc to t
13720 68 65 20 63 68 61 6e 6e 65 6c 0a 74 79 70 65 20  he channel.type 
13730 73 74 72 75 63 74 75 72 65 2e 20 54 68 65 73 65  structure. These
13740 20 6d 61 79 20 62 65 20 4e 55 4c 4c 20 74 6f 20   may be NULL to 
13750 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74 68  indicate that th
13760 65 20 63 68 61 6e 6e 65 6c 20 74 79 70 65 20 64  e channel type d
13770 6f 65 73 0a 6e 6f 74 20 73 75 70 70 6f 72 74 20  oes.not support 
13780 61 6e 79 20 6f 70 74 69 6f 6e 73 2e 20 28 4a 4c  any options. (JL
13790 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42  ).*** INCOMPATIB
137a0 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37  ILITY with Tcl 7
137b0 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74 20 77 69  .5b2, but not wi
137c0 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a  th Tcl 7.4 ***..
137d0 33 2f 37 2f 39 36 20 28 66 65 61 74 75 72 65 20  3/7/96 (feature 
137e0 63 68 61 6e 67 65 29 20 73 74 64 69 6e 2c 20 73  change) stdin, s
137f0 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72  tdout and stderr
13800 20 63 61 6e 20 6e 6f 77 20 62 65 20 70 75 74 20   can now be put 
13810 69 6e 74 6f 0a 6e 6f 6e 62 6c 6f 63 6b 69 6e 67  into.nonblocking
13820 20 6d 6f 64 65 2e 20 28 4a 4c 29 0a 0a 33 2f 38   mode. (JL)..3/8
13830 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68 61  /96 (feature cha
13840 6e 67 65 29 20 45 6c 69 6d 69 6e 61 74 65 64 20  nge) Eliminated 
13850 64 65 70 65 6e 64 65 6e 63 65 20 6f 6e 20 74 68  dependence on th
13860 65 20 72 65 67 69 73 74 72 79 20 66 6f 72 0a 66  e registry for.f
13870 69 6e 64 69 6e 67 20 74 68 65 20 54 63 6c 20 6c  inding the Tcl l
13880 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 28 53  ibrary files. (S
13890 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  S)..------------
138a0 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 37  ----- Released 7
138b0 2e 35 62 33 2c 20 33 2f 38 2f 39 36 20 2d 2d 2d  .5b3, 3/8/96 ---
138c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
138d0 2d 2d 2d 2d 0a 0a 33 2f 31 32 2f 39 36 20 28 66  ----..3/12/96 (f
138e0 65 61 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65  eature improveme
138f0 6e 74 29 20 4d 6f 64 69 66 69 65 64 20 73 74 61  nt) Modified sta
13900 72 74 75 70 20 73 63 72 69 70 74 20 74 6f 20 6c  rtup script to l
13910 6f 6f 6b 20 69 6e 20 73 65 76 65 72 61 6c 0a 64  ook in several.d
13920 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20  ifferent places 
13930 66 6f 72 20 74 68 65 20 54 63 6c 20 6c 69 62 72  for the Tcl libr
13940 61 72 79 20 64 69 72 65 63 74 6f 72 79 2e 20 20  ary directory.  
13950 54 68 69 73 20 73 68 6f 75 6c 64 20 61 6c 6c 6f  This should allo
13960 77 20 54 63 6c 0a 74 6f 20 66 69 6e 64 20 74 68  w Tcl.to find th
13970 65 20 6c 69 62 72 61 72 69 65 73 20 75 6e 64 65  e libraries unde
13980 72 20 61 6c 6c 20 62 75 74 20 74 68 65 20 77 65  r all but the we
13990 69 72 64 65 73 74 20 63 6f 6e 64 69 74 69 6f 6e  irdest condition
139a0 73 2c 20 65 76 65 6e 20 77 69 74 68 6f 75 74 0a  s, even without.
139b0 74 68 65 20 54 43 4c 5f 4c 49 42 52 41 52 59 20  the TCL_LIBRARY 
139c0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69  environment vari
139d0 61 62 6c 65 20 62 65 69 6e 67 20 73 65 74 2e 20  able being set. 
139e0 28 4a 4f 29 0a 0a 33 2f 31 33 2f 39 36 20 28 62  (JO)..3/13/96 (b
139f0 75 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61 74  ug fix) Eliminat
13a00 65 64 20 75 73 65 20 6f 66 20 74 68 65 20 22 6c  ed use of the "l
13a10 69 6e 67 65 72 22 20 6f 70 74 69 6f 6e 20 66 72  inger" option fr
13a20 6f 6d 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 73  om the Windows.s
13a30 6f 63 6b 65 74 20 69 6d 70 6c 65 6d 65 6e 74 61  ocket implementa
13a40 74 69 6f 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33  tion. (JL)..3/13
13a50 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65  /96 (new feature
13a60 29 20 41 64 64 65 64 20 2d 70 65 65 72 6e 61 6d  ) Added -peernam
13a70 65 20 61 6e 64 20 2d 73 6f 63 6b 6e 61 6d 65 20  e and -sockname 
13a80 6f 70 74 69 6f 6e 73 20 66 6f 72 20 66 63 6f 6e  options for fcon
13a90 66 69 67 75 72 65 0a 66 6f 72 20 73 6f 63 6b 65  figure.for socke
13aa0 74 20 63 68 61 6e 6e 65 6c 73 2e 20 43 6f 64 65  t channels. Code
13ab0 20 63 6f 6e 74 72 69 62 75 74 65 64 20 62 79 20   contributed by 
13ac0 4a 6f 68 6e 20 48 61 78 62 79 20 6f 66 20 48 50  John Haxby of HP
13ad0 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39 36 20  . (JL)..3/13/96 
13ae0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
13af0 70 61 6e 69 63 20 61 6e 64 20 63 6f 72 65 20 64  panic and core d
13b00 75 6d 70 20 74 68 61 74 20 77 6f 75 6c 64 20 6f  ump that would o
13b10 63 63 75 72 20 69 66 20 74 68 65 20 61 63 63 65  ccur if the acce
13b20 70 74 0a 63 61 6c 6c 62 61 63 6b 20 73 63 72 69  pt.callback scri
13b30 70 74 20 6f 6e 20 61 20 73 65 72 76 65 72 20 73  pt on a server s
13b40 6f 63 6b 65 74 20 65 6e 63 6f 75 6e 74 65 72 65  ocket encountere
13b50 64 20 61 6e 20 65 72 72 6f 72 2e 20 28 4a 4c 29  d an error. (JL)
13b60 0a 0a 33 2f 31 33 2f 39 36 20 28 66 65 61 74 75  ..3/13/96 (featu
13b70 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  re change) Added
13b80 20 2d 61 73 79 6e 63 20 6f 70 74 69 6f 6e 20 74   -async option t
13b90 6f 20 74 68 65 20 54 63 6c 20 73 6f 63 6b 65 74  o the Tcl socket
13ba0 20 63 6f 6d 6d 61 6e 64 2e 0a 49 66 20 74 68 65   command..If the
13bb0 20 63 6f 6d 6d 61 6e 64 20 69 73 20 63 72 65 61   command is crea
13bc0 74 69 6e 67 20 61 20 63 6c 69 65 6e 74 20 73 6f  ting a client so
13bd0 63 6b 65 74 20 61 6e 64 20 74 68 65 20 66 6c 61  cket and the fla
13be0 67 20 69 73 20 70 72 65 73 65 6e 74 2c 20 74 68  g is present, th
13bf0 65 0a 63 6c 69 65 6e 74 20 69 73 20 63 6f 6e 6e  e.client is conn
13c00 65 63 74 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f  ected asynchrono
13c10 75 73 6c 79 2e 20 49 66 20 74 68 65 20 6f 70 74  usly. If the opt
13c20 69 6f 6e 20 69 73 20 61 62 73 65 6e 74 20 28 74  ion is absent (t
13c30 68 65 20 64 65 66 61 75 6c 74 29 2c 0a 74 68 65  he default),.the
13c40 20 63 6c 69 65 6e 74 20 73 6f 63 6b 65 74 20 69   client socket i
13c50 73 20 63 6f 6e 6e 65 63 74 65 64 20 73 79 6e 63  s connected sync
13c60 68 72 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 74  hronously, and t
13c70 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72  he command retur
13c80 6e 73 20 6f 6e 6c 79 0a 77 68 65 6e 20 74 68 65  ns only.when the
13c90 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20   connection has 
13ca0 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 64 20 6f  been completed o
13cb0 72 20 66 61 69 6c 65 64 2e 20 54 68 69 73 20 63  r failed. This c
13cc0 68 61 6e 67 65 20 77 61 73 20 73 75 67 67 65 73  hange was sugges
13cd0 74 65 64 0a 62 79 20 4d 61 72 6b 20 44 69 65 6b  ted.by Mark Diek
13ce0 68 61 6e 73 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33  hans. (JL)..3/13
13cf0 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68 61  /96 (feature cha
13d00 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20 74 68  nge) Modified th
13d10 65 20 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54  e signature of T
13d20 63 6c 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74  cl_OpenTcpClient
13d30 20 74 6f 0a 74 61 6b 65 20 61 6e 20 61 64 64 69   to.take an addi
13d40 74 69 6f 6e 61 6c 20 69 6e 74 20 61 72 67 75 6d  tional int argum
13d50 65 6e 74 2c 20 61 73 79 6e 63 2e 20 49 66 20 6e  ent, async. If n
13d60 6f 6e 7a 65 72 6f 2c 20 74 68 65 20 63 6c 69 65  onzero, the clie
13d70 6e 74 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 0a  nt is connected.
13d80 74 6f 20 74 68 65 20 73 65 72 76 65 72 20 61 73  to the server as
13d90 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 20 49 66  ynchronously. If
13da0 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 7a 65   the value is ze
13db0 72 6f 2c 20 74 68 65 20 63 6f 6e 6e 65 63 74 69  ro, the connecti
13dc0 6f 6e 20 69 73 20 6d 61 64 65 0a 73 79 6e 63 68  on is made.synch
13dd0 72 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 74 68  ronously, and th
13de0 65 20 63 61 6c 6c 20 74 6f 20 54 63 6c 5f 4f 70  e call to Tcl_Op
13df0 65 6e 54 63 70 43 6c 69 65 6e 74 20 72 65 74 75  enTcpClient retu
13e00 72 6e 73 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68  rns only when th
13e10 65 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 61 69  e.connection fai
13e20 6c 73 20 6f 72 20 73 75 63 63 65 65 64 73 2e 20  ls or succeeds. 
13e30 54 68 69 73 20 63 68 61 6e 67 65 20 77 61 73 20  This change was 
13e40 73 75 67 67 65 73 74 65 64 20 62 79 20 4d 61 72  suggested by Mar
13e50 6b 20 44 69 65 6b 68 61 6e 73 2e 20 28 4a 4c 29  k Diekhans. (JL)
13e60 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49  .*** INCOMPATIBI
13e70 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e  LITY with Tcl 7.
13e80 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77 69 74  5b3, but not wit
13e90 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 33  h Tcl 7.4 ***..3
13ea0 2f 31 34 2f 39 36 20 28 62 75 67 20 66 69 78 29  /14/96 (bug fix)
13eb0 20 22 74 63 6c 73 68 20 62 6f 67 75 73 5f 66 69   "tclsh bogus_fi
13ec0 6c 65 5f 6e 61 6d 65 22 20 64 69 64 6e 27 74 20  le_name" didn't 
13ed0 70 72 69 6e 74 20 61 6e 20 65 72 72 6f 72 20 6d  print an error m
13ee0 65 73 73 61 67 65 2e 20 28 4a 4f 29 0a 0a 33 2f  essage. (JO)..3/
13ef0 31 34 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  14/96 (bug fix) 
13f00 41 64 64 65 64 20 6e 65 77 20 70 72 6f 63 65 64  Added new proced
13f10 75 72 65 73 20 74 6f 20 74 63 6c 43 6b 61 6c 6c  ures to tclCkall
13f20 6f 63 2e 63 20 73 6f 20 74 68 61 74 20 6c 69 62  oc.c so that lib
13f30 72 61 72 69 65 73 0a 61 6e 64 20 61 70 70 6c 69  raries.and appli
13f40 63 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63  cations can be c
13f50 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 54 43 4c  ompiled with TCL
13f60 5f 4d 45 4d 5f 44 45 42 55 47 20 65 76 65 6e 20  _MEM_DEBUG even 
13f70 69 66 20 54 63 6c 20 69 73 6e 27 74 0a 28 68 6f  if Tcl isn't.(ho
13f80 77 65 76 65 72 2c 20 74 68 65 20 63 6f 6e 76 65  wever, the conve
13f90 72 73 65 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74  rse is still not
13fa0 20 74 72 75 65 29 2e 20 20 50 61 74 63 68 65 73   true).  Patches
13fb0 20 70 72 6f 76 69 64 65 64 20 62 79 20 4a 61 6e   provided by Jan
13fc0 0a 4e 69 6a 74 6d 61 6e 73 2e 20 28 4a 4f 29 0a  .Nijtmans. (JO).
13fd0 0a 33 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69  .3/15/96 (bug fi
13fe0 78 29 20 4d 61 72 6b 65 64 20 73 74 61 6e 64 61  x) Marked standa
13ff0 72 64 20 49 4f 20 68 61 6e 64 6c 65 73 20 6f 66  rd IO handles of
14000 20 61 20 70 72 6f 63 65 73 73 20 61 73 20 63 6c   a process as cl
14010 6f 73 65 2d 6f 6e 2d 65 78 65 63 0a 74 6f 20 66  ose-on-exec.to f
14020 69 78 20 62 75 67 20 69 6e 20 55 6c 74 72 69 78  ix bug in Ultrix
14030 20 77 68 65 72 65 20 65 78 65 63 20 77 61 73 20   where exec was 
14040 6e 6f 74 20 73 68 61 72 69 6e 67 20 73 74 61 6e  not sharing stan
14050 64 61 72 64 20 49 4f 20 68 61 6e 64 6c 65 73 20  dard IO handles 
14060 77 69 74 68 0a 73 75 62 70 72 6f 63 65 73 73 65  with.subprocesse
14070 73 2e 20 46 69 78 20 73 75 67 67 65 73 74 65 64  s. Fix suggested
14080 20 62 79 20 4d 61 72 6b 20 44 69 65 6b 68 61 6e   by Mark Diekhan
14090 73 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f 39 36  s. (JL)..3/15/96
140a0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
140b0 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 63 6c   asynchronous cl
140c0 6f 73 65 20 6d 65 63 68 61 6e 69 73 6d 20 73 6f  ose mechanism so
140d0 20 74 68 61 74 20 69 74 20 63 6c 6f 73 65 73 20   that it closes 
140e0 74 68 65 0a 63 68 61 6e 6e 65 6c 20 69 6e 73 74  the.channel inst
140f0 65 61 64 20 6f 66 20 6c 65 61 6b 69 6e 67 20 73  ead of leaking s
14100 79 73 74 65 6d 20 72 65 73 6f 75 72 63 65 73 2e  ystem resources.
14110 20 54 68 65 20 6d 61 6e 69 66 65 73 74 61 74 69   The manifestati
14120 6f 6e 20 77 61 73 20 74 68 61 74 20 54 63 6c 0a  on was that Tcl.
14130 77 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79  would eventually
14140 20 72 75 6e 20 6f 75 74 20 6f 66 20 66 69 6c 65   run out of file
14150 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 66 20   descriptors if 
14160 69 74 20 77 61 73 20 68 61 6e 64 6c 69 6e 67 20  it was handling 
14170 61 20 6c 61 72 67 65 0a 6e 75 6d 62 65 72 20 6f  a large.number o
14180 66 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 73 6f  f nonblocking so
14190 63 6b 65 74 73 20 6f 72 20 70 69 70 65 73 20 77  ckets or pipes w
141a0 69 74 68 20 68 69 67 68 20 63 6f 6e 67 65 73 74  ith high congest
141b0 69 6f 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f  ion. (JL)..3/15/
141c0 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
141d0 65 64 20 74 65 73 74 73 20 73 6f 20 74 68 61 74  ed tests so that
141e0 20 74 68 65 79 20 6e 6f 20 6c 6f 6e 67 65 72 20   they no longer 
141f0 6c 65 61 6b 20 66 69 6c 65 20 64 65 73 63 72 69  leak file descri
14200 70 74 6f 72 73 2e 0a 54 68 65 20 6d 61 6e 69 66  ptors..The manif
14210 65 73 74 61 74 69 6f 6e 20 77 61 73 20 74 68 61  estation was tha
14220 74 20 54 63 6c 20 77 6f 75 6c 64 20 65 76 65 6e  t Tcl would even
14230 74 75 61 6c 6c 79 20 72 75 6e 20 6f 75 74 20 6f  tually run out o
14240 66 20 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f  f file descripto
14250 72 73 0a 69 66 20 74 68 65 20 74 65 73 74 73 20  rs.if the tests 
14260 77 65 72 65 20 72 65 72 75 6e 20 6d 61 6e 79 20  were rerun many 
14270 74 69 6d 65 73 20 28 3e 20 61 20 68 75 6e 64 72  times (> a hundr
14280 65 64 20 74 69 6d 65 73 20 6f 6e 20 53 6f 6c 61  ed times on Sola
14290 72 69 73 29 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35  ris). (JL)..3/15
142a0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
142b0 78 65 64 20 63 68 61 6e 6e 65 6c 20 63 72 65 61  xed channel crea
142c0 74 69 6f 6e 20 63 6f 64 65 20 73 6f 20 74 68 61  tion code so tha
142d0 74 20 69 74 20 6e 65 76 65 72 20 63 72 65 61 74  t it never creat
142e0 65 73 0a 75 6e 6e 61 6d 65 64 20 63 68 61 6e 6e  es.unnamed chann
142f0 65 6c 73 2e 20 54 68 69 73 20 77 6f 75 6c 64 20  els. This would 
14300 63 61 75 73 65 20 61 20 70 61 6e 69 63 20 61 6e  cause a panic an
14310 64 20 63 6f 72 65 20 64 75 6d 70 20 77 68 65 6e  d core dump when
14320 20 74 68 65 20 63 68 61 6e 6e 65 6c 0a 77 61 73   the channel.was
14330 20 63 6c 6f 73 65 64 2e 20 28 4a 4c 29 0a 0a 33   closed. (JL)..3
14340 2f 31 36 2f 39 36 20 28 62 75 67 20 66 69 78 65  /16/96 (bug fixe
14350 73 29 20 4d 61 64 65 20 6c 6f 74 73 20 6f 66 20  s) Made lots of 
14360 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6e 66 69  changes in confi
14370 67 75 72 61 74 69 6f 6e 20 73 74 75 66 66 20 74  guration stuff t
14380 6f 20 67 65 74 0a 54 63 6c 20 77 6f 72 6b 69 6e  o get.Tcl workin
14390 67 20 75 6e 64 65 72 20 41 49 58 20 28 66 69 6e  g under AIX (fin
143a0 61 6c 6c 79 29 2e 20 20 54 63 6c 20 73 68 6f 75  ally).  Tcl shou
143b0 6c 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 20 74  ld now support t
143c0 68 65 20 22 6c 6f 61 64 22 0a 63 6f 6d 6d 61 6e  he "load".comman
143d0 64 20 75 6e 64 65 72 20 41 49 58 20 61 6e 64 20  d under AIX and 
143e0 73 68 6f 75 6c 64 20 77 6f 72 6b 20 65 69 74 68  should work eith
143f0 65 72 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f  er with or witho
14400 75 74 20 73 68 61 72 65 64 0a 6c 69 62 72 61 72  ut shared.librar
14410 69 65 73 20 66 6f 72 20 54 63 6c 20 61 6e 64 20  ies for Tcl and 
14420 54 6b 2e 20 28 4a 4f 29 0a 0a 33 2f 32 31 2f 39  Tk. (JO)..3/21/9
14430 36 20 28 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  6 (configuration
14440 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43 68   improvement) Ch
14450 61 6e 67 65 64 20 63 6f 6e 66 69 67 75 72 65 20  anged configure 
14460 73 63 72 69 70 74 20 73 6f 20 69 74 0a 64 6f 65  script so it.doe
14470 73 6e 27 74 20 75 73 65 20 76 65 72 73 69 6f 6e  sn't use version
14480 20 6e 75 6d 62 65 72 73 20 28 61 73 20 69 6e 20   numbers (as in 
14490 2d 6c 74 63 6c 37 2e 35 20 61 6e 64 20 6c 69 62  -ltcl7.5 and lib
144a0 74 63 6c 37 2e 35 2e 73 6f 29 20 75 6e 64 65 72  tcl7.5.so) under
144b0 0a 53 75 6e 4f 53 20 34 2e 31 2c 20 77 68 65 72  .SunOS 4.1, wher
144c0 65 20 74 68 65 79 20 64 6f 6e 27 74 20 77 6f 72  e they don't wor
144d0 6b 20 61 6e 79 77 61 79 2e 20 20 28 4a 4f 29 0a  k anyway.  (JO).
144e0 0a 33 2f 32 32 2f 39 36 20 28 6e 65 77 20 66 65  .3/22/96 (new fe
144f0 61 74 75 72 65 29 20 41 64 64 65 64 20 43 20 41  ature) Added C A
14500 50 49 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c  PI Tcl_InterpDel
14510 65 74 65 64 20 74 68 61 74 20 61 6c 6c 6f 77 73  eted that allows
14520 20 65 78 74 65 6e 73 69 6f 6e 0a 77 72 69 74 65   extension.write
14530 72 73 20 74 6f 20 64 69 73 63 6f 76 65 72 20 77  rs to discover w
14540 68 65 6e 20 61 6e 20 69 6e 74 65 72 70 72 65 74  hen an interpret
14550 65 72 20 69 73 20 62 65 69 6e 67 20 64 65 6c 65  er is being dele
14560 74 65 64 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f  ted. (JL)..3/22/
14570 39 36 20 28 62 75 67 20 66 69 78 29 20 54 68 65  96 (bug fix) The
14580 20 73 74 61 6e 64 61 72 64 20 49 4f 20 63 68 61   standard IO cha
14590 6e 6e 65 6c 73 20 61 72 65 20 6e 6f 77 20 61 64  nnels are now ad
145a0 64 65 64 20 74 6f 20 65 61 63 68 0a 74 72 75 73  ded to each.trus
145b0 74 65 64 20 69 6e 74 65 72 70 72 65 74 65 72 20  ted interpreter 
145c0 61 73 20 73 6f 6f 6e 20 61 73 20 74 68 65 20 69  as soon as the i
145d0 6e 74 65 72 70 72 65 74 65 72 20 69 73 20 63 72  nterpreter is cr
145e0 65 61 74 65 64 2e 20 54 68 69 73 20 65 6e 73 75  eated. This ensu
145f0 72 65 73 0a 61 67 61 69 6e 73 74 20 74 68 65 20  res.against the 
14600 62 75 67 20 77 68 65 72 65 20 61 20 63 68 69 6c  bug where a chil
14610 64 20 77 6f 75 6c 64 20 64 6f 20 49 4f 20 62 65  d would do IO be
14620 66 6f 72 65 20 74 68 65 20 6d 61 73 74 65 72 20  fore the master 
14630 68 61 64 20 64 6f 6e 65 20 61 6e 79 2c 0a 61 6e  had done any,.an
14640 64 20 74 68 65 6e 20 74 68 65 20 63 68 69 6c 64  d then the child
14650 20 69 73 20 64 65 73 74 72 6f 79 65 64 20 2d 20   is destroyed - 
14660 74 68 65 20 73 74 61 6e 64 61 72 64 20 49 4f 20  the standard IO 
14670 63 68 61 6e 6e 65 6c 73 20 77 6f 75 6c 64 20 62  channels would b
14680 65 20 74 68 65 6e 0a 63 6c 6f 73 65 64 20 61 6e  e then.closed an
14690 64 20 74 68 65 20 6d 61 73 74 65 72 20 77 6f 75  d the master wou
146a0 6c 64 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20  ld be unable to 
146b0 64 6f 20 61 6e 79 20 49 4f 2e 20 28 4a 4c 29 0a  do any IO. (JL).
146c0 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69  .3/22/96 (bug fi
146d0 78 29 20 4d 61 64 65 20 54 63 6c 20 6d 6f 72 65  x) Made Tcl more
146e0 20 72 6f 62 75 73 74 20 61 67 61 69 6e 73 74 20   robust against 
146f0 69 6e 74 65 72 70 72 65 74 65 72 20 64 65 6c 65  interpreter dele
14700 74 69 6f 6e 2c 20 62 79 0a 75 73 69 6e 67 20 54  tion, by.using T
14710 63 6c 5f 50 72 65 73 65 72 76 65 2c 20 54 63 6c  cl_Preserve, Tcl
14720 5f 52 65 6c 65 61 73 65 20 61 6e 64 20 54 63 6c  _Release and Tcl
14730 5f 45 76 65 6e 74 75 61 6c 6c 79 46 72 65 65 20  _EventuallyFree 
14740 74 6f 20 73 70 6c 69 74 20 74 68 65 20 70 72 6f  to split the pro
14750 63 65 73 73 0a 6f 66 20 69 6e 74 65 72 70 72 65  cess.of interpre
14760 74 65 72 20 64 65 6c 65 74 69 6f 6e 20 69 6e 74  ter deletion int
14770 6f 20 74 77 6f 20 64 69 73 74 69 6e 63 74 20 70  o two distinct p
14780 68 61 73 65 73 2e 20 41 6c 73 6f 20 77 65 6e 74  hases. Also went
14790 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 6f 66 0a   through all of.
147a0 54 63 6c 20 61 6e 64 20 61 64 64 65 64 20 63 61  Tcl and added ca
147b0 6c 6c 73 20 74 6f 20 54 63 6c 5f 50 72 65 73 65  lls to Tcl_Prese
147c0 72 76 65 20 61 6e 64 20 54 63 6c 5f 44 65 6c 65  rve and Tcl_Dele
147d0 74 65 20 77 68 65 72 65 20 6e 65 65 64 65 64 2e  te where needed.
147e0 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28   (JL)..3/22/96 (
147f0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 73  bug fix) Fixed s
14800 65 76 65 72 61 6c 20 70 6c 61 63 65 73 20 77 68  everal places wh
14810 65 72 65 20 43 20 63 6f 64 65 20 77 61 73 20 72  ere C code was r
14820 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69  eading and writi
14830 6e 67 0a 69 6e 74 6f 20 66 72 65 65 64 20 6d 65  ng.into freed me
14840 6d 6f 72 79 2c 20 65 73 70 65 63 69 61 6c 6c 79  mory, especially
14850 20 64 75 72 69 6e 67 20 69 6e 74 65 72 70 72 65   during interpre
14860 74 65 72 20 64 65 6c 65 74 69 6f 6e 2e 20 28 4a  ter deletion. (J
14870 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67  L)..3/22/96 (bug
14880 20 66 69 78 29 20 46 69 78 65 64 20 76 65 72 79   fix) Fixed very
14890 20 64 65 65 70 20 62 75 67 20 69 6e 20 54 63 6c   deep bug in Tcl
148a0 5f 52 65 6c 65 61 73 65 20 74 68 61 74 20 63 61  _Release that ca
148b0 75 73 65 64 20 6d 65 6d 6f 72 79 20 74 6f 0a 62  used memory to.b
148c0 65 20 66 72 65 65 64 20 74 77 69 63 65 20 69 66  e freed twice if
148d0 20 74 68 65 20 72 65 6c 65 61 73 65 20 63 61 6c   the release cal
148e0 6c 62 61 63 6b 20 64 69 64 20 54 63 6c 5f 50 72  lback did Tcl_Pr
148f0 65 73 65 72 76 65 20 61 6e 64 20 54 63 6c 5f 52  eserve and Tcl_R
14900 65 6c 65 61 73 65 20 6f 6e 0a 74 68 65 20 73 61  elease on.the sa
14910 6d 65 20 6d 65 6d 6f 72 79 20 61 73 20 74 68 65  me memory as the
14920 20 63 68 75 6e 6b 20 63 75 72 72 65 6e 74 6c 79   chunk currently
14930 20 62 65 69 6e 67 20 66 72 65 65 64 2e 20 28 4a   being freed. (J
14940 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67  L)..3/22/96 (bug
14950 20 66 69 78 29 20 52 65 6d 6f 76 65 64 20 73 65   fix) Removed se
14960 76 65 72 61 6c 20 6d 65 6d 6f 72 79 20 6c 65 61  veral memory lea
14970 6b 73 20 74 68 61 74 20 77 6f 75 6c 64 20 63 61  ks that would ca
14980 75 73 65 20 6d 65 6d 6f 72 79 0a 62 75 69 6c 64  use memory.build
14990 75 70 20 6f 6e 20 68 61 6c 66 2d 4b 20 63 68 75  up on half-K chu
149a0 6e 6b 73 20 69 6e 20 74 68 65 20 67 65 6e 65 72  nks in the gener
149b0 69 63 20 49 4f 20 6c 65 76 65 6c 2e 20 28 4a 4c  ic IO level. (JL
149c0 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20  )..3/22/96 (bug 
149d0 66 69 78 29 20 46 69 78 65 64 20 73 65 76 65 72  fix) Fixed sever
149e0 61 6c 20 63 6f 72 65 20 64 75 6d 70 73 20 77 68  al core dumps wh
149f0 69 63 68 20 6f 63 63 75 72 72 65 64 20 77 68 65  ich occurred whe
14a00 6e 20 6e 65 77 0a 41 73 73 6f 63 44 61 74 61 20  n new.AssocData 
14a10 77 61 73 20 62 65 69 6e 67 20 63 72 65 61 74 65  was being create
14a20 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6c 65  d during the cle
14a30 61 6e 75 70 73 20 69 6e 20 69 6e 74 65 72 70 72  anups in interpr
14a40 65 74 65 72 20 64 65 6c 65 74 69 6f 6e 2e 0a 54  eter deletion..T
14a50 68 65 20 73 6f 6c 75 74 69 6f 6e 20 69 6d 70 6c  he solution impl
14a60 65 6d 65 6e 74 65 64 20 6e 6f 77 20 69 73 20 74  emented now is t
14a70 6f 20 6c 6f 6f 70 20 72 65 70 65 61 74 65 64 6c  o loop repeatedl
14a80 79 20 6f 76 65 72 20 74 68 65 20 41 73 73 6f 63  y over the Assoc
14a90 44 61 74 61 20 75 6e 74 69 6c 0a 6e 6f 6e 65 20  Data until.none 
14aa0 69 73 20 6c 65 66 74 20 74 6f 20 63 6c 65 61 6e  is left to clean
14ab0 20 75 70 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f   up. (JL)..3/22/
14ac0 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
14ad0 65 64 20 61 20 62 75 67 20 69 6e 20 65 76 65 6e  ed a bug in even
14ae0 74 20 68 61 6e 64 6c 69 6e 67 20 77 68 69 63 68  t handling which
14af0 20 63 61 75 73 65 64 20 61 6e 20 69 6e 66 69 6e   caused an infin
14b00 69 74 65 0a 6c 6f 6f 70 20 69 66 20 74 68 65 72  ite.loop if ther
14b10 65 20 77 65 72 65 20 6e 6f 20 66 69 6c 65 73 20  e were no files 
14b20 62 65 69 6e 67 20 77 61 74 63 68 65 64 20 61 6e  being watched an
14b30 64 20 6e 6f 20 74 69 6d 65 72 2e 20 46 69 78 20  d no timer. Fix 
14b40 73 75 67 67 65 73 74 65 64 20 62 79 0a 4a 61 6e  suggested by.Jan
14b50 20 4e 69 6a 74 6d 61 6e 73 2e 20 28 4a 4c 29 0a   Nijtmans. (JL).
14b60 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69  .3/22/96 (bug fi
14b70 78 29 20 46 69 78 65 64 20 54 63 6c 5f 43 72 65  x) Fixed Tcl_Cre
14b80 61 74 65 43 6f 6d 6d 61 6e 64 2c 20 54 63 6c 5f  ateCommand, Tcl_
14b90 44 65 6c 65 74 65 43 6f 6d 6d 61 6e 64 20 74 6f  DeleteCommand to
14ba0 20 62 65 20 6d 6f 72 65 0a 72 6f 62 75 73 74 20   be more.robust 
14bb0 69 66 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  if the interpret
14bc0 65 72 20 69 73 20 62 65 69 6e 67 20 64 65 6c 65  er is being dele
14bd0 74 65 64 2e 20 41 6c 73 6f 20 66 69 78 65 64 20  ted. Also fixed 
14be0 73 65 76 65 72 61 6c 20 6f 72 64 65 72 0a 64 65  several order.de
14bf0 70 65 6e 64 65 6e 63 79 20 62 75 67 73 20 69 6e  pendency bugs in
14c00 20 54 63 6c 5f 44 65 6c 65 74 65 43 6f 6d 6d 61   Tcl_DeleteComma
14c10 6e 64 20 77 68 69 63 68 20 6b 69 63 6b 65 64 20  nd which kicked 
14c20 69 6e 20 77 68 65 6e 20 61 6e 20 69 6e 74 65 72  in when an inter
14c30 70 72 65 74 65 72 0a 77 61 73 20 62 65 69 6e 67  preter.was being
14c40 20 64 65 6c 65 74 65 64 2e 20 28 4a 4c 29 0a 0a   deleted. (JL)..
14c50 33 2f 32 36 2f 39 36 20 28 62 75 67 20 66 69 78  3/26/96 (bug fix
14c60 29 20 55 70 6f 6e 20 61 20 22 73 68 6f 72 74 20  ) Upon a "short 
14c70 72 65 61 64 22 2c 20 74 68 65 20 67 65 6e 65 72  read", the gener
14c80 69 63 20 63 6f 64 65 20 6e 6f 20 6c 6f 6e 67 65  ic code no longe
14c90 72 20 63 61 6c 6c 73 0a 74 68 65 20 64 72 69 76  r calls.the driv
14ca0 65 72 20 66 6f 72 20 6d 6f 72 65 20 69 6e 70 75  er for more inpu
14cb0 74 2e 20 44 6f 69 6e 67 20 74 68 69 73 20 63 61  t. Doing this ca
14cc0 75 73 65 64 20 62 6c 6f 63 6b 69 6e 67 20 6f 6e  used blocking on
14cd0 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 0a   some platforms.
14ce0 65 76 65 6e 20 6f 6e 20 6e 6f 6e 62 6c 6f 63 6b  even on nonblock
14cf0 69 6e 67 20 63 68 61 6e 6e 65 6c 73 2e 20 42 75  ing channels. Bu
14d00 67 20 61 6e 64 20 66 69 78 20 63 6f 75 72 74 65  g and fix courte
14d10 73 79 20 4d 61 72 6b 20 52 6f 73 65 6d 61 6e 2e  sy Mark Roseman.
14d20 20 28 4a 4c 29 0a 0a 33 2f 32 36 2f 39 36 20 28   (JL)..3/26/96 (
14d30 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
14d40 65 64 20 27 70 61 63 6b 61 67 65 20 54 63 6c 74  ed 'package Tclt
14d50 65 73 74 27 20 77 68 69 63 68 20 69 73 20 70 72  est' which is pr
14d60 65 73 65 6e 74 20 6f 6e 6c 79 20 69 6e 0a 74 65  esent only in.te
14d70 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 54  st versions of T
14d80 63 6c 3b 20 74 68 69 73 20 61 6c 6c 6f 77 73 20  cl; this allows 
14d90 74 68 65 20 74 65 73 74 69 6e 67 20 63 6f 6d 6d  the testing comm
14da0 61 6e 64 73 20 74 6f 20 62 65 20 6c 6f 61 64 65  ands to be loade
14db0 64 20 69 6e 74 6f 0a 6e 65 77 20 69 6e 74 65 72  d into.new inter
14dc0 70 72 65 74 65 72 73 20 62 65 73 69 64 65 73 20  preters besides 
14dd0 74 68 65 20 6d 61 69 6e 20 6f 6e 65 2e 20 28 4a  the main one. (J
14de0 4c 29 0a 0a 33 2f 32 36 2f 39 36 20 28 72 65 73  L)..3/26/96 (res
14df0 74 6f 72 65 64 20 66 65 61 74 75 72 65 29 20 52  tored feature) R
14e00 65 63 72 65 61 74 65 64 20 74 68 65 20 54 63 6c  ecreated the Tcl
14e10 5f 47 65 74 4f 70 65 6e 46 69 6c 65 20 43 20 41  _GetOpenFile C A
14e20 50 49 2e 20 59 6f 75 20 63 61 6e 0a 6e 6f 77 20  PI. You can.now 
14e30 67 65 74 20 61 20 46 49 4c 45 20 2a 20 66 72 6f  get a FILE * fro
14e40 6d 20 61 20 72 65 67 69 73 74 65 72 65 64 20 63  m a registered c
14e50 68 61 6e 6e 65 6c 3b 20 55 6e 69 78 20 6f 6e 6c  hannel; Unix onl
14e60 79 2e 20 28 4a 4c 29 0a 0a 33 2f 32 37 2f 39 36  y. (JL)..3/27/96
14e70 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 72   (bug fix) The r
14e80 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
14e90 6e 20 63 6f 64 65 20 64 69 64 20 6e 6f 74 20 73  n code did not s
14ea0 75 70 70 6f 72 74 20 6d 6f 72 65 0a 74 68 61 6e  upport more.than
14eb0 20 39 20 73 75 62 65 78 70 72 65 73 73 69 6f 6e   9 subexpression
14ec0 73 2e 20 20 49 74 20 6e 6f 77 20 73 75 70 70 6f  s.  It now suppo
14ed0 72 74 73 20 75 70 20 74 6f 20 32 30 2e 20 28 53  rts up to 20. (S
14ee0 53 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67 20  S)..4/1/96 (bug 
14ef0 66 69 78 65 73 29 20 54 68 65 20 43 48 41 4e 4e  fixes) The CHANN
14f00 45 4c 5f 42 4c 4f 43 4b 45 44 20 62 69 74 20 77  EL_BLOCKED bit w
14f10 61 73 20 62 65 69 6e 67 20 6c 65 66 74 20 6f 6e  as being left on
14f20 20 6f 6e 20 61 20 73 68 6f 72 74 0a 72 65 61 64   on a short.read
14f30 2c 20 73 6f 20 74 68 61 74 20 66 69 6c 65 65 76  , so that fileev
14f40 65 6e 74 73 20 77 6f 75 6c 64 6e 27 74 20 66 69  ents wouldn't fi
14f50 72 65 20 63 6f 72 72 65 63 74 6c 79 2e 20 42 75  re correctly. Bu
14f60 67 20 72 65 70 6f 72 74 65 64 20 62 79 20 4d 61  g reported by Ma
14f70 72 6b 0a 52 6f 73 65 6d 61 6e 2e 28 4a 4c 2c 20  rk.Roseman.(JL, 
14f80 52 4a 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67  RJ)..4/1/96 (bug
14f90 20 66 69 78 29 20 4d 6f 76 65 64 20 54 63 6c 5f   fix) Moved Tcl_
14fa0 52 65 6c 65 61 73 65 20 74 6f 20 6d 61 74 63 68  Release to match
14fb0 20 54 63 6c 5f 50 72 65 73 65 72 76 65 20 65 78   Tcl_Preserve ex
14fc0 61 63 74 6c 79 2c 20 69 6e 0a 74 63 6c 49 6e 74  actly, in.tclInt
14fd0 65 72 70 2e 63 3b 20 70 72 65 76 69 6f 75 73 6c  erp.c; previousl
14fe0 79 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 77  y interpreters w
14ff0 65 72 65 20 62 65 69 6e 67 20 66 72 65 65 64 20  ere being freed 
15000 6f 6e 6c 79 20 63 6f 6e 64 69 74 69 6f 6e 61 6c  only conditional
15010 6c 79 0a 61 6e 64 20 73 6f 6d 65 74 69 6d 65 73  ly.and sometimes
15020 20 6e 6f 74 20 61 74 20 61 6c 6c 2e 20 28 4a 4c   not at all. (JL
15030 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67 20 66  )..4/1/96 (bug f
15040 69 78 29 20 46 69 78 65 64 20 65 72 72 6f 72 20  ix) Fixed error 
15050 72 65 70 6f 72 74 69 6e 67 20 69 6e 20 73 6c 61  reporting in sla
15060 76 65 20 69 6e 74 65 72 70 72 65 74 65 72 73 20  ve interpreters 
15070 77 68 65 6e 20 74 68 65 0a 65 72 72 6f 72 20 6d  when the.error m
15080 65 73 73 61 67 65 20 77 61 73 20 62 65 69 6e 67  essage was being
15090 20 67 65 6e 65 72 61 74 65 64 20 64 69 72 65 63   generated direc
150a0 74 6c 79 20 62 79 20 43 20 63 6f 64 65 2e 20 46  tly by C code. F
150b0 69 78 20 73 75 67 67 65 73 74 65 64 20 62 79 0a  ix suggested by.
150c0 56 69 6b 74 6f 72 20 44 75 6b 68 6f 76 6e 69 20  Viktor Dukhovni 
150d0 6f 66 20 45 53 4d 2e 20 28 4a 4c 29 0a 0a 34 2f  of ESM. (JL)..4/
150e0 32 2f 39 36 20 28 62 75 67 20 66 69 78 65 73 29  2/96 (bug fixes)
150f0 20 46 69 78 65 64 20 61 20 73 65 72 69 65 73 20   Fixed a series 
15100 6f 66 20 62 75 67 73 20 69 6e 20 57 69 6e 64 6f  of bugs in Windo
15110 77 73 20 73 6f 63 6b 65 74 73 20 74 68 61 74 20  ws sockets that 
15120 63 61 75 73 65 64 0a 65 76 65 6e 74 73 20 74 6f  caused.events to
15130 20 76 61 72 69 6f 75 73 6c 79 20 67 65 74 20 6c   variously get l
15140 6f 73 74 2c 20 74 6f 20 67 65 74 20 73 65 6e 74  ost, to get sent
15150 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c   multiple times,
15160 20 6f 72 20 74 6f 20 62 65 20 69 67 6e 6f 72 65   or to be ignore
15170 64 0a 62 79 20 74 68 65 20 64 72 69 76 65 72 2e  d.by the driver.
15180 20 54 68 65 20 6d 61 6e 69 66 65 73 74 61 74 69   The manifestati
15190 6f 6e 20 77 61 73 20 62 6c 6f 63 6b 69 6e 67 20  on was blocking 
151a0 69 66 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69  if the channel i
151b0 73 20 62 6c 6f 63 6b 69 6e 67 2c 0a 61 6e 64 20  s blocking,.and 
151c0 65 69 74 68 65 72 20 67 65 74 74 69 6e 67 20 45  either getting E
151d0 41 47 41 49 4e 20 6f 72 20 69 6e 66 69 6e 69 74  AGAIN or infinit
151e0 65 20 6c 6f 6f 70 73 20 69 66 20 74 68 65 20 63  e loops if the c
151f0 68 61 6e 6e 65 6c 20 69 73 20 6e 6f 6e 62 6c 6f  hannel is nonblo
15200 63 6b 69 6e 67 2e 0a 54 68 69 73 20 73 65 72 69  cking..This seri
15210 65 73 20 6f 66 20 62 75 67 73 20 77 61 73 20 66  es of bugs was f
15220 6f 75 6e 64 20 62 79 20 49 61 6e 20 57 61 6c 6c  ound by Ian Wall
15230 69 73 20 6f 66 20 43 69 73 63 6f 2e 20 4e 6f 77  is of Cisco. Now
15240 20 61 6c 6c 20 74 65 73 74 73 20 28 61 6c 73 6f   all tests (also
15250 0a 74 68 6f 73 65 20 74 68 61 74 20 77 65 72 65  .those that were
15260 20 70 72 65 76 69 6f 75 73 6c 79 20 63 6f 6d 6d   previously comm
15270 65 6e 74 65 64 20 6f 75 74 29 20 69 6e 20 73 6f  ented out) in so
15280 63 6b 65 74 2e 74 65 73 74 20 70 61 73 73 2e 20  cket.test pass. 
15290 20 28 4a 4c 2c 20 53 53 29 0a 0a 34 2f 32 2f 39   (JL, SS)..4/2/9
152a0 36 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  6 (feature chang
152b0 65 2f 62 75 67 20 66 69 78 29 20 45 6c 69 6d 69  e/bug fix) Elimi
152c0 6e 61 74 65 64 20 6e 65 74 77 6f 72 6b 20 6e 61  nated network na
152d0 6d 65 20 73 75 70 70 6f 72 74 20 69 6e 0a 66 61  me support in.fa
152e0 76 6f 72 20 6f 66 20 62 65 74 74 65 72 20 6e 61  vor of better na
152f0 74 69 76 65 20 6e 61 6d 65 20 73 75 70 70 6f 72  tive name suppor
15300 74 2e 20 20 41 64 64 65 64 20 22 66 69 6c 65 20  t.  Added "file 
15310 73 70 6c 69 74 22 2c 20 22 66 69 6c 65 20 6a 6f  split", "file jo
15320 69 6e 22 2c 0a 61 6e 64 20 22 66 69 6c 65 20 70  in",.and "file p
15330 61 74 68 74 79 70 65 22 20 63 6f 6d 6d 61 6e 64  athtype" command
15340 73 2e 20 20 53 65 65 20 74 68 65 20 22 66 69 6c  s.  See the "fil
15350 65 22 20 6d 61 6e 20 70 61 67 65 20 66 6f 72 20  e" man page for 
15360 6d 6f 72 65 0a 64 65 74 61 69 6c 73 2e 20 28 53  more.details. (S
15370 53 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49  S).*** INCOMPATI
15380 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
15390 37 2e 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77  7.5b3, but not w
153a0 69 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a  ith Tcl 7.4 ***.
153b0 0a 34 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78  .4/2/96 (bug fix
153c0 29 20 43 68 61 6e 67 65 64 20 69 6d 70 6c 65 6d  ) Changed implem
153d0 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 75 74 6f  entation of auto
153e0 5f 6d 6b 69 6e 64 65 78 20 73 6f 20 74 63 6c 49  _mkindex so tclI
153f0 6e 64 65 78 0a 66 69 6c 65 73 20 77 69 6c 6c 20  ndex.files will 
15400 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 20  properly handle 
15410 70 61 74 68 20 6e 61 6d 65 73 20 69 6e 20 61 20  path names in a 
15420 63 72 6f 73 73 20 70 6c 61 74 66 6f 72 6d 20 63  cross platform c
15430 6f 6e 74 65 78 74 2e 20 28 53 53 29 0a 0a 34 2f  ontext. (SS)..4/
15440 35 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  5/96 (bug fix) F
15450 69 78 65 64 20 54 63 6c 5f 52 65 61 64 43 6d 64  ixed Tcl_ReadCmd
15460 20 74 6f 20 75 73 65 20 74 68 65 20 63 68 61 6e   to use the chan
15470 6e 65 6c 20 62 75 66 66 65 72 20 73 69 7a 65 20  nel buffer size 
15480 61 73 20 74 68 65 0a 63 68 75 6e 6b 20 73 69 7a  as the.chunk siz
15490 65 20 69 74 20 72 65 61 64 73 2c 20 69 6e 73 74  e it reads, inst
154a0 65 61 64 20 6f 66 20 61 20 66 69 78 65 64 20 34  ead of a fixed 4
154b0 4b 20 73 69 7a 65 2e 20 54 68 75 73 2c 20 6f 6e  K size. Thus, on
154c0 20 6c 61 72 67 65 20 72 65 61 64 73 2c 20 74 68   large reads, th
154d0 65 0a 75 73 65 72 20 63 61 6e 20 73 65 74 20 74  e.user can set t
154e0 68 65 20 63 68 61 6e 6e 65 6c 20 62 75 66 66 65  he channel buffe
154f0 72 20 73 69 7a 65 20 74 6f 20 61 20 6c 61 72 67  r size to a larg
15500 65 20 73 69 7a 65 20 61 6e 64 20 74 68 65 20 72  e size and the r
15510 65 61 64 20 77 69 6c 6c 0a 6f 63 63 75 72 20 6f  ead will.occur o
15520 72 64 65 72 73 20 6f 66 20 6d 61 67 6e 69 74 75  rders of magnitu
15530 64 65 20 66 61 73 74 65 72 2e 20 46 6f 72 20 65  de faster. For e
15540 78 61 6d 70 6c 65 2c 20 6f 6e 20 61 20 32 4d 42  xample, on a 2MB
15550 20 66 69 6c 65 2c 20 72 65 61 64 69 6e 67 20 69   file, reading i
15560 6e 20 34 4b 0a 63 68 75 6e 6b 73 20 74 6f 6f 6b  n 4K.chunks took
15570 20 33 34 20 73 65 63 6f 6e 64 73 2c 20 77 68 69   34 seconds, whi
15580 6c 65 20 72 65 61 64 69 6e 67 20 69 6e 20 31 4d  le reading in 1M
15590 42 20 63 68 75 6e 6b 73 20 74 6f 6f 6b 20 31 2e  B chunks took 1.
155a0 35 20 73 65 63 6f 6e 64 73 20 28 6f 6e 20 61 0a  5 seconds (on a.
155b0 53 53 2d 32 30 29 2e 20 50 72 6f 62 6c 65 6d 20  SS-20). Problem 
155c0 69 64 65 6e 74 69 66 69 65 64 20 61 6e 64 20 66  identified and f
155d0 69 78 20 73 75 67 67 65 73 74 65 64 20 62 79 20  ix suggested by 
155e0 4a 6f 68 6e 20 48 61 78 62 79 20 6f 66 20 48 50  John Haxby of HP
155f0 2e 20 28 4a 4c 29 0a 0a 34 2f 35 2f 39 36 20 28  . (JL)..4/5/96 (
15600 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 73  bug fix) Fixed s
15610 6f 63 6b 65 74 20 63 72 65 61 74 69 6f 6e 20 63  ocket creation c
15620 6f 64 65 20 74 6f 20 69 6e 76 6f 6b 65 20 67 65  ode to invoke ge
15630 74 68 6f 73 74 62 79 6e 61 6d 65 20 6f 6e 6c 79  thostbyname only
15640 20 69 66 0a 69 6e 65 74 5f 61 64 64 72 20 66 61   if.inet_addr fa
15650 69 6c 65 64 20 28 76 65 72 79 20 75 6e 6c 69 6b  iled (very unlik
15660 65 6c 79 29 2e 20 42 65 66 6f 72 65 20 74 68 69  ely). Before thi
15670 73 20 63 68 61 6e 67 65 20 74 68 65 20 6f 72 64  s change the ord
15680 65 72 20 77 61 73 20 72 65 76 65 72 73 65 64 0a  er was reversed.
15690 61 6e 64 20 74 68 69 73 20 6d 61 64 65 20 74 68  and this made th
156a0 69 6e 67 73 20 6d 75 63 68 20 73 6c 6f 77 65 72  ings much slower
156b0 20 74 68 61 6e 20 74 68 65 79 20 6e 65 65 64 65   than they neede
156c0 64 20 74 6f 20 62 65 20 28 67 65 74 68 6f 73 74  d to be (gethost
156d0 62 79 6e 61 6d 65 0a 67 65 6e 65 72 61 6c 6c 79  byname.generally
156e0 20 72 65 71 75 69 72 65 73 20 61 6e 20 52 50 43   requires an RPC
156f0 2c 20 77 68 69 63 68 20 69 73 20 73 6c 6f 77 29  , which is slow)
15700 2e 20 50 72 6f 62 6c 65 6d 20 69 64 65 6e 74 69  . Problem identi
15710 66 69 65 64 20 61 6e 64 20 66 69 78 0a 73 75 67  fied and fix.sug
15720 67 65 73 74 65 64 20 62 79 20 4a 6f 68 6e 20 4c  gested by John L
15730 6f 76 65 72 73 6f 20 6f 66 20 4f 53 46 2e 20 28  overso of OSF. (
15740 4a 4c 29 0a 0a 34 2f 39 2f 39 36 20 28 66 65 61  JL)..4/9/96 (fea
15750 74 75 72 65 20 63 68 61 6e 67 65 29 20 4d 6f 64  ture change) Mod
15760 69 66 69 65 64 20 22 61 75 74 6f 22 20 74 72 61  ified "auto" tra
15770 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 20 73 6f  nslation mode so
15780 20 74 68 61 74 20 69 74 0a 72 65 63 6f 67 6e 69   that it.recogni
15790 7a 65 73 20 61 6e 79 20 6f 66 20 22 5c 6e 22 2c  zes any of "\n",
157a0 20 22 5c 72 22 20 61 6e 64 20 22 5c 72 5c 6e 22   "\r" and "\r\n"
157b0 20 69 6e 20 69 6e 70 75 74 20 61 73 20 65 6e 64   in input as end
157c0 20 6f 66 20 6c 69 6e 65 2c 20 73 6f 0a 74 68 61   of line, so.tha
157d0 74 20 61 20 66 69 6c 65 20 63 61 6e 20 68 61 76  t a file can hav
157e0 65 20 6d 69 78 65 64 20 65 6e 64 2d 6f 66 2d 6c  e mixed end-of-l
157f0 69 6e 65 20 73 65 71 75 65 6e 63 65 73 2e 20 49  ine sequences. I
15800 74 20 6e 6f 77 20 6f 75 74 70 75 74 73 0a 74 68  t now outputs.th
15810 65 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69  e platform speci
15820 66 69 63 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20  fic end of line 
15830 73 65 71 75 65 6e 63 65 20 6f 6e 20 65 61 63 68  sequence on each
15840 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 66 69   platform for fi
15850 6c 65 73 20 61 6e 64 0a 70 69 70 65 73 2c 20 61  les and.pipes, a
15860 6e 64 20 66 6f 72 20 73 6f 63 6b 65 74 73 20 69  nd for sockets i
15870 74 20 70 72 6f 64 75 63 65 73 20 63 72 6c 66 20  t produces crlf 
15880 69 6e 20 6f 75 74 70 75 74 20 6f 6e 20 61 6c 6c  in output on all
15890 20 70 6c 61 74 66 6f 72 6d 73 2e 20 28 4a 4c 29   platforms. (JL)
158a0 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49  .*** INCOMPATIBI
158b0 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e  LITY with Tcl 7.
158c0 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77 69 74  5b3, but not wit
158d0 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 34  h Tcl 7.4 ***..4
158e0 2f 31 31 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /11/96 (new feat
158f0 75 72 65 29 20 41 64 64 65 64 20 2d 65 6f 66 63  ure) Added -eofc
15900 68 61 72 20 6f 70 74 69 6f 6e 20 74 6f 20 54 63  har option to Tc
15910 6c 5f 53 65 74 43 68 61 6e 6e 65 6c 4f 70 74 69  l_SetChannelOpti
15920 6f 6e 20 74 6f 20 61 6c 6c 6f 77 0a 73 65 74 74  on to allow.sett
15930 69 6e 67 20 6f 66 20 61 6e 20 65 6e 64 20 6f 66  ing of an end of
15940 20 66 69 6c 65 20 63 68 61 72 61 63 74 65 72 20   file character 
15950 66 6f 72 20 69 6e 70 75 74 20 61 6e 64 20 6f 75  for input and ou
15960 74 70 75 74 2e 20 49 66 20 61 6e 20 69 6e 70 75  tput. If an inpu
15970 74 20 65 6f 66 0a 63 68 61 72 20 69 73 20 73 65  t eof.char is se
15980 74 2c 20 69 74 20 69 73 20 72 65 63 6f 67 6e 69  t, it is recogni
15990 7a 65 64 20 61 73 20 45 4f 46 20 61 6e 64 20 66  zed as EOF and f
159a0 75 72 74 68 65 72 20 69 6e 70 75 74 20 66 72 6f  urther input fro
159b0 6d 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 73  m the channel is
159c0 0a 6e 6f 74 20 70 72 65 73 65 6e 74 65 64 20 74  .not presented t
159d0 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 20 49 66  o the caller. If
159e0 20 61 6e 20 6f 75 74 70 75 74 20 65 6f 66 20 63   an output eof c
159f0 68 61 72 20 69 73 20 73 65 74 2c 20 6f 6e 20 6f  har is set, on o
15a00 75 74 70 75 74 2c 20 74 68 61 74 0a 62 79 74 65  utput, that.byte
15a10 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20   is appended to 
15a20 74 68 65 20 63 68 61 6e 6e 65 6c 20 77 68 65 6e  the channel when
15a30 20 69 74 20 69 73 20 63 6c 6f 73 65 64 2e 20 4f   it is closed. O
15a40 6e 20 55 6e 69 78 20 61 6e 64 20 4d 61 63 69 6e  n Unix and Macin
15a50 74 6f 73 68 2c 0a 61 6c 6c 20 63 68 61 6e 6e 65  tosh,.all channe
15a60 6c 73 20 73 74 61 72 74 20 77 69 74 68 20 6e 6f  ls start with no
15a70 20 65 6f 66 20 63 68 61 72 20 73 65 74 20 66 6f   eof char set fo
15a80 72 20 69 6e 70 75 74 20 6f 72 20 6f 75 74 70 75  r input or outpu
15a90 74 2e 20 4f 6e 20 57 69 6e 64 6f 77 73 2c 0a 66  t. On Windows,.f
15aa0 69 6c 65 73 20 61 6e 64 20 70 69 70 65 73 20 73  iles and pipes s
15ab0 74 61 72 74 20 77 69 74 68 20 69 6e 70 75 74 20  tart with input 
15ac0 61 6e 64 20 6f 75 74 70 75 74 20 65 6f 66 20 63  and output eof c
15ad0 68 61 72 73 20 73 65 74 20 74 6f 20 43 72 6c 74  hars set to Crlt
15ae0 2d 5a 20 28 61 73 63 69 69 0a 32 36 29 2c 20 61  -Z (ascii.26), a
15af0 6e 64 20 73 6f 63 6b 65 74 73 20 73 74 61 72 74  nd sockets start
15b00 20 77 69 74 68 20 6e 6f 20 69 6e 70 75 74 20 6f   with no input o
15b10 72 20 6f 75 74 70 75 74 20 65 6f 66 20 63 68 61  r output eof cha
15b20 72 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f  r. (JL).*** INCO
15b30 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
15b40 20 54 63 6c 20 37 2e 35 62 33 2c 20 62 75 74 20   Tcl 7.5b3, but 
15b50 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 34  not with Tcl 7.4
15b60 20 2a 2a 2a 0a 0a 34 2f 31 37 2f 39 36 20 28 62   ***..4/17/96 (b
15b70 75 67 20 66 69 78 29 20 46 69 78 65 64 20 73 65  ug fix) Fixed se
15b80 72 69 65 73 20 6f 66 20 62 75 67 73 20 77 69 74  ries of bugs wit
15b90 68 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 63 72  h handling of cr
15ba0 6c 66 20 73 65 71 75 65 6e 63 65 20 73 70 6c 69  lf sequence spli
15bb0 74 0a 61 63 72 6f 73 73 20 62 75 66 66 65 72 20  t.across buffer 
15bc0 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 69 6e  boundaries in in
15bd0 70 75 74 2c 20 69 6e 20 41 55 54 4f 20 6d 6f 64  put, in AUTO mod
15be0 65 2e 20 28 4a 4c 2c 20 42 57 29 0a 0a 34 2f 31  e. (JL, BW)..4/1
15bf0 37 2f 39 36 20 28 74 65 73 74 20 73 75 69 74 65  7/96 (test suite
15c00 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 46 69   improvement) Fi
15c10 78 65 64 20 74 65 73 74 20 73 75 69 74 65 20 73  xed test suite s
15c20 6f 20 74 68 61 74 20 74 65 73 74 73 20 74 68 61  o that tests tha
15c30 74 0a 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20  t.depend on the 
15c40 61 76 61 69 6c 61 62 69 6c 69 74 79 20 6f 66 20  availability of 
15c50 55 6e 69 78 20 63 6f 6d 6d 61 6e 64 73 20 73 75  Unix commands su
15c60 63 68 20 61 73 20 65 63 68 6f 2c 20 63 61 74 20  ch as echo, cat 
15c70 61 6e 64 20 6f 74 68 65 72 73 0a 61 72 65 20 6e  and others.are n
15c80 6f 74 20 72 75 6e 20 69 66 20 74 68 65 73 65 20  ot run if these 
15c90 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6e 6f 74  commands are not
15ca0 20 70 72 65 73 65 6e 74 2e 20 28 4a 4c 29 0a 0a   present. (JL)..
15cb0 34 2f 31 37 2f 39 36 20 28 74 65 73 74 20 73 75  4/17/96 (test su
15cc0 69 74 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29  ite improvement)
15cd0 20 54 68 65 20 73 6f 63 6b 65 74 20 74 65 73 74   The socket test
15ce0 20 6e 6f 77 20 61 75 74 6f 6d 61 74 69 63 61 6c   now automatical
15cf0 6c 79 20 73 74 61 72 74 73 2c 0a 6f 6e 20 70 6c  ly starts,.on pl
15d00 61 74 66 6f 72 6d 73 74 20 74 68 61 74 20 73 75  atformst that su
15d10 70 70 6f 72 74 20 65 78 65 63 2c 20 61 20 73 65  pport exec, a se
15d20 70 61 72 61 74 65 20 70 72 6f 63 65 73 73 20 66  parate process f
15d30 6f 72 20 72 65 6d 6f 74 65 20 74 65 73 74 73 69  or remote testsi
15d40 6e 67 2e 20 28 4a 4c 29 0a 0a 2d 2d 2d 2d 2d 2d  ng. (JL)..------
15d50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
15d60 61 73 65 64 20 37 2e 35 2c 20 34 2f 32 31 2f 39  ased 7.5, 4/21/9
15d70 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6 --------------
15d80 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 31 2f 39  ---------..5/1/9
15d90 36 20 28 62 75 67 20 66 69 78 29 20 22 66 69 6c  6 (bug fix) "fil
15da0 65 20 74 61 69 6c 20 7e 22 20 64 69 64 20 6e 6f  e tail ~" did no
15db0 74 20 63 6f 72 72 65 63 74 6c 79 20 72 65 74 75  t correctly retu
15dc0 72 6e 20 74 68 65 20 74 61 69 6c 0a 70 6f 72 74  rn the tail.port
15dd0 69 6f 6e 20 6f 66 20 74 68 65 20 75 73 65 72 27  ion of the user'
15de0 73 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79  s home directory
15df0 2e 20 28 53 53 29 0a 0a 35 2f 31 2f 39 36 20 28  . (SS)..5/1/96 (
15e00 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
15e10 75 67 20 69 6e 20 54 63 6c 47 65 74 45 6e 76 20  ug in TclGetEnv 
15e20 77 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20  where it didn't 
15e30 6c 6f 6f 6b 75 70 20 65 6e 76 69 72 6f 6e 6d 65  lookup environme
15e40 6e 74 0a 76 61 72 69 61 62 6c 65 73 20 63 6f 72  nt.variables cor
15e50 72 65 63 74 6c 79 3a 20 20 63 6f 75 6c 64 20 63  rectly:  could c
15e60 6f 6e 66 75 73 65 20 22 48 22 20 61 6e 64 20 22  onfuse "H" and "
15e70 48 4f 4d 45 22 2c 20 66 6f 72 20 65 78 61 6d 70  HOME", for examp
15e80 6c 65 2e 20 20 28 4a 4f 29 0a 0a 35 2f 31 2f 39  le.  (JO)..5/1/9
15e90 36 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  6 (bug fix) Chan
15ea0 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74  ged to install t
15eb0 63 6c 43 6f 6e 66 69 67 2e 73 68 20 75 6e 64 65  clConfig.sh unde
15ec0 72 20 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d  r "make install-
15ed0 62 69 6e 61 72 69 65 73 22 2c 0a 6e 6f 74 20 22  binaries",.not "
15ee0 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 6c 69 62  make install-lib
15ef0 72 61 72 69 65 73 22 2e 20 20 28 4a 4f 29 0a 0a  raries".  (JO)..
15f00 35 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78 29  5/2/96 (bug fix)
15f10 20 43 68 61 6e 67 65 64 20 70 6b 67 5f 6d 6b 49   Changed pkg_mkI
15f20 6e 64 65 78 20 6e 6f 74 20 74 6f 20 61 74 74 65  ndex not to atte
15f30 6d 70 74 20 74 6f 20 22 6c 6f 61 64 22 20 61 20  mpt to "load" a 
15f40 66 69 6c 65 20 75 6e 6c 65 73 73 0a 69 74 20 68  file unless.it h
15f50 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20  as the standard 
15f60 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20 65  shared library e
15f70 78 74 65 6e 73 69 6f 6e 2e 20 20 4f 6e 20 53 75  xtension.  On Su
15f80 6e 4f 53 2c 20 61 74 74 65 6d 70 74 73 20 74 6f  nOS, attempts to
15f90 20 6c 6f 61 64 0a 54 63 6c 20 73 63 72 69 70 74   load.Tcl script
15fa0 73 20 63 61 75 73 65 20 74 68 65 20 77 68 6f 6c  s cause the whol
15fb0 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f  e application to
15fc0 20 62 65 20 61 62 6f 72 74 65 64 20 28 74 68 65   be aborted (the
15fd0 72 65 27 73 20 6e 6f 20 77 61 79 20 74 6f 0a 67  re's no way to.g
15fe0 65 74 20 74 68 65 20 65 72 72 6f 72 20 62 61 63  et the error bac
15ff0 6b 20 69 6e 74 6f 20 54 63 6c 29 2e 20 20 28 4a  k into Tcl).  (J
16000 4f 29 0a 0a 35 2f 37 2f 39 36 20 28 62 75 67 20  O)..5/7/96 (bug 
16010 66 69 78 29 20 4d 6f 76 65 64 20 69 6e 69 74 53  fix) Moved initS
16020 63 72 69 70 74 20 69 6e 20 74 63 6c 55 6e 69 78  cript in tclUnix
16030 49 6e 69 74 2e 63 20 74 6f 20 77 72 69 74 61 62  Init.c to writab
16040 6c 65 20 6d 65 6d 6f 72 79 20 74 6f 0a 61 76 6f  le memory to.avo
16050 69 64 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f 72  id potential cor
16060 65 20 64 75 6d 70 73 2e 20 28 4a 4f 29 0a 0a 35  e dumps. (JO)..5
16070 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /7/96 (bug fix) 
16080 41 75 74 6f 5f 72 65 73 65 74 20 70 72 6f 63 65  Auto_reset proce
16090 64 75 72 65 20 77 61 73 20 72 65 6d 6f 76 69 6e  dure was removin
160a0 67 20 70 72 6f 63 65 64 75 72 65 20 66 72 6f 6d  g procedure from
160b0 20 69 6e 69 74 2e 74 63 6c 2c 0a 73 75 63 68 20   init.tcl,.such 
160c0 61 73 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 2e 20  as pkg_mkIndex. 
160d0 20 28 4a 4f 29 0a 0a 35 2f 37 2f 39 36 20 28 62   (JO)..5/7/96 (b
160e0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63 61  ug fix) Fixed ca
160f0 73 74 20 6f 6e 20 73 6f 63 6b 65 74 20 61 64 64  st on socket add
16100 72 65 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e 20  ress resolution 
16110 63 6f 64 65 20 74 68 61 74 0a 77 6f 75 6c 64 20  code that.would 
16120 63 61 75 73 65 20 61 20 66 61 69 6c 75 72 65 20  cause a failure 
16130 74 6f 20 63 6f 6e 6e 65 63 74 20 6f 6e 20 44 65  to connect on De
16140 63 20 41 6c 70 68 61 73 2e 20 28 4a 4c 29 0a 0a  c Alphas. (JL)..
16150 35 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  5/7/96 (bug fix)
16160 20 41 64 64 65 64 20 22 74 69 6d 65 22 2c 20 22   Added "time", "
16170 73 75 62 73 74 22 20 61 6e 64 20 22 66 69 6c 65  subst" and "file
16180 65 76 65 6e 74 22 20 63 6f 6d 6d 61 6e 64 73 20  event" commands 
16190 74 6f 20 73 65 74 20 6f 66 0a 63 6f 6d 6d 61 6e  to set of.comman
161a0 64 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20  ds available in 
161b0 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74  a safe interpret
161c0 65 72 2e 20 28 4a 4c 29 0a 0a 35 2f 31 33 2f 39  er. (JL)..5/13/9
161d0 36 20 28 62 75 67 20 66 69 78 29 20 50 72 65 76  6 (bug fix) Prev
161e0 65 6e 74 69 6e 67 20 4f 53 20 6c 65 76 65 6c 20  enting OS level 
161f0 68 61 6e 64 6c 65 73 20 66 6f 72 20 73 74 64 69  handles for stdi
16200 6e 2c 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74  n, stdout and st
16210 64 65 72 72 0a 66 72 6f 6d 20 62 65 69 6e 67 20  derr.from being 
16220 69 6d 70 6c 69 63 69 74 6c 79 20 63 6c 6f 73 65  implicitly close
16230 64 20 77 68 65 6e 20 74 68 65 20 6c 61 73 74 20  d when the last 
16240 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65  reference to the
16250 20 73 74 61 6e 64 61 72 64 0a 63 68 61 6e 6e 65   standard.channe
16260 6c 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 61  l containing tha
16270 74 20 68 61 6e 64 6c 65 20 69 73 20 64 69 73 63  t handle is disc
16280 61 72 64 65 64 20 77 68 65 6e 20 61 6e 20 69 6e  arded when an in
16290 74 65 72 70 72 65 74 65 72 20 69 73 20 64 65 6c  terpreter is del
162a0 65 74 65 64 2e 0a 45 78 70 6c 69 63 69 74 6c 79  eted..Explicitly
162b0 20 63 6c 6f 73 69 6e 67 20 73 74 61 6e 64 61 72   closing standar
162c0 64 20 63 68 61 6e 6e 65 6c 73 20 62 79 20 75 73  d channels by us
162d0 69 6e 67 20 22 63 6c 6f 73 65 22 20 73 74 69 6c  ing "close" stil
162e0 6c 20 77 6f 72 6b 73 2e 20 28 4a 4c 29 0a 0a 35  l works. (JL)..5
162f0 2f 32 31 2f 39 36 20 28 62 75 67 20 66 69 78 29  /21/96 (bug fix)
16300 20 44 6f 20 6e 6f 74 20 63 72 65 61 74 65 20 63   Do not create c
16310 68 61 6e 6e 65 6c 73 20 66 6f 72 20 73 74 64 69  hannels for stdi
16320 6e 2c 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74  n, stdout and st
16330 64 65 72 72 20 6f 6e 0a 55 6e 69 78 20 69 66 20  derr on.Unix if 
16340 74 68 65 20 64 65 76 69 63 65 73 20 61 72 65 20  the devices are 
16350 63 6c 6f 73 65 64 2e 20 54 68 69 73 20 70 72 65  closed. This pre
16360 76 65 6e 74 73 20 61 20 64 75 70 6c 69 63 61 74  vents a duplicat
16370 65 20 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 0a 70  e channel name.p
16380 61 6e 69 63 20 6c 61 74 65 72 20 6f 6e 20 77 68  anic later on wh
16390 65 6e 20 74 68 65 20 66 64 20 69 73 20 75 73 65  en the fd is use
163a0 64 20 74 6f 20 6f 70 65 6e 20 61 20 63 68 61 6e  d to open a chan
163b0 6e 65 6c 20 61 6e 64 20 74 68 65 20 63 68 61 6e  nel and the chan
163c0 6e 65 6c 20 69 73 0a 72 65 67 69 73 74 65 72 65  nel is.registere
163d0 64 20 69 6e 20 61 6e 20 69 6e 74 65 72 70 72 65  d in an interpre
163e0 74 65 72 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f  ter. (JL)..5/23/
163f0 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
16400 65 64 20 62 75 67 20 74 68 61 74 20 70 72 65 76  ed bug that prev
16410 65 6e 74 65 64 20 74 68 65 20 75 73 65 20 6f 66  ented the use of
16420 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65   standard channe
16430 6c 73 20 69 6e 0a 69 6e 74 65 72 70 72 65 74 65  ls in.interprete
16440 72 73 20 63 72 65 61 74 65 64 20 61 66 74 65 72  rs created after
16450 20 74 68 65 20 6c 61 73 74 20 69 6e 74 65 72 70   the last interp
16460 72 65 74 65 72 20 77 61 73 20 64 65 73 74 72 6f  reter was destro
16470 79 65 64 2e 20 49 6e 20 74 68 65 20 73 65 71 75  yed. In the sequ
16480 65 6e 63 65 0a 0a 09 69 6e 74 65 72 70 20 3d 20  ence...interp = 
16490 54 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70  Tcl_CreateInterp
164a0 28 29 3b 0a 09 54 63 6c 5f 44 65 6c 65 74 65 49  ();..Tcl_DeleteI
164b0 6e 74 65 72 70 28 69 6e 74 65 72 70 29 3b 0a 09  nterp(interp);..
164c0 69 6e 74 65 72 70 20 3d 20 54 63 6c 5f 43 72 65  interp = Tcl_Cre
164d0 61 74 65 49 6e 74 65 72 70 28 29 3b 0a 0a 63 68  ateInterp();..ch
164e0 61 6e 6e 65 6c 73 20 66 6f 72 20 73 74 64 69 6f  annels for stdio
164f0 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 76   would not be av
16500 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 73  ailable in the s
16510 65 63 6f 6e 64 20 69 6e 74 65 72 70 72 65 74 65  econd interprete
16520 72 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f 39 36  r. (JL)..5/23/96
16530 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
16540 20 62 75 67 20 74 68 61 74 20 61 6c 6c 6f 77 65   bug that allowe
16550 64 20 54 63 6c 5f 4d 61 6b 65 46 69 6c 65 43 68  d Tcl_MakeFileCh
16560 61 6e 6e 65 6c 20 74 6f 20 63 72 65 61 74 65 20  annel to create 
16570 6e 65 77 0a 63 68 61 6e 6e 65 6c 73 20 77 69 74  new.channels wit
16580 68 20 54 63 6c 5f 46 69 6c 65 73 20 69 6e 20 74  h Tcl_Files in t
16590 68 65 6d 20 74 68 61 74 20 61 72 65 20 61 6c 72  hem that are alr
165a0 65 61 64 79 20 75 73 65 64 20 62 79 20 61 6e 6f  eady used by ano
165b0 74 68 65 72 20 63 68 61 6e 6e 65 6c 2e 0a 54 68  ther channel..Th
165c0 69 73 20 77 6f 75 6c 64 20 63 61 75 73 65 20 63  is would cause c
165d0 6f 72 65 20 64 75 6d 70 73 20 77 68 65 6e 20 74  ore dumps when t
165e0 68 65 20 54 63 6c 5f 46 69 6c 65 73 20 77 65 72  he Tcl_Files wer
165f0 65 20 62 65 69 6e 67 20 66 72 65 65 64 20 74 77  e being freed tw
16600 69 63 65 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f  ice. (JL)..5/23/
16610 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
16620 65 64 20 61 20 6c 6f 67 69 63 61 6c 20 74 69 6d  ed a logical tim
16630 69 6e 67 20 62 75 67 20 74 68 61 74 20 63 61 75  ing bug that cau
16640 73 65 64 20 61 20 73 74 61 6e 64 61 72 64 20 63  sed a standard c
16650 68 61 6e 6e 65 6c 0a 74 6f 20 62 65 20 72 65 6d  hannel.to be rem
16660 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74  oved from the st
16670 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 20 74  andard channel t
16680 61 62 6c 65 20 74 6f 6f 20 65 61 72 6c 79 20 77  able too early w
16690 68 65 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c 0a  hen the channel.
166a0 77 61 73 20 62 65 69 6e 67 20 63 6c 6f 73 65 64  was being closed
166b0 2e 20 49 66 20 74 68 65 20 63 68 61 6e 6e 65 6c  . If the channel
166c0 20 77 61 73 20 62 65 69 6e 67 20 66 6c 75 73 68   was being flush
166d0 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c  ed asynchronousl
166e0 79 2c 20 69 74 20 63 6f 75 6c 64 0a 67 65 74 20  y, it could.get 
166f0 72 65 63 72 65 61 74 65 64 20 62 65 66 6f 72 65  recreated before
16700 20 62 65 69 6e 67 20 61 63 74 75 61 6c 6c 79 20   being actually 
16710 64 65 73 74 72 6f 79 65 64 2c 20 61 6e 64 20 74  destroyed, and t
16720 68 65 20 72 65 63 72 65 61 74 65 64 20 63 68 61  he recreated cha
16730 6e 6e 65 6c 0a 77 6f 75 6c 64 20 63 6f 6e 74 61  nnel.would conta
16740 69 6e 20 74 68 65 20 73 61 6d 65 20 54 63 6c 5f  in the same Tcl_
16750 46 69 6c 65 20 61 73 20 74 68 65 20 6f 6e 65 20  File as the one 
16760 62 65 69 6e 67 20 63 6c 6f 73 65 64 2c 20 6c 65  being closed, le
16770 61 64 69 6e 67 20 74 6f 0a 64 61 6e 67 6c 69 6e  ading to.danglin
16780 67 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 63  g pointers and c
16790 6f 72 65 20 64 75 6d 70 73 2e 20 28 4a 4c 29 0a  ore dumps. (JL).
167a0 0a 35 2f 32 37 2f 39 36 20 28 62 75 67 20 66 69  .5/27/96 (bug fi
167b0 78 29 20 46 69 78 65 64 20 61 20 62 75 67 20 69  x) Fixed a bug i
167c0 6e 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c  n Tcl_GetChannel
167d0 4f 70 74 69 6f 6e 20 77 68 69 63 68 20 63 61 75  Option which cau
167e0 73 65 64 20 69 74 20 74 6f 0a 61 6c 77 61 79 73  sed it to.always
167f0 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f   return a list o
16800 66 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 2c 20 61  f one element, a
16810 20 6c 69 73 74 20 6f 66 20 74 68 65 20 73 65 74   list of the set
16820 74 69 6e 67 73 2c 20 66 6f 72 0a 2d 74 72 61 6e  tings, for.-tran
16830 73 6c 61 74 69 6f 6e 20 61 6e 64 20 2d 65 6f 66  slation and -eof
16840 63 68 61 72 20 6f 70 74 69 6f 6e 73 2e 20 4e 6f  char options. No
16850 77 20 63 6f 72 72 65 63 74 6c 79 20 72 65 74 75  w correctly retu
16860 72 6e 73 20 74 68 65 20 76 61 6c 75 65 0a 64 65  rns the value.de
16870 73 63 72 69 62 65 64 20 62 79 20 74 68 65 20 64  scribed by the d
16880 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 28 4d 61  ocumentation (Ma
16890 72 6b 20 44 69 65 6b 68 61 6e 73 20 66 6f 75 6e  rk Diekhans foun
168a0 64 20 74 68 69 73 2c 20 74 68 61 6e 6b 73 21 29  d this, thanks!)
168b0 2e 20 28 4a 4c 29 0a 0a 35 2f 33 30 2f 39 36 20  . (JL)..5/30/96 
168c0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
168d0 61 20 63 6f 75 70 6c 65 20 6f 66 20 73 79 6e 74  a couple of synt
168e0 61 78 20 65 72 72 6f 72 73 20 69 6e 20 69 6f 2e  ax errors in io.
168f0 74 65 73 74 2e 20 28 4a 4c 29 0a 0a 35 2f 33 30  test. (JL)..5/30
16900 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 49 66  /96 (bug fix) If
16910 20 61 20 66 69 6c 65 65 76 65 6e 74 20 73 63 72   a fileevent scr
16920 69 70 74 73 20 67 65 74 73 20 61 6e 20 65 72 72  ipts gets an err
16930 6f 72 2c 20 64 65 6c 65 74 65 20 69 74 20 62 65  or, delete it be
16940 66 6f 72 65 0a 63 61 75 73 69 6e 67 20 61 20 62  fore.causing a b
16950 61 63 6b 67 72 6f 75 6e 64 20 65 72 72 6f 72 2e  ackground error.
16960 20 54 68 69 73 20 69 73 20 74 6f 20 61 6c 6c 6f   This is to allo
16970 77 20 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64  w the error hand
16980 6c 65 72 20 74 6f 20 72 65 69 6e 73 74 61 6c 6c  ler to reinstall
16990 0a 74 68 65 20 66 69 6c 65 65 76 65 6e 74 20 61  .the fileevent a
169a0 6e 64 20 74 6f 20 70 72 65 76 65 6e 74 20 69 6e  nd to prevent in
169b0 66 69 6e 69 74 65 20 6c 6f 6f 70 73 20 69 66 20  finite loops if 
169c0 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 69  the event loop i
169d0 73 20 72 65 65 6e 74 65 72 65 64 0a 69 6e 20 74  s reentered.in t
169e0 68 65 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72  he error handler
169f0 2e 20 28 4a 4c 29 0a 0a 35 2f 33 31 2f 39 36 20  . (JL)..5/31/96 
16a00 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 6e 65  (bug fix) Channe
16a10 6c 73 20 6e 6f 77 20 77 69 6c 6c 20 67 65 74 20  ls now will get 
16a20 70 72 6f 70 65 72 6c 79 20 66 6c 75 73 68 65 64  properly flushed
16a30 20 6f 6e 20 65 78 69 74 2e 20 28 4a 4c 29 0a 0a   on exit. (JL)..
16a40 36 2f 35 2f 39 36 20 28 62 75 67 20 66 69 78 29  6/5/96 (bug fix)
16a50 20 43 68 61 6e 67 65 64 20 54 63 6c 5f 43 6b 61   Changed Tcl_Cka
16a60 6c 6c 6f 63 2c 20 54 63 6c 5f 43 6b 66 72 65 65  lloc, Tcl_Ckfree
16a70 2c 20 61 6e 64 20 54 63 6c 5f 43 6b 72 65 61 6c  , and Tcl_Ckreal
16a80 6c 6f 63 20 74 6f 0a 54 63 6c 5f 41 6c 6c 6f 63  loc to.Tcl_Alloc
16a90 2c 20 54 63 6c 5f 46 72 65 65 2c 20 61 6e 64 20  , Tcl_Free, and 
16aa0 54 63 6c 5f 52 65 61 6c 6c 6f 63 2e 20 20 41 64  Tcl_Realloc.  Ad
16ab0 64 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ded documentatio
16ac0 6e 20 66 6f 72 20 74 68 65 73 65 0a 72 6f 75 74  n for these.rout
16ad0 69 6e 65 73 20 6e 6f 77 20 74 68 61 74 20 74 68  ines now that th
16ae0 65 79 20 61 72 65 20 6f 66 66 69 63 69 61 6c 6c  ey are officiall
16af0 79 20 73 75 70 70 6f 72 74 65 64 2e 20 20 45 78  y supported.  Ex
16b00 74 65 6e 73 69 6f 6e 20 77 72 69 74 65 72 73 0a  tension writers.
16b10 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 73 65  should use these
16b20 20 72 6f 75 74 69 6e 65 73 20 69 6e 73 74 65 61   routines instea
16b30 64 20 6f 66 20 66 72 65 65 28 29 20 61 6e 64 20  d of free() and 
16b40 6d 61 6c 6c 6f 63 28 29 2e 20 28 53 53 29 0a 0a  malloc(). (SS)..
16b50 36 2f 31 30 2f 39 36 20 28 62 75 67 20 66 69 78  6/10/96 (bug fix
16b60 29 20 43 68 61 6e 67 65 73 20 74 68 65 20 54 63  ) Changes the Tc
16b70 6c 20 63 6c 6f 73 65 20 63 6f 6d 6d 61 6e 64 20  l close command 
16b80 73 6f 20 74 68 61 74 20 69 74 20 6e 6f 20 6c 6f  so that it no lo
16b90 6e 67 65 72 0a 77 61 69 74 73 20 6f 6e 20 6e 6f  nger.waits on no
16ba0 6e 62 6c 6f 63 6b 69 6e 67 20 70 69 70 65 73 20  nblocking pipes 
16bb0 66 6f 72 20 74 68 65 20 70 69 70 65 64 20 70 72  for the piped pr
16bc0 6f 63 65 73 73 65 73 20 74 6f 20 65 78 69 74 3b  ocesses to exit;
16bd0 20 69 6e 73 74 65 61 64 20 69 74 0a 72 65 61 70   instead it.reap
16be0 73 20 74 68 65 6d 20 69 6e 20 74 68 65 20 62 61  s them in the ba
16bf0 63 6b 67 72 6f 75 6e 64 2e 20 28 4a 4c 29 0a 0a  ckground. (JL)..
16c00 36 2f 31 31 2f 39 36 20 28 62 75 67 20 66 69 78  6/11/96 (bug fix
16c10 29 20 49 6e 63 72 65 61 73 65 64 20 74 68 65 20  ) Increased the 
16c20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69  length of the li
16c30 73 74 65 6e 20 71 75 65 75 65 20 66 6f 72 20 73  sten queue for s
16c40 65 72 76 65 72 0a 73 6f 63 6b 65 74 73 20 6f 6e  erver.sockets on
16c50 20 55 6e 69 78 20 66 72 6f 6d 20 35 20 74 6f 20   Unix from 5 to 
16c60 31 30 30 2e 20 53 6f 6d 65 20 4f 53 65 73 20 77  100. Some OSes w
16c70 69 6c 6c 20 64 69 73 72 65 67 61 72 64 20 74 68  ill disregard th
16c80 69 73 20 61 6e 64 20 72 65 73 65 74 20 69 74 0a  is and reset it.
16c90 74 6f 20 35 2c 20 62 75 74 20 77 65 20 73 68 6f  to 5, but we sho
16ca0 75 6c 64 20 74 72 79 20 74 6f 20 67 65 74 20 61  uld try to get a
16cb0 73 20 6c 6f 6e 67 20 61 20 71 75 65 75 65 20 61  s long a queue a
16cc0 73 20 77 65 20 63 61 6e 2c 20 66 6f 72 20 70 65  s we can, for pe
16cd0 72 66 6f 72 6d 61 6e 63 65 0a 72 65 61 73 6f 6e  rformance.reason
16ce0 73 2e 20 28 4a 4c 29 0a 0a 36 2f 31 31 2f 39 36  s. (JL)..6/11/96
16cf0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
16d00 20 77 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73   windows sockets
16d10 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65 64   bug that caused
16d20 20 61 20 63 61 73 63 61 64 65 20 6f 66 20 65 76   a cascade of ev
16d30 65 6e 74 73 0a 69 66 20 74 68 65 20 66 69 6c 65  ents.if the file
16d40 65 76 65 6e 74 20 73 63 72 69 70 74 20 72 65 61  event script rea
16d50 64 20 6c 65 73 73 20 74 68 61 6e 20 77 61 73 20  d less than was 
16d60 61 76 61 69 6c 61 62 6c 65 2e 20 4e 6f 77 20 72  available. Now r
16d70 65 61 64 69 6e 67 20 6c 65 73 73 20 74 68 61 6e  eading less than
16d80 0a 69 73 20 61 76 61 69 6c 61 62 6c 65 20 64 6f  .is available do
16d90 65 73 20 6e 6f 74 20 63 61 75 73 65 20 61 20 66  es not cause a f
16da0 6c 6f 6f 64 20 6f 66 20 54 63 6c 20 65 76 65 6e  lood of Tcl even
16db0 74 73 2e 20 28 4a 4c 2c 20 53 53 29 0a 0a 36 2f  ts. (JL, SS)..6/
16dc0 31 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  11/96 (bug fix) 
16dd0 46 69 78 65 64 20 62 75 67 20 69 6e 20 62 61 63  Fixed bug in bac
16de0 6b 67 72 6f 75 6e 64 20 66 6c 75 73 68 69 6e 67  kground flushing
16df0 20 6f 6e 20 63 6c 6f 73 65 64 20 63 68 61 6e 6e   on closed chann
16e00 65 6c 73 20 74 68 61 74 0a 77 6f 75 6c 64 20 70  els that.would p
16e10 72 65 76 65 6e 74 20 74 68 65 20 6c 61 73 74 20  revent the last 
16e20 62 75 66 66 65 72 20 66 72 6f 6d 20 67 65 74 74  buffer from gett
16e30 69 6e 67 20 66 6c 75 73 68 65 64 2e 20 28 4a 4c  ing flushed. (JL
16e40 29 0a 0a 36 2f 31 33 2f 39 36 20 28 62 75 67 20  )..6/13/96 (bug 
16e50 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69  fix) Fixed bug i
16e60 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74  n Windows socket
16e70 73 20 74 68 61 74 20 63 61 75 73 65 64 20 61 20  s that caused a 
16e80 63 6f 72 65 20 64 75 6d 70 20 69 66 0a 61 20 44  core dump if.a D
16e90 4c 4c 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74  LL linked with t
16ea0 63 6c 2e 64 6c 6c 20 61 6e 64 20 72 65 66 65 72  cl.dll and refer
16eb0 72 65 64 20 74 6f 20 65 2e 67 2e 20 6e 74 6f 68  red to e.g. ntoh
16ec0 73 28 29 20 77 69 74 68 6f 75 74 20 6f 70 65 6e  s() without open
16ed0 69 6e 67 20 61 0a 54 63 6c 20 73 6f 63 6b 65 74  ing a.Tcl socket
16ee0 2e 20 54 68 65 20 70 72 6f 62 6c 65 6d 20 77 61  . The problem wa
16ef0 73 20 74 68 61 74 20 74 68 65 20 69 6e 64 69 72  s that the indir
16f00 65 63 74 69 6f 6e 20 74 61 62 6c 65 20 77 61 73  ection table was
16f10 20 6e 6f 74 20 62 65 69 6e 67 0a 69 6e 69 74 69   not being.initi
16f20 61 6c 69 7a 65 64 2e 20 28 4a 4c 29 0a 0a 36 2f  alized. (JL)..6/
16f30 31 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  13/96 (bug fix) 
16f40 46 69 78 65 64 20 4f 53 20 6c 65 76 65 6c 20 72  Fixed OS level r
16f50 65 73 6f 75 72 63 65 20 6c 65 61 6b 20 74 68 61  esource leak tha
16f60 74 20 77 6f 75 6c 64 20 6f 63 63 75 72 20 77 68  t would occur wh
16f70 65 6e 20 61 0a 54 63 6c 20 63 68 61 6e 6e 65 6c  en a.Tcl channel
16f80 20 77 61 73 20 73 74 69 6c 6c 20 72 65 67 69 73   was still regis
16f90 74 65 72 65 64 20 69 6e 20 73 6f 6d 65 20 69 6e  tered in some in
16fa0 74 65 72 70 72 65 74 65 72 20 77 68 65 6e 20 74  terpreter when t
16fb0 68 65 20 70 72 6f 63 65 73 73 0a 65 78 69 74 73  he process.exits
16fc0 2e 20 50 72 65 76 69 6f 75 73 6c 79 20 74 68 65  . Previously the
16fd0 20 63 68 61 6e 6e 65 6c 20 77 61 73 20 6e 6f 74   channel was not
16fe0 20 62 65 69 6e 67 20 63 6c 6f 73 65 64 20 61 6e   being closed an
16ff0 64 20 74 68 65 20 4f 53 20 6c 65 76 65 6c 20 68  d the OS level h
17000 61 6e 64 6c 65 73 0a 77 65 72 65 20 6e 6f 74 20  andles.were not 
17010 62 65 69 6e 67 20 72 65 6c 65 61 73 65 64 3b 20  being released; 
17020 74 68 65 20 6f 75 74 70 75 74 20 77 61 73 20 62  the output was b
17030 65 69 6e 67 20 66 6c 75 73 68 65 64 20 62 75 74  eing flushed but
17040 20 74 68 65 20 64 65 76 69 63 65 20 77 61 73 0a   the device was.
17050 6e 6f 74 20 62 65 69 6e 67 20 63 6c 6f 73 65 64  not being closed
17060 2e 20 4e 6f 77 20 74 68 65 20 64 65 76 69 63 65  . Now the device
17070 20 69 73 20 70 72 6f 70 65 72 6c 79 20 63 6c 6f   is properly clo
17080 73 65 64 2e 20 54 68 69 73 20 77 61 73 20 6f 6e  sed. This was on
17090 6c 79 20 61 0a 70 72 6f 62 6c 65 6d 20 6f 6e 20  ly a.problem on 
170a0 57 69 6e 33 2e 31 20 61 6e 64 20 4d 61 63 4f 53  Win3.1 and MacOS
170b0 2e 20 28 4a 4c 2c 20 53 53 29 0a 0a 36 2f 32 38  . (JL, SS)..6/28
170c0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
170d0 78 65 64 20 62 75 67 20 77 68 65 72 65 20 74 72  xed bug where tr
170e0 61 6e 73 69 65 6e 74 20 65 72 72 6f 72 73 20 77  ansient errors w
170f0 65 72 65 20 6c 65 61 76 69 6e 67 20 61 6e 20 65  ere leaving an e
17100 72 72 6f 72 0a 63 6f 64 65 20 61 72 6f 75 6e 64  rror.code around
17110 2c 20 73 6f 20 74 68 61 74 20 69 74 20 77 6f 75  , so that it wou
17120 6c 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 67  ld erroneously g
17130 65 74 20 72 65 70 6f 72 74 65 64 20 6c 61 74 65  et reported late
17140 72 2e 20 54 68 69 73 20 62 75 67 20 77 61 73 0a  r. This bug was.
17150 65 78 65 72 63 69 73 65 64 20 69 6e 74 65 72 6d  exercised interm
17160 69 74 74 65 6e 74 6c 79 20 62 79 20 63 6c 6f 73  ittently by clos
17170 69 6e 67 20 61 20 63 68 61 6e 6e 65 6c 20 74 6f  ing a channel to
17180 20 61 20 66 69 6c 65 20 6f 6e 20 61 20 76 65 72   a file on a ver
17190 79 20 6c 6f 61 64 65 64 0a 4e 46 53 20 73 65 72  y loaded.NFS ser
171a0 76 65 72 2c 20 6f 72 20 74 6f 20 61 20 73 6f 63  ver, or to a soc
171b0 6b 65 74 20 77 68 6f 73 65 20 6f 74 68 65 72 20  ket whose other 
171c0 65 6e 64 20 62 6c 6f 63 6b 65 64 2e 20 28 4a 4c  end blocked. (JL
171d0 2c 20 42 57 29 0a 0a 37 2f 33 2f 39 36 20 28 62  , BW)..7/3/96 (b
171e0 75 67 20 66 69 78 29 20 46 69 6c 65 65 76 65 6e  ug fix) Fileeven
171f0 74 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61  ts declared in a
17200 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 61 72  n interpreter ar
17210 65 20 6e 6f 77 20 64 65 6c 65 74 65 64 0a 77 68  e now deleted.wh
17220 65 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69  en the channel i
17230 73 20 63 6c 6f 73 65 64 20 69 6e 20 74 68 61 74  s closed in that
17240 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 42 65   interpreter. Be
17250 66 6f 72 65 20 74 68 69 73 20 66 69 78 2c 20 74  fore this fix, t
17260 68 65 0a 66 69 6c 65 65 76 65 6e 74 20 77 6f 75  he.fileevent wou
17270 6c 64 20 68 61 6e 67 20 61 72 6f 75 6e 64 20 75  ld hang around u
17280 6e 74 69 6c 20 74 68 65 20 63 68 61 6e 6e 65 6c  ntil the channel
17290 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63   is completely c
172a0 6c 6f 73 65 64 2c 20 61 6e 64 0a 77 6f 75 6c 64  losed, and.would
172b0 20 63 61 75 73 65 20 65 72 72 6f 72 73 20 69 66   cause errors if
172c0 20 65 76 65 6e 74 73 20 68 61 70 70 65 6e 65 64   events happened
172d0 20 62 65 66 6f 72 65 20 74 68 65 20 63 68 61 6e   before the chan
172e0 6e 65 6c 20 77 61 73 20 63 6c 6f 73 65 64 2e 20  nel was closed. 
172f0 54 68 69 73 0a 63 6f 75 6c 64 20 68 61 70 70 65  This.could happe
17300 6e 20 69 6e 20 74 77 6f 20 63 61 73 65 73 3a 20  n in two cases: 
17310 66 69 72 73 74 20 69 66 20 74 68 65 20 63 68 61  first if the cha
17320 6e 6e 65 6c 20 69 73 20 73 68 61 72 65 64 20 62  nnel is shared b
17330 65 74 77 65 65 6e 20 73 65 76 65 72 61 6c 0a 69  etween several.i
17340 6e 74 65 72 70 72 65 74 65 72 73 2c 20 61 6e 64  nterpreters, and
17350 20 73 65 63 6f 6e 64 20 69 66 20 61 6e 20 61 73   second if an as
17360 79 6e 63 20 66 6c 75 73 68 20 69 73 20 69 6e 20  ync flush is in 
17370 70 72 6f 67 72 65 73 73 20 74 68 61 74 20 70 72  progress that pr
17380 65 76 65 6e 74 73 20 74 68 65 0a 63 68 61 6e 6e  events the.chann
17390 65 6c 20 66 72 6f 6d 20 62 65 69 6e 67 20 63 6c  el from being cl
173a0 6f 73 65 64 20 75 6e 74 69 6c 20 74 68 65 20 66  osed until the f
173b0 6c 75 73 68 20 66 69 6e 69 73 68 65 73 2e 20 28  lush finishes. (
173c0 4a 4c 29 0a 0a 37 2f 31 30 2f 39 36 20 28 62 75  JL)..7/10/96 (bu
173d0 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
173e0 73 20 69 6e 20 62 6f 74 68 20 22 6c 72 61 6e 67  s in both "lrang
173f0 65 22 20 61 6e 64 20 22 6c 72 65 70 6c 61 63 65  e" and "lreplace
17400 22 20 63 6f 6d 6d 61 6e 64 73 0a 77 68 65 72 65  " commands.where
17410 20 74 6f 6f 20 6d 75 63 68 20 77 68 69 74 65 20   too much white 
17420 73 70 61 63 65 20 77 61 73 20 62 65 69 6e 67 20  space was being 
17430 72 65 6d 6f 76 65 64 2e 20 46 6f 72 20 65 78 61  removed. For exa
17440 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e  mple, the comman
17450 64 0a 09 09 6c 72 65 70 6c 61 63 65 20 7b 5c 7d  d...lreplace {\}
17460 5c 20 20 20 20 20 68 65 6c 6c 6f 7d 20 65 6e 64  \     hello} end
17470 20 65 6e 64 0a 77 61 73 20 72 65 74 75 72 6e 69   end.was returni
17480 6e 67 20 22 5c 7d 5c 22 2c 20 6c 6f 73 69 6e 67  ng "\}\", losing
17490 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74   the significant
174a0 20 73 70 61 63 65 20 69 6e 20 74 68 65 20 66 69   space in the fi
174b0 72 73 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74  rst list.element
174c0 20 61 6e 64 20 63 6f 72 72 75 70 74 69 6e 67 20   and corrupting 
174d0 74 68 65 20 6c 69 73 74 2e 20 28 4a 4f 29 0a 0a  the list. (JO)..
174e0 37 2f 32 30 2f 39 36 20 28 62 75 67 20 66 69 78  7/20/96 (bug fix
174f0 29 20 54 68 65 20 70 72 6f 63 65 64 75 72 65 20  ) The procedure 
17500 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 64 69 64 6e  pkg_mkIndex didn
17510 27 74 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c 79  't work properly
17520 20 66 6f 72 0a 65 78 74 65 6e 73 69 6f 6e 73 20   for.extensions 
17530 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 20 54  that depend on T
17540 6b 2c 20 62 65 63 61 75 73 65 20 69 74 20 64 69  k, because it di
17550 64 6e 27 74 20 6c 6f 61 64 20 54 6b 20 69 6e 74  dn't load Tk int
17560 6f 20 74 68 65 20 63 68 69 6c 64 0a 69 6e 74 65  o the child.inte
17570 72 70 72 65 74 65 72 20 62 65 66 6f 72 65 20 6c  rpreter before l
17580 6f 61 64 69 6e 67 20 74 68 65 20 65 78 74 65 6e  oading the exten
17590 73 69 6f 6e 2e 20 20 4e 6f 77 20 69 74 20 6c 6f  sion.  Now it lo
175a0 61 64 73 20 54 6b 20 69 66 20 54 6b 20 69 73 0a  ads Tk if Tk is.
175b0 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 70  present in the p
175c0 61 72 65 6e 74 2e 20 28 4a 4f 29 0a 0a 37 2f 32  arent. (JO)..7/2
175d0 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 41  3/96 (bug fix) A
175e0 64 64 65 64 20 63 6f 6d 70 61 74 20 76 65 72 73  dded compat vers
175f0 69 6f 6e 20 6f 66 20 73 74 72 66 74 69 6d 65 20  ion of strftime 
17600 74 6f 20 66 69 78 20 63 72 61 73 68 65 73 0a 72  to fix crashes.r
17610 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 62 61  esulting from ba
17620 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  d implementation
17630 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e  s under Windows.
17640 20 28 53 53 29 0a 0a 37 2f 32 33 2f 39 36 20 28   (SS)..7/23/96 (
17650 62 75 67 20 66 69 78 29 20 53 74 61 6e 64 61 72  bug fix) Standar
17660 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  d implementation
17670 73 20 6f 66 20 67 6d 74 69 6d 65 28 29 20 61 6e  s of gmtime() an
17680 64 20 6c 6f 63 61 6c 74 69 6d 65 28 29 0a 75 6e  d localtime().un
17690 64 65 72 20 57 69 6e 64 6f 77 73 20 64 69 64 20  der Windows did 
176a0 6e 6f 74 20 68 61 6e 64 6c 65 20 64 61 74 65 73  not handle dates
176b0 20 62 65 66 6f 72 65 20 31 39 37 30 2c 20 73 6f   before 1970, so
176c0 20 74 68 65 79 20 77 65 72 65 20 72 65 70 6c 61   they were repla
176d0 63 65 64 0a 77 69 74 68 20 61 20 72 65 76 69 73  ced.with a revis
176e0 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ed implementatio
176f0 6e 2e 20 28 53 53 29 0a 0a 37 2f 32 33 2f 39 36  n. (SS)..7/23/96
17700 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 20 77   (bug fix) Tcl w
17710 6f 75 6c 64 20 63 72 61 73 68 20 6f 6e 20 65 78  ould crash on ex
17720 69 74 20 75 6e 64 65 72 20 42 6f 72 6c 61 6e 64  it under Borland
17730 20 35 2e 30 20 62 65 63 61 75 73 65 0a 74 68 65   5.0 because.the
17740 20 67 6c 6f 62 61 6c 20 65 6e 76 69 72 6f 6e 20   global environ 
17750 70 6f 69 6e 74 65 72 20 77 61 73 20 6c 65 66 74  pointer was left
17760 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 66 72 65   pointing to fre
17770 65 64 20 6d 65 6d 6f 72 79 2e 20 28 53 53 29 0a  ed memory. (SS).
17780 0a 37 2f 32 39 2f 39 36 20 28 62 75 67 20 66 69  .7/29/96 (bug fi
17790 78 29 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20  x) Fixed memory 
177a0 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 4c 6f 61 64  leak in Tcl_Load
177b0 43 6d 64 20 74 68 61 74 20 63 6f 75 6c 64 20 6f  Cmd that could o
177c0 63 63 75 72 20 69 66 0a 61 20 70 61 63 6b 61 67  ccur if.a packag
177d0 65 27 73 20 41 70 70 49 6e 69 74 20 70 72 6f 63  e's AppInit proc
177e0 65 64 75 72 65 20 63 61 6c 6c 65 64 20 54 63 6c  edure called Tcl
177f0 5f 53 74 61 74 69 63 50 61 63 6b 61 67 65 20 74  _StaticPackage t
17800 6f 20 72 65 67 69 73 74 65 72 0a 73 74 61 74 69  o register.stati
17810 63 20 70 61 63 6b 61 67 65 73 2e 20 28 4a 4f 29  c packages. (JO)
17820 0a 0a 38 2f 31 2f 39 36 20 28 62 75 67 20 66 69  ..8/1/96 (bug fi
17830 78 29 20 46 69 78 65 64 20 61 20 73 65 72 69 65  x) Fixed a serie
17840 73 20 6f 66 20 62 75 67 73 20 69 6e 20 57 69 6e  s of bugs in Win
17850 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 73 6f 20  dows sockets so 
17860 74 68 61 74 20 61 73 79 6e 63 0a 77 72 69 74 65  that async.write
17870 62 65 68 69 6e 64 20 69 6e 20 74 68 65 20 70 72  behind in the pr
17880 65 73 65 6e 63 65 20 6f 66 20 72 65 61 64 20 65  esence of read e
17890 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 20 6e 6f  vent handlers no
178a0 77 20 77 6f 72 6b 73 2c 20 61 6e 64 20 73 6f 20  w works, and so 
178b0 74 68 61 74 0a 61 73 79 6e 63 20 77 72 69 74 65  that.async write
178c0 62 65 68 69 6e 64 20 61 6c 73 6f 20 77 6f 72 6b  behind also work
178d0 73 20 6f 6e 20 73 6f 63 6b 65 74 73 20 66 6f 72  s on sockets for
178e0 20 77 68 69 63 68 20 61 20 72 65 61 64 20 65 76   which a read ev
178f0 65 6e 74 20 68 61 6e 64 6c 65 72 20 77 61 73 0a  ent handler was.
17900 64 65 63 6c 61 72 65 64 20 61 6e 64 20 77 68 6f  declared and who
17910 73 65 20 63 68 61 6e 6e 65 6c 73 20 77 65 72 65  se channels were
17920 20 74 68 65 6e 20 63 6c 6f 73 65 64 20 62 65 66   then closed bef
17930 6f 72 65 20 74 68 65 20 61 73 79 6e 63 20 77 72  ore the async wr
17940 69 74 65 0a 66 69 6e 69 73 68 65 64 2e 20 54 68  ite.finished. Th
17950 65 20 62 75 67 20 77 61 73 20 72 65 70 6f 72 74  e bug was report
17960 65 64 20 62 79 20 4a 6f 68 6e 20 4c 6f 76 65 72  ed by John Lover
17970 73 6f 20 61 6e 64 20 53 74 65 76 65 6e 20 57 61  so and Steven Wa
17980 68 6c 2c 0a 69 6e 64 65 70 65 6e 64 65 6e 74 6c  hl,.independentl
17990 79 2c 20 74 65 73 74 20 63 61 73 65 20 73 75 70  y, test case sup
179a0 70 6c 69 65 64 20 62 79 20 4a 6f 68 6e 20 4c 6f  plied by John Lo
179b0 76 65 72 73 6f 2e 20 28 4a 4c 29 0a 0a 2d 2d 2d  verso. (JL)..---
179c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
179d0 65 6c 65 61 73 65 64 20 70 61 74 63 68 20 37 2e  eleased patch 7.
179e0 35 70 31 2c 20 38 2f 32 2f 39 36 20 2d 2d 2d 2d  5p1, 8/2/96 ----
179f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
17a00 2d 2d 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65 77  ---..5/8/96 (new
17a10 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
17a20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4d 6f  Tcl_GetChannelMo
17a30 64 65 20 43 20 41 50 49 20 66 6f 72 20 72 65 74  de C API for ret
17a40 72 69 65 76 69 6e 67 20 77 68 65 74 68 65 72 0a  rieving whether.
17a50 61 20 63 68 61 6e 6e 65 6c 20 69 73 20 6f 70 65  a channel is ope
17a60 6e 20 66 6f 72 20 72 65 61 64 69 6e 67 20 61 6e  n for reading an
17a70 64 20 77 72 69 74 69 6e 67 2e 20 28 4a 4c 29 0a  d writing. (JL).
17a80 0a 35 2f 38 2f 39 36 20 28 41 50 49 20 63 68 61  .5/8/96 (API cha
17a90 6e 67 65 73 29 20 52 65 76 69 73 65 64 20 43 20  nges) Revised C 
17aa0 41 50 49 73 20 66 6f 72 20 63 68 61 6e 6e 65 6c  APIs for channel
17ab0 20 64 72 69 76 65 72 73 3a 0a 20 20 20 20 2d 20   drivers:.    - 
17ac0 52 65 6d 6f 76 65 64 20 61 6c 6c 20 54 63 6c 5f  Removed all Tcl_
17ad0 46 69 6c 65 73 20 66 72 6f 6d 20 63 68 61 6e 6e  Files from chann
17ae0 65 6c 20 64 72 69 76 65 72 20 69 6e 74 65 72 66  el driver interf
17af0 61 63 65 3b 20 79 6f 75 20 63 61 6e 20 6e 6f 77  ace; you can now
17b00 20 68 61 76 65 0a 20 20 20 20 20 20 63 68 61 6e   have.      chan
17b10 6e 65 6c 73 20 74 68 61 74 20 61 72 65 20 6e 6f  nels that are no
17b20 74 20 62 61 73 65 64 20 6f 6e 20 54 63 6c 5f 46  t based on Tcl_F
17b30 69 6c 65 73 2e 0a 20 20 20 20 2d 20 41 64 64 65  iles..    - Adde
17b40 64 20 63 68 61 6e 6e 65 6c 52 65 61 64 79 50 72  d channelReadyPr
17b50 6f 63 20 61 6e 64 20 77 61 74 63 68 43 68 61 6e  oc and watchChan
17b60 6e 65 6c 50 72 6f 63 20 70 72 6f 63 65 64 75 72  nelProc procedur
17b70 65 73 20 74 6f 20 69 6e 74 65 72 66 61 63 65 3b  es to interface;
17b80 0a 20 20 20 20 20 20 74 68 65 73 65 20 61 72 65  .      these are
17b90 20 75 73 65 64 20 74 6f 20 69 6d 70 6c 65 6d 65   used to impleme
17ba0 6e 74 20 65 76 65 6e 74 20 6e 6f 74 69 66 69 63  nt event notific
17bb0 61 74 69 6f 6e 20 66 6f 72 20 63 68 61 6e 6e 65  ation for channe
17bc0 6c 73 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20  ls..    - Added 
17bd0 67 65 74 46 69 6c 65 50 72 6f 63 20 74 6f 20 63  getFileProc to c
17be0 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 2c 20 74  hannel driver, t
17bf0 6f 20 61 6c 6c 6f 77 20 74 68 65 20 67 65 6e 65  o allow the gene
17c00 72 69 63 20 49 4f 20 63 6f 64 65 0a 20 20 20 20  ric IO code.    
17c10 20 20 74 6f 20 72 65 74 72 69 65 76 65 20 61 20    to retrieve a 
17c20 54 63 6c 5f 46 69 6c 65 20 66 72 6f 6d 20 61 20  Tcl_File from a 
17c30 63 68 61 6e 6e 65 6c 20 28 70 72 65 73 75 6d 61  channel (presuma
17c40 62 6c 79 20 69 66 20 74 68 65 20 63 68 61 6e 6e  bly if the chann
17c50 65 6c 0a 20 20 20 20 20 20 75 73 65 73 20 54 63  el.      uses Tc
17c60 6c 5f 46 69 6c 65 73 20 74 68 65 79 20 77 69 6c  l_Files they wil
17c70 6c 20 62 65 20 73 74 6f 72 65 64 20 69 6e 73 69  l be stored insi
17c80 64 65 20 69 74 73 20 69 6e 73 74 61 6e 63 65 44  de its instanceD
17c90 61 74 61 29 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49  ata). (JL).*** I
17ca0 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77  NCOMPATIBILITY w
17cb0 69 74 68 20 54 63 6c 20 37 2e 35 20 2a 2a 2a 0a  ith Tcl 7.5 ***.
17cc0 0a 35 2f 38 2f 39 36 20 28 41 50 49 20 63 68 61  .5/8/96 (API cha
17cd0 6e 67 65 29 20 54 68 65 20 54 63 6c 5f 43 72 65  nge) The Tcl_Cre
17ce0 61 74 65 43 68 61 6e 6e 65 6c 20 43 20 41 50 49  ateChannel C API
17cf0 20 77 61 73 20 6d 6f 64 69 66 69 65 64 20 74 6f   was modified to
17d00 20 6e 6f 74 20 74 61 6b 65 0a 54 63 6c 5f 46 69   not take.Tcl_Fi
17d10 6c 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e  le arguments, an
17d20 64 20 69 6e 73 74 65 61 64 20 74 6f 20 74 61 6b  d instead to tak
17d30 65 20 61 20 6d 61 73 6b 20 73 70 65 63 69 66 79  e a mask specify
17d40 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65 0a  ing whether the.
17d50 63 68 61 6e 6e 65 6c 20 69 73 20 72 65 61 64 61  channel is reada
17d60 62 6c 65 20 61 6e 64 2f 6f 72 20 77 72 69 74 61  ble and/or writa
17d70 62 6c 65 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e  ble. (JL).*** IN
17d80 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69  COMPATIBILITY wi
17d90 74 68 20 54 63 6c 20 37 2e 35 20 2a 2a 2a 0a 0a  th Tcl 7.5 ***..
17da0 36 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78 29  6/3/96 (bug fix)
17db0 20 4d 61 64 65 20 54 63 6c 5f 53 65 74 56 61 72   Made Tcl_SetVar
17dc0 32 20 72 6f 62 75 73 74 20 61 67 61 69 6e 73 74  2 robust against
17dd0 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20   the case where 
17de0 74 68 65 20 76 61 6c 75 65 0a 6f 66 20 74 68 65  the value.of the
17df0 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20 4e   variable is a N
17e00 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e 73 74  ULL pointer inst
17e10 65 61 64 20 6f 66 20 22 22 2e 20 28 4a 4c 29 0a  ead of "". (JL).
17e20 0a 36 2f 31 37 2f 39 36 20 28 62 75 67 20 66 69  .6/17/96 (bug fi
17e30 78 29 20 46 69 78 65 64 20 22 72 65 61 64 69 6e  x) Fixed "readin
17e40 67 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20  g uninitialized 
17e50 6d 65 6d 6f 72 79 22 20 65 72 72 6f 72 20 72 65  memory" error re
17e60 70 6f 72 74 65 64 20 62 79 0a 50 75 72 69 66 79  ported by.Purify
17e70 2c 20 69 6e 20 54 63 6c 5f 50 72 65 73 65 72 76  , in Tcl_Preserv
17e80 65 2f 54 63 6c 5f 52 65 6c 65 61 73 65 2e 20 28  e/Tcl_Release. (
17e90 4a 4c 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75 67  JL)..8/9/96 (bug
17ea0 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
17eb0 69 6e 20 69 6e 69 74 2e 74 63 6c 20 74 68 61 74  in init.tcl that
17ec0 20 63 61 75 73 65 64 20 69 6e 63 6f 72 72 65 63   caused incorrec
17ed0 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0a  t error message.
17ee0 69 66 20 74 68 65 20 61 63 74 20 6f 66 20 61 75  if the act of au
17ef0 74 6f 6c 6f 61 64 69 6e 67 20 61 20 70 72 6f 63  toloading a proc
17f00 65 64 75 72 65 20 63 61 75 73 65 64 20 74 68 65  edure caused the
17f10 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 62 65   procedure to be
17f20 20 69 6e 76 6f 6b 65 64 0a 61 67 61 69 6e 2e 20   invoked.again. 
17f30 28 4a 4f 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75  (JO)..8/9/96 (bu
17f40 67 20 66 69 78 29 20 43 6f 6e 66 69 67 75 72 65  g fix) Configure
17f50 20 73 63 72 69 70 74 20 70 72 6f 64 75 63 65 64   script produced
17f60 20 62 61 64 20 6c 69 62 72 61 72 79 20 6e 61 6d   bad library nam
17f70 65 73 20 61 6e 64 20 65 78 74 65 6e 73 69 6f 6e  es and extension
17f80 73 0a 75 6e 64 65 72 20 53 75 6e 4f 53 20 61 6e  s.under SunOS an
17f90 64 20 61 20 66 65 77 20 6f 74 68 65 72 20 70 6c  d a few other pl
17fa0 61 74 66 6f 72 6d 73 20 69 66 20 74 68 65 20 2d  atforms if the -
17fb0 2d 64 69 73 61 62 6c 65 2d 6c 6f 61 64 20 73 77  -disable-load sw
17fc0 69 74 63 68 20 77 61 73 20 75 73 65 64 2e 0a 28  itch was used..(
17fd0 4a 4f 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75 67  JO)..8/9/96 (bug
17fe0 20 66 69 78 29 20 54 63 6c 5f 55 70 64 61 74 65   fix) Tcl_Update
17ff0 4c 69 6e 6b 65 64 56 61 72 20 67 65 6e 65 72 61  LinkedVar genera
18000 74 65 64 20 61 6e 20 65 72 72 6f 72 20 69 66 20  ted an error if 
18010 74 68 65 20 76 61 72 69 61 62 6c 65 0a 62 65 69  the variable.bei
18020 6e 67 20 75 70 64 61 74 65 64 20 77 61 73 20 72  ng updated was r
18030 65 61 64 2d 6f 6e 6c 79 2e 20 28 4a 4f 29 0a 0a  ead-only. (JO)..
18040 38 2f 31 34 2f 39 36 20 28 62 75 67 20 66 69 78  8/14/96 (bug fix
18050 29 20 54 68 65 20 6d 61 63 69 6e 74 6f 73 68 20  ) The macintosh 
18060 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 73 79 6e  now supports syn
18070 63 68 72 6f 6e 6f 75 73 20 73 6f 63 6b 65 74 0a  chronous socket.
18080 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 20 20 4f 74  connections.  Ot
18090 68 65 72 20 6d 69 6e 6f 72 20 62 75 67 73 20 77  her minor bugs w
180a0 65 72 65 20 61 6c 73 6f 20 66 69 78 65 64 2e 20  ere also fixed. 
180b0 28 52 4a 29 0a 0a 38 2f 31 35 2f 39 36 20 28 63  (RJ)..8/15/96 (c
180c0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6d 70  onfiguration imp
180d0 72 6f 76 65 6d 65 6e 74 29 20 43 68 61 6e 67 65  rovement) Change
180e0 64 20 74 68 65 20 66 69 6c 65 20 70 61 74 63 68  d the file patch
180f0 6c 65 76 65 6c 2e 68 0a 74 6f 20 62 65 20 74 63  level.h.to be tc
18100 6c 50 61 74 63 68 2e 68 2e 20 20 54 68 69 73 20  lPatch.h.  This 
18110 61 76 6f 69 64 73 20 63 6f 6e 66 6c 69 63 74 20  avoids conflict 
18120 77 69 74 68 20 74 68 65 20 54 6b 20 66 69 6c 65  with the Tk file
18130 20 61 6e 64 20 69 73 20 6e 6f 77 0a 69 6e 20 38   and is now.in 8
18140 2e 33 20 66 6f 72 6d 61 74 20 6f 6e 20 74 68 65  .3 format on the
18150 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72   Windows platfor
18160 6d 2e 20 28 52 4a 29 0a 0a 38 2f 32 30 2f 39 36  m. (RJ)..8/20/96
18170 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
18180 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 69 6e   core dump in in
18190 74 65 72 70 20 61 6c 69 61 73 20 63 6f 6d 6d 61  terp alias comma
181a0 6e 64 20 66 6f 72 20 69 6e 74 65 72 70 72 65 74  nd for interpret
181b0 65 72 73 0a 63 72 65 61 74 65 64 20 77 69 74 68  ers.created with
181c0 20 54 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72   Tcl_CreateInter
181d0 70 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f  p (as opposed to
181e0 20 77 69 74 68 20 54 63 6c 5f 43 72 65 61 74 65   with Tcl_Create
181f0 53 6c 61 76 65 29 2e 20 28 4a 4c 29 0a 0a 38 2f  Slave). (JL)..8/
18200 32 30 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  20/96 (bug fix) 
18210 4e 6f 20 6c 6f 6e 67 65 72 20 6d 61 73 6b 69 6e  No longer maskin
18220 67 20 45 43 4f 4e 4e 52 45 53 45 54 20 6f 6e 20  g ECONNRESET on 
18230 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20  Windows sockets 
18240 73 6f 0a 74 68 61 74 20 74 68 65 20 68 69 67 68  so.that the high
18250 65 72 20 6c 65 76 65 6c 20 6f 66 20 74 68 65 20  er level of the 
18260 49 4f 20 6d 65 63 68 61 6e 69 73 6d 20 73 65 65  IO mechanism see
18270 73 20 74 68 65 20 65 72 72 6f 72 20 69 6e 73 74  s the error inst
18280 65 61 64 20 6f 66 0a 65 6e 74 65 72 69 6e 67 20  ead of.entering 
18290 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70  an infinite loop
182a0 2e 20 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36 20  . (JL)..8/20/96 
182b0 28 62 75 67 20 66 69 78 29 20 44 65 73 74 72 6f  (bug fix) Destro
182c0 79 69 6e 67 20 74 68 65 20 6c 61 73 74 20 69 6e  ying the last in
182d0 74 65 72 70 72 65 74 65 72 20 6e 6f 20 6c 6f 6e  terpreter no lon
182e0 67 65 72 20 63 6c 6f 73 65 73 20 74 68 65 0a 73  ger closes the.s
182f0 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 73  tandard channels
18300 2e 20 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36 20  . (JL)..8/20/96 
18310 28 62 75 67 20 66 69 78 29 20 43 6c 6f 73 69 6e  (bug fix) Closin
18320 67 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 74 64  g one of the std
18330 69 6e 2c 20 73 74 64 6f 75 74 20 6f 72 20 73 74  in, stdout or st
18340 64 65 72 72 20 63 68 61 6e 6e 65 6c 73 20 61 6e  derr channels an
18350 64 0a 74 68 65 6e 20 6f 70 65 6e 69 6e 67 20 61  d.then opening a
18360 20 6e 65 77 20 63 68 61 6e 6e 65 6c 20 6e 6f 77   new channel now
18370 20 63 6f 72 72 65 63 74 6c 79 20 61 73 73 69 67   correctly assig
18380 6e 73 20 74 68 65 20 6e 65 77 20 63 68 61 6e 6e  ns the new chann
18390 65 6c 20 61 73 20 74 68 65 0a 73 74 61 6e 64 61  el as the.standa
183a0 72 64 20 63 68 61 6e 6e 65 6c 20 74 68 61 74 20  rd channel that 
183b0 77 61 73 20 63 6c 6f 73 65 64 2e 20 28 4a 4c 29  was closed. (JL)
183c0 0a 0a 38 2f 32 30 2f 39 36 20 28 62 75 67 20 66  ..8/20/96 (bug f
183d0 69 78 29 20 41 64 64 65 64 20 63 6f 64 65 20 74  ix) Added code t
183e0 6f 20 75 6e 69 78 2f 74 63 6c 55 6e 69 78 43 68  o unix/tclUnixCh
183f0 61 6e 2e 63 20 66 6f 72 20 75 73 69 6e 67 20 69  an.c for using i
18400 6f 63 74 6c 20 77 69 74 68 0a 46 49 4f 4e 42 49  octl with.FIONBI
18410 4f 20 69 6e 73 74 65 61 64 20 6f 66 20 66 63 6e  O instead of fcn
18420 74 6c 20 77 69 74 68 20 4f 5f 4e 4f 4e 42 4c 4f  tl with O_NONBLO
18430 43 4b 2c 20 66 6f 72 20 74 68 6f 73 65 20 76 65  CK, for those ve
18440 72 73 69 6f 6e 73 20 6f 66 20 55 6e 69 78 20 77  rsions of Unix w
18450 68 65 72 65 0a 65 69 74 68 65 72 20 4f 5f 4e 4f  here.either O_NO
18460 4e 42 4c 4f 43 4b 20 69 73 20 6e 6f 74 20 73 75  NBLOCK is not su
18470 70 70 6f 72 74 65 64 20 6f 72 20 69 6d 70 6c 65  pported or imple
18480 6d 65 6e 74 65 64 20 69 6e 63 6f 72 72 65 63 74  mented incorrect
18490 6c 79 2e 20 28 4a 4c 29 0a 0a 38 2f 32 31 2f 39  ly. (JL)..8/21/9
184a0 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
184b0 64 20 22 66 69 6c 65 20 65 78 74 65 6e 73 69 6f  d "file extensio
184c0 6e 22 20 73 6f 20 69 74 20 63 6f 72 72 65 63 74  n" so it correct
184d0 6c 79 20 72 65 74 75 72 6e 73 20 74 68 65 0a 65  ly returns the.e
184e0 78 74 65 6e 73 69 6f 6e 20 6f 6e 20 66 69 6c 65  xtension on file
184f0 73 20 6c 69 6b 65 20 22 66 6f 6f 2e 2e 63 22 20  s like "foo..c" 
18500 61 73 20 22 2e 2e 63 22 20 69 6e 73 74 65 61 64  as "..c" instead
18510 20 6f 66 20 22 2e 63 22 2e 20 28 53 53 29 0a 0a   of ".c". (SS)..
18520 38 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69 78  8/22/96 (bug fix
18530 29 20 49 66 20 65 6e 76 69 72 6f 6e 5b 5d 20 63  ) If environ[] c
18540 6f 6e 74 61 69 6e 73 20 73 74 61 74 69 63 20 73  ontains static s
18550 74 72 69 6e 67 73 2c 20 54 63 6c 20 77 6f 75 6c  trings, Tcl woul
18560 64 20 63 6f 72 65 0a 64 75 6d 70 20 69 6e 20 54  d core.dump in T
18570 63 6c 53 65 74 75 70 45 6e 76 20 62 65 63 61 75  clSetupEnv becau
18580 73 65 20 69 74 20 77 61 73 20 74 72 79 69 6e 67  se it was trying
18590 20 74 6f 20 77 72 69 74 65 20 4e 55 4c 4c 73 20   to write NULLs 
185a0 69 6e 74 6f 20 74 68 65 20 61 63 74 75 61 6c 0a  into the actual.
185b0 64 61 74 61 20 69 6e 20 65 6e 76 69 72 6f 6e 5b  data in environ[
185c0 5d 2e 20 4e 6f 77 20 77 65 20 69 6e 73 74 65 61  ]. Now we instea
185d0 64 20 63 6f 70 79 20 61 73 20 61 70 70 72 6f 70  d copy as approp
185e0 72 69 61 74 65 2e 20 28 4a 4c 29 0a 0a 38 2f 32  riate. (JL)..8/2
185f0 32 2f 39 36 20 28 61 64 64 65 64 20 69 6d 70 6c  2/96 (added impl
18600 29 20 41 64 64 65 64 20 6d 69 73 73 69 6e 67 20  ) Added missing 
18610 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f  implementation o
18620 66 20 54 63 6c 5f 4d 61 6b 65 54 63 70 43 6c 69  f Tcl_MakeTcpCli
18630 65 6e 74 43 68 61 6e 6e 65 6c 0a 66 6f 72 20 57  entChannel.for W
18640 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e  indows platform.
18650 20 43 6f 64 65 20 63 6f 6e 74 72 69 62 75 74 65   Code contribute
18660 64 20 62 79 20 4d 61 72 6b 20 44 69 65 6b 68 61  d by Mark Diekha
18670 6e 73 2e 20 28 4a 4c 29 0a 0a 38 2f 32 32 2f 39  ns. (JL)..8/22/9
18680 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  6 (new feature) 
18690 41 64 64 65 64 20 61 20 6e 65 77 20 6d 65 6d 6f  Added a new memo
186a0 72 79 20 61 6c 6c 6f 63 61 74 6f 72 20 66 6f 72  ry allocator for
186b0 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 0a 76   the Macintosh.v
186c0 65 72 73 69 6f 6e 20 6f 66 20 54 63 6c 2e 20 20  ersion of Tcl.  
186d0 49 74 27 73 20 71 75 69 74 65 20 61 20 62 69 74  It's quite a bit
186e0 20 66 61 73 74 65 72 20 74 68 61 6e 20 4d 65 74   faster than Met
186f0 72 6f 57 65 72 6b 27 73 20 76 65 72 73 69 6f 6e  roWerk's version
18700 2e 20 28 52 4a 29 0a 0a 38 2f 32 36 2f 39 36 20  . (RJ)..8/26/96 
18710 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75  (documentation u
18720 70 64 61 74 65 29 20 52 65 6d 6f 76 65 64 20 6f  pdate) Removed o
18730 6c 64 20 63 68 61 6e 67 65 20 62 61 72 73 20 28  ld change bars (
18740 66 6f 72 20 61 6c 6c 20 63 68 61 6e 67 65 73 0a  for all changes.
18750 69 6e 20 54 63 6c 20 37 2e 35 20 61 6e 64 20 65  in Tcl 7.5 and e
18760 61 72 6c 69 65 72 20 72 65 6c 65 61 73 65 73 29  arlier releases)
18770 20 66 72 6f 6d 20 6d 61 6e 75 61 6c 20 65 6e 74   from manual ent
18780 72 69 65 73 2e 20 28 4a 4f 29 0a 0a 38 2f 32 37  ries. (JO)..8/27
18790 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /96 (enhancement
187a0 29 20 54 68 65 20 65 78 65 63 20 61 6e 64 20 6f  ) The exec and o
187b0 70 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 62 65 68  pen commands beh
187c0 61 76 65 20 62 65 74 74 65 72 20 61 6e 64 20 77  ave better and w
187d0 6f 72 6b 20 69 6e 20 0a 6d 6f 72 65 20 73 69 74  ork in .more sit
187e0 75 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 57 69  uations under Wi
187f0 6e 64 6f 77 73 20 4e 54 20 61 6e 64 20 57 69 6e  ndows NT and Win
18800 64 6f 77 73 20 39 35 2e 20 20 44 6f 63 75 6d 65  dows 95.  Docume
18810 6e 74 61 74 69 6f 6e 20 64 65 73 63 72 69 62 65  ntation describe
18820 73 20 0a 77 68 61 74 20 69 73 20 73 74 69 6c 6c  s .what is still
18830 20 6c 61 63 6b 69 6e 67 2e 20 28 43 53 29 0a 0a   lacking. (CS)..
18840 38 2f 32 37 2f 39 36 20 28 65 6e 68 61 6e 63 65  8/27/96 (enhance
18850 6d 65 6e 74 29 20 54 68 65 20 57 69 6e 64 6f 77  ment) The Window
18860 73 20 6d 61 6b 65 66 69 6c 65 73 20 77 69 6c 6c  s makefiles will
18870 20 6e 6f 77 20 63 6f 6d 70 69 6c 65 20 65 76 65   now compile eve
18880 6e 20 69 66 20 74 68 65 0a 63 6f 6d 70 69 6c 65  n if the.compile
18890 72 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20  r is not in the 
188a0 70 61 74 68 20 61 6e 64 2f 6f 72 20 74 68 65 20  path and/or the 
188b0 63 6f 6d 70 69 6c 65 72 27 73 20 65 6e 76 69 72  compiler's envir
188c0 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73  onment variables
188d0 0a 68 61 76 65 20 6e 6f 74 20 62 65 65 6e 20 73  .have not been s
188e0 65 74 20 75 70 2e 20 28 43 53 29 20 0a 0a 38 2f  et up. (CS) ..8/
188f0 32 37 2f 39 36 20 28 63 6f 6e 66 69 67 75 72 61  27/96 (configura
18900 74 69 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74  tion improvement
18910 29 20 54 68 65 20 57 69 6e 64 6f 77 73 20 72 65  ) The Windows re
18920 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65  source files are
18930 20 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20   .automatically 
18940 75 70 64 61 74 65 64 20 77 68 65 6e 20 74 68 65  updated when the
18950 20 76 65 72 73 69 6f 6e 2f 70 61 74 63 68 20 6c   version/patch l
18960 65 76 65 6c 20 63 68 61 6e 67 65 73 2e 20 20 54  evel changes.  T
18970 68 65 20 68 65 61 64 65 72 20 66 69 6c 65 0a 6e  he header file.n
18980 6f 77 20 68 61 73 20 61 20 63 6f 6d 6d 65 6e 74  ow has a comment
18990 20 74 68 61 74 20 72 65 6d 69 6e 64 73 20 74 68   that reminds th
189a0 65 20 75 73 65 72 20 77 68 69 63 68 20 6f 74 68  e user which oth
189b0 65 72 20 66 69 6c 65 73 20 6d 75 73 74 20 62 65  er files must be
189c0 20 6d 61 6e 75 61 6c 6c 79 0a 75 70 64 61 74 65   manually.update
189d0 64 20 77 68 65 6e 20 74 68 65 20 76 65 72 73 69  d when the versi
189e0 6f 6e 2f 70 61 74 63 68 20 6c 65 76 65 6c 20 63  on/patch level c
189f0 68 61 6e 67 65 73 2e 20 28 43 53 29 0a 0a 38 2f  hanges. (CS)..8/
18a00 32 38 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  28/96 (new featu
18a10 72 65 29 20 41 64 64 65 64 20 66 69 6c 65 20 6d  re) Added file m
18a20 61 6e 69 70 75 6c 61 74 69 6f 6e 20 66 65 61 74  anipulation feat
18a30 75 72 65 73 20 28 63 6f 70 79 2c 20 72 65 6e 61  ures (copy, rena
18a40 6d 65 2c 20 64 65 6c 65 74 65 2c 0a 6d 6b 64 69  me, delete,.mkdi
18a50 72 29 20 74 68 61 74 20 61 72 65 20 73 75 70 70  r) that are supp
18a60 6f 72 74 65 64 20 6f 6e 20 61 6c 6c 20 70 6c 61  orted on all pla
18a70 74 66 6f 72 6d 73 2e 20 54 68 65 79 20 61 72 65  tforms. They are
18a80 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20   implemented as 
18a90 0a 73 75 62 63 6f 6d 6d 61 6e 64 73 20 74 6f 20  .subcommands to 
18aa0 74 68 65 20 22 66 69 6c 65 22 20 63 6f 6d 6d 61  the "file" comma
18ab0 6e 64 2e 20 53 65 65 20 74 68 65 20 64 6f 63 75  nd. See the docu
18ac0 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68  mentation for th
18ad0 65 20 22 66 69 6c 65 22 0a 63 6f 6d 6d 61 6e 64  e "file".command
18ae0 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d   for more inform
18af0 61 74 69 6f 6e 2e 20 28 4a 48 29 0a 0a 2d 2d 2d  ation. (JH)..---
18b00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
18b10 65 6c 65 61 73 65 64 20 37 2e 36 62 31 2c 20 38  eleased 7.6b1, 8
18b20 2f 33 30 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  /30/96 ---------
18b30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
18b40 39 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78 29  9/3/96 (bug fix)
18b50 20 53 69 6d 70 6c 69 66 69 65 64 20 63 6f 64 65   Simplified code
18b60 20 73 6f 20 74 68 61 74 20 73 74 61 6e 64 61 72   so that standar
18b70 64 20 63 68 61 6e 6e 65 6c 73 20 61 72 65 20 63  d channels are c
18b80 72 65 61 74 65 64 0a 6c 61 7a 69 6c 79 2c 20 74  reated.lazily, t
18b90 68 65 79 20 61 72 65 20 61 64 64 65 64 20 74 6f  hey are added to
18ba0 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20   an interpreter 
18bb0 6c 61 7a 69 6c 79 2c 20 61 6e 64 20 74 68 65 79  lazily, and they
18bc0 20 61 72 65 20 6e 65 76 65 72 20 61 64 64 65 64   are never added
18bd0 0a 74 6f 20 61 20 73 61 66 65 20 69 6e 74 65 72  .to a safe inter
18be0 70 72 65 74 65 72 2e 20 28 4a 4c 29 0a 0a 39 2f  preter. (JL)..9/
18bf0 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43  3/96 (bug fix) C
18c00 6c 6f 73 69 6e 67 20 61 20 63 68 61 6e 6e 65 6c  losing a channel
18c10 20 61 66 74 65 72 20 63 6c 6f 73 69 6e 67 20 61   after closing a
18c20 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65   standard channe
18c30 6c 2c 20 65 2e 67 2e 0a 73 74 64 6f 75 74 2c 20  l, e.g..stdout, 
18c40 77 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20  would cause the 
18c50 69 6d 70 6c 69 63 69 74 20 72 65 63 72 65 61 74  implicit recreat
18c60 69 6f 6e 20 6f 66 20 74 68 61 74 20 73 74 61 6e  ion of that stan
18c70 64 61 72 64 20 63 68 61 6e 6e 65 6c 2e 20 28 4a  dard channel. (J
18c80 4c 29 0a 0a 39 2f 33 2f 39 36 20 28 6e 65 77 20  L)..9/3/96 (new 
18c90 66 65 61 74 75 72 65 29 20 4e 6f 77 20 63 61 6c  feature) Now cal
18ca0 6c 69 6e 67 20 54 63 6c 5f 52 65 67 69 73 74 65  ling Tcl_Registe
18cb0 72 43 68 61 6e 6e 65 6c 20 77 69 74 68 20 61 20  rChannel with a 
18cc0 4e 55 4c 4c 0a 69 6e 74 65 72 70 72 65 74 65 72  NULL.interpreter
18cd0 20 69 6e 63 72 65 6d 65 6e 74 73 20 74 68 65 20   increments the 
18ce0 72 65 66 63 6f 75 6e 74 20 73 6f 20 74 68 61 74  refcount so that
18cf0 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20 61 6e   code outside an
18d00 79 20 69 6e 74 65 72 70 72 65 74 65 72 0a 63 61  y interpreter.ca
18d10 6e 20 75 73 65 20 63 68 61 6e 6e 65 6c 73 20 74  n use channels t
18d20 68 61 74 20 61 72 65 20 61 6c 73 6f 20 72 65 67  hat are also reg
18d30 69 73 74 65 72 65 64 20 69 6e 20 69 6e 74 65 72  istered in inter
18d40 70 72 65 74 65 72 73 2c 20 77 69 74 68 6f 75 74  preters, without
18d50 20 77 6f 72 72 79 69 6e 67 0a 74 68 61 74 20 74   worrying.that t
18d60 68 65 20 63 68 61 6e 6e 65 6c 20 6d 61 79 20 74  he channel may t
18d70 75 72 6e 20 69 6e 74 6f 20 61 20 64 61 6e 67 6c  urn into a dangl
18d80 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 74 20 61  ing pointer at a
18d90 6e 79 20 74 69 6d 65 2e 20 43 61 6c 6c 69 6e 67  ny time. Calling
18da0 0a 54 63 6c 5f 55 6e 72 65 67 69 73 74 65 72 43  .Tcl_UnregisterC
18db0 68 61 6e 6e 65 6c 20 77 69 74 68 20 61 20 4e 55  hannel with a NU
18dc0 4c 4c 20 69 6e 74 65 72 70 72 65 74 65 72 20 6f  LL interpreter o
18dd0 6e 6c 79 20 64 65 63 72 65 6d 65 6e 74 73 20 74  nly decrements t
18de0 68 65 20 72 65 63 6f 75 6e 74 0a 73 6f 20 74 68  he recount.so th
18df0 61 74 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20  at code outside 
18e00 61 6e 79 20 69 6e 74 65 72 70 72 65 74 65 72 20  any interpreter 
18e10 63 61 6e 20 73 61 66 65 6c 79 20 64 65 63 6c 61  can safely decla
18e20 72 65 20 69 74 20 69 73 20 6e 6f 20 6c 6f 6e 67  re it is no long
18e30 65 72 0a 69 6e 74 65 72 65 73 74 65 64 20 69 6e  er.interested in
18e40 20 61 20 63 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29   a channel. (JL)
18e50 0a 0a 39 2f 34 2f 39 36 20 28 6e 65 77 20 66 65  ..9/4/96 (new fe
18e60 61 74 75 72 65 73 29 20 54 77 6f 20 63 68 61 6e  atures) Two chan
18e70 67 65 73 20 74 6f 20 64 79 6e 61 6d 69 63 20 6c  ges to dynamic l
18e80 6f 61 64 69 6e 67 3a 0a 20 20 20 20 2d 20 49 66  oading:.    - If
18e90 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 69   the file name i
18ea0 73 20 65 6d 70 74 79 20 69 6e 20 74 68 65 20 22  s empty in the "
18eb0 6c 6f 61 64 22 20 63 6f 6d 6d 61 6e 64 20 61 6e  load" command an
18ec0 64 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20  d there is no.  
18ed0 20 20 20 20 73 74 61 74 69 63 61 6c 6c 79 20 6c      statically l
18ee0 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66  oaded version of
18ef0 20 74 68 65 20 70 61 63 6b 61 67 65 2c 20 61 20   the package, a 
18f00 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 6f 61 64  dynamically load
18f10 65 64 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e  ed.      version
18f20 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 69 66   will be used if
18f30 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 0a 20   there is one.. 
18f40 20 20 20 2d 20 54 63 6c 5f 53 74 61 74 69 63 50     - Tcl_StaticP
18f50 61 63 6b 61 67 65 20 69 67 6e 6f 72 65 73 20 72  ackage ignores r
18f60 65 64 75 6e 64 61 6e 74 20 63 61 6c 6c 73 20 66  edundant calls f
18f70 6f 72 20 74 68 65 20 73 61 6d 65 20 70 61 63 6b  or the same pack
18f80 61 67 65 2e 20 28 4a 4f 29 0a 0a 39 2f 36 2f 39  age. (JO)..9/6/9
18f90 36 20 28 62 75 67 20 66 69 78 29 20 50 6c 61 74  6 (bug fix) Plat
18fa0 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20 70 72  form specific pr
18fb0 6f 63 65 64 75 72 65 73 20 66 6f 72 20 6d 61 6e  ocedures for man
18fc0 69 70 75 6c 61 74 69 6e 67 20 66 69 6c 65 73 20  ipulating files 
18fd0 61 72 65 0a 6e 6f 20 6c 6f 6e 67 65 72 20 6d 61  are.no longer ma
18fe0 63 72 6f 73 20 61 6e 64 20 68 61 76 65 20 62 65  cros and have be
18ff0 65 6e 20 70 72 65 66 69 78 65 64 20 77 69 74 68  en prefixed with
19000 20 22 54 63 6c 70 22 2c 20 73 75 63 68 20 61 73   "Tclp", such as
19010 20 54 63 6c 70 52 65 6e 61 6d 65 46 69 6c 65 2e   TclpRenameFile.
19020 0a 55 6e 69 78 20 66 69 6c 65 20 63 6f 64 65 20  .Unix file code 
19030 6e 6f 77 20 68 61 6e 64 6c 65 73 20 73 79 6d 62  now handles symb
19040 6f 6c 69 63 20 6c 69 6e 6b 73 20 61 6e 64 20 6f  olic links and o
19050 74 68 65 72 20 73 70 65 63 69 61 6c 20 66 69 6c  ther special fil
19060 65 73 20 63 6f 72 72 65 63 74 6c 79 2e 0a 54 68  es correctly..Th
19070 65 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 66  e semantics of f
19080 69 6c 65 20 63 6f 70 79 20 61 6e 64 20 66 69 6c  ile copy and fil
19090 65 20 72 65 6e 61 6d 65 20 68 61 73 20 62 65 65  e rename has bee
190a0 6e 20 63 68 61 6e 67 65 64 20 73 6f 20 74 68 61  n changed so tha
190b0 74 20 69 66 0a 61 20 74 61 72 67 65 74 20 64 69  t if.a target di
190c0 72 65 63 74 6f 72 79 20 65 78 69 73 74 73 2c 20  rectory exists, 
190d0 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 73  the source files
190e0 20 77 69 6c 6c 20 4e 4f 54 20 62 65 20 6d 65 72   will NOT be mer
190f0 67 65 64 20 77 69 74 68 20 74 68 65 0a 65 78 69  ged with the.exi
19100 73 74 69 6e 67 20 66 69 6c 65 73 2e 20 28 4a 48  sting files. (JH
19110 29 0a 0a 39 2f 36 2f 39 36 20 28 62 75 67 20 66  )..9/6/96 (bug f
19120 69 78 29 20 49 66 20 73 74 61 6e 64 61 72 64 20  ix) If standard 
19130 63 68 61 6e 6e 65 6c 20 69 73 20 4e 55 4c 4c 2c  channel is NULL,
19140 20 62 65 63 61 75 73 65 20 54 63 6c 20 63 61 6e   because Tcl can
19150 6e 6f 74 20 63 6f 6e 6e 65 63 74 0a 74 6f 20 74  not connect.to t
19160 68 65 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e  he standard chan
19170 6e 65 6c 2c 20 64 6f 20 6e 6f 74 20 69 6e 63 72  nel, do not incr
19180 65 6d 65 6e 74 20 74 68 65 20 72 65 66 63 6f 75  ement the refcou
19190 6e 74 2e 20 54 68 65 20 63 68 61 6e 6e 65 6c 20  nt. The channel 
191a0 63 61 6e 0a 62 65 20 4e 55 4c 4c 20 69 66 20 74  can.be NULL if t
191b0 68 65 72 65 20 69 73 20 66 6f 72 20 65 78 61 6d  here is for exam
191c0 70 6c 65 20 6e 6f 20 73 74 61 6e 64 61 72 64 20  ple no standard 
191d0 69 6e 70 75 74 2e 20 28 4a 4c 29 0a 0a 39 2f 36  input. (JL)..9/6
191e0 2f 39 36 20 28 70 6f 72 74 61 62 69 6c 69 74 79  /96 (portability
191f0 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43 68   improvement) Ch
19200 61 6e 67 65 64 20 70 61 72 73 69 6e 67 20 6f 66  anged parsing of
19210 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71 75 65   backslash seque
19220 6e 63 65 73 0a 6c 69 6b 65 20 5c 6e 20 74 6f 20  nces.like \n to 
19230 74 72 61 6e 73 6c 61 74 65 20 64 69 72 65 63 74  translate direct
19240 6c 79 20 74 6f 20 61 62 73 6f 6c 75 74 65 20 76  ly to absolute v
19250 61 6c 75 65 73 20 6c 69 6b 65 20 30 78 61 20 69  alues like 0xa i
19260 6e 73 74 65 61 64 20 6f 66 0a 6c 65 74 74 69 6e  nstead of.lettin
19270 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64  g the compiler d
19280 6f 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f  o the translatio
19290 6e 2e 20 20 54 68 69 73 20 67 75 61 72 61 6e 74  n.  This guarant
192a0 65 65 73 20 74 68 61 74 20 74 68 65 0a 74 72 61  ees that the.tra
192b0 6e 73 6c 61 74 69 6f 6e 20 69 73 20 64 6f 6e 65  nslation is done
192c0 20 74 68 65 20 73 61 6d 65 20 65 76 65 72 79 77   the same everyw
192d0 68 65 72 65 2e 20 28 4a 4f 29 0a 0a 39 2f 39 2f  here. (JO)..9/9/
192e0 39 36 20 28 62 75 67 20 66 69 78 29 20 49 66 20  96 (bug fix) If 
192f0 63 68 61 6e 6e 65 6c 20 69 73 20 6f 70 65 6e 65  channel is opene
19300 64 20 61 6e 64 20 6e 6f 74 20 61 73 73 6f 63 69  d and not associ
19310 61 74 65 64 20 77 69 74 68 20 61 6e 79 0a 69 6e  ated with any.in
19320 74 65 72 70 72 65 74 65 72 2c 20 62 75 74 20 54  terpreter, but T
19330 63 6c 20 64 65 63 69 64 65 73 20 74 6f 20 75 73  cl decides to us
19340 65 20 69 74 20 61 73 20 6f 6e 65 20 6f 66 20 74  e it as one of t
19350 68 65 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e  he standard chan
19360 6e 65 6c 73 2c 20 69 74 0a 62 65 63 61 6d 65 20  nels, it.became 
19370 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 6c  impossible to cl
19380 6f 73 65 20 74 68 65 20 63 68 61 6e 6e 65 6c 20  ose the channel 
19390 77 69 74 68 20 54 63 6c 5f 43 6c 6f 73 65 20 2d  with Tcl_Close -
193a0 2d 20 69 6e 73 74 65 61 64 20 79 6f 75 20 68 61  - instead you ha
193b0 64 0a 74 6f 20 63 61 6c 6c 20 54 63 6c 5f 55 6e  d.to call Tcl_Un
193c0 72 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 2e  registerChannel.
193d0 20 46 69 78 65 64 20 6e 6f 77 20 73 6f 20 74 68   Fixed now so th
193e0 61 74 20 69 74 27 73 20 73 61 66 65 20 74 6f 20  at it's safe to 
193f0 63 61 6c 6c 0a 54 63 6c 5f 43 6c 6f 73 65 20 65  call.Tcl_Close e
19400 76 65 6e 20 77 68 65 6e 20 54 63 6c 20 69 73 20  ven when Tcl is 
19410 75 73 69 6e 67 20 74 68 65 20 63 68 61 6e 6e 65  using the channe
19420 6c 20 61 73 20 6f 6e 65 20 6f 66 20 74 68 65 20  l as one of the 
19430 73 74 61 6e 64 61 72 64 20 6f 6e 65 73 2e 20 28  standard ones. (
19440 4a 4c 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66 65  JL)..9/11/96 (fe
19450 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54 68  ature change) Th
19460 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73  e Tcl library is
19470 20 6e 6f 77 20 70 6c 61 63 65 64 20 69 6e 20 74   now placed in t
19480 68 65 20 54 63 6c 0a 73 68 61 72 65 64 20 6c 69  he Tcl.shared li
19490 62 72 61 72 69 65 73 20 72 65 73 6f 75 72 63 65  braries resource
194a0 2e 20 20 59 6f 75 20 6e 6f 20 6c 6f 6e 67 65 72  .  You no longer
194b0 20 6e 65 65 64 20 74 6f 20 70 6c 61 63 65 20 74   need to place t
194c0 68 65 20 54 63 6c 20 66 69 6c 65 73 0a 69 6e 20  he Tcl files.in 
194d0 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e  your application
194e0 73 20 65 78 70 6c 69 63 69 74 6c 79 2e 20 20 28  s explicitly.  (
194f0 52 4a 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66 65  RJ)..9/11/96 (fe
19500 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 45 78  ature change) Ex
19510 74 65 6e 73 69 6f 6e 73 20 6e 6f 20 6c 6f 6e 67  tensions no long
19520 65 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  er automatically
19530 20 68 61 76 65 20 74 68 65 0a 72 65 73 6f 75 72   have the.resour
19540 63 65 20 66 6f 72 6b 20 6f 66 20 74 68 65 20 65  ce fork of the e
19550 78 74 65 6e 73 69 6f 6e 20 6f 70 65 6e 65 64 20  xtension opened 
19560 66 6f 72 20 69 74 2e 20 20 49 6e 73 74 65 61 64  for it.  Instead
19570 20 79 6f 75 20 6e 65 65 64 20 74 6f 0a 75 73 65   you need to.use
19580 20 74 68 65 20 74 63 6c 4d 61 63 4c 69 62 72 61   the tclMacLibra
19590 72 79 2e 63 20 66 69 6c 65 20 69 6e 20 79 6f 75  ry.c file in you
195a0 72 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 28 52  r extension.  (R
195b0 4a 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  J).*** POTENTIAL
195c0 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
195d0 20 2a 2a 2a 0a 0a 39 2f 31 32 2f 39 36 20 28 62   ***..9/12/96 (b
195e0 75 67 20 66 69 78 29 20 54 68 65 20 65 78 74 65  ug fix) The exte
195f0 6e 73 69 6f 6e 20 6c 6f 61 64 69 6e 67 20 6d 65  nsion loading me
19600 63 68 61 6e 69 73 6d 20 6f 6e 20 74 68 65 20 4d  chanism on the M
19610 61 63 69 6e 74 6f 73 68 20 6e 6f 77 0a 6c 6f 6f  acintosh now.loo
19620 6b 73 20 61 74 20 74 68 65 20 27 63 66 72 67 27  ks at the 'cfrg'
19630 20 72 65 73 6f 75 72 63 65 20 74 6f 20 64 65 74   resource to det
19640 65 72 6d 69 6e 65 20 77 68 65 72 65 20 74 6f 20  ermine where to 
19650 6c 6f 61 64 20 74 68 65 20 63 6f 64 65 0a 66 72  load the code.fr
19660 61 67 6d 65 6e 74 20 66 72 6f 6d 2e 20 20 54 68  agment from.  Th
19670 69 73 20 6d 65 61 6e 73 20 46 41 54 20 66 72 61  is means FAT fra
19680 67 6d 65 6e 74 73 20 73 68 6f 75 6c 64 20 6e 6f  gments should no
19690 77 20 77 6f 72 6b 2e 20 28 52 4a 29 0a 0a 39 2f  w work. (RJ)..9/
196a0 31 38 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d 65  18/96 (enhanceme
196b0 6e 74 29 20 54 68 65 20 65 78 65 63 20 61 6e 64  nt) The exec and
196c0 20 6f 70 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 62   open commands b
196d0 65 68 61 76 65 20 62 65 74 74 65 72 20 61 6e 64  ehave better and
196e0 20 77 6f 72 6b 20 69 6e 0a 6d 6f 72 65 20 73 69   work in.more si
196f0 74 75 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 57  tuations under W
19700 69 6e 64 6f 77 73 20 33 2e 58 2e 20 20 44 6f 63  indows 3.X.  Doc
19710 75 6d 65 6e 74 61 74 69 6f 6e 20 64 65 73 63 72  umentation descr
19720 69 62 65 73 20 77 68 61 74 20 69 73 20 73 74 69  ibes what is sti
19730 6c 6c 0a 6c 61 63 6b 69 6e 67 2e 20 20 28 43 53  ll.lacking.  (CS
19740 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20  )..9/19/96 (bug 
19750 66 69 78 29 20 46 69 78 65 64 20 61 20 70 61 6e  fix) Fixed a pan
19760 69 63 20 77 68 69 63 68 20 77 6f 75 6c 64 20 6f  ic which would o
19770 63 63 75 72 20 69 66 20 79 6f 75 20 64 65 6c 65  ccur if you dele
19780 74 65 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e  te a.non-existen
19790 74 20 61 6c 69 61 73 20 62 65 66 6f 72 65 20 61  t alias before a
197a0 6e 79 20 61 6c 69 61 73 65 73 20 61 72 65 20 63  ny aliases are c
197b0 72 65 61 74 65 64 2e 20 4e 6f 77 20 69 6e 73 74  reated. Now inst
197c0 65 61 64 20 63 6f 72 72 65 63 74 6c 79 0a 72 65  ead correctly.re
197d0 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 74  turns an error t
197e0 68 61 74 20 74 68 65 20 61 6c 69 61 73 20 69 73  hat the alias is
197f0 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 28 4a 4c 29   not found. (JL)
19800 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20 66  ..9/19/96 (bug f
19810 69 78 29 20 53 6c 61 76 65 20 69 6e 74 65 72 70  ix) Slave interp
19820 72 65 74 65 72 73 20 63 6f 75 6c 64 20 72 65 6e  reters could ren
19830 61 6d 65 20 61 6c 69 61 73 65 73 20 61 6e 64 20  ame aliases and 
19840 74 68 65 79 20 77 6f 75 6c 64 0a 6e 6f 74 20 67  they would.not g
19850 65 74 20 64 65 6c 65 74 65 64 20 77 68 65 6e 20  et deleted when 
19860 74 68 65 20 61 6c 69 61 73 20 77 61 73 20 62 65  the alias was be
19870 69 6e 67 20 72 65 64 65 66 69 6e 65 64 2e 20 54  ing redefined. T
19880 68 69 73 20 6c 65 64 20 74 6f 20 64 61 6e 67 6c  his led to dangl
19890 69 6e 67 0a 70 6f 69 6e 74 65 72 73 20 65 74 63  ing.pointers etc
198a0 2e 20 28 4a 4c 29 0a 0a 39 2f 31 39 2f 39 36 20  . (JL)..9/19/96 
198b0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
198c0 61 20 70 61 6e 69 63 20 77 68 65 72 65 20 61 20  a panic where a 
198d0 68 61 73 68 20 74 61 62 6c 65 20 65 6e 74 72 79  hash table entry
198e0 20 77 61 73 20 62 65 69 6e 67 20 64 65 6c 65 74   was being delet
198f0 65 64 0a 74 77 69 63 65 20 64 75 72 69 6e 67 20  ed.twice during 
19900 61 6c 69 61 73 20 6d 61 6e 61 67 65 6d 65 6e 74  alias management
19910 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 28 4a 4c   operations. (JL
19920 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20  )..9/19/96 (bug 
19930 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69  fix) Fixed bug i
19940 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 74 68 61  n event loop tha
19950 74 20 63 6f 75 6c 64 20 63 61 75 73 65 20 74 68  t could cause th
19960 65 20 69 6e 70 75 74 20 66 6f 63 75 73 0a 69 6e  e input focus.in
19970 20 54 6b 20 74 6f 20 67 65 74 20 63 6f 6e 66 75   Tk to get confu
19980 73 65 64 20 64 75 72 69 6e 67 20 6d 65 6e 75 20  sed during menu 
19990 74 72 61 76 65 72 73 61 6c 2c 20 61 6d 6f 6e 67  traversal, among
199a0 20 6f 74 68 65 72 20 70 72 6f 62 6c 65 6d 73 2e   other problems.
199b0 20 20 54 68 65 0a 70 72 6f 62 6c 65 6d 20 77 61    The.problem wa
199c0 73 20 72 65 6c 61 74 65 64 20 74 6f 20 68 61 6e  s related to han
199d0 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 22 6d 61  dling of the "ma
199e0 72 6b 65 72 22 20 77 68 65 6e 20 69 74 73 20 65  rker" when its e
199f0 76 65 6e 74 20 77 61 73 0a 64 65 6c 65 74 65 64  vent was.deleted
19a00 2e 20 28 4a 4f 29 0a 0a 39 2f 32 36 2f 39 36 20  . (JO)..9/26/96 
19a10 28 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77  (bug fix) Window
19a20 73 20 77 61 73 20 6c 6f 73 69 6e 67 20 45 4f 46  s was losing EOF
19a30 20 6f 6e 20 61 20 73 6f 63 6b 65 74 20 69 66 20   on a socket if 
19a40 74 68 65 20 46 44 5f 43 4c 4f 53 45 20 65 76 65  the FD_CLOSE eve
19a50 6e 74 0a 68 61 70 70 65 6e 65 64 20 74 6f 20 70  nt.happened to p
19a60 72 65 63 65 64 65 20 61 6e 79 20 6c 65 66 74 20  recede any left 
19a70 6f 76 65 72 20 46 44 5f 52 45 41 44 20 65 76 65  over FD_READ eve
19a80 6e 74 73 2e 20 4e 6f 77 20 63 6f 72 72 65 63 74  nts. Now correct
19a90 6c 79 20 72 65 6d 65 6d 62 65 72 73 0a 73 65 65  ly remembers.see
19aa0 69 6e 67 20 46 44 5f 43 4c 4f 53 45 2c 20 73 6f  ing FD_CLOSE, so
19ab0 20 74 68 61 74 20 74 72 61 69 6c 69 6e 67 20 46   that trailing F
19ac0 44 5f 52 45 41 44 20 65 76 65 6e 74 73 20 61 72  D_READ events ar
19ad0 65 20 6e 6f 74 20 64 69 73 63 61 72 64 65 64 20  e not discarded 
19ae0 69 66 20 74 68 65 79 0a 64 6f 20 6e 6f 74 20 63  if they.do not c
19af0 6f 6e 74 61 69 6e 20 61 6e 79 20 64 61 74 61 2e  ontain any data.
19b00 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 54 63 6c   This allows Tcl
19b10 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 67 65   to correctly ge
19b20 74 20 61 20 7a 65 72 6f 20 72 65 61 64 20 61 6e  t a zero read an
19b30 64 0a 6e 6f 74 69 63 65 20 45 4f 46 2e 20 28 4a  d.notice EOF. (J
19b40 4c 29 0a 0a 39 2f 32 36 2f 39 36 20 28 62 75 67  L)..9/26/96 (bug
19b50 20 66 69 78 29 20 57 61 73 20 6e 6f 74 20 72 65   fix) Was not re
19b60 73 65 74 74 69 6e 67 20 52 45 41 44 41 42 4c 45  setting READABLE
19b70 20 73 74 61 74 65 20 70 72 6f 70 65 72 6c 79 20   state properly 
19b80 6f 6e 20 73 6f 63 6b 65 74 73 0a 75 6e 64 65 72  on sockets.under
19b90 20 57 69 6e 64 6f 77 73 20 69 66 20 74 68 65 20   Windows if the 
19ba0 64 72 69 76 65 72 20 64 69 73 63 61 72 64 65 64  driver discarded
19bb0 20 61 6e 20 46 44 5f 52 45 41 44 20 65 76 65 6e   an FD_READ even
19bc0 74 20 62 65 63 61 75 73 65 20 6e 6f 20 64 61 74  t because no dat
19bd0 61 20 77 61 73 0a 70 72 65 73 65 6e 74 2e 20 4e  a was.present. N
19be0 6f 77 20 63 6f 72 72 65 63 74 6c 79 20 72 65 73  ow correctly res
19bf0 65 74 73 20 74 68 65 20 73 74 61 74 65 2e 20 28  ets the state. (
19c00 4a 4c 29 0a 0a 39 2f 33 30 2f 39 36 20 28 62 75  JL)..9/30/96 (bu
19c10 67 20 66 69 78 29 20 4d 61 64 65 20 45 4f 46 20  g fix) Made EOF 
19c20 73 74 69 63 6b 79 20 6f 6e 20 57 69 6e 64 6f 77  sticky on Window
19c30 73 20 73 6f 63 6b 65 74 73 2c 20 73 6f 20 74 68  s sockets, so th
19c40 61 74 20 66 69 6c 65 65 76 65 6e 74 0a 72 65 61  at fileevent.rea
19c50 64 61 62 6c 65 20 77 69 6c 6c 20 66 69 72 65 20  dable will fire 
19c60 72 65 70 65 61 74 65 64 6c 79 20 75 6e 74 69 6c  repeatedly until
19c70 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 20 63   the socket is c
19c80 6c 6f 73 65 64 2e 20 50 72 65 76 69 6f 75 73 6c  losed. Previousl
19c90 79 20 74 68 65 0a 66 69 6c 65 65 76 65 6e 74 20  y the.fileevent 
19ca0 66 69 72 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 2e  fired only once.
19cb0 20 54 68 69 73 20 63 6f 75 6c 64 20 6c 65 61 64   This could lead
19cc0 20 74 6f 20 6e 65 76 65 72 2d 63 6c 6f 73 65 64   to never-closed
19cd0 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 69 66 0a   connections if.
19ce0 74 68 65 20 54 63 6c 20 73 63 72 69 70 74 20 69  the Tcl script i
19cf0 6e 20 74 68 65 20 66 69 6c 65 65 76 65 6e 74 20  n the fileevent 
19d00 77 61 73 6e 27 74 20 63 6c 6f 73 69 6e 67 20 74  wasn't closing t
19d10 68 65 20 73 6f 63 6b 65 74 20 69 6d 6d 65 64 69  he socket immedi
19d20 61 74 65 6c 79 2e 20 28 4a 4c 29 0a 0a 31 30 2f  ately. (JL)..10/
19d30 32 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  2/96 (new featur
19d40 65 29 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20  e) Improved the 
19d50 70 61 63 6b 61 67 65 20 6c 6f 61 64 65 72 3a 0a  package loader:.
19d60 20 20 20 20 2d 20 41 64 64 65 64 20 6e 65 77 20      - Added new 
19d70 76 61 72 69 61 62 6c 65 20 74 63 6c 5f 70 6b 67  variable tcl_pkg
19d80 50 61 74 68 2c 20 77 68 69 63 68 20 68 6f 6c 64  Path, which hold
19d90 73 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20  s the default.  
19da0 20 20 20 20 64 69 72 65 63 74 6f 72 69 65 73 20      directories 
19db0 75 6e 64 65 72 20 77 68 69 63 68 20 70 61 63 6b  under which pack
19dc0 61 67 65 73 20 61 72 65 20 6e 6f 72 6d 61 6c 6c  ages are normall
19dd0 79 20 69 6e 73 74 61 6c 6c 65 64 20 28 65 61 63  y installed (eac
19de0 68 0a 20 20 20 20 20 20 70 61 63 6b 61 67 65 20  h.      package 
19df0 67 6f 65 73 20 69 6e 20 61 20 73 65 70 61 72 61  goes in a separa
19e00 74 65 20 73 75 62 64 69 72 65 63 74 6f 72 79 20  te subdirectory 
19e10 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 20 69  of a directory i
19e20 6e 0a 20 20 20 20 20 20 24 74 63 6c 5f 70 6b 67  n.      $tcl_pkg
19e30 50 61 74 68 29 2e 20 20 54 68 65 73 65 20 64 69  Path).  These di
19e40 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 69 6e  rectories are in
19e50 63 6c 75 64 65 64 20 69 6e 20 61 75 74 6f 5f 70  cluded in auto_p
19e60 61 74 68 20 62 79 0a 20 20 20 20 20 20 64 65 66  ath by.      def
19e70 61 75 6c 74 2e 0a 20 20 20 20 2d 20 43 68 61 6e  ault..    - Chan
19e80 67 65 64 20 74 68 65 20 70 61 63 6b 61 67 65 20  ged the package 
19e90 61 75 74 6f 2d 6c 6f 61 64 65 72 20 74 6f 20 6c  auto-loader to l
19ea0 6f 6f 6b 20 66 6f 72 20 70 6b 67 49 6e 64 65 78  ook for pkgIndex
19eb0 2e 74 63 6c 20 66 69 6c 65 73 20 0a 20 20 20 20  .tcl files .    
19ec0 20 20 6e 6f 74 20 6f 6e 6c 79 20 69 6e 20 74 68    not only in th
19ed0 65 20 61 75 74 6f 5f 70 61 74 68 20 64 69 72 65  e auto_path dire
19ee0 63 74 6f 72 69 65 73 20 62 75 74 20 61 6c 73 6f  ctories but also
19ef0 20 69 6e 20 74 68 65 69 72 20 69 6d 6d 65 64 69   in their immedi
19f00 61 74 65 0a 20 20 20 20 20 20 63 68 69 6c 64 72  ate.      childr
19f10 65 6e 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  en.  This should
19f20 20 6d 61 6b 65 20 69 74 20 65 61 73 69 65 72 20   make it easier 
19f30 74 6f 20 69 6e 73 74 61 6c 6c 20 61 6e 64 20 75  to install and u
19f40 6e 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20 70  ninstall.      p
19f50 61 63 6b 61 67 65 73 20 28 64 6f 6e 27 74 20 68  ackages (don't h
19f60 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61 75  ave to change au
19f70 74 6f 5f 70 61 74 68 20 6f 72 20 6d 65 72 67 65  to_path or merge
19f80 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a 20 20   pkgIndex.tcl.  
19f90 20 20 20 20 66 69 6c 65 73 29 2e 20 28 4a 4f 29      files). (JO)
19fa0 0a 0a 31 30 2f 33 2f 39 36 20 28 62 75 67 20 66  ..10/3/96 (bug f
19fb0 69 78 29 20 43 68 61 6e 67 65 64 20 74 63 6c 73  ix) Changed tcls
19fc0 68 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74 63  h to look for tc
19fd0 6c 73 68 72 63 2e 74 63 6c 20 69 6e 73 74 65 61  lshrc.tcl instea
19fe0 64 20 6f 66 0a 74 63 6c 73 68 2e 72 63 20 6f 6e  d of.tclsh.rc on
19ff0 20 73 74 61 72 74 75 70 20 75 6e 64 65 72 20 57   startup under W
1a000 69 6e 64 6f 77 73 2e 20 20 54 68 69 73 20 69 73  indows.  This is
1a010 20 6d 6f 72 65 20 63 6f 6e 73 69 73 74 65 6e 74   more consistent
1a020 20 77 69 74 68 20 77 69 73 68 20 61 6e 64 0a 75   with wish and.u
1a030 73 65 73 20 74 68 65 20 72 69 67 68 74 20 65 78  ses the right ex
1a040 74 65 6e 73 69 6f 6e 2e 20 28 53 53 29 0a 2a 2a  tension. (SS).**
1a050 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
1a060 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
1a070 0a 31 30 2f 38 2f 39 36 20 28 62 75 67 20 66 69  .10/8/96 (bug fi
1a080 78 29 20 43 6f 6e 76 65 72 74 63 6c 6f 63 6b 20  x) Convertclock 
1a090 64 6f 65 73 20 6e 6f 74 20 70 61 72 73 65 20 32  does not parse 2
1a0a0 34 2d 68 6f 75 72 20 74 69 6d 65 73 20 6f 66 20  4-hour times of 
1a0b0 74 68 65 0a 66 6f 72 6d 20 22 68 68 6d 6d 22 20  the.form "hhmm" 
1a0c0 63 6f 72 72 65 63 74 6c 79 20 77 68 65 6e 20 68  correctly when h
1a0d0 6f 75 72 20 3d 20 30 30 2e 20 20 49 6e 20 74 68  our = 00.  In th
1a0e0 65 20 70 61 72 73 65 20 63 6f 64 65 2c 20 68 6f  e parse code, ho
1a0f0 75 72 20 6d 75 73 74 20 62 65 0a 3e 3d 20 31 30  ur must be.>= 10
1a100 30 20 66 6f 72 20 6d 69 6e 75 74 65 73 20 74 6f  0 for minutes to
1a110 20 62 65 20 6e 6f 6e 2d 7a 65 72 6f 2e 20 20 54   be non-zero.  T
1a120 68 61 6e 6b 73 20 74 6f 20 4c 69 6e 74 20 4c 61  hanks to Lint La
1a130 43 6f 75 72 20 66 6f 72 20 74 68 69 73 0a 62 75  Cour for this.bu
1a140 67 20 66 69 78 2e 20 28 52 4a 29 0a 0a 31 30 2f  g fix. (RJ)..10/
1a150 31 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  11/96 (bug fix) 
1a160 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 74  Under Windows, t
1a170 68 65 20 70 69 64 20 63 6f 6d 6d 61 6e 64 20 72  he pid command r
1a180 65 74 75 72 6e 65 64 20 74 68 65 20 70 72 6f 63  eturned the proc
1a190 65 73 73 0a 68 61 6e 64 6c 65 20 69 6e 73 74 65  ess.handle inste
1a1a0 61 64 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73  ad of the proces
1a1b0 73 20 69 64 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d  s id. (SS)..----
1a1c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
1a1d0 6c 65 61 73 65 64 20 37 2e 36 2c 20 31 30 2f 31  leased 7.6, 10/1
1a1e0 36 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6/96 -----------
1a1f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30  ------------..10
1a200 2f 32 39 2f 39 36 20 28 62 75 67 20 66 69 78 29  /29/96 (bug fix)
1a210 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20   Under Windows, 
1a220 73 6f 63 6b 65 74 73 20 77 6f 75 6c 64 20 63 6f  sockets would co
1a230 6e 73 75 6d 65 20 31 30 30 25 20 43 50 55 20 74  nsume 100% CPU t
1a240 69 6d 65 20 61 66 74 65 72 0a 74 68 65 20 66 69  ime after.the fi
1a250 72 73 74 20 61 63 63 65 70 74 28 29 2c 20 64 75  rst accept(), du
1a260 65 20 74 6f 20 61 20 74 79 70 6f 2e 20 28 4a 4c  e to a typo. (JL
1a270 29 0a 0a 31 30 2f 32 39 2f 39 36 20 28 62 75 67  )..10/29/96 (bug
1a280 20 66 69 78 29 20 49 6e 63 6f 72 72 65 63 74 20   fix) Incorrect 
1a290 72 65 66 63 6f 75 6e 74 20 6d 61 6e 61 67 65 6d  refcount managem
1a2a0 65 6e 74 20 63 61 75 73 65 64 20 73 74 61 6e 64  ent caused stand
1a2b0 61 72 64 20 63 68 61 6e 6e 65 6c 73 0a 6e 6f 74  ard channels.not
1a2c0 20 74 6f 20 67 65 74 20 64 65 6c 65 74 65 64 20   to get deleted 
1a2d0 61 74 20 70 72 6f 63 65 73 73 20 65 78 69 74 20  at process exit 
1a2e0 6f 72 20 44 4c 4c 20 75 6e 6c 6f 61 64 20 74 69  or DLL unload ti
1a2f0 6d 65 2c 20 63 61 75 73 69 6e 67 20 61 20 6d 65  me, causing a me
1a300 6d 6f 72 79 0a 6c 65 61 6b 20 6f 66 20 75 70 77  mory.leak of upw
1a310 61 72 64 73 20 6f 66 20 32 30 4b 20 65 61 63 68  ards of 20K each
1a320 20 74 69 6d 65 2e 20 28 4a 4c 29 0a 0a 31 31 2f   time. (JL)..11/
1a330 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 41  7/96 (bug fix) A
1a340 75 74 6f 2d 65 78 65 63 20 64 69 64 6e 27 74 20  uto-exec didn't 
1a350 77 6f 72 6b 20 6f 6e 20 66 69 6c 65 20 6e 61 6d  work on file nam
1a360 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 65  es that containe
1a370 64 0a 73 70 61 63 65 73 2e 20 28 4a 4f 29 0a 0a  d.spaces. (JO)..
1a380 31 31 2f 38 2f 39 36 20 28 62 75 67 20 66 69 78  11/8/96 (bug fix
1a390 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d  ) Fixed core dum
1a3a0 70 20 74 68 61 74 20 77 6f 75 6c 64 20 6f 63 63  p that would occ
1a3b0 75 72 20 69 66 20 6d 6f 72 65 20 74 68 61 6e 20  ur if more than 
1a3c0 6f 6e 65 20 63 61 6c 6c 0a 74 6f 20 54 63 6c 5f  one call.to Tcl_
1a3d0 44 65 6c 65 74 65 43 68 61 6e 6e 65 6c 48 61 6e  DeleteChannelHan
1a3e0 64 6c 65 72 20 77 61 73 20 6d 61 64 65 20 74 6f  dler was made to
1a3f0 20 64 65 6c 65 74 65 20 61 20 67 69 76 65 6e 20   delete a given 
1a400 63 68 61 6e 6e 65 6c 20 68 61 6e 64 6c 65 72 2e  channel handler.
1a410 20 28 4a 4c 29 0a 0a 31 31 2f 38 2f 39 36 20 28   (JL)..11/8/96 (
1a420 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 74  bug fix) Fixed t
1a430 65 73 74 20 66 6f 72 20 72 65 74 75 72 6e 20 76  est for return v
1a440 61 6c 75 65 20 69 6e 20 54 63 6c 5f 53 65 65 6b  alue in Tcl_Seek
1a450 20 61 6e 64 20 54 63 6c 5f 53 65 65 6b 43 6d 64   and Tcl_SeekCmd
1a460 0a 74 6f 20 6f 6e 6c 79 20 74 72 65 61 74 20 2d  .to only treat -
1a470 31 20 61 73 20 65 72 72 6f 72 2c 20 69 6e 73 74  1 as error, inst
1a480 65 61 64 20 6f 66 20 61 6c 6c 20 6e 65 67 61 74  ead of all negat
1a490 69 76 65 20 6e 75 6d 62 65 72 73 2e 20 28 4a 4c  ive numbers. (JL
1a4a0 29 0a 0a 31 31 2f 31 32 2f 39 36 20 28 62 75 67  )..11/12/96 (bug
1a4b0 20 66 69 78 29 20 44 6f 20 6e 6f 74 20 62 6c 6f   fix) Do not blo
1a4c0 63 6b 69 6e 67 20 77 61 69 74 69 6e 67 20 66 6f  cking waiting fo
1a4d0 72 20 70 72 6f 63 65 73 73 65 73 20 61 74 20 74  r processes at t
1a4e0 68 65 20 65 6e 64 20 6f 66 20 61 0a 70 69 70 65  he end of a.pipe
1a4f0 20 64 75 72 69 6e 67 20 65 78 69 74 20 63 6c 65   during exit cle
1a500 61 6e 75 70 2e 20 28 4a 4c 29 0a 0a 31 31 2f 31  anup. (JL)..11/1
1a510 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 49  2/96 (bug fix) I
1a520 66 20 77 65 20 61 72 65 20 69 6e 20 65 78 69 74  f we are in exit
1a530 20 63 6c 65 61 6e 75 70 2c 20 64 6f 20 6e 6f 74   cleanup, do not
1a540 20 63 6c 6f 73 65 20 74 68 65 20 73 79 73 74 65   close the syste
1a550 6d 20 6c 65 76 65 6c 0a 66 69 6c 65 20 64 65 73  m level.file des
1a560 63 72 69 70 74 6f 72 73 20 30 2c 20 31 20 61 6e  criptors 0, 1 an
1a570 64 20 32 2e 20 50 72 65 76 69 6f 75 73 6c 79 20  d 2. Previously 
1a580 74 68 65 79 20 77 65 72 65 20 62 65 69 6e 67 20  they were being 
1a590 63 6c 6f 73 65 64 20 77 68 69 63 68 20 69 73 0a  closed which is.
1a5a0 69 6e 63 6f 72 72 65 63 74 2c 20 69 6e 20 74 68  incorrect, in th
1a5b0 65 20 65 6d 62 65 64 64 65 64 20 63 61 73 65 2e  e embedded case.
1a5c0 20 54 68 69 73 20 6c 65 64 20 74 6f 20 77 65 69   This led to wei
1a5d0 72 64 20 62 65 68 61 76 69 6f 72 20 66 6f 72 20  rd behavior for 
1a5e0 70 72 6f 67 72 61 6d 73 0a 74 68 61 74 20 77 61  programs.that wa
1a5f0 6e 74 20 74 6f 20 69 6e 74 65 72 70 6f 73 65 20  nt to interpose 
1a600 6f 6e 20 49 2f 4f 20 74 68 72 6f 75 67 68 20 74  on I/O through t
1a610 68 65 20 73 74 61 6e 64 61 72 64 20 66 69 6c 65  he standard file
1a620 20 64 65 73 63 72 69 70 74 6f 72 73 20 28 65 2e   descriptors (e.
1a630 67 2e 0a 4e 65 74 73 63 61 70 65 20 4e 61 76 69  g..Netscape Navi
1a640 67 61 74 6f 72 29 2e 20 28 4a 4c 29 0a 0a 31 31  gator). (JL)..11
1a650 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69 78 29  /15/96 (bug fix)
1a660 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70   Fixed core dump
1a670 20 6f 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b   on Windows sock
1a680 65 74 73 20 64 75 65 20 74 6f 20 64 65 70 65 6e  ets due to depen
1a690 64 65 6e 63 79 20 6f 6e 0a 64 65 6c 65 74 69 6f  dency on.deletio
1a6a0 6e 20 6f 72 64 65 72 20 61 74 20 65 78 69 74 2e  n order at exit.
1a6b0 20 4e 6f 77 20 61 6c 6c 20 73 6f 63 6b 65 74 20   Now all socket 
1a6c0 66 75 6e 63 74 69 6f 6e 73 20 63 68 65 63 6b 20  functions check 
1a6d0 74 6f 20 73 65 65 20 69 66 20 73 6f 63 6b 65 74  to see if socket
1a6e0 73 0a 61 72 65 20 28 73 74 69 6c 6c 29 20 69 6e  s.are (still) in
1a6f0 69 74 69 61 6c 69 7a 65 64 2c 20 62 65 66 6f 72  itialized, befor
1a700 65 20 63 61 6c 6c 69 6e 67 20 74 68 72 6f 75 67  e calling throug
1a710 68 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74  h function point
1a720 65 72 73 2e 20 42 65 66 6f 72 65 2c 0a 74 68 65  ers. Before,.the
1a730 79 20 77 6f 75 6c 64 20 63 61 6c 6c 20 61 6e 64  y would call and
1a740 20 6d 69 67 68 74 20 65 6e 64 20 75 70 20 63 61   might end up ca
1a750 6c 6c 69 6e 67 20 75 6e 6c 6f 61 64 65 64 20 6f  lling unloaded o
1a760 62 6a 65 63 74 20 63 6f 64 65 2e 20 28 4a 4c 29  bject code. (JL)
1a770 0a 0a 31 31 2f 31 35 2f 39 36 20 28 62 75 67 20  ..11/15/96 (bug 
1a780 66 69 78 29 20 46 69 78 65 64 20 63 6f 72 65 20  fix) Fixed core 
1a790 64 75 6d 70 20 69 6e 20 57 69 6e 64 6f 77 73 20  dump in Windows 
1a7a0 73 6f 63 6b 65 74 20 69 6e 69 74 69 61 6c 69 7a  socket initializ
1a7b0 61 74 69 6f 6e 20 72 6f 75 74 69 6e 65 0a 69 66  ation routine.if
1a7c0 20 73 6f 63 6b 65 74 73 20 77 65 72 65 20 6e 6f   sockets were no
1a7d0 74 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 74  t installed on t
1a7e0 68 65 20 73 79 73 74 65 6d 2e 20 42 65 66 6f 72  he system. Befor
1a7f0 65 2c 20 69 74 20 77 61 73 20 6e 6f 74 20 70 72  e, it was not pr
1a800 6f 70 65 72 6c 79 0a 63 68 65 63 6b 69 6e 67 20  operly.checking 
1a810 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61 74  the result of at
1a820 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c 6f 61 64  tempting to load
1a830 20 74 68 65 20 73 6f 63 6b 65 74 20 44 4c 4c 2c   the socket DLL,
1a840 20 73 6f 20 69 74 20 77 6f 75 6c 64 20 63 61 6c   so it would cal
1a850 6c 0a 74 68 72 6f 75 67 68 20 75 6e 69 6e 69 74  l.through uninit
1a860 69 61 6c 69 7a 65 64 20 66 75 6e 63 74 69 6f 6e  ialized function
1a870 20 70 6f 69 6e 74 65 72 73 2e 20 28 4a 4c 29 0a   pointers. (JL).
1a880 0a 31 31 2f 31 35 2f 39 36 20 28 62 75 67 20 66  .11/15/96 (bug f
1a890 69 78 29 20 46 69 78 65 64 20 6d 65 6d 6f 72 79  ix) Fixed memory
1a8a0 20 6c 65 61 6b 20 69 6e 20 57 69 6e 64 6f 77 73   leak in Windows
1a8b0 20 73 6f 63 6b 65 74 73 20 77 68 69 63 68 20 6c   sockets which l
1a8c0 65 66 74 20 73 6f 63 6b 65 74 0a 44 4c 4c 20 68  eft socket.DLL h
1a8d0 61 6e 64 6c 65 20 6f 70 65 6e 20 61 6e 64 20 63  andle open and c
1a8e0 6f 75 6c 64 20 68 6f 6c 64 20 74 68 65 20 73 6f  ould hold the so
1a8f0 63 6b 65 74 20 44 4c 4c 20 69 6e 20 6d 65 6d 6f  cket DLL in memo
1a900 72 79 20 75 6e 65 63 63 65 73 73 61 72 69 6c 79  ry uneccessarily
1a910 2c 0a 75 6e 74 69 6c 20 61 20 72 65 62 6f 6f 74  ,.until a reboot
1a920 2e 20 28 4a 4c 29 0a 0a 31 32 2f 34 2f 39 36 20  . (JL)..12/4/96 
1a930 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1a940 62 75 67 20 69 6e 20 4d 61 63 69 6e 74 6f 73 68  bug in Macintosh
1a950 20 73 6f 63 6b 65 74 20 63 6f 64 65 20 74 68 61   socket code tha
1a960 74 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 0a 69  t could result.i
1a970 6e 20 6c 6f 73 74 20 64 61 74 61 20 69 66 20 61  n lost data if a
1a980 20 63 6c 69 65 6e 74 20 77 61 73 20 63 6c 6f 73   client was clos
1a990 65 64 20 74 6f 6f 20 73 6f 6f 6e 20 61 66 74 65  ed too soon afte
1a9a0 72 20 73 65 6e 64 69 6e 67 20 64 61 74 61 2e 20  r sending data. 
1a9b0 28 52 4a 29 0a 0a 31 32 2f 31 37 2f 39 36 20 28  (RJ)..12/17/96 (
1a9c0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 64  bug fix) Fixed d
1a9d0 65 61 64 6c 6f 63 6b 20 62 75 67 20 69 6e 20 57  eadlock bug in W
1a9e0 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 64  indows sockets d
1a9f0 75 65 20 74 6f 20 6c 6f 73 69 6e 67 20 61 6e 0a  ue to losing an.
1aa00 65 76 65 6e 74 2e 20 54 68 69 73 20 77 61 73 20  event. This was 
1aa10 68 61 70 70 65 6e 69 6e 67 20 62 65 63 61 75 73  happening becaus
1aa20 65 20 6f 66 20 61 6e 20 69 6e 74 65 72 61 63 74  e of an interact
1aa30 69 6f 6e 20 62 65 74 77 65 65 6e 20 62 75 66 66  ion between buff
1aa40 65 72 69 6e 67 20 61 6e 64 0a 6e 6f 6e 62 6c 6f  ering and.nonblo
1aa50 63 6b 69 6e 67 20 6d 6f 64 65 20 6f 6e 20 73 6f  cking mode on so
1aa60 63 6b 65 74 73 2e 20 4e 6f 77 20 73 77 69 74 63  ckets. Now switc
1aa70 68 65 64 20 74 6f 20 73 6f 63 6b 65 74 73 20 62  hed to sockets b
1aa80 65 69 6e 67 20 62 6c 6f 63 6b 69 6e 67 20 62 79  eing blocking by
1aa90 0a 64 65 66 61 75 6c 74 2c 20 73 6f 20 77 65 20  .default, so we 
1aaa0 61 72 65 20 61 6c 73 6f 20 6e 6f 20 6c 6f 6e 67  are also no long
1aab0 65 72 20 65 6d 75 6c 61 74 69 6e 67 20 62 6c 6f  er emulating blo
1aac0 63 6b 69 6e 67 20 74 68 72 6f 75 67 68 20 61 20  cking through a 
1aad0 70 72 69 76 61 74 65 0a 65 76 65 6e 74 20 6c 6f  private.event lo
1aae0 6f 70 2e 20 28 4a 4c 29 0a 0a 31 2f 32 31 2f 39  op. (JL)..1/21/9
1aaf0 37 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 62  7 (performance b
1ab00 75 67 20 66 69 78 29 20 43 6c 69 65 6e 74 20 54  ug fix) Client T
1ab10 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 77  CP connections w
1ab20 65 72 65 20 73 6c 6f 77 20 74 6f 20 63 72 65 61  ere slow to crea
1ab30 74 65 0a 62 65 63 61 75 73 65 20 67 65 74 73 65  te.because getse
1ab40 72 76 62 79 6e 61 6d 65 20 77 61 73 20 61 6c 77  rvbyname was alw
1ab50 61 79 73 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68  ays called on th
1ab60 65 20 70 6f 72 74 2e 20 20 4e 6f 77 20 74 68 69  e port.  Now thi
1ab70 73 20 69 73 20 6f 6e 6c 79 0a 64 6f 6e 65 20 69  s is only.done i
1ab80 66 20 54 63 6c 5f 47 65 74 49 6e 74 20 66 61 69  f Tcl_GetInt fai
1ab90 6c 73 2e 20 28 42 57 29 0a 0a 31 2f 32 31 2f 39  ls. (BW)..1/21/9
1aba0 37 20 28 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  7 (configuration
1abb0 20 66 69 78 29 20 4d 61 64 65 20 69 74 20 70 6f   fix) Made it po
1abc0 73 73 69 62 6c 65 20 74 6f 20 6f 76 65 72 72 69  ssible to overri
1abd0 64 65 20 54 43 4c 5f 50 41 43 4b 41 47 45 5f 50  de TCL_PACKAGE_P
1abe0 41 54 48 0a 64 75 72 69 6e 67 20 6d 61 6b 65 2e  ATH.during make.
1abf0 20 20 50 72 65 76 69 6f 75 73 6c 79 20 69 74 20    Previously it 
1ac00 77 61 73 20 6f 6e 6c 79 20 73 65 74 20 64 75 72  was only set dur
1ac10 69 6e 67 20 61 75 74 6f 63 6f 6e 66 20 70 72 6f  ing autoconf pro
1ac20 63 65 73 73 2e 0a 0a 31 2f 32 39 2f 39 37 20 28  cess...1/29/97 (
1ac30 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 73  bug fix) Fixed s
1ac40 6f 6d 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  ome problems wit
1ac50 68 20 74 68 65 20 63 6c 6f 63 6b 20 63 6f 6d 6d  h the clock comm
1ac60 61 6e 64 20 74 68 61 74 0a 69 6d 70 61 63 74 65  and that.impacte
1ac70 64 20 68 6f 77 20 64 61 74 65 73 20 77 65 72 65  d how dates were
1ac80 20 73 63 61 6e 65 64 20 61 66 74 65 72 20 74 68   scaned after th
1ac90 65 20 79 65 61 72 20 32 30 30 30 2e 20 28 52 4a  e year 2000. (RJ
1aca0 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  )..-------------
1acb0 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 37 2e  ---- Released 7.
1acc0 36 70 32 2c 20 31 2f 33 31 2f 39 37 20 2d 2d 2d  6p2, 1/31/97 ---
1acd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ace0 2d 2d 2d 2d 0a 0a 32 2f 35 2f 39 37 20 28 62 75  ----..2/5/97 (bu
1acf0 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20 62  g fix) Fixed a b
1ad00 75 67 20 77 68 65 72 65 20 69 6e 20 43 52 2d 4c  ug where in CR-L
1ad10 46 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f  F translation mo
1ad20 64 65 2c 20 5c 72 20 62 79 74 65 73 0a 69 6e 20  de, \r bytes.in 
1ad30 74 68 65 20 69 6e 70 75 74 20 73 74 72 65 61 6d  the input stream
1ad40 20 77 65 72 65 20 6e 6f 74 20 62 65 69 6e 67 20   were not being 
1ad50 68 61 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c  handled correctl
1ad60 79 2e 20 28 4a 4c 29 0a 0a 32 2f 32 34 2f 39 37  y. (JL)..2/24/97
1ad70 20 28 62 75 67 20 66 69 78 29 20 46 69 78 20 62   (bug fix) Fix b
1ad80 75 67 20 77 69 74 68 20 65 78 65 63 20 75 6e 64  ug with exec und
1ad90 65 72 20 57 69 6e 33 32 73 20 6e 6f 74 20 62 65  er Win32s not be
1ada0 69 6e 67 20 61 62 6c 65 20 74 6f 20 63 72 65 61  ing able to crea
1adb0 74 65 0a 73 74 64 65 72 72 20 66 69 6c 65 20 77  te.stderr file w
1adc0 68 69 63 68 20 63 61 75 73 65 64 20 61 6c 6c 20  hich caused all 
1add0 65 78 65 63 73 20 74 6f 20 66 61 69 6c 2e 20 20  execs to fail.  
1ade0 46 69 78 65 64 20 74 65 6d 70 20 66 69 6c 65 20  Fixed temp file 
1adf0 6c 65 61 6b 20 75 6e 64 65 72 0a 57 69 6e 33 32  leak under.Win32
1ae00 73 2e 20 20 46 69 78 65 64 20 6f 70 74 69 6f 6e  s.  Fixed option
1ae10 61 6c 20 70 61 72 61 6d 65 74 65 72 20 62 75 67  al parameter bug
1ae20 20 77 69 74 68 20 53 65 61 72 63 68 50 61 74 68   with SearchPath
1ae30 20 74 68 61 74 20 6f 6e 6c 79 20 68 61 70 70 65   that only happe
1ae40 6e 65 64 0a 75 6e 64 65 72 20 57 69 6e 33 32 73  ned.under Win32s
1ae50 20 31 2e 32 35 2e 20 28 43 43 53 29 0a 0a 2d 2d   1.25. (CCS)..--
1ae60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ae70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ae80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ae90 2d 2d 2d 2d 2d 2d 2d 2d 0a 43 68 61 6e 67 65 73  --------.Changes
1aea0 20 66 6f 72 20 54 63 6c 20 37 2e 36 20 67 6f 20   for Tcl 7.6 go 
1aeb0 61 62 6f 76 65 20 74 68 69 73 20 6c 69 6e 65 2e  above this line.
1aec0 0a 43 68 61 6e 67 65 73 20 66 6f 72 20 54 63 6c  .Changes for Tcl
1aed0 20 37 2e 37 20 67 6f 20 62 65 6c 6f 77 20 74 68   7.7 go below th
1aee0 69 73 20 6c 69 6e 65 2e 0a 2d 2d 2d 2d 2d 2d 2d  is line..-------
1aef0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af20 2d 2d 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65 77  ---..5/8/96 (new
1af30 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
1af40 54 63 6c 5f 55 6e 67 65 74 73 20 43 20 41 50 49  Tcl_Ungets C API
1af50 20 66 6f 72 20 70 75 74 74 69 6e 67 20 61 20 73   for putting a s
1af60 65 71 75 65 6e 63 65 20 6f 66 20 62 79 74 65 73  equence of bytes
1af70 0a 69 6e 74 6f 20 61 20 63 68 61 6e 6e 65 6c 27  .into a channel'
1af80 73 20 69 6e 70 75 74 20 62 75 66 66 65 72 2e 20  s input buffer. 
1af90 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64  This can be used
1afa0 20 66 6f 72 20 22 70 75 73 68 22 20 6d 6f 64 65   for "push" mode
1afb0 6c 20 63 68 61 6e 6e 65 6c 73 0a 77 68 65 72 65  l channels.where
1afc0 20 74 68 65 20 69 6e 70 75 74 20 69 73 20 6f 62   the input is ob
1afd0 74 61 69 6e 65 64 20 76 69 61 20 63 61 6c 6c 62  tained via callb
1afe0 61 63 6b 73 20 69 6e 73 74 65 61 64 20 6f 66 20  acks instead of 
1aff0 62 79 20 72 65 71 75 65 73 74 20 6f 66 20 74 68  by request of th
1b000 65 0a 67 65 6e 65 72 69 63 20 49 4f 20 63 6f 64  e.generic IO cod
1b010 65 2e 20 4e 6f 20 54 63 6c 20 70 72 6f 63 65 64  e. No Tcl proced
1b020 75 72 65 20 79 65 74 2e 20 28 4a 4c 29 0a 0a 31  ure yet. (JL)..1
1b030 31 2f 31 35 2f 39 36 20 28 6e 65 77 20 66 65 61  1/15/96 (new fea
1b040 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65  ture) Implemente
1b050 64 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64  d hidden command
1b060 73 2e 20 4e 65 77 20 43 20 41 50 49 73 3a 0a 09  s. New C APIs:..
1b070 54 63 6c 5f 48 69 64 65 43 6f 6d 6d 61 6e 64 09  Tcl_HideCommand.
1b080 09 2d 2d 20 68 69 64 65 73 20 61 6e 20 65 78 69  .-- hides an exi
1b090 73 74 69 6e 67 20 65 78 70 6f 73 65 64 20 63 6f  sting exposed co
1b0a0 6d 6d 61 6e 64 2e 0a 09 54 63 6c 5f 45 78 70 6f  mmand...Tcl_Expo
1b0b0 73 65 43 6f 6d 6d 61 6e 64 09 2d 2d 20 65 78 70  seCommand.-- exp
1b0c0 6f 73 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67  oses an existing
1b0d0 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 2e   hidden command.
1b0e0 0a 4e 65 77 20 74 63 6c 20 41 50 49 73 3a 0a 09  .New tcl APIs:..
1b0f0 69 6e 74 65 72 70 20 69 6e 76 6f 6b 65 68 69 64  interp invokehid
1b100 64 65 6e 09 2d 2d 20 69 6e 76 6f 6b 65 73 20 61  den.-- invokes a
1b110 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 20   hidden command 
1b120 69 6e 20 61 20 73 6c 61 76 65 2e 0a 09 69 6e 74  in a slave...int
1b130 65 72 70 20 68 69 64 65 09 09 2d 2d 20 68 69 64  erp hide..-- hid
1b140 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20 65  es an existing e
1b150 78 70 6f 73 65 64 20 63 6f 6d 6d 61 6e 64 2e 0a  xposed command..
1b160 09 69 6e 74 65 72 70 20 65 78 70 6f 73 65 09 09  .interp expose..
1b170 2d 2d 20 65 78 70 6f 73 65 73 20 61 6e 20 65 78  -- exposes an ex
1b180 69 73 74 69 6e 67 20 68 69 64 64 65 6e 20 63 6f  isting hidden co
1b190 6d 6d 61 6e 64 2e 0a 09 69 6e 74 65 72 70 20 68  mmand...interp h
1b1a0 69 64 64 65 6e 09 09 2d 2d 20 72 65 74 75 72 6e  idden..-- return
1b1b0 73 20 61 20 6c 69 73 74 20 6f 66 20 68 69 64 64  s a list of hidd
1b1c0 65 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 54 68 65  en commands..The
1b1d0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
1b1e0 6f 66 20 53 61 66 65 20 54 63 6c 20 6e 6f 77 20  of Safe Tcl now 
1b1f0 75 73 65 73 20 74 68 65 20 6e 65 77 20 68 69 64  uses the new hid
1b200 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 66 61 63  den commands fac
1b210 69 6c 69 74 79 0a 74 6f 20 69 6d 70 6c 65 6d 65  ility.to impleme
1b220 6e 74 20 74 68 65 20 73 61 66 65 20 62 61 73 65  nt the safe base
1b230 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 65 6c  , instead of del
1b240 65 74 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e  eting the comman
1b250 64 73 20 66 72 6f 6d 20 61 20 73 61 66 65 0a 69  ds from a safe.i
1b260 6e 74 65 72 70 72 65 74 65 72 2e 20 28 4a 4c 29  nterpreter. (JL)
1b270 0a 0a 31 31 2f 31 35 2f 39 36 20 28 6e 65 77 20  ..11/15/96 (new 
1b280 66 65 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65  feature) Impleme
1b290 6e 74 65 64 20 74 68 65 20 73 61 66 65 20 62 61  nted the safe ba
1b2a0 73 65 2c 20 61 20 6d 65 63 68 61 6e 69 73 6d 20  se, a mechanism 
1b2b0 66 6f 72 0a 69 6e 73 74 61 6c 6c 69 6e 67 20 61  for.installing a
1b2c0 6e 64 20 72 65 71 75 65 73 74 69 6e 67 20 73 65  nd requesting se
1b2d0 63 75 72 69 74 79 20 70 6f 6c 69 63 69 65 73 2c  curity policies,
1b2e0 20 70 75 72 65 6c 79 20 69 6e 20 54 63 6c 20 63   purely in Tcl c
1b2f0 6f 64 65 2e 20 4f 76 65 72 6c 6f 61 64 73 0a 74  ode. Overloads.t
1b300 68 65 20 70 61 63 6b 61 67 65 20 63 6f 6d 6d 61  he package comma
1b310 6e 64 20 74 6f 20 61 6c 73 6f 20 61 6c 6c 6f 77  nd to also allow
1b320 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20   an interpreter 
1b330 74 6f 20 22 72 65 71 75 69 72 65 22 20 61 20 70  to "require" a p
1b340 6f 6c 69 63 79 2e 20 54 68 65 0a 66 6f 6c 6c 6f  olicy. The.follo
1b350 77 69 6e 67 20 6e 65 77 20 6c 69 62 72 61 72 79  wing new library
1b360 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 70 72   commands are pr
1b370 6f 76 69 64 65 64 3a 0a 09 74 63 6c 5f 73 61 66  ovided:..tcl_saf
1b380 65 43 72 65 61 74 65 49 6e 74 65 72 70 09 2d 2d  eCreateInterp.--
1b390 20 63 72 65 61 74 65 73 20 61 20 73 6c 61 76 65   creates a slave
1b3a0 20 61 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20   an initializes 
1b3b0 74 68 65 0a 09 09 09 09 20 20 20 70 6f 6c 69 63  the.....   polic
1b3c0 79 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 09 74 63  y mechanism...tc
1b3d0 6c 5f 73 61 66 65 49 6e 69 74 49 6e 74 65 72 70  l_safeInitInterp
1b3e0 09 2d 2d 20 69 6e 69 74 69 61 6c 69 7a 65 73 20  .-- initializes 
1b3f0 61 6e 20 65 78 69 73 74 69 6e 67 20 73 6c 61 76  an existing slav
1b400 65 20 77 69 74 68 20 74 68 65 0a 09 09 09 09 20  e with the..... 
1b410 20 20 70 6f 6c 69 63 79 20 6d 65 63 68 61 6e 69    policy mechani
1b420 73 6d 2e 0a 09 74 63 6c 5f 73 61 66 65 44 65 6c  sm...tcl_safeDel
1b430 65 74 65 49 6e 74 65 72 70 09 2d 2d 20 64 65 6c  eteInterp.-- del
1b440 65 74 65 73 20 61 20 73 6c 61 76 65 20 61 6e 64  etes a slave and
1b450 20 64 65 69 6e 69 74 69 61 6c 69 7a 65 73 20 74   deinitializes t
1b460 68 65 0a 09 09 09 09 20 20 20 70 6f 6c 69 63 79  he.....   policy
1b470 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 41 64 64 65   mechanism..Adde
1b480 64 20 61 20 6e 65 77 20 66 69 6c 65 20 74 6f 20  d a new file to 
1b490 74 68 65 20 6c 69 62 72 61 72 79 2c 20 73 61 66  the library, saf
1b4a0 65 69 6e 69 74 2e 74 63 6c 2c 20 74 6f 20 68 6f  einit.tcl, to ho
1b4b0 6c 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ld implementatio
1b4c0 6e 2e 20 28 4a 4c 29 0a 4f 6e 20 37 2f 39 2f 39  n. (JL).On 7/9/9
1b4d0 37 2c 20 72 65 6d 6f 76 65 64 20 74 68 65 20 70  7, removed the p
1b4e0 6f 6c 69 63 79 20 6c 6f 61 64 69 6e 67 20 6d 65  olicy loading me
1b4f0 63 68 61 6e 69 73 6d 20 66 72 6f 6d 20 74 68 65  chanism from the
1b500 20 53 61 66 65 20 42 61 73 65 2e 20 4c 65 66 74   Safe Base. Left
1b510 0a 6f 6e 6c 79 20 74 68 65 20 53 61 66 65 20 42  .only the Safe B
1b520 61 73 65 20 61 6c 69 61 73 65 73 20 64 65 61 6c  ase aliases deal
1b530 69 6e 67 20 77 69 74 68 20 61 75 74 6f 2d 6c 6f  ing with auto-lo
1b540 61 64 69 6e 67 20 61 6e 64 20 73 6f 75 72 63 65  ading and source
1b550 2e 20 28 4a 4c 29 0a 0a 31 32 2f 36 2f 39 36 20  . (JL)..12/6/96 
1b560 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 49 6d  (new feature) Im
1b570 70 6c 65 6d 65 6e 74 65 64 20 54 63 6c 5f 46 69  plemented Tcl_Fi
1b580 6e 61 6c 69 7a 65 2c 20 61 6e 20 41 50 49 20 74  nalize, an API t
1b590 68 61 74 20 73 68 6f 75 6c 64 20 62 65 0a 63 61  hat should be.ca
1b5a0 6c 6c 65 64 20 62 79 20 61 20 70 72 6f 63 65 73  lled by a proces
1b5b0 73 20 77 68 65 6e 20 69 74 20 69 73 20 64 6f 6e  s when it is don
1b5c0 65 20 75 73 69 6e 67 20 54 63 6c 2e 20 54 68 69  e using Tcl. Thi
1b5d0 73 20 41 50 49 20 72 75 6e 73 20 61 6c 6c 20 74  s API runs all t
1b5e0 68 65 20 65 78 69 74 0a 68 61 6e 64 6c 65 72 73  he exit.handlers
1b5f0 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 6d 20 74   to allow them t
1b600 6f 20 63 6c 65 61 6e 20 75 70 20 72 65 73 6f 75  o clean up resou
1b610 72 63 65 73 20 65 74 63 2e 20 28 4a 4c 29 0a 0a  rces etc. (JL)..
1b620 31 32 2f 31 37 2f 39 36 20 28 6e 65 77 20 66 65  12/17/96 (new fe
1b630 61 74 75 72 65 29 20 41 64 64 20 61 6e 20 68 74  ature) Add an ht
1b640 74 70 20 54 63 6c 20 73 63 72 69 70 74 20 70 61  tp Tcl script pa
1b650 63 6b 61 67 65 20 74 6f 20 74 68 65 20 54 63 6c  ckage to the Tcl
1b660 20 6c 69 62 72 61 72 79 2e 0a 54 68 69 73 20 70   library..This p
1b670 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74  ackage implement
1b680 73 20 74 68 65 20 63 6c 69 65 6e 74 20 73 69 64  s the client sid
1b690 65 20 6f 66 20 48 54 54 50 2f 31 2e 30 3b 20 74  e of HTTP/1.0; t
1b6a0 68 65 20 47 45 54 2c 20 48 45 41 44 2c 0a 61 6e  he GET, HEAD,.an
1b6b0 64 20 50 4f 53 54 20 72 65 71 75 65 73 74 73 2e  d POST requests.
1b6c0 20 28 42 57 29 0a 0a 31 2f 32 31 2f 39 37 20 28   (BW)..1/21/97 (
1b6d0 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
1b6e0 65 64 20 61 20 22 6d 61 72 6b 74 72 75 73 74 65  ed a "marktruste
1b6f0 64 22 20 73 75 62 63 6f 6d 6d 61 6e 64 20 74 6f  d" subcommand to
1b700 20 74 68 65 20 22 69 6e 74 65 72 70 22 20 61 6e   the "interp" an
1b710 64 0a 74 6f 20 74 68 65 20 69 6e 74 65 72 70 72  d.to the interpr
1b720 65 74 65 72 20 6f 62 6a 65 63 74 20 63 6f 6d 6d  eter object comm
1b730 61 6e 64 2e 20 49 74 20 72 65 6d 6f 76 65 73 20  and. It removes 
1b740 74 68 65 20 22 73 61 66 65 22 20 6d 61 72 6b 20  the "safe" mark 
1b750 6f 6e 20 61 6e 0a 69 6e 74 65 72 70 72 65 74 65  on an.interprete
1b760 72 20 61 6e 64 20 64 69 73 61 62 6c 65 73 20 68  r and disables h
1b770 61 72 64 2d 77 69 72 65 64 20 63 68 65 63 6b 73  ard-wired checks
1b780 20 66 6f 72 20 73 61 66 65 74 79 20 69 6e 20 74   for safety in t
1b790 68 65 20 43 20 73 6f 75 72 63 65 73 2e 20 28 4a  he C sources. (J
1b7a0 4c 29 0a 0a 31 2f 32 31 2f 39 37 20 28 72 65 6d  L)..1/21/97 (rem
1b7b0 6f 76 65 64 20 66 65 61 74 75 72 65 29 20 52 65  oved feature) Re
1b7c0 6d 6f 76 65 64 20 22 76 77 61 69 74 22 20 66 72  moved "vwait" fr
1b7d0 6f 6d 20 73 65 74 20 6f 66 20 63 6f 6d 6d 61 6e  om set of comman
1b7e0 64 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 0a  ds available in.
1b7f0 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74  a safe interpret
1b800 65 72 2e 20 28 4a 4c 29 0a 0a 32 2f 31 31 2f 39  er. (JL)..2/11/9
1b810 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 2c 20  7 (new feature, 
1b820 62 75 67 20 66 69 78 29 20 68 74 74 70 20 70 61  bug fix) http pa
1b830 63 6b 61 67 65 2e 20 20 41 64 64 65 64 20 2d 61  ckage.  Added -a
1b840 63 63 65 70 74 20 74 6f 20 68 74 74 70 5f 63 6f  ccept to http_co
1b850 6e 66 69 67 0a 73 6f 20 79 6f 75 20 63 61 6e 20  nfig.so you can 
1b860 73 65 74 20 74 68 65 20 41 63 63 65 70 74 20 68  set the Accept h
1b870 65 61 64 65 72 2e 20 20 41 64 64 65 64 20 2d 68  eader.  Added -h
1b880 61 6e 64 6c 65 72 20 6f 70 74 69 6f 6e 20 74 6f  andler option to
1b890 20 68 74 74 70 5f 67 65 74 20 73 6f 0a 79 6f 75   http_get so.you
1b8a0 20 63 61 6e 20 73 75 70 70 6c 79 20 79 6f 75 72   can supply your
1b8b0 20 6f 77 6e 20 64 61 74 61 20 68 61 6e 64 6c 65   own data handle
1b8c0 72 2e 20 20 41 6c 73 6f 20 66 69 78 65 64 20 50  r.  Also fixed P
1b8d0 4f 53 54 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f  OST operation to
1b8e0 0a 73 65 74 20 74 68 65 20 63 6f 72 72 65 63 74  .set the correct
1b8f0 20 4d 49 4d 45 20 74 79 70 65 20 6f 6e 20 74 68   MIME type on th
1b900 65 20 72 65 71 75 65 73 74 2e 20 28 42 57 29 0a  e request. (BW).
1b910 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
1b920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b930 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 43 68 61 6e  -----------.Chan
1b950 67 65 73 20 66 6f 72 20 54 63 6c 20 37 2e 37 20  ges for Tcl 7.7 
1b960 67 6f 20 61 62 6f 76 65 20 74 68 69 73 20 6c 69  go above this li
1b970 6e 65 2e 0a 43 68 61 6e 67 65 73 20 66 6f 72 20  ne..Changes for 
1b980 54 63 6c 20 38 2e 30 20 67 6f 20 62 65 6c 6f 77  Tcl 8.0 go below
1b990 20 74 68 69 73 20 6c 69 6e 65 2e 0a 2d 2d 2d 2d   this line..----
1b9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b9b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b9d0 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 31 37 2f 39 36 20  ------..9/17/96 
1b9e0 28 62 75 67 20 66 69 78 29 20 55 73 69 6e 67 20  (bug fix) Using 
1b9f0 22 75 70 76 61 72 22 20 69 74 20 77 61 73 20 70  "upvar" it was p
1ba00 6f 73 73 69 62 6c 65 20 74 6f 20 74 75 72 6e 20  ossible to turn 
1ba10 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74  an array element
1ba20 0a 69 6e 74 6f 20 61 6e 20 61 72 72 61 79 20 69  .into an array i
1ba30 74 73 65 6c 66 2e 20 20 43 68 61 6e 67 65 64 20  tself.  Changed 
1ba40 74 6f 20 64 69 73 61 6c 6c 6f 77 20 74 68 69 73  to disallow this
1ba50 3b 20 69 74 20 77 61 73 20 71 75 69 72 6b 79 20  ; it was quirky 
1ba60 61 6e 64 20 64 69 64 6e 27 74 0a 72 65 61 6c 6c  and didn't.reall
1ba70 79 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79  y work correctly
1ba80 20 61 6e 79 77 61 79 2e 20 28 4a 4f 29 0a 0a 31   anyway. (JO)..1
1ba90 30 2f 32 31 2f 39 36 20 28 6e 65 77 20 66 65 61  0/21/96 (new fea
1baa0 74 75 72 65 29 20 54 68 65 20 63 6f 72 65 20 6f  ture) The core o
1bab0 66 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72 70  f the Tcl interp
1bac0 72 65 74 65 72 20 68 61 73 20 62 65 65 6e 20 72  reter has been r
1bad0 65 70 6c 61 63 65 64 0a 77 69 74 68 20 61 6e 20  eplaced.with an 
1bae0 6f 6e 2d 74 68 65 2d 66 6c 79 20 63 6f 6d 70 69  on-the-fly compi
1baf0 6c 65 72 20 74 68 61 74 20 74 72 61 6e 73 6c 61  ler that transla
1bb00 74 65 73 20 54 63 6c 20 73 63 72 69 70 74 73 20  tes Tcl scripts 
1bb10 74 6f 20 62 79 74 65 63 6f 64 65 64 0a 69 6e 73  to bytecoded.ins
1bb20 74 72 75 63 74 69 6f 6e 73 3b 20 61 20 6e 65 77  tructions; a new
1bb30 20 69 6e 74 65 72 70 72 65 74 65 72 20 74 68 65   interpreter the
1bb40 6e 20 65 78 65 63 75 74 65 73 20 74 68 65 20 62  n executes the b
1bb50 79 74 65 63 6f 64 65 73 2e 20 54 68 65 20 63 6f  ytecodes. The co
1bb60 6d 70 69 6c 65 72 0a 69 6e 74 72 6f 64 75 63 65  mpiler.introduce
1bb70 73 20 6f 6e 6c 79 20 61 20 66 65 77 20 6d 69 6e  s only a few min
1bb80 6f 72 20 63 68 61 6e 67 65 73 20 61 74 20 74 68  or changes at th
1bb90 65 20 6c 65 76 65 6c 20 6f 66 20 54 63 6c 20 73  e level of Tcl s
1bba0 63 72 69 70 74 73 2e 20 54 68 65 20 62 69 67 67  cripts. The bigg
1bbb0 65 73 74 0a 63 68 61 6e 67 65 73 20 61 72 65 20  est.changes are 
1bbc0 74 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61  to expressions a
1bbd0 6e 64 20 6c 69 73 74 73 2e 0a 20 20 20 20 2d 20  nd lists..    - 
1bbe0 41 20 73 65 63 6f 6e 64 20 6c 65 76 65 6c 20 6f  A second level o
1bbf0 66 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20  f substitutions 
1bc00 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f 6e  is no longer don
1bc10 65 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e  e for expression
1bc20 73 2e 0a 20 20 20 20 20 20 54 68 69 73 20 73 75  s..      This su
1bc30 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 70 72  bstantially impr
1bc40 6f 76 65 73 20 74 68 65 69 72 20 65 78 65 63 75  oves their execu
1bc50 74 69 6f 6e 20 74 69 6d 65 2e 20 54 68 69 73 20  tion time. This 
1bc60 6d 65 61 6e 73 20 74 68 61 74 0a 20 20 20 20 20  means that.     
1bc70 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20   the expression 
1bc80 22 24 78 2a 34 22 20 70 72 6f 64 75 63 65 73 20  "$x*4" produces 
1bc90 61 20 64 69 66 66 65 72 65 6e 74 20 72 65 73 75  a different resu
1bca0 6c 74 20 74 68 61 6e 20 69 6e 20 74 68 65 20 70  lt than in the p
1bcb0 61 73 74 0a 20 20 20 20 20 20 69 66 20 78 20 69  ast.      if x i
1bcc0 73 20 22 24 79 2b 32 22 2e 20 46 6f 72 74 75 6e  s "$y+2". Fortun
1bcd0 61 74 65 6c 79 2c 20 6e 6f 74 20 6d 75 63 68 20  ately, not much 
1bce0 63 6f 64 65 20 64 65 70 65 6e 64 73 20 6f 6e 20  code depends on 
1bcf0 74 68 65 20 6f 6c 64 0a 20 20 20 20 20 20 74 77  the old.      tw
1bd00 6f 2d 6c 65 76 65 6c 20 73 65 6d 61 6e 74 69 63  o-level semantic
1bd10 73 2e 20 53 6f 6d 65 20 65 78 70 72 65 73 73 69  s. Some expressi
1bd20 6f 6e 73 20 74 68 61 74 20 64 6f 2c 20 73 75 63  ons that do, suc
1bd30 68 20 61 73 0a 20 20 20 20 20 20 22 65 78 70 72  h as.      "expr
1bd40 20 5b 6a 6f 69 6e 20 24 6c 69 73 74 20 2b 5d 22   [join $list +]"
1bd50 20 63 61 6e 20 62 65 20 72 65 63 6f 64 65 64 20   can be recoded 
1bd60 74 6f 20 77 6f 72 6b 20 69 6e 20 54 63 6c 38 2e  to work in Tcl8.
1bd70 30 20 62 79 20 61 64 64 69 6e 67 0a 20 20 20 20  0 by adding.    
1bd80 20 20 61 6e 20 65 76 61 6c 3a 20 65 2e 67 2e 2c    an eval: e.g.,
1bd90 20 22 65 76 61 6c 20 65 78 70 72 20 5b 6a 6f 69   "eval expr [joi
1bda0 6e 20 24 6c 69 73 74 20 2b 5d 22 2e 0a 20 20 20  n $list +]"..   
1bdb0 20 2d 20 4c 69 73 74 73 20 61 72 65 20 6e 6f 77   - Lists are now
1bdc0 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 61 72 73   completely pars
1bdd0 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20  ed on the first 
1bde0 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 20 74  list operation t
1bdf0 6f 0a 20 20 20 20 20 20 63 72 65 61 74 65 20 61  o.      create a
1be00 20 66 61 73 74 65 72 20 69 6e 74 65 72 6e 61 6c   faster internal
1be10 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e   representation.
1be20 20 49 6e 20 74 68 65 20 70 61 73 74 2c 20 69 66   In the past, if
1be30 20 79 6f 75 20 68 61 64 20 61 0a 20 20 20 20 20   you had a.     
1be40 20 6d 69 73 66 6f 72 6d 65 64 20 6c 69 73 74 20   misformed list 
1be50 62 75 74 20 74 68 65 20 65 72 72 6f 6e 65 6f 75  but the erroneou
1be60 73 20 70 61 72 74 20 77 61 73 20 61 66 74 65 72  s part was after
1be70 20 74 68 65 20 70 6f 69 6e 74 20 79 6f 75 0a 20   the point you. 
1be80 20 20 20 20 20 69 6e 73 65 72 74 65 64 20 6f 72       inserted or
1be90 20 65 78 74 72 61 63 74 65 64 20 61 6e 20 65 6c   extracted an el
1bea0 65 6d 65 6e 74 2c 20 74 68 65 6e 20 79 6f 75 20  ement, then you 
1beb0 6e 65 76 65 72 20 73 61 77 20 61 6e 20 65 72 72  never saw an err
1bec0 6f 72 2e 0a 20 20 20 20 20 20 49 6e 20 54 63 6c  or..      In Tcl
1bed0 38 2e 30 20 61 6e 20 65 72 72 6f 72 20 77 69 6c  8.0 an error wil
1bee0 6c 20 62 65 20 72 65 70 6f 72 74 65 64 2e 20 54  l be reported. T
1bef0 68 69 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20  his should only 
1bf00 65 66 66 65 63 74 0a 20 20 20 20 20 20 69 6e 63  effect.      inc
1bf10 6f 72 72 65 63 74 20 70 72 6f 67 72 61 6d 73 20  orrect programs 
1bf20 74 68 61 74 20 74 6f 6f 6b 20 61 64 76 61 6e 74  that took advant
1bf30 61 67 65 20 6f 66 20 62 65 68 61 76 69 6f 72 20  age of behavior 
1bf40 6f 66 20 74 68 65 20 6f 6c 64 0a 20 20 20 20 20  of the old.     
1bf50 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
1bf60 74 68 61 74 20 77 61 73 20 6e 6f 74 20 64 6f 63  that was not doc
1bf70 75 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 6d  umented in the m
1bf80 61 6e 20 70 61 67 65 73 2e 0a 4f 74 68 65 72 20  an pages..Other 
1bf90 63 68 61 6e 67 65 73 20 74 6f 20 54 63 6c 20 73  changes to Tcl s
1bfa0 63 72 69 70 74 73 20 61 72 65 20 64 69 73 63 75  cripts are discu
1bfb0 73 73 65 64 20 69 6e 20 74 68 65 20 77 65 62 20  ssed in the web 
1bfc0 70 61 67 65 20 61 74 0a 68 74 74 70 3a 2f 2f 77  page at.http://w
1bfd0 77 77 2e 73 63 72 69 70 74 69 63 73 2e 63 6f 6d  ww.scriptics.com
1bfe0 2f 64 6f 63 2f 63 6f 6d 70 69 6c 65 72 2e 68 74  /doc/compiler.ht
1bff0 6d 6c 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54  ml. (BL).*** POT
1c000 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
1c010 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 30 2f 32  BILITY ***..10/2
1c020 31 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  1/96 (new featur
1c030 65 29 20 49 6e 20 65 61 72 6c 69 65 72 20 76 65  e) In earlier ve
1c040 72 73 69 6f 6e 73 20 6f 66 20 54 63 6c 2c 20 73  rsions of Tcl, s
1c050 74 72 69 6e 67 73 20 77 65 72 65 20 75 73 65 64  trings were used
1c060 20 61 73 20 61 0a 75 6e 69 76 65 72 73 61 6c 20   as a.universal 
1c070 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3b 20  representation; 
1c080 69 6e 20 54 63 6c 20 38 2e 30 20 73 74 72 69 6e  in Tcl 8.0 strin
1c090 67 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20  gs are replaced 
1c0a0 77 69 74 68 20 54 63 6c 5f 4f 62 6a 0a 73 74 72  with Tcl_Obj.str
1c0b0 75 63 74 75 72 65 73 20 28 22 6f 62 6a 65 63 74  uctures ("object
1c0c0 73 22 29 20 74 68 61 74 20 63 61 6e 20 68 6f 6c  s") that can hol
1c0d0 64 20 62 6f 74 68 20 61 20 73 74 72 69 6e 67 20  d both a string 
1c0e0 76 61 6c 75 65 20 61 6e 64 20 61 6e 20 69 6e 74  value and an int
1c0f0 65 72 6e 61 6c 0a 66 6f 72 6d 20 73 75 63 68 20  ernal.form such 
1c100 61 73 20 61 20 62 69 6e 61 72 79 20 69 6e 74 65  as a binary inte
1c110 67 65 72 20 6f 72 20 63 6f 6d 70 69 6c 65 64 20  ger or compiled 
1c120 62 79 74 65 63 6f 64 65 73 2e 20 54 68 65 20 6e  bytecodes. The n
1c130 65 77 20 6f 62 6a 65 63 74 73 20 6d 61 6b 65 20  ew objects make 
1c140 69 74 0a 70 6f 73 73 69 62 6c 65 20 74 6f 20 73  it.possible to s
1c150 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e  tore information
1c160 20 69 6e 20 65 66 66 69 63 69 65 6e 74 20 69 6e   in efficient in
1c170 74 65 72 6e 61 6c 20 66 6f 72 6d 73 20 61 6e 64  ternal forms and
1c180 20 61 76 6f 69 64 20 74 68 65 0a 63 6f 6e 73 74   avoid the.const
1c190 61 6e 74 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73  ant translations
1c1a0 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 73 74 72   to and from str
1c1b0 69 6e 67 73 20 74 68 61 74 20 6f 63 63 75 72 72  ings that occurr
1c1c0 65 64 20 77 69 74 68 20 74 68 65 20 6f 6c 64 0a  ed with the old.
1c1d0 69 6e 74 65 72 70 72 65 74 65 72 2e 20 54 68 65  interpreter. The
1c1e0 72 65 20 61 72 65 20 6e 65 77 20 6d 61 6e 79 20  re are new many 
1c1f0 6e 65 77 20 43 20 41 50 49 73 20 66 6f 72 20 6d  new C APIs for m
1c200 61 6e 61 67 69 6e 67 20 6f 62 6a 65 63 74 73 2e  anaging objects.
1c210 20 53 6f 6d 65 20 6f 66 20 74 68 65 0a 6e 65 77   Some of the.new
1c220 20 6c 69 62 72 61 72 79 20 70 72 6f 63 65 64 75   library procedu
1c230 72 65 73 20 66 6f 72 20 6f 62 6a 65 63 74 73 20  res for objects 
1c240 28 73 75 63 68 20 61 73 20 54 63 6c 5f 45 76 61  (such as Tcl_Eva
1c250 6c 4f 62 6a 29 20 72 65 73 65 6d 62 6c 65 20 65  lObj) resemble e
1c260 78 69 73 74 69 6e 67 0a 73 74 72 69 6e 67 2d 62  xisting.string-b
1c270 61 73 65 64 20 70 72 6f 63 65 64 75 72 65 73 20  ased procedures 
1c280 28 73 75 63 68 20 61 73 20 54 63 6c 5f 45 76 61  (such as Tcl_Eva
1c290 6c 29 20 62 75 74 20 74 61 6b 65 20 61 64 76 61  l) but take adva
1c2a0 6e 74 61 67 65 20 6f 66 20 74 68 65 0a 69 6e 74  ntage of the.int
1c2b0 65 72 6e 61 6c 20 66 6f 72 6d 20 73 74 6f 72 65  ernal form store
1c2c0 64 20 69 6e 20 54 63 6c 20 6f 62 6a 65 63 74 73  d in Tcl objects
1c2d0 20 66 6f 72 20 67 72 65 61 74 65 72 20 73 70 65   for greater spe
1c2e0 65 64 2e 20 4f 74 68 65 72 20 6e 65 77 20 70 72  ed. Other new pr
1c2f0 6f 63 65 64 75 72 65 73 0a 6d 61 6e 61 67 65 20  ocedures.manage 
1c300 6f 62 6a 65 63 74 73 20 61 6e 64 20 61 6c 6c 6f  objects and allo
1c310 77 20 65 78 74 65 6e 73 69 6f 6e 20 77 72 69 74  w extension writ
1c320 65 72 73 20 74 6f 20 64 65 66 69 6e 65 20 6e 65  ers to define ne
1c330 77 20 6b 69 6e 64 73 20 6f 66 20 6f 62 6a 65 63  w kinds of objec
1c340 74 73 2e 0a 53 65 65 20 74 68 65 20 6d 61 6e 75  ts..See the manu
1c350 61 6c 20 65 6e 74 72 69 65 73 20 64 6f 63 2f 2a  al entries doc/*
1c360 4f 62 6a 2a 2e 33 20 28 42 4c 29 0a 0a 31 30 2f  Obj*.3 (BL)..10/
1c370 32 34 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  24/96 (bug fix) 
1c380 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61  Fixed memory lea
1c390 6b 20 6f 6e 20 65 78 69 74 20 63 61 75 73 65 64  k on exit caused
1c3a0 20 62 79 20 73 6f 6d 65 20 49 4f 20 72 65 6c 61   by some IO rela
1c3b0 74 65 64 0a 64 61 74 61 20 73 74 72 75 63 74 75  ted.data structu
1c3c0 72 65 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 65  res not being de
1c3d0 61 6c 6c 6f 63 61 74 65 64 20 6f 6e 20 65 78 69  allocated on exi
1c3e0 74 20 62 65 63 61 75 73 65 20 74 68 65 69 72 20  t because their 
1c3f0 72 65 66 63 6f 75 6e 74 20 77 61 73 0a 61 72 74  refcount was.art
1c400 69 66 69 63 69 61 6c 6c 79 20 62 6f 6f 73 74 65  ificially booste
1c410 64 2e 20 28 4a 4c 29 0a 0a 31 30 2f 32 34 2f 39  d. (JL)..10/24/9
1c420 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
1c430 64 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 54  d core dump in T
1c440 63 6c 5f 43 6c 6f 73 65 20 69 66 20 63 61 6c 6c  cl_Close if call
1c450 65 64 20 77 69 74 68 20 4e 55 4c 4c 0a 54 63 6c  ed with NULL.Tcl
1c460 5f 43 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29 0a 0a  _Channel. (JL)..
1c470 31 31 2f 31 39 2f 39 36 20 28 6e 65 77 20 66 65  11/19/96 (new fe
1c480 61 74 75 72 65 29 20 41 64 64 65 64 20 6c 69 62  ature) Added lib
1c490 72 61 72 79 20 70 72 6f 63 65 64 75 72 65 73 20  rary procedures 
1c4a0 66 6f 72 20 66 69 6e 64 69 6e 67 20 77 6f 72 64  for finding word
1c4b0 0a 62 72 65 61 6b 73 20 69 6e 20 73 74 72 69 6e  .breaks in strin
1c4c0 67 73 20 69 6e 20 61 20 70 6c 61 74 66 6f 72 6d  gs in a platform
1c4d0 20 73 70 65 63 69 66 69 63 20 6d 61 6e 6e 65 72   specific manner
1c4e0 2e 20 20 53 65 65 20 74 68 65 20 6c 69 62 72 61  .  See the libra
1c4f0 72 79 2e 6e 0a 6d 61 6e 75 61 6c 20 65 6e 74 72  ry.n.manual entr
1c500 79 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72  y for more infor
1c510 6d 61 74 69 6f 6e 2e 20 28 53 53 29 0a 0a 31 31  mation. (SS)..11
1c520 2f 32 32 2f 39 36 20 28 66 65 61 74 75 72 65 20  /22/96 (feature 
1c530 69 6d 70 72 6f 76 65 6d 65 6e 74 73 29 20 41 64  improvements) Ad
1c540 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
1c550 64 69 66 66 65 72 65 6e 74 20 6c 65 76 65 6c 73  different levels
1c560 20 6f 66 0a 74 72 61 63 69 6e 67 20 64 75 72 69   of.tracing duri
1c570 6e 67 20 62 79 74 65 63 6f 64 65 20 63 6f 6d 70  ng bytecode comp
1c580 69 6c 61 74 69 6f 6e 20 61 6e 64 20 65 78 65 63  ilation and exec
1c590 75 74 69 6f 6e 2e 20 54 68 69 73 20 73 68 6f 75  ution. This shou
1c5a0 6c 64 20 68 65 6c 70 20 69 6e 0a 74 72 61 63 6b  ld help in.track
1c5b0 69 6e 67 20 64 6f 77 6e 20 73 75 73 70 65 63 74  ing down suspect
1c5c0 65 64 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68  ed problems with
1c5d0 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 72   the compiler or
1c5e0 20 77 69 74 68 20 63 6f 6e 76 65 72 74 69 6e 67   with converting
1c5f0 0a 65 78 69 73 74 69 6e 67 20 63 6f 64 65 20 74  .existing code t
1c600 6f 20 75 73 65 20 54 63 6c 38 2e 30 2e 20 54 77  o use Tcl8.0. Tw
1c610 6f 20 67 6c 6f 62 61 6c 20 54 63 6c 20 76 61 72  o global Tcl var
1c620 69 61 62 6c 65 73 2c 20 74 72 61 63 65 43 6f 6d  iables, traceCom
1c630 70 69 6c 65 0a 61 6e 64 20 74 72 61 63 65 45 78  pile.and traceEx
1c640 65 63 2c 20 63 61 6e 20 62 65 20 73 65 74 20 74  ec, can be set t
1c650 6f 20 67 65 6e 65 72 61 74 65 20 74 72 61 63 69  o generate traci
1c660 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69  ng information i
1c670 6e 20 73 74 64 6f 75 74 3a 0a 20 20 20 20 2d 20  n stdout:.    - 
1c680 74 72 61 63 65 43 6f 6d 70 69 6c 65 3a 20 30 20  traceCompile: 0 
1c690 20 6e 6f 20 74 72 61 63 69 6e 67 20 28 64 65 66   no tracing (def
1c6a0 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20  ault).          
1c6b0 20 20 20 20 20 20 20 20 20 20 31 20 20 74 72 61            1  tra
1c6c0 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20  ce compilations 
1c6d0 6f 66 20 74 6f 70 20 6c 65 76 65 6c 20 63 6f 6d  of top level com
1c6e0 6d 61 6e 64 73 20 61 6e 64 20 70 72 6f 63 73 0a  mands and procs.
1c6f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c700 20 20 20 20 32 20 20 74 72 61 63 65 20 61 6e 64      2  trace and
1c710 20 64 69 73 70 6c 61 79 20 69 6e 73 74 72 75 63   display instruc
1c720 74 69 6f 6e 73 20 66 6f 72 20 61 6c 6c 20 63 6f  tions for all co
1c730 6d 70 69 6c 61 74 69 6f 6e 73 0a 20 20 20 20 2d  mpilations.    -
1c740 20 74 72 61 63 65 45 78 65 63 3a 20 20 20 20 30   traceExec:    0
1c750 20 20 6e 6f 20 74 72 61 63 69 6e 67 0a 20 20 20    no tracing.   
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c770 20 31 20 20 74 72 61 63 65 20 6f 6e 6c 79 20 63   1  trace only c
1c780 61 6c 6c 73 20 74 6f 20 54 63 6c 20 70 72 6f 63  alls to Tcl proc
1c790 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  s.              
1c7a0 20 20 20 20 20 20 32 20 20 74 72 61 63 65 20 69        2  trace i
1c7b0 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66 20 61 6c  nvocations of al
1c7c0 6c 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 63 6c 75  l commands inclu
1c7d0 64 69 6e 67 20 70 72 6f 63 73 0a 20 20 20 20 20  ding procs.     
1c7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 33                 3
1c7f0 20 20 64 65 74 61 69 6c 65 64 20 74 72 61 63 65    detailed trace
1c800 20 73 68 6f 77 69 6e 67 20 74 68 65 20 72 65 73   showing the res
1c810 75 6c 74 20 6f 66 20 65 61 63 68 20 69 6e 73 74  ult of each inst
1c820 72 75 63 74 69 6f 6e 0a 74 72 61 63 65 45 78 65  ruction.traceExe
1c830 63 20 3e 3d 20 32 20 70 72 6f 76 69 64 65 73 20  c >= 2 provides 
1c840 61 20 6f 6e 65 20 6c 69 6e 65 20 73 75 6d 6d 61  a one line summa
1c850 72 79 20 6f 66 20 65 61 63 68 20 63 61 6c 6c 65  ry of each calle
1c860 64 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 0a 69 74  d command and.it
1c870 73 20 61 72 67 75 6d 65 6e 74 73 2e 20 43 6f 6d  s arguments. Com
1c880 6d 61 6e 64 73 20 74 68 61 74 20 68 61 76 65 20  mands that have 
1c890 62 65 65 6e 20 22 63 6f 6d 70 69 6c 65 64 20 61  been "compiled a
1c8a0 77 61 79 22 20 73 75 63 68 20 61 73 20 73 65 74  way" such as set
1c8b0 20 61 72 65 0a 6e 6f 74 20 73 68 6f 77 6e 2e 20   are.not shown. 
1c8c0 28 42 4c 29 0a 0a 31 31 2f 33 30 2f 39 36 20 28  (BL)..11/30/96 (
1c8d0 62 75 67 20 66 69 78 29 20 54 68 65 20 63 6f 6d  bug fix) The com
1c8e0 6d 61 6e 64 20 22 69 6e 66 6f 20 6e 61 6d 65 6f  mand "info nameo
1c8f0 66 65 78 65 63 75 74 61 62 6c 65 22 20 63 6f 75  fexecutable" cou
1c900 6c 64 20 73 6f 6d 65 74 69 6d 65 73 0a 72 65 74  ld sometimes.ret
1c910 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  urn the name of 
1c920 61 20 64 69 72 65 63 74 6f 72 79 2e 20 28 4a 4f  a directory. (JO
1c930 29 0a 0a 31 31 2f 33 30 2f 39 36 20 28 66 65 61  )..11/30/96 (fea
1c940 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74  ture improvement
1c950 73 29 20 43 68 61 6e 67 65 64 20 74 68 65 20 63  s) Changed the c
1c960 6f 64 65 20 69 6e 20 6c 69 62 72 61 72 79 2f 69  ode in library/i
1c970 6e 69 74 2e 74 63 6c 0a 74 68 61 74 20 72 65 61  nit.tcl.that rea
1c980 64 73 20 69 6e 20 70 6b 67 49 6e 64 65 78 2e 74  ds in pkgIndex.t
1c990 63 6c 20 73 6f 20 74 68 61 74 20 28 61 29 20 69  cl so that (a) i
1c9a0 74 20 72 65 61 64 73 20 74 68 65 20 66 69 6c 65  t reads the file
1c9b0 73 20 66 72 6f 6d 20 63 68 69 6c 64 0a 64 69 72  s from child.dir
1c9c0 65 63 74 6f 72 69 65 73 20 62 65 66 6f 72 65 20  ectories before 
1c9d0 74 68 6f 73 65 20 69 6e 20 74 68 65 20 70 61 72  those in the par
1c9e0 65 6e 74 2c 20 73 6f 20 74 68 61 74 20 74 68 65  ent, so that the
1c9f0 20 70 61 72 65 6e 74 20 67 65 74 73 0a 70 72 65   parent gets.pre
1ca00 63 65 64 65 6e 63 65 2c 20 61 6e 64 20 28 62 29  cedence, and (b)
1ca10 20 69 74 20 64 6f 65 73 6e 27 74 20 71 75 69 74   it doesn't quit
1ca20 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e 20   if there is an 
1ca30 65 72 72 6f 72 20 69 6e 20 61 0a 70 6b 67 49 6e  error in a.pkgIn
1ca40 64 65 78 2e 74 63 6c 20 66 69 6c 65 3b 20 20 69  dex.tcl file;  i
1ca50 6e 73 74 65 61 64 2c 20 69 74 20 70 72 69 6e 74  nstead, it print
1ca60 73 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61  s an error messa
1ca70 67 65 20 6f 6e 20 73 74 61 6e 64 61 72 64 0a 65  ge on standard.e
1ca80 72 72 6f 72 20 61 6e 64 20 63 6f 6e 74 69 6e 75  rror and continu
1ca90 65 73 2e 20 28 4a 4f 29 0a 0a 31 30 2f 35 2f 39  es. (JO)..10/5/9
1caa0 36 20 28 66 65 61 74 75 72 65 20 69 6d 70 72 6f  6 (feature impro
1cab0 76 65 6d 65 6e 74 73 29 20 50 61 72 74 69 61 6c  vements) Partial
1cac0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
1cad0 6f 66 20 62 69 6e 61 72 79 20 73 74 72 69 6e 67  of binary string
1cae0 0a 73 75 70 70 6f 72 74 3a 20 74 68 65 20 61 62  .support: the ab
1caf0 69 6c 69 74 79 20 66 6f 72 20 54 63 6c 20 73 74  ility for Tcl st
1cb00 72 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 63  ring values to c
1cb10 6f 6e 74 61 69 6e 20 65 6d 62 65 64 64 65 64 20  ontain embedded 
1cb20 6e 75 6c 6c 20 62 79 74 65 73 2e 0a 43 68 61 6e  null bytes..Chan
1cb30 67 65 64 20 74 68 65 20 54 63 6c 20 6f 62 6a 65  ged the Tcl obje
1cb40 63 74 2d 62 61 73 65 64 20 41 50 49 73 20 74 6f  ct-based APIs to
1cb50 20 74 61 6b 65 20 61 20 62 79 74 65 20 70 6f 69   take a byte poi
1cb60 6e 74 65 72 20 61 6e 64 20 6c 65 6e 67 74 68 20  nter and length 
1cb70 70 61 69 72 0a 69 6e 73 74 65 61 64 20 6f 66 20  pair.instead of 
1cb80 61 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65  a null-terminate
1cb90 64 20 43 20 73 74 72 69 6e 67 2e 20 4d 6f 64 69  d C string. Modi
1cba0 66 69 65 64 20 73 65 76 65 72 61 6c 20 6f 62 6a  fied several obj
1cbb0 65 63 74 20 74 79 70 65 20 6d 61 6e 61 67 65 72  ect type manager
1cbc0 73 0a 74 6f 20 73 75 70 70 6f 72 74 20 62 69 6e  s.to support bin
1cbd0 61 72 79 20 73 74 72 69 6e 67 73 20 62 75 74 20  ary strings but 
1cbe0 6e 6f 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65  not, for example
1cbf0 2c 20 74 68 65 20 6c 69 73 74 20 74 79 70 65 20  , the list type 
1cc00 6d 61 6e 61 67 65 72 2e 0a 45 78 69 73 74 69 6e  manager..Existin
1cc10 67 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20 43  g string-based C
1cc20 20 41 50 49 73 20 61 72 65 20 75 6e 63 68 61 6e   APIs are unchan
1cc30 67 65 64 20 61 6e 64 20 77 69 6c 6c 20 74 72 75  ged and will tru
1cc40 6e 63 61 74 65 20 62 69 6e 61 72 79 0a 73 74 72  ncate binary.str
1cc50 69 6e 67 73 2e 20 43 6f 6d 70 69 6c 65 64 20 73  ings. Compiled s
1cc60 63 72 69 70 74 73 20 63 6f 6e 74 61 69 6e 69 6e  cripts containin
1cc70 67 20 6e 75 6c 6c 73 20 61 72 65 20 61 6c 73 6f  g nulls are also
1cc80 20 74 72 75 6e 63 61 74 65 64 2e 20 28 42 4c 29   truncated. (BL)
1cc90 0a 0a 31 32 2f 31 32 2f 39 36 20 28 66 65 61 74  ..12/12/96 (feat
1cca0 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 6d 6f  ure change) Remo
1ccb0 76 65 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73  ved the commands
1ccc0 20 22 63 70 22 2c 20 22 6d 6b 64 69 72 22 2c 20   "cp", "mkdir", 
1ccd0 22 6d 76 22 2c 0a 22 72 6d 22 2c 20 61 6e 64 20  "mv",."rm", and 
1cce0 22 72 6d 64 69 72 22 20 66 72 6f 6d 20 74 68 65  "rmdir" from the
1ccf0 20 4d 61 63 69 6e 74 6f 73 68 20 76 65 72 73 69   Macintosh versi
1cd00 6f 6e 20 6f 66 20 54 63 6c 2e 20 20 54 68 65 79  on of Tcl.  They
1cd10 20 77 65 72 65 20 6e 65 76 65 72 0a 6f 66 66 69   were never.offi
1cd20 63 69 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64  cially supported
1cd30 20 61 6e 64 20 74 68 65 69 72 20 66 75 6e 63 74   and their funct
1cd40 69 6f 6e 61 6c 69 74 79 20 69 73 20 6e 6f 77 20  ionality is now 
1cd50 61 76 61 69 6c 61 62 6c 65 20 76 69 61 0a 74 68  available via.th
1cd60 65 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 2e 20  e file command. 
1cd70 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  (RJ)..----------
1cd80 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
1cd90 20 38 2e 30 61 31 2c 20 31 32 2f 32 30 2f 39 36   8.0a1, 12/20/96
1cda0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
1cdb0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 37 2f 39 37  --------..1/7/97
1cdc0 20 28 62 75 67 20 66 69 78 29 20 55 6e 64 65 72   (bug fix) Under
1cdd0 20 57 69 6e 64 6f 77 73 2c 20 22 66 69 6c 65 20   Windows, "file 
1cde0 73 74 61 74 20 63 3a 22 20 77 61 73 20 72 65 74  stat c:" was ret
1cdf0 75 72 6e 69 6e 67 20 65 72 72 6f 72 20 69 6e 73  urning error ins
1ce00 74 65 61 64 0a 6f 66 20 73 74 61 74 20 66 6f 72  tead.of stat for
1ce10 20 63 75 72 72 65 6e 74 20 64 69 72 20 6f 6e 20   current dir on 
1ce20 63 3a 20 64 72 69 76 65 2e 0a 0a 31 2f 31 30 2f  c: drive...1/10/
1ce30 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
1ce40 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74 49 6e   Added Tcl_GetIn
1ce50 64 65 78 46 72 6f 6d 4f 62 6a 20 70 72 6f 63 65  dexFromObj proce
1ce60 64 75 72 65 20 66 6f 72 20 71 75 69 63 6b 0a 6c  dure for quick.l
1ce70 6f 6f 6b 75 70 73 20 6f 66 20 6b 65 79 77 6f 72  ookups of keywor
1ce80 64 20 61 72 67 75 6d 65 6e 74 73 2e 20 28 4a 4f  d arguments. (JO
1ce90 29 0a 0a 31 2f 31 32 2f 39 37 20 28 6e 65 77 20  )..1/12/97 (new 
1cea0 66 65 61 74 75 72 65 29 20 53 65 72 69 61 6c 20  feature) Serial 
1ceb0 49 4f 20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65  IO channel drive
1cec0 72 73 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 61  rs for Windows a
1ced0 6e 64 20 55 6e 69 78 2c 0a 61 76 61 69 6c 61 62  nd Unix,.availab
1cee0 6c 65 20 62 79 20 75 73 69 6e 67 20 54 63 6c 20  le by using Tcl 
1cef0 6f 70 65 6e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  open command to 
1cf00 6f 70 65 6e 20 70 73 65 75 64 6f 2d 66 69 6c 65  open pseudo-file
1cf10 73 20 6c 69 6b 65 20 22 63 6f 6d 31 3a 22 20 6f  s like "com1:" o
1cf20 72 0a 22 2f 64 65 76 2f 74 74 79 61 22 2e 20 20  r."/dev/ttya".  
1cf30 4e 65 77 20 6f 70 74 69 6f 6e 20 74 6f 20 54 63  New option to Tc
1cf40 6c 20 66 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d  l fconfigure com
1cf50 6d 61 6e 64 20 66 6f 72 20 73 65 72 69 61 6c 20  mand for serial 
1cf60 66 69 6c 65 73 3a 20 20 0a 22 2d 6d 6f 64 65 20  files:  ."-mode 
1cf70 62 61 75 64 2c 70 61 72 69 74 79 2c 64 61 74 61  baud,parity,data
1cf80 2c 73 74 6f 70 22 20 74 6f 20 73 70 65 63 69 66  ,stop" to specif
1cf90 79 20 62 61 75 64 20 72 61 74 65 2c 20 70 61 72  y baud rate, par
1cfa0 69 74 79 2c 20 64 61 74 61 20 62 69 74 73 2c 20  ity, data bits, 
1cfb0 61 6e 64 0a 73 74 6f 70 20 62 69 74 73 2e 20 20  and.stop bits.  
1cfc0 53 65 72 69 61 6c 20 49 4f 20 69 73 20 6e 6f 74  Serial IO is not
1cfd0 20 79 65 74 20 61 76 61 69 6c 61 62 6c 65 20 6f   yet available o
1cfe0 6e 20 4d 61 63 2e 0a 0a 31 2f 31 36 2f 39 37 20  n Mac...1/16/97 
1cff0 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
1d000 20 52 65 73 74 6f 72 65 64 20 74 68 65 20 54 63   Restored the Tc
1d010 6c 37 2e 78 20 22 74 77 6f 20 6c 65 76 65 6c 20  l7.x "two level 
1d020 73 75 62 73 74 69 74 75 74 69 6f 6e 0a 73 65 6d  substitution.sem
1d030 61 6e 74 69 63 73 22 20 66 6f 72 20 65 78 70 72  antics" for expr
1d040 65 73 73 69 6f 6e 73 2e 20 45 78 70 72 65 73 73  essions. Express
1d050 69 6f 6e 73 20 6e 6f 74 20 65 6e 63 6c 6f 73 65  ions not enclose
1d060 64 20 69 6e 20 62 72 61 63 65 73 20 61 72 65 0a  d in braces are.
1d070 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 69 6e 20  implemented, in 
1d080 67 65 6e 65 72 61 6c 2c 20 62 79 20 63 61 6c 6c  general, by call
1d090 69 6e 67 20 74 68 65 20 65 78 70 72 20 63 6f 6d  ing the expr com
1d0a0 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65 0a 28  mand procedure.(
1d0b0 54 63 6c 5f 45 78 70 72 4f 62 6a 43 6d 64 29 20  Tcl_ExprObjCmd) 
1d0c0 61 74 20 72 75 6e 74 69 6d 65 20 61 66 74 65 72  at runtime after
1d0d0 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72 70 72   the Tcl interpr
1d0e0 65 74 65 72 20 68 61 73 20 61 6c 72 65 61 64 79  eter has already
1d0f0 20 64 6f 6e 65 20 61 0a 66 69 72 73 74 20 72 6f   done a.first ro
1d100 75 6e 64 20 6f 66 20 73 75 62 73 74 69 74 75 74  und of substitut
1d110 69 6f 6e 73 2e 20 54 68 69 73 20 69 73 20 73 6c  ions. This is sl
1d120 6f 77 20 28 61 62 6f 75 74 20 54 63 6c 37 2e 78  ow (about Tcl7.x
1d130 20 73 70 65 65 64 29 20 62 65 63 61 75 73 65 20   speed) because 
1d140 6e 65 77 0a 63 6f 64 65 20 66 6f 72 20 74 68 65  new.code for the
1d150 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 67   expression is g
1d160 65 6e 65 72 61 6c 6c 79 20 63 6f 6d 70 69 6c 65  enerally compile
1d170 64 20 65 61 63 68 20 74 69 6d 65 2e 20 48 6f 77  d each time. How
1d180 65 76 65 72 2c 20 69 66 20 74 68 65 0a 65 78 70  ever, if the.exp
1d190 72 65 73 73 69 6f 6e 20 68 61 73 20 6f 6e 6c 79  ression has only
1d1a0 20 76 61 72 69 61 62 6c 65 20 73 75 62 73 74 69   variable substi
1d1b0 74 75 74 69 6f 6e 73 20 28 61 6e 64 20 6e 6f 74  tutions (and not
1d1c0 20 63 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69 74   command substit
1d1d0 75 74 69 6f 6e 73 29 2c 0a 22 6f 70 74 69 6d 69  utions),."optimi
1d1e0 73 74 69 63 22 20 66 61 73 74 20 63 6f 64 65 20  stic" fast code 
1d1f0 69 73 20 67 65 6e 65 72 61 74 65 64 20 69 6e 6c  is generated inl
1d200 69 6e 65 2e 20 54 68 69 73 20 69 6e 6c 69 6e 65  ine. This inline
1d210 20 63 6f 64 65 20 77 69 6c 6c 20 66 61 69 6c 20   code will fail 
1d220 69 66 20 61 0a 73 65 63 6f 6e 64 20 72 6f 75 6e  if a.second roun
1d230 64 20 6f 66 20 73 75 62 73 74 69 74 75 74 69 6f  d of substitutio
1d240 6e 73 20 69 73 20 6e 65 65 64 65 64 20 28 69 2e  ns is needed (i.
1d250 65 2e 2c 20 69 66 20 74 68 65 20 76 61 6c 75 65  e., if the value
1d260 20 6f 66 20 61 20 73 75 62 73 74 69 74 75 74 65   of a substitute
1d270 64 0a 76 61 72 69 61 62 6c 65 20 69 74 73 65 6c  d.variable itsel
1d280 66 20 72 65 71 75 69 72 65 73 20 6d 6f 72 65 20  f requires more 
1d290 73 75 62 73 74 69 74 75 74 69 6f 6e 73 29 2e 20  substitutions). 
1d2a0 54 68 65 20 6f 70 74 69 6d 69 73 74 69 63 20 63  The optimistic c
1d2b0 6f 64 65 20 77 69 6c 6c 0a 63 61 74 63 68 20 74  ode will.catch t
1d2c0 68 65 20 65 72 72 6f 72 20 61 6e 64 20 62 61 63  he error and bac
1d2d0 6b 20 6f 66 66 20 74 6f 20 63 61 6c 6c 20 74 68  k off to call th
1d2e0 65 20 73 6c 6f 77 65 72 20 62 75 74 20 67 75 61  e slower but gua
1d2f0 72 61 6e 74 65 65 64 20 63 6f 72 72 65 63 74 0a  ranteed correct.
1d300 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 70 72 6f  expr command pro
1d310 63 65 64 75 72 65 2e 20 28 42 4c 29 0a 0a 31 2f  cedure. (BL)..1/
1d320 31 36 2f 39 37 20 28 66 65 61 74 75 72 65 20 69  16/97 (feature i
1d330 6d 70 72 6f 76 65 6d 65 6e 74 73 29 20 41 64 64  mprovements) Add
1d340 65 64 20 54 63 6c 5f 45 78 70 72 4c 6f 6e 67 4f  ed Tcl_ExprLongO
1d350 62 6a 20 61 6e 64 20 54 63 6c 5f 45 78 70 72 44  bj and Tcl_ExprD
1d360 6f 75 62 6c 65 4f 62 6a 0a 74 6f 20 72 6f 75 6e  oubleObj.to roun
1d370 64 20 6f 75 74 20 65 78 70 72 65 73 73 69 6f 6e  d out expression
1d380 2d 72 65 6c 61 74 65 64 20 70 72 6f 63 65 64 75  -related procedu
1d390 72 65 73 2e 20 28 42 4c 29 0a 0a 31 2f 31 36 2f  res. (BL)..1/16/
1d3a0 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
1d3b0 67 65 29 20 55 6e 64 65 72 20 57 69 6e 64 6f 77  ge) Under Window
1d3c0 73 2c 20 61 74 20 73 74 61 72 74 75 70 20 74 68  s, at startup th
1d3d0 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  e environment va
1d3e0 72 69 61 62 6c 65 73 0a 22 70 61 74 68 22 2c 20  riables."path", 
1d3f0 22 63 6f 6d 73 70 65 63 22 2c 20 61 6e 64 20 22  "comspec", and "
1d400 77 69 6e 64 69 72 22 20 69 6e 20 61 6e 79 20 63  windir" in any c
1d410 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 61 72  apitalization ar
1d420 65 20 63 6f 6e 76 65 72 74 65 64 0a 61 75 74 6f  e converted.auto
1d430 6d 61 74 69 63 61 6c 6c 79 20 74 6f 20 75 70 70  matically to upp
1d440 65 72 20 63 61 73 65 2e 20 20 54 68 65 20 50 41  er case.  The PA
1d450 54 48 20 76 61 72 69 61 62 6c 65 20 63 6f 75 6c  TH variable coul
1d460 64 20 62 65 20 73 70 65 6c 6c 65 64 20 61 73 20  d be spelled as 
1d470 70 61 74 68 2c 0a 50 61 74 68 2c 20 50 61 54 68  path,.Path, PaTh
1d480 2c 20 65 74 63 2e 20 61 6e 64 20 69 74 20 6d 61  , etc. and it ma
1d490 6b 65 73 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20  kes programming 
1d4a0 72 61 74 68 65 72 20 61 6e 6e 6f 79 69 6e 67 2e  rather annoying.
1d4b0 20 20 41 6c 6c 20 6f 74 68 65 72 0a 65 6e 76 69    All other.envi
1d4c0 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
1d4d0 73 20 61 72 65 20 6c 65 66 74 20 61 6c 6f 6e 65  s are left alone
1d4e0 2e 20 28 43 53 29 0a 0a 31 2f 32 30 2f 39 37 20  . (CS)..1/20/97 
1d4f0 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 52  (new features) R
1d500 65 77 72 6f 74 65 20 74 68 65 20 22 6c 73 6f 72  ewrote the "lsor
1d510 74 22 20 63 6f 6d 6d 61 6e 64 3a 0a 20 20 20 20  t" command:.    
1d520 2d 20 54 68 65 20 6e 65 77 20 76 65 72 73 69 6f  - The new versio
1d530 6e 20 69 73 20 62 61 73 65 64 20 6f 6e 20 72 65  n is based on re
1d540 65 6e 74 72 61 6e 74 20 6d 65 72 67 65 20 73 6f  entrant merge so
1d550 72 74 20 63 6f 64 65 20 70 72 6f 76 69 64 65 64  rt code provided
1d560 0a 20 20 20 20 20 20 62 79 20 52 69 63 68 61 72  .      by Richar
1d570 64 20 48 69 70 70 2c 20 73 6f 20 69 74 20 65 6c  d Hipp, so it el
1d580 69 6d 69 6e 61 74 65 73 20 74 68 65 20 72 65 65  iminates the ree
1d590 6e 74 72 61 6e 63 79 20 61 6e 64 20 73 74 61 62  ntrancy and stab
1d5a0 69 6c 69 74 79 0a 20 20 20 20 20 20 70 72 6f 62  ility.      prob
1d5b0 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20 6f 6c  lems with the ol
1d5c0 64 20 71 73 6f 72 74 2d 62 61 73 65 64 20 69 6d  d qsort-based im
1d5d0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20  plementation..  
1d5e0 20 20 2d 20 54 68 65 20 6e 65 77 20 76 65 72 73    - The new vers
1d5f0 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 61 20 2d  ion supports a -
1d600 64 69 63 74 69 6f 6e 61 72 79 20 6f 70 74 69 6f  dictionary optio
1d610 6e 20 66 6f 72 20 73 6f 72 74 69 6e 67 2c 20 61  n for sorting, a
1d620 6e 64 0a 20 20 20 20 20 20 69 74 20 61 6c 73 6f  nd.      it also
1d630 20 73 75 70 70 6f 72 74 73 20 61 20 2d 69 6e 64   supports a -ind
1d640 65 78 20 6f 70 74 69 6f 6e 20 66 6f 72 20 73 6f  ex option for so
1d650 72 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e  rting lists usin
1d660 67 20 6f 6e 65 0a 20 20 20 20 20 20 65 6c 65 6d  g one.      elem
1d670 65 6e 74 20 66 6f 72 20 63 6f 6d 70 61 72 69 73  ent for comparis
1d680 6f 6e 2e 0a 20 20 20 20 2d 20 54 68 65 20 6e 65  on..    - The ne
1d690 77 20 76 65 72 73 69 6f 6e 20 69 73 20 61 6e 20  w version is an 
1d6a0 6f 62 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 2c 20  object command, 
1d6b0 73 6f 20 69 74 20 77 6f 72 6b 73 20 77 65 6c 6c  so it works well
1d6c0 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20   with the.      
1d6d0 54 63 6c 20 63 6f 6d 70 69 6c 65 72 2c 20 65 73  Tcl compiler, es
1d6e0 70 65 63 69 61 6c 6c 79 20 69 6e 20 63 6f 6e 6a  pecially in conj
1d6f0 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65  unction with the
1d700 20 6e 65 77 20 2d 69 6e 64 65 78 0a 20 20 20 20   new -index.    
1d710 20 20 6f 70 74 69 6f 6e 2e 20 20 57 68 65 6e 20    option.  When 
1d720 74 68 65 20 2d 69 6e 64 65 78 20 6f 70 74 69 6f  the -index optio
1d730 6e 20 69 73 20 75 73 65 64 2c 20 74 68 69 73 20  n is used, this 
1d740 76 65 72 73 69 6f 6e 20 6f 66 20 6c 73 6f 72 74  version of lsort
1d750 0a 20 20 20 20 20 20 69 73 20 6d 6f 72 65 20 74  .      is more t
1d760 68 61 6e 20 31 30 30 20 74 69 6d 65 73 20 66 61  han 100 times fa
1d770 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 54 63  ster than the Tc
1d780 6c 20 37 2e 36 20 6c 73 6f 72 74 2c 20 77 68 69  l 7.6 lsort, whi
1d790 63 68 20 68 61 64 0a 20 20 20 20 20 20 74 6f 20  ch had.      to 
1d7a0 75 73 65 20 74 68 65 20 2d 63 6f 6d 6d 61 6e 64  use the -command
1d7b0 20 6f 70 74 69 6f 6e 20 74 6f 20 67 65 74 20 74   option to get t
1d7c0 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 2e 20  he same effect. 
1d7d0 28 4a 4f 29 0a 0a 31 2f 32 30 2f 39 37 20 28 66  (JO)..1/20/97 (f
1d7e0 65 61 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65  eature improveme
1d7f0 6e 74 73 29 20 41 64 64 65 64 20 74 68 65 20 69  nts) Added the i
1d800 6d 70 72 6f 76 65 64 20 64 65 62 75 67 67 69 6e  mproved debuggin
1d810 67 20 73 75 70 70 6f 72 74 20 66 6f 72 20 54 63  g support for Tc
1d820 6c 0a 6f 62 6a 65 63 74 73 20 70 72 6f 74 6f 74  l.objects protot
1d830 79 70 65 64 20 62 79 20 4b 61 72 6c 20 4c 65 68  yped by Karl Leh
1d840 65 6e 62 61 75 65 72 20 3c 6b 61 72 6c 40 68 61  enbauer <karl@ha
1d850 6d 6d 65 72 31 2e 6f 70 73 2e 4e 65 6f 53 6f 66  mmer1.ops.NeoSof
1d860 74 2e 63 6f 6d 3e 2e 0a 49 66 20 54 43 4c 5f 4d  t.com>..If TCL_M
1d870 45 4d 5f 44 45 42 55 47 20 69 73 20 64 65 66 69  EM_DEBUG is defi
1d880 6e 65 64 2c 20 74 68 65 20 6f 62 6a 65 63 74 20  ned, the object 
1d890 63 72 65 61 74 69 6f 6e 20 63 61 6c 6c 73 20 75  creation calls u
1d8a0 73 65 20 54 63 6c 5f 44 62 43 6b 61 6c 6c 6f 63  se Tcl_DbCkalloc
1d8b0 0a 64 69 72 65 63 74 6c 79 20 69 6e 20 6f 72 64  .directly in ord
1d8c0 65 72 20 74 6f 20 72 65 63 6f 72 64 20 74 68 65  er to record the
1d8d0 20 63 61 6c 6c 65 72 27 73 20 73 6f 75 72 63 65   caller's source
1d8e0 20 66 69 6c 65 20 6e 61 6d 65 20 61 6e 64 20 6c   file name and l
1d8f0 69 6e 65 0a 6e 75 6d 62 65 72 2e 20 28 42 4c 29  ine.number. (BL)
1d900 0a 0a 31 2f 32 31 2f 39 37 20 28 72 65 6d 6f 76  ..1/21/97 (remov
1d910 65 64 20 66 65 61 74 75 72 65 29 20 44 65 73 75  ed feature) Desu
1d920 70 70 6f 72 74 65 64 20 74 68 65 20 74 63 6c 5f  pported the tcl_
1d930 70 72 65 63 69 73 69 6f 6e 20 76 61 72 69 61 62  precision variab
1d940 6c 65 3a 20 69 66 0a 73 65 74 2c 20 69 74 20 69  le: if.set, it i
1d950 73 20 69 67 6e 6f 72 65 64 2e 20 20 54 63 6c 20  s ignored.  Tcl 
1d960 6e 6f 77 20 75 73 65 73 20 74 68 65 20 66 75 6c  now uses the ful
1d970 6c 20 31 37 20 64 69 67 69 74 73 20 6f 66 20 70  l 17 digits of p
1d980 72 65 63 69 73 69 6f 6e 20 77 68 65 6e 0a 63 6f  recision when.co
1d990 6e 76 65 72 74 69 6e 67 20 72 65 61 6c 20 6e 75  nverting real nu
1d9a0 6d 62 65 72 73 20 74 6f 20 73 74 72 69 6e 67 73  mbers to strings
1d9b0 20 28 77 69 74 68 20 74 68 65 20 6e 65 77 20 6f   (with the new o
1d9c0 62 6a 65 63 74 20 73 79 73 74 65 6d 20 72 65 61  bject system rea
1d9d0 6c 0a 6e 75 6d 62 65 72 73 20 61 72 65 20 72 61  l.numbers are ra
1d9e0 72 65 6c 79 20 63 6f 6e 76 65 72 74 65 64 20 74  rely converted t
1d9f0 6f 20 73 74 72 69 6e 67 73 20 73 6f 20 74 68 65  o strings so the
1da00 72 65 20 69 73 20 6e 6f 20 65 66 66 69 63 69 65  re is no efficie
1da10 6e 63 79 0a 64 69 73 61 64 76 61 6e 74 61 67 65  ncy.disadvantage
1da20 20 74 6f 20 70 72 69 6e 74 69 6e 67 20 61 6c 6c   to printing all
1da30 20 31 37 20 64 69 67 69 74 73 3b 20 74 68 65 20   17 digits; the 
1da40 6e 65 77 20 73 63 68 65 6d 65 20 69 6d 70 72 6f  new scheme impro
1da50 76 65 73 0a 61 63 63 75 72 61 63 79 20 61 6e 64  ves.accuracy and
1da60 20 73 69 6d 70 6c 69 66 69 65 73 20 73 65 76 65   simplifies seve
1da70 72 61 6c 20 41 50 49 73 29 2e 20 28 4a 4f 29 0a  ral APIs). (JO).
1da80 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
1da90 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
1daa0 2a 0a 0a 31 2f 32 31 2f 39 37 20 28 66 65 61 74  *..1/21/97 (feat
1dab0 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 6d 6f  ure change) Remo
1dac0 76 65 64 20 74 68 65 20 22 69 6e 74 65 72 70 22  ved the "interp"
1dad0 20 61 72 67 75 6d 65 6e 74 20 66 6f 72 20 74 68   argument for th
1dae0 65 0a 70 72 6f 63 65 64 75 72 65 73 20 54 63 6c  e.procedures Tcl
1daf0 5f 47 65 74 53 74 72 69 6e 67 46 72 6f 6d 4f 62  _GetStringFromOb
1db00 6a 2c 20 54 63 6c 5f 53 74 72 69 6e 67 4f 62 6a  j, Tcl_StringObj
1db10 41 70 70 65 6e 64 2c 20 61 6e 64 0a 54 63 6c 5f  Append, and.Tcl_
1db20 53 74 72 69 6e 67 4f 62 6a 41 70 70 65 6e 64 4f  StringObjAppendO
1db30 62 6a 2e 20 20 41 6c 73 6f 20 72 65 6d 6f 76 65  bj.  Also remove
1db40 64 20 74 68 65 20 22 69 6e 74 65 72 70 22 20 61  d the "interp" a
1db50 72 67 75 6d 65 6e 74 20 66 6f 72 0a 74 68 65 20  rgument for.the 
1db60 75 70 64 61 74 65 53 74 72 69 6e 67 50 72 6f 63  updateStringProc
1db70 20 70 72 6f 63 65 64 75 72 65 20 69 6e 20 54 63   procedure in Tc
1db80 6c 5f 4f 62 6a 54 79 70 65 20 73 74 72 75 63 74  l_ObjType struct
1db90 75 72 65 73 2e 20 20 57 69 74 68 0a 74 68 65 20  ures.  With.the 
1dba0 74 63 6c 5f 70 72 65 63 69 73 69 6f 6e 20 63 68  tcl_precision ch
1dbb0 61 6e 67 65 73 20 61 62 6f 76 65 2c 20 74 68 65  anges above, the
1dbc0 73 65 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 72  se are no longer
1dbd0 20 6e 65 65 64 65 64 2e 20 28 4a 4f 29 0a 2a 2a   needed. (JO).**
1dbe0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
1dbf0 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
1dc00 20 54 63 6c 20 38 2e 30 61 31 2c 20 62 75 74 20   Tcl 8.0a1, but 
1dc10 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36  not with Tcl 7.6
1dc20 20 2a 2a 2a 0a 0a 31 2f 32 32 2f 39 37 20 28 62   ***..1/22/97 (b
1dc30 75 67 20 66 69 78 29 20 46 69 78 65 64 20 68 74  ug fix) Fixed ht
1dc40 74 70 2e 74 63 6c 20 73 6f 20 74 68 61 74 20 68  tp.tcl so that h
1dc50 74 74 70 5f 72 65 73 65 74 20 64 6f 65 73 20 6e  ttp_reset does n
1dc60 6f 74 20 72 65 73 75 6c 74 20 69 6e 0a 61 6e 20  ot result in.an 
1dc70 65 78 74 72 61 20 63 61 6c 6c 20 74 6f 20 74 68  extra call to th
1dc80 65 20 63 6f 6d 6d 61 6e 64 20 63 61 6c 6c 62 61  e command callba
1dc90 63 6b 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e  ck.  In addition
1dca0 2c 20 69 66 20 74 68 65 20 74 72 61 6e 73 61 63  , if the transac
1dcb0 74 69 6f 6e 0a 67 65 74 73 20 61 20 70 72 65 6d  tion.gets a prem
1dcc0 61 74 75 72 65 20 65 6f 66 2c 20 74 68 65 20 73  ature eof, the s
1dcd0 74 61 74 65 28 73 74 61 74 75 73 29 20 69 73 20  tate(status) is 
1dce0 22 65 6f 66 22 2c 20 6e 6f 74 20 22 6f 6b 22 2e  "eof", not "ok".
1dcf0 20 28 42 57 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   (BW)..---------
1dd00 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
1dd10 64 20 38 2e 30 61 32 2c 20 31 2f 32 34 2f 39 37  d 8.0a2, 1/24/97
1dd20 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
1dd30 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32 39 2f 39  --------..1/29/9
1dd40 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  7 (feature chang
1dd50 65 29 20 43 68 61 6e 67 65 64 20 68 6f 77 20 74  e) Changed how t
1dd60 77 6f 20 64 69 67 69 74 20 79 65 61 72 73 20 61  wo digit years a
1dd70 72 65 20 70 61 72 73 65 64 20 69 6e 20 74 68 65  re parsed in the
1dd80 0a 63 6c 6f 63 6b 20 63 6f 6d 6d 61 6e 64 2e 20  .clock command. 
1dd90 20 54 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61   The old interfa
1dda0 63 65 20 6a 75 73 74 20 61 64 64 65 64 20 31 39  ce just added 19
1ddb0 30 30 20 77 68 69 63 68 20 77 69 6c 6c 20 73 65  00 which will se
1ddc0 65 6d 0a 62 72 6f 6b 65 6e 20 62 79 20 74 68 65  em.broken by the
1ddd0 20 79 65 61 72 20 32 30 30 30 2e 20 20 54 68 65   year 2000.  The
1dde0 20 6e 65 77 20 73 63 68 65 6d 65 20 66 6f 6c 6c   new scheme foll
1ddf0 6f 77 73 20 74 68 65 20 50 4f 53 49 58 20 73 74  ows the POSIX st
1de00 61 6e 64 61 72 64 0a 61 6e 64 20 74 72 65 61 74  andard.and treat
1de10 73 20 64 61 74 65 73 20 37 30 2d 39 39 20 61 73  s dates 70-99 as
1de20 20 31 39 37 30 2d 31 39 39 39 20 61 6e 64 20 64   1970-1999 and d
1de30 61 74 65 73 20 30 30 2d 33 38 20 61 73 20 32 30  ates 00-38 as 20
1de40 30 30 2d 32 30 33 38 2e 20 20 41 6c 6c 0a 6f 74  00-2038.  All.ot
1de50 68 65 72 20 74 77 6f 20 64 69 67 69 74 20 64 61  her two digit da
1de60 74 65 73 20 61 72 65 20 75 6e 64 65 66 69 6e 65  tes are undefine
1de70 64 2e 20 28 52 4a 29 0a 2a 2a 2a 20 50 4f 54 45  d. (RJ).*** POTE
1de80 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
1de90 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32 2f 34 2f 39  ILITY ***..2/4/9
1dea0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
1deb0 64 20 62 75 67 20 69 6e 20 63 6c 6f 63 6b 20 63  d bug in clock c
1dec0 6f 64 65 20 74 68 61 74 20 64 65 61 6c 74 20 77  ode that dealt w
1ded0 69 74 68 20 72 65 6c 61 74 69 76 65 0a 64 61 74  ith relative.dat
1dee0 65 73 2e 20 20 55 73 69 6e 67 20 74 68 65 20 72  es.  Using the r
1def0 65 6c 61 74 69 76 65 20 6d 6f 6e 74 68 20 63 6f  elative month co
1df00 64 65 20 79 6f 75 20 63 6f 75 6c 64 20 67 65 74  de you could get
1df10 20 61 6e 20 69 6e 76 61 6c 69 64 20 64 61 74 65   an invalid date
1df20 0a 62 65 63 61 75 73 65 20 69 74 20 6a 75 6d 70  .because it jump
1df30 65 64 20 69 6e 74 6f 20 61 20 6e 6f 6e 2d 65 78  ed into a non-ex
1df40 69 73 74 61 6e 74 20 64 61 79 2e 20 20 28 46 6f  istant day.  (Fo
1df50 72 20 65 78 61 6d 70 6c 65 2c 20 4a 61 6e 20 33  r example, Jan 3
1df60 31 0a 74 6f 20 46 65 62 20 33 31 2e 29 20 20 54  1.to Feb 31.)  T
1df70 68 65 20 63 6f 64 65 20 6e 6f 77 20 77 69 6c 6c  he code now will
1df80 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74   return the last
1df90 20 76 61 6c 69 64 20 64 61 79 20 6f 66 20 74 68   valid day of th
1dfa0 65 0a 6d 6f 6e 74 68 20 69 6e 20 74 68 65 73 65  e.month in these
1dfb0 20 73 69 74 75 61 74 69 6f 6e 73 2e 20 20 54 68   situations.  Th
1dfc0 61 6e 6b 73 20 74 6f 20 48 75 6d 65 20 53 6d 69  anks to Hume Smi
1dfd0 74 68 20 66 6f 72 20 73 65 6e 64 69 6e 67 20 69  th for sending i
1dfe0 6e 0a 74 68 69 73 20 62 75 67 20 66 69 78 2e 20  n.this bug fix. 
1dff0 20 28 52 4a 29 0a 0a 32 2f 31 30 2f 39 37 20 28   (RJ)..2/10/97 (
1e000 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
1e010 45 6c 69 6d 69 6e 61 74 65 64 20 54 63 6c 5f 53  Eliminated Tcl_S
1e020 74 72 69 6e 67 4f 62 6a 41 70 70 65 6e 64 20 61  tringObjAppend a
1e030 6e 64 20 0a 54 63 6c 5f 53 74 72 69 6e 67 4f 62  nd .Tcl_StringOb
1e040 6a 41 70 70 65 6e 64 4f 62 6a 20 70 72 6f 63 65  jAppendObj proce
1e050 64 75 72 65 73 2c 20 72 65 70 6c 61 63 65 64 20  dures, replaced 
1e060 74 68 65 6d 20 77 69 74 68 20 54 63 6c 5f 41 70  them with Tcl_Ap
1e070 70 65 6e 64 54 6f 4f 62 6a 0a 61 6e 64 20 54 63  pendToObj.and Tc
1e080 6c 5f 41 70 70 65 6e 64 53 74 72 69 6e 67 73 54  l_AppendStringsT
1e090 6f 4f 62 6a 20 70 72 6f 63 65 64 75 72 65 73 2e  oObj procedures.
1e0a0 20 20 41 64 64 65 64 20 6e 65 77 20 70 72 6f 63    Added new proc
1e0b0 65 64 75 72 65 0a 54 63 6c 5f 53 65 74 4f 62 6a  edure.Tcl_SetObj
1e0c0 4c 65 6e 67 74 68 2e 20 28 4a 4f 29 0a 2a 2a 2a  Length. (JO).***
1e0d0 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
1e0e0 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
1e0f0 54 63 6c 20 38 2e 30 61 32 2c 20 62 75 74 20 6e  Tcl 8.0a2, but n
1e100 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20  ot with Tcl 7.6 
1e110 2a 2a 2a 0a 0a 32 2f 31 30 2f 39 37 20 28 6e 65  ***..2/10/97 (ne
1e120 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
1e130 20 54 63 6c 5f 57 72 6f 6e 67 4e 75 6d 41 72 67   Tcl_WrongNumArg
1e140 73 20 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20  s procedure for 
1e150 67 65 6e 65 72 61 74 69 6e 67 0a 65 72 72 6f 72  generating.error
1e160 20 6d 65 73 73 61 67 65 73 20 61 62 6f 75 74 20   messages about 
1e170 69 6e 63 6f 72 72 65 63 74 20 6e 75 6d 62 65 72  incorrect number
1e180 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 20 28   of arguments. (
1e190 4a 4f 29 0a 0a 32 2f 31 31 2f 39 37 20 28 6e 65  JO)..2/11/97 (ne
1e1a0 77 20 66 65 61 74 75 72 65 2c 20 62 75 67 20 66  w feature, bug f
1e1b0 69 78 29 20 68 74 74 70 20 70 61 63 6b 61 67 65  ix) http package
1e1c0 2e 20 20 41 64 64 65 64 20 2d 61 63 63 65 70 74  .  Added -accept
1e1d0 20 74 6f 20 68 74 74 70 5f 63 6f 6e 66 69 67 0a   to http_config.
1e1e0 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74  so you can set t
1e1f0 68 65 20 41 63 63 65 70 74 20 68 65 61 64 65 72  he Accept header
1e200 2e 20 20 41 64 64 65 64 20 2d 68 61 6e 64 6c 65  .  Added -handle
1e210 72 20 6f 70 74 69 6f 6e 20 74 6f 20 68 74 74 70  r option to http
1e220 5f 67 65 74 20 73 6f 0a 79 6f 75 20 63 61 6e 20  _get so.you can 
1e230 73 75 70 70 6c 79 20 79 6f 75 72 20 6f 77 6e 20  supply your own 
1e240 64 61 74 61 20 68 61 6e 64 6c 65 72 2e 20 20 41  data handler.  A
1e250 6c 73 6f 20 66 69 78 65 64 20 50 4f 53 54 20 6f  lso fixed POST o
1e260 70 65 72 61 74 69 6f 6e 20 74 6f 0a 73 65 74 20  peration to.set 
1e270 74 68 65 20 63 6f 72 72 65 63 74 20 4d 49 4d 45  the correct MIME
1e280 20 74 79 70 65 20 6f 6e 20 74 68 65 20 72 65 71   type on the req
1e290 75 65 73 74 2e 20 28 42 57 29 0a 0a 32 2f 32 32  uest. (BW)..2/22
1e2a0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
1e2b0 78 65 64 20 62 75 67 20 74 68 61 74 20 63 61 75  xed bug that cau
1e2c0 73 65 64 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72  sed $tcl_platfor
1e2d0 6d 28 6f 73 56 65 72 73 69 6f 6e 29 20 74 6f 20  m(osVersion) to 
1e2e0 62 65 0a 63 6f 6d 70 75 74 65 64 20 69 6e 63 6f  be.computed inco
1e2f0 72 72 65 63 74 6c 79 20 75 6e 64 65 72 20 41 49  rrectly under AI
1e300 58 2e 20 28 4a 4f 29 0a 0a 32 2f 32 35 2f 39 37  X. (JO)..2/25/97
1e310 20 28 6e 65 77 20 66 65 61 74 75 72 65 2c 20 66   (new feature, f
1e320 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 41  eature change) A
1e330 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
1e340 20 62 6f 74 68 20 69 6e 74 20 61 6e 64 20 6c 6f   both int and lo
1e350 6e 67 0a 69 6e 74 65 67 65 72 20 6f 62 6a 65 63  ng.integer objec
1e360 74 73 2e 20 41 64 64 65 64 20 54 63 6c 5f 4e 65  ts. Added Tcl_Ne
1e370 77 4c 6f 6e 67 4f 62 6a 2f 54 63 6c 5f 47 65 74  wLongObj/Tcl_Get
1e380 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 2f 54 63 6c 5f  LongFromObj/Tcl_
1e390 53 65 74 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 0a 70  SetLongFromObj.p
1e3a0 72 6f 63 65 64 75 72 65 73 20 61 6e 64 20 72 65  rocedures and re
1e3b0 6e 61 6d 65 64 20 74 68 65 20 54 63 6c 5f 4f 62  named the Tcl_Ob
1e3c0 6a 20 69 6e 74 65 72 6e 61 6c 52 65 70 20 69 6e  j internalRep in
1e3d0 74 56 61 6c 75 65 20 6d 65 6d 62 65 72 20 74 6f  tValue member to
1e3e0 0a 6c 6f 6e 67 56 61 6c 75 65 2e 20 54 63 6c 5f  .longValue. Tcl_
1e3f0 47 65 74 49 6e 74 46 72 6f 6d 4f 62 6a 20 6e 6f  GetIntFromObj no
1e400 77 20 63 68 65 63 6b 73 20 66 6f 72 20 69 6e 74  w checks for int
1e410 65 67 65 72 20 76 61 6c 75 65 73 20 74 6f 6f 20  eger values too 
1e420 6c 61 72 67 65 20 74 6f 0a 72 65 70 72 65 73 65  large to.represe
1e430 6e 74 20 61 73 20 6e 6f 6e 2d 6c 6f 6e 67 20 69  nt as non-long i
1e440 6e 74 65 67 65 72 73 2e 20 43 68 61 6e 67 65 64  ntegers. Changed
1e450 20 54 63 6c 5f 47 65 74 41 6c 6c 4f 62 6a 54 79   Tcl_GetAllObjTy
1e460 70 65 73 20 74 6f 0a 54 63 6c 5f 41 70 70 65 6e  pes to.Tcl_Appen
1e470 64 41 6c 6c 4f 62 6a 54 79 70 65 73 2e 20 28 42  dAllObjTypes. (B
1e480 4c 29 0a 0a 33 2f 35 2f 39 37 20 28 6e 65 77 20  L)..3/5/97 (new 
1e490 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 6e  feature) Added n
1e4a0 65 77 20 54 63 6c 5f 53 65 74 4c 69 73 74 4f 62  ew Tcl_SetListOb
1e4b0 6a 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 72  j procedure to r
1e4c0 6f 75 6e 64 20 6f 75 74 0a 63 6f 6c 6c 65 63 74  ound out.collect
1e4d0 69 6f 6e 20 6f 66 20 70 72 6f 63 65 64 75 72 65  ion of procedure
1e4e0 73 20 74 68 61 74 20 73 65 74 20 74 68 65 20 74  s that set the t
1e4f0 79 70 65 20 61 6e 64 20 76 61 6c 75 65 20 6f 66  ype and value of
1e500 20 65 78 69 73 74 69 6e 67 20 54 63 6c 0a 6f 62   existing Tcl.ob
1e510 6a 65 63 74 73 2e 20 28 42 4c 29 0a 0a 33 2f 36  jects. (BL)..3/6
1e520 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
1e530 29 20 41 64 64 65 64 20 2d 67 6c 6f 62 61 6c 20  ) Added -global 
1e540 66 6c 61 67 20 66 6f 72 20 69 6e 74 65 72 70 20  flag for interp 
1e550 69 6e 76 6f 6b 65 68 69 64 64 65 6e 2e 20 28 4a  invokehidden. (J
1e560 4c 29 0a 0a 33 2f 36 2f 39 37 20 28 6e 65 77 20  L)..3/6/97 (new 
1e570 66 65 61 74 75 72 65 2c 20 66 65 61 74 75 72 65  feature, feature
1e580 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20 69   change) Added i
1e590 73 4e 61 74 69 76 65 4f 62 6a 65 63 74 50 72 6f  sNativeObjectPro
1e5a0 63 20 66 69 65 6c 64 20 74 6f 20 74 68 65 0a 54  c field to the.T
1e5b0 63 6c 5f 43 6d 64 49 6e 66 6f 20 73 74 72 75 63  cl_CmdInfo struc
1e5c0 74 75 72 65 20 74 6f 20 69 6e 64 69 63 61 74 65  ture to indicate
1e5d0 20 28 77 68 65 6e 20 31 29 20 69 66 20 74 68 65   (when 1) if the
1e5e0 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 61 6e 0a   command has an.
1e5f0 6f 62 6a 65 63 74 2d 62 61 73 65 64 20 63 6f 6d  object-based com
1e600 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65 2e 20  mand procedure. 
1e610 52 65 6d 6f 76 65 64 20 74 68 65 20 6e 61 6d 65  Removed the name
1e620 4c 65 6e 67 74 68 20 61 72 67 20 66 72 6f 6d 0a  Length arg from.
1e630 54 63 6c 5f 43 72 65 61 74 65 4f 62 6a 43 6f 6d  Tcl_CreateObjCom
1e640 6d 61 6e 64 20 73 69 6e 63 65 20 63 6f 6d 6d 61  mand since comma
1e650 6e 64 20 6e 61 6d 65 73 20 63 61 6e 27 74 20 63  nd names can't c
1e660 6f 6e 74 61 69 6e 20 6e 75 6c 6c 20 63 68 61 72  ontain null char
1e670 61 63 74 65 72 73 2e 20 28 42 4c 29 0a 0a 33 2f  acters. (BL)..3/
1e680 36 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46  6/97 (bug fix) F
1e690 69 78 65 64 20 62 75 67 20 69 6e 20 22 75 6e 6b  ixed bug in "unk
1e6a0 6e 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 20  nown" procedure 
1e6b0 74 68 61 74 20 63 61 75 73 65 64 20 61 75 74 6f  that caused auto
1e6c0 2d 0a 6c 6f 61 64 69 6e 67 20 74 6f 20 66 61 69  -.loading to fai
1e6d0 6c 20 6f 6e 20 63 6f 6d 6d 61 6e 64 73 20 77 68  l on commands wh
1e6e0 6f 73 65 20 6e 61 6d 65 73 20 62 65 67 69 6e 20  ose names begin 
1e6f0 77 69 74 68 20 64 69 67 69 74 73 2e 20 28 4a 4f  with digits. (JO
1e700 29 0a 0a 33 2f 37 2f 39 37 20 28 62 75 67 20 66  )..3/7/97 (bug f
1e710 69 78 29 20 41 75 74 6f 2d 6c 6f 61 64 69 6e 67  ix) Auto-loading
1e720 20 6e 6f 77 20 77 6f 72 6b 73 20 69 6e 20 53 61   now works in Sa
1e730 66 65 20 42 61 73 65 2e 20 53 61 66 65 20 69 6e  fe Base. Safe in
1e740 74 65 72 70 72 65 74 65 72 73 0a 6f 6e 6c 79 20  terpreters.only 
1e750 61 63 63 65 70 74 20 74 68 65 20 56 65 72 73 69  accept the Versi
1e760 6f 6e 20 32 20 61 6e 64 20 6f 6e 77 61 72 64 73  on 2 and onwards
1e770 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 73 2e   tclIndex files.
1e780 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39 37 20 28   (JL)..3/13/97 (
1e790 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63  bug fix) Fixed c
1e7a0 6f 72 65 20 64 75 6d 70 20 64 75 65 20 74 6f 20  ore dump due to 
1e7b0 69 6e 74 65 72 61 63 74 69 6f 6e 20 62 65 74 77  interaction betw
1e7c0 65 65 6e 20 61 6c 69 61 73 65 73 20 61 6e 64 0a  een aliases and.
1e7d0 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 2e  hidden commands.
1e7e0 20 42 75 67 20 66 6f 75 6e 64 20 62 79 20 4c 69   Bug found by Li
1e7f0 6e 64 73 61 79 20 4d 61 72 73 68 61 6c 6c 2e 20  ndsay Marshall. 
1e800 28 4a 4c 29 0a 0a 33 2f 31 34 2f 39 37 20 28 62  (JL)..3/14/97 (b
1e810 75 67 20 66 69 78 29 20 46 69 78 65 64 20 6d 61  ug fix) Fixed ma
1e820 63 20 62 75 67 73 20 72 65 6c 61 74 69 6e 67 20  c bugs relating 
1e830 74 6f 20 74 69 6d 65 2e 20 20 54 68 65 20 2d 67  to time.  The -g
1e840 6d 74 20 6f 70 74 69 6f 6e 0a 6e 6f 77 20 61 64  mt option.now ad
1e850 6a 75 73 74 73 20 74 68 65 20 74 69 6d 65 20 69  justs the time i
1e860 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 64 69  n the correct di
1e870 72 65 63 74 69 6f 6e 2e 20 20 28 54 68 61 6e 6b  rection.  (Thank
1e880 73 20 74 6f 20 45 64 20 48 75 6d 65 20 66 6f 72  s to Ed Hume for
1e890 0a 72 65 70 6f 72 74 69 6e 67 20 61 20 66 69 78  .reporting a fix
1e8a0 20 74 6f 20 74 68 69 73 20 70 72 6f 62 6c 65 6d   to this problem
1e8b0 2e 29 20 20 41 6c 73 6f 20 66 69 78 65 64 20 66  .)  Also fixed f
1e8c0 69 6c 65 20 22 6d 74 69 6d 65 22 20 65 74 63 2e  ile "mtime" etc.
1e8d0 20 74 6f 0a 72 65 74 75 72 6e 20 74 69 6d 65 73   to.return times
1e8e0 20 66 72 6f 6d 20 47 4d 54 20 72 61 74 68 65 72   from GMT rather
1e8f0 20 74 68 61 6e 20 6c 6f 63 61 6c 20 74 69 6d 65   than local time
1e900 20 7a 6f 6e 65 2e 20 20 28 52 4a 29 0a 0a 33 2f   zone.  (RJ)..3/
1e910 31 38 2f 39 37 20 28 66 65 61 74 75 72 65 20 63  18/97 (feature c
1e920 68 61 6e 67 65 29 20 44 65 63 6c 61 72 61 74 69  hange) Declarati
1e930 6f 6e 20 6f 66 20 6f 62 6a 76 20 69 6e 20 54 63  on of objv in Tc
1e940 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 20 66 75 6e  l_ObjCmdProc fun
1e950 63 74 69 6f 6e 0a 63 68 61 6e 67 65 64 20 66 72  ction.changed fr
1e960 6f 6d 20 22 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a  om "Tcl_Obj *obj
1e970 76 5b 5d 22 20 74 6f 20 22 54 63 6c 5f 4f 62 6a  v[]" to "Tcl_Obj
1e980 20 2a 43 4f 4e 53 54 20 6f 62 6a 76 5b 5d 22 2e   *CONST objv[]".
1e990 20 20 41 6c 6c 20 54 63 6c 20 6f 62 6a 65 63 74    All Tcl object
1e9a0 0a 63 6f 6d 6d 61 6e 64 73 20 63 68 61 6e 67 65  .commands change
1e9b0 64 20 74 6f 20 75 73 65 20 6e 65 77 20 64 65 63  d to use new dec
1e9c0 6c 61 72 61 74 69 6f 6e 20 6f 66 20 6f 62 6a 76  laration of objv
1e9d0 2e 20 20 4e 61 69 76 65 20 74 72 61 6e 73 6c 61  .  Naive transla
1e9e0 74 69 6f 6e 20 6f 66 0a 73 74 72 69 6e 67 2d 62  tion of.string-b
1e9f0 61 73 65 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f  ased command pro
1ea00 63 73 20 74 6f 20 6f 62 6a 65 63 74 2d 62 61 73  cs to object-bas
1ea10 65 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 73  ed command procs
1ea20 20 63 6f 75 6c 64 20 76 65 72 79 20 65 61 73 69   could very easi
1ea30 6c 79 0a 68 61 76 65 20 79 69 65 6c 64 65 64 20  ly.have yielded 
1ea40 63 6f 64 65 20 77 68 65 72 65 20 74 68 65 20 63  code where the c
1ea50 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 6f  ontents of the o
1ea60 62 6a 76 20 61 72 72 61 79 20 77 65 72 65 20 63  bjv array were c
1ea70 68 61 6e 67 65 64 2e 20 20 54 68 69 73 0a 69 73  hanged.  This.is
1ea80 20 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d 20 77   not a problem w
1ea90 69 74 68 20 73 74 72 69 6e 67 2d 62 61 73 65 64  ith string-based
1eaa0 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 73 2c 20   command procs, 
1eab0 62 75 74 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68  but doing someth
1eac0 69 6e 67 20 61 73 0a 73 69 6d 70 6c 65 20 61 73  ing as.simple as
1ead0 20 6f 62 6a 76 5b 32 5d 20 3d 20 6f 62 6a 76 5b   objv[2] = objv[
1eae0 33 5d 20 77 6f 75 6c 64 20 63 6f 72 72 75 70 74  3] would corrupt
1eaf0 20 74 68 65 20 72 75 6e 74 69 6d 65 20 73 74 61   the runtime sta
1eb00 63 6b 20 61 6e 64 20 63 61 75 73 65 20 54 63 6c  ck and cause Tcl
1eb10 20 74 6f 0a 63 72 61 73 68 2e 20 20 49 6e 74 72   to.crash.  Intr
1eb20 6f 64 75 63 65 64 20 43 4f 4e 53 54 20 69 6e 20  oduced CONST in 
1eb30 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 6f  declaration of o
1eb40 62 6a 76 20 73 6f 20 74 68 61 74 20 61 74 74 65  bjv so that atte
1eb50 6d 70 74 65 64 20 61 73 73 69 67 6e 6d 65 6e 74  mpted assignment
1eb60 0a 6f 66 20 6e 65 77 20 70 6f 69 6e 74 65 72 20  .of new pointer 
1eb70 76 61 6c 75 65 73 20 74 6f 20 65 6c 65 6d 65 6e  values to elemen
1eb80 74 73 20 6f 66 20 74 68 65 20 6f 62 6a 76 20 61  ts of the objv a
1eb90 72 72 61 79 20 77 69 6c 6c 20 62 65 20 63 61 75  rray will be cau
1eba0 67 68 74 20 62 79 20 74 68 65 0a 63 6f 6d 70 69  ght by the.compi
1ebb0 6c 65 72 2e 20 28 43 43 53 29 0a 2a 2a 2a 20 50  ler. (CCS).*** P
1ebc0 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
1ebd0 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
1ebe0 6c 20 38 2e 30 61 32 20 2a 2a 2a 0a 0a 33 2f 31  l 8.0a2 ***..3/1
1ebf0 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46  9/97 (bug fix) F
1ec00 69 78 65 64 20 70 61 6e 69 63 20 64 75 65 20 74  ixed panic due t
1ec10 6f 20 6f 62 6a 65 63 74 20 73 68 61 72 69 6e 67  o object sharing
1ec20 2e 20 54 68 65 20 72 6f 6f 74 20 63 61 75 73 65  . The root cause
1ec30 20 77 61 73 0a 74 68 61 74 20 6f 6c 64 20 63 6f   was.that old co
1ec40 64 65 20 77 61 73 20 75 73 69 6e 67 20 54 63 6c  de was using Tcl
1ec50 5f 52 65 73 65 74 52 65 73 75 6c 74 20 69 6e 73  _ResetResult ins
1ec60 74 65 61 64 20 6f 66 20 54 63 6c 5f 52 65 73 65  tead of Tcl_Rese
1ec70 74 4f 62 6a 52 65 73 75 6c 74 2e 20 28 4a 4c 29  tObjResult. (JL)
1ec80 0a 0a 33 2f 32 30 2f 39 37 20 28 6e 65 77 20 66  ..3/20/97 (new f
1ec90 65 61 74 75 72 65 29 20 41 64 64 65 64 20 61 20  eature) Added a 
1eca0 6e 65 77 20 73 75 62 63 6f 6d 6d 61 6e 64 20 66  new subcommand f
1ecb0 6f 72 20 74 68 65 20 66 69 6c 65 0a 63 6f 6d 6d  or the file.comm
1ecc0 61 6e 64 2e 20 66 69 6c 65 20 61 74 74 72 69 62  and. file attrib
1ecd0 75 74 65 73 20 66 69 6c 65 6e 61 6d 65 20 63 61  utes filename ca
1ece0 6e 20 67 69 76 65 20 61 20 6c 69 73 74 20 6f 66  n give a list of
1ecf0 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66   platform-specif
1ed00 69 63 0a 6f 70 74 69 6f 6e 73 20 28 73 75 63 68  ic.options (such
1ed10 20 61 73 20 66 69 6c 65 2f 63 72 65 61 74 6f 72   as file/creator
1ed20 20 74 79 70 65 20 6f 6e 20 74 68 65 20 4d 61 63   type on the Mac
1ed30 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e  , permissions on
1ed40 20 55 6e 69 78 29 20 6f 72 0a 73 65 74 20 74 68   Unix) or.set th
1ed50 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 6d  e values of them
1ed60 2e 20 41 64 64 65 64 20 61 20 6e 65 77 20 73 75  . Added a new su
1ed70 62 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65  bcommand for the
1ed80 20 66 69 6c 65 0a 63 6f 6d 6d 61 6e 64 2e 20 66   file.command. f
1ed90 69 6c 65 20 6e 61 74 69 76 65 6e 61 6d 65 20 6e  ile nativename n
1eda0 61 6d 65 20 67 69 76 65 73 20 62 61 63 6b 20 74  ame gives back t
1edb0 68 65 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63  he platform-spec
1edc0 69 66 69 63 20 66 6f 72 6d 0a 66 6f 72 20 74 68  ific form.for th
1edd0 65 20 66 69 6c 65 2e 20 54 68 69 73 20 69 73 20  e file. This is 
1ede0 75 73 65 66 75 6c 20 77 68 65 6e 20 74 68 65 20  useful when the 
1edf0 66 69 6c 65 6e 61 6d 65 20 69 73 20 6e 65 65 64  filename is need
1ee00 65 64 20 74 6f 20 70 61 73 73 20 74 6f 0a 74 68  ed to pass to.th
1ee10 65 20 4f 53 2c 20 73 75 63 68 20 61 73 20 65 78  e OS, such as ex
1ee20 65 63 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  ec under Windows
1ee30 20 39 35 20 6f 72 20 41 70 70 6c 65 53 63 72 69   95 or AppleScri
1ee40 70 74 20 6f 6e 20 74 68 65 20 4d 61 63 2e 20 46  pt on the Mac. F
1ee50 6f 72 0a 6d 6f 72 65 20 69 6e 66 6f 2c 20 73 65  or.more info, se
1ee60 65 20 66 69 6c 65 2e 6e 2e 20 28 53 52 50 29 0a  e file.n. (SRP).
1ee70 0a 33 2f 32 34 2f 39 37 20 28 72 65 6d 6f 76 65  .3/24/97 (remove
1ee80 64 20 66 65 61 74 75 72 65 29 20 52 65 6d 6f 76  d feature) Remov
1ee90 65 64 20 74 68 65 20 74 63 6c 5f 73 61 66 65 50  ed the tcl_safeP
1eea0 6f 6c 69 63 79 50 61 74 68 20 70 72 6f 63 65 64  olicyPath proced
1eeb0 75 72 65 2e 20 4e 6f 77 0a 74 68 65 20 70 6f 6c  ure. Now.the pol
1eec0 69 63 79 20 70 61 74 68 20 69 73 20 63 6f 6d 70  icy path is comp
1eed0 75 74 65 64 20 66 72 6f 6d 20 74 68 65 20 61 75  uted from the au
1eee0 74 6f 5f 70 61 74 68 20 62 79 20 61 70 70 65 6e  to_path by appen
1eef0 64 69 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f  ding the directo
1ef00 72 79 0a 27 70 6f 6c 69 63 69 65 73 27 20 74 6f  ry.'policies' to
1ef10 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 2e 20 41   each element. A
1ef20 6c 73 6f 20 66 69 78 65 64 20 73 65 76 65 72 61  lso fixed severa
1ef30 6c 20 62 75 67 73 20 69 6e 20 61 75 74 6f 6d 61  l bugs in automa
1ef40 74 69 63 20 74 72 61 63 6b 69 6e 67 0a 6f 66 20  tic tracking.of 
1ef50 61 75 74 6f 5f 70 61 74 68 20 62 79 20 63 6f 6d  auto_path by com
1ef60 70 75 74 65 64 20 70 6f 6c 69 63 79 20 70 61 74  puted policy pat
1ef70 68 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 50 4f 54 45  h. (JL).*** POTE
1ef80 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
1ef90 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 38  ILITY with Tcl 8
1efa0 2e 30 61 32 20 62 75 74 20 6e 6f 74 20 77 69 74  .0a2 but not wit
1efb0 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 34  h Tcl 7.6 ***..4
1efc0 2f 38 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  /8/97 (new featu
1efd0 72 65 29 20 49 66 20 74 68 65 20 76 61 72 69 61  re) If the varia
1efe0 62 6c 65 20 77 68 6f 73 65 20 6e 61 6d 65 20 69  ble whose name i
1eff0 73 20 70 61 73 73 65 64 20 74 6f 20 6c 61 70 70  s passed to lapp
1f000 65 6e 64 20 64 6f 65 73 6e 27 74 0a 61 6c 72 65  end doesn't.alre
1f010 61 64 79 20 65 78 69 73 74 2c 20 61 6e 64 20 74  ady exist, and t
1f020 68 65 72 65 20 61 72 65 20 6e 6f 20 76 61 6c 75  here are no valu
1f030 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 6c 61 70  e arguments, lap
1f040 70 65 6e 64 20 6e 6f 77 20 63 72 65 61 74 65 73  pend now creates
1f050 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 77 69   the.variable wi
1f060 74 68 20 61 6e 20 65 6d 70 74 79 20 76 61 6c 75  th an empty valu
1f070 65 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 74  e instead of ret
1f080 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 2e  urning an error.
1f090 20 43 68 61 6e 67 65 20 73 75 67 67 65 73 74 65   Change suggeste
1f0a0 64 0a 62 79 20 54 6f 6d 20 54 72 6f 6d 65 79 2e  d.by Tom Tromey.
1f0b0 20 28 42 4c 29 0a 0a 34 2f 39 2f 39 37 20 28 66   (BL)..4/9/97 (f
1f0c0 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43  eature change) C
1f0d0 68 61 6e 67 65 64 20 74 68 65 20 6e 61 6d 65 20  hanged the name 
1f0e0 6f 66 20 74 68 65 20 54 43 4c 5f 50 41 52 54 31  of the TCL_PART1
1f0f0 5f 4e 4f 54 5f 50 41 52 53 45 44 20 66 6c 61 67  _NOT_PARSED flag
1f100 20 74 6f 0a 54 43 4c 5f 50 41 52 53 45 5f 50 41   to.TCL_PARSE_PA
1f110 52 54 31 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f  RT1. (BL).*** PO
1f120 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
1f130 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
1f140 20 38 2e 30 61 32 20 62 75 74 20 6e 6f 74 20 77   8.0a2 but not w
1f150 69 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a  ith Tcl 7.6 ***.
1f160 0a 34 2f 31 30 2f 39 37 20 28 62 75 67 20 66 69  .4/10/97 (bug fi
1f170 78 65 73 29 20 46 69 78 65 64 20 76 61 72 69 6f  xes) Fixed vario
1f180 75 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72  us compilation-r
1f190 65 6c 61 74 65 64 20 62 75 67 73 3a 0a 20 20 20  elated bugs:.   
1f1a0 20 2d 20 22 55 70 64 61 74 65 53 74 72 69 6e 67   - "UpdateString
1f1b0 4f 66 43 6d 64 4e 61 6d 65 20 73 68 6f 75 6c 64  OfCmdName should
1f1c0 20 6e 65 76 65 72 20 62 65 20 69 6e 76 6f 6b 65   never be invoke
1f1d0 64 22 20 70 61 6e 69 63 2e 0a 20 20 20 20 2d 20  d" panic..    - 
1f1e0 42 61 64 20 63 6f 64 65 20 67 65 6e 65 72 61 74  Bad code generat
1f1f0 65 64 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f  ed for expressio
1f200 6e 73 20 6e 6f 74 20 69 6e 20 7b 7d 27 73 20 69  ns not in {}'s i
1f210 6e 73 69 64 65 20 63 61 74 63 68 20 63 6f 6d 6d  nside catch comm
1f220 61 6e 64 73 2e 0a 20 20 20 20 2d 20 53 65 67 6d  ands..    - Segm
1f230 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 20 69  entation fault i
1f240 6e 20 73 6f 6d 65 20 63 6f 6d 6d 61 6e 64 20 70  n some command p
1f250 72 6f 63 65 64 75 72 65 73 20 77 68 65 6e 20 74  rocedures when t
1f260 77 6f 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20  wo argument.    
1f270 20 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 72    object pointer
1f280 73 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 73  s refer to the s
1f290 61 6d 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20  ame object..    
1f2a0 2d 20 53 65 63 6f 6e 64 20 6c 65 76 65 6c 20 6f  - Second level o
1f2b0 66 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20  f substitutions 
1f2c0 77 65 72 65 20 6e 65 76 65 72 20 64 6f 6e 65 20  were never done 
1f2d0 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20  for expressions 
1f2e0 6e 6f 74 0a 20 20 20 20 20 20 69 6e 20 7b 7d 27  not.      in {}'
1f2f0 73 20 74 68 61 74 20 63 6f 6e 73 69 73 74 20 6f  s that consist o
1f300 66 20 61 20 73 69 6e 67 6c 65 20 76 61 72 69 61  f a single varia
1f310 62 6c 65 20 72 65 66 65 72 65 6e 63 65 3a 20 65  ble reference: e
1f320 2e 67 2e 2c 0a 20 20 20 20 20 20 22 73 65 74 20  .g.,.      "set 
1f330 78 20 32 37 3b 20 73 65 74 20 62 6f 6f 6c 20 7b  x 27; set bool {
1f340 24 78 7d 3b 20 69 66 20 24 62 6f 6f 6c 20 7b 70  $x}; if $bool {p
1f350 75 74 73 20 66 6f 6f 7d 22 20 77 6f 75 6c 64 20  uts foo}" would 
1f360 66 61 69 6c 20 77 69 74 68 20 65 72 72 6f 72 2e  fail with error.
1f370 0a 20 20 20 20 2d 20 42 61 64 20 63 6f 64 65 20  .    - Bad code 
1f380 67 65 6e 65 72 61 74 65 64 20 77 68 65 6e 20 63  generated when c
1f390 6f 64 65 20 73 74 6f 72 61 67 65 20 77 61 73 20  ode storage was 
1f3a0 67 72 6f 77 6e 20 77 68 69 6c 65 20 63 6f 6d 70  grown while comp
1f3b0 69 6c 69 6e 67 20 73 6f 6d 65 0a 20 20 20 20 20  iling some.     
1f3c0 20 65 78 70 72 65 73 73 69 6f 6e 73 3a 20 6f 6e   expressions: on
1f3d0 65 73 20 77 69 74 68 20 63 6f 6d 70 69 6c 61 74  es with compilat
1f3e0 69 6f 6e 20 65 72 72 6f 72 73 20 6f 72 20 63 6f  ion errors or co
1f3f0 6e 73 69 73 74 69 6e 67 20 6f 66 20 6f 6e 6c 79  nsisting of only
1f400 20 61 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c   a.      variabl
1f410 65 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20  e reference..   
1f420 20 2d 20 42 75 67 73 20 69 6e 76 6f 6c 76 69 6e   - Bugs involvin
1f430 67 20 6d 75 6c 74 69 70 6c 65 20 69 6e 74 65 72  g multiple inter
1f440 70 72 65 74 65 72 73 3a 20 77 61 73 6e 27 74 20  preters: wasn't 
1f450 63 68 65 63 6b 69 6e 67 20 74 68 61 74 20 61 0a  checking that a.
1f460 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 27        procedure'
1f470 73 20 63 6f 64 65 20 77 61 73 20 63 6f 6d 70 69  s code was compi
1f480 6c 65 64 20 66 6f 72 20 74 68 65 20 73 61 6d 65  led for the same
1f490 20 69 6e 74 65 72 70 72 65 74 65 72 20 61 73 20   interpreter as 
1f4a0 74 68 65 20 6f 6e 65 0a 20 20 20 20 20 20 65 78  the one.      ex
1f4b0 65 63 75 74 69 6e 67 20 69 74 2c 20 61 6e 64 20  ecuting it, and 
1f4c0 64 69 64 6e 27 74 20 69 6e 76 61 6c 69 64 61 74  didn't invalidat
1f4d0 65 20 63 6f 64 65 20 6f 6e 20 68 69 64 64 65 6e  e code on hidden
1f4e0 2d 65 78 70 6f 73 65 64 20 63 6f 6d 6d 61 6e 64  -exposed command
1f4f0 0a 20 20 20 20 20 20 74 72 61 6e 73 69 74 69 6f  .      transitio
1f500 6e 73 2e 0a 20 20 20 20 2d 20 22 42 61 64 20 73  ns..    - "Bad s
1f510 74 61 63 6b 20 74 6f 70 22 20 70 61 6e 69 63 20  tack top" panic 
1f520 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 73  when executing s
1f530 63 72 69 70 74 73 20 74 68 61 74 20 72 65 71 75  cripts that requ
1f540 69 72 65 20 61 20 68 75 67 65 0a 20 20 20 20 20  ire a huge.     
1f550 20 61 6d 6f 75 6e 74 20 6f 66 20 73 74 61 63 6b   amount of stack
1f560 20 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 49 6e   space..    - In
1f570 63 6f 72 72 65 63 74 20 73 68 61 72 69 6e 67 20  correct sharing 
1f580 6f 66 20 63 6f 64 65 20 66 6f 72 20 70 72 6f 63  of code for proc
1f590 65 64 75 72 65 20 62 6f 64 69 65 73 2c 20 61 6e  edure bodies, an
1f5a0 64 20 70 72 6f 63 65 64 75 72 65 20 63 6f 64 65  d procedure code
1f5b0 0a 20 20 20 20 20 20 64 65 61 6c 6c 6f 63 61 74  .      deallocat
1f5c0 65 64 20 62 65 66 6f 72 65 20 6c 61 73 74 20 65  ed before last e
1f5d0 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20  xecution of the 
1f5e0 70 72 6f 63 65 64 75 72 65 20 66 69 6e 69 73 68  procedure finish
1f5f0 65 64 2e 0a 20 20 20 20 2d 20 46 69 78 65 64 20  ed..    - Fixed 
1f600 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 65  compilation of e
1f610 78 70 72 65 73 73 69 6f 6e 20 77 6f 72 64 73 20  xpression words 
1f620 69 6e 20 71 75 6f 74 65 73 2e 20 46 6f 72 20 65  in quotes. For e
1f630 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 69 66  xample,.      if
1f640 20 22 30 20 3c 20 33 22 20 7b 70 75 74 73 20 66   "0 < 3" {puts f
1f650 6f 6f 7d 2e 0a 20 20 20 20 2d 20 46 69 78 65 64  oo}..    - Fixed
1f660 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67   performance bug
1f670 20 69 6e 20 61 72 72 61 79 20 73 65 74 20 63 6f   in array set co
1f680 6d 6d 61 6e 64 20 77 69 74 68 20 6c 61 72 67 65  mmand with large
1f690 20 61 73 73 69 67 6e 6d 65 6e 74 73 2e 0a 20 20   assignments..  
1f6a0 20 20 2d 20 54 63 6c 5f 53 65 74 4f 62 6a 4c 65    - Tcl_SetObjLe
1f6b0 6e 67 74 68 20 73 65 67 6d 65 6e 74 61 74 69 6f  ngth segmentatio
1f6c0 6e 20 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20  n fault setting 
1f6d0 6c 65 6e 67 74 68 20 6f 66 20 65 6d 70 74 79 20  length of empty 
1f6e0 6f 62 6a 65 63 74 2e 0a 20 20 20 20 2d 20 49 66  object..    - If
1f6f0 20 54 63 6c 5f 53 65 74 4f 62 6a 65 63 74 52 65   Tcl_SetObjectRe
1f700 73 75 6c 74 20 77 61 73 20 70 61 73 73 65 64 20  sult was passed 
1f710 74 68 65 20 73 61 6d 65 20 6f 62 6a 65 63 74 20  the same object 
1f720 61 73 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  as the interpret
1f730 65 72 27 73 0a 20 20 20 20 20 20 72 65 73 75 6c  er's.      resul
1f740 74 20 6f 62 6a 65 63 74 2c 20 69 74 20 66 72 65  t object, it fre
1f750 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 69 6e  ed the object in
1f760 73 74 65 61 64 20 6f 66 20 64 6f 69 6e 67 20 6e  stead of doing n
1f770 6f 74 68 69 6e 67 2e 20 42 75 67 20 66 69 78 0a  othing. Bug fix.
1f780 20 20 20 20 20 20 62 79 20 4d 69 63 68 61 65 6c        by Michael
1f790 20 4a 2e 20 4d 63 4c 65 6e 6e 61 6e 2e 0a 20 20   J. McLennan..  
1f7a0 20 20 2d 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 41    - Tcl_ListObjA
1f7b0 70 70 65 6e 64 4c 69 73 74 20 69 6e 73 65 72 74  ppendList insert
1f7c0 65 64 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d  ed elements from
1f7d0 20 74 68 65 20 77 72 6f 6e 67 20 6c 69 73 74 2e   the wrong list.
1f7e0 20 42 75 67 20 66 69 78 0a 20 20 20 20 20 20 62   Bug fix.      b
1f7f0 79 20 4d 69 63 68 61 65 6c 20 4a 2e 20 4d 63 4c  y Michael J. McL
1f800 65 6e 6e 61 6e 2e 0a 20 20 20 20 2d 20 53 65 67  ennan..    - Seg
1f810 6d 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 20  mentation fault 
1f820 69 66 20 65 6d 70 74 79 20 76 61 72 69 61 62 6c  if empty variabl
1f830 65 20 6c 69 73 74 20 77 61 73 20 73 70 65 63 69  e list was speci
1f840 66 69 65 64 20 69 6e 20 61 20 66 6f 72 65 61 63  fied in a foreac
1f850 68 0a 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2e  h.      command.
1f860 20 42 75 67 20 66 69 78 20 62 79 20 4a 61 6e 20   Bug fix by Jan 
1f870 4e 69 6a 74 6d 61 6e 73 2e 0a 20 20 20 20 2d 20  Nijtmans..    - 
1f880 4e 55 4c 4c 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d  NULL command nam
1f890 65 20 77 61 73 20 61 6c 77 61 79 73 20 70 61 73  e was always pas
1f8a0 73 65 64 20 74 6f 20 54 63 6c 5f 43 72 65 61 74  sed to Tcl_Creat
1f8b0 65 54 72 61 63 65 20 63 61 6c 6c 62 61 63 6b 0a  eTrace callback.
1f8c0 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65 2e        procedure.
1f8d0 0a 20 20 20 20 2d 20 57 72 6f 6e 67 20 73 74 72  .    - Wrong str
1f8e0 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69  ing representati
1f8f0 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72  on generated for
1f900 20 74 68 65 20 76 61 6c 75 65 20 4c 4f 4e 47 5f   the value LONG_
1f910 4d 49 4e 2e 0a 20 20 20 20 20 20 46 6f 72 20 65  MIN..      For e
1f920 78 61 6d 70 6c 65 2c 20 65 78 70 72 20 31 3c 3c  xample, expr 1<<
1f930 33 31 20 70 72 69 6e 74 65 64 20 69 6e 63 6f 72  31 printed incor
1f940 72 65 63 74 6c 79 20 6f 6e 20 61 20 33 32 20 62  rectly on a 32 b
1f950 69 74 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20  it machine..    
1f960 2d 20 22 73 65 74 20 7b 61 28 24 78 29 7d 20 31  - "set {a($x)} 1
1f970 22 20 73 74 6f 72 65 64 20 76 61 6c 75 65 20 69  " stored value i
1f980 6e 20 77 72 6f 6e 67 20 76 61 72 69 61 62 6c 65  n wrong variable
1f990 2e 0a 20 20 20 20 2d 20 54 63 6c 5f 47 65 74 42  ..    - Tcl_GetB
1f9a0 6f 6f 6c 65 61 6e 46 72 6f 6d 4f 62 6a 20 77 61  ooleanFromObj wa
1f9b0 73 20 6e 6f 74 20 63 68 65 63 6b 69 6e 67 20 66  s not checking f
1f9c0 6f 72 20 67 61 72 62 61 67 65 20 61 66 74 65 72  or garbage after
1f9d0 20 61 20 6e 75 6d 65 72 69 63 0a 20 20 20 20 20   a numeric.     
1f9e0 20 76 61 6c 75 65 2e 0a 20 20 20 20 2d 20 47 61   value..    - Ga
1f9f0 72 62 6c 65 64 20 22 62 61 64 20 6f 70 65 72 61  rbled "bad opera
1fa00 6e 64 20 74 79 70 65 22 20 65 72 72 6f 72 20 6d  nd type" error m
1fa10 65 73 73 61 67 65 20 77 68 65 6e 20 65 76 61 6c  essage when eval
1fa20 75 61 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f  uating expressio
1fa30 6e 73 0a 20 20 20 20 20 20 6e 6f 74 20 73 75 72  ns.      not sur
1fa40 72 6f 75 6e 64 65 64 20 62 79 20 7b 7d 27 73 2e  rounded by {}'s.
1fa50 20 28 42 4c 29 0a 0a 34 2f 31 36 2f 39 37 20 28   (BL)..4/16/97 (
1fa60 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 68 65  new feature) The
1fa70 20 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 6e 6f   expr command no
1fa80 77 20 68 61 73 20 74 68 65 20 22 72 61 6e 64 28  w has the "rand(
1fa90 29 22 20 61 6e 64 0a 22 73 72 61 6e 64 28 29 22  )" and."srand()"
1faa0 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 67   functions for g
1fab0 65 74 74 69 6e 67 20 72 61 6e 64 6f 6d 20 6e 75  etting random nu
1fac0 6d 62 65 72 73 20 69 6e 20 65 78 70 72 2e 20 28  mbers in expr. (
1fad0 52 4a 29 0a 0a 34 2f 32 33 2f 39 37 20 28 62 75  RJ)..4/23/97 (bu
1fae0 67 20 66 69 78 29 20 46 69 78 65 64 20 63 6f 72  g fix) Fixed cor
1faf0 65 20 64 75 6d 70 20 69 6e 20 62 67 65 72 72 6f  e dump in bgerro
1fb00 72 20 77 68 65 6e 20 74 68 65 20 65 72 72 6f 72  r when the error
1fb10 20 68 61 6e 64 6c 65 72 20 63 6f 6d 6d 61 6e 64   handler command
1fb20 0a 64 65 6c 65 74 65 73 20 74 68 65 20 63 75 72  .deletes the cur
1fb30 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65 72  rent interpreter
1fb40 2e 20 46 6f 75 6e 64 20 62 79 20 4a 75 65 72 67  . Found by Juerg
1fb50 65 6e 20 53 63 68 6f 65 6e 77 61 6c 64 2e 20 28  en Schoenwald. (
1fb60 4a 4c 29 0a 0a 34 2f 32 33 2f 39 37 20 28 66 65  JL)..4/23/97 (fe
1fb70 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54 68  ature change) Th
1fb80 65 20 6e 6f 74 69 66 69 65 72 20 69 6e 74 65 72  e notifier inter
1fb90 66 61 63 65 73 20 68 61 76 65 20 62 65 65 6e 20  faces have been 
1fba0 72 65 64 65 73 69 67 6e 65 64 0a 74 6f 20 6d 61  redesigned.to ma
1fbb0 6b 65 20 65 6d 62 65 64 64 69 6e 67 20 69 6e 20  ke embedding in 
1fbc0 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74  applications wit
1fbd0 68 20 65 78 74 65 72 6e 61 6c 20 65 76 65 6e 74  h external event
1fbe0 20 6c 6f 6f 70 73 20 70 6f 73 73 69 62 6c 65 2e   loops possible.
1fbf0 0a 41 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 74  .A number of int
1fc00 65 72 66 61 63 65 73 20 69 6e 20 74 68 65 20 6e  erfaces in the n
1fc10 6f 74 69 66 69 65 72 20 61 6e 64 20 74 68 65 20  otifier and the 
1fc20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20  channel drivers 
1fc30 68 61 76 65 0a 63 68 61 6e 67 65 64 2e 20 20 52  have.changed.  R
1fc40 65 66 65 72 20 74 6f 20 74 68 65 20 4e 6f 74 69  efer to the Noti
1fc50 66 69 65 72 2e 33 20 61 6e 64 20 43 72 74 43 68  fier.3 and CrtCh
1fc60 61 6e 6e 65 6c 2e 33 20 6d 61 6e 75 61 6c 20 65  annel.3 manual e
1fc70 6e 74 72 69 65 73 20 66 6f 72 0a 6d 6f 72 65 20  ntries for.more 
1fc80 64 65 74 61 69 6c 73 2e 20 28 53 53 29 0a 2a 2a  details. (SS).**
1fc90 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
1fca0 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
1fcb0 0a 34 2f 32 33 2f 39 37 20 28 72 65 6d 6f 76 65  .4/23/97 (remove
1fcc0 64 20 66 65 61 74 75 72 65 29 20 54 68 65 20 54  d feature) The T
1fcd0 63 6c 5f 46 69 6c 65 20 69 6e 74 65 72 66 61 63  cl_File interfac
1fce0 65 73 20 68 61 76 65 20 62 65 65 6e 20 72 65 6d  es have been rem
1fcf0 6f 76 65 64 2e 0a 54 68 65 20 54 63 6c 5f 43 72  oved..The Tcl_Cr
1fd00 65 61 74 65 46 69 6c 65 48 61 6e 64 6c 65 72 2f  eateFileHandler/
1fd10 54 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48 61  Tcl_DeleteFileHa
1fd20 6e 64 6c 65 72 20 69 6e 74 65 72 66 61 63 65 73  ndler interfaces
1fd30 20 6e 6f 77 20 74 61 6b 65 0a 55 6e 69 78 20 66   now take.Unix f
1fd40 64 27 73 20 61 6e 64 20 61 72 65 20 6f 6e 6c 79  d's and are only
1fd50 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 74 68   supported on th
1fd60 65 20 55 6e 69 78 20 70 6c 61 74 66 6f 72 6d 2e  e Unix platform.
1fd70 0a 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 46  .Tcl_GetChannelF
1fd80 69 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65 70  ile has been rep
1fd90 6c 61 63 65 64 20 77 69 74 68 20 54 63 6c 5f 47  laced with Tcl_G
1fda0 65 74 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 2e  etChannelHandle.
1fdb0 0a 54 63 6c 5f 4d 61 6b 65 46 69 6c 65 43 68 61  .Tcl_MakeFileCha
1fdc0 6e 6e 65 6c 20 6e 6f 77 20 74 61 6b 65 73 20 61  nnel now takes a
1fdd0 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69 66   platform specif
1fde0 69 63 20 66 69 6c 65 20 68 61 6e 64 6c 65 2e 20  ic file handle. 
1fdf0 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  (SS).*** POTENTI
1fe00 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
1fe10 54 59 20 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37 20  TY ***..4/23/97 
1fe20 28 72 65 6d 6f 76 65 64 20 66 65 61 74 75 72 65  (removed feature
1fe30 29 20 54 68 65 20 6d 6f 64 61 6c 20 74 69 6d 65  ) The modal time
1fe40 6f 75 74 20 69 6e 74 65 72 66 61 63 65 20 68 61  out interface ha
1fe50 73 20 62 65 65 6e 0a 72 65 6d 6f 76 65 64 20 28  s been.removed (
1fe60 54 63 6c 5f 43 72 65 61 74 65 4d 6f 64 61 6c 54  Tcl_CreateModalT
1fe70 69 6d 65 6f 75 74 2f 54 63 6c 5f 44 65 6c 65 74  imeout/Tcl_Delet
1fe80 65 4d 6f 64 61 6c 54 69 6d 65 6f 75 74 29 20 28  eModalTimeout) (
1fe90 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  SS).*** POTENTIA
1fea0 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
1feb0 59 20 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37 20 28  Y ***..4/23/97 (
1fec0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
1fed0 43 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20  Channel drivers 
1fee0 61 72 65 20 6e 6f 77 20 72 65 71 75 69 72 65 64  are now required
1fef0 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 0a 69 6d   to correctly.im
1ff00 70 6c 65 6d 65 6e 74 20 62 6c 6f 63 6b 69 6e 67  plement blocking
1ff10 20 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20 74   behavior when t
1ff20 68 65 79 20 61 72 65 20 69 6e 20 62 6c 6f 63 6b  hey are in block
1ff30 69 6e 67 20 6d 6f 64 65 2e 20 28 53 53 29 0a 2a  ing mode. (SS).*
1ff40 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
1ff50 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
1ff60 0a 0a 34 2f 32 33 2f 39 37 20 28 6e 65 77 20 66  ..4/23/97 (new f
1ff70 65 61 74 75 72 65 29 20 41 64 64 65 64 20 74 68  eature) Added th
1ff80 65 20 22 62 69 6e 61 72 79 22 20 63 6f 6d 6d 61  e "binary" comma
1ff90 6e 64 20 66 6f 72 20 6d 61 6e 69 70 75 6c 61 74  nd for manipulat
1ffa0 69 6e 67 0a 62 69 6e 61 72 79 20 73 74 72 69 6e  ing.binary strin
1ffb0 67 73 2e 20 41 6c 73 6f 2c 20 63 68 61 6e 67 65  gs. Also, change
1ffc0 64 20 74 68 65 20 22 70 75 74 73 22 2c 20 22 67  d the "puts", "g
1ffd0 65 74 73 22 2c 20 61 6e 64 20 22 72 65 61 64 22  ets", and "read"
1ffe0 20 63 6f 6d 6d 61 6e 64 73 0a 74 6f 20 70 72 65   commands.to pre
1fff0 73 65 72 76 65 20 65 6d 62 65 64 64 65 64 20 6e  serve embedded n
20000 75 6c 6c 73 2e 20 20 28 53 53 29 0a 0a 34 2f 32  ulls.  (SS)..4/2
20010 33 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  3/97 (new featur
20020 65 29 20 41 64 64 65 64 20 74 63 6c 5f 70 6c 61  e) Added tcl_pla
20030 74 66 6f 72 6d 28 62 79 74 65 4f 72 64 65 72 29  tform(byteOrder)
20040 20 65 6c 65 6d 65 6e 74 20 74 6f 20 74 68 65 0a   element to the.
20050 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 61 72 72  tcl_platform arr
20060 61 79 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74  ay to identify t
20070 68 65 20 6e 61 74 69 76 65 20 62 79 74 65 20 6f  he native byte o
20080 72 64 65 72 20 66 6f 72 20 74 68 65 20 63 75 72  rder for the cur
20090 72 65 6e 74 0a 68 6f 73 74 2e 20 28 53 53 29 0a  rent.host. (SS).
200a0 0a 34 2f 32 33 2f 39 37 20 28 62 75 67 20 66 69  .4/23/97 (bug fi
200b0 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
200c0 64 61 74 65 20 70 61 72 73 69 6e 67 20 61 72 6f  date parsing aro
200d0 75 6e 64 20 79 65 61 72 20 62 6f 75 6e 64 61 72  und year boundar
200e0 69 65 73 2e 20 28 53 53 29 0a 0a 34 2f 32 34 2f  ies. (SS)..4/24/
200f0 39 37 20 28 62 75 67 20 66 69 78 29 20 49 6e 20  97 (bug fix) In 
20100 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 63  the process of c
20110 6f 70 79 69 6e 67 20 61 20 66 69 6c 65 20 6f 77  opying a file ow
20120 6e 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 75  ned by another u
20130 73 65 72 2c 0a 54 63 6c 20 77 61 73 20 63 68 61  ser,.Tcl was cha
20140 6e 67 69 6e 67 20 74 68 65 20 6f 77 6e 65 72 20  nging the owner 
20150 6f 66 20 74 68 65 20 63 6f 70 79 20 62 61 63 6b  of the copy back
20160 20 74 6f 20 74 68 65 20 6f 77 6e 65 72 20 6f 66   to the owner of
20170 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 66 69   the original.fi
20180 6c 65 2c 20 74 68 65 72 65 66 6f 72 65 20 63 61  le, therefore ca
20190 75 73 69 6e 67 20 66 75 72 74 68 65 72 20 66 69  using further fi
201a0 6c 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f  le operations to
201b0 20 66 61 69 6c 20 62 65 63 61 75 73 65 20 74 68   fail because th
201c0 65 20 63 75 72 72 65 6e 74 0a 75 73 65 72 20 64  e current.user d
201d0 69 64 6e 27 74 20 6f 77 6e 20 74 68 65 20 63 6f  idn't own the co
201e0 70 79 20 61 6e 79 6d 6f 72 65 2e 20 20 54 68 65  py anymore.  The
201f0 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 63 6f   owner of the co
20200 70 79 20 69 73 20 6e 6f 77 20 6c 65 66 74 20 61  py is now left a
20210 73 20 74 68 65 0a 63 75 72 72 65 6e 74 20 75 73  s the.current us
20220 65 72 2e 20 28 43 43 53 29 0a 0a 34 2f 32 34 2f  er. (CCS)..4/24/
20230 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
20240 67 65 29 20 55 6e 64 65 72 20 57 69 6e 64 6f 77  ge) Under Window
20250 73 2c 20 64 6f 6e 27 74 20 61 75 74 6f 6d 61 74  s, don't automat
20260 69 63 61 6c 6c 79 20 75 70 70 65 72 63 61 73 65  ically uppercase
20270 20 74 68 65 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74   the.environment
20280 20 76 61 72 69 61 62 6c 65 20 22 77 69 6e 64 69   variable "windi
20290 72 22 20 2d 2d 20 69 74 27 73 20 73 75 70 70 6f  r" -- it's suppo
202a0 73 65 64 20 74 6f 20 62 65 20 6c 6f 77 65 72 20  sed to be lower 
202b0 63 61 73 65 2e 20 20 28 43 43 53 29 0a 0a 34 2f  case.  (CCS)..4/
202c0 32 39 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  29/97 (new featu
202d0 72 65 29 20 41 64 64 65 64 20 6e 61 6d 65 73 70  re) Added namesp
202e0 61 63 65 20 73 75 70 70 6f 72 74 20 62 61 73 65  ace support base
202f0 64 20 6f 6e 20 61 20 6e 61 6d 65 73 70 61 63 65  d on a namespace
20300 0a 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20  .implementation 
20310 62 79 20 4d 69 63 68 61 65 6c 20 4a 2e 20 4d 63  by Michael J. Mc
20320 4c 65 6e 6e 61 6e 20 6f 66 20 4c 75 63 65 6e 74  Lennan of Lucent
20330 20 54 65 63 68 6e 6f 6c 6f 67 69 65 73 2e 20 41   Technologies. A
20340 20 6e 61 6d 65 73 70 61 63 65 0a 65 6e 63 61 70   namespace.encap
20350 73 75 6c 61 74 65 73 20 61 20 63 6f 6c 6c 65 63  sulates a collec
20360 74 69 6f 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64 73  tion of commands
20370 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 74   and variables t
20380 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68  o ensure that th
20390 65 79 0a 77 6f 6e 27 74 20 69 6e 74 65 72 66 65  ey.won't interfe
203a0 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20  re the commands 
203b0 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 6f 66  and variables of
203c0 20 6f 74 68 65 72 20 6e 61 6d 65 73 70 61 63 65   other namespace
203d0 73 2e 20 54 68 65 20 67 6c 6f 62 61 6c 0a 6e 61  s. The global.na
203e0 6d 65 73 70 61 63 65 20 68 6f 6c 64 73 20 61 6c  mespace holds al
203f0 6c 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c  l global variabl
20400 65 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 2e  es and commands.
20410 20 41 64 64 69 74 69 6f 6e 61 6c 20 6e 61 6d 65   Additional name
20420 73 70 61 63 65 73 20 61 72 65 0a 63 72 65 61 74  spaces are.creat
20430 65 64 20 77 69 74 68 20 74 68 65 20 6e 65 77 20  ed with the new 
20440 6e 61 6d 65 73 70 61 63 65 20 63 6f 6d 6d 61 6e  namespace comman
20450 64 2e 20 54 68 65 20 6e 65 77 20 76 61 72 69 61  d. The new varia
20460 62 6c 65 20 63 6f 6d 6d 61 6e 64 20 6c 65 74 73  ble command lets
20470 20 79 6f 75 0a 63 72 65 61 74 65 20 54 63 6c 20   you.create Tcl 
20480 76 61 72 69 61 62 6c 65 73 20 69 6e 73 69 64 65  variables inside
20490 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 20 54 68   a namespace. Th
204a0 65 20 6e 61 6d 65 73 20 6f 66 20 54 63 6c 20 76  e names of Tcl v
204b0 61 72 69 61 62 6c 65 73 20 61 6e 64 0a 63 6f 6d  ariables and.com
204c0 6d 61 6e 64 73 20 6d 61 79 20 6e 6f 77 20 62 65  mands may now be
204d0 20 71 75 61 6c 69 66 69 65 64 20 62 79 20 74 68   qualified by th
204e0 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 61  e name of the na
204f0 6d 65 73 70 61 63 65 20 63 6f 6e 74 61 69 6e 69  mespace containi
20500 6e 67 20 74 68 65 6d 2e 0a 54 68 65 20 6b 65 79  ng them..The key
20510 20 6e 61 6d 65 73 70 61 63 65 2d 72 65 6c 61 74   namespace-relat
20520 65 64 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20  ed commands are 
20530 73 75 6d 6d 61 72 69 7a 65 64 20 62 65 6c 6f 77  summarized below
20540 3a 0a 20 20 20 20 2d 20 6e 61 6d 65 73 70 61 63  :.    - namespac
20550 65 20 3f 65 76 61 6c 3f 20 6e 61 6d 65 20 61 72  e ?eval? name ar
20560 67 20 3f 61 72 67 2e 2e 2e 3f 0a 20 20 20 20 20  g ?arg...?.     
20570 20 20 20 20 55 73 65 64 20 74 6f 20 64 65 66 69      Used to defi
20580 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20  ne the commands 
20590 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e  and variables in
205a0 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20   a namespace..  
205b0 20 20 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c 6c         Optionall
205c0 79 20 63 72 65 61 74 65 73 20 74 68 65 20 6e 61  y creates the na
205d0 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e  mespace..    - n
205e0 61 6d 65 73 70 61 63 65 20 65 78 70 6f 72 74 20  amespace export 
205f0 3f 2d 63 6c 65 61 72 3f 20 3f 70 61 74 74 65 72  ?-clear? ?patter
20600 6e 20 70 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20 20  n pattern...?.  
20610 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65 73         Specifies
20620 20 77 68 69 63 68 20 63 6f 6d 6d 61 6e 64 73 20   which commands 
20630 61 72 65 20 65 78 70 6f 72 74 65 64 20 66 72 6f  are exported fro
20640 6d 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 20 54  m a namespace. T
20650 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 61 72  hese.         ar
20660 65 20 74 68 65 20 6f 6e 65 73 20 74 68 61 74 20  e the ones that 
20670 63 61 6e 20 62 65 20 69 6d 70 6f 72 74 65 64 20  can be imported 
20680 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20 6e 61 6d  into another nam
20690 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e 61  espace..    - na
206a0 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 20 3f  mespace import ?
206b0 2d 66 6f 72 63 65 3f 20 3f 70 61 74 74 65 72 6e  -force? ?pattern
206c0 20 70 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20 20 20   pattern...?.   
206d0 20 20 20 20 20 20 4d 61 6b 65 73 20 74 68 65 20        Makes the 
206e0 73 70 65 63 69 66 69 65 64 20 63 6f 6d 6d 61 6e  specified comman
206f0 64 73 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e  ds accessible in
20700 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d   the current nam
20710 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e 61  espace..    - na
20720 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74 0a  mespace current.
20730 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73           Returns
20740 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
20750 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61   current namespa
20760 63 65 2e 0a 20 20 20 20 2d 20 76 61 72 69 61 62  ce..    - variab
20770 6c 65 20 6e 61 6d 65 20 3f 76 61 6c 75 65 3f 20  le name ?value? 
20780 3f 6e 61 6d 65 20 3f 76 61 6c 75 65 3f 2e 2e 2e  ?name ?value?...
20790 3f 0a 20 20 20 20 20 20 20 20 20 43 72 65 61 74  ?.         Creat
207a0 65 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6e  es one or more n
207b0 61 6d 65 73 70 61 63 65 20 76 61 72 69 61 62 6c  amespace variabl
207c0 65 73 2e 20 28 42 54 4c 29 0a 0a 35 2f 31 2f 39  es. (BTL)..5/1/9
207d0 37 20 28 62 75 67 20 66 69 78 29 20 55 6e 64 65  7 (bug fix) Unde
207e0 72 20 57 69 6e 64 6f 77 73 2c 20 66 69 6c 65 20  r Windows, file 
207f0 74 69 6d 65 73 20 77 65 72 65 20 72 65 70 6f 72  times were repor
20800 74 65 64 20 69 6e 20 47 4d 54 2e 20 20 53 68 6f  ted in GMT.  Sho
20810 75 6c 64 20 62 65 0a 72 65 70 6f 72 74 65 64 20  uld be.reported 
20820 69 6e 20 6c 6f 63 61 6c 20 74 69 6d 65 2e 20 28  in local time. (
20830 43 43 53 29 0a 0a 35 2f 32 2f 39 37 20 28 66 65  CCS)..5/2/97 (fe
20840 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68  ature change) Ch
20850 61 6e 67 65 64 20 74 68 65 20 6e 61 6d 65 20 6f  anged the name o
20860 66 20 74 68 65 20 74 77 6f 20 54 63 6c 20 76 61  f the two Tcl va
20870 72 69 61 62 6c 65 73 20 75 73 65 64 20 66 6f 72  riables used for
20880 0a 74 72 61 63 69 6e 67 20 62 79 74 65 63 6f 64  .tracing bytecod
20890 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e  e compilation an
208a0 64 20 65 78 65 63 75 74 69 6f 6e 20 74 6f 20 74  d execution to t
208b0 63 6c 5f 74 72 61 63 65 43 6f 6d 70 69 6c 65 20  cl_traceCompile 
208c0 61 6e 64 0a 74 63 6c 5f 74 72 61 63 65 45 78 65  and.tcl_traceExe
208d0 63 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20  c respectively. 
208e0 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 20  These variables 
208f0 61 72 65 20 6e 6f 77 20 64 6f 63 75 6d 65 6e 74  are now document
20900 65 64 20 69 6e 20 74 68 65 0a 74 63 6c 76 61 72  ed in the.tclvar
20910 73 20 6d 61 6e 20 70 61 67 65 2e 20 28 42 4c 29  s man page. (BL)
20920 0a 0a 35 2f 35 2f 39 37 20 28 6e 65 77 20 66 65  ..5/5/97 (new fe
20930 61 74 75 72 65 29 20 53 75 70 70 6f 72 74 20 22  ature) Support "
20940 65 6e 64 22 20 61 73 20 74 68 65 20 69 6e 64 65  end" as the inde
20950 78 20 66 6f 72 20 22 6c 73 6f 72 74 20 2d 69 6e  x for "lsort -in
20960 64 65 78 22 2e 20 28 42 57 29 0a 0a 35 2f 35 2f  dex". (BW)..5/5/
20970 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20 43  97 (bug fixes) C
20980 6c 65 61 6e 65 64 20 75 70 20 74 68 65 20 77 61  leaned up the wa
20990 79 20 74 68 65 20 68 74 74 70 20 70 61 63 6b 61  y the http packa
209a0 67 65 20 72 65 73 65 74 73 20 63 6f 6e 6e 65 63  ge resets connec
209b0 74 69 6f 6e 73 20 28 42 57 29 0a 0a 35 2f 38 2f  tions (BW)..5/8/
209c0 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
209d0 67 65 29 20 4e 65 77 6c 79 20 63 72 65 61 74 65  ge) Newly create
209e0 64 20 54 63 6c 20 6f 62 6a 65 63 74 73 20 6e 6f  d Tcl objects no
209f0 77 20 68 61 76 65 20 61 20 72 65 66 65 72 65 6e  w have a referen
20a00 63 65 20 63 6f 75 6e 74 0a 6f 66 20 7a 65 72 6f  ce count.of zero
20a10 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e   instead of one.
20a20 20 54 68 69 73 20 73 69 6d 70 6c 69 66 69 65 73   This simplifies
20a30 20 43 20 63 6f 64 65 20 74 68 61 74 20 73 74 6f   C code that sto
20a40 72 65 73 20 6e 65 77 6c 79 20 63 72 65 61 74 65  res newly create
20a50 64 0a 6f 62 6a 65 63 74 73 20 69 6e 20 54 63 6c  d.objects in Tcl
20a60 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 69 6e   variables or in
20a70 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73   data structures
20a80 20 73 75 63 68 20 61 73 20 6c 69 73 74 20 6f 62   such as list ob
20a90 6a 65 63 74 73 2e 20 54 68 61 74 20 43 0a 63 6f  jects. That C.co
20aa0 64 65 20 6d 75 73 74 20 69 6e 63 72 65 6d 65 6e  de must incremen
20ab0 74 20 74 68 65 20 6e 65 77 20 6f 62 6a 65 63 74  t the new object
20ac0 27 73 20 72 65 66 65 72 65 6e 63 65 20 63 6f 75  's reference cou
20ad0 6e 74 20 73 69 6e 63 65 20 74 68 65 20 76 61 72  nt since the var
20ae0 69 61 62 6c 65 20 6f 72 0a 64 61 74 61 20 73 74  iable or.data st
20af0 72 75 63 74 75 72 65 20 77 69 6c 6c 20 63 6f 6e  ructure will con
20b00 74 61 69 6e 20 61 20 6c 6f 6e 67 2d 74 65 72 6d  tain a long-term
20b10 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68   reference to th
20b20 65 20 6f 62 6a 65 63 74 2e 20 46 6f 72 6d 65 72  e object. Former
20b30 6c 79 2c 0a 77 68 65 6e 20 6e 65 77 20 6f 62 6a  ly,.when new obj
20b40 65 63 74 73 20 73 74 61 72 74 65 64 20 6f 75 74  ects started out
20b50 20 77 69 74 68 20 72 65 66 65 72 65 6e 63 65 20   with reference 
20b60 63 6f 75 6e 74 20 6f 6e 65 2c 20 69 74 20 77 61  count one, it wa
20b70 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 64  s necessary to.d
20b80 65 63 72 65 6d 65 6e 74 20 74 68 65 20 6e 65 77  ecrement the new
20b90 20 6f 62 6a 65 63 74 27 73 20 72 65 66 65 72 65   object's refere
20ba0 6e 63 65 20 63 6f 75 6e 74 20 61 66 74 65 72 20  nce count after 
20bb0 74 68 65 20 73 74 6f 72 65 20 74 6f 20 6d 61 6b  the store to mak
20bc0 65 20 73 75 72 65 20 69 74 0a 77 61 73 20 6c 65  e sure it.was le
20bd0 66 74 20 77 69 74 68 20 74 68 65 20 63 6f 72 72  ft with the corr
20be0 65 63 74 20 76 61 6c 75 65 3b 20 74 68 69 73 20  ect value; this 
20bf0 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 63  is no longer nec
20c00 65 73 73 61 72 79 2e 20 28 42 4c 29 0a 0a 35 2f  essary. (BL)..5/
20c10 39 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  9/97 (new featur
20c20 65 29 20 41 64 64 65 64 20 74 68 65 20 54 63 6c  e) Added the Tcl
20c30 5f 47 65 74 73 4f 62 6a 20 69 6e 74 65 72 66 61  _GetsObj interfa
20c40 63 65 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e  ce that takes an
20c50 0a 6f 62 6a 65 63 74 20 72 65 66 65 72 65 6e 63  .object referenc
20c60 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 64  e instead of a d
20c70 79 6e 61 6d 69 63 20 73 74 72 69 6e 67 20 28 61  ynamic string (a
20c80 73 20 69 6e 20 54 63 6c 5f 47 65 74 73 29 2e 20  s in Tcl_Gets). 
20c90 28 53 53 29 0a 0a 35 2f 31 32 2f 39 37 20 28 6e  (SS)..5/12/97 (n
20ca0 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
20cb0 64 20 54 63 6c 5f 43 72 65 61 74 65 41 6c 69 61  d Tcl_CreateAlia
20cc0 73 4f 62 6a 20 61 6e 64 20 54 63 6c 5f 47 65 74  sObj and Tcl_Get
20cd0 41 6c 69 61 73 4f 62 6a 20 43 20 41 50 49 73 0a  AliasObj C APIs.
20ce0 74 6f 20 61 6c 6c 6f 77 20 61 6e 20 61 6c 69 61  to allow an alia
20cf0 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20  s command to be 
20d00 63 72 65 61 74 65 64 20 77 69 74 68 20 61 20 76  created with a v
20d10 65 63 74 6f 72 20 6f 66 20 54 63 6c 5f 4f 62 6a  ector of Tcl_Obj
20d20 20 73 74 72 75 63 74 75 72 65 73 0a 61 6e 64 20   structures.and 
20d30 74 6f 20 67 65 74 20 74 68 65 20 76 65 63 74 6f  to get the vecto
20d40 72 20 62 61 63 6b 20 6c 61 74 65 72 2e 20 28 4a  r back later. (J
20d50 4c 29 0a 0a 35 2f 31 32 2f 39 37 20 28 66 65 61  L)..5/12/97 (fea
20d60 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61  ture change) Cha
20d70 6e 67 65 64 20 54 63 6c 5f 45 78 70 6f 73 65 43  nged Tcl_ExposeC
20d80 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f 48  ommand and Tcl_H
20d90 69 64 65 43 6f 6d 6d 61 6e 64 20 74 6f 0a 6c 65  ideCommand to.le
20da0 61 76 65 20 61 6e 20 6f 62 6a 65 63 74 20 72 65  ave an object re
20db0 73 75 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20  sult instead of 
20dc0 61 20 73 74 72 69 6e 67 20 72 65 73 75 6c 74 2e  a string result.
20dd0 20 28 4a 4c 29 0a 0a 35 2f 31 34 2f 39 37 20 28   (JL)..5/14/97 (
20de0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
20df0 49 6d 70 72 6f 76 65 64 20 74 68 65 20 68 61 6e  Improved the han
20e00 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 74  dling of the int
20e10 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74 2e  erpreter result.
20e20 0a 54 68 69 73 20 69 73 20 73 74 69 6c 6c 20 65  .This is still e
20e30 69 74 68 65 72 20 61 6e 20 6f 62 6a 65 63 74 20  ither an object 
20e40 6f 72 20 61 20 73 74 72 69 6e 67 2c 20 62 75 74  or a string, but
20e50 20 74 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20   the two values 
20e60 61 72 65 20 6e 6f 77 20 6b 65 70 74 0a 63 6f 6e  are now kept.con
20e70 73 69 73 74 65 6e 74 20 75 6e 6c 65 73 73 20 73  sistent unless s
20e80 6f 6d 65 20 43 20 63 6f 64 65 20 72 65 61 64 73  ome C code reads
20e90 20 6f 72 20 77 72 69 74 65 73 20 69 6e 74 65 72   or writes inter
20ea0 70 2d 3e 72 65 73 75 6c 74 20 64 69 72 65 63 74  p->result direct
20eb0 6c 79 2e 20 53 65 65 0a 74 68 65 20 53 65 74 52  ly. See.the SetR
20ec0 65 73 75 6c 74 20 6d 61 6e 20 70 61 67 65 20 66  esult man page f
20ed0 6f 72 20 64 65 74 61 69 6c 73 2e 20 52 65 6d 6f  or details. Remo
20ee0 76 65 64 20 74 68 65 20 54 63 6c 5f 52 65 73 65  ved the Tcl_Rese
20ef0 74 4f 62 6a 52 65 73 75 6c 74 0a 70 72 6f 63 65  tObjResult.proce
20f00 64 75 72 65 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50  dure. (BL).*** P
20f10 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
20f20 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
20f30 6c 20 38 2e 30 61 32 20 2a 2a 2a 0a 0a 35 2f 31  l 8.0a2 ***..5/1
20f40 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  6/97 (new featur
20f50 65 29 20 41 64 64 65 64 20 22 66 63 6f 70 79 22  e) Added "fcopy"
20f60 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d 6f 76 65   command to move
20f70 20 64 61 74 61 20 62 65 74 77 65 65 6e 0a 63 68   data between.ch
20f80 61 6e 6e 65 6c 73 2e 20 20 52 65 66 65 72 20 74  annels.  Refer t
20f90 6f 20 74 68 65 20 6d 61 6e 75 61 6c 20 70 61 67  o the manual pag
20fa0 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72  e for more infor
20fb0 6d 61 74 69 6f 6e 2e 20 20 52 65 6d 6f 76 65 64  mation.  Removed
20fc0 20 74 68 65 0a 22 75 6e 73 75 70 70 6f 72 74 65   the."unsupporte
20fd0 64 30 22 20 63 6f 6d 6d 61 6e 64 20 73 69 6e 63  d0" command sinc
20fe0 65 20 69 74 20 69 73 20 6f 62 73 6f 6c 65 74 65  e it is obsolete
20ff0 20 6e 6f 77 2e 20 20 28 53 53 29 0a 0a 35 2f 31   now.  (SS)..5/1
21000 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  6/97 (new featur
21010 65 29 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74  e) Added Tcl_Get
21020 53 74 72 69 6e 67 52 65 73 75 6c 74 20 70 72 6f  StringResult pro
21030 63 65 64 75 72 65 20 74 6f 20 61 6c 6c 6f 77 20  cedure to allow 
21040 70 72 6f 67 72 61 6d 73 0a 74 6f 20 67 65 74 20  programs.to get 
21050 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 27 73  an interpreter's
21060 20 72 65 73 75 6c 74 20 61 73 20 61 20 73 74 72   result as a str
21070 69 6e 67 2e 20 49 66 20 74 68 65 20 72 65 73 75  ing. If the resu
21080 6c 74 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c  lt was previousl
21090 79 20 73 65 74 0a 74 6f 20 61 6e 20 6f 62 6a 65  y set.to an obje
210a0 63 74 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75  ct, this procedu
210b0 72 65 20 77 69 6c 6c 20 63 6f 6e 76 65 72 74 20  re will convert 
210c0 74 68 65 20 6f 62 6a 65 63 74 20 74 6f 20 61 20  the object to a 
210d0 73 74 72 69 6e 67 2e 20 55 73 65 20 6f 66 0a 54  string. Use of.T
210e0 63 6c 5f 47 65 74 53 74 72 69 6e 67 52 65 73 75  cl_GetStringResu
210f0 6c 74 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74  lt is intended t
21100 6f 20 72 65 70 6c 61 63 65 20 64 69 72 65 63 74  o replace direct
21110 20 61 63 63 65 73 73 20 74 6f 20 69 6e 74 65 72   access to inter
21120 70 2d 3e 72 65 73 75 6c 74 2c 0a 77 68 69 63 68  p->result,.which
21130 20 69 73 20 6e 6f 74 20 73 61 66 65 2e 20 28 42   is not safe. (B
21140 4c 29 0a 0a 35 2f 32 30 2f 39 37 20 28 6e 65 77  L)..5/20/97 (new
21150 20 66 65 61 74 75 72 65 73 29 20 46 69 78 65 64   features) Fixed
21160 20 22 66 63 6f 70 79 22 20 74 6f 20 72 65 74 75   "fcopy" to retu
21170 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66  rn the number of
21180 20 62 79 74 65 73 0a 74 72 61 6e 73 66 65 72 72   bytes.transferr
21190 65 64 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 69  ed in the blocki
211a0 6e 67 20 63 61 73 65 2e 20 20 55 70 64 61 74 65  ng case.  Update
211b0 64 20 74 68 65 20 68 74 74 70 20 70 61 63 6b 61  d the http packa
211c0 67 65 20 74 6f 20 75 73 65 0a 66 63 6f 70 79 20  ge to use.fcopy 
211d0 69 6e 73 74 65 61 64 20 6f 66 20 75 6e 73 75 70  instead of unsup
211e0 70 6f 72 74 65 64 30 2e 20 20 41 64 64 65 64 20  ported0.  Added 
211f0 2d 74 69 6d 65 6f 75 74 20 61 6e 64 20 2d 68 61  -timeout and -ha
21200 6e 64 6c 65 72 20 6f 70 74 69 6f 6e 73 20 74 6f  ndler options to
21210 0a 68 74 74 70 5f 67 65 74 2e 20 20 68 74 74 70  .http_get.  http
21220 5f 67 65 74 20 69 73 20 6e 6f 77 20 62 6c 6f 63  _get is now bloc
21230 6b 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e  king by default.
21240 20 20 49 74 20 69 73 20 6f 6e 6c 79 20 6e 6f 6e    It is only non
21250 2d 62 6c 6f 63 6b 69 6e 67 0a 69 66 20 79 6f 75  -blocking.if you
21260 20 73 75 70 70 6c 79 20 61 20 2d 63 6f 6d 6d 61   supply a -comma
21270 6e 64 20 61 72 67 75 6d 65 6e 74 2e 20 28 42 57  nd argument. (BW
21280 29 0a 0a 35 2f 32 32 2f 39 37 20 28 62 75 67 20  )..5/22/97 (bug 
21290 66 69 78 29 20 46 69 78 65 64 20 73 65 76 65 72  fix) Fixed sever
212a0 61 6c 20 62 75 67 73 20 69 6e 20 74 68 65 20 22  al bugs in the "
212b0 6c 73 6f 72 74 22 20 63 6f 6d 6d 61 6e 64 20 68  lsort" command h
212c0 61 76 69 6e 67 20 74 6f 20 64 6f 0a 77 69 74 68  aving to do.with
212d0 20 74 68 65 20 2d 64 69 63 74 69 6f 6e 61 72 79   the -dictionary
212e0 20 6f 70 74 69 6f 6e 20 61 6e 64 20 74 68 65 20   option and the 
212f0 70 72 65 73 65 6e 63 65 20 6f 66 20 6e 75 6d 62  presence of numb
21300 65 72 73 20 65 6d 62 65 64 64 65 64 20 69 6e 20  ers embedded in 
21310 74 68 65 0a 73 74 72 69 6e 67 73 2e 20 20 28 4a  the.strings.  (J
21320 4f 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  O)..------------
21330 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38  ----- Released 8
21340 2e 30 62 31 2c 20 35 2f 32 37 2f 39 37 20 2d 2d  .0b1, 5/27/97 --
21350 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
21360 2d 2d 2d 2d 2d 0a 0a 36 2f 32 2f 39 37 20 28 62  -----..6/2/97 (b
21370 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
21380 67 20 69 6e 20 73 74 61 72 74 75 70 20 63 6f 64  g in startup cod
21390 65 20 74 68 61 74 20 63 61 75 73 65 64 20 61 20  e that caused a 
213a0 70 72 6f 62 6c 65 6d 20 69 6e 0a 66 69 6e 64 69  problem in.findi
213b0 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 66  ng the library f
213c0 69 6c 65 73 20 77 68 65 6e 20 74 68 65 79 20 61  iles when they a
213d0 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20  re installed in 
213e0 61 20 64 69 72 65 63 74 6f 72 79 0a 63 6f 6e 74  a directory.cont
213f0 61 69 6e 69 6e 67 20 61 20 73 70 61 63 65 20 69  aining a space i
21400 6e 20 74 68 65 20 6e 61 6d 65 2e 20 28 53 53 29  n the name. (SS)
21410 0a 0a 36 2f 32 2f 39 37 20 28 62 75 67 20 66 69  ..6/2/97 (bug fi
21420 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
21430 55 6e 69 78 20 6e 6f 74 69 66 69 65 72 20 77 68  Unix notifier wh
21440 65 72 65 20 74 68 65 20 73 65 6c 65 63 74 20 6d  ere the select m
21450 61 73 6b 20 77 61 73 0a 6e 6f 74 20 62 65 69 6e  ask was.not bein
21460 67 20 63 6c 65 61 72 65 64 20 75 6e 64 65 72 20  g cleared under 
21470 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63  some circumstanc
21480 65 73 2e 20 28 53 53 29 0a 0a 36 2f 34 2f 39 37  es. (SS)..6/4/97
21490 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
214a0 20 62 75 67 20 74 68 61 74 20 70 72 65 76 65 6e   bug that preven
214b0 74 65 64 20 63 72 65 61 74 69 6f 6e 20 6f 66 20  ted creation of 
214c0 54 6b 20 77 69 64 67 65 74 73 20 69 6e 0a 6e 61  Tk widgets in.na
214d0 6d 65 73 70 61 63 65 73 2e 20 54 63 6c 5f 43 72  mespaces. Tcl_Cr
214e0 65 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64 20 61  eateObjCommand a
214f0 6e 64 20 54 63 6c 5f 43 72 65 61 74 65 43 6f 6d  nd Tcl_CreateCom
21500 6d 61 6e 64 20 6e 6f 77 20 61 6c 77 61 79 73 20  mand now always 
21510 63 72 65 61 74 65 0a 63 6f 6d 6d 61 6e 64 73 20  create.commands 
21520 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61  in the global na
21530 6d 65 73 70 61 63 65 20 75 6e 6c 65 73 73 20 74  mespace unless t
21540 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73  he command names
21550 20 61 72 65 20 71 75 61 6c 69 66 69 65 64 2e 20   are qualified. 
21560 54 63 6c 0a 70 72 6f 63 65 64 75 72 65 73 20 63  Tcl.procedures c
21570 6f 6e 74 69 6e 75 65 20 74 6f 20 62 65 20 63 72  ontinue to be cr
21580 65 61 74 65 64 20 69 6e 20 74 68 65 20 63 75 72  eated in the cur
21590 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 62  rent namespace b
215a0 79 20 64 65 66 61 75 6c 74 2e 20 28 42 4c 29 0a  y default. (BL).
215b0 0a 36 2f 36 2f 39 37 20 28 6e 65 77 20 66 65 61  .6/6/97 (new fea
215c0 74 75 72 65 73 29 20 41 64 64 65 64 20 6e 65 77  tures) Added new
215d0 20 6e 61 6d 65 73 70 61 63 65 20 41 50 49 20 70   namespace API p
215e0 72 6f 63 65 64 75 72 65 73 0a 54 63 6c 5f 41 70  rocedures.Tcl_Ap
215f0 70 65 6e 64 45 78 70 6f 72 74 4c 69 73 74 20 61  pendExportList a
21600 6e 64 20 54 63 6c 5f 45 78 70 6f 72 74 20 74 6f  nd Tcl_Export to
21610 20 61 6c 6c 6f 77 20 43 20 63 6f 64 65 20 74 6f   allow C code to
21620 20 67 65 74 20 61 6e 64 20 73 65 74 20 61 0a 6e   get and set a.n
21630 61 6d 65 73 70 61 63 65 27 73 20 65 78 70 6f 72  amespace's expor
21640 74 20 6c 69 73 74 2e 20 28 42 4c 29 0a 0a 36 2f  t list. (BL)..6/
21650 31 31 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  11/97 (new featu
21660 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 43 6f  re) Added Tcl_Co
21670 6e 63 61 74 4f 62 6a 2e 20 54 68 69 73 20 6f 62  ncatObj. This ob
21680 6a 65 63 74 2d 62 61 73 65 64 20 72 6f 75 74 69  ject-based routi
21690 6e 65 0a 70 61 72 61 6c 6c 65 6c 73 20 74 68 65  ne.parallels the
216a0 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20 72 6f   string-based ro
216b0 75 74 69 6e 65 20 54 63 6c 5f 43 6f 6e 63 61 74  utine Tcl_Concat
216c0 2e 20 28 53 52 50 29 0a 0a 36 2f 31 31 2f 39 37  . (SRP)..6/11/97
216d0 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
216e0 64 64 65 64 20 54 63 6c 5f 53 65 74 4f 62 6a 45  dded Tcl_SetObjE
216f0 72 72 6f 72 43 6f 64 65 2e 20 54 68 69 73 20 6f  rrorCode. This o
21700 62 6a 65 63 74 2d 62 61 73 65 64 0a 72 6f 75 74  bject-based.rout
21710 69 6e 65 73 20 70 61 72 61 6c 6c 65 6c 73 20 74  ines parallels t
21720 68 65 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20  he string-based 
21730 72 6f 75 74 69 6e 65 20 54 63 6c 5f 53 65 74 45  routine Tcl_SetE
21740 72 72 6f 72 43 6f 64 65 2e 20 28 53 52 50 29 0a  rrorCode. (SRP).
21750 0a 36 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69  .6/12/97 (bug fi
21760 78 29 20 46 69 78 20 74 68 65 20 22 75 6e 6b 6e  x) Fix the "unkn
21770 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 20 73  own" procedure s
21780 6f 20 74 68 61 74 20 77 69 73 68 20 75 6e 64 65  o that wish unde
21790 72 20 57 69 6e 64 6f 77 73 0a 77 69 6c 6c 20 65  r Windows.will e
217a0 78 65 63 20 61 6e 20 65 78 74 65 72 6e 61 6c 20  xec an external 
217b0 70 72 6f 67 72 61 6d 2c 20 69 6e 73 74 65 61 64  program, instead
217c0 20 6f 66 20 61 6c 77 61 79 73 20 63 6f 6d 70 6c   of always compl
217d0 61 69 6e 69 6e 67 20 22 63 6f 6e 73 6f 6c 65 31  aining "console1
217e0 20 6e 6f 74 0a 6f 70 65 6e 65 64 20 66 6f 72 20   not.opened for 
217f0 77 72 69 74 69 6e 67 22 2e 20 28 43 43 53 29 0a  writing". (CCS).
21800 0a 36 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69  .6/12/97 (bug fi
21810 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75  x) Fixed core du
21820 6d 70 20 65 78 70 65 72 69 65 6e 63 65 64 20 62  mp experienced b
21830 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20  y the following 
21840 73 69 6d 70 6c 65 0a 73 63 72 69 70 74 3a 0a 09  simple.script:..
21850 69 6e 74 65 72 70 20 63 72 65 61 74 65 20 78 0a  interp create x.
21860 09 78 20 61 6c 69 61 73 20 65 78 65 63 20 65 78  .x alias exec ex
21870 65 63 0a 09 69 6e 74 65 72 70 20 64 65 6c 65 74  ec..interp delet
21880 65 20 78 0a 54 68 69 73 20 70 61 6e 69 63 20 77  e x.This panic w
21890 61 73 20 63 61 75 73 65 64 20 62 79 20 6e 6f 74  as caused by not
218a0 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20   installing the 
218b0 6e 65 77 20 43 6d 64 44 65 6c 65 74 65 50 72 6f  new CmdDeletePro
218c0 63 20 77 68 65 6e 20 65 78 65 63 0a 67 6f 74 20  c when exec.got 
218d0 72 65 64 65 66 69 6e 65 64 20 62 79 20 74 68 65  redefined by the
218e0 20 61 6c 69 61 73 20 63 72 65 61 74 69 6f 6e 20   alias creation 
218f0 73 74 65 70 2e 20 52 65 70 6f 72 74 65 64 20 62  step. Reported b
21900 79 20 4c 69 6e 64 73 61 79 20 4d 61 72 73 68 61  y Lindsay Marsha
21910 6c 20 28 4a 4c 29 0a 0a 36 2f 31 33 2f 39 37 20  l (JL)..6/13/97 
21920 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 54  (new features) T
21930 63 6c 20 6f 62 6a 65 63 74 73 20 6e 65 77 6c 79  cl objects newly
21940 20 63 72 65 61 74 65 64 20 62 79 20 54 63 6c 5f   created by Tcl_
21950 4e 65 77 4f 62 6a 20 6e 6f 77 20 68 61 76 65 20  NewObj now have 
21960 61 0a 73 74 72 69 6e 67 20 72 65 70 72 65 73 65  a.string represe
21970 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 70 6f 69  ntation that poi
21980 6e 74 73 20 74 6f 20 61 20 73 68 61 72 65 64 20  nts to a shared 
21990 68 65 61 70 20 73 74 72 69 6e 67 20 6f 66 20 6c  heap string of l
219a0 65 6e 67 74 68 20 31 2e 20 28 54 68 65 79 0a 75  ength 1. (They.u
219b0 73 65 64 20 74 6f 20 68 61 76 65 20 4e 55 4c 4c  sed to have NULL
219c0 20 62 79 74 65 73 20 61 6e 64 20 74 79 70 65 50   bytes and typeP
219d0 74 72 20 66 69 65 6c 64 73 2e 20 54 68 69 73 20  tr fields. This 
219e0 77 61 73 20 74 72 65 61 74 65 64 20 61 73 20 61  was treated as a
219f0 20 73 70 65 63 69 61 6c 0a 63 61 73 65 20 74 6f   special.case to
21a00 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 6d 70   indicate an emp
21a10 74 79 20 73 74 72 69 6e 67 2c 20 62 75 74 20 6d  ty string, but m
21a20 61 64 65 20 74 79 70 65 20 6d 61 6e 61 67 65 72  ade type manager
21a30 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73   implementations
21a40 0a 63 6f 6d 70 6c 65 78 20 61 6e 64 20 65 72 72  .complex and err
21a50 6f 72 20 70 72 6f 6e 65 2e 29 20 54 68 65 20 6e  or prone.) The n
21a60 65 77 20 70 72 6f 63 65 64 75 72 65 20 54 63 6c  ew procedure Tcl
21a70 5f 49 6e 76 61 6c 69 64 61 74 65 53 74 72 69 6e  _InvalidateStrin
21a80 67 52 65 70 20 69 73 20 75 73 65 64 0a 74 6f 20  gRep is used.to 
21a90 6d 61 72 6b 20 61 6e 20 6f 62 6a 65 63 74 27 73  mark an object's
21aa0 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e   string represen
21ab0 74 61 74 69 6f 6e 20 69 6e 76 61 6c 69 64 20 61  tation invalid a
21ac0 6e 64 20 74 6f 20 66 72 65 65 20 61 6e 79 20 73  nd to free any s
21ad0 74 6f 72 61 67 65 0a 61 73 73 6f 63 69 61 74 65  torage.associate
21ae0 64 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 73  d with the old s
21af0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61  tring representa
21b00 74 69 6f 6e 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50  tion. (BL).*** P
21b10 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
21b20 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
21b30 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f 74  l 8.0b1, but not
21b40 20 77 69 74 68 20 54 63 6c 37 2e 36 20 2a 2a 2a   with Tcl7.6 ***
21b50 0a 0a 36 2f 31 36 2f 39 37 20 28 62 75 67 20 66  ..6/16/97 (bug f
21b60 69 78 29 20 54 63 6c 5f 53 63 61 6e 43 6f 75 6e  ix) Tcl_ScanCoun
21b70 74 65 64 45 6c 65 6d 65 6e 74 20 63 6f 75 6c 64  tedElement could
21b80 20 6c 65 61 76 65 20 62 72 61 63 65 73 20 75 6e   leave braces un
21b90 6d 61 74 63 68 65 64 0a 69 66 20 74 68 65 20 73  matched.if the s
21ba0 74 72 69 6e 67 20 65 6e 64 65 64 20 77 69 74 68  tring ended with
21bb0 20 61 20 62 61 63 6b 73 6c 61 73 68 2e 20 28 4a   a backslash. (J
21bc0 4f 29 0a 0a 36 2f 31 37 2f 39 37 20 28 62 75 67  O)..6/17/97 (bug
21bd0 20 66 69 78 29 20 46 69 78 65 64 20 63 68 61 6e   fix) Fixed chan
21be0 6e 65 6c 20 65 76 65 6e 74 20 62 75 67 20 77 68  nel event bug wh
21bf0 65 72 65 20 72 65 61 64 61 62 6c 65 20 65 76 65  ere readable eve
21c00 6e 74 73 20 77 6f 75 6c 64 20 62 65 0a 6c 6f 73  nts would be.los
21c10 74 20 64 75 72 69 6e 67 20 72 65 63 75 72 73 69  t during recursi
21c20 76 65 20 65 76 65 6e 74 73 20 6c 6f 6f 70 73 20  ve events loops 
21c30 69 66 20 74 68 65 20 69 6e 70 75 74 20 62 75 66  if the input buf
21c40 66 65 72 73 20 63 6f 6e 74 61 69 6e 65 64 0a 64  fers contained.d
21c50 61 74 61 2e 20 28 53 53 29 0a 0a 36 2f 31 37 2f  ata. (SS)..6/17/
21c60 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
21c70 65 64 20 62 75 67 20 69 6e 20 57 69 6e 64 6f 77  ed bug in Window
21c80 73 20 73 6f 63 6b 65 74 20 63 6f 64 65 20 74 68  s socket code th
21c90 61 74 20 64 69 64 6e 27 74 0a 72 65 65 6e 61 62  at didn't.reenab
21ca0 6c 65 20 72 65 61 64 20 65 76 65 6e 74 73 20 69  le read events i
21cb0 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65  n the case where
21cc0 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 65 6e 74   an external ent
21cd0 69 74 79 20 69 73 20 61 6c 73 6f 0a 72 65 61 64  ity is also.read
21ce0 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 73 6f 63  ing from the soc
21cf0 6b 65 74 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f  ket. (SS)..6/18/
21d00 39 37 20 28 62 75 67 20 66 69 78 29 20 43 68 61  97 (bug fix) Cha
21d10 6e 67 65 64 20 69 6e 69 74 69 61 6c 20 73 65 74  nged initial set
21d20 74 69 6e 67 20 6f 66 20 74 68 65 20 6e 6f 74 69  ting of the noti
21d30 66 69 65 72 20 73 65 72 76 69 63 65 20 6d 6f 64  fier service mod
21d40 65 0a 74 6f 20 54 43 4c 5f 53 45 52 56 49 43 45  e.to TCL_SERVICE
21d50 5f 4e 4f 4e 45 20 74 6f 20 61 76 6f 69 64 20 75  _NONE to avoid u
21d60 6e 65 78 70 65 63 74 65 64 20 65 76 65 6e 74 20  nexpected event 
21d70 68 61 6e 64 6c 69 6e 67 20 64 75 72 69 6e 67 0a  handling during.
21d80 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 20  initialization. 
21d90 28 53 53 29 0a 0a 36 2f 31 39 2f 39 37 20 28 62  (SS)..6/19/97 (b
21da0 75 67 20 66 69 78 2f 66 65 61 74 75 72 65 20 63  ug fix/feature c
21db0 68 61 6e 67 65 29 20 54 68 65 20 63 6f 6d 6d 61  hange) The comma
21dc0 6e 64 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20 66  nd callback to f
21dd0 63 6f 70 79 20 69 73 20 6e 6f 77 0a 63 61 6c 6c  copy is now.call
21de0 65 64 20 69 6e 20 63 61 73 65 20 6f 66 20 65 72  ed in case of er
21df0 72 6f 72 73 20 64 75 72 69 6e 67 20 74 68 65 20  rors during the 
21e00 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 70 79 2e  background copy.
21e10 20 20 54 68 69 73 20 61 64 64 73 20 61 20 73 65    This adds a se
21e20 63 6f 6e 64 2c 0a 6f 70 74 69 6f 6e 61 6c 20 61  cond,.optional a
21e30 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 63  rgument to the c
21e40 61 6c 6c 62 61 63 6b 20 74 68 61 74 20 69 73 20  allback that is 
21e50 74 68 65 20 65 72 72 6f 72 20 73 74 72 69 6e 67  the error string
21e60 2e 20 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 0a  .  The callback.
21e70 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72  in case of error
21e80 73 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f  s is required fo
21e90 72 20 70 72 6f 70 65 72 20 63 6c 65 61 6e 75 70  r proper cleanup
21ea0 20 62 79 20 74 68 65 20 75 73 65 72 20 6f 66 20   by the user of 
21eb0 66 63 6f 70 79 2e 20 28 42 57 29 0a 2a 2a 2a 20  fcopy. (BW).*** 
21ec0 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
21ed0 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
21ee0 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f  cl 8.0b1, but no
21ef0 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a  t with Tcl 7.6 *
21f00 2a 2a 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75 67  **..6/19/97 (bug
21f10 20 66 69 78 29 20 46 69 78 65 64 20 61 20 70 61   fix) Fixed a pa
21f20 6e 69 63 20 64 75 65 20 74 6f 20 74 68 65 20 66  nic due to the f
21f30 6f 6c 6c 6f 77 69 6e 67 20 66 6f 75 72 20 6c 69  ollowing four li
21f40 6e 65 20 73 63 72 69 70 74 3a 0a 09 69 6e 74 65  ne script:..inte
21f50 72 70 20 63 72 65 61 74 65 20 78 0a 09 78 20 61  rp create x..x a
21f60 6c 69 61 73 20 66 6f 6f 20 62 61 72 0a 09 78 20  lias foo bar..x 
21f70 65 76 61 6c 20 72 65 6e 61 6d 65 20 66 6f 6f 20  eval rename foo 
21f80 62 6c 6f 74 7a 0a 09 78 20 61 6c 69 61 73 20 66  blotz..x alias f
21f90 6f 6f 20 7b 7d 0a 54 68 65 20 70 72 6f 62 6c 65  oo {}.The proble
21fa0 6d 20 77 61 73 20 74 68 61 74 20 74 68 65 20 69  m was that the i
21fb0 6e 74 65 72 70 20 63 6f 64 65 20 77 61 73 20 6e  nterp code was n
21fc0 6f 74 20 75 73 69 6e 67 20 74 68 65 20 61 63 74  ot using the act
21fd0 75 61 6c 20 63 75 72 72 65 6e 74 20 6e 61 6d 65  ual current name
21fe0 0a 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20  .of the command 
21ff0 74 6f 20 62 65 20 64 65 6c 65 74 65 64 20 61 73  to be deleted as
22000 20 61 20 72 65 73 75 6c 74 20 6f 66 20 75 6e 2d   a result of un-
22010 61 6c 69 61 73 69 6e 67 20 66 6f 6f 2e 20 28 4a  aliasing foo. (J
22020 4c 29 0a 0a 36 2f 31 39 2f 39 37 20 28 66 65 61  L)..6/19/97 (fea
22030 74 75 72 65 20 63 68 61 6e 67 65 29 20 50 61 73  ture change) Pas
22040 73 20 69 6e 74 65 72 70 20 64 6f 77 6e 20 74 6f  s interp down to
22050 20 74 68 65 20 43 68 61 6e 6e 65 6c 4f 70 74 69   the ChannelOpti
22060 6f 6e 20 61 6e 64 0a 64 72 69 76 65 72 20 73 70  on and.driver sp
22070 65 63 69 66 69 63 20 63 61 6c 6c 73 20 73 6f 20  ecific calls so 
22080 73 79 73 74 65 6d 20 65 72 72 6f 72 73 20 63 61  system errors ca
22090 6e 20 62 65 20 64 69 66 66 65 72 65 6e 74 69 61  n be differentia
220a0 74 65 64 20 66 72 6f 6d 20 73 79 6e 74 61 78 0a  ted from syntax.
220b0 6f 6e 65 73 2e 20 43 68 61 6e 67 65 64 20 54 63  ones. Changed Tc
220c0 6c 5f 44 72 69 76 65 72 47 65 74 4f 70 74 69 6f  l_DriverGetOptio
220d0 6e 50 72 6f 63 20 74 79 70 65 2e 20 41 66 66 65  nProc type. Affe
220e0 63 74 73 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e  cts Tcl_GetChann
220f0 65 6c 4f 70 74 69 6f 6e 2c 0a 54 63 70 47 65 74  elOption,.TcpGet
22100 4f 70 74 69 6f 6e 50 72 6f 63 2c 20 20 54 74 79  OptionProc,  Tty
22110 47 65 74 4f 70 74 69 6f 6e 50 72 6f 63 2c 20 65  GetOptionProc, e
22120 74 63 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54  tc. (DL).*** POT
22130 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
22140 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 36 2f 31 39  BILITY ***..6/19
22150 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
22160 29 20 41 64 64 65 64 20 54 63 6c 5f 42 61 64 43  ) Added Tcl_BadC
22170 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 20 66 6f 72  hannelOption for
22180 20 75 73 65 20 62 79 20 62 79 20 64 72 69 76 65   use by by drive
22190 72 0a 73 70 65 63 69 66 69 63 20 6f 70 74 69 6f  r.specific optio
221a0 6e 20 70 72 6f 63 65 64 75 72 65 73 20 28 53 65  n procedures (Se
221b0 74 20 61 6e 64 20 47 65 74 29 20 74 6f 20 72 65  t and Get) to re
221c0 74 75 72 6e 20 61 20 63 6f 6d 70 6c 65 74 65 20  turn a complete 
221d0 61 6e 64 0a 6d 65 61 6e 69 6e 67 66 75 6c 20 65  and.meaningful e
221e0 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 20 28 44  rror message. (D
221f0 4c 29 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75 67  L)..6/19/97 (bug
22200 20 66 69 78 65 73 29 20 49 66 20 61 20 73 79 73   fixes) If a sys
22210 74 65 6d 20 63 61 6c 6c 20 65 72 72 6f 72 20 6f  tem call error o
22220 63 63 75 72 73 20 77 68 69 6c 65 20 64 6f 69 6e  ccurs while doin
22230 67 20 61 6e 0a 66 63 6f 6e 66 69 67 75 72 65 20  g an.fconfigure 
22240 6f 6e 20 74 63 70 20 6f 72 20 74 74 79 2f 63 6f  on tcp or tty/co
22250 6d 20 63 68 61 6e 6e 65 6c 3a 20 72 65 74 75 72  m channel: retur
22260 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74  n the appropriat
22270 65 20 65 72 72 6f 72 0a 6d 65 73 73 61 67 65 20  e error.message 
22280 28 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20  (instead of the 
22290 73 79 6e 74 61 78 20 65 72 72 6f 72 20 6f 6e 65  syntax error one
222a0 20 6f 72 20 6e 6f 6e 65 29 2e 20 28 46 69 78 65   or none). (Fixe
222b0 64 20 66 6f 72 20 55 6e 69 78 20 61 6e 64 0a 6d  d for Unix and.m
222c0 6f 73 74 20 6f 66 20 74 68 65 20 57 69 6e 20 61  ost of the Win a
222d0 6e 64 20 4d 61 63 20 64 72 69 76 65 72 73 29 2e  nd Mac drivers).
222e0 20 28 44 4c 29 0a 0a 36 2f 32 30 2f 39 37 20 28   (DL)..6/20/97 (
222f0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
22300 45 76 61 6c 20 69 73 20 6e 6f 20 6c 6f 6e 67 65  Eval is no longe
22310 72 20 61 73 73 75 6d 65 64 20 61 73 20 74 68 65  r assumed as the
22320 20 73 75 62 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65   subcommand name
22330 0a 69 6e 20 6e 61 6d 65 73 70 61 63 65 20 63 6f  .in namespace co
22340 6d 6d 61 6e 64 73 3a 20 79 6f 75 20 6d 75 73 74  mmands: you must
22350 20 6e 6f 77 20 77 72 69 74 65 20 22 6e 61 6d 65   now write "name
22360 73 70 61 63 65 20 65 76 61 6c 20 6e 73 4e 61 6d  space eval nsNam
22370 65 20 7b 2e 2e 2e 7d 22 2e 0a 41 62 62 72 65 76  e {...}"..Abbrev
22380 69 61 74 69 6f 6e 73 20 6f 66 20 6e 61 6d 65 73  iations of names
22390 70 61 63 65 20 73 75 62 63 6f 6d 6d 61 6e 64 20  pace subcommand 
223a0 6e 61 6d 65 73 20 61 72 65 20 6e 6f 77 20 61 6c  names are now al
223b0 6c 6f 77 65 64 2e 20 28 42 4c 29 0a 2a 2a 2a 20  lowed. (BL).*** 
223c0 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
223d0 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
223e0 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f  cl 8.0b1, but no
223f0 74 20 77 69 74 68 20 54 63 6c 37 2e 36 20 2a 2a  t with Tcl7.6 **
22400 2a 0a 0a 36 2f 32 30 2f 39 37 20 28 66 65 61 74  *..6/20/97 (feat
22410 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
22420 67 65 64 20 74 68 65 20 65 72 72 6f 72 49 6e 66  ged the errorInf
22430 6f 20 74 72 61 63 65 62 61 63 6b 20 6d 65 73 73  o traceback mess
22440 61 67 65 20 66 6f 72 0a 63 6f 6d 70 69 6c 61 74  age for.compilat
22450 69 6f 6e 20 65 72 72 6f 72 73 20 66 72 6f 6d 20  ion errors from 
22460 22 69 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77 69  "invoked from wi
22470 74 68 69 6e 22 20 74 6f 20 22 77 68 69 6c 65 20  thin" to "while 
22480 63 6f 6d 70 69 6c 69 6e 67 22 2e 20 28 42 4c 29  compiling". (BL)
22490 0a 0a 36 2f 32 30 2f 39 37 20 28 62 75 67 20 66  ..6/20/97 (bug f
224a0 69 78 65 73 29 20 46 69 78 65 64 20 76 61 72 69  ixes) Fixed vari
224b0 6f 75 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d  ous compilation-
224c0 72 65 6c 61 74 65 64 20 62 75 67 73 3a 0a 20 20  related bugs:.  
224d0 20 20 2d 20 22 55 70 64 61 74 65 53 74 72 69 6e    - "UpdateStrin
224e0 67 4f 66 43 6d 64 4e 61 6d 65 20 73 68 6f 75 6c  gOfCmdName shoul
224f0 64 20 6e 65 76 65 72 20 62 65 20 63 61 6c 6c 65  d never be calle
22500 64 22 20 61 6e 64 0a 20 20 20 20 20 20 22 55 70  d" and.      "Up
22510 64 61 74 65 53 74 72 69 6e 67 4f 66 42 79 74 65  dateStringOfByte
22520 43 6f 64 65 20 73 68 6f 75 6c 64 20 6e 65 76 65  Code should neve
22530 72 20 62 65 20 63 61 6c 6c 65 64 22 20 70 61 6e  r be called" pan
22540 69 63 73 2e 0a 20 20 20 20 2d 20 53 65 67 66 61  ics..    - Segfa
22550 75 6c 74 20 69 6e 20 54 63 6c 4f 62 6a 49 6e 74  ult in TclObjInt
22560 65 72 70 50 72 6f 63 20 67 65 74 74 69 6e 67 20  erpProc getting 
22570 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 20 61  procedure name a
22580 66 74 65 72 20 65 76 61 6c 75 61 74 69 6f 6e 0a  fter evaluation.
22590 20 20 20 20 20 20 73 74 61 63 6b 20 69 73 20 72        stack is r
225a0 65 61 6c 6c 6f 63 61 74 65 64 20 28 67 72 6f 77  eallocated (grow
225b0 6e 29 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64 20  n)..    - Could 
225c0 6e 6f 74 20 75 73 65 20 22 3a 22 20 61 74 20 65  not use ":" at e
225d0 6e 64 20 6f 66 20 76 61 72 69 61 62 6c 65 20 61  nd of variable a
225e0 6e 64 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73  nd command names
225f0 2e 0a 20 20 20 20 2d 20 42 61 64 20 63 6f 64 65  ..    - Bad code
22600 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 77   generated for w
22610 68 69 6c 65 20 61 6e 64 20 66 6f 72 20 63 6f 6d  hile and for com
22620 6d 61 6e 64 73 20 77 69 74 68 20 74 65 73 74 20  mands with test 
22630 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20  expressions.    
22640 20 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 71 75    enclosed in qu
22650 6f 74 65 73 3a 20 65 2e 67 2e 2c 20 22 73 65 74  otes: e.g., "set
22660 20 69 20 30 3b 20 77 68 69 6c 65 20 22 24 69 20   i 0; while "$i 
22670 3e 20 35 22 20 7b 7d 22 2e 0a 20 20 20 20 2d 20  > 5" {}"..    - 
22680 43 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20 70 72  Command trace pr
22690 6f 63 65 64 75 72 65 73 20 77 6f 75 6c 64 20 63  ocedures would c
226a0 72 61 73 68 20 69 66 20 74 68 65 79 20 64 69 64  rash if they did
226b0 20 61 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 20 74   a Tcl_EvalObj t
226c0 68 61 74 0a 20 20 20 20 20 20 72 65 61 6c 6c 6f  hat.      reallo
226d0 63 61 74 65 64 20 74 68 65 20 65 76 61 6c 75 61  cated the evalua
226e0 74 69 6f 6e 20 73 74 61 63 6b 2e 0a 20 20 20 20  tion stack..    
226f0 2d 20 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74  - Break and cont
22700 69 6e 75 65 20 63 6f 6d 6d 61 6e 64 73 20 64 69  inue commands di
22710 64 20 6e 6f 74 20 72 65 73 65 74 20 74 68 65 20  d not reset the 
22720 69 6e 74 65 72 70 72 65 74 65 72 20 72 65 73 75  interpreter resu
22730 6c 74 2e 0a 20 20 20 20 2d 20 54 68 65 20 54 63  lt..    - The Tc
22740 6c 5f 45 78 70 72 58 58 58 20 72 6f 75 74 69 6e  l_ExprXXX routin
22750 65 73 2c 20 62 6f 74 68 20 73 74 72 69 6e 67 2d  es, both string-
22760 20 6f 72 20 6f 62 6a 65 63 74 2d 62 61 73 65 64   or object-based
22770 2c 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20 6d  , always.      m
22780 6f 64 69 66 69 65 64 20 74 68 65 20 69 6e 74 65  odified the inte
22790 72 70 72 65 74 65 72 20 72 65 73 75 6c 74 20 65  rpreter result e
227a0 76 65 6e 20 69 66 20 74 68 65 72 65 20 77 61 73  ven if there was
227b0 20 6e 6f 20 65 72 72 6f 72 2e 0a 20 20 20 20 2d   no error..    -
227c0 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 70 61   The argument pa
227d0 72 73 69 6e 67 20 70 72 6f 63 65 64 75 72 65 20  rsing procedure 
227e0 75 73 65 64 20 62 79 20 73 65 76 65 72 61 6c 20  used by several 
227f0 63 6f 6d 70 69 6c 65 20 70 72 6f 63 65 64 75 72  compile procedur
22800 65 73 0a 20 20 20 20 20 20 61 6c 77 61 79 73 20  es.      always 
22810 74 72 65 61 74 65 64 20 22 5d 22 20 61 73 20 65  treated "]" as e
22820 6e 64 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 3a  nd of a command:
22830 20 65 2e 67 2e 2c 20 22 73 65 74 20 61 20 5d 22   e.g., "set a ]"
22840 20 77 6f 75 6c 64 20 66 61 69 6c 2e 0a 20 20 20   would fail..   
22850 20 2d 20 43 68 61 6e 67 65 64 20 65 72 72 6f 72   - Changed error
22860 49 6e 66 6f 20 74 72 61 63 65 62 61 63 6b 20 6d  Info traceback m
22870 65 73 73 61 67 65 20 66 6f 72 20 63 6f 6d 70 69  essage for compi
22880 6c 61 74 69 6f 6e 20 65 72 72 6f 72 73 20 66 72  lation errors fr
22890 6f 6d 20 0a 20 20 20 20 20 20 22 69 6e 76 6f 6b  om .      "invok
228a0 65 64 20 66 72 6f 6d 20 77 69 74 68 69 6e 22 20  ed from within" 
228b0 74 6f 20 22 77 68 69 6c 65 20 63 6f 6d 70 69 6c  to "while compil
228c0 69 6e 67 22 2e 0a 20 20 20 20 2d 20 50 72 6f 62  ing"..    - Prob
228d0 6c 65 6d 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67  lem initializing
228e0 20 54 63 6c 20 6f 62 6a 65 63 74 20 6d 61 6e 61   Tcl object mana
228f0 67 65 72 73 20 64 75 72 69 6e 67 20 69 6e 74 65  gers during inte
22900 72 70 72 65 74 65 72 20 63 72 65 61 74 69 6f 6e  rpreter creation
22910 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 63 68  ..    - Added ch
22920 65 63 6b 20 61 6e 64 20 65 72 72 6f 72 20 6d 65  eck and error me
22930 73 73 61 67 65 20 69 66 20 66 6f 72 6d 61 6c 20  ssage if formal 
22940 70 61 72 61 6d 65 74 65 72 20 74 6f 20 61 20 70  parameter to a p
22950 72 6f 63 65 64 75 72 65 20 69 73 0a 20 20 20 20  rocedure is.    
22960 20 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65    an array eleme
22970 6e 74 2e 20 28 42 4c 29 0a 0a 36 2f 32 33 2f 39  nt. (BL)..6/23/9
22980 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  7 (new feature) 
22990 41 64 64 65 64 20 22 72 65 67 69 73 74 72 79 22  Added "registry"
229a0 20 70 61 63 6b 61 67 65 20 74 6f 20 61 6c 6c 6f   package to allo
229b0 77 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 0a 6f  w manipulation.o
229c0 66 20 74 68 65 20 57 69 6e 64 6f 77 73 20 73 79  f the Windows sy
229d0 73 74 65 6d 20 72 65 67 69 73 74 72 79 2e 20 20  stem registry.  
229e0 53 65 65 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79  See manual entry
229f0 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 20 28 53   for details. (S
22a00 53 29 0a 0a 36 2f 32 34 2f 39 37 20 28 66 65 61  S)..6/24/97 (fea
22a10 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 6f 6e  ture change) Con
22a20 76 65 72 74 65 64 20 68 74 74 70 20 74 6f 20 61  verted http to a
22a30 20 70 61 63 6b 61 67 65 20 61 6e 64 20 61 64 64   package and add
22a40 65 64 20 74 68 65 0a 68 74 74 70 31 2e 30 20 73  ed the.http1.0 s
22a50 75 62 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74  ubdirectory of t
22a60 68 65 20 54 63 6c 20 73 63 72 69 70 74 20 6c 69  he Tcl script li
22a70 62 72 61 72 79 2e 20 20 54 68 69 73 20 6d 65 61  brary.  This mea
22a80 6e 73 20 79 6f 75 20 68 61 76 65 0a 74 6f 20 64  ns you have.to d
22a90 6f 20 61 20 22 70 61 63 6b 61 67 65 20 72 65 71  o a "package req
22aa0 75 69 72 65 20 68 74 74 70 22 20 74 6f 20 75 73  uire http" to us
22ab0 65 20 74 68 69 73 2c 20 61 73 20 61 64 76 65 72  e this, as adver
22ac0 74 69 73 65 64 20 69 6e 20 74 68 65 20 6d 61 6e  tised in the man
22ad0 20 70 61 67 65 2e 20 28 42 57 29 0a 2a 2a 2a 20   page. (BW).*** 
22ae0 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
22af0 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
22b00 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f  cl 8.0b1, but no
22b10 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a  t with Tcl 7.6 *
22b20 2a 2a 0a 0a 36 2f 32 34 2f 39 37 20 28 62 75 67  **..6/24/97 (bug
22b30 20 66 69 78 29 20 45 6e 73 75 72 65 20 74 68 61   fix) Ensure tha
22b40 74 20 54 63 6c 5f 53 65 74 2f 47 65 74 56 61 72  t Tcl_Set/GetVar
22b50 20 43 20 41 50 49 73 2c 20 77 68 65 6e 20 63 61   C APIs, when ca
22b60 6c 6c 65 64 20 77 69 74 68 6f 75 74 0a 54 43 4c  lled without.TCL
22b70 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47 2c 20  _LEAVE_ERR_MSG, 
22b80 64 6f 6e 27 74 20 74 6f 75 63 68 20 74 68 65 20  don't touch the 
22b90 69 6e 74 65 72 70 20 72 65 73 75 6c 74 2e 20 28  interp result. (
22ba0 44 4c 29 0a 0a 36 2f 32 36 2f 39 37 20 28 66 65  DL)..6/26/97 (fe
22bb0 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68  ature change) Ch
22bc0 61 6e 67 65 64 20 6e 61 6d 65 20 6f 66 20 54 63  anged name of Tc
22bd0 6c 5f 45 78 70 72 53 74 72 69 6e 67 4f 62 6a 20  l_ExprStringObj 
22be0 74 6f 0a 54 63 6c 5f 45 78 70 72 4f 62 6a 2e 20  to.Tcl_ExprObj. 
22bf0 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  (BL).*** POTENTI
22c00 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
22c10 54 59 20 77 69 74 68 20 54 63 6c 20 38 2e 30 62  TY with Tcl 8.0b
22c20 31 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  1, but not with 
22c30 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 2d 2d 2d  Tcl 7.6 ***..---
22c40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
22c50 65 6c 65 61 73 65 64 20 38 2e 30 62 32 2c 20 36  eleased 8.0b2, 6
22c60 2f 33 30 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  /30/97 ---------
22c70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
22c80 37 2f 31 2f 39 37 20 28 6e 65 77 20 66 65 61 74  7/1/97 (new feat
22c90 75 72 65 29 20 54 43 4c 5f 42 55 49 4c 44 5f 53  ure) TCL_BUILD_S
22ca0 48 41 52 45 44 20 66 6c 61 67 20 73 65 74 20 69  HARED flag set i
22cb0 6e 20 74 63 6c 43 6f 6e 66 69 67 2e 73 68 0a 77  n tclConfig.sh.w
22cc0 68 65 6e 20 54 63 6c 20 68 61 73 20 62 65 65 6e  hen Tcl has been
22cd0 20 62 75 69 6c 74 20 77 69 74 68 20 2d 2d 65 6e   built with --en
22ce0 61 62 6c 65 2d 73 68 61 72 65 64 2e 20 41 20 6e  able-shared. A n
22cf0 65 77 20 74 63 6c 4c 69 62 4f 62 6a 73 0a 6d 61  ew tclLibObjs.ma
22d00 6b 65 20 74 61 72 67 65 74 2c 20 65 63 68 6f 69  ke target, echoi
22d10 6e 67 20 74 68 65 20 6c 69 73 74 20 6f 66 20 74  ng the list of t
22d20 68 65 20 2e 6f 27 73 20 6e 65 65 64 65 64 20 74  he .o's needed t
22d30 6f 20 62 75 69 6c 64 20 61 20 74 63 6c 0a 6c 69  o build a tcl.li
22d40 62 72 61 72 79 2c 20 69 73 20 6e 6f 77 20 70 72  brary, is now pr
22d50 6f 76 69 64 65 64 2e 20 28 44 4c 29 0a 0a 37 2f  ovided. (DL)..7/
22d60 31 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68  1/97 (feature ch
22d70 61 6e 67 65 29 20 63 6f 6d 70 61 74 2f 67 65 74  ange) compat/get
22d80 63 77 64 2e 63 20 72 65 6d 6f 76 65 64 20 61 6e  cwd.c removed an
22d90 64 20 63 68 61 6e 67 65 64 20 74 68 65 0a 6f 6e  d changed the.on
22da0 6c 79 20 70 6c 61 63 65 20 77 68 65 72 65 20 67  ly place where g
22db0 65 74 63 77 64 20 69 73 20 75 73 65 64 20 73 6f  etcwd is used so
22dc0 20 61 20 6e 65 77 20 55 53 45 47 45 54 57 44 20   a new USEGETWD 
22dd0 66 6c 61 67 20 73 65 6c 65 63 74 73 0a 74 68 65  flag selects.the
22de0 20 75 73 65 20 6f 66 20 74 68 65 20 72 65 70 6c   use of the repl
22df0 61 63 65 6d 65 6e 74 20 22 67 65 74 77 64 22 2e  acement "getwd".
22e00 20 41 64 64 69 6e 67 20 74 68 69 73 20 66 6c 61   Adding this fla
22e10 67 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64  g is recommended
22e20 0a 66 6f 72 20 53 75 6e 4f 53 20 34 20 28 62 65  .for SunOS 4 (be
22e30 63 61 75 73 65 20 67 65 74 63 77 64 20 6f 6e 20  cause getcwd on 
22e40 53 75 6e 4f 53 20 34 20 75 73 65 73 20 61 20 70  SunOS 4 uses a p
22e50 69 70 65 20 74 6f 20 70 77 64 28 31 29 21 29 2e  ipe to pwd(1)!).
22e60 20 28 44 4c 29 0a 0a 37 2f 37 2f 39 37 20 28 66   (DL)..7/7/97 (f
22e70 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54  eature change) T
22e80 68 65 20 73 70 6c 69 74 20 63 6f 6d 6d 61 6e 64  he split command
22e90 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 62 69   now supports bi
22ea0 6e 61 72 79 20 64 61 74 61 20 28 69 2e 65 2e 2c  nary data (i.e.,
22eb0 0a 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73  .null characters
22ec0 20 69 6e 20 73 74 72 69 6e 67 73 29 2e 20 28 42   in strings). (B
22ed0 4c 29 0a 0a 37 2f 37 2f 39 37 20 28 62 75 67 20  L)..7/7/97 (bug 
22ee0 66 69 78 29 20 73 74 72 69 6e 67 20 66 69 72 73  fix) string firs
22ef0 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 77  t returned the w
22f00 72 6f 6e 67 20 72 65 73 75 6c 74 20 69 66 20 74  rong result if t
22f10 68 65 20 66 69 72 73 74 0a 61 72 67 75 6d 65 6e  he first.argumen
22f20 74 20 73 74 72 69 6e 67 20 77 61 73 20 65 6d 70  t string was emp
22f30 74 79 2e 20 28 42 4c 29 0a 0a 37 2f 38 2f 39 37  ty. (BL)..7/8/97
22f40 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
22f50 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 66 63   core dump in fc
22f60 6f 70 79 20 74 68 61 74 20 63 6f 75 6c 64 20 6f  opy that could o
22f70 63 63 75 72 20 77 68 65 6e 20 61 20 63 6f 6d 6d  ccur when a comm
22f80 61 6e 64 0a 63 61 6c 6c 62 61 63 6b 20 77 61 73  and.callback was
22f90 20 73 75 70 70 6c 69 65 64 20 61 6e 64 20 61 6e   supplied and an
22fa0 20 65 72 72 6f 72 20 6f 72 20 65 6f 66 20 63 6f   error or eof co
22fb0 6e 64 69 74 69 6f 6e 20 63 61 75 73 65 64 20 6e  ndition caused n
22fc0 6f 20 62 61 63 6b 67 72 6f 75 6e 64 0a 61 63 74  o background.act
22fd0 69 76 69 74 79 2e 20 20 41 20 72 65 66 63 6f 75  ivity.  A refcou
22fe0 6e 74 20 62 75 67 20 74 72 69 67 67 65 72 65 64  nt bug triggered
22ff0 20 61 20 70 61 6e 69 63 20 69 6e 20 54 63 6c 5f   a panic in Tcl_
23000 4c 69 73 74 4f 62 6a 41 70 70 65 6e 64 45 6c 65  ListObjAppendEle
23010 6d 65 6e 74 2e 20 28 42 57 29 0a 0a 37 2f 38 2f  ment. (BW)..7/8/
23020 39 37 20 28 62 75 67 20 66 69 78 29 20 52 65 6c  97 (bug fix) Rel
23030 61 78 65 64 20 74 68 65 20 70 61 74 74 65 72 6e  axed the pattern
23040 20 6d 61 74 63 68 69 6e 67 20 6f 6e 20 68 74 74   matching on htt
23050 70 5f 67 65 74 20 73 6f 20 79 6f 75 20 64 6f 20  p_get so you do 
23060 6e 6f 74 0a 6e 65 65 64 20 61 20 74 72 61 69 6c  not.need a trail
23070 69 6e 67 20 70 61 74 68 20 63 6f 6d 70 6f 6e 65  ing path compone
23080 6e 74 2e 20 20 59 6f 75 20 63 61 6e 20 6e 6f 77  nt.  You can now
23090 20 67 65 74 20 61 77 61 79 20 77 69 74 68 20 6a   get away with j
230a0 75 73 74 0a 68 74 74 70 5f 67 65 74 20 77 77 77  ust.http_get www
230b0 2e 73 63 72 69 70 74 69 63 73 2e 63 6f 6d 09 09  .scriptics.com..
230c0 09 09 09 28 42 57 29 0a 0a 37 2f 39 2f 39 37 20  ...(BW)..7/9/97 
230d0 28 62 75 67 20 66 69 78 29 20 43 72 65 61 74 69  (bug fix) Creati
230e0 6e 67 20 61 6e 6f 6e 79 6d 6f 75 73 20 69 6e 74  ng anonymous int
230f0 65 72 70 72 65 74 65 72 73 20 6e 6f 20 6c 6f 6e  erpreters no lon
23100 67 65 72 20 73 6d 61 73 68 65 73 20 65 78 69 73  ger smashes exis
23110 74 69 6e 67 0a 63 6f 6d 6d 61 6e 64 73 20 77 69  ting.commands wi
23120 74 68 20 6e 61 6d 65 73 20 73 69 6d 69 6c 61 72  th names similar
23130 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65   to the generate
23140 64 20 6e 61 6d 65 2e 20 50 72 65 76 69 6f 75 73  d name. Previous
23150 6c 79 20 63 72 65 61 74 69 6e 67 20 61 6e 0a 61  ly creating an.a
23160 6e 6f 6e 79 6d 6f 75 73 20 69 6e 74 65 72 70 72  nonymous interpr
23170 65 74 65 72 20 63 6f 75 6c 64 20 73 6d 61 73 68  eter could smash
23180 20 61 6e 20 65 78 69 73 74 69 6e 67 20 63 6f 6d   an existing com
23190 6d 61 6e 64 2c 20 6e 6f 77 20 69 74 20 73 6b 69  mand, now it ski
231a0 70 73 20 75 6e 74 69 6c 0a 69 74 20 66 69 6e 64  ps until.it find
231b0 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65  s a command name
231c0 20 74 68 61 74 20 69 73 6e 27 74 20 62 65 69 6e   that isn't bein
231d0 67 20 75 73 65 64 2e 20 28 4a 4c 29 0a 0a 37 2f  g used. (JL)..7/
231e0 39 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68  9/97 (feature ch
231f0 61 6e 67 65 29 20 52 65 6d 6f 76 65 64 20 74 68  ange) Removed th
23200 65 20 70 6f 6c 69 63 79 20 6d 61 6e 61 67 65 6d  e policy managem
23210 65 6e 74 20 6d 65 63 68 61 6e 69 73 6d 20 66 72  ent mechanism fr
23220 6f 6d 20 74 68 65 0a 53 61 66 65 20 42 61 73 65  om the.Safe Base
23230 3b 20 6c 65 66 74 20 74 68 65 20 61 6c 69 61 73  ; left the alias
23240 65 73 20 74 6f 20 73 6f 75 72 63 65 20 61 6e 64  es to source and
23250 20 6c 6f 61 64 20 6d 6f 64 75 6c 65 73 2c 20 61   load modules, a
23260 6e 64 20 74 6f 20 64 6f 20 61 20 6c 69 6d 69 74  nd to do a limit
23270 65 64 0a 66 6f 72 6d 20 6f 66 20 74 68 65 20 22  ed.form of the "
23280 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 2e 20 53  file" command. S
23290 65 65 20 65 6e 74 72 79 20 6f 66 20 31 31 2f 31  ee entry of 11/1
232a0 35 2f 39 36 2e 20 28 4a 4c 29 0a 0a 37 2f 39 2f  5/96. (JL)..7/9/
232b0 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20 46  97 (bug fixes) F
232c0 69 78 65 64 20 76 61 72 69 6f 75 73 20 63 6f 6d  ixed various com
232d0 70 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64  pilation-related
232e0 20 62 75 67 73 3a 0a 20 20 20 20 2d 20 4c 69 6e   bugs:.    - Lin
232f0 65 20 6e 75 6d 62 65 72 73 20 69 6e 20 65 72 72  e numbers in err
23300 6f 72 49 6e 66 6f 20 6e 6f 77 20 61 72 65 20 74  orInfo now are t
23310 68 65 20 73 61 6d 65 20 61 73 20 74 68 6f 73 65  he same as those
23320 20 69 6e 20 54 63 6c 37 2e 36 20 75 6e 6c 65 73   in Tcl7.6 unles
23330 73 0a 74 68 65 72 65 20 61 72 65 20 63 6f 6d 70  s.there are comp
23340 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 73 2e 20  ilation errors. 
23350 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f  Compilation erro
23360 72 20 6d 65 73 73 61 67 65 73 20 6e 6f 77 20 69  r messages now i
23370 6e 63 6c 75 64 65 20 74 68 65 0a 65 6e 74 69 72  nclude the.entir
23380 65 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 65 72 72  e command in err
23390 6f 72 2e 0a 20 20 20 20 2d 20 54 72 61 69 6c 69  or..    - Traili
233a0 6e 67 20 3a 3a 73 20 61 66 74 65 72 20 6e 61 6d  ng ::s after nam
233b0 65 73 70 61 63 65 20 6e 61 6d 65 73 20 77 65 72  espace names wer
233c0 65 6e 27 74 20 62 65 69 6e 67 20 69 67 6e 6f 72  en't being ignor
233d0 65 64 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64 20  ed..    - Could 
233e0 6e 6f 74 20 72 65 66 65 72 20 74 6f 20 61 6e 20  not refer to an 
233f0 6e 61 6d 65 73 70 61 63 65 20 76 61 72 69 61 62  namespace variab
23400 6c 65 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79  le with an empty
23410 20 6e 61 6d 65 20 75 73 69 6e 67 20 61 0a 6e 61   name using a.na
23420 6d 65 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 22  me of the form "
23430 6e 3a 3a 22 2e 20 28 42 4c 29 0a 0a 37 2f 39 2f  n::". (BL)..7/9/
23440 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
23450 65 64 20 62 75 67 20 69 6e 20 54 63 6c 5f 45 78  ed bug in Tcl_Ex
23460 70 6f 72 74 20 74 68 61 74 20 70 72 65 76 65 6e  port that preven
23470 74 65 64 20 79 6f 75 20 66 72 6f 6d 20 65 78 70  ted you from exp
23480 6f 72 74 69 6e 67 0a 66 72 6f 6d 20 6f 74 68 65  orting.from othe
23490 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65  r than the curre
234a0 6e 74 20 6e 61 6d 65 73 70 61 63 65 2e 20 28 42  nt namespace. (B
234b0 4c 29 0a 0a 37 2f 39 2f 39 37 20 28 62 75 67 20  L)..7/9/97 (bug 
234c0 66 69 78 29 20 65 6e 76 2e 74 65 73 74 20 77 61  fix) env.test wa
234d0 73 20 72 65 6d 6f 76 69 6e 67 20 65 6e 76 20 76  s removing env v
234e0 61 72 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72  ar needed for pr
234f0 6f 70 65 72 20 66 69 6e 64 69 6e 67 0a 6f 66 20  oper finding.of 
23500 6c 69 62 72 61 72 69 65 73 20 69 6e 20 63 68 69  libraries in chi
23510 6c 64 20 70 72 6f 63 65 73 73 2e 20 28 44 4c 29  ld process. (DL)
23520 0a 0a 37 2f 31 30 2f 39 37 20 28 62 75 67 20 66  ..7/10/97 (bug f
23530 69 78 65 73 2f 6e 65 77 20 66 65 61 74 75 72 65  ixes/new feature
23540 29 20 43 6c 65 61 6e 75 70 20 69 6e 20 54 63 6c  ) Cleanup in Tcl
23550 5f 4d 61 6b 65 53 61 66 65 2e 20 4c 65 73 73 20  _MakeSafe. Less 
23560 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 69 73 20 6c  information.is l
23570 65 61 6b 65 64 20 74 6f 20 73 61 66 65 20 69 6e  eaked to safe in
23580 74 65 72 70 73 2e 20 45 72 72 6f 72 20 6d 65 73  terps. Error mes
23590 73 61 67 65 20 66 69 78 65 73 20 66 6f 72 20 69  sage fixes for i
235a0 6e 74 65 72 70 20 73 75 62 20 63 6f 6d 6d 61 6e  nterp sub comman
235b0 64 73 2e 0a 4c 69 6b 65 77 69 73 65 20 63 68 61  ds..Likewise cha
235c0 6e 67 65 73 20 69 6e 20 73 61 66 65 61 6c 69 61  nges in safealia
235d0 73 2e 74 63 6c 3b 20 74 63 6c 5f 73 61 66 65 43  s.tcl; tcl_safeC
235e0 72 65 61 74 65 49 6e 74 65 72 70 20 63 61 6e 20  reateInterp can 
235f0 6e 6f 77 20 62 65 20 63 61 6c 6c 65 64 0a 77 69  now be called.wi
23600 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 20 74  thout argument t
23610 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 73  o generate the s
23620 6c 61 76 65 20 6e 61 6d 65 20 28 6c 69 6b 65 20  lave name (like 
23630 69 6e 20 69 6e 74 65 72 70 20 63 72 65 61 74 65  in interp create
23640 29 2e 20 28 44 4c 29 0a 0a 37 2f 31 30 2f 39 37  ). (DL)..7/10/97
23650 20 28 62 75 67 20 66 69 78 65 73 29 20 42 79 74   (bug fixes) Byt
23660 65 63 6f 64 65 20 63 6f 6d 70 69 6c 65 72 20 6e  ecode compiler n
23670 6f 77 20 67 65 6e 65 72 61 74 65 73 20 6d 6f 72  ow generates mor
23680 65 20 64 65 74 61 69 6c 65 64 20 0a 63 6f 6d 6d  e detailed .comm
23690 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 66  and location inf
236a0 6f 72 6d 61 74 69 6f 6e 3a 20 73 75 62 63 6f 6d  ormation: subcom
236b0 6d 61 6e 64 73 20 61 73 20 77 65 6c 6c 20 61 73  mands as well as
236c0 20 63 6f 6d 6d 61 6e 64 73 20 6e 6f 77 20 68 61   commands now ha
236d0 76 65 0a 6c 6f 63 61 74 69 6f 6e 20 69 6e 66 6f  ve.location info
236e0 72 6d 61 74 69 6f 6e 2e 20 54 68 69 73 20 6d 65  rmation. This me
236f0 61 6e 73 20 63 6f 6d 6d 61 6e 64 20 74 72 61 63  ans command trac
23700 65 20 70 72 6f 63 65 64 75 72 65 73 20 6e 6f 77  e procedures now
23710 20 67 65 74 20 74 68 65 0a 63 6f 72 72 65 63 74   get the.correct
23720 20 73 6f 75 72 63 65 20 73 74 72 69 6e 67 20 66   source string f
23730 6f 72 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20  or each command 
23740 69 6e 20 74 68 65 69 72 20 63 6f 6d 6d 61 6e 64  in their command
23750 20 70 61 72 61 6d 65 74 65 72 2e 20 28 42 4c 29   parameter. (BL)
23760 0a 0a 37 2f 32 32 2f 39 37 20 28 62 75 67 20 66  ..7/22/97 (bug f
23770 69 78 65 73 29 20 50 65 72 66 6f 72 6d 61 6e 63  ixes) Performanc
23780 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 20 69 6e  e improvement in
23790 20 53 61 66 65 20 69 6e 74 65 72 70 72 65 74 65   Safe interprete
237a0 72 73 0a 68 61 6e 64 6c 69 6e 67 2e 20 41 64 64  rs.handling. Add
237b0 65 64 20 6e 65 77 20 6d 61 73 6b 20 76 61 6c 75  ed new mask valu
237c0 65 20 74 6f 20 28 74 63 6c 49 6e 74 2e 68 29 20  e to (tclInt.h) 
237d0 49 6e 74 65 72 70 2e 66 6c 61 67 73 20 72 65 63  Interp.flags rec
237e0 6f 72 64 2e 20 28 44 4c 29 0a 0a 37 2f 32 32 2f  ord. (DL)..7/22/
237f0 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
23800 65 64 20 70 61 6e 69 63 20 69 6e 20 27 69 6e 74  ed panic in 'int
23810 65 72 70 20 74 61 72 67 65 74 20 7b 7d 20 66 6f  erp target {} fo
23820 6f 27 2e 20 54 68 69 73 20 62 75 67 0a 77 61 73  o'. This bug.was
23830 20 70 72 65 73 65 6e 74 20 73 69 6e 63 65 20 54   present since T
23840 63 6c 20 37 2e 36 2e 20 28 4a 4c 29 0a 0a 37 2f  cl 7.6. (JL)..7/
23850 32 32 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  22/97 (bug fix) 
23860 46 69 78 65 64 20 62 75 67 20 69 6e 20 63 6f 6d  Fixed bug in com
23870 70 69 6c 61 74 69 6f 6e 20 6f 66 20 70 72 6f 63  pilation of proc
23880 65 64 75 72 65 73 20 69 6e 20 6e 61 6d 65 73 70  edures in namesp
23890 61 63 65 73 3a 20 74 68 65 0a 70 72 6f 63 65 64  aces: the.proced
238a0 75 72 65 27 73 20 6e 61 6d 65 73 70 61 63 65 20  ure's namespace 
238b0 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20  must be used to 
238c0 6c 6f 6f 6b 20 75 70 20 63 6f 6d 70 69 6c 65 20  look up compile 
238d0 70 72 6f 63 65 64 75 72 65 73 2c 20 6e 6f 74 20  procedures, not 
238e0 74 68 65 0a 63 75 72 72 65 6e 74 20 6e 61 6d 65  the.current name
238f0 73 70 61 63 65 2e 20 28 42 4c 29 0a 0a 37 2f 32  space. (BL)..7/2
23900 32 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 55  2/97 (bug fix) U
23910 73 65 20 6f 66 20 74 68 65 20 2d 63 68 61 6e 6e  se of the -chann
23920 65 6c 20 6f 70 74 69 6f 6e 20 6f 66 20 68 74 74  el option of htt
23930 70 5f 67 65 74 20 77 61 73 20 6e 6f 74 20 73 65  p_get was not se
23940 74 74 69 6e 67 0a 74 68 65 20 65 6e 64 20 6f 66  tting.the end of
23950 20 6c 69 6e 65 20 74 72 61 6e 73 6c 61 74 69 6f   line translatio
23960 6e 73 20 6d 6f 64 65 20 6f 6e 20 74 68 65 20 63  ns mode on the c
23970 68 61 6e 6e 65 6c 2c 20 73 6f 20 63 6f 70 79 69  hannel, so copyi
23980 6e 67 20 62 69 6e 61 72 79 20 64 61 74 61 0a 77  ng binary data.w
23990 69 74 68 20 74 68 65 20 2d 63 68 61 6e 6e 65 6c  ith the -channel
239a0 20 6f 70 74 69 6f 6e 20 77 61 73 20 63 6f 72 72   option was corr
239b0 75 70 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c  upting the resul
239c0 74 20 6f 6e 20 6e 6f 6e 2d 75 6e 69 78 20 70 6c  t on non-unix pl
239d0 61 74 66 6f 72 6d 73 2e 20 28 42 57 29 0a 0a 37  atforms. (BW)..7
239e0 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69 78 65  /22/97 (bug fixe
239f0 73 29 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 73  s) file commands
23a00 20 61 6e 64 20 7e 75 73 65 72 20 28 73 65 67 20   and ~user (seg 
23a10 66 61 75 6c 74 20 61 6e 64 20 6f 74 68 65 72 0a  fault and other.
23a20 69 6d 70 72 6f 70 65 72 20 72 65 74 75 72 6e 73  improper returns
23a30 29 2e 20 28 44 4c 29 0a 0a 37 2f 32 33 2f 39 37  ). (DL)..7/23/97
23a40 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
23a50 29 20 52 65 65 6e 61 62 6c 65 64 20 22 76 77 61  ) Reenabled "vwa
23a60 69 74 22 20 69 6e 20 53 61 66 65 20 42 61 73 65  it" in Safe Base
23a70 2e 20 28 4a 4c 29 0a 0a 37 2f 32 33 2f 39 37 20  . (JL)..7/23/97 
23a80 28 62 75 67 20 66 69 78 65 73 29 20 46 69 78 65  (bug fixes) Fixe
23a90 64 20 74 77 6f 20 62 75 67 73 20 69 6e 76 6f 6c  d two bugs invol
23aa0 76 69 6e 67 20 72 65 61 64 20 74 72 61 63 65 73  ving read traces
23ab0 20 6f 6e 20 61 72 72 61 79 20 76 61 72 69 61 62   on array variab
23ac0 6c 65 73 0a 69 6e 20 70 72 6f 63 65 64 75 72 65  les.in procedure
23ad0 73 3a 20 74 72 61 63 65 20 70 72 6f 63 65 64 75  s: trace procedu
23ae0 72 65 73 20 77 65 72 65 20 73 6f 6d 65 74 69 6d  res were sometim
23af0 65 73 20 6e 6f 74 20 63 61 6c 6c 65 64 2c 20 61  es not called, a
23b00 6e 64 20 72 65 61 64 69 6e 67 0a 6e 6f 6e 65 78  nd reading.nonex
23b10 69 73 74 61 6e 74 20 61 72 72 61 79 20 65 6c 65  istant array ele
23b20 6d 65 6e 74 73 20 64 69 64 6e 27 74 20 63 72 65  ments didn't cre
23b30 61 74 65 20 75 6e 64 65 66 69 6e 65 64 20 65 6c  ate undefined el
23b40 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20  ement variables 
23b50 74 68 61 74 0a 63 6f 75 6c 64 20 6c 61 74 65 72  that.could later
23b60 20 62 65 20 64 65 66 69 6e 65 64 20 62 79 20 74   be defined by t
23b70 72 61 63 65 20 70 72 6f 63 65 64 75 72 65 73 2e  race procedures.
23b80 20 28 42 4c 29 0a 0a 37 2f 32 34 2f 39 37 20 28   (BL)..7/24/97 (
23b90 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77 73  bug fix) Windows
23ba0 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69   memory allocati
23bb0 6f 6e 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 77  on performance w
23bc0 61 73 0a 73 75 70 65 72 6c 69 6e 65 61 72 20 69  as.superlinear i
23bd0 6e 20 73 6f 6d 65 20 63 61 73 65 73 2e 20 20 4d  n some cases.  M
23be0 61 64 65 20 74 68 65 20 4d 61 63 20 61 6c 6c 6f  ade the Mac allo
23bf0 63 61 74 6f 72 20 67 65 6e 65 72 69 63 20 61 6e  cator generic an
23c00 64 20 63 68 61 6e 67 65 64 0a 62 6f 74 68 20 74  d changed.both t
23c10 68 65 20 4d 61 63 20 61 6e 64 20 57 69 6e 64 6f  he Mac and Windo
23c20 77 73 20 70 6c 61 74 66 6f 72 6d 73 20 74 6f 20  ws platforms to 
23c30 75 73 65 20 74 68 65 20 6e 65 77 20 61 6c 6c 6f  use the new allo
23c40 63 61 74 6f 72 20 69 6e 73 74 65 61 64 20 6f 66  cator instead of
23c50 0a 6d 61 6c 6c 6f 63 20 61 6e 64 20 66 72 65 65  .malloc and free
23c60 2e 20 28 53 53 29 0a 0a 37 2f 32 34 2f 39 37 20  . (SS)..7/24/97 
23c70 2d 20 38 2f 31 32 2f 39 37 20 28 62 75 67 20 66  - 8/12/97 (bug f
23c80 69 78 65 73 2f 63 68 61 6e 67 65 20 6f 66 20 66  ixes/change of f
23c90 65 61 74 75 72 65 73 29 20 43 6f 6d 70 6c 65 74  eatures) Complet
23ca0 65 6c 79 20 72 65 76 61 6d 70 65 64 20 73 61 66  ely revamped saf
23cb0 65 0a 73 6f 75 72 63 69 6e 67 2f 6c 6f 61 64 69  e.sourcing/loadi
23cc0 6e 67 20 28 73 65 65 20 73 61 66 65 2e 6e 29 20  ng (see safe.n) 
23cd0 74 6f 20 68 69 64 65 20 70 61 74 68 6e 61 6d 65  to hide pathname
23ce0 73 2c 20 75 73 65 20 76 69 72 74 75 61 6c 0a 70  s, use virtual.p
23cf0 61 74 68 73 20 74 6f 6b 65 6e 73 20 69 6e 73 74  aths tokens inst
23d00 65 61 64 2c 20 69 6d 70 72 6f 76 65 64 20 73 65  ead, improved se
23d10 63 75 72 69 74 79 20 69 6e 20 73 65 76 65 72 61  curity in severa
23d20 6c 20 72 65 73 70 65 63 74 73 20 61 6e 64 20 6d  l respects and m
23d30 61 64 65 20 69 74 0a 6d 6f 72 65 20 74 75 6e 61  ade it.more tuna
23d40 62 6c 65 2e 20 4d 75 6c 74 69 20 6c 65 76 65 6c  ble. Multi level
23d50 20 69 6e 74 65 72 70 20 6c 6f 61 64 69 6e 67 20   interp loading 
23d60 63 61 6e 20 77 6f 72 6b 20 74 6f 6f 20 6e 6f 77  can work too now
23d70 2e 20 50 61 63 6b 61 67 65 20 61 75 74 6f 0a 6c  . Package auto.l
23d80 6f 61 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b 73  oading now works
23d90 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73   in safe interps
23da0 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20   as long as the 
23db0 70 61 63 6b 61 67 65 20 64 69 72 65 63 74 6f 72  package director
23dc0 79 20 69 73 20 69 6e 20 0a 74 68 65 20 61 75 74  y is in .the aut
23dd0 6f 5f 70 61 74 68 20 28 6e 6f 20 64 65 65 70 20  o_path (no deep 
23de0 63 72 61 77 6c 69 6e 67 20 61 6c 6c 6f 77 65 64  crawling allowed
23df0 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73   in safe interps
23e00 29 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54 45  ). (DL).*** POTE
23e10 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
23e20 49 4c 49 54 59 20 77 69 74 68 20 70 72 65 76 69  ILITY with previ
23e30 6f 75 73 20 61 6c 70 68 61 20 61 6e 64 20 62 65  ous alpha and be
23e40 74 61 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a 0a  ta releases ***.
23e50 0a 37 2f 32 34 2f 39 37 20 28 62 75 67 20 66 69  .7/24/97 (bug fi
23e60 78 65 73 29 20 4d 61 64 65 20 54 63 6c 5f 53 65  xes) Made Tcl_Se
23e70 74 56 61 72 2a 20 61 6e 64 20 54 63 6c 5f 4e 65  tVar* and Tcl_Ne
23e80 77 53 74 72 69 6e 67 2a 20 74 72 65 61 74 20 61  wString* treat a
23e90 20 4e 55 4c 4c 20 76 61 6c 75 65 0a 61 73 20 61   NULL value.as a
23ea0 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 20  n empty string. 
23eb0 28 54 68 69 73 20 66 69 78 65 73 20 68 61 69 72  (This fixes hair
23ec0 79 20 63 72 61 73 68 20 63 61 73 65 20 77 68 65  y crash case whe
23ed0 72 65 20 79 6f 75 20 77 6f 75 6c 64 20 63 72 61  re you would cra
23ee0 73 68 0a 62 65 63 61 75 73 65 20 6c 6f 61 64 20  sh.because load 
23ef0 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 6f 74 68 65  command for othe
23f00 72 20 69 6e 74 65 72 70 73 20 61 73 73 75 6d 65  r interps assume
23f10 64 20 70 72 65 73 65 6e 63 65 20 6f 66 0a 65 72  d presence of.er
23f20 72 6f 72 49 6e 66 6f 2e 2e 2e 29 2e 20 28 44 4c  rorInfo...). (DL
23f30 29 0a 0a 37 2f 32 38 2f 39 37 20 28 62 75 67 20  )..7/28/97 (bug 
23f40 66 69 78 29 20 46 69 78 65 64 20 70 6b 67 5f 6d  fix) Fixed pkg_m
23f50 6b 49 6e 64 65 78 20 74 6f 20 75 6e 64 65 72 73  kIndex to unders
23f60 74 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 73 2e  tand namespaces.
23f70 20 20 49 74 20 77 69 6c 6c 0a 75 73 65 20 74 68    It will.use th
23f80 65 20 65 78 70 6f 72 74 20 6c 69 73 74 20 6f 66  e export list of
23f90 20 61 20 6e 61 6d 65 73 70 61 63 65 20 61 6e 64   a namespace and
23fa0 20 63 72 65 61 74 65 20 61 75 74 6f 5f 69 6e 64   create auto_ind
23fb0 65 78 20 65 6e 74 72 69 65 73 20 66 6f 72 0a 61  ex entries for.a
23fc0 6c 6c 20 65 78 70 6f 72 74 20 63 6f 6d 6d 61 6e  ll export comman
23fd0 64 73 2e 20 20 54 68 6f 73 65 20 6e 61 6d 65 73  ds.  Those names
23fe0 20 61 72 65 20 69 6e 20 74 68 65 69 72 20 66 75   are in their fu
23ff0 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 66 6f  lly qualified fo
24000 72 6d 20 69 6e 20 74 68 65 0a 61 75 74 6f 5f 69  rm in the.auto_i
24010 6e 64 65 78 2e 20 20 54 68 65 72 65 66 6f 72 65  ndex.  Therefore
24020 2c 20 49 20 74 77 65 61 6b 65 64 20 75 6e 6b 6e  , I tweaked unkn
24030 6f 77 6e 20 74 6f 20 74 72 79 20 62 6f 74 68 20  own to try both 
24040 24 63 6d 64 20 61 6e 64 20 3a 3a 24 63 6d 64 2e  $cmd and ::$cmd.
24050 0a 41 6c 73 6f 20 66 69 78 65 64 20 70 6b 67 5f  .Also fixed pkg_
24060 6d 6b 49 6e 64 65 78 20 73 6f 20 79 6f 75 20 63  mkIndex so you c
24070 61 6e 20 68 61 76 65 20 22 70 61 63 6b 61 67 65  an have "package
24080 20 72 65 71 75 69 72 65 22 20 63 6f 6d 6d 61 6e   require" comman
24090 64 73 20 69 6e 73 69 64 65 0a 79 6f 75 72 20 70  ds inside.your p
240a0 61 63 6b 61 67 65 73 2e 20 20 54 68 65 73 65 20  ackages.  These 
240b0 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 69 67 6e  commands are ign
240c0 6f 72 65 64 2c 20 77 68 69 63 68 20 69 73 20 6d  ored, which is m
240d0 6f 73 74 6c 79 20 6f 6b 20 65 78 63 65 70 74 0a  ostly ok except.
240e0 77 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 6c 6f  when you must lo
240f0 61 64 20 61 6e 6f 74 68 65 72 20 70 61 63 6b 61  ad another packa
24100 67 65 20 62 65 66 6f 72 65 20 6c 6f 61 64 69 6e  ge before loadin
24110 67 20 79 6f 75 72 73 20 62 65 63 61 75 73 65 20  g yours because 
24120 6f 66 0a 6c 69 6e 6b 69 6e 67 20 64 65 70 65 6e  of.linking depen
24130 64 65 6e 63 69 65 73 2e 20 28 42 57 29 0a 0a 37  dencies. (BW)..7
24140 2f 32 38 2f 39 37 20 28 62 75 67 20 66 69 78 29  /28/97 (bug fix)
24150 20 41 20 76 61 72 69 61 62 6c 65 20 63 72 65 61   A variable crea
24160 74 65 64 20 62 79 20 74 68 65 20 76 61 72 69 61  ted by the varia
24170 62 6c 65 20 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20  ble command now 
24180 70 65 72 73 69 73 74 73 0a 75 6e 74 69 6c 20 74  persists.until t
24190 68 65 20 6e 61 6d 65 73 70 61 63 65 20 69 73 20  he namespace is 
241a0 64 65 73 74 72 6f 79 65 64 20 6f 72 20 74 68 65  destroyed or the
241b0 20 76 61 72 69 61 62 6c 65 20 69 73 20 75 6e 73   variable is uns
241c0 65 74 2e 20 54 68 69 73 20 69 73 20 74 72 75 65  et. This is true
241d0 20 65 76 65 6e 0a 69 66 20 74 68 65 20 76 61 72   even.if the var
241e0 69 61 62 6c 65 20 68 61 73 20 6e 6f 74 20 62 65  iable has not be
241f0 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 64 3b 20  en initialized; 
24200 74 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 20  these variables 
24210 75 73 65 64 20 74 6f 20 62 65 0a 64 65 73 74 72  used to be.destr
24220 6f 79 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72  oyed if an error
24230 20 6f 63 63 75 72 72 65 64 20 77 68 65 6e 20 61   occurred when a
24240 63 63 65 73 73 69 6e 67 20 74 68 65 6d 2e 20 49  ccessing them. I
24250 6e 20 61 64 64 69 74 69 6f 6e 2c 20 74 68 65 20  n addition, the 
24260 22 69 6e 66 6f 0a 76 61 72 73 22 20 63 6f 6d 6d  "info.vars" comm
24270 61 6e 64 20 6c 69 73 74 73 20 75 6e 69 6e 69 74  and lists uninit
24280 69 61 6c 69 7a 65 64 20 6e 61 6d 65 73 70 61 63  ialized namespac
24290 65 20 76 61 72 69 61 62 6c 65 73 2c 20 77 68 69  e variables, whi
242a0 6c 65 20 74 68 65 20 22 69 6e 66 6f 0a 65 78 69  le the "info.exi
242b0 73 74 73 22 20 63 6f 6d 6d 61 6e 64 20 72 65 74  sts" command ret
242c0 75 72 6e 73 20 30 20 66 6f 72 20 74 68 65 6d 2e  urns 0 for them.
242d0 20 28 42 4c 29 0a 0a 37 2f 32 39 2f 39 37 20 28   (BL)..7/29/97 (
242e0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
242f0 20 43 68 61 6e 67 65 64 20 74 68 65 20 68 74 74   Changed the htt
24300 70 20 70 61 63 6b 61 67 65 20 74 6f 20 75 73 65  p package to use
24310 20 74 68 65 20 3a 3a 68 74 74 70 0a 6e 61 6d 65   the ::http.name
24320 73 70 61 63 65 2e 20 68 74 74 70 5f 67 65 74 20  space. http_get 
24330 72 65 6e 61 6d 65 64 20 74 6f 20 68 74 74 70 3a  renamed to http:
24340 3a 67 65 74 75 72 6c 2c 20 68 74 74 70 5f 63 6f  :geturl, http_co
24350 6e 66 69 67 20 72 65 6e 61 6d 65 64 20 74 6f 0a  nfig renamed to.
24360 68 74 74 70 3a 3a 63 6f 6e 66 69 67 2c 20 68 74  http::config, ht
24370 74 70 5f 66 6f 72 6d 61 74 51 75 65 72 79 20 72  tp_formatQuery r
24380 65 6e 61 6d 65 64 20 74 6f 20 68 74 74 70 3a 3a  enamed to http::
24390 66 6f 72 6d 61 74 51 75 65 72 79 2e 0a 49 74 20  formatQuery..It 
243a0 6e 6f 77 20 70 72 6f 76 69 64 65 73 20 74 68 65  now provides the
243b0 20 32 2e 30 20 76 65 72 73 69 6f 6e 20 6f 66 20   2.0 version of 
243c0 74 68 65 20 70 61 63 6b 61 67 65 2e 20 20 0a 54  the package.  .T
243d0 68 65 20 31 2e 30 20 76 65 72 73 69 6f 6e 20 69  he 1.0 version i
243e0 73 20 73 74 69 6c 6c 20 61 76 61 69 6c 61 62 6c  s still availabl
243f0 65 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 6e  e with the old n
24400 61 6d 65 73 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  ames..*** POTENT
24410 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
24420 49 54 59 20 77 69 74 68 20 54 63 6c 20 38 2e 30  ITY with Tcl 8.0
24430 62 32 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  b2 but not with 
24440 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 37 2f 32  Tcl 7.6 ***..7/2
24450 39 2f 39 37 20 28 62 75 67 20 66 69 78 2c 20 6e  9/97 (bug fix, n
24460 65 77 20 66 65 61 74 75 72 65 29 20 54 63 6c 5f  ew feature) Tcl_
24470 4d 61 69 6e 20 6e 6f 77 20 75 73 65 73 20 54 63  Main now uses Tc
24480 6c 20 6f 62 6a 65 63 74 73 20 69 6e 74 65 72 6e  l objects intern
24490 61 6c 6c 79 20 74 6f 0a 70 72 65 73 65 72 76 65  ally to.preserve
244a0 20 4e 55 4c 4c 73 20 69 6e 20 63 6f 6d 6d 61 6e   NULLs in comman
244b0 64 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f  ds and command o
244c0 75 74 70 75 74 2e 20 41 64 64 65 64 20 6e 65 77  utput. Added new
244d0 20 41 50 49 20 70 72 6f 63 65 64 75 72 65 0a 54   API procedure.T
244e0 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c  cl_RecordAndEval
244f0 4f 62 6a 20 74 68 61 74 20 72 65 73 65 6d 62 6c  Obj that resembl
24500 65 73 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64  es Tcl_RecordAnd
24510 45 76 61 6c 20 62 75 74 20 74 61 6b 65 73 20 61  Eval but takes a
24520 6e 20 6f 62 6a 65 63 74 0a 63 6f 6e 74 61 69 6e  n object.contain
24530 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 2e 20 28  ing a command. (
24540 42 4c 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75  BL)..7/30/97 (bu
24550 67 20 66 69 78 29 20 54 63 6c 20 66 72 65 65 64  g fix) Tcl freed
24560 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20   strings in the 
24570 65 6e 76 69 72 6f 6e 20 61 72 72 61 79 20 65 76  environ array ev
24580 65 6e 20 69 66 20 69 74 0a 64 69 64 20 6e 6f 74  en if it.did not
24590 20 61 6c 6c 6f 63 61 74 65 20 74 68 65 6d 2e 20   allocate them. 
245a0 28 53 53 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62  (SS)..7/30/97 (b
245b0 75 67 20 66 69 78 29 20 49 66 20 61 20 70 72 6f  ug fix) If a pro
245c0 63 65 64 75 72 65 20 69 73 20 72 65 6e 61 6d 65  cedure is rename
245d0 64 20 69 6e 74 6f 20 61 20 64 69 66 66 65 72 65  d into a differe
245e0 6e 74 20 6e 61 6d 65 73 70 61 63 65 2c 20 69 74  nt namespace, it
245f0 0a 6e 6f 77 20 65 78 65 63 75 74 65 73 20 69 6e  .now executes in
24600 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20   the context of 
24610 74 68 61 74 20 6e 61 6d 65 73 70 61 63 65 2e 20  that namespace. 
24620 28 42 4c 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62  (BL)..7/30/97 (b
24630 75 67 20 66 69 78 29 20 50 72 65 76 65 6e 74 20  ug fix) Prevent 
24640 72 65 6e 61 6d 69 6e 67 20 6f 66 20 63 6f 6d 6d  renaming of comm
24650 61 6e 64 73 20 69 6e 74 6f 20 61 6e 64 20 66 72  ands into and fr
24660 6f 6d 20 6e 61 6d 65 73 70 61 63 65 73 20 61 73  om namespaces as
24670 0a 70 61 72 74 20 6f 66 20 68 69 64 69 6e 67 20  .part of hiding 
24680 74 68 65 6d 2e 20 28 4a 4c 29 0a 0a 37 2f 33 31  them. (JL)..7/31
24690 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61  /97 (feature cha
246a0 6e 67 65 29 20 4d 6f 76 65 64 20 74 68 65 20 68  nge) Moved the h
246b0 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20 66  istory command f
246c0 72 6f 6d 20 43 20 74 6f 20 74 63 6c 2e 0a 54 68  rom C to tcl..Th
246d0 69 73 20 75 73 65 73 20 74 68 65 20 3a 3a 68 69  is uses the ::hi
246e0 73 74 6f 72 79 20 6e 61 6d 65 73 70 61 63 65 2e  story namespace.
246f0 20 20 54 68 65 20 22 77 6f 72 64 73 22 20 61 6e    The "words" an
24700 64 20 22 73 75 62 73 74 69 74 75 74 65 22 20 6f  d "substitute" o
24710 70 74 69 6f 6e 73 0a 61 72 65 20 6e 6f 20 6c 6f  ptions.are no lo
24720 6e 67 65 72 20 73 75 70 70 6f 72 74 65 64 2e 20  nger supported. 
24730 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 74 68   In addition, th
24740 65 20 22 6b 65 65 70 22 20 6f 70 74 69 6f 6e 20  e "keep" option 
24750 77 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65 0a  without a value.
24760 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72 72  returns the curr
24770 65 6e 74 20 6b 65 65 70 20 6c 69 6d 69 74 2e 20  ent keep limit. 
24780 20 54 68 65 72 65 20 69 73 20 61 20 6e 65 77 20   There is a new 
24790 22 63 6c 65 61 72 22 20 6f 70 74 69 6f 6e 2e 0a  "clear" option..
247a0 54 68 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d  The unknown comm
247b0 61 6e 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 73  and now supports
247c0 20 21 21 20 61 67 61 69 6e 2e 20 28 42 57 29 0a   !! again. (BW).
247d0 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
247e0 43 4f 4d 50 41 54 49 42 49 4c 54 59 20 20 2a 2a  COMPATIBILTY  **
247f0 2a 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75 67 20  *..7/30/97 (bug 
24800 66 69 78 29 20 4d 61 64 65 20 73 75 72 65 20 74  fix) Made sure t
24810 68 61 74 20 61 20 73 6c 61 76 65 20 63 61 6e 20  hat a slave can 
24820 6e 6f 74 20 66 6f 6f 6c 20 74 68 65 20 6d 61 73  not fool the mas
24830 74 65 72 20 69 6e 74 6f 0a 68 69 64 69 6e 67 20  ter into.hiding 
24840 74 68 65 20 77 72 6f 6e 67 20 63 6f 6d 6d 61 6e  the wrong comman
24850 64 2e 20 4d 61 64 65 20 73 75 72 65 20 77 65 20  d. Made sure we 
24860 64 6f 6e 27 74 20 63 72 61 73 68 20 69 6e 20 68  don't crash in h
24870 69 64 69 6e 67 20 2b 20 6e 61 6d 65 73 70 61 63  iding + namespac
24880 65 73 0a 69 73 73 75 65 73 2e 20 28 44 4c 29 0a  es.issues. (DL).
24890 0a 38 2f 34 2f 39 37 20 28 62 75 67 20 66 69 78  .8/4/97 (bug fix
248a0 29 20 43 6f 6e 63 61 74 2c 20 65 76 61 6c 2c 20  ) Concat, eval, 
248b0 75 70 6c 65 76 65 6c 2c 20 61 6e 64 20 73 69 6d  uplevel, and sim
248c0 69 6c 61 72 20 63 6f 6d 6d 61 6e 64 73 20 77 65  ilar commands we
248d0 72 65 0a 69 6e 63 6f 72 72 65 63 74 6c 79 20 74  re.incorrectly t
248e0 72 69 6d 6d 69 6e 67 20 74 72 61 69 6c 69 6e 67  rimming trailing
248f0 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72   space character
24900 73 20 66 72 6f 6d 20 74 68 65 69 72 20 61 72 67  s from their arg
24910 75 6d 65 6e 74 73 0a 65 76 65 6e 20 77 68 65 6e  uments.even when
24920 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72 61   the space chara
24930 63 74 65 72 73 20 77 65 72 65 20 70 72 65 63 65  cters were prece
24940 64 65 64 20 62 79 20 61 20 62 61 63 6b 73 6c 61  ded by a backsla
24950 73 68 2e 20 28 4a 4f 29 0a 0a 38 2f 34 2f 39 37  sh. (JO)..8/4/97
24960 20 28 62 75 67 20 66 69 78 29 20 52 65 6d 6f 76   (bug fix) Remov
24970 65 64 20 74 68 65 20 68 61 72 64 20 6c 69 6e 6b  ed the hard link
24980 20 62 65 74 77 65 65 6e 20 62 67 65 72 72 6f 72   between bgerror
24990 20 61 6e 64 20 74 6b 65 72 72 6f 72 2e 0a 4f 6e   and tkerror..On
249a0 6c 79 20 62 67 65 72 72 6f 72 20 69 73 20 73 75  ly bgerror is su
249b0 70 70 6f 72 74 65 64 20 69 6e 20 74 63 6c 20 63  pported in tcl c
249c0 6f 72 65 2e 20 54 6b 20 77 69 6c 6c 20 73 74 69  ore. Tk will sti
249d0 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 61 0a 74 6b  ll look for a.tk
249e0 65 72 72 6f 72 20 62 75 74 20 75 73 69 6e 67 20  error but using 
249f0 72 65 67 75 6c 61 72 20 74 63 6c 20 63 6f 64 65  regular tcl code
24a00 20 66 6f 72 20 74 68 61 74 20 66 65 61 74 75 72   for that featur
24a10 65 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54 45  e. (DL).*** POTE
24a20 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
24a30 49 4c 54 59 20 77 69 74 68 20 63 6f 64 65 20 72  ILTY with code r
24a40 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 68 61  elying on the ha
24a50 72 64 20 6c 69 6e 6b 20 2a 2a 2a 0a 0a 38 2f 36  rd link ***..8/6
24a60 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 52 65  /97 (bug fix) Re
24a70 64 75 63 65 64 20 73 69 7a 65 20 72 65 71 75 69  duced size requi
24a80 72 65 64 20 66 6f 72 20 63 6f 6d 70 69 6c 65 64  red for compiled
24a90 20 62 79 74 65 63 6f 64 65 73 20 62 79 20 75 73   bytecodes by us
24aa0 69 6e 67 20 61 0a 6d 6f 72 65 20 63 6f 6d 70 61  ing a.more compa
24ab0 63 74 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72 20  ct encoding for 
24ac0 74 68 65 20 63 6f 6d 6d 61 6e 64 20 70 63 2d 74  the command pc-t
24ad0 6f 2d 73 6f 75 72 63 65 20 6d 61 70 2e 20 28 42  o-source map. (B
24ae0 4c 29 0a 0a 38 2f 36 2f 39 37 20 28 6e 65 77 20  L)..8/6/97 (new 
24af0 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 73  feature) Added s
24b00 75 70 70 6f 72 74 20 66 6f 72 20 61 64 64 69 74  upport for addit
24b10 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f  ional compilatio
24b20 6e 20 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 0a  n and execution.
24b30 73 74 61 74 69 73 74 69 63 73 20 77 68 65 6e 20  statistics when 
24b40 54 63 6c 20 69 73 20 63 6f 6d 70 69 6c 65 64 20  Tcl is compiled 
24b50 77 69 74 68 20 74 68 65 20 54 43 4c 5f 43 4f 4d  with the TCL_COM
24b60 50 49 4c 45 5f 53 54 41 54 53 20 66 6c 61 67 2e  PILE_STATS flag.
24b70 20 28 42 4c 29 0a 0a 38 2f 37 2f 39 37 20 28 62   (BL)..8/7/97 (b
24b80 75 67 20 66 69 78 29 20 45 78 70 72 65 73 73 69  ug fix) Expressi
24b90 6f 6e 73 20 6e 6f 74 20 69 6e 20 7b 7d 73 20 74  ons not in {}s t
24ba0 68 61 74 20 68 61 76 65 20 61 20 63 6f 6d 70 61  hat have a compa
24bb0 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 20 61  rison operator a
24bc0 73 0a 74 68 65 20 74 6f 70 6d 6f 73 74 20 6f 70  s.the topmost op
24bd0 65 72 61 74 6f 72 20 6d 75 73 74 20 62 65 20 63  erator must be c
24be0 6f 6d 70 69 6c 65 64 20 6f 75 74 2d 6f 66 2d 6c  ompiled out-of-l
24bf0 69 6e 65 20 28 63 61 6c 6c 20 74 68 65 20 65 78  ine (call the ex
24c00 70 72 20 63 6d 64 20 61 74 0a 72 75 6e 74 69 6d  pr cmd at.runtim
24c10 65 29 20 74 6f 20 70 72 6f 70 65 72 6c 79 20 73  e) to properly s
24c20 75 70 70 6f 72 74 20 65 78 70 72 27 73 20 74 77  upport expr's tw
24c30 6f 2d 6c 65 76 65 6c 20 73 75 62 73 74 69 74 75  o-level substitu
24c40 74 69 6f 6e 20 73 65 6d 61 6e 74 69 63 73 2e 20  tion semantics. 
24c50 41 6e 0a 65 78 61 6d 70 6c 65 20 69 73 20 22 73  An.example is "s
24c60 65 74 20 61 20 32 3b 20 73 65 74 20 62 20 7b 24  et a 2; set b {$
24c70 61 7d 3b 20 70 75 74 73 20 5b 65 78 70 72 20 24  a}; puts [expr $
24c80 62 20 3d 3d 20 32 5d 22 2e 20 28 42 4c 29 0a 0a  b == 2]". (BL)..
24c90 38 2f 31 31 2f 39 37 20 28 62 75 67 20 66 69 78  8/11/97 (bug fix
24ca0 29 20 54 68 65 20 63 61 74 63 68 20 63 6f 6d 6d  ) The catch comm
24cb0 61 6e 64 20 77 6f 75 6c 64 20 73 6f 6d 65 74 69  and would someti
24cc0 6d 65 73 20 63 72 61 73 68 20 69 66 20 61 20 76  mes crash if a v
24cd0 61 72 69 61 62 6c 65 20 6e 61 6d 65 0a 77 61 73  ariable name.was
24ce0 20 67 69 76 65 6e 20 61 6e 64 20 74 68 65 20 62   given and the b
24cf0 79 74 65 63 6f 64 65 20 65 76 61 6c 75 61 74 69  ytecode evaluati
24d00 6f 6e 20 73 74 61 63 6b 20 77 61 73 20 67 72 6f  on stack was gro
24d10 77 6e 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e  wn when executin
24d20 67 20 74 68 65 0a 61 72 67 75 6d 65 6e 74 20 73  g the.argument s
24d30 63 72 69 70 74 2e 20 28 42 4c 29 0a 0a 38 2f 31  cript. (BL)..8/1
24d40 32 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68  2/97 (feature ch
24d50 61 6e 67 65 29 20 52 65 69 6e 73 74 61 74 65 64  ange) Reinstated
24d60 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 74 63   the variable tc
24d70 6c 5f 70 72 65 63 69 73 69 6f 6e 20 74 6f 20 63  l_precision to c
24d80 6f 6e 74 72 6f 6c 0a 74 68 65 20 6e 75 6d 62 65  ontrol.the numbe
24d90 72 20 6f 66 20 64 69 67 69 74 73 20 75 73 65 64  r of digits used
24da0 20 77 68 65 6e 20 66 6c 6f 61 74 69 6e 67 2d 70   when floating-p
24db0 6f 69 6e 74 20 76 61 6c 75 65 73 20 61 72 65 20  oint values are 
24dc0 63 6f 6e 76 65 72 74 65 64 20 74 6f 0a 73 74 72  converted to.str
24dd0 69 6e 67 73 2c 20 77 69 74 68 20 64 65 66 61 75  ings, with defau
24de0 6c 74 20 6f 66 20 31 32 20 64 69 67 69 74 73 2e  lt of 12 digits.
24df0 20 20 48 6f 77 65 76 65 72 2c 20 68 61 64 20 74    However, had t
24e00 6f 20 6d 61 6b 65 20 74 63 6c 5f 70 72 65 63 69  o make tcl_preci
24e10 73 69 6f 6e 0a 73 68 61 72 65 64 20 61 6d 6f 6e  sion.shared amon
24e20 67 20 61 6c 6c 20 69 6e 74 65 72 70 72 65 74 65  g all interprete
24e30 72 73 20 28 65 78 63 65 70 74 20 74 68 61 74 20  rs (except that 
24e40 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72  safe interpreter
24e50 73 20 63 61 6e 27 74 0a 6d 6f 64 69 66 79 20 69  s can't.modify i
24e60 74 29 2e 20 20 54 68 69 73 20 6d 61 6b 65 73 20  t).  This makes 
24e70 74 68 65 20 54 63 6c 20 38 2e 30 20 62 65 68 61  the Tcl 8.0 beha
24e80 76 69 6f 72 20 61 6c 6d 6f 73 74 20 69 64 65 6e  vior almost iden
24e90 74 69 63 61 6c 20 74 6f 20 37 2e 36 0a 65 78 63  tical to 7.6.exc
24ea0 65 70 74 20 74 68 61 74 20 74 68 65 20 64 65 66  ept that the def
24eb0 61 75 6c 74 20 70 72 65 63 69 73 69 6f 6e 20 69  ault precision i
24ec0 73 20 31 32 20 69 6e 73 74 65 61 64 20 6f 66 20  s 12 instead of 
24ed0 36 2e 20 28 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45  6. (JO).*** POTE
24ee0 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
24ef0 49 4c 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d  ILITY ***..-----
24f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
24f10 65 61 73 65 64 20 38 2e 30 2c 20 38 2f 31 38 2f  eased 8.0, 8/18/
24f20 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  97 -------------
24f30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 38 2f 31 39  ----------..8/19
24f40 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 4d 69  /97 (bug fix) Mi
24f50 6e 69 6d 61 6c 20 66 69 78 20 66 6f 72 20 67 6c  nimal fix for gl
24f60 6f 62 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 62  ob -nocomplain b
24f70 75 67 73 3a 0a 22 67 6c 6f 62 20 2d 6e 6f 63 6f  ugs:."glob -noco
24f80 6d 70 6c 61 69 6e 20 75 6e 72 65 61 64 61 62 6c  mplain unreadabl
24f90 65 44 69 72 2f 2a 22 20 77 61 73 20 67 65 6e 65  eDir/*" was gene
24fa0 72 61 74 69 6e 67 20 61 6e 20 61 6e 6f 6e 79 6d  rating an anonym
24fb0 6f 75 73 20 0a 65 72 72 6f 72 2e 20 4d 6f 72 65  ous .error. More
24fc0 20 69 6e 20 64 65 70 74 68 20 66 69 78 65 73 20   in depth fixes 
24fd0 77 69 6c 6c 20 63 6f 6d 65 20 77 69 74 68 20 38  will come with 8
24fe0 2e 31 2e 20 28 44 4c 29 2e 0a 0a 38 2f 32 30 2f  .1. (DL)...8/20/
24ff0 39 37 20 28 62 75 67 20 66 69 78 29 20 52 65 6d  97 (bug fix) Rem
25000 6f 76 65 64 20 63 68 65 63 6b 20 66 6f 72 20 46  oved check for F
25010 4c 54 5f 4d 49 4e 20 69 6e 20 62 69 6e 61 72 79  LT_MIN in binary
25020 20 63 6f 6d 6d 61 6e 64 20 73 6f 0a 75 6e 64 65   command so.unde
25030 72 66 6c 6f 77 20 63 6f 6e 64 69 74 69 6f 6e 73  rflow conditions
25040 20 61 72 65 20 68 61 6e 64 6c 65 64 20 62 79 20   are handled by 
25050 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 75 74  the compiler aut
25060 6f 6d 61 74 69 63 0a 63 6f 6e 76 65 72 73 69 6f  omatic.conversio
25070 6e 73 2e 20 28 53 53 29 0a 0a 38 2f 32 30 2f 39  ns. (SS)..8/20/9
25080 37 20 28 62 75 67 20 66 69 78 65 73 29 20 46 69  7 (bug fixes) Fi
25090 78 65 64 20 73 65 76 65 72 61 6c 20 63 6f 6d 70  xed several comp
250a0 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64 20  ilation-related 
250b0 62 75 67 73 3a 0a 20 20 20 20 2d 20 41 72 72 61  bugs:.    - Arra
250c0 79 20 63 6d 64 20 77 61 73 6e 27 74 20 64 65 74  y cmd wasn't det
250d0 65 63 74 69 6e 67 20 61 72 72 61 79 73 20 74 68  ecting arrays th
250e0 61 74 2c 20 77 68 69 6c 65 20 63 6f 6d 70 69 6c  at, while compil
250f0 65 64 2c 20 64 6f 20 6e 6f 74 20 79 65 74 0a 20  ed, do not yet. 
25100 20 20 20 20 20 65 78 69 73 74 20 28 65 2e 67 2e       exist (e.g.
25110 2c 20 61 72 65 20 6d 61 72 6b 65 64 20 75 6e 64  , are marked und
25120 65 66 69 6e 65 64 20 73 69 6e 63 65 20 74 68 65  efined since the
25130 79 20 68 61 76 65 6e 27 74 20 62 65 65 6e 20 61  y haven't been a
25140 73 73 69 67 6e 65 64 0a 20 20 20 20 20 20 74 6f  ssigned.      to
25150 20 79 65 74 29 2e 0a 20 20 20 20 2d 20 54 68 65   yet)..    - The
25160 20 47 65 74 54 6f 6b 65 6e 20 70 72 6f 63 65 64   GetToken proced
25170 75 72 65 20 69 6e 20 74 63 6c 43 6f 6d 70 45 78  ure in tclCompEx
25180 70 72 2e 63 20 77 61 73 6e 27 74 20 72 65 63 6f  pr.c wasn't reco
25190 67 6e 69 7a 69 6e 67 20 70 72 6f 70 65 72 6c 79  gnizing properly
251a0 0a 20 20 20 20 20 20 77 68 65 74 68 65 72 20 61  .      whether a
251b0 6e 20 69 6e 74 65 67 65 72 20 74 6f 6b 65 6e 20  n integer token 
251c0 77 61 73 20 69 6e 76 61 6c 69 64 2e 20 46 6f 72  was invalid. For
251d0 20 65 78 61 6d 70 6c 65 2c 20 22 30 78 24 22 20   example, "0x$" 
251e0 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 61 20 76  is not.      a v
251f0 61 6c 69 64 20 69 6e 74 65 67 65 72 2e 0a 20 20  alid integer..  
25200 20 20 2d 20 50 65 72 66 6f 72 6d 61 6e 63 65 20    - Performance 
25210 62 75 67 20 69 6e 20 54 63 6c 45 78 65 63 75 74  bug in TclExecut
25220 65 42 79 74 65 43 6f 64 65 3a 20 74 68 65 20 73  eByteCode: the s
25230 69 7a 65 20 6f 66 20 69 74 73 20 73 74 61 63 6b  ize of its stack
25240 20 66 72 61 6d 65 0a 20 20 20 20 20 20 77 61 73   frame.      was
25250 20 72 65 64 75 63 65 64 20 62 79 20 6f 76 65 72   reduced by over
25260 20 32 30 25 20 62 79 20 6d 6f 76 69 6e 67 20 65   20% by moving e
25270 72 72 6f 72 49 6e 66 6f 20 63 6f 64 65 20 65 6c  rrorInfo code el
25280 73 65 77 68 65 72 65 2e 0a 20 20 20 20 2d 20 55  sewhere..    - U
25290 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d 65 6d  ninitialized mem
252a0 6f 72 79 20 72 65 61 64 20 65 72 72 6f 72 20 69  ory read error i
252b0 6e 20 74 63 6c 43 6f 6d 70 69 6c 65 2e 63 2e 20  n tclCompile.c. 
252c0 28 42 4c 29 0a 0a 38 2f 32 31 2f 39 37 20 28 62  (BL)..8/21/97 (b
252d0 75 67 20 66 69 78 29 20 73 61 66 65 3a 3a 69 6e  ug fix) safe::in
252e0 74 65 72 70 43 6f 6e 66 69 67 75 72 65 20 6e 6f  terpConfigure no
252f0 77 20 62 65 68 61 76 65 20 6c 69 6b 65 20 54 6b  w behave like Tk
25300 20 77 69 64 67 65 74 27 73 0a 63 6f 6e 66 69 67   widget's.config
25310 75 72 65 20 3a 20 69 74 20 63 68 61 6e 67 65 73  ure : it changes
25320 20 6f 6e 6c 79 20 74 68 65 20 6f 70 74 69 6f 6e   only the option
25330 73 20 79 6f 75 20 70 72 6f 76 69 64 65 20 61 6e  s you provide an
25340 64 20 79 6f 75 20 63 61 6e 20 67 65 74 0a 74 68  d you can get.th
25350 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20  e current value 
25360 6f 66 20 61 6e 79 20 73 69 6e 67 6c 65 20 6f 70  of any single op
25370 74 69 6f 6e 2e 20 4e 65 77 20 3f 2d 6e 65 73 74  tion. New ?-nest
25380 65 64 20 62 6f 6f 6c 65 61 6e 3f 20 61 6e 64 0a  ed boolean? and.
25390 3f 2d 73 74 61 74 69 63 73 20 62 6f 6f 6c 65 61  ?-statics boolea
253a0 6e 3f 20 66 6f 72 20 61 6c 6c 20 73 61 66 65 3a  n? for all safe:
253b0 3a 69 6e 74 65 72 70 2a 20 63 6f 6d 6d 61 6e 64  :interp* command
253c0 73 20 62 75 74 20 77 65 20 73 74 69 6c 6c 0a 61  s but we still.a
253d0 63 63 65 70 74 20 28 75 70 77 61 72 64 20 63 6f  ccept (upward co
253e0 6d 70 61 74 69 62 69 6c 69 74 79 29 20 74 68 65  mpatibility) the
253f0 20 70 72 65 76 69 6f 75 73 6c 79 20 64 65 66 69   previously defi
25400 6e 65 64 20 6e 6f 6e 20 76 61 6c 75 65 64 0a 66  ned non valued.f
25410 6c 61 67 73 20 3f 2d 6e 6f 53 74 61 74 69 63 73  lags ?-noStatics
25420 3f 20 61 6e 64 20 3f 2d 6e 65 73 74 65 64 4c 6f  ? and ?-nestedLo
25430 61 64 4f 6b 3f 2e 20 49 6d 70 72 6f 76 65 64 20  adOk?. Improved 
25440 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  the documentatio
25450 6e 2e 20 28 44 4c 29 2e 0a 0a 38 2f 32 32 2f 39  n. (DL)...8/22/9
25460 37 20 28 62 75 67 20 66 69 78 29 20 55 70 64 61  7 (bug fix) Upda
25470 74 65 64 20 50 72 69 6e 74 44 62 6c 2e 33 20 74  ted PrintDbl.3 t
25480 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 66 61  o reflect the fa
25490 63 74 20 74 68 61 74 20 74 68 65 0a 74 63 6c 5f  ct that the.tcl_
254a0 70 72 65 63 69 73 69 6f 6e 20 76 61 72 69 61 62  precision variab
254b0 6c 65 20 69 73 20 73 74 69 6c 6c 20 75 73 65 64  le is still used
254c0 20 61 6e 64 20 74 68 61 74 20 69 74 20 69 73 20   and that it is 
254d0 6e 6f 77 20 73 68 61 72 65 64 20 62 79 20 61 6c  now shared by al
254e0 6c 0a 69 6e 74 65 72 70 72 65 74 65 72 73 2e 20  l.interpreters. 
254f0 28 42 4c 29 0a 0a 38 2f 32 35 2f 39 37 20 28 62  (BL)..8/25/97 (b
25500 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61 72  ug fix) Fixed ar
25510 72 61 79 20 61 63 63 65 73 73 20 62 75 67 20 69  ray access bug i
25520 6e 20 49 6c 6c 65 67 61 6c 45 78 70 72 4f 70 65  n IllegalExprOpe
25530 72 61 6e 64 54 79 70 65 0a 70 72 6f 63 65 64 75  randType.procedu
25540 72 65 20 69 6e 20 74 63 6c 45 78 65 63 75 74 65  re in tclExecute
25550 2e 63 3a 20 69 74 20 77 61 73 20 6e 6f 74 20 70  .c: it was not p
25560 72 6f 70 65 72 6c 79 20 73 75 70 70 6f 72 74 69  roperly supporti
25570 6e 67 20 74 68 65 20 7c 7c 20 61 6e 64 20 26 26  ng the || and &&
25580 0a 6f 70 65 72 61 74 6f 72 73 2e 20 28 42 4c 29  .operators. (BL)
25590 0a 0a 38 2f 32 37 2f 39 37 20 28 62 75 67 20 66  ..8/27/97 (bug f
255a0 69 78 29 20 49 6e 20 63 61 73 65 73 20 77 68 65  ix) In cases whe
255b0 72 65 20 61 20 63 68 61 6e 6e 65 6c 20 68 61 6e  re a channel han
255c0 64 6c 65 72 20 77 61 73 20 63 72 65 61 74 65 64  dler was created
255d0 20 77 69 74 68 20 61 6e 0a 65 6d 70 74 79 20 65   with an.empty e
255e0 76 65 6e 74 20 6d 61 73 6b 20 77 68 69 6c 65 20  vent mask while 
255f0 64 61 74 61 20 77 61 73 20 73 74 69 6c 6c 20 62  data was still b
25600 75 66 66 65 72 65 64 20 69 6e 20 74 68 65 20 63  uffered in the c
25610 68 61 6e 6e 65 6c 2c 20 74 68 65 0a 63 68 61 6e  hannel, the.chan
25620 6e 65 6c 20 63 6f 64 65 20 77 6f 75 6c 64 20 67  nel code would g
25630 65 74 20 73 74 75 63 6b 20 73 70 69 6e 6e 69 6e  et stuck spinnin
25640 67 20 6f 6e 20 61 20 74 69 6d 65 72 20 74 68 61  g on a timer tha
25650 74 20 77 6f 75 6c 64 20 73 74 61 72 76 65 0a 69  t would starve.i
25660 64 6c 65 20 68 61 6e 64 6c 65 72 73 2e 20 20 54  dle handlers.  T
25670 68 69 73 20 6d 6f 73 74 6c 79 20 68 61 70 70 65  his mostly happe
25680 6e 65 64 20 69 6e 20 54 6b 20 77 68 65 6e 20 72  ned in Tk when r
25690 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 64 69  eading from stdi
256a0 6e 2e 20 28 53 53 29 0a 0a 39 2f 34 2f 39 37 20  n. (SS)..9/4/97 
256b0 28 62 75 67 20 66 69 78 29 20 53 6c 61 76 65 20  (bug fix) Slave 
256c0 69 6e 74 65 72 70 73 20 6e 6f 77 20 69 6e 68 65  interps now inhe
256d0 72 69 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20  rit the maximum 
256e0 72 65 63 75 72 73 69 6f 6e 20 6c 69 6d 69 74 0a  recursion limit.
256f0 6f 66 20 74 68 65 69 72 20 70 61 72 65 6e 74 20  of their parent 
25700 69 6e 73 74 65 61 64 20 6f 66 20 73 74 61 72 74  instead of start
25710 69 6e 67 20 62 61 63 6b 20 61 74 20 74 68 65 20  ing back at the 
25720 64 65 66 61 75 6c 74 2e 20 7b 6e 62 3a 20 74 68  default. {nb: th
25730 69 73 20 73 74 69 6c 6c 0a 64 6f 65 73 20 6e 6f  is still.does no
25740 74 20 70 72 65 76 65 6e 74 20 73 74 61 63 6b 20  t prevent stack 
25750 6f 76 65 72 66 6c 6f 77 20 62 79 20 6d 75 6c 74  overflow by mult
25760 69 2d 69 6e 74 65 72 70 73 20 72 65 63 75 72 73  i-interps recurs
25770 69 6f 6e 20 6f 72 20 61 6c 69 61 73 69 6e 67 7d  ion or aliasing}
25780 20 28 44 4c 29 0a 0a 39 2f 31 31 2f 39 37 20 28   (DL)..9/11/97 (
25790 62 75 67 20 66 69 78 29 20 41 6e 20 75 6e 69 6e  bug fix) An unin
257a0 69 74 69 61 6c 69 7a 65 64 20 76 61 72 69 61 62  itialized variab
257b0 6c 65 20 69 6e 20 54 63 6c 5f 57 61 69 74 50 69  le in Tcl_WaitPi
257c0 64 20 63 61 75 73 65 64 0a 70 69 70 65 73 20 74  d caused.pipes t
257d0 6f 20 66 61 69 6c 20 74 6f 20 72 65 70 6f 72 74  o fail to report
257e0 20 65 6f 66 20 70 72 6f 70 65 72 6c 79 20 75 6e   eof properly un
257f0 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 28 53 53  der Windows. (SS
25800 29 0a 0a 39 2f 31 32 2f 39 37 20 28 62 75 67 20  )..9/12/97 (bug 
25810 66 69 78 29 20 22 65 78 65 63 22 20 77 61 73 20  fix) "exec" was 
25820 6d 69 73 69 64 65 6e 74 69 66 79 69 6e 67 20 73  misidentifying s
25830 6f 6d 65 20 44 4f 53 20 65 78 65 63 75 74 61 62  ome DOS executab
25840 6c 65 73 20 61 73 20 6e 6f 74 20 0a 65 78 65 63  les as not .exec
25850 75 74 61 62 6c 65 2e 20 28 43 43 53 29 0a 0a 39  utable. (CCS)..9
25860 2f 31 34 2f 39 37 20 28 62 75 67 20 66 69 78 29  /14/97 (bug fix)
25870 20 57 61 73 20 75 73 69 6e 67 20 74 68 65 20 77   Was using the w
25880 72 6f 6e 67 20 73 74 72 75 63 74 75 72 65 20 69  rong structure i
25890 6e 20 73 69 7a 65 6f 66 20 6f 70 65 72 61 74 69  n sizeof operati
258a0 6f 6e 20 69 6e 0a 74 63 6c 55 6e 69 78 43 68 61  on in.tclUnixCha
258b0 6e 2e 63 2e 20 28 4a 4c 29 0a 0a 39 2f 31 35 2f  n.c. (JL)..9/15/
258c0 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
258d0 65 64 20 6e 6f 74 69 66 69 65 72 20 74 6f 20 62  ed notifier to b
258e0 72 65 61 6b 20 6f 75 74 20 6f 66 20 64 6f 2d 6f  reak out of do-o
258f0 6e 65 2d 65 76 65 6e 74 20 6c 6f 6f 70 20 69 66  ne-event loop if
25900 0a 54 63 6c 5f 57 61 69 74 46 6f 72 45 76 65 6e  .Tcl_WaitForEven
25910 74 20 72 65 74 75 72 6e 73 20 31 2c 20 73 6f 20  t returns 1, so 
25920 74 68 61 74 20 63 61 6c 6c 65 72 73 20 6f 66 20  that callers of 
25930 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74 20 77  Tcl_DoOneEvent w
25940 69 6c 6c 20 67 65 74 0a 61 20 63 68 61 6e 63 65  ill get.a chance
25950 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65   to check whethe
25960 72 20 74 68 65 20 65 76 65 6e 74 20 6a 75 73 74  r the event just
25970 20 68 61 6e 64 6c 65 64 20 69 73 20 73 69 67 6e   handled is sign
25980 69 66 69 63 61 6e 74 2e 20 54 68 69 73 0a 61 66  ificant. This.af
25990 66 65 63 74 65 64 20 6d 61 69 6e 6c 79 20 72 65  fected mainly re
259a0 63 75 72 73 69 76 65 20 63 61 6c 6c 73 20 74 6f  cursive calls to
259b0 20 54 63 6c 5f 56 57 61 69 74 43 6d 64 3b 20 74   Tcl_VWaitCmd; t
259c0 68 65 73 65 20 64 69 64 20 6e 6f 74 20 67 65 74  hese did not get
259d0 20 61 0a 63 68 61 6e 63 65 20 74 6f 20 6e 6f 74   a.chance to not
259e0 69 63 65 20 74 68 61 74 20 74 68 65 20 76 61 72  ice that the var
259f0 69 61 62 6c 65 20 74 68 65 79 20 77 65 72 65 20  iable they were 
25a00 77 61 69 74 69 6e 67 20 66 6f 72 20 68 61 73 20  waiting for has 
25a10 62 65 65 6e 20 73 65 74 0a 61 6e 64 20 74 68 75  been set.and thu
25a20 73 20 74 68 65 79 20 64 69 64 6e 27 74 20 74 65  s they didn't te
25a30 72 6d 69 6e 61 74 65 20 74 68 65 20 76 77 61 69  rminate the vwai
25a40 74 2e 20 28 4a 4c 2c 20 44 4c 2c 20 53 53 29 0a  t. (JL, DL, SS).
25a50 0a 39 2f 31 35 2f 39 37 20 28 62 75 67 20 66 69  .9/15/97 (bug fi
25a60 78 29 20 41 6c 69 67 6e 6d 65 6e 74 20 70 72 6f  x) Alignment pro
25a70 62 6c 65 6d 73 20 69 6e 20 22 62 69 6e 61 72 79  blems in "binary
25a80 20 66 6f 72 6d 61 74 22 20 77 6f 75 6c 64 20 63   format" would c
25a90 61 75 73 65 20 61 0a 63 72 61 73 68 20 6f 6e 20  ause a.crash on 
25aa0 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 20 77  some platforms w
25ab0 68 65 6e 20 66 6f 72 6d 61 74 74 69 6e 67 20 66  hen formatting f
25ac0 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75  loating point nu
25ad0 6d 62 65 72 73 2e 20 28 53 53 29 0a 0a 39 2f 31  mbers. (SS)..9/1
25ae0 35 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46  5/97 (bug fix) F
25af0 69 78 65 64 20 62 75 67 20 69 6e 20 4d 61 63 69  ixed bug in Maci
25b00 6e 74 6f 73 68 20 73 6f 63 6b 65 74 20 63 6f 64  ntosh socket cod
25b10 65 2e 20 20 4e 6f 77 20 70 61 73 73 65 73 20 61  e.  Now passes a
25b20 6c 6c 0a 74 65 73 74 73 20 69 6e 20 73 6f 63 6b  ll.tests in sock
25b30 65 74 2e 74 65 73 74 20 74 68 61 74 20 61 72 65  et.test that are
25b40 20 6e 6f 74 20 70 6c 61 74 66 6f 72 6d 20 73 70   not platform sp
25b50 65 63 69 66 69 63 2e 20 28 54 68 61 6e 6b 73 20  ecific. (Thanks 
25b60 74 6f 20 4d 61 72 6b 0a 52 6f 73 65 6d 61 6e 20  to Mark.Roseman 
25b70 66 6f 72 20 74 68 65 20 70 6f 69 6e 74 65 72 20  for the pointer 
25b80 6f 6e 20 74 68 65 20 66 69 78 2e 29 20 20 28 52  on the fix.)  (R
25b90 4a 29 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67  J)..9/18/97 (bug
25ba0 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
25bb0 2d 64 69 63 74 69 6f 6e 61 72 79 20 6f 70 74 69  -dictionary opti
25bc0 6f 6e 20 6f 66 20 6c 73 6f 72 74 20 74 68 61 74  on of lsort that
25bd0 20 63 6f 75 6c 64 0a 63 61 75 73 65 20 74 68 65   could.cause the
25be0 20 63 6f 6d 70 61 72 65 20 66 75 6e 63 74 69 6f   compare functio
25bf0 6e 20 74 6f 20 72 75 6e 20 6f 66 66 20 74 68 65  n to run off the
25c00 20 65 6e 64 20 6f 66 20 61 6e 20 61 72 72 61 79   end of an array
25c10 20 69 66 20 74 68 65 0a 6e 75 6d 62 65 72 20 6f   if the.number o
25c20 6e 6c 79 20 63 6f 6e 74 61 69 6e 65 64 20 30 27  nly contained 0'
25c30 73 2e 20 28 54 68 61 6e 6b 73 20 74 6f 20 47 72  s. (Thanks to Gr
25c40 65 67 20 43 6f 75 63 68 20 66 6f 72 20 74 68 65  eg Couch for the
25c50 20 72 65 70 6f 72 74 2e 29 20 28 52 4a 29 0a 0a   report.) (RJ)..
25c60 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66 69 78  9/18/97 (bug fix
25c70 29 20 54 63 6c 46 69 6e 61 6c 69 7a 65 45 6e 76  ) TclFinalizeEnv
25c80 69 72 6f 6e 6d 65 6e 74 20 77 61 73 20 6e 6f 74  ironment was not
25c90 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 0a 70 72   cleaning up .pr
25ca0 6f 70 65 72 6c 79 2e 20 28 44 4c 2c 20 4a 49 29  operly. (DL, JI)
25cb0 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66  ..9/18/97 (bug f
25cc0 69 78 29 20 46 69 78 65 64 20 6c 6f 6e 67 2d 73  ix) Fixed long-s
25cd0 74 61 6e 64 69 6e 67 20 62 75 67 20 77 68 65 72  tanding bug wher
25ce0 65 20 61 6e 20 22 61 72 72 61 79 20 67 65 74 22  e an "array get"
25cf0 20 63 6f 6d 6d 61 6e 64 0a 64 69 64 20 6e 6f 74   command.did not
25d00 20 74 72 69 67 67 65 72 20 74 72 61 63 65 73 20   trigger traces 
25d10 6f 6e 20 74 68 65 20 61 72 72 61 79 20 6f 72 20  on the array or 
25d20 69 74 73 20 65 6c 65 6d 65 6e 74 73 2e 20 28 42  its elements. (B
25d30 4c 29 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67  L)..9/18/97 (bug
25d40 20 66 69 78 65 73 29 20 46 69 78 65 64 20 63 6f   fixes) Fixed co
25d50 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65  mpilation-relate
25d60 64 20 62 75 67 73 3a 0a 20 20 20 20 2d 20 46 69  d bugs:.    - Fi
25d70 78 65 64 20 65 72 72 6f 72 49 6e 66 6f 20 74 72  xed errorInfo tr
25d80 61 63 65 62 61 63 6b 20 69 6e 66 6f 72 6d 61 74  aceback informat
25d90 69 6f 6e 20 66 6f 72 20 74 6f 70 6c 65 76 65 6c  ion for toplevel
25da0 20 63 6f 6f 6d 61 6e 64 73 20 74 68 61 74 0a 20   coomands that. 
25db0 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 6e 65 73       contain nes
25dc0 74 65 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20  ted commands..  
25dd0 20 20 2d 20 49 6e 20 74 68 65 20 65 78 70 72 20    - In the expr 
25de0 63 6f 6d 6d 61 6e 64 2c 20 26 26 20 61 6e 64 20  command, && and 
25df0 7c 7c 20 6e 6f 77 20 61 63 63 65 70 74 20 62 6f  || now accept bo
25e00 6f 6c 65 61 6e 20 6f 70 65 72 61 6e 64 73 20 61  olean operands a
25e10 73 20 77 65 6c 6c 0a 20 20 20 20 20 20 61 73 20  s well.      as 
25e20 6e 75 6d 65 72 69 63 20 6f 6e 65 73 2e 20 28 42  numeric ones. (B
25e30 4c 29 0a 0a 39 2f 32 32 2f 39 37 20 28 62 75 67  L)..9/22/97 (bug
25e40 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
25e50 74 68 61 74 20 70 72 65 76 65 6e 74 65 64 20 74  that prevented t
25e60 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 73  ranslation modes
25e70 20 66 72 6f 6d 20 62 65 69 6e 67 0a 73 65 74 20   from being.set 
25e80 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 66 6f  independently fo
25e90 72 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70  r input and outp
25ea0 75 74 20 6f 6e 20 73 6f 63 6b 65 74 73 20 69 66  ut on sockets if
25eb0 20 69 6e 70 75 74 20 77 61 73 20 22 61 75 74 6f   input was "auto
25ec0 22 2e 20 28 4a 4c 29 0a 0a 39 2f 32 34 2f 39 37  ". (JL)..9/24/97
25ed0 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 5f 45   (bug fix) Tcl_E
25ee0 76 61 6c 46 69 6c 65 28 33 29 20 61 6e 64 20 74  valFile(3) and t
25ef0 68 75 73 20 73 6f 75 72 63 65 28 6e 29 20 6e 6f  hus source(n) no
25f00 77 20 77 6f 72 6b 73 20 66 69 6e 65 20 6f 6e 0a  w works fine on.
25f10 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67  files containing
25f20 20 4e 55 4c 20 63 68 61 72 73 2e 20 28 44 4c 29   NUL chars. (DL)
25f30 0a 0a 39 2f 32 36 2f 39 37 20 28 62 75 67 20 66  ..9/26/97 (bug f
25f40 69 78 29 20 46 69 78 65 64 20 75 73 65 20 6f 66  ix) Fixed use of
25f50 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d   uninitialized m
25f60 65 6d 6f 72 79 20 69 6e 20 74 68 65 20 65 6e 76  emory in the env
25f70 69 72 6f 6e 20 61 72 72 61 79 0a 74 68 61 74 20  iron array.that 
25f80 6c 61 74 65 72 20 63 6f 75 6c 64 20 63 61 75 73  later could caus
25f90 65 20 72 61 6e 64 6f 6d 20 63 6f 72 65 20 64 75  e random core du
25fa0 6d 70 73 2e 20 41 70 70 6c 69 65 73 20 74 6f 20  mps. Applies to 
25fb0 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 20 28  all platforms. (
25fc0 4a 4c 29 0a 0a 39 2f 32 36 2f 39 37 20 28 62 75  JL)..9/26/97 (bu
25fd0 67 20 66 69 78 29 20 46 69 78 65 64 20 75 73 65  g fix) Fixed use
25fe0 20 6f 66 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65   of uninitialize
25ff0 64 20 6d 65 6d 6f 72 79 20 69 6e 20 73 6f 63 6b  d memory in sock
26000 65 74 20 61 64 64 72 65 73 73 20 64 61 74 61 0a  et address data.
26010 73 74 72 75 63 74 75 72 65 20 75 6e 64 65 72 20  structure under 
26020 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63  some circumstanc
26030 65 73 2e 20 54 68 69 73 20 63 6f 75 6c 64 20 63  es. This could c
26040 61 75 73 65 20 72 61 6e 64 6f 6d 20 63 6f 72 65  ause random core
26050 20 64 75 6d 70 73 2e 0a 54 68 69 73 20 61 70 70   dumps..This app
26060 6c 69 65 73 20 6f 6e 6c 79 20 74 6f 20 55 6e 69  lies only to Uni
26070 78 2e 20 28 4a 4c 29 0a 0a 39 2f 32 36 2f 39 37  x. (JL)..9/26/97
26080 20 28 62 75 67 20 66 69 78 29 20 4f 70 65 6e 69   (bug fix) Openi
26090 6e 67 20 66 69 6c 65 73 20 6f 6e 20 50 43 2d 4e  ng files on PC-N
260a0 46 53 20 76 6f 6c 75 6d 65 73 20 77 6f 75 6c 64  FS volumes would
260b0 20 63 61 75 73 65 20 61 20 68 61 6e 67 0a 75 6e   cause a hang.un
260c0 74 69 6c 20 74 68 65 20 73 79 73 74 65 6d 20 74  til the system t
260d0 69 6d 65 64 20 61 66 74 65 72 20 74 68 65 20 66  imed after the f
260e0 69 6c 65 20 77 61 73 20 63 6c 6f 73 65 64 2e 20  ile was closed. 
260f0 28 53 53 29 0a 0a 31 30 2f 36 2f 39 37 20 28 62  (SS)..10/6/97 (b
26100 75 67 20 66 69 78 29 20 54 68 65 20 6a 6f 69 6e  ug fix) The join
26110 28 6e 29 20 63 6f 6d 6d 61 6e 64 2c 20 74 68 6f  (n) command, tho
26120 75 67 68 20 6f 62 6a 65 63 74 69 66 69 65 64 2c  ugh objectified,
26130 20 77 61 73 20 6c 6f 6f 73 69 6e 67 0a 4e 55 4c   was loosing.NUL
26140 73 20 69 6e 20 74 68 65 20 6a 6f 69 6e 53 74 72  s in the joinStr
26150 69 6e 67 20 61 6e 64 20 69 6e 20 6c 69 73 74 20  ing and in list 
26160 65 6c 65 6d 65 6e 74 73 20 61 66 74 65 72 20 74  elements after t
26170 68 65 20 32 6e 64 20 6f 6e 65 2e 0a 4e 6f 77 20  he 2nd one..Now 
26180 79 6f 75 20 63 61 6e 20 22 6a 6f 69 6e 20 24 6c  you can "join $l
26190 69 73 74 20 5c 30 22 20 66 6f 72 20 69 6e 73 74  ist \0" for inst
261a0 61 6e 63 65 2e 20 28 44 4c 29 0a 0a 31 30 2f 39  ance. (DL)..10/9
261b0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 55 6e  /97 (bug fix) Un
261c0 64 65 72 20 77 69 6e 64 6f 77 73 2c 20 69 66 20  der windows, if 
261d0 65 6e 76 28 54 4d 50 29 20 6f 72 20 65 6e 76 28  env(TMP) or env(
261e0 54 45 4d 50 29 20 72 65 66 65 72 72 65 64 20 74  TEMP) referred t
261f0 6f 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74  o a.non-existent
26200 20 64 69 72 65 63 74 6f 72 79 2c 20 65 78 65 63   directory, exec
26210 20 77 6f 75 6c 64 20 66 61 69 6c 20 77 68 65 6e   would fail when
26220 20 74 72 79 69 6e 67 20 74 6f 20 63 72 65 61 74   trying to creat
26230 65 20 69 74 73 20 74 65 6d 70 6f 72 61 72 79 0a  e its temporary.
26240 66 69 6c 65 73 2e 20 28 43 43 53 29 0a 0a 31 30  files. (CCS)..10
26250 2f 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  /9/97 (bug fix) 
26260 55 6e 64 65 72 20 6d 61 63 20 61 6e 64 20 77 69  Under mac and wi
26270 6e 64 6f 77 73 2c 20 22 69 6e 66 6f 20 68 6f 73  ndows, "info hos
26280 74 6e 61 6d 65 22 20 77 6f 75 6c 64 20 63 72 61  tname" would cra
26290 73 68 20 69 66 20 0a 73 6f 63 6b 65 74 73 20 77  sh if .sockets w
262a0 65 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 75  ere installed bu
262b0 74 20 74 68 65 20 68 6f 73 74 6e 61 6d 65 20 63  t the hostname c
262c0 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 65 74 65  ould not be dete
262d0 72 6d 69 6e 65 64 20 61 6e 79 68 6f 77 2e 0a 54  rmined anyhow..T
262e0 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d 65 28 29  cl_GetHostName()
262f0 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67 20 4e   was returning N
26300 55 4c 4c 20 77 68 65 6e 20 69 74 20 73 68 6f 75  ULL when it shou
26310 6c 64 20 68 61 76 65 20 62 65 65 6e 20 72 65 74  ld have been ret
26320 75 72 6e 69 6e 67 20 0a 61 6e 20 65 6d 70 74 79  urning .an empty
26330 20 73 74 72 69 6e 67 2e 20 28 43 43 53 29 0a 0a   string. (CCS)..
26340 31 30 2f 31 30 2f 39 37 20 28 62 75 67 20 66 69  10/10/97 (bug fi
26350 78 29 20 22 66 69 6c 65 20 61 74 74 72 69 62 75  x) "file attribu
26360 74 65 20 2f 22 20 72 65 74 75 72 6e 65 64 20 65  te /" returned e
26370 72 72 6f 72 20 6f 6e 20 77 69 6e 64 6f 77 73 2e  rror on windows.
26380 20 28 43 43 53 29 0a 0a 31 30 2f 31 30 2f 39 37   (CCS)..10/10/97
26390 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
263a0 20 74 68 65 20 61 75 74 6f 5f 6c 6f 61 64 20 70   the auto_load p
263b0 72 6f 63 65 64 75 72 65 20 74 6f 20 68 61 6e 64  rocedure to hand
263c0 6c 65 20 70 72 6f 63 65 64 75 72 65 73 0a 64 65  le procedures.de
263d0 66 69 6e 65 64 20 69 6e 20 6e 61 6d 65 73 70 61  fined in namespa
263e0 63 65 73 20 62 65 74 74 65 72 2e 20 20 41 6c 73  ces better.  Als
263f0 6f 20 66 69 78 65 64 20 70 67 6b 5f 6d 6b 49 6e  o fixed pgk_mkIn
26400 64 65 78 20 73 6f 20 69 74 20 73 65 65 73 20 70  dex so it sees p
26410 72 6f 63 65 64 75 72 65 73 0a 64 65 66 69 6e 65  rocedures.define
26420 64 20 69 6e 20 6e 65 73 74 65 64 20 6e 61 6d 65  d in nested name
26430 73 70 61 63 65 73 2e 20 20 49 6e 64 65 78 20 65  spaces.  Index e
26440 6e 74 72 69 65 73 20 61 72 65 20 73 74 69 6c 6c  ntries are still
26450 20 6f 6e 6c 79 20 6d 61 64 65 20 66 6f 72 0a 65   only made for.e
26460 78 70 6f 72 74 65 64 20 70 72 6f 63 65 64 75 72  xported procedur
26470 65 73 2e 20 28 42 57 29 0a 0a 31 30 2f 31 33 2f  es. (BW)..10/13/
26480 39 37 20 28 62 75 67 20 66 69 78 29 20 4f 6e 20  97 (bug fix) On 
26490 75 6e 69 78 2c 20 66 6f 72 20 66 69 6c 65 73 20  unix, for files 
264a0 77 69 74 68 20 75 6e 6b 6e 6f 77 6e 20 67 72 6f  with unknown gro
264b0 75 70 20 6f 72 20 6f 77 6e 65 72 0a 61 74 74 72  up or owner.attr
264c0 69 62 75 74 65 73 2c 20 71 75 65 72 79 69 6e 67  ibutes, querying
264d0 20 74 68 65 20 22 66 69 6c 65 20 61 74 74 72 69   the "file attri
264e0 62 75 74 65 73 22 20 77 6f 75 6c 64 20 72 65 74  butes" would ret
264f0 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 72 61 74  urn an error rat
26500 68 65 72 20 74 68 61 6e 0a 72 65 74 75 72 6e 69  her than.returni
26510 6e 67 20 74 68 65 20 67 72 6f 75 70 27 73 20 6f  ng the group's o
26520 72 20 6f 77 6e 65 72 27 73 20 69 64 20 6e 75 6d  r owner's id num
26530 62 65 72 2c 20 61 6c 74 68 6f 75 67 68 20 74 68  ber, although th
26540 61 20 63 6f 6d 6d 61 6e 64 20 61 63 63 65 70 74  a command accept
26550 73 0a 6e 75 6d 62 65 72 73 20 77 68 65 6e 20 73  s.numbers when s
26560 65 74 74 69 6e 67 20 74 68 65 20 66 69 6c 65 27  etting the file'
26570 73 20 67 72 6f 75 70 20 6f 72 20 6f 77 6e 65 72  s group or owner
26580 2e 20 20 28 43 43 53 29 0a 0a 31 30 2f 32 32 2f  .  (CCS)..10/22/
26590 39 37 20 28 62 75 67 20 66 69 78 29 20 22 66 63  97 (bug fix) "fc
265a0 6f 70 79 22 20 64 69 64 20 6e 6f 74 20 65 76 61  opy" did not eva
265b0 6c 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 73  l the callback s
265c0 63 72 69 70 74 20 61 74 20 74 68 65 0a 67 6c 6f  cript at the.glo
265d0 62 61 6c 20 73 63 6f 70 65 2e 20 28 53 53 29 0a  bal scope. (SS).
265e0 0a 31 30 2f 32 32 2f 39 37 20 28 62 75 67 20 66  .10/22/97 (bug f
265f0 69 78 29 20 46 69 78 65 64 20 74 68 65 20 73 69  ix) Fixed the si
26600 67 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20 43  gnature of the C
26610 6f 70 79 44 6f 6e 65 20 63 61 6c 6c 62 61 63 6b  opyDone callback
26620 20 75 73 65 64 20 69 6e 0a 74 68 65 20 68 74 74   used in.the htt
26630 70 20 70 61 63 6b 61 67 65 28 73 29 20 73 6f 20  p package(s) so 
26640 74 68 65 79 20 63 61 6e 20 68 61 6e 64 6c 65 20  they can handle 
26650 65 72 72 6f 72 20 63 61 73 65 73 20 70 72 6f 70  error cases prop
26660 65 72 6c 79 2e 20 28 42 57 29 0a 0a 31 30 2f 32  erly. (BW)..10/2
26670 38 2f 39 37 20 28 62 75 67 20 66 69 78 65 73 29  8/97 (bug fixes)
26680 20 46 69 78 65 64 20 61 20 70 72 6f 62 6c 65 6d   Fixed a problem
26690 20 77 68 65 72 65 20 6c 61 70 70 65 6e 64 20 77   where lappend w
266a0 6f 75 6c 64 20 66 72 65 65 20 74 68 65 20 54 63  ould free the Tc
266b0 6c 20 6f 62 6a 65 63 74 0a 69 6e 20 61 20 76 61  l object.in a va
266c0 72 69 61 62 6c 65 20 69 66 20 61 20 54 63 6c 5f  riable if a Tcl_
266d0 4f 62 6a 53 65 74 56 61 72 32 20 66 61 69 6c 65  ObjSetVar2 faile
266e0 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 6e 20  d because of an 
266f0 65 72 72 6f 72 20 63 61 6c 6c 69 6e 67 20 61 20  error calling a 
26700 74 72 61 63 65 0a 6f 6e 20 74 68 65 20 76 61 72  trace.on the var
26710 69 61 62 6c 65 2e 20 28 42 4c 29 0a 0a 31 30 2f  iable. (BL)..10/
26720 32 38 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  28/97 (bug fix) 
26730 43 68 61 6e 67 65 64 20 62 69 6e 61 72 79 20 73  Changed binary s
26740 63 61 6e 20 74 6f 20 70 72 6f 70 65 72 6c 79 20  can to properly 
26750 68 61 6e 64 6c 65 20 73 69 67 6e 0a 65 78 74 65  handle sign.exte
26760 6e 73 69 6f 6e 20 6f 66 20 69 6e 74 65 67 65 72  nsion of integer
26770 73 20 6f 6e 20 36 34 2d 62 69 74 20 6f 72 20 6c  s on 64-bit or l
26780 61 72 67 65 72 20 6d 61 63 68 69 6e 65 73 2e 20  arger machines. 
26790 28 53 53 29 0a 0a 31 31 2f 33 2f 39 37 20 28 62  (SS)..11/3/97 (b
267a0 75 67 20 66 69 78 65 73 29 20 46 69 78 65 64 20  ug fixes) Fixed 
267b0 73 65 76 65 72 61 6c 20 62 75 67 73 3a 0a 20 20  several bugs:.  
267c0 20 20 2d 20 65 78 70 72 65 73 73 69 6f 6e 73 20    - expressions 
267d0 73 75 63 68 20 61 73 20 22 65 78 70 72 20 28 24  such as "expr ($
267e0 78 29 22 20 6d 75 73 74 20 62 65 20 63 6f 6d 70  x)" must be comp
267f0 69 6c 65 64 20 6f 75 74 2d 6f 66 2d 6c 69 6e 65  iled out-of-line
26800 0a 20 20 20 20 20 20 28 63 61 6c 6c 20 74 68 65  .      (call the
26810 20 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 70 72   expr command pr
26820 6f 63 65 64 75 72 65 20 61 74 20 72 75 6e 74 69  ocedure at runti
26830 6d 65 29 20 74 6f 20 65 6e 73 75 72 65 20 74 68  me) to ensure th
26840 65 20 63 6f 72 72 65 63 74 0a 20 20 20 20 20 20  e correct.      
26850 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20 22 24  behavior when "$
26860 78 22 20 69 73 20 61 6e 20 65 78 70 72 65 73 73  x" is an express
26870 69 6f 6e 20 73 75 63 68 20 61 73 20 22 35 2b 31  ion such as "5+1
26880 30 22 2e 0a 20 20 20 20 2d 20 22 61 72 72 61 79  0"..    - "array
26890 20 73 65 74 20 61 20 7b 7d 22 20 6e 6f 77 20 63   set a {}" now c
268a0 72 65 61 74 65 73 20 61 20 6e 65 77 20 61 72 72  reates a new arr
268b0 61 79 20 76 61 72 20 77 69 74 68 20 61 6e 20 65  ay var with an e
268c0 6d 70 74 79 20 61 72 72 61 79 0a 20 20 20 20 20  mpty array.     
268d0 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 76 61   value if the va
268e0 72 20 64 69 64 6e 27 74 20 61 6c 72 65 61 64 79  r didn't already
268f0 20 65 78 69 73 74 2e 0a 20 20 20 20 2d 20 22 6c   exist..    - "l
26900 72 65 70 6c 61 63 65 20 24 66 6f 6f 20 65 6e 64  replace $foo end
26910 20 65 6e 64 22 20 6e 6f 20 6c 6f 6e 67 65 72 20   end" no longer 
26920 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72  returns an error
26930 20 28 6a 75 73 74 20 61 6e 20 65 6d 70 74 79 0a   (just an empty.
26940 20 20 20 20 20 20 6c 69 73 74 29 20 69 66 20 66        list) if f
26950 6f 6f 20 69 73 20 65 6d 70 74 79 2e 0a 20 20 20  oo is empty..   
26960 20 2d 20 75 70 76 61 72 20 77 69 6c 6c 20 6e 6f   - upvar will no
26970 20 6c 6f 6e 67 65 72 20 63 72 65 61 74 65 20 61   longer create a
26980 20 76 61 72 69 61 62 6c 65 20 69 6e 20 61 20 6e   variable in a n
26990 61 6d 65 73 70 61 63 65 20 74 68 61 74 20 72 65  amespace that re
269a0 66 65 72 73 0a 20 20 20 20 20 20 74 6f 20 61 20  fers.      to a 
269b0 76 61 72 69 61 62 6c 65 20 69 6e 20 61 20 70 72  variable in a pr
269c0 6f 63 65 64 75 72 65 2e 0a 20 20 20 20 2d 20 64  ocedure..    - d
269d0 65 6c 65 74 69 6e 67 20 61 20 63 6f 6d 6d 61 6e  eleting a comman
269e0 64 20 74 72 61 63 65 20 77 69 74 68 69 6e 20 61  d trace within a
269f0 20 63 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20 63   command trace c
26a00 61 6c 6c 62 61 63 6b 20 77 6f 75 6c 64 0a 20 20  allback would.  
26a10 20 20 20 20 6d 61 6b 65 20 74 68 65 20 63 6f 64      make the cod
26a20 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 72 61  e that calls tra
26a30 63 65 73 20 74 6f 20 72 65 66 65 72 65 6e 63 65  ces to reference
26a40 20 66 72 65 65 64 20 6d 65 6d 6f 72 79 2e 0a 20   freed memory.. 
26a50 20 20 20 2d 20 73 69 67 6e 69 66 69 63 61 6e 74     - significant
26a60 6c 79 20 73 70 65 64 20 75 70 20 22 73 74 72 69  ly sped up "stri
26a70 6e 67 20 66 69 72 73 74 22 20 61 6e 64 20 22 73  ng first" and "s
26a80 74 72 69 6e 67 20 6c 61 73 74 22 20 28 66 69 78  tring last" (fix
26a90 20 66 72 6f 6d 0a 20 20 20 20 20 20 64 61 72 72   from.      darr
26aa0 65 6c 40 67 65 6d 73 74 6f 6e 65 2e 63 6f 6d 29  el@gemstone.com)
26ab0 2e 0a 20 20 20 20 2d 20 73 65 67 20 66 61 75 6c  ..    - seg faul
26ac0 74 20 69 6e 20 54 63 6c 5f 4e 65 77 53 74 72 69  t in Tcl_NewStri
26ad0 6e 67 4f 62 6a 28 29 20 77 68 65 6e 20 61 20 4e  ngObj() when a N
26ae0 55 4c 4c 20 69 73 20 70 61 73 73 65 64 20 61 73  ULL is passed as
26af0 20 74 68 65 20 62 79 74 65 0a 20 20 20 20 20 20   the byte.      
26b00 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74  pointer argument
26b10 20 61 6e 64 20 54 63 6c 20 69 73 20 63 6f 6d 70   and Tcl is comp
26b20 69 6c 65 64 20 77 69 74 68 20 2d 44 54 43 4c 5f  iled with -DTCL_
26b30 4d 45 4d 5f 44 45 42 55 47 2e 0a 20 20 20 20 2d  MEM_DEBUG..    -
26b40 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61   documentation a
26b50 6e 64 20 65 72 72 6f 72 20 6d 73 67 20 66 69 78  nd error msg fix
26b60 65 73 2e 20 28 42 4c 29 0a 0a 31 31 2f 33 2f 39  es. (BL)..11/3/9
26b70 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
26b80 64 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 49 2f  d a number of I/
26b90 4f 20 62 75 67 73 20 72 65 6c 61 74 65 64 20 74  O bugs related t
26ba0 6f 20 77 6f 72 64 20 73 69 7a 65 73 20 6f 6e 0a  o word sizes on.
26bb0 36 34 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 2e  64-bit machines.
26bc0 20 28 53 53 29 0a 0a 31 31 2f 36 2f 39 37 20 28   (SS)..11/6/97 (
26bd0 62 75 67 20 66 69 78 29 20 54 68 65 20 65 78 69  bug fix) The exi
26be0 74 20 63 6f 64 65 20 6f 66 20 74 68 65 20 66 69  t code of the fi
26bf0 72 73 74 20 70 72 6f 63 65 73 73 20 63 72 65 61  rst process crea
26c00 74 65 64 20 62 79 20 54 63 6c 0a 6f 6e 20 57 69  ted by Tcl.on Wi
26c10 6e 64 6f 77 73 20 77 61 73 20 6e 6f 74 20 70 72  ndows was not pr
26c20 6f 70 65 72 6c 79 20 72 65 70 6f 72 74 65 64 20  operly reported 
26c30 64 75 65 20 74 6f 20 61 6e 20 69 6e 69 74 69 61  due to an initia
26c40 6c 69 7a 61 74 69 6f 6e 0a 70 72 6f 62 6c 65 6d  lization.problem
26c50 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (SS)..--------
26c60 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
26c70 65 64 20 38 2e 30 70 31 2c 20 31 31 2f 37 2f 39  ed 8.0p1, 11/7/9
26c80 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  7 --------------
26c90 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31 2f 31 39  ---------..11/19
26ca0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
26cb0 78 65 64 20 62 75 67 20 69 6e 20 6c 69 6e 73 65  xed bug in linse
26cc0 72 74 20 77 68 65 72 65 20 69 74 20 73 6f 6d 65  rt where it some
26cd0 74 69 6d 65 73 20 61 63 63 69 64 65 6e 74 6c 79  times accidently
26ce0 0a 63 6c 65 61 72 65 64 20 6f 75 74 20 61 20 73  .cleared out a s
26cf0 68 61 72 65 64 20 61 72 67 75 6d 65 6e 74 20 6c  hared argument l
26d00 69 73 74 20 6f 62 6a 65 63 74 2e 20 28 42 4c 29  ist object. (BL)
26d10 2e 0a 0a 31 31 2f 31 39 2f 39 37 20 28 62 75 67  ...11/19/97 (bug
26d20 20 66 69 78 29 20 41 75 74 6f 6c 6f 61 64 69 6e   fix) Autoloadin
26d30 67 20 69 6e 20 6e 61 6d 65 73 70 61 63 65 73 20  g in namespaces 
26d40 77 61 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67 20  was not working 
26d50 70 72 6f 70 65 72 6c 79 2e 0a 61 75 74 6f 5f 6d  properly..auto_m
26d60 6b 69 6e 64 65 78 20 69 73 20 73 74 69 6c 6c 20  kindex is still 
26d70 6e 6f 74 20 72 65 61 6c 6c 79 20 6e 61 6d 65 73  not really names
26d80 70 61 63 65 20 61 77 61 72 65 20 62 75 74 20 6d  pace aware but m
26d90 6f 73 74 20 63 6f 6d 6d 6f 6e 0a 63 61 73 65 73  ost common.cases
26da0 20 73 68 6f 75 6c 64 20 6e 6f 77 20 62 65 20 68   should now be h
26db0 61 6e 64 6c 65 64 20 70 72 6f 70 65 72 6c 79 20  andled properly 
26dc0 28 73 65 65 20 69 6e 69 74 2e 74 65 73 74 29 2e  (see init.test).
26dd0 20 28 42 57 2c 20 44 4c 29 0a 0a 31 31 2f 32 30   (BW, DL)..11/20
26de0 2f 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /97 (enhancement
26df0 29 20 4d 61 64 65 20 74 68 65 20 63 68 61 6e 67  ) Made the chang
26e00 65 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74  es required by t
26e10 68 65 20 6e 65 77 20 41 70 70 6c 65 0a 55 6e 69  he new Apple.Uni
26e20 76 65 72 73 61 6c 20 48 65 61 64 65 72 73 20 56  versal Headers V
26e30 2e 33 2e 30 2c 20 73 6f 20 74 68 61 74 20 54 63  .3.0, so that Tc
26e40 6c 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 77  l will compile w
26e50 69 74 68 20 43 57 20 50 72 6f 20 32 2e 0a 0a 31  ith CW Pro 2...1
26e60 31 2f 32 34 2f 39 37 20 28 62 75 67 20 66 69 78  1/24/97 (bug fix
26e70 29 20 46 69 78 65 64 20 74 65 73 74 73 20 69 6e  ) Fixed tests in
26e80 20 63 6c 6f 63 6b 20 74 65 73 74 20 73 75 69 74   clock test suit
26e90 65 20 74 68 61 74 20 6e 65 65 64 65 64 20 74 68  e that needed th
26ea0 65 0a 2d 67 6d 74 20 66 6c 61 67 20 73 65 74 2e  e.-gmt flag set.
26eb0 20 20 54 68 61 6e 6b 73 20 74 6f 20 4a 61 6e 20    Thanks to Jan 
26ec0 4e 69 6a 74 6d 61 6e 73 20 66 6f 72 20 72 65 70  Nijtmans for rep
26ed0 6f 72 74 69 6e 67 20 74 68 65 20 70 72 6f 62 6c  orting the probl
26ee0 65 6d 2e 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d  em. (RJ)..------
26ef0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
26f00 61 73 65 64 20 38 2e 30 70 32 2c 20 31 31 2f 32  ased 8.0p2, 11/2
26f10 35 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  5/97 -----------
26f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 32  ------------..12
26f30 2f 33 2f 39 37 20 28 62 75 67 20 66 69 78 2f 6f  /3/97 (bug fix/o
26f40 70 74 69 6d 69 7a 61 74 69 6f 6e 29 20 52 65 6d  ptimization) Rem
26f50 6f 76 65 64 20 75 6e 65 65 64 65 64 20 61 6e 64  oved uneeded and
26f60 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e   potentially dan
26f70 67 65 72 6f 75 73 0a 69 6e 73 74 61 6e 63 65 73  gerous.instances
26f80 20 6f 66 20 64 6f 75 62 6c 65 20 65 76 61 6c 75   of double evalu
26f90 61 74 69 6f 6e 73 20 69 66 20 22 69 66 22 20 61  ations if "if" a
26fa0 6e 64 20 22 65 78 70 72 22 20 73 74 61 74 65 6d  nd "expr" statem
26fb0 65 6e 74 73 20 66 72 6f 6d 0a 74 68 65 20 6c 69  ents from.the li
26fc0 62 72 61 72 79 20 66 69 6c 65 73 2e 20 49 74 20  brary files. It 
26fd0 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74  is recommended t
26fe0 68 61 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e  hat unless you n
26ff0 65 65 64 20 61 20 64 6f 75 62 6c 65 0a 65 76 61  eed a double.eva
27000 6c 75 61 74 69 6f 6e 20 79 6f 75 20 61 6c 77 61  luation you alwa
27010 79 73 20 75 73 65 20 22 65 78 70 72 20 7b 2e 2e  ys use "expr {..
27020 2e 7d 22 20 69 6e 73 74 65 61 64 20 6f 66 20 22  .}" instead of "
27030 65 78 70 72 20 2e 2e 2e 22 20 61 6e 64 0a 22 69  expr ..." and."i
27040 66 20 7b 2e 2e 2e 7d 20 2e 2e 2e 22 20 69 6e 73  f {...} ..." ins
27050 74 65 61 64 20 6f 66 20 22 69 66 20 2e 2e 2e 20  tead of "if ... 
27060 2e 2e 2e 22 2e 20 49 74 20 77 69 6c 6c 20 61 6c  ...". It will al
27070 73 6f 20 62 65 20 66 61 73 74 65 72 0a 74 68 61  so be faster.tha
27080 6e 6b 73 20 74 6f 20 74 68 65 20 62 79 74 65 20  nks to the byte 
27090 63 6f 6d 70 69 6c 65 72 2e 20 28 44 4c 29 0a 0a  compiler. (DL)..
270a0 2d 2d 2d 2d 20 53 68 69 70 70 65 64 20 61 73 20  ---- Shipped as 
270b0 70 61 72 74 20 6f 66 20 74 68 65 20 70 6c 75 67  part of the plug
270c0 69 6e 32 2e 30 62 35 20 61 73 20 38 2e 30 70 32  in2.0b5 as 8.0p2
270d0 50 6c 75 67 69 6e 31 2c 20 44 65 63 20 38 74 68  Plugin1, Dec 8th
270e0 20 39 37 20 2d 2d 2d 2d 0a 0a 31 32 2f 38 2f 39   97 ----..12/8/9
270f0 37 20 28 62 75 67 20 66 69 78 29 20 4e 65 65 64  7 (bug fix) Need
27100 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20   to protect the 
27110 6e 65 77 6c 79 20 61 63 63 65 70 74 65 64 20 63  newly accepted c
27120 68 61 6e 6e 65 6c 20 69 6e 20 61 6e 0a 61 63 63  hannel in an.acc
27130 65 70 74 20 63 61 6c 6c 62 61 63 6b 20 6f 6e 20  ept callback on 
27140 61 20 73 6f 63 6b 65 74 2c 20 6f 74 68 65 72 77  a socket, otherw
27150 69 73 65 20 74 68 65 20 63 61 6c 6c 62 61 63 6b  ise the callback
27160 20 6d 61 79 20 63 6c 6f 73 65 20 69 74 20 61 6e   may close it an
27170 64 0a 63 61 75 73 65 20 61 6e 20 65 72 72 6f 72  d.cause an error
27180 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 20 63 61  , which would ca
27190 75 73 65 20 74 68 65 20 43 20 63 6f 64 65 20 74  use the C code t
271a0 6f 20 61 74 74 65 6d 70 74 20 74 6f 20 63 6c 6f  o attempt to clo
271b0 73 65 20 74 68 65 0a 6e 6f 77 20 64 65 6c 65 74  se the.now delet
271c0 65 64 20 63 68 61 6e 6e 65 6c 2e 20 42 75 6d 70  ed channel. Bump
271d0 69 6e 67 20 74 68 65 20 72 65 66 63 6f 75 6e 74  ing the refcount
271e0 20 61 73 73 75 72 65 73 20 74 68 61 74 20 74 68   assures that th
271f0 65 20 63 68 61 6e 6e 65 6c 20 73 74 69 63 6b 73  e channel sticks
27200 0a 61 72 6f 75 6e 64 20 74 6f 20 62 65 20 72 65  .around to be re
27210 61 6c 6c 79 20 63 6c 6f 73 65 64 20 69 6e 20 74  ally closed in t
27220 68 69 73 20 63 61 73 65 2e 20 28 4a 4c 29 0a 0a  his case. (JL)..
27230 31 32 2f 38 2f 39 37 20 28 62 75 67 20 66 69 78  12/8/97 (bug fix
27240 29 20 4e 65 65 64 20 74 6f 20 70 72 6f 74 65 63  ) Need to protec
27250 74 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 6e  t the channel in
27260 20 61 20 66 69 6c 65 65 76 65 6e 74 20 73 6f 20   a fileevent so 
27270 74 68 61 74 20 69 74 0a 69 73 20 6e 6f 74 20 64  that it.is not d
27280 65 6c 65 74 65 64 20 62 65 66 6f 72 65 20 74 68  eleted before th
27290 65 20 66 69 6c 65 65 76 65 6e 74 20 68 61 6e 64  e fileevent hand
272a0 6c 65 72 20 72 65 74 75 72 6e 73 2e 20 28 43 53  ler returns. (CS
272b0 2c 20 4a 4c 29 0a 0a 31 32 2f 31 38 2f 39 37 20  , JL)..12/18/97 
272c0 28 62 75 67 20 66 69 78 29 20 49 6e 20 74 68 65  (bug fix) In the
272d0 20 6f 70 74 20 61 72 67 75 6d 65 6e 74 20 70 61   opt argument pa
272e0 72 73 69 6e 67 20 70 61 63 6b 61 67 65 3a 20 69  rsing package: i
272f0 66 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f  f the descriptio
27300 6e 20 0a 68 61 64 20 6f 6e 6c 79 20 66 6c 61 67  n .had only flag
27310 73 2c 20 74 68 65 20 22 74 6f 6f 20 6d 61 6e 79  s, the "too many
27320 20 61 72 67 75 6d 65 6e 74 73 22 20 63 61 73 65   arguments" case
27330 20 77 61 73 20 6e 6f 74 20 64 65 74 65 63 74 65   was not detecte
27340 64 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a 76  d. The default.v
27350 61 6c 75 65 20 77 61 73 20 6e 6f 74 20 75 73 65  alue was not use
27360 64 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 61  d for the specia
27370 6c 20 22 61 72 67 73 22 20 65 6e 64 69 6e 67 20  l "args" ending 
27380 61 72 67 75 6d 65 6e 74 2e 20 28 44 4c 29 0a 0a  argument. (DL)..
27390 31 2f 31 35 2f 39 38 20 28 69 6d 70 72 6f 76 65  1/15/98 (improve
273a0 6d 65 6e 74 29 20 4d 6f 76 65 64 20 63 6f 6d 6d  ment) Moved comm
273b0 6f 6e 20 70 61 72 74 20 6f 66 20 69 6e 69 74 53  on part of initS
273c0 63 72 69 70 74 20 69 6e 20 63 6f 6d 6d 6f 6e 20  cript in common 
273d0 66 69 6c 65 2e 0a 4d 6f 76 65 64 20 77 69 6e 64  file..Moved wind
273e0 6f 77 73 20 73 70 65 63 69 66 69 63 20 69 6e 69  ows specific ini
273f0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 74 6f 20 69  tialization to i
27400 6e 69 74 2e 74 63 6c 20 73 6f 20 79 6f 75 20 63  nit.tcl so you c
27410 61 6e 20 69 6e 69 74 69 61 6c 69 7a 65 0a 54 63  an initialize.Tc
27420 6c 20 69 6e 20 77 69 6e 64 6f 77 73 20 77 69 74  l in windows wit
27430 68 6f 75 74 20 68 61 76 69 6e 67 20 74 6f 20 63  hout having to c
27440 61 6c 6c 20 54 63 6c 5f 49 6e 69 74 20 77 68 69  all Tcl_Init whi
27450 63 68 20 69 73 20 6e 6f 77 20 6f 6e 6c 79 0a 73  ch is now only.s
27460 65 61 72 63 68 69 6e 67 20 66 6f 72 20 69 6e 69  earching for ini
27470 74 2e 74 63 6c 20 7b 62 61 63 6b 20 70 6f 72 74  t.tcl {back port
27480 65 64 20 66 72 6f 6d 20 38 2e 31 7d 2e 20 28 44  ed from 8.1}. (D
27490 4c 29 0a 0a 2d 2d 2d 2d 20 53 68 69 70 70 65 64  L)..---- Shipped
274a0 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20   as part of the 
274b0 70 6c 75 67 69 6e 20 61 73 20 38 2e 30 70 32 50  plugin as 8.0p2P
274c0 6c 75 67 69 6e 32 2c 20 4a 61 6e 20 31 35 74 68  lugin2, Jan 15th
274d0 20 39 38 20 2d 2d 2d 2d 0a 0a 35 2f 32 37 2f 39   98 ----..5/27/9
274e0 38 20 28 62 75 67 20 66 69 78 29 20 57 69 6e 64  8 (bug fix) Wind
274f0 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69 76 65  ows socket drive
27500 72 20 64 69 64 20 6e 6f 74 20 6e 6f 74 69 63 65  r did not notice
27510 20 6e 65 77 20 64 61 74 61 20 61 72 72 69 76 69   new data arrivi
27520 6e 67 0a 6f 6e 20 6e 6f 6e 62 6c 6f 63 6b 69 6e  ng.on nonblockin
27530 67 20 73 6f 63 6b 65 74 73 20 75 6e 74 69 6c 20  g sockets until 
27540 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 77  the event loop w
27550 61 73 20 65 6e 74 65 72 65 64 2e 20 28 53 53 29  as entered. (SS)
27560 0a 0a 35 2f 32 37 2f 39 38 20 28 62 75 67 20 66  ..5/27/98 (bug f
27570 69 78 29 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b  ix) Windows sock
27580 65 74 20 64 72 69 76 65 72 20 75 73 65 64 20 46  et driver used F
27590 49 4f 4e 52 45 41 44 2c 20 77 68 69 63 68 20 69  IONREAD, which i
275a0 73 20 6e 6f 74 0a 73 75 70 70 6f 72 74 65 64 20  s not.supported 
275b0 63 6f 72 72 65 63 74 6c 79 20 62 79 20 57 69 6e  correctly by Win
275c0 53 6f 63 6b 2e 20 28 53 53 29 0a 0a 36 2f 39 2f  Sock. (SS)..6/9/
275d0 39 38 20 28 62 75 67 20 66 69 78 29 20 47 65 6e  98 (bug fix) Gen
275e0 65 72 69 63 20 63 68 61 6e 6e 65 6c 20 63 6f 64  eric channel cod
275f0 65 20 66 61 69 6c 65 64 20 74 6f 20 72 65 70 6f  e failed to repo
27600 72 74 20 72 65 61 64 61 62 6c 65 20 66 69 6c 65  rt readable file
27610 0a 65 76 65 6e 74 73 20 6f 6e 20 62 75 66 66 65  .events on buffe
27620 72 65 64 20 64 61 74 61 20 74 68 61 74 20 77 61  red data that wa
27630 73 20 6c 65 66 74 20 62 65 68 69 6e 64 20 62 79  s left behind by
27640 20 61 20 67 65 74 73 20 6f 72 20 72 65 61 64 20   a gets or read 
27650 74 68 61 74 0a 64 69 64 20 6e 6f 74 20 63 6f 6e  that.did not con
27660 73 75 6d 65 20 61 6c 6c 20 61 76 61 69 6c 61 62  sume all availab
27670 6c 65 20 64 61 74 61 2e 20 28 53 53 29 0a 0a 36  le data. (SS)..6
27680 2f 31 38 2f 39 38 20 28 62 75 67 20 66 69 78 29  /18/98 (bug fix)
27690 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20   Compilation of 
276a0 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 73  loop expressions
276b0 20 77 61 73 20 74 6f 6f 20 61 67 67 72 65 73 73   was too aggress
276c0 69 76 65 0a 61 6e 64 20 69 6e 63 6f 72 72 65 63  ive.and incorrec
276d0 74 6c 79 20 69 6e 6c 69 6e 65 64 20 6e 6f 6e 2d  tly inlined non-
276e0 6c 69 74 65 72 61 6c 20 65 78 70 72 65 73 73 69  literal expressi
276f0 6f 6e 73 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f  ons. (SS)..6/18/
27700 39 38 20 28 62 75 67 20 66 69 78 29 20 22 69 6e  98 (bug fix) "in
27710 66 6f 20 76 61 72 22 20 61 6e 64 20 22 69 6e 66  fo var" and "inf
27720 6f 20 6c 6f 63 61 6c 73 22 20 69 6e 63 6f 72 72  o locals" incorr
27730 65 63 74 6c 79 20 72 65 70 6f 72 74 65 64 0a 74  ectly reported.t
27740 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20  he existence of 
27750 63 6f 6d 70 69 6c 65 72 20 74 65 6d 70 6f 72 61  compiler tempora
27760 72 79 20 76 61 72 69 61 62 6c 65 73 2e 20 28 53  ry variables. (S
27770 53 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67  S)..6/18/98 (bug
27780 20 66 69 78 29 20 44 69 63 74 69 6f 6e 61 72 79   fix) Dictionary
27790 20 73 6f 72 74 69 6e 67 20 75 73 65 64 20 73 69   sorting used si
277a0 67 6e 65 64 20 63 68 61 72 61 63 74 65 72 0a 63  gned character.c
277b0 6f 6d 70 61 72 69 73 6f 6e 73 2e 20 28 53 53 29  omparisons. (SS)
277c0 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20 66  ..6/18/98 (bug f
277d0 69 78 29 20 43 6f 6d 70 69 6c 65 20 70 72 6f 63  ix) Compile proc
277e0 73 20 63 6f 72 72 75 70 74 65 64 20 74 68 65 20  s corrupted the 
277f0 65 78 63 65 70 74 69 6f 6e 20 73 74 61 63 6b 20  exception stack 
27800 69 6e 20 73 6f 6d 65 0a 63 61 73 65 73 2e 20 28  in some.cases. (
27810 53 53 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75  SS)..6/18/98 (bu
27820 67 20 66 69 78 29 20 41 72 72 61 79 20 73 65 74  g fix) Array set
27830 20 68 61 64 20 65 72 72 61 74 69 63 20 62 65 68   had erratic beh
27840 61 76 69 6f 72 20 77 68 65 6e 20 69 6e 69 74 69  avior when initi
27850 61 6c 69 7a 69 6e 67 20 61 0a 76 61 72 69 61 62  alizing a.variab
27860 6c 65 20 66 72 6f 6d 20 61 6e 20 65 6d 70 74 79  le from an empty
27870 20 76 61 6c 75 65 20 6c 69 73 74 2e 20 28 53 53   value list. (SS
27880 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20  )..6/18/98 (bug 
27890 66 69 78 29 20 54 68 65 20 57 69 6e 64 6f 77 73  fix) The Windows
278a0 20 72 65 67 69 73 74 72 79 20 70 61 63 6b 61 67   registry packag
278b0 65 20 68 61 64 20 61 20 62 61 64 20 62 6f 75 6e  e had a bad boun
278c0 64 73 20 63 68 65 63 6b 0a 74 68 61 74 20 63 6f  ds check.that co
278d0 75 6c 64 20 6c 65 61 64 20 74 6f 20 61 20 63 72  uld lead to a cr
278e0 61 73 68 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f  ash. (SS)..6/18/
278f0 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68 65  98 (bug fix) The
27900 20 66 6f 72 65 61 63 68 20 63 6f 6d 70 69 6c 65   foreach compile
27910 20 70 72 6f 63 20 64 69 64 20 6e 6f 74 20 63 6f   proc did not co
27920 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 65 0a 6e  rrectly handle.n
27930 6f 6e 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c  on-local variabl
27940 65 20 72 65 66 65 72 65 6e 63 65 73 2e 20 28 53  e references. (S
27950 53 29 0a 0a 36 2f 32 35 2f 39 38 20 28 6e 65 77  S)..6/25/98 (new
27960 20 66 65 61 74 75 72 65 73 29 20 41 64 64 65 64   features) Added
27970 20 6e 61 6d 65 20 72 65 73 6f 6c 75 74 69 6f 6e   name resolution
27980 20 68 6f 6f 6b 73 20 74 6f 20 73 75 70 70 6f 72   hooks to suppor
27990 74 20 5b 69 6e 63 72 20 54 63 6c 5d 2e 0a 54 68  t [incr Tcl]..Th
279a0 65 72 65 20 61 72 65 20 6e 65 77 20 69 6e 74 65  ere are new inte
279b0 72 6e 61 6c 20 54 63 6c 5f 2a 52 65 73 6f 6c 76  rnal Tcl_*Resolv
279c0 65 72 2a 20 41 50 49 73 20 74 6f 20 61 64 64 2c  er* APIs to add,
279d0 20 71 75 65 72 79 20 61 6e 64 20 72 65 6d 6f 76   query and remov
279e0 65 20 74 68 65 20 68 6f 6f 6b 73 2e 20 0a 57 69  e the hooks. .Wi
279f0 74 68 20 74 68 69 73 20 63 68 61 6e 67 65 73 20  th this changes 
27a00 69 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73  it should be pos
27a10 73 69 62 6c 65 20 74 6f 20 64 79 6e 61 6d 69 63  sible to dynamic
27a20 61 6c 6c 79 20 6c 6f 61 64 20 5b 69 6e 63 72 20  ally load [incr 
27a30 54 63 6c 5d 0a 61 73 20 61 6e 20 65 78 74 65 6e  Tcl].as an exten
27a40 73 69 6f 6e 2e 20 28 4d 4d 29 0a 0a 37 2f 31 2f  sion. (MM)..7/1/
27a50 39 37 20 28 62 75 67 20 66 69 78 29 20 54 68 65  97 (bug fix) The
27a60 20 63 6f 6d 6d 61 6e 64 73 20 22 69 6e 66 6f 20   commands "info 
27a70 61 72 67 73 2c 20 62 6f 64 79 2c 20 64 65 66 61  args, body, defa
27a80 75 6c 74 2c 20 70 72 6f 63 73 22 20 64 69 64 0a  ult, procs" did.
27a90 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 68 61  not correctly ha
27aa0 6e 64 6c 65 20 69 6d 70 6f 72 74 65 64 20 70 72  ndle imported pr
27ab0 6f 63 65 64 75 72 65 73 2e 20 28 52 4a 29 0a 0a  ocedures. (RJ)..
27ac0 37 2f 36 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d  7/6/98 (improvem
27ad0 65 6e 74 29 20 70 6b 67 5f 6d 6b 49 6e 64 65 78  ent) pkg_mkIndex
27ae0 20 6e 6f 77 20 69 6d 70 6c 65 6d 65 6e 74 73 20   now implements 
27af0 74 68 65 20 22 70 61 63 6b 61 67 65 20 72 65 71  the "package req
27b00 75 69 72 65 22 0a 63 6f 6d 6d 61 6e 64 2e 20 20  uire".command.  
27b10 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 6f  This makes it po
27b20 73 73 69 62 6c 65 20 74 6f 20 63 72 65 61 74 65  ssible to create
27b30 20 69 6e 64 65 78 20 66 69 6c 65 73 20 66 6f 72   index files for
27b40 20 70 61 63 6b 61 67 65 73 0a 74 68 61 74 20 72   packages.that r
27b50 65 71 75 69 72 65 20 61 6e 6f 74 68 65 72 20 70  equire another p
27b60 61 63 6b 61 67 65 20 61 6e 64 20 74 68 65 6e 20  ackage and then 
27b70 65 78 65 63 75 74 65 20 63 6f 64 65 20 66 72 6f  execute code fro
27b80 6d 20 74 68 61 74 20 70 61 63 6b 61 67 65 20 69  m that package i
27b90 6e 0a 74 68 65 69 72 20 66 69 6c 65 2e 20 50 72  n.their file. Pr
27ba0 65 76 69 6f 75 73 6c 79 2c 20 74 68 69 73 20 77  eviously, this w
27bb0 6f 75 6c 64 20 74 68 72 6f 77 20 61 6e 20 65 72  ould throw an er
27bc0 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20  ror because the 
27bd0 72 65 71 75 69 72 65 64 0a 70 61 63 6b 61 67 65  required.package
27be0 20 68 61 64 20 6e 6f 74 20 62 65 65 6e 20 6c 6f   had not been lo
27bf0 61 64 65 64 2e 20 20 54 68 65 20 2d 6e 6f 70 6b  aded.  The -nopk
27c00 67 72 65 71 75 69 65 64 20 66 6c 61 67 20 69 73  grequied flag is
27c10 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 72 65 76   provided to.rev
27c20 65 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20  ert back to the 
27c30 6f 6c 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74  old functionalit
27c40 79 2e 20 28 45 4d 53 29 0a 0a 37 2f 36 2f 39 38  y. (EMS)..7/6/98
27c50 20 28 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 62   (improvement) b
27c60 61 63 6b 2d 70 6f 72 74 65 64 20 74 68 65 20 2d  ack-ported the -
27c70 64 69 72 65 63 74 20 66 6c 61 67 20 66 72 6f 6d  direct flag from
27c80 20 38 2e 31 20 69 6e 74 6f 0a 70 6b 67 5f 6d 6b   8.1 into.pkg_mk
27c90 49 6e 64 65 78 2e 20 20 54 68 69 73 20 72 65 73  Index.  This res
27ca0 75 6c 74 73 20 69 6e 20 70 6b 67 49 6e 64 65 78  ults in pkgIndex
27cb0 2e 74 63 6c 20 66 69 6c 65 73 20 74 68 61 74 20  .tcl files that 
27cc0 63 6f 6e 74 61 69 6e 20 64 69 72 65 63 74 0a 73  contain direct.s
27cd0 6f 75 72 63 65 20 6f 72 20 6c 6f 61 64 20 63 6f  ource or load co
27ce0 6d 6d 61 6e 64 73 20 69 6e 73 74 65 61 64 20 6f  mmands instead o
27cf0 66 20 74 63 6c 50 6b 67 53 65 74 75 70 20 63 6f  f tclPkgSetup co
27d00 6d 6d 61 6e 64 73 2e 20 28 45 4d 53 29 0a 0a 37  mmands. (EMS)..7
27d10 2f 36 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d 65  /6/98 (improveme
27d20 6e 74 29 20 6d 61 64 65 20 63 68 61 6e 67 65 73  nt) made changes
27d30 20 74 6f 20 74 68 65 20 41 75 78 44 61 74 61 20   to the AuxData 
27d40 69 74 65 6d 73 20 73 74 72 75 63 74 75 72 65 73  items structures
27d50 20 74 6f 20 73 75 70 70 6f 72 74 0a 73 74 6f 72   to support.stor
27d60 61 67 65 20 6f 66 20 63 6f 6d 70 69 6c 65 64 20  age of compiled 
27d70 73 63 72 69 70 74 73 20 6f 6e 20 64 69 73 6b 2e  scripts on disk.
27d80 20 41 6c 73 6f 20 73 6f 6d 65 20 72 65 6c 61 74   Also some relat
27d90 65 64 20 6d 69 6e 6f 72 20 63 68 61 6e 67 65 73  ed minor changes
27da0 20 69 6e 0a 74 68 65 20 63 6f 6d 70 69 6c 61 74   in.the compilat
27db0 69 6f 6e 20 61 6e 64 20 65 78 65 63 75 74 69 6f  ion and executio
27dc0 6e 20 65 6e 67 69 6e 65 2e 20 28 45 4d 53 29 0a  n engine. (EMS).
27dd0 0a 36 2f 34 2f 39 38 20 28 65 6e 68 61 6e 63 65  .6/4/98 (enhance
27de0 6d 65 6e 74 29 20 41 64 64 65 64 20 6e 65 77 20  ment) Added new 
27df0 69 6e 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65  internal routine
27e00 73 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6e 73  s to support ins
27e10 65 72 74 69 6e 67 0a 61 6e 64 20 64 65 6c 65 74  erting.and delet
27e20 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 73 74 61  ing from the sta
27e30 74 2c 20 61 63 63 65 73 73 2c 20 61 6e 64 20 6f  t, access, and o
27e40 70 65 6e 2d 66 69 6c 65 2d 63 68 61 6e 6e 65 6c  pen-file-channel
27e50 20 6d 65 63 68 61 6e 69 73 6d 73 2e 0a 54 63 6c   mechanisms..Tcl
27e60 41 63 63 65 73 73 49 6e 73 65 72 74 50 72 6f 63  AccessInsertProc
27e70 2c 20 54 63 6c 53 74 61 74 49 6e 73 65 72 74 50  , TclStatInsertP
27e80 72 6f 63 2c 20 26 20 54 63 6c 4f 70 65 6e 46 69  roc, & TclOpenFi
27e90 6c 65 43 68 61 6e 6e 65 6c 49 6e 73 65 72 74 50  leChannelInsertP
27ea0 72 6f 63 0a 69 6e 73 65 72 74 20 70 6f 69 6e 74  roc.insert point
27eb0 65 72 73 20 74 6f 20 73 75 63 68 20 72 6f 75 74  ers to such rout
27ec0 69 6e 65 73 3b 20 54 63 6c 41 63 63 65 73 73 44  ines; TclAccessD
27ed0 65 6c 65 74 65 50 72 6f 63 2c 20 54 63 6c 53 74  eleteProc, TclSt
27ee0 61 74 44 65 6c 65 74 65 50 72 6f 63 2c 0a 26 20  atDeleteProc,.& 
27ef0 54 63 6c 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e  TclOpenFileChann
27f00 65 6c 44 65 6c 65 74 65 50 72 6f 63 20 64 65 6c  elDeleteProc del
27f10 65 74 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20  ete pointers to 
27f20 73 75 63 68 20 72 6f 75 74 69 6e 65 73 2e 20 20  such routines.  
27f30 53 65 65 0a 74 68 65 20 66 69 6c 65 20 67 65 6e  See.the file gen
27f40 65 72 69 63 2f 74 63 6c 49 4f 55 74 69 6c 73 2e  eric/tclIOUtils.
27f50 63 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69  c for more detai
27f60 6c 73 2e 20 28 53 4b 53 29 0a 20 0a 37 2f 31 2f  ls. (SKS). .7/1/
27f70 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  98 (enhancement)
27f80 20 41 64 64 65 64 20 61 20 6e 65 77 20 69 6e 74   Added a new int
27f90 65 72 6e 61 6c 20 43 20 76 61 72 69 61 62 6c 65  ernal C variable
27fa0 0a 74 63 6c 50 72 65 49 6e 69 74 53 63 72 69 70  .tclPreInitScrip
27fb0 74 2e 20 20 54 68 69 73 20 69 73 20 61 20 70 6f  t.  This is a po
27fc0 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e  inter to a strin
27fd0 67 20 74 68 61 74 20 6d 61 79 20 68 6f 6c 64 20  g that may hold 
27fe0 61 6e 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f  an.initializatio
27ff0 6e 20 73 63 72 69 70 74 3b 20 49 66 20 74 68 69  n script; If thi
28000 73 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 6f 6e  s pointer is non
28010 2d 4e 55 4c 4c 20 69 74 20 69 73 20 65 76 61 6c  -NULL it is eval
28020 75 61 74 65 64 20 69 6e 0a 54 63 6c 5f 49 6e 69  uated in.Tcl_Ini
28030 74 28 29 20 70 72 69 6f 72 20 74 6f 20 74 68 65  t() prior to the
28040 20 62 75 69 6c 74 2d 69 6e 20 69 6e 69 74 69 61   built-in initia
28050 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 70 74 20  lization script 
28060 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 0a 66  defined in the.f
28070 69 6c 65 20 67 65 6e 65 72 69 63 2f 74 63 6c 49  ile generic/tclI
28080 6e 69 74 53 63 72 69 70 74 2e 68 2e 20 20 28 53  nitScript.h.  (S
28090 4b 53 29 0a 0a 37 2f 36 2f 39 38 20 28 62 75 67  KS)..7/6/98 (bug
280a0 20 66 69 78 29 20 52 65 6d 6f 76 65 64 20 64 65   fix) Removed de
280b0 61 64 20 63 6f 64 65 20 69 6e 20 50 6c 61 74 66  ad code in Platf
280c0 6f 72 6d 49 6e 69 74 45 78 69 74 48 61 6e 64 6c  ormInitExitHandl
280d0 65 72 20 73 6f 20 74 68 61 74 0a 74 68 65 20 54  er so that.the T
280e0 43 4c 5f 4c 49 42 52 41 52 59 20 76 61 6c 75 65  CL_LIBRARY value
280f0 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 70   can be safely p
28100 61 74 63 68 65 64 20 69 6e 20 62 69 6e 61 72 69  atched in binari
28110 65 73 2e 20 28 42 57 29 0a 0a 37 2f 32 34 2f 39  es. (BW)..7/24/9
28120 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  8 (enhancement) 
28130 49 6e 63 6f 72 70 6f 72 61 74 65 64 20 61 20 6e  Incorporated a n
28140 65 77 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 75  ew version of au
28150 74 6f 5f 6d 6b 69 6e 64 65 78 20 74 68 61 74 0a  to_mkindex that.
28160 63 61 6e 20 73 75 70 70 6f 72 74 20 74 68 65 20  can support the 
28170 5b 69 6e 63 72 20 54 63 6c 5d 20 63 6c 61 73 73  [incr Tcl] class
28180 20 73 74 72 75 63 74 75 72 65 73 2e 20 20 54 68   structures.  Th
28190 69 73 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c 20  is version will 
281a0 69 6e 64 65 78 0a 61 6c 6c 20 70 72 6f 63 65 64  index.all proced
281b0 75 72 65 73 20 69 6e 20 61 20 73 6f 75 72 63 65  ures in a source
281c0 20 66 69 6c 65 2c 20 6e 6f 74 20 6a 75 73 74 20   file, not just 
281d0 74 68 6f 73 65 20 77 68 65 72 65 20 22 70 72 6f  those where "pro
281e0 63 22 20 73 74 61 72 74 73 0a 61 74 20 74 68 65  c" starts.at the
281f0 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68   beginning of th
28200 65 20 6c 69 6e 65 2e 20 20 49 66 20 79 6f 75 20  e line.  If you 
28210 77 61 6e 74 20 74 68 65 20 6f 6c 64 20 62 65 68  want the old beh
28220 61 76 69 6f 72 2c 20 75 73 65 20 74 68 65 0a 61  avior, use the.a
28230 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 6f 6c 64 20  uto_mkindex_old 
28240 70 72 6f 63 65 64 75 72 65 2e 20 28 4d 4d 29 0a  procedure. (MM).
28250 0a 37 2f 32 34 2f 39 38 20 28 66 65 61 74 75 72  .7/24/98 (featur
28260 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65  e change) Change
28270 64 20 74 68 65 20 57 69 6e 64 6f 77 73 20 72 65  d the Windows re
28280 67 69 73 74 72 79 20 6b 65 79 20 74 6f 20 62 65  gistry key to be
28290 0a 48 4b 45 59 5f 4c 4f 43 41 4c 5f 4d 41 43 48  .HKEY_LOCAL_MACH
282a0 49 4e 45 5c 53 6f 66 74 77 61 72 65 5c 53 63 72  INE\Software\Scr
282b0 69 70 74 69 63 73 5c 54 63 6c 5c 38 2e 30 2c 20  iptics\Tcl\8.0, 
282c0 61 6e 64 20 74 6f 20 73 74 6f 72 65 20 74 68 65  and to store the
282d0 20 70 61 74 68 0a 69 6e 20 74 68 65 20 64 65 66   path.in the def
282e0 61 75 6c 74 20 76 61 6c 75 65 20 69 6e 73 74 65  ault value inste
282f0 61 64 20 6f 66 20 22 52 6f 6f 74 22 2e 20 20 41  ad of "Root".  A
28300 6c 73 6f 2c 20 74 68 69 73 20 6b 65 79 20 63 61  lso, this key ca
28310 6e 20 62 65 0a 73 70 65 63 69 66 69 65 64 20 61  n be.specified a
28320 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 69  t compile time i
28330 6e 20 63 61 73 65 20 54 63 6c 20 69 73 20 62 65  n case Tcl is be
28340 69 6e 67 20 75 73 65 64 20 69 6e 20 61 20 64 69  ing used in a di
28350 66 66 65 72 65 6e 74 0a 63 6f 6e 74 65 78 74 20  fferent.context 
28360 77 68 65 72 65 20 69 74 20 6e 65 65 64 73 20 61  where it needs a
28370 6e 20 61 6c 74 65 72 6e 61 74 65 20 6c 69 62 72  n alternate libr
28380 61 72 79 20 70 61 74 68 20 66 72 6f 6d 20 74 68  ary path from th
28390 65 20 73 74 61 6e 64 61 72 64 20 54 63 6c 0a 69  e standard Tcl.i
283a0 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 20 28 53 53  nstallation. (SS
283b0 29 0a 0a 37 2f 32 34 2f 39 38 20 28 66 65 61 74  )..7/24/98 (feat
283c0 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
283d0 67 65 64 20 74 68 65 20 73 65 61 72 63 68 20 6f  ged the search o
283e0 72 64 65 72 20 66 6f 72 20 69 6e 69 74 2e 74 63  rder for init.tc
283f0 6c 2e 20 20 54 68 65 0a 74 63 6c 5f 6c 69 62 72  l.  The.tcl_libr
28400 61 72 79 20 76 61 72 69 61 62 6c 65 20 63 61 6e  ary variable can
28410 20 6e 6f 77 20 62 65 20 73 65 74 20 62 65 66 6f   now be set befo
28420 72 65 20 63 61 6c 6c 69 6e 67 20 54 63 6c 5f 49  re calling Tcl_I
28430 6e 69 74 20 74 6f 20 61 76 6f 69 64 0a 64 6f 69  nit to avoid.doi
28440 6e 67 20 61 6e 79 20 73 65 61 72 63 68 65 73 2e  ng any searches.
28450 20 20 49 66 20 69 74 20 69 73 6e 27 74 20 73 65    If it isn't se
28460 74 2c 20 74 68 65 6e 20 54 63 6c 20 63 68 65 63  t, then Tcl chec
28470 6b 73 0a 65 6e 76 28 54 43 4c 5f 4c 49 42 52 41  ks.env(TCL_LIBRA
28480 52 59 29 2c 20 74 68 65 20 73 74 61 74 69 63 20  RY), the static 
28490 76 61 6c 75 65 20 73 65 74 20 61 74 20 63 6f 6d  value set at com
284a0 70 69 6c 65 20 74 69 6d 65 2c 20 61 6e 20 69 6e  pile time, an in
284b0 73 74 61 6c 6c 0a 64 69 72 65 63 74 6f 72 79 20  stall.directory 
284c0 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20  relative to the 
284d0 65 78 65 63 75 74 61 62 6c 65 2c 20 61 20 73 6f  executable, a so
284e0 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 72  urce directory r
284f0 65 6c 61 74 69 76 65 20 74 6f 0a 74 68 65 20 65  elative to.the e
28500 78 65 63 75 74 61 62 6c 65 2c 20 61 6e 64 20 61  xecutable, and a
28510 20 74 63 6c 20 64 69 72 65 63 74 6f 72 79 20 72   tcl directory r
28520 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 73  elative to the s
28530 6f 75 72 63 65 20 68 65 69 72 61 72 63 68 79 0a  ource heirarchy.
28540 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65  containing the e
28550 78 65 63 75 74 61 62 6c 65 2e 20 20 53 65 65 20  xecutable.  See 
28560 74 68 65 20 63 6f 6d 6d 65 6e 74 20 61 74 20 74  the comment at t
28570 68 65 20 74 6f 70 20 6f 66 0a 67 65 6e 65 72 69  he top of.generi
28580 63 2f 74 63 6c 49 6e 69 74 53 63 72 69 70 74 2e  c/tclInitScript.
28590 68 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69  h for more detai
285a0 6c 73 2e 20 28 53 53 29 0a 0a 37 2f 32 37 2f 39  ls. (SS)..7/27/9
285b0 38 20 28 63 6f 6e 66 69 67 20 63 68 61 6e 67 65  8 (config change
285c0 29 20 43 68 61 6e 67 65 64 20 74 68 65 20 75 73  ) Changed the us
285d0 65 20 6f 66 20 74 68 65 20 44 42 47 58 20 66 6c  e of the DBGX fl
285e0 61 67 20 69 6e 20 63 6f 6e 66 69 67 75 72 65 2e  ag in configure.
285f0 69 6e 0a 61 6e 64 20 74 68 65 20 6d 61 6b 65 66  in.and the makef
28600 69 6c 65 20 74 6f 20 62 65 20 54 43 4c 5f 44 42  ile to be TCL_DB
28610 47 58 2e 20 20 55 73 65 72 73 20 6f 66 20 74 63  GX.  Users of tc
28620 6c 43 6f 6e 66 69 67 2e 73 68 20 6d 61 79 20 6e  lConfig.sh may n
28630 65 65 64 20 74 6f 20 70 61 73 73 0a 74 68 69 73  eed to pass.this
28640 20 74 68 72 6f 75 67 68 20 74 68 65 69 72 20 63   through their c
28650 6f 6e 66 69 67 75 72 65 20 66 69 6c 65 73 20 77  onfigure files w
28660 69 74 68 20 41 43 5f 53 55 42 53 54 2e 20 28 42  ith AC_SUBST. (B
28670 57 29 0a 0a 37 32 39 2f 39 38 20 28 62 75 67 20  W)..729/98 (bug 
28680 66 69 78 29 20 43 68 61 6e 67 65 64 20 5b 69 6e  fix) Changed [in
28690 66 6f 20 62 6f 64 79 5d 20 74 6f 20 72 65 74 75  fo body] to retu
286a0 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65  rn a copy of the
286b0 20 62 6f 64 79 20 6f 66 20 61 0a 63 6f 6d 70 69   body of a.compi
286c0 6c 65 64 20 70 72 6f 63 65 64 75 72 65 20 69 6e  led procedure in
286d0 73 74 65 61 64 20 6f 66 20 74 68 65 20 62 6f 64  stead of the bod
286e0 79 20 69 74 73 65 6c 66 2c 20 74 6f 20 61 76 6f  y itself, to avo
286f0 69 64 20 69 6e 76 61 6c 69 64 61 74 69 6f 6e 0a  id invalidation.
28700 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20  of the internal 
28710 72 65 70 20 61 6e 64 20 6c 6f 73 73 20 6f 66 20  rep and loss of 
28720 74 68 65 20 62 79 74 65 2d 63 6f 64 65 73 2e 20  the byte-codes. 
28730 28 45 4d 53 29 0a 0a 38 2f 35 2f 39 38 20 28 62  (EMS)..8/5/98 (b
28740 75 67 20 66 69 78 29 20 54 68 65 20 70 6c 61 74  ug fix) The plat
28750 66 6f 72 6d 20 69 6e 69 74 20 63 6f 64 65 20 63  form init code c
28760 6f 75 6c 64 20 77 61 6c 6b 20 6f 66 66 20 74 68  ould walk off th
28770 65 20 65 6e 64 20 6f 66 20 61 0a 62 75 66 66 65  e end of a.buffe
28780 72 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 74  r when reading t
28790 68 65 20 50 6b 67 50 61 74 68 20 72 65 67 69 73  he PkgPath regis
287a0 74 72 79 20 76 61 6c 75 65 20 6f 6e 20 57 69 6e  try value on Win
287b0 64 6f 77 73 2e 20 28 53 53 29 0a 0a 38 2f 35 2f  dows. (SS)..8/5/
287c0 39 38 20 28 57 69 6e 64 6f 77 73 20 6d 61 6b 65  98 (Windows make
287d0 66 69 6c 65 20 63 68 61 6e 67 65 29 20 49 6e 74  file change) Int
287e0 72 6f 64 75 63 65 64 20 61 20 73 65 74 20 6f 66  roduced a set of
287f0 20 6d 61 63 72 6f 73 20 74 6f 20 64 65 61 6c 20   macros to deal 
28800 77 69 74 68 0a 65 78 70 6f 72 74 69 6e 67 20 73  with.exporting s
28810 79 6d 62 6f 6c 73 20 77 68 65 6e 20 63 6f 6d 70  ymbols when comp
28820 69 6c 69 6e 67 20 44 4c 4c 53 20 6f 6e 20 57 69  iling DLLS on Wi
28830 6e 64 6f 77 73 2e 20 53 65 65 20 77 69 6e 2f 52  ndows. See win/R
28840 45 41 44 4d 45 20 66 6f 72 0a 64 65 74 61 69 6c  EADME for.detail
28850 73 2e 20 28 45 4d 53 29 0a 0a 38 2f 35 2f 39 38  s. (EMS)..8/5/98
28860 20 28 61 64 64 65 6e 64 75 6d 29 20 41 64 64 65   (addendum) Adde
28870 64 20 61 20 73 65 63 6f 6e 64 20 57 69 6e 64 6f  d a second Windo
28880 77 73 20 72 65 67 69 73 74 72 79 20 6b 65 79 20  ws registry key 
28890 75 6e 64 65 72 0a 48 4b 45 59 5f 4c 4f 43 41 4c  under.HKEY_LOCAL
288a0 5f 4d 41 43 48 49 4e 45 5c 53 6f 66 74 77 61 72  _MACHINE\Softwar
288b0 65 5c 53 63 72 69 70 74 69 63 73 5c 54 63 6c 5c  e\Scriptics\Tcl\
288c0 38 2e 30 2c 20 6e 61 6d 65 64 20 22 70 6b 67 50  8.0, named "pkgP
288d0 61 74 68 22 2e 0a 54 68 69 73 20 69 73 20 61 20  ath"..This is a 
288e0 6d 75 6c 74 69 2d 73 74 72 69 6e 67 20 76 61 6c  multi-string val
288f0 75 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69  ue used to initi
28900 61 6c 69 7a 65 20 74 68 65 20 74 63 6c 5f 70 6b  alize the tcl_pk
28910 67 50 61 74 68 0a 76 61 72 69 61 62 6c 65 2e 20  gPath.variable. 
28920 54 68 69 73 20 69 73 20 72 65 71 75 69 72 65 64  This is required
28930 20 69 66 20 65 78 74 65 6e 73 69 6f 6e 20 44 4c   if extension DL
28940 4c 73 20 61 72 65 20 69 6e 20 61 72 63 68 69 74  Ls are in archit
28950 65 63 74 75 72 65 20 73 70 65 63 69 66 69 63 0a  ecture specific.
28960 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 2e 20  subdirectories. 
28970 28 53 53 29 0a 0a 38 2f 36 2f 39 38 20 28 6e 65  (SS)..8/6/98 (ne
28980 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
28990 20 74 63 6c 5f 66 69 6e 64 4c 69 62 72 61 72 79   tcl_findLibrary
289a0 20 74 6f 20 69 6e 69 74 2e 74 63 6c 20 66 6f 72   to init.tcl for
289b0 20 75 73 65 20 62 79 0a 65 78 74 65 6e 73 69 6f   use by.extensio
289c0 6e 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 54 6b  ns, including Tk
289d0 2e 20 20 54 68 69 73 20 73 65 61 72 63 68 65 73  .  This searches
289e0 20 69 6e 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20   in a canonical 
289f0 77 61 79 20 66 6f 72 0a 61 6e 20 65 78 74 65 6e  way for.an exten
28a00 73 69 6f 6e 73 20 6c 69 62 72 61 72 79 20 64 69  sions library di
28a10 72 65 63 74 6f 72 79 20 61 6e 64 20 69 6e 69 74  rectory and init
28a20 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 6c 65 2e  ialization file.
28a30 20 28 42 57 29 0a 0a 38 2f 31 30 2f 39 38 20 28   (BW)..8/10/98 (
28a40 62 75 67 20 66 69 78 29 20 49 6d 70 6f 72 74 65  bug fix) Importe
28a50 64 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20  d commands used 
28a60 74 6f 20 67 65 74 20 6c 6f 73 74 20 69 66 20 74  to get lost if t
28a70 68 65 20 74 61 72 67 65 74 0a 6f 66 20 74 68 65  he target.of the
28a80 20 69 6d 70 6f 72 74 20 77 61 73 20 72 65 64 65   import was rede
28a90 66 69 6e 65 64 2e 20 20 54 63 6c 5f 43 72 65 61  fined.  Tcl_Crea
28aa0 74 65 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63  teCommand and Tc
28ab0 6c 5f 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61  l_CreateObjComma
28ac0 6e 64 0a 77 65 72 65 20 75 70 64 61 74 65 64 20  nd.were updated 
28ad0 74 6f 20 72 65 73 74 6f 72 65 20 69 6d 70 6f 72  to restore impor
28ae0 74 20 6c 69 6e 6b 73 2e 20 28 4e 6f 74 65 20 74  t links. (Note t
28af0 68 61 74 20 69 66 20 79 6f 75 20 72 65 6e 61 6d  hat if you renam
28b00 65 20 61 20 63 6f 6d 6d 61 6e 64 2c 0a 74 68 65  e a command,.the
28b10 20 69 6d 70 6f 72 74 20 6c 69 6e 6b 73 20 6d 6f   import links mo
28b20 76 65 20 74 6f 20 74 68 65 20 6e 65 77 20 6e 61  ve to the new na
28b30 6d 65 2c 20 61 6e 64 20 69 66 20 79 6f 75 20 64  me, and if you d
28b40 65 6c 65 74 65 20 61 20 63 6f 6d 6d 61 6e 64 20  elete a command 
28b50 74 68 65 6e 0a 74 68 65 20 69 6d 70 6f 72 74 20  then.the import 
28b60 6c 69 6e 6b 73 20 67 65 74 20 6c 6f 73 74 2e 20  links get lost. 
28b70 54 68 65 73 65 20 73 65 6d 61 6e 74 69 63 73 20  These semantics 
28b80 68 61 76 65 20 6e 6f 74 20 63 68 61 6e 67 65 64  have not changed
28b90 2e 29 20 28 4d 43 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  .) (MC)..-------
28ba0 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 30 2e 33  - Released 8.0.3
28bb0 20 74 6f 20 74 68 65 20 54 63 6c 20 43 6f 6e 73   to the Tcl Cons
28bc0 6f 72 74 69 75 6d 20 43 44 2d 52 4f 4d 20 70 72  ortium CD-ROM pr
28bd0 6f 6a 65 63 74 2c 20 38 2f 31 30 2f 39 38 20 2d  oject, 8/10/98 -
28be0 2d 2d 2d 2d 2d 0a 0a 39 2f 33 2f 39 38 20 28 62  -----..9/3/98 (b
28bf0 75 67 20 66 69 78 29 20 54 63 6c 5f 52 65 61 6c  ug fix) Tcl_Real
28c00 6c 6f 63 20 77 61 73 20 66 61 69 6c 69 6e 67 20  loc was failing 
28c10 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 62 65  under Windows be
28c20 63 61 75 73 65 20 74 68 65 0a 47 6c 6f 62 61 6c  cause the.Global
28c30 52 65 41 6c 6c 6f 63 20 41 50 49 20 77 61 73 20  ReAlloc API was 
28c40 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 72 65  not correctly re
28c50 2d 61 6c 6c 6f 63 61 74 69 6e 67 20 62 6c 6f 63  -allocating bloc
28c60 6b 73 20 74 68 61 74 20 77 65 72 65 0a 33 32 6b  ks that were.32k
28c70 2b 2e 20 20 54 68 65 20 66 69 78 20 77 61 73 20  +.  The fix was 
28c80 74 6f 20 75 73 65 20 6e 65 77 65 72 20 57 69 6e  to use newer Win
28c90 33 32 20 41 50 49 73 20 28 48 65 61 70 41 6c 6c  32 APIs (HeapAll
28ca0 6f 63 2c 20 48 65 61 70 46 72 65 65 2c 20 61 6e  oc, HeapFree, an
28cb0 64 0a 48 65 61 70 52 65 41 6c 6c 6f 63 2e 29 20  d.HeapReAlloc.) 
28cc0 28 42 53 29 0a 0a 31 30 2f 35 2f 39 38 20 28 62  (BS)..10/5/98 (b
28cd0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
28ce0 67 20 69 6e 20 70 6b 67 5f 6d 6b 49 6e 64 65 78  g in pkg_mkIndex
28cf0 20 74 68 61 74 20 63 61 75 73 65 64 20 73 6f 6d   that caused som
28d00 65 20 66 69 6c 65 73 20 74 68 61 74 20 64 6f 0a  e files that do.
28d10 61 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69  a "package requi
28d20 72 65 22 20 6f 66 20 70 61 63 6b 61 67 65 73 20  re" of packages 
28d30 69 6e 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61  in the Tcl libra
28d40 72 69 65 73 20 74 6f 20 67 69 76 65 20 61 20 77  ries to give a w
28d50 61 72 6e 69 6e 67 20 6c 69 6b 65 0a 09 77 61 72  arning like..war
28d60 6e 69 6e 67 3a 20 22 78 78 2e 74 63 6c 22 20 70  ning: "xx.tcl" p
28d70 72 6f 76 69 64 65 73 20 6d 6f 72 65 20 74 68 61  rovides more tha
28d80 6e 20 6f 6e 65 20 70 61 63 6b 61 67 65 20 28 7b  n one package ({
28d90 78 78 20 32 2e 30 7d 20 7b 79 79 20 30 2e 33 7d  xx 2.0} {yy 0.3}
28da0 29 0a 61 6e 64 20 67 65 6e 65 72 61 74 65 20 61  ).and generate a
28db0 20 62 72 6f 6b 65 6e 20 70 6b 67 49 6e 64 65 78   broken pkgIndex
28dc0 2e 74 63 6c 20 66 69 6c 65 2e 20 28 45 4d 53 29  .tcl file. (EMS)
28dd0 0a 0a 31 30 2f 35 2f 39 38 20 28 62 75 67 20 66  ..10/5/98 (bug f
28de0 69 78 29 20 50 6b 67 5f 6d 6b 49 6e 64 65 78 20  ix) Pkg_mkIndex 
28df0 77 61 73 20 6e 6f 74 20 64 6f 69 6e 67 20 61 20  was not doing a 
28e00 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65  case-insensitive
28e10 20 63 6f 6d 70 61 72 69 73 6f 6e 0a 6f 66 20 65   comparison.of e
28e20 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 64 65 74  xtensions to det
28e30 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 74  ermine whether t
28e40 6f 20 6c 6f 61 64 20 6f 72 20 73 6f 75 72 63 65  o load or source
28e50 20 61 20 66 69 6c 65 2e 20 54 68 75 73 2c 20 75   a file. Thus, u
28e60 6e 64 65 72 0a 57 69 6e 64 6f 77 73 2c 20 4d 59  nder.Windows, MY
28e70 44 4c 4c 4e 41 4d 45 2e 44 4c 4c 20 77 61 73 20  DLLNAME.DLL was 
28e80 73 6f 75 72 63 65 64 2c 20 61 6e 64 20 6d 79 64  sourced, and myd
28e90 6c 6c 6e 61 6d 65 2e 64 6c 6c 20 6c 6f 61 64 65  llname.dll loade
28ea0 64 2e 20 28 45 4d 53 29 0a 0a 31 30 2f 35 2f 39  d. (EMS)..10/5/9
28eb0 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  8 (new feature) 
28ec0 43 72 65 61 74 65 64 20 61 20 6e 65 77 20 54 63  Created a new Tc
28ed0 6c 5f 4f 62 6a 20 74 79 70 65 2c 20 22 70 72 6f  l_Obj type, "pro
28ee0 63 62 6f 64 79 22 2e 20 54 68 69 73 20 6f 62 6a  cbody". This obj
28ef0 65 63 74 27 73 0a 69 6e 74 65 72 6e 61 6c 20 72  ect's.internal r
28f00 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 68 6f  epresentation ho
28f10 6c 64 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f  lds a pointer to
28f20 20 61 20 50 72 6f 63 20 73 74 72 75 63 74 75 72   a Proc structur
28f30 65 2e 20 45 78 74 65 6e 64 65 64 0a 54 63 6c 43  e. Extended.TclC
28f40 72 65 61 74 65 50 72 6f 63 20 74 6f 20 74 61 6b  reateProc to tak
28f50 65 20 62 6f 74 68 20 73 74 72 69 6e 67 73 20 61  e both strings a
28f60 6e 64 20 22 70 72 6f 63 62 6f 64 79 22 2e 20 28  nd "procbody". (
28f70 45 4d 53 29 0a 0a 31 30 2f 31 33 2f 39 38 20 28  EMS)..10/13/98 (
28f80 62 75 67 20 66 69 78 29 20 54 68 65 20 22 69 6e  bug fix) The "in
28f90 66 6f 20 63 6f 6d 70 6c 65 74 65 22 20 63 6f 6d  fo complete" com
28fa0 6d 61 6e 64 20 63 61 6e 20 6e 6f 77 20 68 61 6e  mand can now han
28fb0 64 6c 65 20 73 74 72 69 6e 67 73 0a 77 69 74 68  dle strings.with
28fc0 20 4e 55 4c 4c 73 20 65 6d 62 65 64 64 65 64 2e   NULLs embedded.
28fd0 20 20 54 68 61 6e 6b 73 20 74 6f 20 63 6f 6c 69    Thanks to coli
28fe0 6e 40 66 69 65 6c 64 2e 6d 65 64 69 63 69 6e 65  n@field.medicine
28ff0 2e 61 64 65 6c 61 69 64 65 2e 65 64 75 2e 61 75  .adelaide.edu.au
29000 20 0a 66 6f 72 20 70 72 6f 76 69 64 69 6e 67 20   .for providing 
29010 74 68 69 73 20 66 69 78 2e 20 28 52 4a 29 0a 0a  this fix. (RJ)..
29020 31 30 2f 31 33 2f 39 38 20 28 62 75 67 20 66 69  10/13/98 (bug fi
29030 78 29 20 54 68 65 20 22 6c 73 6f 72 74 20 2d 64  x) The "lsort -d
29040 69 63 74 69 6f 6e 61 72 79 22 20 63 6f 6d 6d 61  ictionary" comma
29050 6e 64 20 64 69 64 20 6e 6f 74 20 70 72 6f 70 65  nd did not prope
29060 72 6c 79 0a 68 61 6e 64 6c 65 20 73 6f 6d 65 20  rly.handle some 
29070 6e 75 6d 62 65 72 73 20 73 74 61 72 74 69 6e 67  numbers starting
29080 20 77 69 74 68 20 30 2e 20 20 54 68 61 6e 6b 73   with 0.  Thanks
29090 20 74 6f 20 52 69 63 68 61 72 64 20 48 69 70 70   to Richard Hipp
290a0 0a 3c 64 72 68 40 61 63 6d 2e 6f 72 67 3e 20 66  .<drh@acm.org> f
290b0 6f 72 20 73 75 62 6d 69 74 74 69 6e 67 20 74 68  or submitting th
290c0 65 20 66 69 78 20 74 6f 20 53 63 72 69 70 74 69  e fix to Scripti
290d0 63 73 2e 20 28 52 4a 29 0a 0a 31 30 2f 31 33 2f  cs. (RJ)..10/13/
290e0 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68 65  98 (bug fix) The
290f0 20 66 75 6e 63 74 69 6f 6e 20 54 63 6c 5f 53 65   function Tcl_Se
29100 74 4c 69 73 74 4f 62 6a 20 77 61 73 20 63 72 65  tListObj was cre
29110 61 74 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64  ating an invalid
29120 0a 54 63 6c 5f 4f 62 6a 20 69 66 20 74 68 65 20  .Tcl_Obj if the 
29130 6c 69 73 74 20 68 61 64 20 7a 65 72 6f 20 65 6c  list had zero el
29140 65 6d 65 6e 74 73 20 28 64 65 73 70 69 74 65 20  ements (despite 
29150 77 68 61 74 20 74 68 65 20 63 6f 6d 6d 65 6e 74  what the comment
29160 73 20 73 61 69 64 0a 69 74 20 77 6f 75 6c 64 20  s said.it would 
29170 64 6f 29 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20  do).  Thanks to 
29180 53 65 62 61 73 74 69 61 6e 20 57 61 6e 67 6e 69  Sebastian Wangni
29190 63 6b 20 66 6f 72 20 72 65 70 6f 72 74 69 6e 67  ck for reporting
291a0 20 74 68 65 0a 70 72 6f 62 6c 65 6d 2e 20 28 52   the.problem. (R
291b0 4a 29 0a 0a 31 30 2f 32 30 2f 39 38 20 28 6e 65  J)..10/20/98 (ne
291c0 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
291d0 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 64 65   tcl_platform(de
291e0 62 75 67 29 20 65 6c 65 6d 65 6e 74 20 74 6f 20  bug) element to 
291f0 74 68 65 0a 74 63 6c 5f 70 6c 61 74 66 6f 72 6d  the.tcl_platform
29200 20 61 72 72 61 79 20 6f 6e 20 57 69 6e 64 6f 77   array on Window
29210 73 20 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 65  s platform.  The
29220 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 74 68   existence of th
29230 65 20 64 65 62 75 67 0a 65 6c 65 6d 65 6e 74 20  e debug.element 
29240 6f 66 20 74 68 65 20 74 63 6c 5f 70 6c 61 74 66  of the tcl_platf
29250 6f 72 6d 20 61 72 72 61 79 20 69 6e 64 69 63 61  orm array indica
29260 74 65 73 20 74 68 61 74 20 74 68 65 20 70 61 72  tes that the par
29270 74 69 63 75 6c 61 72 20 54 63 6c 0a 73 68 65 6c  ticular Tcl.shel
29280 6c 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69  l has been compi
29290 6c 65 64 20 77 69 74 68 20 64 65 62 75 67 20 69  led with debug i
292a0 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 55 73 69  nformation.  Usi
292b0 6e 67 0a 22 69 6e 66 6f 20 65 78 69 73 74 73 20  ng."info exists 
292c0 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 64 65 62  tcl_platform(deb
292d0 75 67 29 22 20 61 20 54 63 6c 20 73 63 72 69 70  ug)" a Tcl scrip
292e0 74 20 63 61 6e 20 64 69 72 65 63 74 20 74 68 65  t can direct the
292f0 0a 69 6e 74 65 72 70 72 65 74 65 72 20 74 6f 20  .interpreter to 
29300 6c 6f 61 64 20 64 65 62 75 67 20 76 65 72 73 69  load debug versi
29310 6f 6e 73 20 6f 66 20 44 4c 4c 73 20 77 69 74 68  ons of DLLs with
29320 20 74 68 65 20 6c 6f 61 64 0a 63 6f 6d 6d 61 6e   the load.comman
29330 64 2e 20 28 53 4b 53 29 0a 0a 31 30 2f 32 30 2f  d. (SKS)..10/20/
29340 39 38 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  98 (feature chan
29350 67 65 29 20 54 68 65 20 4d 61 6b 65 66 69 6c 65  ge) The Makefile
29360 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 73   and configure s
29370 63 72 69 70 74 73 20 68 61 76 65 20 62 65 65 6e  cripts have been
29380 0a 63 68 61 6e 67 65 64 20 66 6f 72 20 49 52 49  .changed for IRI
29390 58 20 74 6f 20 62 75 69 6c 64 20 6e 33 32 20 62  X to build n32 b
293a0 69 6e 61 72 69 65 73 20 69 6e 73 74 65 61 64 20  inaries instead 
293b0 6f 66 20 74 68 65 20 6f 6c 64 20 33 32 20 61 62  of the old 32 ab
293c0 69 0a 66 6f 72 6d 61 74 2e 20 20 49 66 20 79 6f  i.format.  If yo
293d0 75 20 68 61 76 65 20 65 78 74 65 6e 73 69 6f 6e  u have extension
293e0 73 20 62 75 69 6c 74 20 77 69 74 68 20 74 68 65  s built with the
293f0 20 6f 33 32 20 61 62 69 27 73 20 79 6f 75 20 77   o32 abi's you w
29400 69 6c 6c 20 6e 65 65 64 0a 74 6f 20 75 70 64 61  ill need.to upda
29410 74 65 20 74 68 65 6d 20 74 6f 20 6e 33 32 20 66  te them to n32 f
29420 6f 72 20 74 68 65 6d 20 74 6f 20 77 6f 72 6b 20  or them to work 
29430 77 69 74 68 20 54 63 6c 2e 20 20 28 52 4a 29 0a  with Tcl.  (RJ).
29440 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
29450 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
29460 2a 0a 0a 31 30 2f 32 33 2f 39 38 20 28 62 75 67  *..10/23/98 (bug
29470 20 66 69 78 29 20 74 63 6c 5f 66 69 6e 64 4c 69   fix) tcl_findLi
29480 62 72 61 72 79 20 68 61 64 20 61 20 73 74 72 61  brary had a stra
29490 79 20 5d 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68  y ] in one of th
294a0 65 0a 70 61 74 68 6e 61 6d 65 73 20 69 74 20 73  e.pathnames it s
294b0 65 61 72 63 68 65 64 20 66 6f 72 20 74 68 65 20  earched for the 
294c0 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73  initialization s
294d0 63 72 69 70 74 2e 20 20 74 63 6c 49 6e 69 74 53  cript.  tclInitS
294e0 63 72 69 70 74 2e 68 0a 77 61 73 20 69 6e 63 6f  cript.h.was inco
294f0 72 72 65 63 74 6c 79 20 61 64 64 69 6e 67 20 74  rrectly adding t
29500 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 63 6c  he parent of tcl
29510 5f 6c 69 62 72 61 72 79 20 74 6f 20 74 63 6c 5f  _library to tcl_
29520 70 6b 67 50 61 74 68 2e 20 20 54 68 69 73 0a 6c  pkgPath.  This.l
29530 6f 67 69 63 20 77 61 73 20 6d 6f 76 65 64 20 69  ogic was moved i
29540 6e 74 6f 20 69 6e 69 74 2e 74 63 6c 2c 20 61 6e  nto init.tcl, an
29550 64 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61  d the initializa
29560 74 69 6f 6e 20 6f 66 20 61 75 74 6f 5f 70 61 74  tion of auto_pat
29570 68 20 77 61 73 0a 64 6f 63 75 6d 65 6e 74 65 64  h was.documented
29580 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 44 6f 6e  .  Thanks to Don
29590 61 6c 64 20 50 6f 72 74 65 72 20 61 6e 64 20 54  ald Porter and T
295a0 6f 6d 20 53 69 6c 76 61 20 66 6f 72 20 72 65 6c  om Silva for rel
295b0 61 74 65 64 0a 70 61 74 63 68 65 73 2e 20 28 42  ated.patches. (B
295c0 57 29 0a 0a 31 30 2f 32 39 2f 39 38 20 28 62 75  W)..10/29/98 (bu
295d0 67 20 66 69 78 29 20 46 69 78 65 64 20 54 63 6c  g fix) Fixed Tcl
295e0 5f 4e 6f 74 69 66 79 43 68 61 6e 6e 65 6c 20 74  _NotifyChannel t
295f0 6f 20 75 73 65 20 54 63 6c 5f 50 72 65 73 65 72  o use Tcl_Preser
29600 76 65 20 69 6e 73 74 65 61 64 0a 6f 66 20 54 63  ve instead.of Tc
29610 6c 5f 52 65 67 69 73 74 65 72 43 68 61 6e 6e 65  l_RegisterChanne
29620 6c 20 73 6f 20 74 68 61 74 20 31 29 20 75 6e 72  l so that 1) unr
29630 65 67 69 73 74 65 72 65 64 20 63 68 61 6e 6e 65  egistered channe
29640 6c 73 20 64 6f 20 6e 6f 74 20 67 65 74 0a 63 6c  ls do not get.cl
29650 6f 73 65 64 20 61 66 74 65 72 20 74 68 65 69 72  osed after their
29660 20 66 69 72 73 74 20 66 69 6c 65 65 76 65 6e 74   first fileevent
29670 2c 20 61 6e 64 20 32 29 20 65 72 72 6f 72 73 20  , and 2) errors 
29680 74 68 61 74 20 6f 63 63 75 72 20 64 75 72 69 6e  that occur durin
29690 67 0a 63 6c 6f 73 65 20 69 6e 20 61 20 66 69 6c  g.close in a fil
296a0 65 65 76 65 6e 74 20 73 63 72 69 70 74 20 61 72  eevent script ar
296b0 65 20 61 63 74 75 61 6c 6c 79 20 72 65 66 6c 65  e actually refle
296c0 63 74 65 64 20 62 79 20 74 68 65 20 63 6c 6f 73  cted by the clos
296d0 65 0a 63 6f 6d 6d 61 6e 64 2e 20 28 42 57 29 0a  e.command. (BW).
296e0 0a 31 30 2f 33 30 2f 39 38 20 28 62 75 67 20 66  .10/30/98 (bug f
296f0 69 78 29 20 4f 76 65 72 68 61 75 6c 20 6f 66 20  ix) Overhaul of 
29700 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 64  pkg_mkIndex to d
29710 65 61 6c 20 77 69 74 68 20 74 72 61 6e 73 69 74  eal with transit
29720 69 76 65 0a 70 61 63 6b 61 67 65 20 72 65 71 75  ive.package requ
29730 69 72 65 73 20 61 6e 64 20 70 61 63 6b 61 67 65  ires and package
29740 73 20 73 70 6c 69 74 20 61 6d 6f 6e 67 20 73 63  s split among sc
29750 72 69 70 74 73 20 61 6e 64 20 62 69 6e 61 72 79  ripts and binary
29760 20 66 69 6c 65 73 2e 0a 41 6c 73 6f 20 66 69 78   files..Also fix
29770 65 64 20 6f 6d 6d 69 73 69 6f 6e 20 6f 66 20 67  ed ommision of g
29780 6c 6f 62 61 6c 20 66 6f 72 20 65 72 72 6f 72 49  lobal for errorI
29790 6e 66 6f 20 69 6e 20 74 63 6c 5f 66 69 6e 64 4c  nfo in tcl_findL
297a0 69 62 72 61 72 79 2e 20 28 42 57 29 0a 0a 31 31  ibrary. (BW)..11
297b0 2f 30 38 2f 39 38 20 28 62 75 67 20 66 69 78 29  /08/98 (bug fix)
297c0 20 46 69 78 65 64 20 74 68 65 20 72 65 73 6f 75   Fixed the resou
297d0 72 63 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 61  rce command to a
297e0 6c 77 61 79 73 20 64 65 74 65 63 74 0a 74 68 65  lways detect.the
297f0 20 63 61 73 65 20 77 68 65 72 65 20 61 20 66 69   case where a fi
29800 6c 65 20 69 73 20 6f 70 65 6e 65 64 20 61 20 73  le is opened a s
29810 65 63 6f 6e 64 20 74 69 6d 65 20 77 69 74 68 20  econd time with 
29820 74 68 65 20 73 61 6d 65 0a 70 65 72 6d 69 73 73  the same.permiss
29830 69 6f 6e 73 2e 20 20 49 4d 20 63 6c 61 69 6d 73  ions.  IM claims
29840 20 74 68 61 74 20 74 68 69 73 20 77 69 6c 6c 20   that this will 
29850 61 6c 77 61 79 73 20 63 61 75 73 65 20 74 68 65  always cause the
29860 20 73 61 6d 65 0a 46 69 6c 65 52 65 66 20 74 6f   same.FileRef to
29870 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 62 75   be returned, bu
29880 74 20 69 6e 20 4d 61 63 4f 53 20 38 2e 31 2b 2c  t in MacOS 8.1+,
29890 20 74 68 69 73 20 69 73 20 6e 6f 20 6c 6f 6e 67   this is no long
298a0 65 72 20 74 68 65 20 63 61 73 65 2c 0a 73 6f 20  er the case,.so 
298b0 77 65 20 68 61 76 65 20 74 6f 20 74 65 73 74 20  we have to test 
298c0 66 6f 72 20 74 68 69 73 20 65 78 70 6c 69 63 69  for this explici
298d0 74 6c 79 2e 20 28 4a 49 29 0a 0a 31 31 2f 31 30  tly. (JI)..11/10
298e0 2f 39 38 20 28 66 65 61 74 75 72 65 20 63 68 61  /98 (feature cha
298f0 6e 67 65 29 20 57 68 65 6e 20 63 6f 6d 70 69 6c  nge) When compil
29900 69 6e 67 20 77 69 74 68 20 4d 65 74 72 6f 77 65  ing with Metrowe
29910 72 6b 27 73 20 4d 53 4c 2c 20 75 73 65 20 74 68  rk's MSL, use th
29920 65 0a 65 78 69 74 20 66 75 6e 63 74 69 6f 6e 20  e.exit function 
29930 66 72 6f 6d 20 4d 53 4c 20 72 61 74 68 65 72 20  from MSL rather 
29940 74 68 61 6e 20 45 78 69 74 54 6f 53 68 65 6c 6c  than ExitToShell
29950 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 4d  .  This allows M
29960 53 4c 20 74 6f 0a 63 6c 65 61 6e 20 75 70 20 69  SL to.clean up i
29970 74 73 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c  ts temporary fil
29980 65 73 2e 20 54 68 61 6e 6b 73 20 74 6f 20 56 69  es. Thanks to Vi
29990 6e 63 65 20 44 61 72 6c 65 79 20 66 6f 72 20 74  nce Darley for t
299a0 68 69 73 0a 69 6d 70 72 6f 76 65 6d 65 6e 74 2e  his.improvement.
299b0 20 28 4a 49 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   (JI)..---------
299c0 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
299d0 64 20 38 2e 30 2e 34 2c 20 31 31 2f 31 39 2f 39  d 8.0.4, 11/19/9
299e0 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  8 --------------
299f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31 2f  -----------..11/
29a00 32 30 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  20/98 (bug fix) 
29a10 48 61 6e 64 6c 65 20 70 6f 73 73 69 62 6c 65 20  Handle possible 
29a20 4e 55 4c 4c 20 72 65 74 75 72 6e 20 69 6e 20 54  NULL return in T
29a30 63 6c 47 65 74 53 74 64 46 69 6c 65 73 2e 20 28  clGetStdFiles. (
29a40 52 4a 29 0a 0a 31 31 2f 32 30 2f 39 38 20 28 62  RJ)..11/20/98 (b
29a50 75 67 20 66 69 78 29 20 54 68 65 20 64 6c 74 65  ug fix) The dlte
29a60 73 74 73 20 77 6f 75 6c 64 20 6e 6f 74 20 62 75  sts would not bu
29a70 69 6c 64 20 6f 6e 20 53 47 49 2e 20 20 54 68 65  ild on SGI.  The
29a80 79 20 72 65 70 6f 72 74 65 64 0a 74 68 61 74 20  y reported.that 
29a90 79 6f 75 20 63 6f 75 6c 64 20 6e 6f 74 20 6d 69  you could not mi
29aa0 78 20 6e 33 32 20 77 69 74 68 20 30 33 32 20 62  x n32 with 032 b
29ab0 69 6e 61 72 69 65 73 2e 20 20 54 68 65 20 63 6f  inaries.  The co
29ac0 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 0a 68  nfigure script.h
29ad0 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64  as been modified
29ae0 20 74 6f 20 67 65 74 20 74 68 65 20 45 58 54 52   to get the EXTR
29af0 41 5f 43 46 4c 41 47 53 20 66 72 6f 6d 20 74 68  A_CFLAGS from th
29b00 65 20 74 63 6c 20 63 6f 6e 66 69 67 75 72 65 0a  e tcl configure.
29b10 73 63 72 69 70 74 2e 20 20 5b 42 75 67 20 69 64  script.  [Bug id
29b20 3a 20 38 34 30 5d 20 28 52 4a 29 0a 0a 31 32 2f  : 840] (RJ)..12/
29b30 33 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 57  3/98 (bug fix) W
29b40 69 6e 64 6f 77 73 20 4e 54 20 63 72 65 61 74 65  indows NT create
29b50 73 20 73 6f 63 6b 65 74 73 20 73 6f 20 74 68 65  s sockets so the
29b60 79 20 61 72 65 20 69 6e 68 65 72 69 74 61 62 6c  y are inheritabl
29b70 65 0a 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46  e.by default.  F
29b80 69 78 65 64 20 73 6f 63 6b 65 74 20 63 6f 64 65  ixed socket code
29b90 20 73 6f 20 69 74 20 74 75 72 6e 73 20 6f 66 66   so it turns off
29ba0 20 74 68 69 73 20 62 69 74 20 72 69 67 68 74 20   this bit right 
29bb0 61 66 74 65 72 0a 63 72 65 61 74 69 6f 6e 20 73  after.creation s
29bc0 6f 20 73 6f 63 6b 65 74 73 20 61 72 65 6e 27 74  o sockets aren't
29bd0 20 6b 65 70 74 20 6f 70 65 6e 20 62 79 20 65 78   kept open by ex
29be0 65 63 27 65 64 20 70 72 6f 63 65 73 73 65 73 2e  ec'ed processes.
29bf0 20 5b 42 75 67 3a 20 38 39 32 5d 0a 54 68 61 6e   [Bug: 892].Than
29c00 6b 73 20 74 6f 20 4b 65 76 69 6e 20 4b 65 6e 6e  ks to Kevin Kenn
29c10 79 20 66 6f 72 20 74 68 69 73 20 66 69 78 2e 20  y for this fix. 
29c20 20 28 53 53 29 0a 0a 31 2f 31 31 2f 39 38 20 28   (SS)..1/11/98 (
29c30 62 75 67 20 66 69 78 29 20 20 4f 6e 20 48 50 2c  bug fix)  On HP,
29c40 20 22 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62   "info sharedlib
29c50 65 78 74 65 6e 73 69 6f 6e 22 20 77 61 73 20 72  extension" was r
29c60 65 74 75 72 6e 69 6e 67 20 0a 65 6d 70 74 79 20  eturning .empty 
29c70 73 74 72 69 6e 67 20 6f 6e 20 73 74 61 74 69 63  string on static
29c80 20 61 70 70 73 2e 20 20 49 74 20 6e 6f 77 20 61   apps.  It now a
29c90 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 22 2e  lways returns ".
29ca0 73 6c 22 2e 20 20 28 52 4a 29 0a 0a 31 2f 32 38  sl".  (RJ)..1/28
29cb0 2f 39 39 20 28 63 6f 6e 66 69 67 75 72 65 20 63  /99 (configure c
29cc0 68 61 6e 67 65 29 20 4e 6f 77 20 73 75 70 70 6f  hange) Now suppo
29cd0 72 74 20 2d 70 69 70 65 20 6f 70 74 69 6f 6e 20  rt -pipe option 
29ce0 6f 6e 20 67 63 63 2e 20 20 28 52 4a 29 0a 0a 32  on gcc.  (RJ)..2
29cf0 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  /2/99 (bug fix) 
29d00 46 69 78 65 64 20 69 6e 69 74 69 61 6c 69 7a 61  Fixed initializa
29d10 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 20 6f 6e 20  tion problem on 
29d20 57 69 6e 64 6f 77 73 20 77 68 65 72 65 20 6e 6f  Windows where no
29d30 0a 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20 69  .searching for i
29d40 6e 69 74 2e 74 63 6c 20 77 6f 75 6c 64 20 62 65  nit.tcl would be
29d50 20 70 65 72 66 6f 72 6d 65 64 20 69 66 20 74 68   performed if th
29d60 65 20 72 65 67 69 73 74 72 79 20 6b 65 79 73 20  e registry keys 
29d70 77 65 72 65 0a 6d 69 73 73 69 6e 67 2e 20 20 28  were.missing.  (
29d80 73 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39  stanton)..2/2/99
29d90 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65 64   (bug fix) Added
29da0 20 73 75 70 70 6f 72 74 20 66 6f 72 20 48 4b 45   support for HKE
29db0 59 5f 50 45 52 46 4f 52 4d 41 4e 43 45 5f 44 41  Y_PERFORMANCE_DA
29dc0 54 41 20 61 6e 64 0a 48 4b 45 59 5f 44 59 4e 5f  TA and.HKEY_DYN_
29dd0 44 41 54 41 20 6b 65 79 73 20 69 6e 20 74 68 65  DATA keys in the
29de0 20 22 72 65 67 69 73 74 72 79 22 20 63 6f 6d 6d   "registry" comm
29df0 61 6e 64 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  and. (stanton)..
29e00 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78 29  2/2/99 (bug fix)
29e10 20 45 4e 4f 54 53 55 50 20 61 6e 64 20 45 4f 50   ENOTSUP and EOP
29e20 4e 4f 54 53 55 50 50 20 63 6c 61 73 68 65 64 20  NOTSUPP clashed 
29e30 6f 6e 20 73 6f 6d 65 20 4c 69 6e 75 78 0a 76 61  on some Linux.va
29e40 72 69 61 6e 74 73 2e 20 28 73 74 61 6e 74 6f 6e  riants. (stanton
29e50 29 0a 0a 32 2f 32 2f 39 39 20 28 65 6e 68 61 6e  )..2/2/99 (enhan
29e60 63 65 6d 65 6e 74 29 20 54 68 65 20 22 6f 70 65  cement) The "ope
29e70 6e 22 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 62  n" command has b
29e80 65 65 6e 20 63 68 61 6e 67 65 64 20 74 6f 20 75  een changed to u
29e90 73 65 20 74 68 65 0a 6f 62 6a 65 63 74 20 69 6e  se the.object in
29ea0 74 65 72 66 61 63 65 73 2e 20 28 73 74 61 6e 74  terfaces. (stant
29eb0 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67  on)..2/2/99 (bug
29ec0 20 66 69 78 29 20 49 6e 20 73 6f 6d 65 20 63 61   fix) In some ca
29ed0 73 65 73 20 54 63 6c 20 77 6f 75 6c 64 20 63 72  ses Tcl would cr
29ee0 61 73 68 20 64 75 65 20 74 6f 20 61 6e 20 6f 76  ash due to an ov
29ef0 65 72 66 6c 6f 77 20 6f 66 0a 74 68 65 20 65 78  erflow of.the ex
29f00 63 65 70 74 69 6f 6e 20 73 74 61 63 6b 20 72 65  ception stack re
29f10 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 61 20 6d  sulting from a m
29f20 69 73 73 69 6e 67 20 62 79 74 65 20 63 6f 64 65  issing byte code
29f30 20 69 6e 20 73 6f 6d 65 0a 65 78 70 72 65 73 73   in some.express
29f40 69 6f 6e 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  ions. (stanton).
29f50 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78  .2/2/99 (bug fix
29f60 29 20 43 68 61 6e 67 65 64 20 63 6f 6e 66 69 67  ) Changed config
29f70 75 72 65 20 73 6f 20 4c 69 6e 75 78 20 61 6e 64  ure so Linux and
29f80 20 49 52 49 58 20 73 68 61 72 65 64 20 6c 69 62   IRIX shared lib
29f90 72 61 72 69 65 73 0a 61 72 65 20 6c 69 6e 6b 65  raries.are linke
29fa0 64 20 77 69 74 68 20 74 68 65 20 73 79 73 74 65  d with the syste
29fb0 6d 20 6c 69 62 72 61 72 69 65 73 2e 20 28 73 74  m libraries. (st
29fc0 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28  anton)..2/2/99 (
29fd0 62 75 67 20 66 69 78 29 20 41 64 64 65 64 20 73  bug fix) Added s
29fe0 75 70 70 6f 72 74 20 66 6f 72 20 42 53 44 49 20  upport for BSDI 
29ff0 34 2e 78 20 28 42 53 44 2f 4f 53 2d 34 2a 29 20  4.x (BSD/OS-4*) 
2a000 74 6f 20 74 68 65 0a 63 6f 6e 66 69 67 75 72 65  to the.configure
2a010 20 73 63 72 69 70 74 2e 20 28 73 74 61 6e 74 6f   script. (stanto
2a020 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20  n)..2/2/99 (bug 
2a030 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 77  fix) Fixed bug w
2a040 68 65 72 65 20 75 70 76 61 72 20 63 6f 75 6c 64  here upvar could
2a050 20 72 65 73 75 72 72 65 63 74 20 61 20 6e 61 6d   resurrect a nam
2a060 65 73 70 61 63 65 0a 76 61 72 69 61 62 6c 65 20  espace.variable 
2a070 61 66 74 65 72 20 74 68 65 20 6e 61 6d 65 73 70  after the namesp
2a080 61 63 65 20 68 61 64 20 62 65 65 6e 20 64 65 6c  ace had been del
2a090 65 74 65 64 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  eted. (stanton).
2a0a0 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78  .2/2/99 (bug fix
2a0b0 29 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 20  ) In some cases 
2a0c0 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20 76 61  when creating va
2a0d0 72 69 61 62 6c 65 73 2c 20 74 68 65 0a 69 6e 74  riables, the.int
2a0e0 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74 20  erpreter result 
2a0f0 77 61 73 20 62 65 69 6e 67 20 6d 6f 64 69 66 69  was being modifi
2a100 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 20 54  ed even if the T
2a110 43 4c 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47  CL_LEAVE_ERR_MSG
2a120 0a 66 6c 61 67 20 77 61 73 20 73 65 74 2e 20 28  .flag was set. (
2a130 73 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39  stanton)..2/2/99
2a140 20 28 62 75 67 20 66 69 78 20 26 20 6e 65 77 20   (bug fix & new 
2a150 66 65 61 74 75 72 65 29 20 43 68 61 6e 67 65 64  feature) Changed
2a160 20 74 68 65 20 73 6f 63 6b 65 74 20 64 72 69 76   the socket driv
2a170 65 72 73 20 74 6f 20 70 72 6f 70 65 72 6c 79 0a  ers to properly.
2a180 68 61 6e 64 6c 65 20 66 61 69 6c 75 72 65 73 20  handle failures 
2a190 64 75 72 69 6e 67 20 61 6e 20 61 73 79 6e 63 20  during an async 
2a1a0 73 6f 63 6b 65 74 20 63 6f 6e 6e 65 63 74 69 6f  socket connectio
2a1b0 6e 2e 20 20 41 64 64 65 64 20 61 20 6e 65 77 0a  n.  Added a new.
2a1c0 66 63 6f 6e 66 69 67 75 72 65 20 6f 70 74 69 6f  fconfigure optio
2a1d0 6e 20 22 2d 65 72 72 6f 72 22 20 74 6f 20 72 65  n "-error" to re
2a1e0 74 72 69 65 76 65 20 74 68 65 20 66 61 69 6c 75  trieve the failu
2a1f0 72 65 20 6d 65 73 73 61 67 65 2e 20 20 53 65 65  re message.  See
2a200 20 74 68 65 0a 73 6f 63 6b 65 74 2e 6e 20 6d 61   the.socket.n ma
2a210 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f 72 20 64  nual entry for d
2a220 65 74 61 69 6c 73 2e 20 28 73 74 61 6e 74 6f 6e  etails. (stanton
2a230 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66  )..2/2/99 (bug f
2a240 69 78 29 20 44 65 6c 65 74 69 6e 67 20 61 20 72  ix) Deleting a r
2a250 65 6e 61 6d 65 64 20 69 6e 74 65 72 70 20 61 6c  enamed interp al
2a260 69 61 73 20 63 6f 75 6c 64 20 72 65 73 75 6c 74  ias could result
2a270 20 69 6e 20 61 0a 70 61 6e 69 63 2e 20 28 73 74   in a.panic. (st
2a280 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28  anton)..2/2/99 (
2a290 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 2f 62  feature change/b
2a2a0 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20  ug fix) Changed 
2a2b0 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20  the behavior of 
2a2c0 22 66 69 6c 65 0a 65 78 74 65 6e 73 69 6f 6e 22  "file.extension"
2a2d0 20 73 6f 20 74 68 61 74 20 69 74 20 73 70 6c 69   so that it spli
2a2e0 74 73 20 61 74 20 74 68 65 20 6c 61 73 74 20 70  ts at the last p
2a2f0 65 72 69 6f 64 2e 20 20 4e 6f 77 20 74 68 65 20  eriod.  Now the 
2a300 65 78 74 65 6e 73 69 6f 6e 20 6f 66 0a 61 20 66  extension of.a f
2a310 69 6c 65 20 6c 69 6b 65 20 22 66 6f 6f 2e 2e 6f  ile like "foo..o
2a320 22 20 69 73 20 22 2e 6f 22 20 69 6e 73 74 65 61  " is ".o" instea
2a330 64 20 6f 66 20 22 2e 2e 6f 22 20 61 73 20 69 6e  d of "..o" as in
2a340 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f   previous versio
2a350 6e 73 2e 20 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  ns. .*** POTENTI
2a360 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
2a370 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  TY ***..--------
2a380 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
2a390 65 64 20 38 2e 30 2e 35 2c 20 33 2f 39 2f 39 39  ed 8.0.5, 3/9/99
2a3a0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
2a3b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 3d 3d 3d 3d  ----------..====
2a3c0 3d 3d 3d 3d 20 43 68 61 6e 67 65 73 20 66 6f 72  ==== Changes for
2a3d0 20 38 2e 30 20 67 6f 20 61 62 6f 76 65 20 74 68   8.0 go above th
2a3e0 69 73 20 6c 69 6e 65 20 3d 3d 3d 3d 3d 3d 3d 3d  is line ========
2a3f0 0a 3d 3d 3d 3d 3d 3d 3d 3d 20 43 68 61 6e 67 65  .======== Change
2a400 73 20 66 6f 72 20 38 2e 31 20 67 6f 20 62 65 6c  s for 8.1 go bel
2a410 6f 77 20 74 68 69 73 20 6c 69 6e 65 20 3d 3d 3d  ow this line ===
2a420 3d 3d 3d 3d 3d 0a 0a 36 2f 31 38 2f 39 37 20 28  =====..6/18/97 (
2a430 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 63 6c  new feature) Tcl
2a440 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 69 6e   now supports in
2a450 74 65 72 6e 61 74 69 6f 6e 61 6c 20 63 68 61 72  ternational char
2a460 61 63 74 65 72 20 73 65 74 73 3a 0a 20 20 20 20  acter sets:.    
2a470 2d 20 41 6c 6c 20 43 20 41 50 49 73 20 6e 6f 77  - All C APIs now
2a480 20 61 63 63 65 70 74 20 55 54 46 2d 38 20 73 74   accept UTF-8 st
2a490 72 69 6e 67 73 20 69 6e 73 74 65 61 64 20 6f 66  rings instead of
2a4a0 20 69 73 6f 38 38 35 39 2d 31 20 73 74 72 69 6e   iso8859-1 strin
2a4b0 67 73 2c 0a 20 20 20 20 20 20 77 68 65 72 65 76  gs,.      wherev
2a4c0 65 72 20 79 6f 75 20 73 65 65 20 22 63 68 61 72  er you see "char
2a4d0 20 2a 22 2c 20 75 6e 6c 65 73 73 20 65 78 70 6c   *", unless expl
2a4e0 69 63 69 74 6c 79 20 6e 6f 74 65 64 20 6f 74 68  icitly noted oth
2a4f0 65 72 77 69 73 65 2e 0a 20 20 20 20 2d 20 41 6c  erwise..    - Al
2a500 6c 20 54 63 6c 20 73 74 72 69 6e 67 73 20 72 65  l Tcl strings re
2a510 70 72 65 73 65 6e 74 65 64 20 69 6e 20 55 54 46  presented in UTF
2a520 2d 38 2c 20 77 68 69 63 68 20 69 73 20 61 20 63  -8, which is a c
2a530 6f 6e 76 65 6e 69 65 6e 74 0a 20 20 20 20 20 20  onvenient.      
2a540 6d 75 6c 74 69 2d 62 79 74 65 20 65 6e 63 6f 64  multi-byte encod
2a550 69 6e 67 20 6f 66 20 55 6e 69 63 6f 64 65 2e 20  ing of Unicode. 
2a560 20 56 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 2c   Variable names,
2a570 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 73   procedure names
2a580 2c 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 6c 20  ,.      and all 
2a590 6f 74 68 65 72 20 76 61 6c 75 65 73 20 69 6e 20  other values in 
2a5a0 54 63 6c 20 6d 61 79 20 69 6e 63 6c 75 64 65 20  Tcl may include 
2a5b0 61 72 62 69 74 72 61 72 79 20 55 6e 69 63 6f 64  arbitrary Unicod
2a5c0 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20  e characters..  
2a5d0 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c      For example,
2a5e0 20 74 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64   the Tcl command
2a5f0 20 22 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 22   "string length"
2a600 20 72 65 74 75 72 6e 73 20 68 6f 77 20 6d 61 6e   returns how man
2a610 79 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20  y.      Unicode 
2a620 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 69  characters are i
2a630 6e 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 73  n the argument s
2a640 74 72 69 6e 67 2e 0a 20 20 20 20 2d 20 46 6f 72  tring..    - For
2a650 20 4a 61 76 61 20 63 6f 6d 70 61 74 69 62 69 6c   Java compatibil
2a660 69 74 79 2c 20 65 6d 62 65 64 64 65 64 20 6e 75  ity, embedded nu
2a670 6c 6c 20 62 79 74 65 73 20 69 6e 20 43 20 73 74  ll bytes in C st
2a680 72 69 6e 67 73 20 61 72 65 0a 20 20 20 20 20 20  rings are.      
2a690 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20 5c  represented as \
2a6a0 78 43 30 38 30 20 69 6e 20 55 54 46 2d 38 20 73  xC080 in UTF-8 s
2a6b0 74 72 69 6e 67 73 2c 20 62 75 74 20 74 68 65 20  trings, but the 
2a6c0 6e 75 6c 6c 20 62 79 74 65 20 61 74 20 74 68 65  null byte at the
2a6d0 20 65 6e 64 0a 20 20 20 20 20 20 6f 66 20 61 20   end.      of a 
2a6e0 55 54 46 2d 38 20 73 74 72 69 6e 67 20 72 65 6d  UTF-8 string rem
2a6f0 61 69 6e 73 20 5c 30 2e 20 20 54 68 75 73 20 54  ains \0.  Thus T
2a700 63 6c 20 73 74 72 69 6e 67 73 20 6f 6e 63 65 20  cl strings once 
2a710 61 67 61 69 6e 20 64 6f 20 6e 6f 74 0a 20 20 20  again do not.   
2a720 20 20 20 63 6f 6e 74 61 69 6e 20 6e 75 6c 6c 20     contain null 
2a730 62 79 74 65 73 2c 20 65 78 63 65 70 74 20 66 6f  bytes, except fo
2a740 72 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 62 79  r termination by
2a750 74 65 73 2e 0a 20 20 20 20 2d 20 46 6f 72 20 4a  tes..    - For J
2a760 61 76 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  ava compatibilit
2a770 79 2c 20 22 5c 75 58 58 58 58 22 20 69 73 20 75  y, "\uXXXX" is u
2a780 73 65 64 20 69 6e 20 54 63 6c 20 74 6f 20 65 6e  sed in Tcl to en
2a790 74 65 72 20 61 20 55 6e 69 63 6f 64 65 0a 20 20  ter a Unicode.  
2a7a0 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 20 20      character.  
2a7b0 22 5c 75 30 30 30 30 22 20 74 68 72 6f 75 67 68  "\u0000" through
2a7c0 20 22 5c 75 66 66 66 66 22 20 61 72 65 20 61 63   "\uffff" are ac
2a7d0 63 65 70 74 61 62 6c 65 20 55 6e 69 63 6f 64 65  ceptable Unicode
2a7e0 20 0a 20 20 20 20 20 20 63 68 61 72 61 63 74 65   .      characte
2a7f0 72 73 2e 20 20 0a 20 20 20 20 2d 20 22 5c 78 58  rs.  .    - "\xX
2a800 58 22 20 69 73 20 75 73 65 64 20 74 6f 20 65 6e  X" is used to en
2a810 74 65 72 20 61 20 73 6d 61 6c 6c 20 55 6e 69 63  ter a small Unic
2a820 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 28 62  ode character (b
2a830 65 74 77 65 65 6e 20 30 20 61 6e 64 20 32 35 35  etween 0 and 255
2a840 29 0a 20 20 20 20 20 20 69 6e 20 54 63 6c 2e 0a  ).      in Tcl..
2a850 20 20 20 20 2d 20 54 63 6c 20 61 75 74 6f 6d 61      - Tcl automa
2a860 74 69 63 61 6c 6c 79 20 74 72 61 6e 73 6c 61 74  tically translat
2a870 65 73 20 62 65 74 77 65 65 6e 20 55 54 46 2d 38  es between UTF-8
2a880 20 61 6e 64 20 74 68 65 20 6e 6f 72 6d 61 6c 20   and the normal 
2a890 65 6e 63 6f 64 69 6e 67 20 66 6f 72 0a 20 20 20  encoding for.   
2a8a0 20 20 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20     the platform 
2a8b0 64 75 72 69 6e 67 20 69 6e 74 65 72 61 63 74 69  during interacti
2a8c0 6f 6e 73 20 77 69 74 68 20 74 68 65 20 73 79 73  ons with the sys
2a8d0 74 65 6d 2e 0a 20 20 20 20 2d 20 54 68 65 20 66  tem..    - The f
2a8e0 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e  configure comman
2a8f0 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61  d now supports a
2a900 20 2d 65 6e 63 6f 64 69 6e 67 20 6f 70 74 69 6f   -encoding optio
2a910 6e 20 66 6f 72 20 73 70 65 63 69 66 79 69 6e 67  n for specifying
2a920 0a 20 20 20 20 20 20 74 68 65 20 65 6e 63 6f 64  .      the encod
2a930 69 6e 67 20 6f 66 20 61 6e 20 6f 70 65 6e 20 66  ing of an open f
2a940 69 6c 65 20 6f 72 20 73 6f 63 6b 65 74 2e 20 20  ile or socket.  
2a950 54 63 6c 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74  Tcl will automat
2a960 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 74 72 61  ically.      tra
2a970 6e 73 6c 61 74 65 20 62 65 74 77 65 65 6e 20 74  nslate between t
2a980 68 65 20 73 70 65 63 69 66 69 65 64 20 65 6e 63  he specified enc
2a990 6f 64 69 6e 67 20 61 6e 64 20 55 54 46 2d 38 20  oding and UTF-8 
2a9a0 64 75 72 69 6e 67 20 49 2f 4f 2e 20 0a 20 20 20  during I/O. .   
2a9b0 20 20 20 53 65 65 20 74 68 65 20 64 69 72 65 63     See the direc
2a9c0 74 6f 72 79 20 6c 69 62 72 61 72 79 2f 65 6e 63  tory library/enc
2a9d0 6f 64 69 6e 67 20 74 6f 20 66 69 6e 64 20 6f 75  oding to find ou
2a9e0 74 20 77 68 61 74 20 65 6e 63 6f 64 69 6e 67 73  t what encodings
2a9f0 20 61 72 65 0a 20 20 20 20 20 20 73 75 70 70 6f   are.      suppo
2aa00 72 74 65 64 20 28 65 76 65 6e 74 75 61 6c 6c 79  rted (eventually
2aa10 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61   there will be a
2aa20 6e 20 22 65 6e 63 6f 64 69 6e 67 22 20 63 6f 6d  n "encoding" com
2aa30 6d 61 6e 64 20 74 68 61 74 0a 20 20 20 20 20 20  mand that.      
2aa40 6d 61 6b 65 73 20 74 68 69 73 20 69 6e 66 6f 72  makes this infor
2aa50 6d 61 74 69 6f 6e 20 6d 6f 72 65 20 61 63 63 65  mation more acce
2aa60 73 73 69 62 6c 65 29 2e 0a 20 20 20 20 2d 20 54  ssible)..    - T
2aa70 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c  here are several
2aa80 20 6e 65 77 20 43 20 41 50 49 73 20 74 68 61 74   new C APIs that
2aa90 20 73 75 70 70 6f 72 74 20 55 54 46 2d 38 20 61   support UTF-8 a
2aaa0 6e 64 20 76 61 72 69 6f 75 73 20 65 6e 63 6f 64  nd various encod
2aab0 69 6e 67 73 2e 0a 20 20 20 20 20 20 53 65 65 20  ings..      See 
2aac0 55 74 66 2e 33 20 66 6f 72 20 70 72 6f 63 65 64  Utf.3 for proced
2aad0 75 72 65 73 20 74 68 61 74 20 74 72 61 6e 73 6c  ures that transl
2aae0 61 74 65 20 62 65 74 77 65 65 6e 20 55 6e 69 63  ate between Unic
2aaf0 6f 64 65 20 61 6e 64 20 55 54 46 2d 38 0a 20 20  ode and UTF-8.  
2ab00 20 20 20 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61      and manipula
2ab10 74 65 20 55 54 46 2d 38 20 73 74 72 69 6e 67 73  te UTF-8 strings
2ab20 2e 20 53 65 65 20 45 6e 63 6f 64 69 6e 67 2e 33  . See Encoding.3
2ab30 20 66 6f 72 20 70 72 6f 63 65 64 75 72 65 73 20   for procedures 
2ab40 74 68 61 74 0a 20 20 20 20 20 20 63 72 65 61 74  that.      creat
2ab50 65 20 6e 65 77 20 65 6e 63 6f 64 69 6e 67 73 20  e new encodings 
2ab60 61 6e 64 20 74 72 61 6e 73 6c 61 74 65 20 62 65  and translate be
2ab70 74 77 65 65 6e 20 65 6e 63 6f 64 69 6e 67 73 2e  tween encodings.
2ab80 20 20 53 65 65 0a 20 20 20 20 20 20 54 6f 55 70    See.      ToUp
2ab90 70 65 72 2e 33 20 66 6f 72 20 70 72 6f 63 65 64  per.3 for proced
2aba0 75 72 65 73 20 74 68 61 74 20 70 65 72 66 6f 72  ures that perfor
2abb0 6d 20 63 61 73 65 20 63 6f 6e 76 65 72 73 69 6f  m case conversio
2abc0 6e 73 20 6f 6e 20 55 54 46 2d 38 0a 20 20 20 20  ns on UTF-8.    
2abd0 20 20 73 74 72 69 6e 67 73 2e 0a 0a 39 2f 31 38    strings...9/18
2abe0 2f 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /97 (enhancement
2abf0 29 20 4c 69 74 65 72 61 6c 20 6f 62 6a 65 63 74  ) Literal object
2ac00 73 20 61 72 65 20 6e 6f 77 20 73 68 61 72 65 64  s are now shared
2ac10 20 62 79 20 74 68 65 20 42 79 74 65 43 6f 64 65   by the ByteCode
2ac20 0a 73 74 72 75 63 74 75 72 65 73 20 63 72 65 61  .structures crea
2ac30 74 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65  ted when compile
2ac40 64 20 64 69 66 66 65 72 65 6e 74 20 73 63 72 69  d different scri
2ac50 70 74 73 2e 20 54 68 69 73 20 73 61 76 65 73 20  pts. This saves 
2ac60 75 70 20 74 6f 20 34 35 25 0a 6f 66 20 74 68 65  up to 45%.of the
2ac70 20 74 6f 74 61 6c 20 6d 65 6d 6f 72 79 20 6e 65   total memory ne
2ac80 65 64 65 64 20 66 6f 72 20 61 6c 6c 20 6c 69 74  eded for all lit
2ac90 65 72 61 6c 73 2e 20 28 42 4c 29 0a 0a 39 2f 32  erals. (BL)..9/2
2aca0 34 2f 39 37 20 28 62 75 67 20 66 69 78 65 73 29  4/97 (bug fixes)
2acb0 20 46 69 78 65 64 20 54 63 6c 5f 50 61 72 73 65   Fixed Tcl_Parse
2acc0 43 6f 6d 6d 61 6e 64 20 70 61 72 73 69 6e 67 20  Command parsing 
2acd0 6f 66 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77  of backslash-new
2ace0 6c 69 6e 65 0a 73 65 71 75 65 6e 63 65 73 20 61  line.sequences a
2acf0 74 20 73 74 61 72 74 20 6f 66 20 63 6f 6d 6d 61  t start of comma
2ad00 6e 64 20 77 6f 72 64 73 2e 20 53 75 70 70 72 65  nd words. Suppre
2ad10 73 73 65 64 20 54 63 6c 5f 45 76 61 6c 44 69 72  ssed Tcl_EvalDir
2ad20 65 63 74 20 65 72 72 6f 72 20 6c 6f 67 67 69 6e  ect error loggin
2ad30 67 0a 69 66 20 6e 6f 6e 2d 54 43 4c 5f 4f 4b 20  g.if non-TCL_OK 
2ad40 72 65 73 75 6c 74 20 77 61 73 6e 27 74 20 61 6e  result wasn't an
2ad50 20 65 72 72 6f 72 2e 20 28 42 4c 29 0a 0a 31 30   error. (BL)..10
2ad60 2f 31 37 2f 39 37 20 28 66 65 61 74 75 72 65 20  /17/97 (feature 
2ad70 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 22 7e 75  enhancement) "~u
2ad80 73 65 72 6e 61 6d 65 22 20 6e 6f 77 20 72 65 66  sername" now ref
2ad90 65 72 73 20 74 6f 20 74 68 65 20 75 73 65 72 73  ers to the users
2ada0 27 20 68 6f 6d 65 0a 64 69 72 65 63 74 6f 72 79  ' home.directory
2adb0 20 6f 6e 20 57 69 6e 64 6f 77 73 20 28 70 72 65   on Windows (pre
2adc0 76 69 6f 75 73 6c 79 20 61 6c 77 61 79 73 20 72  viously always r
2add0 65 74 75 72 6e 65 64 20 66 61 69 6c 75 72 65 29  eturned failure)
2ade0 2e 20 28 43 43 53 29 0a 0a 31 30 2f 32 30 2f 39  . (CCS)..10/20/9
2adf0 37 20 28 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  7 (implementatio
2ae00 6e 20 63 68 61 6e 67 65 29 20 54 68 65 20 54 63  n change) The Tc
2ae10 6c 20 70 61 72 73 65 72 20 68 61 73 20 62 65 65  l parser has bee
2ae20 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 77  n completely rew
2ae30 72 69 74 74 65 6e 0a 74 6f 20 6d 61 6b 65 20 69  ritten.to make i
2ae40 74 20 6d 6f 72 65 20 6d 6f 64 75 6c 61 72 2e 20  t more modular. 
2ae50 20 49 74 20 63 61 6e 20 6e 6f 77 20 62 65 20 75   It can now be u
2ae60 73 65 64 20 74 6f 20 70 61 72 73 65 20 61 20 73  sed to parse a s
2ae70 63 72 69 70 74 20 77 69 74 68 6f 75 74 20 61 63  cript without ac
2ae80 74 75 61 6c 6c 79 0a 65 78 65 63 75 74 69 6e 67  tually.executing
2ae90 20 69 74 2e 20 20 54 68 65 20 41 50 49 73 20 66   it.  The APIs f
2aea0 6f 72 20 74 68 65 20 6e 65 77 20 70 61 72 73 65  or the new parse
2aeb0 72 20 61 72 65 20 6e 6f 74 20 63 6f 72 72 65 63  r are not correc
2aec0 74 6c 79 20 65 78 70 6f 72 74 65 64 2c 20 62 75  tly exported, bu
2aed0 74 0a 74 68 65 79 20 77 69 6c 6c 20 65 76 65 6e  t.they will even
2aee0 74 75 61 6c 6c 79 20 62 65 20 65 78 70 6f 72 74  tually be export
2aef0 65 64 20 61 6e 64 20 61 75 67 6d 65 6e 74 65 64  ed and augmented
2af00 20 77 69 74 68 20 54 63 6c 20 63 6f 6d 6d 61 6e   with Tcl comman
2af10 64 73 20 73 6f 20 74 68 61 74 0a 54 63 6c 20 73  ds so that.Tcl s
2af20 63 72 69 70 74 73 20 63 61 6e 20 70 61 72 73 65  cripts can parse
2af30 20 6f 74 68 65 72 20 54 63 6c 20 73 63 72 69 70   other Tcl scrip
2af40 74 73 2e 20 28 4a 4f 29 0a 0a 31 30 2f 32 31 2f  ts. (JO)..10/21/
2af50 39 37 20 28 41 50 49 20 63 68 61 6e 67 65 29 20  97 (API change) 
2af60 41 64 64 65 64 20 22 66 6c 61 67 73 22 20 61 72  Added "flags" ar
2af70 67 75 6d 65 6e 74 20 74 6f 20 54 63 6c 5f 45 76  gument to Tcl_Ev
2af80 61 6c 4f 62 6a 2c 20 72 65 6d 6f 76 65 64 0a 54  alObj, removed.T
2af90 63 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 4f 62 6a  cl_GlobalEvalObj
2afa0 20 70 72 6f 63 65 64 75 72 65 2e 20 20 41 64 64   procedure.  Add
2afb0 65 64 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65  ed new procedure
2afc0 73 20 54 63 6c 5f 45 76 61 6c 32 20 61 6e 64 0a  s Tcl_Eval2 and.
2afd0 54 63 6c 5f 45 76 61 6c 4f 62 6a 76 2e 20 28 4a  Tcl_EvalObjv. (J
2afe0 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  O).*** POTENTIAL
2aff0 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
2b000 20 2a 2a 2a 0a 0a 31 30 2f 32 32 2f 39 37 20 28   ***..10/22/97 (
2b010 41 50 49 20 63 68 61 6e 67 65 29 20 52 65 6e 61  API change) Rena
2b020 6d 65 64 20 54 63 6c 5f 4f 62 6a 53 65 74 56 61  med Tcl_ObjSetVa
2b030 72 32 20 61 6e 64 20 54 63 6c 5f 4f 62 6a 47 65  r2 and Tcl_ObjGe
2b040 74 56 61 72 32 20 74 6f 0a 54 63 6c 5f 53 65 74  tVar2 to.Tcl_Set
2b050 4f 62 6a 56 61 72 32 20 61 6e 64 20 54 63 6c 5f  ObjVar2 and Tcl_
2b060 47 65 74 4f 62 6a 56 61 72 32 20 28 66 6f 72 20  GetObjVar2 (for 
2b070 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 69 74 68  consistency with
2b080 20 6f 74 68 65 72 20 43 20 41 50 49 73 29 0a 61   other C APIs).a
2b090 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 20 6e  nd changed the n
2b0a0 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f  ame arguments to
2b0b0 20 62 65 20 73 74 72 69 6e 67 73 20 69 6e 73 74   be strings inst
2b0c0 65 61 64 20 6f 66 20 6f 62 6a 65 63 74 73 2e 20  ead of objects. 
2b0d0 20 28 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (JO).*** POTENT
2b0e0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
2b0f0 49 54 59 20 2a 2a 2a 0a 0a 31 30 2f 32 37 2f 39  ITY ***..10/27/9
2b100 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  7 (enhancement) 
2b110 42 79 74 65 63 6f 64 65 20 63 6f 6d 70 69 6c 65  Bytecode compile
2b120 72 20 72 65 77 72 69 74 74 65 6e 20 74 6f 20 75  r rewritten to u
2b130 73 65 20 74 68 65 20 6e 65 77 20 54 63 6c 0a 70  se the new Tcl.p
2b140 61 72 73 65 72 2e 20 28 42 4c 29 0a 0a 31 31 2f  arser. (BL)..11/
2b150 33 2f 39 37 20 28 4e 65 77 20 72 6f 75 74 69 6e  3/97 (New routin
2b160 65 73 29 20 41 64 64 65 64 20 54 63 6c 5f 41 70  es) Added Tcl_Ap
2b170 70 65 6e 64 4f 62 6a 54 6f 4f 62 6a 2c 20 77 68  pendObjToObj, wh
2b180 69 63 68 20 61 70 70 65 6e 64 73 20 74 68 65 0a  ich appends the.
2b190 73 74 72 69 6e 67 20 72 65 70 20 6f 66 20 6f 6e  string rep of on
2b1a0 65 20 54 63 6c 5f 4f 62 6a 20 74 6f 20 61 6e 6f  e Tcl_Obj to ano
2b1b0 74 68 65 72 2e 20 41 64 64 65 64 20 54 63 6c 5f  ther. Added Tcl_
2b1c0 47 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a 53  GetIndexFromObjS
2b1d0 74 72 75 63 74 2c 0a 77 68 69 63 68 20 69 73 20  truct,.which is 
2b1e0 73 69 6d 69 6c 61 72 20 74 6f 20 54 63 6c 5f 47  similar to Tcl_G
2b1f0 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a 2c 20  etIndexFromObj, 
2b200 65 78 63 65 70 74 20 74 68 61 74 20 79 6f 75 20  except that you 
2b210 63 61 6e 20 67 69 76 65 20 61 6e 0a 6f 66 66 73  can give an.offs
2b220 65 74 20 62 65 74 77 65 65 6e 20 73 74 72 69 6e  et between strin
2b230 67 73 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20  gs. This allows 
2b240 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d  Tcl_GetIndexFrom
2b250 4f 62 6a 53 74 72 75 63 74 20 74 6f 20 62 65 0a  ObjStruct to be.
2b260 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 74 61  called with a ta
2b270 62 6c 65 20 6f 66 20 72 65 63 6f 72 64 73 20 77  ble of records w
2b280 68 69 63 68 20 68 61 76 65 20 73 74 72 69 6e 67  hich have string
2b290 73 20 69 6e 20 74 68 65 6d 2e 20 28 53 52 50 29  s in them. (SRP)
2b2a0 0a 0a 31 32 2f 34 2f 39 37 20 28 65 6e 68 61 6e  ..12/4/97 (enhan
2b2b0 63 65 6d 65 6e 74 29 20 4e 65 77 20 54 63 6c 20  cement) New Tcl 
2b2c0 65 78 70 72 65 73 73 69 6f 6e 20 70 61 72 73 65  expression parse
2b2d0 72 20 61 64 64 65 64 2e 20 41 64 64 65 64 20 6e  r added. Added n
2b2e0 65 77 20 70 72 6f 63 65 64 75 72 65 0a 54 63 6c  ew procedure.Tcl
2b2f0 5f 50 61 72 73 65 45 78 70 72 20 61 6e 64 20 6e  _ParseExpr and n
2b300 65 77 20 74 6f 6b 65 6e 20 74 79 70 65 73 20 54  ew token types T
2b310 43 4c 5f 54 4f 4b 45 4e 5f 53 55 42 5f 45 58 50  CL_TOKEN_SUB_EXP
2b320 52 20 61 6e 64 0a 54 43 4c 5f 54 4f 4b 45 4e 5f  R and.TCL_TOKEN_
2b330 4f 50 45 52 41 54 4f 52 2e 20 45 78 70 72 65 73  OPERATOR. Expres
2b340 73 69 6f 6e 20 63 6f 6d 70 69 6c 65 72 20 69 73  sion compiler is
2b350 20 72 65 69 6d 70 6c 65 6d 65 6e 74 65 64 20 74   reimplemented t
2b360 6f 20 75 73 65 20 74 68 69 73 0a 70 61 72 73 65  o use this.parse
2b370 72 2e 20 28 42 4c 29 0a 0a 31 32 2f 39 2f 39 37  r. (BL)..12/9/97
2b380 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 5f 45   (bug fix) Tcl_E
2b390 76 61 6c 4f 62 6a 28 29 20 69 6e 63 72 65 6d 65  valObj() increme
2b3a0 6e 74 73 2f 64 65 63 72 65 6d 65 6e 74 73 20 74  nts/decrements t
2b3b0 68 65 20 72 65 66 63 6f 75 6e 74 20 6f 66 20 74  he refcount of t
2b3c0 68 65 0a 73 63 72 69 70 74 20 6f 62 6a 65 63 74  he.script object
2b3d0 20 74 6f 20 70 72 65 76 65 6e 74 20 74 68 65 20   to prevent the 
2b3e0 6f 62 6a 65 63 74 20 66 72 6f 6d 20 64 65 6c 65  object from dele
2b3f0 74 69 6e 67 20 69 74 73 65 6c 66 20 77 68 69 6c  ting itself whil
2b400 65 20 69 6e 20 74 68 65 0a 6d 69 64 64 6c 65 20  e in the.middle 
2b410 6f 66 20 62 65 69 6e 67 20 65 76 61 6c 75 61 74  of being evaluat
2b420 65 64 2e 20 28 43 43 53 29 0a 0a 31 32 2f 39 2f  ed. (CCS)..12/9/
2b430 39 37 20 28 62 75 67 20 66 69 78 29 20 4d 65 6d  97 (bug fix) Mem
2b440 6f 72 79 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f  ory leak in Tcl_
2b450 47 65 74 73 4f 62 6a 43 6d 64 28 29 2e 20 28 43  GetsObjCmd(). (C
2b460 43 53 29 0a 0a 31 32 2f 31 31 2f 39 37 20 28 62  CS)..12/11/97 (b
2b470 75 67 20 66 69 78 29 20 45 6e 76 69 72 6f 6e 6d  ug fix) Environm
2b480 65 6e 74 20 61 72 72 61 79 20 6c 65 61 6b 65 64  ent array leaked
2b490 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 63 6f 6d   memory when com
2b4a0 70 69 6c 65 64 20 77 69 74 68 0a 56 69 73 75 61  piled with.Visua
2b4b0 6c 20 43 2b 2b 2e 20 28 53 53 29 0a 0a 31 32 2f  l C++. (SS)..12/
2b4c0 31 31 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  11/97 (bug fix) 
2b4d0 46 69 6c 65 20 65 76 65 6e 74 73 20 61 6e 64 20  File events and 
2b4e0 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 49 2f 4f  non-blocking I/O
2b4f0 20 64 69 64 20 6e 6f 74 20 77 6f 72 6b 20 6f 6e   did not work on
2b500 0a 70 69 70 65 73 20 75 6e 64 65 72 20 57 69 6e  .pipes under Win
2b510 64 6f 77 73 2e 20 20 43 68 61 6e 67 65 64 20 74  dows.  Changed t
2b520 6f 20 75 73 65 20 74 68 72 65 61 64 73 20 74 6f  o use threads to
2b530 20 61 63 68 69 65 76 65 20 6e 6f 6e 2d 62 6c 6f   achieve non-blo
2b540 63 6b 69 6e 67 0a 62 65 68 61 76 69 6f 72 2e 20  cking.behavior. 
2b550 28 53 53 29 0a 0a 31 32 2f 31 38 2f 39 37 20 28  (SS)..12/18/97 (
2b560 62 75 67 20 66 69 78 65 73 29 20 46 69 78 65 64  bug fixes) Fixed
2b570 20 73 65 67 66 61 75 6c 74 20 69 6e 20 22 6e 61   segfault in "na
2b580 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 22 3b  mespace import";
2b590 20 69 6d 70 6f 72 74 69 6e 67 20 61 0a 70 72 6f   importing a.pro
2b5a0 63 65 64 75 72 65 20 74 68 61 74 20 63 61 75 73  cedure that caus
2b5b0 65 73 20 61 20 63 79 63 6c 65 20 6e 6f 77 20 72  es a cycle now r
2b5c0 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2e  eturns an error.
2b5d0 20 4d 6f 64 69 66 69 65 64 20 22 69 6e 66 6f 20   Modified "info 
2b5e0 70 72 6f 63 73 22 2c 0a 22 69 6e 66 6f 20 61 72  procs",."info ar
2b5f0 67 73 22 2c 20 22 69 6e 66 6f 20 62 6f 64 79 22  gs", "info body"
2b600 2c 20 61 6e 64 20 22 69 6e 66 6f 20 64 65 66 61  , and "info defa
2b610 75 6c 74 22 20 74 6f 20 72 65 74 75 72 6e 20 69  ult" to return i
2b620 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74  nformation about
2b630 0a 69 6d 70 6f 72 74 65 64 20 70 72 6f 63 65 64  .imported proced
2b640 75 72 65 73 20 61 73 20 77 65 6c 6c 20 61 73 20  ures as well as 
2b650 70 72 6f 63 65 64 75 72 65 73 20 64 65 66 69 6e  procedures defin
2b660 65 64 20 69 6e 20 61 20 6e 61 6d 65 73 70 61 63  ed in a namespac
2b670 65 2e 20 28 42 4c 29 0a 0a 31 32 2f 31 39 2f 39  e. (BL)..12/19/9
2b680 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  7 (enhancement) 
2b690 41 64 64 65 64 20 6e 65 77 20 54 63 6c 5f 47 65  Added new Tcl_Ge
2b6a0 74 53 74 72 69 6e 67 28 29 20 70 72 6f 63 65 64  tString() proced
2b6b0 75 72 65 20 74 68 61 74 20 63 61 6e 20 62 65 20  ure that can be 
2b6c0 75 73 65 64 0a 69 6e 20 70 6c 61 63 65 20 6f 66  used.in place of
2b6d0 20 54 63 6c 5f 47 65 74 53 74 72 69 6e 67 46 72   Tcl_GetStringFr
2b6e0 6f 6d 4f 62 6a 28 29 20 69 66 20 74 68 65 20 73  omObj() if the s
2b6f0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61  tring representa
2b700 74 69 6f 6e 27 73 20 6c 65 6e 67 74 68 0a 69 73  tion's length.is
2b710 6e 27 74 20 6e 65 65 64 65 64 2e 20 28 42 4c 29  n't needed. (BL)
2b720 0a 0a 31 32 2f 31 38 2f 39 37 20 28 62 75 67 20  ..12/18/97 (bug 
2b730 66 69 78 29 20 49 6e 20 74 68 65 20 6f 70 74 20  fix) In the opt 
2b740 61 72 67 75 6d 65 6e 74 20 70 61 72 73 69 6e 67  argument parsing
2b750 20 70 61 63 6b 61 67 65 3a 20 69 66 20 74 68 65   package: if the
2b760 20 64 65 73 63 72 69 70 74 69 6f 6e 20 0a 68 61   description .ha
2b770 64 20 6f 6e 6c 79 20 66 6c 61 67 73 2c 20 74 68  d only flags, th
2b780 65 20 22 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75  e "too many argu
2b790 6d 65 6e 74 73 22 20 63 61 73 65 20 77 61 73 20  ments" case was 
2b7a0 6e 6f 74 20 64 65 74 65 63 74 65 64 2e 20 54 68  not detected. Th
2b7b0 65 20 64 65 66 61 75 6c 74 0a 76 61 6c 75 65 20  e default.value 
2b7c0 77 61 73 20 6e 6f 74 20 75 73 65 64 20 66 6f 72  was not used for
2b7d0 20 74 68 65 20 73 70 65 63 69 61 6c 20 22 61 72   the special "ar
2b7e0 67 73 22 20 65 6e 64 69 6e 67 20 61 72 67 75 6d  gs" ending argum
2b7f0 65 6e 74 2e 20 28 44 4c 29 0a 0a 31 2f 37 2f 39  ent. (DL)..1/7/9
2b800 38 20 28 63 6c 65 61 6e 20 75 70 29 20 4d 6f 76  8 (clean up) Mov
2b810 65 64 20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f  ed everything no
2b820 74 20 61 62 73 6f 6c 75 74 6c 79 20 6e 65 63 65  t absolutly nece
2b830 73 73 61 72 79 20 6f 75 74 20 6f 66 20 69 6e 69  ssary out of ini
2b840 74 2e 74 63 6c 0a 70 72 6f 63 73 20 6e 6f 77 20  t.tcl.procs now 
2b850 69 6e 20 61 75 74 6f 2e 74 63 6c 20 61 6e 64 20  in auto.tcl and 
2b860 70 61 63 6b 61 67 65 2e 74 63 6c 20 63 61 6e 20  package.tcl can 
2b870 62 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 69 66  be autoloaded if
2b880 20 6e 65 65 64 65 64 2e 20 28 44 4c 29 0a 0a 31   needed. (DL)..1
2b890 2f 37 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65  /7/98 (enhanceme
2b8a0 6e 74 29 20 74 63 6c 74 65 73 74 20 6d 61 64 65  nt) tcltest made
2b8b0 20 61 74 20 69 6e 73 74 61 6c 6c 20 74 69 6d 65   at install time
2b8c0 20 77 69 6c 6c 20 73 65 61 72 63 68 20 66 6f 72   will search for
2b8d0 20 69 74 27 73 0a 69 6e 69 74 2e 74 63 6c 20 77   it's.init.tcl w
2b8e0 68 65 72 65 20 69 74 20 69 73 2c 20 65 76 65 6e  here it is, even
2b8f0 20 77 68 65 6e 20 75 73 69 6e 67 20 76 69 72 74   when using virt
2b900 75 61 6c 20 70 61 74 68 20 63 6f 6d 70 69 6c 61  ual path compila
2b910 74 69 6f 6e 2e 20 28 44 4c 29 0a 0a 31 2f 38 2f  tion. (DL)..1/8/
2b920 39 38 20 28 6f 73 20 62 75 67 20 77 6f 72 6b 61  98 (os bug worka
2b930 72 6f 75 6e 64 29 20 77 68 65 6e 20 6e 65 65 64  round) when need
2b940 65 64 2c 20 75 73 69 6e 67 20 61 20 72 65 70 6c  ed, using a repl
2b950 61 63 65 6d 65 6e 74 20 66 6f 72 20 6d 65 6d 63  acement for memc
2b960 6d 70 20 73 6f 20 0a 73 74 72 69 6e 67 20 63 6f  mp so .string co
2b970 6d 70 61 72 65 20 22 63 68 61 72 20 77 69 74 68  mpare "char with
2b980 20 68 69 67 68 20 62 69 74 20 73 65 74 22 20 22   high bit set" "
2b990 63 68 61 72 20 77 2f 6f 20 68 69 67 68 20 62 69  char w/o high bi
2b9a0 74 20 73 65 74 22 20 72 65 74 75 72 6e 73 0a 74  t set" returns.t
2b9b0 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c 75  he expected valu
2b9c0 65 20 6f 6e 20 61 6c 6c 20 70 6c 61 74 66 6f 72  e on all platfor
2b9d0 6d 73 2e 20 28 44 4c 29 0a 0a 31 2f 38 2f 39 38  ms. (DL)..1/8/98
2b9e0 20 28 75 6e 69 78 20 70 6f 72 74 61 62 69 6c 69   (unix portabili
2b9f0 74 79 2f 63 6f 6e 66 69 67 75 72 65 29 20 62 75  ty/configure) bu
2ba00 69 6c 64 69 6e 67 20 66 72 6f 6d 20 2e 2e 2e 2f  ilding from .../
2ba10 75 6e 69 78 2f 74 61 72 67 65 74 4e 61 6d 65 2f  unix/targetName/
2ba20 20 0a 73 75 62 64 69 72 65 63 74 6f 72 69 65 73   .subdirectories
2ba30 20 61 6e 64 20 73 69 6d 70 6c 79 20 75 73 69 6e   and simply usin
2ba40 67 20 22 2e 2e 2f 63 6f 6e 66 69 67 75 72 65 22  g "../configure"
2ba50 20 73 68 6f 75 6c 64 20 6e 6f 77 20 77 6f 72 6b   should now work
2ba60 20 66 69 6e 65 2e 20 28 44 4c 29 0a 0a 31 2f 31   fine. (DL)..1/1
2ba70 34 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e  4/98 (enhancemen
2ba80 74 29 20 41 64 64 65 64 20 6e 65 77 20 72 65 67  t) Added new reg
2ba90 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20  ular expression 
2baa0 70 61 63 6b 61 67 65 20 74 68 61 74 0a 73 75 70  package that.sup
2bab0 70 6f 72 74 73 20 41 52 45 73 2c 20 45 52 45 73  ports AREs, EREs
2bac0 2c 20 61 6e 64 20 42 52 45 73 2e 20 20 54 68 65  , and BREs.  The
2bad0 20 6e 65 77 20 70 61 63 6b 61 67 65 20 69 6e 63   new package inc
2bae0 6c 75 64 65 73 20 6e 65 77 20 65 73 63 61 70 65  ludes new escape
2baf0 0a 63 68 61 72 61 63 74 65 72 73 2c 20 6d 65 74  .characters, met
2bb00 61 2d 73 79 6e 74 61 78 2c 20 61 6e 64 20 63 68  a-syntax, and ch
2bb10 61 72 61 63 74 65 72 20 63 6c 61 73 73 65 73 20  aracter classes 
2bb20 69 6e 73 69 64 65 20 62 72 61 63 6b 65 74 73 2e  inside brackets.
2bb30 0a 52 65 67 65 78 70 73 20 69 6e 76 6f 6c 76 69  .Regexps involvi
2bb40 6e 67 20 62 61 63 6b 73 6c 61 73 68 65 73 20 6d  ng backslashes m
2bb50 61 79 20 62 65 68 61 76 65 20 64 69 66 66 65 72  ay behave differ
2bb60 65 6e 74 6c 79 2e 20 20 28 4d 48 29 0a 2a 2a 2a  ently.  (MH).***
2bb70 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2bb80 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
2bb90 31 2f 31 36 2f 39 38 20 28 6f 73 20 77 6f 72 6b  1/16/98 (os work
2bba0 61 72 6f 75 6e 64 29 20 55 6e 64 65 72 20 77 69  around) Under wi
2bbb0 6e 64 6f 77 73 2c 20 22 66 69 6c 65 20 76 6f 6c  ndows, "file vol
2bbc0 75 6d 65 22 20 77 61 73 20 63 61 75 73 69 6e 67  ume" was causing
2bbd0 20 63 68 61 74 74 65 72 0a 61 6e 64 2f 6f 72 20   chatter.and/or 
2bbe0 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 20  several seconds 
2bbf0 6f 66 20 68 61 6e 67 69 6e 67 20 77 68 65 6e 20  of hanging when 
2bc00 71 75 65 72 79 69 6e 67 20 65 6d 70 74 79 20 66  querying empty f
2bc10 6c 6f 70 70 79 20 64 72 69 76 65 73 2e 0a 43 68  loppy drives..Ch
2bc20 61 6e 67 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61  anged implementa
2bc30 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e 20  tion to call an 
2bc40 65 6d 70 69 72 69 63 61 6c 6c 79 2d 64 65 72 69  empirically-deri
2bc50 76 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 68 61  ved function tha
2bc60 74 20 64 6f 65 73 6e 27 74 0a 63 61 75 73 65 20  t doesn't.cause 
2bc70 74 68 69 73 2e 20 28 43 43 53 29 0a 0a 31 2f 31  this. (CCS)..1/1
2bc80 36 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e  6/98 (enhancemen
2bc90 74 29 20 43 6f 6e 76 65 72 74 65 64 20 72 65 67  t) Converted reg
2bca0 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73  ular expressions
2bcb0 20 74 6f 20 61 20 54 63 6c 5f 4f 62 6a 20 74 79   to a Tcl_Obj ty
2bcc0 70 65 20 73 6f 0a 74 68 65 69 72 20 63 6f 6d 70  pe so.their comp
2bcd0 69 6c 65 64 20 66 6f 72 6d 20 67 65 74 73 20 63  iled form gets c
2bce0 61 63 68 65 64 20 61 75 74 6f 6d 61 74 69 63 61  ached automatica
2bcf0 6c 6c 79 2e 20 20 52 65 64 75 63 65 64 20 4e 53  lly.  Reduced NS
2bd00 55 42 45 58 50 20 66 72 6f 6d 20 31 30 30 0a 74  UBEXP from 100.t
2bd10 6f 20 32 30 2e 20 28 42 57 29 0a 0a 31 2f 31 36  o 20. (BW)..1/16
2bd20 2f 39 38 20 28 64 6f 63 75 6d 65 6e 74 61 74 69  /98 (documentati
2bd30 6f 6e 29 20 43 68 61 6e 67 65 20 75 6e 63 6c 65  on) Change uncle
2bd40 61 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  ar documentation
2bd50 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 20 66 6f   and comments fo
2bd60 72 0a 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b 65  r.functions like
2bd70 20 54 63 6c 5f 54 72 61 6e 73 6c 61 74 65 46 69   Tcl_TranslateFi
2bd80 6c 65 4e 61 6d 65 28 29 20 61 6e 64 20 54 63 6c  leName() and Tcl
2bd90 5f 45 78 74 65 72 6e 61 6c 54 6f 55 74 66 44 53  _ExternalToUtfDS
2bda0 74 72 69 6e 67 28 29 2e 20 20 4e 6f 77 0a 69 74  tring().  Now.it
2bdb0 20 65 78 70 6c 69 63 69 74 6c 79 20 73 61 79 73   explicitly says
2bdc0 20 74 68 65 79 20 74 61 6b 65 20 61 6e 20 75 6e   they take an un
2bdd0 69 6e 69 74 69 61 6c 69 7a 65 64 20 6f 72 20 66  initialized or f
2bde0 72 65 65 20 44 53 74 72 69 6e 67 2e 20 20 41 20  ree DString.  A 
2bdf0 44 53 74 72 69 6e 67 0a 74 68 61 74 20 69 73 20  DString.that is 
2be00 22 65 6d 70 74 79 22 20 6f 72 20 22 6e 6f 74 20  "empty" or "not 
2be10 68 6f 6c 64 69 6e 67 20 61 6e 79 74 68 69 6e 67  holding anything
2be20 22 20 63 6f 75 6c 64 20 68 61 76 65 20 62 65 65  " could have bee
2be30 6e 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73  n interpreted as
2be40 20 6f 6e 65 0a 63 75 72 72 65 6e 74 6c 79 20 77   one.currently w
2be50 69 74 68 20 61 20 7a 65 72 6f 20 6c 65 6e 67 74  ith a zero lengt
2be60 68 2c 20 62 75 74 20 77 69 74 68 20 61 20 6c 61  h, but with a la
2be70 72 67 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20  rge dynamically 
2be80 61 6c 6c 6f 63 61 74 65 64 20 62 75 66 66 65 72  allocated buffer
2be90 2e 0a 28 43 43 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  ..(CCS)..-------
2bea0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
2beb0 73 65 64 20 38 2e 31 61 31 2c 20 31 2f 32 32 2f  sed 8.1a1, 1/22/
2bec0 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  98 -------------
2bed0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32 38  ----------..1/28
2bee0 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65  /98 (new feature
2bef0 29 20 41 64 64 65 64 20 61 20 22 2d 64 69 72 65  ) Added a "-dire
2bf00 63 74 22 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61  ct" optional fla
2bf10 67 20 74 6f 20 70 6b 67 5f 6d 6b 49 6e 64 65 78  g to pkg_mkIndex
2bf20 0a 74 6f 20 67 65 6e 65 72 61 74 65 20 64 69 72  .to generate dir
2bf30 65 63 74 20 6c 6f 61 64 69 6e 67 20 70 61 63 6b  ect loading pack
2bf40 61 67 65 20 69 6e 64 65 78 65 73 20 28 73 75 63  age indexes (suc
2bf50 68 20 74 68 6f 73 65 20 79 6f 75 20 6e 65 65 64  h those you need
2bf60 0a 69 66 20 79 6f 75 20 75 73 65 20 6e 61 6d 65  .if you use name
2bf70 73 70 61 63 65 73 20 61 6e 64 20 70 6c 61 6e 20  spaces and plan 
2bf80 6f 6e 20 75 73 69 6e 67 20 6e 61 6d 65 73 70 61  on using namespa
2bf90 63 65 20 69 6d 70 6f 72 74 20 6a 75 73 74 20 61  ce import just a
2bfa0 66 74 65 72 0a 70 61 63 6b 61 67 65 20 72 65 71  fter.package req
2bfb0 75 69 72 65 29 2e 20 70 6b 67 5f 6d 6b 49 6e 64  uire). pkg_mkInd
2bfc0 65 78 20 73 74 69 6c 6c 20 68 61 73 20 6c 69 6d  ex still has lim
2bfd0 69 74 61 74 69 6f 6e 73 20 72 65 67 61 72 64 69  itations regardi
2bfe0 6e 67 0a 70 61 63 6b 61 67 65 20 64 65 70 65 6e  ng.package depen
2bff0 64 65 6e 63 69 65 73 20 62 75 74 20 65 72 72 6f  dencies but erro
2c000 72 73 20 61 72 65 20 6e 6f 77 20 69 67 6e 6f 72  rs are now ignor
2c010 65 64 20 61 6e 64 20 77 69 74 68 20 2d 64 69 72  ed and with -dir
2c020 65 63 74 2c 20 63 6f 72 72 65 63 74 0a 70 61 63  ect, correct.pac
2c030 6b 61 67 65 20 69 6e 64 65 78 65 73 20 63 61 6e  kage indexes can
2c040 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 65 76   be generated ev
2c050 65 6e 20 69 66 20 74 68 65 72 65 20 61 72 65 20  en if there are 
2c060 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20  dependencies as 
2c070 6c 6f 6e 67 20 0a 61 73 20 74 68 65 20 22 70 61  long .as the "pa
2c080 63 6b 61 67 65 20 70 72 6f 76 69 64 65 22 20 61  ckage provide" a
2c090 72 65 20 64 6f 6e 65 20 65 61 72 6c 79 20 65 6e  re done early en
2c0a0 6f 75 67 68 20 69 6e 20 74 68 65 20 66 69 6c 65  ough in the file
2c0b0 73 2e 20 28 44 4c 29 0a 0a 31 2f 32 38 2f 39 38  s. (DL)..1/28/98
2c0c0 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 50   (enhancement) P
2c0d0 65 72 66 6f 72 6d 61 6e 63 65 20 74 75 6e 69 6e  erformance tunin
2c0e0 67 20 6f 66 20 72 65 67 65 78 70 20 61 6e 64 20  g of regexp and 
2c0f0 72 65 67 73 75 62 2e 20 28 43 43 53 29 0a 0a 31  regsub. (CCS)..1
2c100 2f 32 38 2f 39 38 20 28 62 75 67 20 66 69 78 29  /28/98 (bug fix)
2c110 20 72 65 67 65 78 70 20 61 6e 64 20 72 65 67 73   regexp and regs
2c120 75 62 20 77 69 74 68 20 22 2d 69 6e 64 69 63 65  ub with "-indice
2c130 73 22 20 72 65 74 75 72 6e 65 64 20 74 68 65 20  s" returned the 
2c140 62 79 74 65 2d 6f 66 66 73 65 74 73 0a 6f 66 20  byte-offsets.of 
2c150 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69  the characters i
2c160 6e 20 74 68 65 20 55 54 46 2d 38 20 72 65 70 72  n the UTF-8 repr
2c170 65 73 65 6e 74 61 74 69 6f 6e 2c 20 6e 6f 74 20  esentation, not 
2c180 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6f 66  the character of
2c190 66 73 65 74 73 0a 74 68 65 6d 73 65 6c 76 65 73  fsets.themselves
2c1a0 2e 20 28 43 43 53 29 0a 0a 31 2f 32 38 2f 39 38  . (CCS)..1/28/98
2c1b0 20 28 62 75 67 20 66 69 78 29 20 22 63 6c 6f 63   (bug fix) "cloc
2c1c0 6b 20 66 6f 72 6d 61 74 20 30 20 2d 66 6f 72 6d  k format 0 -form
2c1d0 61 74 20 25 5a 20 2d 67 6d 74 20 31 22 20 77 6f  at %Z -gmt 1" wo
2c1e0 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c  uld return the l
2c1f0 6f 63 61 6c 0a 74 69 6d 65 7a 6f 6e 65 20 73 74  ocal.timezone st
2c200 72 69 6e 67 20 69 6e 73 74 65 61 64 20 6f 66 20  ring instead of 
2c210 22 47 4d 54 22 20 6f 6e 20 53 6f 6c 61 72 69 73  "GMT" on Solaris
2c220 20 61 6e 64 20 57 69 6e 64 6f 77 73 2e 0a 0a 31   and Windows...1
2c230 2f 32 38 2f 39 38 20 28 62 75 67 20 66 69 78 29  /28/98 (bug fix)
2c240 20 52 65 73 74 6f 72 65 20 74 74 79 20 73 65 74   Restore tty set
2c250 74 69 6e 67 73 20 77 68 65 6e 20 63 6c 6f 73 69  tings when closi
2c260 6e 67 20 73 65 72 69 61 6c 20 64 65 76 69 63 65  ng serial device
2c270 20 6f 6e 20 55 6e 69 78 2e 0a 54 68 69 73 20 69   on Unix..This i
2c280 73 20 67 6f 6f 64 20 62 65 68 61 76 69 6f 72 20  s good behavior 
2c290 77 68 65 6e 20 63 6c 6f 73 69 6e 67 20 72 65 61  when closing rea
2c2a0 6c 20 73 65 72 69 61 6c 20 64 65 76 69 63 65 73  l serial devices
2c2b0 2c 20 65 73 73 65 6e 74 69 61 6c 20 77 68 65 6e  , essential when
2c2c0 0a 63 6c 6f 73 69 6e 67 20 74 68 65 20 70 73 65  .closing the pse
2c2d0 75 64 6f 2d 64 65 76 69 63 65 20 2f 64 65 76 2f  udo-device /dev/
2c2e0 74 74 79 20 62 65 63 61 75 73 65 20 74 68 65 20  tty because the 
2c2f0 75 73 65 72 27 73 20 74 65 72 6d 69 6e 61 6c 20  user's terminal 
2c300 73 65 74 74 69 6e 67 73 0a 77 6f 75 6c 64 20 62  settings.would b
2c310 65 20 6c 65 66 74 20 75 73 65 6c 65 73 73 2c 20  e left useless, 
2c320 69 6e 20 72 61 77 20 6d 6f 64 65 2c 20 77 68 65  in raw mode, whe
2c330 6e 20 74 63 6c 20 71 75 69 74 2e 20 28 43 43 53  n tcl quit. (CCS
2c340 29 0a 0a 31 2f 32 38 2f 39 38 20 28 62 75 67 20  )..1/28/98 (bug 
2c350 66 69 78 29 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d  fix) Tcl_OpenCom
2c360 6d 61 6e 64 43 68 61 6e 6e 65 6c 28 29 20 77 61  mandChannel() wa
2c370 73 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20  s modifying the 
2c380 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 0a  contents of the.
2c390 61 72 67 76 20 61 72 72 61 79 20 70 61 73 73 65  argv array passe
2c3a0 64 20 74 6f 20 69 74 2c 20 63 61 75 73 69 6e 67  d to it, causing
2c3b0 20 70 72 6f 62 6c 65 6d 73 20 66 6f 72 20 61 6e   problems for an
2c3c0 79 20 63 61 6c 6c 65 72 20 74 68 61 74 20 77 61  y caller that wa
2c3d0 6e 74 65 64 20 74 6f 0a 63 6f 6e 74 69 6e 75 65  nted to.continue
2c3e0 20 74 6f 20 75 73 65 20 74 68 65 20 61 72 67 76   to use the argv
2c3f0 20 61 72 72 61 79 20 61 66 74 65 72 20 63 61 6c   array after cal
2c400 6c 69 6e 67 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d  ling Tcl_OpenCom
2c410 6d 61 6e 64 43 68 61 6e 6e 65 6c 28 29 2e 20 28  mandChannel(). (
2c420 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75  CCS)..2/1/98 (bu
2c430 67 20 66 69 78 29 20 4d 6f 72 65 20 62 75 67 73  g fix) More bugs
2c440 20 77 69 74 68 20 25 5a 20 69 6e 20 66 6f 72 6d   with %Z in form
2c450 61 74 20 73 74 72 69 6e 67 20 61 72 67 75 6d 65  at string argume
2c460 6e 74 20 74 6f 20 73 74 72 66 74 69 6d 65 28 29  nt to strftime()
2c470 3a 0a 31 2e 20 42 6f 72 6c 61 6e 64 20 61 6c 77  :.1. Borland alw
2c480 61 79 73 20 72 65 74 75 72 6e 65 64 20 65 6d 70  ays returned emp
2c490 74 79 20 73 74 72 69 6e 67 2e 0a 32 2e 20 4d 53  ty string..2. MS
2c4a0 56 43 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e  VC always return
2c4b0 65 64 20 74 68 65 20 74 69 6d 65 7a 6f 6e 65 20  ed the timezone 
2c4c0 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 63  string for the c
2c4d0 75 72 72 65 6e 74 20 74 69 6d 65 2c 20 6e 6f 74  urrent time, not
2c4e0 20 74 68 65 0a 20 20 20 74 69 6d 65 7a 6f 6e 65   the.   timezone
2c4f0 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20   string for the 
2c500 73 70 65 63 69 66 69 65 64 20 74 69 6d 65 2e 20  specified time. 
2c510 20 0a 33 2e 20 57 69 74 68 20 4d 53 56 43 2c 20   .3. With MSVC, 
2c520 22 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 30 20  "clock format 0 
2c530 2d 66 6f 72 6d 61 74 20 25 5a 20 2d 67 6d 74 20  -format %Z -gmt 
2c540 31 22 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20  1" would return 
2c550 22 47 4d 54 22 20 74 68 65 20 66 69 72 73 74 0a  "GMT" the first.
2c560 20 20 20 74 69 6d 65 20 69 74 20 77 61 73 20 63     time it was c
2c570 61 6c 6c 65 64 2c 20 62 75 74 20 77 6f 75 6c 64  alled, but would
2c580 20 72 65 74 75 72 6e 20 74 68 65 20 63 75 72 72   return the curr
2c590 65 6e 74 20 74 69 6d 65 7a 6f 6e 65 20 73 74 72  ent timezone str
2c5a0 69 6e 67 20 6f 6e 20 61 6c 6c 0a 20 20 20 73 75  ing on all.   su
2c5b0 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 2e 20  bsequent calls. 
2c5c0 28 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62  (CCS)..2/1/98 (b
2c5d0 75 67 20 66 69 78 29 20 22 66 69 6c 65 20 73 74  ug fix) "file st
2c5e0 61 74 22 20 77 61 73 20 62 72 6f 6b 65 6e 20 6f  at" was broken o
2c5f0 6e 20 57 69 6e 64 6f 77 73 2e 0a 31 2e 20 22 66  n Windows..1. "f
2c600 69 6c 65 20 73 74 61 74 22 20 6f 66 20 61 20 72  ile stat" of a r
2c610 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 28 6c  oot directory (l
2c620 6f 63 61 6c 20 6f 72 20 6e 65 74 77 6f 72 6b 29  ocal or network)
2c630 20 6f 72 20 61 20 72 65 6c 61 74 69 76 65 20 70   or a relative p
2c640 61 74 68 20 74 68 61 74 0a 20 20 20 72 65 73 6f  ath that.   reso
2c650 6c 76 65 64 20 74 6f 20 61 20 72 6f 6f 74 20 64  lved to a root d
2c660 69 72 65 63 74 6f 72 79 20 28 63 3a 2e 20 77 68  irectory (c:. wh
2c670 65 6e 20 69 6e 20 70 77 64 20 77 61 73 20 63 3a  en in pwd was c:
2c680 2f 29 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67  /) was returning
2c690 20 65 72 72 6f 72 2e 0a 32 2e 20 22 66 69 6c 65   error..2. "file
2c6a0 20 73 74 61 74 22 20 6f 6e 20 61 20 72 65 67 75   stat" on a regu
2c6b0 6c 61 72 20 66 69 6c 65 20 28 53 5f 49 46 52 45  lar file (S_IFRE
2c6c0 47 29 2c 20 74 68 65 20 73 74 5f 6d 6f 64 65 20  G), the st_mode 
2c6d0 77 61 73 20 73 69 67 6e 20 65 78 74 65 6e 64 65  was sign extende
2c6e0 64 20 74 6f 0a 20 20 20 61 20 6e 65 67 61 74 69  d to.   a negati
2c6f0 76 65 20 69 6e 74 20 69 66 20 74 68 65 20 70 6c  ve int if the pl
2c700 61 74 66 6f 72 6d 2d 64 65 70 65 6e 64 61 6e 74  atform-dependant
2c710 20 74 79 70 65 20 22 6d 6f 64 65 5f 74 22 20 77   type "mode_t" w
2c720 61 73 20 64 65 63 6c 61 72 65 64 20 61 73 20 61  as declared as a
2c730 0a 20 20 20 73 68 6f 72 74 20 69 6e 73 74 65 61  .   short instea
2c740 64 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64  d of an unsigned
2c750 20 73 68 6f 72 74 2e 0a 33 2e 20 22 66 69 6c 65   short..3. "file
2c760 20 73 74 61 74 22 20 6f 66 20 61 20 6e 65 74 77   stat" of a netw
2c770 6f 72 6b 20 64 69 72 65 63 74 6f 72 79 2c 20 74  ork directory, t
2c780 68 65 20 73 74 5f 64 65 76 20 77 61 73 20 69 6e  he st_dev was in
2c790 63 6f 72 72 65 63 74 6c 79 20 72 65 70 6f 72 74  correctly report
2c7a0 65 64 0a 20 20 20 61 73 20 74 68 65 20 69 64 20  ed.   as the id 
2c7b0 6f 66 20 74 68 65 20 6c 61 73 74 20 61 63 63 65  of the last acce
2c7c0 73 73 65 64 20 6c 6f 63 61 6c 20 64 72 69 76 65  ssed local drive
2c7d0 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65   rather than the
2c7e0 20 69 64 20 6f 66 20 74 68 65 0a 20 20 20 6e 65   id of the.   ne
2c7f0 74 77 6f 72 6b 20 64 72 69 76 65 2e 20 28 43 43  twork drive. (CC
2c800 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75 67 20  S)..2/1/98 (bug 
2c810 66 69 78 29 20 22 66 69 6c 65 20 61 74 74 72 69  fix) "file attri
2c820 62 75 74 65 73 22 20 6f 66 20 61 20 72 65 6c 61  butes" of a rela
2c830 74 69 76 65 20 70 61 74 68 20 74 68 61 74 20 72  tive path that r
2c840 65 73 6f 6c 76 65 64 20 74 6f 20 61 0a 72 6f 6f  esolved to a.roo
2c850 74 20 64 69 72 65 63 74 6f 72 79 20 77 61 73 20  t directory was 
2c860 72 65 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 2e  returning error.
2c870 20 28 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28   (CCS)..2/1/98 (
2c880 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 20  bug fix) Change 
2c890 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 77 68  error message wh
2c8a0 65 6e 20 22 66 69 6c 65 20 61 74 74 72 69 62 75  en "file attribu
2c8b0 74 65 22 20 63 6f 75 6c 64 20 6e 6f 74 0a 64 65  te" could not.de
2c8c0 74 65 72 6d 69 6e 65 20 74 68 65 20 61 74 74 72  termine the attr
2c8d0 69 62 75 74 65 73 20 66 6f 72 20 61 20 66 69 6c  ibutes for a fil
2c8e0 65 2e 20 20 50 72 65 76 69 6f 75 73 6c 79 20 69  e.  Previously i
2c8f0 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 64  t would return d
2c900 69 66 66 65 72 65 6e 74 0a 65 72 72 6f 72 20 6d  ifferent.error m
2c910 65 73 73 61 67 65 73 20 6f 6e 20 55 6e 69 78 20  essages on Unix 
2c920 76 73 2e 20 20 57 69 6e 64 6f 77 73 20 76 73 2e  vs.  Windows vs.
2c930 20 4d 61 63 2e 20 28 43 43 53 29 0a 0a 32 2f 34   Mac. (CCS)..2/4
2c940 2f 39 38 20 28 62 75 67 20 66 69 78 65 73 29 20  /98 (bug fixes) 
2c950 46 69 78 65 64 20 73 65 76 65 72 61 6c 20 69 6e  Fixed several in
2c960 73 74 61 6e 63 65 73 20 6f 66 20 62 75 67 73 20  stances of bugs 
2c970 77 68 65 72 65 20 74 68 65 20 70 61 72 73 65 72  where the parser
2c980 2f 63 6f 6d 70 69 6c 65 72 20 0a 77 6f 75 6c 64  /compiler .would
2c990 20 72 65 61 63 68 20 6f 75 74 73 69 64 65 20 74   reach outside t
2c9a0 68 65 20 72 61 6e 67 65 20 6f 66 20 61 6c 6c 6f  he range of allo
2c9b0 63 61 74 65 64 20 6d 65 6d 6f 72 79 2e 20 49 6d  cated memory. Im
2c9c0 70 72 6f 76 65 64 20 74 68 65 20 61 72 72 61 79  proved the array
2c9d0 0a 6c 6f 6f 6b 75 70 20 61 6c 67 6f 72 69 74 68  .lookup algorith
2c9e0 6d 20 69 6e 20 73 65 74 20 63 6f 6d 70 69 6c 61  m in set compila
2c9f0 74 69 6f 6e 2e 20 28 44 4c 29 0a 0a 32 2f 35 2f  tion. (DL)..2/5/
2ca00 39 38 20 28 63 68 61 6e 67 65 29 20 54 68 65 20  98 (change) The 
2ca10 54 43 4c 5f 50 41 52 53 45 5f 50 41 52 54 31 20  TCL_PARSE_PART1 
2ca20 66 6c 61 67 20 66 6f 72 20 53 65 74 2f 47 65 74  flag for Set/Get
2ca30 28 4f 62 6a 29 56 61 72 32 20 43 20 41 50 49 73  (Obj)Var2 C APIs
2ca40 20 69 73 20 6e 6f 77 0a 64 65 70 72 65 63 61 74   is now.deprecat
2ca50 65 64 20 61 6e 64 20 69 67 6e 6f 72 65 64 2e 20  ed and ignored. 
2ca60 54 68 65 20 70 61 72 74 31 20 69 73 20 61 6c 77  The part1 is alw
2ca70 61 79 73 20 70 61 72 73 65 64 20 77 68 65 6e 20  ays parsed when 
2ca80 74 68 65 20 70 61 72 74 32 20 61 72 67 75 6d 65  the part2 argume
2ca90 6e 74 0a 69 73 20 4e 55 4c 4c 2e 20 54 68 69 73  nt.is NULL. This
2caa0 20 69 73 20 74 6f 20 61 76 6f 69 64 20 61 20 70   is to avoid a p
2cab0 61 74 74 65 72 6e 20 6f 66 20 65 72 72 6f 72 73  attern of errors
2cac0 20 66 6f 72 20 65 78 74 65 6e 73 69 6f 6e 20 77   for extension w
2cad0 72 69 74 65 72 73 20 63 6f 6e 76 65 72 74 69 6e  riters convertin
2cae0 67 0a 66 72 6f 6d 20 73 74 72 69 6e 67 20 62 61  g.from string ba
2caf0 73 65 64 20 54 63 6c 5f 53 65 74 56 61 72 28 29  sed Tcl_SetVar()
2cb00 20 74 6f 20 6e 65 77 20 54 63 6c 5f 53 65 74 4f   to new Tcl_SetO
2cb10 62 6a 56 61 72 32 28 29 20 61 6e 64 20 77 68 6f  bjVar2() and who
2cb20 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 0a 66 6f   could easily.fo
2cb30 72 67 65 74 20 74 6f 20 70 72 6f 76 69 64 65 20  rget to provide 
2cb40 74 68 65 20 66 6c 61 67 20 61 6e 64 20 74 68 75  the flag and thu
2cb50 73 20 67 65 74 20 63 6f 64 65 20 77 6f 72 6b 69  s get code worki
2cb60 6e 67 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 76 61  ng for normal va
2cb70 72 69 61 62 6c 65 73 20 0a 62 75 74 20 6e 6f 74  riables .but not
2cb80 20 66 6f 72 20 61 72 72 61 79 20 65 6c 65 6d 65   for array eleme
2cb90 6e 74 73 2e 20 54 68 65 20 70 65 72 66 6f 72 6d  nts. The perform
2cba0 61 6e 63 65 20 68 69 74 20 69 73 20 6d 69 6e 69  ance hit is mini
2cbb0 6d 61 6c 2e 20 41 20 73 69 64 65 20 65 66 66 65  mal. A side effe
2cbc0 63 74 0a 6f 66 20 74 68 61 74 20 63 68 61 6e 67  ct.of that chang
2cbd0 65 20 69 73 20 74 68 61 74 20 69 73 20 69 73 20  e is that is is 
2cbe0 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 73 73 69 62  no longer possib
2cbf0 6c 65 20 74 6f 20 63 72 65 61 74 65 20 73 63 61  le to create sca
2cc00 6c 61 72 20 76 61 72 69 61 62 6c 65 73 0a 74 68  lar variables.th
2cc10 61 74 20 63 61 6e 27 74 20 62 65 20 61 63 63 65  at can't be acce
2cc20 73 73 65 64 20 62 79 20 74 63 6c 20 73 63 72 69  ssed by tcl scri
2cc30 70 74 73 20 62 65 63 61 75 73 65 20 6f 66 20 74  pts because of t
2cc40 68 65 69 72 20 69 6e 76 61 6c 69 64 20 6e 61 6d  heir invalid nam
2cc50 65 20 0a 28 65 6e 64 69 6e 67 20 77 69 74 68 20  e .(ending with 
2cc60 70 61 72 65 6e 74 68 65 73 69 73 29 2e 20 4c 69  parenthesis). Li
2cc70 6b 65 77 69 73 65 20 69 74 20 69 73 20 61 6c 73  kewise it is als
2cc80 6f 20 70 61 72 73 65 64 20 61 6e 64 20 63 68 65  o parsed and che
2cc90 63 6b 65 64 20 74 6f 20 0a 65 6e 73 75 72 65 20  cked to .ensure 
2cca0 74 68 61 74 20 79 6f 75 20 64 6f 6e 27 74 20 63  that you don't c
2ccb0 72 65 61 74 65 20 61 72 72 61 79 20 65 6c 65 6d  reate array elem
2ccc0 65 6e 74 73 20 6f 66 20 61 72 72 61 79 20 77 68  ents of array wh
2ccd0 6f 73 65 20 6e 61 6d 65 20 69 73 20 61 20 76 61  ose name is a va
2cce0 6c 69 64 20 0a 61 72 72 61 79 20 65 6c 65 6d 65  lid .array eleme
2ccf0 6e 74 20 62 65 63 61 75 73 65 20 74 68 65 79 20  nt because they 
2cd00 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63  would not be acc
2cd10 65 73 73 69 62 6c 65 20 66 72 6f 6d 20 73 63 72  essible from scr
2cd20 69 70 74 73 20 61 6e 79 77 61 79 2e 20 0a 4e 6f  ipts anyway. .No
2cd30 74 65 3a 20 54 68 65 72 65 20 69 73 20 73 74 69  te: There is sti
2cd40 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 61 72 72  ll duplicate arr
2cd50 61 79 20 65 6c 65 6d 65 6e 74 73 20 70 61 72 73  ay elements pars
2cd60 69 6e 67 20 63 6f 64 65 2e 20 28 44 4c 29 0a 2a  ing code. (DL).*
2cd70 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
2cd80 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
2cd90 0a 0a 32 2f 31 31 2f 39 38 20 28 62 75 67 20 66  ..2/11/98 (bug f
2cda0 69 78 29 20 53 68 61 72 69 6e 67 20 6f 62 6a 65  ix) Sharing obje
2cdb0 63 74 73 20 62 65 74 77 65 65 6e 20 69 6e 74 65  cts between inte
2cdc0 72 70 73 2c 20 73 75 63 68 20 61 73 20 62 79 20  rps, such as by 
2cdd0 22 69 6e 74 65 72 70 0a 65 76 61 6c 22 20 6f 72  "interp.eval" or
2cde0 20 22 73 65 6e 64 22 20 63 6f 75 6c 64 20 63 61   "send" could ca
2cdf0 75 73 65 20 61 20 63 72 61 73 68 20 6c 61 74 65  use a crash late
2ce00 72 20 77 68 65 6e 20 64 65 72 65 66 65 72 65 6e  r when dereferen
2ce10 63 69 6e 67 20 61 6e 20 69 6e 74 65 72 70 0a 74  cing an interp.t
2ce20 68 61 74 20 68 61 64 20 62 65 65 6e 20 64 65 6c  hat had been del
2ce30 65 74 65 64 2c 20 67 69 76 65 6e 20 63 6f 64 65  eted, given code
2ce40 20 73 75 63 68 20 61 73 3a 0a 09 73 65 74 20 61   such as:..set a
2ce50 20 7b 73 65 74 20 78 20 79 7d 0a 09 69 6e 74 65   {set x y}..inte
2ce60 72 70 20 63 72 65 61 74 65 20 66 6f 6f 0a 09 69  rp create foo..i
2ce70 6e 74 65 72 70 20 65 76 61 6c 20 66 6f 6f 20 24  nterp eval foo $
2ce80 61 0a 09 69 6e 74 65 72 70 20 64 65 6c 65 74 65  a..interp delete
2ce90 20 66 6f 6f 0a 09 75 6e 73 65 74 20 61 0a 49 6e   foo..unset a.In
2cea0 74 65 72 70 20 22 66 6f 6f 22 20 77 61 73 20 67  terp "foo" was g
2ceb0 6f 6e 65 2c 20 62 75 74 20 22 61 22 20 68 61 64  one, but "a" had
2cec0 20 61 20 69 6e 74 65 72 6e 61 6c 20 72 65 70 20   a internal rep 
2ced0 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 62 79  consisting of by
2cee0 74 65 63 6f 64 65 73 0a 63 6f 6e 74 61 69 6e 69  tecodes.containi
2cef0 6e 67 20 61 20 64 61 6e 67 6c 69 6e 67 20 70 6f  ng a dangling po
2cf00 69 6e 74 65 72 20 74 6f 20 22 66 6f 6f 22 2e 20  inter to "foo". 
2cf10 20 55 6e 73 65 74 74 69 6e 67 20 22 61 22 20 77   Unsetting "a" w
2cf20 6f 75 6c 64 20 61 74 74 65 6d 70 74 20 74 6f 0a  ould attempt to.
2cf30 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 65 73  return resources
2cf40 20 62 61 63 6b 20 74 6f 20 22 66 6f 6f 22 2c 20   back to "foo", 
2cf50 63 61 75 73 69 6e 67 20 61 20 63 72 61 73 68 20  causing a crash 
2cf60 61 73 20 72 61 6e 64 6f 6d 20 6d 65 6d 6f 72 79  as random memory
2cf70 20 77 61 73 0a 61 63 63 65 73 73 65 64 2e 20 20   was.accessed.  
2cf80 54 68 65 20 6c 65 73 73 6f 6e 20 69 73 20 74 68  The lesson is th
2cf90 61 74 20 74 68 61 74 20 69 66 20 61 6e 20 6f 62  at that if an ob
2cfa0 6a 65 63 74 27 73 20 69 6e 74 65 72 6e 61 6c 20  ject's internal 
2cfb0 72 65 70 20 64 65 70 65 6e 64 73 20 6f 6e 0a 61  rep depends on.a
2cfc0 6e 20 69 6e 74 65 72 70 20 28 6f 72 20 61 6e 79  n interp (or any
2cfd0 20 6f 74 68 65 72 20 64 61 74 61 20 73 74 72 75   other data stru
2cfe0 63 74 75 72 65 29 20 69 74 20 6d 75 73 74 20 70  cture) it must p
2cff0 72 65 73 65 72 76 65 20 74 68 61 74 20 64 61 74  reserve that dat
2d000 61 20 69 6e 0a 73 6f 6d 65 20 66 61 73 68 69 6f  a in.some fashio
2d010 6e 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39  n. (CCS)..2/11/9
2d020 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  8 (enhancement) 
2d030 54 68 65 20 22 69 6e 74 65 72 70 22 20 63 6f 6d  The "interp" com
2d040 6d 61 6e 64 20 77 61 73 20 72 65 74 75 72 6e 69  mand was returni
2d050 6e 67 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20  ng inconsistent 
2d060 65 72 72 6f 72 0a 6d 65 73 73 61 67 65 73 20 77  error.messages w
2d070 68 65 6e 20 74 68 65 20 73 70 65 63 69 66 69 65  hen the specifie
2d080 64 20 73 6c 61 76 65 20 69 6e 74 65 72 70 20 63  d slave interp c
2d090 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e  ould not be foun
2d0a0 64 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39  d. (CCS)..2/11/9
2d0b0 38 20 28 62 75 67 20 66 69 78 29 20 52 65 73 75  8 (bug fix) Resu
2d0c0 6c 74 20 63 6f 64 65 73 20 6c 69 6b 65 20 54 43  lt codes like TC
2d0d0 4c 5f 42 52 45 41 4b 20 61 6e 64 20 54 43 4c 5f  L_BREAK and TCL_
2d0e0 43 4f 4e 54 49 4e 55 45 20 77 65 72 65 20 6e 6f  CONTINUE were no
2d0f0 74 0a 70 72 6f 70 61 67 61 74 69 6e 67 20 74 68  t.propagating th
2d100 72 6f 75 67 68 20 74 68 65 20 6d 61 73 74 65 72  rough the master
2d110 2f 73 6c 61 76 65 20 69 6e 74 65 72 70 20 62 6f  /slave interp bo
2d120 75 6e 64 61 72 69 65 73 2c 20 73 75 63 68 20 61  undaries, such a
2d130 73 20 22 69 6e 74 65 72 70 0a 65 76 61 6c 22 20  s "interp.eval" 
2d140 61 6e 64 20 22 69 6e 74 65 72 70 20 61 6c 69 61  and "interp alia
2d150 73 22 2e 20 20 54 43 4c 5f 4f 4b 2c 20 54 43 4c  s".  TCL_OK, TCL
2d160 5f 45 52 52 4f 52 2c 20 61 6e 64 20 6e 6f 6e 2d  _ERROR, and non-
2d170 73 74 61 6e 64 61 72 64 20 63 6f 64 65 73 20 6c  standard codes l
2d180 69 6b 65 0a 74 65 68 20 69 6e 74 65 67 65 72 20  ike.teh integer 
2d190 35 37 20 77 6f 72 6b 2e 20 20 54 68 65 72 65 20  57 work.  There 
2d1a0 69 73 20 73 74 69 6c 6c 20 61 20 71 75 65 73 74  is still a quest
2d1b0 69 6f 6e 20 61 73 20 74 6f 20 77 68 65 74 68 65  ion as to whethe
2d1c0 72 20 54 43 4c 5f 52 45 54 55 52 4e 0a 63 61 6e  r TCL_RETURN.can
2d1d0 2f 73 68 6f 75 6c 64 20 70 72 6f 70 61 67 61 74  /should propagat
2d1e0 65 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39  e. (CCS)..2/11/9
2d1f0 38 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 43  8 (bug fix) TclC
2d200 6f 6d 70 69 6c 65 53 63 72 69 70 74 28 29 20 77  ompileScript() w
2d210 61 73 20 64 65 72 65 66 65 72 69 6e 67 20 6d 65  as derefering me
2d220 6d 6f 72 79 20 31 20 62 79 74 65 20 62 65 66 6f  mory 1 byte befo
2d230 72 65 0a 73 74 61 72 74 20 6f 66 20 74 68 65 20  re.start of the 
2d240 73 74 72 69 6e 67 20 74 6f 20 63 6f 6d 70 69 6c  string to compil
2d250 65 2c 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 27  e, looking for '
2d260 5d 27 2e 20 28 43 43 53 2c 44 4c 29 0a 0a 32 2f  ]'. (CCS,DL)..2/
2d270 31 31 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  11/98 (bug fix) 
2d280 54 63 6c 5f 45 76 61 6c 32 28 29 20 77 61 73 20  Tcl_Eval2() was 
2d290 64 65 72 65 66 65 72 69 6e 67 20 6d 65 6d 6f 72  derefering memor
2d2a0 79 20 31 20 62 79 74 65 20 62 65 66 6f 72 65 20  y 1 byte before 
2d2b0 73 74 61 72 74 0a 6f 66 20 74 68 65 20 73 74 72  start.of the str
2d2c0 69 6e 67 20 74 6f 20 65 76 61 6c 2c 20 6c 6f 6f  ing to eval, loo
2d2d0 6b 69 6e 67 20 66 6f 72 20 27 5d 27 2e 20 28 43  king for ']'. (C
2d2e0 43 53 2c 44 4c 29 0a 0a 32 2f 31 31 2f 39 38 20  CS,DL)..2/11/98 
2d2f0 28 62 75 67 20 66 69 78 29 20 43 6f 6d 70 69 6c  (bug fix) Compil
2d300 69 6e 67 20 22 73 65 74 20 61 28 62 22 20 77 61  ing "set a(b" wa
2d310 73 20 72 75 6e 6e 69 6e 67 20 6f 66 66 20 65 6e  s running off en
2d320 64 20 6f 66 20 73 74 72 69 6e 67 2e 20 28 43 43  d of string. (CC
2d330 53 2c 44 4c 29 0a 0a 32 2f 31 31 2f 39 38 20 28  S,DL)..2/11/98 (
2d340 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77 73  bug fix) Windows
2d350 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20   initialization 
2d360 63 6f 64 65 20 77 61 73 20 64 65 72 65 66 65 72  code was derefer
2d370 65 6e 63 69 6e 67 0a 75 6e 69 6e 69 74 69 61 6c  encing.uninitial
2d380 69 7a 65 64 20 6d 65 6d 6f 72 79 20 69 66 20 54  ized memory if T
2d390 43 4c 5f 4c 49 42 52 41 52 59 20 65 6e 76 69 72  CL_LIBRARY envir
2d3a0 6f 6e 6d 65 6e 74 20 64 69 64 6e 27 74 20 65 78  onment didn't ex
2d3b0 69 73 74 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31  ist. (CCS)..2/11
2d3c0 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 57 69  /98 (bug fix) Wi
2d3d0 6e 64 6f 77 73 20 22 72 65 67 69 73 74 72 79 22  ndows "registry"
2d3e0 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 64 65 72   command was der
2d3f0 65 66 65 72 65 6e 63 69 6e 67 0a 75 6e 69 6e 69  eferencing.unini
2d400 74 69 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79 20  tialized memory 
2d410 77 68 65 6e 20 63 6f 6e 73 74 72 75 63 74 69 6e  when constructin
2d420 67 20 74 68 65 20 24 65 72 72 6f 72 43 6f 64 65  g the $errorCode
2d430 20 66 6f 72 20 61 20 66 61 69 6c 65 64 0a 72 65   for a failed.re
2d440 67 69 73 74 72 79 20 63 61 6c 6c 2e 20 28 43 43  gistry call. (CC
2d450 53 29 0a 0a 32 2f 31 31 2f 39 38 20 28 65 6e 68  S)..2/11/98 (enh
2d460 61 6e 63 65 6d 65 6e 74 29 20 45 6c 69 6d 69 6e  ancement) Elimin
2d470 61 74 65 20 74 68 65 20 54 43 4c 5f 55 53 45 5f  ate the TCL_USE_
2d480 54 49 4d 45 5a 4f 4e 45 5f 56 41 52 20 64 65 66  TIMEZONE_VAR def
2d490 69 6e 69 74 69 6f 6e 20 66 72 6f 6d 0a 63 6f 6e  inition from.con
2d4a0 66 69 67 75 72 65 2e 69 6e 2c 20 62 65 63 61 75  figure.in, becau
2d4b0 73 65 20 69 74 20 77 61 73 20 74 68 65 20 73 61  se it was the sa
2d4c0 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61  me information a
2d4d0 73 20 74 68 65 20 61 6c 72 65 61 64 79 20 65 78  s the already ex
2d4e0 69 73 74 69 6e 67 0a 48 41 56 45 5f 54 4d 5f 5a  isting.HAVE_TM_Z
2d4f0 4f 4e 45 20 64 65 66 69 6e 69 74 69 6f 6e 2e 20  ONE definition. 
2d500 20 54 68 65 20 6c 61 63 6b 20 6f 66 20 48 41 56   The lack of HAV
2d510 45 5f 54 4d 5f 5a 4f 4e 45 20 69 73 20 75 73 65  E_TM_ZONE is use
2d520 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64  d to work around
2d530 20 61 0a 53 6f 6c 61 72 69 73 20 61 6e 64 20 57   a.Solaris and W
2d540 69 6e 64 6f 77 73 20 62 75 67 20 77 68 65 72 65  indows bug where
2d550 20 22 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 5b   "clock format [
2d560 63 6c 6f 63 6b 20 73 65 63 5d 20 2d 66 6f 72 6d  clock sec] -form
2d570 61 74 20 25 5a 20 2d 67 6d 74 20 31 22 20 0a 70  at %Z -gmt 1" .p
2d580 72 6f 64 75 63 65 73 20 74 68 65 20 6c 6f 63 61  roduces the loca
2d590 6c 20 74 69 6d 65 7a 6f 6e 65 20 73 74 72 69 6e  l timezone strin
2d5a0 67 20 69 6e 73 74 65 61 64 20 6f 66 20 22 47 4d  g instead of "GM
2d5b0 54 22 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f  T". (CCS)..2/11/
2d5c0 39 38 20 28 62 75 67 20 66 69 78 29 20 4d 65 6d  98 (bug fix) Mem
2d5d0 6c 65 61 6b 73 20 61 6e 64 20 64 65 72 65 66 65  leaks and derefe
2d5e0 72 65 6e 63 69 6e 67 20 6f 66 20 75 6e 69 6e 69  rencing of unini
2d5f0 74 69 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79 20  tialized memory 
2d600 69 6e 0a 72 65 67 65 78 70 20 69 66 20 61 6e 20  in.regexp if an 
2d610 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77  error occurred w
2d620 68 69 6c 65 20 63 6f 6d 70 69 6c 69 6e 67 20 61  hile compiling a
2d630 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73   regular express
2d640 69 6f 6e 2e 20 28 43 43 53 29 2e 0a 0a 32 2f 31  ion. (CCS)...2/1
2d650 38 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72  8/98 (new featur
2d660 65 29 20 41 64 64 65 64 20 6d 75 74 65 78 65 73  e) Added mutexes
2d670 20 61 6e 64 20 74 68 72 65 61 64 20 6c 6f 63 61   and thread loca
2d680 6c 20 73 74 6f 72 61 67 65 20 69 6e 20 6f 72 64  l storage in ord
2d690 65 72 0a 74 6f 20 6d 61 6b 65 20 54 63 6c 20 74  er.to make Tcl t
2d6a0 68 72 65 61 64 20 73 61 66 65 2e 20 20 46 6f 72  hread safe.  For
2d6b0 20 74 65 73 74 69 6e 67 20 70 75 72 70 6f 73 65   testing purpose
2d6c0 73 2c 20 74 68 65 72 65 20 69 73 20 61 20 74 65  s, there is a te
2d6d0 73 74 74 68 72 65 61 64 0a 63 6f 6d 6d 61 6e 64  stthread.command
2d6e0 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 20   that creates a 
2d6f0 6e 65 77 20 74 68 72 65 61 64 20 61 6e 64 20 61  new thread and a
2d700 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 6e  n interpreter in
2d710 73 69 64 65 20 69 74 2e 20 20 53 65 65 0a 74 68  side it.  See.th
2d720 72 65 61 64 2e 74 65 73 74 20 66 6f 72 20 65 78  read.test for ex
2d730 61 6d 70 6c 65 73 2c 20 62 75 74 20 74 68 69 73  amples, but this
2d740 20 73 63 72 69 70 74 2d 6c 65 76 65 6c 20 69 6e   script-level in
2d750 74 65 72 66 61 63 65 20 69 73 20 6e 6f 74 20 66  terface is not f
2d760 69 78 65 64 2e 0a 45 61 63 68 20 74 68 72 65 61  ixed..Each threa
2d770 64 20 68 61 73 20 69 74 73 20 6f 77 6e 20 6e 6f  d has its own no
2d780 74 69 66 69 65 72 20 69 6e 73 74 61 6e 63 65 20  tifier instance 
2d790 74 6f 20 6d 61 6e 61 67 65 20 69 74 73 20 6f 77  to manage its ow
2d7a0 6e 20 65 76 65 6e 74 73 2c 0a 61 6e 64 20 74 68  n events,.and th
2d7b0 72 65 61 64 73 20 63 61 6e 20 70 6f 73 74 20 6d  reads can post m
2d7c0 65 73 73 61 67 65 73 20 74 6f 20 65 61 63 68 20  essages to each 
2d7d0 6f 74 68 65 72 27 73 20 6d 65 73 73 61 67 65 20  other's message 
2d7e0 71 75 65 75 65 2e 0a 54 68 69 73 20 75 73 65 73  queue..This uses
2d7f0 20 70 74 68 72 65 61 64 73 20 6f 6e 20 55 4e 49   pthreads on UNI
2d800 58 2c 20 61 6e 64 20 6e 61 74 69 76 65 20 74 68  X, and native th
2d810 72 65 61 64 20 73 75 70 70 6f 72 74 20 6f 6e 20  read support on 
2d820 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 2e  other platforms.
2d830 0a 59 6f 75 20 65 6e 61 62 6c 65 20 74 68 69 73  .You enable this
2d840 20 62 79 20 63 6f 6e 66 69 67 75 72 69 6e 67 20   by configuring 
2d850 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 74 68  with --enable-th
2d860 72 65 61 64 73 2e 20 20 4e 6f 74 65 20 74 68 61  reads.  Note tha
2d870 74 20 61 74 0a 74 68 69 73 20 74 69 6d 65 20 2a  t at.this time *
2d880 54 6b 2a 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74  Tk* is still not
2d890 20 74 68 72 65 61 64 20 73 61 66 65 2e 20 53 70   thread safe. Sp
2d8a0 65 63 69 61 6c 20 74 68 61 6e 6b 73 20 74 6f 0a  ecial thanks to.
2d8b0 52 69 63 68 61 72 64 20 48 69 70 70 3a 20 68 69  Richard Hipp: hi
2d8c0 73 20 65 61 72 6c 69 65 72 20 69 6d 70 6c 65 6d  s earlier implem
2d8d0 65 6e 74 61 74 69 6f 6e 20 69 6e 73 70 69 72 65  entation inspire
2d8e0 64 20 74 68 69 73 20 77 6f 72 6b 2e 20 28 42 57  d this work. (BW
2d8f0 2c 20 53 53 2c 20 4a 49 29 0a 0a 32 2f 31 38 2f  , SS, JI)..2/18/
2d900 39 38 20 28 68 69 64 64 65 6e 20 66 65 61 74 75  98 (hidden featu
2d910 72 65 20 63 68 61 6e 67 65 29 20 54 68 65 20 77  re change) The w
2d920 61 79 20 74 68 65 20 65 6e 76 28 29 20 61 72 72  ay the env() arr
2d930 61 79 20 69 73 20 73 68 61 72 65 64 20 61 6d 6f  ay is shared amo
2d940 6e 67 0a 69 6e 74 65 72 70 72 65 74 65 72 73 20  ng.interpreters 
2d950 63 68 61 6e 67 65 64 2e 20 20 55 70 64 61 74 65  changed.  Update
2d960 73 20 74 6f 20 65 6e 76 20 75 73 65 64 20 74 6f  s to env used to
2d970 20 74 72 69 67 67 65 72 20 77 72 69 74 65 20 74   trigger write t
2d980 72 61 63 65 73 20 69 6e 0a 6f 74 68 65 72 20 69  races in.other i
2d990 6e 74 65 72 70 72 65 74 65 72 73 2e 20 20 54 68  nterpreters.  Th
2d9a0 69 73 20 75 6e 64 6f 63 75 6d 65 6e 74 65 64 20  is undocumented 
2d9b0 66 65 61 74 75 72 65 20 69 73 20 6e 6f 20 6c 6f  feature is no lo
2d9c0 6e 67 65 72 20 69 6d 70 6c 65 6d 65 6e 74 65 64  nger implemented
2d9d0 2e 0a 49 6e 73 74 65 61 64 2c 20 76 61 72 69 61  ..Instead, varia
2d9e0 62 6c 65 20 74 72 61 63 69 6e 67 20 69 73 20 75  ble tracing is u
2d9f0 73 65 64 20 74 6f 20 6b 65 65 70 20 74 68 65 20  sed to keep the 
2da00 43 2d 6c 65 76 65 6c 20 65 6e 76 69 72 6f 6e 20  C-level environ 
2da10 61 72 72 61 79 20 69 6e 20 73 79 6e 63 0a 77 69  array in sync.wi
2da20 74 68 20 74 68 65 20 54 63 6c 2d 6c 65 76 65 6c  th the Tcl-level
2da30 20 65 6e 76 20 61 72 72 61 79 2e 20 54 68 69 73   env array. This
2da40 20 72 65 71 75 69 72 65 64 20 61 64 64 69 6e 67   required adding
2da50 20 54 43 4c 5f 54 52 41 43 45 5f 41 52 52 41 59   TCL_TRACE_ARRAY
2da60 20 73 75 70 70 6f 72 74 0a 74 6f 20 54 63 6c 5f   support.to Tcl_
2da70 54 72 61 63 65 56 61 72 32 20 73 6f 20 74 68 61  TraceVar2 so tha
2da80 74 20 61 72 72 61 79 20 6e 61 6d 65 73 20 77 6f  t array names wo
2da90 72 6b 73 20 70 72 6f 70 65 72 6c 79 2e 20 28 42  rks properly. (B
2daa0 57 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  W).*** POTENTIAL
2dab0 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
2dac0 20 2a 2a 2a 0a 0a 32 2f 31 38 2f 39 38 20 28 65   ***..2/18/98 (e
2dad0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 43 6f 6e 64  nhancement) Cond
2dae0 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74  itional compilat
2daf0 69 6f 6e 20 66 6f 72 20 75 6e 69 78 20 73 79 73  ion for unix sys
2db00 74 65 6d 73 20 28 65 2e 67 2e 2c 0a 49 52 49 58  tems (e.g.,.IRIX
2db10 2c 20 53 43 4f 29 20 74 68 61 74 20 75 73 65 20  , SCO) that use 
2db20 66 5f 62 73 69 7a 65 20 69 6e 73 74 65 61 64 20  f_bsize instead 
2db30 6f 66 20 73 74 5f 62 6c 6b 73 69 7a 65 20 74 6f  of st_blksize to
2db40 20 64 65 74 65 72 6d 69 6e 65 20 64 69 73 6b 20   determine disk 
2db50 62 6c 6f 63 6b 0a 73 69 7a 65 2e 20 28 43 43 53  block.size. (CCS
2db60 29 0a 0a 32 2f 32 33 2f 39 38 20 28 62 75 67 20  )..2/23/98 (bug 
2db70 66 69 78 29 20 46 69 78 65 64 20 74 68 65 20 65  fix) Fixed the e
2db80 6d 75 6c 61 74 69 6f 6e 20 6f 66 20 70 6f 6c 6c  mulation of poll
2db90 69 6e 67 20 73 65 6c 65 63 74 73 20 69 6e 20 74  ing selects in t
2dba0 68 65 20 74 68 72 65 61 64 65 64 0a 76 65 72 73  he threaded.vers
2dbb0 69 6f 6e 20 6f 66 20 74 68 65 20 55 6e 69 78 20  ion of the Unix 
2dbc0 6e 6f 74 69 66 69 65 72 2e 20 20 54 68 65 20 62  notifier.  The b
2dbd0 75 67 20 77 61 73 20 73 68 6f 77 69 6e 67 20 75  ug was showing u
2dbe0 70 20 6f 6e 20 61 20 6d 75 6c 74 69 70 72 6f 63  p on a multiproc
2dbf0 65 73 73 6f 72 0a 61 73 20 73 74 61 72 76 61 74  essor.as starvat
2dc00 69 6f 6e 20 6f 66 20 74 68 65 20 6e 6f 74 69 66  ion of the notif
2dc10 69 65 72 20 74 68 72 65 61 64 2e 20 28 42 57 29  ier thread. (BW)
2dc20 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
2dc30 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 31  --- Released 8.1
2dc40 61 32 2c 20 46 65 62 20 32 33 20 31 39 39 38 20  a2, Feb 23 1998 
2dc50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2dc60 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 32 2f 39 38  -------..9/22/98
2dc70 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67   (bug fix) Chang
2dc80 65 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20  ed the value of 
2dc90 54 43 4c 5f 54 52 41 43 45 5f 41 52 52 41 59 20  TCL_TRACE_ARRAY 
2dca0 73 6f 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72 0a  so it no longer.
2dcb0 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 74  conflicts with t
2dcc0 68 65 20 64 65 70 72 65 63 61 74 65 64 20 54 43  he deprecated TC
2dcd0 4c 5f 50 41 52 53 45 5f 50 41 52 54 31 20 66 6c  L_PARSE_PART1 fl
2dce0 61 67 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  ag.  This should
2dcf0 0a 69 6d 70 72 6f 76 65 20 70 6f 72 74 61 62 69  .improve portabi
2dd00 6c 69 74 79 20 6f 66 20 43 20 63 6f 64 65 2e 20  lity of C code. 
2dd10 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 36 2f  (stanton)..10/6/
2dd20 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68 65  98 (bug fix) The
2dd30 20 63 6f 6d 70 69 6c 65 20 70 72 6f 63 65 64 75   compile procedu
2dd40 72 65 20 66 6f 72 20 22 69 66 22 20 69 6e 63 6f  re for "if" inco
2dd50 72 72 65 63 74 6c 79 20 61 74 74 65 6d 70 74 65  rrectly attempte
2dd60 64 0a 74 6f 20 6d 61 74 63 68 20 61 67 61 69 6e  d.to match again
2dd70 73 74 20 74 68 65 20 6c 69 74 65 72 61 6c 20 73  st the literal s
2dd80 74 72 69 6e 67 20 22 69 66 22 2c 20 72 65 73 75  tring "if", resu
2dd90 6c 74 69 6e 67 20 69 6e 20 61 20 73 74 61 63 6b  lting in a stack
2dda0 0a 6f 76 65 72 66 6c 6f 77 20 77 68 65 6e 20 22  .overflow when "
2ddb0 3a 3a 69 66 22 20 77 61 73 20 63 6f 6d 70 69 6c  ::if" was compil
2ddc0 65 64 2e 20 20 49 74 20 61 6c 73 6f 20 77 6f 75  ed.  It also wou
2ddd0 6c 64 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 61  ld incorrectly a
2dde0 63 63 65 70 74 0a 22 69 66 22 20 69 6e 73 74 65  ccept."if" inste
2ddf0 61 64 20 6f 66 20 22 65 6c 73 69 66 22 20 69 6e  ad of "elsif" in
2de00 20 6c 61 74 65 72 20 63 6c 61 75 73 65 73 2e 20   later clauses. 
2de10 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 31   (stanton)..10/1
2de20 35 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72  5/98 (new featur
2de30 65 29 20 41 64 64 65 64 20 61 20 22 74 6f 74 69  e) Added a "toti
2de40 74 6c 65 22 20 73 75 62 63 6f 6d 6d 61 6e 64 20  tle" subcommand 
2de50 74 6f 20 74 68 65 20 22 73 74 72 69 6e 67 22 0a  to the "string".
2de60 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 6f 6e 76 65  command to conve
2de70 72 74 20 73 74 72 69 6e 67 73 20 74 6f 20 63 61  rt strings to ca
2de80 70 69 74 61 6c 69 7a 65 20 74 68 65 20 66 69 72  pitalize the fir
2de90 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66 20  st character of 
2dea0 61 20 73 74 72 69 6e 67 0a 61 6e 64 20 6c 6f 77  a string.and low
2deb0 65 72 63 61 73 65 20 61 6c 6c 20 6f 66 20 74 68  ercase all of th
2dec0 65 20 6f 74 68 65 72 20 63 68 61 72 61 63 74 65  e other characte
2ded0 72 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31  rs. (stanton)..1
2dee0 30 2f 31 35 2f 39 38 20 28 62 75 67 20 66 69 78  0/15/98 (bug fix
2def0 29 20 43 68 61 6e 67 65 64 20 72 65 67 65 78 70  ) Changed regexp
2df00 20 61 6e 64 20 73 74 72 69 6e 67 20 63 6f 6d 6d   and string comm
2df10 61 6e 64 73 20 74 6f 20 70 72 6f 70 65 72 6c 79  ands to properly
2df20 0a 68 61 6e 64 6c 65 20 63 61 73 65 20 66 6f 6c  .handle case fol
2df30 64 69 6e 67 20 61 63 63 6f 72 64 69 6e 67 20 74  ding according t
2df40 6f 20 74 68 65 20 55 6e 69 63 6f 64 65 20 63 68  o the Unicode ch
2df50 61 72 61 63 74 65 72 0a 74 61 62 6c 65 73 2e 20  aracter.tables. 
2df60 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 32 31  (stanton)..10/21
2df70 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65  /98 (new feature
2df80 29 20 41 64 64 65 64 20 61 6e 20 22 65 6e 63 6f  ) Added an "enco
2df90 64 69 6e 67 22 20 63 6f 6d 6d 61 6e 64 20 74 6f  ding" command to
2dfa0 20 66 61 63 69 6c 69 74 61 74 65 0a 74 72 61 6e   facilitate.tran
2dfb0 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 74 72 69  slations of stri
2dfc0 6e 67 73 20 62 65 74 77 65 65 6e 20 64 69 66 66  ngs between diff
2dfd0 65 72 65 6e 74 20 63 68 61 72 61 63 74 65 72 20  erent character 
2dfe0 65 6e 63 6f 64 69 6e 67 73 2e 20 20 53 65 65 0a  encodings.  See.
2dff0 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e 6e 20 6d  the encoding.n m
2e000 61 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f 72 20  anual entry for 
2e010 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 20 28 73  more details. (s
2e020 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 2f 39 38  tanton)..11/3/98
2e030 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 72   (bug fix) The r
2e040 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
2e050 6e 20 63 68 61 72 61 63 74 65 72 20 63 6c 61 73  n character clas
2e060 73 69 66 69 63 61 74 69 6f 6e 0a 73 79 6e 74 61  sification.synta
2e070 78 20 6e 6f 77 20 69 6e 63 6c 75 64 65 73 20 55  x now includes U
2e080 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72  nicode character
2e090 73 20 69 6e 20 74 68 65 20 73 75 70 70 6f 72 74  s in the support
2e0a0 65 64 0a 63 6c 61 73 73 65 73 2e 20 28 73 74 61  ed.classes. (sta
2e0b0 6e 74 6f 6e 29 0a 0a 31 31 2f 36 2f 39 38 20 28  nton)..11/6/98 (
2e0c0 62 75 67 20 66 69 78 29 20 56 61 72 69 61 62 6c  bug fix) Variabl
2e0d0 65 20 74 72 61 63 65 73 20 77 65 72 65 20 63 61  e traces were ca
2e0e0 75 73 69 6e 67 20 63 72 61 73 68 65 73 20 77 68  using crashes wh
2e0f0 65 6e 20 75 70 76 61 72 0a 76 61 72 69 61 62 6c  en upvar.variabl
2e100 65 73 20 77 65 6e 74 20 6f 75 74 20 6f 66 20 73  es went out of s
2e110 63 6f 70 65 2e 20 5b 42 75 67 3a 20 37 39 36 5d  cope. [Bug: 796]
2e120 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 39   (stanton)..11/9
2e130 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 22 66  /98 (bug fix) "f
2e140 6f 72 6d 61 74 22 20 6e 6f 77 20 63 6f 72 72 65  ormat" now corre
2e150 63 74 6c 79 20 68 61 6e 64 6c 65 73 20 6d 75 6c  ctly handles mul
2e160 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65 72  tibyte character
2e170 73 0a 69 6e 20 25 73 20 66 6f 72 6d 61 74 20 73  s.in %s format s
2e180 74 72 69 6e 67 73 2e 20 28 73 74 61 6e 74 6f 6e  trings. (stanton
2e190 29 0a 0a 31 31 2f 31 30 2f 39 38 20 28 6e 65 77  )..11/10/98 (new
2e1a0 20 66 65 61 74 75 72 65 29 20 22 72 65 67 65 78   feature) "regex
2e1b0 70 22 20 6e 6f 77 20 61 63 63 65 70 74 73 20 74  p" now accepts t
2e1c0 68 72 65 65 20 6e 65 77 20 73 77 69 74 63 68 65  hree new switche
2e1d0 73 0a 28 22 2d 6c 69 6e 65 22 2c 20 22 2d 6c 69  s.("-line", "-li
2e1e0 6e 65 61 6e 63 68 6f 72 22 2c 20 61 6e 64 20 22  neanchor", and "
2e1f0 2d 6c 69 6e 65 73 74 6f 70 22 29 20 74 68 61 74  -linestop") that
2e200 20 63 6f 6e 74 72 6f 6c 20 68 6f 77 20 72 65 67   control how reg
2e210 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 73  ular.expressions
2e220 20 74 72 65 61 74 20 6c 69 6e 65 20 62 72 65 61   treat line brea
2e230 6b 73 2e 20 53 65 65 20 74 68 65 20 72 65 67 65  ks. See the rege
2e240 78 70 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20  xp manual entry 
2e250 66 6f 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73  for more.details
2e260 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f  . (stanton)..11/
2e270 31 37 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  17/98 (bug fix) 
2e280 22 73 63 61 6e 22 20 6e 6f 77 20 63 6f 72 72 65  "scan" now corre
2e290 63 74 6c 79 20 68 61 6e 64 6c 65 73 20 55 6e 69  ctly handles Uni
2e2a0 63 6f 64 65 0a 63 68 61 72 61 63 74 65 72 73 2e  code.characters.
2e2b0 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 31   (stanton)..11/1
2e2c0 37 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72  7/98 (new featur
2e2d0 65 29 20 22 73 63 61 6e 22 20 6e 6f 77 20 73 75  e) "scan" now su
2e2e0 70 70 6f 72 74 73 20 58 50 47 33 20 70 6f 73 69  pports XPG3 posi
2e2f0 74 69 6f 6e 20 73 70 65 63 69 66 69 65 72 73 0a  tion specifiers.
2e300 61 6e 64 20 74 68 65 20 22 25 6e 22 20 63 6f 6e  and the "%n" con
2e310 76 65 72 73 69 6f 6e 20 63 68 61 72 61 63 74 65  version characte
2e320 72 2e 20 20 53 65 65 20 74 68 65 20 22 73 63 61  r.  See the "sca
2e330 6e 22 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20  n" manual entry 
2e340 66 6f 72 0a 6d 6f 72 65 20 64 65 74 61 69 6c 73  for.more details
2e350 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f  . (stanton)..11/
2e360 31 37 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  17/98 (bug fix) 
2e370 54 68 65 20 54 63 6c 20 6d 65 6d 6f 72 79 20 61  The Tcl memory a
2e380 6c 6c 6f 63 61 74 6f 72 20 6e 6f 77 20 72 65 74  llocator now ret
2e390 75 72 6e 73 20 38 2d 62 79 74 65 20 61 6c 69 67  urns 8-byte alig
2e3a0 6e 65 64 0a 63 68 75 6e 6b 73 20 6f 66 20 6d 65  ned.chunks of me
2e3b0 6d 6f 72 79 20 77 68 69 63 68 20 69 6d 70 72 6f  mory which impro
2e3c0 76 65 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20  ves performance 
2e3d0 6f 6e 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 61  on Windows and a
2e3e0 76 6f 69 64 73 0a 63 72 61 73 68 65 73 20 6f 6e  voids.crashes on
2e3f0 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73   other platforms
2e400 2e 20 5b 42 75 67 3a 20 38 33 34 5d 20 28 73 74  . [Bug: 834] (st
2e410 61 6e 74 6f 6e 29 0a 0a 31 31 2f 32 33 2f 39 38  anton)..11/23/98
2e420 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c 69   (bug fix) Appli
2e430 65 64 20 76 61 72 69 6f 75 73 20 72 65 67 75 6c  ed various regul
2e440 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 70 65  ar expression pe
2e450 72 66 6f 72 6d 61 6e 63 65 20 62 75 67 0a 66 69  rformance bug.fi
2e460 78 65 73 20 73 75 70 70 6c 69 65 64 20 62 79 20  xes supplied by 
2e470 48 65 6e 72 79 20 53 70 65 6e 63 65 72 2e 20 28  Henry Spencer. (
2e480 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 30 2f  stanton)..11/30/
2e490 39 38 20 28 62 75 67 20 66 69 78 29 20 46 69 78  98 (bug fix) Fix
2e4a0 65 64 20 76 61 72 69 6f 75 73 20 74 68 72 65 61  ed various threa
2e4b0 64 20 72 65 6c 61 74 65 64 20 72 61 63 65 20 63  d related race c
2e4c0 6f 6e 64 69 74 69 6f 6e 73 2e 20 5b 42 75 67 3a  onditions. [Bug:
2e4d0 0a 38 38 30 20 26 20 36 30 37 5d 20 28 73 74 61  .880 & 607] (sta
2e4e0 6e 74 6f 6e 29 0a 0a 31 31 2f 33 30 2f 39 38 20  nton)..11/30/98 
2e4f0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
2e500 61 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 6f  a number of memo
2e510 72 79 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20  ry overflow and 
2e520 6c 65 61 6b 0a 62 75 67 73 2e 20 5b 42 75 67 3a  leak.bugs. [Bug:
2e530 20 35 38 34 5d 20 28 73 74 61 6e 74 6f 6e 29 0a   584] (stanton).
2e540 0a 31 32 2f 31 2f 39 38 20 28 6e 65 77 20 66 65  .12/1/98 (new fe
2e550 61 75 72 65 29 20 41 64 64 65 64 20 73 75 70 70  aure) Added supp
2e560 6f 72 74 20 66 6f 72 20 4b 6f 72 65 61 6e 20 65  ort for Korean e
2e570 6e 63 6f 64 69 6e 67 73 2e 20 28 73 74 61 6e 74  ncodings. (stant
2e580 6f 6e 29 0a 0a 31 32 2f 31 2f 39 38 20 28 66 65  on)..12/1/98 (fe
2e590 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68  ature change) Ch
2e5a0 61 6e 67 65 64 20 74 68 65 20 54 63 6c 5f 45 76  anged the Tcl_Ev
2e5b0 61 6c 4f 62 6a 76 20 69 6e 74 65 72 66 61 63 65  alObjv interface
2e5c0 20 74 6f 20 72 65 6d 6f 76 65 0a 74 68 65 20 73   to remove.the s
2e5d0 74 72 69 6e 67 20 61 6e 64 20 6c 65 6e 67 74 68  tring and length
2e5e0 20 61 72 67 75 6d 65 6e 74 73 2e 0a 2a 2a 2a 20   arguments..*** 
2e5f0 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
2e600 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 70  ATIBILITY with p
2e610 72 65 76 69 6f 75 73 20 61 6c 70 68 61 20 72 65  revious alpha re
2e620 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 31 32 2f 32  leases ***..12/2
2e630 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 46 69  /98 (bug fix) Fi
2e640 78 65 64 20 76 61 72 69 6f 75 73 20 62 75 67 73  xed various bugs
2e650 20 72 65 6c 61 74 65 64 20 74 6f 20 6c 69 6e 65   related to line
2e660 20 66 65 65 64 0a 74 72 61 6e 73 6c 61 74 69 6f   feed.translatio
2e670 6e 2e 20 5b 42 75 67 3a 20 38 38 37 5d 20 28 73  n. [Bug: 887] (s
2e680 74 61 6e 74 6f 6e 29 0a 0a 31 32 2f 34 2f 39 38  tanton)..12/4/98
2e690 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
2e6a0 64 64 65 64 20 61 20 6d 65 73 73 61 67 65 20 63  dded a message c
2e6b0 61 74 61 6c 6f 67 20 66 61 63 69 6c 69 74 79 20  atalog facility 
2e6c0 74 6f 20 68 65 6c 70 20 77 69 74 68 0a 6c 6f 63  to help with.loc
2e6d0 61 6c 69 7a 69 6e 67 20 54 63 6c 20 73 63 72 69  alizing Tcl scri
2e6e0 70 74 73 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20  pts.  Thanks to 
2e6f0 4d 61 72 6b 20 48 61 72 72 69 73 6f 6e 20 66 6f  Mark Harrison fo
2e700 72 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 20 74  r contributing t
2e710 68 65 0a 69 6e 69 74 69 61 6c 20 69 6d 70 6c 65  he.initial imple
2e720 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65  mentation of the
2e730 20 22 6d 73 67 63 61 74 22 20 70 61 63 6b 61 67   "msgcat" packag
2e740 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 32  e. (stanton)..12
2e750 2f 37 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  /7/98 (bug fix) 
2e760 54 68 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63  The memory alloc
2e770 61 74 6f 72 20 77 61 73 20 66 61 69 6c 69 6e 67  ator was failing
2e780 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 0a 62   to update the.b
2e790 6c 6f 63 6b 20 6c 69 73 74 20 66 6f 72 20 6c 61  lock list for la
2e7a0 72 67 65 20 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b  rge memory block
2e7b0 73 20 74 68 61 74 20 77 65 72 65 20 72 65 61 6c  s that were real
2e7c0 6c 6f 63 61 74 65 64 20 69 6e 74 6f 20 61 0a 64  located into a.d
2e7d0 69 66 66 65 72 65 6e 74 20 61 64 64 72 65 73 73  ifferent address
2e7e0 2e 20 5b 42 75 67 3a 20 39 33 33 5d 20 28 73 74  . [Bug: 933] (st
2e7f0 61 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  anton)..--------
2e800 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
2e810 65 64 20 38 2e 31 62 31 2c 20 44 65 63 20 31 30  ed 8.1b1, Dec 10
2e820 20 31 39 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   1998 ----------
2e830 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31  -------------..1
2e840 32 2f 32 32 2f 39 38 20 28 70 65 72 66 6f 72 6d  2/22/98 (perform
2e850 61 6e 63 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74  ance improvement
2e860 29 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20 2d  ) Improved the -
2e870 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20 6f  command option o
2e880 66 20 74 68 65 0a 6c 73 6f 72 74 20 63 6f 6d 6d  f the.lsort comm
2e890 61 6e 64 20 74 6f 20 62 65 74 74 65 72 20 75 73  and to better us
2e8a0 65 20 74 68 65 20 6f 62 6a 65 63 74 20 73 79 73  e the object sys
2e8b0 74 65 6d 20 66 6f 72 20 69 6d 70 72 6f 76 65 64  tem for improved
2e8c0 0a 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 61 62  .performance (ab
2e8d0 6f 75 74 20 35 78 20 73 70 65 65 64 20 75 70 29  out 5x speed up)
2e8e0 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 53 79 64  .  Thanks to Syd
2e8f0 20 50 6f 6c 6b 20 66 6f 72 20 73 75 70 70 6c 69   Polk for suppli
2e900 6e 67 20 74 68 65 0a 70 61 74 63 68 2e 20 5b 52  ng the.patch. [R
2e910 46 45 3a 20 37 32 36 5d 20 28 72 6a 6f 68 6e 73  FE: 726] (rjohns
2e920 6f 6e 29 0a 0a 32 2f 31 30 2f 39 39 20 28 62 75  on)..2/10/99 (bu
2e930 67 20 66 69 78 29 20 52 65 73 74 6f 72 65 64 20  g fix) Restored 
2e940 74 68 65 20 54 63 6c 5f 4f 62 6a 53 65 74 56 61  the Tcl_ObjSetVa
2e950 72 32 2f 54 63 6c 5f 4f 62 6a 47 65 74 56 61 72  r2/Tcl_ObjGetVar
2e960 32 0a 69 6e 74 65 72 66 61 63 65 73 20 66 72 6f  2.interfaces fro
2e970 6d 20 38 2e 30 20 61 6e 64 20 72 65 6e 61 6d 65  m 8.0 and rename
2e980 64 20 74 68 65 20 54 63 6c 5f 47 65 74 4f 62 6a  d the Tcl_GetObj
2e990 56 61 72 32 2f 54 63 6c 5f 53 65 74 4f 62 6a 56  Var2/Tcl_SetObjV
2e9a0 61 72 32 0a 69 6e 74 65 72 66 61 63 65 73 20 74  ar2.interfaces t
2e9b0 6f 20 54 63 6c 5f 47 65 74 56 61 72 32 45 78 20  o Tcl_GetVar2Ex 
2e9c0 61 6e 64 20 54 63 6c 5f 53 65 74 56 61 72 32 45  and Tcl_SetVar2E
2e9d0 78 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20  x.  This should 
2e9e0 70 72 6f 76 69 64 65 0a 62 65 74 74 65 72 20 63  provide.better c
2e9f0 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74  ompatibility wit
2ea00 68 20 38 2e 30 2e 20 28 73 74 61 6e 74 6f 6e 29  h 8.0. (stanton)
2ea10 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
2ea20 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77  NCOMPATIBILITY w
2ea30 69 74 68 20 70 72 65 76 69 6f 75 73 20 61 6c 70  ith previous alp
2ea40 68 61 2f 62 65 74 61 20 72 65 6c 65 61 73 65 73  ha/beta releases
2ea50 20 2a 2a 2a 0a 0a 32 2f 31 30 2f 39 39 20 28 62   ***..2/10/99 (b
2ea60 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68 65  ug fix) Made the
2ea70 20 65 76 61 6c 20 69 6e 74 65 72 66 61 63 65 73   eval interfaces
2ea80 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68   compatible with
2ea90 20 38 2e 30 20 62 79 0a 72 65 6e 61 6d 69 6e 67   8.0 by.renaming
2eaa0 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 20 74 6f 20   Tcl_EvalObj to 
2eab0 54 63 6c 5f 45 76 61 6c 4f 62 6a 45 78 2c 20 72  Tcl_EvalObjEx, r
2eac0 65 6e 61 6d 69 6e 67 20 54 63 6c 5f 45 76 61 6c  enaming Tcl_Eval
2ead0 32 20 74 6f 0a 54 63 6c 5f 45 76 61 6c 45 78 20  2 to.Tcl_EvalEx 
2eae0 61 6e 64 20 72 65 73 74 6f 72 69 6e 67 20 54 63  and restoring Tc
2eaf0 6c 5f 45 76 61 6c 4f 62 6a 20 61 6e 64 20 54 63  l_EvalObj and Tc
2eb00 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 4f 62 6a 20  l_GlobalEvalObj 
2eb10 69 6e 74 65 72 66 61 63 65 73 0a 73 6f 20 74 68  interfaces.so th
2eb20 65 79 20 6d 61 74 63 68 20 54 63 6c 20 38 2e 30  ey match Tcl 8.0
2eb30 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a 20  . (stanton).*** 
2eb40 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
2eb50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 70  ATIBILITY with p
2eb60 72 65 76 69 6f 75 73 20 61 6c 70 68 61 2f 62 65  revious alpha/be
2eb70 74 61 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a 0a  ta releases ***.
2eb80 0a 32 2f 32 35 2f 39 39 20 28 62 75 67 20 66 69  .2/25/99 (bug fi
2eb90 78 2f 6e 65 77 20 66 65 61 74 75 72 65 29 20 4f  x/new feature) O
2eba0 6e 20 57 69 6e 64 6f 77 73 2c 20 74 68 65 20 63  n Windows, the c
2ebb0 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 66  hannel drivers f
2ebc0 6f 72 0a 63 6f 6e 73 6f 6c 65 73 20 61 6e 64 20  or.consoles and 
2ebd0 73 65 72 69 61 6c 20 70 6f 72 74 73 20 6e 6f 77  serial ports now
2ebe0 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 75 70 70   completely supp
2ebf0 6f 72 74 20 66 69 6c 65 20 65 76 65 6e 74 73 2e  ort file events.
2ec00 20 28 72 65 64 6d 61 6e 29 0a 0a 33 2f 35 2f 39   (redman)..3/5/9
2ec10 39 20 28 62 75 67 20 66 69 78 29 20 49 6e 74 65  9 (bug fix) Inte
2ec20 67 72 61 74 65 64 20 70 61 74 63 68 65 73 20 74  grated patches t
2ec30 6f 20 66 69 78 20 76 61 72 69 6f 75 73 20 63 6f  o fix various co
2ec40 6e 66 69 67 75 72 65 20 70 72 6f 62 6c 65 6d 73  nfigure problems
2ec50 0a 74 68 61 74 20 61 66 66 65 63 74 65 64 20 48  .that affected H
2ec60 50 2d 55 58 2d 31 31 2c 20 36 34 2d 62 69 74 20  P-UX-11, 64-bit 
2ec70 49 52 49 58 2c 20 4c 69 6e 75 78 2c 20 61 6e 64  IRIX, Linux, and
2ec80 20 53 6f 6c 61 72 69 73 2e 20 28 73 74 61 6e 74   Solaris. (stant
2ec90 6f 6e 29 0a 0a 33 2f 39 2f 39 39 20 28 62 75 67  on)..3/9/99 (bug
2eca0 20 66 69 78 29 20 49 6e 74 65 67 72 61 74 65 64   fix) Integrated
2ecb0 20 76 61 72 69 6f 75 73 20 41 49 58 20 72 65 6c   various AIX rel
2ecc0 61 74 65 64 20 70 61 74 63 68 65 73 20 74 6f 20  ated patches to 
2ecd0 69 6d 70 72 6f 76 65 0a 73 75 70 70 6f 72 74 20  improve.support 
2ece0 66 6f 72 20 73 68 61 72 65 64 20 6c 69 62 72 61  for shared libra
2ecf0 72 69 65 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  ries. (stanton).
2ed00 0a 33 2f 39 2f 39 39 20 28 6e 65 77 20 66 65 61  .3/9/99 (new fea
2ed10 74 75 72 65 29 20 41 64 64 65 64 20 74 63 6c 5f  ture) Added tcl_
2ed20 70 6c 61 74 66 6f 72 6d 28 75 73 65 72 29 20 74  platform(user) t
2ed30 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 72 74  o provide a port
2ed40 61 62 6c 65 0a 77 61 79 20 74 6f 20 67 65 74 20  able.way to get 
2ed50 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20  the name of the 
2ed60 63 75 72 72 65 6e 74 20 75 73 65 72 2e 20 28 77  current user. (w
2ed70 65 6c 63 68 29 0a 0a 33 2f 39 2f 39 39 20 28 6e  elch)..3/9/99 (n
2ed80 65 77 20 66 65 61 74 75 72 65 29 20 49 6e 74 65  ew feature) Inte
2ed90 67 72 61 74 65 64 20 74 68 65 20 73 74 75 62 20  grated the stub 
2eda0 6c 69 62 72 61 72 79 20 6d 65 63 68 61 6e 69 73  library mechanis
2edb0 6d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 62 79  m contributed.by
2edc0 20 4a 61 6e 20 4e 69 6a 74 6d 61 6e 73 2c 20 50   Jan Nijtmans, P
2edd0 61 75 6c 20 44 75 66 66 69 6e 2c 20 61 6e 64 20  aul Duffin, and 
2ede0 4a 65 61 6e 2d 43 6c 61 75 64 65 20 57 69 70 70  Jean-Claude Wipp
2edf0 6c 65 72 2e 20 20 54 68 69 73 20 66 65 61 74 75  ler.  This featu
2ee00 72 65 0a 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69  re.should make i
2ee10 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72  t possible to wr
2ee20 69 74 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 74  ite extensions t
2ee30 68 61 74 20 73 75 70 70 6f 72 74 20 6d 75 6c 74  hat support mult
2ee40 69 70 6c 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66  iple.versions of
2ee50 20 54 63 6c 20 73 69 6d 75 6c 74 61 6e 65 6f 75   Tcl simultaneou
2ee60 73 6c 79 2e 20 20 49 74 20 61 6c 73 6f 20 6d 61  sly.  It also ma
2ee70 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20  kes it possible 
2ee80 74 6f 0a 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c  to.dynamically l
2ee90 6f 61 64 20 65 78 74 65 6e 73 69 6f 6e 73 20 69  oad extensions i
2eea0 6e 74 6f 20 73 74 61 74 69 63 61 6c 6c 79 20 6c  nto statically l
2eeb0 69 6e 6b 65 64 20 69 6e 74 65 72 70 72 65 74 65  inked interprete
2eec0 72 73 2e 20 20 54 68 69 73 0a 70 61 74 63 68 20  rs.  This.patch 
2eed0 69 6e 63 6c 75 64 65 73 20 74 68 65 20 66 6f 6c  includes the fol
2eee0 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73 3a 0a  lowing changes:.
2eef0 20 20 20 20 20 20 2d 09 41 64 64 65 64 20 61 20        -.Added a 
2ef00 54 63 6c 5f 49 6e 69 74 53 74 75 62 73 28 29 20  Tcl_InitStubs() 
2ef10 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20 20  interface.      
2ef20 2d 09 41 64 64 65 64 20 54 63 6c 5f 50 6b 67 50  -.Added Tcl_PkgP
2ef30 72 6f 76 69 64 65 45 78 2c 20 54 63 6c 5f 50 6b  rovideEx, Tcl_Pk
2ef40 67 52 65 71 75 69 72 65 45 78 2c 20 54 63 6c 5f  gRequireEx, Tcl_
2ef50 50 6b 67 50 72 65 73 65 6e 74 45 78 2c 0a 20 20  PkgPresentEx,.  
2ef60 20 20 20 20 09 61 6e 64 20 54 63 6c 5f 50 6b 67      .and Tcl_Pkg
2ef70 50 72 65 73 65 6e 74 2e 0a 20 20 20 20 20 20 2d  Present..      -
2ef80 20 41 64 64 65 64 20 76 61 5f 6c 69 73 74 20 76   Added va_list v
2ef90 65 72 73 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 56  ersions of all V
2efa0 41 52 41 52 47 53 20 66 75 6e 63 74 69 6f 6e 73  ARARGS functions
2efb0 20 73 6f 20 74 68 65 79 20 63 61 6e 20 62 65 0a   so they can be.
2efc0 09 69 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77 72  .invoked from wr
2efd0 61 70 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e  apper functions.
2efe0 0a 53 65 65 20 74 68 65 20 6d 61 6e 75 61 6c 20  .See the manual 
2eff0 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
2f000 74 69 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  tion. (stanton).
2f010 0a 0a 33 2f 31 30 2f 39 39 20 28 66 65 61 74 75  ..3/10/99 (featu
2f020 72 65 20 63 68 61 6e 67 65 29 20 52 65 70 6c 61  re change) Repla
2f030 63 65 64 20 54 63 6c 5f 41 6c 65 72 74 4e 6f 74  ced Tcl_AlertNot
2f040 69 66 69 65 72 20 77 69 74 68 0a 54 63 6c 5f 54  ifier with.Tcl_T
2f050 68 72 65 61 64 41 6c 65 72 74 20 73 69 6e 63 65  hreadAlert since
2f060 20 74 68 65 20 54 63 6c 5f 41 6c 65 72 74 4e 6f   the Tcl_AlertNo
2f070 74 69 66 69 65 72 20 66 75 6e 63 74 69 6f 6e 20  tifier function 
2f080 72 65 6c 69 65 64 20 6f 6e 20 70 61 73 73 69 6e  relied on passin
2f090 67 0a 69 6e 74 65 72 6e 61 6c 20 64 61 74 61 20  g.internal data 
2f0a0 73 74 72 75 63 74 75 72 65 73 2e 20 28 73 74 61  structures. (sta
2f0b0 6e 74 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54  nton).*** POTENT
2f0c0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
2f0d0 49 54 59 20 77 69 74 68 20 70 72 65 76 69 6f 75  ITY with previou
2f0e0 73 20 61 6c 70 68 61 2f 62 65 74 61 20 72 65 6c  s alpha/beta rel
2f0f0 65 61 73 65 73 20 2a 2a 2a 0a 0a 33 2f 31 30 2f  eases ***..3/10/
2f100 39 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  99 (new feature)
2f110 20 41 64 64 65 64 20 61 20 54 63 6c 5f 47 65 74   Added a Tcl_Get
2f120 56 65 72 73 69 6f 6e 20 41 50 49 20 74 6f 20 6d  Version API to m
2f130 61 6b 65 20 69 74 20 65 61 73 69 65 72 20 74 6f  ake it easier to
2f140 0a 63 68 65 63 6b 20 74 68 65 20 54 63 6c 20 76  .check the Tcl v
2f150 65 72 73 69 6f 6e 20 61 6e 64 20 70 61 74 63 68  ersion and patch
2f160 20 6c 65 76 65 6c 20 66 72 6f 6d 20 43 2e 20 28   level from C. (
2f170 72 65 64 6d 61 6e 29 0a 0a 33 2f 31 34 2f 39 39  redman)..3/14/99
2f180 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
2f190 29 20 54 72 69 65 64 20 74 6f 20 75 6e 69 66 79  ) Tried to unify
2f1a0 20 74 68 65 20 54 63 6c 70 49 6e 69 74 4c 69 62   the TclpInitLib
2f1b0 72 61 72 79 20 70 61 74 68 0a 72 6f 75 74 69 6e  rary path.routin
2f1c0 65 73 20 74 6f 20 6c 6f 6f 6b 20 69 6e 20 73 69  es to look in si
2f1d0 6d 69 6c 61 72 20 70 6c 61 63 65 73 20 66 72 6f  milar places fro
2f1e0 6d 20 57 69 6e 64 6f 77 73 20 74 6f 20 55 4e 49  m Windows to UNI
2f1f0 58 2e 20 20 54 68 65 20 6e 65 77 0a 6c 69 62 72  X.  The new.libr
2f200 61 72 79 20 73 65 61 72 63 68 20 70 61 74 68 20  ary search path 
2f210 69 73 3a 20 54 43 4c 5f 4c 49 42 52 41 52 59 2c  is: TCL_LIBRARY,
2f220 20 54 43 4c 5f 4c 49 42 52 41 52 59 2f 2e 2e 2f   TCL_LIBRARY/../
2f230 74 63 6c 38 2e 31 2c 20 72 65 6c 61 74 69 76 65  tcl8.1, relative
2f240 0a 74 6f 20 44 4c 4c 20 28 57 69 6e 64 6f 77 73  .to DLL (Windows
2f250 20 4f 6e 6c 79 29 20 72 65 6c 61 74 69 76 65 20   Only) relative 
2f260 74 6f 20 69 6e 73 74 61 6c 6c 65 64 20 65 78 65  to installed exe
2f270 63 75 74 61 62 6c 65 2c 20 72 65 6c 61 74 69 76  cutable, relativ
2f280 65 20 74 6f 0a 64 65 76 65 6c 6f 70 20 65 78 65  e to.develop exe
2f290 63 75 74 61 62 6c 65 2c 20 61 6e 64 20 72 65 6c  cutable, and rel
2f2a0 61 74 69 76 65 20 74 6f 20 63 6f 6d 70 69 6c 65  ative to compile
2f2b0 64 2d 69 6e 20 69 6e 20 6c 6f 63 61 74 69 6f 6e  d-in in location
2f2c0 20 28 55 4e 49 58 0a 4f 6e 6c 79 2e 29 20 20 54   (UNIX.Only.)  T
2f2d0 68 69 73 20 66 69 78 20 69 6e 63 6c 75 64 65 64  his fix included
2f2e0 3a 0a 20 20 20 20 2d 20 44 65 66 69 6e 69 6e 67  :.    - Defining
2f2f0 20 61 20 54 63 6c 70 46 69 6e 64 45 78 65 63 75   a TclpFindExecu
2f300 74 61 62 6c 65 0a 20 20 20 20 2d 20 4d 6f 76 69  table.    - Movi
2f310 6e 67 20 54 63 6c 5f 46 69 6e 64 45 78 65 63 75  ng Tcl_FindExecu
2f320 74 61 62 6c 65 20 74 6f 20 61 20 63 6f 6d 6d 6f  table to a commo
2f330 6e 20 61 72 65 61 20 69 6e 20 74 63 6c 45 6e 63  n area in tclEnc
2f340 6f 64 69 6e 67 2e 63 0a 20 20 20 20 2d 20 4d 6f  oding.c.    - Mo
2f350 64 69 66 79 69 6e 67 20 74 68 65 20 54 63 6c 70  difying the Tclp
2f360 49 6e 69 74 4c 69 62 72 61 72 79 50 61 74 68 20  InitLibraryPath 
2f370 72 6f 75 74 69 6e 65 73 2e 0a 28 73 75 72 6c 65  routines..(surle
2f380 73 29 0a 0a 33 2f 31 34 2f 39 39 20 28 66 65 61  s)..3/14/99 (fea
2f390 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64  ture change) Add
2f3a0 65 64 20 68 6f 6f 6b 73 20 66 6f 72 20 54 63 6c  ed hooks for Tcl
2f3b0 50 72 6f 20 57 72 61 70 70 65 72 20 74 6f 20 69  Pro Wrapper to i
2f3c0 6e 69 74 69 61 6c 69 7a 65 0a 74 68 65 20 6c 6f  nitialize.the lo
2f3d0 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e  cation of the en
2f3e0 63 6f 64 69 6e 67 20 66 69 6c 65 73 20 61 6e 64  coding files and
2f3f0 20 6c 69 62 72 61 72 69 65 73 2e 20 20 54 68 69   libraries.  Thi
2f400 73 20 66 69 78 20 69 6e 63 6c 75 64 65 64 3a 0a  s fix included:.
2f410 20 20 20 20 2d 20 41 64 64 69 6e 67 20 74 68 65      - Adding the
2f420 20 54 63 6c 53 65 74 50 65 72 49 6e 69 74 53 63   TclSetPerInitSc
2f430 72 69 70 74 20 72 6f 75 74 69 6e 65 2e 0a 20 20  ript routine..  
2f440 20 20 2d 20 4d 6f 64 69 66 79 69 6e 67 20 74 68    - Modifying th
2f450 65 20 54 63 6c 5f 49 6e 69 74 20 72 6f 75 74 69  e Tcl_Init routi
2f460 6e 65 73 20 74 6f 20 65 76 61 6c 75 61 74 65 20  nes to evaluate 
2f470 74 68 65 20 6e 6f 6e 2d 4e 55 4c 4c 0a 20 20 20  the non-NULL.   
2f480 20 20 20 70 72 65 2d 69 6e 69 74 20 73 63 72 69     pre-init scri
2f490 70 74 2e 0a 20 20 20 20 2d 20 41 64 64 69 6e 67  pt..    - Adding
2f4a0 20 74 68 65 20 54 63 6c 5f 53 65 74 64 65 66 61   the Tcl_Setdefa
2f4b0 75 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 20 61  ultEncodingDir a
2f4c0 6e 64 20 54 63 6c 5f 47 65 74 44 65 66 61 75 6c  nd Tcl_GetDefaul
2f4d0 74 45 6e 63 6f 64 69 6e 67 44 69 72 0a 20 20 20  tEncodingDir.   
2f4e0 20 20 20 72 6f 75 74 69 6e 65 73 2e 0a 20 20 20     routines..   
2f4f0 20 2d 20 4d 6f 64 69 66 79 69 6e 67 20 74 68 65   - Modifying the
2f500 20 54 63 6c 70 49 6e 69 74 4c 69 62 72 61 72 79   TclpInitLibrary
2f510 20 72 6f 75 74 69 6e 65 73 20 74 6f 20 61 70 70   routines to app
2f520 65 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 0a  end the default.
2f530 20 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 64        encoding d
2f540 69 72 2e 0a 28 73 75 72 6c 65 73 29 0a 0a 33 2f  ir..(surles)..3/
2f550 31 34 2f 39 39 20 28 66 65 61 74 75 72 65 20 63  14/99 (feature c
2f560 68 61 6e 67 65 29 20 54 65 73 74 20 73 75 69 74  hange) Test suit
2f570 65 20 6e 6f 77 20 75 73 65 73 20 22 74 65 73 74  e now uses "test
2f580 22 20 6e 61 6d 65 73 70 61 63 65 20 74 6f 0a 64  " namespace to.d
2f590 65 66 69 6e 65 20 74 68 65 20 74 65 73 74 20 70  efine the test p
2f5a0 72 6f 63 65 64 75 72 65 20 61 6e 64 20 6f 74 68  rocedure and oth
2f5b0 65 72 20 61 75 78 69 6c 69 61 72 79 20 70 72 6f  er auxiliary pro
2f5c0 63 65 64 75 72 65 73 20 61 73 20 77 65 6c 6c 20  cedures as well 
2f5d0 61 73 0a 67 6c 6f 62 61 6c 20 76 61 72 69 61 62  as.global variab
2f5e0 6c 65 73 2e 0a 20 20 20 20 2d 20 47 6c 6f 62 61  les..    - Globa
2f5f0 6c 20 61 72 72 61 79 20 74 65 73 74 43 6f 6e 66  l array testConf
2f600 69 67 65 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65  ige is now calle
2f610 64 20 3a 3a 74 65 73 74 3a 3a 74 65 73 74 43 6f  d ::test::testCo
2f620 6e 66 69 67 2e 0a 20 20 20 20 2d 20 47 6c 6f 62  nfig..    - Glob
2f630 61 6c 20 76 61 72 69 61 62 6c 65 20 56 45 52 42  al variable VERB
2f640 4f 53 45 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65  OSE is now calle
2f650 64 20 3a 3a 74 65 73 74 3a 3a 76 65 72 62 6f 73  d ::test::verbos
2f660 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 3a 3a 74  e, and.      ::t
2f670 65 73 74 3a 3a 76 65 72 62 6f 73 65 20 6e 6f 20  est::verbose no 
2f680 6c 6f 6e 67 65 72 20 77 6f 72 6b 73 20 77 69 74  longer works wit
2f690 68 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75  h numerical valu
2f6a0 65 73 2e 20 20 57 65 27 76 65 0a 20 20 20 20 20  es.  We've.     
2f6b0 20 73 77 69 74 63 68 65 64 20 74 6f 20 61 20 62   switched to a b
2f6c0 69 74 77 69 73 65 20 63 68 61 72 61 63 74 65 72  itwise character
2f6d0 20 73 74 72 69 6e 67 2e 20 20 59 6f 75 20 63 61   string.  You ca
2f6e0 6e 20 73 65 74 0a 20 20 20 20 20 20 3a 3a 74 65  n set.      ::te
2f6f0 73 74 3a 3a 76 65 72 62 6f 73 65 20 62 79 20 75  st::verbose by u
2f700 73 69 6e 67 20 74 68 65 20 2d 76 65 72 62 6f 73  sing the -verbos
2f710 65 20 6f 70 74 69 6f 6e 20 6f 6e 20 74 68 65 20  e option on the 
2f720 54 63 6c 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20  Tcl command.    
2f730 20 20 6c 69 6e 65 2e 0a 20 20 20 20 2d 20 47 6c    line..    - Gl
2f740 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 54 45  obal variable TE
2f750 53 54 53 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65  STS is now calle
2f760 64 20 3a 3a 74 65 73 74 3a 3a 6d 61 74 63 68 69  d ::test::matchi
2f770 6e 67 54 65 73 74 73 2c 20 61 6e 64 0a 20 20 20  ngTests, and.   
2f780 20 20 20 63 61 6e 20 62 65 20 73 65 74 20 6f 6e     can be set on
2f790 20 74 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64   the Tcl command
2f7a0 20 6c 69 6e 65 20 76 69 61 20 74 68 65 20 2d 6d   line via the -m
2f7b0 61 74 63 68 20 6f 70 74 69 6f 6e 2e 0a 20 20 20  atch option..   
2f7c0 20 2d 20 54 68 65 72 65 20 69 73 20 6e 6f 77 20   - There is now 
2f7d0 61 20 3a 3a 74 65 73 74 3a 3a 73 6b 69 70 54 65  a ::test::skipTe
2f7e0 73 74 73 20 76 61 72 69 61 62 6c 65 20 28 77 6f  sts variable (wo
2f7f0 72 6b 73 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f  rks similarly to
2f800 0a 20 20 20 20 20 20 3a 3a 74 65 73 74 3a 3a 6d  .      ::test::m
2f810 61 74 63 68 54 65 73 74 73 29 20 74 68 61 74 20  atchTests) that 
2f820 63 61 6e 20 62 65 20 73 65 74 20 6f 6e 20 74 68  can be set on th
2f830 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69  e Tcl command li
2f840 6e 65 20 76 69 61 0a 20 20 20 20 20 20 74 68 65  ne via.      the
2f850 20 2d 6d 61 74 63 68 20 6f 70 74 69 6f 6e 2e 0a   -match option..
2f860 20 20 20 20 2d 20 54 68 65 20 74 65 73 74 20 73      - The test s
2f870 75 69 74 65 20 63 61 6e 20 6e 6f 77 20 62 65 20  uite can now be 
2f880 72 75 6e 20 69 6e 20 61 6e 79 20 77 6f 72 6b 69  run in any worki
2f890 6e 67 20 64 69 72 65 63 74 6f 72 79 2e 20 20 57  ng directory.  W
2f8a0 68 65 6e 0a 20 20 20 20 20 20 79 6f 75 20 72 75  hen.      you ru
2f8b0 6e 20 22 6d 61 6b 65 20 74 65 73 74 22 2c 20 74  n "make test", t
2f8c0 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63  he working direc
2f8d0 74 6f 72 79 20 69 73 20 6e 6f 6c 6f 6e 67 65 72  tory is nolonger
2f8e0 20 73 77 69 74 63 68 65 64 0a 20 20 20 20 20 20   switched.      
2f8f0 74 6f 20 2e 2e 2f 74 65 73 74 73 2e 0a 28 68 69  to ../tests..(hi
2f900 72 73 63 68 6c 29 0a 2a 2a 2a 20 50 4f 54 45 4e  rschl).*** POTEN
2f910 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
2f920 4c 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d  LITY ***..------
2f930 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
2f940 65 64 20 38 2e 31 62 32 2c 20 4d 61 72 63 68 20  ed 8.1b2, March 
2f950 31 36 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d 2d  16, 1999 -------
2f960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
2f970 0a 33 2f 31 38 2f 39 39 20 28 62 75 67 20 66 69  .3/18/99 (bug fi
2f980 78 29 20 46 69 78 65 64 20 6d 69 73 73 69 6e 67  x) Fixed missing
2f990 2f 69 6e 63 6f 72 72 65 63 74 20 63 68 61 72 61  /incorrect chara
2f9a0 63 74 65 72 73 20 69 6e 20 73 68 69 66 74 2d 6a  cters in shift-j
2f9b0 69 73 20 74 61 62 6c 65 0a 28 73 74 61 6e 74 6f  is table.(stanto
2f9c0 6e 29 0a 0a 33 2f 31 38 2f 39 39 20 28 66 65 61  n)..3/18/99 (fea
2f9d0 74 75 72 65 20 63 68 61 6e 67 65 29 20 54 68 65  ture change) The
2f9e0 20 67 6c 6f 62 20 63 6f 6d 6d 61 6e 64 20 69 67   glob command ig
2f9f0 6e 6f 72 65 73 20 74 68 65 0a 46 53 5f 43 41 53  nores the.FS_CAS
2fa00 45 5f 49 53 5f 50 52 45 53 45 52 56 45 44 20 62  E_IS_PRESERVED b
2fa10 69 74 20 6f 6e 20 66 69 6c 65 20 73 79 73 74 65  it on file syste
2fa20 73 6d 20 61 6e 64 20 61 6c 77 61 79 73 20 72 65  sm and always re
2fa30 74 75 72 6e 73 0a 65 78 61 63 74 6c 79 20 77 68  turns.exactly wh
2fa40 61 74 20 69 74 20 67 65 74 73 20 66 72 6f 6d 20  at it gets from 
2fa50 74 68 65 20 73 79 73 74 65 6d 2e 20 28 73 74 61  the system. (sta
2fa60 6e 74 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54  nton).*** POTENT
2fa70 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
2fa80 49 54 59 20 2a 2a 2a 0a 0a 33 2f 31 39 2f 39 39  ITY ***..3/19/99
2fa90 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
2faa0 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
2fab0 20 2d 2d 65 6e 61 62 6c 65 2d 36 34 62 69 74 2e   --enable-64bit.
2fac0 20 20 46 6f 72 20 6e 6f 77 2c 0a 74 68 69 73 20    For now,.this 
2fad0 69 73 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 65  is only supporte
2fae0 64 20 6f 6e 20 53 6f 6c 61 72 69 73 20 37 20 36  d on Solaris 7 6
2faf0 34 62 69 74 20 28 53 75 6e 4f 53 20 35 2e 37 29  4bit (SunOS 5.7)
2fb00 20 75 73 69 6e 67 20 74 68 65 20 53 75 6e 0a 63   using the Sun.c
2fb10 6f 6d 70 69 6c 65 72 2e 20 28 72 65 64 6d 61 6e  ompiler. (redman
2fb20 29 0a 0a 33 2f 32 33 2f 39 39 20 28 62 75 67 20  )..3/23/99 (bug 
2fb30 66 69 78 29 20 46 69 78 65 64 20 66 69 6c 65 65  fix) Fixed filee
2fb40 76 65 6e 74 73 20 61 6e 64 20 67 65 74 73 20 6f  vents and gets o
2fb50 6e 20 57 69 6e 64 6f 77 73 20 63 6f 6e 73 6f 6c  n Windows consol
2fb60 65 73 20 61 6e 64 0a 73 65 72 69 61 6c 20 64 65  es and.serial de
2fb70 76 69 63 65 73 20 73 6f 20 74 68 61 74 20 6e 6f  vices so that no
2fb80 6e 2d 62 6c 6f 63 6b 69 6e 67 20 63 68 61 6e 6e  n-blocking chann
2fb90 65 6c 73 20 64 6f 20 6e 6f 74 20 62 6c 6f 63 6b  els do not block
2fba0 20 6f 6e 20 70 61 72 74 69 61 6c 0a 69 6e 70 75   on partial.inpu
2fbb0 74 20 6c 69 6e 65 73 2e 20 20 28 72 65 64 6d 61  t lines.  (redma
2fbc0 6e 29 0a 0a 33 2f 32 33 2f 39 39 20 28 62 75 67  n)..3/23/99 (bug
2fbd0 20 66 69 78 29 20 41 64 64 65 64 20 61 20 6e 65   fix) Added a ne
2fbe0 77 20 54 63 6c 5f 53 65 72 76 69 63 65 4d 6f 64  w Tcl_ServiceMod
2fbf0 65 48 6f 6f 6b 20 69 6e 74 65 72 66 61 63 65 2e  eHook interface.
2fc00 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 6f 6e  .This is used on
2fc10 20 57 69 6e 64 6f 77 73 20 74 6f 20 61 76 6f 69   Windows to avoi
2fc20 64 20 74 68 65 20 76 61 72 69 6f 75 73 20 70 72  d the various pr
2fc30 6f 62 6c 65 6d 73 20 74 68 61 74 20 70 65 6f 70  oblems that peop
2fc40 6c 65 0a 68 61 76 65 20 62 65 65 6e 20 73 65 65  le.have been see
2fc50 69 6e 67 20 77 68 65 72 65 20 74 68 65 20 73 79  ing where the sy
2fc60 73 74 65 6d 20 68 61 6e 67 73 20 77 68 65 6e 20  stem hangs when 
2fc70 74 63 6c 73 68 20 69 73 20 72 75 6e 6e 69 6e 67  tclsh is running
2fc80 0a 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 20  .outside of the 
2fc90 65 76 65 6e 74 20 6c 6f 6f 70 2e 20 41 73 20 70  event loop. As p
2fca0 61 72 74 20 6f 66 20 74 68 69 73 2c 20 72 65 6e  art of this, ren
2fcb0 61 6d 65 64 0a 54 63 6c 70 41 6c 65 72 74 4e 6f  amed.TclpAlertNo
2fcc0 74 69 66 69 65 72 20 62 61 63 6b 20 74 6f 20 54  tifier back to T
2fcd0 63 6c 5f 41 6c 65 72 74 4e 6f 74 69 66 69 65 72  cl_AlertNotifier
2fce0 20 73 69 6e 63 65 20 69 74 20 69 73 20 70 75 62   since it is pub
2fcf0 6c 69 63 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a 0a  lic..(stanton)..
2fd00 33 2f 32 33 2f 39 39 20 28 66 65 61 74 75 72 65  3/23/99 (feature
2fd10 20 63 68 61 6e 67 65 29 20 54 65 73 74 20 73 75   change) Test su
2fd20 69 74 65 20 6e 6f 77 20 75 73 65 73 20 22 74 63  ite now uses "tc
2fd30 6c 74 65 73 74 22 20 6e 61 6d 65 73 70 61 63 65  ltest" namespace
2fd40 20 74 6f 0a 64 65 66 69 6e 65 20 74 68 65 20 74   to.define the t
2fd50 65 73 74 20 70 72 6f 63 65 64 75 72 65 20 61 6e  est procedure an
2fd60 64 20 6f 74 68 65 72 20 61 75 78 69 6c 69 61 72  d other auxiliar
2fd70 79 20 70 72 6f 63 65 64 75 72 65 73 20 61 73 20  y procedures as 
2fd80 77 65 6c 6c 20 61 73 0a 67 6c 6f 62 61 6c 20 76  well as.global v
2fd90 61 72 69 61 62 6c 65 73 2e 20 20 54 68 65 20 70  ariables.  The p
2fda0 72 65 76 69 6f 75 73 6c 79 20 63 68 6f 73 65 6e  reviously chosen
2fdb0 20 22 74 65 73 74 22 20 6e 61 6d 65 73 70 61 63   "test" namespac
2fdc0 65 20 77 61 73 20 74 68 6f 75 67 68 74 0a 74 6f  e was thought.to
2fdd0 20 62 65 20 74 6f 6f 20 67 65 6e 65 72 69 63 20   be too generic 
2fde0 61 6e 64 20 6c 69 6b 65 6c 79 20 74 6f 20 63 72  and likely to cr
2fdf0 65 61 74 65 20 63 6f 6e 66 6c 69 74 73 2e 0a 28  eate conflits..(
2fe00 68 69 72 73 63 68 6c 29 0a 2a 2a 2a 20 50 4f 54  hirschl).*** POT
2fe10 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
2fe20 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 33 2f 32 34  BILITY ***..3/24
2fe30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 4d 61  /99 (bug fix) Ma
2fe40 6b 65 20 73 6f 63 6b 65 74 73 20 74 68 72 65 61  ke sockets threa
2fe50 64 20 73 61 66 65 20 6f 6e 20 57 69 6e 64 6f 77  d safe on Window
2fe60 73 2e 0a 28 72 65 64 6d 61 6e 29 0a 0a 33 2f 32  s..(redman)..3/2
2fe70 34 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46  4/99 (bug fix) F
2fe80 69 78 20 63 61 73 65 73 20 77 68 65 72 65 20 65  ix cases where e
2fe90 78 70 72 20 77 6f 75 6c 64 20 69 6e 63 6f 72 72  xpr would incorr
2fea0 65 63 74 20 72 65 74 75 72 6e 0a 61 20 66 6c 6f  ect return.a flo
2feb0 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 61 6c 75  ating point valu
2fec0 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20  e instead of an 
2fed0 69 6e 74 65 67 65 72 2e 20 28 73 74 61 6e 74 6f  integer. (stanto
2fee0 6e 29 0a 0a 33 2f 32 35 2f 39 39 20 28 62 75 67  n)..3/25/99 (bug
2fef0 20 66 69 78 29 20 41 64 64 65 64 20 41 53 43 49   fix) Added ASCI
2ff00 49 20 74 6f 20 62 69 67 35 20 61 6e 64 20 67 62  I to big5 and gb
2ff10 32 33 31 32 20 65 6e 63 6f 64 69 6e 67 73 2e 0a  2312 encodings..
2ff20 28 73 74 61 6e 74 6f 6e 29 0a 0a 33 2f 32 35 2f  (stanton)..3/25/
2ff30 39 39 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  99 (feature chan
2ff40 67 65 29 20 43 68 61 6e 67 65 64 20 73 6f 20 61  ge) Changed so a
2ff50 6c 69 61 73 65 73 20 61 72 65 20 69 6e 76 6f 6b  liases are invok
2ff60 65 64 20 61 74 20 63 75 72 72 65 6e 74 0a 73 63  ed at current.sc
2ff70 6f 70 65 20 69 6e 20 74 68 65 20 74 61 72 67 65  ope in the targe
2ff80 74 20 69 6e 74 65 72 70 72 65 74 65 72 20 69 6e  t interpreter in
2ff90 73 74 65 61 64 20 6f 66 20 61 74 20 74 68 65 20  stead of at the 
2ffa0 67 6c 6f 62 61 6c 20 73 63 6f 70 65 2e 20 20 54  global scope.  T
2ffb0 68 69 73 0a 77 61 73 20 61 6e 20 69 6e 63 6f 6d  his.was an incom
2ffc0 70 61 74 69 62 69 6c 69 74 79 20 69 6e 74 72 6f  patibility intro
2ffd0 64 75 63 65 64 20 69 6e 20 38 2e 31 20 74 68 61  duced in 8.1 tha
2ffe0 74 20 69 73 20 62 65 69 6e 67 20 72 65 6d 6f 76  t is being remov
2fff0 65 64 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a  ed..(stanton).**
30000 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
30010 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
30020 20 70 72 65 76 69 6f 75 73 20 62 65 74 61 20 72   previous beta r
30030 65 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 33 2f 32  eleases ***..3/2
30040 36 2f 39 39 20 28 66 65 61 74 75 72 65 20 63 68  6/99 (feature ch
30050 61 6e 67 65 29 20 2d 2d 65 6e 61 62 6c 65 2d 73  ange) --enable-s
30060 68 61 72 65 64 20 69 73 20 6e 6f 77 20 74 68 65  hared is now the
30070 20 64 65 66 61 75 6c 74 20 61 6e 64 20 62 75 69   default and bui
30080 6c 64 0a 54 63 6c 20 61 73 20 61 20 73 68 61 72  ld.Tcl as a shar
30090 65 64 20 6c 69 62 72 61 72 79 3b 20 73 70 65 63  ed library; spec
300a0 69 66 79 20 2d 2d 64 69 73 61 62 6c 65 2d 73 68  ify --disable-sh
300b0 61 72 65 64 20 74 6f 20 62 75 69 6c 64 20 61 20  ared to build a 
300c0 73 74 61 74 69 63 20 54 63 6c 0a 6c 69 62 72 61  static Tcl.libra
300d0 72 79 20 61 6e 64 20 73 68 65 6c 6c 2e 0a 2a 2a  ry and shell..**
300e0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
300f0 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
30100 0a 33 2f 32 39 2f 39 39 20 28 62 75 67 20 66 69  .3/29/99 (bug fi
30110 78 29 20 20 52 65 6d 6f 76 65 64 20 74 68 65 20  x)  Removed the 
30120 73 74 75 62 20 66 75 6e 63 74 69 6f 6e 73 20 61  stub functions a
30130 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 20 73  nd changed the s
30140 74 75 62 0a 6d 61 63 72 6f 73 20 74 6f 20 6a 75  tub.macros to ju
30150 73 74 20 75 73 65 20 74 68 65 20 6e 61 6d 65 20  st use the name 
30160 77 69 74 68 6f 75 74 20 70 61 72 61 6d 73 2e 20  without params. 
30170 50 61 73 73 20 26 74 63 6c 53 74 75 62 73 20 69  Pass &tclStubs i
30180 6e 74 6f 20 74 68 65 0a 69 6e 74 65 72 70 20 28  nto the.interp (
30190 64 6f 6e 27 74 20 75 73 65 20 74 63 6c 53 74 75  don't use tclStu
301a0 62 73 50 74 72 20 62 65 63 61 75 73 65 20 6f 66  bsPtr because of
301b0 20 63 6f 6c 6c 69 73 69 6f 6e 73 20 77 69 74 68   collisions with
301c0 20 74 68 65 20 73 74 75 62 73 20 6f 6e 0a 53 6f   the stubs on.So
301d0 6c 61 72 69 73 29 2e 20 28 72 65 64 6d 61 6e 29  laris). (redman)
301e0 0a 0a 33 2f 33 30 2f 39 39 20 28 62 75 67 20 66  ..3/30/99 (bug f
301f0 69 78 29 20 4c 6f 61 64 61 62 6c 65 20 6d 6f 64  ix) Loadable mod
30200 75 6c 65 73 20 61 72 65 20 6e 6f 77 20 75 6e 6c  ules are now unl
30210 6f 61 64 65 64 20 61 74 20 74 68 65 20 6c 61 73  oaded at the las
30220 74 0a 70 6f 73 73 69 62 6c 65 20 6d 6f 6d 65 6e  t.possible momen
30230 74 20 64 75 72 69 6e 67 20 54 63 6c 5f 46 69 6e  t during Tcl_Fin
30240 61 6c 69 7a 65 20 74 6f 20 66 69 78 20 76 61 72  alize to fix var
30250 69 6f 75 73 20 65 78 69 74 2d 74 69 6d 65 20 63  ious exit-time c
30260 72 61 73 68 65 73 2e 0a 28 77 65 6c 63 68 29 0a  rashes..(welch).
30270 0a 33 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69  .3/30/99 (bug fi
30280 78 29 20 54 63 6c 20 6e 6f 20 6c 6f 6e 67 65 72  x) Tcl no longer
30290 20 63 61 6c 6c 73 20 73 65 74 6c 6f 63 61 6c 65   calls setlocale
302a0 28 29 2e 20 20 49 74 20 6c 6f 6f 6b 73 20 61 74  ().  It looks at
302b0 0a 65 6e 76 28 4c 41 4e 47 29 20 61 6e 64 20 65  .env(LANG) and e
302c0 6e 76 28 4c 43 5f 54 59 50 45 29 20 69 6e 73 74  nv(LC_TYPE) inst
302d0 65 61 64 2e 20 20 28 73 74 61 6e 74 6f 6e 29 0a  ead.  (stanton).
302e0 0a 34 2f 31 2f 39 39 20 28 62 75 67 20 66 69 78  .4/1/99 (bug fix
302f0 29 20 46 69 78 65 64 20 74 68 65 20 55 6c 74 72  ) Fixed the Ultr
30300 69 78 20 6d 75 6c 74 69 70 6c 65 20 73 79 6d 62  ix multiple symb
30310 6f 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 70 72  ol definition pr
30320 6f 62 6c 65 6d 2e 0a 4e 6f 77 2c 20 65 76 65 6e  oblem..Now, even
30330 20 54 63 6c 20 69 6e 63 6c 75 64 65 73 20 61 20   Tcl includes a 
30340 63 6f 70 79 20 6f 66 20 74 68 65 20 54 63 6c 20  copy of the Tcl 
30350 73 74 75 62 20 6c 69 62 72 61 72 79 2e 20 28 72  stub library. (r
30360 65 64 6d 61 6e 29 0a 0a 34 2f 31 2f 39 39 20 28  edman)..4/1/99 (
30370 62 75 67 20 66 69 78 29 20 49 6e 74 65 72 6e 61  bug fix) Interna
30380 74 69 6f 6e 61 6c 69 7a 65 64 20 74 68 65 20 72  tionalized the r
30390 65 67 69 73 74 72 79 20 70 61 63 6b 61 67 65 2e  egistry package.
303a0 0a 0a 34 2f 31 2f 39 39 20 28 62 75 67 20 66 69  ..4/1/99 (bug fi
303b0 78 29 20 43 68 61 6e 67 65 64 20 74 68 65 20 69  x) Changed the i
303c0 6d 70 6c 65 6d 65 6e 61 74 69 6f 6e 20 6f 66 20  mplemenation of 
303d0 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 57 61 69  Tcl_ConditionWai
303e0 74 20 61 6e 64 0a 54 63 6c 5f 43 6f 6e 64 69 74  t and.Tcl_Condit
303f0 69 6f 6e 4e 6f 74 69 66 79 20 6f 6e 20 57 69 6e  ionNotify on Win
30400 64 6f 77 73 2e 20 20 54 68 65 20 6e 65 77 20 61  dows.  The new a
30410 6c 67 6f 72 69 74 68 6d 20 65 6c 69 6d 69 6e 61  lgorithm elimina
30420 74 65 73 20 61 20 72 61 63 65 0a 63 6f 6e 64 69  tes a race.condi
30430 74 69 6f 6e 20 61 6e 64 20 77 61 73 20 73 75 67  tion and was sug
30440 67 65 73 74 65 64 20 62 79 20 4a 69 6d 20 44 61  gested by Jim Da
30450 76 69 64 73 6f 6e 2e 20 28 77 65 6c 63 68 29 0a  vidson. (welch).
30460 0a 34 2f 32 2f 39 39 20 28 6e 65 77 20 61 70 69  .4/2/99 (new api
30470 73 29 20 20 4d 61 64 65 20 76 61 72 69 6f 75 73  s)  Made various
30480 20 55 6e 69 63 6f 64 65 20 75 74 69 6c 69 74 79   Unicode utility
30490 20 66 75 6e 63 74 69 6f 6e 73 20 70 75 62 6c 69   functions publi
304a0 63 2e 0a 54 63 6c 5f 55 74 66 54 6f 55 6e 69 43  c..Tcl_UtfToUniC
304b0 68 61 72 44 53 74 72 69 6e 67 2c 20 54 63 6c 5f  harDString, Tcl_
304c0 55 6e 69 43 68 61 72 54 6f 55 74 66 44 53 74 72  UniCharToUtfDStr
304d0 69 6e 67 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72  ing, Tcl_UniChar
304e0 4c 65 6e 2c 0a 54 63 6c 5f 55 6e 69 43 68 61 72  Len,.Tcl_UniChar
304f0 4e 63 6d 70 2c 20 54 63 6c 5f 55 6e 69 43 68 61  Ncmp, Tcl_UniCha
30500 72 49 73 41 6c 6e 75 6d 2c 20 54 63 6c 5f 55 6e  rIsAlnum, Tcl_Un
30510 69 43 68 61 72 49 73 41 6c 70 68 61 2c 0a 54 63  iCharIsAlpha,.Tc
30520 6c 5f 55 6e 69 43 68 61 72 49 73 44 69 67 69 74  l_UniCharIsDigit
30530 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72 49 73 4c  , Tcl_UniCharIsL
30540 6f 77 65 72 2c 20 54 63 6c 5f 55 6e 69 43 68 61  ower, Tcl_UniCha
30550 72 49 73 53 70 61 63 65 2c 0a 54 63 6c 5f 55 6e  rIsSpace,.Tcl_Un
30560 69 43 68 61 72 49 73 55 70 70 65 72 2c 20 54 63  iCharIsUpper, Tc
30570 6c 5f 55 6e 69 43 68 61 72 49 73 57 6f 72 64 43  l_UniCharIsWordC
30580 68 61 72 2c 20 54 63 6c 5f 57 69 6e 55 74 66 54  har, Tcl_WinUtfT
30590 6f 54 43 68 61 72 2c 0a 54 63 6c 5f 57 69 6e 54  oTChar,.Tcl_WinT
305a0 43 68 61 72 54 6f 55 74 66 20 28 73 74 61 6e 74  CharToUtf (stant
305b0 6f 6e 29 0a 0a 34 2f 32 2f 39 39 20 28 66 65 61  on)..4/2/99 (fea
305c0 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64  ture change) Add
305d0 20 6e 65 77 20 44 44 45 20 70 61 63 6b 61 67 65   new DDE package
305e0 20 61 6e 64 20 72 65 6d 6f 76 65 64 20 74 68 65   and removed the
305f0 20 54 6b 0a 73 65 6e 64 20 63 6f 6d 6d 61 6e 64   Tk.send command
30600 20 66 72 6f 6d 20 74 68 65 20 57 69 6e 64 6f 77   from the Window
30610 73 20 76 65 72 73 69 6f 6e 2e 20 20 43 68 61 6e  s version.  Chan
30620 67 65 64 20 44 44 45 2d 62 61 73 65 64 20 73 65  ged DDE-based se
30630 6e 64 0a 63 6f 64 65 20 69 6e 74 6f 20 22 64 64  nd.code into "dd
30640 65 20 65 76 61 6c 22 20 63 6f 6d 6d 61 6e 64 2e  e eval" command.
30650 20 20 54 68 65 20 44 44 45 20 70 61 63 6b 61 67    The DDE packag
30660 65 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 64 0a  e can be loaded.
30670 69 6e 74 6f 20 74 63 6c 73 68 2c 20 6e 6f 74 20  into tclsh, not 
30680 6a 75 73 74 20 77 69 73 68 2e 20 20 57 69 6e 64  just wish.  Wind
30690 6f 77 73 20 6f 6e 6c 79 2e 20 28 72 65 64 6d 61  ows only. (redma
306a0 6e 29 0a 0a 34 2f 35 2f 39 39 20 28 62 75 67 20  n)..4/5/99 (bug 
306b0 66 69 78 29 20 43 68 61 6e 67 65 64 20 73 61 66  fix) Changed saf
306c0 65 2d 74 63 6c 20 73 6f 20 74 68 61 74 20 74 68  e-tcl so that th
306d0 65 20 65 6e 63 6f 64 69 6e 67 20 63 6f 6d 6d 61  e encoding comma
306e0 6e 64 0a 69 73 20 61 6e 20 61 6c 69 61 73 20 74  nd.is an alias t
306f0 68 61 74 20 6d 61 73 6b 73 20 6f 75 74 20 74 68  hat masks out th
30700 65 20 22 65 6e 63 6f 64 69 6e 67 20 73 79 73 74  e "encoding syst
30710 65 6d 22 20 73 75 62 63 6f 6d 6d 61 6e 64 2e 0a  em" subcommand..
30720 28 72 65 64 6d 61 6e 29 0a 0a 34 2f 35 2f 39 39  (redman)..4/5/99
30730 20 28 62 75 67 20 66 69 78 29 20 43 6f 6e 66 69   (bug fix) Confi
30740 67 75 72 65 20 70 61 74 63 68 65 73 20 74 6f 20  gure patches to 
30750 69 6d 70 72 6f 76 65 20 73 75 70 70 6f 72 74 20  improve support 
30760 66 6f 72 0a 4f 53 2f 33 39 30 20 61 6e 64 20 42  for.OS/390 and B
30770 53 44 2f 4f 53 20 34 2e 2a 2e 20 28 73 74 61 6e  SD/OS 4.*. (stan
30780 74 6f 6e 29 0a 0a 34 2f 35 2f 39 39 20 28 62 75  ton)..4/5/99 (bu
30790 67 20 66 69 78 29 20 46 69 78 65 64 20 63 72 61  g fix) Fixed cra
307a0 73 68 20 69 6e 20 74 68 65 20 63 6c 6f 63 6b 20  sh in the clock 
307b0 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 6f 63 63  command that occ
307c0 75 72 72 65 64 0a 77 69 74 68 20 6e 65 67 61 74  urred.with negat
307d0 69 76 65 20 74 69 6d 65 20 76 61 6c 75 65 73 20  ive time values 
307e0 69 6e 20 74 69 6d 65 7a 6f 6e 65 73 20 65 61 73  in timezones eas
307f0 74 20 6f 66 20 47 4d 54 2e 20 28 73 74 61 6e 74  t of GMT. (stant
30800 6f 6e 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75 67  on)..4/6/99 (bug
30810 20 66 69 78 29 20 4d 6f 76 65 64 20 74 68 65 20   fix) Moved the 
30820 22 61 72 72 61 79 20 73 65 74 22 20 43 20 6c 65  "array set" C le
30830 76 65 6c 20 63 6f 64 65 20 69 6e 74 6f 20 61 20  vel code into a 
30840 63 6f 6d 6d 6f 6e 0a 72 6f 75 74 69 6e 65 20 28  common.routine (
30850 54 63 6c 41 72 72 61 79 53 65 74 29 2e 20 20 54  TclArraySet).  T
30860 68 65 20 54 63 6c 53 65 74 75 70 45 6e 76 20 72  he TclSetupEnv r
30870 6f 75 74 69 6e 65 20 6e 6f 77 20 75 73 65 73 20  outine now uses 
30880 74 68 69 73 20 41 50 49 20 74 6f 0a 63 72 65 61  this API to.crea
30890 74 65 20 61 6e 20 65 6e 76 20 61 72 72 61 79 20  te an env array 
308a0 77 2f 20 6e 6f 20 65 6c 65 6d 65 6e 74 73 2e 20  w/ no elements. 
308b0 20 54 68 69 73 20 66 69 78 65 73 20 74 68 65 20   This fixes the 
308c0 62 75 67 20 63 61 75 73 65 64 20 77 68 65 6e 0a  bug caused when.
308d0 65 76 65 72 79 20 65 6e 76 69 72 6f 6e 20 76 61  every environ va
308e0 72 61 69 62 6c 65 20 69 73 20 72 65 6d 6f 76 65  raible is remove
308f0 64 2c 20 61 6e 64 20 74 68 65 20 54 63 6c 20 65  d, and the Tcl e
30900 6e 76 20 76 61 72 69 61 62 6c 65 20 69 73 0a 73  nv variable is.s
30910 79 6e 63 68 65 64 2e 20 20 49 66 20 6e 6f 20 65  ynched.  If no e
30920 6e 76 69 72 6f 6e 20 76 61 72 73 20 65 78 69 73  nviron vars exis
30930 74 65 64 2c 20 74 68 65 20 54 63 6c 20 65 6e 76  ted, the Tcl env
30940 20 76 61 72 20 77 6f 75 6c 64 20 6e 65 76 65 72   var would never
30950 20 62 65 0a 63 72 65 61 74 65 64 2e 20 28 73 75   be.created. (su
30960 72 6c 65 73 29 0a 0a 34 2f 36 2f 39 39 20 28 62  rles)..4/6/99 (b
30970 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68 65  ug fix) Made the
30980 20 45 6e 76 20 6d 6f 64 75 6c 65 20 49 31 38 4e   Env module I18N
30990 20 63 6f 6d 70 6c 69 61 6e 74 2e 20 28 73 75 72   compliant. (sur
309a0 6c 65 73 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75  les)..4/6/99 (bu
309b0 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 74  g fix) Changed t
309c0 68 65 20 46 69 6e 64 56 61 72 69 61 62 6c 65 20  he FindVariable 
309d0 72 6f 75 74 69 6e 65 20 74 6f 20 54 63 6c 70 46  routine to TclpF
309e0 69 6e 64 56 61 72 69 61 62 6c 65 2c 0a 74 68 61  indVariable,.tha
309f0 74 20 6e 6f 77 20 64 6f 65 73 20 61 20 63 61 73  t now does a cas
30a00 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20 73 74  e insensitive st
30a10 72 69 6e 67 20 63 6f 6d 70 61 72 69 73 6f 6e 20  ring comparison 
30a20 6f 6e 20 57 69 6e 64 6f 77 73 2c 20 61 6e 64 20  on Windows, and 
30a30 6e 6f 74 0a 6f 6e 20 55 4e 49 58 2e 20 28 73 75  not.on UNIX. (su
30a40 72 6c 65 73 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  rles)..---------
30a50 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
30a60 38 2e 31 62 33 2c 20 41 70 72 69 6c 20 36 2c 20  8.1b3, April 6, 
30a70 31 39 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  1999 -----------
30a80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 34 2f 39  -----------..4/9
30a90 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 20 46  /99 (bug fix)  F
30aa0 69 78 65 64 20 6e 6f 74 69 66 69 65 72 20 64 65  ixed notifier de
30ab0 61 64 6c 6f 63 6b 20 73 69 74 75 61 74 69 6f 6e  adlock situation
30ac0 20 77 68 65 6e 20 74 68 65 20 70 69 70 65 20 75   when the pipe u
30ad0 73 65 64 0a 74 6f 20 74 61 6c 6b 20 62 61 63 6b  sed.to talk back
30ae0 20 6e 6f 74 69 66 69 65 72 20 74 68 72 65 61 64   notifier thread
30af0 20 69 73 20 66 69 6c 6c 65 64 20 77 69 74 68 20   is filled with 
30b00 64 61 74 61 2e 20 20 46 6f 75 6e 64 20 61 73 20  data.  Found as 
30b10 61 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 0a  a result of the.
30b20 66 6f 63 75 73 2e 74 65 73 74 20 66 6f 72 20 54  focus.test for T
30b30 6b 20 68 61 6e 67 69 6e 67 2e 20 28 72 65 64 6d  k hanging. (redm
30b40 61 6e 29 0a 0a 34 2f 31 33 2f 39 39 20 28 62 75  an)..4/13/99 (bu
30b50 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
30b60 20 77 68 65 72 65 20 73 6f 63 6b 65 74 20 2d 61   where socket -a
30b70 73 79 6e 63 20 63 6f 6d 62 69 6e 65 64 20 77 69  sync combined wi
30b80 74 68 0a 66 69 6c 65 65 76 65 6e 74 20 66 6f 72  th.fileevent for
30b90 20 77 72 69 74 69 6e 67 20 64 69 64 20 6e 6f 74   writing did not
30ba0 20 77 6f 72 6b 20 75 6e 64 65 72 20 57 69 6e 64   work under Wind
30bb0 6f 77 73 20 4e 54 2e 20 28 72 65 64 6d 61 6e 29  ows NT. (redman)
30bc0 0a 0a 34 2f 31 33 2f 39 39 20 28 65 6e 63 6f 64  ..4/13/99 (encod
30bd0 69 6e 67 20 66 69 78 29 20 52 65 73 74 6f 72 65  ing fix) Restore
30be0 64 20 74 68 65 20 64 6f 75 62 6c 65 20 62 79 74  d the double byt
30bf0 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20  e definition of 
30c00 47 42 32 33 31 32 0a 61 6e 64 20 61 64 64 65 64  GB2312.and added
30c10 20 74 68 65 20 45 55 43 2d 43 4e 20 65 6e 63 6f   the EUC-CN enco
30c20 64 69 6e 67 2e 20 20 45 55 43 2d 43 4e 20 69 73  ding.  EUC-CN is
30c30 20 61 20 76 61 72 69 61 6e 74 20 6f 66 20 47 42   a variant of GB
30c40 32 33 31 32 20 74 68 61 74 0a 73 68 69 66 74 73  2312 that.shifts
30c50 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20   the characters 
30c60 69 6e 74 6f 20 62 79 74 65 73 20 77 69 74 68 20  into bytes with 
30c70 74 68 65 20 68 69 67 68 20 62 69 74 20 73 65 74  the high bit set
30c80 20 61 6e 64 20 69 6e 63 6c 75 64 65 73 0a 41 53   and includes.AS
30c90 43 49 49 20 61 73 20 61 20 73 75 62 73 65 74 2e  CII as a subset.
30ca0 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 32 37   (stanton)..4/27
30cb0 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 64  /99 (bug fix) Ad
30cc0 64 65 64 20 27 65 78 74 65 72 6e 20 22 43 22 20  ded 'extern "C" 
30cd0 7b 7d 27 20 62 6c 6f 63 6b 20 61 72 6f 75 6e 64  {}' block around
30ce0 20 74 68 65 20 73 74 75 62 20 74 61 62 6c 65 0a   the stub table.
30cf0 70 6f 69 6e 74 65 72 20 64 65 63 6c 61 72 61 74  pointer declarat
30d00 69 6f 6e 20 73 6f 20 74 68 65 20 73 74 75 62 20  ion so the stub 
30d10 6c 69 62 72 61 72 79 20 63 61 6e 20 62 65 20 75  library can be u
30d20 73 65 64 20 66 72 6f 6d 20 43 2b 2b 2e 20 28 73  sed from C++. (s
30d30 74 61 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  tanton)..-------
30d40 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
30d50 64 20 38 2e 31 20 66 69 6e 61 6c 2c 20 41 70 72  d 8.1 final, Apr
30d60 69 6c 20 32 39 2c 20 31 39 39 39 20 2d 2d 2d 2d  il 29, 1999 ----
30d70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
30d80 2d 2d 0a 0a 34 2f 32 32 2f 39 39 20 28 62 75 67  --..4/22/99 (bug
30d90 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57 69   fix) Changed Wi
30da0 6e 64 6f 77 73 20 4e 54 20 73 6f 63 6b 65 74 20  ndows NT socket 
30db0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74  implementation t
30dc0 6f 20 61 76 6f 69 64 0a 63 72 65 61 74 69 6e 67  o avoid.creating
30dd0 20 61 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e   a communication
30de0 20 77 69 6e 64 6f 77 2e 20 20 54 68 69 73 20 61   window.  This a
30df0 76 6f 69 64 73 20 74 68 65 20 70 72 6f 62 6c 65  voids the proble
30e00 6d 20 77 68 65 72 65 20 74 68 65 0a 73 79 73 74  m where the.syst
30e10 65 6d 20 68 61 6e 67 73 20 77 61 69 74 69 6e 67  em hangs waiting
30e20 20 66 6f 72 20 74 63 6c 73 68 20 74 6f 20 72 65   for tclsh to re
30e30 73 70 6f 6e 64 20 74 6f 20 61 20 73 79 73 74 65  spond to a syste
30e40 6d 2d 77 69 64 65 20 73 79 6e 63 68 72 6f 6e 6f  m-wide synchrono
30e50 75 73 0a 62 72 6f 61 64 63 61 73 74 20 28 65 2e  us.broadcast (e.
30e60 67 2e 20 69 66 20 79 6f 75 20 63 68 61 6e 67 65  g. if you change
30e70 20 73 79 73 74 65 6d 20 63 6f 6c 6f 72 73 29 2e   system colors).
30e80 20 28 72 65 64 6d 61 6e 29 0a 0a 34 2f 32 32 2f   (redman)..4/22/
30e90 39 39 20 28 62 75 67 20 66 69 78 29 20 41 64 64  99 (bug fix) Add
30ea0 65 64 20 63 61 6c 6c 20 74 6f 20 54 63 6c 57 69  ed call to TclWi
30eb0 6e 49 6e 69 74 20 66 72 6f 6d 20 54 63 6c 70 49  nInit from TclpI
30ec0 6e 69 74 50 6c 61 74 66 6f 72 6d 20 77 68 65 6e  nitPlatform when
30ed0 0a 62 75 69 6c 64 69 6e 67 20 61 20 73 74 61 74  .building a stat
30ee0 69 63 20 6c 69 62 72 61 72 79 20 73 69 6e 63 65  ic library since
30ef0 20 44 6c 6c 4d 61 69 6e 20 77 69 6c 6c 20 6e 6f   DllMain will no
30f00 74 20 62 65 20 69 6e 76 6f 6b 65 64 2e 20 20 54  t be invoked.  T
30f10 68 69 73 0a 63 6f 75 6c 64 20 62 72 65 61 6b 20  his.could break 
30f20 6f 6c 64 20 63 6f 64 65 20 74 68 61 74 20 65 78  old code that ex
30f30 70 6c 69 63 69 74 6c 79 20 63 61 6c 6c 65 64 20  plicitly called 
30f40 54 63 6c 57 69 6e 49 6e 69 74 2c 20 62 75 74 20  TclWinInit, but 
30f50 73 68 6f 75 6c 64 20 62 65 0a 73 69 6d 70 6c 65  should be.simple
30f60 72 20 69 6e 20 74 68 65 20 6c 6f 6e 67 20 72 75  r in the long ru
30f70 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a  n. (stanton).***
30f80 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
30f90 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
30fa0 34 2f 32 33 2f 39 39 20 28 62 75 67 20 66 69 78  4/23/99 (bug fix
30fb0 29 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  ) Added support 
30fc0 66 6f 72 20 74 68 65 20 6b 6f 69 38 2d 72 20 43  for the koi8-r C
30fd0 79 72 69 6c 6c 69 63 0a 65 6e 63 6f 64 69 6e 67  yrillic.encoding
30fe0 2e 20 5b 42 75 67 3a 20 31 37 37 31 5d 20 28 73  . [Bug: 1771] (s
30ff0 74 61 6e 74 6f 6e 29 0a 0a 34 2f 32 38 2f 39 39  tanton)..4/28/99
31000 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67   (bug fix) Chang
31010 65 64 20 69 6e 74 65 72 6e 61 6c 20 54 63 6c 5f  ed internal Tcl_
31020 4f 62 6a 20 75 73 61 67 65 20 74 6f 20 61 76 6f  Obj usage to avo
31030 69 64 20 66 72 65 65 69 6e 67 20 74 68 65 0a 69  id freeing the.i
31040 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e  nternal represen
31050 74 61 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65  tation after the
31060 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e   string represen
31070 74 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 0a  tation has been.
31080 66 72 65 65 64 2e 20 20 54 68 69 73 20 6d 61 6b  freed.  This mak
31090 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20  es it easier to 
310a0 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 73  debug extensions
310b0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 33  . (stanton)..4/3
310c0 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46  0/99 (bug fix) F
310d0 69 78 65 64 20 61 20 6d 65 6d 6f 72 79 20 6c 65  ixed a memory le
310e0 61 6b 20 69 6e 20 43 6f 6d 6d 61 6e 64 43 6f 6d  ak in CommandCom
310f0 70 6c 65 74 65 2e 20 28 73 74 61 6e 74 6f 6e 29  plete. (stanton)
31100 0a 0a 35 2f 33 2f 39 39 20 28 62 75 67 20 66 69  ..5/3/99 (bug fi
31110 78 29 20 46 69 78 65 64 20 61 20 62 75 67 20 77  x) Fixed a bug w
31120 68 65 72 65 20 74 68 65 20 54 63 6c 5f 4f 62 6a  here the Tcl_Obj
31130 54 79 70 65 20 77 61 73 20 6e 6f 74 20 62 65 69  Type was not bei
31140 6e 67 20 73 65 74 0a 69 6e 20 61 20 64 75 70 6c  ng set.in a dupl
31150 69 63 61 74 65 64 20 54 63 6c 5f 4f 62 6a 2e 20  icated Tcl_Obj. 
31160 5b 42 75 67 3a 20 31 39 37 35 2c 20 32 30 34 37  [Bug: 1975, 2047
31170 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 33  ] (stanton)..5/3
31180 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 43 68  /99 (bug fix) Ch
31190 61 6e 67 65 64 20 54 63 6c 5f 50 61 72 73 65 43  anged Tcl_ParseC
311a0 6f 6d 6d 61 6e 64 20 74 6f 20 61 76 6f 69 64 20  ommand to avoid 
311b0 6d 6f 64 69 66 79 69 6e 67 20 65 76 61 6c 27 65  modifying eval'e
311c0 64 0a 73 74 72 69 6e 67 73 20 74 68 61 74 20 61  d.strings that a
311d0 72 65 20 61 6c 72 65 61 64 79 20 6e 75 6c 6c 20  re already null 
311e0 74 65 72 6d 69 6e 61 74 65 64 2e 20 20 5b 42 75  terminated.  [Bu
311f0 67 3a 20 31 37 39 33 5d 20 28 73 74 61 6e 74 6f  g: 1793] (stanto
31200 6e 29 0a 0a 35 2f 33 2f 39 39 20 28 6e 65 77 20  n)..5/3/99 (new 
31210 66 65 61 74 75 72 65 29 20 41 70 70 6c 69 65 64  feature) Applied
31220 20 4a 65 66 66 20 48 6f 62 62 73 27 73 20 73 74   Jeff Hobbs's st
31230 72 69 6e 67 20 70 61 74 63 68 20 77 68 69 63 68  ring patch which
31240 20 69 6e 63 6c 75 64 65 73 0a 74 68 65 20 66 6f   includes.the fo
31250 6c 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73 3a  llowing changes:
31260 0a 20 20 20 20 2d 20 61 64 64 65 64 20 6e 65 77  .    - added new
31270 20 73 75 62 63 6f 6d 6d 61 6e 64 73 3a 20 65 71   subcommands: eq
31280 75 61 6c 2c 20 72 65 70 65 61 74 2c 20 6d 61 70  ual, repeat, map
31290 2c 20 69 73 2c 20 72 65 70 6c 61 63 65 20 0a 20  , is, replace . 
312a0 20 20 20 2d 20 61 64 64 65 64 20 2d 6c 65 6e 67     - added -leng
312b0 74 68 20 6f 70 74 69 6f 6e 20 74 6f 20 22 73 74  th option to "st
312c0 72 69 6e 67 20 63 6f 6d 70 61 72 65 7c 65 71 75  ring compare|equ
312d0 61 6c 22 0a 20 20 20 20 2d 20 61 64 64 65 64 20  al".    - added 
312e0 2d 6e 6f 63 61 73 65 20 6f 70 74 69 6f 6e 20 74  -nocase option t
312f0 6f 20 22 73 74 72 69 6e 67 20 63 6f 6d 70 61 72  o "string compar
31300 65 7c 65 71 75 61 6c 7c 6d 61 74 63 68 22 0a 20  e|equal|match". 
31310 20 20 20 2d 20 73 74 72 69 6e 67 20 61 6e 64 20     - string and 
31320 6c 69 73 74 20 69 6e 64 69 63 65 73 20 63 61 6e  list indices can
31330 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 6f   be an integer o
31340 72 20 65 6e 64 3f 2d 69 6e 74 65 67 65 72 3f 2e  r end?-integer?.
31350 0a 20 20 20 20 2d 20 61 64 64 65 64 20 6f 70 74  .    - added opt
31360 69 6f 6e 61 6c 20 66 69 72 73 74 20 61 6e 64 20  ional first and 
31370 6c 61 73 74 20 69 6e 64 65 78 20 61 72 67 73 20  last index args 
31380 74 6f 20 73 74 72 69 6e 67 20 74 6f 75 70 70 65  to string touppe
31390 72 2c 20 65 74 20 61 6c 2e 0a 53 65 65 20 74 68  r, et al..See th
313a0 65 20 73 74 72 69 6e 67 2e 6e 20 6d 61 6e 75 61  e string.n manua
313b0 6c 20 65 6e 74 72 79 20 66 6f 72 20 6d 6f 72 65  l entry for more
313c0 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 20 74   details about t
313d0 68 65 20 6e 65 77 20 73 74 72 69 6e 67 0a 66 65  he new string.fe
313e0 61 74 75 72 65 73 2e 20 20 5b 42 75 67 3a 20 31  atures.  [Bug: 1
313f0 38 34 35 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  845] (stanton)..
31400 35 2f 36 2f 39 39 20 28 6e 65 77 20 66 65 61 74  5/6/99 (new feat
31410 75 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 55  ure) Added Tcl_U
31420 74 66 4e 63 6d 70 20 61 6e 64 20 54 63 6c 5f 55  tfNcmp and Tcl_U
31430 74 66 4e 63 61 73 65 63 6d 70 20 74 6f 20 6d 61  tfNcasecmp to ma
31440 6b 65 20 55 74 66 0a 73 74 72 69 6e 67 20 63 6f  ke Utf.string co
31450 6d 70 61 72 69 73 69 6f 6e 20 65 61 73 69 65 72  mparision easier
31460 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 37  . (stanton)..5/7
31470 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 49 6d  /99 (bug fix) Im
31480 70 72 6f 76 65 64 20 4f 53 2f 33 39 30 20 73 75  proved OS/390 su
31490 70 70 6f 72 74 2e 20 5b 42 75 67 3a 20 31 39 37  pport. [Bug: 197
314a0 36 2c 20 31 39 39 37 5d 20 28 73 74 61 6e 74 6f  6, 1997] (stanto
314b0 6e 29 0a 0a 35 2f 31 32 2f 39 39 20 28 62 75 67  n)..5/12/99 (bug
314c0 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57 69   fix) Changed Wi
314d0 6e 64 6f 77 73 20 69 6e 69 74 69 61 6c 69 7a 61  ndows initializa
314e0 74 69 6f 6e 20 63 6f 64 65 20 74 6f 20 61 76 6f  tion code to avo
314f0 69 64 20 75 73 69 6e 67 0a 47 65 74 55 73 65 72  id using.GetUser
31500 4e 61 6d 65 20 73 79 73 74 65 6d 20 63 61 6c 6c  Name system call
31510 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 74 68 65   in favor of the
31520 20 65 6e 76 28 55 53 45 52 4e 41 4d 45 29 20 76   env(USERNAME) v
31530 61 72 69 61 62 6c 65 2e 20 20 54 68 69 73 0a 70  ariable.  This.p
31540 72 6f 76 69 64 65 73 20 61 20 73 69 67 6e 69 66  rovides a signif
31550 69 63 61 6e 74 20 73 74 61 72 74 75 70 20 73 70  icant startup sp
31560 65 65 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74 2e  eed improvement.
31570 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 31 32   (stanton)..5/12
31580 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 52 65  /99 (bug fix) Re
31590 70 6c 61 63 65 64 20 74 68 65 20 70 65 72 2d 69  placed the per-i
315a0 6e 74 65 72 70 72 65 74 65 72 20 72 65 67 65 78  nterpreter regex
315b0 70 20 63 61 63 68 65 20 77 69 74 68 20 61 0a 70  p cache with a.p
315c0 65 72 2d 74 68 72 65 61 64 20 63 61 63 68 65 2e  er-thread cache.
315d0 20 20 43 68 61 6e 67 65 64 20 74 68 65 20 52 65    Changed the Re
315e0 67 65 78 70 20 6f 62 6a 65 63 74 20 74 6f 20 74  gexp object to t
315f0 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66  ake advantage of
31600 20 74 68 69 73 0a 65 78 74 72 61 20 63 61 63 68   this.extra cach
31610 65 2e 20 20 41 64 64 65 64 20 61 20 72 65 66 65  e.  Added a refe
31620 72 65 6e 63 65 20 63 6f 75 6e 74 20 74 6f 20 74  rence count to t
31630 68 65 20 54 63 6c 52 65 67 65 78 70 20 74 79 70  he TclRegexp typ
31640 65 20 73 6f 20 72 65 67 65 78 70 73 0a 63 61 6e  e so regexps.can
31650 20 62 65 20 73 68 61 72 65 64 20 62 79 20 6d 75   be shared by mu
31660 6c 74 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e 20  ltiple objects. 
31670 20 52 65 6d 6f 76 65 64 20 74 68 65 20 70 65 72   Removed the per
31680 2d 69 6e 74 65 72 70 20 72 65 67 65 78 70 20 63  -interp regexp c
31690 61 63 68 65 0a 66 72 6f 6d 20 74 68 65 20 69 6e  ache.from the in
316a0 74 65 72 70 72 65 74 65 72 2e 20 20 4e 6f 77 20  terpreter.  Now 
316b0 72 65 67 65 78 70 73 20 63 61 6e 20 62 65 20 75  regexps can be u
316c0 73 65 64 20 77 69 74 68 20 6e 6f 20 6e 65 65 64  sed with no need
316d0 20 66 6f 72 20 61 6e 0a 69 6e 74 65 72 70 72 65   for an.interpre
316e0 74 65 72 2e 20 54 68 69 73 20 73 65 74 20 6f 66  ter. This set of
316f0 20 63 68 61 6e 67 65 73 20 73 68 6f 75 6c 64 20   changes should 
31700 70 72 6f 76 69 64 65 20 73 69 67 6e 69 66 69 63  provide signific
31710 61 6e 74 20 73 70 65 65 64 0a 69 6d 70 72 6f 76  ant speed.improv
31720 65 6d 65 6e 74 73 20 66 6f 72 20 6d 61 6e 79 20  ements for many 
31730 54 63 6c 20 73 63 72 69 70 74 73 2e 20 20 5b 42  Tcl scripts.  [B
31740 75 67 3a 20 31 30 36 33 5d 20 28 73 74 61 6e 74  ug: 1063] (stant
31750 6f 6e 29 0a 0a 35 2f 31 34 2f 39 39 20 28 62 75  on)..5/14/99 (bu
31760 67 20 66 69 78 29 20 44 75 72 69 6e 69 6e 67 20  g fix) Durining 
31770 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f  initialization o
31780 6e 20 55 6e 69 78 2c 20 54 63 6c 20 6e 6f 77 20  n Unix, Tcl now 
31790 65 78 74 72 61 63 74 73 20 74 68 65 0a 65 6e 63  extracts the.enc
317a0 6f 64 69 6e 67 20 73 75 62 66 69 65 6c 64 20 66  oding subfield f
317b0 72 6f 6d 20 74 68 65 20 4c 41 4e 47 2f 4c 43 5f  rom the LANG/LC_
317c0 41 4c 4c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20  ALL environment 
317d0 76 61 72 69 61 62 6c 65 73 20 69 6e 20 63 61 73  variables in cas
317e0 65 73 0a 77 68 65 72 65 20 74 68 65 20 6c 6f 63  es.where the loc
317f0 61 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64  ale is not found
31800 20 69 6e 20 74 68 65 20 62 75 69 6c 74 2d 69 6e   in the built-in
31810 20 6c 6f 63 61 6c 65 20 74 61 62 6c 65 2e 20 20   locale table.  
31820 49 74 20 61 6c 73 6f 0a 61 74 74 65 6d 70 74 73  It also.attempts
31830 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 74   to initialize t
31840 68 65 20 6c 6f 63 61 6c 65 20 73 75 62 73 79 73  he locale subsys
31850 74 65 6d 20 73 6f 20 58 31 31 20 69 73 20 68 61  tem so X11 is ha
31860 70 70 79 2e 20 5b 42 75 67 3a 20 31 39 38 39 5d  ppy. [Bug: 1989]
31870 0a 28 73 74 61 6e 74 6f 6e 29 20 0a 0a 35 2f 31  .(stanton) ..5/1
31880 34 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  4/99 (bug fix) A
31890 70 70 6c 69 65 64 20 74 68 65 20 70 61 74 63 68  pplied the patch
318a0 20 74 6f 20 66 69 78 20 31 30 30 2d 79 65 61 72   to fix 100-year
318b0 20 61 6e 64 20 34 30 30 2d 79 65 61 72 0a 62 6f   and 400-year.bo
318c0 75 6e 64 61 72 69 65 73 20 69 6e 20 6c 65 61 70  undaries in leap
318d0 20 79 65 61 72 20 63 6f 64 65 2c 20 66 72 6f 6d   year code, from
318e0 20 49 73 61 61 63 20 48 6f 6c 6c 61 6e 64 65 72   Isaac Hollander
318f0 2e 20 20 5b 42 75 67 3a 20 32 30 36 36 5d 20 28  .  [Bug: 2066] (
31900 72 65 64 6d 61 6e 29 0a 0a 35 2f 31 34 2f 39 39  redman)..5/14/99
31910 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
31920 20 61 20 63 72 61 73 68 20 63 61 75 73 65 64 20   a crash caused 
31930 62 79 20 61 20 66 61 69 6c 75 72 65 20 74 6f 20  by a failure to 
31940 72 65 73 65 74 20 74 68 65 20 72 65 73 75 6c 74  reset the result
31950 0a 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69  .before evaluati
31960 6e 67 20 74 68 65 20 74 65 73 74 20 65 78 70 72  ng the test expr
31970 65 73 73 69 6f 6e 20 69 6e 20 61 6e 20 75 6e 63  ession in an unc
31980 6f 6d 70 69 6c 65 64 20 66 6f 72 0a 73 74 61 74  ompiled for.stat
31990 65 6d 65 6e 74 2e 20 28 73 74 61 6e 74 6f 6e 29  ement. (stanton)
319a0 0a 0a 35 2f 31 38 2f 39 39 20 28 62 75 67 20 66  ..5/18/99 (bug f
319b0 69 78 29 20 4d 6f 64 69 66 69 65 64 20 69 6e 69  ix) Modified ini
319c0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63 6f 64 65  tialization code
319d0 20 6f 6e 20 57 69 6e 64 6f 77 73 20 74 6f 20 61   on Windows to a
319e0 76 6f 69 64 0a 69 6e 68 65 72 65 6e 74 69 6e 67  void.inherenting
319f0 20 63 6c 6f 73 65 64 20 6f 72 20 69 6e 76 61 6c   closed or inval
31a00 69 64 20 63 68 61 6e 6e 65 6c 73 2e 20 20 49 66  id channels.  If
31a10 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e   the standard in
31a20 70 75 74 20 69 73 0a 61 6e 79 74 68 69 6e 67 20  put is.anything 
31a30 6f 74 68 65 72 20 74 68 61 6e 20 61 20 63 6f 6e  other than a con
31a40 73 6f 6c 65 2c 20 66 69 6c 65 2c 20 73 65 72 69  sole, file, seri
31a50 61 6c 20 70 6f 72 74 2c 20 6f 72 20 70 69 70 65  al port, or pipe
31a60 2c 20 74 68 65 6e 20 77 65 20 66 61 6c 6c 0a 62  , then we fall.b
31a70 61 63 6b 20 74 6f 20 74 68 65 20 73 74 61 6e 64  ack to the stand
31a80 61 72 64 20 54 6b 20 77 69 6e 64 6f 77 20 63 6f  ard Tk window co
31a90 6e 73 6f 6c 65 2e 20 28 73 74 61 6e 74 6f 6e 29  nsole. (stanton)
31aa0 0a 0a 35 2f 31 39 2f 39 39 20 28 62 75 67 20 66  ..5/19/99 (bug f
31ab0 69 78 29 20 41 64 64 65 64 20 61 6e 20 65 78 74  ix) Added an ext
31ac0 65 72 6e 20 22 43 22 20 62 6c 6f 63 6b 20 61 72  ern "C" block ar
31ad0 6f 75 6e 64 20 74 68 65 20 65 6e 74 69 72 65 20  ound the entire 
31ae0 74 63 6c 2e 68 0a 68 65 61 64 65 72 20 66 69 6c  tcl.h.header fil
31af0 65 20 74 6f 20 61 76 6f 69 64 20 43 2b 2b 20 6c  e to avoid C++ l
31b00 69 6e 6b 61 67 65 20 69 73 73 75 65 73 2e 20 28  inkage issues. (
31b10 72 65 64 6d 61 6e 29 0a 0a 35 2f 31 39 2f 39 39  redman)..5/19/99
31b20 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
31b30 70 70 6c 69 65 64 20 4a 65 66 66 20 48 6f 62 62  pplied Jeff Hobb
31b40 27 73 20 70 61 74 63 68 20 74 6f 20 61 64 64 0a  's patch to add.
31b50 54 63 6c 5f 53 74 72 69 6e 67 43 61 73 65 4d 61  Tcl_StringCaseMa
31b60 74 63 68 20 74 6f 20 73 75 70 70 6f 72 74 20 63  tch to support c
31b70 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20  ase insensitive 
31b80 67 6c 6f 62 20 73 74 79 6c 65 20 6d 61 74 63 68  glob style match
31b90 69 6e 67 20 61 6e 64 0a 54 63 6c 5f 55 6e 69 43  ing and.Tcl_UniC
31ba0 68 61 72 49 73 2a 20 63 68 61 72 61 63 74 65 72  harIs* character
31bb0 20 63 6c 61 73 73 69 66 69 63 61 74 69 6f 6e 20   classification 
31bc0 66 75 6e 63 74 69 6f 6e 73 2e 20 28 73 74 61 6e  functions. (stan
31bd0 74 6f 6e 29 0a 0a 35 2f 32 30 2f 39 39 20 28 62  ton)..5/20/99 (b
31be0 75 67 20 66 69 78 29 20 41 64 64 65 64 20 74 68  ug fix) Added th
31bf0 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74  e directory cont
31c00 61 69 6e 69 6e 67 20 74 68 65 20 65 78 65 63 75  aining the execu
31c10 74 75 62 6c 65 20 61 6e 64 20 74 68 65 0a 2e 2e  tuble and the...
31c20 2f 6c 69 62 20 64 69 72 65 63 74 6f 72 79 20 72  /lib directory r
31c30 65 6c 61 74 69 76 65 20 74 6f 20 74 68 61 74 20  elative to that 
31c40 74 6f 20 74 68 65 20 61 75 74 6f 5f 70 61 74 68  to the auto_path
31c50 20 76 61 72 69 61 62 6c 65 2e 20 28 72 65 64 6d   variable. (redm
31c60 61 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  an)..-----------
31c70 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  ---- Released 8.
31c80 31 2e 31 2c 20 4d 61 79 20 32 35 2c 20 31 39 39  1.1, May 25, 199
31c90 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  9 --------------
31ca0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 32 31 2f 39  --------..5/21/9
31cb0 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  9 (bug fix) Fixe
31cc0 64 20 6c 61 75 6e 63 68 69 6e 67 20 63 6f 6d 6d  d launching comm
31cd0 61 6e 64 2e 63 6f 6d 20 6f 6e 20 57 69 6e 39 35  and.com on Win95
31ce0 2f 39 38 2c 20 6e 6f 20 6c 6f 6e 67 65 72 0a 68  /98, no longer.h
31cf0 61 6e 67 73 2e 20 5b 42 75 67 3a 20 32 31 30 35  angs. [Bug: 2105
31d00 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 35 2f 32 38  ] (redman)..5/28
31d10 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69  /99 (bug fix) Fi
31d20 78 65 64 20 62 75 67 20 77 68 65 72 65 20 64 64  xed bug where dd
31d30 65 20 63 61 6c 6c 73 20 77 65 72 65 20 62 65 69  e calls were bei
31d40 6e 67 20 70 61 73 73 65 64 20 61 6e 0a 69 6e 76  ng passed an.inv
31d50 61 6c 69 64 20 64 64 65 20 68 61 6e 64 6c 65 2e  alid dde handle.
31d60 20 5b 42 75 67 3a 20 32 31 32 34 5d 20 28 73 74   [Bug: 2124] (st
31d70 61 6e 74 6f 6e 29 0a 0a 36 2f 31 2f 39 39 20 20  anton)..6/1/99  
31d80 28 62 75 67 20 66 69 78 29 20 53 6d 61 6c 6c 20  (bug fix) Small 
31d90 63 6f 6e 66 69 67 75 72 65 2e 69 6e 20 70 61 74  configure.in pat
31da0 63 68 65 73 2e 20 5b 42 75 67 3a 20 32 31 32 31  ches. [Bug: 2121
31db0 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 31  ] (stanton)..6/1
31dc0 2f 39 39 20 20 28 62 75 67 20 66 69 78 29 20 41  /99  (bug fix) A
31dd0 70 70 6c 69 65 64 20 6c 61 74 65 73 74 20 72 65  pplied latest re
31de0 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e  gular expression
31df0 20 70 61 74 63 68 65 73 20 74 6f 20 66 69 78 20   patches to fix 
31e00 61 6e 0a 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70  an.infinite loop
31e10 20 62 75 67 20 61 6e 64 20 61 64 64 20 73 75 70   bug and add sup
31e20 70 6f 72 74 20 66 6f 72 20 74 65 73 74 69 6e 67  port for testing
31e30 20 77 68 65 74 68 65 72 20 61 20 73 74 72 69 6e   whether a strin
31e40 67 20 63 6f 75 6c 64 0a 6d 61 74 63 68 20 77 69  g could.match wi
31e50 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e  th additional in
31e60 70 75 74 2e 20 5b 42 75 67 3a 20 32 31 31 37 5d  put. [Bug: 2117]
31e70 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 32 2f   (stanton)..6/2/
31e80 39 39 20 20 28 62 75 67 20 66 69 78 29 20 46 69  99  (bug fix) Fi
31e90 78 65 64 20 69 6e 63 6f 72 72 65 63 74 20 63 6f  xed incorrect co
31ea0 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 72 65 6c  mputation of rel
31eb0 61 74 69 76 65 20 6f 72 64 65 72 69 6e 67 20 69  ative ordering i
31ec0 6e 0a 55 74 66 20 63 61 73 65 2d 69 6e 73 65 6e  n.Utf case-insen
31ed0 73 69 74 69 76 65 20 63 6f 6d 70 61 72 69 73 6f  sitive compariso
31ee0 6e 2e 20 5b 42 75 67 3a 20 32 31 33 35 5d 20 28  n. [Bug: 2135] (
31ef0 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 33 2f 39 39  stanton)..6/3/99
31f00 20 20 28 62 75 67 20 66 69 78 29 20 46 78 69 65    (bug fix) Fxie
31f10 64 20 62 75 67 20 77 68 65 72 65 20 73 74 72 69  d bug where stri
31f20 6e 67 20 65 71 75 61 6c 2f 63 6f 6d 70 61 72 65  ng equal/compare
31f30 20 2d 6e 6f 63 61 73 65 0a 72 65 70 6f 72 74 65   -nocase.reporte
31f40 64 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 20 6f  d wrong result o
31f50 6e 20 6e 75 6c 6c 20 73 74 72 69 6e 67 73 2e 20  n null strings. 
31f60 5b 42 75 67 3a 20 32 31 33 38 5d 20 28 73 74 61  [Bug: 2138] (sta
31f70 6e 74 6f 6e 29 0a 0a 36 2f 34 2f 39 39 20 20 28  nton)..6/4/99  (
31f80 6e 65 77 20 66 65 61 74 75 72 65 29 20 57 69 6e  new feature) Win
31f90 64 6f 77 73 20 62 75 69 6c 64 20 6e 6f 77 20 75  dows build now u
31fa0 73 65 73 20 43 79 67 77 69 6e 20 74 6f 6f 6c 73  ses Cygwin tools
31fb0 20 70 6c 75 73 20 47 4e 55 0a 6d 61 6b 65 20 61   plus GNU.make a
31fc0 6e 64 20 61 75 74 6f 63 6f 6e 66 20 74 6f 20 62  nd autoconf to b
31fd0 75 69 6c 64 20 73 74 61 74 69 63 2f 64 79 6e 61  uild static/dyna
31fe0 6d 69 63 20 61 6e 64 20 64 65 62 75 67 2f 6e 6f  mic and debug/no
31ff0 64 65 62 75 67 2e 20 28 73 74 61 6e 74 6f 6e 29  debug. (stanton)
32000 0a 0a 36 2f 37 2f 39 39 20 20 28 6e 65 77 20 66  ..6/7/99  (new f
32010 65 61 74 75 72 65 29 20 4f 70 74 69 6d 69 7a 65  eature) Optimize
32020 64 20 73 74 72 69 6e 67 20 69 6e 64 65 78 2c 20  d string index, 
32030 6c 65 6e 67 74 68 2c 20 72 61 6e 67 65 2c 20 61  length, range, a
32040 6e 64 0a 61 70 70 65 6e 64 20 63 6f 6d 6d 61 6e  nd.append comman
32050 64 73 2e 20 41 64 64 65 64 20 61 20 6e 65 77 20  ds. Added a new 
32060 55 6e 69 63 6f 64 65 20 6f 62 6a 65 63 74 20 74  Unicode object t
32070 79 70 65 2e 20 28 68 65 72 73 68 65 79 29 0a 0a  ype. (hershey)..
32080 36 2f 38 2f 39 39 20 20 28 62 75 67 20 66 69 78  6/8/99  (bug fix
32090 29 20 52 6f 6c 6c 65 64 20 62 61 63 6b 20 57 69  ) Rolled back Wi
320a0 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69  ndows socket dri
320b0 76 65 72 20 74 6f 20 38 2e 31 2e 30 0a 76 65 72  ver to 8.1.0.ver
320c0 73 69 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  sion. (stanton).
320d0 0a 36 2f 39 2f 39 39 20 20 28 6e 65 77 20 66 65  .6/9/99  (new fe
320e0 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63 6c  ature) Added Tcl
320f0 5f 52 65 67 45 78 70 4d 61 74 63 68 4f 62 6a 20  _RegExpMatchObj 
32100 61 6e 64 20 54 63 6c 5f 52 65 67 45 78 70 47 65  and Tcl_RegExpGe
32110 74 49 6e 66 6f 0a 74 6f 20 70 75 62 6c 69 63 20  tInfo.to public 
32120 54 63 6c 20 41 50 49 2c 20 74 68 65 73 65 20 66  Tcl API, these f
32130 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 65 65  unctions are nee
32140 64 65 64 20 62 79 20 45 78 70 65 63 74 2e 20 20  ded by Expect.  
32150 43 68 61 6e 67 65 64 0a 74 6f 6f 6c 73 2f 67 65  Changed.tools/ge
32160 6e 53 74 75 62 73 2e 74 63 6c 20 74 6f 20 61 6c  nStubs.tcl to al
32170 77 61 79 73 20 77 72 69 74 65 20 6f 75 74 70 75  ways write outpu
32180 74 20 69 6e 20 4c 46 20 6d 6f 64 65 2e 20 28 73  t in LF mode. (s
32190 74 61 6e 74 6f 6e 29 0a 0a 36 2f 31 34 2f 39 39  tanton)..6/14/99
321a0 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 4d   (new feature) M
321b0 65 72 67 65 64 20 73 74 72 69 6e 67 20 61 6e 64  erged string and
321c0 20 55 6e 69 63 6f 64 65 20 6f 62 6a 65 63 74 20   Unicode object 
321d0 74 79 70 65 73 2e 20 20 41 64 64 65 64 0a 6e 65  types.  Added.ne
321e0 77 20 70 75 62 6c 69 63 20 54 63 6c 20 41 50 49  w public Tcl API
321f0 20 66 75 6e 63 74 69 6f 6e 73 3a 20 20 54 63 6c   functions:  Tcl
32200 5f 4e 65 77 55 6e 69 63 6f 64 65 4f 62 6a 2c 20  _NewUnicodeObj, 
32210 54 63 6c 5f 53 65 74 55 6e 69 63 6f 64 65 4f 62  Tcl_SetUnicodeOb
32220 6a 2c 0a 54 63 6c 5f 47 65 74 55 6e 69 63 6f 64  j,.Tcl_GetUnicod
32230 65 2c 20 54 63 6c 5f 47 65 74 55 6e 69 43 68 61  e, Tcl_GetUniCha
32240 72 2c 20 54 63 6c 5f 47 65 74 43 68 61 72 4c 65  r, Tcl_GetCharLe
32250 6e 67 74 68 2c 20 54 63 6c 5f 47 65 74 52 61 6e  ngth, Tcl_GetRan
32260 67 65 2c 0a 54 63 6c 5f 41 70 70 65 6e 64 55 6e  ge,.Tcl_AppendUn
32270 69 63 6f 64 65 54 6f 4f 62 6a 2e 20 28 68 65 72  icodeToObj. (her
32280 73 68 65 79 29 0a 0a 36 2f 31 36 2f 39 39 20 28  shey)..6/16/99 (
32290 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 68 61  new feature) Cha
322a0 6e 67 65 64 20 74 6f 20 63 6f 6e 66 6f 72 6d 20  nged to conform 
322b0 74 6f 20 54 45 41 20 73 70 65 63 69 66 69 63 61  to TEA specifica
322c0 74 69 6f 6e 2c 20 61 64 64 65 64 0a 74 63 6c 2e  tion, added.tcl.
322d0 6d 34 20 61 6e 64 20 61 63 6c 6f 63 61 6c 2e 6d  m4 and aclocal.m
322e0 34 20 6d 61 63 72 6f 20 6c 69 62 72 61 72 69 65  4 macro librarie
322f0 73 20 66 6f 72 20 63 6f 6e 66 69 67 75 72 65 2e  s for configure.
32300 20 20 28 77 61 72 74 29 0a 0a 36 2f 31 37 2f 39    (wart)..6/17/9
32310 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  9 (new feature) 
32320 41 64 64 65 64 20 6e 65 77 20 72 65 67 65 78 70  Added new regexp
32330 20 69 6e 74 65 72 66 61 63 65 73 3a 20 2d 65 78   interfaces: -ex
32340 70 61 6e 64 65 64 2c 20 2d 6c 69 6e 65 2c 0a 2d  panded, -line,.-
32350 6c 69 6e 65 73 74 6f 70 2c 20 61 6e 64 20 2d 6c  linestop, and -l
32360 69 6e 65 61 6e 63 68 6f 72 20 73 77 69 74 63 68  ineanchor switch
32370 65 73 2e 20 20 52 65 6e 61 6d 65 64 20 54 63 6c  es.  Renamed Tcl
32380 5f 52 65 67 45 78 70 4d 61 74 63 68 4f 62 6a 20  _RegExpMatchObj 
32390 74 6f 0a 54 63 6c 5f 52 65 67 45 78 70 45 78 65  to.Tcl_RegExpExe
323a0 63 4f 62 6a 20 61 6e 64 20 61 64 64 65 64 20 6e  cObj and added n
323b0 65 77 20 54 63 6c 5f 52 65 67 45 78 70 4d 61 74  ew Tcl_RegExpMat
323c0 63 68 4f 62 6a 20 74 68 61 74 20 69 73 20 65 71  chObj that is eq
323d0 75 69 76 61 6c 65 6e 74 0a 74 6f 20 54 63 6c 5f  uivalent.to Tcl_
323e0 52 65 67 45 78 70 4d 61 74 63 68 2e 20 20 41 64  RegExpMatch.  Ad
323f0 64 65 64 20 70 75 62 6c 69 63 20 6d 61 63 72 6f  ded public macro
32400 73 20 66 6f 72 20 72 65 67 65 78 70 20 66 6c 61  s for regexp fla
32410 67 73 2e 20 20 41 64 64 65 64 0a 52 45 47 5f 42  gs.  Added.REG_B
32420 4f 53 4f 4e 4c 59 20 66 6c 61 67 20 74 6f 20 61  OSONLY flag to a
32430 6c 6c 6f 77 20 45 78 70 65 63 74 20 74 6f 20 69  llow Expect to i
32440 74 65 72 61 74 65 20 74 68 72 6f 75 67 68 20 61  terate through a
32450 20 73 74 72 69 6e 67 20 61 6e 64 20 6f 6e 6c 79   string and only
32460 0a 66 69 6e 64 20 6d 61 74 63 68 65 73 20 74 68  .find matches th
32470 61 74 20 73 74 61 72 74 20 61 74 20 74 68 65 20  at start at the 
32480 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e  current position
32490 20 77 69 74 68 69 6e 20 74 68 65 0a 73 74 72 69   within the.stri
324a0 6e 67 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36  ng. (stanton)..6
324b0 2f 32 31 2f 39 39 20 28 62 75 67 20 66 69 78 29  /21/99 (bug fix)
324c0 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65   Fixed memory le
324d0 61 6b 20 69 6e 20 54 63 6c 70 54 68 72 65 61 64  ak in TclpThread
324e0 43 72 65 61 74 65 20 77 68 65 72 65 20 74 68 72  Create where thr
324f0 65 61 64 0a 61 74 74 72 69 62 75 74 65 73 20 77  ead.attributes w
32500 65 72 65 20 6e 6f 74 20 62 65 69 6e 67 20 72 65  ere not being re
32510 6c 65 61 73 65 64 2e 20 20 5b 42 75 67 3a 20 32  leased.  [Bug: 2
32520 32 35 34 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  254] (stanton)..
32530 36 2f 32 33 2f 39 39 20 28 6e 65 77 20 66 65 61  6/23/99 (new fea
32540 74 75 72 65 29 20 55 70 64 61 74 65 64 20 55 6e  ture) Updated Un
32550 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 20  icode character 
32560 74 61 62 6c 65 73 20 74 6f 20 72 65 66 6c 65 63  tables to reflec
32570 74 0a 55 6e 69 63 6f 64 65 20 32 2e 31 20 64 61  t.Unicode 2.1 da
32580 74 61 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36  ta. (stanton)..6
32590 2f 32 35 2f 39 39 20 28 6e 65 77 20 66 65 61 74  /25/99 (new feat
325a0 75 72 65 29 20 46 69 78 65 64 20 62 75 67 73 20  ure) Fixed bugs 
325b0 69 6e 20 6e 6f 6e 2d 67 72 65 65 64 79 20 71 75  in non-greedy qu
325c0 61 6e 74 69 66 69 65 72 73 20 66 6f 72 20 72 65  antifiers for re
325d0 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e  gular.expression
325e0 20 63 6f 64 65 2e 20 28 73 74 61 6e 74 6f 6e 29   code. (stanton)
325f0 0a 0a 36 2f 32 35 2f 39 39 20 28 6e 65 77 20 66  ..6/25/99 (new f
32600 65 61 74 75 72 65 29 20 41 64 64 65 64 20 69 6e  eature) Added in
32610 69 74 69 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61  itial implementa
32620 74 69 6f 6e 20 6f 66 20 6e 65 77 20 54 63 6c 20  tion of new Tcl 
32630 74 65 73 74 0a 68 61 72 6e 65 73 73 20 70 61 63  test.harness pac
32640 6b 61 67 65 2e 20 20 4d 6f 64 69 66 69 65 64 20  kage.  Modified 
32650 74 65 73 74 20 66 69 6c 65 73 20 74 6f 20 75 73  test files to us
32660 65 20 6e 65 77 20 74 63 6c 74 65 73 74 20 70 61  e new tcltest pa
32670 63 6b 61 67 65 2e 0a 28 6a 65 6e 6e 29 0a 0a 36  ckage..(jenn)..6
32680 2f 32 36 2f 39 39 20 28 6e 65 77 20 66 65 61 74  /26/99 (new feat
32690 75 72 65 29 20 41 70 70 6c 69 65 64 20 70 61 74  ure) Applied pat
326a0 63 68 20 66 72 6f 6d 20 50 65 74 65 72 20 48 61  ch from Peter Ha
326b0 72 64 69 65 20 74 6f 20 61 64 64 20 70 6f 6b 65  rdie to add poke
326c0 0a 63 6f 6d 6d 61 6e 64 20 74 6f 20 64 64 65 20  .command to dde 
326d0 61 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 20  and changed the 
326e0 64 64 65 20 70 61 63 6b 61 67 65 20 76 65 72 73  dde package vers
326f0 69 6f 6e 20 6e 75 6d 62 65 72 20 74 6f 0a 31 2e  ion number to.1.
32700 31 2e 20 28 72 65 64 6d 61 6e 29 20 0a 0a 36 2f  1. (redman) ..6/
32710 32 38 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  28/99 (bug fix) 
32720 41 70 70 6c 69 65 64 20 70 61 74 63 68 20 66 72  Applied patch fr
32730 6f 6d 20 50 65 74 65 72 20 48 61 72 64 69 65 20  om Peter Hardie 
32740 74 6f 20 66 69 78 20 70 72 6f 62 6c 65 6d 20 69  to fix problem i
32750 6e 0a 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72  n.Tcl_GetIndexFr
32760 6f 6d 4f 62 6a 28 29 20 77 68 65 6e 20 74 68 65  omObj() when the
32770 20 6b 65 79 20 62 65 69 6e 67 20 70 61 73 73 65   key being passe
32780 64 20 69 73 20 74 68 65 20 65 6d 70 74 79 20 73  d is the empty s
32790 74 72 69 6e 67 2e 0a 5b 42 75 67 3a 20 31 37 33  tring..[Bug: 173
327a0 38 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 36 2f 32  8] (redman)..6/2
327b0 39 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72  9/99 (new featur
327c0 65 29 20 41 64 64 65 64 20 6f 70 74 69 6f 6e 73  e) Added options
327d0 20 74 6f 20 74 63 6c 74 65 73 74 20 70 61 63 6b   to tcltest pack
327e0 61 67 65 3a 20 2d 70 72 65 73 65 72 76 65 63 6f  age: -preserveco
327f0 72 65 2c 0a 2d 6c 69 6d 69 74 63 6f 6e 73 74 72  re,.-limitconstr
32800 61 69 6e 74 73 2c 20 2d 68 65 6c 70 2c 20 2d 66  aints, -help, -f
32810 69 6c 65 2c 20 2d 6e 6f 74 66 69 6c 65 2c 20 61  ile, -notfile, a
32820 6e 64 20 66 6c 61 67 73 2e 20 20 28 6a 65 6e 6e  nd flags.  (jenn
32830 29 0a 0a 37 2f 33 2f 39 39 20 20 28 6e 65 77 20  )..7/3/99  (new 
32840 66 65 61 74 75 72 65 29 20 43 68 61 6e 67 65 64  feature) Changed
32850 20 70 61 72 73 69 6e 67 20 6f 66 20 76 61 72 69   parsing of vari
32860 61 62 6c 65 20 6e 61 6d 65 73 20 74 6f 20 61 6c  able names to al
32870 6c 6f 77 20 65 6d 70 74 79 0a 61 72 72 61 79 20  low empty.array 
32880 6e 61 6d 65 73 2e 20 20 4e 6f 77 20 22 24 28 66  names.  Now "$(f
32890 6f 6f 29 22 20 69 73 20 61 20 76 61 72 69 61 62  oo)" is a variab
328a0 6c 65 20 72 65 66 65 72 65 6e 63 65 2e 20 20 50  le reference.  P
328b0 72 65 76 69 6f 75 73 6c 79 20 79 6f 75 0a 68 61  reviously you.ha
328c0 64 20 74 6f 20 75 73 65 20 73 6f 6d 65 74 68 69  d to use somethi
328d0 6e 67 20 6c 69 6e 65 20 24 3a 3a 28 66 6f 6f 29  ng line $::(foo)
328e0 2c 20 77 68 69 63 68 20 69 73 20 73 6c 6f 77 65  , which is slowe
328f0 72 2e 20 20 54 68 69 73 20 63 68 61 6e 67 65 20  r.  This change 
32900 77 61 73 0a 72 65 71 75 65 73 74 65 64 20 62 79  was.requested by
32910 20 4a 65 61 6e 2d 4c 75 63 20 46 6f 6e 74 61 69   Jean-Luc Fontai
32920 6e 65 20 66 6f 72 20 68 69 73 20 53 54 4f 4f 4f  ne for his STOOO
32930 50 20 70 61 63 6b 61 67 65 2e 20 28 77 65 6c 63  P package. (welc
32940 68 29 0a 0a 37 2f 33 2f 39 39 20 20 28 6e 65 77  h)..7/3/99  (new
32950 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
32960 54 63 6c 5f 53 65 74 4e 6f 74 69 66 69 65 72 20  Tcl_SetNotifier 
32970 28 70 75 62 6c 69 63 20 41 50 49 29 20 61 6e 64  (public API) and
32980 0a 61 73 73 6f 63 69 61 74 65 64 20 68 6f 6f 6b  .associated hook
32990 20 70 6f 69 6e 74 73 20 69 6e 20 74 68 65 20 6e   points in the n
329a0 6f 74 69 66 69 65 72 73 20 74 6f 20 62 65 20 61  otifiers to be a
329b0 62 6c 65 20 74 6f 20 72 65 70 6c 61 63 65 20 74  ble to replace t
329c0 68 65 0a 6e 6f 74 69 66 69 65 72 20 63 61 6c 6c  he.notifier call
329d0 73 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 54 68  s at runtime. Th
329e0 65 20 58 74 20 6e 6f 74 69 66 69 65 72 20 61 6e  e Xt notifier an
329f0 64 20 74 65 73 74 20 70 72 6f 67 72 61 6d 20 75  d test program u
32a00 73 65 20 74 68 69 73 0a 68 6f 6f 6b 2e 20 20 28  se this.hook.  (
32a10 77 65 6c 63 68 29 0a 0a 37 2f 33 2f 39 39 20 20  welch)..7/3/99  
32a20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
32a30 64 65 64 20 61 20 6e 65 77 20 76 61 72 69 61 6e  ded a new varian
32a40 74 20 6f 66 20 74 68 65 20 22 54 72 66 20 63 6f  t of the "Trf co
32a50 72 65 20 70 61 74 63 68 22 20 66 72 6f 6d 0a 41  re patch" from.A
32a60 6e 64 72 65 61 73 20 4b 75 70 72 69 65 73 20 74  ndreas Kupries t
32a70 68 61 74 20 61 64 64 73 20 6e 65 77 20 43 20 41  hat adds new C A
32a80 50 49 73 20 54 63 6c 5f 53 74 61 63 6b 43 68 61  PIs Tcl_StackCha
32a90 6e 6e 65 6c 2c 0a 54 63 6c 5f 55 6e 73 74 61 63  nnel,.Tcl_Unstac
32aa0 6b 43 68 61 6e 6e 65 6c 2c 20 61 6e 64 20 54 63  kChannel, and Tc
32ab0 6c 5f 47 65 74 53 74 61 63 6b 65 64 43 68 61 6e  l_GetStackedChan
32ac0 6e 65 6c 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77  nel.  This allow
32ad0 73 20 74 68 65 20 54 72 66 0a 65 78 74 65 6e 73  s the Trf.extens
32ae0 69 6f 6e 20 74 6f 20 77 6f 72 6b 20 77 69 74 68  ion to work with
32af0 6f 75 74 20 61 70 70 6c 79 69 6e 67 20 70 61 74  out applying pat
32b00 63 68 65 73 20 74 6f 20 74 68 65 20 54 63 6c 20  ches to the Tcl 
32b10 63 6f 72 65 2e 20 28 77 65 6c 63 68 29 0a 0a 37  core. (welch)..7
32b20 2f 36 2f 39 39 20 20 28 6e 65 77 20 66 65 61 74  /6/99  (new feat
32b30 75 72 65 29 20 41 64 64 65 64 20 2d 74 69 6d 65  ure) Added -time
32b40 6f 75 74 20 6f 70 74 69 6f 6e 20 74 6f 20 68 74  out option to ht
32b50 74 70 2e 74 63 6c 20 74 6f 20 68 61 6e 64 6c 65  tp.tcl to handle
32b60 0a 74 69 6d 65 6f 75 74 73 20 74 68 61 74 20 6f  .timeouts that o
32b70 63 63 75 72 20 64 75 72 69 6e 67 20 63 6f 6e 6e  ccur during conn
32b80 65 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 73 20  ection attempts 
32b90 74 6f 20 68 6f 73 74 73 20 74 68 61 74 20 61 72  to hosts that ar
32ba0 65 0a 64 6f 77 6e 2e 20 28 77 65 6c 63 68 29 0a  e.down. (welch).
32bb0 0a 37 2f 36 2f 39 39 20 20 28 62 75 67 20 66 69  .7/6/99  (bug fi
32bc0 78 29 20 41 70 70 6c 69 65 64 20 6e 65 77 20 69  x) Applied new i
32bd0 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
32be0 20 74 68 65 20 57 69 6e 64 6f 77 73 20 73 65 72   the Windows ser
32bf0 69 61 6c 0a 70 6f 72 74 20 64 72 69 76 65 72 20  ial.port driver 
32c00 66 72 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f 65  from Rolf Schroe
32c10 64 74 65 72 20 74 68 61 74 20 66 69 78 65 73 20  dter that fixes 
32c20 72 65 61 64 69 6e 67 20 6f 6e 6c 79 20 6f 6e 65  reading only one
32c30 20 62 79 74 65 20 66 72 6f 6d 0a 74 68 65 20 70   byte from.the p
32c40 6f 72 74 20 61 74 20 61 20 74 69 6d 65 2e 20 20  ort at a time.  
32c50 55 73 65 73 20 70 6f 6c 6c 69 6e 67 20 65 76 65  Uses polling eve
32c60 72 79 20 31 30 6d 73 20 74 6f 20 69 6d 70 6c 65  ry 10ms to imple
32c70 6d 65 6e 74 0a 66 69 6c 65 65 76 65 6e 74 73 2e  ment.fileevents.
32c80 20 5b 42 75 67 3a 20 31 39 38 30 20 32 32 31 37   [Bug: 1980 2217
32c90 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 38 2f  ] (redman)..7/8/
32ca0 39 39 20 20 28 62 75 67 20 66 69 78 29 20 41 70  99  (bug fix) Ap
32cb0 70 6c 69 65 64 20 66 69 78 20 66 6f 72 20 62 75  plied fix for bu
32cc0 67 20 69 6e 20 44 46 41 20 73 74 61 74 65 20 63  g in DFA state c
32cd0 61 63 68 69 6e 67 20 75 6e 64 65 72 0a 6c 6f 6f  aching under.loo
32ce0 6b 61 68 65 61 64 20 63 6f 6e 64 69 74 69 6f 6e  kahead condition
32cf0 73 20 28 72 65 67 75 6c 61 72 20 65 78 70 72 65  s (regular expre
32d00 73 73 69 6f 6e 73 29 2e 20 20 5b 42 75 67 3a 20  ssions).  [Bug: 
32d10 32 33 31 38 5d 20 28 73 74 61 6e 74 6f 6e 29 0a  2318] (stanton).
32d20 0a 37 2f 38 2f 39 39 20 20 28 62 75 67 20 66 69  .7/8/99  (bug fi
32d30 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
32d40 73 74 72 69 6e 67 20 72 61 6e 67 65 20 62 6f 75  string range bou
32d50 6e 64 73 20 63 68 65 63 6b 69 6e 67 0a 63 6f 64  nds checking.cod
32d60 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 2d 2d  e. (stanton)..--
32d70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
32d80 6c 65 61 73 65 64 20 38 2e 32 62 31 2c 20 4a 75  leased 8.2b1, Ju
32d90 6c 79 20 31 34 2c 20 31 39 39 39 20 2d 2d 2d 2d  ly 14, 1999 ----
32da0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
32db0 2d 2d 0a 0a 37 2f 31 36 2f 39 39 20 28 62 75 67  --..7/16/99 (bug
32dc0 20 66 69 78 29 20 41 64 64 65 64 20 54 63 6c 5f   fix) Added Tcl_
32dd0 53 65 74 4e 6f 74 69 66 69 65 72 20 74 6f 20 73  SetNotifier to s
32de0 74 75 62 20 74 61 62 6c 65 2e 20 5b 42 75 67 3a  tub table. [Bug:
32df0 20 32 33 36 34 5d 0a 41 64 64 65 64 20 63 68 65   2364].Added che
32e00 63 6b 20 66 6f 72 20 41 6c 70 68 61 2f 4c 69 6e  ck for Alpha/Lin
32e10 75 78 20 74 6f 20 63 6f 72 72 65 63 74 20 74 68  ux to correct th
32e20 65 20 49 45 45 45 20 20 66 6c 6f 61 74 69 6e 67  e IEEE  floating
32e30 20 70 6f 69 6e 74 20 66 6c 61 67 2c 0a 70 61 74   point flag,.pat
32e40 63 68 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74  ch from Don Port
32e50 65 72 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f  er. (redman)..7/
32e60 32 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  20/99 (bug fix) 
32e70 4d 65 72 67 65 64 20 38 2e 30 2e 35 20 63 6f 64  Merged 8.0.5 cod
32e80 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 63 6c 5f  e to handle tcl_
32e90 6c 69 62 72 61 72 79 20 70 72 6f 70 65 72 6c 79  library properly
32ea0 2c 0a 61 6c 73 6f 20 66 69 78 65 64 20 61 20 62  ,.also fixed a b
32eb0 75 67 20 74 68 61 74 20 63 61 75 73 65 64 20 54  ug that caused T
32ec0 43 4c 5f 4c 49 42 52 41 52 59 20 74 6f 20 62 65  CL_LIBRARY to be
32ed0 20 69 67 6e 6f 72 65 64 2e 20 28 68 65 72 73 68   ignored. (hersh
32ee0 65 79 29 0a 0a 37 2f 32 31 2f 39 39 20 28 62 75  ey)..7/21/99 (bu
32ef0 67 20 66 69 78 29 20 49 6d 70 6c 65 6d 65 6e 74  g fix) Implement
32f00 65 64 20 6d 6f 64 69 66 69 65 64 20 73 6f 63 6b  ed modified sock
32f10 65 74 20 64 72 69 76 65 72 20 66 6f 72 20 57 69  et driver for Wi
32f20 6e 64 6f 77 73 20 74 68 61 74 0a 75 73 65 73 20  ndows that.uses 
32f30 61 20 74 68 72 65 61 64 20 74 6f 20 6d 61 6e 61  a thread to mana
32f40 67 65 20 74 68 65 20 73 6f 63 6b 65 74 20 65 76  ge the socket ev
32f50 65 6e 74 20 77 69 6e 64 6f 77 2e 20 20 43 6f 64  ent window.  Cod
32f60 65 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65  e works the same
32f70 0a 6f 6e 20 61 6c 6c 20 73 75 70 70 6f 72 74 65  .on all supporte
32f80 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 57 69  d versions of Wi
32f90 6e 64 6f 77 73 20 61 6e 64 20 77 61 73 20 62 61  ndows and was ba
32fa0 73 65 64 20 6f 6e 20 6f 72 69 67 69 6e 61 6c 20  sed on original 
32fb0 38 2e 31 2e 30 0a 63 6f 64 65 2e 20 20 5b 42 75  8.1.0.code.  [Bu
32fc0 67 3a 20 32 31 37 38 20 32 32 35 36 20 32 32 35  g: 2178 2256 225
32fd0 39 20 32 33 32 39 20 32 33 32 33 20 32 33 35 35  9 2329 2323 2355
32fe0 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 31  ] (redman)..7/21
32ff0 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72 65  /99 (new feature
33000 29 20 41 70 70 6c 69 65 64 20 70 61 74 63 68 20  ) Applied patch 
33010 66 72 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f 65  from Rolf Schroe
33020 64 74 65 72 20 74 6f 20 61 64 64 0a 2d 70 6f 6c  dter to add.-pol
33030 6c 69 6e 74 65 72 76 61 6c 20 6f 70 74 69 6f 6e  linterval option
33040 20 74 6f 20 66 63 6f 6e 66 69 67 75 72 65 20 66   to fconfigure f
33050 6f 72 20 57 69 6e 64 6f 77 73 20 73 65 72 69 61  or Windows seria
33060 6c 20 70 6f 72 74 73 2e 20 20 41 6c 6c 6f 77 73  l ports.  Allows
33070 0a 74 68 65 20 6d 61 78 62 6c 6f 63 6b 74 69 6d  .the maxblocktim
33080 65 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64  e to be modified
33090 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 68 6f 77 20   to control how 
330a0 6f 66 74 65 6e 20 73 65 72 69 61 6c 20 70 6f 72  often serial por
330b0 74 73 20 61 72 65 0a 63 68 65 63 6b 65 64 20 66  ts are.checked f
330c0 6f 72 20 66 69 6c 65 65 76 65 6e 74 73 2e 20 20  or fileevents.  
330d0 41 6c 73 6f 20 61 64 64 65 64 20 64 6f 63 75 6d  Also added docum
330e0 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 5c 5c 2e  entation for \\.
330f0 5c 63 6f 6d 58 0a 6e 6f 74 61 74 69 6f 6e 20 66  \comX.notation f
33100 6f 72 20 6f 70 65 6e 69 6e 67 20 73 65 72 69 61  or opening seria
33110 6c 20 70 6f 72 74 73 20 6f 6e 20 57 69 6e 64 6f  l ports on Windo
33120 77 73 2e 20 20 28 72 65 64 6d 61 6e 29 0a 0a 37  ws.  (redman)..7
33130 2f 32 31 2f 39 39 20 28 62 75 67 20 66 69 78 29  /21/99 (bug fix)
33140 20 43 68 61 6e 67 65 64 20 41 50 49 73 20 69 6e   Changed APIs in
33150 20 73 74 75 62 20 74 61 62 6c 65 73 20 74 6f 20   stub tables to 
33160 75 73 65 20 22 75 6e 73 69 67 6e 65 64 20 6c 6f  use "unsigned lo
33170 6e 67 22 0a 69 6e 73 74 65 61 64 20 6f 66 20 74  ng".instead of t
33180 68 65 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63  he platform-spec
33190 69 66 69 63 20 22 73 69 7a 65 5f 74 22 2c 20 70  ific "size_t", p
331a0 72 69 6d 61 72 69 6c 79 20 61 66 74 65 72 20 53  rimarily after S
331b0 75 6e 4f 53 20 34 0a 75 73 65 72 73 20 63 6f 75  unOS 4.users cou
331c0 6c 64 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 6f 6d  ld no longer com
331d0 70 69 6c 65 2e 20 28 72 65 64 6d 61 6e 29 0a 0a  pile. (redman)..
331e0 37 2f 32 32 2f 39 39 20 28 62 75 67 20 66 69 78  7/22/99 (bug fix
331f0 29 20 46 69 78 65 64 20 63 72 61 73 68 69 6e 67  ) Fixed crashing
33200 20 64 75 72 69 6e 67 20 22 61 72 72 61 79 20 73   during "array s
33210 65 74 20 61 28 62 29 20 7b 7d 22 2e 20 0a 5b 42  et a(b) {}". .[B
33220 75 67 3a 20 32 34 32 37 5d 20 28 72 65 64 6d 61  ug: 2427] (redma
33230 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75 67  n)..7/22/99 (bug
33240 20 66 69 78 29 20 54 68 65 20 69 6e 73 74 61 6c   fix) The instal
33250 6c 2d 73 68 20 73 63 72 69 70 74 20 6d 75 73 74  l-sh script must
33260 20 62 65 20 67 69 76 65 6e 20 65 78 65 63 75 74   be given execut
33270 65 0a 70 65 72 6d 69 73 73 69 6f 6e 73 20 70 72  e.permissions pr
33280 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 2e 20  ior to running. 
33290 20 5b 42 75 67 3a 20 32 34 31 33 5d 20 28 72 65   [Bug: 2413] (re
332a0 64 6d 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28  dman)..7/22/99 (
332b0 62 75 67 20 66 69 78 29 20 41 70 70 6c 69 65 64  bug fix) Applied
332c0 20 70 61 74 63 68 20 66 72 6f 6d 20 55 6c 72 69   patch from Ulri
332d0 63 68 20 52 69 6e 67 20 74 6f 20 72 65 6d 6f 76  ch Ring to remov
332e0 65 20 41 4e 53 49 2d 73 74 79 6c 65 0a 70 72 6f  e ANSI-style.pro
332f0 74 6f 74 79 70 65 73 20 69 6e 20 74 68 65 20 63  totypes in the c
33300 6f 64 65 2e 20 20 5b 42 75 67 3a 20 32 33 39 31  ode.  [Bug: 2391
33310 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 32  ] (redman)..7/22
33320 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 64  /99 (bug fix) Ad
33330 64 65 64 20 23 69 66 20 62 6c 6f 63 6b 73 20 61  ded #if blocks a
33340 72 6f 75 6e 64 20 23 69 6e 63 6c 75 64 65 73 20  round #includes 
33350 6f 66 20 73 79 73 2f 2a 2e 68 20 68 65 61 64 65  of sys/*.h heade
33360 72 0a 66 69 6c 65 73 2c 20 74 6f 20 61 6c 6c 6f  r.files, to allo
33370 77 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 61  w an extension a
33380 75 74 68 6f 72 20 6f 6e 20 57 69 6e 64 6f 77 73  uthor on Windows
33390 20 74 6f 20 75 73 65 20 74 68 65 20 4d 65 74 72   to use the Metr
333a0 6f 57 65 72 6b 73 0a 63 6f 6d 70 69 6c 65 72 2e  oWerks.compiler.
333b0 20 5b 42 75 67 3a 20 32 33 38 35 5d 20 28 72 65   [Bug: 2385] (re
333c0 64 6d 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28  dman)..7/22/99 (
333d0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 72  bug fix) Fixed r
333e0 75 6e 6e 69 6e 67 20 74 68 65 20 73 61 66 65 2e  unning the safe.
333f0 74 65 73 74 20 74 65 73 74 20 73 75 69 74 65 2c  test test suite,
33400 20 6f 6e 65 20 63 68 61 6e 67 65 0a 74 6f 20 74   one change.to t
33410 68 65 20 57 69 6e 64 6f 77 73 20 4d 61 6b 65 66  he Windows Makef
33420 69 6c 65 2e 69 6e 20 74 6f 20 66 69 78 20 70 61  ile.in to fix pa
33430 74 68 73 20 61 6e 64 20 61 6e 6f 74 68 65 72 20  ths and another 
33440 69 6e 20 73 61 66 65 2e 74 65 73 74 20 74 6f 0a  in safe.test to.
33450 63 68 65 63 6b 20 66 6f 72 20 74 68 65 20 74 63  check for the tc
33460 6c 5f 70 6c 61 74 66 6f 72 6d 28 74 68 72 65 61  l_platform(threa
33470 64 65 64 29 20 76 61 72 69 61 62 6c 65 20 70 72  ded) variable pr
33480 6f 70 65 72 6c 79 2e 20 28 72 65 64 6d 61 6e 29  operly. (redman)
33490 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75 67 20 66  ..7/22/99 (bug f
334a0 69 78 29 20 46 69 78 65 64 20 68 61 6e 67 69 6e  ix) Fixed hangin
334b0 67 20 69 6e 20 6e 65 77 20 57 69 6e 33 32 20 73  g in new Win32 s
334c0 6f 63 6b 65 74 20 64 72 69 76 65 72 20 77 69 74  ocket driver wit
334d0 68 0a 74 68 72 65 61 64 73 20 65 6e 61 62 6c 65  h.threads enable
334e0 64 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32  d. (redman)..7/2
334f0 36 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46  6/99 (bug fix) F
33500 69 78 65 64 20 74 65 72 6d 69 6e 61 74 69 6e 67  ixed terminating
33510 20 6f 66 20 68 65 6c 70 65 72 20 74 68 72 65 61   of helper threa
33520 64 73 20 62 79 20 68 6f 6c 64 69 6e 67 20 61 6e  ds by holding an
33530 79 0a 6d 75 74 65 78 65 73 20 66 72 6f 6d 20 74  y.mutexes from t
33540 68 65 20 70 72 69 6d 61 72 79 20 74 68 72 65 61  he primary threa
33550 64 20 77 68 69 6c 65 20 77 61 69 74 69 6e 67 20  d while waiting 
33560 66 6f 72 20 74 68 65 20 68 65 6c 70 65 72 20 74  for the helper t
33570 68 72 65 61 64 20 74 6f 0a 74 65 72 6d 69 6e 61  hread to.termina
33580 74 65 2e 20 20 46 69 78 65 73 20 64 75 61 6c 2d  te.  Fixes dual-
33590 43 50 55 20 57 69 6e 4e 54 20 68 61 6e 67 73 2c  CPU WinNT hangs,
335a0 20 6f 6e 6c 79 20 6f 6e 65 20 72 61 72 65 20 73   only one rare s
335b0 70 6f 72 61 64 69 63 20 68 61 6e 67 0a 74 68 61  poradic hang.tha
335c0 74 20 73 74 69 6c 6c 20 65 78 69 73 74 73 20 77  t still exists w
335d0 69 74 68 20 64 75 61 6c 2d 43 50 55 20 57 69 6e  ith dual-CPU Win
335e0 4e 54 2e 20 20 41 6c 73 6f 20 66 69 78 65 64 20  NT.  Also fixed 
335f0 74 65 73 74 20 63 61 73 65 73 20 73 6f 20 74 68  test cases so th
33600 61 74 0a 74 68 65 79 20 77 6f 75 6c 64 20 6e 6f  at.they would no
33610 74 20 64 65 70 65 6e 64 20 61 73 20 6d 75 63 68  t depend as much
33620 20 6f 6e 20 74 69 6d 69 6e 67 20 66 6f 72 20 64   on timing for d
33630 75 61 6c 2d 43 50 55 20 57 69 6e 4e 54 2e 20 28  ual-CPU WinNT. (
33640 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 37 2f 39 39  redman)..7/27/99
33650 20 28 62 75 67 20 66 69 78 29 20 53 6f 6d 65 20   (bug fix) Some 
33660 74 65 73 74 20 73 75 69 74 65 20 63 6c 65 61 6e  test suite clean
33670 75 70 2e 20 28 6a 65 6e 6e 29 0a 0a 37 2f 32 39  up. (jenn)..7/29
33680 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 70  /99 (bug fix) Ap
33690 70 6c 69 65 64 20 70 61 74 63 68 20 74 6f 20 66  plied patch to f
336a0 69 78 20 74 79 70 6f 20 69 6e 20 2e 53 48 20 4e  ix typo in .SH N
336b0 41 4d 45 20 6c 69 6e 65 20 69 6e 0a 64 6f 63 2f  AME line in.doc/
336c0 45 6e 63 6f 64 69 6e 67 2e 6e 20 5b 42 75 67 3a  Encoding.n [Bug:
336d0 20 32 34 35 31 5d 2e 20 20 41 70 70 6c 69 65 64   2451].  Applied
336e0 20 70 61 74 63 68 20 74 6f 20 61 76 6f 69 64 20   patch to avoid 
336f0 6c 69 6e 6b 69 6e 67 20 70 61 63 6b 2e 6e 20 74  linking pack.n t
33700 6f 0a 70 61 63 6b 2d 6f 6c 64 2e 6e 20 5b 42 75  o.pack-old.n [Bu
33710 67 3a 20 32 34 36 39 5d 2e 20 50 61 74 63 68 65  g: 2469]. Patche
33720 73 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74 65  s from Don Porte
33730 72 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32  r. (redman)..7/2
33740 39 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  9/99 (bug fix) A
33750 6c 6c 6f 77 20 74 63 6c 20 74 6f 20 6f 70 65 6e  llow tcl to open
33760 20 43 4f 4e 20 61 6e 64 20 4e 55 4c 2c 20 65 76   CON and NUL, ev
33770 65 6e 20 66 6f 72 20 72 65 64 69 72 65 63 74 69  en for redirecti
33780 6f 6e 0a 6f 66 20 73 74 64 20 63 68 61 6e 6e 65  on.of std channe
33790 6c 73 2e 20 20 5b 42 75 67 3a 20 32 33 39 33 20  ls.  [Bug: 2393 
337a0 32 33 39 32 20 32 32 30 39 20 32 34 35 38 5d 20  2392 2209 2458] 
337b0 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 33 30 2f 39  (redman)..7/30/9
337c0 39 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c  9 (bug fix) Appl
337d0 69 65 64 20 66 69 78 65 64 20 54 72 66 20 70 61  ied fixed Trf pa
337e0 74 63 68 20 66 72 6f 6d 20 41 6e 64 72 65 61 73  tch from Andreas
337f0 20 4b 75 70 72 69 65 73 2e 20 0a 5b 42 75 67 3a   Kupries. .[Bug:
33800 20 32 33 38 36 5d 20 28 68 6f 62 62 73 29 0a 0a   2386] (hobbs)..
33810 37 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78  7/30/99 (bug fix
33820 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 69  ) Fixed bug in i
33830 6e 66 6f 20 63 6f 6d 70 6c 65 74 65 2e 20 5b 42  nfo complete. [B
33840 75 67 3a 20 32 33 38 33 20 32 34 36 36 5d 20 28  ug: 2383 2466] (
33850 68 6f 62 62 73 29 0a 0a 37 2f 33 30 2f 39 39 20  hobbs)..7/30/99 
33860 28 62 75 67 20 66 69 78 29 20 41 70 70 6c 69 65  (bug fix) Applie
33870 64 20 70 61 74 63 68 20 74 6f 20 66 69 78 20 74  d patch to fix t
33880 68 72 65 61 64 69 6e 67 20 6f 6e 20 49 72 69 78  hreading on Irix
33890 20 36 2e 35 2c 20 70 61 74 63 68 0a 70 72 6f 76   6.5, patch.prov
338a0 69 64 65 64 20 62 79 20 4a 61 6d 65 73 20 44 65  ided by James De
338b0 6e 6e 65 74 74 2e 20 20 5b 42 75 67 3a 20 32 34  nnett.  [Bug: 24
338c0 35 30 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f  50] (redman)..7/
338d0 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
338e0 46 69 78 65 64 20 6c 61 75 6e 63 68 69 6e 67 20  Fixed launching 
338f0 6f 66 20 31 36 62 69 74 20 61 70 70 6c 69 63 61  of 16bit applica
33900 74 69 6f 6e 73 20 6f 6e 20 57 69 6e 39 78 20 66  tions on Win9x f
33910 72 6f 6d 0a 77 69 73 68 2e 20 20 54 68 65 20 63  rom.wish.  The c
33920 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 77 61 73 20  ommand line was 
33930 62 65 69 6e 67 20 70 72 69 6d 65 64 20 77 69 74  being primed wit
33940 68 20 74 63 6c 70 69 70 38 32 2e 64 6c 6c 2c 20  h tclpip82.dll, 
33950 62 75 74 20 69 74 20 77 61 73 0a 69 67 6e 6f 72  but it was.ignor
33960 65 64 20 6c 61 74 65 72 2e 20 0a 0a 37 2f 33 30  ed later. ..7/30
33970 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 64  /99 (bug fix) Ad
33980 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f  ded functions to
33990 20 73 74 75 62 20 74 61 62 6c 65 2c 20 70 61 74   stub table, pat
339a0 63 68 20 70 72 6f 76 69 64 65 64 20 62 79 20 4a  ch provided by J
339b0 61 6e 0a 4e 69 6a 74 6d 61 6e 73 2e 20 5b 42 75  an.Nijtmans. [Bu
339c0 67 3a 20 32 34 34 35 5d 20 28 68 6f 62 62 73 29  g: 2445] (hobbs)
339d0 0a 0a 38 2f 31 2f 39 39 20 20 28 62 75 67 20 66  ..8/1/99  (bug f
339e0 69 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e 64  ix) Changed Wind
339f0 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69 76 65  ows socket drive
33a00 72 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 74  r to terminate t
33a10 68 72 65 61 64 73 0a 62 79 20 73 65 6e 64 69 6e  hreads.by sendin
33a20 67 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74  g a message to t
33a30 68 65 20 77 69 6e 64 6f 77 20 72 61 74 68 65 72  he window rather
33a40 20 74 68 61 6e 20 63 61 6c 6c 69 6e 67 0a 54 65   than calling.Te
33a50 72 6d 69 6e 61 74 65 54 68 72 65 61 64 28 29 2c  rminateThread(),
33a60 20 77 68 69 63 68 20 73 65 65 6d 73 20 74 6f 20   which seems to 
33a70 6c 65 61 6b 20 61 62 6f 75 74 20 34 6b 20 66 72  leak about 4k fr
33a80 6f 6d 20 74 68 65 20 68 65 6c 70 65 72 0a 74 68  om the helper.th
33a90 72 65 61 64 27 73 20 73 74 61 63 6b 20 73 70 61  read's stack spa
33aa0 63 65 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 2d 2d  ce. (redman)..--
33ab0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
33ac0 6c 65 61 73 65 64 20 38 2e 32 62 32 2c 20 41 75  leased 8.2b2, Au
33ad0 67 75 73 74 20 35 2c 20 31 39 39 39 20 2d 2d 2d  gust 5, 1999 ---
33ae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
33af0 2d 2d 2d 0a 0a 38 2f 34 2f 39 39 20 28 62 75 67  ---..8/4/99 (bug
33b00 20 66 69 78 29 20 41 70 70 6c 69 65 64 20 70 61   fix) Applied pa
33b10 74 63 68 65 73 20 73 75 70 70 6c 69 65 64 20 62  tches supplied b
33b20 79 20 48 65 6e 72 79 20 53 70 65 6e 63 65 72 20  y Henry Spencer 
33b30 74 6f 20 67 72 65 61 74 6c 79 0a 65 6e 68 61 6e  to greatly.enhan
33b40 63 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f  ce performance o
33b50 66 20 63 65 72 74 61 69 6e 20 63 6c 61 73 73 65  f certain classe
33b60 73 20 6f 66 20 72 65 67 75 6c 61 72 20 65 78 70  s of regular exp
33b70 72 65 73 73 69 6f 6e 73 2e 20 0a 5b 42 75 67 3a  ressions. .[Bug:
33b80 20 32 34 34 30 20 32 34 34 37 5d 20 28 73 74 61   2440 2447] (sta
33b90 6e 74 6f 6e 29 0a 0a 38 2f 35 2f 39 39 20 28 64  nton)..8/5/99 (d
33ba0 6f 63 20 63 68 61 6e 67 65 29 20 4d 61 64 65 20  oc change) Made 
33bb0 69 74 20 63 6c 65 61 72 20 74 68 61 74 20 74 63  it clear that tc
33bc0 6c 5f 70 6b 67 50 61 74 68 20 77 61 73 20 6e 6f  l_pkgPath was no
33bd0 74 20 73 65 74 20 66 6f 72 0a 57 69 6e 64 6f 77  t set for.Window
33be0 73 2e 20 5b 42 75 67 3a 20 32 34 35 35 5d 20 28  s. [Bug: 2455] (
33bf0 68 6f 62 62 73 29 0a 0a 38 2f 35 2f 39 39 20 28  hobbs)..8/5/99 (
33c00 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 72  bug fix) Fixed r
33c10 65 66 65 72 65 6e 63 65 20 74 6f 20 62 79 74 65  eference to byte
33c20 73 20 74 68 61 74 20 6d 69 67 68 74 20 6e 6f 74  s that might not
33c30 20 62 65 20 6e 75 6c 6c 0a 74 65 72 6d 69 6e 61   be null.termina
33c40 74 65 64 20 69 6e 20 74 63 6c 4c 69 74 65 72 61  ted in tclLitera
33c50 6c 2e 63 2e 20 5b 42 75 67 3a 20 32 34 39 36 5d  l.c. [Bug: 2496]
33c60 20 28 68 6f 62 62 73 29 0a 0a 38 2f 35 2f 39 39   (hobbs)..8/5/99
33c70 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
33c80 20 74 79 70 6f 20 69 6e 20 68 74 74 70 2e 74 63   typo in http.tc
33c90 6c 2e 20 5b 42 75 67 3a 20 32 35 30 32 5d 20 28  l. [Bug: 2502] (
33ca0 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39 39 20 28  hobbs)..8/9/99 (
33cb0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 74  bug fix) Fixed t
33cc0 65 73 74 20 73 75 69 74 65 20 74 6f 20 68 61 6e  est suite to han
33cd0 64 6c 65 20 6c 61 72 67 65 72 20 69 6e 74 65 67  dle larger integ
33ce0 65 72 73 0a 28 36 34 62 69 74 29 2e 20 50 61 74  ers.(64bit). Pat
33cf0 63 68 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74  ch from Don Port
33d00 65 72 2e 20 28 68 6f 62 62 73 29 0a 0a 38 2f 39  er. (hobbs)..8/9
33d10 2f 39 39 20 28 64 6f 63 75 6d 65 6e 74 61 74 69  /99 (documentati
33d20 6f 6e 20 66 69 78 29 20 43 6c 61 72 69 66 69 65  on fix) Clarifie
33d30 64 20 54 63 6c 5f 44 65 63 72 52 65 66 43 6f 75  d Tcl_DecrRefCou
33d40 6e 74 20 64 6f 63 73 20 0a 5b 42 75 67 3a 20 31  nt docs .[Bug: 1
33d50 39 35 32 5d 2e 20 43 6c 61 72 69 66 69 65 64 20  952]. Clarified 
33d60 61 72 72 61 79 20 70 61 74 74 65 72 6e 20 64 6f  array pattern do
33d70 63 73 20 5b 42 75 67 3a 20 31 33 33 30 5d 2e 20  cs [Bug: 1330]. 
33d80 46 69 78 65 64 20 63 6c 6f 63 6b 20 64 6f 63 73  Fixed clock docs
33d90 0a 5b 42 75 67 3a 20 36 39 33 5d 2e 20 46 69 78  .[Bug: 693]. Fix
33da0 65 64 20 66 6f 72 6d 61 74 74 69 6e 67 20 65 72  ed formatting er
33db0 72 6f 72 73 20 5b 42 75 67 3a 20 32 31 38 38 20  rors [Bug: 2188 
33dc0 32 31 38 39 5d 2e 20 46 69 78 65 64 20 64 6f 63  2189]. Fixed doc
33dd0 20 65 72 72 6f 72 0a 69 6e 20 74 63 6c 76 61 72   error.in tclvar
33de0 73 2e 6e 20 5b 42 75 67 3a 20 32 30 34 32 5d 2e  s.n [Bug: 2042].
33df0 20 28 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39 39   (hobbs)..8/9/99
33e00 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
33e10 20 70 61 74 68 20 68 61 6e 64 6c 69 6e 67 20 69   path handling i
33e20 6e 20 61 75 74 6f 5f 65 78 65 63 6f 6b 20 5b 42  n auto_execok [B
33e30 75 67 3a 20 31 32 37 36 5d 20 28 68 6f 62 62 73  ug: 1276] (hobbs
33e40 29 0a 0a 38 2f 39 2f 39 39 20 28 69 6e 74 65 72  )..8/9/99 (inter
33e50 6e 61 6c 20 61 70 69 20 63 68 61 6e 67 65 29 20  nal api change) 
33e60 52 65 6d 6f 76 65 64 20 74 68 65 20 54 63 6c 70  Removed the Tclp
33e70 4d 75 74 65 78 4c 6f 63 6b 20 61 6e 64 20 54 63  MutexLock and Tc
33e80 6c 70 4d 75 74 65 78 55 6e 6c 6f 63 6b 0a 41 50  lpMutexUnlock.AP
33e90 49 73 20 61 6e 64 20 61 64 64 65 64 20 61 20 6e  Is and added a n
33ea0 65 77 20 65 78 70 6f 72 74 65 64 20 61 70 69 2c  ew exported api,
33eb0 20 54 63 6c 5f 47 65 74 41 6c 6c 6f 63 4d 75 74   Tcl_GetAllocMut
33ec0 65 78 2e 20 54 68 65 73 65 20 41 50 49 73 20 61  ex. These APIs a
33ed0 72 65 20 61 6c 6c 20 66 6f 72 0a 74 68 65 20 6d  re all for.the m
33ee0 75 74 65 78 20 75 73 65 64 20 69 6e 20 74 68 65  utex used in the
33ef0 20 73 69 6d 70 6c 65 20 6d 65 6d 6f 72 79 20 61   simple memory a
33f00 6c 6c 6f 63 61 74 6f 72 73 2e 20 20 42 79 20 6d  llocators.  By m
33f10 61 6b 69 6e 67 20 74 68 69 73 20 63 68 61 6e 67  aking this chang
33f20 65 0a 77 65 20 61 72 65 20 61 62 6c 65 20 74 6f  e.we are able to
33f30 20 73 75 62 73 74 69 74 75 74 65 20 64 69 66 66   substitute diff
33f40 65 72 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61  erent implementa
33f50 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 74 68 72  tions of the thr
33f60 65 61 64 2d 72 65 6c 61 74 65 64 0a 41 50 49 73  ead-related.APIs
33f70 20 77 69 74 68 6f 75 74 20 68 61 76 69 6e 67 20   without having 
33f80 74 6f 20 72 65 63 6f 6d 70 69 6c 65 20 74 68 65  to recompile the
33f90 20 54 63 6c 20 63 6f 72 65 2e 20 28 77 65 6c 63   Tcl core. (welc
33fa0 68 29 0a 0a 38 2f 39 2f 39 39 20 28 6e 65 77 20  h)..8/9/99 (new 
33fb0 43 20 41 50 49 29 20 54 63 6c 5f 47 65 74 43 68  C API) Tcl_GetCh
33fc0 61 6e 6e 65 6c 4e 61 6d 65 73 20 72 65 74 75 72  annelNames retur
33fd0 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6f 70 65  ns a list of ope
33fe0 6e 20 63 68 61 6e 6e 65 6c 0a 6e 61 6d 65 73 20  n channel.names 
33ff0 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  in the interpret
34000 65 72 20 72 65 73 75 6c 74 2e 20 20 53 74 69 6c  er result.  Stil
34010 6c 20 6e 6f 20 54 63 6c 2d 6c 65 76 65 6c 20 76  l no Tcl-level v
34020 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 2c 0a  ersion of this,.
34030 62 75 74 20 73 65 72 76 65 72 2d 6c 69 6b 65 20  but server-like 
34040 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 63 61 6e  applications can
34050 20 75 73 65 20 74 68 69 73 20 74 6f 20 63 6c 65   use this to cle
34060 61 6e 20 75 70 20 66 69 6c 65 73 20 77 69 74 68  an up files with
34070 6f 75 74 0a 64 65 6c 65 74 69 6e 67 20 69 6e 74  out.deleting int
34080 65 72 70 72 65 74 65 72 73 2e 20 28 77 65 6c 63  erpreters. (welc
34090 68 29 0a 0a 38 2f 39 2f 39 39 20 28 62 75 67 20  h)..8/9/99 (bug 
340a0 66 69 78 29 20 54 72 61 63 65 73 20 77 65 72 65  fix) Traces were
340b0 20 6e 6f 74 20 66 69 72 69 6e 67 20 6f 6e 20 22   not firing on "
340c0 69 6e 66 6f 20 65 78 69 73 74 73 22 2c 20 77 68  info exists", wh
340d0 69 63 68 20 75 73 65 64 20 74 6f 0a 68 61 70 70  ich used to.happ
340e0 65 6e 20 69 6e 20 54 63 6c 20 37 2e 36 20 61 6e  en in Tcl 7.6 an
340f0 64 20 65 61 72 6c 69 65 72 2e 20 41 6e 20 22 69  d earlier. An "i
34100 6e 66 6f 20 65 78 69 73 74 73 22 20 6e 6f 77 20  nfo exists" now 
34110 66 69 72 65 73 20 61 20 72 65 61 64 20 74 72 61  fires a read tra
34120 63 65 2c 0a 69 66 20 64 65 66 69 6e 65 64 2e 20  ce,.if defined. 
34130 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70   This makes it p
34140 6f 73 73 69 62 6c 65 20 74 6f 20 66 75 6c 6c 79  ossible to fully
34150 20 69 6d 70 6c 65 6d 65 6e 74 20 76 61 72 69 61   implement varia
34160 62 6c 65 73 20 74 68 61 74 0a 61 72 65 20 64 65  bles that.are de
34170 66 69 6e 65 64 20 76 69 61 20 74 72 61 63 65 73  fined via traces
34180 2e 20 28 77 65 6c 63 68 29 0a 0a 38 2f 31 30 2f  . (welch)..8/10/
34190 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78  99 (bug fix) Fix
341a0 65 64 20 42 72 65 6e 74 27 73 20 63 68 61 6e 67  ed Brent's chang
341b0 65 73 20 73 6f 20 74 68 61 74 20 74 68 65 79 20  es so that they 
341c0 77 6f 72 6b 20 6f 6e 0a 57 69 6e 64 6f 77 73 2e  work on.Windows.
341d0 20 28 72 65 64 6d 61 6e 29 0a 0a 2d 2d 2d 2d 2d   (redman)..-----
341e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
341f0 73 65 64 20 38 2e 32 62 33 2c 20 41 75 67 75 73  sed 8.2b3, Augus
34200 74 20 31 31 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d  t 11, 1999 -----
34210 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
34220 2d 0a 0a 38 2f 31 32 2f 39 39 20 28 4d 61 63 29  -..8/12/99 (Mac)
34230 20 52 65 61 72 72 61 6e 67 65 20 70 72 6f 6a 65   Rearrange proje
34240 63 74 73 20 69 6e 20 74 63 6c 4d 61 63 50 72 6f  cts in tclMacPro
34250 6a 65 63 74 73 2e 73 65 61 2e 68 71 78 20 73 6f  jects.sea.hqx so
34260 20 74 68 61 74 20 74 68 65 0a 62 75 69 6c 64 20   that the.build 
34270 64 69 72 65 63 74 6f 72 79 20 69 73 20 73 65 70  directory is sep
34280 61 72 61 74 65 20 66 72 6f 6d 20 74 68 65 20 73  arate from the s
34290 6f 75 72 63 65 73 2e 20 28 4a 69 6d 20 49 6e 67  ources. (Jim Ing
342a0 68 61 6d 29 0a 0a 38 2f 31 32 2f 39 39 20 28 62  ham)..8/12/99 (b
342b0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
342c0 67 20 69 6e 20 54 63 6c 5f 45 76 61 6c 45 78 20  g in Tcl_EvalEx 
342d0 77 68 65 72 65 20 74 68 65 20 74 65 72 6d 4f 66  where the termOf
342e0 66 73 65 74 20 77 61 73 20 6e 6f 74 0a 62 65 69  fset was not.bei
342f0 6e 67 20 75 70 64 61 74 65 64 20 69 6e 20 63 61  ng updated in ca
34300 73 65 73 20 77 68 65 72 65 20 74 68 65 20 65 76  ses where the ev
34310 61 6c 75 61 74 69 6f 6e 20 72 65 74 75 72 6e 65  aluation returne
34320 64 20 61 20 6e 6f 6e 20 54 43 4c 5f 4f 4b 0a 65  d a non TCL_OK.e
34330 72 72 6f 72 20 63 6f 64 65 2e 20 5b 42 75 67 3a  rror code. [Bug:
34340 20 32 35 33 35 5d 20 28 73 74 61 6e 74 6f 6e 29   2535] (stanton)
34350 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
34360 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 32 2e 30  - Released 8.2.0
34370 2c 20 41 75 67 75 73 74 20 31 37 2c 20 31 39 39  , August 17, 199
34380 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  9 --------------
34390 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 31 2f 39  --------..9/21/9
343a0 39 20 28 63 6f 6e 66 69 67 20 66 69 78 65 73 29  9 (config fixes)
343b0 20 66 69 78 65 64 20 73 65 76 65 72 61 6c 20 41   fixed several A
343c0 49 58 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  IX configuration
343d0 20 69 73 73 75 65 73 2e 20 20 67 63 63 20 61 6e   issues.  gcc an
343e0 64 0a 74 68 72 65 61 64 69 6e 67 20 6d 61 79 20  d.threading may 
343f0 73 74 69 6c 6c 20 63 61 75 73 65 20 70 72 6f 62  still cause prob
34400 6c 65 6d 73 20 6f 6e 20 41 49 58 2e 20 28 68 6f  lems on AIX. (ho
34410 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28 62  bbs)..9/21/99 (b
34420 75 67 20 66 69 78 29 20 66 69 78 65 64 20 65 78  ug fix) fixed ex
34430 70 72 20 64 6f 75 62 6c 65 2d 65 76 61 6c 20 70  pr double-eval p
34440 72 6f 62 6c 65 6d 2e 20 5b 42 75 67 3a 20 37 33  roblem. [Bug: 73
34450 32 5d 20 28 68 6f 62 62 73 29 0a 0a 39 2f 32 31  2] (hobbs)..9/21
34460 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69  /99 (bug fix) fi
34470 78 65 64 20 73 74 61 74 69 63 20 62 75 66 66 65  xed static buffe
34480 72 20 6f 76 65 72 66 6c 6f 77 20 70 72 6f 62 6c  r overflow probl
34490 65 6d 2e 20 5b 42 75 67 3a 20 32 34 38 33 5d 20  em. [Bug: 2483] 
344a0 28 68 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39  (hobbs)..9/21/99
344b0 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64   (bug fix) fixed
344c0 20 65 6e 64 2d 69 6e 74 20 6c 69 6e 73 65 72 74   end-int linsert
344d0 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2e   interpretation.
344e0 20 5b 42 75 67 3a 20 32 36 39 33 5d 20 28 68 6f   [Bug: 2693] (ho
344f0 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28 62  bbs)..9/21/99 (b
34500 75 67 20 66 69 78 29 20 66 69 78 65 64 20 62 75  ug fix) fixed bu
34510 67 20 77 68 65 6e 20 73 65 74 74 69 6e 67 20 61  g when setting a
34520 72 72 61 79 20 69 6e 20 6e 6f 6e 2d 65 78 69 73  rray in non-exis
34530 74 65 6e 74 0a 6e 61 6d 65 73 70 61 63 65 2e 20  tent.namespace. 
34540 5b 42 75 67 3a 20 32 36 31 33 5d 20 28 68 6f 62  [Bug: 2613] (hob
34550 62 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65  bs)..--- Release
34560 64 20 38 2e 32 2e 31 2c 20 4f 63 74 6f 62 65 72  d 8.2.1, October
34570 20 30 34 2c 20 31 39 39 39 20 2d 2d 2d 20 53 65   04, 1999 --- Se
34580 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20  e ChangeLog for 
34590 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 31 30 2f  details ---..10/
345a0 33 30 2f 39 39 20 28 66 65 61 74 75 72 65 20 65  30/99 (feature e
345b0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 6e 65 77 20  nhancement) new 
345c0 72 65 67 65 78 70 20 65 6e 67 69 6e 65 20 66 72  regexp engine fr
345d0 6f 6d 20 48 65 6e 72 79 20 53 70 65 6e 63 65 72  om Henry Spencer
345e0 0a 77 61 73 20 70 61 74 63 68 65 64 20 69 6e 20  .was patched in 
345f0 2d 20 73 68 6f 75 6c 64 20 67 72 65 61 74 6c 79  - should greatly
34600 20 72 65 64 75 63 65 20 73 74 61 63 6b 20 73 70   reduce stack sp
34610 61 63 65 20 75 73 61 67 65 2e 20 28 73 70 65 6e  ace usage. (spen
34620 63 65 72 29 0a 0a 31 30 2f 33 30 2f 39 39 20 28  cer)..10/30/99 (
34630 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 50  bug fix) fixed P
34640 75 72 69 66 79 20 72 65 70 6f 72 74 65 64 20 6d  urify reported m
34650 65 6d 6f 72 79 20 6c 65 61 6b 73 20 69 6e 20 66  emory leaks in f
34660 69 6e 64 65 78 65 63 75 74 61 62 6c 65 0a 74 65  indexecutable.te
34670 73 74 20 63 6f 6d 6d 61 6e 64 2c 20 54 63 6c 70  st command, Tclp
34680 43 72 65 61 74 65 50 72 6f 63 65 73 73 20 6f 6e  CreateProcess on
34690 20 55 6e 69 78 2c 20 69 6e 20 68 61 6e 64 6c 69   Unix, in handli
346a0 6e 67 20 6f 66 20 43 20 65 6e 76 69 72 6f 6e 20  ng of C environ 
346b0 61 72 72 61 79 2c 0a 61 6e 64 20 69 6e 20 74 65  array,.and in te
346c0 73 74 74 68 72 65 61 64 20 63 6f 64 65 2e 20 20  stthread code.  
346d0 4e 6f 20 6d 6f 72 65 20 6b 6e 6f 77 6e 20 28 72  No more known (r
346e0 65 70 6f 72 74 65 64 29 20 6d 65 6d 20 6c 65 61  eported) mem lea
346f0 6b 73 20 66 6f 72 20 54 63 6c 0a 62 75 69 6c 74  ks for Tcl.built
34700 20 75 73 69 6e 67 20 67 63 63 20 6f 6e 20 53 6f   using gcc on So
34710 6c 61 72 69 73 20 32 2e 35 2e 31 2e 20 20 41 6c  laris 2.5.1.  Al
34720 73 6f 20 6e 6f 6e 65 20 72 65 70 6f 72 74 65 64  so none reported
34730 20 66 6f 72 20 54 63 6c 20 6f 6e 20 4e 54 0a 28   for Tcl on NT.(
34740 75 73 69 6e 67 20 50 75 72 69 66 79 20 36 2e 30  using Purify 6.0
34750 29 2e 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f 33  ). (hobbs)..10/3
34760 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 66  0/99 (bug fix) f
34770 69 78 65 64 20 69 6d 70 72 6f 70 65 72 20 62 79  ixed improper by
34780 74 65 63 6f 64 65 20 68 61 6e 64 6c 69 6e 67 20  tecode handling 
34790 6f 66 20 0a 27 65 76 61 6c 20 7b 73 65 74 20 61  of .'eval {set a
347a0 72 72 61 79 28 24 75 6e 6b 6e 6f 77 6e 76 61 72  rray($unknownvar
347b0 29 20 35 7d 27 20 28 61 6c 73 6f 20 66 6f 72 20  ) 5}' (also for 
347c0 69 6e 63 72 29 20 28 68 6f 62 62 73 29 0a 0a 31  incr) (hobbs)..1
347d0 30 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78  0/30/99 (bug fix
347e0 29 20 66 69 78 65 64 20 65 76 65 6e 74 2f 69 6f  ) fixed event/io
347f0 20 74 68 72 65 61 64 69 6e 67 20 70 72 6f 62 6c   threading probl
34800 65 6d 73 20 62 79 20 6d 61 6b 69 6e 67 0a 74 72  ems by making.tr
34810 69 67 67 65 72 50 69 70 65 20 6e 6f 6e 2d 62 6c  iggerPipe non-bl
34820 6f 63 6b 69 6e 67 20 28 6e 69 63 6b 20 6b 69 73  ocking (nick kis
34830 73 65 72 62 65 74 68 29 0a 0a 31 30 2f 33 30 2f  serbeth)..10/30/
34840 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78  99 (bug fix) fix
34850 65 64 20 54 63 6c 5f 41 70 70 65 6e 64 53 74 72  ed Tcl_AppendStr
34860 69 6e 67 73 54 6f 4f 62 6a 56 41 20 61 6e 64 20  ingsToObjVA and 
34870 54 63 6c 5f 41 70 70 65 6e 64 52 65 73 75 6c 74  Tcl_AppendResult
34880 56 41 0a 74 6f 20 6f 6e 6c 79 09 69 74 65 72 61  VA.to only.itera
34890 74 65 73 20 6f 6e 63 65 20 6f 76 65 72 20 74 68  tes once over th
348a0 65 20 76 61 5f 6c 69 73 74 20 28 61 76 6f 69 64  e va_list (avoid
348b0 69 6e 67 20 6e 6f 6e 2d 70 6f 72 74 61 62 6c 65  ing non-portable
348c0 20 6d 65 6d 63 70 79 29 2e 0a 28 6a 6f 65 20 65   memcpy)..(joe e
348d0 6e 67 6c 69 73 68 2c 20 68 6f 62 62 73 29 0a 0a  nglish, hobbs)..
348e0 31 30 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69  10/30/99 (bug fi
348f0 78 29 20 72 65 6d 6f 76 65 64 20 73 61 76 65 64  x) removed saved
34900 43 68 61 72 20 74 72 69 63 6b 20 69 6e 20 74 63  Char trick in tc
34910 6c 43 6f 6d 70 69 6c 65 2e 63 20 74 68 61 74 20  lCompile.c that 
34920 61 70 70 65 61 72 65 64 0a 74 6f 20 62 65 20 63  appeared.to be c
34930 61 75 73 69 6e 67 20 61 20 73 65 67 76 20 77 68  ausing a segv wh
34940 65 6e 20 74 68 65 20 6c 69 74 65 72 61 6c 20 74  en the literal t
34950 61 62 6c 65 20 77 61 73 20 72 65 6c 65 61 73 65  able was release
34960 64 2e 0a 5b 42 75 67 3a 20 32 34 35 39 2c 20 32  d..[Bug: 2459, 2
34970 35 31 35 5d 20 28 44 61 76 69 64 20 57 68 69 74  515] (David Whit
34980 65 68 6f 75 73 65 29 0a 0a 31 30 2f 33 30 2f 39  ehouse)..10/30/9
34990 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  9 (bug fix) fixe
349a0 64 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 5d  d [string index]
349b0 20 74 6f 20 72 65 74 75 72 6e 20 42 79 74 65 41   to return ByteA
349c0 72 72 61 79 4f 62 6a 0a 77 68 65 6e 20 69 6e 64  rrayObj.when ind
349d0 65 78 69 6e 67 20 69 6e 74 6f 20 6f 6e 65 20 28  exing into one (
349e0 74 65 73 74 20 63 61 73 65 20 73 74 72 69 6e 67  test case string
349f0 2d 35 2e 31 36 29 20 5b 42 75 67 3a 20 32 38 37  -5.16) [Bug: 287
34a00 31 5d 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f 33  1] (hobbs)..10/3
34a10 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 66  0/99 (bug fix) f
34a20 69 78 65 73 20 66 6f 72 20 6d 61 63 20 55 54 46  ixes for mac UTF
34a30 20 66 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c 69   filename handli
34a40 6e 67 20 28 69 6e 67 68 61 6d 29 0a 0a 2d 2d 2d  ng (ingham)..---
34a50 20 52 65 6c 65 61 73 65 64 20 38 2e 32 2e 32 2c   Released 8.2.2,
34a60 20 4e 6f 76 65 6d 62 65 72 20 30 34 2c 20 31 39   November 04, 19
34a70 39 39 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67  99 --- See Chang
34a80 65 4c 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73  eLog for details
34a90 20 2d 2d 2d 0a 0a 31 31 2f 31 39 2f 39 39 20 28   ---..11/19/99 (
34aa0 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
34ab0 65 6e 74 29 20 62 75 67 20 66 69 78 65 73 20 66  ent) bug fixes f
34ac0 6f 72 20 68 74 74 70 20 70 61 63 6b 61 67 65 20  or http package 
34ad0 61 73 20 77 65 6c 6c 20 61 73 0a 70 61 74 63 68  as well as.patch
34ae0 20 72 65 71 75 69 72 65 64 20 62 79 20 54 4c 53   required by TLS
34af0 20 28 53 53 4c 29 20 65 78 74 65 6e 73 69 6f 6e   (SSL) extension
34b00 20 74 68 61 74 20 61 64 64 73 20 68 74 74 70 3a   that adds http:
34b10 3a 28 75 6e 29 72 65 67 69 73 74 65 72 0a 61 6e  :(un)register.an
34b20 64 20 2d 74 79 70 65 20 74 6f 20 68 74 74 70 3a  d -type to http:
34b30 3a 67 65 74 75 72 6c 2e 20 20 55 70 27 64 20 68  :geturl.  Up'd h
34b40 74 74 70 20 70 6b 67 20 76 65 72 73 69 6f 6e 20  ttp pkg version 
34b50 74 6f 20 32 2e 32 2e 0a 0a 31 31 2f 31 39 2f 39  to 2.2...11/19/9
34b60 39 20 28 62 75 67 20 66 69 78 29 20 72 65 6d 6f  9 (bug fix) remo
34b70 76 65 64 20 65 78 74 72 61 20 64 65 63 72 20 6f  ved extra decr o
34b80 66 20 6e 75 6d 4c 65 76 65 6c 73 20 69 6e 20 54  f numLevels in T
34b90 63 6c 5f 45 76 61 6c 4f 62 6a 45 78 0a 74 68 61  cl_EvalObjEx.tha
34ba0 74 20 63 6f 75 6c 64 20 63 61 75 73 65 20 73 65  t could cause se
34bb0 67 20 66 61 75 6c 74 20 28 6d 6a 61 6e 73 65 6e  g fault (mjansen
34bc0 40 77 65 6e 64 74 2e 64 65 29 0a 0a 31 31 2f 31  @wendt.de)..11/1
34bd0 39 2f 39 39 20 28 62 75 67 20 66 69 78 65 73 29  9/99 (bug fixes)
34be0 20 6e 75 6d 65 72 6f 75 73 20 6d 69 6e 6f 72 20   numerous minor 
34bf0 62 69 67 20 66 69 78 65 73 2c 20 69 6e 63 6c 75  big fixes, inclu
34c00 64 69 6e 67 20 63 6f 72 72 65 63 74 69 6e 67 20  ding correcting 
34c10 74 68 65 0a 69 6e 73 74 61 6c 6c 61 74 69 6f 6e  the.installation
34c20 20 6f 66 20 74 68 65 20 6b 6f 69 38 2d 72 20 65   of the koi8-r e
34c30 6e 63 6f 64 69 6e 67 20 61 6e 64 20 74 63 6c 74  ncoding and tclt
34c40 65 73 74 31 2e 30 20 6f 6e 20 57 69 6e 64 6f 77  est1.0 on Window
34c50 73 2e 0a 0a 31 31 2f 33 30 2f 39 39 20 28 62 75  s...11/30/99 (bu
34c60 67 20 66 69 78 29 20 66 69 78 65 73 20 73 63 61  g fix) fixes sca
34c70 6e 20 77 68 65 72 65 20 25 5b 2e 2e 5d 20 64 69  n where %[..] di
34c80 64 6e 27 74 20 6d 61 74 63 68 20 61 6e 79 74 68  dn't match anyth
34c90 69 6e 67 0a 0a 31 31 2f 33 30 2f 39 39 20 28 62  ing..11/30/99 (b
34ca0 75 67 20 66 69 78 29 20 66 69 78 65 64 20 73 65  ug fix) fixed se
34cb0 74 74 69 6e 67 20 6f 66 20 69 73 4e 6f 6e 42 6c  tting of isNonBl
34cc0 6f 63 6b 69 6e 67 20 66 6c 61 67 20 69 6e 20 50  ocking flag in P
34cd0 69 70 65 42 6c 6f 63 6b 4d 6f 64 65 50 72 6f 63  ipeBlockModeProc
34ce0 0a 73 6f 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20  .so you can now 
34cf0 63 6c 6f 73 65 20 61 20 6e 6f 6e 2d 62 6c 6f 63  close a non-bloc
34d00 6b 69 6e 67 20 63 68 61 6e 6e 65 6c 20 77 69 74  king channel wit
34d10 68 6f 75 74 20 77 61 69 74 69 6e 67 2e 0a 0a 31  hout waiting...1
34d20 31 2f 33 30 2f 39 39 20 28 62 75 67 20 77 6f 72  1/30/99 (bug wor
34d30 6b 2d 61 72 6f 75 6e 64 29 20 70 72 65 76 65 6e  k-around) preven
34d40 74 65 64 20 74 68 65 20 75 6e 6c 6f 61 64 69 6e  ted the unloadin
34d50 67 20 6f 66 20 44 4c 4c 73 20 66 6f 72 20 55 6e  g of DLLs for Un
34d60 69 78 20 69 6e 0a 54 63 6c 46 69 6e 61 6c 69 7a  ix in.TclFinaliz
34d70 65 4c 6f 61 64 2e 20 20 54 68 69 73 20 73 74 6f  eLoad.  This sto
34d80 70 73 20 74 68 65 20 73 65 67 20 66 61 75 6c 74  ps the seg fault
34d90 20 6f 6e 20 65 78 69 74 20 74 68 61 74 20 73 6f   on exit that so
34da0 6d 65 20 75 73 65 72 73 20 77 6f 75 6c 64 0a 73  me users would.s
34db0 65 65 20 28 69 65 20 77 69 74 68 20 6f 72 61 74  ee (ie with orat
34dc0 63 6c 29 20 77 68 65 6e 20 75 73 69 6e 67 20 44  cl) when using D
34dd0 4c 4c 73 20 74 68 61 74 20 64 6f 20 6e 61 73 74  LLs that do nast
34de0 79 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 72 65  y things like re
34df0 67 69 73 74 65 72 0a 61 74 65 78 69 74 20 68 61  gister.atexit ha
34e00 6e 64 6c 65 72 73 2e 0a 0a 31 32 2f 30 37 2f 39  ndlers...12/07/9
34e10 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  9 (bug fix) fixe
34e20 73 20 66 6f 72 20 27 65 78 70 72 20 2b 20 7b 5b  s for 'expr + {[
34e30 69 6e 63 72 5d 7d 27 20 61 6e 64 20 27 65 78 70  incr]}' and 'exp
34e40 72 20 2b 20 7b 5b 65 72 72 6f 72 5d 7d 27 0a 63  r + {[error]}'.c
34e50 61 73 65 73 20 28 64 69 66 66 65 72 65 6e 74 20  ases (different 
34e60 63 61 75 73 65 73 29 2e 0a 0a 2d 2d 2d 20 52 65  causes)...--- Re
34e70 6c 65 61 73 65 64 20 38 2e 32 2e 33 2c 20 44 65  leased 8.2.3, De
34e80 63 65 6d 62 65 72 20 31 36 2c 20 31 39 39 39 20  cember 16, 1999 
34e90 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67 65 4c 6f  --- See ChangeLo
34ea0 67 20 66 6f 72 20 64 65 74 61 69 6c 73 20 2d 2d  g for details --
34eb0 2d 0a 0a 31 39 39 39 2d 30 39 2d 31 34 20 28 66  -..1999-09-14 (f
34ec0 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
34ed0 6e 74 29 20 61 64 64 65 64 20 2d 73 74 61 72 74  nt) added -start
34ee0 20 73 77 69 74 63 68 20 74 6f 20 72 65 67 65 78   switch to regex
34ef0 70 20 61 6e 64 20 72 65 67 73 75 62 2e 0a 0a 31  p and regsub...1
34f00 39 39 39 2d 30 39 2d 31 35 20 28 66 65 61 74 75  999-09-15 (featu
34f10 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
34f20 61 64 64 20 27 61 72 72 61 79 20 75 6e 73 65 74  add 'array unset
34f30 27 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 39 39 39  ' command...1999
34f40 2d 30 39 2d 31 35 20 28 66 65 61 74 75 72 65 20  -09-15 (feature 
34f50 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 72 65 77  enhancement) rew
34f60 72 6f 74 65 20 72 75 6e 74 69 6d 65 20 6c 69 62  rote runtime lib
34f70 72 61 72 69 65 73 20 74 6f 20 75 73 65 20 6e 65  raries to use ne
34f80 77 0a 73 74 72 69 6e 67 20 66 75 6e 63 74 69 6f  w.string functio
34f90 6e 73 0a 0a 31 39 39 39 2d 30 38 2d 31 38 20 28  ns..1999-08-18 (
34fa0 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
34fb0 65 6e 74 29 20 61 64 64 65 64 20 27 66 69 6c 65  ent) added 'file
34fc0 20 63 68 61 6e 6e 65 6c 73 27 20 63 6f 6d 6d 61   channels' comma
34fd0 6e 64 2c 20 61 6c 6f 6e 67 20 77 69 74 68 0a 54  nd, along with.T
34fe0 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4e 61 6d  cl_GetChannelNam
34ff0 65 73 28 45 78 29 20 70 75 62 6c 69 63 20 43 20  es(Ex) public C 
35000 41 50 49 73 2e 0a 0a 31 39 39 39 2d 31 30 2d 31  APIs...1999-10-1
35010 39 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e  9 (feature enhan
35020 63 65 6d 65 6e 74 29 20 65 6e 68 61 6e 63 65 64  cement) enhanced
35030 20 74 63 6c 74 65 73 74 20 70 61 63 6b 61 67 65   tcltest package
35040 0a 0a 31 39 39 39 2d 30 39 2d 31 36 20 28 66 65  ..1999-09-16 (fe
35050 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
35060 74 29 20 61 64 64 65 64 20 2d 6d 69 6c 6c 69 73  t) added -millis
35070 65 63 6f 6e 64 73 20 73 77 69 74 63 68 20 74 6f  econds switch to
35080 20 27 63 6c 6f 63 6b 20 63 6c 69 63 6b 73 27 0a   'clock clicks'.
35090 0a 31 39 39 39 2d 31 30 2d 32 38 20 28 66 65 61  .1999-10-28 (fea
350a0 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
350b0 29 20 61 64 64 65 64 20 73 75 70 70 6f 72 74 20  ) added support 
350c0 66 6f 72 20 69 6e 6c 69 6e 65 20 27 73 63 61 6e  for inline 'scan
350d0 27 0a 0a 31 39 39 39 2d 31 30 2d 32 38 20 28 66  '..1999-10-28 (f
350e0 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
350f0 6e 74 29 20 61 64 64 65 64 20 73 75 70 70 6f 72  nt) added suppor
35100 74 20 66 6f 72 20 74 6f 75 63 68 20 66 75 6e 63  t for touch func
35110 74 69 6f 6e 61 6c 69 74 79 20 62 79 0a 65 78 74  tionality by.ext
35120 65 6e 64 65 64 69 6e 67 20 27 66 69 6c 65 20 61  endeding 'file a
35130 74 69 6d 65 27 20 61 6e 64 20 27 66 69 6c 65 20  time' and 'file 
35140 6d 74 69 6d 65 27 20 74 6f 20 74 61 6b 65 20 61  mtime' to take a
35150 6e 20 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 20  n optional time 
35160 61 72 67 75 6d 65 6e 74 0a 0a 31 39 39 39 2d 31  argument..1999-1
35170 31 2d 32 34 20 28 66 65 61 74 75 72 65 20 65 6e  1-24 (feature en
35180 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64  hancement) added
35190 20 27 66 63 6f 6e 66 69 67 75 72 65 20 24 73 6f   'fconfigure $so
351a0 63 6b 20 2d 6c 61 73 74 65 72 72 6f 72 27 0a 63  ck -lasterror'.c
351b0 6f 6d 6d 61 6e 64 20 74 6f 20 57 69 6e 64 6f 77  ommand to Window
351c0 73 20 74 6f 20 71 75 65 72 79 20 74 68 65 20 6c  s to query the l
351d0 61 73 74 20 65 72 72 6f 72 20 72 65 63 65 69 76  ast error receiv
351e0 65 64 20 6f 6e 20 61 20 73 65 72 69 61 6c 20 73  ed on a serial s
351f0 6f 63 6b 65 74 2e 0a 0a 31 39 39 39 2d 31 31 2d  ocket...1999-11-
35200 33 30 20 28 62 75 67 20 66 69 78 29 20 66 69 78  30 (bug fix) fix
35210 65 64 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 25  ed handling of %
35220 5a 20 6f 6e 20 4e 54 20 66 6f 72 20 74 69 6d 65  Z on NT for time
35230 7a 6f 6e 65 73 20 74 68 61 74 20 64 6f 6e 27 74  zones that don't
35240 0a 68 61 76 65 20 44 53 54 0a 0a 31 39 39 39 2d  .have DST..1999-
35250 31 32 2d 30 33 20 28 66 65 61 74 75 72 65 20 65  12-03 (feature e
35260 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72  nhancement) impr
35270 6f 76 65 64 20 65 72 72 6f 72 20 6d 65 73 73 61  oved error messa
35280 67 65 20 69 6e 20 62 61 64 20 6f 63 74 61 6c 20  ge in bad octal 
35290 63 61 73 65 73 0a 61 6e 64 20 69 6d 70 72 6f 70  cases.and improp
352a0 65 72 20 75 73 65 20 6f 66 20 63 6f 6d 6d 65 6e  er use of commen
352b0 74 73 2e 20 28 68 6f 62 62 73 29 0a 0a 31 39 39  ts. (hobbs)..199
352c0 39 2d 31 32 2d 30 37 20 28 62 75 67 20 66 69 78  9-12-07 (bug fix
352d0 29 20 66 69 78 65 64 20 54 63 6c 5f 53 63 61 6e  ) fixed Tcl_Scan
352e0 43 6f 75 6e 74 65 64 45 6c 65 6d 65 6e 74 20 74  CountedElement t
352f0 6f 20 6e 6f 74 20 73 74 65 70 0a 62 65 79 6f 6e  o not step.beyon
35300 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65  d the end of the
35310 20 63 6f 75 6e 74 65 64 20 73 74 72 69 6e 67 0a   counted string.
35320 0a 31 39 39 39 2d 31 32 2d 30 39 20 28 66 65 61  .1999-12-09 (fea
35330 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
35340 29 20 72 65 6d 6f 76 65 64 20 61 6c 6c 20 72 65  ) removed all re
35350 66 65 72 65 6e 63 65 73 20 74 6f 20 31 36 20 62  ferences to 16 b
35360 69 74 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79  it.compatibility
35370 20 63 6f 64 65 20 66 6f 72 20 57 69 6e 64 6f 77   code for Window
35380 73 20 28 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d  s (hobbs)..1999-
35390 31 32 2d 31 30 20 28 62 75 67 20 66 69 78 29 20  12-10 (bug fix) 
353a0 72 65 6d 6f 76 65 64 20 63 68 65 63 6b 20 66 6f  removed check fo
353b0 72 20 76 66 6f 72 6b 20 2d 20 54 63 6c 20 6e 6f  r vfork - Tcl no
353c0 77 20 75 73 65 73 20 6f 6e 6c 79 20 66 6f 72 6b  w uses only fork
353d0 20 69 6e 0a 65 78 65 63 2e 20 28 68 6f 62 62 73   in.exec. (hobbs
353e0 29 0a 0a 31 39 39 39 2d 31 32 2d 31 30 20 28 6f  )..1999-12-10 (o
353f0 70 74 69 6d 69 7a 61 74 69 6f 6e 29 20 63 68 61  ptimization) cha
35400 6e 67 65 64 20 54 63 6c 5f 43 6f 6e 63 61 74 4f  nged Tcl_ConcatO
35410 62 6a 20 74 6f 20 72 65 74 75 72 6e 20 61 20 6c  bj to return a l
35420 69 73 74 0a 6f 62 6a 65 63 74 20 77 68 65 6e 20  ist.object when 
35430 69 74 20 72 65 63 65 69 76 65 73 20 61 6c 6c 20  it receives all 
35440 70 75 72 65 20 6c 69 73 74 20 6f 62 6a 65 63 74  pure list object
35450 73 20 61 73 20 69 6e 70 75 74 20 28 75 73 65 64  s as input (used
35460 20 62 79 20 27 63 6f 6e 63 61 74 27 29 2c 0a 61   by 'concat'),.a
35470 64 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f  dded optimizatio
35480 6e 73 20 69 6e 20 54 63 6c 5f 45 76 61 6c 4f 62  ns in Tcl_EvalOb
35490 6a 45 78 20 66 6f 72 20 70 75 72 65 20 6c 69 73  jEx for pure lis
354a0 74 20 63 61 73 65 2c 20 61 6e 64 20 6f 70 74 69  t case, and opti
354b0 6d 69 7a 65 64 0a 49 4e 53 54 5f 54 52 59 5f 43  mized.INST_TRY_C
354c0 56 54 5f 54 4f 5f 4e 55 4d 45 52 49 43 20 69 6e  VT_TO_NUMERIC in
354d0 20 54 63 6c 45 78 65 63 75 74 65 42 79 74 65 43   TclExecuteByteC
354e0 6f 64 65 20 66 6f 72 20 62 6f 6f 6c 65 61 6e 20  ode for boolean 
354f0 6f 62 6a 65 63 74 73 2e 0a 28 6f 61 6b 6c 65 79  objects..(oakley
35500 2c 20 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d 31  , hobbs)..1999-1
35510 32 2d 31 32 20 28 66 65 61 74 75 72 65 20 65 6e  2-12 (feature en
35520 68 61 6e 63 65 6d 65 6e 74 29 20 65 6e 68 61 6e  hancement) enhan
35530 63 65 64 20 67 6c 6f 62 20 63 6f 6d 6d 61 6e 64  ced glob command
35540 20 77 69 74 68 20 2d 74 79 70 65 2c 20 2d 70 61   with -type, -pa
35550 74 68 2c 0a 2d 64 69 72 65 63 74 6f 72 79 20 61  th,.-directory a
35560 6e 64 20 2d 6a 6f 69 6e 20 73 77 69 74 63 68 65  nd -join switche
35570 73 2e 20 28 64 61 72 6c 65 79 2c 20 68 6f 62 62  s. (darley, hobb
35580 73 29 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20 28  s)..1999-12-21 (
35590 62 75 67 20 66 69 78 29 20 63 68 61 6e 67 65 64  bug fix) changed
355a0 20 43 72 65 61 74 65 54 68 72 65 61 64 20 74 6f   CreateThread to
355b0 20 5f 62 65 67 69 6e 74 68 72 65 61 64 65 78 20   _beginthreadex 
355c0 61 6e 64 0a 45 78 69 74 54 68 72 65 61 64 20 74  and.ExitThread t
355d0 6f 20 5f 65 6e 64 74 68 72 65 61 64 65 78 20 74  o _endthreadex t
355e0 6f 20 70 72 65 76 65 6e 74 20 34 4b 20 6d 65 6d  o prevent 4K mem
355f0 20 6c 65 61 6b 20 28 67 72 61 76 65 72 65 61 75   leak (gravereau
35600 78 29 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20 28  x)..1999-12-21 (
35610 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 61  bug fix) fixed a
35620 70 70 6c 65 73 63 72 69 70 74 20 66 6f 72 20 49  pplescript for I
35630 31 38 4e 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20  18N..1999-12-21 
35640 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
35650 6d 65 6e 74 29 20 61 64 64 65 64 20 2d 75 6e 69  ment) added -uni
35660 71 75 65 20 6f 70 74 69 6f 6e 20 74 6f 20 6c 73  que option to ls
35670 6f 72 74 20 28 68 6f 62 62 73 29 0a 0a 31 39 39  ort (hobbs)..199
35680 39 2d 31 32 2d 32 31 20 28 62 75 67 20 66 69 78  9-12-21 (bug fix
35690 29 20 63 68 61 6e 67 65 64 20 74 68 72 65 61 64  ) changed thread
356a0 20 69 64 73 20 74 6f 20 6c 6f 6e 67 73 20 28 66   ids to longs (f
356b0 6f 72 20 36 34 62 69 74 20 73 79 73 74 65 6d 73  or 64bit systems
356c0 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  )..--- Released 
356d0 38 2e 33 62 31 2c 20 44 65 63 65 6d 62 65 72 20  8.3b1, December 
356e0 32 32 2c 20 31 39 39 39 20 2d 2d 2d 20 53 65 65  22, 1999 --- See
356f0 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64   ChangeLog for d
35700 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30  etails ---..2000
35710 2d 30 31 2d 31 30 20 28 66 65 61 74 75 72 65 20  -01-10 (feature 
35720 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 63 6c 6f  enhancement) clo
35730 63 6b 20 73 63 61 6e 20 6e 6f 77 20 73 75 70 70  ck scan now supp
35740 6f 72 74 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 0a  orts the common.
35750 49 53 4f 20 38 36 30 31 20 64 61 74 65 2f 74 69  ISO 8601 date/ti
35760 6d 65 20 66 6f 72 6d 61 74 73 2e 20 20 53 65 65  me formats.  See
35770 20 64 6f 63 73 20 66 6f 72 20 64 65 74 61 69 6c   docs for detail
35780 73 2e 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30  s. (melski)..200
35790 30 2d 30 31 2d 31 30 20 28 62 75 67 20 66 69 78  0-01-10 (bug fix
357a0 29 20 70 72 65 76 65 6e 74 65 64 20 5c 6f 6f 6f  ) prevented \ooo
357b0 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 66 72   substitution fr
357c0 6f 6d 20 61 63 63 65 70 74 69 6e 67 0a 6e 6f 6e  om accepting.non
357d0 2d 6f 63 74 61 6c 20 64 69 67 69 74 73 20 5b 42  -octal digits [B
357e0 75 67 3a 20 33 39 37 35 5d 20 28 68 6f 62 62 73  ug: 3975] (hobbs
357f0 29 0a 0a 32 30 30 30 2d 30 31 2d 31 31 20 28 62  )..2000-01-11 (b
35800 75 67 20 66 69 78 29 20 66 69 78 65 64 20 69 6d  ug fix) fixed im
35810 70 72 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67 20  proper handling 
35820 6f 66 20 44 53 54 20 62 79 20 63 6c 6f 63 6b 20  of DST by clock 
35830 77 68 65 6e 0a 75 73 69 6e 67 20 72 65 6c 61 74  when.using relat
35840 69 76 65 20 74 69 6d 65 73 20 28 6c 69 6b 65 20  ive times (like 
35850 22 31 20 6d 6f 6e 74 68 22 20 6f 72 20 22 74 6f  "1 month" or "to
35860 6d 6f 72 72 6f 77 22 29 2e 20 28 6d 65 6c 73 6b  morrow"). (melsk
35870 69 29 0a 0a 32 30 30 30 2d 30 31 2d 31 32 20 28  i)..2000-01-12 (
35880 62 75 67 20 66 69 78 29 20 69 6d 70 72 6f 76 65  bug fix) improve
35890 64 20 62 75 69 6c 64 20 73 75 70 70 6f 72 74 20  d build support 
358a0 66 6f 72 20 54 72 75 36 34 20 76 35 2c 20 4e 65  for Tru64 v5, Ne
358b0 74 42 53 44 0a 61 6e 64 20 52 65 6c 69 61 6e 74  tBSD.and Reliant
358c0 20 55 6e 69 78 20 28 68 6f 62 62 73 29 0a 0a 32   Unix (hobbs)..2
358d0 30 30 30 2d 30 31 2d 31 32 20 28 62 75 67 20 66  000-01-12 (bug f
358e0 69 78 29 20 6d 61 64 65 20 69 6d 70 6f 72 74 65  ix) made importe
358f0 64 20 63 6f 6d 6d 61 6e 64 73 20 61 6c 73 6f 20  d commands also 
35900 69 6d 70 6f 72 74 20 74 68 65 69 72 0a 63 6f 6d  import their.com
35910 70 69 6c 65 20 70 72 6f 63 65 64 75 72 65 20 28  pile procedure (
35920 64 75 66 66 69 6e 29 0a 0a 32 30 30 30 2d 30 31  duffin)..2000-01
35930 2d 31 32 20 28 62 75 67 20 66 69 78 29 20 66 69  -12 (bug fix) fi
35940 78 65 64 20 27 69 6e 66 6f 20 70 72 6f 63 73 20  xed 'info procs 
35950 3a 3a 6e 61 6d 65 73 70 3a 3a 2a 27 20 62 65 68  ::namesp::*' beh
35960 61 76 69 6f 72 20 74 6f 20 72 65 74 75 72 6e 0a  avior to return.
35970 70 72 6f 63 73 20 69 6e 20 61 20 6e 61 6d 65 73  procs in a names
35980 70 61 63 65 20 28 64 65 6a 6f 6e 67 29 0a 0a 32  pace (dejong)..2
35990 30 30 30 2d 30 31 2d 31 32 20 28 66 65 61 74 75  000-01-12 (featu
359a0 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
359b0 61 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  added support fo
359c0 72 20 73 65 74 74 69 6e 67 20 70 65 72 6d 69 73  r setting permis
359d0 73 69 6f 6e 73 0a 73 79 6d 62 6f 6c 69 63 6c 79  sions.symbolicly
359e0 20 28 6c 69 6b 65 20 63 68 6d 6f 64 29 20 69 6e   (like chmod) in
359f0 20 5b 66 69 6c 65 20 61 74 74 72 69 62 75 74 65   [file attribute
35a00 73 20 24 66 69 6c 65 20 2d 70 65 72 6d 69 73 73  s $file -permiss
35a10 69 6f 6e 73 20 2e 2e 2e 5d 20 28 73 63 68 6f 65  ions ...] (schoe
35a20 62 65 6c 29 0a 0a 32 30 30 30 2d 30 31 2d 31 33  bel)..2000-01-13
35a30 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64   (bug fix) fixed
35a40 20 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e 61   lsort -dictiona
35a50 72 79 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e 20  ry problem when 
35a60 73 6f 72 74 69 6e 67 0a 63 68 61 72 61 63 74 65  sorting.characte
35a70 72 73 20 62 65 74 77 65 65 6e 20 27 5a 27 20 61  rs between 'Z' a
35a80 6e 64 20 27 61 27 20 28 66 6c 61 77 65 64 20 75  nd 'a' (flawed u
35a90 70 70 65 72 2f 6c 6f 77 65 72 20 63 6f 6d 70 61  pper/lower compa
35aa0 72 69 73 6f 6e 20 6c 6f 67 69 63 29 20 28 6d 65  rison logic) (me
35ab0 6c 73 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61  lski)..--- Relea
35ac0 73 65 64 20 38 2e 33 62 32 2c 20 4a 61 6e 75 61  sed 8.3b2, Janua
35ad0 72 79 20 31 33 2c 20 32 30 30 30 20 2d 2d 2d 20  ry 13, 2000 --- 
35ae0 53 65 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f  See ChangeLog fo
35af0 72 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32  r details ---..2
35b00 30 30 30 2d 30 31 2d 31 34 20 28 66 65 61 74 75  000-01-14 (featu
35b10 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
35b20 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 25 51 20  clock format %Q 
35b30 61 64 64 65 64 2c 20 63 6c 6f 63 6b 20 73 63 61  added, clock sca
35b40 6e 20 75 70 64 61 74 65 64 0a 0a 32 30 30 30 2d  n updated..2000-
35b50 30 31 2d 32 30 20 28 62 75 67 20 66 69 78 29 20  01-20 (bug fix) 
35b60 63 6f 72 72 65 63 74 65 64 20 63 6f 6d 70 6c 65  corrected comple
35b70 78 20 61 72 72 61 79 20 65 6c 65 6d 20 63 6f 6d  x array elem com
35b80 70 69 6c 69 6e 67 20 28 53 70 6a 75 74 68 29 0a  piling (Spjuth).
35b90 0a 32 30 30 30 2d 30 31 2d 32 30 20 28 62 75 67  .2000-01-20 (bug
35ba0 20 66 69 78 29 20 6d 61 64 65 20 5b 69 6e 66 6f   fix) made [info
35bb0 20 62 6f 64 79 5d 20 61 6c 77 61 79 73 20 72 65   body] always re
35bc0 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 74 79  turn a string ty
35bd0 70 65 20 61 72 67 2c 0a 74 6f 20 70 72 65 76 65  pe arg,.to preve
35be0 6e 74 20 70 6f 73 73 69 62 6c 65 20 6d 69 73 75  nt possible misu
35bf0 73 65 20 6f 66 20 62 79 74 65 63 6f 64 65 73 20  se of bytecodes 
35c00 69 6e 20 74 68 65 20 77 72 6f 6e 67 20 63 6f 6e  in the wrong con
35c10 74 65 78 74 20 28 68 6f 62 62 73 29 0a 0a 32 30  text (hobbs)..20
35c20 30 30 2d 30 31 2d 32 30 20 28 62 75 67 20 66 69  00-01-20 (bug fi
35c30 78 65 73 29 20 73 65 76 65 72 61 6c 20 66 69 78  xes) several fix
35c40 65 73 20 74 6f 20 76 61 72 69 61 62 6c 65 20 68  es to variable h
35c50 61 6e 64 6c 69 6e 67 20 74 6f 20 70 72 65 76 65  andling to preve
35c60 6e 74 0a 70 6f 73 73 69 62 6c 65 20 63 72 61 73  nt.possible cras
35c70 68 65 73 2c 20 61 6e 64 20 66 75 72 74 68 65 72  hes, and further
35c80 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 63   definition of c
35c90 6f 72 72 65 63 74 20 62 65 68 61 76 69 6f 72 20  orrect behavior 
35ca0 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30  (melski)..2000-0
35cb0 31 2d 32 35 20 28 62 75 67 20 66 69 78 65 73 29  1-25 (bug fixes)
35cc0 20 69 6d 70 72 6f 76 65 64 20 51 4e 58 2c 20 55   improved QNX, U
35cd0 6c 74 72 69 78 20 61 6e 64 20 4f 53 46 31 20 28  ltrix and OSF1 (
35ce0 54 72 75 36 34 29 20 63 6f 6e 66 69 67 20 61 6e  Tru64) config an
35cf0 64 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20  d.compatibility 
35d00 28 65 64 67 65 2c 20 66 75 72 75 6b 61 77 61 29  (edge, furukawa)
35d10 0a 0a 32 30 30 30 2d 30 31 2d 32 35 20 28 62 75  ..2000-01-25 (bu
35d20 67 20 66 69 78 29 20 66 69 78 65 64 20 6d 65 6d  g fix) fixed mem
35d30 20 6c 65 61 6b 20 77 68 65 6e 20 63 61 6c 6c 69   leak when calli
35d40 6e 67 20 6c 73 6f 72 74 20 77 69 74 68 20 61 20  ng lsort with a 
35d50 62 61 64 20 2d 63 6f 6d 6d 61 6e 64 0a 61 72 67  bad -command.arg
35d60 75 6d 65 6e 74 20 28 68 6f 62 62 73 29 0a 0a 32  ument (hobbs)..2
35d70 30 30 30 2d 30 31 2d 32 37 20 28 66 65 61 74 75  000-01-27 (featu
35d80 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
35d90 70 61 63 6b 61 67 65 20 6d 65 63 68 61 6e 69 73  package mechanis
35da0 6d 20 6f 76 65 72 68 61 75 6c 3a 20 63 68 61 6e  m overhaul: chan
35db0 67 65 64 0a 62 65 68 61 76 69 6f 72 20 6f 66 20  ged.behavior of 
35dc0 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 64  pkg_mkIndex to d
35dd0 6f 20 2d 64 69 72 65 63 74 20 62 79 20 64 65 66  o -direct by def
35de0 61 75 6c 74 2c 20 61 64 64 65 64 20 2d 6c 61 7a  ault, added -laz
35df0 79 20 6f 70 74 69 6f 6e 2e 0a 46 69 78 65 64 20  y option..Fixed 
35e00 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 68  pkg_mkIndex to h
35e10 61 6e 64 6c 65 20 6f 64 64 20 70 72 6f 63 20 6e  andle odd proc n
35e20 61 6d 65 73 20 61 6e 64 20 61 75 74 6f 5f 6d 6b  ames and auto_mk
35e30 49 6e 64 65 78 20 74 6f 20 75 73 65 20 70 6c 61  Index to use pla
35e40 74 66 6f 72 6d 0a 69 6e 64 65 70 65 6e 64 65 6e  tform.independen
35e50 74 20 66 69 6c 65 20 70 61 74 68 73 2e 20 20 4f  t file paths.  O
35e60 74 68 65 72 20 66 69 78 65 73 20 66 6f 72 20 6f  ther fixes for o
35e70 64 64 20 70 61 63 6b 61 67 65 20 71 75 69 72 6b  dd package quirk
35e80 73 2e 20 20 41 64 64 65 64 0a 3a 3a 70 6b 67 20  s.  Added.::pkg 
35e90 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 20 3a 3a  namespace and ::
35ea0 70 6b 67 3a 3a 63 72 65 61 74 65 20 68 65 6c 70  pkg::create help
35eb0 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 28 6d 65  er function. (me
35ec0 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 32 2d 30  lski)..2000-02-0
35ed0 31 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  1 (bug fix) fixe
35ee0 64 20 70 72 6f 62 6c 65 6d 20 77 68 65 72 65 20  d problem where 
35ef0 68 74 74 70 20 50 4f 53 54 20 77 6f 75 6c 64 20  http POST would 
35f00 73 65 6e 64 20 6f 6e 65 20 65 78 74 72 61 0a 6e  send one extra.n
35f10 65 77 6c 69 6e 65 20 28 76 61 73 69 6c 6a 65 76  ewline (vasiljev
35f20 69 63 29 0a 0a 32 30 30 30 2d 30 32 2d 30 32 20  ic)..2000-02-02 
35f30 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
35f40 6d 65 6e 74 29 20 61 64 64 65 64 20 64 6f 63 73  ment) added docs
35f50 20 66 6f 72 20 6e 65 77 20 72 65 67 65 78 70 20   for new regexp 
35f60 2d 69 6e 6c 69 6e 65 20 61 6e 64 0a 2d 61 6c 6c  -inline and.-all
35f70 20 73 77 69 74 63 68 65 73 2e 20 28 68 6f 62 62   switches. (hobb
35f80 73 29 0a 0a 32 30 30 30 2d 30 32 2d 30 38 20 28  s)..2000-02-08 (
35f90 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74  bug fix) correct
35fa0 65 64 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 22  ed handling of "
35fb0 6e 65 78 74 20 6d 6f 6e 74 68 6e 61 6d 65 22 20  next monthname" 
35fc0 69 6e 20 63 6c 6f 63 6b 20 73 63 61 6e 0a 28 6d  in clock scan.(m
35fd0 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 32 2d  elski)..2000-02-
35fe0 30 39 20 28 62 75 67 20 66 69 78 29 20 72 65 73  09 (bug fix) res
35ff0 74 6f 72 65 64 20 4d 61 63 20 73 6f 75 72 63 65  tored Mac source
36000 20 74 6f 20 62 75 69 6c 64 20 72 65 61 64 69 6e   to build readin
36010 65 73 73 20 61 6e 64 20 70 72 65 76 65 6e 74 65  ess and prevente
36020 64 0a 6d 61 63 20 70 61 6e 69 63 20 66 72 6f 6d  d.mac panic from
36030 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 63   an error when c
36040 6c 6f 73 69 6e 67 20 61 6e 20 61 73 79 6e 63 20  losing an async 
36050 73 6f 63 6b 65 74 20 28 73 74 65 66 66 65 6e 2c  socket (steffen,
36060 20 69 6e 67 68 61 6d 29 0a 0a 32 30 30 30 2d 30   ingham)..2000-0
36070 32 2d 31 30 20 28 66 65 61 74 75 72 65 20 65 6e  2-10 (feature en
36080 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72 6f  hancement) impro
36090 76 65 64 20 65 72 72 6f 72 20 72 65 70 6f 72 74  ved error report
360a0 69 6e 67 20 66 6f 72 20 66 61 69 6c 65 64 0a 6c  ing for failed.l
360b0 6f 61 64 73 20 6f 6e 20 57 69 6e 64 6f 77 73 20  oads on Windows 
360c0 28 64 65 6a 6f 6e 67 2c 20 68 6f 62 62 73 29 0a  (dejong, hobbs).
360d0 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  .--- Released 8.
360e0 33 2e 30 2c 20 46 65 62 72 75 61 72 79 20 31 30  3.0, February 10
360f0 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65 65 20 43  , 2000 --- See C
36100 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74  hangeLog for det
36110 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30  ails ---..2000-0
36120 33 20 28 62 75 67 20 66 69 78 65 73 2c 20 66 65  3 (bug fixes, fe
36130 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
36140 74 29 20 6f 76 65 72 68 61 75 6c 20 6f 66 20 68  t) overhaul of h
36150 74 74 70 20 70 61 63 6b 61 67 65 20 66 6f 72 0a  ttp package for.
36160 70 72 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67 20  proper handling 
36170 6f 66 20 61 73 79 6e 63 20 63 61 6c 6c 62 61 63  of async callbac
36180 6b 73 20 28 6e 65 77 20 6f 70 74 69 6f 6e 73 29  ks (new options)
36190 2c 20 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f 77  , version is now
361a0 20 61 74 20 32 2e 33 0a 28 74 61 6d 68 61 6e 6b   at 2.3.(tamhank
361b0 61 72 2c 20 77 65 6c 63 68 29 0a 0a 32 30 30 30  ar, welch)..2000
361c0 2d 30 33 20 28 70 65 72 66 6f 72 6d 61 6e 63 65  -03 (performance
361d0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 73 70   enhancement) sp
361e0 65 65 64 75 70 20 69 6e 20 57 69 6e 64 6f 77 73  eedup in Windows
361f0 20 66 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c 69   filename handli
36200 6e 67 20 28 6e 65 77 6d 61 6e 29 0a 61 6e 64 20  ng (newman).and 
36210 3d 3d 2f 21 3d 20 65 6d 70 74 79 20 73 74 72 69  ==/!= empty stri
36220 6e 67 20 69 6e 20 65 78 70 72 73 2e 20 28 68 6f  ng in exprs. (ho
36230 62 62 73 29 0a 0a 32 30 30 30 2d 30 33 2d 32 37  bbs)..2000-03-27
36240 20 28 62 75 67 20 66 69 78 29 20 61 64 64 65 64   (bug fix) added
36250 20 75 6e 69 71 27 69 6e 67 20 74 65 73 74 20 74   uniq'ing test t
36260 6f 20 6e 61 6d 65 73 70 61 63 65 20 65 78 70 6f  o namespace expo
36270 72 74 20 6c 69 73 74 20 74 6f 0a 70 72 65 76 65  rt list to.preve
36280 6e 74 20 75 6e 6e 65 63 65 73 73 61 72 79 20 6d  nt unnecessary m
36290 65 6d 20 67 72 6f 77 74 68 20 28 68 6f 62 62 73  em growth (hobbs
362a0 29 0a 0a 32 30 30 30 2d 30 33 2d 32 39 20 28 62  )..2000-03-29 (b
362b0 75 67 20 66 69 78 29 20 66 69 78 65 64 20 6d 65  ug fix) fixed me
362c0 6d 20 6c 65 61 6b 20 77 68 65 6e 20 72 65 70 65  m leak when repe
362d0 61 74 65 64 6c 79 20 73 6f 75 72 63 69 6e 67 20  atedly sourcing 
362e0 74 68 65 20 73 61 6d 65 0a 62 79 74 65 63 6f 6d  the same.bytecom
362f0 70 69 6c 65 64 20 28 74 62 63 29 20 63 6f 64 65  piled (tbc) code
36300 20 72 65 70 65 61 74 65 64 6c 79 20 61 63 72 6f   repeatedly acro
36310 73 73 20 64 69 66 66 65 72 65 6e 74 20 69 6e 74  ss different int
36320 65 72 70 72 65 74 65 72 73 20 28 68 6f 62 62 73  erpreters (hobbs
36330 29 0a 0a 32 30 30 30 2d 30 33 2d 32 39 20 28 63  )..2000-03-29 (c
36340 6f 6e 66 69 67 20 65 6e 68 61 6e 63 65 6d 65 6e  onfig enhancemen
36350 74 29 20 69 6d 70 72 6f 76 65 64 20 62 75 69 6c  t) improved buil
36360 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 67 63  d support for gc
36370 63 2f 6d 69 6e 67 77 20 6f 6e 0a 57 69 6e 64 6f  c/mingw on.Windo
36380 77 73 20 28 6e 69 6a 74 6d 61 6e 73 2c 20 68 6f  ws (nijtmans, ho
36390 62 62 73 29 20 61 6e 64 20 61 64 64 65 64 20 52  bbs) and added R
363a0 50 4d 20 74 61 72 67 65 74 20 28 6d 65 6c 73 6b  PM target (melsk
363b0 69 29 0a 0a 32 30 30 30 2d 30 33 2d 33 31 20 28  i)..2000-03-31 (
363c0 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74  bug fix) correct
363d0 65 64 20 64 61 74 61 20 65 6e 63 6f 64 69 6e 67  ed data encoding
363e0 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e 20 75 73   problem when us
363f0 69 6e 67 0a 22 65 78 65 63 20 3c 3c 20 24 64 61  ing."exec << $da
36400 74 61 22 20 63 6f 6e 73 74 72 75 63 74 20 28 6d  ta" construct (m
36410 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 34 20  elski)..2000-04 
36420 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
36430 6d 65 6e 74 29 20 6f 76 65 72 68 61 75 6c 20 6f  ment) overhaul o
36440 66 20 74 68 72 65 61 64 69 6e 67 20 6d 65 63 68  f threading mech
36450 61 6e 69 73 6d 20 74 6f 20 62 65 74 74 65 72 0a  anism to better.
36460 73 75 70 70 6f 72 74 20 74 63 6c 20 6c 65 76 65  support tcl leve
36470 6c 20 74 68 72 65 61 64 20 63 6f 6d 6d 61 6e 64  l thread command
36480 20 28 6e 65 77 20 41 50 49 73 20 54 63 6c 5f 43   (new APIs Tcl_C
36490 6f 6e 64 69 74 69 6f 6e 46 69 6e 61 6c 69 7a 65  onditionFinalize
364a0 2c 0a 54 63 6c 5f 4d 75 74 65 78 46 69 6e 61 6c  ,.Tcl_MutexFinal
364b0 69 7a 65 2c 20 54 63 6c 5f 43 72 65 61 74 65 54  ize, Tcl_CreateT
364c0 68 72 65 61 64 2c 20 65 74 63 2c 20 61 6c 6c 20  hread, etc, all 
364d0 64 6f 63 73 20 69 6e 20 54 68 72 65 61 64 2e 33  docs in Thread.3
364e0 29 2e 0a 28 6b 75 70 72 69 65 73 2c 20 67 72 61  )..(kupries, gra
364f0 76 65 72 61 75 78 29 0a 54 68 69 73 20 65 6e 61  veraux).This ena
36500 62 6c 65 73 20 74 68 65 20 74 63 6c 20 6c 65 76  bles the tcl lev
36510 65 6c 20 74 68 72 65 61 64 20 65 78 74 65 6e 73  el thread extens
36520 69 6f 6e 2e 20 28 77 65 6c 63 68 29 0a 0a 32 30  ion. (welch)..20
36530 30 30 2d 30 34 2d 31 30 20 28 62 75 67 20 66 69  00-04-10 (bug fi
36540 78 29 20 66 69 78 65 64 20 69 6e 66 69 6e 69 74  x) fixed infinit
36550 65 20 6c 6f 6f 70 20 63 61 73 65 20 69 6e 20 72  e loop case in r
36560 65 67 65 78 70 20 2d 61 6c 6c 20 28 6d 65 6c 73  egexp -all (mels
36570 6b 69 29 0a 0a 32 30 30 30 2d 30 34 2d 31 33 20  ki)..2000-04-13 
36580 28 63 6f 6e 66 69 67 20 65 6e 68 61 6e 63 65 6d  (config enhancem
36590 65 6e 74 29 20 61 64 64 65 64 20 73 75 70 70 6f  ent) added suppo
365a0 72 74 20 66 6f 72 20 2d 2d 65 6e 61 62 6c 65 2d  rt for --enable-
365b0 36 34 62 69 74 2d 76 69 73 0a 53 70 61 72 63 20  64bit-vis.Sparc 
365c0 74 61 72 67 65 74 2e 20 28 68 6f 62 62 73 29 0a  target. (hobbs).
365d0 0a 32 30 30 30 2d 30 34 2d 31 38 20 28 62 75 67  .2000-04-18 (bug
365e0 20 66 69 78 29 20 6d 6f 76 65 64 20 74 63 6c 4c   fix) moved tclL
365f0 69 62 72 61 72 79 50 61 74 68 20 74 6f 20 74 68  ibraryPath to th
36600 72 65 61 64 2d 6c 6f 63 61 6c 20 73 74 6f 72 61  read-local stora
36610 67 65 20 74 6f 20 66 69 78 0a 70 6f 73 73 69 62  ge to fix.possib
36620 6c 65 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f  le race conditio
36630 6e 20 6f 6e 20 4d 50 20 6d 61 63 68 69 6e 65 73  n on MP machines
36640 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30   (hobbs)..2000-0
36650 34 2d 31 38 20 28 63 6f 6e 66 69 67 20 65 6e 68  4-18 (config enh
36660 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20  ancement) added 
36670 4d 61 63 4f 53 20 58 20 62 75 69 6c 64 20 74 61  MacOS X build ta
36680 72 67 65 74 20 61 6e 64 0a 74 63 6c 4c 6f 61 64  rget and.tclLoad
36690 44 79 6c 64 2e 63 20 64 6c 20 74 79 70 65 2e 20  Dyld.c dl type. 
366a0 28 73 61 6e 63 68 65 7a 29 0a 0a 32 30 30 30 2d  (sanchez)..2000-
366b0 30 34 2d 32 33 20 28 62 75 67 20 66 69 78 29 20  04-23 (bug fix) 
366c0 73 65 76 65 72 61 6c 20 4d 61 63 20 73 6f 63 6b  several Mac sock
366d0 65 74 20 66 69 78 65 73 20 28 69 6e 67 68 61 6d  et fixes (ingham
366e0 29 0a 0a 32 30 30 30 2d 30 34 2d 32 34 20 28 62  )..2000-04-24 (b
366f0 75 67 20 66 69 78 29 20 66 69 78 65 64 20 68 61  ug fix) fixed ha
36700 6e 67 20 69 6e 20 74 68 72 65 61 64 65 64 20 55  ng in threaded U
36710 6e 69 78 20 63 61 73 65 20 77 68 65 6e 20 62 61  nix case when ba
36720 63 6b 67 72 6f 75 6e 64 65 64 0a 65 78 65 63 20  ckgrounded.exec 
36730 70 72 6f 63 65 73 73 20 77 61 73 20 72 75 6e 6e  process was runn
36740 69 6e 67 20 28 64 65 6a 6f 6e 67 29 0a 0a 2d 2d  ing (dejong)..--
36750 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 33 2e 31  - Released 8.3.1
36760 2c 20 41 70 72 69 6c 20 32 36 2c 20 32 30 30 30  , April 26, 2000
36770 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67 65 4c   --- See ChangeL
36780 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73 20 2d  og for details -
36790 2d 2d 0a 0a 32 30 30 30 2d 30 34 2d 32 36 20 28  --..2000-04-26 (
367a0 64 6f 63 20 66 69 78 29 20 75 70 64 61 74 65 64  doc fix) updated
367b0 2f 61 64 64 65 64 20 64 6f 63 75 6d 65 6e 74 61  /added documenta
367c0 74 69 6f 6e 20 66 6f 72 20 6d 61 6e 79 20 41 50  tion for many AP
367d0 49 27 73 20 61 6e 64 0a 63 6f 6d 6d 61 6e 64 73  I's and.commands
367e0 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d   (melski)..2000-
367f0 30 35 2d 30 32 20 28 66 65 61 74 75 72 65 20 65  05-02 (feature e
36800 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65  nhancement) adde
36810 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 6a 6f  d support for jo
36820 69 6e 61 62 6c 65 20 74 68 72 65 61 64 73 3b 0a  inable threads;.
36830 65 78 74 65 6e 64 65 64 20 41 50 49 27 73 20 66  extended API's f
36840 6f 72 20 63 68 61 6e 6e 65 6c 73 20 74 6f 20 61  or channels to a
36850 6c 6c 6f 77 20 63 68 61 6e 6e 65 6c 73 20 74 6f  llow channels to
36860 20 6d 6f 76 65 20 62 65 74 77 65 65 6e 20 74 68   move between th
36870 72 65 61 64 73 0a 28 6b 75 70 72 69 65 73 29 0a  reads.(kupries).
36880 0a 32 30 30 30 2d 30 35 2d 30 32 20 28 66 65 61  .2000-05-02 (fea
36890 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
368a0 29 20 63 68 61 6e 67 65 64 20 65 72 72 6f 72 20  ) changed error 
368b0 72 65 74 75 72 6e 20 66 6f 72 20 70 72 6f 63 65  return for proce
368c0 64 75 72 65 73 0a 77 69 74 68 20 69 6e 63 6f 72  dures.with incor
368d0 72 65 63 74 20 61 72 67 73 20 74 6f 20 62 65 20  rect args to be 
368e0 6c 69 6b 65 20 74 68 65 20 54 63 6c 5f 57 72 6f  like the Tcl_Wro
368f0 6e 67 4e 75 6d 41 72 67 73 20 41 50 49 2c 20 77  ngNumArgs API, w
36900 69 74 68 20 61 20 22 77 72 6f 6e 67 0a 23 20 61  ith a "wrong.# a
36910 72 67 73 3a 20 2e 2e 2e 22 20 6d 65 73 73 61 67  rgs: ..." messag
36920 65 20 70 72 69 6e 74 65 64 2c 20 77 69 74 68 20  e printed, with 
36930 61 6e 20 61 72 67 73 20 6c 69 73 74 20 28 68 6f  an args list (ho
36940 62 62 73 29 0a 0a 32 30 30 30 2d 30 35 2d 30 38  bbs)..2000-05-08
36950 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
36960 65 6d 65 6e 74 29 20 61 64 64 65 64 20 5b 61 72  ement) added [ar
36970 72 61 79 20 73 74 61 74 69 73 74 69 63 73 5d 20  ray statistics] 
36980 63 6f 6d 6d 61 6e 64 0a 0a 32 30 30 30 2d 30 35  command..2000-05
36990 2d 30 38 20 28 70 65 72 66 6f 72 6d 61 6e 63 65  -08 (performance
369a0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 72 65   enhancement) re
369b0 77 72 6f 74 65 20 54 63 6c 5f 53 74 72 69 6e 67  wrote Tcl_String
369c0 43 61 73 65 4d 61 74 63 68 0a 61 6c 67 6f 72 69  CaseMatch.algori
369d0 74 68 6d 20 66 6f 72 20 62 65 74 74 65 72 20 70  thm for better p
369e0 65 72 66 6f 72 6d 61 6e 63 65 3b 20 74 68 69 73  erformance; this
369f0 20 61 66 66 65 63 74 73 20 74 68 65 20 5b 73 74   affects the [st
36a00 72 69 6e 67 20 6d 61 74 63 68 5d 0a 63 6f 6d 6d  ring match].comm
36a10 61 6e 64 3b 20 61 64 64 65 64 20 22 65 71 22 20  and; added "eq" 
36a20 61 6e 64 20 22 6e 65 22 20 6f 70 65 72 61 6e 64  and "ne" operand
36a30 73 20 74 6f 20 65 78 70 72 2c 20 66 6f 72 20 74  s to expr, for t
36a40 65 73 74 69 6e 67 0a 73 74 72 69 6e 67 20 65 71  esting.string eq
36a50 75 61 6c 69 74 79 20 61 6e 64 20 69 6e 65 71 75  uality and inequ
36a60 61 6c 69 74 79 20 28 68 6f 62 62 73 29 0a 0a 32  ality (hobbs)..2
36a70 30 30 30 2d 30 35 2d 30 39 20 28 66 65 61 74 75  000-05-09 (featu
36a80 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
36a90 65 78 74 65 6e 64 65 64 20 5b 6c 73 65 61 72 63  extended [lsearc
36aa0 68 5d 20 74 6f 20 73 75 70 70 6f 72 74 20 73 6f  h] to support so
36ab0 72 74 65 64 0a 6c 69 73 74 20 73 65 61 72 63 68  rted.list search
36ac0 65 73 20 61 6e 64 20 74 79 70 65 64 20 6c 69 73  es and typed lis
36ad0 74 20 73 65 61 72 63 68 65 73 20 28 6d 65 6c 73  t searches (mels
36ae0 6b 69 29 0a 0a 32 30 30 30 2d 30 35 2d 31 30 20  ki)..2000-05-10 
36af0 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
36b00 6d 65 6e 74 29 20 61 64 64 65 64 20 5b 6e 61 6d  ment) added [nam
36b10 65 73 70 61 63 65 20 65 78 69 73 74 73 5d 20 63  espace exists] c
36b20 6f 6d 6d 61 6e 64 0a 28 64 61 72 6c 65 79 29 0a  ommand.(darley).
36b30 0a 32 30 30 30 2d 30 35 2d 31 38 20 28 62 75 69  .2000-05-18 (bui
36b40 6c 64 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  ld enhancement) 
36b50 61 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  added support fo
36b60 72 20 6d 69 6e 67 77 20 63 6f 6d 70 69 6c 65 20  r mingw compile 
36b70 65 6e 76 20 61 6e 64 0a 63 72 6f 73 73 2d 63 6f  env and.cross-co
36b80 6d 70 69 6c 69 6e 67 20 28 64 65 6a 6f 6e 67 29  mpiling (dejong)
36b90 0a 0a 32 30 30 30 2d 30 35 2d 31 38 20 28 62 75  ..2000-05-18 (bu
36ba0 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64  g fix) corrected
36bb0 20 63 6c 6f 63 6b 20 67 72 61 6d 6d 61 72 20 74   clock grammar t
36bc0 6f 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c  o properly handl
36bd0 65 20 74 68 65 0a 22 61 67 6f 22 20 6b 65 79 77  e the."ago" keyw
36be0 6f 72 64 20 77 68 65 6e 20 69 74 20 66 6f 6c 6c  ord when it foll
36bf0 6f 77 73 20 6d 75 6c 74 69 70 6c 65 20 72 65 6c  ows multiple rel
36c00 61 74 69 76 65 20 75 6e 69 74 20 73 70 65 63 69  ative unit speci
36c10 66 69 65 72 73 0a 28 6d 65 6c 73 6b 69 29 0a 0a  fiers.(melski)..
36c20 32 30 30 30 2d 30 35 2d 32 32 20 28 63 6f 6d 70  2000-05-22 (comp
36c30 69 6c 65 20 66 69 78 29 20 74 79 70 65 20 63 61  ile fix) type ca
36c40 73 74 20 63 6c 65 61 6e 75 70 73 20 28 64 65 6a  st cleanups (dej
36c50 6f 6e 67 29 0a 0a 32 30 30 30 2d 30 35 2d 32 33  ong)..2000-05-23
36c60 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65 6e   (performance en
36c70 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64  hancement) added
36c80 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 64 0a 69   byte-compiled.i
36c90 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
36ca0 20 5b 72 65 74 75 72 6e 5d 20 63 6f 6d 6d 61 6e   [return] comman
36cb0 64 20 61 6e 64 20 5b 73 74 72 69 6e 67 5d 20 63  d and [string] c
36cc0 6f 6d 6d 61 6e 64 20 28 6d 65 6c 73 6b 69 29 0a  ommand (melski).
36cd0 0a 32 30 30 30 2d 30 35 2d 32 36 20 28 70 65 72  .2000-05-26 (per
36ce0 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63 65  formance enhance
36cf0 6d 65 6e 74 29 20 65 78 74 65 6e 64 65 64 20 62  ment) extended b
36d00 79 74 65 2d 63 6f 6d 70 69 6c 65 64 20 5b 73 74  yte-compiled [st
36d10 72 69 6e 67 5d 0a 63 6f 6d 6d 61 6e 64 20 77 69  ring].command wi
36d20 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 20 5b  th support for [
36d30 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 2f 69  string compare/i
36d40 6e 64 65 78 2f 6d 61 74 63 68 5d 20 28 68 6f 62  ndex/match] (hob
36d50 62 73 29 0a 0a 32 30 30 30 2d 30 35 2d 32 37 20  bs)..2000-05-27 
36d60 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
36d70 6d 65 6e 74 29 20 61 64 64 65 64 20 61 62 69 6c  ment) added abil
36d80 69 74 79 20 74 6f 20 73 65 74 20 5b 69 6e 66 6f  ity to set [info
36d90 20 73 63 72 69 70 74 5d 0a 72 65 74 75 72 6e 20   script].return 
36da0 76 61 6c 75 65 20 28 5b 69 6e 66 6f 20 73 63 72  value ([info scr
36db0 69 70 74 20 3f 6e 65 77 46 69 6c 65 4e 61 6d 65  ipt ?newFileName
36dc0 3f 5d 29 20 28 77 65 6c 63 68 29 0a 0a 32 30 30  ?]) (welch)..200
36dd0 30 2d 30 35 2d 33 31 20 28 66 65 61 74 75 72 65  0-05-31 (feature
36de0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64   enhancement) ad
36df0 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
36e00 72 65 67 65 78 70 20 61 6e 64 20 65 78 61 63 74  regexp and exact
36e10 0a 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e  .pattern matchin
36e20 67 20 66 6f 72 20 5b 61 72 72 61 79 20 6e 61 6d  g for [array nam
36e30 65 73 5d 20 28 67 61 7a 65 74 74 61 29 0a 0a 32  es] (gazetta)..2
36e40 30 30 30 2d 30 35 2d 33 31 20 28 66 65 61 74 75  000-05-31 (featu
36e50 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
36e60 61 64 64 65 64 20 2d 6e 6f 63 6f 6d 70 6c 61 69  added -nocomplai
36e70 6e 20 61 6e 64 20 2d 2d 20 66 6c 61 67 73 20 74  n and -- flags t
36e80 6f 0a 5b 75 6e 73 65 74 5d 20 74 6f 20 61 6c 6c  o.[unset] to all
36e90 6f 77 20 66 6f 72 20 73 69 6c 65 6e 74 20 75 6e  ow for silent un
36ea0 73 65 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 68  set operation (h
36eb0 6f 62 62 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61  obbs)..--- Relea
36ec0 73 65 64 20 38 2e 34 61 31 2c 20 4a 75 6e 65 20  sed 8.4a1, June 
36ed0 36 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65 65 20  6, 2000 --- See 
36ee0 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65  ChangeLog for de
36ef0 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d  tails ---..2000-
36f00 30 35 2d 32 39 20 28 62 75 67 20 66 69 78 29 20  05-29 (bug fix) 
36f10 63 6f 72 72 65 63 74 65 64 20 72 65 73 6f 75 72  corrected resour
36f20 63 65 20 63 6c 65 61 6e 75 70 20 69 6e 20 68 74  ce cleanup in ht
36f30 74 70 20 65 72 72 6f 72 20 63 61 73 65 73 2e 0a  tp error cases..
36f40 49 6d 70 72 6f 76 65 64 20 68 61 6e 64 6c 69 6e  Improved handlin
36f50 67 20 6f 66 20 65 72 72 6f 72 20 63 61 73 65 73  g of error cases
36f60 20 69 6e 20 68 74 74 70 2e 20 28 74 61 6d 68 61   in http. (tamha
36f70 6e 6b 61 72 29 0a 0a 32 30 30 30 2d 30 37 20 28  nkar)..2000-07 (
36f80 66 65 61 74 75 72 65 20 72 65 77 72 69 74 65 29  feature rewrite)
36f90 20 63 6f 6d 70 6c 65 74 65 20 72 65 77 72 69 74   complete rewrit
36fa0 65 20 6f 66 20 74 68 65 20 54 63 6c 20 49 4f 20  e of the Tcl IO 
36fb0 63 68 61 6e 6e 65 6c 20 73 75 62 73 79 73 74 65  channel subsyste
36fc0 6d 0a 74 6f 20 63 6f 72 72 65 63 74 20 70 72 6f  m.to correct pro
36fd0 62 6c 65 6d 73 20 28 68 61 6e 67 73 2c 20 63 6f  blems (hangs, co
36fe0 72 65 20 64 75 6d 70 73 29 20 77 69 74 68 20 74  re dumps) with t
36ff0 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 63 6b  he initial stack
37000 65 64 20 63 68 61 6e 6e 65 6c 0a 69 6d 70 6c 65  ed channel.imple
37010 6d 65 6e 74 61 74 69 6f 6e 2e 20 20 54 68 65 20  mentation.  The 
37020 6e 65 77 20 73 79 73 74 65 6d 20 68 61 73 20 6d  new system has m
37030 61 6e 79 20 6d 6f 72 65 20 74 65 73 74 73 20 66  any more tests f
37040 6f 72 20 72 6f 62 75 73 74 6e 65 73 73 20 61 6e  or robustness an
37050 64 0a 73 63 61 6c 61 62 69 6c 69 74 79 2e 20 20  d.scalability.  
37060 54 68 65 72 65 20 61 72 65 20 6e 65 77 20 43 20  There are new C 
37070 41 50 49 73 20 28 73 65 65 20 54 63 6c 5f 43 72  APIs (see Tcl_Cr
37080 65 61 74 65 43 68 61 6e 6e 65 6c 29 2c 20 62 75  eateChannel), bu
37090 74 20 6f 6e 6c 79 0a 73 74 61 63 6b 65 64 20 63  t only.stacked c
370a0 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 61  hannel drivers a
370b0 72 65 20 61 66 66 65 63 74 65 64 20 28 69 65 3a  re affected (ie:
370c0 20 54 4c 53 2c 20 54 72 66 2c 20 69 6f 67 74 29   TLS, Trf, iogt)
370d0 2e 20 20 54 68 65 20 69 6f 67 74 0a 65 78 74 65  .  The iogt.exte
370e0 6e 73 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 61  nsion has been a
370f0 64 64 65 64 20 74 6f 20 74 68 65 20 63 6f 72 65  dded to the core
37100 20 74 65 73 74 20 63 6f 64 65 20 74 6f 20 74 65   test code to te
37110 73 74 20 74 68 65 20 73 79 73 74 65 6d 2e 0a 28  st the system..(
37120 68 6f 62 62 73 2c 20 6b 75 70 72 69 65 73 29 0a  hobbs, kupries).
37130 09 2a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  .**** POTENTIAL 
37140 49 4e 43 4f 4d 50 41 54 41 42 49 4c 49 54 59 20  INCOMPATABILITY 
37150 2a 2a 2a 2a 0a 0a 32 30 30 30 2d 30 37 20 28 62  ****..2000-07 (b
37160 75 69 6c 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74  uild improvement
37170 73 29 20 63 6c 65 61 6e 75 70 20 6f 66 20 74 68  s) cleanup of th
37180 65 20 6d 61 6b 65 66 69 6c 65 73 20 61 6e 64 20  e makefiles and 
37190 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74  configure script
371a0 73 0a 74 6f 20 63 6f 72 72 65 63 74 20 73 75 70  s.to correct sup
371b0 70 6f 72 74 20 66 6f 72 20 62 75 69 6c 64 69 6e  port for buildin
371c0 67 20 75 6e 64 65 72 20 67 63 63 20 66 6f 72 20  g under gcc for 
371d0 57 69 6e 64 6f 77 73 2e 20 28 64 65 6a 6f 6e 67  Windows. (dejong
371e0 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62  )..2000-08-07 (b
371f0 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65  ug fix) correcte
37200 64 20 73 69 7a 65 6f 66 20 65 72 72 6f 72 20 69  d sizeof error i
37210 6e 20 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72  n Tcl_GetIndexFr
37220 6f 6d 4f 62 6a 53 74 72 75 63 74 2e 0a 28 70 65  omObjStruct..(pe
37230 72 6b 69 6e 73 29 0a 0a 32 30 30 30 2d 30 38 2d  rkins)..2000-08-
37240 30 37 20 28 62 75 67 20 66 69 78 29 20 63 6f 72  07 (bug fix) cor
37250 72 65 63 74 20 6f 66 66 2d 62 79 2d 6f 6e 65 20  rect off-by-one 
37260 65 72 72 6f 72 20 69 6e 20 48 69 73 74 49 6e 64  error in HistInd
37270 65 78 2c 20 77 68 69 63 68 20 77 61 73 0a 63 61  ex, which was.ca
37280 75 73 69 6e 67 20 5b 68 69 73 74 6f 72 79 20 72  using [history r
37290 65 64 6f 5d 20 74 6f 20 73 74 61 72 74 20 69 74  edo] to start it
372a0 73 20 73 65 61 72 63 68 20 61 74 20 74 68 65 20  s search at the 
372b0 77 72 6f 6e 67 20 65 76 65 6e 74 20 69 6e 64 65  wrong event inde
372c0 78 2e 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30  x. (melski)..200
372d0 30 2d 30 38 2d 30 37 20 28 62 75 67 20 66 69 78  0-08-07 (bug fix
372e0 29 20 63 6f 72 72 65 63 74 65 64 20 73 65 74 6c  ) corrected setl
372f0 6f 63 61 6c 65 20 63 61 6c 6c 73 20 66 6f 72 20  ocale calls for 
37300 58 49 4d 20 73 75 70 70 6f 72 74 20 61 6e 64 20  XIM support and 
37310 6c 6f 63 61 6c 65 0a 69 73 73 75 65 73 20 69 6e  locale.issues in
37320 20 73 74 61 72 74 75 70 2e 20 28 74 61 6b 61 68   startup. (takah
37330 61 73 68 69 29 0a 0a 32 30 30 30 2d 30 38 2d 30  ashi)..2000-08-0
37340 37 20 28 62 75 67 20 66 69 78 29 20 63 6f 72 72  7 (bug fix) corr
37350 65 63 74 20 63 6f 64 65 20 74 6f 20 68 61 6e 64  ect code to hand
37360 6c 65 20 6c 6f 63 61 6c 65 20 73 70 65 63 69 66  le locale specif
37370 69 63 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73  ic return values
37380 0a 66 72 6f 6d 20 73 74 72 66 74 69 6d 65 2c 20  .from strftime, 
37390 69 66 20 61 6e 79 2e 20 28 77 61 67 6e 65 72 29  if any. (wagner)
373a0 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62 75  ..2000-08-07 (bu
373b0 67 20 66 69 78 29 20 74 77 65 61 6b 65 64 20 67  g fix) tweaked g
373c0 72 61 6d 6d 61 72 20 74 6f 20 70 72 6f 70 65 72  rammar to proper
373d0 6c 79 20 68 61 6e 64 6c 65 20 74 68 65 20 22 61  ly handle the "a
373e0 67 6f 22 20 6b 65 79 77 6f 72 64 0a 77 68 65 6e  go" keyword.when
373f0 20 69 74 20 66 6f 6c 6c 6f 77 73 20 6d 75 6c 74   it follows mult
37400 69 70 6c 65 20 72 65 6c 61 74 69 76 65 20 75 6e  iple relative un
37410 69 74 20 73 70 65 63 69 66 69 65 72 73 2c 20 61  it specifiers, a
37420 73 20 69 6e 0a 22 32 20 64 61 79 73 20 32 20 68  s in."2 days 2 h
37430 6f 75 72 73 20 61 67 6f 22 2e 20 28 6d 65 6c 73  ours ago". (mels
37440 6b 69 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20  ki)..2000-08-07 
37450 28 64 6f 63 20 66 69 78 65 73 29 20 6e 75 6d 65  (doc fixes) nume
37460 72 6f 75 73 20 64 6f 63 20 66 69 78 65 73 20 74  rous doc fixes t
37470 6f 20 63 6f 72 72 65 63 74 20 53 45 45 20 41 4c  o correct SEE AL
37480 53 4f 20 61 6e 64 20 4e 41 4d 45 0a 73 65 63 74  SO and NAME.sect
37490 69 6f 6e 73 2e 20 28 65 6e 67 6c 69 73 68 29 0a  ions. (english).
374a0 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62 75 67  .2000-08-07 (bug
374b0 20 66 69 78 29 20 6e 65 77 20 6d 61 6e 20 70 61   fix) new man pa
374c0 67 65 73 20 6d 65 6d 6f 72 79 2e 6e 2c 20 54 43  ges memory.n, TC
374d0 4c 5f 4d 45 4d 5f 44 45 42 55 47 2e 33 2c 20 49  L_MEM_DEBUG.3, I
374e0 6e 69 74 2e 33 20 61 6e 64 0a 44 75 6d 70 41 63  nit.3 and.DumpAc
374f0 74 69 76 65 4d 65 6d 6f 72 79 2e 33 2e 20 28 6d  tiveMemory.3. (m
37500 65 6c 73 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c 65  elski)..--- Rele
37510 61 73 65 64 20 38 2e 33 2e 32 2c 20 41 75 67 75  ased 8.3.2, Augu
37520 73 74 20 39 2c 20 32 30 30 30 20 2d 2d 2d 20 53  st 9, 2000 --- S
37530 65 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72  ee ChangeLog for
37540 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30   details ---..20
37550 30 30 2d 30 36 20 74 68 72 75 20 32 30 30 30 2d  00-06 thru 2000-
37560 31 31 20 28 62 75 69 6c 64 20 69 6d 70 72 6f 76  11 (build improv
37570 65 6d 65 6e 74 73 29 20 41 64 64 65 64 20 73 75  ements) Added su
37580 70 70 6f 72 74 20 66 6f 72 20 6d 69 6e 67 77 20  pport for mingw 
37590 28 67 63 63 20 6f 6e 0a 57 69 6e 64 6f 77 73 29  (gcc on.Windows)
375a0 2c 20 41 49 58 2d 35 20 61 6e 64 20 57 69 6e 36  , AIX-5 and Win6
375b0 34 20 62 75 69 6c 64 73 20 28 64 65 6a 6f 6e 67  4 builds (dejong
375c0 2c 20 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30  , hobbs)..2000-0
375d0 36 2d 32 33 20 28 66 65 61 74 75 72 65 20 65 6e  6-23 (feature en
375e0 68 61 6e 63 65 6d 65 6e 74 29 20 61 62 69 6c 69  hancement) abili
375f0 74 79 20 74 6f 20 75 73 65 20 54 63 6c 5f 4f 62  ty to use Tcl_Ob
37600 6a 20 2a 73 20 61 73 20 68 61 73 68 20 6b 65 79  j *s as hash key
37610 73 20 28 64 75 66 66 69 6e 29 0a 0a 32 30 30 30  s (duffin)..2000
37620 2d 30 36 2d 32 39 20 28 6e 65 77 20 66 65 61 74  -06-29 (new feat
37630 75 72 65 73 29 20 61 64 64 65 64 20 5b 6d 63 6d  ures) added [mcm
37640 61 78 5d 20 61 6e 64 20 5b 6d 63 6d 73 65 74 5d  ax] and [mcmset]
37650 20 61 6e 64 20 65 78 74 65 6e 64 65 64 20 5b 75   and extended [u
37660 6e 6b 6e 6f 77 6e 5d 20 69 6e 0a 6d 73 67 63 61  nknown] in.msgca
37670 74 20 70 61 63 6b 61 67 65 20 28 64 75 70 65 72  t package (duper
37680 76 61 6c 2c 20 6b 72 6f 6e 65 2c 20 6e 65 6c 73  val, krone, nels
37690 6f 6e 29 0a 3d 3e 20 6d 73 67 63 61 74 20 31 2e  on).=> msgcat 1.
376a0 31 0a 0a 32 30 30 30 2d 30 38 20 74 68 72 75 20  1..2000-08 thru 
376b0 32 30 30 30 2d 30 39 20 61 64 64 65 64 20 74 63  2000-09 added tc
376c0 6c 50 6c 61 74 44 65 63 6c 73 2e 68 20 74 6f 20  lPlatDecls.h to 
376d0 64 65 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c 20  default install 
376e0 28 6d 65 6c 73 6b 69 2c 20 68 6f 62 62 73 29 0a  (melski, hobbs).
376f0 0a 32 30 30 30 2d 30 38 2d 32 34 20 28 6e 65 77  .2000-08-24 (new
37700 20 66 65 61 74 75 72 65 29 20 45 6e 68 61 6e 63   feature) Enhanc
37710 65 64 20 74 72 61 63 65 20 73 79 6e 74 61 78 20  ed trace syntax 
37720 74 6f 20 61 64 64 3a 0a 09 74 72 61 63 65 20 7b  to add:..trace {
37730 61 64 64 7c 72 65 6d 6f 76 65 7c 6c 69 73 74 7d  add|remove|list}
37740 20 7b 76 61 72 69 61 62 6c 65 7c 63 6f 6d 6d 61   {variable|comma
37750 6e 64 7d 20 6e 61 6d 65 20 6f 70 73 20 63 6f 6d  nd} name ops com
37760 6d 61 6e 64 0a 28 64 61 72 6c 65 79 2c 20 6d 65  mand.(darley, me
37770 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d 30  lski)..2000-09-0
37780 36 20 28 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72  6 (cross-platfor
37790 6d 20 66 65 61 74 75 72 65 29 20 53 65 74 20 5e  m feature) Set ^
377a0 5a 20 28 5c 33 32 29 20 61 73 20 64 65 66 61 75  Z (\32) as defau
377b0 6c 74 20 45 4f 46 20 63 68 61 72 2e 20 28 68 6f  lt EOF char. (ho
377c0 62 62 73 29 0a 0a 32 30 30 30 2d 30 39 2d 30 37  bbs)..2000-09-07
377d0 20 70 61 72 74 69 61 6c 20 66 69 78 20 66 6f 72   partial fix for
377e0 20 62 75 67 20 32 34 36 30 20 74 6f 20 70 72 65   bug 2460 to pre
377f0 76 65 6e 74 20 65 78 65 63 20 6d 65 6d 20 6c 65  vent exec mem le
37800 61 6b 20 6f 6e 20 57 69 6e 64 6f 77 73 20 66 6f  ak on Windows fo
37810 72 20 74 68 65 0a 63 6f 6d 6d 6f 6e 20 63 61 73  r the.common cas
37820 65 20 28 67 72 61 76 65 72 65 61 75 78 29 0a 0a  e (gravereaux)..
37830 32 30 30 30 2d 30 39 2d 31 34 20 49 6d 70 72 6f  2000-09-14 Impro
37840 76 65 64 20 73 74 72 69 6e 67 20 61 6c 6c 6f 63  ved string alloc
37850 61 74 69 6f 6e 20 67 72 6f 77 74 68 20 66 6f 72  ation growth for
37860 20 6c 61 72 67 65 20 73 74 72 69 6e 67 73 20 28   large strings (
37870 68 69 6e 74 65 72 6d 61 79 65 72 2c 0a 6d 65 6c  hintermayer,.mel
37880 73 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d 31 34  ski)..2000-09-14
37890 20 4e 65 77 20 6e 6f 6e 2d 70 61 6e 69 63 27 69   New non-panic'i
378a0 6e 67 20 6d 65 6d 20 61 6c 6c 6f 63 61 74 69 6f  ng mem allocatio
378b0 6e 20 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c 5f  n functions Tcl_
378c0 41 74 74 65 6d 70 74 41 6c 6c 6f 63 2c 0a 54 63  AttemptAlloc,.Tc
378d0 6c 5f 41 74 74 65 6d 70 74 52 65 61 6c 6c 6f 63  l_AttemptRealloc
378e0 2c 20 54 63 6c 5f 41 74 74 65 6d 70 74 53 65 74  , Tcl_AttemptSet
378f0 4f 62 6a 4c 65 6e 67 74 68 20 28 6d 65 6c 73 6b  ObjLength (melsk
37900 69 29 0a 0a 32 30 30 30 2d 30 39 2d 32 30 20 28  i)..2000-09-20 (
37910 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 63 6f  new features) co
37920 6d 70 6c 65 74 65 6c 79 20 6e 65 77 2c 20 65 6e  mpletely new, en
37930 68 61 6e 63 65 64 20 73 79 6e 74 61 78 20 69 6e  hanced syntax in
37940 20 74 63 6c 74 65 73 74 20 70 61 63 6b 61 67 65   tcltest package
37950 2e 0a 42 61 63 6b 77 61 72 64 73 20 63 6f 6d 70  ..Backwards comp
37960 61 74 61 62 6c 65 20 77 69 74 68 20 74 63 6c 74  atable with tclt
37970 65 73 74 20 76 31 2e 20 28 68 6f 6d 29 0a 3d 3e  est v1. (hom).=>
37980 20 74 63 6c 74 65 73 74 20 32 2e 30 0a 0a 32 30   tcltest 2.0..20
37990 30 30 2d 30 39 2d 32 37 20 28 62 75 67 20 66 69  00-09-27 (bug fi
379a0 78 29 20 66 69 78 65 64 20 61 20 62 75 67 20 69  x) fixed a bug i
379b0 6e 74 72 6f 64 75 63 65 64 20 62 79 20 61 20 70  ntroduced by a p
379c0 61 72 74 69 61 6c 20 66 69 78 20 69 6e 20 38 2e  artial fix in 8.
379d0 33 2e 32 20 74 68 61 74 0a 64 69 64 6e 27 74 20  3.2 that.didn't 
379e0 73 65 74 20 6e 6f 6e 42 6c 6f 63 6b 69 6e 67 20  set nonBlocking 
379f0 63 6f 72 72 65 63 74 6c 79 20 77 68 65 6e 20 72  correctly when r
37a00 65 73 65 74 74 69 6e 67 20 74 68 65 20 66 6c 61  esetting the fla
37a10 67 73 20 66 6f 72 20 74 68 65 20 77 72 69 74 65  gs for the write
37a20 0a 73 69 64 65 20 28 6d 65 6d 20 6c 65 61 6b 29  .side (mem leak)
37a30 20 43 6f 72 72 65 63 74 20 6d 65 6d 20 6c 65 61   Correct mem lea
37a40 6b 20 69 6e 20 63 68 61 6e 6e 65 6c 73 20 77 68  k in channels wh
37a50 65 6e 20 73 74 61 74 65 50 74 72 20 77 61 73 20  en statePtr was 
37a60 72 65 6c 65 61 73 65 64 0a 28 68 6f 62 62 73 29  released.(hobbs)
37a70 0a 0a 32 30 30 30 2d 30 39 2d 32 39 20 28 62 75  ..2000-09-29 (bu
37a80 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64  g fix) corrected
37a90 20 72 65 70 6f 72 74 69 6e 67 20 6f 66 20 73 70   reporting of sp
37aa0 61 63 65 20 70 61 72 69 74 79 20 6f 6e 20 57 69  ace parity on Wi
37ab0 6e 64 6f 77 73 20 28 45 61 73 6f 6e 29 0a 0a 32  ndows (Eason)..2
37ac0 30 30 30 2d 31 30 2d 30 36 20 28 62 75 67 20 66  000-10-06 (bug f
37ad0 69 78 29 20 63 6f 72 72 65 63 74 65 64 20 5b 66  ix) corrected [f
37ae0 69 6c 65 20 63 68 61 6e 6e 65 6c 73 5d 20 74 6f  ile channels] to
37af0 20 6f 6e 6c 79 20 72 65 74 75 72 6e 20 63 68 61   only return cha
37b00 6e 6e 65 6c 73 20 69 6e 0a 74 68 65 20 63 75 72  nnels in.the cur
37b10 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65 72  rent interpreter
37b20 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31   (hobbs)..2000-1
37b30 30 2d 32 30 20 28 70 65 72 66 6f 72 6d 61 6e 63  0-20 (performanc
37b40 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 63  e enhancement) c
37b50 61 6c 6c 20 73 74 61 74 20 6f 6e 6c 79 20 77 68  all stat only wh
37b60 65 6e 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20  en necessary in 
37b70 27 67 6c 6f 62 27 20 74 6f 0a 73 70 65 65 64 20  'glob' to.speed 
37b80 75 70 20 63 6f 6d 6d 61 6e 64 20 73 69 67 6e 69  up command signi
37b90 66 69 63 61 6e 74 6c 79 20 69 6e 20 62 61 73 65  ficantly in base
37ba0 20 63 61 73 65 73 20 28 68 6f 62 62 73 29 0a 0a   cases (hobbs)..
37bb0 32 30 30 30 2d 31 30 2d 32 37 20 46 69 78 65 64  2000-10-27 Fixed
37bc0 20 6d 65 6d 20 6c 65 61 6b 20 69 6e 20 54 63 6c   mem leak in Tcl
37bd0 5f 43 72 65 61 74 65 43 68 61 6e 6e 65 6c 2e 20  _CreateChannel. 
37be0 52 65 2d 70 75 72 69 66 69 65 64 20 63 6f 72 65  Re-purified core
37bf0 20 76 69 61 20 74 65 73 74 0a 73 75 69 74 65 73   via test.suites
37c00 2e 20 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30  .  (hobbs)..2000
37c10 2d 31 30 2d 33 30 20 28 6e 65 77 20 66 65 61 74  -10-30 (new feat
37c20 75 72 65 29 20 61 64 64 20 22 6a 61 5f 4a 50 2e  ure) add "ja_JP.
37c30 65 75 63 4a 50 22 20 6d 61 70 20 74 6f 20 22 65  eucJP" map to "e
37c40 75 63 2d 6a 70 22 20 65 6e 63 6f 64 69 6e 67 20  uc-jp" encoding 
37c50 28 74 61 6b 61 68 61 73 68 69 29 0a 0a 32 30 30  (takahashi)..200
37c60 30 2d 31 31 2d 30 31 20 28 6d 65 6d 20 6c 65 61  0-11-01 (mem lea
37c70 6b 29 20 43 6f 72 72 65 63 74 65 64 20 65 78 63  k) Corrected exc
37c80 65 73 73 69 76 65 20 6d 65 6d 20 75 73 65 20 6f  essive mem use o
37c90 66 20 69 6e 66 6f 20 65 78 69 73 74 73 20 6f 6e  f info exists on
37ca0 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20   a.non-existent 
37cb0 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 28 68  array element (h
37cc0 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31 31 2d 30  obbs)..2000-11-0
37cd0 32 20 28 62 75 67 20 66 69 78 29 20 43 6f 72 72  2 (bug fix) Corr
37ce0 65 63 74 65 64 20 73 68 61 72 69 6e 67 20 6f 66  ected sharing of
37cf0 20 74 63 6c 4c 69 62 72 61 72 79 50 61 74 68 20   tclLibraryPath 
37d00 69 6e 20 74 68 72 65 61 64 65 64 0a 65 6e 76 69  in threaded.envi
37d10 72 6f 6e 6d 65 6e 74 20 28 67 72 61 76 65 72 65  ronment (gravere
37d20 61 75 78 29 0a 0a 32 30 30 30 2d 31 31 2d 30 33  aux)..2000-11-03
37d30 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 54   (new feature) T
37d40 63 6c 5f 53 65 74 4d 61 69 6e 4c 6f 6f 70 20 65  cl_SetMainLoop e
37d50 6e 61 62 6c 65 73 20 64 65 66 69 6e 69 6e 67 20  nables defining 
37d60 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 66 6f  an event loop fo
37d70 72 0a 74 63 6c 73 68 2e 20 20 54 68 69 73 20 65  r.tclsh.  This e
37d80 6e 61 62 6c 65 73 20 54 6b 20 61 73 20 61 20 74  nables Tk as a t
37d90 72 75 6c 79 20 6c 6f 61 64 61 62 6c 65 20 70 61  ruly loadable pa
37da0 63 6b 61 67 65 2e 20 28 68 6f 62 62 73 29 0a 0a  ckage. (hobbs)..
37db0 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 34  --- Released 8.4
37dc0 61 32 2c 20 4e 6f 76 65 6d 62 65 72 20 33 2c 20  a2, November 3, 
37dd0 32 30 30 30 20 2d 2d 2d 20 53 65 65 20 43 68 61  2000 --- See Cha
37de0 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74 61 69  ngeLog for detai
37df0 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30 39 2d  ls ---..2000-09-
37e00 32 37 20 28 62 75 67 20 66 69 78 29 20 66 69 78  27 (bug fix) fix
37e10 65 64 20 61 20 62 75 67 20 69 6e 74 72 6f 64 75  ed a bug introdu
37e20 63 65 64 20 62 79 20 61 20 70 61 72 74 69 61 6c  ced by a partial
37e30 20 66 69 78 20 69 6e 20 38 2e 33 2e 32 20 74 68   fix in 8.3.2 th
37e40 61 74 0a 64 69 64 6e 27 74 20 73 65 74 20 6e 6f  at.didn't set no
37e50 6e 42 6c 6f 63 6b 69 6e 67 20 63 6f 72 72 65 63  nBlocking correc
37e60 74 6c 79 20 77 68 65 6e 20 72 65 73 65 74 74 69  tly when resetti
37e70 6e 67 20 74 68 65 20 66 6c 61 67 73 20 66 6f 72  ng the flags for
37e80 20 74 68 65 20 77 72 69 74 65 0a 73 69 64 65 20   the write.side 
37e90 28 6d 65 6d 20 6c 65 61 6b 29 20 43 6f 72 72 65  (mem leak) Corre
37ea0 63 74 20 6d 65 6d 20 6c 65 61 6b 20 69 6e 20 63  ct mem leak in c
37eb0 68 61 6e 6e 65 6c 73 20 77 68 65 6e 20 73 74 61  hannels when sta
37ec0 74 65 50 74 72 20 77 61 73 20 72 65 6c 65 61 73  tePtr was releas
37ed0 65 64 0a 28 68 6f 62 62 73 29 0a 0a 32 30 30 30  ed.(hobbs)..2000
37ee0 2d 30 39 2d 32 39 20 28 62 75 67 20 66 69 78 29  -09-29 (bug fix)
37ef0 20 63 6f 72 72 65 63 74 65 64 20 72 65 70 6f 72   corrected repor
37f00 74 69 6e 67 20 6f 66 20 73 70 61 63 65 20 70 61  ting of space pa
37f10 72 69 74 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20  rity on Windows 
37f20 28 45 61 73 6f 6e 29 0a 0a 32 30 30 30 2d 31 30  (Eason)..2000-10
37f30 2d 30 36 20 28 62 75 67 20 66 69 78 29 20 63 6f  -06 (bug fix) co
37f40 72 72 65 63 74 65 64 20 5b 66 69 6c 65 20 63 68  rrected [file ch
37f50 61 6e 6e 65 6c 73 5d 20 74 6f 20 6f 6e 6c 79 20  annels] to only 
37f60 72 65 74 75 72 6e 20 63 68 61 6e 6e 65 6c 73 20  return channels 
37f70 69 6e 0a 74 68 65 20 63 75 72 72 65 6e 74 20 69  in.the current i
37f80 6e 74 65 72 70 72 65 74 65 72 20 28 68 6f 62 62  nterpreter (hobb
37f90 73 29 0a 0a 32 30 30 30 2d 31 30 2d 32 30 20 28  s)..2000-10-20 (
37fa0 70 65 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61  performance enha
37fb0 6e 63 65 6d 65 6e 74 29 20 63 61 6c 6c 20 73 74  ncement) call st
37fc0 61 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 63  at only when nec
37fd0 65 73 73 61 72 79 20 69 6e 20 27 67 6c 6f 62 27  essary in 'glob'
37fe0 20 74 6f 0a 73 70 65 65 64 20 75 70 20 63 6f 6d   to.speed up com
37ff0 6d 61 6e 64 20 73 69 67 6e 69 66 69 63 61 6e 74  mand significant
38000 6c 79 20 69 6e 20 62 61 73 65 20 63 61 73 65 73  ly in base cases
38010 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31   (hobbs)..2000-1
38020 31 2d 30 31 20 28 6d 65 6d 20 6c 65 61 6b 29 20  1-01 (mem leak) 
38030 43 6f 72 72 65 63 74 65 64 20 65 78 63 65 73 73  Corrected excess
38040 69 76 65 20 6d 65 6d 20 75 73 65 20 6f 66 20 69  ive mem use of i
38050 6e 66 6f 20 65 78 69 73 74 73 20 6f 6e 20 61 0a  nfo exists on a.
38060 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 61 72 72  non-existent arr
38070 61 79 20 65 6c 65 6d 65 6e 74 20 28 68 6f 62 62  ay element (hobb
38080 73 29 0a 0a 32 30 30 30 2d 31 31 2d 30 32 20 28  s)..2000-11-02 (
38090 62 75 67 20 66 69 78 29 20 43 6f 72 72 65 63 74  bug fix) Correct
380a0 65 64 20 73 68 61 72 69 6e 67 20 6f 66 20 74 63  ed sharing of tc
380b0 6c 4c 69 62 72 61 72 79 50 61 74 68 20 69 6e 20  lLibraryPath in 
380c0 74 68 72 65 61 64 65 64 0a 65 6e 76 69 72 6f 6e  threaded.environ
380d0 6d 65 6e 74 20 28 67 72 61 76 65 72 65 61 75 78  ment (gravereaux
380e0 29 0a 0a 32 30 30 30 2d 31 31 2d 32 33 20 28 6d  )..2000-11-23 (m
380f0 65 6d 20 6c 65 61 6b 29 20 66 69 78 65 64 20 70  em leak) fixed p
38100 6f 74 65 6e 74 69 61 6c 20 6d 65 6d 6f 72 79 20  otential memory 
38110 6c 65 61 6b 20 69 6e 20 65 72 72 6f 72 20 63 61  leak in error ca
38120 73 65 20 6f 66 20 6c 73 6f 72 74 0a 28 66 65 6c  se of lsort.(fel
38130 6c 6f 77 73 29 0a 0a 32 30 30 30 2d 31 32 2d 30  lows)..2000-12-0
38140 39 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e  9 (feature enhan
38150 63 65 6d 65 6e 74 29 20 63 68 61 6e 67 65 64 20  cement) changed 
38160 25 6f 20 61 6e 64 20 25 78 20 74 6f 20 75 73 65  %o and %x to use
38170 20 73 74 72 74 6f 75 6c 20 69 6e 73 74 65 61 64   strtoul instead
38180 0a 6f 66 20 73 74 72 74 6f 6c 20 74 6f 20 63 6f  .of strtol to co
38190 72 72 65 63 74 6c 79 20 70 72 65 73 65 72 76 65  rrectly preserve
381a0 20 73 63 61 6e 3c 3e 66 6f 72 6d 61 74 20 63 6f   scan<>format co
381b0 6e 76 65 72 73 69 6f 6e 20 6f 66 20 6c 61 72 67  nversion of larg
381c0 65 20 69 6e 74 65 67 65 72 73 0a 28 68 6f 62 62  e integers.(hobb
381d0 73 29 0a 46 69 78 65 64 20 68 61 6e 64 6c 69 6e  s).Fixed handlin
381e0 67 20 6f 66 20 7b 21 3c 62 6f 6f 6c 65 61 6e 3e  g of {!<boolean>
381f0 7d 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 73  } in expressions
38200 20 28 68 6f 62 62 73 2c 20 66 65 6c 6c 6f 77 73   (hobbs, fellows
38210 29 0a 0a 32 30 30 30 2d 31 32 2d 31 34 20 28 66  )..2000-12-14 (f
38220 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
38230 6e 74 29 20 69 6d 70 72 6f 76 65 64 20 28 73 29  nt) improved (s)
38240 72 61 6e 64 20 66 6f 72 20 36 34 2d 62 69 74 20  rand for 64-bit 
38250 70 6c 61 74 66 6f 72 6d 73 0a 28 70 6f 72 74 65  platforms.(porte
38260 72 29 0a 0a 32 30 30 31 2d 30 31 2d 30 34 20 28  r)..2001-01-04 (
38270 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74  bug fix) correct
38280 65 64 20 70 61 72 73 69 6e 67 20 6f 66 20 24 74  ed parsing of $t
38290 63 6c 5f 6c 69 62 50 61 74 68 20 61 74 20 73 74  cl_libPath at st
382a0 61 72 74 75 70 20 6f 6e 0a 57 69 6e 64 6f 77 73  artup on.Windows
382b0 20 28 70 6f 72 74 65 72 29 0a 0a 32 30 30 31 2d   (porter)..2001-
382c0 30 31 2d 33 30 20 28 62 75 67 20 66 69 78 29 20  01-30 (bug fix) 
382d0 46 69 78 65 64 20 70 6f 73 73 69 62 6c 65 20 68  Fixed possible h
382e0 61 6e 67 73 20 69 6e 20 66 63 6f 70 79 2e 20 28  angs in fcopy. (
382f0 70 6f 72 74 65 72 29 0a 0a 32 30 30 31 2d 30 32  porter)..2001-02
38300 2d 31 35 20 28 70 65 72 66 6f 72 6d 61 6e 63 65  -15 (performance
38310 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d   enhancement) im
38320 70 72 6f 76 65 64 20 65 66 66 69 63 69 65 6e 63  proved efficienc
38330 79 20 6f 66 20 5b 73 74 72 69 6e 67 20 73 70 6c  y of [string spl
38340 69 74 5d 0a 28 66 65 6c 6c 6f 77 73 29 0a 0a 32  it].(fellows)..2
38350 30 30 31 2d 30 33 2d 31 33 20 28 62 75 67 20 66  001-03-13 (bug f
38360 69 78 29 20 43 6f 72 72 65 63 74 6c 79 20 70 6f  ix) Correctly po
38370 73 73 69 62 6c 65 20 6d 65 6d 6f 72 79 20 63 6f  ssible memory co
38380 72 72 75 70 74 69 6f 6e 20 69 6e 20 73 74 72 69  rruption in stri
38390 6e 67 20 6d 61 70 20 7b 7d 0a 24 73 74 72 20 28  ng map {}.$str (
383a0 66 65 6c 6c 6f 77 73 29 0a 0a 32 30 30 31 2d 30  fellows)..2001-0
383b0 33 2d 32 39 20 28 62 75 67 20 66 69 78 29 20 70  3-29 (bug fix) p
383c0 72 65 76 65 6e 74 20 70 6f 74 65 6e 74 69 61 6c  revent potential
383d0 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 20   race condition 
383e0 61 6e 64 20 73 65 63 75 72 69 74 79 20 6c 65 61  and security lea
383f0 6b 20 69 6e 0a 74 6d 70 20 66 69 6c 65 6e 61 6d  k in.tmp filenam
38400 65 20 63 72 65 61 74 69 6f 6e 20 6f 6e 20 55 6e  e creation on Un
38410 69 78 2e 20 28 6d 61 78 29 0a 46 69 78 65 64 20  ix. (max).Fixed 
38420 68 61 6e 64 6c 69 6e 67 20 6f 66 20 74 69 6d 65  handling of time
38430 6f 75 74 20 66 6f 72 20 74 68 72 65 61 64 73 20  out for threads 
38440 28 63 6f 72 72 65 63 74 73 20 65 78 63 65 73 73  (corrects excess
38450 69 76 65 20 43 50 55 20 75 73 61 67 65 20 69 73  ive CPU usage is
38460 73 75 65 0a 66 6f 72 20 54 6b 20 6f 6e 20 55 6e  sue.for Tk on Un
38470 69 78 20 69 6e 20 74 68 72 65 61 64 65 64 20 54  ix in threaded T
38480 63 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 2e  cl environment).
38490 20 28 72 75 70 70 65 72 74 29 0a 0a 32 30 30 31   (ruppert)..2001
384a0 2d 30 33 2d 33 30 20 28 62 75 67 20 66 69 78 29  -03-30 (bug fix)
384b0 20 63 6f 72 72 65 63 74 65 64 20 57 69 6e 64 6f   corrected Windo
384c0 77 73 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 20  ws memory error 
384d0 6f 6e 20 65 78 69 74 20 28 77 75 29 0a 46 69 78  on exit (wu).Fix
384e0 65 64 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f  ed race conditio
384f0 6e 20 69 6e 20 72 65 61 64 61 62 69 6c 69 74 79  n in readability
38500 20 6f 66 20 73 6f 63 6b 65 74 20 6f 6e 20 57 69   of socket on W