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 [email protected]
or submit via the online form by Sep 9.

Artifact 498cdcfd2a670b3b0160b5bfd0d4a85792f3b8e7:


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 52 43 53 3a 20 40 28 23 29 20 24  cl:..RCS: @(#) $
0030: 49 64 3a 20 63 68 61 6e 67 65 73 2c 76 20 31 2e  Id: changes,v 1.
0040: 31 30 32 20 32 30 30 36 2f 30 33 2f 32 37 20 31  102 2006/03/27 1
0050: 36 3a 34 38 3a 31 36 20 64 67 70 20 45 78 70 20  6:48:16 dgp Exp 
0060: 24 0a 0a 31 2e 20 4e 6f 20 6d 6f 72 65 20 5b 63  $..1. No more [c
0070: 6f 6d 6d 61 6e 64 31 5d 20 5b 63 6f 6d 6d 61 6e  ommand1] [comman
0080: 64 32 5d 20 63 6f 6e 73 74 72 75 63 74 20 66 6f  d2] construct fo
0090: 72 20 67 72 6f 75 70 69 6e 67 20 6d 75 6c 74 69  r grouping multi
00a0: 70 6c 65 0a 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20  ple.commands on 
00b0: 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d 61 6e 64  a single command
00c0: 20 6c 69 6e 65 2e 0a 0a 32 2e 20 53 65 6d 69 2d   line...2. Semi-
00d0: 63 6f 6c 6f 6e 20 6e 6f 77 20 61 76 61 69 6c 61  colon now availa
00e0: 62 6c 65 20 66 6f 72 20 67 72 6f 75 70 69 6e 67  ble for grouping
00f0: 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20 61 20 6c   commands on a l
0100: 69 6e 65 2e 0a 0a 33 2e 20 46 6f 72 20 61 20 63  ine...3. For a c
0110: 6f 6d 6d 61 6e 64 20 74 6f 20 73 70 61 6e 20 6d  ommand to span m
0120: 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2c 20 6d  ultiple lines, m
0130: 75 73 74 20 6e 6f 77 20 75 73 65 20 62 61 63 6b  ust now use back
0140: 73 6c 61 73 68 2d 72 65 74 75 72 6e 0a 61 74 20  slash-return.at 
0150: 74 68 65 20 65 6e 64 20 6f 66 20 65 61 63 68 20  the end of each 
0160: 6c 69 6e 65 20 62 75 74 20 74 68 65 20 6c 61 73  line but the las
0170: 74 2e 0a 0a 34 2e 20 22 56 61 72 22 20 63 6f 6d  t...4. "Var" com
0180: 6d 61 6e 64 20 68 61 73 20 62 65 65 6e 20 63 68  mand has been ch
0190: 61 6e 67 65 64 20 74 6f 20 22 73 65 74 22 2e 0a  anged to "set"..
01a0: 0a 35 2e 20 44 6f 75 62 6c 65 2d 71 75 6f 74 65  .5. Double-quote
01b0: 73 20 6e 6f 77 20 61 76 61 69 6c 61 62 6c 65 20  s now available 
01c0: 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 67  as an argument g
01d0: 72 6f 75 70 69 6e 67 20 63 68 61 72 61 63 74 65  rouping characte
01e0: 72 2e 0a 0a 36 2e 20 22 52 65 74 75 72 6e 22 20  r...6. "Return" 
01f0: 6d 61 79 20 62 65 20 75 73 65 64 20 61 74 20 74  may be used at t
0200: 6f 70 2d 6c 65 76 65 6c 2e 0a 0a 37 2e 20 4d 6f  op-level...7. Mo
0210: 72 65 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71  re backslash seq
0220: 75 65 6e 63 65 73 20 61 76 61 69 6c 61 62 6c 65  uences available
0230: 20 6e 6f 77 2e 20 20 49 6e 20 70 61 72 74 69 63   now.  In partic
0240: 75 6c 61 72 2c 20 62 61 63 6b 73 6c 61 73 68 2d  ular, backslash-
0250: 6e 65 77 6c 69 6e 65 0a 6d 61 79 20 62 65 20 75  newline.may be u
0260: 73 65 64 20 74 6f 20 6a 6f 69 6e 20 6c 69 6e 65  sed to join line
0270: 73 20 69 6e 20 63 6f 6d 6d 61 6e 64 20 66 69 6c  s in command fil
0280: 65 73 2e 0a 0a 38 2e 20 4e 65 77 20 6f 72 20 6d  es...8. New or m
0290: 6f 64 69 66 69 65 64 20 62 75 69 6c 74 2d 69 6e  odified built-in
02a0: 20 63 6f 6d 6d 61 6e 64 73 3a 20 20 63 61 73 65   commands:  case
02b0: 2c 20 72 65 74 75 72 6e 2c 20 66 6f 72 2c 20 67  , return, for, g
02c0: 6c 6f 62 2c 20 69 6e 66 6f 2c 0a 70 72 69 6e 74  lob, info,.print
02d0: 2c 20 72 65 74 75 72 6e 2c 20 73 65 74 2c 20 73  , return, set, s
02e0: 6f 75 72 63 65 2c 20 73 74 72 69 6e 67 2c 20 75  ource, string, u
02f0: 70 6c 65 76 65 6c 2e 0a 0a 39 2e 20 41 66 74 65  plevel...9. Afte
0300: 72 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20  r an error, the 
0310: 76 61 72 69 61 62 6c 65 20 22 65 72 72 6f 72 49  variable "errorI
0320: 6e 66 6f 22 20 69 73 20 66 69 6c 6c 65 64 20 77  nfo" is filled w
0330: 69 74 68 20 61 20 73 74 61 63 6b 0a 74 72 61 63  ith a stack.trac
0340: 65 20 73 68 6f 77 69 6e 67 20 77 68 61 74 20 77  e showing what w
0350: 61 73 20 62 65 69 6e 67 20 65 78 65 63 75 74 65  as being execute
0360: 64 20 77 68 65 6e 20 74 68 65 20 65 72 72 6f 72  d when the error
0370: 20 6f 63 63 75 72 72 65 64 2e 0a 0a 31 30 2e 20   occurred...10. 
0380: 43 6f 6d 6d 61 6e 64 20 61 62 62 72 65 76 69 61  Command abbrevia
0390: 74 69 6f 6e 73 20 61 72 65 20 61 63 63 65 70 74  tions are accept
03a0: 65 64 20 77 68 65 6e 20 70 61 72 73 69 6e 67 20  ed when parsing 
03b0: 63 6f 6d 6d 61 6e 64 73 2c 20 62 75 74 0a 61 72  commands, but.ar
03c0: 65 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65  e not recommende
03d0: 64 20 65 78 63 65 70 74 20 66 6f 72 20 70 75 72  d except for pur
03e0: 65 6c 79 2d 69 6e 74 65 72 61 63 74 69 76 65 20  ely-interactive 
03f0: 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 31 2e 20 24  commands...11. $
0400: 2c 20 73 65 74 2c 20 61 6e 64 20 65 78 70 72 20  , set, and expr 
0410: 61 6c 6c 20 63 6f 6d 70 6c 61 69 6e 20 6e 6f 77  all complain now
0420: 20 69 66 20 61 20 6e 6f 6e 2d 65 78 69 73 74 65   if a non-existe
0430: 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 0a 72  nt variable is.r
0440: 65 66 65 72 65 6e 63 65 64 2e 0a 0a 31 32 2e 20  eferenced...12. 
0450: 48 69 73 74 6f 72 79 20 66 61 63 69 6c 69 74 69  History faciliti
0460: 65 73 20 65 78 69 73 74 20 6e 6f 77 2e 20 20 53  es exist now.  S
0470: 65 65 20 54 63 6c 2e 6d 61 6e 20 61 6e 64 20 54  ee Tcl.man and T
0480: 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c  cl_RecordAndEval
0490: 2e 6d 61 6e 2e 0a 0a 31 33 2e 20 43 68 61 6e 67  .man...13. Chang
04a0: 65 64 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73  ed to distinguis
04b0: 68 20 62 65 74 77 65 65 6e 20 65 6d 70 74 79 20  h between empty 
04c0: 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 74 68  variables and th
04d0: 6f 73 65 20 74 68 61 74 20 64 6f 6e 27 74 0a 65  ose that don't.e
04e0: 78 69 73 74 20 61 74 20 61 6c 6c 2e 20 20 49 6e  xist at all.  In
04f0: 74 65 72 66 61 63 65 73 20 74 6f 20 54 63 6c 5f  terfaces to Tcl_
0500: 47 65 74 56 61 72 20 61 6e 64 20 54 63 6c 5f 50  GetVar and Tcl_P
0510: 61 72 73 65 56 61 72 20 68 61 76 65 20 63 68 61  arseVar have cha
0520: 6e 67 65 64 0a 28 4e 55 4c 4c 20 72 65 74 75 72  nged.(NULL retur
0530: 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 77 20 70  n value is now p
0540: 6f 73 73 69 62 6c 65 29 2e 20 20 2a 2a 2a 20 50  ossible).  *** P
0550: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
0560: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 34  TIBILITY ***..14
0570: 2e 20 43 68 61 6e 67 65 64 20 6d 65 61 6e 69 6e  . Changed meanin
0580: 67 20 6f 66 20 22 6c 65 76 65 6c 22 20 61 72 67  g of "level" arg
0590: 75 6d 65 6e 74 20 74 6f 20 22 75 70 6c 65 76 65  ument to "upleve
05a0: 6c 22 20 63 6f 6d 6d 61 6e 64 20 28 31 20 6e 6f  l" command (1 no
05b0: 77 20 6d 65 61 6e 73 0a 22 67 6f 20 75 70 20 6f  w means."go up o
05c0: 6e 65 20 6c 65 76 65 6c 22 2c 20 6e 6f 74 20 22  ne level", not "
05d0: 67 6f 20 74 6f 20 6c 65 76 65 6c 20 31 22 3b 20  go to level 1"; 
05e0: 22 23 31 22 20 6d 65 61 6e 73 20 22 67 6f 20 74  "#1" means "go t
05f0: 6f 20 6c 65 76 65 6c 20 31 22 29 2e 0a 2a 2a 2a  o level 1")..***
0600: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
0610: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
0620: 31 35 2e 20 33 2f 31 39 2f 39 30 20 41 64 64 65  15. 3/19/90 Adde
0630: 64 20 22 69 6e 66 6f 20 65 78 69 73 74 73 22 20  d "info exists" 
0640: 6f 70 74 69 6f 6e 20 74 6f 20 73 65 65 20 69 66  option to see if
0650: 20 76 61 72 69 61 62 6c 65 20 65 78 69 73 74 73   variable exists
0660: 2e 0a 0a 31 36 2e 20 33 2f 31 39 2f 39 30 20 41  ...16. 3/19/90 A
0670: 64 64 65 64 20 22 6e 6f 41 62 62 72 65 76 22 20  dded "noAbbrev" 
0680: 76 61 72 69 61 62 6c 65 20 74 6f 20 70 72 6f 68  variable to proh
0690: 69 62 69 74 20 63 6f 6d 6d 61 6e 64 20 61 62 62  ibit command abb
06a0: 72 65 76 69 61 74 69 6f 6e 73 2e 0a 0a 31 37 2e  reviations...17.
06b0: 20 33 2f 31 39 2f 39 30 20 41 64 64 65 64 20 65   3/19/90 Added e
06c0: 78 74 72 61 20 65 72 72 6f 72 49 6e 66 6f 20 6f  xtra errorInfo o
06d0: 70 74 69 6f 6e 20 74 6f 20 22 65 72 72 6f 72 22  ption to "error"
06e0: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 38 2e 20 33   command...18. 3
06f0: 2f 32 31 2f 39 30 20 44 6f 75 62 6c 65 2d 71 75  /21/90 Double-qu
0700: 6f 74 65 73 20 6e 6f 77 20 6f 6e 6c 79 20 61 66  otes now only af
0710: 66 65 63 74 20 73 70 61 63 65 3a 20 20 63 6f 6d  fect space:  com
0720: 6d 61 6e 64 2c 20 76 61 72 69 61 62 6c 65 2c 0a  mand, variable,.
0730: 61 6e 64 20 62 61 63 6b 73 6c 61 73 68 20 73 75  and backslash su
0740: 62 73 74 69 74 75 74 69 6f 6e 73 20 73 74 69 6c  bstitutions stil
0750: 6c 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 64  l occur inside d
0760: 6f 75 62 6c 65 2d 71 75 6f 74 65 73 2e 0a 2a 2a  ouble-quotes..**
0770: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
0780: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
0790: 0a 31 39 2e 20 33 2f 32 31 2f 39 30 20 41 64 64  .19. 3/21/90 Add
07a0: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 5c  ed support for \
07b0: 72 2e 0a 0a 32 30 2e 20 33 2f 32 31 2f 39 30 20  r...20. 3/21/90 
07c0: 4c 69 73 74 2c 20 63 6f 6e 63 61 74 2c 20 65 76  List, concat, ev
07d0: 61 6c 2c 20 61 6e 64 20 67 6c 6f 62 20 63 6f 6d  al, and glob com
07e0: 6d 61 6e 64 73 20 61 6c 6c 20 65 78 70 65 63 74  mands all expect
07f0: 20 61 74 20 6c 65 61 73 74 0a 6f 6e 65 20 61 72   at least.one ar
0800: 67 75 6d 65 6e 74 20 6e 6f 77 2e 20 20 2a 2a 2a  gument now.  ***
0810: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
0820: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
0830: 32 31 2e 20 33 2f 32 32 2f 39 30 20 41 64 64 65  21. 3/22/90 Adde
0840: 64 20 22 3f 3a 22 20 6f 70 65 72 61 74 6f 72 73  d "?:" operators
0850: 20 74 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 2e   to expressions.
0860: 0a 0a 32 32 2e 20 33 2f 32 35 2f 39 30 20 46 69  ..22. 3/25/90 Fi
0870: 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c 5f 52  xed bug in Tcl_R
0880: 65 73 75 6c 74 20 74 68 61 74 20 63 61 75 73 65  esult that cause
0890: 64 20 6d 65 6d 6f 72 79 20 74 6f 20 67 65 74 20  d memory to get 
08a0: 74 72 61 73 68 65 64 2e 0a 0a 2d 2d 2d 2d 2d 2d  trashed...------
08b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
08c0: 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 33  leased version 3
08d0: 2e 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .1 -------------
08e0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 33 2e 20 33 2f  --------..23. 3/
08f0: 32 39 2f 39 30 20 46 69 78 65 64 20 62 75 67 20  29/90 Fixed bug 
0900: 74 68 61 74 20 63 61 75 73 65 64 20 22 66 69 6c  that caused "fil
0910: 65 20 61 2e 62 2f 63 20 65 78 74 22 20 74 6f 20  e a.b/c ext" to 
0920: 72 65 74 75 72 6e 20 22 2e 62 2f 63 22 2e 0a 0a  return ".b/c"...
0930: 32 34 2e 20 33 2f 32 39 2f 39 30 20 53 65 6d 69  24. 3/29/90 Semi
0940: 2d 63 6f 6c 6f 6e 20 69 73 20 6e 6f 74 20 74 72  -colon is not tr
0950: 65 61 74 65 64 20 73 70 65 63 69 61 6c 6c 79 20  eated specially 
0960: 77 68 65 6e 20 65 6e 63 6c 6f 73 65 64 20 69 6e  when enclosed in
0970: 0a 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73 2e 0a  .double-quotes..
0980: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
0990: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
09a0: 72 73 69 6f 6e 20 33 2e 32 20 2d 2d 2d 2d 2d 2d  rsion 3.2 ------
09b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
09c0: 0a 32 35 2e 20 34 2f 31 36 2f 39 30 20 52 65 77  .25. 4/16/90 Rew
09d0: 72 6f 74 65 20 22 65 78 65 63 22 20 6e 6f 74 20  rote "exec" not 
09e0: 74 6f 20 75 73 65 20 73 65 6c 65 63 74 20 6f 72  to use select or
09f0: 20 73 69 67 6e 61 6c 73 20 61 6e 79 6d 6f 72 65   signals anymore
0a00: 2e 0a 53 68 6f 75 6c 64 20 62 65 20 6d 6f 72 65  ..Should be more
0a10: 20 53 79 73 2d 56 20 63 6f 6d 70 61 74 69 62 6c   Sys-V compatibl
0a20: 65 2c 20 61 6e 64 20 6e 6f 20 73 6c 6f 77 65 72  e, and no slower
0a30: 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61 6c 20 63   in the normal c
0a40: 61 73 65 2e 0a 0a 32 36 2e 20 34 2f 31 38 2f 39  ase...26. 4/18/9
0a50: 30 20 52 65 77 72 6f 74 65 20 22 67 6c 6f 62 22  0 Rewrote "glob"
0a60: 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 47 4e   to eliminate GN
0a70: 55 20 63 6f 64 65 20 28 74 68 65 72 65 27 73 20  U code (there's 
0a80: 6e 6f 20 47 4e 55 20 63 6f 64 65 0a 6c 65 66 74  no GNU code.left
0a90: 20 69 6e 20 54 63 6c 2c 20 6e 6f 77 29 2c 20 61   in Tcl, now), a
0aa0: 6e 64 20 61 64 64 65 64 20 54 63 6c 5f 54 69 6c  nd added Tcl_Til
0ab0: 64 65 53 75 62 73 74 20 70 72 6f 63 65 64 75 72  deSubst procedur
0ac0: 65 2e 20 20 41 64 64 65 64 20 61 75 74 6f 6d 61  e.  Added automa
0ad0: 74 69 63 0a 74 69 6c 64 65 2d 73 75 62 73 74 69  tic.tilde-substi
0ae0: 74 75 74 69 6f 6e 20 69 6e 20 6d 61 6e 79 20 63  tution in many c
0af0: 6f 6d 6d 61 6e 64 73 2c 20 69 6e 63 6c 75 64 69  ommands, includi
0b00: 6e 67 20 22 67 6c 6f 62 22 2e 0a 0a 2d 2d 2d 2d  ng "glob"...----
0b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
0b20: 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e  Released version
0b30: 20 33 2e 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   3.3 -----------
0b40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 37 2e 20  ----------..27. 
0b50: 37 2f 31 31 2f 39 30 20 41 64 64 65 64 20 22 54  7/11/90 Added "T
0b60: 63 6c 5f 41 70 70 65 6e 64 52 65 73 75 6c 74 22  cl_AppendResult"
0b70: 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a 32 38 2e   procedure...28.
0b80: 20 37 2f 32 30 2f 39 30 20 22 48 69 73 74 6f 72   7/20/90 "Histor
0b90: 79 22 20 77 69 74 68 20 6e 6f 20 6f 70 74 69 6f  y" with no optio
0ba0: 6e 73 20 6e 6f 77 20 64 65 66 61 75 6c 74 73 20  ns now defaults 
0bb0: 74 6f 20 22 68 69 73 74 6f 72 79 20 69 6e 66 6f  to "history info
0bc0: 22 0a 72 61 74 68 65 72 20 74 68 61 6e 20 74 6f  ".rather than to
0bd0: 20 22 68 69 73 74 6f 72 79 20 72 65 64 6f 22 2e   "history redo".
0be0: 20 20 41 6c 74 68 6f 75 67 68 20 74 68 69 73 20    Although this 
0bf0: 69 73 20 61 20 62 61 63 6b 77 61 72 64 20 69 6e  is a backward in
0c00: 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 0a 69  compatibility,.i
0c10: 74 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65  t should only be
0c20: 20 75 73 65 64 20 69 6e 74 65 72 61 63 74 69 76   used interactiv
0c30: 65 6c 79 20 61 6e 64 20 74 68 75 73 20 73 68 6f  ely and thus sho
0c40: 75 6c 64 6e 27 74 20 70 72 65 73 65 6e 74 20 61  uldn't present a
0c50: 6e 79 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79  ny.compatibility
0c60: 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 73   problems with s
0c70: 63 72 69 70 74 73 2e 0a 0a 32 39 2e 20 37 2f 32  cripts...29. 7/2
0c80: 30 2f 39 30 20 41 64 64 65 64 20 22 54 63 6c 5f  0/90 Added "Tcl_
0c90: 47 65 74 49 6e 74 65 67 65 72 22 2c 20 22 54 63  GetInteger", "Tc
0ca0: 6c 5f 47 65 74 44 6f 75 62 6c 65 22 2c 20 61 6e  l_GetDouble", an
0cb0: 64 20 22 54 63 6c 5f 47 65 74 42 6f 6f 6c 65 61  d "Tcl_GetBoolea
0cc0: 6e 22 0a 70 72 6f 63 65 64 75 72 65 73 2e 0a 0a  n".procedures...
0cd0: 33 30 2e 20 37 2f 32 32 2f 39 30 20 52 65 6d 6f  30. 7/22/90 Remo
0ce0: 76 65 64 20 22 54 63 6c 5f 57 61 74 63 68 49 6e  ved "Tcl_WatchIn
0cf0: 74 65 72 70 22 20 70 72 6f 63 65 64 75 72 65 3a  terp" procedure:
0d00: 20 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74    doesn't seem t
0d10: 6f 20 62 65 0a 6e 65 63 65 73 73 61 72 79 2c 20  o be.necessary, 
0d20: 73 69 6e 63 65 20 74 68 65 20 73 61 6d 65 20 65  since the same e
0d30: 66 66 65 63 74 20 63 61 6e 20 62 65 20 61 63 68  ffect can be ach
0d40: 69 65 76 65 64 20 77 69 74 68 20 74 68 65 20 64  ieved with the d
0d50: 65 6c 65 74 69 6f 6e 0a 63 61 6c 6c 62 61 63 6b  eletion.callback
0d60: 73 20 6f 6e 20 69 6e 64 69 76 69 64 75 61 6c 20  s on individual 
0d70: 63 6f 6d 6d 61 6e 64 73 2e 20 20 2a 2a 2a 20 50  commands.  *** P
0d80: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
0d90: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 33 31  TIBILITY ***..31
0da0: 2e 20 37 2f 32 33 2f 39 30 20 41 64 64 65 64 20  . 7/23/90 Added 
0db0: 76 61 72 69 61 62 6c 65 20 74 72 61 63 69 6e 67  variable tracing
0dc0: 3a 20 20 54 63 6c 5f 54 72 61 63 65 56 61 72 2c  :  Tcl_TraceVar,
0dd0: 20 54 63 6c 5f 55 6e 54 72 61 63 65 56 61 72 2c   Tcl_UnTraceVar,
0de0: 0a 61 6e 64 20 54 63 6c 5f 56 61 72 54 72 61 63  .and Tcl_VarTrac
0df0: 65 49 6e 66 6f 20 70 72 6f 63 65 64 75 72 65 73  eInfo procedures
0e00: 2c 20 22 74 72 61 63 65 22 20 63 6f 6d 6d 61 6e  , "trace" comman
0e10: 64 2e 0a 0a 33 32 2e 20 38 2f 39 2f 39 30 20 4d  d...32. 8/9/90 M
0e20: 61 69 6c 65 64 20 6f 75 74 20 6c 69 73 74 20 6f  ailed out list o
0e30: 66 20 61 6c 6c 20 62 75 67 20 66 69 78 65 73 20  f all bug fixes 
0e40: 73 69 6e 63 65 20 33 2e 33 20 72 65 6c 65 61 73  since 3.3 releas
0e50: 65 2e 0a 0a 33 33 2e 20 38 2f 32 39 2f 39 30 20  e...33. 8/29/90 
0e60: 46 69 78 65 64 20 62 75 67 73 20 69 6e 20 54 63  Fixed bugs in Tc
0e70: 6c 5f 4d 65 72 67 65 20 72 65 6c 61 74 69 6e 67  l_Merge relating
0e80: 20 74 6f 20 62 61 63 6b 73 6c 61 73 68 65 73 20   to backslashes 
0e90: 61 6e 64 0a 73 65 6d 69 2d 63 6f 6c 6f 6e 73 2e  and.semi-colons.
0ea0: 20 20 4d 61 69 6c 65 64 20 6f 75 74 20 70 61 74    Mailed out pat
0eb0: 63 68 2e 0a 0a 33 34 2e 20 39 2f 33 2f 39 30 20  ch...34. 9/3/90 
0ec0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 74 63 6c  Fixed bug in tcl
0ed0: 42 61 73 69 63 2e 63 3a 20 71 75 6f 74 65 73 20  Basic.c: quotes 
0ee0: 77 65 72 65 6e 27 74 20 71 75 6f 74 69 6e 67 20  weren't quoting 
0ef0: 5d 27 73 2e 0a 4d 61 69 6c 65 64 20 6f 75 74 20  ]'s..Mailed out 
0f00: 70 61 74 63 68 2e 0a 0a 33 35 2e 20 39 2f 31 39  patch...35. 9/19
0f10: 2f 39 30 20 52 65 77 72 6f 74 65 20 65 78 65 63  /90 Rewrote exec
0f20: 20 74 6f 20 61 6c 77 61 79 73 20 75 73 65 20 66   to always use f
0f30: 69 6c 65 73 20 62 6f 74 68 20 66 6f 72 20 69 6e  iles both for in
0f40: 70 75 74 20 61 6e 64 0a 6f 75 74 70 75 74 20 74  put and.output t
0f50: 6f 20 74 68 65 20 70 72 6f 63 65 73 73 2e 20 20  o the process.  
0f60: 54 68 65 20 6f 6c 64 20 70 69 70 65 2d 62 61 73  The old pipe-bas
0f70: 65 64 20 76 65 72 73 69 6f 6e 20 64 69 64 6e 27  ed version didn'
0f80: 74 20 77 6f 72 6b 20 69 66 0a 74 68 65 20 65 78  t work if.the ex
0f90: 65 63 27 65 64 20 70 72 6f 63 65 73 73 20 66 6f  ec'ed process fo
0fa0: 72 6b 65 64 20 61 20 63 68 69 6c 64 20 61 6e 64  rked a child and
0fb0: 20 74 68 65 6e 20 65 78 69 74 65 64 3a 20 20 54   then exited:  T
0fc0: 63 6c 20 77 61 69 74 65 64 0a 61 72 6f 75 6e 64  cl waited.around
0fd0: 20 66 6f 72 20 73 74 64 6f 75 74 20 74 6f 20 67   for stdout to g
0fe0: 65 74 20 63 6c 6f 73 65 64 2c 20 77 68 69 63 68  et closed, which
0ff0: 20 64 69 64 6e 27 74 20 68 61 70 70 65 6e 20 75   didn't happen u
1000: 6e 74 69 6c 20 74 68 65 0a 67 72 61 6e 64 63 68  ntil the.grandch
1010: 69 6c 64 20 65 78 69 74 65 64 2e 0a 0a 33 36 2e  ild exited...36.
1020: 20 31 31 2f 35 2f 39 30 20 45 52 52 5f 49 4e 5f   11/5/90 ERR_IN_
1030: 50 52 4f 47 52 45 53 53 20 66 6c 61 67 20 77 61  PROGRESS flag wa
1040: 73 6e 27 74 20 62 65 69 6e 67 20 63 6c 65 61 72  sn't being clear
1050: 65 64 20 73 6f 6f 6e 20 65 6e 6f 75 67 68 0a 69  ed soon enough.i
1060: 6e 20 54 63 6c 5f 45 76 61 6c 2c 20 61 6c 6c 6f  n Tcl_Eval, allo
1070: 77 69 6e 67 20 65 72 72 6f 72 20 6d 65 73 73 61  wing error messa
1080: 67 65 73 20 66 72 6f 6d 20 64 69 66 66 65 72 65  ges from differe
1090: 6e 74 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 0a 70  nt commands to.p
10a0: 69 6c 65 20 75 70 20 69 6e 20 24 65 72 72 6f 72  ile up in $error
10b0: 49 6e 66 6f 2e 20 20 46 69 78 65 64 20 62 79 20  Info.  Fixed by 
10c0: 72 65 2d 61 72 72 61 6e 67 69 6e 67 20 63 6f 64  re-arranging cod
10d0: 65 20 69 6e 20 54 63 6c 5f 45 76 61 6c 20 74 68  e in Tcl_Eval th
10e0: 61 74 0a 72 65 2d 69 6e 69 74 69 61 6c 69 7a 65  at.re-initialize
10f0: 73 20 72 65 73 75 6c 74 20 61 6e 64 20 45 52 52  s result and ERR
1100: 5f 49 4e 5f 50 52 4f 47 52 45 53 53 20 66 6c 61  _IN_PROGRESS fla
1110: 67 2e 20 20 44 69 64 6e 27 74 20 6d 61 69 6c 20  g.  Didn't mail 
1120: 6f 75 74 0a 70 61 74 63 68 3a 20 20 63 68 61 6e  out.patch:  chan
1130: 67 65 73 20 74 6f 6f 20 63 6f 6d 70 6c 69 63 61  ges too complica
1140: 74 65 64 20 74 6f 20 64 65 73 63 72 69 62 65 2e  ted to describe.
1150: 0a 0a 33 37 2e 20 31 32 2f 31 39 2f 39 30 20 41  ..37. 12/19/90 A
1160: 64 64 65 64 20 54 63 6c 5f 56 61 72 45 76 61 6c  dded Tcl_VarEval
1170: 20 70 72 6f 63 65 64 75 72 65 20 61 73 20 61 20   procedure as a 
1180: 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66 6f 72 0a  convenience for.
1190: 61 73 73 65 6d 62 6c 69 6e 67 20 61 6e 64 20 65  assembling and e
11a0: 78 65 63 75 74 69 6e 67 20 54 63 6c 20 63 6f 6d  xecuting Tcl com
11b0: 6d 61 6e 64 73 2e 0a 0a 33 38 2e 20 31 2f 32 39  mands...38. 1/29
11c0: 2f 39 31 20 46 69 78 65 64 20 63 6f 72 65 20 6c  /91 Fixed core l
11d0: 65 61 6b 20 69 6e 20 54 63 6c 5f 41 64 64 45 72  eak in Tcl_AddEr
11e0: 72 6f 72 49 6e 66 6f 2e 20 20 41 6c 73 6f 20 63  rorInfo.  Also c
11f0: 68 61 6e 67 65 64 20 70 72 6f 63 65 64 75 72 65  hanged procedure
1200: 0a 61 6e 64 20 54 63 6c 5f 45 76 61 6c 20 73 6f  .and Tcl_Eval so
1210: 20 74 68 61 74 20 66 69 72 73 74 20 63 61 6c 6c   that first call
1220: 20 74 6f 20 54 63 6c 5f 41 64 64 45 72 72 6f 72   to Tcl_AddError
1230: 49 6e 66 6f 20 6e 65 65 64 20 6e 6f 74 20 63 6f  Info need not co
1240: 6d 65 20 66 72 6f 6d 0a 54 63 6c 5f 45 76 61 6c  me from.Tcl_Eval
1250: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
1260: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
1270: 72 73 69 6f 6e 20 35 2e 30 20 77 69 74 68 20 54  rsion 5.0 with T
1280: 6b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  k --------------
1290: 2d 2d 2d 2d 0a 0a 33 39 2e 20 34 2f 33 2f 39 31  ----..39. 4/3/91
12a0: 20 52 65 6d 6f 76 65 64 20 63 68 61 6e 67 65 20   Removed change 
12b0: 62 61 72 73 20 66 72 6f 6d 20 6d 61 6e 75 61 6c  bars from manual
12c0: 20 65 6e 74 72 69 65 73 2c 20 6c 65 61 76 69 6e   entries, leavin
12d0: 67 20 6f 6e 6c 79 20 74 68 6f 73 65 0a 74 68 61  g only those.tha
12e0: 74 20 63 61 6d 65 20 61 66 74 65 72 20 76 65 72  t came after ver
12f0: 73 69 6f 6e 20 33 2e 33 20 77 61 73 20 72 65 6c  sion 3.3 was rel
1300: 65 61 73 65 64 2e 0a 0a 34 30 2e 20 35 2f 31 37  eased...40. 5/17
1310: 2f 39 31 20 43 68 61 6e 67 65 64 20 74 65 73 74  /91 Changed test
1320: 73 20 74 6f 20 63 6f 6e 66 6f 72 6d 20 74 6f 20  s to conform to 
1330: 4d 61 72 79 20 41 6e 6e 20 4d 61 79 2d 50 75 6d  Mary Ann May-Pum
1340: 70 68 72 65 79 27 73 20 61 70 70 72 6f 61 63 68  phrey's approach
1350: 2e 0a 20 0a 34 31 2e 20 35 2f 32 33 2f 39 31 20  .. .41. 5/23/91 
1360: 4d 61 73 73 69 76 65 20 72 65 76 69 73 69 6f 6e  Massive revision
1370: 20 74 6f 20 54 63 6c 20 70 61 72 73 65 72 20 74   to Tcl parser t
1380: 6f 20 73 69 6d 70 6c 69 66 79 20 74 68 65 20 69  o simplify the i
1390: 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 6f 66  mplementation.of
13a0: 20 73 74 72 69 6e 67 20 61 6e 64 20 66 6c 6f 61   string and floa
13b0: 74 69 6e 67 2d 70 6f 69 6e 74 20 73 75 70 70 6f  ting-point suppo
13c0: 72 74 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e  rt in expression
13d0: 73 2e 20 20 4e 65 77 6c 69 6e 65 73 20 69 6e 73  s.  Newlines ins
13e0: 69 64 65 0a 5b 5d 20 61 72 65 20 6e 6f 77 20 74  ide.[] are now t
13f0: 72 65 61 74 65 64 20 61 73 20 63 6f 6d 6d 61 6e  reated as comman
1400: 64 20 73 65 70 61 72 61 74 6f 72 73 20 72 61 74  d separators rat
1410: 68 65 72 20 74 68 61 6e 20 77 6f 72 64 20 73 65  her than word se
1420: 70 61 72 61 74 6f 72 73 0a 28 74 68 69 73 20 6d  parators.(this m
1430: 61 6b 65 73 20 6e 65 77 6c 69 6e 65 20 74 72 65  akes newline tre
1440: 61 74 6d 65 6e 74 20 63 6f 6e 73 69 73 74 65 6e  atment consisten
1450: 74 20 74 68 72 6f 75 67 68 6f 75 74 20 54 63 6c  t throughout Tcl
1460: 29 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  )..*** POTENTIAL
1470: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
1480: 20 2a 2a 2a 0a 0a 34 32 2e 20 35 2f 32 33 2f 39   ***..42. 5/23/9
1490: 31 20 4d 61 73 73 69 76 65 20 72 65 77 72 69 74  1 Massive rewrit
14a0: 65 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 20  e of expression 
14b0: 63 6f 64 65 20 74 6f 20 73 75 70 70 6f 72 74 20  code to support 
14c0: 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 0a 76  floating-point.v
14d0: 61 6c 75 65 73 20 61 6e 64 20 73 69 6d 70 6c 65  alues and simple
14e0: 20 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 69 73   string comparis
14f0: 6f 6e 73 2e 20 20 54 68 65 20 43 20 69 6e 74 65  ons.  The C inte
1500: 72 66 61 63 65 73 20 74 6f 20 65 78 70 72 65 73  rfaces to expres
1510: 73 69 6f 6e 0a 72 6f 75 74 69 6e 65 73 20 68 61  sion.routines ha
1520: 76 65 20 63 68 61 6e 67 65 64 20 28 54 63 6c 5f  ve changed (Tcl_
1530: 45 78 70 72 20 69 73 20 72 65 70 6c 61 63 65 64  Expr is replaced
1540: 20 62 79 20 54 63 6c 5f 45 78 70 72 4c 6f 6e 67   by Tcl_ExprLong
1550: 2c 20 54 63 6c 5f 45 78 70 72 44 6f 75 62 6c 65  , Tcl_ExprDouble
1560: 2c 0a 65 74 63 2e 29 2c 20 62 75 74 20 61 6c 6c  ,.etc.), but all
1570: 20 6f 6c 64 20 54 63 6c 20 65 78 70 72 65 73 73   old Tcl express
1580: 69 6f 6e 20 73 74 72 69 6e 67 73 20 73 68 6f 75  ion strings shou
1590: 6c 64 20 62 65 20 61 63 63 65 70 74 65 64 20 62  ld be accepted b
15a0: 79 20 74 68 65 20 6e 65 77 0a 65 78 70 72 65 73  y the new.expres
15b0: 73 69 6f 6e 20 63 6f 64 65 2e 0a 2a 2a 2a 20 50  sion code..*** P
15c0: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
15d0: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34 33  TIBILITY ***..43
15e0: 2e 20 35 2f 32 33 2f 39 31 20 4d 6f 64 69 66 69  . 5/23/91 Modifi
15f0: 65 64 20 74 63 6c 48 69 73 74 6f 72 79 2e 63 20  ed tclHistory.c 
1600: 74 6f 20 63 68 65 63 6b 20 66 6f 72 20 6e 65 67  to check for neg
1610: 61 74 69 76 65 20 22 6b 65 65 70 22 20 76 61 6c  ative "keep" val
1620: 75 65 2e 0a 0a 34 34 2e 20 35 2f 32 33 2f 39 31  ue...44. 5/23/91
1630: 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f 42 61   Modified Tcl_Ba
1640: 63 6b 73 6c 61 73 68 20 74 6f 20 68 61 6e 64 6c  ckslash to handl
1650: 65 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c  e backslash-newl
1660: 69 6e 65 2e 20 20 49 74 20 6e 6f 77 0a 72 65 74  ine.  It now.ret
1670: 75 72 6e 73 20 30 20 74 6f 20 69 6e 64 69 63 61  urns 0 to indica
1680: 74 65 20 74 68 61 74 20 61 20 62 61 63 6b 73 6c  te that a backsl
1690: 61 73 68 20 73 65 71 75 65 6e 63 65 20 73 68 6f  ash sequence sho
16a0: 75 6c 64 20 62 65 20 72 65 70 6c 61 63 65 64 20  uld be replaced 
16b0: 62 79 0a 6e 6f 20 63 68 61 72 61 63 74 65 72 20  by.no character 
16c0: 61 74 20 61 6c 6c 2e 0a 2a 2a 2a 20 50 4f 54 45  at all..*** POTE
16d0: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
16e0: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34 35 2e 20 35  ILITY ***..45. 5
16f0: 2f 32 39 2f 39 31 20 4d 6f 64 69 66 69 65 64 20  /29/91 Modified 
1700: 74 6f 20 75 73 65 20 41 4e 53 49 20 43 20 66 75  to use ANSI C fu
1710: 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65  nction prototype
1720: 73 2e 20 20 4d 75 73 74 20 73 65 74 0a 22 55 53  s.  Must set."US
1730: 45 5f 41 4e 53 49 22 20 73 77 69 74 63 68 20 77  E_ANSI" switch w
1740: 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 6f  hen compiling to
1750: 20 67 65 74 20 70 72 6f 74 6f 74 79 70 65 73 2e   get prototypes.
1760: 0a 0a 34 36 2e 20 35 2f 32 39 2f 39 31 20 43 6f  ..46. 5/29/91 Co
1770: 6d 70 6c 65 74 65 64 20 74 65 73 74 20 73 75 69  mpleted test sui
1780: 74 65 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20  te by providing 
1790: 74 65 73 74 73 20 66 6f 72 20 61 6c 6c 20 6f 66  tests for all of
17a0: 20 74 68 65 0a 62 75 69 6c 74 2d 69 6e 20 54 63   the.built-in Tc
17b0: 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 34 37 2e  l commands...47.
17c0: 20 35 2f 32 39 2f 39 31 20 43 68 61 6e 67 65 64   5/29/91 Changed
17d0: 20 54 63 6c 5f 43 6f 6e 63 61 74 20 74 6f 20 65   Tcl_Concat to e
17e0: 6c 69 6d 69 6e 61 74 65 20 6c 65 61 64 69 6e 67  liminate leading
17f0: 20 61 6e 64 20 74 72 61 69 6c 69 6e 67 0a 77 68   and trailing.wh
1800: 69 74 65 2d 73 70 61 63 65 20 69 6e 20 65 61 63  ite-space in eac
1810: 68 20 6f 66 20 74 68 65 20 74 68 69 6e 67 73 20  h of the things 
1820: 69 74 20 63 6f 6e 63 61 74 65 6e 61 74 65 73 20  it concatenates 
1830: 61 6e 64 20 74 6f 20 69 67 6e 6f 72 65 0a 65 6c  and to ignore.el
1840: 65 6d 65 6e 74 73 20 74 68 61 74 20 61 72 65 20  ements that are 
1850: 65 6d 70 74 79 20 6f 72 20 68 61 76 65 20 6f 6e  empty or have on
1860: 6c 79 20 77 68 69 74 65 20 73 70 61 63 65 20 69  ly white space i
1870: 6e 20 74 68 65 6d 2e 20 20 54 68 69 73 0a 70 72  n them.  This.pr
1880: 6f 64 75 63 65 73 20 63 6c 65 61 6e 65 72 20 6f  oduces cleaner o
1890: 75 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 22  utput from the "
18a0: 63 6f 6e 63 61 74 22 20 63 6f 6d 6d 61 6e 64 2e  concat" command.
18b0: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
18c0: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
18d0: 2a 2a 0a 0a 34 38 2e 20 35 2f 33 31 2f 39 31 20  **..48. 5/31/91 
18e0: 43 68 61 6e 67 65 64 20 22 73 65 74 22 20 63 6f  Changed "set" co
18f0: 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f 53 65  mmand and Tcl_Se
1900: 74 56 61 72 20 70 72 6f 63 65 64 75 72 65 20 74  tVar procedure t
1910: 6f 20 72 65 74 75 72 6e 0a 6e 65 77 20 76 61 6c  o return.new val
1920: 75 65 20 6f 66 20 76 61 72 69 61 62 6c 65 2e 0a  ue of variable..
1930: 0a 34 39 2e 20 36 2f 31 2f 39 31 20 41 64 64 65  .49. 6/1/91 Adde
1940: 64 20 22 77 68 69 6c 65 22 20 61 6e 64 20 22 63  d "while" and "c
1950: 64 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 35 30  d" commands...50
1960: 2e 20 36 2f 31 2f 39 31 20 43 68 61 6e 67 65 64  . 6/1/91 Changed
1970: 20 22 65 78 65 63 22 20 74 6f 20 64 65 6c 65 74   "exec" to delet
1980: 65 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61  e the last chara
1990: 63 74 65 72 20 6f 66 20 70 72 6f 67 72 61 6d 0a  cter of program.
19a0: 6f 75 74 70 75 74 20 69 66 20 69 74 20 69 73 20  output if it is 
19b0: 61 20 6e 65 77 6c 69 6e 65 2e 20 20 49 6e 20 6d  a newline.  In m
19c0: 6f 73 74 20 63 61 73 65 73 20 74 68 69 73 20 6d  ost cases this m
19d0: 61 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74  akes it easier t
19e0: 6f 0a 70 72 6f 63 65 73 73 20 70 72 6f 67 72 61  o.process progra
19f0: 6d 2d 67 65 6e 65 72 61 74 65 64 20 6f 75 74 70  m-generated outp
1a00: 75 74 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  ut..*** POTENTIA
1a10: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
1a20: 59 20 2a 2a 2a 0a 0a 35 31 2e 20 36 2f 31 2f 39  Y ***..51. 6/1/9
1a30: 31 20 4d 61 64 65 20 73 75 72 65 20 74 68 61 74  1 Made sure that
1a40: 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 6e 65   pointers are ne
1a50: 76 65 72 20 75 73 65 64 20 61 66 74 65 72 20 66  ver used after f
1a60: 72 65 65 69 6e 67 20 74 68 65 6d 2e 0a 0a 35 32  reeing them...52
1a70: 2e 20 36 2f 31 2f 39 31 20 46 69 78 65 64 20 62  . 6/1/91 Fixed b
1a80: 75 67 20 69 6e 20 54 63 6c 57 6f 72 64 45 6e 64  ug in TclWordEnd
1a90: 20 77 68 65 72 65 20 69 74 20 77 61 73 6e 27 74   where it wasn't
1aa0: 20 64 65 61 6c 69 6e 67 20 77 69 74 68 0a 5b 5d   dealing with.[]
1ab0: 20 69 6e 73 69 64 65 20 71 75 6f 74 65 73 20 63   inside quotes c
1ac0: 6f 72 72 65 63 74 6c 79 2e 0a 0a 35 33 2e 20 36  orrectly...53. 6
1ad0: 2f 38 2f 39 31 20 46 69 78 65 64 20 65 78 65 63  /8/91 Fixed exec
1ae0: 2e 74 65 73 74 20 74 6f 20 61 63 63 65 70 74 20  .test to accept 
1af0: 72 65 74 75 72 6e 20 76 61 6c 75 65 73 20 6f 66  return values of
1b00: 20 65 69 74 68 65 72 20 31 20 6f 72 0a 32 35 35   either 1 or.255
1b10: 20 66 72 6f 6d 20 22 66 61 6c 73 65 22 20 63 6f   from "false" co
1b20: 6d 6d 61 6e 64 2e 0a 0a 35 34 2e 20 37 2f 36 2f  mmand...54. 7/6/
1b30: 39 31 20 4d 61 73 73 69 76 65 20 6f 76 65 72 68  91 Massive overh
1b40: 61 75 6c 20 6f 66 20 76 61 72 69 61 62 6c 65 20  aul of variable 
1b50: 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 20 41 73 73  management.  Ass
1b60: 6f 63 69 61 74 69 76 65 0a 61 72 72 61 79 73 20  ociative.arrays 
1b70: 6e 6f 77 20 61 76 61 69 6c 61 62 6c 65 2c 20 61  now available, a
1b80: 6c 6f 6e 67 20 77 69 74 68 20 22 75 6e 73 65 74  long with "unset
1b90: 22 20 63 6f 6d 6d 61 6e 64 20 28 61 6e 64 20 54  " command (and T
1ba0: 63 6c 5f 55 6e 73 65 74 56 61 72 0a 70 72 6f 63  cl_UnsetVar.proc
1bb0: 65 64 75 72 65 29 2e 20 20 56 61 72 69 61 62 6c  edure).  Variabl
1bc0: 65 20 74 72 61 63 65 73 20 68 61 76 65 20 62 65  e traces have be
1bd0: 65 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65  en completely re
1be0: 77 6f 72 6b 65 64 3a 0a 69 6e 74 65 72 66 61 63  worked:.interfac
1bf0: 65 73 20 64 69 66 66 65 72 65 6e 74 20 62 6f 74  es different bot
1c00: 68 20 66 72 6f 6d 20 54 63 6c 20 61 6e 64 20 43  h from Tcl and C
1c10: 2c 20 61 6e 64 20 6d 75 6c 74 69 70 6c 65 20 74  , and multiple t
1c20: 72 61 63 65 73 20 6d 61 79 0a 65 78 69 73 74 20  races may.exist 
1c30: 6f 6e 20 73 61 6d 65 20 76 61 72 69 61 62 6c 65  on same variable
1c40: 2e 20 20 43 61 6e 20 6e 6f 20 6c 6f 6e 67 65 72  .  Can no longer
1c50: 20 72 65 64 65 66 69 6e 65 20 65 78 69 73 74 69   redefine existi
1c60: 6e 67 20 6c 6f 63 61 6c 0a 76 61 72 69 61 62 6c  ng local.variabl
1c70: 65 20 74 6f 20 62 65 20 67 6c 6f 62 61 6c 2e 20  e to be global. 
1c80: 20 43 61 6c 6c 69 6e 67 20 73 65 71 75 65 6e 63   Calling sequenc
1c90: 65 73 20 68 61 76 65 20 63 68 61 6e 67 65 64 20  es have changed 
1ca0: 73 6c 69 67 68 74 6c 79 0a 66 6f 72 20 54 63 6c  slightly.for Tcl
1cb0: 5f 47 65 74 56 61 72 20 61 6e 64 20 54 63 6c 5f  _GetVar and Tcl_
1cc0: 53 65 74 56 61 72 20 28 22 67 6c 6f 62 61 6c 22  SetVar ("global"
1cd0: 20 69 73 20 6e 6f 77 20 22 66 6c 61 67 73 22 29   is now "flags")
1ce0: 2e 20 54 63 6c 5f 53 65 74 56 61 72 0a 63 61 6e  . Tcl_SetVar.can
1cf0: 20 66 61 69 6c 20 61 6e 64 20 72 65 74 75 72 6e   fail and return
1d00: 20 61 20 4e 55 4c 4c 20 72 65 73 75 6c 74 2e 20   a NULL result. 
1d10: 20 4e 65 77 20 66 6f 72 6d 73 20 6f 66 20 76 61   New forms of va
1d20: 72 69 61 62 6c 65 2d 6d 61 6e 69 70 75 6c 61 74  riable-manipulat
1d30: 69 6f 6e 0a 70 72 6f 63 65 64 75 72 65 73 3a 20  ion.procedures: 
1d40: 20 54 63 6c 5f 47 65 74 56 61 72 32 2c 20 54 63   Tcl_GetVar2, Tc
1d50: 6c 5f 53 65 74 56 61 72 32 2c 20 65 74 63 2e 20  l_SetVar2, etc. 
1d60: 20 53 79 6e 74 61 78 20 6f 66 20 76 61 72 69 61   Syntax of varia
1d70: 62 6c 65 0a 24 2d 6e 6f 74 61 74 69 6f 6e 20 63  ble.$-notation c
1d80: 68 61 6e 67 65 64 20 74 6f 20 73 75 70 70 6f 72  hanged to suppor
1d90: 74 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67  t array indexing
1da0: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
1db0: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
1dc0: 2a 2a 2a 0a 0a 35 35 2e 20 37 2f 36 2f 39 31 20  ***..55. 7/6/91 
1dd0: 41 64 64 65 64 20 6e 65 77 20 6c 69 73 74 2d 6d  Added new list-m
1de0: 61 6e 69 70 75 6c 61 74 69 6f 6e 20 70 72 6f 63  anipulation proc
1df0: 65 64 75 72 65 73 3a 20 20 54 63 6c 5f 53 63 61  edures:  Tcl_Sca
1e00: 6e 45 6c 65 6d 65 6e 74 2c 0a 54 63 6c 5f 43 6f  nElement,.Tcl_Co
1e10: 6e 76 65 72 74 45 6c 65 6d 65 6e 74 2c 20 54 63  nvertElement, Tc
1e20: 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65 6e 74 2e  l_AppendElement.
1e30: 0a 0a 35 36 2e 20 37 2f 31 32 2f 39 31 20 43 72  ..56. 7/12/91 Cr
1e40: 65 61 74 65 64 20 6e 65 77 20 70 72 6f 63 65 64  eated new proced
1e50: 75 72 65 20 54 63 6c 5f 45 76 61 6c 46 69 6c 65  ure Tcl_EvalFile
1e60: 2c 20 77 68 69 63 68 20 64 6f 65 73 20 6d 6f 73  , which does mos
1e70: 74 20 6f 66 20 74 68 65 0a 77 6f 72 6b 20 6f 66  t of the.work of
1e80: 20 74 68 65 20 22 73 6f 75 72 63 65 22 20 63 6f   the "source" co
1e90: 6d 6d 61 6e 64 2e 0a 0a 35 37 2e 20 37 2f 32 30  mmand...57. 7/20
1ea0: 2f 39 31 20 4d 61 6a 6f 72 20 72 65 77 6f 72 6b  /91 Major rework
1eb0: 69 6e 67 20 6f 66 20 22 65 78 65 63 22 20 63 6f  ing of "exec" co
1ec0: 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77 20 70  mmand to allow p
1ed0: 69 70 65 6c 69 6e 65 73 2c 0a 6d 6f 72 65 20 72  ipelines,.more r
1ee0: 65 64 69 72 65 63 74 69 6f 6e 2c 20 62 61 63 6b  edirection, back
1ef0: 67 72 6f 75 6e 64 2e 20 20 41 64 64 65 64 20 6e  ground.  Added n
1f00: 65 77 20 70 72 6f 63 65 64 75 72 65 73 20 54 63  ew procedures Tc
1f10: 6c 5f 46 6f 72 6b 2c 0a 54 63 6c 5f 57 61 69 74  l_Fork,.Tcl_Wait
1f20: 50 69 64 73 2c 20 54 63 6c 5f 44 65 74 61 63 68  Pids, Tcl_Detach
1f30: 50 69 64 73 2c 20 61 6e 64 20 54 63 6c 5f 43 72  Pids, and Tcl_Cr
1f40: 65 61 74 65 50 69 70 65 6c 69 6e 65 2e 20 20 54  eatePipeline.  T
1f50: 68 65 20 6f 6c 64 0a 22 3c 20 69 6e 70 75 74 22  he old."< input"
1f60: 20 6e 6f 74 61 74 69 6f 6e 20 68 61 73 20 62 65   notation has be
1f70: 65 6e 20 72 65 70 6c 61 63 65 64 20 62 79 20 22  en replaced by "
1f80: 3c 3c 20 69 6e 70 75 74 22 20 28 22 3c 22 20 69  << input" ("<" i
1f90: 73 20 66 6f 72 0a 72 65 64 69 72 65 63 74 69 6f  s for.redirectio
1fa0: 6e 20 66 72 6f 6d 20 61 20 66 69 6c 65 29 2e 20  n from a file). 
1fb0: 20 41 6c 73 6f 20 68 61 6e 64 6c 65 73 20 65 72   Also handles er
1fc0: 72 6f 72 20 72 65 74 75 72 6e 73 20 61 6e 64 20  ror returns and 
1fd0: 61 62 6e 6f 72 6d 61 6c 0a 74 65 72 6d 69 6e 61  abnormal.termina
1fe0: 74 69 6f 6e 73 20 28 65 2e 67 2e 20 73 69 67 6e  tions (e.g. sign
1ff0: 61 6c 73 29 20 64 69 66 66 65 72 65 6e 74 6c 79  als) differently
2000: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
2010: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
2020: 2a 2a 2a 0a 0a 35 38 2e 20 37 2f 32 31 2f 39 31  ***..58. 7/21/91
2030: 20 41 64 64 65 64 20 22 61 70 70 65 6e 64 22 20   Added "append" 
2040: 61 6e 64 20 22 6c 61 70 70 65 6e 64 22 20 63 6f  and "lappend" co
2050: 6d 6d 61 6e 64 73 2e 0a 0a 35 39 2e 20 37 2f 32  mmands...59. 7/2
2060: 32 2f 39 31 20 52 65 77 6f 72 6b 65 64 20 65 72  2/91 Reworked er
2070: 72 6f 72 20 6d 65 73 73 61 67 65 73 20 61 6e 64  ror messages and
2080: 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65 73 20   manual entries 
2090: 74 6f 20 75 73 65 0a 3f 78 3f 20 61 73 20 74 68  to use.?x? as th
20a0: 65 20 6e 6f 74 61 74 69 6f 6e 20 66 6f 72 20 61  e notation for a
20b0: 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d  n optional argum
20c0: 65 6e 74 20 78 2c 20 69 6e 73 74 65 61 64 20 6f  ent x, instead o
20d0: 66 20 5b 78 5d 2e 20 20 54 68 65 0a 62 72 61 63  f [x].  The.brac
20e0: 6b 65 74 20 6e 6f 74 61 74 69 6f 6e 20 77 61 73  ket notation was
20f0: 20 6f 66 74 65 6e 20 63 6f 6e 66 75 73 65 64 20   often confused 
2100: 77 69 74 68 20 74 68 65 20 75 73 65 20 6f 66 20  with the use of 
2110: 62 72 61 63 6b 65 74 73 20 66 6f 72 0a 63 6f 6d  brackets for.com
2120: 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74 69 6f  mand substitutio
2130: 6e 2e 20 20 41 6c 73 6f 20 6d 6f 64 69 66 69 65  n.  Also modifie
2140: 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73  d error messages
2150: 20 74 6f 20 62 65 20 6d 6f 72 65 0a 63 6f 6e 73   to be more.cons
2160: 69 73 74 65 6e 74 2e 0a 0a 36 30 2e 20 37 2f 32  istent...60. 7/2
2170: 33 2f 39 31 20 54 63 6c 5f 44 65 6c 65 74 65 43  3/91 Tcl_DeleteC
2180: 6f 6d 6d 61 6e 64 20 6e 6f 77 20 72 65 74 75 72  ommand now retur
2190: 6e 73 20 61 6e 20 69 6e 64 69 63 61 74 69 6f 6e  ns an indication
21a0: 20 6f 66 20 77 68 65 74 68 65 72 0a 6f 72 20 6e   of whether.or n
21b0: 6f 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61  ot the command a
21c0: 63 74 75 61 6c 6c 79 20 65 78 69 73 74 65 64 2c  ctually existed,
21d0: 20 61 6e 64 20 74 68 65 20 22 72 65 6e 61 6d 65   and the "rename
21e0: 22 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 0a 74  " command uses.t
21f0: 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  his information 
2200: 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72  to return an err
2210: 6f 72 20 69 66 20 61 6e 20 61 74 74 65 6d 70 74  or if an attempt
2220: 20 69 73 20 6d 61 64 65 20 74 6f 20 64 65 6c 65   is made to dele
2230: 74 65 0a 61 20 6e 6f 6e 2d 65 78 69 73 74 65 6e  te.a non-existen
2240: 74 20 63 6f 6d 6d 61 6e 64 2e 0a 2a 2a 2a 20 50  t command..*** P
2250: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
2260: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 36 31  TIBILITY ***..61
2270: 2e 20 37 2f 32 35 2f 39 31 20 41 64 64 65 64 20  . 7/25/91 Added 
2280: 6e 65 77 20 22 65 72 72 6f 72 43 6f 64 65 22 20  new "errorCode" 
2290: 6d 65 63 68 61 6e 69 73 6d 2c 20 61 6c 6f 6e 67  mechanism, along
22a0: 20 77 69 74 68 20 70 72 6f 63 65 64 75 72 65 73   with procedures
22b0: 0a 54 63 6c 5f 53 65 74 45 72 72 6f 72 43 6f 64  .Tcl_SetErrorCod
22c0: 65 2c 20 54 63 6c 5f 55 6e 69 78 45 72 72 6f 72  e, Tcl_UnixError
22d0: 2c 20 61 6e 64 20 54 63 6c 5f 52 65 73 65 74 52  , and Tcl_ResetR
22e0: 65 73 75 6c 74 2e 20 20 52 65 6e 61 6d 65 64 0a  esult.  Renamed.
22f0: 54 63 6c 5f 52 65 74 75 72 6e 20 74 6f 20 54 63  Tcl_Return to Tc
2300: 6c 5f 53 65 74 52 65 73 75 6c 74 2c 20 62 75 74  l_SetResult, but
2310: 20 6c 65 66 74 20 61 20 23 64 65 66 69 6e 65 20   left a #define 
2320: 66 6f 72 20 54 63 6c 5f 52 65 74 75 72 6e 20 74  for Tcl_Return t
2330: 6f 0a 61 76 6f 69 64 20 63 6f 6d 70 61 74 69 62  o.avoid compatib
2340: 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 2e 0a  ility problems..
2350: 0a 36 32 2e 20 37 2f 32 36 2f 39 31 20 45 78 74  .62. 7/26/91 Ext
2360: 65 6e 64 65 64 20 22 63 61 73 65 22 20 63 6f 6d  ended "case" com
2370: 6d 61 6e 64 20 77 69 74 68 20 61 6c 74 65 72 6e  mand with altern
2380: 61 74 65 20 73 79 6e 74 61 78 20 77 68 65 72 65  ate syntax where
2390: 20 61 6c 6c 0a 70 61 74 74 65 72 6e 73 20 61 6e   all.patterns an
23a0: 64 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 74  d commands are t
23b0: 6f 67 65 74 68 65 72 20 69 6e 20 61 20 73 69 6e  ogether in a sin
23c0: 67 6c 65 20 6c 69 73 74 20 61 72 67 75 6d 65 6e  gle list argumen
23d0: 74 3a 20 20 6d 61 6b 65 73 0a 69 74 20 65 61 73  t:  makes.it eas
23e0: 69 65 72 20 74 6f 20 77 72 69 74 65 20 6d 75 6c  ier to write mul
23f0: 74 69 2d 6c 69 6e 65 20 63 61 73 65 20 73 74 61  ti-line case sta
2400: 74 65 6d 65 6e 74 73 2e 0a 0a 36 33 2e 20 37 2f  tements...63. 7/
2410: 32 37 2f 39 31 20 43 68 61 6e 67 65 64 20 22 70  27/91 Changed "p
2420: 72 69 6e 74 22 20 63 6f 6d 6d 61 6e 64 20 74 6f  rint" command to
2430: 20 70 65 72 66 6f 72 6d 20 74 69 6c 64 65 2d 73   perform tilde-s
2440: 75 62 73 74 69 74 75 74 69 6f 6e 20 6f 6e 0a 74  ubstitution on.t
2450: 68 65 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 0a 36  he file name...6
2460: 34 2e 20 37 2f 32 37 2f 39 31 20 41 64 64 65 64  4. 7/27/91 Added
2470: 20 22 74 6f 6c 6f 77 65 72 22 2c 20 22 74 6f 75   "tolower", "tou
2480: 70 70 65 72 22 2c 20 22 74 72 69 6d 22 2c 20 22  pper", "trim", "
2490: 74 72 69 6d 6c 65 66 74 22 2c 20 61 6e 64 20 22  trimleft", and "
24a0: 74 72 69 6d 72 69 67 68 74 22 0a 6f 70 74 69 6f  trimright".optio
24b0: 6e 73 20 74 6f 20 22 73 74 72 69 6e 67 22 20 63  ns to "string" c
24c0: 6f 6d 6d 61 6e 64 2e 0a 0a 36 35 2e 20 37 2f 32  ommand...65. 7/2
24d0: 39 2f 39 31 20 41 64 64 65 64 20 22 61 74 69 6d  9/91 Added "atim
24e0: 65 22 2c 20 22 6d 74 69 6d 65 22 2c 20 22 73 69  e", "mtime", "si
24f0: 7a 65 22 2c 20 61 6e 64 20 22 73 74 61 74 22 20  ze", and "stat" 
2500: 6f 70 74 69 6f 6e 73 20 74 6f 20 22 66 69 6c 65  options to "file
2510: 22 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 36 36 2e 20  ".command...66. 
2520: 38 2f 31 2f 39 31 20 41 64 64 65 64 20 22 73 70  8/1/91 Added "sp
2530: 6c 69 74 22 20 61 6e 64 20 22 6a 6f 69 6e 22 20  lit" and "join" 
2540: 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 36 37 2e 20 38  commands...67. 8
2550: 2f 31 31 2f 39 31 20 41 64 64 65 64 20 63 6f 6d  /11/91 Added com
2560: 6d 61 6e 64 73 20 66 6f 72 20 66 69 6c 65 20 49  mands for file I
2570: 2f 4f 2c 20 69 6e 63 6c 75 64 69 6e 67 20 22 6f  /O, including "o
2580: 70 65 6e 22 2c 20 22 63 6c 6f 73 65 22 2c 0a 22  pen", "close",."
2590: 72 65 61 64 22 2c 20 22 67 65 74 73 22 2c 20 22  read", "gets", "
25a0: 70 75 74 73 22 2c 20 22 66 6c 75 73 68 22 2c 20  puts", "flush", 
25b0: 22 65 6f 66 22 2c 20 22 73 65 65 6b 22 2c 20 61  "eof", "seek", a
25c0: 6e 64 20 22 74 65 6c 6c 22 2e 0a 0a 36 38 2e 20  nd "tell"...68. 
25d0: 38 2f 31 34 2f 39 31 20 53 77 69 74 63 68 65 64  8/14/91 Switched
25e0: 20 74 6f 20 75 73 65 20 61 20 68 61 73 68 20 74   to use a hash t
25f0: 61 62 6c 65 20 66 6f 72 20 63 6f 6d 6d 61 6e 64  able for command
2600: 20 6c 6f 6f 6b 75 70 73 2e 20 20 43 6f 6d 6d 61   lookups.  Comma
2610: 6e 64 0a 61 62 62 72 65 76 69 61 74 69 6f 6e 73  nd.abbreviations
2620: 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 76 65 20   no longer have 
2630: 64 69 72 65 63 74 20 73 75 70 70 6f 72 74 20 69  direct support i
2640: 6e 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72 70  n the Tcl interp
2650: 72 65 74 65 72 2c 20 62 75 74 0a 69 74 20 73 68  reter, but.it sh
2660: 6f 75 6c 64 20 62 65 20 70 6f 73 73 69 62 6c 65  ould be possible
2670: 20 74 6f 20 73 69 6d 75 6c 61 74 65 20 74 68 65   to simulate the
2680: 6d 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 2d  m with the auto-
2690: 6c 6f 61 64 20 66 65 61 74 75 72 65 73 0a 64 65  load features.de
26a0: 73 63 72 69 62 65 64 20 62 65 6c 6f 77 2e 20 20  scribed below.  
26b0: 54 68 65 20 22 6e 6f 41 62 62 72 65 76 22 20 76  The "noAbbrev" v
26c0: 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 20 6c 6f  ariable is no lo
26d0: 6e 67 65 72 20 75 73 65 64 20 62 79 20 54 63 6c  nger used by Tcl
26e0: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
26f0: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
2700: 2a 2a 2a 0a 0a 36 38 2e 35 20 38 2f 31 35 2f 39  ***..68.5 8/15/9
2710: 31 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20  1 Added support 
2720: 66 6f 72 20 22 75 6e 6b 6e 6f 77 6e 22 20 63 6f  for "unknown" co
2730: 6d 6d 61 6e 64 2c 20 77 68 69 63 68 20 63 61 6e  mmand, which can
2740: 20 62 65 20 75 73 65 64 20 74 6f 0a 63 6f 6d 70   be used to.comp
2750: 6c 65 74 65 20 61 62 62 72 65 76 69 61 74 69 6f  lete abbreviatio
2760: 6e 73 2c 20 61 75 74 6f 2d 6c 6f 61 64 20 6c 69  ns, auto-load li
2770: 62 72 61 72 79 20 66 69 6c 65 73 2c 20 61 75 74  brary files, aut
2780: 6f 2d 65 78 65 63 20 73 68 65 6c 6c 0a 63 6f 6d  o-exec shell.com
2790: 6d 61 6e 64 73 2c 20 65 74 63 2e 0a 0a 36 39 2e  mands, etc...69.
27a0: 20 38 2f 31 35 2f 39 31 20 41 64 64 65 64 20 2d   8/15/91 Added -
27b0: 6e 6f 63 6f 6d 70 6c 61 69 6e 20 73 77 69 74 63  nocomplain switc
27c0: 68 20 74 6f 20 22 67 6c 6f 62 22 20 63 6f 6d 6d  h to "glob" comm
27d0: 61 6e 64 2e 0a 0a 37 30 2e 20 38 2f 32 30 2f 39  and...70. 8/20/9
27e0: 31 20 41 64 64 65 64 20 22 69 6e 66 6f 20 6c 69  1 Added "info li
27f0: 62 72 61 72 79 22 20 6f 70 74 69 6f 6e 20 61 6e  brary" option an
2800: 64 20 54 43 4c 5f 4c 49 42 52 41 52 59 20 23 64  d TCL_LIBRARY #d
2810: 65 66 69 6e 65 2e 20 20 41 6c 73 6f 0a 61 64 64  efine.  Also.add
2820: 65 64 20 22 69 6e 66 6f 20 73 63 72 69 70 74 22  ed "info script"
2830: 20 6f 70 74 69 6f 6e 2e 0a 0a 37 31 2e 20 38 2f   option...71. 8/
2840: 32 30 2f 39 31 20 43 68 61 6e 67 65 64 20 22 66  20/91 Changed "f
2850: 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  ile" command to 
2860: 74 61 6b 65 20 22 6f 70 74 69 6f 6e 22 20 61 72  take "option" ar
2870: 67 75 6d 65 6e 74 20 61 73 20 66 69 72 73 74 0a  gument as first.
2880: 61 72 67 75 6d 65 6e 74 20 28 62 65 66 6f 72 65  argument (before
2890: 20 66 69 6c 65 20 6e 61 6d 65 29 2c 20 66 6f 72   file name), for
28a0: 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 69 74   consistency wit
28b0: 68 20 6f 74 68 65 72 20 54 63 6c 20 63 6f 6d 6d  h other Tcl comm
28c0: 61 6e 64 73 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  ands..*** POTENT
28d0: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
28e0: 49 54 59 20 2a 2a 2a 0a 0a 37 32 2e 20 38 2f 32  ITY ***..72. 8/2
28f0: 30 2f 39 31 20 43 68 61 6e 67 65 64 20 66 6f 72  0/91 Changed for
2900: 6d 61 74 20 6f 66 20 69 6e 66 6f 72 6d 61 74 69  mat of informati
2910: 6f 6e 20 69 6e 20 24 65 72 72 6f 72 49 6e 66 6f  on in $errorInfo
2920: 20 76 61 72 69 61 62 6c 65 3a 0a 63 6f 6d 6d 65   variable:.comme
2930: 6e 74 73 20 73 75 63 68 20 61 73 20 0a 20 20 20  nts such as .   
2940: 20 28 22 77 68 69 6c 65 22 20 62 6f 64 79 20 6c   ("while" body l
2950: 69 6e 65 20 31 29 0a 61 72 65 20 6e 6f 77 20 6f  ine 1).are now o
2960: 6e 20 73 65 70 61 72 61 74 65 20 6c 69 6e 65 73  n separate lines
2970: 20 66 72 6f 6d 20 63 6f 6d 6d 61 6e 64 73 20 62   from commands b
2980: 65 69 6e 67 20 65 78 65 63 75 74 65 64 2e 0a 2a  eing executed..*
2990: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
29a0: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
29b0: 0a 0a 37 33 2e 20 38 2f 32 30 2f 39 31 20 43 68  ..73. 8/20/91 Ch
29c0: 61 6e 67 65 64 20 54 63 6c 5f 41 70 70 65 6e 64  anged Tcl_Append
29d0: 52 65 73 75 6c 74 20 73 6f 20 74 68 61 74 20 69  Result so that i
29e0: 74 20 28 65 76 65 6e 74 75 61 6c 6c 79 29 20 66  t (eventually) f
29f0: 72 65 65 73 0a 6c 61 72 67 65 20 62 75 66 66 65  rees.large buffe
2a00: 72 73 20 74 68 61 74 20 69 74 20 61 6c 6c 6f 63  rs that it alloc
2a10: 61 74 65 73 2e 0a 0a 37 34 2e 20 38 2f 32 31 2f  ates...74. 8/21/
2a20: 39 31 20 41 64 64 65 64 20 22 6c 69 6e 73 65 72  91 Added "linser
2a30: 74 22 2c 20 22 6c 72 65 70 6c 61 63 65 22 2c 20  t", "lreplace", 
2a40: 22 6c 73 65 61 72 63 68 22 2c 20 61 6e 64 20 22  "lsearch", and "
2a50: 6c 73 6f 72 74 22 0a 63 6f 6d 6d 61 6e 64 73 2e  lsort".commands.
2a60: 0a 0a 37 35 2e 20 38 2f 32 38 2f 39 31 20 41 64  ..75. 8/28/91 Ad
2a70: 64 65 64 20 22 69 6e 63 72 22 20 61 6e 64 20 22  ded "incr" and "
2a80: 65 78 69 74 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a  exit" commands..
2a90: 0a 37 36 2e 20 38 2f 33 30 2f 39 31 20 41 64 64  .76. 8/30/91 Add
2aa0: 65 64 20 22 72 65 67 65 78 70 22 20 61 6e 64 20  ed "regexp" and 
2ab0: 22 72 65 67 73 75 62 22 20 63 6f 6d 6d 61 6e 64  "regsub" command
2ac0: 73 2e 0a 0a 37 37 2e 20 39 2f 34 2f 39 31 20 43  s...77. 9/4/91 C
2ad0: 68 61 6e 67 65 64 20 22 64 79 6e 61 6d 69 63 22  hanged "dynamic"
2ae0: 20 66 69 65 6c 64 20 69 6e 20 69 6e 74 65 72 70   field in interp
2af0: 72 65 74 65 72 73 20 74 6f 20 22 66 72 65 65 50  reters to "freeP
2b00: 72 6f 63 22 20 28 70 72 6f 63 65 64 75 72 65 0a  roc" (procedure.
2b10: 61 64 64 72 65 73 73 29 2e 20 20 54 68 69 73 20  address).  This 
2b20: 61 6c 6c 6f 77 73 20 66 6f 72 20 61 6c 74 65 72  allows for alter
2b30: 6e 61 74 69 76 65 20 73 74 6f 72 61 67 65 20 6d  native storage m
2b40: 61 6e 61 67 65 72 73 2e 0a 2a 2a 2a 20 50 4f 54  anagers..*** POT
2b50: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
2b60: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 37 38 2e 20  BILITY ***..78. 
2b70: 39 2f 36 2f 39 31 20 41 64 64 65 64 20 22 69 6e  9/6/91 Added "in
2b80: 64 65 78 22 2c 20 22 6c 65 6e 67 74 68 22 2c 20  dex", "length", 
2b90: 61 6e 64 20 22 72 61 6e 67 65 22 20 6f 70 74 69  and "range" opti
2ba0: 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e 67 22 0a  ons to "string".
2bb0: 63 6f 6d 6d 61 6e 64 2e 20 20 41 64 64 65 64 20  command.  Added 
2bc0: 22 6c 69 6e 64 65 78 22 2c 20 22 6c 6c 65 6e 67  "lindex", "lleng
2bd0: 74 68 22 2c 20 61 6e 64 20 22 6c 72 61 6e 67 65  th", and "lrange
2be0: 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 37 39 2e  " commands...79.
2bf0: 20 39 2f 38 2f 39 31 20 52 65 6d 6f 76 65 64 20   9/8/91 Removed 
2c00: 22 69 6e 64 65 78 22 2c 20 22 6c 65 6e 67 74 68  "index", "length
2c10: 22 2c 20 22 70 72 69 6e 74 22 20 61 6e 64 20 22  ", "print" and "
2c20: 72 61 6e 67 65 22 20 63 6f 6d 6d 61 6e 64 73 2e  range" commands.
2c30: 0a 22 50 72 69 6e 74 22 20 69 73 20 72 65 64 75  ."Print" is redu
2c40: 6e 64 61 6e 74 20 77 69 74 68 20 22 70 75 74 73  ndant with "puts
2c50: 22 2c 20 62 75 74 20 6c 65 73 73 20 67 65 6e 65  ", but less gene
2c60: 72 61 6c 2c 20 61 6e 64 20 74 68 65 20 6f 74 68  ral, and the oth
2c70: 65 72 0a 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20  er.commands are 
2c80: 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68  replaced with th
2c90: 65 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 64  e new commands d
2ca0: 65 73 63 72 69 62 65 64 20 69 6e 20 63 68 61 6e  escribed in chan
2cb0: 67 65 20 37 38 0a 61 62 6f 76 65 2e 0a 2a 2a 2a  ge 78.above..***
2cc0: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2cd0: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
2ce0: 38 30 2e 20 39 2f 38 2f 39 31 20 43 68 61 6e 67  80. 9/8/91 Chang
2cf0: 65 64 20 68 69 73 74 6f 72 79 20 72 65 76 69 73  ed history revis
2d00: 69 6f 6e 20 74 6f 20 6f 63 63 75 72 20 65 76 65  ion to occur eve
2d10: 6e 20 77 68 65 6e 20 68 69 73 74 6f 72 79 20 63  n when history c
2d20: 6f 6d 6d 61 6e 64 0a 69 73 20 6e 65 73 74 65 64  ommand.is nested
2d30: 3b 20 20 6e 65 65 64 65 64 20 69 6e 20 6f 72 64  ;  needed in ord
2d40: 65 72 20 74 6f 20 61 6c 6c 6f 77 20 22 68 69 73  er to allow "his
2d50: 74 6f 72 79 22 20 74 6f 20 62 65 20 69 6e 76 6f  tory" to be invo
2d60: 6b 65 64 20 66 72 6f 6d 0a 22 75 6e 6b 6e 6f 77  ked from."unknow
2d70: 6e 22 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a 38  n" procedure...8
2d80: 31 2e 20 39 2f 31 33 2f 39 31 20 43 68 61 6e 67  1. 9/13/91 Chang
2d90: 65 64 20 22 70 61 6e 69 63 22 20 6e 6f 74 20 74  ed "panic" not t
2da0: 6f 20 75 73 65 20 76 66 70 72 69 6e 74 66 20 28  o use vfprintf (
2db0: 69 74 27 73 20 75 67 6c 69 65 72 20 61 6e 64 20  it's uglier and 
2dc0: 6c 65 73 73 0a 67 65 6e 65 72 61 6c 20 6e 6f 77  less.general now
2dd0: 2c 20 62 75 74 20 6d 61 6b 65 73 20 69 74 20 65  , but makes it e
2de0: 61 73 69 65 72 20 74 6f 20 72 75 6e 20 54 63 6c  asier to run Tcl
2df0: 20 6f 6e 20 73 79 73 74 65 6d 73 20 74 68 61 74   on systems that
2e00: 20 64 6f 6e 27 74 0a 68 61 76 65 20 76 66 70 72   don't.have vfpr
2e10: 69 6e 74 66 29 2e 20 20 41 6c 73 6f 20 63 68 61  intf).  Also cha
2e20: 6e 67 65 64 20 22 73 74 72 65 72 72 6f 72 22 20  nged "strerror" 
2e30: 6e 6f 74 20 74 6f 20 72 65 64 65 63 6c 61 72 65  not to redeclare
2e40: 20 73 79 73 5f 65 72 72 6c 69 73 74 2e 0a 0a 38   sys_errlist...8
2e50: 32 2e 20 39 2f 31 39 2f 39 31 20 4c 6f 74 73 20  2. 9/19/91 Lots 
2e60: 6f 66 20 63 68 61 6e 67 65 73 20 74 6f 20 69 6d  of changes to im
2e70: 70 72 6f 76 65 20 70 6f 72 74 61 62 69 6c 69 74  prove portabilit
2e80: 79 20 74 6f 20 64 69 66 66 65 72 65 6e 74 20 55  y to different U
2e90: 4e 49 58 0a 73 79 73 74 65 6d 73 2c 20 69 6e 63  NIX.systems, inc
2ea0: 6c 75 64 69 6e 67 20 61 64 64 69 74 69 6f 6e 20  luding addition 
2eb0: 6f 66 20 22 63 6f 6e 66 69 67 22 20 73 63 72 69  of "config" scri
2ec0: 70 74 20 74 6f 20 61 64 61 70 74 20 54 63 6c 20  pt to adapt Tcl 
2ed0: 74 6f 20 74 68 65 0a 63 6f 6e 66 69 67 75 72 61  to the.configura
2ee0: 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 79 73 74  tion of the syst
2ef0: 65 6d 20 69 74 27 73 20 62 65 69 6e 67 20 63 6f  em it's being co
2f00: 6d 70 69 6c 65 64 20 6f 6e 2e 0a 0a 38 33 2e 20  mpiled on...83. 
2f10: 39 2f 32 32 2f 39 31 20 41 64 64 65 64 20 22 70  9/22/91 Added "p
2f20: 77 64 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 38 34  wd" command...84
2f30: 2e 20 39 2f 32 32 2f 39 31 20 52 65 6e 61 6d 65  . 9/22/91 Rename
2f40: 64 20 6d 61 6e 75 61 6c 20 70 61 67 65 73 20 73  d manual pages s
2f50: 6f 20 74 68 61 74 20 74 68 65 69 72 20 66 69 6c  o that their fil
2f60: 65 6e 61 6d 65 73 20 61 72 65 20 6e 6f 20 6d 6f  enames are no mo
2f70: 72 65 0a 74 68 61 6e 20 31 34 20 63 68 61 72 61  re.than 14 chara
2f80: 63 74 65 72 73 20 69 6e 20 6c 65 6e 67 74 68 2c  cters in length,
2f90: 20 6d 6f 76 65 64 20 74 6f 20 22 64 6f 63 22 20   moved to "doc" 
2fa0: 73 75 62 64 69 72 65 63 74 6f 72 79 2e 0a 0a 38  subdirectory...8
2fb0: 35 2e 20 39 2f 32 34 2f 39 31 20 52 65 64 69 64  5. 9/24/91 Redid
2fc0: 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65 73 20   manual entries 
2fd0: 73 6f 20 74 68 65 79 20 63 6f 6e 74 61 69 6e 20  so they contain 
2fe0: 74 68 65 20 73 75 70 70 6c 65 6d 65 6e 74 61 6c  the supplemental
2ff0: 0a 6d 61 63 72 6f 73 20 74 68 61 74 20 74 68 65  .macros that the
3000: 79 20 6e 65 65 64 3b 20 20 63 61 6e 20 6a 75 73  y need;  can jus
3010: 74 20 70 72 69 6e 74 20 77 69 74 68 20 22 74 72  t print with "tr
3020: 6f 66 66 20 2d 6d 61 6e 22 20 6f 72 20 22 6d 61  off -man" or "ma
3030: 6e 22 0a 6e 6f 77 2e 0a 0a 38 36 2e 20 39 2f 32  n".now...86. 9/2
3040: 36 2f 39 31 20 43 72 65 61 74 65 64 20 69 6e 69  6/91 Created ini
3050: 74 69 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 20  tial version of 
3060: 73 63 72 69 70 74 20 6c 69 62 72 61 72 79 2c 20  script library, 
3070: 69 6e 63 6c 75 64 69 6e 67 0a 61 20 76 65 72 73  including.a vers
3080: 69 6f 6e 20 6f 66 20 22 75 6e 6b 6e 6f 77 6e 22  ion of "unknown"
3090: 20 74 68 61 74 20 64 6f 65 73 20 61 75 74 6f 2d   that does auto-
30a0: 6c 6f 61 64 69 6e 67 2c 20 61 75 74 6f 2d 65 78  loading, auto-ex
30b0: 65 63 75 74 69 6f 6e 2c 20 61 6e 64 0a 61 62 62  ecution, and.abb
30c0: 72 65 76 69 61 74 69 6f 6e 20 65 78 70 61 6e 73  reviation expans
30d0: 69 6f 6e 2e 20 20 54 68 69 73 20 6c 69 62 72 61  ion.  This libra
30e0: 72 79 20 69 73 20 75 73 65 64 20 62 79 20 74 63  ry is used by tc
30f0: 6c 54 65 73 74 0a 61 75 74 6f 6d 61 74 69 63 61  lTest.automatica
3100: 6c 6c 79 2e 20 20 53 65 65 20 74 68 65 20 22 6c  lly.  See the "l
3110: 69 62 72 61 72 79 22 20 6d 61 6e 75 61 6c 20 65  ibrary" manual e
3120: 6e 74 72 79 20 66 6f 72 20 64 65 74 61 69 6c 73  ntry for details
3130: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
3140: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
3150: 72 73 69 6f 6e 20 36 2e 30 2c 20 39 2f 32 36 2f  rsion 6.0, 9/26/
3160: 39 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  91 -------------
3170: 2d 2d 2d 2d 2d 0a 0a 38 37 2e 20 39 2f 33 30 2f  -----..87. 9/30/
3180: 39 31 20 4d 61 64 65 20 22 73 74 72 69 6e 67 20  91 Made "string 
3190: 74 6f 6c 6f 77 65 72 22 20 61 6e 64 20 22 73 74  tolower" and "st
31a0: 72 69 6e 67 20 74 6f 75 70 70 65 72 22 20 63 68  ring toupper" ch
31b0: 65 63 6b 20 63 61 73 65 0a 62 65 66 6f 72 65 20  eck case.before 
31c0: 63 6f 6e 76 65 72 74 69 6e 67 3a 20 20 6f 6e 20  converting:  on 
31d0: 73 6f 6d 65 20 73 79 73 74 65 6d 73 2c 20 22 74  some systems, "t
31e0: 6f 6c 6f 77 65 72 22 20 61 6e 64 20 22 74 6f 75  olower" and "tou
31f0: 70 70 65 72 22 20 61 73 73 75 6d 65 0a 74 68 61  pper" assume.tha
3200: 74 20 63 68 61 72 61 63 74 65 72 20 61 6c 72 65  t character alre
3210: 61 64 79 20 68 61 73 20 70 61 72 74 69 63 75 6c  ady has particul
3220: 61 72 20 63 61 73 65 2e 0a 0a 38 38 2e 20 39 2f  ar case...88. 9/
3230: 33 30 2f 39 31 20 46 69 78 65 64 20 62 75 67 20  30/91 Fixed bug 
3240: 69 6e 20 54 63 6c 5f 53 65 74 52 65 73 75 6c 74  in Tcl_SetResult
3250: 3a 20 20 77 61 73 6e 27 74 20 61 6c 77 61 79 73  :  wasn't always
3260: 20 73 65 74 74 69 6e 67 20 66 72 65 65 50 72 6f   setting freePro
3270: 63 0a 63 6f 72 72 65 63 74 6c 79 20 77 68 65 6e  c.correctly when
3280: 20 63 61 6c 6c 65 64 20 77 69 74 68 20 4e 55 4c   called with NUL
3290: 4c 20 76 61 6c 75 65 2e 20 20 54 68 69 73 20 74  L value.  This t
32a0: 65 6e 64 65 64 20 74 6f 20 63 61 75 73 65 20 6d  ended to cause m
32b0: 65 6d 6f 72 79 0a 61 6c 6c 6f 63 61 74 69 6f 6e  emory.allocation
32c0: 20 65 72 72 6f 72 73 20 6c 61 74 65 72 2e 0a 0a   errors later...
32d0: 38 39 2e 20 31 30 2f 33 2f 39 31 20 41 64 64 65  89. 10/3/91 Adde
32e0: 64 20 22 75 70 76 61 72 22 20 63 6f 6d 6d 61 6e  d "upvar" comman
32f0: 64 2e 0a 0a 39 30 2e 20 31 30 2f 34 2f 39 31 20  d...90. 10/4/91 
3300: 43 68 61 6e 67 65 64 20 22 66 6f 72 6d 61 74 22  Changed "format"
3310: 20 73 6f 20 74 68 61 74 20 69 6e 74 65 72 6e 61   so that interna
3320: 6c 6c 79 20 69 74 20 63 6f 6e 76 65 72 74 73 20  lly it converts 
3330: 25 44 20 74 6f 20 25 6c 64 2c 0a 25 55 20 74 6f  %D to %ld,.%U to
3340: 20 25 6c 75 2c 20 25 4f 20 74 6f 20 25 6c 6f 2c   %lu, %O to %lo,
3350: 20 61 6e 64 20 25 46 20 74 6f 20 25 66 2e 20 20   and %F to %f.  
3360: 54 68 69 73 20 65 6c 69 6d 69 6e 61 74 65 73 20  This eliminates 
3370: 73 6f 6d 65 20 63 6f 6d 70 61 74 69 62 69 6c 69  some compatibili
3380: 74 79 0a 70 72 6f 62 6c 65 6d 73 20 6f 6e 20 73  ty.problems on s
3390: 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20 77 69 74  ome machines wit
33a0: 68 6f 75 74 20 61 66 66 65 63 74 69 6e 67 20 62  hout affecting b
33b0: 65 68 61 76 69 6f 72 2e 0a 0a 39 31 2e 20 31 30  ehavior...91. 10
33c0: 2f 31 30 2f 39 31 20 46 69 78 65 64 20 62 75 67  /10/91 Fixed bug
33d0: 20 69 6e 20 22 72 65 67 73 75 62 22 20 74 68 61   in "regsub" tha
33e0: 74 20 63 61 75 73 65 64 20 63 6f 72 65 20 64 75  t caused core du
33f0: 6d 70 73 20 77 69 74 68 20 74 68 65 20 2d 61 6c  mps with the -al
3400: 6c 0a 6f 70 74 69 6f 6e 20 77 68 65 6e 20 74 68  l.option when th
3410: 65 20 6c 61 73 74 20 6d 61 74 63 68 20 77 61 73  e last match was
3420: 6e 27 74 20 61 74 20 74 68 65 20 65 6e 64 20 6f  n't at the end o
3430: 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 0a 39  f the string...9
3440: 32 2e 20 31 30 2f 31 37 2f 39 31 20 46 69 78 65  2. 10/17/91 Fixe
3450: 64 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20  d problems with 
3460: 62 61 63 6b 73 6c 61 73 68 20 73 65 71 75 65 6e  backslash sequen
3470: 63 65 73 3a 20 20 5c 72 20 73 75 70 70 6f 72 74  ces:  \r support
3480: 20 77 61 73 0a 69 6e 63 6f 6d 70 6c 65 74 65 20   was.incomplete 
3490: 61 6e 64 20 5c 66 20 61 6e 64 20 5c 76 20 77 65  and \f and \v we
34a0: 72 65 6e 27 74 20 73 75 70 70 6f 72 74 65 64 20  ren't supported 
34b0: 61 74 20 61 6c 6c 2e 0a 0a 39 33 2e 20 31 30 2f  at all...93. 10/
34c0: 32 34 2f 39 31 20 41 64 64 65 64 20 54 63 6c 5f  24/91 Added Tcl_
34d0: 49 6e 69 74 48 69 73 74 6f 72 79 20 70 72 6f 63  InitHistory proc
34e0: 65 64 75 72 65 2e 0a 0a 39 34 2e 20 31 30 2f 32  edure...94. 10/2
34f0: 34 2f 39 31 20 43 68 61 6e 67 65 64 20 22 72 65  4/91 Changed "re
3500: 67 65 78 70 22 20 74 6f 20 73 74 6f 72 65 20 22  gexp" to store "
3510: 2d 31 20 2d 31 22 20 69 6e 20 73 75 62 4d 61 74  -1 -1" in subMat
3520: 63 68 56 61 72 73 20 74 68 61 74 0a 64 6f 6e 27  chVars that.don'
3530: 74 20 6d 61 74 63 68 2c 20 72 61 74 68 65 72 20  t match, rather 
3540: 74 68 61 6e 20 72 65 74 75 72 6e 69 6e 67 20 61  than returning a
3550: 6e 20 65 72 72 6f 72 2e 0a 0a 39 35 2e 20 31 30  n error...95. 10
3560: 2f 32 37 2f 39 31 20 4d 6f 64 69 66 69 65 64 20  /27/91 Modified 
3570: 22 72 65 67 65 78 70 22 20 74 6f 20 72 65 74 75  "regexp" to retu
3580: 72 6e 20 61 63 74 75 61 6c 20 73 74 72 69 6e 67  rn actual string
3590: 73 20 69 6e 20 6d 61 74 63 68 56 61 72 0a 61 6e  s in matchVar.an
35a0: 64 20 73 75 62 4d 61 74 63 68 56 61 72 73 20 69  d subMatchVars i
35b0: 6e 73 74 65 61 64 20 6f 66 20 69 6e 64 69 63 65  nstead of indice
35c0: 73 2e 20 20 41 64 64 65 64 20 22 2d 69 6e 64 69  s.  Added "-indi
35d0: 63 65 73 22 20 73 77 69 74 63 68 20 74 6f 20 63  ces" switch to c
35e0: 61 75 73 65 0a 69 6e 64 69 63 65 73 20 74 6f 20  ause.indices to 
35f0: 62 65 20 72 65 74 75 72 6e 65 64 2e 0a 2a 2a 2a  be returned..***
3600: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
3610: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
3620: 39 36 2e 20 31 30 2f 32 37 2f 39 31 20 46 69 78  96. 10/27/91 Fix
3630: 65 64 20 62 75 67 20 69 6e 20 22 73 63 61 6e 22  ed bug in "scan"
3640: 20 77 68 65 72 65 20 69 74 20 75 73 65 64 20 68   where it used h
3650: 61 72 64 77 69 72 65 64 20 63 6f 6e 73 74 61 6e  ardwired constan
3660: 74 73 20 66 6f 72 0a 73 69 7a 65 73 20 6f 66 20  ts for.sizes of 
3670: 66 6c 6f 61 74 73 20 61 6e 64 20 64 6f 75 62 6c  floats and doubl
3680: 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 75 73  es instead of us
3690: 69 6e 67 20 22 73 69 7a 65 6f 66 22 2e 0a 0a 39  ing "sizeof"...9
36a0: 37 2e 20 31 30 2f 33 31 2f 39 31 20 46 69 78 65  7. 10/31/91 Fixe
36b0: 64 20 62 75 67 20 69 6e 20 74 63 6c 50 61 72 73  d bug in tclPars
36c0: 65 2e 63 20 77 68 65 72 65 20 70 61 72 73 65 2d  e.c where parse-
36d0: 72 65 6c 61 74 65 64 20 65 72 72 6f 72 20 6d 65  related error me
36e0: 73 73 61 67 65 73 0a 77 65 72 65 6e 27 74 20 62  ssages.weren't b
36f0: 65 69 6e 67 20 73 74 6f 72 61 67 65 2d 6d 61 6e  eing storage-man
3700: 61 67 65 64 20 63 6f 72 72 65 63 74 6c 79 2c 20  aged correctly, 
3710: 63 61 75 73 69 6e 67 20 73 70 75 72 69 6f 75 73  causing spurious
3720: 20 66 72 65 65 27 73 2e 0a 0a 39 38 2e 20 31 30   free's...98. 10
3730: 2f 33 31 2f 39 31 20 46 6f 72 6d 20 66 65 65 64  /31/91 Form feed
3740: 20 61 6e 64 20 76 65 72 74 69 63 61 6c 20 74 61   and vertical ta
3750: 62 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65  b characters are
3760: 20 6e 6f 77 20 63 6f 6e 73 69 64 65 72 65 64 0a   now considered.
3770: 74 6f 20 62 65 20 73 70 61 63 65 20 63 68 61 72  to be space char
3780: 61 63 74 65 72 73 20 62 79 20 74 68 65 20 70 61  acters by the pa
3790: 72 73 65 72 2e 0a 0a 39 39 2e 20 31 30 2f 33 31  rser...99. 10/31
37a0: 2f 39 31 20 41 64 64 65 64 20 54 43 4c 5f 4c 45  /91 Added TCL_LE
37b0: 41 56 45 5f 45 52 52 5f 4d 53 47 20 66 6c 61 67  AVE_ERR_MSG flag
37c0: 20 74 6f 20 70 72 6f 63 65 64 75 72 65 73 20 6c   to procedures l
37d0: 69 6b 65 20 54 63 6c 5f 53 65 74 56 61 72 2e 0a  ike Tcl_SetVar..
37e0: 0a 31 30 30 2e 20 31 31 2f 37 2f 39 31 20 46 69  .100. 11/7/91 Fi
37f0: 78 65 64 20 62 75 67 20 69 6e 20 22 63 61 73 65  xed bug in "case
3800: 22 20 77 68 65 72 65 20 22 69 6e 22 20 61 72 67  " where "in" arg
3810: 75 6d 65 6e 74 20 63 6f 75 6c 64 6e 27 74 20 62  ument couldn't b
3820: 65 20 6f 6d 69 74 74 65 64 0a 69 66 20 61 6c 6c  e omitted.if all
3830: 20 63 61 73 65 20 62 72 61 6e 63 68 65 73 20 77   case branches w
3840: 65 72 65 20 65 6d 62 65 64 64 65 64 20 69 6e 20  ere embedded in 
3850: 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 2e 0a 0a  a single list...
3860: 31 30 31 2e 20 31 31 2f 37 2f 39 31 20 53 77 69  101. 11/7/91 Swi
3870: 74 63 68 65 64 20 74 6f 20 75 73 65 20 22 70 69  tched to use "pi
3880: 64 5f 74 22 20 61 6e 64 20 22 75 69 64 5f 74 22  d_t" and "uid_t"
3890: 20 61 6e 64 20 6f 74 68 65 72 20 6f 66 66 69 63   and other offic
38a0: 69 61 6c 0a 50 4f 53 49 43 20 74 79 70 65 73 20  ial.POSIC types 
38b0: 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f  and function pro
38c0: 74 6f 74 79 70 65 73 2e 0a 0a 2d 2d 2d 2d 2d 2d  totypes...------
38d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
38e0: 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 31  ased version 6.1
38f0: 2c 20 31 31 2f 37 2f 39 31 20 2d 2d 2d 2d 2d 2d  , 11/7/91 ------
3900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30  ------------..10
3910: 32 2e 20 31 32 2f 32 2f 39 31 20 4d 6f 64 69 66  2. 12/2/91 Modif
3920: 69 65 64 20 54 63 6c 5f 53 63 61 6e 45 6c 65 6d  ied Tcl_ScanElem
3930: 65 6e 74 20 61 6e 64 20 54 63 6c 5f 43 6f 6e 76  ent and Tcl_Conv
3940: 65 72 74 45 6c 65 6d 65 6e 74 20 69 6e 20 73 65  ertElement in se
3950: 76 65 72 61 6c 0a 77 61 79 73 2e 20 20 46 69 72  veral.ways.  Fir
3960: 73 74 2c 20 61 6c 6c 6f 77 65 64 20 63 61 6c 6c  st, allowed call
3970: 65 72 20 74 6f 20 72 65 71 75 65 73 74 20 74 68  er to request th
3980: 61 74 20 6f 6e 6c 79 20 62 61 63 6b 73 6c 61 73  at only backslas
3990: 68 65 73 20 62 65 20 75 73 65 64 0a 28 6e 6f 20  hes be used.(no 
39a0: 62 72 61 63 65 73 29 2e 20 20 53 65 63 6f 6e 64  braces).  Second
39b0: 2c 20 6d 61 64 65 20 54 63 6c 5f 43 6f 6e 76 65  , made Tcl_Conve
39c0: 72 74 45 6c 65 6d 65 6e 74 20 6d 6f 72 65 20 61  rtElement more a
39d0: 67 67 72 65 73 73 69 76 65 20 69 6e 20 75 73 69  ggressive in usi
39e0: 6e 67 0a 62 61 63 6b 73 6c 61 73 68 65 73 20 66  ng.backslashes f
39f0: 6f 72 20 62 72 61 63 65 73 20 61 6e 64 20 71 75  or braces and qu
3a00: 6f 74 65 73 2e 0a 0a 31 30 33 2e 20 31 32 2f 35  otes...103. 12/5
3a10: 2f 39 31 20 41 64 64 65 64 20 22 74 79 70 65 22  /91 Added "type"
3a20: 2c 20 22 6c 73 74 61 74 22 2c 20 61 6e 64 20 22  , "lstat", and "
3a30: 72 65 61 64 6c 69 6e 6b 22 20 6f 70 74 69 6f 6e  readlink" option
3a40: 73 20 74 6f 20 22 66 69 6c 65 22 0a 63 6f 6d 6d  s to "file".comm
3a50: 61 6e 64 2c 20 70 6c 75 73 20 61 64 64 65 64 20  and, plus added 
3a60: 6e 65 77 20 22 74 79 70 65 22 20 65 6c 65 6d 65  new "type" eleme
3a70: 6e 74 20 74 6f 20 6f 75 74 70 75 74 20 6f 66 20  nt to output of 
3a80: 22 73 74 61 74 22 20 61 6e 64 20 22 6c 73 74 61  "stat" and "lsta
3a90: 74 22 0a 6f 70 74 69 6f 6e 73 2e 0a 0a 31 30 34  t".options...104
3aa0: 2e 20 31 32 2f 31 30 2f 39 31 20 4d 61 6e 75 61  . 12/10/91 Manua
3ab0: 6c 20 65 6e 74 72 69 65 73 20 68 61 64 20 66 69  l entries had fi
3ac0: 72 73 74 20 6c 69 6e 65 73 20 74 68 61 74 20 63  rst lines that c
3ad0: 61 75 73 65 64 20 22 6d 61 6e 22 20 70 72 6f 67  aused "man" prog
3ae0: 72 61 6d 0a 74 6f 20 74 72 79 20 77 65 69 72 64  ram.to try weird
3af0: 20 70 72 65 70 72 6f 63 65 73 73 6f 72 2e 20 20   preprocessor.  
3b00: 41 64 64 65 64 20 62 6c 61 6e 6b 20 63 6f 6d 6d  Added blank comm
3b10: 65 6e 74 20 6c 69 6e 65 73 20 74 6f 20 66 69 78  ent lines to fix
3b20: 20 70 72 6f 62 6c 65 6d 2e 0a 0a 31 30 35 2e 20   problem...105. 
3b30: 31 32 2f 31 36 2f 39 31 20 46 69 78 65 64 20 61  12/16/91 Fixed a
3b40: 20 66 65 77 20 62 75 67 73 20 69 6e 20 61 75 74   few bugs in aut
3b50: 6f 5f 6d 6b 69 6e 64 65 78 20 70 72 6f 63 3a 20  o_mkindex proc: 
3b60: 20 77 61 73 6e 27 74 20 68 61 6e 64 6c 69 6e 67   wasn't handling
3b70: 0a 65 72 72 6f 72 73 20 70 72 6f 70 65 72 6c 79  .errors properly
3b80: 2c 20 61 6e 64 20 68 61 64 6e 27 74 20 62 65 65  , and hadn't bee
3b90: 6e 20 75 70 67 72 61 64 65 64 20 66 6f 72 20 6e  n upgraded for n
3ba0: 65 77 20 22 72 65 67 65 78 70 22 20 73 79 6e 74  ew "regexp" synt
3bb0: 61 78 2e 0a 0a 31 30 36 2e 20 31 2f 32 2f 39 32  ax...106. 1/2/92
3bc0: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 66   Fixed bug in "f
3bd0: 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 77 68 65  ile" command whe
3be0: 72 65 20 69 74 20 64 69 64 6e 27 74 20 70 72 6f  re it didn't pro
3bf0: 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 61 20 66  perly handle.a f
3c00: 69 6c 65 20 6e 61 6d 65 73 20 63 6f 6e 74 61 69  ile names contai
3c10: 6e 69 6e 67 20 74 69 6c 64 65 73 20 77 68 65 72  ning tildes wher
3c20: 65 20 74 68 65 20 69 6e 64 69 63 61 74 65 64 20  e the indicated 
3c30: 75 73 65 72 20 64 6f 65 73 6e 27 74 20 65 78 69  user doesn't exi
3c40: 73 74 2e 0a 0a 31 30 37 2e 20 31 2f 32 2f 39 32  st...107. 1/2/92
3c50: 20 46 69 78 65 64 20 6c 6f 74 73 20 6f 66 20 63   Fixed lots of c
3c60: 61 73 65 73 20 69 6e 20 74 63 6c 55 6e 69 78 53  ases in tclUnixS
3c70: 74 72 2e 63 20 77 68 65 72 65 20 74 77 6f 20 64  tr.c where two d
3c80: 69 66 66 65 72 65 6e 74 0a 65 72 72 6e 6f 20 73  ifferent.errno s
3c90: 79 6d 62 6f 6c 73 20 28 65 2e 67 2e 20 45 57 4f  ymbols (e.g. EWO
3ca0: 55 4c 44 42 4c 4f 43 4b 20 61 6e 64 20 45 41 47  ULDBLOCK and EAG
3cb0: 41 49 4e 29 20 68 61 76 65 20 74 68 65 20 73 61  AIN) have the sa
3cc0: 6d 65 20 6e 75 6d 62 65 72 3b 20 20 54 63 6c 0a  me number;  Tcl.
3cd0: 77 69 6c 6c 20 6f 6e 6c 79 20 75 73 65 20 6f 6e  will only use on
3ce0: 65 20 6f 66 20 74 68 65 6d 2e 0a 0a 31 30 38 2e  e of them...108.
3cf0: 20 31 2f 32 2f 39 32 20 4c 6f 74 73 20 6f 66 20   1/2/92 Lots of 
3d00: 63 68 61 6e 67 65 73 20 74 6f 20 63 6f 6e 66 69  changes to confi
3d10: 67 75 72 61 74 69 6f 6e 20 73 63 72 69 70 74 20  guration script 
3d20: 74 6f 20 68 61 6e 64 6c 65 20 6d 61 6e 79 20 6d  to handle many m
3d30: 6f 72 65 0a 73 79 73 74 65 6d 73 20 6d 6f 72 65  ore.systems more
3d40: 20 67 72 61 63 65 66 75 6c 6c 79 2e 20 20 45 2e   gracefully.  E.
3d50: 67 2e 20 73 68 6f 75 6c 64 20 6e 6f 77 20 64 65  g. should now de
3d60: 74 65 63 74 20 74 68 65 20 62 6f 67 75 73 20 73  tect the bogus s
3d70: 74 72 74 6f 75 6c 20 74 68 61 74 0a 63 6f 6d 65  trtoul that.come
3d80: 73 20 77 69 74 68 20 41 49 58 20 61 6e 64 20 73  s with AIX and s
3d90: 75 62 73 74 69 74 75 74 65 20 54 63 6c 27 73 20  ubstitute Tcl's 
3da0: 6f 77 6e 20 76 65 72 73 69 6f 6e 20 69 6e 73 74  own version inst
3db0: 65 61 64 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ead...----------
3dc0: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
3dd0: 20 76 65 72 73 69 6f 6e 20 36 2e 32 2c 20 31 2f   version 6.2, 1/
3de0: 31 30 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  10/92 ----------
3df0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 39 2e 20 31  --------..109. 1
3e00: 2f 32 30 2f 39 32 20 43 6f 6e 66 69 67 20 64 69  /20/92 Config di
3e10: 64 6e 27 74 20 68 61 76 65 20 63 6f 64 65 20 74  dn't have code t
3e20: 6f 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 22  o actually use "
3e30: 75 69 64 5f 74 22 20 76 61 72 69 61 62 6c 65 0a  uid_t" variable.
3e40: 74 6f 20 73 65 74 20 54 43 4c 5f 55 49 54 5f 54  to set TCL_UIT_T
3e50: 20 23 64 65 66 69 6e 65 2e 0a 0a 31 31 30 2e 20   #define...110. 
3e60: 32 2f 31 30 2f 39 32 20 54 63 6c 5f 45 76 61 6c  2/10/92 Tcl_Eval
3e70: 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79   didn't properly
3e80: 20 72 65 73 65 74 20 22 6e 75 6d 4c 65 76 65 6c   reset "numLevel
3e90: 73 22 20 76 61 72 69 61 62 6c 65 20 77 68 65 6e  s" variable when
3ea0: 0a 74 6f 6f 2d 64 65 65 70 20 72 65 63 75 72 73  .too-deep recurs
3eb0: 69 6f 6e 20 6f 63 63 75 72 72 65 64 2e 0a 0a 31  ion occurred...1
3ec0: 31 31 2e 20 32 2f 32 39 2f 39 32 20 41 64 64 65  11. 2/29/92 Adde
3ed0: 64 20 22 6f 6e 22 20 61 6e 64 20 22 6f 66 66 22  d "on" and "off"
3ee0: 20 74 6f 20 6b 65 79 77 6f 72 64 73 20 61 63 63   to keywords acc
3ef0: 65 70 74 65 64 20 62 79 20 54 63 6c 5f 47 65 74  epted by Tcl_Get
3f00: 42 6f 6f 6c 65 61 6e 2e 0a 0a 31 31 32 2e 20 33  Boolean...112. 3
3f10: 2f 31 39 2f 39 32 20 43 6f 6e 66 69 67 20 77 61  /19/92 Config wa
3f20: 73 6e 27 74 20 69 6e 73 74 61 6c 6c 69 6e 67 20  sn't installing 
3f30: 64 65 66 61 75 6c 74 20 76 65 72 73 69 6f 6e 20  default version 
3f40: 6f 66 20 73 74 72 74 6f 64 2e 63 20 66 6f 72 0a  of strtod.c for.
3f50: 73 79 73 74 65 6d 73 20 74 68 61 74 20 64 6f 6e  systems that don
3f60: 27 74 20 68 61 76 65 20 6f 6e 65 20 69 6e 20 6c  't have one in l
3f70: 69 62 63 2e 61 2e 0a 0a 31 31 33 2e 20 33 2f 32  ibc.a...113. 3/2
3f80: 33 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69  3/92 Fixed bug i
3f90: 6e 20 74 63 6c 45 78 70 72 2e 63 20 77 68 65 72  n tclExpr.c wher
3fa0: 65 20 6e 75 6d 62 65 72 73 20 77 69 74 68 20 6c  e numbers with l
3fb0: 65 61 64 69 6e 67 20 22 2e 22 73 2c 0a 6c 69 6b  eading "."s,.lik
3fc0: 65 20 30 2e 37 35 2c 20 63 6f 75 6c 64 6e 27 74  e 0.75, couldn't
3fd0: 20 62 65 20 70 72 6f 70 65 72 6c 79 20 73 75 62   be properly sub
3fe0: 73 74 69 74 75 74 65 64 20 69 6e 74 6f 20 65 78  stituted into ex
3ff0: 70 72 65 73 73 69 6f 6e 73 20 77 69 74 68 0a 76  pressions with.v
4000: 61 72 69 61 62 6c 65 20 6f 72 20 63 6f 6d 6d 61  ariable or comma
4010: 6e 64 20 73 75 62 73 74 69 74 75 74 69 6f 6e 2e  nd substitution.
4020: 0a 0a 31 31 34 2e 20 33 2f 32 35 2f 39 32 20 46  ..114. 3/25/92 F
4030: 69 78 65 64 20 62 75 67 20 69 6e 20 74 63 6c 55  ixed bug in tclU
4040: 6e 69 78 41 5a 2e 63 20 77 68 65 72 65 20 22 67  nixAZ.c where "g
4050: 65 74 73 22 20 63 6f 6d 6d 61 6e 64 20 77 61 73  ets" command was
4060: 6e 27 74 0a 63 68 65 63 6b 69 6e 67 20 74 6f 20  n't.checking to 
4070: 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 69  make sure that i
4080: 74 20 77 61 73 20 61 62 6c 65 20 74 6f 20 77 72  t was able to wr
4090: 69 74 65 20 74 68 65 20 76 61 72 69 61 62 6c 65  ite the variable
40a0: 20 4f 4b 2e 0a 0a 31 31 35 2e 20 34 2f 31 36 2f   OK...115. 4/16/
40b0: 39 32 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  92 Fixed bug in 
40c0: 74 63 6c 55 6e 69 78 41 5a 2e 63 20 77 68 65 72  tclUnixAZ.c wher
40d0: 65 20 22 72 65 61 64 22 20 63 6f 6d 6d 61 6e 64  e "read" command
40e0: 20 64 69 64 6e 27 74 0a 63 6f 6d 70 75 74 65 20   didn't.compute 
40f0: 66 69 6c 65 20 73 69 7a 65 20 72 69 67 68 74 20  file size right 
4100: 66 6f 72 20 64 65 76 69 63 65 20 66 69 6c 65 73  for device files
4110: 2e 0a 0a 31 31 36 2e 20 34 2f 32 33 2f 39 32 20  ...116. 4/23/92 
4120: 46 69 78 65 64 20 62 75 74 20 69 6e 20 74 63 6c  Fixed but in tcl
4130: 43 6d 64 4d 5a 2e 63 20 77 68 65 72 65 20 22 74  CmdMZ.c where "t
4140: 72 61 63 65 20 76 69 6e 66 6f 22 20 77 61 73 20  race vinfo" was 
4150: 6f 76 65 72 77 72 69 74 69 6e 67 0a 74 68 65 20  overwriting.the 
4160: 74 72 61 63 65 20 63 6f 6d 6d 61 6e 64 2e 0a 0a  trace command...
4170: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
4180: 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69  - Released versi
4190: 6f 6e 20 36 2e 33 2c 20 35 2f 31 2f 39 32 20 2d  on 6.3, 5/1/92 -
41a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
41b0: 2d 0a 0a 31 31 37 2e 20 35 2f 31 2f 39 32 20 41  -..117. 5/1/92 A
41c0: 64 64 65 64 20 54 63 6c 5f 47 6c 6f 62 61 6c 45  dded Tcl_GlobalE
41d0: 76 61 6c 2e 0a 0a 31 31 38 2e 20 36 2f 31 2f 39  val...118. 6/1/9
41e0: 32 20 43 68 61 6e 67 65 64 20 61 75 74 6f 2d 6c  2 Changed auto-l
41f0: 6f 61 64 20 66 61 63 69 6c 69 74 79 20 74 6f 20  oad facility to 
4200: 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 74 20  source files at 
4210: 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 2e 0a 0a 31  global level...1
4220: 31 39 2e 20 36 2f 38 2f 39 32 20 54 63 6c 5f 50  19. 6/8/92 Tcl_P
4230: 61 72 73 65 56 61 72 20 77 61 73 6e 27 74 20 61  arseVar wasn't a
4240: 6c 77 61 79 73 20 73 65 74 74 69 6e 67 20 74 65  lways setting te
4250: 72 6d 50 74 72 20 61 66 74 65 72 20 65 72 72 6f  rmPtr after erro
4260: 72 73 2c 20 77 68 69 63 68 0a 73 6f 6d 65 74 69  rs, which.someti
4270: 6d 65 73 20 63 61 75 73 65 64 20 63 6f 72 65 20  mes caused core 
4280: 64 75 6d 70 73 2e 0a 0a 31 32 30 2e 20 36 2f 32  dumps...120. 6/2
4290: 31 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69  1/92 Fixed bug i
42a0: 6e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  n initialization
42b0: 20 6f 66 20 72 65 67 65 78 70 20 70 61 74 74 65   of regexp patte
42c0: 72 6e 20 63 61 63 68 65 2e 20 20 54 68 69 73 0a  rn cache.  This.
42d0: 62 75 67 20 63 61 75 73 65 64 20 73 65 67 6d 65  bug caused segme
42e0: 6e 74 61 74 69 6f 6e 20 76 69 6f 6c 61 74 69 6f  ntation violatio
42f0: 6e 73 20 69 6e 20 72 65 67 65 78 70 20 63 6f 6d  ns in regexp com
4300: 6d 61 6e 64 73 20 75 6e 64 65 72 20 73 6f 6d 65  mands under some
4310: 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 31 32   conditions...12
4320: 31 2e 20 36 2f 32 32 2f 39 32 20 43 68 61 6e 67  1. 6/22/92 Chang
4330: 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ed implementatio
4340: 6e 20 6f 66 20 22 67 6c 6f 62 22 20 63 6f 6d 6d  n of "glob" comm
4350: 61 6e 64 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65  and to eliminate
4360: 0a 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 65  .trailing slashe
4370: 73 20 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 6e  s on directory n
4380: 61 6d 65 73 3a 20 20 74 68 65 79 20 63 6f 6e 66  ames:  they conf
4390: 75 73 65 20 73 6f 6d 65 20 73 79 73 74 65 6d 73  use some systems
43a0: 2e 20 20 54 68 65 72 65 0a 73 68 6f 75 6c 64 6e  .  There.shouldn
43b0: 27 74 20 62 65 20 61 6e 79 20 75 73 65 72 2d 76  't be any user-v
43c0: 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 20 69  isible changes i
43d0: 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20  n functionality 
43e0: 65 78 63 65 70 74 20 66 6f 72 20 6e 61 6d 65 73  except for names
43f0: 0a 69 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67  .in error messag
4400: 65 73 20 6e 6f 74 20 68 61 76 69 6e 67 20 74 72  es not having tr
4410: 61 69 6c 69 6e 67 20 73 6c 61 73 68 65 73 2e 0a  ailing slashes..
4420: 0a 31 32 32 2e 20 37 2f 32 2f 39 32 20 46 69 78  .122. 7/2/92 Fix
4430: 65 64 20 62 75 67 20 74 68 61 74 20 63 61 75 73  ed bug that caus
4440: 65 64 20 27 73 74 72 69 6e 67 20 6d 61 74 63 68  ed 'string match
4450: 20 2a 2a 20 22 22 27 20 74 6f 20 72 65 74 75 72   ** ""' to retur
4460: 6e 20 30 2e 0a 0a 31 32 33 2e 20 37 2f 32 2f 39  n 0...123. 7/2/9
4470: 32 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54  2 Fixed bug in T
4480: 63 6c 5f 43 72 65 61 74 65 43 6d 64 42 75 66 20  cl_CreateCmdBuf 
4490: 77 68 65 72 65 20 69 74 20 77 61 73 6e 27 74 20  where it wasn't 
44a0: 69 6e 69 74 69 61 6c 69 7a 69 6e 67 0a 74 68 65  initializing.the
44b0: 20 62 75 66 66 65 72 20 74 6f 20 61 6e 20 65 6d   buffer to an em
44c0: 70 74 79 20 73 74 72 69 6e 67 2e 0a 0a 31 32 34  pty string...124
44d0: 2e 20 37 2f 36 2f 39 32 20 46 69 78 65 64 20 62  . 7/6/92 Fixed b
44e0: 75 67 20 69 6e 20 22 63 61 73 65 22 20 63 6f 6d  ug in "case" com
44f0: 6d 61 6e 64 20 77 68 65 72 65 20 69 74 20 75 73  mand where it us
4500: 65 64 20 4e 55 4c 4c 20 70 61 74 74 65 72 6e 20  ed NULL pattern 
4510: 73 74 72 69 6e 67 0a 61 66 74 65 72 20 65 72 72  string.after err
4520: 6f 72 73 20 69 6e 20 74 68 65 20 22 64 65 66 61  ors in the "defa
4530: 75 6c 74 22 20 63 6c 61 75 73 65 2e 0a 0a 31 32  ult" clause...12
4540: 35 2e 20 37 2f 32 35 2f 39 32 20 53 70 65 65 64  5. 7/25/92 Speed
4550: 65 64 20 75 70 20 61 75 74 6f 5f 6c 6f 61 64 20  ed up auto_load 
4560: 70 72 6f 63 65 64 75 72 65 3a 20 20 64 6f 6e 27  procedure:  don'
4570: 74 20 72 65 72 65 61 64 20 61 6c 6c 20 74 68 65  t reread all the
4580: 20 69 6e 64 65 78 0a 66 69 6c 65 73 20 75 6e 6c   index.files unl
4590: 65 73 73 20 74 68 65 20 70 61 74 68 20 68 61 73  ess the path has
45a0: 20 63 68 61 6e 67 65 64 2e 0a 0a 31 32 36 2e 20   changed...126. 
45b0: 38 2f 33 2f 39 32 20 43 68 61 6e 67 65 64 20 74  8/3/92 Changed t
45c0: 63 6c 55 6e 69 78 2e 68 20 74 6f 20 64 65 66 69  clUnix.h to defi
45d0: 6e 65 20 4d 41 58 50 41 54 48 4c 45 4e 20 66 72  ne MAXPATHLEN fr
45e0: 6f 6d 20 50 41 54 48 5f 4d 41 58 2c 20 6e 6f 74  om PATH_MAX, not
45f0: 0a 5f 50 4f 53 49 58 5f 50 41 54 48 5f 4d 41 58  ._POSIX_PATH_MAX
4600: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
4610: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
4620: 72 73 69 6f 6e 20 36 2e 34 2c 20 38 2f 37 2f 39  rsion 6.4, 8/7/9
4630: 32 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  2 --------------
4640: 2d 2d 2d 2d 0a 0a 31 32 37 2e 20 38 2f 31 30 2f  ----..127. 8/10/
4650: 39 32 20 43 68 61 6e 67 65 64 20 74 63 6c 42 61  92 Changed tclBa
4660: 73 69 63 2e 63 20 73 6f 20 74 68 61 74 20 63 6f  sic.c so that co
4670: 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 63 61 6e 20  mment lines can 
4680: 62 65 20 63 6f 6e 74 69 6e 75 65 64 20 62 79 0a  be continued by.
4690: 70 75 74 74 69 6e 67 20 61 20 62 61 63 6b 73 6c  putting a backsl
46a0: 61 73 68 20 62 65 66 6f 72 65 20 74 68 65 20 6e  ash before the n
46b0: 65 77 6c 69 6e 65 2e 0a 0a 31 32 38 2e 20 38 2f  ewline...128. 8/
46c0: 32 31 2f 39 32 20 4d 6f 64 69 66 69 65 64 20 22  21/92 Modified "
46d0: 75 6e 6b 6e 6f 77 6e 22 20 74 6f 20 61 6c 6c 6f  unknown" to allo
46e0: 77 20 74 68 65 20 73 6f 75 72 63 65 2d 69 6e 67  w the source-ing
46f0: 20 6f 66 20 61 20 66 69 6c 65 20 66 6f 72 0a 61   of a file for.a
4700: 6e 20 61 75 74 6f 2d 6c 6f 61 64 20 74 6f 20 74  n auto-load to t
4710: 72 69 67 67 65 72 20 6f 74 68 65 72 20 6e 65 73  rigger other nes
4720: 74 65 64 20 61 75 74 6f 2d 6c 6f 61 64 73 2c 20  ted auto-loads, 
4730: 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 72 65  as long as there
4740: 20 69 73 6e 27 74 0a 61 6e 79 20 72 65 63 75 72   isn't.any recur
4750: 73 69 6f 6e 20 6f 6e 20 74 68 65 20 73 61 6d 65  sion on the same
4760: 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 2e 0a 0a   command name...
4770: 31 32 39 2e 20 38 2f 32 35 2f 39 32 20 4d 6f 64  129. 8/25/92 Mod
4780: 69 66 69 65 64 20 22 66 6f 72 6d 61 74 22 20 63  ified "format" c
4790: 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77 20  ommand to allow 
47a0: 22 20 22 20 61 6e 64 20 22 2b 22 20 66 6c 61 67  " " and "+" flag
47b0: 73 2c 20 61 6e 64 0a 61 6c 6c 6f 77 20 66 6c 61  s, and.allow fla
47c0: 67 73 20 69 6e 20 61 6e 79 20 6f 72 64 65 72 2e  gs in any order.
47d0: 0a 0a 31 33 30 2e 20 39 2f 31 34 2f 39 32 20 4d  ..130. 9/14/92 M
47e0: 6f 64 69 66 69 65 64 20 54 63 6c 5f 50 61 72 73  odified Tcl_Pars
47f0: 65 56 61 72 20 73 6f 20 74 68 61 74 20 69 74 20  eVar so that it 
4800: 64 6f 65 73 6e 27 74 20 61 63 74 75 61 6c 6c 79  doesn't actually
4810: 20 61 74 74 65 6d 70 74 0a 74 6f 20 6c 6f 6f 6b   attempt.to look
4820: 20 75 70 20 74 68 65 20 76 61 72 69 61 62 6c 65   up the variable
4830: 20 69 66 20 22 6e 6f 45 76 61 6c 22 20 6d 6f 64   if "noEval" mod
4840: 65 20 69 73 20 69 6e 20 65 66 66 65 63 74 20 69  e is in effect i
4850: 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65  n the interprete
4860: 72 0a 28 69 74 20 6a 75 73 74 20 70 61 72 73 65  r.(it just parse
4870: 73 20 74 68 65 20 6e 61 6d 65 29 2e 20 20 54 68  s the name).  Th
4880: 69 73 20 61 76 6f 69 64 73 20 74 68 65 20 65 72  is avoids the er
4890: 72 6f 72 73 20 74 68 61 74 20 75 73 65 64 20 74  rors that used t
48a0: 6f 20 6f 63 63 75 72 0a 69 6e 20 73 74 61 74 65  o occur.in state
48b0: 6d 65 6e 74 73 20 6c 69 6b 65 20 22 65 78 70 72  ments like "expr
48c0: 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 66   {[info exists f
48d0: 6f 6f 5d 20 26 26 20 24 66 6f 6f 7d 22 2e 0a 0a  oo] && $foo}"...
48e0: 31 33 31 2e 20 39 2f 31 34 2f 39 32 20 46 69 78  131. 9/14/92 Fix
48f0: 65 64 20 62 75 67 20 69 6e 20 22 75 70 6c 65 76  ed bug in "uplev
4900: 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 77 68 65 72  el" command wher
4910: 65 20 69 74 20 64 69 64 6e 27 74 20 6f 75 74 70  e it didn't outp
4920: 75 74 20 74 68 65 0a 63 6f 72 72 65 63 74 20 65  ut the.correct e
4930: 72 72 6f 72 20 6d 65 73 73 61 67 65 20 69 66 20  rror message if 
4940: 61 20 6c 65 76 65 6c 20 77 61 73 20 73 70 65 63  a level was spec
4950: 69 66 69 65 64 20 62 75 74 20 6e 6f 20 63 6f 6d  ified but no com
4960: 6d 61 6e 64 2e 0a 0a 31 33 32 2e 20 39 2f 31 34  mand...132. 9/14
4970: 2f 39 32 20 52 65 6e 61 6d 65 64 20 6d 61 6e 75  /92 Renamed manu
4980: 61 6c 20 65 6e 74 72 69 65 73 20 74 6f 20 68 61  al entries to ha
4990: 76 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 6c 69  ve extensions li
49a0: 6b 65 20 2e 33 20 61 6e 64 20 2e 6e 2c 0a 61 6e  ke .3 and .n,.an
49b0: 64 20 61 64 64 65 64 20 22 69 6e 73 74 61 6c 6c  d added "install
49c0: 22 20 74 61 72 67 65 74 20 74 6f 20 4d 61 6b 65  " target to Make
49d0: 66 69 6c 65 2e 0a 0a 31 33 33 2e 20 39 2f 31 38  file...133. 9/18
49e0: 2f 39 32 20 4d 6f 64 69 66 69 65 64 20 22 75 6e  /92 Modified "un
49f0: 6b 6e 6f 77 6e 22 20 63 6f 6d 6d 61 6e 64 20 74  known" command t
4a00: 6f 20 65 6d 75 6c 61 74 65 20 21 21 2c 20 21 3c  o emulate !!, !<
4a10: 6e 75 6d 3e 2c 20 61 6e 64 0a 5e 3c 6f 6c 64 3e  num>, and.^<old>
4a20: 5e 3c 6e 65 77 3e 20 63 73 68 20 68 69 73 74 6f  ^<new> csh histo
4a30: 72 79 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73  ry substitutions
4a40: 2e 0a 0a 31 33 34 2e 20 39 2f 32 31 2f 39 32 20  ...134. 9/21/92 
4a50: 4d 61 64 65 20 74 68 65 20 63 6f 6e 66 69 67 20  Made the config 
4a60: 73 63 72 69 70 74 20 63 6c 65 76 65 72 65 72 20  script cleverer 
4a70: 61 62 6f 75 74 20 66 69 67 75 72 69 6e 67 20 6f  about figuring o
4a80: 75 74 20 77 68 69 63 68 0a 73 77 69 74 63 68 65  ut which.switche
4a90: 73 20 74 6f 20 70 61 73 73 20 74 6f 20 22 6e 6d  s to pass to "nm
4aa0: 22 2e 0a 0a 31 33 35 2e 20 39 2f 32 33 2f 39 32  "...135. 9/23/92
4ab0: 20 46 69 78 65 64 20 74 63 6c 56 61 72 2e 63 20   Fixed tclVar.c 
4ac0: 74 6f 20 62 65 20 73 75 72 65 20 74 6f 20 63 6f  to be sure to co
4ad0: 70 79 20 66 6c 61 67 73 20 77 68 65 6e 20 67 72  py flags when gr
4ae0: 6f 77 69 6e 67 20 76 61 72 69 61 62 6c 65 73 2e  owing variables.
4af0: 0a 55 73 65 64 20 74 6f 20 66 6f 72 67 65 74 20  .Used to forget 
4b00: 61 62 6f 75 74 20 74 72 61 63 65 73 20 69 6e 20  about traces in 
4b10: 70 72 6f 67 72 65 73 73 20 61 6e 64 20 6d 61 6b  progress and mak
4b20: 65 20 65 78 74 72 61 20 72 65 63 75 72 73 69 76  e extra recursiv
4b30: 65 20 63 61 6c 6c 73 0a 6f 6e 20 74 72 61 63 65  e calls.on trace
4b40: 20 70 72 6f 63 73 2e 0a 0a 31 33 36 2e 20 39 2f   procs...136. 9/
4b50: 32 38 2f 39 32 20 46 69 78 65 64 20 62 75 67 20  28/92 Fixed bug 
4b60: 69 6e 20 61 75 74 6f 5f 72 65 73 65 74 20 77 68  in auto_reset wh
4b70: 65 72 65 20 69 74 20 77 61 73 20 75 6e 73 65 74  ere it was unset
4b80: 74 69 6e 67 20 76 61 72 69 61 62 6c 65 73 0a 74  ting variables.t
4b90: 68 61 74 20 6d 69 67 68 74 20 6e 6f 74 20 65 78  hat might not ex
4ba0: 69 73 74 2e 0a 0a 31 33 37 2e 20 31 30 2f 37 2f  ist...137. 10/7/
4bb0: 39 32 20 43 68 61 6e 67 65 64 20 22 70 61 72 72  92 Changed "parr
4bc0: 61 79 22 20 6c 69 62 72 61 72 79 20 70 72 6f 63  ay" library proc
4bd0: 65 64 75 72 65 20 74 6f 20 70 72 69 6e 74 20 61  edure to print a
4be0: 6e 79 20 61 72 72 61 79 0a 61 63 63 65 73 73 69  ny array.accessi
4bf0: 62 6c 65 20 74 6f 20 63 61 6c 6c 65 72 2c 20 6c  ble to caller, l
4c00: 6f 63 61 6c 20 6f 72 20 67 6c 6f 62 61 6c 2e 0a  ocal or global..
4c10: 0a 31 33 38 2e 20 31 30 2f 31 35 2f 39 32 20 46  .138. 10/15/92 F
4c20: 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20 70  ixed bug where p
4c30: 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66 20 6e 65  ropagation of ne
4c40: 77 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  w environment va
4c50: 72 69 61 62 6c 65 0a 76 61 6c 75 65 73 20 61 6d  riable.values am
4c60: 6f 6e 67 20 69 6e 74 65 72 70 72 65 74 65 72 73  ong interpreters
4c70: 20 74 6f 6f 6b 20 4e 21 20 74 69 6d 65 20 69 66   took N! time if
4c80: 20 74 68 65 72 65 20 65 78 69 73 74 20 4e 20 69   there exist N i
4c90: 6e 74 65 72 70 72 65 74 65 72 73 2e 0a 0a 31 33  nterpreters...13
4ca0: 39 2e 20 31 30 2f 31 36 2f 39 32 20 43 68 61 6e  9. 10/16/92 Chan
4cb0: 67 65 64 20 61 75 74 6f 5f 72 65 73 65 74 20 70  ged auto_reset p
4cc0: 72 6f 63 65 64 75 72 65 20 73 6f 20 74 68 61 74  rocedure so that
4cd0: 20 69 74 20 61 6c 73 6f 20 64 65 6c 65 74 65 73   it also deletes
4ce0: 20 61 6e 79 0a 65 78 69 73 74 69 6e 67 20 70 72   any.existing pr
4cf0: 6f 63 65 64 75 72 65 73 20 74 68 61 74 20 61 72  ocedures that ar
4d00: 65 20 69 6e 20 74 68 65 20 61 75 74 6f 5f 6c 6f  e in the auto_lo
4d10: 61 64 20 69 6e 64 65 78 20 28 74 68 65 20 61 73  ad index (the as
4d20: 73 75 6d 70 74 69 6f 6e 20 69 73 0a 74 68 61 74  sumption is.that
4d30: 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 20   they should be 
4d40: 72 65 2d 6c 6f 61 64 65 64 20 74 6f 20 67 65 74  re-loaded to get
4d50: 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73   the latest vers
4d60: 69 6f 6e 73 29 2e 0a 0a 31 34 30 2e 20 31 30 2f  ions)...140. 10/
4d70: 32 31 2f 39 32 20 46 69 78 65 64 20 62 75 67 20  21/92 Fixed bug 
4d80: 74 68 61 74 20 63 61 75 73 65 64 20 6c 69 73 74  that caused list
4d90: 73 20 74 6f 20 62 65 20 69 6e 63 6f 72 72 65 63  s to be incorrec
4da0: 74 6c 79 20 67 65 6e 65 72 61 74 65 64 0a 66 6f  tly generated.fo
4db0: 72 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20  r elements that 
4dc0: 63 6f 6e 74 61 69 6e 65 64 20 62 61 63 6b 73 6c  contained backsl
4dd0: 61 73 68 2d 6e 65 77 6c 69 6e 65 20 73 65 71 75  ash-newline sequ
4de0: 65 6e 63 65 73 2e 0a 0a 31 34 31 2e 20 31 32 2f  ences...141. 12/
4df0: 39 2f 39 32 20 41 64 64 65 64 20 73 75 70 70 6f  9/92 Added suppo
4e00: 72 74 20 66 6f 72 20 54 43 4c 5f 4c 49 42 52 41  rt for TCL_LIBRA
4e10: 52 59 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  RY environment v
4e20: 61 72 69 61 62 6c 65 3a 20 20 75 73 65 0a 69 74  ariable:  use.it
4e30: 20 61 73 20 6c 69 62 72 61 72 79 20 6c 6f 63 61   as library loca
4e40: 74 69 6f 6e 20 69 66 20 69 74 27 73 20 70 72 65  tion if it's pre
4e50: 73 65 6e 74 2e 0a 0a 31 34 32 2e 20 31 32 2f 39  sent...142. 12/9
4e60: 2f 39 32 20 41 64 64 65 64 20 22 69 6e 66 6f 20  /92 Added "info 
4e70: 63 6f 6d 70 6c 65 74 65 22 20 63 6f 6d 6d 61 6e  complete" comman
4e80: 64 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e 64 43 6f  d, Tcl_CommandCo
4e90: 6d 70 6c 65 74 65 20 70 72 6f 63 65 64 75 72 65  mplete procedure
4ea0: 2e 0a 0a 31 34 33 2e 20 31 32 2f 31 36 2f 39 32  ...143. 12/16/92
4eb0: 20 43 68 61 6e 67 65 64 20 74 68 65 20 4d 61 6b   Changed the Mak
4ec0: 65 66 69 6c 65 20 74 6f 20 63 68 65 63 6b 20 74  efile to check t
4ed0: 6f 20 6d 61 6b 65 20 73 75 72 65 20 22 63 6f 6e  o make sure "con
4ee0: 66 69 67 22 20 68 61 73 20 62 65 65 6e 0a 72 75  fig" has been.ru
4ef0: 6e 20 28 63 61 6e 27 74 20 72 75 6e 20 63 6f 6e  n (can't run con
4f00: 66 69 67 20 64 69 72 65 63 74 6c 79 20 66 72 6f  fig directly fro
4f10: 6d 20 74 68 65 20 4d 61 6b 65 66 69 6c 65 20 62  m the Makefile b
4f20: 65 63 61 75 73 65 20 69 74 20 6d 6f 64 69 66 69  ecause it modifi
4f30: 65 73 20 74 68 65 0a 4d 61 6b 65 66 69 6c 65 3b  es the.Makefile;
4f40: 20 20 74 68 75 73 20 6d 61 6b 65 20 68 61 73 20    thus make has 
4f50: 74 6f 20 62 65 20 72 75 6e 20 61 67 61 69 6e 20  to be run again 
4f60: 61 66 74 65 72 20 72 75 6e 6e 69 6e 67 20 63 6f  after running co
4f70: 6e 66 69 67 29 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  nfig)...--------
4f80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
4f90: 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 35 2c 20  ed version 6.5, 
4fa0: 31 32 2f 31 37 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d  12/17/92 -------
4fb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 34 34  -----------..144
4fc0: 2e 20 31 32 2f 32 31 2f 39 32 20 43 68 61 6e 67  . 12/21/92 Chang
4fd0: 65 64 20 63 6f 6e 66 69 67 20 74 6f 20 6c 6f 6f  ed config to loo
4fe0: 6b 20 69 6e 20 73 65 76 65 72 61 6c 20 70 6c 61  k in several pla
4ff0: 63 65 73 20 66 6f 72 20 6c 69 62 63 20 66 69 6c  ces for libc fil
5000: 65 2e 0a 0a 31 34 35 2e 20 31 32 2f 32 33 2f 39  e...145. 12/23/9
5010: 32 20 41 64 64 65 64 20 22 65 6c 73 65 69 66 22  2 Added "elseif"
5020: 20 73 75 70 70 6f 72 74 20 74 6f 20 69 66 2e 20   support to if. 
5030: 20 41 6c 73 6f 2c 20 22 74 68 65 6e 22 2c 20 22   Also, "then", "
5040: 65 6c 73 65 22 2c 20 61 6e 64 0a 22 65 6c 73 65  else", and."else
5050: 69 66 22 20 6d 61 79 20 6e 6f 20 6c 6f 6e 67 65  if" may no longe
5060: 72 20 62 65 20 61 62 62 72 65 76 69 61 74 65 64  r be abbreviated
5070: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
5080: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
5090: 2a 2a 2a 0a 0a 31 34 36 2e 20 31 32 2f 32 38 2f  ***..146. 12/28/
50a0: 39 32 20 43 68 61 6e 67 65 64 20 22 70 75 74 73  92 Changed "puts
50b0: 22 20 61 6e 64 20 22 72 65 61 64 22 20 74 6f 20  " and "read" to 
50c0: 73 75 70 70 6f 72 74 20 69 6e 69 74 69 61 6c 20  support initial 
50d0: 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 0a 73 77 69  "-nonewline".swi
50e0: 74 63 68 20 69 6e 73 74 65 61 64 20 6f 66 20 61  tch instead of a
50f0: 64 64 69 74 69 6f 6e 61 6c 20 22 6e 6f 6e 65 77  dditional "nonew
5100: 6c 69 6e 65 22 20 61 72 67 75 6d 65 6e 74 2e 20  line" argument. 
5110: 20 54 68 65 20 6f 6c 64 20 66 6f 72 6d 20 69 73   The old form is
5120: 0a 73 74 69 6c 6c 20 73 75 70 70 6f 72 74 65 64  .still supported
5130: 2c 20 62 75 74 20 69 74 20 69 73 20 64 69 73 63  , but it is disc
5140: 6f 75 72 61 67 65 64 20 61 6e 64 20 69 73 20 6e  ouraged and is n
5150: 6f 20 6c 6f 6e 67 65 72 20 64 6f 63 75 6d 65 6e  o longer documen
5160: 74 65 64 2e 0a 41 6c 73 6f 20 63 68 61 6e 67 65  ted..Also change
5170: 64 20 22 70 75 74 73 22 20 74 6f 20 6d 61 6b 65  d "puts" to make
5180: 20 74 68 65 20 66 69 6c 65 20 61 72 67 75 6d 65   the file argume
5190: 6e 74 20 64 65 66 61 75 6c 74 20 74 6f 20 73 74  nt default to st
51a0: 64 6f 75 74 3a 20 65 2e 67 2e 0a 22 70 75 74 73  dout: e.g.."puts
51b0: 20 66 6f 6f 22 20 77 69 6c 6c 20 70 72 69 6e 74   foo" will print
51c0: 20 66 6f 6f 20 6f 6e 20 73 74 61 6e 64 61 72 64   foo on standard
51d0: 20 6f 75 74 70 75 74 2e 0a 0a 31 34 37 2e 20 31   output...147. 1
51e0: 2f 36 2f 39 33 20 46 69 78 65 64 20 62 75 67 20  /6/93 Fixed bug 
51f0: 77 68 65 72 65 62 79 20 62 61 63 6b 73 6c 61 73  whereby backslas
5200: 68 2d 6e 65 77 6c 69 6e 65 20 77 61 73 6e 27 74  h-newline wasn't
5210: 20 77 6f 72 6b 69 6e 67 20 77 68 65 6e 0a 74 79   working when.ty
5220: 70 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c  ped interactivel
5230: 79 2c 20 6f 72 20 69 6e 20 22 69 6e 66 6f 20 63  y, or in "info c
5240: 6f 6d 70 6c 65 74 65 22 2e 0a 0a 31 34 38 2e 20  omplete"...148. 
5250: 31 2f 32 32 2f 39 33 20 46 69 78 65 64 20 62 75  1/22/93 Fixed bu
5260: 67 73 20 69 6e 20 22 6c 72 65 70 6c 61 63 65 22  gs in "lreplace"
5270: 20 61 6e 64 20 22 6c 69 6e 73 65 72 74 22 20 77   and "linsert" w
5280: 68 65 72 65 20 63 6c 6f 73 65 0a 71 75 6f 74 65  here close.quote
5290: 73 20 77 65 72 65 20 62 65 69 6e 67 20 6c 6f 73  s were being los
52a0: 74 20 66 72 6f 6d 20 6c 61 73 74 20 65 6c 65 6d  t from last elem
52b0: 65 6e 74 20 62 65 66 6f 72 65 20 72 65 70 6c 61  ent before repla
52c0: 63 65 6d 65 6e 74 20 6f 72 0a 69 6e 73 65 72 74  cement or.insert
52d0: 69 6f 6e 2e 0a 0a 31 34 39 2e 20 31 2f 32 39 2f  ion...149. 1/29/
52e0: 39 33 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  93 Fixed bug in 
52f0: 54 63 6c 5f 41 73 73 65 6d 62 6c 65 43 6d 64 20  Tcl_AssembleCmd 
5300: 77 68 65 72 65 20 69 74 20 77 61 73 6e 27 74 20  where it wasn't 
5310: 72 65 71 75 69 72 69 6e 67 0a 61 20 6e 65 77 6c  requiring.a newl
5320: 69 6e 65 20 61 74 20 74 68 65 20 65 6e 64 20 6f  ine at the end o
5330: 66 20 61 20 6c 69 6e 65 20 62 65 66 6f 72 65 20  f a line before 
5340: 63 6f 6e 73 69 64 65 72 69 6e 67 20 61 20 63 6f  considering a co
5350: 6d 6d 61 6e 64 20 74 6f 20 62 65 0a 63 6f 6d 70  mmand to be.comp
5360: 6c 65 74 65 2e 20 20 54 68 65 20 62 75 67 20 63  lete.  The bug c
5370: 61 75 73 65 64 20 73 6f 6d 65 20 76 65 72 79 20  aused some very 
5380: 6c 6f 6e 67 20 6c 69 6e 65 73 20 69 6e 20 73 63  long lines in sc
5390: 72 69 70 74 20 66 69 6c 65 73 20 74 6f 0a 62 65  ript files to.be
53a0: 20 70 72 6f 63 65 73 73 65 64 20 61 73 20 6d 75   processed as mu
53b0: 6c 74 69 70 6c 65 20 73 65 70 61 72 61 74 65 20  ltiple separate 
53c0: 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 35 30 2e 20  commands...150. 
53d0: 31 2f 32 39 2f 39 33 20 56 61 72 69 6f 75 73 20  1/29/93 Various 
53e0: 63 68 61 6e 67 65 73 20 69 6e 20 4d 61 6b 65 66  changes in Makef
53f0: 69 6c 65 20 74 6f 20 61 64 64 20 6d 6f 72 65 20  ile to add more 
5400: 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 6f 70  configuration.op
5410: 74 69 6f 6e 73 2c 20 73 69 6d 70 6c 69 66 79 20  tions, simplify 
5420: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c 20 66 69  installation, fi
5430: 78 20 62 75 67 73 20 28 65 2e 67 2e 20 64 6f 6e  x bugs (e.g. don
5440: 27 74 20 75 73 65 20 2d 66 20 73 77 69 74 63 68  't use -f switch
5450: 0a 66 6f 72 20 63 70 29 2c 20 65 74 63 2e 0a 0a  .for cp), etc...
5460: 31 35 31 2e 20 31 2f 32 39 2f 39 33 20 43 68 61  151. 1/29/93 Cha
5470: 6e 67 65 64 20 22 6e 61 6d 65 31 22 20 61 6e 64  nged "name1" and
5480: 20 22 6e 61 6d 65 32 22 20 69 64 65 6e 74 69 66   "name2" identif
5490: 69 65 72 73 20 74 6f 20 22 70 61 72 74 31 22 20  iers to "part1" 
54a0: 61 6e 64 0a 22 70 61 72 74 32 22 20 74 6f 20 61  and."part2" to a
54b0: 76 6f 69 64 20 6e 61 6d 65 20 63 6f 6e 66 6c 69  void name confli
54c0: 63 74 73 20 77 69 74 68 20 73 74 75 70 69 64 20  cts with stupid 
54d0: 43 2b 2b 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  C++ implementati
54e0: 6f 6e 73 20 74 68 61 74 0a 75 73 65 20 22 6e 61  ons that.use "na
54f0: 6d 65 31 22 20 61 6e 64 20 22 6e 61 6d 65 32 22  me1" and "name2"
5500: 20 69 6e 20 61 20 72 65 73 65 72 76 65 64 20 77   in a reserved w
5510: 61 79 2e 0a 0a 31 35 32 2e 20 32 2f 31 2f 39 33  ay...152. 2/1/93
5520: 20 41 64 64 65 64 20 22 70 75 74 65 6e 76 22 20   Added "putenv" 
5530: 70 72 6f 63 65 64 75 72 65 20 74 6f 20 72 65 70  procedure to rep
5540: 6c 61 63 65 20 74 68 65 20 73 74 61 6e 64 61 72  lace the standar
5550: 64 20 73 79 73 74 65 6d 0a 76 65 72 73 69 6f 6e  d system.version
5560: 20 73 6f 20 74 68 61 74 20 69 74 20 77 69 6c 6c   so that it will
5570: 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20   work correctly 
5580: 77 69 74 68 20 54 63 6c 27 73 20 65 6e 76 69 72  with Tcl's envir
5590: 6f 6e 6d 65 6e 74 20 68 61 6e 64 6c 69 6e 67 2e  onment handling.
55a0: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
55b0: 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72  --- Released ver
55c0: 73 69 6f 6e 20 36 2e 36 2c 20 32 2f 35 2f 39 33  sion 6.6, 2/5/93
55d0: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
55e0: 2d 2d 2d 0a 0a 31 35 33 2e 20 32 2f 31 30 2f 39  ---..153. 2/10/9
55f0: 33 20 46 69 78 65 64 20 62 75 67 73 20 69 6e 20  3 Fixed bugs in 
5600: 63 6f 6e 66 69 67 20 73 63 72 69 70 74 3a 20 20  config script:  
5610: 6d 69 73 73 69 6e 67 20 22 65 6e 64 69 66 22 20  missing "endif" 
5620: 69 6e 20 6c 69 62 63 20 6c 6f 6f 70 2c 0a 61 6e  in libc loop,.an
5630: 64 20 74 72 69 65 64 20 74 6f 20 75 73 65 20 73  d tried to use s
5640: 74 72 6e 63 61 73 65 63 6d 70 2e 63 20 69 6e 73  trncasecmp.c ins
5650: 74 65 61 64 20 6f 66 20 73 74 72 63 61 73 65 63  tead of strcasec
5660: 6d 70 2e 63 2e 0a 0a 31 35 34 2e 20 32 2f 31 30  mp.c...154. 2/10
5670: 2f 39 33 20 4d 61 6b 65 66 69 6c 65 20 69 6d 70  /93 Makefile imp
5680: 72 6f 76 65 6d 65 6e 74 73 3a 20 20 61 64 64 65  rovements:  adde
5690: 64 20 52 41 4e 4c 49 42 20 76 61 72 69 61 62 6c  d RANLIB variabl
56a0: 65 20 66 6f 72 20 65 61 73 69 65 72 0a 53 79 73  e for easier.Sys
56b0: 2d 56 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  -V configuration
56c0: 2c 20 61 64 64 65 64 20 53 48 45 4c 4c 20 76 61  , added SHELL va
56d0: 72 69 61 62 6c 65 20 66 6f 72 20 53 47 49 20 73  riable for SGI s
56e0: 79 73 74 65 6d 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d  ystems...-------
56f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
5700: 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 37 2c  sed version 6.7,
5710: 20 32 2f 31 31 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d   2/11/93 -------
5720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 35 33  -----------..153
5730: 2e 20 32 2f 36 2f 39 33 20 43 68 61 6e 67 65 73  . 2/6/93 Changes
5740: 20 69 6e 20 62 61 63 6b 73 6c 61 73 68 20 70 72   in backslash pr
5750: 6f 63 65 73 73 69 6e 67 3a 0a 20 20 20 20 2d 20  ocessing:.    - 
5760: 5c 43 78 2c 20 5c 4d 78 2c 20 5c 43 4d 78 2c 20  \Cx, \Mx, \CMx, 
5770: 5c 65 20 73 65 71 75 65 6e 63 65 73 20 6e 6f 20  \e sequences no 
5780: 6c 6f 6e 67 65 72 20 73 70 65 63 69 61 6c 0a 20  longer special. 
5790: 20 20 20 2d 20 5c 3c 6e 65 77 6c 69 6e 65 3e 20     - \<newline> 
57a0: 61 6c 73 6f 20 65 61 74 73 20 75 70 20 61 6e 79  also eats up any
57b0: 20 73 70 61 63 65 20 61 66 74 65 72 20 74 68 65   space after the
57c0: 20 6e 65 77 6c 69 6e 65 2c 20 72 65 70 6c 61 63   newline, replac
57d0: 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 77 68  ing.      the wh
57e0: 6f 6c 65 20 73 65 71 75 65 6e 63 65 20 77 69 74  ole sequence wit
57f0: 68 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 65  h a single space
5800: 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 2d   character.    -
5810: 20 48 65 78 20 73 65 71 75 65 6e 63 65 73 20 6c   Hex sequences l
5820: 69 6b 65 20 5c 78 32 34 20 61 72 65 20 6e 6f 77  ike \x24 are now
5830: 20 73 75 70 70 6f 72 74 65 64 2c 20 61 6c 6f 6e   supported, alon
5840: 67 20 77 69 74 68 20 41 4e 53 49 20 43 27 73 20  g with ANSI C's 
5850: 5c 61 2e 0a 20 20 20 20 2d 20 22 66 6f 72 6d 61  \a..    - "forma
5860: 74 22 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f 65  t" no longer doe
5870: 73 20 62 61 63 6b 73 6c 61 73 68 20 70 72 6f 63  s backslash proc
5880: 65 73 73 69 6e 67 20 6f 6e 20 69 74 73 20 66 6f  essing on its fo
5890: 72 6d 61 74 20 73 74 72 69 6e 67 0a 20 20 20 20  rmat string.    
58a0: 2d 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 6f  - there is no lo
58b0: 6e 67 65 72 20 61 6e 79 20 73 70 65 63 69 61 6c  nger any special
58c0: 20 6d 65 61 6e 69 6e 67 20 74 6f 20 61 20 30 20   meaning to a 0 
58d0: 72 65 74 75 72 6e 20 76 61 6c 75 65 20 66 72 6f  return value fro
58e0: 6d 0a 20 20 20 20 20 20 54 63 6c 5f 42 61 63 6b  m.      Tcl_Back
58f0: 73 6c 61 73 68 0a 20 20 20 20 2d 20 75 6e 6b 6e  slash.    - unkn
5900: 6f 77 6e 20 62 61 63 6b 73 6c 61 73 68 20 73 65  own backslash se
5910: 71 75 65 6e 63 65 73 2c 20 6c 69 6b 65 20 28 65  quences, like (e
5920: 2e 67 2e 20 5c 2a 29 2c 20 61 72 65 20 72 65 70  .g. \*), are rep
5930: 6c 61 63 65 64 20 77 69 74 68 0a 20 20 20 20 20  laced with.     
5940: 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63   the following c
5950: 68 61 72 61 63 74 65 72 20 28 65 2e 67 2e 20 2a  haracter (e.g. *
5960: 29 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75  ), instead of ju
5970: 73 74 20 74 72 65 61 74 69 6e 67 20 74 68 65 0a  st treating the.
5980: 20 20 20 20 20 20 62 61 63 6b 73 6c 61 73 68 20        backslash 
5990: 61 73 20 61 6e 20 6f 72 64 69 6e 61 72 79 20 63  as an ordinary c
59a0: 68 61 72 61 63 74 65 72 2e 0a 2a 2a 2a 20 50 4f  haracter..*** PO
59b0: 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
59c0: 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 35 34  IBILITY ***..154
59d0: 2e 20 32 2f 36 2f 39 33 20 55 70 64 61 74 65 64  . 2/6/93 Updated
59e0: 20 61 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 6e   all copyright n
59f0: 6f 74 69 63 65 73 2e 20 20 54 68 65 20 6d 65 61  otices.  The mea
5a00: 6e 69 6e 67 20 68 61 73 6e 27 74 20 63 68 61 6e  ning hasn't chan
5a10: 67 65 64 0a 61 74 20 61 6c 6c 20 62 75 74 20 74  ged.at all but t
5a20: 68 65 20 77 6f 72 64 69 6e 67 20 64 6f 65 73 20  he wording does 
5a30: 61 20 62 65 74 74 65 72 20 6a 6f 62 20 6f 66 20  a better job of 
5a40: 70 72 6f 74 65 63 74 69 6e 67 20 55 2e 43 2e 20  protecting U.C. 
5a50: 66 72 6f 6d 0a 6c 69 61 62 69 6c 69 74 79 20 28  from.liability (
5a60: 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 55 2e 43  according to U.C
5a70: 2e 20 6c 61 77 79 65 72 73 2c 20 61 6e 79 77 61  . lawyers, anywa
5a80: 79 29 2e 0a 0a 31 35 35 2e 20 32 2f 36 2f 39 33  y)...155. 2/6/93
5a90: 20 43 68 61 6e 67 65 64 20 22 72 65 67 73 75 62   Changed "regsub
5aa0: 22 20 73 6f 20 74 68 61 74 20 69 74 20 6f 76 65  " so that it ove
5ab0: 72 77 72 69 74 65 73 20 74 68 65 20 72 65 73 75  rwrites the resu
5ac0: 6c 74 20 76 61 72 69 61 62 6c 65 0a 69 6e 20 61  lt variable.in a
5ad0: 6c 6c 20 63 61 73 65 73 2c 20 65 76 65 6e 20 69  ll cases, even i
5ae0: 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6d 61  f there is no ma
5af0: 74 63 68 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  tch..*** POTENTI
5b00: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
5b10: 54 59 20 2a 2a 2a 0a 0a 31 35 36 2e 20 32 2f 38  TY ***..156. 2/8
5b20: 2f 39 33 20 41 64 64 65 64 20 73 75 70 70 6f 72  /93 Added suppor
5b30: 74 20 66 6f 72 20 58 50 47 33 20 25 6e 24 20 63  t for XPG3 %n$ c
5b40: 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65 63 69 66  onversion specif
5b50: 69 65 72 73 20 74 6f 20 22 66 6f 72 6d 61 74 22  iers to "format"
5b60: 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 35 37 2e 20  .command...157. 
5b70: 32 2f 31 37 2f 39 33 20 46 69 78 65 64 20 62 75  2/17/93 Fixed bu
5b80: 67 20 69 6e 20 54 63 6c 5f 45 76 61 6c 20 77 68  g in Tcl_Eval wh
5b90: 65 72 65 20 65 72 72 6f 72 73 20 64 75 65 20 74  ere errors due t
5ba0: 6f 20 69 6e 66 69 6e 69 74 65 0a 72 65 63 75 72  o infinite.recur
5bb0: 73 69 6f 6e 20 63 6f 75 6c 64 20 72 65 73 75 6c  sion could resul
5bc0: 74 20 69 6e 20 63 6f 72 65 20 64 75 6d 70 73 2e  t in core dumps.
5bd0: 0a 0a 31 35 38 2e 20 32 2f 31 37 2f 39 33 20 49  ..158. 2/17/93 I
5be0: 6d 70 72 6f 76 65 64 20 74 68 65 20 61 75 74 6f  mproved the auto
5bf0: 2d 6c 6f 61 64 20 6d 65 63 68 61 6e 69 73 6d 20  -load mechanism 
5c00: 74 6f 20 64 65 61 6c 20 67 72 61 63 65 66 75 6c  to deal graceful
5c10: 6c 79 20 28 69 2e 65 2e 0a 72 65 74 75 72 6e 20  ly (i.e..return 
5c20: 61 6e 20 65 72 72 6f 72 29 20 77 69 74 68 20 61  an error) with a
5c30: 20 73 69 74 75 61 74 69 6f 6e 20 77 68 65 72 65   situation where
5c40: 20 61 20 6c 69 62 72 61 72 79 20 66 69 6c 65 20   a library file 
5c50: 74 68 61 74 20 73 75 70 70 6f 73 65 64 6c 79 0a  that supposedly.
5c60: 64 65 66 69 6e 65 73 20 61 20 70 72 6f 63 65 64  defines a proced
5c70: 75 72 65 20 64 6f 65 73 6e 27 74 20 61 63 74 75  ure doesn't actu
5c80: 61 6c 6c 79 20 64 65 66 69 6e 65 20 69 74 2e 0a  ally define it..
5c90: 0a 31 35 39 2e 20 32 2f 31 37 2f 39 33 20 52 65  .159. 2/17/93 Re
5ca0: 6e 61 6d 65 64 20 54 63 6c 5f 55 6e 69 78 45 72  named Tcl_UnixEr
5cb0: 72 6f 72 20 70 72 6f 63 65 64 75 72 65 20 74 6f  ror procedure to
5cc0: 20 54 63 6c 5f 50 6f 73 69 78 45 72 72 6f 72 2c   Tcl_PosixError,
5cd0: 20 61 6e 64 0a 63 68 61 6e 67 65 64 20 65 72 72   and.changed err
5ce0: 6f 72 43 6f 64 65 20 76 61 72 69 61 62 6c 65 20  orCode variable 
5cf0: 75 73 61 67 65 20 74 6f 20 75 73 65 20 50 4f 53  usage to use POS
5d00: 49 58 20 61 73 20 6b 65 79 77 6f 72 64 20 69 6e  IX as keyword in
5d10: 73 74 65 61 64 20 6f 66 0a 55 4e 49 58 2e 0a 2a  stead of.UNIX..*
5d20: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
5d30: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
5d40: 0a 0a 31 36 30 2e 20 32 2f 31 39 2f 39 33 20 43  ..160. 2/19/93 C
5d50: 68 61 6e 67 65 73 20 74 6f 20 65 78 65 63 20 61  hanges to exec a
5d60: 6e 64 20 70 72 6f 63 65 73 73 20 63 6f 6e 74 72  nd process contr
5d70: 6f 6c 3a 0a 20 20 20 20 2d 20 41 64 64 65 64 20  ol:.    - Added 
5d80: 73 75 70 70 6f 72 74 20 66 6f 72 20 3e 3e 2c 20  support for >>, 
5d90: 3e 26 2c 20 3e 3e 26 2c 20 7c 26 2c 20 3c 40 2c  >&, >>&, |&, <@,
5da0: 20 3e 40 2c 20 61 6e 64 20 3e 26 40 20 66 6f 72   >@, and >&@ for
5db0: 6d 73 20 6f 66 20 72 65 64 69 72 65 63 74 69 6f  ms of redirectio
5dc0: 6e 2e 0a 20 20 20 20 2d 20 57 68 65 6e 20 65 78  n..    - When ex
5dd0: 65 63 20 70 75 74 73 20 70 72 6f 63 65 73 73 65  ec puts processe
5de0: 73 20 69 6e 74 6f 20 62 61 63 6b 67 72 6f 75 6e  s into backgroun
5df0: 64 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 20  d, it returns a 
5e00: 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 20 74 68  list of.      th
5e10: 65 69 72 20 70 69 64 73 20 61 73 20 72 65 73 75  eir pids as resu
5e20: 6c 74 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20  lt..    - Added 
5e30: 73 75 70 70 6f 72 74 20 66 6f 72 20 3c 66 69 6c  support for <fil
5e40: 65 2c 20 3e 66 69 6c 65 2c 20 65 74 63 2e 20 28  e, >file, etc. (
5e50: 69 2e 65 2e 20 6e 6f 20 73 70 61 63 65 20 62 65  i.e. no space be
5e60: 74 77 65 65 6e 0a 20 20 20 20 20 20 22 3e 22 20  tween.      ">" 
5e70: 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 20  and file name.. 
5e80: 20 20 20 2d 20 41 64 64 65 64 20 2d 6b 65 65 70     - Added -keep
5e90: 6e 65 77 6c 69 6e 65 20 6f 70 74 69 6f 6e 2e 0a  newline option..
5ea0: 20 20 20 20 2d 20 44 65 6c 65 74 65 64 20 54 63      - Deleted Tc
5eb0: 6c 5f 46 6f 72 6b 20 61 6e 64 20 54 63 6c 5f 57  l_Fork and Tcl_W
5ec0: 61 69 74 50 69 64 73 20 70 72 6f 63 65 64 75 72  aitPids procedur
5ed0: 65 73 20 28 6a 75 73 74 20 75 73 65 20 66 6f 72  es (just use for
5ee0: 6b 20 61 6e 64 0a 20 20 20 20 20 20 77 61 69 74  k and.      wait
5ef0: 70 69 64 20 69 6e 73 74 65 61 64 29 2e 0a 20 20  pid instead)..  
5f00: 20 20 2d 20 41 64 64 65 64 20 77 61 69 74 70 69    - Added waitpi
5f10: 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20  d compatibility 
5f20: 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20 73 79  procedure for sy
5f30: 73 74 65 6d 73 20 74 68 61 74 20 64 6f 6e 27 74  stems that don't
5f40: 20 68 61 76 65 0a 20 20 20 20 20 20 69 74 2e 0a   have.      it..
5f50: 20 20 20 20 2d 20 41 64 64 65 64 20 54 63 6c 5f      - Added Tcl_
5f60: 52 65 61 70 44 65 74 61 63 68 65 64 50 72 6f 63  ReapDetachedProc
5f70: 73 20 70 72 6f 63 65 64 75 72 65 2e 0a 20 20 20  s procedure..   
5f80: 20 2d 20 43 68 61 6e 67 65 64 20 22 65 78 65 63   - Changed "exec
5f90: 22 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 65  " to return an e
5fa0: 72 72 6f 72 20 69 66 20 74 68 65 72 65 20 69 73  rror if there is
5fb0: 20 73 74 64 65 72 72 20 6f 75 74 70 75 74 2c 20   stderr output, 
5fc0: 65 76 65 6e 0a 20 20 20 20 20 20 69 66 20 74 68  even.      if th
5fd0: 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e  e command return
5fe0: 73 20 61 20 30 20 65 78 69 74 20 73 74 61 74 75  s a 0 exit statu
5ff0: 73 20 28 69 74 27 73 20 61 6c 77 61 79 73 20 62  s (it's always b
6000: 65 65 6e 20 64 6f 63 75 6d 65 6e 74 65 64 0a 20  een documented. 
6010: 20 20 20 20 20 74 68 69 73 20 77 61 79 2c 20 62       this way, b
6020: 75 74 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74  ut the implement
6030: 61 74 69 6f 6e 20 77 61 73 6e 27 74 20 63 6f 72  ation wasn't cor
6040: 72 65 63 74 29 2e 0a 20 20 20 20 2d 20 49 66 20  rect)..    - If 
6050: 61 20 70 72 6f 63 65 73 73 20 72 65 74 75 72 6e  a process return
6060: 73 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69  s a non-zero exi
6070: 74 20 73 74 61 74 75 73 20 62 75 74 20 64 6f 65  t status but doe
6080: 73 6e 27 74 20 67 65 6e 65 72 61 74 65 0a 20 20  sn't generate.  
6090: 20 20 20 20 61 6e 79 20 64 69 61 67 6e 6f 73 74      any diagnost
60a0: 69 63 20 6f 75 74 70 75 74 2c 20 74 68 65 6e 20  ic output, then 
60b0: 54 63 6c 20 67 65 6e 65 72 61 74 65 73 20 61 6e  Tcl generates an
60c0: 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 66   error message f
60d0: 6f 72 20 69 74 2e 0a 2a 2a 2a 20 50 4f 54 45 4e  or it..*** POTEN
60e0: 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
60f0: 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 31 2e 20 32  LITY ***..161. 2
6100: 2f 32 35 2f 39 33 20 46 69 78 65 64 20 74 77 6f  /25/93 Fixed two
6110: 20 6d 65 6d 6f 72 79 2d 6d 61 6e 61 67 65 6d 65   memory-manageme
6120: 6e 74 20 70 72 6f 62 6c 65 6d 73 20 68 61 76 69  nt problems havi
6130: 6e 67 20 74 6f 20 64 6f 20 77 69 74 68 0a 6d 61  ng to do with.ma
6140: 6e 61 67 69 6e 67 20 74 68 65 20 6f 6c 64 20 72  naging the old r
6150: 65 73 75 6c 74 20 64 75 72 69 6e 67 20 76 61 72  esult during var
6160: 69 61 62 6c 65 20 74 72 61 63 65 20 63 61 6c 6c  iable trace call
6170: 62 61 63 6b 73 2e 0a 0a 31 36 32 2e 20 33 2f 31  backs...162. 3/1
6180: 2f 39 33 20 41 64 64 65 64 20 64 79 6e 61 6d 69  /93 Added dynami
6190: 63 20 73 74 72 69 6e 67 20 6c 69 62 72 61 72 79  c string library
61a0: 3a 20 20 54 63 6c 5f 44 53 74 72 69 6e 67 49 6e  :  Tcl_DStringIn
61b0: 69 74 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 41  it, Tcl_DStringA
61c0: 70 70 65 6e 64 2c 0a 54 63 6c 5f 44 53 74 72 69  ppend,.Tcl_DStri
61d0: 6e 67 46 72 65 65 2c 20 54 63 6c 5f 44 53 74 72  ngFree, Tcl_DStr
61e0: 69 6e 67 52 65 73 75 6c 74 2c 20 65 74 63 2e 0a  ingResult, etc..
61f0: 0a 31 36 33 2e 20 33 2f 31 2f 39 33 20 4d 6f 64  .163. 3/1/93 Mod
6200: 69 66 69 65 64 20 67 6c 6f 62 20 63 6f 6d 6d 61  ified glob comma
6210: 6e 64 20 74 6f 20 6f 6e 6c 79 20 72 65 74 75 72  nd to only retur
6220: 6e 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 66  n the names of f
6230: 69 6c 65 73 20 74 68 61 74 0a 65 78 69 73 74 2c  iles that.exist,
6240: 20 61 6e 64 20 74 6f 20 6f 6e 6c 79 20 72 65 74   and to only ret
6250: 75 72 6e 20 6e 61 6d 65 73 20 65 6e 64 69 6e 67  urn names ending
6260: 20 69 6e 20 22 2f 22 20 69 66 20 74 68 65 20 66   in "/" if the f
6270: 69 6c 65 20 69 73 20 61 20 64 69 72 65 63 74 6f  ile is a directo
6280: 72 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  ry..*** POTENTIA
6290: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
62a0: 59 20 2a 2a 2a 0a 0a 31 36 34 2e 20 33 2f 31 39  Y ***..164. 3/19
62b0: 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 6e 6f 74  /93 Modified not
62c0: 20 74 6f 20 75 73 65 20 73 79 73 74 65 6d 20 63   to use system c
62d0: 61 6c 6c 73 20 6c 69 6b 65 20 22 72 65 61 64 22  alls like "read"
62e0: 20 64 69 72 65 63 74 6c 79 2c 0a 62 75 74 20 69   directly,.but i
62f0: 6e 73 74 65 61 64 20 74 6f 20 75 73 65 20 73 70  nstead to use sp
6300: 65 63 69 61 6c 20 54 63 6c 20 70 72 6f 63 65 64  ecial Tcl proced
6310: 75 72 65 73 20 74 68 61 74 20 72 65 74 72 79 20  ures that retry 
6320: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 69 66  automatically.if
6330: 20 69 6e 74 65 72 72 75 70 74 65 64 20 62 79 20   interrupted by 
6340: 73 69 67 6e 61 6c 73 2e 0a 0a 31 36 35 2e 20 34  signals...165. 4
6350: 2f 33 2f 39 33 20 45 6c 69 6d 69 6e 61 74 65 64  /3/93 Eliminated
6360: 20 22 6e 6f 53 65 70 22 20 61 72 67 75 6d 65 6e   "noSep" argumen
6370: 74 20 74 6f 20 54 63 6c 5f 41 70 70 65 6e 64 45  t to Tcl_AppendE
6380: 6c 65 6d 65 6e 74 2c 20 70 6c 75 73 0a 54 43 4c  lement, plus.TCL
6390: 5f 4e 4f 5f 53 50 41 43 45 20 66 6c 61 67 20 66  _NO_SPACE flag f
63a0: 6f 72 20 54 63 6c 5f 53 65 74 56 61 72 20 61 6e  or Tcl_SetVar an
63b0: 64 20 54 63 6c 5f 53 65 74 56 61 72 32 2e 0a 2a  d Tcl_SetVar2..*
63c0: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
63d0: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
63e0: 0a 0a 31 36 36 2e 20 34 2f 33 2f 39 33 20 45 6c  ..166. 4/3/93 El
63f0: 69 6d 69 6e 61 74 65 64 20 22 66 6c 61 67 73 22  iminated "flags"
6400: 20 61 6e 64 20 22 74 65 72 6d 50 74 72 22 20 61   and "termPtr" a
6410: 72 67 75 6d 65 6e 74 73 20 74 6f 20 54 63 6c 5f  rguments to Tcl_
6420: 45 76 61 6c 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  Eval..*** POTENT
6430: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
6440: 49 54 59 20 2a 2a 2a 0a 0a 31 36 37 2e 20 34 2f  ITY ***..167. 4/
6450: 33 2f 39 33 20 43 68 61 6e 67 65 73 20 74 6f 20  3/93 Changes to 
6460: 65 78 70 72 65 73 73 69 6f 6e 73 3a 0a 20 20 20  expressions:.   
6470: 20 2d 20 54 68 65 20 22 65 78 70 72 22 20 63 6f   - The "expr" co
6480: 6d 6d 61 6e 64 20 6e 6f 77 20 61 63 63 65 70 74  mmand now accept
6490: 73 20 6d 75 6c 74 69 70 6c 65 20 61 72 67 75 6d  s multiple argum
64a0: 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72 65 0a  ents, which are.
64b0: 20 20 20 20 20 20 63 6f 6e 63 61 74 65 6e 61 74        concatenat
64c0: 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 74 68  ed together with
64d0: 20 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72   space separator
64e0: 73 2e 0a 20 20 20 20 2d 20 49 6e 74 65 67 65 72  s..    - Integer
64f0: 73 20 61 72 65 6e 27 74 20 61 75 74 6f 6d 61 74  s aren't automat
6500: 69 63 61 6c 6c 79 20 70 72 6f 6d 6f 74 65 64 20  ically promoted 
6510: 74 6f 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e  to floating-poin
6520: 74 20 69 66 20 74 68 65 79 0a 20 20 20 20 20 20  t if they.      
6530: 6f 76 65 72 66 6c 6f 77 20 74 68 65 20 77 6f 72  overflow the wor
6540: 64 20 73 69 7a 65 3a 20 20 65 72 72 6f 72 73 20  d size:  errors 
6550: 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e  are generated in
6560: 73 74 65 61 64 2e 0a 20 20 20 20 2d 20 54 63 6c  stead..    - Tcl
6570: 20 63 61 6e 20 6e 6f 77 20 68 61 6e 64 6c 65 20   can now handle 
6580: 22 4e 61 4e 22 20 61 6e 64 20 6f 74 68 65 72 20  "NaN" and other 
6590: 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 20 69  special values i
65a0: 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67  f the underlying
65b0: 0a 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 70  .      library p
65c0: 72 6f 63 65 64 75 72 65 73 20 68 61 6e 64 6c 65  rocedures handle
65d0: 20 74 68 65 6d 2e 0a 20 20 20 20 2d 20 57 68 65   them..    - Whe
65e0: 6e 20 70 72 69 6e 74 69 6e 67 20 66 6c 6f 61 74  n printing float
65f0: 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72  ing-point number
6600: 73 2c 20 54 63 6c 20 65 6e 73 75 72 65 73 20 74  s, Tcl ensures t
6610: 68 61 74 20 74 68 65 72 65 20 69 73 20 61 20 22  hat there is a "
6620: 2e 22 0a 20 20 20 20 20 20 6f 72 20 22 65 22 20  .".      or "e" 
6630: 69 6e 20 74 68 65 20 6e 75 6d 62 65 72 2c 20 73  in the number, s
6640: 6f 20 69 74 20 63 61 6e 27 74 20 62 65 20 74 72  o it can't be tr
6650: 65 61 74 65 64 20 61 73 20 61 6e 20 69 6e 74 65  eated as an inte
6660: 67 65 72 20 61 63 63 69 64 65 6e 74 61 6c 6c 79  ger accidentally
6670: 2e 0a 20 20 20 20 20 20 54 68 65 20 70 72 6f 63  ..      The proc
6680: 65 64 75 72 65 20 54 63 6c 5f 50 72 69 6e 74 44  edure Tcl_PrintD
6690: 6f 75 62 6c 65 20 69 73 20 61 76 61 69 6c 61 62  ouble is availab
66a0: 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68  le to provide th
66b0: 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20  is function.    
66c0: 20 20 69 6e 20 6f 74 68 65 72 20 63 6f 6e 74 65    in other conte
66d0: 78 74 73 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20  xts.  Also, the 
66e0: 76 61 72 69 61 62 6c 65 20 22 74 63 6c 5f 70 72  variable "tcl_pr
66f0: 65 63 69 73 69 6f 6e 22 20 63 61 6e 20 62 65 20  ecision" can be 
6700: 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 73 65  used.      to se
6710: 74 20 74 68 65 20 70 72 65 63 69 73 69 6f 6e 20  t the precision 
6720: 66 6f 72 20 70 72 69 6e 74 69 6e 67 20 28 6d 75  for printing (mu
6730: 73 74 20 62 65 20 61 20 64 65 63 69 6d 61 6c 20  st be a decimal 
6740: 6e 75 6d 62 65 72 20 67 69 76 69 6e 67 0a 20 20  number giving.  
6750: 20 20 20 20 64 69 67 69 74 73 20 6f 66 20 70 72      digits of pr
6760: 65 63 69 73 69 6f 6e 29 2e 0a 20 20 20 20 2d 20  ecision)..    - 
6770: 45 78 70 72 65 73 73 69 6f 6e 73 20 6e 6f 77 20  Expressions now 
6780: 73 75 70 70 6f 72 74 20 74 72 61 6e 73 63 65 6e  support transcen
6790: 64 65 6e 74 61 6c 20 61 6e 64 20 6f 74 68 65 72  dental and other
67a0: 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65 2e 67 2e   functions, e.g.
67b0: 20 73 69 6e 2c 0a 20 20 20 20 20 20 61 63 6f 73   sin,.      acos
67c0: 2c 20 68 79 70 6f 74 2c 20 63 65 69 6c 2c 20 61  , hypot, ceil, a
67d0: 6e 64 20 72 6f 75 6e 64 2e 20 20 43 61 6e 20 61  nd round.  Can a
67e0: 64 64 20 6e 65 77 20 6d 61 74 68 20 66 75 6e 63  dd new math func
67f0: 74 69 6f 6e 73 20 77 69 74 68 0a 20 20 20 20 20  tions with.     
6800: 20 54 63 6c 5f 43 72 65 61 74 65 4d 61 74 68 46   Tcl_CreateMathF
6810: 75 6e 63 28 29 2e 0a 20 20 20 20 2d 20 42 6f 6f  unc()..    - Boo
6820: 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 73  lean expressions
6830: 20 63 61 6e 20 6e 6f 77 20 68 61 76 65 20 61 6e   can now have an
6840: 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20  y of the string 
6850: 76 61 6c 75 65 73 20 61 63 63 65 70 74 65 64 0a  values accepted.
6860: 20 20 20 20 20 20 62 79 20 54 63 6c 5f 47 65 74        by Tcl_Get
6870: 42 6f 6f 6c 65 61 6e 2c 20 73 75 63 68 20 61 73  Boolean, such as
6880: 20 22 79 65 73 22 20 6f 72 20 22 6e 6f 22 2e 0a   "yes" or "no"..
6890: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
68a0: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
68b0: 2a 0a 0a 31 36 38 2e 20 34 2f 35 2f 39 33 20 43  *..168. 4/5/93 C
68c0: 68 61 6e 67 65 64 20 54 63 6c 5f 55 6e 73 65 74  hanged Tcl_Unset
68d0: 56 61 72 20 61 6e 64 20 54 63 6c 5f 55 6e 73 65  Var and Tcl_Unse
68e0: 74 56 61 72 32 20 74 6f 20 72 65 74 75 72 6e 20  tVar2 to return 
68f0: 54 43 4c 5f 4f 4b 0a 6f 72 20 54 43 4c 5f 45 52  TCL_OK.or TCL_ER
6900: 52 4f 52 20 69 6e 73 74 65 61 64 20 6f 66 20 30  ROR instead of 0
6910: 20 6f 72 20 2d 31 2e 0a 2a 2a 2a 20 50 4f 54 45   or -1..*** POTE
6920: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
6930: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 39 2e 20  ILITY ***..169. 
6940: 34 2f 35 2f 39 33 20 45 6c 69 6d 69 6e 61 74 65  4/5/93 Eliminate
6950: 64 20 54 63 6c 5f 43 6d 64 42 75 66 20 73 74 72  d Tcl_CmdBuf str
6960: 75 63 74 75 72 65 20 61 6e 64 20 61 73 73 6f 63  ucture and assoc
6970: 69 61 74 65 64 20 70 72 6f 63 65 64 75 72 65 73  iated procedures
6980: 3b 0a 63 61 6e 20 75 73 65 20 54 63 6c 5f 44 53  ;.can use Tcl_DS
6990: 74 72 69 6e 67 73 20 69 6e 73 74 65 61 64 2e 0a  trings instead..
69a0: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
69b0: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
69c0: 2a 0a 0a 31 37 30 2e 20 34 2f 38 2f 39 33 20 43  *..170. 4/8/93 C
69d0: 68 61 6e 67 65 64 20 69 6e 74 65 72 66 61 63 65  hanged interface
69e0: 20 74 6f 20 54 63 6c 5f 54 69 6c 64 65 53 75 62   to Tcl_TildeSub
69f0: 73 74 20 74 6f 20 75 73 65 20 61 20 64 79 6e 61  st to use a dyna
6a00: 6d 69 63 0a 73 74 72 69 6e 67 20 66 6f 72 20 62  mic.string for b
6a10: 75 66 66 65 72 20 73 70 61 63 65 2e 20 20 54 68  uffer space.  Th
6a20: 69 73 20 6d 61 6b 65 73 20 74 68 65 20 70 72 6f  is makes the pro
6a30: 63 65 64 75 72 65 20 72 65 2d 65 6e 74 72 61 6e  cedure re-entran
6a40: 74 20 61 6e 64 0a 74 68 72 65 61 64 2d 73 61 66  t and.thread-saf
6a50: 65 2c 20 77 68 65 72 65 61 73 20 69 74 20 77 61  e, whereas it wa
6a60: 73 6e 27 74 20 62 65 66 6f 72 65 2e 0a 2a 2a 2a  sn't before..***
6a70: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
6a80: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
6a90: 31 37 31 2e 20 34 2f 31 34 2f 39 33 20 45 6c 69  171. 4/14/93 Eli
6aa0: 6d 69 6e 61 74 65 64 20 74 63 6c 48 61 73 68 2e  minated tclHash.
6ab0: 68 2c 20 61 6e 64 20 6d 6f 76 65 64 20 65 76 65  h, and moved eve
6ac0: 72 79 74 68 69 6e 67 20 66 72 6f 6d 20 69 74 20  rything from it 
6ad0: 74 6f 0a 74 63 6c 2e 68 0a 2a 2a 2a 20 50 4f 54  to.tcl.h.*** POT
6ae0: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
6af0: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 37 32 2e  BILITY ***..172.
6b00: 20 34 2f 31 35 2f 39 33 20 45 6c 69 6d 69 6e 61   4/15/93 Elimina
6b10: 74 65 64 20 54 63 6c 5f 49 6e 69 74 48 69 73 74  ted Tcl_InitHist
6b20: 6f 72 79 2c 20 6d 61 64 65 20 22 68 69 73 74 6f  ory, made "histo
6b30: 72 79 22 20 63 6f 6d 6d 61 6e 64 20 61 6c 77 61  ry" command alwa
6b40: 79 73 0a 62 65 20 70 61 72 74 20 6f 66 20 69 6e  ys.be part of in
6b50: 74 65 72 70 72 65 74 65 72 2e 0a 2a 2a 2a 20 50  terpreter..*** P
6b60: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
6b70: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 37  TIBILITY ***..17
6b80: 33 2e 20 34 2f 31 36 2f 39 33 20 4d 6f 64 69 66  3. 4/16/93 Modif
6b90: 69 65 64 20 22 66 69 6c 65 22 20 63 6f 6d 6d 61  ied "file" comma
6ba0: 6e 64 20 73 6f 20 74 68 61 74 20 22 72 65 61 64  nd so that "read
6bb0: 61 62 6c 65 22 20 6f 70 74 69 6f 6e 20 61 6c 77  able" option alw
6bc0: 61 79 73 0a 65 78 69 73 74 73 2c 20 65 76 65 6e  ays.exists, even
6bd0: 20 6f 6e 20 6d 61 63 68 69 6e 65 73 20 74 68 61   on machines tha
6be0: 74 20 64 6f 6e 27 74 20 73 75 70 70 6f 72 74 20  t don't support 
6bf0: 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 28  symbolic links (
6c00: 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 0a 73  always returns.s
6c10: 61 6d 65 20 65 72 72 6f 72 20 61 73 20 69 66 20  ame error as if 
6c20: 74 68 65 20 66 69 6c 65 20 77 61 73 6e 27 74 20  the file wasn't 
6c30: 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 29  a symbolic link)
6c40: 2e 0a 0a 31 37 34 2e 20 34 2f 32 36 2f 39 33 20  ...174. 4/26/93 
6c50: 46 69 78 65 64 20 62 75 67 73 20 69 6e 20 22 72  Fixed bugs in "r
6c60: 65 67 73 75 62 22 20 77 68 65 72 65 20 5e 20 70  egsub" where ^ p
6c70: 61 74 74 65 72 6e 73 20 64 69 64 6e 27 74 20 67  atterns didn't g
6c80: 65 74 20 68 61 6e 64 6c 65 64 0a 72 69 67 68 74  et handled.right
6c90: 20 28 70 72 65 74 65 6e 64 65 64 20 6e 6f 74 20   (pretended not 
6ca0: 74 6f 20 6d 61 74 63 68 20 77 68 65 6e 20 69 74  to match when it
6cb0: 20 72 65 61 6c 6c 79 20 64 69 64 2c 20 61 6e 64   really did, and
6cc0: 20 6c 6f 6f 70 65 64 20 69 6e 66 69 6e 69 74 65   looped infinite
6cd0: 6c 79 0a 69 66 20 2d 61 6c 6c 20 77 61 73 20 73  ly.if -all was s
6ce0: 70 65 63 69 66 69 65 64 29 2e 0a 0a 31 37 35 2e  pecified)...175.
6cf0: 20 34 2f 32 39 2f 39 33 20 56 61 72 69 6f 75 73   4/29/93 Various
6d00: 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 69 6e   improvements in
6d10: 20 74 68 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66   the handling of
6d20: 20 76 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20   variables:.    
6d30: 2d 20 43 61 6e 20 63 72 65 61 74 65 20 76 61 72  - Can create var
6d40: 69 61 62 6c 65 73 20 61 6e 64 20 61 72 72 61 79  iables and array
6d50: 20 65 6c 65 6d 65 6e 74 73 20 64 75 72 69 6e 67   elements during
6d60: 20 61 20 72 65 61 64 20 74 72 61 63 65 2e 0a 20   a read trace.. 
6d70: 20 20 20 2d 20 43 61 6e 20 64 65 6c 65 74 65 20     - Can delete 
6d80: 76 61 72 69 61 62 6c 65 73 20 64 75 72 69 6e 67  variables during
6d90: 20 74 72 61 63 65 73 20 28 6e 6f 74 65 3a 20 75   traces (note: u
6da0: 6e 73 65 74 20 74 72 61 63 65 73 20 77 69 6c 6c  nset traces will
6db0: 20 62 65 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65   be.      invoke
6dc0: 64 20 77 68 65 6e 20 74 68 69 73 20 68 61 70 70  d when this happ
6dd0: 65 6e 73 29 2e 0a 20 20 20 20 2d 20 43 61 6e 20  ens)..    - Can 
6de0: 75 70 76 61 72 20 74 6f 20 61 72 72 61 79 20 65  upvar to array e
6df0: 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 2d 20 43  lements..    - C
6e00: 61 6e 20 72 65 74 61 72 67 65 74 20 61 6e 20 75  an retarget an u
6e10: 70 76 61 72 20 74 6f 20 61 6e 6f 74 68 65 72 20  pvar to another 
6e20: 76 61 72 69 61 62 6c 65 20 62 79 20 72 65 2d 69  variable by re-i
6e30: 73 73 75 69 6e 67 20 74 68 65 0a 20 20 20 20 20  ssuing the.     
6e40: 20 75 70 76 61 72 20 63 6f 6d 6d 61 6e 64 20 77   upvar command w
6e50: 69 74 68 20 61 20 64 69 66 66 65 72 65 6e 74 20  ith a different 
6e60: 22 6f 74 68 65 72 22 20 76 61 72 69 61 62 6c 65  "other" variable
6e70: 2e 0a 0a 31 37 36 2e 20 35 2f 33 2f 39 33 20 41  ...176. 5/3/93 A
6e80: 64 64 65 64 20 54 63 6c 5f 47 65 74 43 6f 6d 6d  dded Tcl_GetComm
6e90: 61 6e 64 49 6e 66 6f 2c 20 77 68 69 63 68 20 72  andInfo, which r
6ea0: 65 74 75 72 6e 73 20 69 6e 66 6f 20 61 62 6f 75  eturns info abou
6eb0: 74 20 61 20 54 63 6c 0a 63 6f 6d 6d 61 6e 64 20  t a Tcl.command 
6ec0: 73 75 63 68 20 61 73 20 77 68 65 74 68 65 72 20  such as whether 
6ed0: 69 74 20 65 78 69 73 74 73 20 61 6e 64 20 69 74  it exists and it
6ee0: 73 20 43 6c 69 65 6e 74 44 61 74 61 2e 20 20 41  s ClientData.  A
6ef0: 6c 73 6f 20 61 64 64 65 64 0a 54 63 6c 5f 53 65  lso added.Tcl_Se
6f00: 74 43 6f 6d 6d 61 6e 64 49 6e 66 6f 2c 20 77 68  tCommandInfo, wh
6f10: 69 63 68 20 61 6c 6c 6f 77 73 20 61 6e 79 20 6f  ich allows any o
6f20: 66 20 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69  f this informati
6f30: 6f 6e 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65  on to be modifie
6f40: 64 0a 61 6e 64 20 61 6c 73 6f 20 61 6c 6c 6f 77  d.and also allow
6f50: 73 20 61 20 63 6f 6d 6d 61 6e 64 27 73 20 64 65  s a command's de
6f60: 6c 65 74 65 20 70 72 6f 63 65 64 75 72 65 20 74  lete procedure t
6f70: 6f 20 68 61 76 65 20 61 20 64 69 66 66 65 72 65  o have a differe
6f80: 6e 74 0a 43 6c 69 65 6e 74 44 61 74 61 20 76 61  nt.ClientData va
6f90: 6c 75 65 20 74 68 61 6e 20 69 74 73 20 63 6f 6d  lue than its com
6fa0: 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65 2e 0a  mand procedure..
6fb0: 0a 31 37 37 2e 20 35 2f 35 2f 39 33 20 41 64 64  .177. 5/5/93 Add
6fc0: 65 64 20 54 63 6c 5f 52 65 67 45 78 70 4d 61 74  ed Tcl_RegExpMat
6fd0: 63 68 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a 31  ch procedure...1
6fe0: 37 38 2e 20 35 2f 36 2f 39 33 20 46 69 78 65 64  78. 5/6/93 Fixed
6ff0: 20 62 75 67 20 69 6e 20 22 73 63 61 6e 22 20 77   bug in "scan" w
7000: 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20 70  here it didn't p
7010: 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 25  roperly handle.%
7020: 25 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65  % conversion spe
7030: 63 69 66 69 65 72 73 2e 20 20 41 6c 73 6f 20 63  cifiers.  Also c
7040: 68 61 6e 67 65 64 20 22 73 63 61 6e 22 20 74 6f  hanged "scan" to
7050: 20 75 73 65 20 54 63 6c 5f 50 72 69 6e 74 44 6f   use Tcl_PrintDo
7060: 75 62 6c 65 0a 66 6f 72 20 70 72 69 6e 74 69 6e  uble.for printin
7070: 67 20 72 65 61 6c 20 76 61 6c 75 65 73 2e 0a 0a  g real values...
7080: 31 37 39 2e 20 35 2f 37 2f 39 33 20 41 64 64 65  179. 5/7/93 Adde
7090: 64 20 22 2d 65 78 61 63 74 22 2c 20 22 2d 67 6c  d "-exact", "-gl
70a0: 6f 62 22 2c 20 61 6e 64 20 22 2d 72 65 67 65 78  ob", and "-regex
70b0: 70 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 6c  p" options to "l
70c0: 73 65 61 72 63 68 22 0a 63 6f 6d 6d 61 6e 64 20  search".command 
70d0: 74 6f 20 61 6c 6c 6f 77 20 64 69 66 66 65 72 65  to allow differe
70e0: 6e 74 20 6b 69 6e 64 73 20 6f 66 20 70 61 74 74  nt kinds of patt
70f0: 65 72 6e 20 6d 61 74 63 68 69 6e 67 2e 0a 0a 31  ern matching...1
7100: 38 30 2e 20 35 2f 37 2f 39 33 20 41 64 64 65 64  80. 5/7/93 Added
7110: 20 6d 61 6e 79 20 6e 65 77 20 73 77 69 74 63 68   many new switch
7120: 65 73 20 74 6f 20 22 6c 73 6f 72 74 22 20 74 6f  es to "lsort" to
7130: 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20 73 6f 72   control the sor
7140: 74 69 6e 67 0a 70 72 6f 63 65 73 73 3a 20 22 2d  ting.process: "-
7150: 61 73 63 69 69 22 2c 20 22 2d 69 6e 74 65 67 65  ascii", "-intege
7160: 72 22 2c 20 22 2d 72 65 61 6c 22 2c 20 22 2d 63  r", "-real", "-c
7170: 6f 6d 6d 61 6e 64 22 2c 20 22 2d 69 6e 63 72 65  ommand", "-incre
7180: 61 73 69 6e 67 22 2c 0a 61 6e 64 20 22 2d 64 65  asing",.and "-de
7190: 63 72 65 61 73 69 6e 67 22 2e 0a 0a 31 38 31 2e  creasing"...181.
71a0: 20 35 2f 31 30 2f 39 33 20 43 68 61 6e 67 65 73   5/10/93 Changes
71b0: 20 74 6f 20 66 69 6c 65 20 49 2f 4f 3a 0a 20 20   to file I/O:.  
71c0: 20 20 2d 20 4d 6f 64 69 66 69 65 64 20 22 6f 70    - Modified "op
71d0: 65 6e 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73  en" command to s
71e0: 75 70 70 6f 72 74 20 61 20 6c 69 73 74 20 6f 66  upport a list of
71f0: 20 50 4f 53 49 58 20 61 63 63 65 73 73 20 66 6c   POSIX access fl
7200: 61 67 73 0a 20 20 20 20 20 20 6c 69 6b 65 20 7b  ags.      like {
7210: 57 52 4f 4e 4c 59 20 43 52 45 41 54 20 54 52 55  WRONLY CREAT TRU
7220: 4e 43 7d 20 69 6e 20 61 64 64 69 74 69 6f 6e 20  NC} in addition 
7230: 74 6f 20 63 75 72 72 65 6e 74 20 66 6f 70 65 6e  to current fopen
7240: 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 61 63 63  -style.      acc
7250: 65 73 73 20 6d 6f 64 65 73 2e 20 20 41 6c 73 6f  ess modes.  Also
7260: 20 61 64 64 65 64 20 22 70 65 72 6d 69 73 73 69   added "permissi
7270: 6f 6e 73 22 20 61 72 67 75 6d 65 6e 74 20 74 6f  ons" argument to
7280: 20 73 65 74 20 70 65 72 6d 69 73 73 69 6f 6e 73   set permissions
7290: 0a 20 20 20 20 20 20 6f 66 20 6e 65 77 6c 79 2d  .      of newly-
72a0: 63 72 65 61 74 65 64 20 66 69 6c 65 73 2e 0a 20  created files.. 
72b0: 20 20 20 2d 20 46 69 78 65 64 20 53 63 6f 74 74     - Fixed Scott
72c0: 20 42 6f 6c 74 65 27 73 20 62 75 67 20 28 63 61   Bolte's bug (ca
72d0: 6e 20 63 6c 6f 73 65 20 73 74 64 69 6e 20 65 74  n close stdin et
72e0: 63 2e 20 69 6e 20 61 70 70 6c 69 63 61 74 69 6f  c. in applicatio
72f0: 6e 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 6e  n and.      then
7300: 20 72 65 2d 6f 70 65 6e 20 74 68 65 6d 20 77 69   re-open them wi
7310: 74 68 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 73 29  th Tcl commands)
7320: 2e 0a 20 20 20 20 2d 20 45 78 70 6f 72 74 65 64  ..    - Exported
7330: 20 61 63 63 65 73 73 20 74 6f 20 54 63 6c 27 73   access to Tcl's
7340: 20 66 69 6c 65 20 74 61 62 6c 65 20 77 69 74 68   file table with
7350: 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 73 20   new procedures 
7360: 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65 0a 20 20  Tcl_EnterFile.  
7370: 20 20 20 20 61 6e 64 20 54 63 6c 5f 47 65 74 4f      and Tcl_GetO
7380: 70 65 6e 46 69 6c 65 2e 0a 0a 31 38 32 2e 20 35  penFile...182. 5
7390: 2f 31 35 2f 39 33 20 41 64 64 65 64 20 6e 65 77  /15/93 Added new
73a0: 20 22 70 69 64 22 20 63 6f 6d 6d 61 6e 64 2c 20   "pid" command, 
73b0: 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65  which can be use
73c0: 64 20 74 6f 20 72 65 74 72 69 65 76 65 0a 65 69  d to retrieve.ei
73d0: 74 68 65 72 20 74 68 65 20 63 75 72 72 65 6e 74  ther the current
73e0: 20 70 72 6f 63 65 73 73 20 69 64 20 6f 72 20 61   process id or a
73f0: 20 6c 69 73 74 20 6f 66 20 74 68 65 20 70 72 6f   list of the pro
7400: 63 65 73 73 20 69 64 73 20 69 6e 20 61 0a 70 69  cess ids in a.pi
7410: 70 65 6c 69 6e 65 20 6f 70 65 6e 65 64 20 77 69  peline opened wi
7420: 74 68 20 22 6f 70 65 6e 20 7c 2e 2e 2e 22 0a 0a  th "open |..."..
7430: 31 38 33 2e 20 36 2f 33 2f 39 33 20 43 68 61 6e  183. 6/3/93 Chan
7440: 67 65 64 20 74 6f 20 75 73 65 20 47 4e 55 20 61  ged to use GNU a
7450: 75 74 6f 63 6f 6e 66 69 67 20 66 6f 72 20 63 6f  utoconfig for co
7460: 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6e 73 74  nfiguration inst
7470: 65 61 64 20 6f 66 0a 74 68 65 20 68 6f 6d 65 2d  ead of.the home-
7480: 62 72 65 77 20 22 63 6f 6e 66 69 67 22 20 73 63  brew "config" sc
7490: 72 69 70 74 2e 20 20 41 6c 73 6f 20 6d 61 64 65  ript.  Also made
74a0: 20 6d 61 6e 79 20 6f 74 68 65 72 20 63 6f 6e 66   many other conf
74b0: 69 67 75 72 61 74 69 6f 6e 2d 72 65 6c 61 74 65  iguration-relate
74c0: 64 0a 63 68 61 6e 67 65 73 2c 20 73 75 63 68 20  d.changes, such 
74d0: 61 73 20 75 73 69 6e 67 20 3c 75 6e 69 73 74 64  as using <unistd
74e0: 2e 68 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 65  .h> instead of e
74f0: 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c 61 72  xplicitly declar
7500: 69 6e 67 20 73 79 73 74 65 6d 0a 63 61 6c 6c 73  ing system.calls
7510: 20 69 6e 20 74 63 6c 55 6e 69 78 2e 68 2e 0a 0a   in tclUnix.h...
7520: 31 38 34 2e 20 36 2f 34 2f 39 33 20 46 69 78 65  184. 6/4/93 Fixe
7530: 64 20 62 75 67 20 77 68 65 72 65 20 63 6f 72 65  d bug where core
7540: 2d 64 75 6d 70 73 20 63 6f 75 6c 64 20 6f 63 63  -dumps could occ
7550: 75 72 20 69 66 20 61 20 70 72 6f 63 65 64 75 72  ur if a procedur
7560: 65 0a 72 65 64 65 66 69 6e 65 64 20 69 74 73 65  e.redefined itse
7570: 6c 66 20 28 74 68 65 20 6d 65 6d 6f 72 79 20 66  lf (the memory f
7580: 6f 72 20 74 68 65 20 70 72 6f 63 65 64 75 72 65  or the procedure
7590: 27 73 20 62 6f 64 79 20 63 6f 75 6c 64 20 67 65  's body could ge
75a0: 74 0a 72 65 61 6c 6c 6f 63 61 74 65 64 20 69 6e  t.reallocated in
75b0: 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 65   the middle of e
75c0: 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20 62 6f  valuating the bo
75d0: 64 79 29 3b 20 20 69 6d 70 6c 65 6d 65 6e 74 65  dy);  implemente
75e0: 64 0a 73 69 6d 70 6c 65 20 72 65 66 65 72 65 6e  d.simple referen
75f0: 63 65 20 63 6f 75 6e 74 20 6d 65 63 68 61 6e 69  ce count mechani
7600: 73 6d 2e 0a 0a 31 38 35 2e 20 36 2f 35 2f 39 33  sm...185. 6/5/93
7610: 20 43 68 61 6e 67 65 64 20 74 63 6c 49 6e 64 65   Changed tclInde
7620: 78 20 66 69 6c 65 20 66 6f 72 6d 61 74 20 69 6e  x file format in
7630: 20 74 77 6f 20 77 61 79 73 3a 20 20 28 61 29 20   two ways:  (a) 
7640: 69 74 27 73 20 6e 6f 77 0a 65 76 61 6c 2d 65 64  it's now.eval-ed
7650: 20 69 6e 73 74 65 61 64 20 6f 66 20 70 61 72 73   instead of pars
7660: 65 64 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20  ed, which makes 
7670: 69 74 20 33 2d 34 78 20 66 61 73 74 65 72 3b 20  it 3-4x faster; 
7680: 28 62 29 20 74 68 65 20 65 6e 74 72 69 65 73 0a  (b) the entries.
7690: 69 6e 20 61 75 74 6f 5f 69 6e 64 65 78 20 61 72  in auto_index ar
76a0: 65 20 6e 6f 77 20 63 6f 6d 6d 61 6e 64 73 20 74  e now commands t
76b0: 6f 20 65 76 61 6c 75 61 74 65 2c 20 77 68 69 63  o evaluate, whic
76c0: 68 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d 61 6e 64  h allows command
76d0: 73 20 74 6f 0a 62 65 20 6c 6f 61 64 65 64 20 69  s to.be loaded i
76e0: 6e 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73  n different ways
76f0: 20 73 75 63 68 20 61 73 20 64 79 6e 61 6d 69 63   such as dynamic
7700: 2d 6c 6f 61 64 69 6e 67 20 6f 66 20 43 20 63 6f  -loading of C co
7710: 64 65 2e 20 20 54 68 65 0a 6f 6c 64 20 74 63 6c  de.  The.old tcl
7720: 49 6e 64 65 78 20 66 69 6c 65 20 66 6f 72 6d 61  Index file forma
7730: 74 20 69 73 20 73 74 69 6c 6c 20 73 75 70 70 6f  t is still suppo
7740: 72 74 65 64 2e 0a 0a 31 38 36 2e 20 36 2f 37 2f  rted...186. 6/7/
7750: 39 33 20 45 6c 69 6d 69 6e 61 74 65 64 20 74 63  93 Eliminated tc
7760: 6c 54 65 73 74 20 70 72 6f 67 72 61 6d 2c 20 61  lTest program, a
7770: 64 64 65 64 20 6e 65 77 20 22 74 63 6c 73 68 22  dded new "tclsh"
7780: 20 70 72 6f 67 72 61 6d 0a 74 68 61 74 20 69 73   program.that is
7790: 20 6d 6f 72 65 20 6c 69 6b 65 20 77 69 73 68 20   more like wish 
77a0: 28 61 6c 6c 6f 77 73 20 73 63 72 69 70 74 20 66  (allows script f
77b0: 69 6c 65 73 20 74 6f 20 62 65 20 69 6e 76 6f 6b  iles to be invok
77c0: 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ed automatically
77d0: 0a 75 73 69 6e 67 20 22 23 21 2f 75 73 72 2f 6c  .using "#!/usr/l
77e0: 6f 63 61 6c 2f 62 69 6e 2f 74 63 6c 73 68 22 2c  ocal/bin/tclsh",
77f0: 20 6d 61 6b 65 73 20 61 72 67 75 6d 65 6e 74 73   makes arguments
7800: 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 73 63   available to sc
7810: 72 69 70 74 2c 0a 65 74 63 2e 29 2e 20 20 41 64  ript,.etc.).  Ad
7820: 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
7830: 54 63 6c 5f 41 70 70 49 6e 69 74 20 70 6c 75 73  Tcl_AppInit plus
7840: 20 64 65 66 61 75 6c 74 20 76 65 72 73 69 6f 6e   default version
7850: 3b 20 20 74 68 69 73 0a 61 6c 6c 6f 77 73 20 6e  ;  this.allows n
7860: 65 77 20 54 63 6c 20 61 70 70 6c 69 63 61 74 69  ew Tcl applicati
7870: 6f 6e 73 20 74 6f 20 62 65 20 63 72 65 61 74 65  ons to be create
7880: 64 20 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 79  d without modify
7890: 69 6e 67 20 74 68 65 0a 6d 61 69 6e 20 70 72 6f  ing the.main pro
78a0: 67 72 61 6d 20 66 6f 72 20 74 63 6c 73 68 2e 0a  gram for tclsh..
78b0: 0a 31 38 37 2e 20 36 2f 37 2f 39 33 20 46 69 78  .187. 6/7/93 Fix
78c0: 65 64 20 62 75 67 20 69 6e 20 54 63 6c 57 6f 72  ed bug in TclWor
78d0: 64 45 6e 64 20 74 68 61 74 20 6b 65 70 74 20 62  dEnd that kept b
78e0: 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65  ackslash-newline
78f0: 20 66 72 6f 6d 0a 77 6f 72 6b 69 6e 67 20 63 6f   from.working co
7900: 72 72 65 63 74 6c 79 20 69 6e 20 73 6f 6d 65 20  rrectly in some 
7910: 63 61 73 65 73 20 64 75 72 69 6e 67 20 69 6e 74  cases during int
7920: 65 72 61 63 74 69 76 65 20 69 6e 70 75 74 2e 0a  eractive input..
7930: 0a 31 38 38 2e 20 36 2f 39 2f 39 33 20 41 64 64  .188. 6/9/93 Add
7940: 65 64 20 54 63 6c 5f 4c 69 6e 6b 56 61 72 20 61  ed Tcl_LinkVar a
7950: 6e 64 20 72 65 6c 61 74 65 64 20 70 72 6f 63 65  nd related proce
7960: 64 75 72 65 73 2c 20 77 68 69 63 68 20 61 75 74  dures, which aut
7970: 6f 6d 61 74 69 63 61 6c 6c 79 0a 6b 65 65 70 20  omatically.keep 
7980: 61 20 54 63 6c 20 76 61 72 69 61 62 6c 65 20 69  a Tcl variable i
7990: 6e 20 73 79 6e 63 20 77 69 74 68 20 61 20 43 20  n sync with a C 
79a0: 76 61 72 69 61 62 6c 65 2e 0a 0a 31 38 39 2e 20  variable...189. 
79b0: 36 2f 31 36 2f 39 33 20 49 6e 63 72 65 61 73 65  6/16/93 Increase
79c0: 64 20 6d 61 78 69 6d 75 6d 20 6e 65 73 74 69 6e  d maximum nestin
79d0: 67 20 64 65 70 74 68 20 66 72 6f 6d 20 31 30 30  g depth from 100
79e0: 20 74 6f 20 31 30 30 30 2e 0a 0a 31 39 30 2e 20   to 1000...190. 
79f0: 36 2f 31 36 2f 39 33 20 4d 6f 64 69 66 69 65 64  6/16/93 Modified
7a00: 20 22 74 72 61 63 65 20 76 61 72 22 20 63 6f 6d   "trace var" com
7a10: 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 65 72 72  mand so that err
7a20: 6f 72 20 6d 65 73 73 61 67 65 73 20 66 72 6f 6d  or messages from
7a30: 0a 77 69 74 68 69 6e 20 74 72 61 63 65 73 20 61  .within traces a
7a40: 72 65 20 72 65 74 75 72 6e 65 64 20 70 72 6f 70  re returned prop
7a50: 65 72 6c 79 20 61 73 20 74 68 65 20 72 65 73 75  erly as the resu
7a60: 6c 74 20 6f 66 20 74 68 65 20 76 61 72 69 61 62  lt of the variab
7a70: 6c 65 0a 61 63 63 65 73 73 2c 20 69 6e 73 74 65  le.access, inste
7a80: 61 64 20 6f 66 20 74 68 65 20 67 65 6e 65 72 69  ad of the generi
7a90: 63 20 22 61 63 63 65 73 73 20 64 69 73 61 6c 6c  c "access disall
7aa0: 6f 77 65 64 20 62 79 20 74 72 61 63 65 20 63 6f  owed by trace co
7ab0: 6d 6d 61 6e 64 22 0a 6d 65 73 73 61 67 65 2e 0a  mmand".message..
7ac0: 0a 31 39 31 2e 20 36 2f 31 36 2f 39 33 20 41 64  .191. 6/16/93 Ad
7ad0: 64 65 64 20 54 63 6c 5f 43 61 6c 6c 57 68 65 6e  ded Tcl_CallWhen
7ae0: 44 65 6c 65 74 65 64 20 74 6f 20 70 72 6f 76 69  Deleted to provi
7af0: 64 65 20 63 61 6c 6c 62 61 63 6b 73 20 77 68 65  de callbacks whe
7b00: 6e 20 61 6e 0a 69 6e 74 65 72 70 72 65 74 65 72  n an.interpreter
7b10: 20 69 73 20 64 65 6c 65 74 65 64 20 28 73 61 6d   is deleted (sam
7b20: 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20  e functionality 
7b30: 61 73 20 54 63 6c 5f 57 61 74 63 68 49 6e 74 65  as Tcl_WatchInte
7b40: 72 70 2c 20 77 68 69 63 68 0a 75 73 65 64 20 74  rp, which.used t
7b50: 6f 20 65 78 69 73 74 20 69 6e 20 76 65 72 73 69  o exist in versi
7b60: 6f 6e 73 20 62 65 66 6f 72 65 20 36 2e 30 29 2e  ons before 6.0).
7b70: 0a 0a 31 39 33 2e 20 36 2f 31 36 2f 39 33 20 41  ..193. 6/16/93 A
7b80: 64 64 65 64 20 22 2d 63 6f 64 65 22 20 61 72 67  dded "-code" arg
7b90: 75 6d 65 6e 74 20 74 6f 20 22 72 65 74 75 72 6e  ument to "return
7ba0: 22 20 63 6f 6d 6d 61 6e 64 3b 20 20 69 74 27 73  " command;  it's
7bb0: 20 74 68 65 72 65 0a 70 72 69 6d 61 72 69 6c 79   there.primarily
7bc0: 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 6e 65 73   for completenes
7bd0: 73 2c 20 73 6f 20 74 68 61 74 20 70 72 6f 63 65  s, so that proce
7be0: 64 75 72 65 73 20 69 6d 70 6c 65 6d 65 6e 74 69  dures implementi
7bf0: 6e 67 20 63 6f 6e 74 72 6f 6c 0a 63 6f 6e 73 74  ng control.const
7c00: 72 75 63 74 73 20 63 61 6e 20 72 65 66 6c 65 63  ructs can reflec
7c10: 74 20 65 78 63 65 70 74 69 6f 6e 61 6c 20 63 6f  t exceptional co
7c20: 6e 64 69 74 69 6f 6e 73 20 62 61 63 6b 20 74 6f  nditions back to
7c30: 20 74 68 65 69 72 20 63 61 6c 6c 65 72 73 2e 0a   their callers..
7c40: 0a 31 39 34 2e 20 36 2f 31 36 2f 39 33 20 53 70  .194. 6/16/93 Sp
7c50: 6c 69 74 20 75 70 20 54 63 6c 2e 6e 20 74 6f 20  lit up Tcl.n to 
7c60: 6d 61 6b 65 20 73 65 70 61 72 61 74 65 20 6d 61  make separate ma
7c70: 6e 75 61 6c 20 65 6e 74 72 69 65 73 20 66 6f 72  nual entries for
7c80: 20 65 61 63 68 0a 54 63 6c 20 63 6f 6d 6d 61 6e   each.Tcl comman
7c90: 64 2e 20 20 54 63 6c 2e 6e 20 6e 6f 77 20 63 6f  d.  Tcl.n now co
7ca0: 6e 74 61 69 6e 73 20 61 20 73 75 6d 6d 61 72 79  ntains a summary
7cb0: 20 6f 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65   of the language
7cc0: 20 73 79 6e 74 61 78 2e 0a 0a 31 39 35 2e 20 36   syntax...195. 6
7cd0: 2f 31 37 2f 39 33 20 41 64 64 65 64 20 6e 65 77  /17/93 Added new
7ce0: 20 22 73 77 69 74 63 68 22 20 63 6f 6d 6d 61 6e   "switch" comman
7cf0: 64 20 74 6f 20 72 65 70 6c 61 63 65 20 22 63 61  d to replace "ca
7d00: 73 65 22 3a 20 61 6c 6c 6f 77 73 0a 61 6c 74 65  se": allows.alte
7d10: 72 6e 61 74 65 20 66 6f 72 6d 73 20 6f 66 20 70  rnate forms of p
7d20: 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67 20  attern matching 
7d30: 28 65 78 61 63 74 2c 20 67 6c 6f 62 2c 20 72 65  (exact, glob, re
7d40: 67 65 78 70 29 2c 20 72 65 70 6c 61 63 65 73 0a  gexp), replaces.
7d50: 70 61 74 74 65 72 6e 20 6c 69 73 74 73 20 77 69  pattern lists wi
7d60: 74 68 20 73 69 6e 67 6c 65 20 70 61 74 74 65 72  th single patter
7d70: 6e 73 20 28 62 75 74 20 79 6f 75 20 63 61 6e 20  ns (but you can 
7d80: 75 73 65 20 22 2d 22 20 62 6f 64 69 65 73 20 74  use "-" bodies t
7d90: 6f 0a 73 68 61 72 65 20 6f 6e 65 20 62 6f 64 79  o.share one body
7da0: 20 61 6d 6f 6e 67 20 73 65 76 65 72 61 6c 20 70   among several p
7db0: 61 74 74 65 72 6e 73 29 2c 20 65 6c 69 6d 69 6e  atterns), elimin
7dc0: 61 74 65 73 20 22 69 6e 22 20 6e 6f 69 73 65 20  ates "in" noise 
7dd0: 77 6f 72 64 2e 0a 22 43 61 73 65 22 20 63 6f 6d  word.."Case" com
7de0: 6d 61 6e 64 20 69 73 20 6e 6f 77 20 6f 62 73 6f  mand is now obso
7df0: 6c 65 74 65 2e 0a 0a 31 39 36 2e 20 36 2f 31 37  lete...196. 6/17
7e00: 2f 39 33 20 43 68 61 6e 67 65 64 20 74 68 65 20  /93 Changed the 
7e10: 22 65 78 65 63 22 2c 20 22 67 6c 6f 62 22 2c 20  "exec", "glob", 
7e20: 22 72 65 67 65 78 70 22 2c 20 61 6e 64 20 22 72  "regexp", and "r
7e30: 65 67 73 75 62 22 20 63 6f 6d 6d 61 6e 64 73 0a  egsub" commands.
7e40: 74 6f 20 69 6e 63 6c 75 64 65 20 61 20 22 2d 2d  to include a "--
7e50: 22 20 73 77 69 74 63 68 2e 20 20 41 6c 6c 20 69  " switch.  All i
7e60: 6e 69 74 69 61 6c 20 61 72 67 75 6d 65 6e 74 73  nitial arguments
7e70: 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 22   starting with "
7e80: 2d 22 20 61 72 65 20 6e 6f 77 0a 74 72 65 61 74  -" are now.treat
7e90: 65 64 20 61 73 20 73 77 69 74 63 68 65 73 20 75  ed as switches u
7ea0: 6e 6c 65 73 73 20 61 20 22 2d 2d 22 20 73 77 69  nless a "--" swi
7eb0: 74 63 68 20 69 73 20 70 72 65 73 65 6e 74 20 74  tch is present t
7ec0: 6f 20 65 6e 64 20 74 68 65 20 6c 69 73 74 2e 0a  o end the list..
7ed0: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
7ee0: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
7ef0: 2a 0a 0a 31 39 37 2e 20 36 2f 31 37 2f 39 33 20  *..197. 6/17/93 
7f00: 43 68 61 6e 67 65 64 20 61 75 74 6f 2d 65 78 65  Changed auto-exe
7f10: 63 20 73 6f 20 74 68 61 74 20 74 68 65 20 73 75  c so that the su
7f20: 62 70 72 6f 63 65 73 73 20 67 65 74 73 20 73 74  bprocess gets st
7f30: 64 69 6e 2c 20 73 74 64 6f 75 74 2c 0a 61 6e 64  din, stdout,.and
7f40: 20 73 74 64 65 72 72 20 66 72 6f 6d 20 74 68 65   stderr from the
7f50: 20 70 61 72 65 6e 74 2e 20 20 54 68 69 73 20 61   parent.  This a
7f60: 6c 6c 6f 77 73 20 74 72 75 6c 79 20 69 6e 74 65  llows truly inte
7f70: 72 61 63 74 69 76 65 20 73 75 62 2d 70 72 6f 63  ractive sub-proc
7f80: 65 73 73 65 73 0a 28 65 2e 67 2e 20 76 69 29 20  esses.(e.g. vi) 
7f90: 74 6f 20 62 65 20 61 75 74 6f 2d 65 78 65 63 27  to be auto-exec'
7fa0: 65 64 20 66 72 6f 6d 20 61 20 74 63 6c 20 73 68  ed from a tcl sh
7fb0: 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  ell command line
7fc0: 2e 0a 0a 31 39 38 2e 20 36 2f 31 38 2f 39 33 20  ...198. 6/18/93 
7fd0: 41 64 64 65 64 20 70 61 74 63 68 6c 65 76 65 6c  Added patchlevel
7fe0: 2e 68 2c 20 66 6f 72 20 75 73 65 20 69 6e 20 63  .h, for use in c
7ff0: 6f 6f 72 64 69 6e 61 74 69 6e 67 20 66 75 74 75  oordinating futu
8000: 72 65 20 70 61 74 63 68 0a 72 65 6c 65 61 73 65  re patch.release
8010: 73 2c 20 61 6e 64 20 61 6c 73 6f 20 61 64 64 65  s, and also adde
8020: 64 20 22 69 6e 66 6f 20 70 61 74 63 68 6c 65 76  d "info patchlev
8030: 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d  el" command to m
8040: 61 6b 65 20 74 68 65 20 70 61 74 63 68 0a 6c 65  ake the patch.le
8050: 76 65 6c 20 61 76 61 69 6c 61 62 6c 65 20 74 6f  vel available to
8060: 20 54 63 6c 20 73 63 72 69 70 74 73 2e 0a 0a 31   Tcl scripts...1
8070: 39 39 2e 20 36 2f 31 39 2f 39 33 20 4d 6f 64 69  99. 6/19/93 Modi
8080: 66 69 65 64 20 22 67 6c 6f 62 22 20 63 6f 6d 6d  fied "glob" comm
8090: 61 6e 64 20 73 6f 20 74 68 61 74 20 61 20 6c 65  and so that a le
80a0: 61 64 69 6e 67 20 22 2f 2f 22 20 69 6e 20 61 20  ading "//" in a 
80b0: 6e 61 6d 65 0a 67 65 74 73 20 6c 65 66 74 20 61  name.gets left a
80c0: 73 20 69 73 20 28 74 68 69 73 20 69 73 20 6e 65  s is (this is ne
80d0: 65 64 65 64 20 66 6f 72 20 73 79 73 74 65 6d 73  eded for systems
80e0: 20 6c 69 6b 65 20 41 70 6f 6c 6c 6f 73 20 77 68   like Apollos wh
80f0: 65 72 65 20 22 2f 2f 22 20 69 73 0a 74 68 65 20  ere "//" is.the 
8100: 73 75 70 65 72 2d 72 6f 6f 74 3b 20 20 54 63 6c  super-root;  Tcl
8110: 20 75 73 65 64 20 74 6f 20 63 6f 6c 6c 61 70 73   used to collaps
8120: 65 20 74 68 65 20 74 77 6f 20 73 6c 61 73 68 65  e the two slashe
8130: 73 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 0a  s into a single.
8140: 73 6c 61 73 68 29 2e 0a 0a 32 30 30 2e 20 37 2f  slash)...200. 7/
8150: 37 2f 39 33 20 41 64 64 65 64 20 54 63 6c 5f 53  7/93 Added Tcl_S
8160: 65 74 52 65 63 75 72 73 69 6f 6e 4c 69 6d 69 74  etRecursionLimit
8170: 20 70 72 6f 63 65 64 75 72 65 20 73 6f 20 74 68   procedure so th
8180: 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 0a 61  at the maximum.a
8190: 6c 6c 6f 77 61 62 6c 65 20 6e 65 73 74 69 6e 67  llowable nesting
81a0: 20 64 65 70 74 68 20 63 61 6e 20 62 65 20 63 6f   depth can be co
81b0: 6e 74 72 6f 6c 6c 65 64 20 66 6f 72 20 61 6e 20  ntrolled for an 
81c0: 69 6e 74 65 72 70 72 65 74 65 72 20 66 72 6f 6d  interpreter from
81d0: 20 43 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   C...-----------
81e0: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
81f0: 76 65 72 73 69 6f 6e 20 37 2e 30 20 42 65 74 61  version 7.0 Beta
8200: 20 31 2c 20 37 2f 39 2f 39 33 20 2d 2d 2d 2d 2d   1, 7/9/93 -----
8210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32  -------------..2
8220: 30 31 2e 20 37 2f 31 32 2f 39 33 20 4d 6f 64 69  01. 7/12/93 Modi
8230: 66 69 65 64 20 54 63 6c 5f 47 65 74 49 6e 74 20  fied Tcl_GetInt 
8240: 61 6e 64 20 74 63 6c 45 78 70 72 2e 63 20 73 6f  and tclExpr.c so
8250: 20 74 68 61 74 20 66 75 6c 6c 2d 70 72 65 63 69   that full-preci
8260: 73 69 6f 6e 0a 75 6e 73 69 67 6e 65 64 20 69 6e  sion.unsigned in
8270: 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 73 70  tegers can be sp
8280: 65 63 69 66 69 65 64 20 77 69 74 68 6f 75 74 20  ecified without 
8290: 6f 76 65 72 66 6c 6f 77 20 65 72 72 6f 72 73 2e  overflow errors.
82a0: 0a 0a 32 30 32 2e 20 37 2f 31 32 2f 39 33 20 43  ..202. 7/12/93 C
82b0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 68 61  onfiguration cha
82c0: 6e 67 65 73 3a 20 20 65 6c 69 6d 69 6e 61 74 65  nges:  eliminate
82d0: 20 6c 65 61 64 69 6e 67 20 62 6c 61 6e 6b 20 6c   leading blank l
82e0: 69 6e 65 20 69 6e 0a 63 6f 6e 66 69 67 75 72 65  ine in.configure
82f0: 20 73 63 72 69 70 74 3b 20 20 70 72 6f 76 69 64   script;  provid
8300: 65 20 73 65 70 61 72 61 74 65 20 74 61 72 67 65  e separate targe
8310: 74 73 20 69 6e 20 4d 61 6b 65 66 69 6c 65 20 66  ts in Makefile f
8320: 6f 72 20 69 6e 73 74 61 6c 6c 69 6e 67 0a 62 69  or installing.bi
8330: 6e 61 72 79 20 61 6e 64 20 6e 6f 6e 2d 62 69 6e  nary and non-bin
8340: 61 72 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3b  ary information;
8350: 20 63 68 65 63 6b 20 66 6f 72 20 73 69 7a 65 5f   check for size_
8360: 74 20 61 6e 64 20 61 20 66 65 77 20 6f 74 68 65  t and a few othe
8370: 72 0a 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6d 69  r.potentially mi
8380: 73 73 69 6e 67 20 74 79 70 65 64 65 66 73 3b 20  ssing typedefs; 
8390: 64 6f 6e 27 74 20 70 75 74 20 74 63 6c 41 70 70  don't put tclApp
83a0: 49 6e 69 74 2e 6f 20 69 6e 74 6f 20 6c 69 62 74  Init.o into libt
83b0: 63 6c 2e 61 3b 0a 62 65 74 74 65 72 20 63 68 65  cl.a;.better che
83c0: 63 6b 73 20 66 6f 72 20 6d 61 74 68 65 72 72 20  cks for matherr 
83d0: 73 75 70 70 6f 72 74 2e 0a 0a 32 30 33 2e 20 37  support...203. 7
83e0: 2f 31 34 2f 39 33 20 43 68 61 6e 67 65 64 20 74  /14/93 Changed t
83f0: 63 6c 45 78 70 72 2e 63 20 74 6f 20 63 68 65 63  clExpr.c to chec
8400: 6b 20 74 68 65 20 74 65 72 6d 69 6e 61 74 69 6f  k the terminatio
8410: 6e 20 70 6f 69 6e 74 65 72 20 62 65 66 6f 72 65  n pointer before
8420: 0a 65 72 72 6e 6f 20 61 66 74 65 72 20 73 74 72  .errno after str
8430: 74 6f 64 20 63 61 6c 6c 73 2c 20 74 6f 20 61 76  tod calls, to av
8440: 6f 69 64 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  oid problems wit
8450: 68 20 73 6f 6d 65 20 76 65 72 73 69 6f 6e 73 20  h some versions 
8460: 6f 66 0a 73 74 72 74 6f 64 20 74 68 61 74 20 73  of.strtod that s
8470: 65 74 20 65 72 72 6e 6f 20 69 6e 20 75 6e 65 78  et errno in unex
8480: 70 65 63 74 65 64 20 77 61 79 73 2e 0a 0a 32 30  pected ways...20
8490: 34 2e 20 37 2f 31 36 2f 39 33 20 43 68 61 6e 67  4. 7/16/93 Chang
84a0: 65 64 20 22 73 63 61 6e 22 20 63 6f 6d 6d 61 6e  ed "scan" comman
84b0: 64 20 74 6f 20 62 65 20 6d 6f 72 65 20 41 4e 53  d to be more ANS
84c0: 49 2d 63 6f 6e 66 6f 72 6d 61 6e 74 3a 0a 65 6c  I-conformant:.el
84d0: 69 6d 69 6e 61 74 65 64 20 25 46 2c 20 25 44 2c  iminated %F, %D,
84e0: 20 65 74 63 2e 2c 20 61 64 64 65 64 20 63 6f 64   etc., added cod
84f0: 65 20 74 6f 20 69 67 6e 6f 72 65 20 22 6c 22 2c  e to ignore "l",
8500: 20 22 68 22 2c 20 61 6e 64 20 22 4c 22 0a 6d 6f   "h", and "L".mo
8510: 64 69 66 69 65 72 73 20 62 75 74 20 61 6c 77 61  difiers but alwa
8520: 79 73 20 63 6f 6e 76 65 72 74 20 25 65 2c 20 25  ys convert %e, %
8530: 66 2c 20 61 6e 64 20 25 67 20 77 69 74 68 20 69  f, and %g with i
8540: 6d 70 6c 69 63 69 74 20 22 6c 22 3b 0a 61 6c 73  mplicit "l";.als
8550: 6f 20 61 64 64 65 64 20 73 75 70 70 6f 72 74 20  o added support 
8560: 66 6f 72 20 25 75 20 61 6e 64 20 25 69 2e 20 20  for %u and %i.  
8570: 41 6c 73 6f 20 63 68 61 6e 67 65 64 20 22 66 6f  Also changed "fo
8580: 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64 0a 74 6f  rmat" command.to
8590: 20 65 6c 69 6d 69 6e 61 74 65 20 25 44 2c 20 25   eliminate %D, %
85a0: 55 2c 20 25 4f 2c 20 61 6e 64 20 61 64 64 20 25  U, %O, and add %
85b0: 69 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  i..*** POTENTIAL
85c0: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
85d0: 20 2a 2a 2a 0a 0a 32 30 35 2e 20 37 2f 31 37 2f   ***..205. 7/17/
85e0: 39 33 20 43 68 61 6e 67 65 64 20 22 75 70 6c 65  93 Changed "uple
85f0: 76 65 6c 22 20 61 6e 64 20 22 75 70 76 61 72 22  vel" and "upvar"
8600: 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 63 61   so that they ca
8610: 6e 20 62 65 20 75 73 65 64 0a 66 72 6f 6d 20 67  n be used.from g
8620: 6c 6f 62 61 6c 20 6c 65 76 65 6c 20 74 6f 20 67  lobal level to g
8630: 6c 6f 62 61 6c 20 6c 65 76 65 6c 3a 20 20 74 68  lobal level:  th
8640: 69 73 20 75 73 65 64 20 74 6f 20 67 65 6e 65 72  is used to gener
8650: 61 74 65 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 32  ate an error...2
8660: 30 36 2e 20 37 2f 31 39 2f 39 33 20 52 65 6e 61  06. 7/19/93 Rena
8670: 6d 65 64 20 22 73 65 74 65 6e 76 22 2c 20 22 70  med "setenv", "p
8680: 75 74 65 6e 76 22 2c 20 61 6e 64 20 22 75 6e 73  utenv", and "uns
8690: 65 74 65 6e 76 22 20 70 72 6f 63 65 64 75 72 65  etenv" procedure
86a0: 73 0a 74 6f 20 61 76 6f 69 64 20 63 6f 6e 66 6c  s.to avoid confl
86b0: 69 63 74 73 20 77 69 74 68 20 73 79 73 74 65 6d  icts with system
86c0: 20 70 72 6f 63 65 64 75 72 65 73 20 77 69 74 68   procedures with
86d0: 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 73 2e   the same names.
86e0: 20 20 49 66 0a 79 6f 75 20 77 61 6e 74 20 54 63    If.you want Tc
86f0: 6c 27 73 20 70 72 6f 63 65 64 75 72 65 73 20 74  l's procedures t
8700: 6f 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 73  o override the s
8710: 79 73 74 65 6d 20 70 72 6f 63 65 64 75 72 65 73  ystem procedures
8720: 2c 20 64 6f 20 69 74 0a 69 6e 20 74 68 65 20 4d  , do it.in the M
8730: 61 6b 65 66 69 6c 65 20 28 69 6e 73 74 72 75 63  akefile (instruc
8740: 74 69 6f 6e 73 20 61 72 65 20 69 6e 20 74 68 65  tions are in the
8750: 20 4d 61 6b 65 66 69 6c 65 29 2e 0a 2a 2a 2a 20   Makefile)..*** 
8760: 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
8770: 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 2d  ATIBILITY ***..-
8780: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
8790: 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f   Released versio
87a0: 6e 20 37 2e 30 20 42 65 74 61 20 32 2c 20 37 2f  n 7.0 Beta 2, 7/
87b0: 32 31 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  21/93 ----------
87c0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 30 37 2e 20 37  --------..207. 7
87d0: 2f 32 31 2f 39 33 20 46 69 78 65 64 20 62 75 67  /21/93 Fixed bug
87e0: 20 69 6e 20 74 63 6c 56 61 72 2e 63 20 77 68 65   in tclVar.c whe
87f0: 72 65 20 66 72 65 65 64 20 6d 65 6d 6f 72 79 20  re freed memory 
8800: 77 61 73 20 61 63 63 69 64 65 6e 74 61 6c 6c 79  was accidentally
8810: 0a 75 73 65 64 20 69 66 20 61 20 70 72 6f 63 65  .used if a proce
8820: 64 75 72 65 20 72 65 74 75 72 6e 65 64 20 61 6e  dure returned an
8830: 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61 20 6c 6f   element of a lo
8840: 63 61 6c 20 61 72 72 61 79 2e 0a 0a 32 30 38 2e  cal array...208.
8850: 20 37 2f 32 32 2f 39 33 20 46 69 78 65 64 20 62   7/22/93 Fixed b
8860: 75 67 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20  ug in "unknown" 
8870: 77 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20  where it didn't 
8880: 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a  properly handle.
8890: 65 72 72 6f 72 73 20 6f 63 63 75 72 72 69 6e 67  errors occurring
88a0: 20 69 6e 20 74 68 65 20 22 61 75 74 6f 5f 6c 6f   in the "auto_lo
88b0: 61 64 22 20 70 72 6f 63 65 64 75 72 65 2c 20 6c  ad" procedure, l
88c0: 65 61 76 69 6e 67 20 69 74 73 20 73 74 61 74 65  eaving its state
88d0: 0a 69 6e 63 6f 6e 73 69 73 74 65 6e 74 2e 0a 0a  .inconsistent...
88e0: 32 30 39 2e 20 37 2f 32 33 2f 39 33 20 43 68 61  209. 7/23/93 Cha
88f0: 6e 67 65 64 20 65 78 65 63 27 73 20 22 3e 32 22  nged exec's ">2"
8900: 20 72 65 64 69 72 65 63 74 69 6f 6e 20 6f 70 65   redirection ope
8910: 72 61 74 6f 72 20 74 6f 20 22 32 3e 22 20 66 6f  rator to "2>" fo
8920: 72 0a 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 69  r.consistency wi
8930: 74 68 20 73 68 2e 20 20 54 68 69 73 20 69 73 20  th sh.  This is 
8940: 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  incompatible wit
8950: 68 20 65 61 72 6c 69 65 72 20 62 65 74 61 20 72  h earlier beta r
8960: 65 6c 65 61 73 65 73 0a 6f 66 20 37 2e 30 20 62  eleases.of 7.0 b
8970: 75 74 20 6e 6f 74 20 77 69 74 68 20 70 72 65 2d  ut not with pre-
8980: 37 2e 30 20 72 65 6c 65 61 73 65 73 2c 20 77 68  7.0 releases, wh
8990: 69 63 68 20 64 69 64 6e 27 74 20 73 75 70 70 6f  ich didn't suppo
89a0: 72 74 20 65 69 74 68 65 72 0a 6f 70 65 72 61 74  rt either.operat
89b0: 6f 72 2e 0a 0a 32 31 30 2e 20 37 2f 32 38 2f 39  or...210. 7/28/9
89c0: 33 20 43 68 61 6e 67 65 64 20 62 61 63 6b 73 6c  3 Changed backsl
89d0: 61 73 68 2d 6e 65 77 6c 69 6e 65 20 68 61 6e 64  ash-newline hand
89e0: 6c 69 6e 67 20 73 6f 20 74 68 61 74 20 74 68 65  ling so that the
89f0: 20 72 65 73 75 6c 74 69 6e 67 0a 73 70 61 63 65   resulting.space
8a00: 20 63 68 61 72 61 63 74 65 72 20 2a 69 73 2a 20   character *is* 
8a10: 74 72 65 61 74 65 64 20 61 73 20 61 20 77 6f 72  treated as a wor
8a20: 64 20 73 65 70 61 72 61 74 6f 72 20 75 6e 6c 65  d separator unle
8a30: 73 73 20 74 68 65 20 62 61 63 6b 73 6c 61 73 68  ss the backslash
8a40: 0a 73 65 71 75 65 6e 63 65 20 69 73 20 69 6e 20  .sequence is in 
8a50: 71 75 6f 74 65 73 20 6f 72 20 62 72 61 63 65 73  quotes or braces
8a60: 2e 20 20 54 68 69 73 20 69 73 20 69 6e 63 6f 6d  .  This is incom
8a70: 70 61 74 69 62 6c 65 20 77 69 74 68 20 37 2e 30  patible with 7.0
8a80: 62 31 0a 61 6e 64 20 37 2e 30 62 32 20 62 75 74  b1.and 7.0b2 but
8a90: 20 69 73 20 6d 6f 72 65 20 63 6f 6d 70 61 74 69   is more compati
8aa0: 62 6c 65 20 77 69 74 68 20 70 72 65 2d 37 2e 30  ble with pre-7.0
8ab0: 20 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 74   versions that t
8ac0: 68 65 20 62 31 0a 61 6e 64 20 62 32 20 72 65 6c  he b1.and b2 rel
8ad0: 65 61 73 65 73 20 77 65 72 65 2e 0a 0a 32 31 31  eases were...211
8ae0: 2e 20 37 2f 32 38 2f 39 33 20 45 6c 69 6d 69 6e  . 7/28/93 Elimin
8af0: 61 74 65 64 20 54 63 6c 5f 4c 69 6e 6b 65 64 56  ated Tcl_LinkedV
8b00: 61 72 57 72 69 74 61 62 6c 65 2c 20 61 64 64 65  arWritable, adde
8b10: 64 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45 41 44 5f  d TCL_LINK_READ_
8b20: 4f 4e 4c 59 20 74 6f 0a 54 63 6c 5f 4c 69 6e 6b  ONLY to.Tcl_Link
8b30: 56 61 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73  Var to accomplis
8b40: 68 20 73 61 6d 65 20 70 75 72 70 6f 73 65 2e 20  h same purpose. 
8b50: 20 54 68 69 73 20 63 68 61 6e 67 65 20 69 73 20   This change is 
8b60: 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a 77 69 74  incompatible.wit
8b70: 68 20 65 61 72 6c 69 65 72 20 62 65 74 61 20 72  h earlier beta r
8b80: 65 6c 65 61 73 65 73 2c 20 62 75 74 20 6e 6f 74  eleases, but not
8b90: 20 77 69 74 68 20 72 65 6c 65 61 73 65 73 20 62   with releases b
8ba0: 65 66 6f 72 65 20 54 63 6c 20 37 2e 30 2e 0a 0a  efore Tcl 7.0...
8bb0: 32 31 32 2e 20 37 2f 32 39 2f 39 33 20 52 65 6e  212. 7/29/93 Ren
8bc0: 61 6d 65 64 20 72 65 67 65 78 70 20 43 20 66 75  amed regexp C fu
8bd0: 6e 63 74 69 6f 6e 73 20 73 6f 20 74 68 65 79 20  nctions so they 
8be0: 77 6f 6e 27 74 20 63 6c 61 73 68 20 77 69 74 68  won't clash with
8bf0: 20 50 4f 53 49 58 0a 72 65 67 65 78 70 20 66 75   POSIX.regexp fu
8c00: 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 75 73 65  nctions that use
8c10: 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 2e 0a   the same name..
8c20: 0a 32 31 33 2e 20 38 2f 33 2f 39 33 20 41 64 64  .213. 8/3/93 Add
8c30: 65 64 20 22 2d 65 72 72 6f 72 69 6e 66 6f 22 20  ed "-errorinfo" 
8c40: 61 6e 64 20 22 2d 65 72 72 6f 72 63 6f 64 65 22  and "-errorcode"
8c50: 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 72 65 74   options to "ret
8c60: 75 72 6e 22 0a 63 6f 6d 6d 61 6e 64 3a 20 74 68  urn".command: th
8c70: 65 73 65 20 61 6c 6c 6f 77 20 66 6f 72 20 6d 75  ese allow for mu
8c80: 63 68 20 62 65 74 74 65 72 20 68 61 6e 64 6c 69  ch better handli
8c90: 6e 67 20 6f 66 20 74 68 65 20 65 72 72 6f 72 49  ng of the errorI
8ca0: 6e 66 6f 0a 61 6e 64 20 65 72 72 6f 72 43 6f 64  nfo.and errorCod
8cb0: 65 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 73  e variables in s
8cc0: 6f 6d 65 20 63 61 73 65 73 2e 0a 0a 32 31 34 2e  ome cases...214.
8cd0: 20 38 2f 31 32 2f 39 33 20 43 68 61 6e 67 65 64   8/12/93 Changed
8ce0: 20 22 65 78 70 72 22 20 73 6f 20 74 68 61 74 20   "expr" so that 
8cf0: 25 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73  % always returns
8d00: 20 61 20 72 65 6d 61 69 6e 64 65 72 20 77 69 74   a remainder wit
8d10: 68 0a 74 68 65 20 73 61 6d 65 20 73 69 67 6e 20  h.the same sign 
8d20: 61 73 20 74 68 65 20 64 69 76 69 73 6f 72 20 61  as the divisor a
8d30: 6e 64 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75  nd absolute valu
8d40: 65 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74  e smaller than t
8d50: 68 65 0a 64 69 76 69 73 6f 72 2e 0a 0a 32 31 35  he.divisor...215
8d60: 2e 20 38 2f 31 34 2f 39 33 20 54 75 72 6e 65 64  . 8/14/93 Turned
8d70: 20 6f 66 66 20 61 75 74 6f 2d 65 78 65 63 20 69   off auto-exec i
8d80: 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20 75 6e 6c 65  n "unknown" unle
8d90: 73 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 77  ss the command.w
8da0: 61 73 20 74 79 70 65 64 20 69 6e 74 65 72 61 63  as typed interac
8db0: 74 69 76 65 6c 79 2e 20 20 54 68 69 73 20 6d 65  tively.  This me
8dc0: 61 6e 73 20 79 6f 75 20 6d 75 73 74 20 75 73 65  ans you must use
8dd0: 20 22 65 78 65 63 22 20 77 68 65 6e 0a 69 6e 76   "exec" when.inv
8de0: 6f 6b 69 6e 67 20 73 75 62 70 72 6f 63 65 73 73  oking subprocess
8df0: 65 73 2c 20 75 6e 6c 65 73 73 20 69 74 27 73 20  es, unless it's 
8e00: 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 27 73  a command that's
8e10: 20 74 79 70 65 64 20 69 6e 74 65 72 61 63 74 69   typed interacti
8e20: 76 65 6c 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  vely..*** POTENT
8e30: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
8e40: 49 54 59 20 2a 2a 2a 0a 0a 32 31 36 2e 20 38 2f  ITY ***..216. 8/
8e50: 31 34 2f 39 33 20 41 64 64 65 64 20 73 75 70 70  14/93 Added supp
8e60: 6f 72 74 20 66 6f 72 20 74 63 6c 5f 70 72 6f 6d  ort for tcl_prom
8e70: 70 74 31 20 61 6e 64 20 74 63 6c 5f 70 72 6f 6d  pt1 and tcl_prom
8e80: 70 74 32 20 76 61 72 69 61 62 6c 65 73 0a 74 6f  pt2 variables.to
8e90: 20 74 63 6c 4d 61 69 6e 2e 63 3a 20 20 6d 61 6b   tclMain.c:  mak
8ea0: 65 73 20 70 72 6f 6d 70 74 73 20 75 73 65 72 2d  es prompts user-
8eb0: 73 65 74 74 61 62 6c 65 2e 0a 0a 32 31 37 2e 20  settable...217. 
8ec0: 38 2f 31 34 2f 39 33 20 41 64 64 65 64 20 61 73  8/14/93 Added as
8ed0: 79 6e 63 68 72 6f 6e 6f 75 73 20 68 61 6e 64 6c  ynchronous handl
8ee0: 65 72 73 20 28 54 63 6c 5f 41 73 79 6e 63 43 72  ers (Tcl_AsyncCr
8ef0: 65 61 74 65 20 65 74 63 2e 29 20 73 6f 0a 74 68  eate etc.) so.th
8f00: 61 74 20 73 69 67 6e 61 6c 73 20 63 61 6e 20 62  at signals can b
8f10: 65 20 74 61 6b 65 6e 20 63 6c 65 61 6e 6c 79 20  e taken cleanly 
8f20: 62 79 20 54 63 6c 20 61 70 70 6c 69 63 61 74 69  by Tcl applicati
8f30: 6f 6e 73 2e 0a 0a 32 31 38 2e 20 38 2f 31 36 2f  ons...218. 8/16/
8f40: 39 33 20 4d 6f 76 65 64 20 69 6e 66 6f 72 6d 61  93 Moved informa
8f50: 74 69 6f 6e 20 61 62 6f 75 74 20 6f 70 65 6e 20  tion about open 
8f60: 66 69 6c 65 73 20 66 72 6f 6d 20 74 68 65 20 69  files from the i
8f70: 6e 74 65 72 70 72 65 74 65 72 0a 73 74 72 75 63  nterpreter.struc
8f80: 74 75 72 65 20 74 6f 20 67 6c 6f 62 61 6c 20 76  ture to global v
8f90: 61 72 69 61 62 6c 65 73 20 73 6f 20 74 68 61 74  ariables so that
8fa0: 20 61 20 66 69 6c 65 20 63 61 6e 20 62 65 20 6f   a file can be o
8fb0: 70 65 6e 65 64 20 69 6e 20 6f 6e 65 0a 69 6e 74  pened in one.int
8fc0: 65 72 70 72 65 74 65 72 20 61 6e 64 20 72 65 61  erpreter and rea
8fd0: 64 20 6f 72 20 77 72 69 74 74 65 6e 20 69 6e 20  d or written in 
8fe0: 61 6e 6f 74 68 65 72 2e 0a 0a 32 31 39 2e 20 38  another...219. 8
8ff0: 2f 31 36 2f 39 33 20 52 65 6d 6f 76 65 64 20 45  /16/93 Removed E
9000: 4e 56 5f 46 4c 41 47 53 20 66 72 6f 6d 20 4d 61  NV_FLAGS from Ma
9010: 6b 65 66 69 6c 65 2c 20 73 6f 20 74 68 61 74 20  kefile, so that 
9020: 74 68 65 72 65 27 73 20 6e 6f 0a 6f 66 66 69 63  there's no.offic
9030: 69 61 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ial support for 
9040: 6f 76 65 72 72 69 64 69 6e 67 20 73 65 74 65 6e  overriding seten
9050: 76 2c 20 75 6e 73 65 74 65 6e 76 2c 20 61 6e 64  v, unsetenv, and
9060: 20 70 75 74 65 6e 76 2e 0a 0a 32 32 30 2e 20 38   putenv...220. 8
9070: 2f 32 30 2f 39 33 20 56 61 72 69 6f 75 73 20 63  /20/93 Various c
9080: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6d 70  onfiguration imp
9090: 72 6f 76 65 6d 65 6e 74 73 3a 20 20 63 6f 65 72  rovements:  coer
90a0: 63 65 20 63 68 61 72 73 0a 74 6f 20 75 6e 73 69  ce chars.to unsi
90b0: 67 6e 65 64 20 63 68 61 72 73 20 62 65 66 6f 72  gned chars befor
90c0: 65 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 20 6c  e using macros l
90d0: 69 6b 65 20 69 73 73 70 61 63 65 3b 20 20 73 6f  ike isspace;  so
90e0: 75 72 63 65 20 7e 2f 2e 74 63 6c 73 68 72 63 0a  urce ~/.tclshrc.
90f0: 66 69 6c 65 20 64 75 72 69 6e 67 20 69 6e 69 74  file during init
9100: 69 61 6c 69 7a 61 74 69 6f 6e 20 69 66 20 69 74  ialization if it
9110: 20 65 78 69 73 74 73 20 61 6e 64 20 70 72 6f 67   exists and prog
9120: 72 61 6d 20 69 73 20 72 75 6e 6e 69 6e 67 0a 69  ram is running.i
9130: 6e 74 65 72 61 63 74 69 76 65 6c 79 3b 20 20 61  nteractively;  a
9140: 6c 6c 6f 77 20 74 68 65 72 65 20 74 6f 20 62 65  llow there to be
9150: 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 6e 20   directories in 
9160: 61 75 74 6f 5f 70 61 74 68 20 74 68 61 74 20 64  auto_path that d
9170: 6f 6e 27 74 0a 65 78 69 73 74 20 6f 72 20 64 6f  on't.exist or do
9180: 6e 27 74 20 68 61 76 65 20 74 63 6c 49 6e 64 65  n't have tclInde
9190: 78 20 66 69 6c 65 73 20 28 69 67 6e 6f 72 65 20  x files (ignore 
91a0: 74 68 65 6d 29 3b 20 61 64 64 65 64 20 54 63 6c  them); added Tcl
91b0: 5f 49 6e 69 74 0a 70 72 6f 63 65 64 75 72 65 20  _Init.procedure 
91c0: 61 6e 64 20 63 68 61 6e 67 65 64 20 54 63 6c 5f  and changed Tcl_
91d0: 41 70 70 49 6e 69 74 20 74 6f 20 63 61 6c 6c 20  AppInit to call 
91e0: 69 74 2e 0a 0a 32 32 31 2e 20 38 2f 32 31 2f 39  it...221. 8/21/9
91f0: 33 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 65  3 Fixed bug in e
9200: 78 70 72 20 77 68 65 72 65 20 22 2b 22 2c 20 22  xpr where "+", "
9210: 2d 22 2c 20 61 6e 64 20 22 20 22 20 77 65 72 65  -", and " " were
9220: 20 61 6c 6c 0a 67 65 74 74 69 6e 67 20 74 72 65   all.getting tre
9230: 61 74 65 64 20 61 73 20 69 6e 74 65 67 65 72 73  ated as integers
9240: 20 77 69 74 68 20 76 61 6c 75 65 20 30 2e 0a 0a   with value 0...
9250: 32 32 32 2e 20 38 2f 32 36 2f 39 33 20 41 64 64  222. 8/26/93 Add
9260: 65 64 20 22 74 63 6c 5f 69 6e 74 65 72 61 63 74  ed "tcl_interact
9270: 69 76 65 22 20 76 61 72 69 61 62 6c 65 20 74 6f  ive" variable to
9280: 20 74 63 6c 73 68 2e 0a 0a 32 32 33 2e 20 38 2f   tclsh...223. 8/
9290: 32 37 2f 39 33 20 41 64 64 65 64 20 70 72 6f 63  27/93 Added proc
92a0: 65 64 75 72 65 20 54 63 6c 5f 46 69 6c 65 50 65  edure Tcl_FilePe
92b0: 72 6d 69 73 73 69 6f 6e 73 20 74 6f 20 72 65 74  rmissions to ret
92c0: 75 72 6e 20 77 68 65 74 68 65 72 20 61 0a 67 69  urn whether a.gi
92d0: 76 65 6e 20 66 69 6c 65 20 63 61 6e 20 62 65 20  ven file can be 
92e0: 72 65 61 64 20 6f 72 20 77 72 69 74 74 65 6e 20  read or written 
92f0: 6f 72 20 62 6f 74 68 2e 20 20 4d 6f 64 69 66 69  or both.  Modifi
9300: 65 64 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65  ed Tcl_EnterFile
9310: 0a 74 6f 20 74 61 6b 65 20 61 20 70 65 72 6d 69  .to take a permi
9320: 73 73 69 6f 6e 73 20 6d 61 73 6b 20 72 61 74 68  ssions mask rath
9330: 65 72 20 74 68 61 6e 20 73 65 70 61 72 61 74 65  er than separate
9340: 20 72 65 61 64 20 61 6e 64 20 77 72 69 74 65 20   read and write 
9350: 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 32 32 34 2e  arguments...224.
9360: 20 38 2f 32 38 2f 39 33 20 46 69 78 65 64 20 70   8/28/93 Fixed p
9370: 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67 20 69  erformance bug i
9380: 6e 20 22 67 6c 6f 62 22 20 63 6f 6d 6d 61 6e 64  n "glob" command
9390: 20 28 75 6e 6e 65 63 65 73 73 61 72 79 20 63 61   (unnecessary ca
93a0: 6c 6c 0a 74 6f 20 22 61 63 63 65 73 73 22 20 66  ll.to "access" f
93b0: 6f 72 20 65 61 63 68 20 66 69 6c 65 20 63 61 75  or each file cau
93c0: 73 65 64 20 61 20 35 2d 31 30 78 20 73 6c 6f 77  sed a 5-10x slow
93d0: 2d 64 6f 77 6e 20 66 6f 72 20 62 69 67 20 64 69  -down for big di
93e0: 72 65 63 74 6f 72 69 65 73 29 2e 0a 0a 2d 2d 2d  rectories)...---
93f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
9400: 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20  eleased version 
9410: 37 2e 30 20 42 65 74 61 20 33 2c 20 38 2f 32 38  7.0 Beta 3, 8/28
9420: 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /93 ------------
9430: 2d 2d 2d 2d 2d 2d 0a 0a 32 32 35 2e 20 39 2f 39  ------..225. 9/9
9440: 2f 39 33 20 52 65 6e 61 6d 65 64 20 72 65 67 65  /93 Renamed rege
9450: 78 70 2e 68 20 74 6f 20 74 63 6c 52 65 67 65 78  xp.h to tclRegex
9460: 70 2e 68 20 74 6f 20 61 76 6f 69 64 20 63 6f 6e  p.h to avoid con
9470: 66 6c 69 63 74 73 20 77 69 74 68 20 73 79 73 74  flicts with syst
9480: 65 6d 0a 69 6e 63 6c 75 64 65 20 66 69 6c 65 20  em.include file 
9490: 62 79 20 73 61 6d 65 20 6e 61 6d 65 2e 0a 0a 32  by same name...2
94a0: 32 36 2e 20 39 2f 39 2f 39 33 20 41 64 64 65 64  26. 9/9/93 Added
94b0: 20 54 63 6c 5f 44 6f 6e 74 43 61 6c 6c 57 68 65   Tcl_DontCallWhe
94c0: 6e 44 65 6c 65 74 65 64 2e 0a 0a 32 32 37 2e 20  nDeleted...227. 
94d0: 39 2f 31 36 2f 39 33 20 43 68 61 6e 67 65 64 20  9/16/93 Changed 
94e0: 6e 6f 74 20 74 6f 20 63 61 6c 6c 20 65 78 69 74  not to call exit
94f0: 20 43 20 70 72 6f 63 65 64 75 72 65 20 64 69 72   C procedure dir
9500: 65 63 74 6c 79 3b 20 20 69 6e 73 74 65 61 64 0a  ectly;  instead.
9510: 61 6c 77 61 79 73 20 69 6e 76 6f 6b 65 20 22 65  always invoke "e
9520: 78 69 74 22 20 54 63 6c 20 63 6f 6d 6d 61 6e 64  xit" Tcl command
9530: 20 73 6f 20 74 68 61 74 20 61 70 70 6c 69 63 61   so that applica
9540: 74 69 6f 6e 20 63 61 6e 20 72 65 64 65 66 69 6e  tion can redefin
9550: 65 20 74 68 65 0a 63 6f 6d 6d 61 6e 64 20 74 6f  e the.command to
9560: 20 64 6f 20 61 64 64 69 74 69 6f 6e 61 6c 20 63   do additional c
9570: 6c 65 61 6e 75 70 2e 0a 0a 32 32 38 2e 20 39 2f  leanup...228. 9/
9580: 31 37 2f 39 33 20 43 68 61 6e 67 65 64 20 61 75  17/93 Changed au
9590: 74 6f 2d 65 78 65 63 20 74 6f 20 68 61 6e 64 6c  to-exec to handl
95a0: 65 20 6e 61 6d 65 73 20 74 68 61 74 20 63 6f 6e  e names that con
95b0: 74 61 69 6e 20 73 6c 61 73 68 65 73 0a 28 69 2e  tain slashes.(i.
95c0: 65 2e 20 64 6f 6e 27 74 20 75 73 65 20 50 41 54  e. don't use PAT
95d0: 48 20 66 6f 72 20 74 68 65 6d 29 2e 0a 0a 32 32  H for them)...22
95e0: 39 2e 20 39 2f 32 33 2f 39 33 20 46 69 78 65 64  9. 9/23/93 Fixed
95f0: 20 62 75 67 20 69 6e 20 22 72 65 61 64 22 20 61   bug in "read" a
9600: 6e 64 20 22 67 65 74 73 22 20 63 6f 6d 6d 61 6e  nd "gets" comman
9610: 64 73 20 77 68 65 72 65 20 74 68 65 79 20 64 69  ds where they di
9620: 64 6e 27 74 0a 63 6c 65 61 72 20 45 4f 46 20 63  dn't.clear EOF c
9630: 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 2d 2d 2d 2d  onditions...----
9640: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
9650: 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 37  leased version 7
9660: 2e 30 2c 20 39 2f 32 39 2f 39 33 20 2d 2d 2d 2d  .0, 9/29/93 ----
9670: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
9680: 32 33 30 2e 20 31 30 2f 37 2f 39 33 20 22 53 63  230. 10/7/93 "Sc
9690: 61 6e 22 20 63 6f 6d 6d 61 6e 64 20 77 61 73 6e  an" command wasn
96a0: 27 74 20 70 72 6f 70 65 72 6c 79 20 61 6c 69 67  't properly alig
96b0: 6e 69 6e 67 20 74 68 69 6e 67 73 20 69 6e 20 6d  ning things in m
96c0: 65 6d 6f 72 79 2c 0a 73 6f 20 73 65 67 6d 65 6e  emory,.so segmen
96d0: 74 61 74 69 6f 6e 20 66 61 75 6c 74 73 20 63 6f  tation faults co
96e0: 75 6c 64 20 61 72 69 73 65 20 75 6e 64 65 72 20  uld arise under 
96f0: 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63  some circumstanc
9700: 65 73 2e 0a 0a 32 33 31 2e 20 31 30 2f 37 2f 39  es...231. 10/7/9
9710: 33 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54  3 Fixed bug in T
9720: 63 6c 5f 43 6f 6e 76 65 72 74 45 6c 65 6d 65 6e  cl_ConvertElemen
9730: 74 20 77 68 65 72 65 20 69 74 20 66 6f 72 67 6f  t where it forgo
9740: 74 20 74 6f 0a 62 61 63 6b 73 6c 61 73 68 20 6c  t to.backslash l
9750: 65 61 64 69 6e 67 20 63 75 72 6c 79 20 62 72 61  eading curly bra
9760: 63 65 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67  ce when creating
9770: 20 6c 69 73 74 73 2e 0a 0a 32 33 32 2e 20 31 30   lists...232. 10
9780: 2f 37 2f 39 33 20 45 6c 69 6d 69 6e 61 74 65 64  /7/93 Eliminated
9790: 20 64 65 70 65 6e 64 65 6e 63 79 20 6f 66 20 74   dependency of t
97a0: 63 6c 4d 61 69 6e 2e 63 20 6f 6e 20 74 63 6c 49  clMain.c on tclI
97b0: 6e 74 2e 68 20 61 6e 64 0a 74 63 6c 55 6e 69 78  nt.h and.tclUnix
97c0: 2e 68 2c 20 73 6f 20 74 68 61 74 20 70 65 6f 70  .h, so that peop
97d0: 6c 65 20 63 61 6e 20 63 6f 70 79 20 74 68 65 20  le can copy the 
97e0: 66 69 6c 65 20 6f 75 74 20 6f 66 20 74 68 65 20  file out of the 
97f0: 54 63 6c 20 73 6f 75 72 63 65 0a 64 69 72 65 63  Tcl source.direc
9800: 74 6f 72 79 20 74 6f 20 6d 61 6b 65 20 6d 6f 64  tory to make mod
9810: 69 66 69 65 64 20 70 72 69 76 61 74 65 20 76 65  ified private ve
9820: 72 73 69 6f 6e 73 2e 0a 0a 32 33 33 2e 20 31 30  rsions...233. 10
9830: 2f 38 2f 39 33 20 46 69 78 65 64 20 62 75 67 20  /8/93 Fixed bug 
9840: 69 6e 20 61 75 74 6f 2d 6c 6f 61 64 65 72 20 74  in auto-loader t
9850: 68 61 74 20 72 65 76 65 72 73 65 64 20 74 68 65  hat reversed the
9860: 20 70 72 69 6f 72 69 74 79 20 6f 72 64 65 72 0a   priority order.
9870: 6f 66 20 65 6e 74 72 69 65 73 20 69 6e 20 61 75  of entries in au
9880: 74 6f 5f 70 61 74 68 20 66 6f 72 20 6e 65 77 2d  to_path for new-
9890: 73 74 79 6c 65 20 69 6e 64 65 78 20 66 69 6c 65  style index file
98a0: 73 2e 20 20 4e 6f 77 20 74 68 69 6e 67 73 20 61  s.  Now things a
98b0: 72 65 0a 62 61 63 6b 20 74 6f 20 74 68 65 20 77  re.back to the w
98c0: 61 79 20 74 68 65 79 20 77 65 72 65 20 62 65 66  ay they were bef
98d0: 6f 72 65 20 33 2e 30 3a 20 20 66 69 72 73 74 20  ore 3.0:  first 
98e0: 69 6e 20 61 75 74 6f 5f 70 61 74 68 20 69 73 20  in auto_path is 
98f0: 61 6c 77 61 79 73 0a 68 69 67 68 65 73 74 20 70  always.highest p
9900: 72 69 6f 72 69 74 79 2e 0a 0a 32 33 34 2e 20 31  riority...234. 1
9910: 30 2f 31 33 2f 39 33 20 46 69 78 65 64 20 62 75  0/13/93 Fixed bu
9920: 67 20 77 68 65 72 65 20 54 63 6c 5f 43 6f 6d 6d  g where Tcl_Comm
9930: 61 6e 64 43 6f 6d 70 6c 65 74 65 20 64 69 64 6e  andComplete didn
9940: 27 74 20 72 65 63 6f 67 6e 69 7a 65 0a 63 6f 6d  't recognize.com
9950: 6d 65 6e 74 73 20 61 6e 64 20 74 72 65 61 74 20  ments and treat 
9960: 74 68 65 6d 20 61 73 20 73 75 63 68 2e 20 20 54  them as such.  T
9970: 68 75 73 20 69 66 20 79 6f 75 20 74 79 70 65 64  hus if you typed
9980: 20 74 68 65 20 6c 69 6e 65 0a 20 20 20 20 23 20   the line.    # 
9990: 7b 0a 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c  {.interactively,
99a0: 20 54 63 6c 20 77 6f 75 6c 64 20 74 68 69 6e 6b   Tcl would think
99b0: 20 74 68 61 74 20 74 68 65 20 63 6f 6d 6d 61 6e   that the comman
99c0: 64 20 77 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74  d wasn't complet
99d0: 65 20 61 6e 64 0a 77 61 69 74 20 66 6f 72 20 6d  e and.wait for m
99e0: 6f 72 65 20 69 6e 70 75 74 20 62 65 66 6f 72 65  ore input before
99f0: 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65 20   evaluating the 
9a00: 73 63 72 69 70 74 2e 0a 0a 32 33 35 2e 20 31 30  script...235. 10
9a10: 2f 31 34 2f 39 33 20 46 69 78 65 64 20 62 75 67  /14/93 Fixed bug
9a20: 20 77 68 65 72 65 20 22 72 65 67 73 75 62 22 20   where "regsub" 
9a30: 64 69 64 6e 27 74 20 73 65 74 20 74 68 65 20 6f  didn't set the o
9a40: 75 74 70 75 74 20 76 61 72 69 61 62 6c 65 0a 69  utput variable.i
9a50: 66 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69  f the input stri
9a60: 6e 67 20 77 61 73 20 65 6d 70 74 79 2e 0a 0a 32  ng was empty...2
9a70: 33 36 2e 20 31 30 2f 32 33 2f 39 33 20 46 69 78  36. 10/23/93 Fix
9a80: 65 64 20 62 75 67 20 77 68 65 72 65 20 54 63 6c  ed bug where Tcl
9a90: 5f 43 72 65 61 74 65 50 69 70 65 6c 69 6e 65 20  _CreatePipeline 
9aa0: 64 69 64 6e 27 74 20 63 6c 6f 73 65 20 6f 66 66  didn't close off
9ab0: 20 65 6e 6f 75 67 68 0a 66 69 6c 65 20 64 65 73   enough.file des
9ac0: 63 72 69 70 74 6f 72 73 20 69 6e 20 63 68 69 6c  criptors in chil
9ad0: 64 20 70 72 6f 63 65 73 73 65 73 2c 20 63 61 75  d processes, cau
9ae0: 73 69 6e 67 20 63 68 69 6c 64 72 65 6e 20 6e 6f  sing children no
9af0: 74 20 74 6f 20 65 78 69 74 0a 70 72 6f 70 65 72  t to exit.proper
9b00: 6c 79 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 73  ly in some cases
9b10: 2e 0a 0a 32 33 37 2e 20 31 30 2f 32 38 2f 39 33  ...237. 10/28/93
9b20: 20 43 68 61 6e 67 65 64 20 22 6c 69 73 74 22 20   Changed "list" 
9b30: 61 6e 64 20 22 63 6f 6e 63 61 74 22 20 63 6f 6d  and "concat" com
9b40: 6d 61 6e 64 73 20 6e 6f 74 20 74 6f 20 67 65 6e  mands not to gen
9b50: 65 72 61 74 65 0a 65 72 72 6f 72 73 20 69 66 20  erate.errors if 
9b60: 67 69 76 65 6e 20 7a 65 72 6f 20 61 72 67 75 6d  given zero argum
9b70: 65 6e 74 73 2c 20 62 75 74 20 69 6e 73 74 65 61  ents, but instea
9b80: 64 20 74 6f 20 6a 75 73 74 20 72 65 74 75 72 6e  d to just return
9b90: 20 61 6e 20 65 6d 70 74 79 0a 73 74 72 69 6e 67   an empty.string
9ba0: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
9bb0: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
9bc0: 72 73 69 6f 6e 20 37 2e 31 2c 20 31 31 2f 34 2f  rsion 7.1, 11/4/
9bd0: 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  93 -------------
9be0: 2d 2d 2d 2d 2d 0a 0a 4e 6f 74 65 3a 20 74 68 65  -----..Note: the
9bf0: 72 65 20 69 73 20 6e 6f 20 37 2e 32 20 72 65 6c  re is no 7.2 rel
9c00: 65 61 73 65 2e 20 20 49 74 20 77 61 73 20 66 6c  ease.  It was fl
9c10: 61 77 65 64 20 61 6e 64 20 77 61 73 20 74 68 75  awed and was thu
9c20: 73 20 77 69 74 68 64 72 61 77 6e 0a 73 68 6f 72  s withdrawn.shor
9c30: 74 6c 79 20 61 66 74 65 72 20 69 74 20 77 61 73  tly after it was
9c40: 20 72 65 6c 65 61 73 65 64 2e 0a 0a 32 33 38 2e   released...238.
9c50: 20 31 31 2f 31 30 2f 39 33 20 54 63 6c 4d 61 69   11/10/93 TclMai
9c60: 6e 2e 63 20 64 69 64 6e 27 74 20 63 6f 6d 70 69  n.c didn't compi
9c70: 6c 65 20 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65  le on some syste
9c80: 6d 73 20 62 65 63 61 75 73 65 20 6f 66 0a 52 5f  ms because of.R_
9c90: 4f 4b 20 69 6e 20 63 61 6c 6c 20 74 6f 20 22 61  OK in call to "a
9ca0: 63 63 65 73 73 22 2e 20 20 43 68 61 6e 67 65 64  ccess".  Changed
9cb0: 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 63 61   to eliminate ca
9cc0: 6c 6c 20 74 6f 20 22 61 63 63 65 73 73 22 2e 0a  ll to "access"..
9cd0: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
9ce0: 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73  -- Released vers
9cf0: 69 6f 6e 20 37 2e 33 2c 20 31 31 2f 32 36 2f 39  ion 7.3, 11/26/9
9d00: 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  3 --------------
9d10: 2d 2d 2d 2d 0a 0a 32 33 39 2e 20 31 31 2f 36 2f  ----..239. 11/6/
9d20: 39 33 20 4d 6f 64 69 66 69 65 64 20 22 6c 69 6e  93 Modified "lin
9d30: 64 65 78 22 2c 20 22 6c 69 6e 73 65 72 74 22 2c  dex", "linsert",
9d40: 20 22 6c 72 61 6e 67 65 22 2c 20 61 6e 64 20 22   "lrange", and "
9d50: 6c 72 65 70 6c 61 63 65 22 0a 73 6f 20 74 68 61  lreplace".so tha
9d60: 74 20 22 65 6e 64 22 20 63 61 6e 20 62 65 20 73  t "end" can be s
9d70: 70 65 63 69 66 69 65 64 20 61 73 20 61 6e 20 69  pecified as an i
9d80: 6e 64 65 78 2e 0a 0a 32 34 30 2e 20 31 31 2f 36  ndex...240. 11/6
9d90: 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 22 61 70  /93 Modified "ap
9da0: 70 65 6e 64 22 20 61 6e 64 20 22 6c 61 70 70 65  pend" and "lappe
9db0: 6e 64 22 20 74 6f 20 61 6c 6c 6f 77 20 6f 6e 6c  nd" to allow onl
9dc0: 79 20 74 77 6f 0a 77 6f 72 64 73 20 74 6f 74 61  y two.words tota
9dd0: 6c 20 28 69 2e 65 2e 2c 20 6e 6f 74 68 69 6e 67  l (i.e., nothing
9de0: 20 74 6f 20 61 70 70 65 6e 64 29 20 77 69 74 68   to append) with
9df0: 6f 75 74 20 67 65 6e 65 72 61 74 69 6e 67 20 61  out generating a
9e00: 6e 20 65 72 72 6f 72 2e 0a 0a 32 34 31 2e 20 31  n error...241. 1
9e10: 32 2f 32 2f 39 33 20 43 68 61 6e 67 65 64 20 74  2/2/93 Changed t
9e20: 6f 20 75 73 65 20 45 41 47 41 49 4e 20 61 73 20  o use EAGAIN as 
9e30: 74 68 65 20 65 72 72 6e 6f 20 66 6f 72 20 6e 6f  the errno for no
9e40: 6e 2d 62 6c 6f 63 6b 69 6e 67 0a 49 2f 4f 20 69  n-blocking.I/O i
9e50: 6e 73 74 65 61 64 20 6f 66 20 45 57 4f 55 4c 44  nstead of EWOULD
9e60: 42 4c 4f 43 4b 3a 20 20 74 68 69 73 20 73 68 6f  BLOCK:  this sho
9e70: 75 6c 64 20 66 69 78 20 70 72 6f 62 6c 65 6d 20  uld fix problem 
9e80: 77 68 65 72 65 20 6e 6f 6e 2d 62 6c 6f 63 6b 69  where non-blocki
9e90: 6e 67 0a 49 2f 4f 20 64 69 64 6e 27 74 20 77 6f  ng.I/O didn't wo
9ea0: 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 6f 6e 20  rk correctly on 
9eb0: 53 79 73 74 65 6d 2d 56 20 73 79 73 74 65 6d 73  System-V systems
9ec0: 2e 0a 0a 32 34 32 2e 20 31 32 2f 32 32 2f 39 33  ...242. 12/22/93
9ed0: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 65 78   Fixed bug in ex
9ee0: 70 72 65 73 73 69 6f 6e 73 20 77 68 65 72 65 20  pressions where 
9ef0: 63 61 6e 63 65 6c 6c 65 64 20 65 76 61 6c 75 61  cancelled evalua
9f00: 74 69 6f 6e 0a 77 61 73 6e 27 74 20 61 6c 77 61  tion.wasn't alwa
9f10: 79 73 20 77 6f 72 6b 69 6e 67 20 63 6f 72 72 65  ys working corre
9f20: 63 74 6c 79 20 28 65 2e 67 2e 20 22 73 65 74 20  ctly (e.g. "set 
9f30: 6f 6e 65 20 31 3b 20 65 76 61 6c 20 7b 31 20 7c  one 1; eval {1 |
9f40: 7c 20 31 2f 24 6f 6e 65 7d 22 0a 66 61 69 6c 65  | 1/$one}".faile
9f50: 64 20 77 69 74 68 20 61 20 64 69 76 69 64 65 20  d with a divide 
9f60: 62 79 20 7a 65 72 6f 20 65 72 72 6f 72 29 2e 0a  by zero error)..
9f70: 0a 32 34 33 2e 20 31 2f 36 2f 39 34 20 43 68 61  .243. 1/6/94 Cha
9f80: 6e 67 65 64 20 54 43 4c 5f 56 4f 4c 41 54 49 4c  nged TCL_VOLATIL
9f90: 45 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 72 6f  E definition fro
9fa0: 6d 20 2d 31 20 74 6f 20 74 68 65 20 61 64 64 72  m -1 to the addr
9fb0: 65 73 73 20 6f 66 0a 61 20 64 75 6d 6d 79 20 70  ess of.a dummy p
9fc0: 72 6f 63 65 64 75 72 65 20 54 63 6c 5f 56 6f 6c  rocedure Tcl_Vol
9fd0: 61 74 69 6c 65 2c 20 73 69 6e 63 65 20 2d 31 20  atile, since -1 
9fe0: 63 61 75 73 65 73 20 70 6f 72 74 61 62 69 6c 69  causes portabili
9ff0: 74 79 20 70 72 6f 62 6c 65 6d 73 20 6f 6e 0a 73  ty problems on.s
a000: 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20 28 65 2e  ome machines (e.
a010: 67 2e 2c 20 43 72 61 79 73 29 2e 0a 0a 32 34 34  g., Crays)...244
a020: 2e 20 32 2f 34 2f 39 34 20 41 64 64 65 64 20 73  . 2/4/94 Added s
a030: 75 70 70 6f 72 74 20 66 6f 72 20 75 6e 61 72 79  upport for unary
a040: 20 70 6c 75 73 2e 0a 0a 32 34 35 2e 20 32 2f 31   plus...245. 2/1
a050: 37 2f 39 34 20 43 68 61 6e 67 65 64 20 54 63 6c  7/94 Changed Tcl
a060: 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c 20 61  _RecordAndEval a
a070: 6e 64 20 22 68 69 73 74 6f 72 79 22 20 63 6f 6d  nd "history" com
a080: 6d 61 6e 64 20 74 6f 0a 63 61 6c 6c 20 54 63 6c  mand to.call Tcl
a090: 5f 47 6c 6f 62 61 6c 45 76 61 6c 20 69 6e 73 74  _GlobalEval inst
a0a0: 65 61 64 20 6f 66 20 54 63 6c 5f 45 76 61 6c 2e  ead of Tcl_Eval.
a0b0: 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 6e 76    Otherwise, inv
a0c0: 6f 63 61 74 69 6f 6e 20 6f 66 0a 74 68 65 73 65  ocation of.these
a0d0: 20 66 61 63 69 6c 69 74 69 65 73 20 69 6e 20 6e   facilities in n
a0e0: 65 73 74 65 64 20 70 72 6f 63 65 64 75 72 65 73  ested procedures
a0f0: 20 63 61 6e 20 63 61 75 73 65 20 75 6e 77 61 6e   can cause unwan
a100: 74 65 64 20 72 65 73 75 6c 74 73 2e 0a 0a 32 34  ted results...24
a110: 36 2e 20 32 2f 31 37 2f 39 34 20 46 69 78 65 64  6. 2/17/94 Fixed
a120: 20 62 75 67 20 69 6e 20 74 63 6c 45 78 70 72 2e   bug in tclExpr.
a130: 63 20 77 68 65 72 65 20 61 6e 20 65 78 70 72 65  c where an expre
a140: 73 73 69 6f 6e 20 73 75 63 68 20 61 73 0a 22 65  ssion such as."e
a150: 78 70 72 20 7b 22 31 32 33 39 38 37 31 32 39 33  xpr {"1239871293
a160: 38 37 38 38 32 33 34 2d 31 32 39 38 33 37 39 22  8788234-1298379"
a170: 20 21 3d 20 22 22 7d 22 20 74 72 69 67 67 65 72   != ""}" trigger
a180: 73 20 61 6e 20 69 6e 74 65 67 65 72 0a 6f 76 65  s an integer.ove
a190: 72 66 6c 6f 77 20 65 72 72 6f 72 20 66 6f 72 20  rflow error for 
a1a0: 74 68 65 20 6e 75 6d 62 65 72 20 69 6e 20 71 75  the number in qu
a1b0: 6f 74 65 73 2c 20 65 76 65 6e 20 74 68 6f 75 67  otes, even thoug
a1c0: 68 20 69 74 20 69 73 6e 27 74 20 72 65 61 6c 6c  h it isn't reall
a1d0: 79 0a 61 20 70 72 6f 70 65 72 20 69 6e 74 65 67  y.a proper integ
a1e0: 65 72 20 61 6e 79 77 61 79 2e 0a 0a 32 34 37 2e  er anyway...247.
a1f0: 20 32 2f 31 39 2f 39 34 20 41 64 64 65 64 20 6e   2/19/94 Added n
a200: 65 77 20 70 72 6f 63 65 64 75 72 65 20 54 63 6c  ew procedure Tcl
a210: 5f 44 53 74 72 69 6e 67 47 65 74 52 65 73 75 6c  _DStringGetResul
a220: 74 20 74 6f 20 6d 6f 76 65 20 72 65 73 75 6c 74  t to move result
a230: 0a 66 72 6f 6d 20 69 6e 74 65 72 70 72 65 74 65  .from interprete
a240: 72 20 74 6f 20 61 20 64 79 6e 61 6d 69 63 20 73  r to a dynamic s
a250: 74 72 69 6e 67 2e 0a 0a 32 34 38 2e 20 32 2f 31  tring...248. 2/1
a260: 39 2f 39 34 20 46 69 78 65 64 20 62 75 67 20 69  9/94 Fixed bug i
a270: 6e 20 54 63 6c 5f 44 53 74 72 69 6e 67 52 65 73  n Tcl_DStringRes
a280: 75 6c 74 20 74 68 61 74 20 63 61 75 73 65 64 20  ult that caused 
a290: 69 74 20 74 6f 20 6f 76 65 72 77 72 69 74 65 0a  it to overwrite.
a2a0: 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20  the contents of 
a2b0: 61 20 73 74 61 74 69 63 20 72 65 73 75 6c 74 20  a static result 
a2c0: 69 6e 20 73 6f 6d 65 20 73 69 74 75 61 74 69 6f  in some situatio
a2d0: 6e 73 2e 20 20 54 68 69 73 20 63 61 6e 20 63 61  ns.  This can ca
a2e0: 75 73 65 0a 62 69 7a 61 72 72 65 20 65 72 72 6f  use.bizarre erro
a2f0: 72 73 20 73 75 63 68 20 61 73 20 76 61 72 69 61  rs such as varia
a300: 62 6c 65 73 20 73 75 64 64 65 6e 6c 79 20 68 61  bles suddenly ha
a310: 76 69 6e 67 20 65 6d 70 74 79 20 76 61 6c 75 65  ving empty value
a320: 73 2e 0a 0a 32 34 39 2e 20 32 2f 32 31 2f 39 34  s...249. 2/21/94
a330: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63   Fixed bug in Tc
a340: 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65 6e 74 2c  l_AppendElement,
a350: 20 54 63 6c 5f 44 53 74 72 69 6e 67 41 70 70 65   Tcl_DStringAppe
a360: 6e 64 45 6c 65 6d 65 6e 74 2c 0a 61 6e 64 20 74  ndElement,.and t
a370: 68 65 20 22 6c 61 70 70 65 6e 64 22 20 63 6f 6d  he "lappend" com
a380: 6d 61 6e 64 20 74 68 61 74 20 63 61 75 73 65 64  mand that caused
a390: 20 69 6d 70 72 6f 70 65 72 20 6f 6d 69 73 73 69   improper omissi
a3a0: 6f 6e 20 6f 66 20 61 20 73 65 70 61 72 61 74 6f  on of a separato
a3b0: 72 0a 73 70 61 63 65 20 69 6e 20 73 6f 6d 65 20  r.space in some 
a3c0: 63 61 73 65 73 2e 20 20 46 6f 72 20 65 78 61 6d  cases.  For exam
a3d0: 70 6c 65 2c 20 74 68 65 20 73 63 72 69 70 74 0a  ple, the script.
a3e0: 20 20 20 20 73 65 74 20 78 20 22 61 62 63 7b 22      set x "abc{"
a3f0: 3b 20 6c 61 70 70 65 6e 64 20 78 20 22 64 65 66  ; lappend x "def
a400: 22 0a 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e  ".used to return
a410: 20 74 68 65 20 72 65 73 75 6c 74 20 22 61 62 63   the result "abc
a420: 7b 64 65 66 22 20 69 6e 73 74 65 61 64 20 6f 66  {def" instead of
a430: 20 22 61 62 63 7b 20 64 65 66 22 2e 0a 0a 32 35   "abc{ def"...25
a440: 30 2e 20 33 2f 33 2f 39 34 20 54 63 6c 5f 43 6f  0. 3/3/94 Tcl_Co
a450: 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20 77 61 73  nvertElement was
a460: 20 6f 75 74 70 75 74 74 69 6e 67 20 65 6d 70 74   outputting empt
a470: 79 20 65 6c 65 6d 65 6e 74 73 20 61 73 20 5c 30  y elements as \0
a480: 20 69 66 0a 54 43 4c 5f 44 4f 4e 54 5f 55 53 45   if.TCL_DONT_USE
a490: 5f 42 52 41 43 45 53 20 77 61 73 20 73 65 74 2e  _BRACES was set.
a4a0: 20 20 54 68 69 73 20 64 65 70 65 6e 64 73 20 6f    This depends o
a4b0: 6e 20 6f 6c 64 20 70 72 65 2d 37 2e 30 20 6d 65  n old pre-7.0 me
a4c0: 61 6e 69 6e 67 20 6f 66 0a 5c 30 2c 20 77 68 69  aning of.\0, whi
a4d0: 63 68 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20  ch is no longer 
a4e0: 69 6e 20 65 66 66 65 63 74 2c 20 73 6f 20 69 74  in effect, so it
a4f0: 20 64 69 64 6e 27 74 20 72 65 61 6c 6c 79 20 77   didn't really w
a500: 6f 72 6b 2e 20 20 43 68 61 6e 67 65 64 0a 74 6f  ork.  Changed.to
a510: 20 6f 75 74 70 75 74 20 65 6d 70 74 79 20 65 6c   output empty el
a520: 65 6d 65 6e 74 73 20 61 73 20 7b 7d 20 61 6c 77  ements as {} alw
a530: 61 79 73 2e 0a 0a 32 35 31 2e 20 33 2f 33 2f 39  ays...251. 3/3/9
a540: 34 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f 44 53  4 Renamed Tcl_DS
a550: 74 72 69 6e 67 54 72 75 6e 63 20 74 6f 20 54 63  tringTrunc to Tc
a560: 6c 5f 44 53 74 72 69 6e 67 53 65 74 4c 65 6e 67  l_DStringSetLeng
a570: 74 68 20 61 6e 64 20 65 78 74 65 6e 64 65 64 0a  th and extended.
a580: 69 74 20 73 6f 20 74 68 61 74 20 69 74 20 63 61  it so that it ca
a590: 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 65 6e  n be used to len
a5a0: 67 74 68 65 6e 20 61 20 73 74 72 69 6e 67 20 61  gthen a string a
a5b0: 73 20 77 65 6c 6c 20 61 73 20 73 68 6f 72 74 65  s well as shorte
a5c0: 6e 20 69 74 2e 0a 54 63 6c 5f 44 53 74 72 69 6e  n it..Tcl_DStrin
a5d0: 67 54 72 75 6e 63 20 69 73 20 64 65 66 69 6e 65  gTrunc is define
a5e0: 64 20 61 73 20 61 20 6d 61 63 72 6f 20 66 6f 72  d as a macro for
a5f0: 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74   backward compat
a600: 69 62 69 6c 69 74 79 2c 20 62 75 74 0a 69 74 20  ibility, but.it 
a610: 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 0a 0a  is deprecated...
a620: 32 35 32 2e 20 33 2f 33 2f 39 34 20 41 64 64 65  252. 3/3/94 Adde
a630: 64 20 54 63 6c 5f 41 6c 6c 6f 77 45 78 63 65 70  d Tcl_AllowExcep
a640: 74 69 6f 6e 73 20 70 72 6f 63 65 64 75 72 65 2e  tions procedure.
a650: 0a 0a 32 35 33 2e 20 33 2f 31 33 2f 39 34 20 46  ..253. 3/13/94 F
a660: 69 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c 5f  ixed bug in Tcl_
a670: 46 6f 72 6d 61 74 43 6d 64 20 74 68 61 74 20 63  FormatCmd that c
a680: 6f 75 6c 64 20 63 61 75 73 65 20 22 66 6f 72 6d  ould cause "form
a690: 61 74 22 0a 74 6f 20 6d 69 73 2d 62 65 68 61 76  at".to mis-behav
a6a0: 65 20 6f 6e 20 36 34 2d 62 69 74 20 42 69 67 2d  e on 64-bit Big-
a6b0: 45 6e 64 69 61 6e 20 6d 61 63 68 69 6e 65 73 2e  Endian machines.
a6c0: 0a 0a 32 35 34 2e 20 33 2f 31 33 2f 39 34 20 43  ..254. 3/13/94 C
a6d0: 68 61 6e 67 65 64 20 74 6f 20 75 73 65 20 76 66  hanged to use vf
a6e0: 6f 72 6b 20 69 6e 73 74 65 61 64 20 6f 66 20 66  ork instead of f
a6f0: 6f 72 6b 20 6f 6e 20 73 79 73 74 65 6d 73 20 77  ork on systems w
a700: 68 65 72 65 0a 76 66 6f 72 6b 20 65 78 69 73 74  here.vfork exist
a710: 73 2e 0a 0a 32 35 35 2e 20 33 2f 32 33 2f 39 34  s...255. 3/23/94
a720: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 65 78   Fixed bug in ex
a730: 70 72 65 73 73 69 6f 6e 73 20 77 68 65 72 65 20  pressions where 
a740: 3f 3a 20 64 69 64 6e 27 74 20 61 73 73 6f 63 69  ?: didn't associ
a750: 61 74 65 0a 72 69 67 68 74 2d 74 6f 2d 6c 65 66  ate.right-to-lef
a760: 74 20 61 73 20 74 68 65 79 20 73 68 6f 75 6c 64  t as they should
a770: 2e 0a 0a 32 35 36 2e 20 34 2f 33 2f 39 34 20 46  ...256. 4/3/94 F
a780: 69 78 65 64 20 22 65 78 65 63 22 20 74 6f 20 66  ixed "exec" to f
a790: 6c 75 73 68 20 61 6e 79 20 66 69 6c 65 73 20 75  lush any files u
a7a0: 73 65 64 20 69 6e 20 3e 40 20 6f 72 20 3e 26 40  sed in >@ or >&@
a7b0: 0a 72 65 64 69 72 65 63 74 69 6f 6e 20 69 6e 20  .redirection in 
a7c0: 65 78 65 63 2c 20 73 6f 20 74 68 61 74 20 64 61  exec, so that da
a7d0: 74 61 20 62 75 66 66 65 72 65 64 20 66 6f 72 20  ta buffered for 
a7e0: 74 68 65 6d 20 69 73 20 77 72 69 74 74 65 6e 0a  them is written.
a7f0: 62 65 66 6f 72 65 20 61 6e 79 20 6e 65 77 20 64  before any new d
a800: 61 74 61 20 61 64 64 65 64 20 62 79 20 74 68 65  ata added by the
a810: 20 73 75 62 70 72 6f 63 65 73 73 2e 0a 0a 32 35   subprocess...25
a820: 37 2e 20 34 2f 33 2f 39 34 20 41 64 64 65 64 20  7. 4/3/94 Added 
a830: 22 73 75 62 73 74 22 20 63 6f 6d 6d 61 6e 64 2e  "subst" command.
a840: 0a 0a 32 35 38 2e 20 35 2f 32 30 2f 39 34 20 54  ..258. 5/20/94 T
a850: 68 65 20 74 63 6c 73 68 20 6d 61 69 6e 20 70 72  he tclsh main pr
a860: 6f 67 72 61 6d 20 69 73 20 6e 6f 77 20 63 61 6c  ogram is now cal
a870: 6c 65 64 20 54 63 6c 5f 4d 61 69 6e 3b 20 20 74  led Tcl_Main;  t
a880: 63 6c 41 70 70 49 6e 69 74 2e 63 0a 68 61 73 20  clAppInit.c.has 
a890: 61 20 22 6d 61 69 6e 22 20 70 72 6f 63 65 64 75  a "main" procedu
a8a0: 72 65 20 74 68 61 74 20 63 61 6c 6c 73 20 54 63  re that calls Tc
a8b0: 6c 5f 4d 61 69 6e 2e 20 20 54 68 69 73 20 6d 61  l_Main.  This ma
a8c0: 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f  kes it easier to
a8d0: 20 75 73 65 0a 54 63 6c 20 77 69 74 68 20 43 2b   use.Tcl with C+
a8e0: 2b 20 70 72 6f 67 72 61 6d 73 2c 20 77 68 69 63  + programs, whic
a8f0: 68 20 6e 65 65 64 20 74 68 65 69 72 20 6f 77 6e  h need their own
a900: 20 6d 61 69 6e 20 70 72 6f 67 72 61 6d 73 2c 20   main programs, 
a910: 61 6e 64 20 69 74 20 61 6c 73 6f 0a 61 6c 6c 6f  and it also.allo
a920: 77 73 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f  ws an applicatio
a930: 6e 20 74 6f 20 70 72 65 66 69 6c 74 65 72 20 74  n to prefilter t
a940: 68 65 20 61 72 67 75 6d 65 6e 74 20 6c 69 73 74  he argument list
a950: 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 0a   before calling.
a960: 54 63 6c 5f 4d 61 69 6e 2e 0a 2a 2a 2a 20 50 4f  Tcl_Main..*** PO
a970: 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
a980: 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32 35 39  IBILITY ***..259
a990: 2e 20 36 2f 36 2f 39 34 20 46 69 78 65 64 20 62  . 6/6/94 Fixed b
a9a0: 75 67 20 69 6e 20 70 72 6f 63 65 64 75 72 65 20  ug in procedure 
a9b0: 72 65 74 75 72 6e 73 20 77 68 65 72 65 20 74 68  returns where th
a9c0: 65 20 65 72 72 6f 72 49 6e 66 6f 20 76 61 72 69  e errorInfo vari
a9d0: 61 62 6c 65 0a 63 6f 75 6c 64 20 67 65 74 20 74  able.could get t
a9e0: 72 75 6e 63 61 74 65 64 20 69 66 20 61 6e 20 75  runcated if an u
a9f0: 6e 73 65 74 20 74 72 61 63 65 20 77 61 73 20 69  nset trace was i
aa00: 6e 76 6f 6b 65 64 20 61 73 20 70 61 72 74 20 6f  nvoked as part o
aa10: 66 20 72 65 74 75 72 6e 69 6e 67 0a 66 72 6f 6d  f returning.from
aa20: 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 2e 0a   the procedure..
aa30: 0a 32 36 30 2e 20 36 2f 31 33 2f 39 34 20 41 64  .260. 6/13/94 Ad
aa40: 64 65 64 20 22 77 6f 72 64 73 74 61 72 74 22 20  ded "wordstart" 
aa50: 61 6e 64 20 22 77 6f 72 64 65 6e 64 22 20 6f 70  and "wordend" op
aa60: 74 69 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e 67  tions to "string
aa70: 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32 36 31 2e  " command...261.
aa80: 20 36 2f 32 37 2f 39 34 20 46 69 78 65 64 20 62   6/27/94 Fixed b
aa90: 75 67 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e  ug in expression
aaa0: 73 20 77 68 65 72 65 20 74 68 65 79 20 64 69 64  s where they did
aab0: 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 63 61 6e  n't properly can
aac0: 63 65 6c 0a 74 68 65 20 65 76 61 6c 75 61 74 69  cel.the evaluati
aad0: 6f 6e 20 6f 66 20 6d 61 74 68 20 66 75 6e 63 74  on of math funct
aae0: 69 6f 6e 73 20 69 6e 20 26 26 2c 20 7c 7c 2c 20  ions in &&, ||, 
aaf0: 61 6e 64 20 3f 3a 2e 0a 0a 32 36 32 2e 20 37 2f  and ?:...262. 7/
ab00: 31 31 2f 39 34 20 49 6e 63 6f 72 72 65 63 74 20  11/94 Incorrect 
ab10: 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 73 2c 20  boolean values, 
ab20: 6c 69 6b 65 20 22 6f 67 6c 65 22 2c 20 77 65 72  like "ogle", wer
ab30: 65 6e 27 74 20 62 65 69 6e 67 0a 68 61 6e 64 6c  en't being.handl
ab40: 65 64 20 70 72 6f 70 65 72 6c 79 2e 0a 0a 32 36  ed properly...26
ab50: 33 2e 20 37 2f 31 35 2f 39 34 20 41 64 64 65 64  3. 7/15/94 Added
ab60: 20 54 63 6c 5f 52 65 67 45 78 70 43 6f 6d 70 69   Tcl_RegExpCompi
ab70: 6c 65 2c 20 54 63 6c 5f 52 65 67 45 78 70 45 78  le, Tcl_RegExpEx
ab80: 65 63 2c 20 61 6e 64 20 54 63 6c 5f 52 65 67 45  ec, and Tcl_RegE
ab90: 78 70 52 61 6e 67 65 2c 0a 77 68 69 63 68 20 70  xpRange,.which p
aba0: 72 6f 76 69 64 65 20 6c 6f 77 65 72 2d 6c 65 76  rovide lower-lev
abb0: 65 6c 20 61 63 63 65 73 73 20 74 6f 20 72 65 67  el access to reg
abc0: 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20  ular expression 
abd0: 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67  pattern matching
abe0: 2e 0a 0a 32 36 34 2e 20 37 2f 32 32 2f 39 34 20  ...264. 7/22/94 
abf0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 67 6c  Fixed bug in "gl
ac00: 6f 62 22 20 63 6f 6d 6d 61 6e 64 20 77 68 65 72  ob" command wher
ac10: 65 20 22 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c  e "glob -nocompl
ac20: 61 69 6e 20 7e 62 61 64 5f 75 73 65 72 22 0a 77  ain ~bad_user".w
ac30: 6f 75 6c 64 20 63 6f 6d 70 6c 61 69 6e 20 61 62  ould complain ab
ac40: 6f 75 74 20 61 20 6d 69 73 73 69 6e 67 20 75 73  out a missing us
ac50: 65 72 2e 20 20 4e 6f 77 20 69 74 20 64 6f 65 73  er.  Now it does
ac60: 6e 27 74 20 63 6f 6d 70 6c 61 69 6e 20 61 6e 79  n't complain any
ac70: 6d 6f 72 65 2e 0a 0a 32 36 35 2e 20 38 2f 34 2f  more...265. 8/4/
ac80: 39 34 20 46 69 78 65 64 20 62 75 67 20 77 69 74  94 Fixed bug wit
ac90: 68 20 6c 69 6e 6b 65 64 20 76 61 72 69 61 62 6c  h linked variabl
aca0: 65 73 20 77 68 65 72 65 20 74 68 65 79 20 64 69  es where they di
acb0: 64 6e 27 74 20 62 65 68 61 76 65 0a 63 6f 72 72  dn't behave.corr
acc0: 65 63 74 6c 79 20 77 68 65 6e 20 61 63 63 65 73  ectly when acces
acd0: 73 65 64 20 76 69 61 20 75 70 76 61 72 73 2e 0a  sed via upvars..
ace0: 0a 32 36 36 2e 20 38 2f 31 37 2f 39 34 20 46 69  .266. 8/17/94 Fi
acf0: 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c 5f 45  xed bug in Tcl_E
ad00: 76 61 6c 46 69 6c 65 20 77 68 65 72 65 20 69 74  valFile where it
ad10: 20 64 69 64 6e 27 74 20 63 6c 65 61 72 20 69 6e   didn't clear in
ad20: 74 65 72 70 2d 3e 72 65 73 75 6c 74 2e 0a 0a 32  terp->result...2
ad30: 36 37 2e 20 38 2f 33 31 2f 39 34 20 4d 6f 64 69  67. 8/31/94 Modi
ad40: 66 69 65 64 20 22 6f 70 65 6e 22 20 63 6f 6d 6d  fied "open" comm
ad50: 61 6e 64 20 73 6f 20 74 68 61 74 20 65 72 72 6f  and so that erro
ad60: 72 73 20 69 6e 20 65 78 65 63 2d 69 6e 67 0a 73  rs in exec-ing.s
ad70: 75 62 70 72 6f 63 65 73 73 65 73 20 61 72 65 20  ubprocesses are 
ad80: 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20  returned by the 
ad90: 6f 70 65 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79  open immediately
ada0: 2c 20 72 61 74 68 65 72 20 74 68 61 6e 0a 62 65  , rather than.be
adb0: 69 6e 67 20 64 65 6c 61 79 65 64 20 75 6e 74 69  ing delayed unti
adc0: 6c 20 74 68 65 20 22 63 6c 6f 73 65 22 20 69 73  l the "close" is
add0: 20 65 78 65 63 75 74 65 64 2e 0a 0a 32 36 38 2e   executed...268.
ade0: 20 39 2f 39 2f 39 34 20 4d 6f 64 69 66 69 65 64   9/9/94 Modified
adf0: 20 22 65 78 70 72 22 20 63 6f 6d 6d 61 6e 64 20   "expr" command 
ae00: 74 6f 20 67 65 6e 65 72 61 74 65 20 65 72 72 6f  to generate erro
ae10: 72 73 20 66 6f 72 20 69 6e 74 65 67 65 72 0a 6f  rs for integer.o
ae20: 76 65 72 66 6c 6f 77 20 28 69 6e 63 6c 75 64 65  verflow (include
ae30: 73 20 61 64 64 69 74 69 6f 6e 2c 20 73 75 62 74  s addition, subt
ae40: 72 61 63 74 69 6f 6e 2c 20 6e 65 67 61 74 69 6f  raction, negatio
ae50: 6e 2c 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f  n, multiplicatio
ae60: 6e 2c 0a 64 69 76 69 73 69 6f 6e 29 2e 0a 0a 32  n,.division)...2
ae70: 36 39 2e 20 39 2f 32 33 2f 39 34 20 4d 6f 64 69  69. 9/23/94 Modi
ae80: 66 69 65 64 20 22 72 65 67 73 75 62 22 20 74 6f  fied "regsub" to
ae90: 20 72 65 74 75 72 6e 20 61 20 63 6f 75 6e 74 20   return a count 
aea0: 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66  of the number of
aeb0: 0a 6d 61 74 63 68 65 73 20 61 6e 64 20 72 65 70  .matches and rep
aec0: 6c 61 63 65 6d 65 6e 74 73 2c 20 72 61 74 68 65  lacements, rathe
aed0: 72 20 74 68 61 6e 20 30 2f 31 2e 0a 0a 32 37 39  r than 0/1...279
aee0: 2e 20 31 30 2f 34 2f 39 34 20 41 64 64 65 64 20  . 10/4/94 Added 
aef0: 6e 65 77 20 66 65 61 74 75 72 65 73 20 74 6f 20  new features to 
af00: 22 61 72 72 61 79 22 20 63 6f 6d 6d 61 6e 64 3a  "array" command:
af10: 0a 20 20 20 20 2d 20 61 64 64 65 64 20 22 67 65  .    - added "ge
af20: 74 22 20 61 6e 64 20 22 73 65 74 22 20 63 6f 6d  t" and "set" com
af30: 6d 61 6e 64 73 20 66 6f 72 20 65 61 73 79 20 63  mands for easy c
af40: 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65  onversion betwee
af50: 6e 20 61 72 72 61 79 73 0a 20 20 20 20 20 20 61  n arrays.      a
af60: 6e 64 20 6c 69 73 74 73 2e 0a 20 20 20 20 2d 20  nd lists..    - 
af70: 61 64 64 65 64 20 22 65 78 69 73 74 73 22 20 63  added "exists" c
af80: 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 65 20 69 66  ommand to see if
af90: 20 61 20 76 61 72 69 61 62 6c 65 20 69 73 20 61   a variable is a
afa0: 6e 20 61 72 72 61 79 2c 20 63 68 61 6e 67 65 64  n array, changed
afb0: 0a 20 20 20 20 20 20 22 6e 61 6d 65 73 22 20 61  .      "names" a
afc0: 6e 64 20 22 73 69 7a 65 22 20 63 6f 6d 6d 61 6e  nd "size" comman
afd0: 64 73 20 74 6f 20 74 72 65 61 74 20 61 20 6e 6f  ds to treat a no
afe0: 6e 2d 65 78 69 73 74 65 6e 74 20 61 72 72 61 79  n-existent array
aff0: 20 28 6f 72 20 73 63 61 6c 61 72 0a 20 20 20 20   (or scalar.    
b000: 20 20 76 61 72 69 61 62 6c 65 29 20 6a 75 73 74    variable) just
b010: 20 6c 69 6b 65 20 61 6e 20 65 6d 70 74 79 20 6f   like an empty o
b020: 6e 65 2e 0a 20 20 20 20 2d 20 61 64 64 65 64 20  ne..    - added 
b030: 70 61 74 74 65 72 6e 20 6f 70 74 69 6f 6e 20 74  pattern option t
b040: 6f 20 22 6e 61 6d 65 73 22 20 63 6f 6d 6d 61 6e  o "names" comman
b050: 64 2e 0a 0a 32 38 30 2e 20 31 30 2f 36 2f 39 34  d...280. 10/6/94
b060: 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f 53 65   Modified Tcl_Se
b070: 74 56 61 72 32 20 73 6f 20 74 68 61 74 20 72 65  tVar2 so that re
b080: 61 64 20 74 72 61 63 65 73 20 6f 6e 20 76 61 72  ad traces on var
b090: 69 61 62 6c 65 73 20 67 65 74 0a 63 61 6c 6c 65  iables get.calle
b0a0: 64 20 64 75 72 69 6e 67 20 61 70 70 65 6e 64 20  d during append 
b0b0: 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 0a 32 38 31  operations...281
b0c0: 2e 20 31 30 2f 32 30 2f 39 34 20 46 69 78 65 64  . 10/20/94 Fixed
b0d0: 20 62 75 67 20 69 6e 20 22 72 65 61 64 22 20 63   bug in "read" c
b0e0: 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 72 65 61  ommand where rea
b0f0: 64 69 6e 67 20 66 72 6f 6d 20 73 74 64 69 6e 0a  ding from stdin.
b100: 72 65 71 75 69 72 65 64 20 74 77 6f 20 63 6f 6e  required two con
b110: 74 72 6f 6c 2d 44 27 73 20 74 6f 20 73 74 6f 70  trol-D's to stop
b120: 20 74 68 65 20 72 65 61 64 69 6e 67 2e 0a 0a 32   the reading...2
b130: 38 32 2e 20 31 31 2f 33 2f 39 34 20 43 68 61 6e  82. 11/3/94 Chan
b140: 67 65 64 20 22 65 78 70 72 22 20 63 6f 6d 6d 61  ged "expr" comma
b150: 6e 64 20 74 6f 20 75 73 65 20 6c 6f 6e 67 73 20  nd to use longs 
b160: 66 6f 72 20 64 69 76 69 73 69 6f 6e 20 6a 75 73  for division jus
b170: 74 20 6c 69 6b 65 0a 61 6c 6c 20 6f 74 68 65 72  t like.all other
b180: 20 65 78 70 72 20 6f 70 65 72 61 74 6f 72 73 3b   expr operators;
b190: 20 20 69 74 20 70 72 65 76 69 6f 75 73 6c 79 20    it previously 
b1a0: 75 73 65 64 20 69 6e 74 73 20 66 6f 72 20 64 69  used ints for di
b1b0: 76 69 73 69 6f 6e 2e 0a 0a 32 38 33 2e 20 31 31  vision...283. 11
b1c0: 2f 34 2f 39 34 20 46 69 78 65 64 20 62 75 67 73  /4/94 Fixed bugs
b1d0: 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20 70 72   in "unknown" pr
b1e0: 6f 63 65 64 75 72 65 3a 20 20 69 74 20 77 61 73  ocedure:  it was
b1f0: 6e 27 74 20 70 72 6f 70 65 72 6c 79 0a 68 61 6e  n't properly.han
b200: 64 6c 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 20  dling exception 
b210: 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 63 6f 6d  returns from com
b220: 6d 61 6e 64 73 20 74 68 61 74 20 77 65 72 65 20  mands that were 
b230: 65 78 65 63 75 74 65 64 20 61 66 74 65 72 0a 62  executed after.b
b240: 65 69 6e 67 20 61 75 74 6f 2d 6c 6f 61 64 65 64  eing auto-loaded
b250: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
b260: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
b270: 72 73 69 6f 6e 20 37 2e 34 62 31 2c 20 31 32 2f  rsion 7.4b1, 12/
b280: 32 33 2f 39 34 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  23/94 ----------
b290: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 38 34 2e 20 31  --------..284. 1
b2a0: 32 2f 32 36 2f 39 34 20 46 69 78 65 64 20 22 69  2/26/94 Fixed "i
b2b0: 6e 73 74 61 6c 6c 22 20 74 61 72 67 65 74 20 69  nstall" target i
b2c0: 6e 20 4d 61 6b 65 66 69 6c 65 20 28 63 6f 75 6c  n Makefile (coul
b2d0: 64 6e 27 74 20 61 6c 77 61 79 73 0a 66 69 6e 64  dn't always.find
b2e0: 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67 72 61 6d   install program
b2f0: 29 2e 0a 0a 32 38 35 2e 20 31 32 2f 32 36 2f 39  )...285. 12/26/9
b300: 34 20 41 64 64 65 64 20 73 74 72 63 6e 63 61 73  4 Added strcncas
b310: 65 63 6d 70 20 70 72 6f 63 65 64 75 72 65 20 74  ecmp procedure t
b320: 6f 20 63 6f 6d 70 61 74 20 64 69 72 65 63 74 6f  o compat directo
b330: 72 79 2e 0a 0a 32 38 36 2e 20 31 2f 33 2f 39 35  ry...286. 1/3/95
b340: 20 46 69 78 65 64 20 61 6c 6c 20 70 72 6f 63 65   Fixed all proce
b350: 64 75 72 65 20 63 61 6c 6c 73 20 74 6f 20 65 78  dure calls to ex
b360: 70 6c 69 63 69 74 6c 79 20 63 61 73 74 20 61 72  plicitly cast ar
b370: 67 75 6d 65 6e 74 73 3a 0a 69 6d 70 6c 69 63 69  guments:.implici
b380: 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 66 72  t conversions fr
b390: 6f 6d 20 70 72 6f 74 6f 74 79 70 65 73 20 28 65  om prototypes (e
b3a0: 73 70 65 63 69 61 6c 6c 79 20 69 6e 74 65 67 65  specially intege
b3b0: 72 2d 3e 64 6f 75 62 6c 65 29 0a 64 6f 6e 27 74  r->double).don't
b3c0: 20 77 6f 72 6b 20 77 68 65 6e 20 63 6f 6d 70 69   work when compi
b3d0: 6c 69 6e 67 20 75 6e 64 65 72 20 6e 6f 6e 2d 41  ling under non-A
b3e0: 4e 53 49 20 63 6f 6d 70 69 6c 65 72 73 2e 20 20  NSI compilers.  
b3f0: 54 63 6c 20 69 73 20 6e 6f 77 20 63 6c 65 61 6e  Tcl is now clean
b400: 0a 75 6e 64 65 72 20 67 63 63 20 2d 57 63 6f 6e  .under gcc -Wcon
b410: 76 65 72 73 69 6f 6e 2e 0a 0a 32 38 37 2e 20 31  version...287. 1
b420: 2f 34 2f 39 35 20 46 69 78 65 64 20 70 72 6f 62  /4/95 Fixed prob
b430: 6c 65 6d 20 69 6e 20 54 63 6c 5f 41 72 72 61 79  lem in Tcl_Array
b440: 43 6d 64 20 77 68 65 72 65 20 73 61 6d 65 20 6e  Cmd where same n
b450: 61 6d 65 20 77 61 73 20 75 73 65 64 20 66 6f 72  ame was used for
b460: 0a 62 6f 74 68 20 61 20 6c 61 62 65 6c 20 61 6e  .both a label an
b470: 64 20 61 20 76 61 72 69 61 62 6c 65 3b 20 20 63  d a variable;  c
b480: 61 75 73 65 64 20 70 72 6f 62 6c 65 6d 73 20 6f  aused problems o
b490: 6e 20 73 65 76 65 72 61 6c 20 6f 6c 64 65 72 20  n several older 
b4a0: 63 6f 6d 70 69 6c 65 72 73 2c 0a 6d 61 6b 69 6e  compilers,.makin
b4b0: 67 20 61 72 72 61 79 20 63 6f 6d 6d 61 6e 64 20  g array command 
b4c0: 6d 69 73 62 65 68 61 76 65 20 61 6e 64 20 63 61  misbehave and ca
b4d0: 75 73 69 6e 67 20 6d 61 6e 79 20 65 72 72 6f 72  using many error
b4e0: 73 20 69 6e 20 54 63 6c 20 74 65 73 74 20 73 75  s in Tcl test su
b4f0: 69 74 65 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ite...----------
b500: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
b510: 20 76 65 72 73 69 6f 6e 20 37 2e 34 62 32 2c 20   version 7.4b2, 
b520: 31 2f 31 32 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d  1/12/95 --------
b530: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 38 38 2e  ----------..288.
b540: 20 32 2f 39 2f 39 35 20 4d 6f 64 69 66 69 65 64   2/9/95 Modified
b550: 20 54 63 6c 5f 43 72 65 61 74 65 43 6f 6d 6d 61   Tcl_CreateComma
b560: 6e 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 74  nd to return a t
b570: 6f 6b 65 6e 2c 20 61 6e 64 20 61 64 64 65 64 0a  oken, and added.
b580: 54 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e 64 4e 61  Tcl_GetCommandNa
b590: 6d 65 20 70 72 6f 63 65 64 75 72 65 2e 20 20 54  me procedure.  T
b5a0: 6f 67 65 74 68 65 72 2c 20 74 68 65 73 65 20 70  ogether, these p
b5b0: 72 6f 63 65 64 75 72 65 73 20 6d 61 6b 65 20 69  rocedures make i
b5c0: 74 20 70 6f 73 73 69 62 6c 65 0a 74 6f 20 74 72  t possible.to tr
b5d0: 61 63 6b 20 72 65 6e 61 6d 65 73 20 6f 66 20 61  ack renames of a
b5e0: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32 38 39 2e 20   command...289. 
b5f0: 32 2f 31 33 2f 39 35 20 46 69 78 65 64 20 62 75  2/13/95 Fixed bu
b600: 67 20 69 6e 20 65 78 70 72 20 77 68 65 72 65 20  g in expr where 
b610: 22 30 38 39 22 20 77 61 73 20 69 6e 74 65 72 70  "089" was interp
b620: 72 65 74 65 64 20 61 73 20 61 0a 66 6c 6f 61 74  reted as a.float
b630: 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72  ing-point number
b640: 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 62   rather than a b
b650: 6f 67 75 73 20 6f 63 74 61 6c 20 6e 75 6d 62 65  ogus octal numbe
b660: 72 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  r..*** POTENTIAL
b670: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
b680: 20 2a 2a 2a 0a 0a 32 39 30 2e 20 32 2f 31 34 2f   ***..290. 2/14/
b690: 39 35 20 41 64 64 65 64 20 63 6f 64 65 20 74 6f  95 Added code to
b6a0: 20 54 63 6c 5f 47 65 74 49 6e 74 20 61 6e 64 20   Tcl_GetInt and 
b6b0: 54 63 6c 5f 47 65 74 44 6f 75 62 6c 65 20 74 6f  Tcl_GetDouble to
b6c0: 20 63 68 65 63 6b 20 66 6f 72 0a 6f 76 65 72 66   check for.overf
b6d0: 6c 6f 77 73 20 77 68 65 6e 20 72 65 61 64 69 6e  lows when readin
b6e0: 67 20 69 6e 20 6e 75 6d 62 65 72 73 2e 0a 0a 32  g in numbers...2
b6f0: 39 31 2e 20 32 2f 31 38 2f 39 35 20 43 68 61 6e  91. 2/18/95 Chan
b700: 67 65 64 20 22 61 72 72 61 79 20 73 65 74 22 20  ged "array set" 
b710: 74 6f 20 73 74 6f 70 20 61 66 74 65 72 20 66 69  to stop after fi
b720: 72 73 74 20 65 72 72 6f 72 2c 20 72 61 74 68 65  rst error, rathe
b730: 72 20 74 68 61 6e 0a 63 6f 6e 74 69 6e 75 69 6e  r than.continuin
b740: 67 20 61 66 74 65 72 20 65 72 72 6f 72 2e 0a 0a  g after error...
b750: 32 39 32 2e 20 32 2f 32 30 2f 39 35 20 55 70 67  292. 2/20/95 Upg
b760: 72 61 64 65 64 20 74 6f 20 75 73 65 20 61 75 74  raded to use aut
b770: 6f 63 6f 6e 66 20 76 65 72 73 69 6f 6e 20 32 2e  oconf version 2.
b780: 32 2e 0a 0a 32 39 33 2e 20 32 2f 32 30 2f 39 35  2...293. 2/20/95
b790: 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70   Fixed core dump
b7a0: 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75   that could occu
b7b0: 72 20 69 6e 20 22 73 63 61 6e 22 20 63 6f 6d 6d  r in "scan" comm
b7c0: 61 6e 64 20 69 66 20 61 0a 63 6c 6f 73 65 20 62  and if a.close b
b7d0: 72 61 63 6b 65 74 20 77 61 73 20 6f 6d 69 74 74  racket was omitt
b7e0: 65 64 2e 0a 0a 32 39 34 2e 20 32 2f 32 37 2f 39  ed...294. 2/27/9
b7f0: 35 20 43 68 61 6e 67 65 64 20 4d 61 6b 65 66 69  5 Changed Makefi
b800: 6c 65 20 74 6f 20 61 6c 77 61 79 73 20 75 73 65  le to always use
b810: 20 69 6e 73 74 61 6c 6c 2d 73 68 20 66 6f 72 20   install-sh for 
b820: 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 73 3a 0a 74  installations:.t
b830: 68 65 72 65 27 73 20 6a 75 73 74 20 74 6f 6f 20  here's just too 
b840: 6d 75 63 68 20 76 61 72 69 61 74 69 6f 6e 20 61  much variation a
b850: 6d 6f 6e 67 20 22 69 6e 73 74 61 6c 6c 22 20 73  mong "install" s
b860: 79 73 74 65 6d 20 70 72 6f 67 72 61 6d 73 2c 20  ystem programs, 
b870: 77 68 69 63 68 0a 6d 61 6b 65 73 20 69 6e 73 74  which.makes inst
b880: 61 6c 6c 61 74 69 6f 6e 20 66 6c 61 6b 65 79 2e  allation flakey.
b890: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
b8a0: 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72  --- Released ver
b8b0: 73 69 6f 6e 20 37 2e 34 62 33 2c 20 33 2f 32 34  sion 7.4b3, 3/24
b8c0: 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /95 ------------
b8d0: 2d 2d 2d 2d 2d 2d 0a 0a 33 2f 32 35 2f 39 35 20  ------..3/25/95 
b8e0: 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65  (bug fix) Change
b8f0: 64 20 22 69 6e 73 74 61 6c 6c 22 20 74 6f 20 22  d "install" to "
b900: 2e 2f 69 6e 73 74 61 6c 6c 22 20 69 6e 20 4d 61  ./install" in Ma
b910: 6b 65 66 69 6c 65 20 73 6f 20 74 68 61 74 0a 22  kefile so that."
b920: 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 22 20 77 69  make install" wi
b930: 6c 6c 20 77 6f 72 6b 20 65 76 65 6e 20 77 68 65  ll work even whe
b940: 6e 20 22 2e 22 20 69 73 6e 27 74 20 69 6e 20 74  n "." isn't in t
b950: 68 65 20 73 65 61 72 63 68 20 70 61 74 68 2e 0a  he search path..
b960: 0a 33 2f 32 39 2f 39 35 20 28 62 75 67 20 66 69  .3/29/95 (bug fi
b970: 78 29 20 46 69 78 65 64 20 62 75 67 20 77 68 65  x) Fixed bug whe
b980: 72 65 20 74 68 65 20 61 75 74 6f 2d 6c 6f 61 64  re the auto-load
b990: 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 20 77 61  ing mechanism wa
b9a0: 73 6e 27 74 0a 70 72 6f 74 65 63 74 69 6e 67 20  sn't.protecting 
b9b0: 74 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68  the values of th
b9c0: 65 20 65 72 72 6f 72 43 6f 64 65 20 61 6e 64 20  e errorCode and 
b9d0: 65 72 72 6f 72 49 6e 66 6f 20 76 61 72 69 61 62  errorInfo variab
b9e0: 6c 65 73 2e 0a 0a 33 2f 32 39 2f 39 35 20 28 6e  les...3/29/95 (n
b9f0: 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
ba00: 64 20 6f 70 74 69 6f 6e 61 6c 20 70 61 74 74 65  d optional patte
ba10: 72 6e 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 22  rn argument to "
ba20: 70 61 72 72 61 79 22 20 70 72 6f 63 65 64 75 72  parray" procedur
ba30: 65 2e 0a 0a 33 2f 32 39 2f 39 35 20 28 62 75 67  e...3/29/95 (bug
ba40: 20 66 69 78 29 20 4d 61 64 65 20 74 68 65 20 66   fix) Made the f
ba50: 75 6c 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74  ull functionalit
ba60: 79 20 6f 66 0a 20 20 20 20 22 72 65 74 75 72 6e  y of.    "return
ba70: 20 2d 63 6f 64 65 20 2e 2e 2e 20 2d 65 72 72 6f   -code ... -erro
ba80: 72 63 6f 64 65 20 2e 2e 2e 22 0a 77 6f 72 6b 20  rcode ...".work 
ba90: 6e 6f 74 20 6a 75 73 74 20 69 6e 73 69 64 65 20  not just inside 
baa0: 70 72 6f 63 65 64 75 72 65 73 2c 20 62 75 74 20  procedures, but 
bab0: 61 6c 73 6f 20 69 6e 20 73 6f 75 72 63 65 64 20  also in sourced 
bac0: 66 69 6c 65 73 20 61 6e 64 20 61 74 0a 74 6f 70  files and at.top
bad0: 20 6c 65 76 65 6c 2e 0a 0a 34 2f 36 2f 39 35 20   level...4/6/95 
bae0: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
baf0: 64 65 64 20 22 70 61 74 74 65 72 6e 22 20 6f 70  ded "pattern" op
bb00: 74 69 6f 6e 20 74 6f 20 22 61 72 72 61 79 20 6e  tion to "array n
bb10: 61 6d 65 73 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a  ames" command...
bb20: 34 2f 31 38 2f 39 35 20 28 62 75 67 20 66 69 78  4/18/95 (bug fix
bb30: 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 70  ) Fixed bug in p
bb40: 61 72 73 65 72 20 77 68 65 72 65 20 69 74 20 64  arser where it d
bb50: 69 64 6e 27 74 20 61 6c 6c 6f 77 20 62 61 63 6b  idn't allow back
bb60: 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 0a 69 6d  slash-newline.im
bb70: 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20  mediately after 
bb80: 61 6e 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 62  an argument in b
bb90: 72 61 63 65 73 20 6f 72 20 71 75 6f 74 65 73 2e  races or quotes.
bba0: 0a 0a 34 2f 31 39 2f 39 35 20 28 6e 65 77 20 66  ..4/19/95 (new f
bbb0: 65 61 74 75 72 65 29 20 41 64 64 65 64 20 74 63  eature) Added tc
bbc0: 6c 5f 6c 69 62 72 61 72 79 20 76 61 72 69 61 62  l_library variab
bbd0: 6c 65 2c 20 77 68 69 63 68 20 61 70 70 6c 69 63  le, which applic
bbe0: 61 74 69 6f 6e 20 63 61 6e 0a 73 65 74 20 74 6f  ation can.set to
bbf0: 20 6f 76 65 72 72 69 64 65 20 64 65 66 61 75 6c   override defaul
bc00: 74 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74  t library direct
bc10: 6f 72 79 2e 0a 0a 34 2f 33 30 2f 39 35 20 28 62  ory...4/30/95 (b
bc20: 75 67 20 66 69 78 29 20 44 75 72 69 6e 67 20 74  ug fix) During t
bc30: 72 61 63 65 20 63 61 6c 6c 62 61 63 6b 73 20 66  race callbacks f
bc40: 6f 72 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74  or array element
bc50: 73 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a  s, the variable.
bc60: 6e 61 6d 65 20 75 73 65 64 20 69 6e 20 74 68 65  name used in the
bc70: 20 6f 72 69 67 69 6e 61 6c 20 72 65 66 65 72 65   original refere
bc80: 6e 63 65 20 77 6f 75 6c 64 20 62 65 20 74 65 6d  nce would be tem
bc90: 70 6f 72 61 72 69 6c 79 20 6d 6f 64 69 66 69 65  porarily modifie
bca0: 64 20 74 6f 0a 73 65 70 61 72 61 74 65 20 74 68  d to.separate th
bcb0: 65 20 61 72 72 61 79 20 6e 61 6d 65 20 61 6e 64  e array name and
bcc0: 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65 3b 20 20   element name;  
bcd0: 69 66 20 74 68 65 20 74 72 61 63 65 20 63 61 6c  if the trace cal
bce0: 6c 62 61 63 6b 20 75 73 65 64 0a 74 68 65 20 73  lback used.the s
bcf0: 61 6d 65 20 6e 61 6d 65 20 73 74 72 69 6e 67 2c  ame name string,
bd00: 20 69 74 20 77 6f 75 6c 64 20 67 65 74 20 74 68   it would get th
bd10: 65 20 77 72 6f 6e 67 20 6e 61 6d 65 20 28 74 68  e wrong name (th
bd20: 65 20 61 72 72 61 79 20 6e 61 6d 65 20 77 69 74  e array name wit
bd30: 68 6f 75 74 0a 65 6c 65 6d 65 6e 74 29 2e 20 20  hout.element).  
bd40: 46 69 78 65 64 20 74 6f 20 72 65 73 74 6f 72 65  Fixed to restore
bd50: 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 6e 61   the variable na
bd60: 6d 65 20 62 65 66 6f 72 65 20 6d 61 6b 69 6e 67  me before making
bd70: 20 74 72 61 63 65 0a 63 61 6c 6c 62 61 63 6b 73   trace.callbacks
bd80: 2e 0a 0a 34 2f 33 30 2f 39 35 20 28 6e 65 77 20  ...4/30/95 (new 
bd90: 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 2d  feature) Added -
bda0: 6e 6f 62 61 63 6b 73 6c 61 73 68 65 73 2c 20 2d  nobackslashes, -
bdb0: 6e 6f 63 6f 6d 6d 61 6e 64 73 2c 20 61 6e 64 20  nocommands, and 
bdc0: 2d 6e 6f 76 61 72 69 61 62 6c 65 73 0a 73 77 69  -novariables.swi
bdd0: 74 63 68 65 73 20 74 6f 20 22 73 75 62 73 74 22  tches to "subst"
bde0: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 2f 34 2f 39   command...5/4/9
bdf0: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
be00: 41 64 64 65 64 20 54 43 4c 5f 45 56 41 4c 5f 47  Added TCL_EVAL_G
be10: 4c 4f 42 41 4c 20 66 6c 61 67 20 74 6f 20 54 63  LOBAL flag to Tc
be20: 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c 2e  l_RecordAndEval.
be30: 0a 0a 35 2f 35 2f 39 35 20 28 62 75 67 20 66 69  ..5/5/95 (bug fi
be40: 78 29 20 20 46 6f 72 6d 61 74 20 63 6f 6d 6d 61  x)  Format comma
be50: 6e 64 20 77 6f 75 6c 64 20 6f 76 65 72 72 75 6e  nd would overrun
be60: 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 70 72 69   memory when pri
be70: 6e 74 69 6e 67 0a 69 6e 74 65 67 65 72 73 20 77  nting.integers w
be80: 69 74 68 20 76 65 72 79 20 6c 61 72 67 65 20 70  ith very large p
be90: 72 65 63 69 73 69 6f 6e 2c 20 61 73 20 69 6e 20  recision, as in 
bea0: 22 66 6f 72 6d 61 74 20 25 2e 31 30 30 30 64 20  "format %.1000d 
beb0: 30 22 2e 0a 0a 35 2f 35 2f 39 35 20 28 70 6f 72  0"...5/5/95 (por
bec0: 74 61 62 69 6c 69 74 79 20 69 6d 70 72 6f 76 65  tability improve
bed0: 6d 65 6e 74 29 20 43 68 61 6e 67 65 64 20 74 6f  ment) Changed to
bee0: 20 75 73 65 20 42 53 44 67 65 74 74 69 6d 65 6f   use BSDgettimeo
bef0: 66 64 61 79 20 6f 6e 0a 49 52 49 58 20 6d 61 63  fday on.IRIX mac
bf00: 68 69 6e 65 73 2c 20 74 6f 20 61 76 6f 69 64 20  hines, to avoid 
bf10: 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70 72 6f 62  compilation prob
bf20: 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20 67 65  lems with the ge
bf30: 74 74 69 6d 65 6f 66 64 61 79 0a 64 65 63 6c 61  ttimeofday.decla
bf40: 72 61 74 69 6f 6e 2e 0a 0a 35 2f 36 2f 39 35 20  ration...5/6/95 
bf50: 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65  (bug fix) Change
bf60: 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65 73  d manual entries
bf70: 20 74 6f 20 75 73 65 20 74 68 65 20 73 74 61 6e   to use the stan
bf80: 64 61 72 64 20 2e 54 48 0a 6d 61 63 72 6f 20 69  dard .TH.macro i
bf90: 6e 73 74 65 61 64 20 6f 66 20 61 20 63 75 73 74  nstead of a cust
bfa0: 6f 6d 20 2e 48 53 20 6d 61 63 72 6f 3b 20 20 74  om .HS macro;  t
bfb0: 68 65 20 2e 48 53 20 6d 61 63 72 6f 20 63 6f 6e  he .HS macro con
bfc0: 66 75 73 65 73 20 69 6e 64 65 78 0a 67 65 6e 65  fuses index.gene
bfd0: 72 61 74 6f 72 73 20 6c 69 6b 65 20 6d 61 6b 65  rators like make
bfe0: 77 68 61 74 69 73 2e 0a 0a 35 2f 39 2f 39 35 20  whatis...5/9/95 
bff0: 28 62 75 67 20 66 69 78 29 20 4d 6f 64 69 66 69  (bug fix) Modifi
c000: 65 64 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72  ed configure scr
c010: 69 70 74 20 74 6f 20 63 68 65 63 6b 20 66 6f 72  ipt to check for
c020: 20 53 6f 6c 61 72 69 73 20 62 75 67 0a 74 68 61   Solaris bug.tha
c030: 74 20 6d 61 6b 65 73 20 76 66 6f 72 6b 20 75 6e  t makes vfork un
c040: 72 65 6c 69 61 62 6c 65 20 28 63 6f 72 65 20 64  reliable (core d
c050: 75 6d 70 73 20 72 65 73 75 6c 74 20 69 66 20 76  umps result if v
c060: 66 6f 72 6b 65 64 20 63 68 69 6c 64 0a 63 68 61  forked child.cha
c070: 6e 67 65 73 20 61 20 73 69 67 6e 61 6c 20 68 61  nges a signal ha
c080: 6e 64 6c 65 72 29 3b 20 20 77 69 6c 6c 20 75 73  ndler);  will us
c090: 65 20 66 6f 72 6b 20 69 6e 73 74 65 61 64 20 6f  e fork instead o
c0a0: 66 20 76 66 6f 72 6b 20 69 66 20 74 68 65 0a 62  f vfork if the.b
c0b0: 75 67 20 69 73 20 70 72 65 73 65 6e 74 2e 0a 0a  ug is present...
c0c0: 36 2f 35 2f 39 35 20 28 62 75 67 20 66 69 78 29  6/5/95 (bug fix)
c0d0: 20 4d 6f 64 69 66 69 65 64 20 22 6c 73 6f 72 74   Modified "lsort
c0e0: 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 64 69 73  " command to dis
c0f0: 61 6c 6c 6f 77 20 72 65 63 75 72 73 69 76 65 20  allow recursive 
c100: 63 61 6c 6c 73 0a 74 6f 20 6c 73 6f 72 74 20 66  calls.to lsort f
c110: 72 6f 6d 20 61 20 63 6f 6d 70 61 72 69 73 6f 6e  rom a comparison
c120: 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 69 73   function.  This
c130: 20 69 73 20 6e 65 65 64 65 64 20 62 65 63 61 75   is needed becau
c140: 73 65 20 71 73 6f 72 74 0a 69 73 20 6e 6f 74 20  se qsort.is not 
c150: 72 65 65 6e 74 72 61 6e 74 2e 0a 0a 36 2f 35 2f  reentrant...6/5/
c160: 39 35 20 28 62 75 67 20 66 69 78 29 20 55 6e 64  95 (bug fix) Und
c170: 69 64 20 63 68 61 6e 67 65 20 32 34 33 20 61 62  id change 243 ab
c180: 6f 76 65 3a 20 20 63 68 61 6e 67 65 64 20 54 43  ove:  changed TC
c190: 4c 5f 56 4f 4c 41 54 49 4c 45 20 61 6e 64 0a 54  L_VOLATILE and.T
c1a0: 43 4c 5f 44 59 4e 41 4d 49 43 20 62 61 63 6b 20  CL_DYNAMIC back 
c1b0: 74 6f 20 69 6e 74 65 67 65 72 20 63 6f 6e 73 74  to integer const
c1c0: 61 6e 74 73 20 72 61 74 68 65 72 20 74 68 61 6e  ants rather than
c1d0: 20 70 72 6f 63 65 64 75 72 65 20 61 64 64 72 65   procedure addre
c1e0: 73 73 65 73 2e 0a 54 68 69 73 20 77 61 73 20 6e  sses..This was n
c1f0: 65 65 64 65 64 20 62 65 63 61 75 73 65 20 70 72  eeded because pr
c200: 6f 63 65 64 75 72 65 20 61 64 64 72 65 73 73 65  ocedure addresse
c210: 73 20 63 61 6e 20 68 61 76 65 20 6d 75 6c 74 69  s can have multi
c220: 70 6c 65 20 76 61 6c 75 65 73 0a 75 6e 64 65 72  ple values.under
c230: 20 73 6f 6d 65 20 64 79 6e 61 6d 69 63 20 6c 6f   some dynamic lo
c240: 61 64 69 6e 67 20 73 79 73 74 65 6d 73 20 28 65  ading systems (e
c250: 2e 67 2e 20 53 75 6e 4f 53 20 34 2e 31 20 61 6e  .g. SunOS 4.1 an
c260: 64 20 57 69 6e 64 6f 77 73 29 2e 0a 0a 36 2f 38  d Windows)...6/8
c270: 2f 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61  /95 (feature cha
c280: 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20 69 6e  nge) Modified in
c290: 74 65 72 66 61 63 65 20 74 6f 20 54 63 6c 5f 4d  terface to Tcl_M
c2a0: 61 69 6e 20 74 6f 20 70 61 73 73 20 69 6e 20 74  ain to pass in t
c2b0: 68 65 0a 61 64 64 72 65 73 73 20 6f 66 20 74 68  he.address of th
c2c0: 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2d 73 70  e application-sp
c2d0: 65 63 69 66 69 63 20 69 6e 69 74 69 61 6c 69 7a  ecific initializ
c2e0: 61 74 69 6f 6e 20 70 72 6f 63 65 64 75 72 65 2e  ation procedure.
c2f0: 0a 54 63 6c 5f 41 70 70 49 6e 69 74 20 69 73 20  .Tcl_AppInit is 
c300: 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 72 64 77 69  no longer hardwi
c310: 72 65 64 20 69 6e 74 6f 20 54 63 6c 5f 4d 61 69  red into Tcl_Mai
c320: 6e 2e 20 20 54 68 69 73 20 69 73 20 6e 65 65 64  n.  This is need
c330: 65 64 0a 69 6e 20 6f 72 64 65 72 20 74 6f 20 6d  ed.in order to m
c340: 61 6b 65 20 54 63 6c 20 61 20 73 68 61 72 65 64  ake Tcl a shared
c350: 20 6c 69 62 72 61 72 79 2e 20 0a 0a 36 2f 38 2f   library. ..6/8/
c360: 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  95 (feature chan
c370: 67 65 29 20 4d 6f 64 69 66 69 65 64 20 4d 61 6b  ge) Modified Mak
c380: 65 66 69 6c 65 20 73 6f 20 74 68 61 74 20 74 68  efile so that th
c390: 65 20 69 6e 73 74 61 6c 6c 65 64 20 76 65 72 73  e installed vers
c3a0: 69 6f 6e 73 0a 6f 66 20 74 63 6c 73 68 20 61 6e  ions.of tclsh an
c3b0: 64 20 6c 69 62 74 63 6c 2e 61 20 68 61 76 65 20  d libtcl.a have 
c3c0: 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 69  version number i
c3d0: 6e 20 74 68 65 6d 20 28 65 2e 67 2e 20 74 63 6c  n them (e.g. tcl
c3e0: 73 68 37 2e 34 20 61 6e 64 0a 6c 69 62 74 63 6c  sh7.4 and.libtcl
c3f0: 37 2e 34 2e 61 29 20 61 6e 64 20 74 68 65 20 6c  7.4.a) and the l
c400: 69 62 72 61 72 79 20 64 69 72 65 63 74 6f 72 79  ibrary directory
c410: 20 6e 61 6d 65 20 61 6c 73 6f 20 68 61 73 20 61   name also has a
c420: 6e 20 65 6d 62 65 64 64 65 64 20 76 65 72 73 69  n embedded versi
c430: 6f 6e 0a 6e 75 6d 62 65 72 20 28 65 2e 67 2e 2c  on.number (e.g.,
c440: 20 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 2f   /usr/local/lib/
c450: 74 63 6c 37 2e 34 29 2e 20 20 54 68 69 73 20 73  tcl7.4).  This s
c460: 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74 20 65 61  hould make it ea
c470: 73 69 65 72 20 66 6f 72 0a 54 63 6c 20 37 2e 34  sier for.Tcl 7.4
c480: 20 74 6f 20 63 6f 65 78 69 73 74 20 77 69 74 68   to coexist with
c490: 20 65 61 72 6c 69 65 72 20 76 65 72 73 69 6f 6e   earlier version
c4a0: 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s...------------
c4b0: 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76  ----- Released v
c4c0: 65 72 73 69 6f 6e 20 37 2e 34 62 34 2c 20 36 2f  ersion 7.4b4, 6/
c4d0: 31 36 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  16/95 ----------
c4e0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 36 2f 31 39 2f 39  --------..6/19/9
c4f0: 35 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  5 (bug fix) Fixe
c500: 64 20 62 75 67 73 20 69 6e 20 74 63 6c 43 6b 61  d bugs in tclCka
c510: 6c 6c 6f 63 2e 63 20 74 68 61 74 20 63 61 75 73  lloc.c that caus
c520: 65 64 20 63 6f 72 65 20 64 75 6d 70 73 0a 69 66  ed core dumps.if
c530: 20 54 43 4c 5f 4d 45 4d 5f 44 45 42 55 47 20 77   TCL_MEM_DEBUG w
c540: 61 73 20 65 6e 61 62 6c 65 64 20 6f 6e 20 77 6f  as enabled on wo
c550: 72 64 2d 61 64 64 72 65 73 73 65 64 20 6d 61 63  rd-addressed mac
c560: 68 69 6e 65 73 20 73 75 63 68 20 61 73 20 43 72  hines such as Cr
c570: 61 79 73 2e 0a 0a 36 2f 32 31 2f 39 35 20 28 66  ays...6/21/95 (f
c580: 65 61 74 75 72 65 20 72 65 6d 6f 76 61 6c 29 20  eature removal) 
c590: 52 65 6d 6f 76 65 64 20 6f 76 65 72 66 6c 6f 77  Removed overflow
c5a0: 20 63 68 65 63 6b 73 20 66 6f 72 20 69 6e 74 65   checks for inte
c5b0: 67 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 0a  ger arithmetic:.
c5c0: 74 68 65 79 20 6a 75 73 74 20 63 61 75 73 65 20  they just cause 
c5d0: 74 6f 6f 20 6d 75 63 68 20 74 72 6f 75 62 6c 65  too much trouble
c5e0: 20 28 65 2e 67 2e 20 66 6f 72 20 72 61 6e 64 6f   (e.g. for rando
c5f0: 6d 20 20 6e 75 6d 62 65 72 20 67 65 6e 65 72 61  m  number genera
c600: 74 6f 72 73 29 2e 0a 0a 36 2f 32 38 2f 39 35 20  tors)...6/28/95 
c610: 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 41  (new features) A
c620: 64 64 65 64 20 74 63 6c 5f 70 61 74 63 68 4c 65  dded tcl_patchLe
c630: 76 65 6c 20 61 6e 64 20 74 63 6c 5f 76 65 72 73  vel and tcl_vers
c640: 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 2c 0a 66  ion variables,.f
c650: 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77  or consistency w
c660: 69 74 68 20 54 6b 2e 0a 0a 36 2f 32 39 2f 39 35  ith Tk...6/29/95
c670: 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
c680: 20 70 72 6f 62 6c 65 6d 20 69 6e 20 54 63 6c 5f   problem in Tcl_
c690: 45 76 61 6c 20 77 68 65 72 65 20 69 74 20 64 69  Eval where it di
c6a0: 64 6e 27 74 20 72 65 63 6f 72 64 0a 74 68 65 20  dn't record.the 
c6b0: 72 69 67 68 74 20 74 65 72 6d 69 6e 61 74 69 6f  right terminatio
c6c0: 6e 20 63 68 61 72 61 63 74 65 72 20 69 66 20 61  n character if a
c6d0: 20 73 63 72 69 70 74 20 65 6e 64 65 64 20 77 69   script ended wi
c6e0: 74 68 20 61 20 63 6f 6d 6d 65 6e 74 2e 20 20 54  th a comment.  T
c6f0: 68 69 73 0a 63 61 75 73 65 64 20 65 72 72 6f 6e  his.caused erron
c700: 65 6f 75 73 20 6f 75 74 70 75 74 20 66 6f 72 20  eous output for 
c710: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f  the following co
c720: 6d 6d 61 6e 64 2c 20 61 6d 6f 6e 67 20 6f 74 68  mmand, among oth
c730: 65 72 73 3a 0a 70 75 74 73 20 22 5b 0a 65 78 70  ers:.puts "[.exp
c740: 72 20 31 2b 31 0a 23 20 64 75 68 21 0a 5d 22 0a  r 1+1.# duh!.]".
c750: 0a 36 2f 32 39 2f 39 35 20 28 6d 65 73 73 61 67  .6/29/95 (messag
c760: 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65  e change) Change
c770: 64 20 74 68 65 20 65 72 72 6f 72 20 6d 65 73 73  d the error mess
c780: 61 67 65 20 66 6f 72 20 45 43 48 49 4c 44 20 73  age for ECHILD s
c790: 6c 69 67 68 74 6c 79 0a 74 6f 20 70 72 6f 76 69  lightly.to provi
c7a0: 64 65 20 61 20 68 69 6e 74 20 61 62 6f 75 74 20  de a hint about 
c7b0: 77 68 79 20 74 68 65 20 70 72 6f 62 6c 65 6d 20  why the problem 
c7c0: 69 73 20 6f 63 63 75 72 72 69 6e 67 2e 0a 0a 2d  is occurring...-
c7d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
c7e0: 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f   Released versio
c7f0: 6e 20 37 2e 34 2c 20 37 2f 31 2f 39 35 20 2d 2d  n 7.4, 7/1/95 --
c800: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
c810: 0a 0a 37 2f 31 38 2f 39 35 20 28 62 75 67 20 66  ..7/18/95 (bug f
c820: 69 78 29 20 43 68 61 6e 67 65 64 20 22 6c 72 65  ix) Changed "lre
c830: 70 6c 61 63 65 22 20 73 6f 20 74 68 61 74 20 6e  place" so that n
c840: 6f 74 68 69 6e 67 20 69 73 20 64 65 6c 65 74 65  othing is delete
c850: 64 20 69 66 0a 74 68 65 20 6c 61 73 74 20 69 6e  d if.the last in
c860: 64 65 78 20 69 73 20 6c 65 73 73 20 74 68 61 6e  dex is less than
c870: 20 74 68 65 20 66 69 72 73 74 20 69 6e 64 65 78   the first index
c880: 20 6f 72 20 69 66 20 74 68 65 20 6c 61 73 74 20   or if the last 
c890: 69 6e 64 65 78 0a 69 73 20 3c 20 30 2e 0a 0a 37  index.is < 0...7
c8a0: 2f 31 38 2f 39 35 20 28 62 75 67 20 66 69 78 29  /18/95 (bug fix)
c8b0: 20 46 69 78 65 64 20 62 75 67 73 20 77 69 74 68   Fixed bugs with
c8c0: 20 62 61 63 6b 73 6c 61 73 68 65 73 20 69 6e 20   backslashes in 
c8d0: 63 6f 6d 6d 65 6e 74 73 3a 0a 54 63 6c 5f 43 6f  comments:.Tcl_Co
c8e0: 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 20 28 61  mmandComplete (a
c8f0: 6e 64 20 22 69 6e 66 6f 20 63 6f 6d 70 6c 65 74  nd "info complet
c900: 65 22 29 20 64 69 64 6e 27 74 20 70 72 6f 70 65  e") didn't prope
c910: 72 6c 79 20 68 61 6e 64 6c 65 0a 73 74 72 69 6e  rly handle.strin
c920: 67 73 20 65 6e 64 69 6e 67 20 69 6e 20 62 61 63  gs ending in bac
c930: 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 2c 20  kslash-newline, 
c940: 61 6e 64 20 6e 65 69 74 68 65 72 20 54 63 6c 5f  and neither Tcl_
c950: 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 0a  CommandComplete.
c960: 6e 6f 72 20 74 68 65 20 54 63 6c 20 70 61 72 73  nor the Tcl pars
c970: 65 72 20 68 61 6e 64 6c 65 64 20 6f 74 68 65 72  er handled other
c980: 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71 75 65   backslash seque
c990: 6e 63 65 73 20 72 69 67 68 74 2c 20 73 75 63 68  nces right, such
c9a0: 0a 61 73 20 74 77 6f 20 62 61 63 6b 73 6c 61 73  .as two backslas
c9b0: 68 65 73 20 62 65 66 6f 72 65 20 61 20 6e 65 77  hes before a new
c9c0: 6c 69 6e 65 2e 0a 0a 37 2f 31 39 2f 39 35 20 28  line...7/19/95 (
c9d0: 62 75 67 20 66 69 78 29 20 4d 6f 64 69 66 69 65  bug fix) Modifie
c9e0: 64 20 54 63 6c 5f 44 65 6c 65 74 65 43 6f 6d 6d  d Tcl_DeleteComm
c9f0: 61 6e 64 20 74 6f 20 64 65 6c 65 74 65 20 74 68  and to delete th
ca00: 65 20 68 61 73 68 20 74 61 62 6c 65 0a 65 6e 74  e hash table.ent
ca10: 72 79 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61  ry for the comma
ca20: 6e 64 20 62 65 66 6f 72 65 20 69 6e 76 6f 6b 69  nd before invoki
ca30: 6e 67 20 69 74 73 20 63 61 6c 6c 62 61 63 6b 2e  ng its callback.
ca40: 20 20 54 68 69 73 20 69 73 20 6e 65 65 64 65 64    This is needed
ca50: 20 69 6e 0a 6f 72 64 65 72 20 74 6f 20 64 65 61   in.order to dea
ca60: 6c 20 77 69 74 68 20 72 65 65 6e 74 72 61 6e 63  l with reentranc
ca70: 79 2e 0a 0a 37 2f 32 32 2f 39 35 20 28 62 75 67  y...7/22/95 (bug
ca80: 20 66 69 78 29 20 22 65 78 65 63 22 20 77 61 73   fix) "exec" was
ca90: 6e 27 74 20 72 65 61 70 69 6e 67 20 70 72 6f 63  n't reaping proc
caa0: 65 73 73 65 73 20 63 6f 72 72 65 63 74 6c 79 20  esses correctly 
cab0: 61 66 74 65 72 0a 63 65 72 74 61 69 6e 20 65 72  after.certain er
cac0: 72 6f 72 73 20 28 65 2e 67 2e 20 69 66 20 74 68  rors (e.g. if th
cad0: 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 78  e name of the ex
cae0: 65 63 75 74 61 62 6c 65 20 77 61 73 20 62 6f 67  ecutable was bog
caf0: 75 73 2c 20 61 73 0a 69 6e 20 22 65 78 65 63 20  us, as.in "exec 
cb00: 66 6f 6f 62 61 72 22 29 2e 0a 0a 37 2f 32 37 2f  foobar")...7/27/
cb10: 39 35 20 28 62 75 67 20 66 69 78 29 20 4d 61 6b  95 (bug fix) Mak
cb20: 65 66 69 6c 65 2e 69 6e 20 77 61 73 6e 27 74 20  efile.in wasn't 
cb30: 75 73 69 6e 67 20 74 68 65 20 4c 49 42 53 20 76  using the LIBS v
cb40: 61 72 69 61 62 6c 65 20 70 72 6f 76 69 64 65 64  ariable provided
cb50: 0a 62 79 20 74 68 65 20 22 63 6f 6e 66 69 67 75  .by the "configu
cb60: 72 65 22 20 73 63 72 69 70 74 2e 20 20 54 68 69  re" script.  Thi
cb70: 73 20 63 61 75 73 65 64 20 70 72 6f 62 6c 65 6d  s caused problem
cb80: 73 20 6f 6e 20 73 6f 6d 65 20 53 43 4f 20 73 79  s on some SCO sy
cb90: 73 74 65 6d 73 2e 0a 0a 37 2f 32 37 2f 39 35 20  stems...7/27/95 
cba0: 28 62 75 67 20 66 69 78 29 20 54 68 65 20 76 65  (bug fix) The ve
cbb0: 72 73 69 6f 6e 20 6f 66 20 73 74 72 74 6f 64 20  rsion of strtod 
cbc0: 69 6e 20 66 69 78 73 74 72 74 6f 64 2e 63 20 64  in fixstrtod.c d
cbd0: 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79 0a 68  idn't properly.h
cbe0: 61 6e 64 6c 65 20 74 68 65 20 63 61 73 65 20 77  andle the case w
cbf0: 68 65 72 65 20 65 6e 64 50 74 72 20 3d 3d 20 4e  here endPtr == N
cc00: 55 4c 4c 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ULL...----------
cc10: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
cc20: 20 70 61 74 63 68 20 37 2e 34 70 31 2c 20 37 2f   patch 7.4p1, 7/
cc30: 32 39 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  29/95 ----------
cc40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 38  -------------..8
cc50: 2f 34 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  /4/95 (bug fix) 
cc60: 43 2d 6c 65 76 65 6c 20 74 72 61 63 65 20 63 61  C-level trace ca
cc70: 6c 6c 62 61 63 6b 73 20 66 6f 72 20 76 61 72 69  llbacks for vari
cc80: 61 62 6c 65 73 20 77 65 72 65 20 73 6f 6d 65 74  ables were somet
cc90: 69 6d 65 73 0a 72 65 63 65 69 76 69 6e 67 20 74  imes.receiving t
cca0: 68 65 20 50 41 52 54 31 5f 4e 4f 54 5f 50 41 52  he PART1_NOT_PAR
ccb0: 53 45 44 20 66 6c 61 67 2c 20 77 68 69 63 68 20  SED flag, which 
ccc0: 63 6f 75 6c 64 20 63 61 75 73 65 20 65 72 72 6f  could cause erro
ccd0: 72 73 20 69 6e 0a 73 75 62 73 65 71 75 65 6e 74  rs in.subsequent
cce0: 20 54 63 6c 20 6c 69 62 72 61 72 79 20 63 61 6c   Tcl library cal
ccf0: 6c 73 20 75 73 69 6e 67 20 74 68 65 20 66 6c 61  ls using the fla
cd00: 67 73 2e 20 28 4a 4f 29 0a 0a 38 2f 34 2f 39 35  gs. (JO)..8/4/95
cd10: 20 28 62 75 67 20 66 69 78 29 20 43 61 6c 6c 73   (bug fix) Calls
cd20: 20 74 6f 20 74 6f 75 70 70 65 72 20 61 6e 64 20   to toupper and 
cd30: 74 6f 6c 6f 77 65 72 20 77 65 72 65 6e 27 74 20  tolower weren't 
cd40: 75 73 69 6e 67 20 74 68 65 0a 55 43 48 41 52 20  using the.UCHAR 
cd50: 6d 61 63 72 6f 73 2c 20 77 68 69 63 68 20 63 61  macros, which ca
cd60: 75 73 65 64 20 74 72 6f 75 62 6c 65 20 69 6e 20  used trouble in 
cd70: 6e 6f 6e 2d 55 2e 53 2e 20 6c 6f 63 61 6c 65 73  non-U.S. locales
cd80: 2e 20 28 4a 4f 29 0a 0a 38 2f 31 30 2f 39 35 20  . (JO)..8/10/95 
cd90: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
cda0: 64 65 64 20 74 68 65 20 22 6c 6f 61 64 22 20 63  ded the "load" c
cdb0: 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 79 6e 61 6d  ommand for dynam
cdc0: 69 63 20 6c 6f 61 64 69 6e 67 20 6f 66 0a 62 69  ic loading of.bi
cdd0: 6e 61 72 79 20 70 61 63 6b 61 67 65 73 2c 20 61  nary packages, a
cde0: 6e 64 20 74 68 65 20 54 63 6c 5f 50 61 63 6b 61  nd the Tcl_Packa
cdf0: 67 65 49 6e 69 74 50 72 6f 63 20 70 72 6f 74 6f  geInitProc proto
ce00: 74 79 70 65 20 66 6f 72 20 70 61 63 6b 61 67 65  type for package
ce10: 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20  .initialization 
ce20: 70 72 6f 63 65 64 75 72 65 73 2e 20 28 4a 4f 29  procedures. (JO)
ce30: 0a 0a 38 2f 32 33 2f 39 35 20 28 6e 65 77 20 66  ..8/23/95 (new f
ce40: 65 61 74 75 72 65 73 29 20 41 64 64 65 64 20 22  eatures) Added "
ce50: 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62 65 78  info sharedlibex
ce60: 74 65 6e 73 69 6f 6e 22 20 61 6e 64 0a 22 69 6e  tension" and."in
ce70: 66 6f 20 6e 61 6d 65 6f 66 65 78 65 63 75 74 61  fo nameofexecuta
ce80: 62 6c 65 22 20 63 6f 6d 6d 61 6e 64 73 2c 20 70  ble" commands, p
ce90: 6c 75 73 20 54 63 6c 5f 46 69 6e 64 45 78 74 65  lus Tcl_FindExte
cea0: 6e 73 69 6f 6e 20 70 72 6f 63 65 64 75 72 65 2e  nsion procedure.
ceb0: 20 28 4a 4f 29 0a 0a 38 2f 32 35 2f 39 35 20 28   (JO)..8/25/95 (
cec0: 62 75 67 20 66 69 78 29 20 49 66 20 74 68 65 20  bug fix) If the 
ced0: 74 61 72 67 65 74 20 6f 66 20 61 6e 20 22 75 70  target of an "up
cee0: 76 61 72 22 20 77 61 73 20 6e 6f 6e 2d 65 78 69  var" was non-exi
cef0: 73 74 65 6e 74 20 62 75 74 0a 68 61 64 20 74 72  stent but.had tr
cf00: 61 63 65 73 20 73 65 74 2c 20 74 68 65 20 74 72  aces set, the tr
cf10: 61 63 65 73 20 77 65 72 65 20 73 69 6c 65 6e 74  aces were silent
cf20: 6c 79 20 6c 6f 73 74 2e 20 20 43 68 61 6e 67 65  ly lost.  Change
cf30: 20 74 6f 20 67 65 6e 65 72 61 74 65 0a 61 6e 20   to generate.an 
cf40: 65 72 72 6f 72 20 69 6e 73 74 65 61 64 2e 20 28  error instead. (
cf50: 4a 4f 29 0a 0a 38 2f 32 35 2f 39 35 20 28 62 75  JO)..8/25/95 (bu
cf60: 67 20 66 69 78 29 20 55 6e 64 69 64 20 63 68 61  g fix) Undid cha
cf70: 6e 67 65 20 66 72 6f 6d 20 37 2f 31 39 2c 20 73  nge from 7/19, s
cf80: 6f 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64 73 20  o that commands 
cf90: 63 61 6e 20 73 74 61 79 0a 61 72 6f 75 6e 64 20  can stay.around 
cfa0: 77 68 69 6c 65 20 74 68 65 69 72 20 64 65 6c 65  while their dele
cfb0: 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 73 20 65  tion callbacks e
cfc0: 78 65 63 75 74 65 2e 20 20 41 64 64 65 64 20 6c  xecute.  Added l
cfd0: 6f 74 73 20 6f 66 20 63 6f 64 65 20 74 6f 0a 68  ots of code to.h
cfe0: 61 6e 64 6c 65 20 61 6c 6c 20 6f 66 20 74 68 65  andle all of the
cff0: 20 72 65 65 6e 74 72 61 6e 63 79 20 70 72 6f 62   reentrancy prob
d000: 6c 65 6d 73 20 74 68 61 74 20 74 68 69 73 20 6f  lems that this o
d010: 70 65 6e 73 20 75 70 2e 20 28 4a 4f 29 0a 0a 38  pens up. (JO)..8
d020: 2f 32 35 2f 39 35 20 28 62 75 67 20 66 69 78 29  /25/95 (bug fix)
d030: 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70   Fixed core dump
d040: 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75   that could occu
d050: 72 20 69 6e 20 54 63 6c 44 65 6c 65 74 65 56 61  r in TclDeleteVa
d060: 72 73 0a 69 66 20 74 68 65 72 65 20 77 61 73 20  rs.if there was 
d070: 61 6e 20 75 70 76 61 72 20 66 72 6f 6d 20 6f 6e  an upvar from on
d080: 65 20 65 6e 74 72 79 20 69 6e 20 74 68 65 20 74  e entry in the t
d090: 61 62 6c 65 20 74 6f 20 74 68 65 20 6e 65 78 74  able to the next
d0a0: 20 65 6e 74 72 79 0a 69 6e 20 74 68 65 20 73 61   entry.in the sa
d0b0: 6d 65 20 74 61 62 6c 65 2e 20 28 4a 4f 29 0a 0a  me table. (JO)..
d0c0: 38 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69 78  8/28/95 (bug fix
d0d0: 29 20 45 78 65 63 20 77 61 73 6e 27 74 20 68 61  ) Exec wasn't ha
d0e0: 6e 64 6c 69 6e 67 20 62 61 64 20 75 73 65 72 20  ndling bad user 
d0f0: 6e 61 6d 65 73 20 70 72 6f 70 65 72 6c 79 2c 20  names properly, 
d100: 61 73 0a 69 6e 20 22 65 78 65 63 20 7e 62 6f 67  as.in "exec ~bog
d110: 75 73 5f 75 73 65 72 2f 66 6f 6f 22 2e 20 28 4a  us_user/foo". (J
d120: 4f 29 0a 0a 38 2f 32 39 2f 39 35 20 28 62 75 67  O)..8/29/95 (bug
d130: 20 66 69 78 65 73 29 20 43 68 61 6e 67 65 64 20   fixes) Changed 
d140: 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e  backslash-newlin
d150: 65 20 68 61 6e 64 6c 69 6e 67 20 74 6f 20 63 6f  e handling to co
d160: 72 72 65 63 74 20 74 77 6f 0a 70 72 6f 62 6c 65  rrect two.proble
d170: 6d 73 3a 0a 20 20 20 20 2d 20 4f 6e 6c 79 20 73  ms:.    - Only s
d180: 70 61 63 65 73 20 61 6e 64 20 74 61 62 73 20 66  paces and tabs f
d190: 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 62 61 63  ollowing the bac
d1a0: 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 61  kslash-newline a
d1b0: 72 65 20 6e 6f 77 0a 20 20 20 20 20 20 61 62 73  re now.      abs
d1c0: 6f 72 62 65 64 20 61 73 20 70 61 72 74 20 6f 66  orbed as part of
d1d0: 20 74 68 65 20 62 61 63 6b 73 6c 61 73 68 2d 6e   the backslash-n
d1e0: 65 77 6c 69 6e 65 2e 20 20 4e 65 77 6c 69 6e 65  ewline.  Newline
d1f0: 77 20 61 72 65 20 6e 6f 0a 20 20 20 20 20 20 6c  w are no.      l
d200: 6f 6e 67 65 72 20 61 62 73 6f 72 62 65 64 20 28  onger absorbed (
d210: 61 64 64 20 61 6e 6f 74 68 65 72 20 62 61 63 6b  add another back
d220: 73 6c 61 73 68 20 69 66 20 79 6f 75 20 77 61 6e  slash if you wan
d230: 74 20 74 6f 20 61 62 73 6f 72 62 0a 20 20 20 20  t to absorb.    
d240: 20 20 61 6e 6f 74 68 65 72 20 6e 65 77 6c 69 6e    another newlin
d250: 65 29 2e 0a 20 20 20 20 2d 20 54 63 6c 57 6f 72  e)..    - TclWor
d260: 64 45 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65  dEnd returns the
d270: 20 63 68 61 72 61 63 74 65 72 20 6a 75 73 74 20   character just 
d280: 62 65 66 6f 72 65 20 74 68 65 20 62 61 63 6b 73  before the backs
d290: 6c 61 73 68 20 69 6e 0a 20 20 20 20 20 20 74 68  lash in.      th
d2a0: 65 20 73 65 71 75 65 6e 63 65 20 61 73 20 74 68  e sequence as th
d2b0: 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 65 71  e end of the seq
d2c0: 75 65 6e 63 65 3b 20 20 69 74 20 75 73 65 64 20  uence;  it used 
d2d0: 74 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 0a  to not consider.
d2e0: 20 20 20 20 20 20 74 68 65 20 62 61 63 6b 73 6c        the backsl
d2f0: 61 73 68 2d 6e 65 77 6c 69 6e 65 20 61 73 20 61  ash-newline as a
d300: 20 77 6f 72 64 20 73 65 70 61 72 61 74 6f 72 2e   word separator.
d310: 20 28 4a 4f 29 0a 0a 38 2f 33 31 2f 39 35 20 28   (JO)..8/31/95 (
d320: 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 68 61  new feature) Cha
d330: 6e 67 65 64 20 6d 61 6e 20 70 61 67 65 20 69 6e  nged man page in
d340: 73 74 61 6c 6c 61 74 69 6f 6e 20 28 77 69 74 68  stallation (with
d350: 20 22 6d 6b 4c 69 6e 6b 73 22 0a 73 63 72 69 70   "mkLinks".scrip
d360: 74 29 20 74 6f 20 63 72 65 61 74 65 20 61 64 64  t) to create add
d370: 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 73 20 66 6f  itional links fo
d380: 72 20 6d 61 6e 75 61 6c 20 70 61 67 65 73 20 63  r manual pages c
d390: 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 0a  orresponding to.
d3a0: 65 61 63 68 20 6f 66 20 74 68 65 20 70 72 6f 63  each of the proc
d3b0: 65 64 75 72 65 20 61 6e 64 20 63 6f 6d 6d 61 6e  edure and comman
d3c0: 64 20 6e 61 6d 65 73 20 64 65 73 63 72 69 62 65  d names describe
d3d0: 64 20 69 6e 20 74 68 65 20 70 61 67 65 73 2e 20  d in the pages. 
d3e0: 28 4a 4f 29 0a 0a 39 2f 31 30 2f 39 35 20 52 65  (JO)..9/10/95 Re
d3f0: 6f 72 67 61 6e 69 7a 65 64 20 54 63 6c 20 73 6f  organized Tcl so
d400: 75 72 63 65 73 20 66 6f 72 20 57 69 6e 64 6f 77  urces for Window
d410: 73 20 61 6e 64 20 4d 61 63 20 70 6f 72 74 73 2e  s and Mac ports.
d420: 20 20 41 6c 6c 20 73 6f 75 72 63 65 73 0a 61 72    All sources.ar
d430: 65 20 6e 6f 77 20 69 6e 20 73 75 62 64 69 72 65  e now in subdire
d440: 63 74 6f 72 69 65 73 3a 20 20 22 67 65 6e 65 72  ctories:  "gener
d450: 69 63 22 20 63 6f 6e 74 61 69 6e 73 20 73 6f 75  ic" contains sou
d460: 72 63 65 73 20 74 68 61 74 20 77 6f 72 6b 20 6f  rces that work o
d470: 6e 20 61 6c 6c 0a 70 6c 61 74 66 6f 72 6d 73 2c  n all.platforms,
d480: 20 22 77 69 6e 64 6f 77 73 22 2c 20 22 6d 61 63   "windows", "mac
d490: 22 2c 20 61 6e 64 20 22 75 6e 69 78 22 20 64 69  ", and "unix" di
d4a0: 72 65 63 74 6f 72 69 65 73 20 63 6f 6e 74 61 69  rectories contai
d4b0: 6e 20 70 6c 61 74 66 6f 72 6d 2d 0a 73 70 65 63  n platform-.spec
d4c0: 69 66 69 63 20 73 6f 75 72 63 65 73 2e 20 20 53  ific sources.  S
d4d0: 6f 6d 65 20 55 4e 49 58 20 73 6f 75 72 63 65 73  ome UNIX sources
d4e0: 20 61 72 65 20 61 6c 73 6f 20 75 73 65 64 20 6f   are also used o
d4f0: 6e 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d  n other platform
d500: 73 2e 20 28 53 53 29 0a 0a 39 2f 31 30 2f 39 35  s. (SS)..9/10/95
d510: 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
d520: 29 20 45 6c 69 6d 69 6e 61 74 65 64 20 65 78 70  ) Eliminated exp
d530: 6f 72 74 65 64 20 67 6c 6f 62 61 6c 20 76 61 72  orted global var
d540: 69 61 62 6c 65 73 20 28 74 68 65 79 0a 64 6f 6e  iables (they.don
d550: 27 74 20 77 6f 72 6b 20 77 69 74 68 20 57 69 6e  't work with Win
d560: 64 6f 77 73 20 44 4c 4c 73 29 2e 20 20 52 65 70  dows DLLs).  Rep
d570: 6c 61 63 65 64 20 74 63 6c 5f 41 73 79 6e 63 52  laced tcl_AsyncR
d580: 65 61 64 79 20 61 6e 64 0a 74 63 6c 5f 46 69 6c  eady and.tcl_Fil
d590: 65 43 6c 6f 73 65 50 72 6f 63 20 77 69 74 68 20  eCloseProc with 
d5a0: 70 72 6f 63 65 64 75 72 65 73 20 54 63 6c 5f 41  procedures Tcl_A
d5b0: 73 79 6e 63 52 65 61 64 79 28 29 20 61 6e 64 0a  syncReady() and.
d5c0: 54 63 6c 5f 53 65 74 46 69 6c 65 43 6c 6f 73 65  Tcl_SetFileClose
d5d0: 50 72 6f 63 28 29 2e 20 20 52 65 70 6c 61 63 65  Proc().  Replace
d5e0: 64 20 43 20 76 61 72 69 61 62 6c 65 20 74 63 6c  d C variable tcl
d5f0: 5f 52 63 46 69 6c 65 4e 61 6d 65 20 77 69 74 68  _RcFileName with
d600: 0a 61 20 54 63 6c 20 76 61 72 69 61 62 6c 65 20  .a Tcl variable 
d610: 74 63 6c 5f 72 63 46 69 6c 65 4e 61 6d 65 2e 20  tcl_rcFileName. 
d620: 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  (SS).*** POTENTI
d630: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
d640: 54 59 20 2a 2a 2a 0a 0a 39 2f 31 31 2f 39 35 20  TY ***..9/11/95 
d650: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
d660: 64 65 64 20 70 72 6f 63 65 64 75 72 65 20 54 63  ded procedure Tc
d670: 6c 5f 53 65 74 50 61 6e 69 63 50 72 6f 63 20 74  l_SetPanicProc t
d680: 6f 20 6f 76 65 72 72 69 64 65 0a 74 68 65 20 64  o override.the d
d690: 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d 65 6e 74  efault implement
d6a0: 61 74 69 6f 6e 20 6f 66 20 22 70 61 6e 69 63 22  ation of "panic"
d6b0: 2e 20 28 53 53 29 0a 0a 39 2f 31 31 2f 39 35 20  . (SS)..9/11/95 
d6c0: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
d6d0: 64 65 64 20 22 69 6e 74 65 72 70 22 20 63 6f 6d  ded "interp" com
d6e0: 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77 20 63 72  mand to allow cr
d6f0: 65 61 74 69 6f 6e 20 6f 66 0a 6e 65 77 20 69 6e  eation of.new in
d700: 74 65 72 70 72 65 74 65 72 73 20 61 6e 64 20 65  terpreters and e
d710: 78 65 63 75 74 69 6f 6e 20 6f 66 20 75 6e 74 72  xecution of untr
d720: 75 73 74 65 64 20 73 63 72 69 70 74 73 2e 20 20  usted scripts.  
d730: 41 64 64 65 64 20 6d 61 6e 79 20 6e 65 77 0a 70  Added many new.p
d740: 72 6f 63 65 64 75 72 65 73 2c 20 73 75 63 68 20  rocedures, such 
d750: 61 73 20 54 63 6c 5f 43 72 65 61 74 65 53 6c 61  as Tcl_CreateSla
d760: 76 65 2c 20 54 63 6c 5f 43 72 65 61 74 65 41 6c  ve, Tcl_CreateAl
d770: 69 61 73 2c 61 6e 64 20 54 63 6c 5f 4d 61 6b 65  ias,and Tcl_Make
d780: 53 61 66 65 2c 0a 74 6f 20 70 72 6f 76 69 64 65  Safe,.to provide
d790: 20 43 2d 6c 65 76 65 6c 20 61 63 63 65 73 73 20   C-level access 
d7a0: 74 6f 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  to the interpret
d7b0: 65 72 20 66 61 63 69 6c 69 74 79 2e 20 54 68 69  er facility. Thi
d7c0: 73 20 6d 65 63 68 61 6e 69 73 6d 0a 6e 6f 77 20  s mechanism.now 
d7d0: 70 72 6f 76 69 64 65 73 20 61 6c 6d 6f 73 74 20  provides almost 
d7e0: 61 6c 6c 20 6f 66 20 74 68 65 20 67 65 6e 65 72  all of the gener
d7f0: 69 63 20 66 75 6e 63 74 69 6f 6e 73 20 6f 66 20  ic functions of 
d800: 42 6f 72 65 6e 73 74 65 69 6e 27 73 20 61 6e 64  Borenstein's and
d810: 0a 52 6f 73 65 27 73 20 53 61 66 65 2d 54 63 6c  .Rose's Safe-Tcl
d820: 20 28 62 75 74 20 6e 6f 74 20 61 6e 79 20 54 6b   (but not any Tk
d830: 20 6f 72 20 65 6d 61 69 6c 2d 72 65 6c 61 74 65   or email-relate
d840: 64 20 73 74 75 66 66 29 2e 20 20 28 4a 4c 29 0a  d stuff).  (JL).
d850: 0a 39 2f 31 31 2f 39 35 20 28 66 65 61 74 75 72  .9/11/95 (featur
d860: 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65  e change) Change
d870: 64 20 66 69 6c 65 20 6d 61 6e 61 67 65 6d 65 6e  d file managemen
d880: 74 20 73 6f 20 74 68 61 74 20 66 69 6c 65 73 20  t so that files 
d890: 61 72 65 0a 6e 6f 20 6c 6f 6e 67 65 72 20 73 68  are.no longer sh
d8a0: 61 72 65 64 20 62 65 74 77 65 65 6e 20 69 6e 74  ared between int
d8b0: 65 72 70 72 65 74 65 72 73 3a 20 20 61 20 66 69  erpreters:  a fi
d8c0: 6c 65 20 63 61 6e 6e 6f 74 20 6e 6f 72 6d 61 6c  le cannot normal
d8d0: 6c 79 20 62 65 0a 72 65 66 65 72 65 6e 63 65 64  ly be.referenced
d8e0: 20 69 6e 20 6f 6e 65 20 69 6e 74 65 72 70 72 65   in one interpre
d8f0: 74 65 72 20 69 66 20 69 74 20 77 61 73 20 6f 70  ter if it was op
d900: 65 6e 65 64 20 69 6e 20 61 6e 6f 74 68 65 72 2e  ened in another.
d910: 20 20 54 68 69 73 0a 66 65 61 74 75 72 65 20 69    This.feature i
d920: 73 20 6e 65 65 64 65 64 20 74 6f 20 73 75 70 70  s needed to supp
d930: 6f 72 74 20 73 61 66 65 20 69 6e 74 65 72 70 72  ort safe interpr
d940: 65 74 65 72 73 2e 20 20 41 64 64 65 64 20 54 63  eters.  Added Tc
d950: 6c 5f 53 68 61 72 65 48 61 6e 64 6c 65 28 29 0a  l_ShareHandle().
d960: 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20 61 6c  procedure for al
d970: 6c 6f 77 69 6e 67 20 66 69 6c 65 73 20 74 6f 20  lowing files to 
d980: 62 65 20 73 68 61 72 65 64 2c 20 61 6e 64 20 61  be shared, and a
d990: 64 64 65 64 20 22 69 6e 74 65 72 70 22 20 61 72  dded "interp" ar
d9a0: 67 75 6d 65 6e 74 0a 74 6f 20 54 63 6c 5f 46 69  gument.to Tcl_Fi
d9b0: 6c 65 50 65 72 6d 69 73 73 69 6f 6e 73 20 70 72  lePermissions pr
d9c0: 6f 63 65 64 75 72 65 2e 20 28 4a 4c 29 0a 2a 2a  ocedure. (JL).**
d9d0: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
d9e0: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
d9f0: 0a 39 2f 31 31 2f 39 35 20 28 6e 65 77 20 66 65  .9/11/95 (new fe
da00: 61 74 75 72 65 29 20 41 64 64 65 64 20 22 41 73  ature) Added "As
da10: 73 6f 63 44 61 74 61 22 20 6d 65 63 68 61 6e 69  socData" mechani
da20: 73 6d 2c 20 77 68 65 72 65 62 79 20 65 78 74 65  sm, whereby exte
da30: 6e 73 69 6f 6e 73 0a 63 61 6e 20 61 73 73 6f 63  nsions.can assoc
da40: 69 61 74 65 20 74 68 65 69 72 20 6f 77 6e 20 64  iate their own d
da50: 61 74 61 20 77 69 74 68 20 61 6e 20 69 6e 74 65  ata with an inte
da60: 72 70 72 65 74 65 72 20 61 6e 64 20 67 65 74 20  rpreter and get 
da70: 63 61 6c 6c 65 64 20 62 61 63 6b 0a 77 68 65 6e  called back.when
da80: 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72   the interpreter
da90: 20 69 73 20 64 65 6c 65 74 65 64 2e 20 20 54 68   is deleted.  Th
daa0: 69 73 20 69 73 20 76 69 73 69 62 6c 65 20 61 74  is is visible at
dab0: 20 43 20 6c 65 76 65 6c 20 76 69 61 20 74 68 65   C level via the
dac0: 0a 70 72 6f 63 65 64 75 72 65 73 20 54 63 6c 5f  .procedures Tcl_
dad0: 53 65 74 41 73 73 6f 63 44 61 74 61 20 61 6e 64  SetAssocData and
dae0: 20 54 63 6c 5f 47 65 74 41 73 73 6f 63 44 61 74   Tcl_GetAssocDat
daf0: 61 2e 20 20 28 4a 4c 29 0a 0a 39 2f 31 31 2f 39  a.  (JL)..9/11/9
db00: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
db10: 41 64 64 65 64 20 54 63 6c 5f 45 72 72 6e 6f 4d  Added Tcl_ErrnoM
db20: 73 67 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20  sg to translate 
db30: 61 6e 20 65 72 72 6e 6f 20 76 61 6c 75 65 0a 69  an errno value.i
db40: 6e 74 6f 20 61 20 68 75 6d 61 6e 2d 72 65 61 64  nto a human-read
db50: 61 62 6c 65 20 73 74 72 69 6e 67 2e 20 20 54 68  able string.  Th
db60: 69 73 20 69 73 20 6e 6f 77 20 75 73 65 64 20 69  is is now used i
db70: 6e 73 74 65 61 64 20 6f 66 20 63 61 6c 6c 69 6e  nstead of callin
db80: 67 0a 73 74 72 65 72 72 6f 72 20 62 65 63 61 75  g.strerror becau
db90: 73 65 20 73 74 72 65 72 72 6f 72 20 6d 65 73 61  se strerror mesa
dba0: 67 65 73 20 76 61 72 79 20 64 72 61 6d 61 74 69  ges vary dramati
dbb0: 63 61 6c 6c 79 20 66 72 6f 6d 20 70 6c 61 74 66  cally from platf
dbc0: 6f 72 6d 0a 74 6f 20 70 6c 61 74 66 6f 72 6d 2c  orm.to platform,
dbd0: 20 77 68 69 63 68 20 6d 65 73 73 65 73 20 75 70   which messes up
dbe0: 20 54 63 6c 20 74 65 73 74 73 2e 20 20 54 63 6c   Tcl tests.  Tcl
dbf0: 5f 45 72 72 6e 6f 4d 73 67 20 75 73 65 73 20 74  _ErrnoMsg uses t
dc00: 68 65 20 73 74 61 6e 64 61 72 64 0a 50 4f 53 49  he standard.POSI
dc10: 58 20 6d 65 73 73 61 67 65 73 20 66 6f 72 20 61  X messages for a
dc20: 6c 6c 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 73 69  ll the common si
dc30: 67 6e 61 6c 73 2c 20 61 6e 64 20 63 61 6c 6c 73  gnals, and calls
dc40: 20 73 74 72 65 72 72 6f 72 20 66 6f 72 0a 73 69   strerror for.si
dc50: 67 6e 61 6c 73 20 69 74 20 64 6f 65 73 6e 27 74  gnals it doesn't
dc60: 20 75 6e 64 65 72 73 74 61 6e 64 2e 0a 0a 2d 2d   understand...--
dc70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
dc80: 52 65 6c 65 61 73 65 64 20 70 61 74 63 68 20 37  Released patch 7
dc90: 2e 34 70 32 2c 20 39 2f 31 35 2f 39 35 20 2d 2d  .4p2, 9/15/95 --
dca0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
dcb0: 2d 2d 2d 2d 2d 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  -----..---------
dcc0: 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
dcd0: 64 20 37 2e 35 61 31 2c 20 39 2f 31 35 2f 39 35  d 7.5a1, 9/15/95
dce0: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
dcf0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 32 2f 39  --------..9/22/9
dd00: 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  5 (bug fix) Chan
dd10: 67 65 64 20 61 75 74 6f 5f 6d 6b 69 6e 64 65 78  ged auto_mkindex
dd20: 20 74 6f 20 63 72 65 61 74 65 20 74 63 6c 49 6e   to create tclIn
dd30: 64 65 78 20 66 69 6c 65 73 20 74 68 61 74 0a 68  dex files that.h
dd40: 61 6e 64 6c 65 20 64 69 72 65 63 74 6f 72 69 65  andle directorie
dd50: 73 20 77 68 6f 73 65 20 70 61 74 68 73 20 6d 69  s whose paths mi
dd60: 67 68 74 20 63 6f 6e 74 61 69 6e 20 73 70 61 63  ght contain spac
dd70: 65 73 2e 20 28 52 4a 29 0a 0a 39 2f 32 37 2f 39  es. (RJ)..9/27/9
dd80: 35 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20  5 (bug fix) The 
dd90: 22 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64  "format" command
dda0: 20 64 69 64 6e 27 74 20 63 68 65 63 6b 20 66 6f   didn't check fo
ddb0: 72 20 68 75 67 65 20 6f 72 20 6e 65 67 61 74 69  r huge or negati
ddc0: 76 65 0a 77 69 64 74 68 20 73 70 65 63 69 66 69  ve.width specifi
ddd0: 65 72 73 2c 20 77 68 69 63 68 20 63 6f 75 6c 64  ers, which could
dde0: 20 63 61 75 73 65 20 63 6f 72 65 20 64 75 6d 70   cause core dump
ddf0: 73 2e 20 28 4a 4f 29 0a 0a 39 2f 32 37 2f 39 35  s. (JO)..9/27/95
de00: 20 28 62 75 67 20 66 69 78 29 20 43 6f 72 65 20   (bug fix) Core 
de10: 64 75 6d 70 73 20 63 6f 75 6c 64 20 6f 63 63 75  dumps could occu
de20: 72 20 69 66 20 61 6e 20 69 6e 74 65 72 61 63 74  r if an interact
de30: 69 76 65 20 63 6f 6d 6d 61 6e 64 20 74 79 70 65  ive command type
de40: 64 0a 74 6f 20 74 63 6c 73 68 20 72 65 74 75 72  d.to tclsh retur
de50: 6e 65 64 20 61 20 76 65 72 79 20 6c 6f 6e 67 20  ned a very long 
de60: 72 65 73 75 6c 74 20 66 6f 72 20 74 63 6c 73 68  result for tclsh
de70: 20 74 6f 20 70 72 69 6e 74 20 6f 75 74 2e 20 20   to print out.  
de80: 54 68 65 20 62 75 67 20 69 73 0a 61 63 74 75 61  The bug is.actua
de90: 6c 6c 79 20 69 6e 20 70 72 69 6e 74 66 20 28 69  lly in printf (i
dea0: 6e 20 53 6f 6c 61 72 69 73 20 32 2e 33 20 61 6e  n Solaris 2.3 an
deb0: 64 20 32 2e 34 2c 20 61 74 20 6c 65 61 73 74 29  d 2.4, at least)
dec0: 3b 20 20 73 77 69 74 63 68 65 64 20 74 6f 20 75  ;  switched to u
ded0: 73 65 0a 70 75 74 73 20 69 6e 73 74 65 61 64 2e  se.puts instead.
dee0: 20 20 28 4a 4f 29 0a 0a 39 2f 32 38 2f 39 35 20    (JO)..9/28/95 
def0: 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65  (bug fix) Change
df00: 64 20 6d 61 6b 65 66 69 6c 65 2e 62 63 20 74 6f  d makefile.bc to
df10: 20 65 6c 69 6d 69 6e 61 74 65 20 61 20 66 61 6c   eliminate a fal
df20: 73 65 20 64 65 70 65 6e 64 65 6e 63 79 0a 66 6f  se dependency.fo
df30: 72 20 74 63 6c 31 36 37 35 2e 64 6c 6c 20 6f 6e  r tcl1675.dll on
df40: 20 74 68 65 20 42 6f 72 6c 61 6e 64 20 72 75 6e   the Borland run
df50: 20 74 69 6d 65 20 6c 69 62 72 61 72 79 2e 20 28   time library. (
df60: 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28 62 75  SS)..9/28/95 (bu
df70: 67 20 66 69 78 29 20 46 69 78 65 64 20 74 63 6c  g fix) Fixed tcl
df80: 37 35 2e 64 6c 6c 20 73 6f 20 69 74 20 6c 6f 6f  75.dll so it loo
df90: 6b 73 20 66 6f 72 20 74 63 6c 31 36 37 35 2e 64  ks for tcl1675.d
dfa0: 6c 6c 20 69 6e 73 74 65 61 64 0a 6f 66 20 74 63  ll instead.of tc
dfb0: 6c 31 36 2e 64 6c 6c 2e 20 28 53 53 29 0a 0a 39  l16.dll. (SS)..9
dfc0: 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69 78 29  /28/95 (bug fix)
dfd0: 20 54 63 6c 20 77 61 73 20 6e 6f 74 20 63 6f 72   Tcl was not cor
dfe0: 72 65 63 74 6c 79 20 64 65 74 65 63 74 69 6e 67  rectly detecting
dff0: 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 0a   the difference.
e000: 62 65 74 77 65 65 6e 20 57 69 6e 33 32 73 20 61  between Win32s a
e010: 6e 64 20 57 69 6e 64 6f 77 73 20 27 39 35 2e 20  nd Windows '95. 
e020: 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28 62  (SS)..9/28/95 (b
e030: 75 67 20 66 69 78 29 20 22 65 78 65 63 22 20 77  ug fix) "exec" w
e040: 61 73 20 6e 6f 74 20 70 61 73 73 69 6e 67 20 65  as not passing e
e050: 6e 76 69 72 6f 6e 6d 65 6e 74 20 63 68 61 6e 67  nvironment chang
e060: 65 73 20 74 6f 20 63 68 69 6c 64 0a 70 72 6f 63  es to child.proc
e070: 65 73 73 65 73 20 75 6e 64 65 72 20 57 69 6e 64  esses under Wind
e080: 6f 77 73 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f  ows. (SS)..9/28/
e090: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61  95 (bug fix) Cha
e0a0: 6e 67 65 64 20 54 63 6c 20 74 6f 20 65 6e 73 75  nged Tcl to ensu
e0b0: 72 65 20 74 68 61 74 20 6f 70 65 6e 20 66 69 6c  re that open fil
e0c0: 65 73 20 61 72 65 20 6e 6f 74 20 70 61 73 73 65  es are not passe
e0d0: 64 0a 74 6f 20 63 68 69 6c 64 20 70 72 6f 63 65  d.to child proce
e0e0: 73 73 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f  sses under Windo
e0f0: 77 73 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39  ws. (SS)..9/28/9
e100: 35 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  5 (bug fix) Fixe
e110: 64 20 57 69 6e 64 6f 77 73 20 27 39 35 20 61 6e  d Windows '95 an
e120: 64 20 4e 54 20 76 65 72 73 69 6f 6e 73 20 6f 66  d NT versions of
e130: 20 65 78 65 63 20 73 6f 20 69 74 20 63 61 6e 0a   exec so it can.
e140: 68 61 6e 64 6c 65 20 62 6f 74 68 20 63 6f 6e 73  handle both cons
e150: 6f 6c 65 20 61 6e 64 20 77 69 6e 64 6f 77 73 20  ole and windows 
e160: 61 70 70 73 2e 20 20 20 28 53 53 29 0a 0a 39 2f  apps.   (SS)..9/
e170: 32 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  28/95 (bug fix) 
e180: 46 69 78 65 64 20 57 69 6e 64 6f 77 73 20 76 65  Fixed Windows ve
e190: 72 73 69 6f 6e 20 6f 66 20 65 78 65 63 20 73 6f  rsion of exec so
e1a0: 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72 20 6c 65   it no longer le
e1b0: 61 76 65 73 0a 74 65 6d 70 20 66 69 6c 65 73 20  aves.temp files 
e1c0: 6c 79 69 6e 67 20 61 72 6f 75 6e 64 2e 20 20 41  lying around.  A
e1d0: 6c 73 6f 20 63 68 61 6e 67 65 64 20 69 74 20 73  lso changed it s
e1e0: 6f 20 74 68 65 20 74 65 6d 70 20 66 69 6c 65 73  o the temp files
e1f0: 20 61 72 65 0a 63 72 65 61 74 65 64 20 69 6e 20   are.created in 
e200: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20  the appropriate 
e210: 73 79 73 74 65 6d 20 64 65 70 65 6e 64 65 6e 74  system dependent
e220: 20 74 65 6d 70 20 64 69 72 65 63 74 6f 72 79 2e   temp directory.
e230: 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28   (SS)..9/28/95 (
e240: 62 75 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61  bug fix) Elimina
e250: 74 65 64 20 73 6f 75 72 63 65 20 64 65 70 65 6e  ted source depen
e260: 64 65 6e 63 79 20 6f 6e 20 74 68 65 20 57 69 6e  dency on the Win
e270: 33 32 73 20 55 6e 69 76 65 72 73 61 6c 0a 54 68  32s Universal.Th
e280: 75 6e 6b 20 68 65 61 64 65 72 20 66 69 6c 65 2c  unk header file,
e290: 20 73 69 6e 63 65 20 69 74 20 69 73 20 6e 6f 74   since it is not
e2a0: 20 62 75 6e 64 6c 65 64 20 77 69 74 68 20 56 43   bundled with VC
e2b0: 2b 2b 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39  ++. (SS)..9/28/9
e2c0: 35 20 28 62 75 67 20 66 69 78 29 20 55 6e 64 65  5 (bug fix) Unde
e2d0: 72 20 57 69 6e 64 6f 77 73 2c 20 54 63 6c 20 6e  r Windows, Tcl n
e2e0: 6f 77 20 63 6f 6e 73 74 72 75 63 74 73 20 74 68  ow constructs th
e2f0: 65 20 48 4f 4d 45 0a 65 6e 76 69 72 6f 6e 6d 65  e HOME.environme
e300: 6e 74 20 76 61 72 69 61 62 6c 65 20 66 72 6f 6d  nt variable from
e310: 20 48 4f 4d 45 50 41 54 48 20 61 6e 64 20 48 4f   HOMEPATH and HO
e320: 4d 45 44 52 49 56 45 20 77 68 65 6e 20 48 4f 4d  MEDRIVE when HOM
e330: 45 20 69 73 20 6e 6f 74 0a 61 6c 72 65 61 64 79  E is not.already
e340: 20 73 65 74 2e 20 28 53 53 29 0a 0a 39 2f 32 38   set. (SS)..9/28
e350: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 41 64  /95 (bug fix) Ad
e360: 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
e370: 22 69 6e 66 6f 20 6e 61 6d 65 6f 66 65 78 65 63  "info nameofexec
e380: 75 74 61 62 6c 65 22 20 61 6e 64 20 22 69 6e 66  utable" and "inf
e390: 6f 0a 73 68 61 72 65 64 6c 69 62 65 78 74 65 6e  o.sharedlibexten
e3a0: 73 69 6f 6e 22 20 74 6f 20 74 68 65 20 57 69 6e  sion" to the Win
e3b0: 64 6f 77 73 20 76 65 72 73 69 6f 6e 2e 20 28 53  dows version. (S
e3c0: 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28 62 75 67  S)..9/28/95 (bug
e3d0: 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 74 63   fix) Changed tc
e3e0: 6c 73 68 20 74 6f 20 63 6f 72 72 65 63 74 6c 79  lsh to correctly
e3f0: 20 70 61 72 73 65 20 63 6f 6d 6d 61 6e 64 20 6c   parse command l
e400: 69 6e 65 0a 61 72 67 75 6d 65 6e 74 73 20 73 6f  ine.arguments so
e410: 20 74 68 61 74 20 62 61 63 6b 73 6c 61 73 68 65   that backslashe
e420: 73 20 61 72 65 20 70 72 65 73 65 72 76 65 64 20  s are preserved 
e430: 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 28  under Windows. (
e440: 53 53 29 0a 0a 39 2f 32 39 2f 39 35 20 28 62 75  SS)..9/29/95 (bu
e450: 67 20 66 69 78 29 20 54 63 6c 20 37 2e 35 61 31  g fix) Tcl 7.5a1
e460: 20 74 72 65 61 74 65 64 20 65 69 74 68 65 72 20   treated either 
e470: 72 65 74 75 72 6e 20 6f 72 20 6e 65 77 6c 69 6e  return or newlin
e480: 65 20 61 73 20 65 6e 64 0a 6f 66 20 6c 69 6e 65  e as end.of line
e490: 20 69 6e 20 22 67 65 74 73 22 2c 20 77 68 69 63   in "gets", whic
e4a0: 68 20 63 61 75 73 65 64 20 6c 69 6e 65 73 20 65  h caused lines e
e4b0: 6e 64 69 6e 67 20 69 6e 20 43 52 4c 46 20 74 6f  nding in CRLF to
e4c0: 20 62 65 20 74 72 65 61 74 65 64 20 61 73 0a 74   be treated as.t
e4d0: 77 6f 20 73 65 70 61 72 61 74 65 20 6c 69 6e 65  wo separate line
e4e0: 73 2e 20 20 43 68 61 6e 67 65 64 20 74 6f 20 61  s.  Changed to a
e4f0: 6c 6c 6f 77 20 6f 6e 6c 79 20 63 68 61 72 61 63  llow only charac
e500: 74 65 72 20 61 73 20 65 6e 64 2d 6f 66 2d 6c 69  ter as end-of-li
e510: 6e 65 3a 0a 63 61 72 72 69 61 67 65 20 72 65 74  ne:.carriage ret
e520: 75 72 6e 20 6f 6e 20 4d 61 63 73 2c 20 6e 65 77  urn on Macs, new
e530: 6c 69 6e 65 20 65 6c 73 65 77 68 65 72 65 2e 20  line elsewhere. 
e540: 28 4a 4f 29 0a 0a 39 2f 32 39 2f 39 35 20 28 6e  (JO)..9/29/95 (n
e550: 65 77 20 66 65 61 74 75 72 65 29 20 43 68 61 6e  ew feature) Chan
e560: 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 22  ged to install "
e570: 63 6f 6e 66 69 67 49 6e 66 6f 22 20 66 69 6c 65  configInfo" file
e580: 20 69 6e 20 73 61 6d 65 0a 64 69 72 65 63 74 6f   in same.directo
e590: 72 79 20 61 73 20 6c 69 62 72 61 72 79 20 73 63  ry as library sc
e5a0: 72 69 70 74 73 2e 20 20 49 74 20 64 69 64 6e 27  ripts.  It didn'
e5b0: 74 20 75 73 65 64 20 74 6f 20 67 65 74 20 69 6e  t used to get in
e5c0: 73 74 61 6c 6c 65 64 2e 20 28 4a 4f 29 0a 0a 39  stalled. (JO)..9
e5d0: 2f 32 39 2f 39 35 20 28 62 75 67 20 66 69 78 29  /29/95 (bug fix)
e5e0: 20 54 63 6c 20 77 61 73 20 6e 6f 74 20 63 6f 6e   Tcl was not con
e5f0: 76 65 72 74 69 6e 67 20 57 69 6e 33 32 20 65 72  verting Win32 er
e600: 72 6f 72 73 20 69 6e 74 6f 20 50 4f 53 49 58 0a  rors into POSIX.
e610: 65 72 72 6f 72 73 20 75 6e 64 65 72 20 73 6f 6d  errors under som
e620: 65 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2e  e circumstances.
e630: 20 28 53 53 29 0a 0a 31 30 2f 32 2f 39 35 20 28   (SS)..10/2/95 (
e640: 62 75 67 20 66 69 78 29 20 53 61 66 65 20 69 6e  bug fix) Safe in
e650: 74 65 72 70 72 65 74 65 72 73 20 6e 6f 20 6c 6f  terpreters no lo
e660: 6e 67 65 72 20 67 65 74 20 69 6e 69 74 69 61 6c  nger get initial
e670: 69 7a 65 64 20 77 69 74 68 0a 61 20 63 61 6c 6c  ized with.a call
e680: 20 74 6f 20 54 63 6c 5f 49 6e 69 74 28 29 2e 20   to Tcl_Init(). 
e690: 28 4a 4c 29 0a 0a 31 30 2f 31 2f 39 35 20 28 6e  (JL)..10/1/95 (n
e6a0: 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
e6b0: 64 20 22 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 22  d "tcl_platform"
e6c0: 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65   global variable
e6d0: 20 74 6f 20 70 72 6f 76 69 64 65 0a 65 6e 76 69   to provide.envi
e6e0: 72 6f 6e 6d 65 6e 74 20 69 6e 66 6f 72 6d 61 74  ronment informat
e6f0: 69 6f 6e 20 73 75 63 68 20 61 73 20 74 68 65 20  ion such as the 
e700: 69 6e 73 74 72 75 63 74 69 6f 6e 20 73 65 74 20  instruction set 
e710: 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 0a 73 79  and operating.sy
e720: 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 31 30 2f 31  stem. (JO)..10/1
e730: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 22 65  /95 (bug fix) "e
e740: 78 65 63 22 20 63 6f 6d 6d 61 6e 64 20 77 61 73  xec" command was
e750: 6e 27 74 20 61 6c 77 61 79 73 20 67 65 6e 65 72  n't always gener
e760: 61 74 69 6e 67 20 74 68 65 0a 22 63 68 69 6c 64  ating the."child
e770: 20 70 72 6f 63 65 73 73 20 65 78 69 74 65 64 20   process exited 
e780: 61 62 6e 6f 72 6d 61 6c 6c 79 22 20 6d 65 73 73  abnormally" mess
e790: 61 67 65 20 77 68 65 6e 20 69 74 20 73 68 6f 75  age when it shou
e7a0: 6c 64 20 68 61 76 65 2e 20 20 28 4a 4f 29 0a 0a  ld have.  (JO)..
e7b0: 31 30 2f 32 2f 39 35 20 28 62 75 67 20 66 69 78  10/2/95 (bug fix
e7c0: 29 20 43 68 61 6e 67 65 64 20 22 6d 6b 4c 69 6e  ) Changed "mkLin
e7d0: 6b 73 2e 74 63 6c 22 20 73 6f 20 74 68 61 74 20  ks.tcl" so that 
e7e0: 74 68 65 20 73 63 72 69 70 74 73 20 69 74 20 67  the scripts it g
e7f0: 65 6e 65 72 61 74 65 73 0a 77 6f 6e 27 74 20 63  enerates.won't c
e800: 72 65 61 74 65 20 6c 69 6e 6b 73 20 74 68 61 74  reate links that
e810: 20 6f 76 65 72 77 72 69 74 65 20 6f 72 69 67 69   overwrite origi
e820: 6e 61 6c 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69  nal manual entri
e830: 65 73 20 28 74 68 65 72 65 20 77 61 73 0a 61 20  es (there was.a 
e840: 70 72 6f 62 6c 65 6d 20 77 68 65 72 65 20 70 61  problem where pa
e850: 63 6b 2d 6f 6c 64 2e 6e 20 77 61 73 20 6f 76 65  ck-old.n was ove
e860: 72 77 72 69 74 69 6e 67 20 70 61 63 6b 2e 6e 29  rwriting pack.n)
e870: 2e 20 20 28 4a 4f 29 0a 0a 31 30 2f 32 2f 39 35  .  (JO)..10/2/95
e880: 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
e890: 29 20 43 68 61 6e 67 65 64 20 74 6f 20 75 73 65  ) Changed to use
e8a0: 20 2d 6c 64 6c 20 66 6f 72 20 64 79 6e 61 6d 69   -ldl for dynami
e8b0: 63 20 6c 6f 61 64 69 6e 67 20 75 6e 64 65 72 0a  c loading under.
e8c0: 4c 69 6e 75 78 20 69 66 20 69 74 20 69 73 20 61  Linux if it is a
e8d0: 76 61 69 6c 61 62 6c 65 2c 20 62 75 74 20 66 61  vailable, but fa
e8e0: 6c 6c 20 62 61 63 6b 20 74 6f 20 2d 6c 64 6c 64  ll back to -ldld
e8f0: 20 69 66 20 69 74 20 69 73 6e 27 74 2e 20 20 28   if it isn't.  (
e900: 4a 4f 29 0a 0a 31 30 2f 32 2f 39 35 20 28 62 75  JO)..10/2/95 (bu
e910: 67 20 66 69 78 29 20 46 69 6c 65 20 73 68 61 72  g fix) File shar
e920: 69 6e 67 20 77 61 73 20 63 61 75 73 69 6e 67 20  ing was causing 
e930: 72 65 66 63 6f 75 6e 74 73 20 74 6f 20 72 65 61  refcounts to rea
e940: 63 68 20 30 0a 70 72 65 6d 61 74 75 72 65 6c 79  ch 0.prematurely
e950: 20 66 6f 72 20 73 74 64 69 6e 2c 20 73 74 64 6f   for stdin, stdo
e960: 75 74 20 61 6e 64 20 73 74 64 65 72 72 2c 20 75  ut and stderr, u
e970: 6e 64 65 72 20 73 6f 6d 65 20 63 69 72 63 75 6d  nder some circum
e980: 73 74 61 6e 63 65 73 2e 20 28 4a 4c 29 0a 0a 31  stances. (JL)..1
e990: 30 2f 32 2f 39 35 20 28 70 6c 61 74 66 6f 72 6d  0/2/95 (platform
e9a0: 20 73 75 70 70 6f 72 74 29 20 41 64 64 65 64 20   support) Added 
e9b0: 73 75 70 70 6f 72 74 20 66 6f 72 20 56 69 73 75  support for Visu
e9c0: 61 6c 20 43 2b 2b 20 63 6f 6d 70 69 6c 65 72 20  al C++ compiler 
e9d0: 6f 6e 0a 57 69 6e 64 6f 77 73 2c 20 57 69 6e 64  on.Windows, Wind
e9e0: 6f 77 73 20 27 39 35 20 61 6e 64 20 57 69 6e 64  ows '95 and Wind
e9f0: 6f 77 73 20 4e 54 2c 20 63 6f 64 65 20 64 6f 6e  ows NT, code don
ea00: 61 74 65 64 20 62 79 20 47 6f 72 64 6f 6e 20 43  ated by Gordon C
ea10: 68 61 66 66 65 65 2e 20 28 4a 4c 29 0a 0a 31 30  haffee. (JL)..10
ea20: 2f 33 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  /3/95 (bug fix) 
ea30: 54 63 6c 20 6e 6f 77 20 66 72 65 65 73 20 61 6e  Tcl now frees an
ea40: 79 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74  y libraries that
ea50: 20 69 74 20 6c 6f 61 64 73 20 62 65 66 6f 72 65   it loads before
ea60: 20 69 74 0a 65 78 69 74 73 2e 20 28 53 53 29 0a   it.exits. (SS).
ea70: 0a 31 30 2f 30 33 2f 39 35 20 28 62 75 67 20 66  .10/03/95 (bug f
ea80: 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
ea90: 20 4d 61 63 69 6e 74 6f 73 68 20 6c 73 20 63 6f   Macintosh ls co
eaa0: 6d 6d 61 6e 64 20 77 68 65 72 65 20 74 68 65 20  mmand where the 
eab0: 2d 6c 0a 61 6e 64 20 2d 43 20 6f 70 74 69 6f 6e  -l.and -C option
eac0: 73 20 77 6f 75 6c 64 20 66 61 69 6c 20 69 6e 20  s would fail in 
ead0: 61 6e 79 74 68 69 6e 67 20 62 75 74 20 74 68 65  anything but the
eae0: 20 48 4f 4d 45 20 64 69 72 65 63 74 6f 72 79 2e   HOME directory.
eaf0: 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   (RJ)..---------
eb00: 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
eb10: 64 20 37 2e 35 61 32 2c 20 31 30 2f 36 2f 39 35  d 7.5a2, 10/6/95
eb20: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
eb30: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 2f 31 30 2f  --------..10/10/
eb40: 39 35 20 28 62 75 67 20 66 69 78 29 20 22 66 69  95 (bug fix) "fi
eb50: 6c 65 20 64 69 72 6e 61 6d 20 2f 2e 22 20 77 61  le dirnam /." wa
eb60: 73 20 72 65 74 75 72 6e 69 6e 67 20 22 3a 22 20  s returning ":" 
eb70: 6f 6e 20 55 4e 49 58 20 69 6e 73 74 65 61 64 0a  on UNIX instead.
eb80: 6f 66 20 22 2f 22 2e 20 28 4a 4f 29 0a 0a 31 30  of "/". (JO)..10
eb90: 2f 31 33 2f 39 35 20 28 62 75 67 20 66 69 78 29  /13/95 (bug fix)
eba0: 20 45 6c 69 6d 69 6e 61 74 65 64 20 64 65 70 65   Eliminated depe
ebb0: 6e 64 65 6e 63 79 20 6f 6e 20 4d 4b 53 20 74 6f  ndency on MKS to
ebc0: 6f 6c 6b 69 74 20 66 6f 72 20 67 65 6e 65 72 61  olkit for genera
ebd0: 74 69 6e 67 0a 74 68 65 20 74 63 6c 2e 64 65 66  ting.the tcl.def
ebe0: 20 66 69 6c 65 20 66 72 6f 6d 20 42 6f 72 6c 61   file from Borla
ebf0: 6e 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 2e  nd object files.
ec00: 20 28 53 53 29 0a 0a 31 30 2f 31 37 2f 39 35 20   (SS)..10/17/95 
ec10: 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 4d  (new features) M
ec20: 6f 76 65 64 20 74 68 65 20 65 76 65 6e 74 20 6c  oved the event l
ec30: 6f 6f 70 20 66 72 6f 6d 20 54 63 6c 20 74 6f 20  oop from Tcl to 
ec40: 54 6b 2c 20 6d 61 64 65 20 6d 61 6a 6f 72 0a 72  Tk, made major.r
ec50: 65 76 69 73 69 6f 6e 73 20 61 6c 6f 6e 67 20 74  evisions along t
ec60: 68 65 20 77 61 79 3a 0a 20 20 20 20 2d 20 4e 65  he way:.    - Ne
ec70: 77 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 73 3a 20  w Tcl commands: 
ec80: 20 61 66 74 65 72 2c 20 75 70 64 61 74 65 2c 20   after, update, 
ec90: 76 77 61 69 74 20 28 72 65 70 6c 61 63 65 73 20  vwait (replaces 
eca0: 22 74 6b 77 61 69 74 20 76 61 72 69 61 62 6c 65  "tkwait variable
ecb0: 22 29 2e 0a 20 20 20 20 2d 20 22 74 6b 65 72 72  ")..    - "tkerr
ecc0: 6f 72 22 20 69 73 20 6e 6f 77 20 72 65 70 6c 61  or" is now repla
ecd0: 63 65 64 20 77 69 74 68 20 22 62 67 65 72 72 6f  ced with "bgerro
ece0: 72 22 2e 0a 20 20 20 20 2d 20 54 68 65 20 66 6f  r"..    - The fo
ecf0: 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 65 64 75 72  llowing procedur
ed00: 65 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74  es are similar t
ed10: 6f 20 74 68 65 69 72 20 6f 6c 64 20 54 6b 20 63  o their old Tk c
ed20: 6f 75 6e 74 65 72 70 61 72 74 73 3a 0a 20 20 20  ounterparts:.   
ed30: 20 20 20 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e     Tcl_DoOneEven
ed40: 74 2c 20 54 63 6c 5f 53 6c 65 65 70 2c 20 54 63  t, Tcl_Sleep, Tc
ed50: 6c 5f 44 6f 57 68 65 6e 49 64 6c 65 2c 20 54 63  l_DoWhenIdle, Tc
ed60: 6c 5f 43 61 6e 63 65 6c 49 64 6c 65 43 61 6c 6c  l_CancelIdleCall
ed70: 2c 0a 20 20 20 20 20 20 54 63 6c 5f 43 72 65 61  ,.      Tcl_Crea
ed80: 74 65 46 69 6c 65 48 61 6e 64 6c 65 72 2c 20 54  teFileHandler, T
ed90: 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48 61 6e  cl_DeleteFileHan
eda0: 64 6c 65 72 2c 20 54 63 6c 5f 43 72 65 61 74 65  dler, Tcl_Create
edb0: 54 69 6d 65 72 48 61 6e 64 6c 65 72 2c 0a 20 20  TimerHandler,.  
edc0: 20 20 20 20 54 63 6c 5f 44 65 6c 65 74 65 54 69      Tcl_DeleteTi
edd0: 6d 65 72 48 61 6e 64 6c 65 72 2c 20 54 63 6c 5f  merHandler, Tcl_
ede0: 42 61 63 6b 67 72 6f 75 6e 64 45 72 72 6f 72 2e  BackgroundError.
edf0: 0a 20 20 20 20 2d 20 52 65 76 69 73 65 64 20 6e  .    - Revised n
ee00: 6f 74 69 66 69 65 72 2c 20 61 64 64 20 6e 65 77  otifier, add new
ee10: 20 63 6f 6e 63 65 70 74 20 6f 66 20 22 65 76 65   concept of "eve
ee20: 6e 74 20 73 6f 75 72 63 65 22 20 77 69 74 68 20  nt source" with 
ee30: 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20  the following.  
ee40: 20 20 20 20 70 72 6f 63 65 64 75 72 65 73 3a 20      procedures: 
ee50: 20 54 63 6c 5f 43 72 65 61 74 65 45 76 65 6e 74   Tcl_CreateEvent
ee60: 53 6f 75 72 63 65 2c 20 54 63 6c 5f 44 65 6c 65  Source, Tcl_Dele
ee70: 74 65 45 76 65 6e 74 53 6f 75 72 63 65 2c 0a 20  teEventSource,. 
ee80: 20 20 20 20 20 54 63 6c 5f 57 61 74 63 68 46 69       Tcl_WatchFi
ee90: 6c 65 2c 20 54 63 6c 5f 53 65 74 4d 61 78 42 6c  le, Tcl_SetMaxBl
eea0: 6f 63 6b 54 69 6d 65 2c 20 54 63 6c 5f 46 69 6c  ockTime, Tcl_Fil
eeb0: 65 52 65 61 64 79 2c 20 54 63 6c 5f 51 75 65 75  eReady, Tcl_Queu
eec0: 65 45 76 65 6e 74 2c 0a 20 20 20 20 20 20 54 63  eEvent,.      Tc
eed0: 6c 5f 57 61 69 74 46 6f 72 45 76 65 6e 74 2e 20  l_WaitForEvent. 
eee0: 28 4a 4f 29 0a 0a 31 30 2f 33 31 2f 39 35 20 28  (JO)..10/31/95 (
eef0: 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 49 6d  new features) Im
ef00: 70 6c 65 6d 65 6e 74 65 64 20 63 72 6f 73 73 20  plemented cross 
ef10: 70 6c 61 74 66 6f 72 6d 20 66 69 6c 65 20 6e 61  platform file na
ef20: 6d 65 20 73 75 70 70 6f 72 74 20 74 6f 20 6d 61  me support to ma
ef30: 6b 65 0a 69 74 20 65 61 73 69 65 72 20 74 6f 20  ke.it easier to 
ef40: 77 72 69 74 65 20 63 72 6f 73 73 20 70 6c 61 74  write cross plat
ef50: 66 6f 72 6d 20 73 63 72 69 70 74 73 2e 20 20 54  form scripts.  T
ef60: 63 6c 20 6e 6f 77 20 75 6e 64 65 72 73 74 61 6e  cl now understan
ef70: 64 73 20 34 20 66 69 6c 65 20 6e 61 6d 69 6e 67  ds 4 file naming
ef80: 0a 63 6f 6e 76 65 6e 74 69 6f 6e 73 3a 20 57 69  .conventions: Wi
ef90: 6e 64 6f 77 73 20 28 62 6f 74 68 20 44 4f 53 20  ndows (both DOS 
efa0: 61 6e 64 20 55 4e 43 29 2c 20 4d 61 63 2c 20 55  and UNC), Mac, U
efb0: 6e 69 78 2c 20 61 6e 64 20 4e 65 74 77 6f 72 6b  nix, and Network
efc0: 2e 20 20 54 68 65 20 6e 65 74 77 6f 72 6b 0a 63  .  The network.c
efd0: 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20 61 20 6e  onvention is a n
efe0: 65 77 20 6e 61 6d 69 6e 67 20 6d 65 63 68 61 6e  ew naming mechan
eff0: 69 73 6d 20 74 68 61 74 20 63 61 6e 20 62 65 20  ism that can be 
f000: 75 73 65 64 20 74 6f 20 70 61 74 68 73 20 69 6e  used to paths in
f010: 20 61 20 70 6c 61 74 66 6f 72 6d 0a 69 6e 64 65   a platform.inde
f020: 70 65 6e 64 65 6e 74 20 66 61 73 68 69 6f 6e 2e  pendent fashion.
f030: 20 20 53 65 65 20 74 68 65 20 22 66 69 6c 65 22    See the "file"
f040: 20 63 6f 6d 6d 61 6e 64 20 6d 61 6e 75 61 6c 20   command manual 
f050: 70 61 67 65 20 66 6f 72 20 6d 6f 72 65 20 64 65  page for more de
f060: 74 61 69 6c 73 2e 0a 54 68 65 20 70 72 69 6d 61  tails..The prima
f070: 72 79 20 69 6e 74 65 72 66 61 63 65 73 20 63 68  ry interfaces ch
f080: 61 6e 67 65 73 20 61 72 65 3a 0a 20 20 20 20 2d  anges are:.    -
f090: 20 41 6c 6c 20 54 63 6c 20 63 6f 6d 6d 61 6e 64   All Tcl command
f0a0: 73 20 74 68 61 74 20 65 78 70 65 63 74 20 61 20  s that expect a 
f0b0: 66 69 6c 65 20 6e 61 6d 65 20 6e 6f 77 20 61 63  file name now ac
f0c0: 63 65 70 74 20 62 6f 74 68 20 6e 65 74 77 6f 72  cept both networ
f0d0: 6b 20 61 6e 64 0a 20 20 20 20 20 20 6e 61 74 69  k and.      nati
f0e0: 76 65 20 66 6f 72 6d 2e 0a 20 20 20 20 2d 20 54  ve form..    - T
f0f0: 77 6f 20 6e 65 77 20 22 66 69 6c 65 22 20 73 75  wo new "file" su
f100: 62 63 6f 6d 6d 61 6e 64 73 2c 20 22 6e 61 74 69  bcommands, "nati
f110: 76 65 6e 61 6d 65 22 20 61 6e 64 20 22 6e 65 74  vename" and "net
f120: 77 6f 72 6b 6e 61 6d 65 22 2c 20 70 72 6f 76 69  workname", provi
f130: 64 65 20 61 0a 20 20 20 20 20 20 77 61 79 20 74  de a.      way t
f140: 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65  o convert betwee
f150: 6e 20 6e 65 74 77 6f 72 6b 20 61 6e 64 20 6e 61  n network and na
f160: 74 69 76 65 20 66 6f 72 6d 2e 0a 20 20 20 20 2d  tive form..    -
f170: 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f 54 69 6c   Renamed Tcl_Til
f180: 64 65 53 75 62 73 74 20 74 6f 20 54 63 6c 5f 54  deSubst to Tcl_T
f190: 72 61 6e 73 6c 61 74 65 46 69 6c 65 4e 61 6d 65  ranslateFileName
f1a0: 2c 20 61 6e 64 20 63 68 61 6e 67 65 64 20 69 74  , and changed it
f1b0: 20 73 6f 20 74 68 61 74 0a 20 20 20 20 20 20 69   so that.      i
f1c0: 74 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73  t always returns
f1d0: 20 61 20 66 69 6c 65 6e 61 6d 65 20 69 6e 20 6e   a filename in n
f1e0: 61 74 69 76 65 20 66 6f 72 6d 2e 20 20 54 63 6c  ative form.  Tcl
f1f0: 5f 54 69 6c 64 65 53 75 62 73 74 20 69 73 20 64  _TildeSubst is d
f200: 65 66 69 6e 65 64 0a 20 20 20 20 20 20 61 73 20  efined.      as 
f210: 61 20 6d 61 63 72 6f 20 66 6f 72 20 62 61 63 6b  a macro for back
f220: 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69  ward compatibili
f230: 74 79 2c 20 62 75 74 20 69 74 20 69 73 20 64 65  ty, but it is de
f240: 70 72 65 63 61 74 65 64 2e 20 28 53 53 29 0a 0a  precated. (SS)..
f250: 31 31 2f 35 2f 39 35 20 28 6e 65 77 20 66 65 61  11/5/95 (new fea
f260: 74 75 72 65 29 20 4d 61 64 65 20 22 74 6b 65 72  ture) Made "tker
f270: 72 6f 72 22 20 61 6e 64 20 22 62 67 65 72 72 6f  ror" and "bgerro
f280: 72 22 20 73 79 6e 6f 6e 79 6d 73 2c 20 73 6f 20  r" synonyms, so 
f290: 74 68 61 74 0a 65 69 74 68 65 72 20 6e 61 6d 65  that.either name
f2a0: 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20   can be used to 
f2b0: 6d 61 6e 69 70 75 6c 61 74 65 20 74 68 65 20 63  manipulate the c
f2c0: 6f 6d 6d 61 6e 64 20 28 70 72 6f 76 69 64 65 73  ommand (provides
f2d0: 20 74 65 6d 70 6f 72 61 72 79 0a 62 61 63 6b 77   temporary.backw
f2e0: 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  ard compatibilit
f2f0: 79 20 66 6f 72 20 65 78 69 73 74 69 6e 67 20 73  y for existing s
f300: 63 72 69 70 74 73 20 74 68 61 74 20 75 73 65 20  cripts that use 
f310: 74 6b 65 72 72 6f 72 29 2e 20 28 4a 4f 29 0a 0a  tkerror). (JO)..
f320: 31 31 2f 35 2f 39 35 20 28 6e 65 77 20 66 65 61  11/5/95 (new fea
f330: 74 75 72 65 29 20 41 64 64 65 64 20 65 78 69 74  ture) Added exit
f340: 20 68 61 6e 64 6c 65 72 73 20 61 6e 64 20 6e 65   handlers and ne
f350: 77 20 43 20 70 72 6f 63 65 64 75 72 65 73 0a 54  w C procedures.T
f360: 63 6c 5f 43 72 65 61 74 65 45 78 69 74 48 61 6e  cl_CreateExitHan
f370: 64 6c 65 72 2c 20 54 63 6c 5f 44 65 6c 65 74 65  dler, Tcl_Delete
f380: 45 78 69 74 48 61 6e 64 6c 65 72 2c 20 61 6e 64  ExitHandler, and
f390: 20 54 63 6c 5f 45 78 69 74 2e 20 28 4a 4f 29 0a   Tcl_Exit. (JO).
f3a0: 0a 31 31 2f 36 2f 39 35 20 28 6e 65 77 20 66 65  .11/6/95 (new fe
f3b0: 61 74 75 72 65 29 20 41 64 64 65 64 20 70 69 64  ature) Added pid
f3c0: 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 4d 61 63   command for Mac
f3d0: 69 6e 74 6f 73 68 20 76 65 72 73 69 6f 6e 20 6f  intosh version o
f3e0: 66 0a 54 63 6c 20 28 69 74 20 64 69 64 6e 27 74  f.Tcl (it didn't
f3f0: 20 70 72 65 76 69 6f 75 73 6c 79 20 65 78 69 73   previously exis
f400: 74 20 6f 6e 20 74 68 65 20 4d 61 63 29 2e 20 28  t on the Mac). (
f410: 52 4a 29 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65  RJ)..11/7/95 (ne
f420: 77 20 66 65 61 74 75 72 65 29 20 4e 65 77 20 67  w feature) New g
f430: 65 6e 65 72 69 63 20 49 4f 20 66 61 63 69 6c 69  eneric IO facili
f440: 74 79 20 61 6e 64 20 73 75 70 70 6f 72 74 20 66  ty and support f
f450: 6f 72 20 49 4f 20 74 6f 0a 66 69 6c 65 73 2c 20  or IO to.files, 
f460: 70 69 70 65 73 20 61 6e 64 20 73 6f 63 6b 65 74  pipes and socket
f470: 73 20 62 61 73 65 64 20 6f 6e 20 61 20 63 6f 6d  s based on a com
f480: 6d 6f 6e 20 62 75 66 66 65 72 69 6e 67 20 73 63  mon buffering sc
f490: 68 65 6d 65 2e 20 53 75 70 70 6f 72 74 0a 66 6f  heme. Support.fo
f4a0: 72 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 28  r asynchronous (
f4b0: 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 29 20 49 4f  non-blocking) IO
f4c0: 20 61 6e 64 20 66 6f 72 20 65 76 65 6e 74 20 64   and for event d
f4d0: 72 69 76 65 72 20 49 4f 2e 20 53 75 70 70 6f 72  river IO. Suppor
f4e0: 74 0a 66 6f 72 20 61 75 74 6f 6d 61 74 69 63 20  t.for automatic 
f4f0: 28 62 61 63 6b 67 72 6f 75 6e 64 29 20 61 73 79  (background) asy
f500: 6e 63 68 72 6f 6e 6f 75 73 20 66 6c 75 73 68 69  nchronous flushi
f510: 6e 67 20 61 6e 64 20 61 73 79 6e 63 68 72 6f 6e  ng and asynchron
f520: 6f 75 73 0a 63 6c 6f 73 69 6e 67 20 6f 66 20 63  ous.closing of c
f530: 68 61 6e 6e 65 6c 73 2e 20 28 4a 4c 29 0a 0a 31  hannels. (JL)..1
f540: 31 2f 37 2f 39 35 20 28 6e 65 77 20 66 65 61 74  1/7/95 (new feat
f550: 75 72 65 29 20 20 41 64 64 65 64 20 6e 65 77 20  ure)  Added new 
f560: 63 6f 6d 6d 61 6e 64 73 20 22 66 63 6f 6e 66 69  commands "fconfi
f570: 67 75 72 65 22 20 61 6e 64 20 22 66 62 6c 6f 63  gure" and "fbloc
f580: 6b 65 64 22 0a 74 6f 20 73 75 70 70 6f 72 74 20  ked".to support 
f590: 6e 65 77 20 49 2f 4f 20 66 65 61 74 75 72 65 73  new I/O features
f5a0: 20 73 75 63 68 20 61 73 20 6e 6f 6e 62 6c 6f 63   such as nonbloc
f5b0: 6b 69 6e 67 20 49 2f 4f 2e 20 20 41 64 64 65 64  king I/O.  Added
f5c0: 20 22 73 6f 63 6b 65 74 22 0a 63 6f 6d 6d 61 6e   "socket".comman
f5d0: 64 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 54  d for creating T
f5e0: 43 50 20 63 6c 69 65 6e 74 20 61 6e 64 20 73 65  CP client and se
f5f0: 72 76 65 72 20 73 6f 63 6b 65 74 73 2e 20 28 4a  rver sockets. (J
f600: 4c 29 2e 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65  L)...11/7/95 (ne
f610: 77 20 66 65 61 74 75 72 65 29 20 43 6f 6d 70 6c  w feature) Compl
f620: 65 74 65 20 73 65 74 20 6f 66 20 43 20 41 50 49  ete set of C API
f630: 73 20 74 6f 20 74 68 65 20 6e 65 77 20 67 65 6e  s to the new gen
f640: 65 72 69 63 20 49 4f 0a 66 61 63 69 6c 69 74 79  eric IO.facility
f650: 3a 0a 20 20 20 20 2d 20 4f 70 65 6e 69 6e 67 20  :.    - Opening 
f660: 63 68 61 6e 6e 65 6c 73 3a 20 54 63 6c 5f 4f 70  channels: Tcl_Op
f670: 65 6e 46 69 6c 65 43 68 61 6e 6e 65 6c 2c 20 54  enFileChannel, T
f680: 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61 6e 64 43 68  cl_OpenCommandCh
f690: 61 6e 6e 65 6c 2c 0a 20 20 20 20 20 20 54 63 6c  annel,.      Tcl
f6a0: 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74 2c 20  _OpenTcpClient, 
f6b0: 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65 72 76 65  Tcl_OpenTcpServe
f6c0: 72 2e 0a 20 20 20 20 2d 20 49 2f 4f 20 70 72 6f  r..    - I/O pro
f6d0: 63 65 64 75 72 65 73 20 6f 6e 20 63 68 61 6e 6e  cedures on chann
f6e0: 65 6c 73 2c 20 77 68 69 63 68 20 72 6f 75 67 68  els, which rough
f6f0: 6c 79 20 6d 69 72 72 6f 72 20 74 68 65 20 41 4e  ly mirror the AN
f700: 53 49 20 43 20 73 74 64 69 6f 0a 20 20 20 20 20  SI C stdio.     
f710: 20 6c 69 62 72 61 72 79 3a 20 20 54 63 6c 5f 52   library:  Tcl_R
f720: 65 61 64 2c 20 54 63 6c 5f 47 65 74 73 2c 20 54  ead, Tcl_Gets, T
f730: 63 6c 5f 57 72 69 74 65 2c 20 54 63 6c 5f 46 6c  cl_Write, Tcl_Fl
f740: 75 73 68 2c 20 54 63 6c 5f 53 65 65 6b 2c 0a 20  ush, Tcl_Seek,. 
f750: 20 20 20 20 20 54 63 6c 5f 54 65 6c 6c 2c 20 54       Tcl_Tell, T
f760: 63 6c 5f 43 6c 6f 73 65 2c 20 54 63 6c 5f 45 6f  cl_Close, Tcl_Eo
f770: 66 2c 20 54 63 6c 5f 49 6e 70 75 74 42 6c 6f 63  f, Tcl_InputBloc
f780: 6b 65 64 2c 20 54 63 6c 5f 47 65 74 43 68 61 6e  ked, Tcl_GetChan
f790: 6e 65 6c 4f 70 74 69 6f 6e 2c 0a 20 20 20 20 20  nelOption,.     
f7a0: 20 54 63 6c 5f 53 65 74 43 68 61 6e 6e 65 6c 4f   Tcl_SetChannelO
f7b0: 70 74 69 6f 6e 2e 0a 20 20 20 20 2d 20 45 78 74  ption..    - Ext
f7c0: 65 6e 73 69 6f 6e 20 6d 65 63 68 61 6e 69 73 6d  ension mechanism
f7d0: 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 6e 65   for creating ne
f7e0: 77 20 6b 69 6e 64 73 20 6f 66 20 63 68 61 6e 6e  w kinds of chann
f7f0: 65 6c 73 3a 0a 20 20 20 20 20 20 54 63 6c 5f 43  els:.      Tcl_C
f800: 72 65 61 74 65 43 68 61 6e 6e 65 6c 2c 20 54 63  reateChannel, Tc
f810: 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 49 6e 73 74  l_GetChannelInst
f820: 61 6e 63 65 44 61 74 61 2c 20 54 63 6c 5f 47 65  anceData, Tcl_Ge
f830: 74 43 68 61 6e 6e 65 6c 54 79 70 65 2c 0a 20 20  tChannelType,.  
f840: 20 20 20 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e      Tcl_GetChann
f850: 65 6c 4e 61 6d 65 2c 20 54 63 6c 5f 47 65 74 43  elName, Tcl_GetC
f860: 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 54 63 6c 5f  hannelFile, Tcl_
f870: 52 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 2c  RegisterChannel,
f880: 0a 20 20 20 20 20 20 54 63 6c 5f 55 6e 72 65 67  .      Tcl_Unreg
f890: 69 73 74 65 72 43 68 61 6e 6e 65 6c 2c 20 54 63  isterChannel, Tc
f8a0: 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 2e 0a 20 20  l_GetChannel..  
f8b0: 20 20 2d 20 45 76 65 6e 74 2d 64 72 69 76 65 6e    - Event-driven
f8c0: 20 49 2f 4f 20 6f 6e 20 63 68 61 6e 6e 65 6c 73   I/O on channels
f8d0: 3a 20 54 63 6c 5f 43 72 65 61 74 65 43 68 61 6e  : Tcl_CreateChan
f8e0: 6e 65 6c 48 61 6e 64 6c 65 72 2c 0a 20 20 20 20  nelHandler,.    
f8f0: 20 20 54 63 6c 5f 44 65 6c 65 74 65 43 68 61 6e    Tcl_DeleteChan
f900: 6e 65 6c 48 61 6e 64 6c 65 72 2e 20 28 4a 4c 29  nelHandler. (JL)
f910: 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77 20 66  ..11/7/95 (new f
f920: 65 61 74 75 72 65 29 20 43 68 61 6e 6e 65 6c 20  eature) Channel 
f930: 64 72 69 76 65 72 20 69 6e 74 65 72 66 61 63 65  driver interface
f940: 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 74   specification t
f950: 6f 20 61 6c 6c 6f 77 0a 6e 65 77 20 74 79 70 65  o allow.new type
f960: 73 20 6f 66 20 63 68 61 6e 6e 65 6c 73 20 74 6f  s of channels to
f970: 20 62 65 20 61 64 64 65 64 20 65 61 73 69 6c 79   be added easily
f980: 20 74 6f 20 54 63 6c 2e 20 43 75 72 72 65 6e 74   to Tcl. Current
f990: 6c 79 20 62 65 69 6e 67 20 75 73 65 64 0a 69 6e  ly being used.in
f9a0: 20 74 68 72 65 65 20 64 72 69 76 65 72 73 20 2d   three drivers -
f9b0: 20 66 6f 72 20 66 69 6c 65 73 2c 20 70 69 70 65   for files, pipe
f9c0: 73 20 61 6e 64 20 54 43 50 2d 62 61 73 65 64 20  s and TCP-based 
f9d0: 73 6f 63 6b 65 74 73 2e 20 28 4a 4c 29 2e 0a 0a  sockets. (JL)...
f9e0: 31 31 2f 37 2f 39 35 20 28 6e 65 77 20 66 65 61  11/7/95 (new fea
f9f0: 74 75 72 65 29 20 69 6e 74 65 72 70 20 64 65 6c  ture) interp del
fa00: 65 74 65 20 6e 6f 77 20 74 61 6b 65 73 20 61 6e  ete now takes an
fa10: 79 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 74 68  y number of path
fa20: 0a 6e 61 6d 65 73 20 6f 66 20 69 6e 74 65 72 70  .names of interp
fa30: 72 65 74 65 72 73 20 74 6f 20 64 65 6c 65 74 65  reters to delete
fa40: 2c 20 69 6e 63 6c 75 64 69 6e 67 20 7a 65 72 6f  , including zero
fa50: 2e 20 28 4a 4c 29 2e 0a 0a 31 31 2f 38 2f 39 35  . (JL)...11/8/95
fa60: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 69   (new feature) i
fa70: 6d 70 6c 65 6d 65 6e 74 65 64 20 27 69 6e 66 6f  mplemented 'info
fa80: 20 68 6f 73 74 6e 61 6d 65 27 20 61 6e 64 20 54   hostname' and T
fa90: 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d 65 0a 63  cl_GetHostName.c
faa0: 6f 6d 6d 61 6e 64 20 74 6f 20 67 65 74 20 68 6f  ommand to get ho
fab0: 73 74 20 6e 61 6d 65 20 6f 66 20 6d 61 63 68 69  st name of machi
fac0: 6e 65 20 6f 6e 20 77 68 69 63 68 20 74 68 65 20  ne on which the 
fad0: 54 63 6c 20 70 72 6f 63 65 73 73 20 69 73 20 72  Tcl process is r
fae0: 75 6e 6e 69 6e 67 2e 20 28 4a 4c 29 0a 0a 31 31  unning. (JL)..11
faf0: 2f 39 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75  /9/95 (new featu
fb00: 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20  re) Implemented 
fb10: 66 69 6c 65 20 41 50 49 73 20 66 6f 72 20 61 63  file APIs for ac
fb20: 63 65 73 73 20 74 6f 20 6c 6f 77 20 6c 65 76 65  cess to low leve
fb30: 6c 20 66 69 6c 65 73 0a 6f 6e 20 65 61 63 68 20  l files.on each 
fb40: 73 79 73 74 65 6d 2e 20 54 68 65 20 41 50 49 73  system. The APIs
fb50: 20 61 72 65 3a 20 54 63 6c 5f 43 6c 6f 73 65 46   are: Tcl_CloseF
fb60: 69 6c 65 2c 20 54 63 6c 5f 4f 70 65 6e 46 69 6c  ile, Tcl_OpenFil
fb70: 65 2c 20 54 63 6c 5f 52 65 61 64 46 69 6c 65 2c  e, Tcl_ReadFile,
fb80: 0a 54 63 6c 5f 57 72 69 74 65 46 69 6c 65 20 61  .Tcl_WriteFile a
fb90: 6e 64 20 54 63 6c 5f 53 65 65 6b 46 69 6c 65 2e  nd Tcl_SeekFile.
fba0: 20 41 6c 73 6f 20 69 6d 70 6c 65 6d 65 6e 74 65   Also implemente
fbb0: 64 20 54 63 6c 5f 57 61 69 74 50 69 64 20 77 68  d Tcl_WaitPid wh
fbc0: 69 63 68 20 77 61 69 74 73 0a 69 6e 20 61 20 73  ich waits.in a s
fbd0: 79 73 74 65 6d 20 64 65 70 65 6e 64 65 6e 74 20  ystem dependent 
fbe0: 6d 61 6e 6e 65 72 20 66 6f 72 20 61 20 63 68 69  manner for a chi
fbf0: 6c 64 20 70 72 6f 63 65 73 73 2e 20 28 4a 4c 29  ld process. (JL)
fc00: 0a 0a 31 31 2f 39 2f 39 35 20 28 6e 65 77 20 66  ..11/9/95 (new f
fc10: 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63  eature) Added Tc
fc20: 6c 5f 55 70 64 61 74 65 4c 69 6e 6b 65 64 56 61  l_UpdateLinkedVa
fc30: 72 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 66  r procedure to f
fc40: 6f 72 63 65 20 61 0a 54 63 6c 20 76 61 72 69 61  orce a.Tcl varia
fc50: 62 6c 65 20 74 6f 20 62 65 20 75 70 64 61 74 65  ble to be update
fc60: 64 20 61 66 74 65 72 20 69 74 73 20 43 20 76 61  d after its C va
fc70: 72 69 61 62 6c 65 20 63 68 61 6e 67 65 73 2e 20  riable changes. 
fc80: 28 4a 4f 29 0a 0a 31 31 2f 39 2f 39 35 20 28 62  (JO)..11/9/95 (b
fc90: 75 67 20 66 69 78 29 20 54 68 65 20 67 6c 6f 62  ug fix) The glob
fca0: 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 62 65 65   command has bee
fcb0: 6e 20 74 6f 74 61 6c 6c 79 20 72 65 69 6d 70 6c  n totally reimpl
fcc0: 65 6d 65 6e 74 65 64 20 73 6f 0a 74 68 61 74 20  emented so.that 
fcd0: 69 74 20 63 61 6e 20 73 75 70 70 6f 72 74 20 64  it can support d
fce0: 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 6e 61  ifferent file na
fcf0: 6d 65 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 20  me conventions. 
fd00: 20 49 74 20 6e 6f 77 20 68 61 6e 64 6c 65 73 0a   It now handles.
fd10: 57 69 6e 64 6f 77 73 20 66 69 6c 65 20 6e 61 6d  Windows file nam
fd20: 65 73 20 28 62 6f 74 68 20 55 4e 43 20 61 6e 64  es (both UNC and
fd30: 20 64 72 69 76 65 2d 72 65 6c 61 74 69 76 65 29   drive-relative)
fd40: 20 70 72 6f 70 65 72 6c 79 2e 20 20 49 74 20 61   properly.  It a
fd50: 6c 73 6f 0a 73 75 70 70 6f 72 74 73 20 6e 65 73  lso.supports nes
fd60: 74 65 64 20 62 72 61 63 65 73 20 63 6f 72 72 65  ted braces corre
fd70: 63 74 6c 79 20 6e 6f 77 2e 20 28 53 53 29 0a 0a  ctly now. (SS)..
fd80: 31 31 2f 31 33 2f 39 35 20 28 62 75 67 20 66 69  11/13/95 (bug fi
fd90: 78 29 20 46 69 78 65 64 20 4d 61 6b 65 66 69 6c  x) Fixed Makefil
fda0: 65 2e 69 6e 20 73 6f 20 74 68 61 74 20 63 6f 6e  e.in so that con
fdb0: 66 69 67 75 72 65 20 63 61 6e 20 62 65 20 72 75  figure can be ru
fdc0: 6e 0a 66 72 6f 6d 20 61 20 63 6c 65 61 6e 20 64  n.from a clean d
fdd0: 69 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 74  irectory separat
fde0: 65 20 66 72 6f 6d 20 74 68 65 20 54 63 6c 20 73  e from the Tcl s
fdf0: 6f 75 72 63 65 20 74 72 65 65 2c 20 61 6e 64 20  ource tree, and 
fe00: 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 0a 63 61 6e  compilations.can
fe10: 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 74 68   be performed th
fe20: 65 72 65 2e 20 28 4a 4f 29 0a 0a 31 31 2f 31 34  ere. (JO)..11/14
fe30: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46 69  /95 (bug fix) Fi
fe40: 78 65 64 20 66 69 6c 65 20 73 68 61 72 69 6e 67  xed file sharing
fe50: 20 62 65 74 77 65 65 6e 20 69 6e 74 65 72 70 72   between interpr
fe60: 65 74 65 72 73 20 61 6e 64 20 66 69 6c 65 0a 74  eters and file.t
fe70: 72 61 6e 73 66 65 72 72 69 6e 67 20 62 65 74 77  ransferring betw
fe80: 65 65 6e 20 69 6e 74 65 72 70 72 65 74 65 72 73  een interpreters
fe90: 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 6d 61   to correctly ma
fea0: 6e 61 67 65 20 74 68 65 20 72 65 66 63 6f 75 6e  nage the refcoun
feb0: 74 20 73 6f 20 74 68 61 74 0a 66 69 6c 65 73 20  t so that.files 
fec0: 61 72 65 20 63 6c 6f 73 65 64 20 77 68 65 6e 20  are closed when 
fed0: 74 68 65 20 6c 61 73 74 20 72 65 66 65 72 65 6e  the last referen
fee0: 63 65 20 74 6f 20 74 68 65 6d 20 69 73 20 64 69  ce to them is di
fef0: 73 63 61 72 64 65 64 2e 20 28 4a 4c 29 0a 0a 31  scarded. (JL)..1
ff00: 31 2f 31 34 2f 39 35 20 28 62 75 67 20 66 69 78  1/14/95 (bug fix
ff10: 29 20 46 69 78 65 64 20 67 65 74 74 69 6d 65 6f  ) Fixed gettimeo
ff20: 66 64 61 79 20 69 6d 70 6c 65 6d 65 6e 74 61 74  fday implementat
ff30: 69 6f 6e 20 66 6f 72 20 74 68 65 0a 4d 61 63 69  ion for the.Maci
ff40: 6e 74 6f 73 68 2e 20 20 54 68 69 73 20 66 69 78  ntosh.  This fix
ff50: 65 73 20 73 65 76 65 72 61 6c 20 74 69 6d 69 6e  es several timin
ff60: 67 20 72 65 6c 61 74 65 64 20 62 75 67 73 2e 20  g related bugs. 
ff70: 28 52 4a 29 0a 0a 31 31 2f 31 37 2f 39 35 20 28  (RJ)..11/17/95 (
ff80: 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
ff90: 65 64 20 6d 69 73 73 69 6e 67 20 73 75 70 70 6f  ed missing suppo
ffa0: 72 74 20 66 6f 72 20 69 6e 66 6f 20 6e 61 6d 65  rt for info name
ffb0: 6f 66 65 78 65 63 75 74 61 62 6c 65 0a 6f 6e 20  ofexecutable.on 
ffc0: 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 2e 20 28  the Macintosh. (
ffd0: 52 4a 29 0a 0a 31 31 2f 31 37 2f 39 35 20 28 62  RJ)..11/17/95 (b
ffe0: 75 67 20 66 69 78 29 20 54 68 65 20 54 63 6c 20  ug fix) The Tcl 
fff0: 76 61 72 69 61 62 6c 65 73 20 61 72 67 63 20 61  variables argc a
10000 72 67 76 20 61 6e 64 20 61 72 67 76 30 20 6e 6f  rgv and argv0 no
10010 77 20 72 65 74 75 72 6e 0a 73 6f 6d 65 74 68 69  w return.somethi
10020 6e 67 20 72 65 61 73 6f 6e 61 62 6c 65 20 6f 6e  ng reasonable on
10030 20 74 68 65 20 4d 61 63 2e 20 20 28 52 4a 29 0a   the Mac.  (RJ).
10040 0a 31 31 2f 32 32 2f 39 35 20 28 6e 65 77 20 66  .11/22/95 (new f
10050 65 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e  eature) Implemen
10060 74 65 64 20 22 61 75 74 6f 2d 64 65 74 65 63 74  ted "auto-detect
10070 22 20 6d 6f 64 65 20 66 6f 72 20 65 6e 64 20 6f  " mode for end o
10080 66 20 6c 69 6e 65 0a 74 72 61 6e 73 6c 61 74 69  f line.translati
10090 6f 6e 73 2e 20 4f 6e 20 69 6e 70 75 74 2c 20 73  ons. On input, s
100a0 74 61 6e 64 61 6c 6f 6e 65 20 22 5c 72 22 20 6d  tandalone "\r" m
100b0 65 61 6e 20 4d 41 43 20 6d 6f 64 65 2c 20 73 74  ean MAC mode, st
100c0 61 6e 64 61 6c 6f 6e 65 20 22 5c 6e 22 0a 6d 65  andalone "\n".me
100d0 61 6e 20 55 6e 69 78 20 6d 6f 64 65 20 61 6e 64  an Unix mode and
100e0 20 22 5c 72 5c 6e 22 20 6d 65 61 6e 73 20 57 69   "\r\n" means Wi
100f0 6e 64 6f 77 73 20 6d 6f 64 65 2e 20 4f 6e 20 6f  ndows mode. On o
10100 75 74 70 75 74 2c 20 74 68 65 20 6d 6f 64 65 20  utput, the mode 
10110 69 73 0a 6d 6f 64 69 66 69 65 64 20 74 6f 20 77  is.modified to w
10120 68 61 74 65 76 65 72 20 74 68 65 20 70 6c 61 74  hatever the plat
10130 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20 6d 6f  form specific mo
10140 64 65 20 66 6f 72 20 74 68 61 74 20 70 6c 61 74  de for that plat
10150 66 6f 72 6d 20 69 73 2e 20 28 4a 4c 29 0a 0a 31  form is. (JL)..1
10160 31 2f 32 34 2f 39 35 20 28 66 65 61 74 75 72 65  1/24/95 (feature
10170 20 63 68 61 6e 67 65 29 20 52 65 70 6c 61 63 65   change) Replace
10180 64 20 22 63 6f 6e 66 69 67 49 6e 66 6f 22 20 66  d "configInfo" f
10190 69 6c 65 20 77 69 74 68 20 74 63 6c 43 6f 6e 66  ile with tclConf
101a0 69 67 2e 73 68 2c 0a 77 68 69 63 68 20 69 73 20  ig.sh,.which is 
101b0 6d 6f 72 65 20 63 6f 6d 70 6c 65 74 65 20 61 6e  more complete an
101c0 64 20 75 73 65 73 20 73 6c 69 67 68 74 6c 79 20  d uses slightly 
101d0 64 69 66 66 65 72 65 6e 74 20 6e 61 6d 65 73 2e  different names.
101e0 20 20 41 6c 73 6f 0a 61 72 72 61 6e 67 65 64 20    Also.arranged 
101f0 66 6f 72 20 74 63 6c 43 6f 6e 66 69 67 2e 73 68  for tclConfig.sh
10200 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64   to be installed
10210 20 69 6e 20 74 68 65 20 70 6c 61 74 66 6f 72 6d   in the platform
10220 2d 73 70 65 63 69 66 69 63 0a 6c 69 62 72 61 72  -specific.librar
10230 79 20 64 69 72 65 63 74 6f 72 79 20 69 6e 73 74  y directory inst
10240 65 61 64 20 6f 66 20 54 63 6c 27 73 20 73 63 72  ead of Tcl's scr
10250 69 70 74 20 6c 69 62 72 61 72 79 20 64 69 72 65  ipt library dire
10260 63 74 6f 72 79 2e 20 28 4a 4f 29 0a 2a 2a 2a 20  ctory. (JO).*** 
10270 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
10280 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
10290 63 6c 20 37 2e 35 61 32 2c 20 62 75 74 20 6e 6f  cl 7.5a2, but no
102a0 74 20 77 69 74 68 20 54 63 6c 20 37 2e 34 20 2a  t with Tcl 7.4 *
102b0 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  **..------------
102c0 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 70  ----- Released p
102d0 61 74 63 68 20 37 2e 34 70 33 2c 20 31 31 2f 32  atch 7.4p3, 11/2
102e0 38 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  8/95 -----------
102f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 32  ------------..12
10300 2f 35 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75  /5/95 (new featu
10310 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 46 69  re) Added Tcl_Fi
10320 6c 65 20 66 61 63 69 6c 69 74 79 20 74 6f 20 73  le facility to s
10330 75 70 70 6f 72 74 20 70 6c 61 74 66 6f 72 6d 2d  upport platform-
10340 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20 66 69 6c  .independent fil
10350 65 20 68 61 6e 64 6c 65 73 2e 20 20 43 68 61 6e  e handles.  Chan
10360 67 65 64 20 61 6c 6c 20 69 6e 74 65 72 66 61 63  ged all interfac
10370 65 73 20 74 68 61 74 20 75 73 65 64 20 55 6e 69  es that used Uni
10380 78 2d 0a 73 74 79 6c 65 20 69 6e 74 65 67 65 72  x-.style integer
10390 20 66 64 27 73 20 74 6f 20 75 73 65 20 54 63 6c   fd's to use Tcl
103a0 5f 46 69 6c 65 27 73 20 69 6e 73 74 65 61 64 2e  _File's instead.
103b0 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (SS).*** POTENT
103c0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
103d0 49 54 59 20 2a 2a 2a 0a 0a 31 32 2f 35 2f 39 35  ITY ***..12/5/95
103e0 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
103f0 64 64 65 64 20 61 20 6e 65 77 20 22 63 6c 6f 63  dded a new "cloc
10400 6b 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 54 63  k" command to Tc
10410 6c 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 0a  l.  The command.
10420 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 67 65  allows you to ge
10430 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 22 63  t the current "c
10440 6c 69 63 6b 73 22 20 6f 72 20 73 65 63 6f 6e 64  licks" or second
10450 73 20 26 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74  s & allows you t
10460 6f 0a 66 6f 72 6d 61 74 20 6f 72 20 73 63 61 6e  o.format or scan
10470 20 68 75 6d 61 6e 20 72 65 61 64 61 62 6c 65 20   human readable 
10480 74 69 6d 65 2f 64 61 74 65 20 73 74 72 69 6e 67  time/date string
10490 73 2e 20 28 52 4a 29 0a 0a 31 32 2f 31 38 2f 39  s. (RJ)..12/18/9
104a0 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
104b0 4d 6f 76 65 64 20 54 6b 5f 50 72 65 73 65 72 76  Moved Tk_Preserv
104c0 65 2c 20 54 6b 5f 52 65 6c 65 61 73 65 2c 20 61  e, Tk_Release, a
104d0 6e 64 20 54 6b 5f 45 76 65 6e 74 75 61 6c 6c 79  nd Tk_Eventually
104e0 46 72 65 65 0a 74 6f 20 54 63 6c 2c 20 72 65 6e  Free.to Tcl, ren
104f0 61 6d 65 64 20 74 6f 20 54 63 6c 5f 50 72 65 73  amed to Tcl_Pres
10500 65 72 76 65 2c 20 54 63 6c 5f 52 65 6c 65 61 73  erve, Tcl_Releas
10510 65 2c 20 61 6e 64 20 54 63 6c 5f 45 76 65 6e 74  e, and Tcl_Event
10520 75 61 6c 6c 79 46 72 65 65 2e 20 28 4a 4f 29 0a  uallyFree. (JO).
10530 0a 31 32 2f 31 38 2f 39 35 20 28 6e 65 77 20 66  .12/18/95 (new f
10540 65 61 74 75 72 65 29 20 41 64 64 65 64 20 6e 65  eature) Added ne
10550 77 20 22 70 61 63 6b 61 67 65 22 20 63 6f 6d 6d  w "package" comm
10560 61 6e 64 20 61 6e 64 20 61 73 73 6f 63 69 61 74  and and associat
10570 65 64 0a 70 72 6f 63 65 64 75 72 65 73 20 54 63  ed.procedures Tc
10580 6c 5f 50 6b 67 52 65 71 75 69 72 65 20 61 6e 64  l_PkgRequire and
10590 20 54 63 6c 5f 50 6b 67 50 72 6f 76 69 64 65 2e   Tcl_PkgProvide.
105a0 20 20 20 41 6c 73 6f 20 77 72 6f 74 65 0a 70 6b     Also wrote.pk
105b0 67 5f 6d 6b 49 6e 64 65 78 20 6c 69 62 72 61 72  g_mkIndex librar
105c0 79 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 63  y procedure to c
105d0 72 65 61 74 65 20 69 6e 64 65 78 20 66 69 6c 65  reate index file
105e0 73 20 66 72 6f 6d 20 62 69 6e 61 72 69 65 73 0a  s from binaries.
105f0 61 6e 64 20 73 63 72 69 70 74 73 2e 20 28 4a 4f  and scripts. (JO
10600 29 0a 0a 31 32 2f 32 30 2f 39 35 20 28 6e 65 77  )..12/20/95 (new
10610 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
10620 54 63 6c 5f 57 61 69 74 46 6f 72 46 69 6c 65 20  Tcl_WaitForFile 
10630 70 72 6f 63 65 64 75 72 65 2e 20 28 4a 4f 29 0a  procedure. (JO).
10640 0a 31 32 2f 32 31 2f 39 35 20 28 6e 65 77 20 66  .12/21/95 (new f
10650 65 61 74 75 72 65 73 29 20 4d 61 64 65 20 70 61  eatures) Made pa
10660 63 6b 61 67 65 20 6e 61 6d 65 20 61 72 67 75 6d  ckage name argum
10670 65 6e 74 20 74 6f 20 22 6c 6f 61 64 22 20 6f 70  ent to "load" op
10680 74 69 6f 6e 61 6c 0a 28 54 63 6c 20 77 69 6c 6c  tional.(Tcl will
10690 20 6e 6f 77 20 61 74 74 65 6d 70 74 20 74 6f 20   now attempt to 
106a0 67 75 65 73 73 20 74 68 65 20 70 61 63 6b 61 67  guess the packag
106b0 65 20 6e 61 6d 65 20 69 66 20 6e 65 63 65 73 73  e name if necess
106c0 61 72 79 29 2e 20 20 41 6c 73 6f 0a 61 64 64 65  ary).  Also.adde
106d0 64 20 54 63 6c 5f 53 74 61 74 69 63 50 61 63 6b  d Tcl_StaticPack
106e0 61 67 65 20 61 6e 64 20 73 75 70 70 6f 72 74 20  age and support 
106f0 69 6e 20 22 6c 6f 61 64 22 20 66 6f 72 20 73 74  in "load" for st
10700 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 0a  atically linked.
10710 70 61 63 6b 61 67 65 73 2e 20 20 28 4a 4f 29 0a  packages.  (JO).
10720 0a 31 32 2f 32 32 2f 39 35 20 28 6e 65 77 20 66  .12/22/95 (new f
10730 65 61 74 75 72 65 29 20 55 70 67 72 61 64 65 64  eature) Upgraded
10740 20 74 68 65 20 66 6f 72 65 61 63 68 20 63 6f 6d   the foreach com
10750 6d 61 6e 64 20 74 6f 20 61 63 63 65 70 74 20 6d  mand to accept m
10760 75 6c 74 69 70 6c 65 0a 6c 6f 6f 70 20 76 61 72  ultiple.loop var
10770 69 61 62 6c 65 73 20 61 6e 64 20 6d 75 6c 74 69  iables and multi
10780 70 6c 65 20 76 61 6c 75 65 20 6c 69 73 74 73 2e  ple value lists.
10790 20 20 54 68 69 73 20 6c 65 74 73 20 79 6f 75 20    This lets you 
107a0 69 74 65 72 61 74 65 20 6f 76 65 72 0a 6d 75 6c  iterate over.mul
107b0 74 69 70 6c 65 20 6c 69 73 74 73 20 69 6e 20 70  tiple lists in p
107c0 61 72 61 6c 6c 65 6c 2c 20 61 6e 64 2f 6f 72 20  arallel, and/or 
107d0 61 73 73 69 67 6e 20 6d 75 6c 74 69 70 6c 65 20  assign multiple 
107e0 6c 6f 6f 70 20 76 61 72 69 61 62 6c 65 73 20 66  loop variables f
107f0 72 6f 6d 0a 6f 6e 65 20 76 61 6c 75 65 20 6c 69  rom.one value li
10800 73 74 20 64 75 72 69 6e 67 20 65 61 63 68 20 69  st during each i
10810 74 65 72 61 74 69 6f 6e 2e 20 54 68 65 20 6f 6e  teration. The on
10820 6c 79 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f 6d  ly potential com
10830 70 61 74 69 62 69 6c 69 74 79 0a 70 72 6f 62 6c  patibility.probl
10840 65 6d 20 69 73 20 77 69 74 68 20 73 63 72 69 70  em is with scrip
10850 74 73 20 74 68 61 74 20 75 73 65 64 20 6c 6f 6f  ts that used loo
10860 70 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68  p variables with
10870 20 61 20 6e 61 6d 65 20 74 68 61 74 20 63 6f 75   a name that cou
10880 6c 64 20 62 65 0a 63 6f 6e 73 74 72 75 65 64 20  ld be.construed 
10890 74 6f 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20  to be a list of 
108a0 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 20 28  variable names (
108b0 69 2e 65 2e 20 63 6f 6e 74 61 69 6e 65 64 20 73  i.e. contained s
108c0 70 61 63 65 73 29 2e 20 20 28 42 57 29 0a 0a 31  paces).  (BW)..1
108d0 2f 35 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  /5/96 (new featu
108e0 72 65 29 20 43 68 61 6e 67 65 64 20 74 63 6c 73  re) Changed tcls
108f0 68 20 73 6f 20 69 74 20 62 75 69 6c 64 73 20 61  h so it builds a
10900 73 20 61 20 63 6f 6e 73 6f 6c 65 20 6d 6f 64 65  s a console mode
10910 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20 75 6e 64  .application und
10920 65 72 20 57 69 6e 64 6f 77 73 2e 20 20 4e 6f 77  er Windows.  Now
10930 20 74 63 6c 73 68 20 63 61 6e 20 62 65 20 75 73   tclsh can be us
10940 65 64 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 6d  ed from the comm
10950 61 6e 64 0a 6c 69 6e 65 20 77 69 74 68 20 70 69  and.line with pi
10960 70 65 73 20 6f 72 20 69 6e 74 65 72 61 63 74 69  pes or interacti
10970 76 65 6c 79 2e 20 20 4e 6f 74 65 20 74 68 61 74  vely.  Note that
10980 20 74 68 69 73 20 6f 6e 6c 79 20 77 6f 72 6b 73   this only works
10990 20 75 6e 64 65 72 0a 57 69 6e 64 6f 77 73 20 39   under.Windows 9
109a0 35 20 6f 72 20 4e 54 2e 20 28 53 53 29 0a 0a 31  5 or NT. (SS)..1
109b0 2f 31 37 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /17/96 (new feat
109c0 75 72 65 29 20 4d 6f 64 69 66 69 65 64 20 4d 61  ure) Modified Ma
109d0 6b 65 66 69 6c 65 20 61 6e 64 20 63 6f 6e 66 69  kefile and confi
109e0 67 75 72 65 20 73 63 72 69 70 74 20 74 6f 20 61  gure script to a
109f0 6c 6c 6f 77 0a 54 63 6c 20 74 6f 20 62 65 20 63  llow.Tcl to be c
10a00 6f 6d 70 69 6c 65 64 20 61 73 20 61 20 73 68 61  ompiled as a sha
10a10 72 65 64 20 6c 69 62 72 61 72 79 3a 20 20 75 73  red library:  us
10a20 65 20 74 68 65 20 2d 2d 65 6e 61 62 6c 65 2d 73  e the --enable-s
10a30 68 61 72 65 64 20 6f 70 74 69 6f 6e 0a 77 68 65  hared option.whe
10a40 6e 20 63 6f 6e 66 69 67 75 69 6e 67 2e 20 20 28  n configuing.  (
10a50 4a 4f 29 0a 0a 31 2f 31 37 2f 39 36 20 28 72 65  JO)..1/17/96 (re
10a60 6d 6f 76 65 64 20 6f 62 73 6f 6c 65 74 65 20 66  moved obsolete f
10a70 65 61 74 75 72 65 73 29 20 20 52 65 6d 6f 76 65  eatures)  Remove
10a80 64 20 74 68 65 20 70 72 6f 63 65 64 75 72 65 73  d the procedures
10a90 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65 0a 61   Tcl_EnterFile.a
10aa0 6e 64 20 54 63 6c 5f 47 65 74 4f 70 65 6e 46 69  nd Tcl_GetOpenFi
10ab0 6c 65 3a 20 20 74 68 65 73 65 20 6e 6f 20 6c 6f  le:  these no lo
10ac0 6e 67 65 72 20 6d 61 6b 65 20 73 65 6e 73 65 20  nger make sense 
10ad0 77 69 74 68 20 74 68 65 20 6e 65 77 20 49 2f 4f  with the new I/O
10ae0 20 73 79 73 74 65 6d 2e 20 28 4a 4c 29 0a 2a 2a   system. (JL).**
10af0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
10b00 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
10b10 0a 31 2f 31 39 2f 39 36 20 28 62 75 67 20 66 69  .1/19/96 (bug fi
10b20 78 65 73 29 20 50 72 65 76 65 6e 74 65 64 20 66  xes) Prevented f
10b30 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 63 69 72 63  ormation of circ
10b40 75 6c 61 72 20 61 6c 69 61 73 65 73 2c 20 74 68  ular aliases, th
10b50 72 6f 75 67 68 20 74 68 65 0a 54 63 6c 20 27 69  rough the.Tcl 'i
10b60 6e 74 65 72 70 20 61 6c 69 61 73 27 20 63 6f 6d  nterp alias' com
10b70 6d 61 6e 64 20 61 6e 64 20 74 68 72 6f 75 67 68  mand and through
10b80 20 74 68 65 20 27 72 65 6e 61 6d 65 27 20 63 6f   the 'rename' co
10b90 6d 6d 61 6e 64 2c 20 61 73 20 77 65 6c 6c 20 61  mmand, as well a
10ba0 73 0a 74 68 72 6f 75 67 68 20 74 68 65 20 43 20  s.through the C 
10bb0 41 50 49 20 54 63 6c 5f 43 72 65 61 74 65 41 6c  API Tcl_CreateAl
10bc0 69 61 73 2e 20 28 4a 4c 29 0a 0a 31 2f 31 39 2f  ias. (JL)..1/19/
10bd0 39 36 20 28 62 75 67 20 66 69 78 65 73 29 20 46  96 (bug fixes) F
10be0 69 78 65 64 20 73 65 76 65 72 61 6c 20 62 75 67  ixed several bug
10bf0 73 20 69 6e 20 64 69 72 65 63 74 20 64 65 6c 65  s in direct dele
10c00 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72 70 72 65  tion of interpre
10c10 74 65 72 73 0a 77 69 74 68 20 54 63 6c 5f 44 65  ters.with Tcl_De
10c20 6c 65 74 65 49 6e 74 65 72 70 20 77 68 65 6e 20  leteInterp when 
10c30 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 20  the interpreter 
10c40 69 73 20 61 20 73 6c 61 76 65 3b 20 66 69 78 65  is a slave; fixe
10c50 73 20 62 61 73 65 64 20 6f 6e 20 61 0a 70 61 74  s based on a.pat
10c60 63 68 20 72 65 63 65 69 76 65 64 20 66 72 6f 6d  ch received from
10c70 20 56 69 6b 74 6f 72 20 44 75 6b 68 6f 76 6e 69   Viktor Dukhovni
10c80 20 6f 66 20 45 53 4d 2e 20 28 4a 4c 29 0a 0a 31   of ESM. (JL)..1
10c90 2f 31 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /19/96 (new feat
10ca0 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64  ure) Implemented
10cb0 20 6f 6e 2d 63 6c 6f 73 65 20 68 61 6e 64 6c 65   on-close handle
10cc0 72 73 20 66 6f 72 20 63 68 61 6e 6e 65 6c 73 3b  rs for channels;
10cd0 20 61 64 64 65 64 0a 74 68 65 20 43 20 41 50 49   added.the C API
10ce0 73 20 54 63 6c 5f 43 72 65 61 74 65 43 6c 6f 73  s Tcl_CreateClos
10cf0 65 48 61 6e 64 6c 65 72 20 61 6e 64 20 54 63 6c  eHandler and Tcl
10d00 5f 44 65 6c 65 74 65 43 6c 6f 73 65 48 61 6e 64  _DeleteCloseHand
10d10 6c 65 72 2e 20 28 4a 4c 29 0a 0a 31 2f 31 39 2f  ler. (JL)..1/19/
10d20 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
10d30 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 70 6f 72   Implemented por
10d40 74 61 62 6c 65 20 65 72 72 6f 72 20 72 65 70 6f  table error repo
10d50 72 74 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d 3b  rting mechanism;
10d60 20 61 64 64 65 64 0a 74 68 65 20 43 20 41 50 49   added.the C API
10d70 73 20 54 63 6c 5f 53 65 74 45 72 72 6e 6f 20 61  s Tcl_SetErrno a
10d80 6e 64 20 54 63 6c 5f 47 65 74 45 72 72 6e 6f 2e  nd Tcl_GetErrno.
10d90 20 28 4a 4c 29 0a 0a 31 2f 32 34 2f 39 36 20 28   (JL)..1/24/96 (
10da0 62 75 67 20 66 69 78 29 20 55 6e 6b 6e 6f 77 6e  bug fix) Unknown
10db0 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65 73 73   command process
10dc0 69 6e 67 20 70 72 6f 70 65 72 6c 79 20 69 6e 76  ing properly inv
10dd0 6f 6b 65 73 20 65 78 74 65 72 6e 61 6c 0a 63 6f  okes external.co
10de0 6d 6d 61 6e 64 73 20 75 6e 64 65 72 20 57 69 6e  mmands under Win
10df0 64 6f 77 73 20 4e 54 20 61 6e 64 20 57 69 6e 64  dows NT and Wind
10e00 6f 77 73 20 27 39 35 20 6e 6f 77 2e 20 28 53 53  ows '95 now. (SS
10e10 29 0a 0a 31 2f 32 33 2f 39 36 20 28 62 75 67 20  )..1/23/96 (bug 
10e20 66 69 78 29 20 45 6c 69 6d 69 6e 61 74 65 64 20  fix) Eliminated 
10e30 65 78 74 72 65 6d 65 6c 79 20 6c 6f 6e 67 20 73  extremely long s
10e40 74 61 72 74 75 70 20 74 69 6d 65 73 20 75 6e 64  tartup times und
10e50 65 72 20 57 69 6e 64 6f 77 73 20 27 39 35 2e 0a  er Windows '95..
10e60 54 68 65 20 70 72 6f 62 6c 65 6d 20 77 61 73 20  The problem was 
10e70 61 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20  a result of the 
10e80 6f 70 74 69 6f 6e 20 64 61 74 61 62 61 73 65 20  option database 
10e90 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63  initialization c
10ea0 6f 64 65 20 74 68 61 74 0a 63 6f 6e 63 61 74 65  ode that.concate
10eb0 6e 61 74 65 64 20 24 48 4f 4d 45 20 77 69 74 68  nated $HOME with
10ec0 20 2f 2e 58 64 65 66 61 75 6c 74 73 2c 20 72 65   /.Xdefaults, re
10ed0 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 2f 2f 20  sulting in a // 
10ee0 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66  in the middle of
10ef0 20 74 68 65 0a 66 69 6c 65 20 6e 61 6d 65 2e 20   the.file name. 
10f00 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 27   Under Windows '
10f10 39 35 2c 20 74 68 69 73 20 69 73 20 69 6e 63 6f  95, this is inco
10f20 72 72 65 63 74 6c 79 20 69 6e 74 65 72 70 72 65  rrectly interpre
10f30 74 65 64 20 61 73 20 61 20 55 4e 43 0a 70 61 74  ted as a UNC.pat
10f40 68 2e 20 20 54 68 65 79 20 64 65 6c 61 79 73 20  h.  They delays 
10f50 63 61 6d 65 20 66 72 6f 6d 20 74 68 65 20 6e 65  came from the ne
10f60 74 77 6f 72 6b 20 74 69 6d 65 6f 75 74 73 20 6e  twork timeouts n
10f70 65 65 64 65 64 20 74 6f 20 64 65 74 65 72 6d 69  eeded to determi
10f80 6e 65 20 74 68 61 74 0a 74 68 65 20 66 69 6c 65  ne that.the file
10f90 20 6e 61 6d 65 20 77 61 73 20 69 6e 76 61 6c 69   name was invali
10fa0 64 2e 20 20 54 63 6c 5f 54 72 61 6e 73 6c 61 74  d.  Tcl_Translat
10fb0 65 46 69 6c 65 4e 61 6d 65 20 6e 6f 77 20 73 75  eFileName now su
10fc0 70 70 72 65 73 73 65 73 20 64 75 70 6c 69 63 61  ppresses duplica
10fd0 74 65 0a 73 6c 61 73 68 65 73 20 74 68 61 74 20  te.slashes that 
10fe0 61 72 65 6e 27 74 20 61 74 20 74 68 65 20 62 65  aren't at the be
10ff0 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 66  ginning of the f
11000 69 6c 65 20 6e 61 6d 65 2e 20 28 53 53 29 0a 09  ile name. (SS)..
11010 09 09 09 20 20 20 20 20 0a 31 2f 32 35 2f 39 36  ...     .1/25/96
11020 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67   (bug fix) Chang
11030 65 64 20 65 78 65 63 20 61 6e 64 20 6f 70 65 6e  ed exec and open
11040 20 74 6f 20 63 72 65 61 74 65 20 63 68 69 6c 64   to create child
11050 72 65 6e 20 73 6f 20 74 68 65 79 20 61 72 65 0a  ren so they are.
11060 61 74 74 61 63 68 65 64 20 74 6f 20 74 68 65 20  attached to the 
11070 61 70 70 6c 69 63 61 74 69 6f 6e 27 73 20 63 6f  application's co
11080 6e 73 6f 6c 65 20 69 66 20 69 74 20 65 78 69 73  nsole if it exis
11090 74 73 2e 20 28 53 53 29 0a 0a 31 2f 33 31 2f 39  ts. (SS)..1/31/9
110a0 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
110b0 64 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70  d command line p
110c0 61 72 73 69 6e 67 20 74 6f 20 68 61 6e 64 6c 65  arsing to handle
110d0 20 65 6d 62 65 64 64 65 64 0a 73 70 61 63 65 73   embedded.spaces
110e0 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20   under Windows. 
110f0 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  (SS)..----------
11100 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
11110 20 37 2e 35 62 31 2c 20 32 2f 31 2f 39 36 20 2d   7.5b1, 2/1/96 -
11120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11130 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 37 2f 39 36 20 28  ------..2/7/96 (
11140 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 6f  bug fix) Fixed o
11150 66 66 20 62 79 20 6f 6e 65 20 65 72 72 6f 72 20  ff by one error 
11160 69 6e 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73  in argument pars
11170 69 6e 67 20 63 6f 64 65 20 75 6e 64 65 72 0a 57  ing code under.W
11180 69 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a 32 2f  indows. (SS)..2/
11190 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  7/96 (bug fix) F
111a0 69 78 65 64 20 62 75 67 73 20 69 6e 20 56 43 2b  ixed bugs in VC+
111b0 2b 20 6d 61 6b 65 66 69 6c 65 20 74 68 61 74 20  + makefile that 
111c0 69 6d 70 72 6f 70 65 72 6c 79 0a 69 6e 69 74 69  improperly.initi
111d0 61 6c 69 7a 65 64 20 74 68 65 20 74 63 6c 37 35  alized the tcl75
111e0 2e 64 6c 6c 2e 20 20 46 69 78 65 64 20 62 75 67  .dll.  Fixed bug
111f0 73 20 69 6e 20 42 6f 72 6c 61 6e 64 20 6d 61 6b  s in Borland mak
11200 65 66 69 6c 65 20 74 68 61 74 20 63 61 75 73 65  efile that cause
11210 64 0a 62 75 69 6c 64 20 66 61 69 6c 75 72 65 73  d.build failures
11220 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 4e   under Windows N
11230 54 2e 20 28 53 53 29 0a 0a 32 2f 39 2f 39 36 20  T. (SS)..2/9/96 
11240 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
11250 64 65 61 64 6c 6f 63 6b 20 70 72 6f 62 6c 65 6d  deadlock problem
11260 20 69 6e 20 41 55 54 4f 20 65 6e 64 20 6f 66 20   in AUTO end of 
11270 6c 69 6e 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e  line translation
11280 0a 6d 6f 64 65 20 77 68 69 63 68 20 77 6f 75 6c  .mode which woul
11290 64 20 63 61 75 73 65 20 61 20 73 6f 63 6b 65 74  d cause a socket
112a0 20 73 65 72 76 65 72 20 77 69 74 68 20 73 65 76   server with sev
112b0 65 72 61 6c 20 63 6f 6e 63 75 72 72 65 6e 74 20  eral concurrent 
112c0 63 6c 69 65 6e 74 73 0a 77 72 69 74 69 6e 67 20  clients.writing 
112d0 69 6e 20 43 52 4c 46 20 6d 6f 64 65 20 74 6f 20  in CRLF mode to 
112e0 68 61 6e 67 2e 20 28 4a 4c 29 0a 0a 32 2f 39 2f  hang. (JL)..2/9/
112f0 39 36 20 28 41 50 49 20 63 68 61 6e 67 65 29 20  96 (API change) 
11300 52 65 70 6c 61 63 65 64 20 2d 6c 69 6e 65 6d 6f  Replaced -linemo
11310 64 65 20 6f 70 74 69 6f 6e 20 74 6f 20 66 63 6f  de option to fco
11320 6e 66 69 67 75 72 65 20 77 69 74 68 20 61 0a 6e  nfigure with a.n
11330 65 77 20 2d 62 75 66 66 65 72 69 6e 67 20 6f 70  ew -buffering op
11340 74 69 6f 6e 2c 20 61 64 64 65 64 20 22 6e 6f 6e  tion, added "non
11350 65 22 20 73 65 74 74 69 6e 67 20 74 6f 20 65 6e  e" setting to en
11360 61 62 6c 65 20 69 6d 6d 65 64 69 61 74 65 20 77  able immediate w
11370 72 69 74 65 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49  rite. (JL).*** I
11380 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77  NCOMPATIBILITY w
11390 69 74 68 20 62 31 20 2a 2a 2a 0a 0a 32 2f 39 2f  ith b1 ***..2/9/
113a0 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
113b0 20 41 64 64 65 64 20 43 20 41 50 49 20 54 63 6c   Added C API Tcl
113c0 5f 49 6e 70 75 74 42 75 66 66 65 72 65 64 20 77  _InputBuffered w
113d0 68 69 63 68 20 72 65 74 75 72 6e 73 20 74 68 65  hich returns the
113e0 20 63 6f 75 6e 74 0a 6f 66 20 62 79 74 65 73 20   count.of bytes 
113f0 63 75 72 72 65 6e 74 6c 79 20 62 75 66 66 65 72  currently buffer
11400 65 64 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20  ed in the input 
11410 62 75 66 66 65 72 20 6f 66 20 61 20 63 68 61 6e  buffer of a chan
11420 6e 65 6c 2c 20 61 6e 64 20 6f 20 66 6f 72 0a 6f  nel, and o for.o
11430 75 74 70 75 74 20 6f 6e 6c 79 20 63 68 61 6e 6e  utput only chann
11440 65 6c 73 2e 20 28 4a 4c 29 0a 0a 32 2f 39 2f 39  els. (JL)..2/9/9
11450 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  6 (new feature) 
11460 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 79 6e  Implemented asyn
11470 63 68 72 6f 6e 6f 75 73 20 63 6f 6e 6e 65 63 74  chronous connect
11480 20 66 6f 72 20 73 6f 63 6b 65 74 73 2e 20 28 4a   for sockets. (J
11490 4c 29 0a 0a 32 2f 39 2f 39 36 20 28 6e 65 77 20  L)..2/9/96 (new 
114a0 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 43  feature) Added C
114b0 20 41 50 49 20 54 63 6c 5f 53 65 74 44 65 66 61   API Tcl_SetDefa
114c0 75 6c 74 54 72 61 6e 73 6c 61 74 69 6f 6e 20 74  ultTranslation t
114d0 6f 20 73 65 74 20 28 70 65 72 0a 63 68 61 6e 6e  o set (per.chann
114e0 65 6c 29 20 74 68 65 20 64 65 66 61 75 6c 74 20  el) the default 
114f0 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74 72 61 6e  end of line tran
11500 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2e 20 54 68  slation mode. Th
11510 69 73 20 69 73 20 74 68 65 20 6d 6f 64 65 20 74  is is the mode t
11520 68 61 74 0a 77 69 6c 6c 20 62 65 20 69 6e 73 74  hat.will be inst
11530 61 6c 6c 65 64 20 69 66 20 61 6e 20 6f 75 74 70  alled if an outp
11540 75 74 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20  ut operation is 
11550 64 6f 6e 65 20 6f 6e 20 74 68 65 20 63 68 61 6e  done on the chan
11560 6e 65 6c 20 77 68 69 6c 65 20 69 74 20 69 73 0a  nel while it is.
11570 73 74 69 6c 6c 20 69 6e 20 41 55 54 4f 20 6d 6f  still in AUTO mo
11580 64 65 2e 20 28 4a 4c 29 0a 0a 32 2f 39 2f 39 36  de. (JL)..2/9/96
11590 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67   (bug fix) Chang
115a0 65 64 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61  ed Tcl_OpenComma
115b0 6e 64 43 68 61 6e 6e 65 6c 20 69 6e 74 65 72 66  ndChannel interf
115c0 61 63 65 20 74 6f 20 70 72 6f 70 65 72 6c 79 0a  ace to properly.
115d0 68 61 6e 64 6c 65 20 61 6c 6c 20 6f 66 20 74 68  handle all of th
115e0 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 6f  e combinations o
115f0 66 20 73 74 64 69 6f 20 69 6e 68 65 72 69 74 61  f stdio inherita
11600 6e 63 65 20 69 6e 20 62 61 63 6b 67 72 6f 75 6e  nce in backgroun
11610 64 0a 70 69 70 65 6c 69 6e 65 73 2e 20 20 53 65  d.pipelines.  Se
11620 65 20 74 68 65 20 54 63 6c 5f 4f 70 65 6e 46 69  e the Tcl_OpenFi
11630 6c 65 43 68 61 6e 6e 65 6c 28 33 29 20 6d 61 6e  leChannel(3) man
11640 20 70 61 67 65 20 66 6f 72 20 6d 6f 72 65 0a 69   page for more.i
11650 6e 66 6f 2e 20 20 54 68 69 73 20 63 68 61 6e 67  nfo.  This chang
11660 65 20 66 69 78 65 73 20 74 68 65 20 62 75 67 20  e fixes the bug 
11670 77 68 65 72 65 20 65 78 65 63 20 6f 66 20 61 20  where exec of a 
11680 62 61 63 6b 67 72 6f 75 6e 64 20 70 69 70 65 6c  background pipel
11690 69 6e 65 0a 77 61 73 20 6e 6f 74 20 67 65 74 74  ine.was not gett
116a0 69 6e 67 20 70 61 73 73 65 64 20 74 68 65 20 73  ing passed the s
116b0 74 64 69 6f 20 68 61 6e 64 6c 65 73 20 70 72 6f  tdio handles pro
116c0 70 65 72 6c 79 2e 20 28 53 53 29 0a 0a 32 2f 39  perly. (SS)..2/9
116d0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 52 65  /96 (bug fix) Re
116e0 6d 6f 76 65 64 20 74 68 65 20 6e 65 77 20 54 63  moved the new Tc
116f0 6c 5f 43 72 65 61 74 65 50 69 70 65 6c 69 6e 65  l_CreatePipeline
11700 20 69 6e 74 65 72 66 61 63 65 2c 20 61 6e 64 0a   interface, and.
11710 72 65 73 74 6f 72 65 64 20 74 68 65 20 6f 6c 64  restored the old
11720 20 76 65 72 73 69 6f 6e 20 66 6f 72 20 55 6e 69   version for Uni
11730 78 20 70 6c 61 74 66 6f 72 6d 73 20 6f 6e 6c 79  x platforms only
11740 2e 20 20 41 6c 6c 20 6e 65 77 20 63 6f 64 65 20  .  All new code 
11750 73 68 6f 75 6c 64 0a 75 73 65 20 54 63 6c 5f 43  should.use Tcl_C
11760 72 65 61 74 65 43 6f 6d 6d 61 6e 64 43 68 61 6e  reateCommandChan
11770 6e 65 6c 20 69 6e 73 74 65 61 64 2e 20 28 53 53  nel instead. (SS
11780 29 0a 0a 32 2f 39 2f 39 36 20 28 62 75 67 20 66  )..2/9/96 (bug f
11790 69 78 29 20 43 68 61 6e 67 65 64 20 4d 61 6b 65  ix) Changed Make
117a0 66 69 6c 65 2e 69 6e 20 74 6f 20 75 73 65 20 2d  file.in to use -
117b0 4c 20 61 6e 64 20 2d 6c 74 63 6c 37 2e 35 20 66  L and -ltcl7.5 f
117c0 6f 72 20 54 63 6c 0a 6c 69 62 72 61 72 79 20 73  or Tcl.library s
117d0 6f 20 74 68 61 74 20 73 68 61 72 65 64 20 6c 69  o that shared li
117e0 62 72 61 72 69 65 73 20 61 72 65 20 6d 6f 72 65  braries are more
117f0 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 66 6f   likely to be fo
11800 75 6e 64 20 63 6f 72 72 65 63 74 6c 79 0a 6f 6e  und correctly.on
11810 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72 6d 73 2e   more platforms.
11820 20 28 4a 4f 29 0a 0a 32 2f 31 33 2f 39 36 20 28   (JO)..2/13/96 (
11830 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
11840 65 64 20 43 20 41 50 49 20 54 63 6c 5f 53 65 74  ed C API Tcl_Set
11850 4e 6f 74 69 66 69 65 72 44 61 74 61 20 61 6e 64  NotifierData and
11860 0a 54 63 6c 5f 47 65 74 4e 6f 74 69 66 69 65 72  .Tcl_GetNotifier
11870 44 61 74 61 20 74 6f 20 61 6c 6c 6f 77 20 6e 6f  Data to allow no
11880 74 69 66 69 65 72 20 61 6e 64 20 63 68 61 6e 6e  tifier and chann
11890 65 6c 20 64 72 69 76 65 72 20 77 72 69 74 65 72  el driver writer
118a0 73 20 74 6f 0a 61 73 73 6f 63 69 61 74 65 20 64  s to.associate d
118b0 61 74 61 20 77 69 74 68 20 61 20 54 63 6c 5f 46  ata with a Tcl_F
118c0 69 6c 65 2e 20 20 54 68 65 20 72 65 73 75 6c 74  ile.  The result
118d0 20 6f 66 20 74 68 69 73 20 63 68 61 6e 67 65 20   of this change 
118e0 69 73 20 74 68 61 74 0a 54 63 6c 5f 47 65 74 46  is that.Tcl_GetF
118f0 69 6c 65 49 6e 66 6f 20 6e 6f 77 20 61 6c 77 61  ileInfo now alwa
11900 79 73 20 72 65 74 75 72 6e 73 20 61 6e 20 4f 53  ys returns an OS
11910 20 66 69 6c 65 20 68 61 6e 64 6c 65 2c 20 61 6e   file handle, an
11920 64 20 54 63 6c 5f 47 65 74 46 69 6c 65 0a 63 61  d Tcl_GetFile.ca
11930 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 6f 6e  n be used to con
11940 73 74 72 75 63 74 20 61 20 54 63 6c 5f 46 69 6c  struct a Tcl_Fil
11950 65 20 66 6f 72 20 61 6e 20 65 78 74 65 72 6e 61  e for an externa
11960 6c 6c 79 20 63 6f 6e 73 74 72 75 63 74 65 64 20  lly constructed 
11970 4f 53 0a 68 61 6e 64 6c 65 2e 20 28 53 53 29 0a  OS.handle. (SS).
11980 0a 32 2f 31 33 2f 39 36 20 28 62 75 67 20 66 69  .2/13/96 (bug fi
11990 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e 64 6f  x) Changed Windo
119a0 77 73 20 73 6f 63 6b 65 74 20 69 6d 70 6c 65 6d  ws socket implem
119b0 65 6e 74 61 74 69 6f 6e 20 73 6f 20 69 74 20 64  entation so it d
119c0 6f 65 73 6e 27 74 0a 73 65 74 20 53 4f 5f 52 45  oesn't.set SO_RE
119d0 55 53 45 41 44 44 52 20 6f 6e 20 73 65 72 76 65  USEADDR on serve
119e0 72 20 73 6f 63 6b 65 74 73 2e 20 20 4e 6f 77 20  r sockets.  Now 
119f0 61 74 74 65 6d 70 74 73 20 74 6f 20 63 72 65 61  attempts to crea
11a00 74 65 20 61 20 73 65 72 76 65 72 0a 73 6f 63 6b  te a server.sock
11a10 65 74 20 6f 6e 20 61 20 70 6f 72 74 20 74 68 61  et on a port tha
11a20 74 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20  t is already in 
11a30 75 73 65 20 77 69 6c 6c 20 62 65 20 70 72 6f 70  use will be prop
11a40 65 72 6c 79 20 69 64 65 6e 74 69 66 69 65 64 0a  erly identified.
11a50 61 6e 64 20 61 6e 20 65 72 72 6f 72 20 77 69 6c  and an error wil
11a60 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 20  l be generated. 
11a70 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36 20 28 62  (SS)..2/13/96 (b
11a80 75 67 20 66 69 78 29 20 46 69 78 65 64 20 70 72  ug fix) Fixed pr
11a90 6f 62 6c 65 6d 73 20 77 69 74 68 20 44 4c 4c 20  oblems with DLL 
11aa0 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 75  initialization u
11ab0 6e 64 65 72 20 56 69 73 75 61 6c 0a 43 2b 2b 20  nder Visual.C++ 
11ac0 74 68 61 74 20 6c 65 66 74 20 74 68 65 20 43 20  that left the C 
11ad0 72 75 6e 20 74 69 6d 65 20 6c 69 62 72 61 72 79  run time library
11ae0 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 2e 20   uninitialized. 
11af0 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36 20 28 62  (SS)..2/13/96 (b
11b00 75 67 20 66 69 78 29 20 46 69 78 65 64 20 57 69  ug fix) Fixed Wi
11b10 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20 69 6e 69  ndows socket ini
11b20 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 6f 20 69  tialization so i
11b30 74 20 6c 6f 61 64 73 0a 77 69 6e 73 6f 63 6b 20  t loads.winsock 
11b40 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 69  the first time i
11b50 74 20 69 73 20 75 73 65 64 2c 20 72 61 74 68 65  t is used, rathe
11b60 72 20 74 68 61 6e 20 61 74 20 74 68 65 20 74 69  r than at the ti
11b70 6d 65 20 74 63 6c 37 35 2e 64 6c 6c 0a 69 73 20  me tcl75.dll.is 
11b80 6c 6f 61 64 65 64 2e 20 20 54 68 69 73 20 73 68  loaded.  This sh
11b90 6f 75 6c 64 20 66 69 78 20 74 68 65 20 62 75 67  ould fix the bug
11ba0 20 77 68 65 72 65 20 74 68 65 20 6d 6f 64 65 6d   where the modem
11bb0 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 73 74 61   immediately sta
11bc0 72 74 73 0a 74 72 79 69 6e 67 20 74 6f 20 63 6f  rts.trying to co
11bd0 6e 6e 65 63 74 20 74 6f 20 61 20 73 65 72 76 69  nnect to a servi
11be0 63 65 20 70 72 6f 76 69 64 65 72 20 77 68 65 6e  ce provider when
11bf0 20 77 69 73 68 20 6f 72 20 74 63 6c 73 68 20 61   wish or tclsh a
11c00 72 65 0a 73 74 61 72 74 65 64 2e 20 28 53 53 29  re.started. (SS)
11c10 0a 0a 32 2f 31 33 2f 39 36 20 28 6e 65 77 20 66  ..2/13/96 (new f
11c20 65 61 74 75 72 65 29 20 41 64 64 65 64 20 43 20  eature) Added C 
11c30 41 50 49 73 20 54 63 6c 5f 4d 61 6b 65 46 69 6c  APIs Tcl_MakeFil
11c40 65 43 68 61 6e 6e 65 6c 20 61 6e 64 0a 54 63 6c  eChannel and.Tcl
11c50 5f 4d 61 6b 65 54 63 70 43 6c 69 65 6e 74 43 68  _MakeTcpClientCh
11c60 61 6e 6e 65 6c 20 74 6f 20 77 72 61 70 20 75 70  annel to wrap up
11c70 20 65 78 69 73 74 69 6e 67 20 66 64 73 20 61 6e   existing fds an
11c80 64 20 73 6f 63 6b 65 74 73 20 69 6e 74 6f 0a 63  d sockets into.c
11c90 68 61 6e 6e 65 6c 73 2e 20 50 72 6f 76 69 64 65  hannels. Provide
11ca0 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  d implementation
11cb0 73 20 6f 6e 20 55 6e 69 78 20 61 6e 64 20 57 69  s on Unix and Wi
11cc0 6e 64 6f 77 73 2e 20 28 4a 4c 29 0a 0a 32 2f 31  ndows. (JL)..2/1
11cd0 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  3/96 (bug fix) F
11ce0 69 78 65 64 20 62 75 67 20 77 69 74 68 20 73 65  ixed bug with se
11cf0 65 6b 20 6c 65 61 76 69 6e 67 20 45 4f 46 20 61  ek leaving EOF a
11d00 6e 64 20 42 4c 4f 43 4b 49 4e 47 20 73 65 74 2e  nd BLOCKING set.
11d10 20 28 4a 4c 29 0a 0a 32 2f 31 34 2f 39 36 20 28   (JL)..2/14/96 (
11d20 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 72  bug fix) Fixed r
11d30 65 65 6e 74 72 61 6e 63 79 20 70 72 6f 62 6c 65  eentrancy proble
11d40 6d 20 69 6e 20 66 69 6c 65 65 76 65 6e 74 20 68  m in fileevent h
11d50 61 6e 64 6c 69 6e 67 0a 61 6e 64 20 6d 61 64 65  andling.and made
11d60 20 69 74 20 6d 6f 72 65 20 72 6f 62 75 73 74 20   it more robust 
11d70 69 6e 20 74 68 65 20 66 61 63 65 20 6f 66 20 65  in the face of e
11d80 72 72 6f 72 73 2e 20 28 4a 4c 29 0a 0a 32 2f 31  rrors. (JL)..2/1
11d90 34 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68  4/96 (feature ch
11da0 61 6e 67 65 29 20 4d 61 64 65 20 67 65 6e 65 72  ange) Made gener
11db0 69 63 20 49 4f 20 6c 65 76 65 6c 20 65 6d 75 6c  ic IO level emul
11dc0 61 74 65 20 62 6c 6f 63 6b 69 6e 67 20 6d 6f 64  ate blocking mod
11dd0 65 20 69 66 20 74 68 65 0a 63 68 61 6e 6e 65 6c  e if the.channel
11de0 20 64 72 69 76 65 72 20 69 73 20 75 6e 61 62 6c   driver is unabl
11df0 65 20 74 6f 20 70 72 6f 76 69 64 65 20 69 74 2c  e to provide it,
11e00 20 65 2e 67 2e 20 69 66 20 74 68 65 20 6c 6f 77   e.g. if the low
11e10 20 6c 65 76 65 6c 20 64 65 76 69 63 65 20 69 73   level device is
11e20 0a 61 6c 77 61 79 73 20 6e 6f 6e 62 6c 6f 63 6b  .always nonblock
11e30 69 6e 67 2e 20 54 68 75 73 2c 20 6e 6f 77 20 62  ing. Thus, now b
11e40 6c 6f 63 6b 69 6e 67 20 62 65 68 61 76 69 6f 72  locking behavior
11e50 20 69 73 20 61 6e 20 61 64 76 69 73 6f 72 79 20   is an advisory 
11e60 73 65 74 74 69 6e 67 20 66 6f 72 0a 63 68 61 6e  setting for.chan
11e70 6e 65 6c 20 64 72 69 76 65 72 73 20 61 6e 64 20  nel drivers and 
11e80 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 20 73  can be ignored s
11e90 61 66 65 6c 79 20 69 66 20 74 68 65 20 63 68 61  afely if the cha
11ea0 6e 6e 65 6c 20 64 72 69 76 65 72 20 69 73 20 75  nnel driver is u
11eb0 6e 61 62 6c 65 0a 74 6f 20 70 72 6f 76 69 64 65  nable.to provide
11ec0 20 69 74 2e 20 28 4a 4c 29 0a 0a 32 2f 31 35 2f   it. (JL)..2/15/
11ed0 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
11ee0 20 41 64 64 65 64 20 22 62 69 6e 61 72 79 22 20   Added "binary" 
11ef0 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74 72 61 6e  end of line tran
11f00 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2c 20 77 68  slation mode, wh
11f10 69 63 68 20 69 73 0a 61 20 73 79 6e 6f 6e 79 6d  ich is.a synonym
11f20 20 6f 66 20 22 6c 66 22 20 6d 6f 64 65 2e 20 28   of "lf" mode. (
11f30 4a 4c 29 0a 0a 32 2f 31 35 2f 39 36 20 28 62 75  JL)..2/15/96 (bu
11f40 67 20 66 69 78 29 20 46 69 78 65 64 20 72 65 65  g fix) Fixed ree
11f50 6e 74 72 61 6e 63 79 20 70 72 6f 62 6c 65 6d 20  ntrancy problem 
11f60 69 6e 20 66 69 6c 65 65 76 65 6e 74 20 68 61 6e  in fileevent han
11f70 64 6c 69 6e 67 20 76 73 0a 64 65 6c 65 74 69 6f  dling vs.deletio
11f80 6e 20 6f 66 20 63 68 61 6e 6e 65 6c 20 65 76 65  n of channel eve
11f90 6e 74 20 68 61 6e 64 6c 65 72 73 2e 20 28 4a 4c  nt handlers. (JL
11fa0 29 0a 0a 32 2f 31 35 2f 39 36 20 28 62 75 67 20  )..2/15/96 (bug 
11fb0 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69  fix) Fixed bug i
11fc0 6e 20 65 76 65 6e 74 20 68 61 6e 64 6c 69 6e 67  n event handling
11fd0 20 77 68 69 63 68 20 77 6f 75 6c 64 20 63 61 75   which would cau
11fe0 73 65 20 61 0a 6e 6f 6e 62 6c 6f 63 6b 69 6e 67  se a.nonblocking
11ff0 20 63 68 61 6e 6e 65 6c 20 74 6f 20 6e 6f 74 20   channel to not 
12000 73 65 65 20 66 75 72 74 68 65 72 20 72 65 61 64  see further read
12010 61 62 6c 65 20 65 76 65 6e 74 73 20 61 66 74 65  able events afte
12020 72 20 74 68 65 20 66 69 72 73 74 0a 72 65 61 64  r the first.read
12030 61 62 6c 65 20 65 76 65 6e 74 20 74 68 61 74 20  able event that 
12040 68 61 64 20 69 6e 73 75 66 66 69 63 69 65 6e 74  had insufficient
12050 20 69 6e 70 75 74 2e 20 28 4a 4c 29 0a 0a 32 2f   input. (JL)..2/
12060 31 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  17/96 (bug fix) 
12070 22 69 6e 66 6f 20 63 6f 6d 70 6c 65 74 65 22 20  "info complete" 
12080 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79 20  didn't properly 
12090 68 61 6e 64 6c 65 20 63 6f 6d 6d 65 6e 74 73 0a  handle comments.
120a0 69 6e 20 6e 65 73 74 65 64 20 63 6f 6d 6d 61 6e  in nested comman
120b0 64 73 2e 20 28 4a 4f 29 0a 0a 32 2f 32 31 2f 39  ds. (JO)..2/21/9
120c0 36 20 28 62 75 67 20 66 69 78 29 20 22 65 78 65  6 (bug fix) "exe
120d0 63 22 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  c" under Windows
120e0 20 4e 54 2f 39 35 20 64 69 64 20 6e 6f 74 20 70   NT/95 did not p
120f0 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 76  roperly handle.v
12100 65 72 79 20 6c 6f 6e 67 20 63 6f 6d 6d 61 6e 64  ery long command
12110 20 6c 69 6e 65 73 20 28 3e 32 30 30 20 63 68 61   lines (>200 cha
12120 72 73 29 2e 20 28 53 53 29 0a 0a 32 2f 32 31 2f  rs). (SS)..2/21/
12130 39 36 20 28 62 75 67 20 66 69 78 29 20 53 6f 63  96 (bug fix) Soc
12140 6b 65 74 73 20 63 6f 75 6c 64 20 67 65 74 20 69  kets could get i
12150 6e 74 6f 20 61 6e 20 69 6e 66 69 6e 69 74 65 20  nto an infinite 
12160 6c 6f 6f 70 20 69 66 20 61 20 72 65 61 64 0a 65  loop if a read.e
12170 76 65 6e 74 20 61 72 72 69 76 65 64 20 61 66 74  vent arrived aft
12180 65 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 61 76  er all of the av
12190 61 69 6c 61 62 6c 65 20 64 61 74 61 20 68 61 64  ailable data had
121a0 20 62 65 65 6e 20 72 65 61 64 2e 20 28 53 53 29   been read. (SS)
121b0 0a 0a 32 2f 32 32 2f 39 36 20 28 62 75 67 20 66  ..2/22/96 (bug f
121c0 69 78 29 20 41 64 64 65 64 20 63 61 73 74 20 6f  ix) Added cast o
121d0 66 20 73 74 5f 73 69 7a 65 20 65 6c 65 6d 65 6e  f st_size elemen
121e0 74 73 20 74 6f 20 28 6c 6f 6e 67 29 20 62 65 66  ts to (long) bef
121f0 6f 72 65 0a 73 70 72 69 6e 74 66 2d 69 6e 67 20  ore.sprintf-ing 
12200 69 6e 20 22 66 69 6c 65 20 73 69 7a 65 22 20 63  in "file size" c
12210 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 69 73  ommand.  This is
12220 20 6e 65 65 64 65 64 20 74 6f 20 68 61 6e 64 6c   needed to handl
12230 65 20 73 79 73 74 65 6d 73 0a 6c 69 6b 65 20 4e  e systems.like N
12240 65 74 42 53 44 20 77 69 74 68 20 36 34 2d 62 69  etBSD with 64-bi
12250 74 20 66 69 6c 65 20 6f 66 66 73 65 74 73 2e 20  t file offsets. 
12260 20 28 4a 4f 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   (JO)..---------
12270 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
12280 64 20 37 2e 35 62 32 2c 20 32 2f 32 33 2f 39 36  d 7.5b2, 2/23/96
12290 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
122a0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 32 33 2f 39  --------..2/23/9
122b0 36 20 28 62 75 67 20 66 69 78 29 20 54 43 4c 5f  6 (bug fix) TCL_
122c0 56 41 52 41 52 47 53 20 6d 61 63 72 6f 20 69 6e  VARARGS macro in
122d0 20 74 63 6c 2e 68 20 77 61 73 6e 27 74 20 64 65   tcl.h wasn't de
122e0 66 69 6e 65 64 20 70 72 6f 70 65 72 6c 79 0a 77  fined properly.w
122f0 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 77 69  hen compiling wi
12300 74 68 20 43 2b 2b 2e 20 20 28 4a 4f 29 0a 0a 32  th C++.  (JO)..2
12310 2f 32 34 2f 39 36 20 28 62 75 67 20 66 69 78 29  /24/96 (bug fix)
12320 20 52 65 6d 6f 76 65 64 20 64 65 70 65 6e 64 65   Removed depende
12330 6e 63 69 65 73 20 6f 6e 20 4d 61 6b 65 66 69 6c  ncies on Makefil
12340 65 20 69 6e 20 74 68 65 20 55 4e 49 58 20 4d 61  e in the UNIX Ma
12350 6b 65 66 69 6c 65 3a 0a 74 68 69 73 20 63 61 75  kefile:.this cau
12360 73 65 64 20 70 72 6f 62 6c 65 6d 73 20 6f 6e 20  sed problems on 
12370 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 20 28  some platforms (
12380 6c 69 6b 65 20 4c 69 6e 75 78 3f 29 2e 20 28 4a  like Linux?). (J
12390 4f 29 0a 0a 32 2f 32 34 2f 39 36 20 28 62 75 67  O)..2/24/96 (bug
123a0 20 66 69 78 29 20 46 69 78 65 64 20 63 6f 6e 66   fix) Fixed conf
123b0 69 67 75 72 61 74 69 6f 6e 20 62 75 67 20 74 68  iguration bug th
123c0 61 74 20 6d 61 64 65 20 54 63 6c 20 6e 6f 74 20  at made Tcl not 
123d0 63 6f 6d 70 69 6c 65 0a 63 6f 72 72 65 63 74 6c  compile.correctl
123e0 79 20 6f 6e 20 4c 69 6e 75 78 20 6d 61 63 68 69  y on Linux machi
123f0 6e 65 73 20 77 69 74 68 20 6e 65 69 74 68 65 72  nes with neither
12400 20 2d 6c 64 6c 20 6f 72 20 2d 6c 64 6c 64 2e 20   -ldl or -ldld. 
12410 28 4a 4f 29 0a 0a 32 2f 32 34 2f 39 36 20 28 6e  (JO)..2/24/96 (n
12420 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
12430 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 6d  d a block of com
12440 6d 65 6e 74 73 20 61 6e 64 20 64 65 66 69 6e 69  ments and defini
12450 74 69 6f 6e 73 20 74 6f 0a 4d 61 6b 65 66 69 6c  tions to.Makefil
12460 65 2e 69 6e 20 74 6f 20 6d 61 6b 65 20 69 74 20  e.in to make it 
12470 65 61 73 69 65 72 20 74 6f 20 68 61 76 65 20 54  easier to have T
12480 63 6c 27 73 20 54 63 6c 53 65 74 45 6e 76 20 65  cl's TclSetEnv e
12490 74 63 2e 20 72 65 70 6c 61 63 65 0a 74 68 65 20  tc. replace.the 
124a0 6c 69 62 72 61 72 79 20 70 72 6f 63 65 64 75 72  library procedur
124b0 65 73 20 73 65 74 65 6e 76 20 65 74 63 2c 20 73  es setenv etc, s
124c0 6f 20 74 68 61 74 20 63 61 6c 6c 73 20 74 6f 20  o that calls to 
124d0 73 65 74 65 6e 76 20 65 74 63 2e 20 69 6e 0a 74  setenv etc. in.t
124e0 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 61  he application a
124f0 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 70 64  utomatically upd
12500 61 74 65 20 74 68 65 20 54 63 6c 20 22 65 6e 76  ate the Tcl "env
12510 22 20 76 61 72 69 61 62 6c 65 2e 20 28 4a 4f 29  " variable. (JO)
12520 0a 0a 32 2f 32 37 2f 39 36 20 28 66 65 61 74 75  ..2/27/96 (featu
12530 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  re change) Added
12540 20 6f 70 74 69 6f 6e 61 6c 20 54 63 6c 5f 49 6e   optional Tcl_In
12550 74 65 72 70 20 2a 20 61 72 67 75 6d 65 6e 74 20  terp * argument 
12560 28 6d 61 79 20 62 65 20 4e 55 4c 4c 29 0a 74 6f  (may be NULL).to
12570 20 43 20 41 50 49 20 54 63 6c 5f 43 6c 6f 73 65   C API Tcl_Close
12580 20 61 6e 64 20 73 69 6d 70 6c 69 66 69 65 64 20   and simplified 
12590 63 6c 6f 73 69 6e 67 20 6f 66 20 63 6f 6d 6d 61  closing of comma
125a0 6e 64 20 63 68 61 6e 6e 65 6c 73 2e 20 28 4a 4c  nd channels. (JL
125b0 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42  ).*** INCOMPATIB
125c0 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37  ILITY with Tcl 7
125d0 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74 20 77 69  .5b2, but not wi
125e0 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a  th Tcl 7.4 ***..
125f0 32 2f 32 37 2f 39 36 20 28 66 65 61 74 75 72 65  2/27/96 (feature
12600 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20 6f   change) Added o
12610 70 74 69 6f 6e 61 6c 20 54 63 6c 5f 49 6e 74 65  ptional Tcl_Inte
12620 72 70 20 2a 20 61 72 67 75 6d 65 6e 74 20 28 6d  rp * argument (m
12630 61 79 20 62 65 20 4e 55 4c 4c 29 0a 74 6f 20 43  ay be NULL).to C
12640 20 74 79 70 65 20 64 65 66 69 6e 69 74 69 6f 6e   type definition
12650 20 54 63 6c 5f 44 72 69 76 65 72 43 6c 6f 73 65   Tcl_DriverClose
12660 50 72 6f 63 3b 20 6d 6f 64 69 66 69 65 64 20 61  Proc; modified a
12670 6c 6c 20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65  ll channel drive
12680 72 73 20 74 6f 0a 69 6d 70 6c 65 6d 65 6e 74 20  rs to.implement 
12690 63 6c 6f 73 65 20 70 72 6f 63 65 64 75 72 65 73  close procedures
126a0 20 74 68 61 74 20 61 63 63 65 70 74 20 74 68 65   that accept the
126b0 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75   additional argu
126c0 6d 65 6e 74 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49  ment. (JL).*** I
126d0 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77  NCOMPATIBILITY w
126e0 69 74 68 20 54 63 6c 20 37 2e 35 62 32 2c 20 62  ith Tcl 7.5b2, b
126f0 75 74 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20  ut not with Tcl 
12700 37 2e 34 20 2a 2a 2a 0a 0a 32 2f 32 38 2f 39 36  7.4 ***..2/28/96
12710 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
12720 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20 74 68 61   memory leak tha
12730 74 20 63 6f 75 6c 64 20 6f 63 63 75 72 20 69 66  t could occur if
12740 20 61 6e 20 75 70 76 61 72 0a 72 65 66 65 72 72   an upvar.referr
12750 65 64 20 74 6f 20 61 6e 20 65 6c 65 6d 65 6e 74  ed to an element
12760 20 6f 66 20 61 6e 20 61 72 72 61 79 20 69 6e 20   of an array in 
12770 74 68 65 20 73 61 6d 65 20 73 74 61 63 6b 20 66  the same stack f
12780 72 61 6d 65 20 61 73 20 74 68 65 0a 75 70 76 61  rame as the.upva
12790 72 2e 20 28 4a 4f 29 0a 0a 32 2f 32 39 2f 39 36  r. (JO)..2/29/96
127a0 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
127b0 29 20 4d 6f 64 69 66 69 65 64 20 62 6f 74 68 20  ) Modified both 
127c0 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74 20 61  Tcl_DoOneEvent a
127d0 6e 64 20 54 63 6c 5f 57 61 69 74 46 6f 72 45 76  nd Tcl_WaitForEv
127e0 65 6e 74 0a 73 6f 20 74 68 61 74 20 74 68 65 79  ent.so that they
127f0 20 72 65 74 75 72 6e 20 69 6d 6d 65 64 69 61 74   return immediat
12800 65 6c 79 20 69 6e 20 63 61 73 65 73 20 77 68 65  ely in cases whe
12810 72 65 20 74 68 65 79 20 77 6f 75 6c 64 20 6f 74  re they would ot
12820 68 65 72 77 69 73 65 0a 62 6c 6f 63 6b 20 66 6f  herwise.block fo
12830 72 65 76 65 72 20 28 65 2e 67 2e 20 69 66 20 74  rever (e.g. if t
12840 68 65 72 65 20 61 72 65 20 6e 6f 20 65 76 65 6e  here are no even
12850 74 20 68 61 6e 64 6c 65 72 73 20 6f 66 20 61 6e  t handlers of an
12860 79 20 73 6f 72 74 29 2e 20 28 4a 4f 29 0a 0a 32  y sort). (JO)..2
12870 2f 32 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /29/96 (new feat
12880 75 72 65 29 20 41 64 64 65 64 20 43 20 41 50 49  ure) Added C API
12890 73 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c  s Tcl_GetChannel
128a0 42 75 66 66 65 72 53 69 7a 65 20 61 6e 64 0a 54  BufferSize and.T
128b0 63 6c 5f 53 65 74 43 68 61 6e 6e 65 6c 42 75 66  cl_SetChannelBuf
128c0 66 65 72 53 69 7a 65 20 74 6f 20 73 65 74 20 61  ferSize to set a
128d0 6e 64 20 72 65 74 72 69 65 76 65 20 74 68 65 20  nd retrieve the 
128e0 73 69 7a 65 2c 20 69 6e 20 62 79 74 65 73 2c 20  size, in bytes, 
128f0 66 6f 72 0a 62 75 66 66 65 72 73 20 61 6c 6c 6f  for.buffers allo
12900 63 61 74 65 64 20 74 6f 20 73 74 6f 72 65 20 69  cated to store i
12910 6e 70 75 74 20 6f 72 20 6f 75 74 70 75 74 20 69  nput or output i
12920 6e 20 61 20 63 68 61 6e 6e 65 6c 2e 20 28 4a 4c  n a channel. (JL
12930 29 0a 0a 32 2f 32 39 2f 39 36 20 28 6e 65 77 20  )..2/29/96 (new 
12940 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 6f  feature) Added o
12950 70 74 69 6f 6e 20 2d 62 75 66 66 65 72 73 69 7a  ption -buffersiz
12960 65 20 74 6f 20 54 63 6c 20 66 63 6f 6e 66 69 67  e to Tcl fconfig
12970 75 72 65 20 63 6f 6d 6d 61 6e 64 0a 74 6f 20 61  ure command.to a
12980 6c 6c 6f 77 20 54 63 6c 20 73 63 72 69 70 74 73  llow Tcl scripts
12990 20 74 6f 20 71 75 65 72 79 20 61 6e 64 20 73 65   to query and se
129a0 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 63 68  t the size of ch
129b0 61 6e 6e 65 6c 20 62 75 66 66 65 72 73 2e 20 28  annel buffers. (
129c0 4a 4c 29 0a 0a 32 2f 32 39 2f 39 36 20 28 66 65  JL)..2/29/96 (fe
129d0 61 74 75 72 65 20 72 65 6d 6f 76 65 64 29 20 52  ature removed) R
129e0 65 6d 6f 76 65 64 20 63 68 61 6e 6e 65 6c 20 64  emoved channel d
129f0 72 69 76 65 72 20 66 75 6e 63 74 69 6f 6e 20 74  river function t
12a00 6f 20 73 70 65 63 69 66 79 0a 74 68 65 20 62 75  o specify.the bu
12a10 66 66 65 72 20 73 69 7a 65 20 74 6f 20 75 73 65  ffer size to use
12a20 20 77 68 65 6e 20 61 6c 6c 6f 63 61 74 69 6e 67   when allocating
12a30 20 61 20 62 75 66 66 65 72 2e 20 52 65 6d 6f 76   a buffer. Remov
12a40 65 64 20 74 68 65 20 43 20 74 79 70 65 64 65 66  ed the C typedef
12a50 0a 66 6f 72 20 54 63 6c 5f 44 72 69 76 65 72 42  .for Tcl_DriverB
12a60 75 66 66 65 72 53 69 7a 65 50 72 6f 63 2e 20 43  ufferSizeProc. C
12a70 68 61 6e 6e 65 6c 73 20 61 72 65 20 6e 6f 77 20  hannels are now 
12a80 63 72 65 61 74 65 64 20 77 69 74 68 20 61 20 64  created with a d
12a90 65 66 61 75 6c 74 0a 62 75 66 66 65 72 20 73 69  efault.buffer si
12aa0 7a 65 20 6f 66 20 34 4b 2e 20 28 4a 4c 29 0a 2a  ze of 4K. (JL).*
12ab0 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  ** INCOMPATIBILI
12ac0 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62  TY with Tcl 7.5b
12ad0 32 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  2, but not with 
12ae0 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 32 2f 32  Tcl 7.4 ***..2/2
12af0 39 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68  9/96 (feature ch
12b00 61 6e 67 65 29 20 54 68 65 20 63 68 61 6e 6e 65  ange) The channe
12b10 6c 20 64 72 69 76 65 72 20 66 75 6e 63 74 69 6f  l driver functio
12b20 6e 20 66 6f 72 20 73 65 74 74 69 6e 67 20 62 6c  n for setting bl
12b30 6f 63 6b 69 6e 67 0a 6d 6f 64 65 20 6f 6e 20 74  ocking.mode on t
12b40 68 65 20 64 65 76 69 63 65 20 6d 61 79 20 6e 6f  he device may no
12b50 77 20 62 65 20 4e 55 4c 4c 2e 20 49 66 20 74 68  w be NULL. If th
12b60 65 20 67 65 6e 65 72 69 63 20 63 6f 64 65 20 64  e generic code d
12b70 65 74 65 63 74 73 20 74 68 61 74 20 74 68 65 0a  etects that the.
12b80 66 75 6e 63 74 69 6f 6e 20 69 73 20 4e 55 4c 4c  function is NULL
12b90 2c 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 68 61  , operations tha
12ba0 74 20 73 65 74 20 74 68 65 20 62 6c 6f 63 6b 69  t set the blocki
12bb0 6e 67 20 6d 6f 64 65 20 6f 6e 20 74 68 65 20 63  ng mode on the c
12bc0 68 61 6e 6e 65 6c 0a 73 69 6d 70 6c 79 20 73 75  hannel.simply su
12bd0 63 63 65 65 64 2e 20 28 4a 4c 29 0a 0a 33 2f 32  cceed. (JL)..3/2
12be0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
12bf0 78 65 64 20 63 6f 72 65 20 64 75 6d 70 20 74 68  xed core dump th
12c00 61 74 20 63 6f 75 6c 64 20 6f 63 63 75 72 20 69  at could occur i
12c10 66 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72  f a syntax error
12c20 0a 28 73 75 63 68 20 61 73 20 6d 69 73 73 69 6e  .(such as missin
12c30 67 20 63 6c 6f 73 65 20 70 61 72 65 6e 29 20 6f  g close paren) o
12c40 63 63 75 72 72 65 64 20 69 6e 20 61 6e 20 61 72  ccurred in an ar
12c50 72 61 79 20 72 65 66 65 72 65 6e 63 65 20 77 69  ray reference wi
12c60 74 68 20 61 0a 76 65 72 79 20 6c 6f 6e 67 20 61  th a.very long a
12c70 72 72 61 79 20 6e 61 6d 65 2e 20 28 4a 4f 29 0a  rray name. (JO).
12c80 0a 33 2f 34 2f 39 36 20 28 62 75 67 20 66 69 78  .3/4/96 (bug fix
12c90 29 20 52 65 6d 6f 76 65 64 20 63 6f 64 65 20 69  ) Removed code i
12ca0 6e 20 74 68 65 20 22 61 75 74 6f 5f 6c 6f 61 64  n the "auto_load
12cb0 22 20 70 72 6f 63 65 64 75 72 65 20 74 68 61 74  " procedure that
12cc0 20 64 65 6c 65 74 65 73 0a 61 6c 6c 20 65 78 69   deletes.all exi
12cd0 73 74 69 6e 67 20 61 75 74 6f 2d 6c 6f 61 64 20  sting auto-load 
12ce0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 68 65 6e  information when
12cf0 65 76 65 72 20 74 68 65 20 22 61 75 74 6f 5f 70  ever the "auto_p
12d00 61 74 68 22 20 76 61 72 69 61 62 6c 65 0a 69 73  ath" variable.is
12d10 20 63 68 61 6e 67 65 64 2e 20 20 49 6e 73 74 65   changed.  Inste
12d20 61 64 2c 20 6e 65 77 20 69 6e 66 6f 72 6d 61 74  ad, new informat
12d30 69 6f 6e 20 61 64 64 73 20 74 6f 20 77 68 61 74  ion adds to what
12d40 20 77 61 73 20 61 6c 72 65 61 64 79 20 74 68 65   was already the
12d50 72 65 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 63  re..Otherwise, c
12d60 68 61 6e 67 69 6e 67 20 74 68 65 20 22 61 75 74  hanging the "aut
12d70 6f 5f 70 61 74 68 22 20 76 61 72 69 61 62 6c 65  o_path" variable
12d80 20 63 61 75 73 65 73 20 61 6c 6c 20 70 61 63 6b   causes all pack
12d90 61 67 65 2d 0a 72 65 6c 61 74 65 64 20 69 6e 66  age-.related inf
12da0 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 62 65 20 6c  ormation to be l
12db0 6f 73 74 2e 20 20 49 66 20 79 6f 75 20 72 65 61  ost.  If you rea
12dc0 6c 6c 79 20 77 61 6e 74 20 74 6f 20 67 65 74 20  lly want to get 
12dd0 72 69 64 20 6f 66 0a 65 78 69 73 74 69 6e 67 20  rid of.existing 
12de0 61 75 74 6f 2d 6c 6f 61 64 20 69 6e 66 6f 72 6d  auto-load inform
12df0 61 74 69 6f 6e 2c 20 75 73 65 20 61 75 74 6f 5f  ation, use auto_
12e00 72 65 73 65 74 20 62 65 66 6f 72 65 20 73 65 74  reset before set
12e10 74 69 6e 67 20 61 75 74 6f 5f 70 61 74 68 2e 20  ting auto_path. 
12e20 28 4a 4f 29 0a 0a 33 2f 35 2f 39 36 20 28 6e 65  (JO)..3/5/96 (ne
12e30 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
12e40 20 76 65 72 73 69 6f 6e 20 73 75 66 66 69 78 20   version suffix 
12e50 74 6f 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  to shared librar
12e60 79 20 6e 61 6d 65 73 20 73 6f 20 74 68 61 74 0a  y names so that.
12e70 54 63 6c 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65  Tcl will compile
12e80 20 75 6e 64 65 72 20 4e 65 74 42 53 44 20 61 6e   under NetBSD an
12e90 64 20 46 72 65 65 42 53 44 20 28 49 20 68 6f 70  d FreeBSD (I hop
12ea0 65 29 2e 20 20 28 4a 4f 29 0a 0a 33 2f 36 2f 39  e).  (JO)..3/6/9
12eb0 36 20 28 62 75 67 20 66 69 78 29 20 43 6c 65 61  6 (bug fix) Clea
12ec0 6e 65 64 20 75 70 20 65 72 72 6f 72 20 6d 65 73  ned up error mes
12ed0 73 61 67 65 73 20 69 6e 20 6e 65 77 20 49 2f 4f  sages in new I/O
12ee0 20 73 79 73 74 65 6d 20 74 6f 20 63 6f 72 72 65   system to corre
12ef0 73 70 6f 6e 64 0a 6d 6f 72 65 20 63 6c 6f 73 65  spond.more close
12f00 6c 79 20 74 6f 20 6f 6c 64 20 49 2f 4f 20 73 79  ly to old I/O sy
12f10 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 33 2f 36 2f  stem. (JO)..3/6/
12f20 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
12f30 20 41 64 64 65 64 20 2d 6d 79 61 64 64 72 20 61   Added -myaddr a
12f40 6e 64 20 2d 6d 79 70 6f 72 74 20 6f 70 74 69 6f  nd -myport optio
12f50 6e 73 20 74 6f 20 74 68 65 20 73 6f 63 6b 65 74  ns to the socket
12f60 0a 63 6f 6d 6d 61 6e 64 2c 20 72 65 6d 6f 76 65  .command, remove
12f70 64 20 2d 74 63 70 20 61 6e 64 20 2d 2d 20 6f 70  d -tcp and -- op
12f80 74 69 6f 6e 73 2e 20 20 54 68 69 73 20 6c 65 74  tions.  This let
12f90 73 20 63 6c 69 65 6e 74 73 20 61 6e 64 20 73 65  s clients and se
12fa0 72 76 65 72 73 0a 63 68 6f 6f 73 65 20 61 20 70  rvers.choose a p
12fb0 61 72 74 69 63 75 6c 61 72 20 69 6e 74 65 72 66  articular interf
12fc0 61 63 65 2e 20 20 41 6c 73 6f 20 63 68 61 6e 67  ace.  Also chang
12fd0 65 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 73  ed the default s
12fe0 65 72 76 65 72 20 61 64 64 72 65 73 73 0a 66 72  erver address.fr
12ff0 6f 6d 20 74 68 65 20 68 6f 73 74 6e 61 6d 65 20  om the hostname 
13000 74 6f 20 49 4e 41 44 44 52 5f 41 4e 59 2e 20 20  to INADDR_ANY.  
13010 54 68 65 20 73 65 72 76 65 72 20 61 63 63 65 70  The server accep
13020 74 20 63 61 6c 6c 62 61 63 6b 20 6e 6f 77 20 67  t callback now g
13030 65 74 73 0a 70 61 73 73 65 64 20 74 68 65 20 63  ets.passed the c
13040 6c 69 65 6e 74 27 73 20 70 6f 72 74 20 61 73 20  lient's port as 
13050 77 65 6c 6c 20 61 73 20 49 50 20 61 64 64 72 65  well as IP addre
13060 73 73 2e 20 20 54 68 65 20 43 20 69 6e 74 65 72  ss.  The C inter
13070 66 61 63 65 73 20 66 6f 72 0a 54 63 6c 5f 4f 70  faces for.Tcl_Op
13080 65 6e 54 63 70 43 6c 69 65 6e 74 20 61 6e 64 20  enTcpClient and 
13090 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65 72 76 65  Tcl_OpenTcpServe
130a0 72 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74  r have changed t
130b0 6f 20 73 75 70 70 6f 72 74 20 74 68 65 0a 61 62  o support the.ab
130c0 6f 76 65 20 63 68 61 6e 67 65 73 2e 20 28 42 57  ove changes. (BW
130d0 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ).*** POTENTIAL 
130e0 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
130f0 77 69 74 68 20 54 63 6c 20 37 2e 35 62 32 2c 20  with Tcl 7.5b2, 
13100 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54 63 6c  but not with Tcl
13110 20 37 2e 34 20 2a 2a 2a 0a 0a 33 2f 36 2f 39 36   7.4 ***..3/6/96
13120 20 28 63 68 61 6e 67 65 64 20 66 65 61 74 75 72   (changed featur
13130 65 29 20 54 68 65 20 6c 69 62 72 61 72 79 20 66  e) The library f
13140 75 6e 63 74 69 6f 6e 20 61 75 74 6f 5f 6d 6b 69  unction auto_mki
13150 6e 64 65 78 20 77 69 6c 6c 20 6e 6f 77 0a 64 65  ndex will now.de
13160 66 61 75 6c 74 20 74 6f 20 75 73 69 6e 67 20 74  fault to using t
13170 68 65 20 70 61 74 74 65 72 6e 20 22 2a 2e 74 63  he pattern "*.tc
13180 6c 22 20 69 66 20 6e 6f 20 70 61 74 74 65 72 6e  l" if no pattern
13190 20 69 73 20 67 69 76 65 6e 2e 20 28 52 4a 29 0a   is given. (RJ).
131a0 0a 33 2f 36 2f 39 36 20 28 62 75 67 20 66 69 78  .3/6/96 (bug fix
131b0 29 20 54 68 65 20 73 6f 63 6b 65 74 20 63 68 61  ) The socket cha
131c0 6e 6e 65 6c 20 63 6f 64 65 20 66 6f 72 20 74 68  nnel code for th
131d0 65 20 4d 61 63 69 6e 74 6f 73 68 20 68 61 73 20  e Macintosh has 
131e0 62 65 65 6e 0a 72 65 77 72 69 74 74 65 6e 20 74  been.rewritten t
131f0 6f 20 75 73 65 20 6e 61 74 69 76 65 20 4d 61 63  o use native Mac
13200 54 63 70 2e 20 20 28 52 4a 29 0a 0a 33 2f 37 2f  Tcp.  (RJ)..3/7/
13210 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
13220 20 41 64 64 65 64 20 54 63 6c 5f 53 65 74 53 74   Added Tcl_SetSt
13230 64 43 68 61 6e 6e 65 6c 20 61 6e 64 20 54 63 6c  dChannel and Tcl
13240 5f 47 65 74 53 74 64 43 68 61 6e 6e 65 6c 0a 69  _GetStdChannel.i
13250 6e 74 65 72 66 61 63 65 73 20 74 6f 20 61 6c 6c  nterfaces to all
13260 6f 77 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20  ow applications 
13270 74 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65  to explicitly se
13280 74 20 61 6e 64 20 67 65 74 20 74 68 65 20 67 6c  t and get the gl
13290 6f 62 61 6c 0a 73 74 61 6e 64 61 72 64 20 63 68  obal.standard ch
132a0 61 6e 6e 65 6c 73 2e 20 28 53 53 29 0a 0a 33 2f  annels. (SS)..3/
132b0 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 54  7/96 (bug fix) T
132c0 63 6c 20 64 69 64 20 63 6c 6f 73 65 20 6e 6f 74  cl did close not
132d0 20 74 68 65 20 66 69 6c 65 20 64 65 73 63 72 69   the file descri
132e0 70 74 6f 72 73 20 61 73 73 6f 63 69 61 74 65 64  ptors associated
132f0 0a 77 69 74 68 20 22 73 74 64 6f 75 74 22 2c 20  .with "stdout", 
13300 65 74 63 2e 20 77 68 65 6e 20 74 68 65 20 63 6f  etc. when the co
13310 72 72 65 73 70 6f 6e 64 69 6e 67 20 63 68 61 6e  rresponding chan
13320 6e 65 6c 73 20 77 65 72 65 20 63 6c 6f 73 65 64  nels were closed
13330 2e 20 20 28 53 53 29 0a 0a 33 2f 37 2f 39 36 20  .  (SS)..3/7/96 
13340 28 62 75 67 20 66 69 78 29 20 52 65 77 6f 72 6b  (bug fix) Rework
13350 65 64 20 73 68 61 72 65 64 20 6c 69 62 72 61 72  ed shared librar
13360 79 20 61 6e 64 20 64 79 6e 61 6d 69 63 20 6c 6f  y and dynamic lo
13370 61 64 69 6e 67 20 73 74 75 66 66 20 74 6f 0a 74  ading stuff to.t
13380 72 79 20 74 6f 20 67 65 74 20 69 74 20 77 6f 72  ry to get it wor
13390 6b 69 6e 67 20 75 6e 64 65 72 20 41 49 58 2e 20  king under AIX. 
133a0 20 41 64 64 65 64 20 6e 65 77 20 40 53 48 4c 49   Added new @SHLI
133b0 42 5f 4c 44 5f 4c 49 42 53 40 20 61 75 74 6f 63  [email protected] autoc
133c0 6f 6e 66 0a 73 79 6d 62 6f 6c 20 61 73 20 70 61  onf.symbol as pa
133d0 72 74 20 6f 66 20 74 68 69 73 2e 20 20 41 49 58  rt of this.  AIX
133e0 20 70 72 6f 62 61 62 6c 79 20 64 6f 65 73 6e 27   probably doesn'
133f0 74 20 77 6f 72 6b 20 79 65 74 2c 20 62 75 74 20  t work yet, but 
13400 69 74 20 73 68 6f 75 6c 64 0a 62 65 20 61 20 6c  it should.be a l
13410 6f 74 20 63 6c 6f 73 65 72 2e 20 28 4a 4f 29 0a  ot closer. (JO).
13420 0a 33 2f 37 2f 39 36 20 28 66 65 61 74 75 72 65  .3/7/96 (feature
13430 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20 54   change) Added T
13440 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f 63 20 74  cl_ChannelProc t
13450 79 70 65 64 65 66 20 61 6e 64 20 63 68 61 6e 67  ypedef and chang
13460 65 64 20 74 68 65 0a 73 69 67 6e 61 74 75 72 65  ed the.signature
13470 20 6f 66 20 54 63 6c 5f 43 72 65 61 74 65 43 68   of Tcl_CreateCh
13480 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 20 61 6e 64  annelHandler and
13490 20 54 63 6c 5f 44 65 6c 65 74 65 43 68 61 6e 6e   Tcl_DeleteChann
134a0 65 6c 48 61 6e 64 6c 65 72 20 74 6f 20 74 61 6b  elHandler to tak
134b0 65 0a 54 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f  e.Tcl_ChannelPro
134c0 63 20 61 72 67 75 6d 65 6e 74 73 20 69 6e 73 74  c arguments inst
134d0 65 61 64 20 6f 66 20 54 63 6c 5f 46 69 6c 65 50  ead of Tcl_FileP
134e0 72 6f 63 20 61 72 67 75 6d 65 6e 74 73 2e 20 54  roc arguments. T
134f0 68 69 73 20 63 68 61 6e 67 65 0a 73 68 6f 75 6c  his change.shoul
13500 64 20 6e 6f 74 20 61 66 66 65 63 74 20 61 6e 79  d not affect any
13510 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20 54 63   code outside Tc
13520 6c 20 62 65 63 61 75 73 65 20 74 68 65 20 73 69  l because the si
13530 67 6e 61 74 75 72 65 73 20 6f 66 0a 54 63 6c 5f  gnatures of.Tcl_
13540 43 68 61 6e 6e 65 6c 50 72 6f 63 20 61 6e 64 20  ChannelProc and 
13550 54 63 6c 5f 46 69 6c 65 50 72 6f 63 20 61 72 65  Tcl_FileProc are
13560 20 63 6f 6d 70 61 74 69 62 6c 65 2e 20 28 4a 4c   compatible. (JL
13570 29 0a 0a 33 2f 37 2f 39 36 20 28 41 50 49 20 63  )..3/7/96 (API c
13580 68 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20  hange) Modified 
13590 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54 63 6c  signature of Tcl
135a0 5f 47 65 74 43 68 61 6e 6e 65 6c 4f 70 74 69 6f  _GetChannelOptio
135b0 6e 20 74 6f 20 72 65 74 75 72 6e 0a 61 6e 20 69  n to return.an i
135c0 6e 74 20 69 6e 73 74 65 61 64 20 6f 66 20 63 68  nt instead of ch
135d0 61 72 20 2a 2c 20 61 6e 64 20 74 6f 20 74 61 6b  ar *, and to tak
135e0 65 20 61 20 54 63 6c 5f 44 53 74 72 69 6e 67 20  e a Tcl_DString 
135f0 2a 20 61 72 67 75 6d 65 6e 74 2e 20 4d 6f 64 69  * argument. Modi
13600 66 69 65 64 0a 74 68 65 20 69 6d 70 6c 65 6d 65  fied.the impleme
13610 6e 74 61 74 69 6f 6e 20 73 6f 20 74 68 61 74 20  ntation so that 
13620 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20  the option name 
13630 63 61 6e 20 62 65 20 4e 55 4c 4c 2c 20 74 6f 20  can be NULL, to 
13640 6d 65 61 6e 20 74 68 61 74 20 74 68 65 0a 63 61  mean that the.ca
13650 6c 6c 20 73 68 6f 75 6c 64 20 72 65 74 72 69 65  ll should retrie
13660 76 65 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 74  ve a list of alt
13670 65 72 6e 61 74 69 6e 67 20 6f 70 74 69 6f 6e 20  ernating option 
13680 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73  names and values
13690 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f 4d  . (JL).*** INCOM
136a0 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
136b0 54 63 6c 20 37 2e 35 62 32 2c 20 62 75 74 20 6e  Tcl 7.5b2, but n
136c0 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 34 20  ot with Tcl 7.4 
136d0 2a 2a 2a 0a 0a 33 2f 37 2f 39 36 20 28 41 50 49  ***..3/7/96 (API
136e0 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20 54   change) Added T
136f0 63 6c 5f 44 72 69 76 65 72 53 65 74 4f 70 74 69  cl_DriverSetOpti
13700 6f 6e 50 72 6f 63 2c 20 54 63 6c 5f 44 72 69 76  onProc, Tcl_Driv
13710 65 72 47 65 74 4f 70 74 69 6f 6e 50 72 6f 63 0a  erGetOptionProc.
13720 74 79 70 65 64 65 66 73 2c 20 61 64 64 65 64 20  typedefs, added 
13730 74 77 6f 20 73 6c 6f 74 73 20 73 65 74 4f 70 74  two slots setOpt
13740 69 6f 6e 50 72 6f 63 20 61 6e 64 20 67 65 74 4f  ionProc and getO
13750 70 74 69 6f 6e 50 72 6f 63 20 74 6f 20 74 68 65  ptionProc to the
13760 20 63 68 61 6e 6e 65 6c 0a 74 79 70 65 20 73 74   channel.type st
13770 72 75 63 74 75 72 65 2e 20 54 68 65 73 65 20 6d  ructure. These m
13780 61 79 20 62 65 20 4e 55 4c 4c 20 74 6f 20 69 6e  ay be NULL to in
13790 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 20  dicate that the 
137a0 63 68 61 6e 6e 65 6c 20 74 79 70 65 20 64 6f 65  channel type doe
137b0 73 0a 6e 6f 74 20 73 75 70 70 6f 72 74 20 61 6e  s.not support an
137c0 79 20 6f 70 74 69 6f 6e 73 2e 20 28 4a 4c 29 0a  y options. (JL).
137d0 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  *** INCOMPATIBIL
137e0 49 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35  ITY with Tcl 7.5
137f0 62 32 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68  b2, but not with
13800 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 33 2f   Tcl 7.4 ***..3/
13810 37 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68  7/96 (feature ch
13820 61 6e 67 65 29 20 73 74 64 69 6e 2c 20 73 74 64  ange) stdin, std
13830 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72 20 63  out and stderr c
13840 61 6e 20 6e 6f 77 20 62 65 20 70 75 74 20 69 6e  an now be put in
13850 74 6f 0a 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 6d  to.nonblocking m
13860 6f 64 65 2e 20 28 4a 4c 29 0a 0a 33 2f 38 2f 39  ode. (JL)..3/8/9
13870 36 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  6 (feature chang
13880 65 29 20 45 6c 69 6d 69 6e 61 74 65 64 20 64 65  e) Eliminated de
13890 70 65 6e 64 65 6e 63 65 20 6f 6e 20 74 68 65 20  pendence on the 
138a0 72 65 67 69 73 74 72 79 20 66 6f 72 0a 66 69 6e  registry for.fin
138b0 64 69 6e 67 20 74 68 65 20 54 63 6c 20 6c 69 62  ding the Tcl lib
138c0 72 61 72 79 20 66 69 6c 65 73 2e 20 28 53 53 29  rary files. (SS)
138d0 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
138e0 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 37 2e 35  --- Released 7.5
138f0 62 33 2c 20 33 2f 38 2f 39 36 20 2d 2d 2d 2d 2d  b3, 3/8/96 -----
13900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
13910 2d 2d 0a 0a 33 2f 31 32 2f 39 36 20 28 66 65 61  --..3/12/96 (fea
13920 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74  ture improvement
13930 29 20 4d 6f 64 69 66 69 65 64 20 73 74 61 72 74  ) Modified start
13940 75 70 20 73 63 72 69 70 74 20 74 6f 20 6c 6f 6f  up script to loo
13950 6b 20 69 6e 20 73 65 76 65 72 61 6c 0a 64 69 66  k in several.dif
13960 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 66 6f  ferent places fo
13970 72 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72  r the Tcl librar
13980 79 20 64 69 72 65 63 74 6f 72 79 2e 20 20 54 68  y directory.  Th
13990 69 73 20 73 68 6f 75 6c 64 20 61 6c 6c 6f 77 20  is should allow 
139a0 54 63 6c 0a 74 6f 20 66 69 6e 64 20 74 68 65 20  Tcl.to find the 
139b0 6c 69 62 72 61 72 69 65 73 20 75 6e 64 65 72 20  libraries under 
139c0 61 6c 6c 20 62 75 74 20 74 68 65 20 77 65 69 72  all but the weir
139d0 64 65 73 74 20 63 6f 6e 64 69 74 69 6f 6e 73 2c  dest conditions,
139e0 20 65 76 65 6e 20 77 69 74 68 6f 75 74 0a 74 68   even without.th
139f0 65 20 54 43 4c 5f 4c 49 42 52 41 52 59 20 65 6e  e TCL_LIBRARY en
13a00 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62  vironment variab
13a10 6c 65 20 62 65 69 6e 67 20 73 65 74 2e 20 28 4a  le being set. (J
13a20 4f 29 0a 0a 33 2f 31 33 2f 39 36 20 28 62 75 67  O)..3/13/96 (bug
13a30 20 66 69 78 29 20 45 6c 69 6d 69 6e 61 74 65 64   fix) Eliminated
13a40 20 75 73 65 20 6f 66 20 74 68 65 20 22 6c 69 6e   use of the "lin
13a50 67 65 72 22 20 6f 70 74 69 6f 6e 20 66 72 6f 6d  ger" option from
13a60 20 74 68 65 20 57 69 6e 64 6f 77 73 0a 73 6f 63   the Windows.soc
13a70 6b 65 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ket implementati
13a80 6f 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39  on. (JL)..3/13/9
13a90 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  6 (new feature) 
13aa0 41 64 64 65 64 20 2d 70 65 65 72 6e 61 6d 65 20  Added -peername 
13ab0 61 6e 64 20 2d 73 6f 63 6b 6e 61 6d 65 20 6f 70  and -sockname op
13ac0 74 69 6f 6e 73 20 66 6f 72 20 66 63 6f 6e 66 69  tions for fconfi
13ad0 67 75 72 65 0a 66 6f 72 20 73 6f 63 6b 65 74 20  gure.for socket 
13ae0 63 68 61 6e 6e 65 6c 73 2e 20 43 6f 64 65 20 63  channels. Code c
13af0 6f 6e 74 72 69 62 75 74 65 64 20 62 79 20 4a 6f  ontributed by Jo
13b00 68 6e 20 48 61 78 62 79 20 6f 66 20 48 50 2e 20  hn Haxby of HP. 
13b10 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39 36 20 28 62  (JL)..3/13/96 (b
13b20 75 67 20 66 69 78 29 20 46 69 78 65 64 20 70 61  ug fix) Fixed pa
13b30 6e 69 63 20 61 6e 64 20 63 6f 72 65 20 64 75 6d  nic and core dum
13b40 70 20 74 68 61 74 20 77 6f 75 6c 64 20 6f 63 63  p that would occ
13b50 75 72 20 69 66 20 74 68 65 20 61 63 63 65 70 74  ur if the accept
13b60 0a 63 61 6c 6c 62 61 63 6b 20 73 63 72 69 70 74  .callback script
13b70 20 6f 6e 20 61 20 73 65 72 76 65 72 20 73 6f 63   on a server soc
13b80 6b 65 74 20 65 6e 63 6f 75 6e 74 65 72 65 64 20  ket encountered 
13b90 61 6e 20 65 72 72 6f 72 2e 20 28 4a 4c 29 0a 0a  an error. (JL)..
13ba0 33 2f 31 33 2f 39 36 20 28 66 65 61 74 75 72 65  3/13/96 (feature
13bb0 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20 2d   change) Added -
13bc0 61 73 79 6e 63 20 6f 70 74 69 6f 6e 20 74 6f 20  async option to 
13bd0 74 68 65 20 54 63 6c 20 73 6f 63 6b 65 74 20 63  the Tcl socket c
13be0 6f 6d 6d 61 6e 64 2e 0a 49 66 20 74 68 65 20 63  ommand..If the c
13bf0 6f 6d 6d 61 6e 64 20 69 73 20 63 72 65 61 74 69  ommand is creati
13c00 6e 67 20 61 20 63 6c 69 65 6e 74 20 73 6f 63 6b  ng a client sock
13c10 65 74 20 61 6e 64 20 74 68 65 20 66 6c 61 67 20  et and the flag 
13c20 69 73 20 70 72 65 73 65 6e 74 2c 20 74 68 65 0a  is present, the.
13c30 63 6c 69 65 6e 74 20 69 73 20 63 6f 6e 6e 65 63  client is connec
13c40 74 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73  ted asynchronous
13c50 6c 79 2e 20 49 66 20 74 68 65 20 6f 70 74 69 6f  ly. If the optio
13c60 6e 20 69 73 20 61 62 73 65 6e 74 20 28 74 68 65  n is absent (the
13c70 20 64 65 66 61 75 6c 74 29 2c 0a 74 68 65 20 63   default),.the c
13c80 6c 69 65 6e 74 20 73 6f 63 6b 65 74 20 69 73 20  lient socket is 
13c90 63 6f 6e 6e 65 63 74 65 64 20 73 79 6e 63 68 72  connected synchr
13ca0 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 74 68 65  onously, and the
13cb0 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e 73   command returns
13cc0 20 6f 6e 6c 79 0a 77 68 65 6e 20 74 68 65 20 63   only.when the c
13cd0 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73 20 62 65  onnection has be
13ce0 65 6e 20 63 6f 6d 70 6c 65 74 65 64 20 6f 72 20  en completed or 
13cf0 66 61 69 6c 65 64 2e 20 54 68 69 73 20 63 68 61  failed. This cha
13d00 6e 67 65 20 77 61 73 20 73 75 67 67 65 73 74 65  nge was suggeste
13d10 64 0a 62 79 20 4d 61 72 6b 20 44 69 65 6b 68 61  d.by Mark Diekha
13d20 6e 73 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39  ns. (JL)..3/13/9
13d30 36 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  6 (feature chang
13d40 65 29 20 4d 6f 64 69 66 69 65 64 20 74 68 65 20  e) Modified the 
13d50 73 69 67 6e 61 74 75 72 65 20 6f 66 20 54 63 6c  signature of Tcl
13d60 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74 20 74  _OpenTcpClient t
13d70 6f 0a 74 61 6b 65 20 61 6e 20 61 64 64 69 74 69  o.take an additi
13d80 6f 6e 61 6c 20 69 6e 74 20 61 72 67 75 6d 65 6e  onal int argumen
13d90 74 2c 20 61 73 79 6e 63 2e 20 49 66 20 6e 6f 6e  t, async. If non
13da0 7a 65 72 6f 2c 20 74 68 65 20 63 6c 69 65 6e 74  zero, the client
13db0 20 69 73 20 63 6f 6e 6e 65 63 74 65 64 0a 74 6f   is connected.to
13dc0 20 74 68 65 20 73 65 72 76 65 72 20 61 73 79 6e   the server asyn
13dd0 63 68 72 6f 6e 6f 75 73 6c 79 2e 20 49 66 20 74  chronously. If t
13de0 68 65 20 76 61 6c 75 65 20 69 73 20 7a 65 72 6f  he value is zero
13df0 2c 20 74 68 65 20 63 6f 6e 6e 65 63 74 69 6f 6e  , the connection
13e00 20 69 73 20 6d 61 64 65 0a 73 79 6e 63 68 72 6f   is made.synchro
13e10 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 74 68 65 20  nously, and the 
13e20 63 61 6c 6c 20 74 6f 20 54 63 6c 5f 4f 70 65 6e  call to Tcl_Open
13e30 54 63 70 43 6c 69 65 6e 74 20 72 65 74 75 72 6e  TcpClient return
13e40 73 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 0a  s only when the.
13e50 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 61 69 6c 73  connection fails
13e60 20 6f 72 20 73 75 63 63 65 65 64 73 2e 20 54 68   or succeeds. Th
13e70 69 73 20 63 68 61 6e 67 65 20 77 61 73 20 73 75  is change was su
13e80 67 67 65 73 74 65 64 20 62 79 20 4d 61 72 6b 20  ggested by Mark 
13e90 44 69 65 6b 68 61 6e 73 2e 20 28 4a 4c 29 0a 2a  Diekhans. (JL).*
13ea0 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  ** INCOMPATIBILI
13eb0 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62  TY with Tcl 7.5b
13ec0 33 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  3, but not with 
13ed0 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 33 2f 31  Tcl 7.4 ***..3/1
13ee0 34 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 22  4/96 (bug fix) "
13ef0 74 63 6c 73 68 20 62 6f 67 75 73 5f 66 69 6c 65  tclsh bogus_file
13f00 5f 6e 61 6d 65 22 20 64 69 64 6e 27 74 20 70 72  _name" didn't pr
13f10 69 6e 74 20 61 6e 20 65 72 72 6f 72 20 6d 65 73  int an error mes
13f20 73 61 67 65 2e 20 28 4a 4f 29 0a 0a 33 2f 31 34  sage. (JO)..3/14
13f30 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 41 64  /96 (bug fix) Ad
13f40 64 65 64 20 6e 65 77 20 70 72 6f 63 65 64 75 72  ded new procedur
13f50 65 73 20 74 6f 20 74 63 6c 43 6b 61 6c 6c 6f 63  es to tclCkalloc
13f60 2e 63 20 73 6f 20 74 68 61 74 20 6c 69 62 72 61  .c so that libra
13f70 72 69 65 73 0a 61 6e 64 20 61 70 70 6c 69 63 61  ries.and applica
13f80 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 6d  tions can be com
13f90 70 69 6c 65 64 20 77 69 74 68 20 54 43 4c 5f 4d  piled with TCL_M
13fa0 45 4d 5f 44 45 42 55 47 20 65 76 65 6e 20 69 66  EM_DEBUG even if
13fb0 20 54 63 6c 20 69 73 6e 27 74 0a 28 68 6f 77 65   Tcl isn't.(howe
13fc0 76 65 72 2c 20 74 68 65 20 63 6f 6e 76 65 72 73  ver, the convers
13fd0 65 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74 20 74  e is still not t
13fe0 72 75 65 29 2e 20 20 50 61 74 63 68 65 73 20 70  rue).  Patches p
13ff0 72 6f 76 69 64 65 64 20 62 79 20 4a 61 6e 0a 4e  rovided by Jan.N
14000 69 6a 74 6d 61 6e 73 2e 20 28 4a 4f 29 0a 0a 33  ijtmans. (JO)..3
14010 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69 78 29  /15/96 (bug fix)
14020 20 4d 61 72 6b 65 64 20 73 74 61 6e 64 61 72 64   Marked standard
14030 20 49 4f 20 68 61 6e 64 6c 65 73 20 6f 66 20 61   IO handles of a
14040 20 70 72 6f 63 65 73 73 20 61 73 20 63 6c 6f 73   process as clos
14050 65 2d 6f 6e 2d 65 78 65 63 0a 74 6f 20 66 69 78  e-on-exec.to fix
14060 20 62 75 67 20 69 6e 20 55 6c 74 72 69 78 20 77   bug in Ultrix w
14070 68 65 72 65 20 65 78 65 63 20 77 61 73 20 6e 6f  here exec was no
14080 74 20 73 68 61 72 69 6e 67 20 73 74 61 6e 64 61  t sharing standa
14090 72 64 20 49 4f 20 68 61 6e 64 6c 65 73 20 77 69  rd IO handles wi
140a0 74 68 0a 73 75 62 70 72 6f 63 65 73 73 65 73 2e  th.subprocesses.
140b0 20 46 69 78 20 73 75 67 67 65 73 74 65 64 20 62   Fix suggested b
140c0 79 20 4d 61 72 6b 20 44 69 65 6b 68 61 6e 73 2e  y Mark Diekhans.
140d0 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f 39 36 20 28   (JL)..3/15/96 (
140e0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61  bug fix) Fixed a
140f0 73 79 6e 63 68 72 6f 6e 6f 75 73 20 63 6c 6f 73  synchronous clos
14100 65 20 6d 65 63 68 61 6e 69 73 6d 20 73 6f 20 74  e mechanism so t
14110 68 61 74 20 69 74 20 63 6c 6f 73 65 73 20 74 68  hat it closes th
14120 65 0a 63 68 61 6e 6e 65 6c 20 69 6e 73 74 65 61  e.channel instea
14130 64 20 6f 66 20 6c 65 61 6b 69 6e 67 20 73 79 73  d of leaking sys
14140 74 65 6d 20 72 65 73 6f 75 72 63 65 73 2e 20 54  tem resources. T
14150 68 65 20 6d 61 6e 69 66 65 73 74 61 74 69 6f 6e  he manifestation
14160 20 77 61 73 20 74 68 61 74 20 54 63 6c 0a 77 6f   was that Tcl.wo
14170 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c 79 20 72  uld eventually r
14180 75 6e 20 6f 75 74 20 6f 66 20 66 69 6c 65 20 64  un out of file d
14190 65 73 63 72 69 70 74 6f 72 73 20 69 66 20 69 74  escriptors if it
141a0 20 77 61 73 20 68 61 6e 64 6c 69 6e 67 20 61 20   was handling a 
141b0 6c 61 72 67 65 0a 6e 75 6d 62 65 72 20 6f 66 20  large.number of 
141c0 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 73 6f 63 6b  nonblocking sock
141d0 65 74 73 20 6f 72 20 70 69 70 65 73 20 77 69 74  ets or pipes wit
141e0 68 20 68 69 67 68 20 63 6f 6e 67 65 73 74 69 6f  h high congestio
141f0 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f 39 36  n. (JL)..3/15/96
14200 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
14210 20 74 65 73 74 73 20 73 6f 20 74 68 61 74 20 74   tests so that t
14220 68 65 79 20 6e 6f 20 6c 6f 6e 67 65 72 20 6c 65  hey no longer le
14230 61 6b 20 66 69 6c 65 20 64 65 73 63 72 69 70 74  ak file descript
14240 6f 72 73 2e 0a 54 68 65 20 6d 61 6e 69 66 65 73  ors..The manifes
14250 74 61 74 69 6f 6e 20 77 61 73 20 74 68 61 74 20  tation was that 
14260 54 63 6c 20 77 6f 75 6c 64 20 65 76 65 6e 74 75  Tcl would eventu
14270 61 6c 6c 79 20 72 75 6e 20 6f 75 74 20 6f 66 20  ally run out of 
14280 66 69 6c 65 20 64 65 73 63 72 69 70 74 6f 72 73  file descriptors
14290 0a 69 66 20 74 68 65 20 74 65 73 74 73 20 77 65  .if the tests we
142a0 72 65 20 72 65 72 75 6e 20 6d 61 6e 79 20 74 69  re rerun many ti
142b0 6d 65 73 20 28 3e 20 61 20 68 75 6e 64 72 65 64  mes (> a hundred
142c0 20 74 69 6d 65 73 20 6f 6e 20 53 6f 6c 61 72 69   times on Solari
142d0 73 29 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f 39  s). (JL)..3/15/9
142e0 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
142f0 64 20 63 68 61 6e 6e 65 6c 20 63 72 65 61 74 69  d channel creati
14300 6f 6e 20 63 6f 64 65 20 73 6f 20 74 68 61 74 20  on code so that 
14310 69 74 20 6e 65 76 65 72 20 63 72 65 61 74 65 73  it never creates
14320 0a 75 6e 6e 61 6d 65 64 20 63 68 61 6e 6e 65 6c  .unnamed channel
14330 73 2e 20 54 68 69 73 20 77 6f 75 6c 64 20 63 61  s. This would ca
14340 75 73 65 20 61 20 70 61 6e 69 63 20 61 6e 64 20  use a panic and 
14350 63 6f 72 65 20 64 75 6d 70 20 77 68 65 6e 20 74  core dump when t
14360 68 65 20 63 68 61 6e 6e 65 6c 0a 77 61 73 20 63  he channel.was c
14370 6c 6f 73 65 64 2e 20 28 4a 4c 29 0a 0a 33 2f 31  losed. (JL)..3/1
14380 36 2f 39 36 20 28 62 75 67 20 66 69 78 65 73 29  6/96 (bug fixes)
14390 20 4d 61 64 65 20 6c 6f 74 73 20 6f 66 20 63 68   Made lots of ch
143a0 61 6e 67 65 73 20 69 6e 20 63 6f 6e 66 69 67 75  anges in configu
143b0 72 61 74 69 6f 6e 20 73 74 75 66 66 20 74 6f 20  ration stuff to 
143c0 67 65 74 0a 54 63 6c 20 77 6f 72 6b 69 6e 67 20  get.Tcl working 
143d0 75 6e 64 65 72 20 41 49 58 20 28 66 69 6e 61 6c  under AIX (final
143e0 6c 79 29 2e 20 20 54 63 6c 20 73 68 6f 75 6c 64  ly).  Tcl should
143f0 20 6e 6f 77 20 73 75 70 70 6f 72 74 20 74 68 65   now support the
14400 20 22 6c 6f 61 64 22 0a 63 6f 6d 6d 61 6e 64 20   "load".command 
14410 75 6e 64 65 72 20 41 49 58 20 61 6e 64 20 73 68  under AIX and sh
14420 6f 75 6c 64 20 77 6f 72 6b 20 65 69 74 68 65 72  ould work either
14430 20 77 69 74 68 20 6f 72 20 77 69 74 68 6f 75 74   with or without
14440 20 73 68 61 72 65 64 0a 6c 69 62 72 61 72 69 65   shared.librarie
14450 73 20 66 6f 72 20 54 63 6c 20 61 6e 64 20 54 6b  s for Tcl and Tk
14460 2e 20 28 4a 4f 29 0a 0a 33 2f 32 31 2f 39 36 20  . (JO)..3/21/96 
14470 28 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69  (configuration i
14480 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43 68 61 6e  mprovement) Chan
14490 67 65 64 20 63 6f 6e 66 69 67 75 72 65 20 73 63  ged configure sc
144a0 72 69 70 74 20 73 6f 20 69 74 0a 64 6f 65 73 6e  ript so it.doesn
144b0 27 74 20 75 73 65 20 76 65 72 73 69 6f 6e 20 6e  't use version n
144c0 75 6d 62 65 72 73 20 28 61 73 20 69 6e 20 2d 6c  umbers (as in -l
144d0 74 63 6c 37 2e 35 20 61 6e 64 20 6c 69 62 74 63  tcl7.5 and libtc
144e0 6c 37 2e 35 2e 73 6f 29 20 75 6e 64 65 72 0a 53  l7.5.so) under.S
144f0 75 6e 4f 53 20 34 2e 31 2c 20 77 68 65 72 65 20  unOS 4.1, where 
14500 74 68 65 79 20 64 6f 6e 27 74 20 77 6f 72 6b 20  they don't work 
14510 61 6e 79 77 61 79 2e 20 20 28 4a 4f 29 0a 0a 33  anyway.  (JO)..3
14520 2f 32 32 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /22/96 (new feat
14530 75 72 65 29 20 41 64 64 65 64 20 43 20 41 50 49  ure) Added C API
14540 20 54 63 6c 5f 49 6e 74 65 72 70 44 65 6c 65 74   Tcl_InterpDelet
14550 65 64 20 74 68 61 74 20 61 6c 6c 6f 77 73 20 65  ed that allows e
14560 78 74 65 6e 73 69 6f 6e 0a 77 72 69 74 65 72 73  xtension.writers
14570 20 74 6f 20 64 69 73 63 6f 76 65 72 20 77 68 65   to discover whe
14580 6e 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72  n an interpreter
14590 20 69 73 20 62 65 69 6e 67 20 64 65 6c 65 74 65   is being delete
145a0 64 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36  d. (JL)..3/22/96
145b0 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 73   (bug fix) The s
145c0 74 61 6e 64 61 72 64 20 49 4f 20 63 68 61 6e 6e  tandard IO chann
145d0 65 6c 73 20 61 72 65 20 6e 6f 77 20 61 64 64 65  els are now adde
145e0 64 20 74 6f 20 65 61 63 68 0a 74 72 75 73 74 65  d to each.truste
145f0 64 20 69 6e 74 65 72 70 72 65 74 65 72 20 61 73  d interpreter as
14600 20 73 6f 6f 6e 20 61 73 20 74 68 65 20 69 6e 74   soon as the int
14610 65 72 70 72 65 74 65 72 20 69 73 20 63 72 65 61  erpreter is crea
14620 74 65 64 2e 20 54 68 69 73 20 65 6e 73 75 72 65  ted. This ensure
14630 73 0a 61 67 61 69 6e 73 74 20 74 68 65 20 62 75  s.against the bu
14640 67 20 77 68 65 72 65 20 61 20 63 68 69 6c 64 20  g where a child 
14650 77 6f 75 6c 64 20 64 6f 20 49 4f 20 62 65 66 6f  would do IO befo
14660 72 65 20 74 68 65 20 6d 61 73 74 65 72 20 68 61  re the master ha
14670 64 20 64 6f 6e 65 20 61 6e 79 2c 0a 61 6e 64 20  d done any,.and 
14680 74 68 65 6e 20 74 68 65 20 63 68 69 6c 64 20 69  then the child i
14690 73 20 64 65 73 74 72 6f 79 65 64 20 2d 20 74 68  s destroyed - th
146a0 65 20 73 74 61 6e 64 61 72 64 20 49 4f 20 63 68  e standard IO ch
146b0 61 6e 6e 65 6c 73 20 77 6f 75 6c 64 20 62 65 20  annels would be 
146c0 74 68 65 6e 0a 63 6c 6f 73 65 64 20 61 6e 64 20  then.closed and 
146d0 74 68 65 20 6d 61 73 74 65 72 20 77 6f 75 6c 64  the master would
146e0 20 62 65 20 75 6e 61 62 6c 65 20 74 6f 20 64 6f   be unable to do
146f0 20 61 6e 79 20 49 4f 2e 20 28 4a 4c 29 0a 0a 33   any IO. (JL)..3
14700 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69 78 29  /22/96 (bug fix)
14710 20 4d 61 64 65 20 54 63 6c 20 6d 6f 72 65 20 72   Made Tcl more r
14720 6f 62 75 73 74 20 61 67 61 69 6e 73 74 20 69 6e  obust against in
14730 74 65 72 70 72 65 74 65 72 20 64 65 6c 65 74 69  terpreter deleti
14740 6f 6e 2c 20 62 79 0a 75 73 69 6e 67 20 54 63 6c  on, by.using Tcl
14750 5f 50 72 65 73 65 72 76 65 2c 20 54 63 6c 5f 52  _Preserve, Tcl_R
14760 65 6c 65 61 73 65 20 61 6e 64 20 54 63 6c 5f 45  elease and Tcl_E
14770 76 65 6e 74 75 61 6c 6c 79 46 72 65 65 20 74 6f  ventuallyFree to
14780 20 73 70 6c 69 74 20 74 68 65 20 70 72 6f 63 65   split the proce
14790 73 73 0a 6f 66 20 69 6e 74 65 72 70 72 65 74 65  ss.of interprete
147a0 72 20 64 65 6c 65 74 69 6f 6e 20 69 6e 74 6f 20  r deletion into 
147b0 74 77 6f 20 64 69 73 74 69 6e 63 74 20 70 68 61  two distinct pha
147c0 73 65 73 2e 20 41 6c 73 6f 20 77 65 6e 74 20 74  ses. Also went t
147d0 68 72 6f 75 67 68 20 61 6c 6c 20 6f 66 0a 54 63  hrough all of.Tc
147e0 6c 20 61 6e 64 20 61 64 64 65 64 20 63 61 6c 6c  l and added call
147f0 73 20 74 6f 20 54 63 6c 5f 50 72 65 73 65 72 76  s to Tcl_Preserv
14800 65 20 61 6e 64 20 54 63 6c 5f 44 65 6c 65 74 65  e and Tcl_Delete
14810 20 77 68 65 72 65 20 6e 65 65 64 65 64 2e 20 28   where needed. (
14820 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75  JL)..3/22/96 (bu
14830 67 20 66 69 78 29 20 46 69 78 65 64 20 73 65 76  g fix) Fixed sev
14840 65 72 61 6c 20 70 6c 61 63 65 73 20 77 68 65 72  eral places wher
14850 65 20 43 20 63 6f 64 65 20 77 61 73 20 72 65 61  e C code was rea
14860 64 69 6e 67 20 61 6e 64 20 77 72 69 74 69 6e 67  ding and writing
14870 0a 69 6e 74 6f 20 66 72 65 65 64 20 6d 65 6d 6f  .into freed memo
14880 72 79 2c 20 65 73 70 65 63 69 61 6c 6c 79 20 64  ry, especially d
14890 75 72 69 6e 67 20 69 6e 74 65 72 70 72 65 74 65  uring interprete
148a0 72 20 64 65 6c 65 74 69 6f 6e 2e 20 28 4a 4c 29  r deletion. (JL)
148b0 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66  ..3/22/96 (bug f
148c0 69 78 29 20 46 69 78 65 64 20 76 65 72 79 20 64  ix) Fixed very d
148d0 65 65 70 20 62 75 67 20 69 6e 20 54 63 6c 5f 52  eep bug in Tcl_R
148e0 65 6c 65 61 73 65 20 74 68 61 74 20 63 61 75 73  elease that caus
148f0 65 64 20 6d 65 6d 6f 72 79 20 74 6f 0a 62 65 20  ed memory to.be 
14900 66 72 65 65 64 20 74 77 69 63 65 20 69 66 20 74  freed twice if t
14910 68 65 20 72 65 6c 65 61 73 65 20 63 61 6c 6c 62  he release callb
14920 61 63 6b 20 64 69 64 20 54 63 6c 5f 50 72 65 73  ack did Tcl_Pres
14930 65 72 76 65 20 61 6e 64 20 54 63 6c 5f 52 65 6c  erve and Tcl_Rel
14940 65 61 73 65 20 6f 6e 0a 74 68 65 20 73 61 6d 65  ease on.the same
14950 20 6d 65 6d 6f 72 79 20 61 73 20 74 68 65 20 63   memory as the c
14960 68 75 6e 6b 20 63 75 72 72 65 6e 74 6c 79 20 62  hunk currently b
14970 65 69 6e 67 20 66 72 65 65 64 2e 20 28 4a 4c 29  eing freed. (JL)
14980 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66  ..3/22/96 (bug f
14990 69 78 29 20 52 65 6d 6f 76 65 64 20 73 65 76 65  ix) Removed seve
149a0 72 61 6c 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 73  ral memory leaks
149b0 20 74 68 61 74 20 77 6f 75 6c 64 20 63 61 75 73   that would caus
149c0 65 20 6d 65 6d 6f 72 79 0a 62 75 69 6c 64 75 70  e memory.buildup
149d0 20 6f 6e 20 68 61 6c 66 2d 4b 20 63 68 75 6e 6b   on half-K chunk
149e0 73 20 69 6e 20 74 68 65 20 67 65 6e 65 72 69 63  s in the generic
149f0 20 49 4f 20 6c 65 76 65 6c 2e 20 28 4a 4c 29 0a   IO level. (JL).
14a00 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69  .3/22/96 (bug fi
14a10 78 29 20 46 69 78 65 64 20 73 65 76 65 72 61 6c  x) Fixed several
14a20 20 63 6f 72 65 20 64 75 6d 70 73 20 77 68 69 63   core dumps whic
14a30 68 20 6f 63 63 75 72 72 65 64 20 77 68 65 6e 20  h occurred when 
14a40 6e 65 77 0a 41 73 73 6f 63 44 61 74 61 20 77 61  new.AssocData wa
14a50 73 20 62 65 69 6e 67 20 63 72 65 61 74 65 64 20  s being created 
14a60 64 75 72 69 6e 67 20 74 68 65 20 63 6c 65 61 6e  during the clean
14a70 75 70 73 20 69 6e 20 69 6e 74 65 72 70 72 65 74  ups in interpret
14a80 65 72 20 64 65 6c 65 74 69 6f 6e 2e 0a 54 68 65  er deletion..The
14a90 20 73 6f 6c 75 74 69 6f 6e 20 69 6d 70 6c 65 6d   solution implem
14aa0 65 6e 74 65 64 20 6e 6f 77 20 69 73 20 74 6f 20  ented now is to 
14ab0 6c 6f 6f 70 20 72 65 70 65 61 74 65 64 6c 79 20  loop repeatedly 
14ac0 6f 76 65 72 20 74 68 65 20 41 73 73 6f 63 44 61  over the AssocDa
14ad0 74 61 20 75 6e 74 69 6c 0a 6e 6f 6e 65 20 69 73  ta until.none is
14ae0 20 6c 65 66 74 20 74 6f 20 63 6c 65 61 6e 20 75   left to clean u
14af0 70 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36  p. (JL)..3/22/96
14b00 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
14b10 20 61 20 62 75 67 20 69 6e 20 65 76 65 6e 74 20   a bug in event 
14b20 68 61 6e 64 6c 69 6e 67 20 77 68 69 63 68 20 63  handling which c
14b30 61 75 73 65 64 20 61 6e 20 69 6e 66 69 6e 69 74  aused an infinit
14b40 65 0a 6c 6f 6f 70 20 69 66 20 74 68 65 72 65 20  e.loop if there 
14b50 77 65 72 65 20 6e 6f 20 66 69 6c 65 73 20 62 65  were no files be
14b60 69 6e 67 20 77 61 74 63 68 65 64 20 61 6e 64 20  ing watched and 
14b70 6e 6f 20 74 69 6d 65 72 2e 20 46 69 78 20 73 75  no timer. Fix su
14b80 67 67 65 73 74 65 64 20 62 79 0a 4a 61 6e 20 4e  ggested by.Jan N
14b90 69 6a 74 6d 61 6e 73 2e 20 28 4a 4c 29 0a 0a 33  ijtmans. (JL)..3
14ba0 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69 78 29  /22/96 (bug fix)
14bb0 20 46 69 78 65 64 20 54 63 6c 5f 43 72 65 61 74   Fixed Tcl_Creat
14bc0 65 43 6f 6d 6d 61 6e 64 2c 20 54 63 6c 5f 44 65  eCommand, Tcl_De
14bd0 6c 65 74 65 43 6f 6d 6d 61 6e 64 20 74 6f 20 62  leteCommand to b
14be0 65 20 6d 6f 72 65 0a 72 6f 62 75 73 74 20 69 66  e more.robust if
14bf0 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72   the interpreter
14c00 20 69 73 20 62 65 69 6e 67 20 64 65 6c 65 74 65   is being delete
14c10 64 2e 20 41 6c 73 6f 20 66 69 78 65 64 20 73 65  d. Also fixed se
14c20 76 65 72 61 6c 20 6f 72 64 65 72 0a 64 65 70 65  veral order.depe
14c30 6e 64 65 6e 63 79 20 62 75 67 73 20 69 6e 20 54  ndency bugs in T
14c40 63 6c 5f 44 65 6c 65 74 65 43 6f 6d 6d 61 6e 64  cl_DeleteCommand
14c50 20 77 68 69 63 68 20 6b 69 63 6b 65 64 20 69 6e   which kicked in
14c60 20 77 68 65 6e 20 61 6e 20 69 6e 74 65 72 70 72   when an interpr
14c70 65 74 65 72 0a 77 61 73 20 62 65 69 6e 67 20 64  eter.was being d
14c80 65 6c 65 74 65 64 2e 20 28 4a 4c 29 0a 0a 33 2f  eleted. (JL)..3/
14c90 32 36 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  26/96 (bug fix) 
14ca0 55 70 6f 6e 20 61 20 22 73 68 6f 72 74 20 72 65  Upon a "short re
14cb0 61 64 22 2c 20 74 68 65 20 67 65 6e 65 72 69 63  ad", the generic
14cc0 20 63 6f 64 65 20 6e 6f 20 6c 6f 6e 67 65 72 20   code no longer 
14cd0 63 61 6c 6c 73 0a 74 68 65 20 64 72 69 76 65 72  calls.the driver
14ce0 20 66 6f 72 20 6d 6f 72 65 20 69 6e 70 75 74 2e   for more input.
14cf0 20 44 6f 69 6e 67 20 74 68 69 73 20 63 61 75 73   Doing this caus
14d00 65 64 20 62 6c 6f 63 6b 69 6e 67 20 6f 6e 20 73  ed blocking on s
14d10 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 0a 65 76  ome platforms.ev
14d20 65 6e 20 6f 6e 20 6e 6f 6e 62 6c 6f 63 6b 69 6e  en on nonblockin
14d30 67 20 63 68 61 6e 6e 65 6c 73 2e 20 42 75 67 20  g channels. Bug 
14d40 61 6e 64 20 66 69 78 20 63 6f 75 72 74 65 73 79  and fix courtesy
14d50 20 4d 61 72 6b 20 52 6f 73 65 6d 61 6e 2e 20 28   Mark Roseman. (
14d60 4a 4c 29 0a 0a 33 2f 32 36 2f 39 36 20 28 6e 65  JL)..3/26/96 (ne
14d70 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
14d80 20 27 70 61 63 6b 61 67 65 20 54 63 6c 74 65 73   'package Tcltes
14d90 74 27 20 77 68 69 63 68 20 69 73 20 70 72 65 73  t' which is pres
14da0 65 6e 74 20 6f 6e 6c 79 20 69 6e 0a 74 65 73 74  ent only in.test
14db0 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 54 63 6c   versions of Tcl
14dc0 3b 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 74 68  ; this allows th
14dd0 65 20 74 65 73 74 69 6e 67 20 63 6f 6d 6d 61 6e  e testing comman
14de0 64 73 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20  ds to be loaded 
14df0 69 6e 74 6f 0a 6e 65 77 20 69 6e 74 65 72 70 72  into.new interpr
14e00 65 74 65 72 73 20 62 65 73 69 64 65 73 20 74 68  eters besides th
14e10 65 20 6d 61 69 6e 20 6f 6e 65 2e 20 28 4a 4c 29  e main one. (JL)
14e20 0a 0a 33 2f 32 36 2f 39 36 20 28 72 65 73 74 6f  ..3/26/96 (resto
14e30 72 65 64 20 66 65 61 74 75 72 65 29 20 52 65 63  red feature) Rec
14e40 72 65 61 74 65 64 20 74 68 65 20 54 63 6c 5f 47  reated the Tcl_G
14e50 65 74 4f 70 65 6e 46 69 6c 65 20 43 20 41 50 49  etOpenFile C API
14e60 2e 20 59 6f 75 20 63 61 6e 0a 6e 6f 77 20 67 65  . You can.now ge
14e70 74 20 61 20 46 49 4c 45 20 2a 20 66 72 6f 6d 20  t a FILE * from 
14e80 61 20 72 65 67 69 73 74 65 72 65 64 20 63 68 61  a registered cha
14e90 6e 6e 65 6c 3b 20 55 6e 69 78 20 6f 6e 6c 79 2e  nnel; Unix only.
14ea0 20 28 4a 4c 29 0a 0a 33 2f 32 37 2f 39 36 20 28   (JL)..3/27/96 (
14eb0 62 75 67 20 66 69 78 29 20 54 68 65 20 72 65 67  bug fix) The reg
14ec0 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20  ular expression 
14ed0 63 6f 64 65 20 64 69 64 20 6e 6f 74 20 73 75 70  code did not sup
14ee0 70 6f 72 74 20 6d 6f 72 65 0a 74 68 61 6e 20 39  port more.than 9
14ef0 20 73 75 62 65 78 70 72 65 73 73 69 6f 6e 73 2e   subexpressions.
14f00 20 20 49 74 20 6e 6f 77 20 73 75 70 70 6f 72 74    It now support
14f10 73 20 75 70 20 74 6f 20 32 30 2e 20 28 53 53 29  s up to 20. (SS)
14f20 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67 20 66 69  ..4/1/96 (bug fi
14f30 78 65 73 29 20 54 68 65 20 43 48 41 4e 4e 45 4c  xes) The CHANNEL
14f40 5f 42 4c 4f 43 4b 45 44 20 62 69 74 20 77 61 73  _BLOCKED bit was
14f50 20 62 65 69 6e 67 20 6c 65 66 74 20 6f 6e 20 6f   being left on o
14f60 6e 20 61 20 73 68 6f 72 74 0a 72 65 61 64 2c 20  n a short.read, 
14f70 73 6f 20 74 68 61 74 20 66 69 6c 65 65 76 65 6e  so that fileeven
14f80 74 73 20 77 6f 75 6c 64 6e 27 74 20 66 69 72 65  ts wouldn't fire
14f90 20 63 6f 72 72 65 63 74 6c 79 2e 20 42 75 67 20   correctly. Bug 
14fa0 72 65 70 6f 72 74 65 64 20 62 79 20 4d 61 72 6b  reported by Mark
14fb0 0a 52 6f 73 65 6d 61 6e 2e 28 4a 4c 2c 20 52 4a  .Roseman.(JL, RJ
14fc0 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67 20 66  )..4/1/96 (bug f
14fd0 69 78 29 20 4d 6f 76 65 64 20 54 63 6c 5f 52 65  ix) Moved Tcl_Re
14fe0 6c 65 61 73 65 20 74 6f 20 6d 61 74 63 68 20 54  lease to match T
14ff0 63 6c 5f 50 72 65 73 65 72 76 65 20 65 78 61 63  cl_Preserve exac
15000 74 6c 79 2c 20 69 6e 0a 74 63 6c 49 6e 74 65 72  tly, in.tclInter
15010 70 2e 63 3b 20 70 72 65 76 69 6f 75 73 6c 79 20  p.c; previously 
15020 69 6e 74 65 72 70 72 65 74 65 72 73 20 77 65 72  interpreters wer
15030 65 20 62 65 69 6e 67 20 66 72 65 65 64 20 6f 6e  e being freed on
15040 6c 79 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79  ly conditionally
15050 0a 61 6e 64 20 73 6f 6d 65 74 69 6d 65 73 20 6e  .and sometimes n
15060 6f 74 20 61 74 20 61 6c 6c 2e 20 28 4a 4c 29 0a  ot at all. (JL).
15070 0a 34 2f 31 2f 39 36 20 28 62 75 67 20 66 69 78  .4/1/96 (bug fix
15080 29 20 46 69 78 65 64 20 65 72 72 6f 72 20 72 65  ) Fixed error re
15090 70 6f 72 74 69 6e 67 20 69 6e 20 73 6c 61 76 65  porting in slave
150a0 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 77 68   interpreters wh
150b0 65 6e 20 74 68 65 0a 65 72 72 6f 72 20 6d 65 73  en the.error mes
150c0 73 61 67 65 20 77 61 73 20 62 65 69 6e 67 20 67  sage was being g
150d0 65 6e 65 72 61 74 65 64 20 64 69 72 65 63 74 6c  enerated directl
150e0 79 20 62 79 20 43 20 63 6f 64 65 2e 20 46 69 78  y by C code. Fix
150f0 20 73 75 67 67 65 73 74 65 64 20 62 79 0a 56 69   suggested by.Vi
15100 6b 74 6f 72 20 44 75 6b 68 6f 76 6e 69 20 6f 66  ktor Dukhovni of
15110 20 45 53 4d 2e 20 28 4a 4c 29 0a 0a 34 2f 32 2f   ESM. (JL)..4/2/
15120 39 36 20 28 62 75 67 20 66 69 78 65 73 29 20 46  96 (bug fixes) F
15130 69 78 65 64 20 61 20 73 65 72 69 65 73 20 6f 66  ixed a series of
15140 20 62 75 67 73 20 69 6e 20 57 69 6e 64 6f 77 73   bugs in Windows
15150 20 73 6f 63 6b 65 74 73 20 74 68 61 74 20 63 61   sockets that ca
15160 75 73 65 64 0a 65 76 65 6e 74 73 20 74 6f 20 76  used.events to v
15170 61 72 69 6f 75 73 6c 79 20 67 65 74 20 6c 6f 73  ariously get los
15180 74 2c 20 74 6f 20 67 65 74 20 73 65 6e 74 20 6d  t, to get sent m
15190 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c 20 6f  ultiple times, o
151a0 72 20 74 6f 20 62 65 20 69 67 6e 6f 72 65 64 0a  r to be ignored.
151b0 62 79 20 74 68 65 20 64 72 69 76 65 72 2e 20 54  by the driver. T
151c0 68 65 20 6d 61 6e 69 66 65 73 74 61 74 69 6f 6e  he manifestation
151d0 20 77 61 73 20 62 6c 6f 63 6b 69 6e 67 20 69 66   was blocking if
151e0 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 73 20   the channel is 
151f0 62 6c 6f 63 6b 69 6e 67 2c 0a 61 6e 64 20 65 69  blocking,.and ei
15200 74 68 65 72 20 67 65 74 74 69 6e 67 20 45 41 47  ther getting EAG
15210 41 49 4e 20 6f 72 20 69 6e 66 69 6e 69 74 65 20  AIN or infinite 
15220 6c 6f 6f 70 73 20 69 66 20 74 68 65 20 63 68 61  loops if the cha
15230 6e 6e 65 6c 20 69 73 20 6e 6f 6e 62 6c 6f 63 6b  nnel is nonblock
15240 69 6e 67 2e 0a 54 68 69 73 20 73 65 72 69 65 73  ing..This series
15250 20 6f 66 20 62 75 67 73 20 77 61 73 20 66 6f 75   of bugs was fou
15260 6e 64 20 62 79 20 49 61 6e 20 57 61 6c 6c 69 73  nd by Ian Wallis
15270 20 6f 66 20 43 69 73 63 6f 2e 20 4e 6f 77 20 61   of Cisco. Now a
15280 6c 6c 20 74 65 73 74 73 20 28 61 6c 73 6f 0a 74  ll tests (also.t
15290 68 6f 73 65 20 74 68 61 74 20 77 65 72 65 20 70  hose that were p
152a0 72 65 76 69 6f 75 73 6c 79 20 63 6f 6d 6d 65 6e  reviously commen
152b0 74 65 64 20 6f 75 74 29 20 69 6e 20 73 6f 63 6b  ted out) in sock
152c0 65 74 2e 74 65 73 74 20 70 61 73 73 2e 20 20 28  et.test pass.  (
152d0 4a 4c 2c 20 53 53 29 0a 0a 34 2f 32 2f 39 36 20  JL, SS)..4/2/96 
152e0 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 2f  (feature change/
152f0 62 75 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61  bug fix) Elimina
15300 74 65 64 20 6e 65 74 77 6f 72 6b 20 6e 61 6d 65  ted network name
15310 20 73 75 70 70 6f 72 74 20 69 6e 0a 66 61 76 6f   support in.favo
15320 72 20 6f 66 20 62 65 74 74 65 72 20 6e 61 74 69  r of better nati
15330 76 65 20 6e 61 6d 65 20 73 75 70 70 6f 72 74 2e  ve name support.
15340 20 20 41 64 64 65 64 20 22 66 69 6c 65 20 73 70    Added "file sp
15350 6c 69 74 22 2c 20 22 66 69 6c 65 20 6a 6f 69 6e  lit", "file join
15360 22 2c 0a 61 6e 64 20 22 66 69 6c 65 20 70 61 74  ",.and "file pat
15370 68 74 79 70 65 22 20 63 6f 6d 6d 61 6e 64 73 2e  htype" commands.
15380 20 20 53 65 65 20 74 68 65 20 22 66 69 6c 65 22    See the "file"
15390 20 6d 61 6e 20 70 61 67 65 20 66 6f 72 20 6d 6f   man page for mo
153a0 72 65 0a 64 65 74 61 69 6c 73 2e 20 28 53 53 29  re.details. (SS)
153b0 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49  .*** INCOMPATIBI
153c0 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e  LITY with Tcl 7.
153d0 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77 69 74  5b3, but not wit
153e0 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 34  h Tcl 7.4 ***..4
153f0 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /2/96 (bug fix) 
15400 43 68 61 6e 67 65 64 20 69 6d 70 6c 65 6d 65 6e  Changed implemen
15410 74 61 74 69 6f 6e 20 6f 66 20 61 75 74 6f 5f 6d  tation of auto_m
15420 6b 69 6e 64 65 78 20 73 6f 20 74 63 6c 49 6e 64  kindex so tclInd
15430 65 78 0a 66 69 6c 65 73 20 77 69 6c 6c 20 70 72  ex.files will pr
15440 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 20 70 61  operly handle pa
15450 74 68 20 6e 61 6d 65 73 20 69 6e 20 61 20 63 72  th names in a cr
15460 6f 73 73 20 70 6c 61 74 66 6f 72 6d 20 63 6f 6e  oss platform con
15470 74 65 78 74 2e 20 28 53 53 29 0a 0a 34 2f 35 2f  text. (SS)..4/5/
15480 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
15490 65 64 20 54 63 6c 5f 52 65 61 64 43 6d 64 20 74  ed Tcl_ReadCmd t
154a0 6f 20 75 73 65 20 74 68 65 20 63 68 61 6e 6e 65  o use the channe
154b0 6c 20 62 75 66 66 65 72 20 73 69 7a 65 20 61 73  l buffer size as
154c0 20 74 68 65 0a 63 68 75 6e 6b 20 73 69 7a 65 20   the.chunk size 
154d0 69 74 20 72 65 61 64 73 2c 20 69 6e 73 74 65 61  it reads, instea
154e0 64 20 6f 66 20 61 20 66 69 78 65 64 20 34 4b 20  d of a fixed 4K 
154f0 73 69 7a 65 2e 20 54 68 75 73 2c 20 6f 6e 20 6c  size. Thus, on l
15500 61 72 67 65 20 72 65 61 64 73 2c 20 74 68 65 0a  arge reads, the.
15510 75 73 65 72 20 63 61 6e 20 73 65 74 20 74 68 65  user can set the
15520 20 63 68 61 6e 6e 65 6c 20 62 75 66 66 65 72 20   channel buffer 
15530 73 69 7a 65 20 74 6f 20 61 20 6c 61 72 67 65 20  size to a large 
15540 73 69 7a 65 20 61 6e 64 20 74 68 65 20 72 65 61  size and the rea
15550 64 20 77 69 6c 6c 0a 6f 63 63 75 72 20 6f 72 64  d will.occur ord
15560 65 72 73 20 6f 66 20 6d 61 67 6e 69 74 75 64 65  ers of magnitude
15570 20 66 61 73 74 65 72 2e 20 46 6f 72 20 65 78 61   faster. For exa
15580 6d 70 6c 65 2c 20 6f 6e 20 61 20 32 4d 42 20 66  mple, on a 2MB f
15590 69 6c 65 2c 20 72 65 61 64 69 6e 67 20 69 6e 20  ile, reading in 
155a0 34 4b 0a 63 68 75 6e 6b 73 20 74 6f 6f 6b 20 33  4K.chunks took 3
155b0 34 20 73 65 63 6f 6e 64 73 2c 20 77 68 69 6c 65  4 seconds, while
155c0 20 72 65 61 64 69 6e 67 20 69 6e 20 31 4d 42 20   reading in 1MB 
155d0 63 68 75 6e 6b 73 20 74 6f 6f 6b 20 31 2e 35 20  chunks took 1.5 
155e0 73 65 63 6f 6e 64 73 20 28 6f 6e 20 61 0a 53 53  seconds (on a.SS
155f0 2d 32 30 29 2e 20 50 72 6f 62 6c 65 6d 20 69 64  -20). Problem id
15600 65 6e 74 69 66 69 65 64 20 61 6e 64 20 66 69 78  entified and fix
15610 20 73 75 67 67 65 73 74 65 64 20 62 79 20 4a 6f   suggested by Jo
15620 68 6e 20 48 61 78 62 79 20 6f 66 20 48 50 2e 20  hn Haxby of HP. 
15630 28 4a 4c 29 0a 0a 34 2f 35 2f 39 36 20 28 62 75  (JL)..4/5/96 (bu
15640 67 20 66 69 78 29 20 46 69 78 65 64 20 73 6f 63  g fix) Fixed soc
15650 6b 65 74 20 63 72 65 61 74 69 6f 6e 20 63 6f 64  ket creation cod
15660 65 20 74 6f 20 69 6e 76 6f 6b 65 20 67 65 74 68  e to invoke geth
15670 6f 73 74 62 79 6e 61 6d 65 20 6f 6e 6c 79 20 69  ostbyname only i
15680 66 0a 69 6e 65 74 5f 61 64 64 72 20 66 61 69 6c  f.inet_addr fail
15690 65 64 20 28 76 65 72 79 20 75 6e 6c 69 6b 65 6c  ed (very unlikel
156a0 79 29 2e 20 42 65 66 6f 72 65 20 74 68 69 73 20  y). Before this 
156b0 63 68 61 6e 67 65 20 74 68 65 20 6f 72 64 65 72  change the order
156c0 20 77 61 73 20 72 65 76 65 72 73 65 64 0a 61 6e   was reversed.an
156d0 64 20 74 68 69 73 20 6d 61 64 65 20 74 68 69 6e  d this made thin
156e0 67 73 20 6d 75 63 68 20 73 6c 6f 77 65 72 20 74  gs much slower t
156f0 68 61 6e 20 74 68 65 79 20 6e 65 65 64 65 64 20  han they needed 
15700 74 6f 20 62 65 20 28 67 65 74 68 6f 73 74 62 79  to be (gethostby
15710 6e 61 6d 65 0a 67 65 6e 65 72 61 6c 6c 79 20 72  name.generally r
15720 65 71 75 69 72 65 73 20 61 6e 20 52 50 43 2c 20  equires an RPC, 
15730 77 68 69 63 68 20 69 73 20 73 6c 6f 77 29 2e 20  which is slow). 
15740 50 72 6f 62 6c 65 6d 20 69 64 65 6e 74 69 66 69  Problem identifi
15750 65 64 20 61 6e 64 20 66 69 78 0a 73 75 67 67 65  ed and fix.sugge
15760 73 74 65 64 20 62 79 20 4a 6f 68 6e 20 4c 6f 76  sted by John Lov
15770 65 72 73 6f 20 6f 66 20 4f 53 46 2e 20 28 4a 4c  erso of OSF. (JL
15780 29 0a 0a 34 2f 39 2f 39 36 20 28 66 65 61 74 75  )..4/9/96 (featu
15790 72 65 20 63 68 61 6e 67 65 29 20 4d 6f 64 69 66  re change) Modif
157a0 69 65 64 20 22 61 75 74 6f 22 20 74 72 61 6e 73  ied "auto" trans
157b0 6c 61 74 69 6f 6e 20 6d 6f 64 65 20 73 6f 20 74  lation mode so t
157c0 68 61 74 20 69 74 0a 72 65 63 6f 67 6e 69 7a 65  hat it.recognize
157d0 73 20 61 6e 79 20 6f 66 20 22 5c 6e 22 2c 20 22  s any of "\n", "
157e0 5c 72 22 20 61 6e 64 20 22 5c 72 5c 6e 22 20 69  \r" and "\r\n" i
157f0 6e 20 69 6e 70 75 74 20 61 73 20 65 6e 64 20 6f  n input as end o
15800 66 20 6c 69 6e 65 2c 20 73 6f 0a 74 68 61 74 20  f line, so.that 
15810 61 20 66 69 6c 65 20 63 61 6e 20 68 61 76 65 20  a file can have 
15820 6d 69 78 65 64 20 65 6e 64 2d 6f 66 2d 6c 69 6e  mixed end-of-lin
15830 65 20 73 65 71 75 65 6e 63 65 73 2e 20 49 74 20  e sequences. It 
15840 6e 6f 77 20 6f 75 74 70 75 74 73 0a 74 68 65 20  now outputs.the 
15850 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69 66 69  platform specifi
15860 63 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 73 65  c end of line se
15870 71 75 65 6e 63 65 20 6f 6e 20 65 61 63 68 20 70  quence on each p
15880 6c 61 74 66 6f 72 6d 20 66 6f 72 20 66 69 6c 65  latform for file
15890 73 20 61 6e 64 0a 70 69 70 65 73 2c 20 61 6e 64  s and.pipes, and
158a0 20 66 6f 72 20 73 6f 63 6b 65 74 73 20 69 74 20   for sockets it 
158b0 70 72 6f 64 75 63 65 73 20 63 72 6c 66 20 69 6e  produces crlf in
158c0 20 6f 75 74 70 75 74 20 6f 6e 20 61 6c 6c 20 70   output on all p
158d0 6c 61 74 66 6f 72 6d 73 2e 20 28 4a 4c 29 0a 2a  latforms. (JL).*
158e0 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  ** INCOMPATIBILI
158f0 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62  TY with Tcl 7.5b
15900 33 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  3, but not with 
15910 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 34 2f 31  Tcl 7.4 ***..4/1
15920 31 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  1/96 (new featur
15930 65 29 20 41 64 64 65 64 20 2d 65 6f 66 63 68 61  e) Added -eofcha
15940 72 20 6f 70 74 69 6f 6e 20 74 6f 20 54 63 6c 5f  r option to Tcl_
15950 53 65 74 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e  SetChannelOption
15960 20 74 6f 20 61 6c 6c 6f 77 0a 73 65 74 74 69 6e   to allow.settin
15970 67 20 6f 66 20 61 6e 20 65 6e 64 20 6f 66 20 66  g of an end of f
15980 69 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 6f  ile character fo
15990 72 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70  r input and outp
159a0 75 74 2e 20 49 66 20 61 6e 20 69 6e 70 75 74 20  ut. If an input 
159b0 65 6f 66 0a 63 68 61 72 20 69 73 20 73 65 74 2c  eof.char is set,
159c0 20 69 74 20 69 73 20 72 65 63 6f 67 6e 69 7a 65   it is recognize
159d0 64 20 61 73 20 45 4f 46 20 61 6e 64 20 66 75 72  d as EOF and fur
159e0 74 68 65 72 20 69 6e 70 75 74 20 66 72 6f 6d 20  ther input from 
159f0 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 73 0a 6e  the channel is.n
15a00 6f 74 20 70 72 65 73 65 6e 74 65 64 20 74 6f 20  ot presented to 
15a10 74 68 65 20 63 61 6c 6c 65 72 2e 20 49 66 20 61  the caller. If a
15a20 6e 20 6f 75 74 70 75 74 20 65 6f 66 20 63 68 61  n output eof cha
15a30 72 20 69 73 20 73 65 74 2c 20 6f 6e 20 6f 75 74  r is set, on out
15a40 70 75 74 2c 20 74 68 61 74 0a 62 79 74 65 20 69  put, that.byte i
15a50 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68  s appended to th
15a60 65 20 63 68 61 6e 6e 65 6c 20 77 68 65 6e 20 69  e channel when i
15a70 74 20 69 73 20 63 6c 6f 73 65 64 2e 20 4f 6e 20  t is closed. On 
15a80 55 6e 69 78 20 61 6e 64 20 4d 61 63 69 6e 74 6f  Unix and Macinto
15a90 73 68 2c 0a 61 6c 6c 20 63 68 61 6e 6e 65 6c 73  sh,.all channels
15aa0 20 73 74 61 72 74 20 77 69 74 68 20 6e 6f 20 65   start with no e
15ab0 6f 66 20 63 68 61 72 20 73 65 74 20 66 6f 72 20  of char set for 
15ac0 69 6e 70 75 74 20 6f 72 20 6f 75 74 70 75 74 2e  input or output.
15ad0 20 4f 6e 20 57 69 6e 64 6f 77 73 2c 0a 66 69 6c   On Windows,.fil
15ae0 65 73 20 61 6e 64 20 70 69 70 65 73 20 73 74 61  es and pipes sta
15af0 72 74 20 77 69 74 68 20 69 6e 70 75 74 20 61 6e  rt with input an
15b00 64 20 6f 75 74 70 75 74 20 65 6f 66 20 63 68 61  d output eof cha
15b10 72 73 20 73 65 74 20 74 6f 20 43 72 6c 74 2d 5a  rs set to Crlt-Z
15b20 20 28 61 73 63 69 69 0a 32 36 29 2c 20 61 6e 64   (ascii.26), and
15b30 20 73 6f 63 6b 65 74 73 20 73 74 61 72 74 20 77   sockets start w
15b40 69 74 68 20 6e 6f 20 69 6e 70 75 74 20 6f 72 20  ith no input or 
15b50 6f 75 74 70 75 74 20 65 6f 66 20 63 68 61 72 2e  output eof char.
15b60 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50   (JL).*** INCOMP
15b70 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
15b80 63 6c 20 37 2e 35 62 33 2c 20 62 75 74 20 6e 6f  cl 7.5b3, but no
15b90 74 20 77 69 74 68 20 54 63 6c 20 37 2e 34 20 2a  t with Tcl 7.4 *
15ba0 2a 2a 0a 0a 34 2f 31 37 2f 39 36 20 28 62 75 67  **..4/17/96 (bug
15bb0 20 66 69 78 29 20 46 69 78 65 64 20 73 65 72 69   fix) Fixed seri
15bc0 65 73 20 6f 66 20 62 75 67 73 20 77 69 74 68 20  es of bugs with 
15bd0 68 61 6e 64 6c 69 6e 67 20 6f 66 20 63 72 6c 66  handling of crlf
15be0 20 73 65 71 75 65 6e 63 65 20 73 70 6c 69 74 0a   sequence split.
15bf0 61 63 72 6f 73 73 20 62 75 66 66 65 72 20 62 6f  across buffer bo
15c00 75 6e 64 61 72 69 65 73 20 69 6e 20 69 6e 70 75  undaries in inpu
15c10 74 2c 20 69 6e 20 41 55 54 4f 20 6d 6f 64 65 2e  t, in AUTO mode.
15c20 20 28 4a 4c 2c 20 42 57 29 0a 0a 34 2f 31 37 2f   (JL, BW)..4/17/
15c30 39 36 20 28 74 65 73 74 20 73 75 69 74 65 20 69  96 (test suite i
15c40 6d 70 72 6f 76 65 6d 65 6e 74 29 20 46 69 78 65  mprovement) Fixe
15c50 64 20 74 65 73 74 20 73 75 69 74 65 20 73 6f 20  d test suite so 
15c60 74 68 61 74 20 74 65 73 74 73 20 74 68 61 74 0a  that tests that.
15c70 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 61 76  depend on the av
15c80 61 69 6c 61 62 69 6c 69 74 79 20 6f 66 20 55 6e  ailability of Un
15c90 69 78 20 63 6f 6d 6d 61 6e 64 73 20 73 75 63 68  ix commands such
15ca0 20 61 73 20 65 63 68 6f 2c 20 63 61 74 20 61 6e   as echo, cat an
15cb0 64 20 6f 74 68 65 72 73 0a 61 72 65 20 6e 6f 74  d others.are not
15cc0 20 72 75 6e 20 69 66 20 74 68 65 73 65 20 63 6f   run if these co
15cd0 6d 6d 61 6e 64 73 20 61 72 65 20 6e 6f 74 20 70  mmands are not p
15ce0 72 65 73 65 6e 74 2e 20 28 4a 4c 29 0a 0a 34 2f  resent. (JL)..4/
15cf0 31 37 2f 39 36 20 28 74 65 73 74 20 73 75 69 74  17/96 (test suit
15d00 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 54  e improvement) T
15d10 68 65 20 73 6f 63 6b 65 74 20 74 65 73 74 20 6e  he socket test n
15d20 6f 77 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ow automatically
15d30 20 73 74 61 72 74 73 2c 0a 6f 6e 20 70 6c 61 74   starts,.on plat
15d40 66 6f 72 6d 73 74 20 74 68 61 74 20 73 75 70 70  formst that supp
15d50 6f 72 74 20 65 78 65 63 2c 20 61 20 73 65 70 61  ort exec, a sepa
15d60 72 61 74 65 20 70 72 6f 63 65 73 73 20 66 6f 72  rate process for
15d70 20 72 65 6d 6f 74 65 20 74 65 73 74 73 69 6e 67   remote testsing
15d80 2e 20 28 4a 4c 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (JL)..--------
15d90 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
15da0 65 64 20 37 2e 35 2c 20 34 2f 32 31 2f 39 36 20  ed 7.5, 4/21/96 
15db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
15dc0 2d 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 31 2f 39 36 20  -------..5/1/96 
15dd0 28 62 75 67 20 66 69 78 29 20 22 66 69 6c 65 20  (bug fix) "file 
15de0 74 61 69 6c 20 7e 22 20 64 69 64 20 6e 6f 74 20  tail ~" did not 
15df0 63 6f 72 72 65 63 74 6c 79 20 72 65 74 75 72 6e  correctly return
15e00 20 74 68 65 20 74 61 69 6c 0a 70 6f 72 74 69 6f   the tail.portio
15e10 6e 20 6f 66 20 74 68 65 20 75 73 65 72 27 73 20  n of the user's 
15e20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 2e 20  home directory. 
15e30 28 53 53 29 0a 0a 35 2f 31 2f 39 36 20 28 62 75  (SS)..5/1/96 (bu
15e40 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
15e50 20 69 6e 20 54 63 6c 47 65 74 45 6e 76 20 77 68   in TclGetEnv wh
15e60 65 72 65 20 69 74 20 64 69 64 6e 27 74 20 6c 6f  ere it didn't lo
15e70 6f 6b 75 70 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  okup environment
15e80 0a 76 61 72 69 61 62 6c 65 73 20 63 6f 72 72 65  .variables corre
15e90 63 74 6c 79 3a 20 20 63 6f 75 6c 64 20 63 6f 6e  ctly:  could con
15ea0 66 75 73 65 20 22 48 22 20 61 6e 64 20 22 48 4f  fuse "H" and "HO
15eb0 4d 45 22 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65  ME", for example
15ec0 2e 20 20 28 4a 4f 29 0a 0a 35 2f 31 2f 39 36 20  .  (JO)..5/1/96 
15ed0 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65  (bug fix) Change
15ee0 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 63 6c  d to install tcl
15ef0 43 6f 6e 66 69 67 2e 73 68 20 75 6e 64 65 72 20  Config.sh under 
15f00 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 62 69  "make install-bi
15f10 6e 61 72 69 65 73 22 2c 0a 6e 6f 74 20 22 6d 61  naries",.not "ma
15f20 6b 65 20 69 6e 73 74 61 6c 6c 2d 6c 69 62 72 61  ke install-libra
15f30 72 69 65 73 22 2e 20 20 28 4a 4f 29 0a 0a 35 2f  ries".  (JO)..5/
15f40 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43  2/96 (bug fix) C
15f50 68 61 6e 67 65 64 20 70 6b 67 5f 6d 6b 49 6e 64  hanged pkg_mkInd
15f60 65 78 20 6e 6f 74 20 74 6f 20 61 74 74 65 6d 70  ex not to attemp
15f70 74 20 74 6f 20 22 6c 6f 61 64 22 20 61 20 66 69  t to "load" a fi
15f80 6c 65 20 75 6e 6c 65 73 73 0a 69 74 20 68 61 73  le unless.it has
15f90 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 73 68   the standard sh
15fa0 61 72 65 64 20 6c 69 62 72 61 72 79 20 65 78 74  ared library ext
15fb0 65 6e 73 69 6f 6e 2e 20 20 4f 6e 20 53 75 6e 4f  ension.  On SunO
15fc0 53 2c 20 61 74 74 65 6d 70 74 73 20 74 6f 20 6c  S, attempts to l
15fd0 6f 61 64 0a 54 63 6c 20 73 63 72 69 70 74 73 20  oad.Tcl scripts 
15fe0 63 61 75 73 65 20 74 68 65 20 77 68 6f 6c 65 20  cause the whole 
15ff0 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 62  application to b
16000 65 20 61 62 6f 72 74 65 64 20 28 74 68 65 72 65  e aborted (there
16010 27 73 20 6e 6f 20 77 61 79 20 74 6f 0a 67 65 74  's no way to.get
16020 20 74 68 65 20 65 72 72 6f 72 20 62 61 63 6b 20   the error back 
16030 69 6e 74 6f 20 54 63 6c 29 2e 20 20 28 4a 4f 29  into Tcl).  (JO)
16040 0a 0a 35 2f 37 2f 39 36 20 28 62 75 67 20 66 69  ..5/7/96 (bug fi
16050 78 29 20 4d 6f 76 65 64 20 69 6e 69 74 53 63 72  x) Moved initScr
16060 69 70 74 20 69 6e 20 74 63 6c 55 6e 69 78 49 6e  ipt in tclUnixIn
16070 69 74 2e 63 20 74 6f 20 77 72 69 74 61 62 6c 65  it.c to writable
16080 20 6d 65 6d 6f 72 79 20 74 6f 0a 61 76 6f 69 64   memory to.avoid
16090 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f 72 65 20   potential core 
160a0 64 75 6d 70 73 2e 20 28 4a 4f 29 0a 0a 35 2f 37  dumps. (JO)..5/7
160b0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 41 75  /96 (bug fix) Au
160c0 74 6f 5f 72 65 73 65 74 20 70 72 6f 63 65 64 75  to_reset procedu
160d0 72 65 20 77 61 73 20 72 65 6d 6f 76 69 6e 67 20  re was removing 
160e0 70 72 6f 63 65 64 75 72 65 20 66 72 6f 6d 20 69  procedure from i
160f0 6e 69 74 2e 74 63 6c 2c 0a 73 75 63 68 20 61 73  nit.tcl,.such as
16100 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 2e 20 20 28   pkg_mkIndex.  (
16110 4a 4f 29 0a 0a 35 2f 37 2f 39 36 20 28 62 75 67  JO)..5/7/96 (bug
16120 20 66 69 78 29 20 46 69 78 65 64 20 63 61 73 74   fix) Fixed cast
16130 20 6f 6e 20 73 6f 63 6b 65 74 20 61 64 64 72 65   on socket addre
16140 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 6f  ss resolution co
16150 64 65 20 74 68 61 74 0a 77 6f 75 6c 64 20 63 61  de that.would ca
16160 75 73 65 20 61 20 66 61 69 6c 75 72 65 20 74 6f  use a failure to
16170 20 63 6f 6e 6e 65 63 74 20 6f 6e 20 44 65 63 20   connect on Dec 
16180 41 6c 70 68 61 73 2e 20 28 4a 4c 29 0a 0a 35 2f  Alphas. (JL)..5/
16190 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 41  7/96 (bug fix) A
161a0 64 64 65 64 20 22 74 69 6d 65 22 2c 20 22 73 75  dded "time", "su
161b0 62 73 74 22 20 61 6e 64 20 22 66 69 6c 65 65 76  bst" and "fileev
161c0 65 6e 74 22 20 63 6f 6d 6d 61 6e 64 73 20 74 6f  ent" commands to
161d0 20 73 65 74 20 6f 66 0a 63 6f 6d 6d 61 6e 64 73   set of.commands
161e0 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20   available in a 
161f0 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72  safe interpreter
16200 2e 20 28 4a 4c 29 0a 0a 35 2f 31 33 2f 39 36 20  . (JL)..5/13/96 
16210 28 62 75 67 20 66 69 78 29 20 50 72 65 76 65 6e  (bug fix) Preven
16220 74 69 6e 67 20 4f 53 20 6c 65 76 65 6c 20 68 61  ting OS level ha
16230 6e 64 6c 65 73 20 66 6f 72 20 73 74 64 69 6e 2c  ndles for stdin,
16240 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65   stdout and stde
16250 72 72 0a 66 72 6f 6d 20 62 65 69 6e 67 20 69 6d  rr.from being im
16260 70 6c 69 63 69 74 6c 79 20 63 6c 6f 73 65 64 20  plicitly closed 
16270 77 68 65 6e 20 74 68 65 20 6c 61 73 74 20 72 65  when the last re
16280 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 73  ference to the s
16290 74 61 6e 64 61 72 64 0a 63 68 61 6e 6e 65 6c 20  tandard.channel 
162a0 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 61 74 20  containing that 
162b0 68 61 6e 64 6c 65 20 69 73 20 64 69 73 63 61 72  handle is discar
162c0 64 65 64 20 77 68 65 6e 20 61 6e 20 69 6e 74 65  ded when an inte
162d0 72 70 72 65 74 65 72 20 69 73 20 64 65 6c 65 74  rpreter is delet
162e0 65 64 2e 0a 45 78 70 6c 69 63 69 74 6c 79 20 63  ed..Explicitly c
162f0 6c 6f 73 69 6e 67 20 73 74 61 6e 64 61 72 64 20  losing standard 
16300 63 68 61 6e 6e 65 6c 73 20 62 79 20 75 73 69 6e  channels by usin
16310 67 20 22 63 6c 6f 73 65 22 20 73 74 69 6c 6c 20  g "close" still 
16320 77 6f 72 6b 73 2e 20 28 4a 4c 29 0a 0a 35 2f 32  works. (JL)..5/2
16330 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 44  1/96 (bug fix) D
16340 6f 20 6e 6f 74 20 63 72 65 61 74 65 20 63 68 61  o not create cha
16350 6e 6e 65 6c 73 20 66 6f 72 20 73 74 64 69 6e 2c  nnels for stdin,
16360 20 73 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65   stdout and stde
16370 72 72 20 6f 6e 0a 55 6e 69 78 20 69 66 20 74 68  rr on.Unix if th
16380 65 20 64 65 76 69 63 65 73 20 61 72 65 20 63 6c  e devices are cl
16390 6f 73 65 64 2e 20 54 68 69 73 20 70 72 65 76 65  osed. This preve
163a0 6e 74 73 20 61 20 64 75 70 6c 69 63 61 74 65 20  nts a duplicate 
163b0 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 0a 70 61 6e  channel name.pan
163c0 69 63 20 6c 61 74 65 72 20 6f 6e 20 77 68 65 6e  ic later on when
163d0 20 74 68 65 20 66 64 20 69 73 20 75 73 65 64 20   the fd is used 
163e0 74 6f 20 6f 70 65 6e 20 61 20 63 68 61 6e 6e 65  to open a channe
163f0 6c 20 61 6e 64 20 74 68 65 20 63 68 61 6e 6e 65  l and the channe
16400 6c 20 69 73 0a 72 65 67 69 73 74 65 72 65 64 20  l is.registered 
16410 69 6e 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65  in an interprete
16420 72 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f 39 36  r. (JL)..5/23/96
16430 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
16440 20 62 75 67 20 74 68 61 74 20 70 72 65 76 65 6e   bug that preven
16450 74 65 64 20 74 68 65 20 75 73 65 20 6f 66 20 73  ted the use of s
16460 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 73  tandard channels
16470 20 69 6e 0a 69 6e 74 65 72 70 72 65 74 65 72 73   in.interpreters
16480 20 63 72 65 61 74 65 64 20 61 66 74 65 72 20 74   created after t
16490 68 65 20 6c 61 73 74 20 69 6e 74 65 72 70 72 65  he last interpre
164a0 74 65 72 20 77 61 73 20 64 65 73 74 72 6f 79 65  ter was destroye
164b0 64 2e 20 49 6e 20 74 68 65 20 73 65 71 75 65 6e  d. In the sequen
164c0 63 65 0a 0a 09 69 6e 74 65 72 70 20 3d 20 54 63  ce...interp = Tc
164d0 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70 28 29  l_CreateInterp()
164e0 3b 0a 09 54 63 6c 5f 44 65 6c 65 74 65 49 6e 74  ;..Tcl_DeleteInt
164f0 65 72 70 28 69 6e 74 65 72 70 29 3b 0a 09 69 6e  erp(interp);..in
16500 74 65 72 70 20 3d 20 54 63 6c 5f 43 72 65 61 74  terp = Tcl_Creat
16510 65 49 6e 74 65 72 70 28 29 3b 0a 0a 63 68 61 6e  eInterp();..chan
16520 6e 65 6c 73 20 66 6f 72 20 73 74 64 69 6f 20 77  nels for stdio w
16530 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 76 61 69  ould not be avai
16540 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 73 65 63  lable in the sec
16550 6f 6e 64 20 69 6e 74 65 72 70 72 65 74 65 72 2e  ond interpreter.
16560 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f 39 36 20 28   (JL)..5/23/96 (
16570 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
16580 75 67 20 74 68 61 74 20 61 6c 6c 6f 77 65 64 20  ug that allowed 
16590 54 63 6c 5f 4d 61 6b 65 46 69 6c 65 43 68 61 6e  Tcl_MakeFileChan
165a0 6e 65 6c 20 74 6f 20 63 72 65 61 74 65 20 6e 65  nel to create ne
165b0 77 0a 63 68 61 6e 6e 65 6c 73 20 77 69 74 68 20  w.channels with 
165c0 54 63 6c 5f 46 69 6c 65 73 20 69 6e 20 74 68 65  Tcl_Files in the
165d0 6d 20 74 68 61 74 20 61 72 65 20 61 6c 72 65 61  m that are alrea
165e0 64 79 20 75 73 65 64 20 62 79 20 61 6e 6f 74 68  dy used by anoth
165f0 65 72 20 63 68 61 6e 6e 65 6c 2e 0a 54 68 69 73  er channel..This
16600 20 77 6f 75 6c 64 20 63 61 75 73 65 20 63 6f 72   would cause cor
16610 65 20 64 75 6d 70 73 20 77 68 65 6e 20 74 68 65  e dumps when the
16620 20 54 63 6c 5f 46 69 6c 65 73 20 77 65 72 65 20   Tcl_Files were 
16630 62 65 69 6e 67 20 66 72 65 65 64 20 74 77 69 63  being freed twic
16640 65 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f 39 36  e. (JL)..5/23/96
16650 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
16660 20 61 20 6c 6f 67 69 63 61 6c 20 74 69 6d 69 6e   a logical timin
16670 67 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65  g bug that cause
16680 64 20 61 20 73 74 61 6e 64 61 72 64 20 63 68 61  d a standard cha
16690 6e 6e 65 6c 0a 74 6f 20 62 65 20 72 65 6d 6f 76  nnel.to be remov
166a0 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61 6e  ed from the stan
166b0 64 61 72 64 20 63 68 61 6e 6e 65 6c 20 74 61 62  dard channel tab
166c0 6c 65 20 74 6f 6f 20 65 61 72 6c 79 20 77 68 65  le too early whe
166d0 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c 0a 77 61  n the channel.wa
166e0 73 20 62 65 69 6e 67 20 63 6c 6f 73 65 64 2e 20  s being closed. 
166f0 49 66 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 77  If the channel w
16700 61 73 20 62 65 69 6e 67 20 66 6c 75 73 68 65 64  as being flushed
16710 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2c   asynchronously,
16720 20 69 74 20 63 6f 75 6c 64 0a 67 65 74 20 72 65   it could.get re
16730 63 72 65 61 74 65 64 20 62 65 66 6f 72 65 20 62  created before b
16740 65 69 6e 67 20 61 63 74 75 61 6c 6c 79 20 64 65  eing actually de
16750 73 74 72 6f 79 65 64 2c 20 61 6e 64 20 74 68 65  stroyed, and the
16760 20 72 65 63 72 65 61 74 65 64 20 63 68 61 6e 6e   recreated chann
16770 65 6c 0a 77 6f 75 6c 64 20 63 6f 6e 74 61 69 6e  el.would contain
16780 20 74 68 65 20 73 61 6d 65 20 54 63 6c 5f 46 69   the same Tcl_Fi
16790 6c 65 20 61 73 20 74 68 65 20 6f 6e 65 20 62 65  le as the one be
167a0 69 6e 67 20 63 6c 6f 73 65 64 2c 20 6c 65 61 64  ing closed, lead
167b0 69 6e 67 20 74 6f 0a 64 61 6e 67 6c 69 6e 67 20  ing to.dangling 
167c0 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 63 6f 72  pointers and cor
167d0 65 20 64 75 6d 70 73 2e 20 28 4a 4c 29 0a 0a 35  e dumps. (JL)..5
167e0 2f 32 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  /27/96 (bug fix)
167f0 20 46 69 78 65 64 20 61 20 62 75 67 20 69 6e 20   Fixed a bug in 
16800 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4f 70  Tcl_GetChannelOp
16810 74 69 6f 6e 20 77 68 69 63 68 20 63 61 75 73 65  tion which cause
16820 64 20 69 74 20 74 6f 0a 61 6c 77 61 79 73 20 72  d it to.always r
16830 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20  eturn a list of 
16840 6f 6e 65 20 65 6c 65 6d 65 6e 74 2c 20 61 20 6c  one element, a l
16850 69 73 74 20 6f 66 20 74 68 65 20 73 65 74 74 69  ist of the setti
16860 6e 67 73 2c 20 66 6f 72 0a 2d 74 72 61 6e 73 6c  ngs, for.-transl
16870 61 74 69 6f 6e 20 61 6e 64 20 2d 65 6f 66 63 68  ation and -eofch
16880 61 72 20 6f 70 74 69 6f 6e 73 2e 20 4e 6f 77 20  ar options. Now 
16890 63 6f 72 72 65 63 74 6c 79 20 72 65 74 75 72 6e  correctly return
168a0 73 20 74 68 65 20 76 61 6c 75 65 0a 64 65 73 63  s the value.desc
168b0 72 69 62 65 64 20 62 79 20 74 68 65 20 64 6f 63  ribed by the doc
168c0 75 6d 65 6e 74 61 74 69 6f 6e 20 28 4d 61 72 6b  umentation (Mark
168d0 20 44 69 65 6b 68 61 6e 73 20 66 6f 75 6e 64 20   Diekhans found 
168e0 74 68 69 73 2c 20 74 68 61 6e 6b 73 21 29 2e 20  this, thanks!). 
168f0 28 4a 4c 29 0a 0a 35 2f 33 30 2f 39 36 20 28 62  (JL)..5/30/96 (b
16900 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20  ug fix) Fixed a 
16910 63 6f 75 70 6c 65 20 6f 66 20 73 79 6e 74 61 78  couple of syntax
16920 20 65 72 72 6f 72 73 20 69 6e 20 69 6f 2e 74 65   errors in io.te
16930 73 74 2e 20 28 4a 4c 29 0a 0a 35 2f 33 30 2f 39  st. (JL)..5/30/9
16940 36 20 28 62 75 67 20 66 69 78 29 20 49 66 20 61  6 (bug fix) If a
16950 20 66 69 6c 65 65 76 65 6e 74 20 73 63 72 69 70   fileevent scrip
16960 74 73 20 67 65 74 73 20 61 6e 20 65 72 72 6f 72  ts gets an error
16970 2c 20 64 65 6c 65 74 65 20 69 74 20 62 65 66 6f  , delete it befo
16980 72 65 0a 63 61 75 73 69 6e 67 20 61 20 62 61 63  re.causing a bac
16990 6b 67 72 6f 75 6e 64 20 65 72 72 6f 72 2e 20 54  kground error. T
169a0 68 69 73 20 69 73 20 74 6f 20 61 6c 6c 6f 77 20  his is to allow 
169b0 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64 6c 65  the error handle
169c0 72 20 74 6f 20 72 65 69 6e 73 74 61 6c 6c 0a 74  r to reinstall.t
169d0 68 65 20 66 69 6c 65 65 76 65 6e 74 20 61 6e 64  he fileevent and
169e0 20 74 6f 20 70 72 65 76 65 6e 74 20 69 6e 66 69   to prevent infi
169f0 6e 69 74 65 20 6c 6f 6f 70 73 20 69 66 20 74 68  nite loops if th
16a00 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 69 73 20  e event loop is 
16a10 72 65 65 6e 74 65 72 65 64 0a 69 6e 20 74 68 65  reentered.in the
16a20 20 65 72 72 6f 72 20 68 61 6e 64 6c 65 72 2e 20   error handler. 
16a30 28 4a 4c 29 0a 0a 35 2f 33 31 2f 39 36 20 28 62  (JL)..5/31/96 (b
16a40 75 67 20 66 69 78 29 20 43 68 61 6e 6e 65 6c 73  ug fix) Channels
16a50 20 6e 6f 77 20 77 69 6c 6c 20 67 65 74 20 70 72   now will get pr
16a60 6f 70 65 72 6c 79 20 66 6c 75 73 68 65 64 20 6f  operly flushed o
16a70 6e 20 65 78 69 74 2e 20 28 4a 4c 29 0a 0a 36 2f  n exit. (JL)..6/
16a80 35 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43  5/96 (bug fix) C
16a90 68 61 6e 67 65 64 20 54 63 6c 5f 43 6b 61 6c 6c  hanged Tcl_Ckall
16aa0 6f 63 2c 20 54 63 6c 5f 43 6b 66 72 65 65 2c 20  oc, Tcl_Ckfree, 
16ab0 61 6e 64 20 54 63 6c 5f 43 6b 72 65 61 6c 6c 6f  and Tcl_Ckreallo
16ac0 63 20 74 6f 0a 54 63 6c 5f 41 6c 6c 6f 63 2c 20  c to.Tcl_Alloc, 
16ad0 54 63 6c 5f 46 72 65 65 2c 20 61 6e 64 20 54 63  Tcl_Free, and Tc
16ae0 6c 5f 52 65 61 6c 6c 6f 63 2e 20 20 41 64 64 65  l_Realloc.  Adde
16af0 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  d documentation 
16b00 66 6f 72 20 74 68 65 73 65 0a 72 6f 75 74 69 6e  for these.routin
16b10 65 73 20 6e 6f 77 20 74 68 61 74 20 74 68 65 79  es now that they
16b20 20 61 72 65 20 6f 66 66 69 63 69 61 6c 6c 79 20   are officially 
16b30 73 75 70 70 6f 72 74 65 64 2e 20 20 45 78 74 65  supported.  Exte
16b40 6e 73 69 6f 6e 20 77 72 69 74 65 72 73 0a 73 68  nsion writers.sh
16b50 6f 75 6c 64 20 75 73 65 20 74 68 65 73 65 20 72  ould use these r
16b60 6f 75 74 69 6e 65 73 20 69 6e 73 74 65 61 64 20  outines instead 
16b70 6f 66 20 66 72 65 65 28 29 20 61 6e 64 20 6d 61  of free() and ma
16b80 6c 6c 6f 63 28 29 2e 20 28 53 53 29 0a 0a 36 2f  lloc(). (SS)..6/
16b90 31 30 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  10/96 (bug fix) 
16ba0 43 68 61 6e 67 65 73 20 74 68 65 20 54 63 6c 20  Changes the Tcl 
16bb0 63 6c 6f 73 65 20 63 6f 6d 6d 61 6e 64 20 73 6f  close command so
16bc0 20 74 68 61 74 20 69 74 20 6e 6f 20 6c 6f 6e 67   that it no long
16bd0 65 72 0a 77 61 69 74 73 20 6f 6e 20 6e 6f 6e 62  er.waits on nonb
16be0 6c 6f 63 6b 69 6e 67 20 70 69 70 65 73 20 66 6f  locking pipes fo
16bf0 72 20 74 68 65 20 70 69 70 65 64 20 70 72 6f 63  r the piped proc
16c00 65 73 73 65 73 20 74 6f 20 65 78 69 74 3b 20 69  esses to exit; i
16c10 6e 73 74 65 61 64 20 69 74 0a 72 65 61 70 73 20  nstead it.reaps 
16c20 74 68 65 6d 20 69 6e 20 74 68 65 20 62 61 63 6b  them in the back
16c30 67 72 6f 75 6e 64 2e 20 28 4a 4c 29 0a 0a 36 2f  ground. (JL)..6/
16c40 31 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  11/96 (bug fix) 
16c50 49 6e 63 72 65 61 73 65 64 20 74 68 65 20 6c 65  Increased the le
16c60 6e 67 74 68 20 6f 66 20 74 68 65 20 6c 69 73 74  ngth of the list
16c70 65 6e 20 71 75 65 75 65 20 66 6f 72 20 73 65 72  en queue for ser
16c80 76 65 72 0a 73 6f 63 6b 65 74 73 20 6f 6e 20 55  ver.sockets on U
16c90 6e 69 78 20 66 72 6f 6d 20 35 20 74 6f 20 31 30  nix from 5 to 10
16ca0 30 2e 20 53 6f 6d 65 20 4f 53 65 73 20 77 69 6c  0. Some OSes wil
16cb0 6c 20 64 69 73 72 65 67 61 72 64 20 74 68 69 73  l disregard this
16cc0 20 61 6e 64 20 72 65 73 65 74 20 69 74 0a 74 6f   and reset it.to
16cd0 20 35 2c 20 62 75 74 20 77 65 20 73 68 6f 75 6c   5, but we shoul
16ce0 64 20 74 72 79 20 74 6f 20 67 65 74 20 61 73 20  d try to get as 
16cf0 6c 6f 6e 67 20 61 20 71 75 65 75 65 20 61 73 20  long a queue as 
16d00 77 65 20 63 61 6e 2c 20 66 6f 72 20 70 65 72 66  we can, for perf
16d10 6f 72 6d 61 6e 63 65 0a 72 65 61 73 6f 6e 73 2e  ormance.reasons.
16d20 20 28 4a 4c 29 0a 0a 36 2f 31 31 2f 39 36 20 28   (JL)..6/11/96 (
16d30 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 77  bug fix) Fixed w
16d40 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 62  indows sockets b
16d50 75 67 20 74 68 61 74 20 63 61 75 73 65 64 20 61  ug that caused a
16d60 20 63 61 73 63 61 64 65 20 6f 66 20 65 76 65 6e   cascade of even
16d70 74 73 0a 69 66 20 74 68 65 20 66 69 6c 65 65 76  ts.if the fileev
16d80 65 6e 74 20 73 63 72 69 70 74 20 72 65 61 64 20  ent script read 
16d90 6c 65 73 73 20 74 68 61 6e 20 77 61 73 20 61 76  less than was av
16da0 61 69 6c 61 62 6c 65 2e 20 4e 6f 77 20 72 65 61  ailable. Now rea
16db0 64 69 6e 67 20 6c 65 73 73 20 74 68 61 6e 0a 69  ding less than.i
16dc0 73 20 61 76 61 69 6c 61 62 6c 65 20 64 6f 65 73  s available does
16dd0 20 6e 6f 74 20 63 61 75 73 65 20 61 20 66 6c 6f   not cause a flo
16de0 6f 64 20 6f 66 20 54 63 6c 20 65 76 65 6e 74 73  od of Tcl events
16df0 2e 20 28 4a 4c 2c 20 53 53 29 0a 0a 36 2f 31 31  . (JL, SS)..6/11
16e00 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
16e10 78 65 64 20 62 75 67 20 69 6e 20 62 61 63 6b 67  xed bug in backg
16e20 72 6f 75 6e 64 20 66 6c 75 73 68 69 6e 67 20 6f  round flushing o
16e30 6e 20 63 6c 6f 73 65 64 20 63 68 61 6e 6e 65 6c  n closed channel
16e40 73 20 74 68 61 74 0a 77 6f 75 6c 64 20 70 72 65  s that.would pre
16e50 76 65 6e 74 20 74 68 65 20 6c 61 73 74 20 62 75  vent the last bu
16e60 66 66 65 72 20 66 72 6f 6d 20 67 65 74 74 69 6e  ffer from gettin
16e70 67 20 66 6c 75 73 68 65 64 2e 20 28 4a 4c 29 0a  g flushed. (JL).
16e80 0a 36 2f 31 33 2f 39 36 20 28 62 75 67 20 66 69  .6/13/96 (bug fi
16e90 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
16ea0 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20  Windows sockets 
16eb0 74 68 61 74 20 63 61 75 73 65 64 20 61 20 63 6f  that caused a co
16ec0 72 65 20 64 75 6d 70 20 69 66 0a 61 20 44 4c 4c  re dump if.a DLL
16ed0 20 6c 69 6e 6b 65 64 20 77 69 74 68 20 74 63 6c   linked with tcl
16ee0 2e 64 6c 6c 20 61 6e 64 20 72 65 66 65 72 72 65  .dll and referre
16ef0 64 20 74 6f 20 65 2e 67 2e 20 6e 74 6f 68 73 28  d to e.g. ntohs(
16f00 29 20 77 69 74 68 6f 75 74 20 6f 70 65 6e 69 6e  ) without openin
16f10 67 20 61 0a 54 63 6c 20 73 6f 63 6b 65 74 2e 20  g a.Tcl socket. 
16f20 54 68 65 20 70 72 6f 62 6c 65 6d 20 77 61 73 20  The problem was 
16f30 74 68 61 74 20 74 68 65 20 69 6e 64 69 72 65 63  that the indirec
16f40 74 69 6f 6e 20 74 61 62 6c 65 20 77 61 73 20 6e  tion table was n
16f50 6f 74 20 62 65 69 6e 67 0a 69 6e 69 74 69 61 6c  ot being.initial
16f60 69 7a 65 64 2e 20 28 4a 4c 29 0a 0a 36 2f 31 33  ized. (JL)..6/13
16f70 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
16f80 78 65 64 20 4f 53 20 6c 65 76 65 6c 20 72 65 73  xed OS level res
16f90 6f 75 72 63 65 20 6c 65 61 6b 20 74 68 61 74 20  ource leak that 
16fa0 77 6f 75 6c 64 20 6f 63 63 75 72 20 77 68 65 6e  would occur when
16fb0 20 61 0a 54 63 6c 20 63 68 61 6e 6e 65 6c 20 77   a.Tcl channel w
16fc0 61 73 20 73 74 69 6c 6c 20 72 65 67 69 73 74 65  as still registe
16fd0 72 65 64 20 69 6e 20 73 6f 6d 65 20 69 6e 74 65  red in some inte
16fe0 72 70 72 65 74 65 72 20 77 68 65 6e 20 74 68 65  rpreter when the
16ff0 20 70 72 6f 63 65 73 73 0a 65 78 69 74 73 2e 20   process.exits. 
17000 50 72 65 76 69 6f 75 73 6c 79 20 74 68 65 20 63  Previously the c
17010 68 61 6e 6e 65 6c 20 77 61 73 20 6e 6f 74 20 62  hannel was not b
17020 65 69 6e 67 20 63 6c 6f 73 65 64 20 61 6e 64 20  eing closed and 
17030 74 68 65 20 4f 53 20 6c 65 76 65 6c 20 68 61 6e  the OS level han
17040 64 6c 65 73 0a 77 65 72 65 20 6e 6f 74 20 62 65  dles.were not be
17050 69 6e 67 20 72 65 6c 65 61 73 65 64 3b 20 74 68  ing released; th
17060 65 20 6f 75 74 70 75 74 20 77 61 73 20 62 65 69  e output was bei
17070 6e 67 20 66 6c 75 73 68 65 64 20 62 75 74 20 74  ng flushed but t
17080 68 65 20 64 65 76 69 63 65 20 77 61 73 0a 6e 6f  he device was.no
17090 74 20 62 65 69 6e 67 20 63 6c 6f 73 65 64 2e 20  t being closed. 
170a0 4e 6f 77 20 74 68 65 20 64 65 76 69 63 65 20 69  Now the device i
170b0 73 20 70 72 6f 70 65 72 6c 79 20 63 6c 6f 73 65  s properly close
170c0 64 2e 20 54 68 69 73 20 77 61 73 20 6f 6e 6c 79  d. This was only
170d0 20 61 0a 70 72 6f 62 6c 65 6d 20 6f 6e 20 57 69   a.problem on Wi
170e0 6e 33 2e 31 20 61 6e 64 20 4d 61 63 4f 53 2e 20  n3.1 and MacOS. 
170f0 28 4a 4c 2c 20 53 53 29 0a 0a 36 2f 32 38 2f 39  (JL, SS)..6/28/9
17100 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
17110 64 20 62 75 67 20 77 68 65 72 65 20 74 72 61 6e  d bug where tran
17120 73 69 65 6e 74 20 65 72 72 6f 72 73 20 77 65 72  sient errors wer
17130 65 20 6c 65 61 76 69 6e 67 20 61 6e 20 65 72 72  e leaving an err
17140 6f 72 0a 63 6f 64 65 20 61 72 6f 75 6e 64 2c 20  or.code around, 
17150 73 6f 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64  so that it would
17160 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20 67 65 74   erroneously get
17170 20 72 65 70 6f 72 74 65 64 20 6c 61 74 65 72 2e   reported later.
17180 20 54 68 69 73 20 62 75 67 20 77 61 73 0a 65 78   This bug was.ex
17190 65 72 63 69 73 65 64 20 69 6e 74 65 72 6d 69 74  ercised intermit
171a0 74 65 6e 74 6c 79 20 62 79 20 63 6c 6f 73 69 6e  tently by closin
171b0 67 20 61 20 63 68 61 6e 6e 65 6c 20 74 6f 20 61  g a channel to a
171c0 20 66 69 6c 65 20 6f 6e 20 61 20 76 65 72 79 20   file on a very 
171d0 6c 6f 61 64 65 64 0a 4e 46 53 20 73 65 72 76 65  loaded.NFS serve
171e0 72 2c 20 6f 72 20 74 6f 20 61 20 73 6f 63 6b 65  r, or to a socke
171f0 74 20 77 68 6f 73 65 20 6f 74 68 65 72 20 65 6e  t whose other en
17200 64 20 62 6c 6f 63 6b 65 64 2e 20 28 4a 4c 2c 20  d blocked. (JL, 
17210 42 57 29 0a 0a 37 2f 33 2f 39 36 20 28 62 75 67  BW)..7/3/96 (bug
17220 20 66 69 78 29 20 46 69 6c 65 65 76 65 6e 74 73   fix) Fileevents
17230 20 64 65 63 6c 61 72 65 64 20 69 6e 20 61 6e 20   declared in an 
17240 69 6e 74 65 72 70 72 65 74 65 72 20 61 72 65 20  interpreter are 
17250 6e 6f 77 20 64 65 6c 65 74 65 64 0a 77 68 65 6e  now deleted.when
17260 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 73 20   the channel is 
17270 63 6c 6f 73 65 64 20 69 6e 20 74 68 61 74 20 69  closed in that i
17280 6e 74 65 72 70 72 65 74 65 72 2e 20 42 65 66 6f  nterpreter. Befo
17290 72 65 20 74 68 69 73 20 66 69 78 2c 20 74 68 65  re this fix, the
172a0 0a 66 69 6c 65 65 76 65 6e 74 20 77 6f 75 6c 64  .fileevent would
172b0 20 68 61 6e 67 20 61 72 6f 75 6e 64 20 75 6e 74   hang around unt
172c0 69 6c 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69  il the channel i
172d0 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 63 6c 6f  s completely clo
172e0 73 65 64 2c 20 61 6e 64 0a 77 6f 75 6c 64 20 63  sed, and.would c
172f0 61 75 73 65 20 65 72 72 6f 72 73 20 69 66 20 65  ause errors if e
17300 76 65 6e 74 73 20 68 61 70 70 65 6e 65 64 20 62  vents happened b
17310 65 66 6f 72 65 20 74 68 65 20 63 68 61 6e 6e 65  efore the channe
17320 6c 20 77 61 73 20 63 6c 6f 73 65 64 2e 20 54 68  l was closed. Th
17330 69 73 0a 63 6f 75 6c 64 20 68 61 70 70 65 6e 20  is.could happen 
17340 69 6e 20 74 77 6f 20 63 61 73 65 73 3a 20 66 69  in two cases: fi
17350 72 73 74 20 69 66 20 74 68 65 20 63 68 61 6e 6e  rst if the chann
17360 65 6c 20 69 73 20 73 68 61 72 65 64 20 62 65 74  el is shared bet
17370 77 65 65 6e 20 73 65 76 65 72 61 6c 0a 69 6e 74  ween several.int
17380 65 72 70 72 65 74 65 72 73 2c 20 61 6e 64 20 73  erpreters, and s
17390 65 63 6f 6e 64 20 69 66 20 61 6e 20 61 73 79 6e  econd if an asyn
173a0 63 20 66 6c 75 73 68 20 69 73 20 69 6e 20 70 72  c flush is in pr
173b0 6f 67 72 65 73 73 20 74 68 61 74 20 70 72 65 76  ogress that prev
173c0 65 6e 74 73 20 74 68 65 0a 63 68 61 6e 6e 65 6c  ents the.channel
173d0 20 66 72 6f 6d 20 62 65 69 6e 67 20 63 6c 6f 73   from being clos
173e0 65 64 20 75 6e 74 69 6c 20 74 68 65 20 66 6c 75  ed until the flu
173f0 73 68 20 66 69 6e 69 73 68 65 73 2e 20 28 4a 4c  sh finishes. (JL
17400 29 0a 0a 37 2f 31 30 2f 39 36 20 28 62 75 67 20  )..7/10/96 (bug 
17410 66 69 78 29 20 46 69 78 65 64 20 62 75 67 73 20  fix) Fixed bugs 
17420 69 6e 20 62 6f 74 68 20 22 6c 72 61 6e 67 65 22  in both "lrange"
17430 20 61 6e 64 20 22 6c 72 65 70 6c 61 63 65 22 20   and "lreplace" 
17440 63 6f 6d 6d 61 6e 64 73 0a 77 68 65 72 65 20 74  commands.where t
17450 6f 6f 20 6d 75 63 68 20 77 68 69 74 65 20 73 70  oo much white sp
17460 61 63 65 20 77 61 73 20 62 65 69 6e 67 20 72 65  ace was being re
17470 6d 6f 76 65 64 2e 20 46 6f 72 20 65 78 61 6d 70  moved. For examp
17480 6c 65 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a  le, the command.
17490 09 09 6c 72 65 70 6c 61 63 65 20 7b 5c 7d 5c 20  ..lreplace {\}\ 
174a0 20 20 20 20 68 65 6c 6c 6f 7d 20 65 6e 64 20 65      hello} end e
174b0 6e 64 0a 77 61 73 20 72 65 74 75 72 6e 69 6e 67  nd.was returning
174c0 20 22 5c 7d 5c 22 2c 20 6c 6f 73 69 6e 67 20 74   "\}\", losing t
174d0 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 73  he significant s
174e0 70 61 63 65 20 69 6e 20 74 68 65 20 66 69 72 73  pace in the firs
174f0 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e 74 20 61  t list.element a
17500 6e 64 20 63 6f 72 72 75 70 74 69 6e 67 20 74 68  nd corrupting th
17510 65 20 6c 69 73 74 2e 20 28 4a 4f 29 0a 0a 37 2f  e list. (JO)..7/
17520 32 30 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  20/96 (bug fix) 
17530 54 68 65 20 70 72 6f 63 65 64 75 72 65 20 70 6b  The procedure pk
17540 67 5f 6d 6b 49 6e 64 65 78 20 64 69 64 6e 27 74  g_mkIndex didn't
17550 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c 79 20 66   work properly f
17560 6f 72 0a 65 78 74 65 6e 73 69 6f 6e 73 20 74 68  or.extensions th
17570 61 74 20 64 65 70 65 6e 64 20 6f 6e 20 54 6b 2c  at depend on Tk,
17580 20 62 65 63 61 75 73 65 20 69 74 20 64 69 64 6e   because it didn
17590 27 74 20 6c 6f 61 64 20 54 6b 20 69 6e 74 6f 20  't load Tk into 
175a0 74 68 65 20 63 68 69 6c 64 0a 69 6e 74 65 72 70  the child.interp
175b0 72 65 74 65 72 20 62 65 66 6f 72 65 20 6c 6f 61  reter before loa
175c0 64 69 6e 67 20 74 68 65 20 65 78 74 65 6e 73 69  ding the extensi
175d0 6f 6e 2e 20 20 4e 6f 77 20 69 74 20 6c 6f 61 64  on.  Now it load
175e0 73 20 54 6b 20 69 66 20 54 6b 20 69 73 0a 70 72  s Tk if Tk is.pr
175f0 65 73 65 6e 74 20 69 6e 20 74 68 65 20 70 61 72  esent in the par
17600 65 6e 74 2e 20 28 4a 4f 29 0a 0a 37 2f 32 33 2f  ent. (JO)..7/23/
17610 39 36 20 28 62 75 67 20 66 69 78 29 20 41 64 64  96 (bug fix) Add
17620 65 64 20 63 6f 6d 70 61 74 20 76 65 72 73 69 6f  ed compat versio
17630 6e 20 6f 66 20 73 74 72 66 74 69 6d 65 20 74 6f  n of strftime to
17640 20 66 69 78 20 63 72 61 73 68 65 73 0a 72 65 73   fix crashes.res
17650 75 6c 74 69 6e 67 20 66 72 6f 6d 20 62 61 64 20  ulting from bad 
17660 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20  implementations 
17670 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 28  under Windows. (
17680 53 53 29 0a 0a 37 2f 32 33 2f 39 36 20 28 62 75  SS)..7/23/96 (bu
17690 67 20 66 69 78 29 20 53 74 61 6e 64 61 72 64 20  g fix) Standard 
176a0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20  implementations 
176b0 6f 66 20 67 6d 74 69 6d 65 28 29 20 61 6e 64 20  of gmtime() and 
176c0 6c 6f 63 61 6c 74 69 6d 65 28 29 0a 75 6e 64 65  localtime().unde
176d0 72 20 57 69 6e 64 6f 77 73 20 64 69 64 20 6e 6f  r Windows did no
176e0 74 20 68 61 6e 64 6c 65 20 64 61 74 65 73 20 62  t handle dates b
176f0 65 66 6f 72 65 20 31 39 37 30 2c 20 73 6f 20 74  efore 1970, so t
17700 68 65 79 20 77 65 72 65 20 72 65 70 6c 61 63 65  hey were replace
17710 64 0a 77 69 74 68 20 61 20 72 65 76 69 73 65 64  d.with a revised
17720 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e   implementation.
17730 20 28 53 53 29 0a 0a 37 2f 32 33 2f 39 36 20 28   (SS)..7/23/96 (
17740 62 75 67 20 66 69 78 29 20 54 63 6c 20 77 6f 75  bug fix) Tcl wou
17750 6c 64 20 63 72 61 73 68 20 6f 6e 20 65 78 69 74  ld crash on exit
17760 20 75 6e 64 65 72 20 42 6f 72 6c 61 6e 64 20 35   under Borland 5
17770 2e 30 20 62 65 63 61 75 73 65 0a 74 68 65 20 67  .0 because.the g
17780 6c 6f 62 61 6c 20 65 6e 76 69 72 6f 6e 20 70 6f  lobal environ po
17790 69 6e 74 65 72 20 77 61 73 20 6c 65 66 74 20 70  inter was left p
177a0 6f 69 6e 74 69 6e 67 20 74 6f 20 66 72 65 65 64  ointing to freed
177b0 20 6d 65 6d 6f 72 79 2e 20 28 53 53 29 0a 0a 37   memory. (SS)..7
177c0 2f 32 39 2f 39 36 20 28 62 75 67 20 66 69 78 29  /29/96 (bug fix)
177d0 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65   Fixed memory le
177e0 61 6b 20 69 6e 20 54 63 6c 5f 4c 6f 61 64 43 6d  ak in Tcl_LoadCm
177f0 64 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63  d that could occ
17800 75 72 20 69 66 0a 61 20 70 61 63 6b 61 67 65 27  ur if.a package'
17810 73 20 41 70 70 49 6e 69 74 20 70 72 6f 63 65 64  s AppInit proced
17820 75 72 65 20 63 61 6c 6c 65 64 20 54 63 6c 5f 53  ure called Tcl_S
17830 74 61 74 69 63 50 61 63 6b 61 67 65 20 74 6f 20  taticPackage to 
17840 72 65 67 69 73 74 65 72 0a 73 74 61 74 69 63 20  register.static 
17850 70 61 63 6b 61 67 65 73 2e 20 28 4a 4f 29 0a 0a  packages. (JO)..
17860 38 2f 31 2f 39 36 20 28 62 75 67 20 66 69 78 29  8/1/96 (bug fix)
17870 20 46 69 78 65 64 20 61 20 73 65 72 69 65 73 20   Fixed a series 
17880 6f 66 20 62 75 67 73 20 69 6e 20 57 69 6e 64 6f  of bugs in Windo
17890 77 73 20 73 6f 63 6b 65 74 73 20 73 6f 20 74 68  ws sockets so th
178a0 61 74 20 61 73 79 6e 63 0a 77 72 69 74 65 62 65  at async.writebe
178b0 68 69 6e 64 20 69 6e 20 74 68 65 20 70 72 65 73  hind in the pres
178c0 65 6e 63 65 20 6f 66 20 72 65 61 64 20 65 76 65  ence of read eve
178d0 6e 74 20 68 61 6e 64 6c 65 72 73 20 6e 6f 77 20  nt handlers now 
178e0 77 6f 72 6b 73 2c 20 61 6e 64 20 73 6f 20 74 68  works, and so th
178f0 61 74 0a 61 73 79 6e 63 20 77 72 69 74 65 62 65  at.async writebe
17900 68 69 6e 64 20 61 6c 73 6f 20 77 6f 72 6b 73 20  hind also works 
17910 6f 6e 20 73 6f 63 6b 65 74 73 20 66 6f 72 20 77  on sockets for w
17920 68 69 63 68 20 61 20 72 65 61 64 20 65 76 65 6e  hich a read even
17930 74 20 68 61 6e 64 6c 65 72 20 77 61 73 0a 64 65  t handler was.de
17940 63 6c 61 72 65 64 20 61 6e 64 20 77 68 6f 73 65  clared and whose
17950 20 63 68 61 6e 6e 65 6c 73 20 77 65 72 65 20 74   channels were t
17960 68 65 6e 20 63 6c 6f 73 65 64 20 62 65 66 6f 72  hen closed befor
17970 65 20 74 68 65 20 61 73 79 6e 63 20 77 72 69 74  e the async writ
17980 65 0a 66 69 6e 69 73 68 65 64 2e 20 54 68 65 20  e.finished. The 
17990 62 75 67 20 77 61 73 20 72 65 70 6f 72 74 65 64  bug was reported
179a0 20 62 79 20 4a 6f 68 6e 20 4c 6f 76 65 72 73 6f   by John Loverso
179b0 20 61 6e 64 20 53 74 65 76 65 6e 20 57 61 68 6c   and Steven Wahl
179c0 2c 0a 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 2c  ,.independently,
179d0 20 74 65 73 74 20 63 61 73 65 20 73 75 70 70 6c   test case suppl
179e0 69 65 64 20 62 79 20 4a 6f 68 6e 20 4c 6f 76 65  ied by John Love
179f0 72 73 6f 2e 20 28 4a 4c 29 0a 0a 2d 2d 2d 2d 2d  rso. (JL)..-----
17a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
17a10 65 61 73 65 64 20 70 61 74 63 68 20 37 2e 35 70  eased patch 7.5p
17a20 31 2c 20 38 2f 32 2f 39 36 20 2d 2d 2d 2d 2d 2d  1, 8/2/96 ------
17a30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
17a40 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65 77 20 66  -..5/8/96 (new f
17a50 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63  eature) Added Tc
17a60 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4d 6f 64 65  l_GetChannelMode
17a70 20 43 20 41 50 49 20 66 6f 72 20 72 65 74 72 69   C API for retri
17a80 65 76 69 6e 67 20 77 68 65 74 68 65 72 0a 61 20  eving whether.a 
17a90 63 68 61 6e 6e 65 6c 20 69 73 20 6f 70 65 6e 20  channel is open 
17aa0 66 6f 72 20 72 65 61 64 69 6e 67 20 61 6e 64 20  for reading and 
17ab0 77 72 69 74 69 6e 67 2e 20 28 4a 4c 29 0a 0a 35  writing. (JL)..5
17ac0 2f 38 2f 39 36 20 28 41 50 49 20 63 68 61 6e 67  /8/96 (API chang
17ad0 65 73 29 20 52 65 76 69 73 65 64 20 43 20 41 50  es) Revised C AP
17ae0 49 73 20 66 6f 72 20 63 68 61 6e 6e 65 6c 20 64  Is for channel d
17af0 72 69 76 65 72 73 3a 0a 20 20 20 20 2d 20 52 65  rivers:.    - Re
17b00 6d 6f 76 65 64 20 61 6c 6c 20 54 63 6c 5f 46 69  moved all Tcl_Fi
17b10 6c 65 73 20 66 72 6f 6d 20 63 68 61 6e 6e 65 6c  les from channel
17b20 20 64 72 69 76 65 72 20 69 6e 74 65 72 66 61 63   driver interfac
17b30 65 3b 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20 68  e; you can now h
17b40 61 76 65 0a 20 20 20 20 20 20 63 68 61 6e 6e 65  ave.      channe
17b50 6c 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20  ls that are not 
17b60 62 61 73 65 64 20 6f 6e 20 54 63 6c 5f 46 69 6c  based on Tcl_Fil
17b70 65 73 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20  es..    - Added 
17b80 63 68 61 6e 6e 65 6c 52 65 61 64 79 50 72 6f 63  channelReadyProc
17b90 20 61 6e 64 20 77 61 74 63 68 43 68 61 6e 6e 65   and watchChanne
17ba0 6c 50 72 6f 63 20 70 72 6f 63 65 64 75 72 65 73  lProc procedures
17bb0 20 74 6f 20 69 6e 74 65 72 66 61 63 65 3b 0a 20   to interface;. 
17bc0 20 20 20 20 20 74 68 65 73 65 20 61 72 65 20 75       these are u
17bd0 73 65 64 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74  sed to implement
17be0 20 65 76 65 6e 74 20 6e 6f 74 69 66 69 63 61 74   event notificat
17bf0 69 6f 6e 20 66 6f 72 20 63 68 61 6e 6e 65 6c 73  ion for channels
17c00 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 67 65  ..    - Added ge
17c10 74 46 69 6c 65 50 72 6f 63 20 74 6f 20 63 68 61  tFileProc to cha
17c20 6e 6e 65 6c 20 64 72 69 76 65 72 2c 20 74 6f 20  nnel driver, to 
17c30 61 6c 6c 6f 77 20 74 68 65 20 67 65 6e 65 72 69  allow the generi
17c40 63 20 49 4f 20 63 6f 64 65 0a 20 20 20 20 20 20  c IO code.      
17c50 74 6f 20 72 65 74 72 69 65 76 65 20 61 20 54 63  to retrieve a Tc
17c60 6c 5f 46 69 6c 65 20 66 72 6f 6d 20 61 20 63 68  l_File from a ch
17c70 61 6e 6e 65 6c 20 28 70 72 65 73 75 6d 61 62 6c  annel (presumabl
17c80 79 20 69 66 20 74 68 65 20 63 68 61 6e 6e 65 6c  y if the channel
17c90 0a 20 20 20 20 20 20 75 73 65 73 20 54 63 6c 5f  .      uses Tcl_
17ca0 46 69 6c 65 73 20 74 68 65 79 20 77 69 6c 6c 20  Files they will 
17cb0 62 65 20 73 74 6f 72 65 64 20 69 6e 73 69 64 65  be stored inside
17cc0 20 69 74 73 20 69 6e 73 74 61 6e 63 65 44 61 74   its instanceDat
17cd0 61 29 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43  a). (JL).*** INC
17ce0 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
17cf0 68 20 54 63 6c 20 37 2e 35 20 2a 2a 2a 0a 0a 35  h Tcl 7.5 ***..5
17d00 2f 38 2f 39 36 20 28 41 50 49 20 63 68 61 6e 67  /8/96 (API chang
17d10 65 29 20 54 68 65 20 54 63 6c 5f 43 72 65 61 74  e) The Tcl_Creat
17d20 65 43 68 61 6e 6e 65 6c 20 43 20 41 50 49 20 77  eChannel C API w
17d30 61 73 20 6d 6f 64 69 66 69 65 64 20 74 6f 20 6e  as modified to n
17d40 6f 74 20 74 61 6b 65 0a 54 63 6c 5f 46 69 6c 65  ot take.Tcl_File
17d50 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20   arguments, and 
17d60 69 6e 73 74 65 61 64 20 74 6f 20 74 61 6b 65 20  instead to take 
17d70 61 20 6d 61 73 6b 20 73 70 65 63 69 66 79 69 6e  a mask specifyin
17d80 67 20 77 68 65 74 68 65 72 20 74 68 65 0a 63 68  g whether the.ch
17d90 61 6e 6e 65 6c 20 69 73 20 72 65 61 64 61 62 6c  annel is readabl
17da0 65 20 61 6e 64 2f 6f 72 20 77 72 69 74 61 62 6c  e and/or writabl
17db0 65 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f  e. (JL).*** INCO
17dc0 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
17dd0 20 54 63 6c 20 37 2e 35 20 2a 2a 2a 0a 0a 36 2f   Tcl 7.5 ***..6/
17de0 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 4d  3/96 (bug fix) M
17df0 61 64 65 20 54 63 6c 5f 53 65 74 56 61 72 32 20  ade Tcl_SetVar2 
17e00 72 6f 62 75 73 74 20 61 67 61 69 6e 73 74 20 74  robust against t
17e10 68 65 20 63 61 73 65 20 77 68 65 72 65 20 74 68  he case where th
17e20 65 20 76 61 6c 75 65 0a 6f 66 20 74 68 65 20 76  e value.of the v
17e30 61 72 69 61 62 6c 65 20 69 73 20 61 20 4e 55 4c  ariable is a NUL
17e40 4c 20 70 6f 69 6e 74 65 72 20 69 6e 73 74 65 61  L pointer instea
17e50 64 20 6f 66 20 22 22 2e 20 28 4a 4c 29 0a 0a 36  d of "". (JL)..6
17e60 2f 31 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  /17/96 (bug fix)
17e70 20 46 69 78 65 64 20 22 72 65 61 64 69 6e 67 20   Fixed "reading 
17e80 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d 65  uninitialized me
17e90 6d 6f 72 79 22 20 65 72 72 6f 72 20 72 65 70 6f  mory" error repo
17ea0 72 74 65 64 20 62 79 0a 50 75 72 69 66 79 2c 20  rted by.Purify, 
17eb0 69 6e 20 54 63 6c 5f 50 72 65 73 65 72 76 65 2f  in Tcl_Preserve/
17ec0 54 63 6c 5f 52 65 6c 65 61 73 65 2e 20 28 4a 4c  Tcl_Release. (JL
17ed0 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75 67 20 66  )..8/9/96 (bug f
17ee0 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
17ef0 20 69 6e 69 74 2e 74 63 6c 20 74 68 61 74 20 63   init.tcl that c
17f00 61 75 73 65 64 20 69 6e 63 6f 72 72 65 63 74 20  aused incorrect 
17f10 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0a 69 66  error message.if
17f20 20 74 68 65 20 61 63 74 20 6f 66 20 61 75 74 6f   the act of auto
17f30 6c 6f 61 64 69 6e 67 20 61 20 70 72 6f 63 65 64  loading a proced
17f40 75 72 65 20 63 61 75 73 65 64 20 74 68 65 20 70  ure caused the p
17f50 72 6f 63 65 64 75 72 65 20 74 6f 20 62 65 20 69  rocedure to be i
17f60 6e 76 6f 6b 65 64 0a 61 67 61 69 6e 2e 20 28 4a  nvoked.again. (J
17f70 4f 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75 67 20  O)..8/9/96 (bug 
17f80 66 69 78 29 20 43 6f 6e 66 69 67 75 72 65 20 73  fix) Configure s
17f90 63 72 69 70 74 20 70 72 6f 64 75 63 65 64 20 62  cript produced b
17fa0 61 64 20 6c 69 62 72 61 72 79 20 6e 61 6d 65 73  ad library names
17fb0 20 61 6e 64 20 65 78 74 65 6e 73 69 6f 6e 73 0a   and extensions.
17fc0 75 6e 64 65 72 20 53 75 6e 4f 53 20 61 6e 64 20  under SunOS and 
17fd0 61 20 66 65 77 20 6f 74 68 65 72 20 70 6c 61 74  a few other plat
17fe0 66 6f 72 6d 73 20 69 66 20 74 68 65 20 2d 2d 64  forms if the --d
17ff0 69 73 61 62 6c 65 2d 6c 6f 61 64 20 73 77 69 74  isable-load swit
18000 63 68 20 77 61 73 20 75 73 65 64 2e 0a 28 4a 4f  ch was used..(JO
18010 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75 67 20 66  )..8/9/96 (bug f
18020 69 78 29 20 54 63 6c 5f 55 70 64 61 74 65 4c 69  ix) Tcl_UpdateLi
18030 6e 6b 65 64 56 61 72 20 67 65 6e 65 72 61 74 65  nkedVar generate
18040 64 20 61 6e 20 65 72 72 6f 72 20 69 66 20 74 68  d an error if th
18050 65 20 76 61 72 69 61 62 6c 65 0a 62 65 69 6e 67  e variable.being
18060 20 75 70 64 61 74 65 64 20 77 61 73 20 72 65 61   updated was rea
18070 64 2d 6f 6e 6c 79 2e 20 28 4a 4f 29 0a 0a 38 2f  d-only. (JO)..8/
18080 31 34 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  14/96 (bug fix) 
18090 54 68 65 20 6d 61 63 69 6e 74 6f 73 68 20 6e 6f  The macintosh no
180a0 77 20 73 75 70 70 6f 72 74 73 20 73 79 6e 63 68  w supports synch
180b0 72 6f 6e 6f 75 73 20 73 6f 63 6b 65 74 0a 63 6f  ronous socket.co
180c0 6e 6e 65 63 74 69 6f 6e 73 2e 20 20 4f 74 68 65  nnections.  Othe
180d0 72 20 6d 69 6e 6f 72 20 62 75 67 73 20 77 65 72  r minor bugs wer
180e0 65 20 61 6c 73 6f 20 66 69 78 65 64 2e 20 28 52  e also fixed. (R
180f0 4a 29 0a 0a 38 2f 31 35 2f 39 36 20 28 63 6f 6e  J)..8/15/96 (con
18100 66 69 67 75 72 61 74 69 6f 6e 20 69 6d 70 72 6f  figuration impro
18110 76 65 6d 65 6e 74 29 20 43 68 61 6e 67 65 64 20  vement) Changed 
18120 74 68 65 20 66 69 6c 65 20 70 61 74 63 68 6c 65  the file patchle
18130 76 65 6c 2e 68 0a 74 6f 20 62 65 20 74 63 6c 50  vel.h.to be tclP
18140 61 74 63 68 2e 68 2e 20 20 54 68 69 73 20 61 76  atch.h.  This av
18150 6f 69 64 73 20 63 6f 6e 66 6c 69 63 74 20 77 69  oids conflict wi
18160 74 68 20 74 68 65 20 54 6b 20 66 69 6c 65 20 61  th the Tk file a
18170 6e 64 20 69 73 20 6e 6f 77 0a 69 6e 20 38 2e 33  nd is now.in 8.3
18180 20 66 6f 72 6d 61 74 20 6f 6e 20 74 68 65 20 57   format on the W
18190 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e  indows platform.
181a0 20 28 52 4a 29 0a 0a 38 2f 32 30 2f 39 36 20 28   (RJ)..8/20/96 (
181b0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63  bug fix) Fixed c
181c0 6f 72 65 20 64 75 6d 70 20 69 6e 20 69 6e 74 65  ore dump in inte
181d0 72 70 20 61 6c 69 61 73 20 63 6f 6d 6d 61 6e 64  rp alias command
181e0 20 66 6f 72 20 69 6e 74 65 72 70 72 65 74 65 72   for interpreter
181f0 73 0a 63 72 65 61 74 65 64 20 77 69 74 68 20 54  s.created with T
18200 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72 70 20  cl_CreateInterp 
18210 28 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 77  (as opposed to w
18220 69 74 68 20 54 63 6c 5f 43 72 65 61 74 65 53 6c  ith Tcl_CreateSl
18230 61 76 65 29 2e 20 28 4a 4c 29 0a 0a 38 2f 32 30  ave). (JL)..8/20
18240 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 4e 6f  /96 (bug fix) No
18250 20 6c 6f 6e 67 65 72 20 6d 61 73 6b 69 6e 67 20   longer masking 
18260 45 43 4f 4e 4e 52 45 53 45 54 20 6f 6e 20 57 69  ECONNRESET on Wi
18270 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 73 6f  ndows sockets so
18280 0a 74 68 61 74 20 74 68 65 20 68 69 67 68 65 72  .that the higher
18290 20 6c 65 76 65 6c 20 6f 66 20 74 68 65 20 49 4f   level of the IO
182a0 20 6d 65 63 68 61 6e 69 73 6d 20 73 65 65 73 20   mechanism sees 
182b0 74 68 65 20 65 72 72 6f 72 20 69 6e 73 74 65 61  the error instea
182c0 64 20 6f 66 0a 65 6e 74 65 72 69 6e 67 20 61 6e  d of.entering an
182d0 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 2e 20   infinite loop. 
182e0 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36 20 28 62  (JL)..8/20/96 (b
182f0 75 67 20 66 69 78 29 20 44 65 73 74 72 6f 79 69  ug fix) Destroyi
18300 6e 67 20 74 68 65 20 6c 61 73 74 20 69 6e 74 65  ng the last inte
18310 72 70 72 65 74 65 72 20 6e 6f 20 6c 6f 6e 67 65  rpreter no longe
18320 72 20 63 6c 6f 73 65 73 20 74 68 65 0a 73 74 61  r closes the.sta
18330 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 73 2e 20  ndard channels. 
18340 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36 20 28 62  (JL)..8/20/96 (b
18350 75 67 20 66 69 78 29 20 43 6c 6f 73 69 6e 67 20  ug fix) Closing 
18360 6f 6e 65 20 6f 66 20 74 68 65 20 73 74 64 69 6e  one of the stdin
18370 2c 20 73 74 64 6f 75 74 20 6f 72 20 73 74 64 65  , stdout or stde
18380 72 72 20 63 68 61 6e 6e 65 6c 73 20 61 6e 64 0a  rr channels and.
18390 74 68 65 6e 20 6f 70 65 6e 69 6e 67 20 61 20 6e  then opening a n
183a0 65 77 20 63 68 61 6e 6e 65 6c 20 6e 6f 77 20 63  ew channel now c
183b0 6f 72 72 65 63 74 6c 79 20 61 73 73 69 67 6e 73  orrectly assigns
183c0 20 74 68 65 20 6e 65 77 20 63 68 61 6e 6e 65 6c   the new channel
183d0 20 61 73 20 74 68 65 0a 73 74 61 6e 64 61 72 64   as the.standard
183e0 20 63 68 61 6e 6e 65 6c 20 74 68 61 74 20 77 61   channel that wa
183f0 73 20 63 6c 6f 73 65 64 2e 20 28 4a 4c 29 0a 0a  s closed. (JL)..
18400 38 2f 32 30 2f 39 36 20 28 62 75 67 20 66 69 78  8/20/96 (bug fix
18410 29 20 41 64 64 65 64 20 63 6f 64 65 20 74 6f 20  ) Added code to 
18420 75 6e 69 78 2f 74 63 6c 55 6e 69 78 43 68 61 6e  unix/tclUnixChan
18430 2e 63 20 66 6f 72 20 75 73 69 6e 67 20 69 6f 63  .c for using ioc
18440 74 6c 20 77 69 74 68 0a 46 49 4f 4e 42 49 4f 20  tl with.FIONBIO 
18450 69 6e 73 74 65 61 64 20 6f 66 20 66 63 6e 74 6c  instead of fcntl
18460 20 77 69 74 68 20 4f 5f 4e 4f 4e 42 4c 4f 43 4b   with O_NONBLOCK
18470 2c 20 66 6f 72 20 74 68 6f 73 65 20 76 65 72 73  , for those vers
18480 69 6f 6e 73 20 6f 66 20 55 6e 69 78 20 77 68 65  ions of Unix whe
18490 72 65 0a 65 69 74 68 65 72 20 4f 5f 4e 4f 4e 42  re.either O_NONB
184a0 4c 4f 43 4b 20 69 73 20 6e 6f 74 20 73 75 70 70  LOCK is not supp
184b0 6f 72 74 65 64 20 6f 72 20 69 6d 70 6c 65 6d 65  orted or impleme
184c0 6e 74 65 64 20 69 6e 63 6f 72 72 65 63 74 6c 79  nted incorrectly
184d0 2e 20 28 4a 4c 29 0a 0a 38 2f 32 31 2f 39 36 20  . (JL)..8/21/96 
184e0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
184f0 22 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 22  "file extension"
18500 20 73 6f 20 69 74 20 63 6f 72 72 65 63 74 6c 79   so it correctly
18510 20 72 65 74 75 72 6e 73 20 74 68 65 0a 65 78 74   returns the.ext
18520 65 6e 73 69 6f 6e 20 6f 6e 20 66 69 6c 65 73 20  ension on files 
18530 6c 69 6b 65 20 22 66 6f 6f 2e 2e 63 22 20 61 73  like "foo..c" as
18540 20 22 2e 2e 63 22 20 69 6e 73 74 65 61 64 20 6f   "..c" instead o
18550 66 20 22 2e 63 22 2e 20 28 53 53 29 0a 0a 38 2f  f ".c". (SS)..8/
18560 32 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  22/96 (bug fix) 
18570 49 66 20 65 6e 76 69 72 6f 6e 5b 5d 20 63 6f 6e  If environ[] con
18580 74 61 69 6e 73 20 73 74 61 74 69 63 20 73 74 72  tains static str
18590 69 6e 67 73 2c 20 54 63 6c 20 77 6f 75 6c 64 20  ings, Tcl would 
185a0 63 6f 72 65 0a 64 75 6d 70 20 69 6e 20 54 63 6c  core.dump in Tcl
185b0 53 65 74 75 70 45 6e 76 20 62 65 63 61 75 73 65  SetupEnv because
185c0 20 69 74 20 77 61 73 20 74 72 79 69 6e 67 20 74   it was trying t
185d0 6f 20 77 72 69 74 65 20 4e 55 4c 4c 73 20 69 6e  o write NULLs in
185e0 74 6f 20 74 68 65 20 61 63 74 75 61 6c 0a 64 61  to the actual.da
185f0 74 61 20 69 6e 20 65 6e 76 69 72 6f 6e 5b 5d 2e  ta in environ[].
18600 20 4e 6f 77 20 77 65 20 69 6e 73 74 65 61 64 20   Now we instead 
18610 63 6f 70 79 20 61 73 20 61 70 70 72 6f 70 72 69  copy as appropri
18620 61 74 65 2e 20 28 4a 4c 29 0a 0a 38 2f 32 32 2f  ate. (JL)..8/22/
18630 39 36 20 28 61 64 64 65 64 20 69 6d 70 6c 29 20  96 (added impl) 
18640 41 64 64 65 64 20 6d 69 73 73 69 6e 67 20 69 6d  Added missing im
18650 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20  plementation of 
18660 54 63 6c 5f 4d 61 6b 65 54 63 70 43 6c 69 65 6e  Tcl_MakeTcpClien
18670 74 43 68 61 6e 6e 65 6c 0a 66 6f 72 20 57 69 6e  tChannel.for Win
18680 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 20 43  dows platform. C
18690 6f 64 65 20 63 6f 6e 74 72 69 62 75 74 65 64 20  ode contributed 
186a0 62 79 20 4d 61 72 6b 20 44 69 65 6b 68 61 6e 73  by Mark Diekhans
186b0 2e 20 28 4a 4c 29 0a 0a 38 2f 32 32 2f 39 36 20  . (JL)..8/22/96 
186c0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
186d0 64 65 64 20 61 20 6e 65 77 20 6d 65 6d 6f 72 79  ded a new memory
186e0 20 61 6c 6c 6f 63 61 74 6f 72 20 66 6f 72 20 74   allocator for t
186f0 68 65 20 4d 61 63 69 6e 74 6f 73 68 0a 76 65 72  he Macintosh.ver
18700 73 69 6f 6e 20 6f 66 20 54 63 6c 2e 20 20 49 74  sion of Tcl.  It
18710 27 73 20 71 75 69 74 65 20 61 20 62 69 74 20 66  's quite a bit f
18720 61 73 74 65 72 20 74 68 61 6e 20 4d 65 74 72 6f  aster than Metro
18730 57 65 72 6b 27 73 20 76 65 72 73 69 6f 6e 2e 20  Werk's version. 
18740 28 52 4a 29 0a 0a 38 2f 32 36 2f 39 36 20 28 64  (RJ)..8/26/96 (d
18750 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 75 70 64  ocumentation upd
18760 61 74 65 29 20 52 65 6d 6f 76 65 64 20 6f 6c 64  ate) Removed old
18770 20 63 68 61 6e 67 65 20 62 61 72 73 20 28 66 6f   change bars (fo
18780 72 20 61 6c 6c 20 63 68 61 6e 67 65 73 0a 69 6e  r all changes.in
18790 20 54 63 6c 20 37 2e 35 20 61 6e 64 20 65 61 72   Tcl 7.5 and ear
187a0 6c 69 65 72 20 72 65 6c 65 61 73 65 73 29 20 66  lier releases) f
187b0 72 6f 6d 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69  rom manual entri
187c0 65 73 2e 20 28 4a 4f 29 0a 0a 38 2f 32 37 2f 39  es. (JO)..8/27/9
187d0 36 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  6 (enhancement) 
187e0 54 68 65 20 65 78 65 63 20 61 6e 64 20 6f 70 65  The exec and ope
187f0 6e 20 63 6f 6d 6d 61 6e 64 73 20 62 65 68 61 76  n commands behav
18800 65 20 62 65 74 74 65 72 20 61 6e 64 20 77 6f 72  e better and wor
18810 6b 20 69 6e 20 0a 6d 6f 72 65 20 73 69 74 75 61  k in .more situa
18820 74 69 6f 6e 73 20 75 6e 64 65 72 20 57 69 6e 64  tions under Wind
18830 6f 77 73 20 4e 54 20 61 6e 64 20 57 69 6e 64 6f  ows NT and Windo
18840 77 73 20 39 35 2e 20 20 44 6f 63 75 6d 65 6e 74  ws 95.  Document
18850 61 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20  ation describes 
18860 0a 77 68 61 74 20 69 73 20 73 74 69 6c 6c 20 6c  .what is still l
18870 61 63 6b 69 6e 67 2e 20 28 43 53 29 0a 0a 38 2f  acking. (CS)..8/
18880 32 37 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d 65  27/96 (enhanceme
18890 6e 74 29 20 54 68 65 20 57 69 6e 64 6f 77 73 20  nt) The Windows 
188a0 6d 61 6b 65 66 69 6c 65 73 20 77 69 6c 6c 20 6e  makefiles will n
188b0 6f 77 20 63 6f 6d 70 69 6c 65 20 65 76 65 6e 20  ow compile even 
188c0 69 66 20 74 68 65 0a 63 6f 6d 70 69 6c 65 72 20  if the.compiler 
188d0 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 70 61  is not in the pa
188e0 74 68 20 61 6e 64 2f 6f 72 20 74 68 65 20 63 6f  th and/or the co
188f0 6d 70 69 6c 65 72 27 73 20 65 6e 76 69 72 6f 6e  mpiler's environ
18900 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 0a 68  ment variables.h
18910 61 76 65 20 6e 6f 74 20 62 65 65 6e 20 73 65 74  ave not been set
18920 20 75 70 2e 20 28 43 53 29 20 0a 0a 38 2f 32 37   up. (CS) ..8/27
18930 2f 39 36 20 28 63 6f 6e 66 69 67 75 72 61 74 69  /96 (configurati
18940 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20  on improvement) 
18950 54 68 65 20 57 69 6e 64 6f 77 73 20 72 65 73 6f  The Windows reso
18960 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 0a  urce files are .
18970 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 70  automatically up
18980 64 61 74 65 64 20 77 68 65 6e 20 74 68 65 20 76  dated when the v
18990 65 72 73 69 6f 6e 2f 70 61 74 63 68 20 6c 65 76  ersion/patch lev
189a0 65 6c 20 63 68 61 6e 67 65 73 2e 20 20 54 68 65  el changes.  The
189b0 20 68 65 61 64 65 72 20 66 69 6c 65 0a 6e 6f 77   header file.now
189c0 20 68 61 73 20 61 20 63 6f 6d 6d 65 6e 74 20 74   has a comment t
189d0 68 61 74 20 72 65 6d 69 6e 64 73 20 74 68 65 20  hat reminds the 
189e0 75 73 65 72 20 77 68 69 63 68 20 6f 74 68 65 72  user which other
189f0 20 66 69 6c 65 73 20 6d 75 73 74 20 62 65 20 6d   files must be m
18a00 61 6e 75 61 6c 6c 79 0a 75 70 64 61 74 65 64 20  anually.updated 
18a10 77 68 65 6e 20 74 68 65 20 76 65 72 73 69 6f 6e  when the version
18a20 2f 70 61 74 63 68 20 6c 65 76 65 6c 20 63 68 61  /patch level cha
18a30 6e 67 65 73 2e 20 28 43 53 29 0a 0a 38 2f 32 38  nges. (CS)..8/28
18a40 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65  /96 (new feature
18a50 29 20 41 64 64 65 64 20 66 69 6c 65 20 6d 61 6e  ) Added file man
18a60 69 70 75 6c 61 74 69 6f 6e 20 66 65 61 74 75 72  ipulation featur
18a70 65 73 20 28 63 6f 70 79 2c 20 72 65 6e 61 6d 65  es (copy, rename
18a80 2c 20 64 65 6c 65 74 65 2c 0a 6d 6b 64 69 72 29  , delete,.mkdir)
18a90 20 74 68 61 74 20 61 72 65 20 73 75 70 70 6f 72   that are suppor
18aa0 74 65 64 20 6f 6e 20 61 6c 6c 20 70 6c 61 74 66  ted on all platf
18ab0 6f 72 6d 73 2e 20 54 68 65 79 20 61 72 65 20 69  orms. They are i
18ac0 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 0a 73  mplemented as .s
18ad0 75 62 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 74 68  ubcommands to th
18ae0 65 20 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64  e "file" command
18af0 2e 20 53 65 65 20 74 68 65 20 64 6f 63 75 6d 65  . See the docume
18b00 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20  ntation for the 
18b10 22 66 69 6c 65 22 0a 63 6f 6d 6d 61 6e 64 20 66  "file".command f
18b20 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74  or more informat
18b30 69 6f 6e 2e 20 28 4a 48 29 0a 0a 2d 2d 2d 2d 2d  ion. (JH)..-----
18b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
18b50 65 61 73 65 64 20 37 2e 36 62 31 2c 20 38 2f 33  eased 7.6b1, 8/3
18b60 30 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  0/96 -----------
18b70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f  ------------..9/
18b80 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 53  3/96 (bug fix) S
18b90 69 6d 70 6c 69 66 69 65 64 20 63 6f 64 65 20 73  implified code s
18ba0 6f 20 74 68 61 74 20 73 74 61 6e 64 61 72 64 20  o that standard 
18bb0 63 68 61 6e 6e 65 6c 73 20 61 72 65 20 63 72 65  channels are cre
18bc0 61 74 65 64 0a 6c 61 7a 69 6c 79 2c 20 74 68 65  ated.lazily, the
18bd0 79 20 61 72 65 20 61 64 64 65 64 20 74 6f 20 61  y are added to a
18be0 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 6c 61  n interpreter la
18bf0 7a 69 6c 79 2c 20 61 6e 64 20 74 68 65 79 20 61  zily, and they a
18c00 72 65 20 6e 65 76 65 72 20 61 64 64 65 64 0a 74  re never added.t
18c10 6f 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72  o a safe interpr
18c20 65 74 65 72 2e 20 28 4a 4c 29 0a 0a 39 2f 33 2f  eter. (JL)..9/3/
18c30 39 36 20 28 62 75 67 20 66 69 78 29 20 43 6c 6f  96 (bug fix) Clo
18c40 73 69 6e 67 20 61 20 63 68 61 6e 6e 65 6c 20 61  sing a channel a
18c50 66 74 65 72 20 63 6c 6f 73 69 6e 67 20 61 20 73  fter closing a s
18c60 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 2c  tandard channel,
18c70 20 65 2e 67 2e 0a 73 74 64 6f 75 74 2c 20 77 6f   e.g..stdout, wo
18c80 75 6c 64 20 63 61 75 73 65 20 74 68 65 20 69 6d  uld cause the im
18c90 70 6c 69 63 69 74 20 72 65 63 72 65 61 74 69 6f  plicit recreatio
18ca0 6e 20 6f 66 20 74 68 61 74 20 73 74 61 6e 64 61  n of that standa
18cb0 72 64 20 63 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29  rd channel. (JL)
18cc0 0a 0a 39 2f 33 2f 39 36 20 28 6e 65 77 20 66 65  ..9/3/96 (new fe
18cd0 61 74 75 72 65 29 20 4e 6f 77 20 63 61 6c 6c 69  ature) Now calli
18ce0 6e 67 20 54 63 6c 5f 52 65 67 69 73 74 65 72 43  ng Tcl_RegisterC
18cf0 68 61 6e 6e 65 6c 20 77 69 74 68 20 61 20 4e 55  hannel with a NU
18d00 4c 4c 0a 69 6e 74 65 72 70 72 65 74 65 72 20 69  LL.interpreter i
18d10 6e 63 72 65 6d 65 6e 74 73 20 74 68 65 20 72 65  ncrements the re
18d20 66 63 6f 75 6e 74 20 73 6f 20 74 68 61 74 20 63  fcount so that c
18d30 6f 64 65 20 6f 75 74 73 69 64 65 20 61 6e 79 20  ode outside any 
18d40 69 6e 74 65 72 70 72 65 74 65 72 0a 63 61 6e 20  interpreter.can 
18d50 75 73 65 20 63 68 61 6e 6e 65 6c 73 20 74 68 61  use channels tha
18d60 74 20 61 72 65 20 61 6c 73 6f 20 72 65 67 69 73  t are also regis
18d70 74 65 72 65 64 20 69 6e 20 69 6e 74 65 72 70 72  tered in interpr
18d80 65 74 65 72 73 2c 20 77 69 74 68 6f 75 74 20 77  eters, without w
18d90 6f 72 72 79 69 6e 67 0a 74 68 61 74 20 74 68 65  orrying.that the
18da0 20 63 68 61 6e 6e 65 6c 20 6d 61 79 20 74 75 72   channel may tur
18db0 6e 20 69 6e 74 6f 20 61 20 64 61 6e 67 6c 69 6e  n into a danglin
18dc0 67 20 70 6f 69 6e 74 65 72 20 61 74 20 61 6e 79  g pointer at any
18dd0 20 74 69 6d 65 2e 20 43 61 6c 6c 69 6e 67 0a 54   time. Calling.T
18de0 63 6c 5f 55 6e 72 65 67 69 73 74 65 72 43 68 61  cl_UnregisterCha
18df0 6e 6e 65 6c 20 77 69 74 68 20 61 20 4e 55 4c 4c  nnel with a NULL
18e00 20 69 6e 74 65 72 70 72 65 74 65 72 20 6f 6e 6c   interpreter onl
18e10 79 20 64 65 63 72 65 6d 65 6e 74 73 20 74 68 65  y decrements the
18e20 20 72 65 63 6f 75 6e 74 0a 73 6f 20 74 68 61 74   recount.so that
18e30 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20 61 6e   code outside an
18e40 79 20 69 6e 74 65 72 70 72 65 74 65 72 20 63 61  y interpreter ca
18e50 6e 20 73 61 66 65 6c 79 20 64 65 63 6c 61 72 65  n safely declare
18e60 20 69 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72   it is no longer
18e70 0a 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 61  .interested in a
18e80 20 63 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29 0a 0a   channel. (JL)..
18e90 39 2f 34 2f 39 36 20 28 6e 65 77 20 66 65 61 74  9/4/96 (new feat
18ea0 75 72 65 73 29 20 54 77 6f 20 63 68 61 6e 67 65  ures) Two change
18eb0 73 20 74 6f 20 64 79 6e 61 6d 69 63 20 6c 6f 61  s to dynamic loa
18ec0 64 69 6e 67 3a 0a 20 20 20 20 2d 20 49 66 20 74  ding:.    - If t
18ed0 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 69 73 20  he file name is 
18ee0 65 6d 70 74 79 20 69 6e 20 74 68 65 20 22 6c 6f  empty in the "lo
18ef0 61 64 22 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20  ad" command and 
18f00 74 68 65 72 65 20 69 73 20 6e 6f 0a 20 20 20 20  there is no.    
18f10 20 20 73 74 61 74 69 63 61 6c 6c 79 20 6c 6f 61    statically loa
18f20 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74  ded version of t
18f30 68 65 20 70 61 63 6b 61 67 65 2c 20 61 20 64 79  he package, a dy
18f40 6e 61 6d 69 63 61 6c 6c 79 20 6c 6f 61 64 65 64  namically loaded
18f50 0a 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 77  .      version w
18f60 69 6c 6c 20 62 65 20 75 73 65 64 20 69 66 20 74  ill be used if t
18f70 68 65 72 65 20 69 73 20 6f 6e 65 2e 0a 20 20 20  here is one..   
18f80 20 2d 20 54 63 6c 5f 53 74 61 74 69 63 50 61 63   - Tcl_StaticPac
18f90 6b 61 67 65 20 69 67 6e 6f 72 65 73 20 72 65 64  kage ignores red
18fa0 75 6e 64 61 6e 74 20 63 61 6c 6c 73 20 66 6f 72  undant calls for
18fb0 20 74 68 65 20 73 61 6d 65 20 70 61 63 6b 61 67   the same packag
18fc0 65 2e 20 28 4a 4f 29 0a 0a 39 2f 36 2f 39 36 20  e. (JO)..9/6/96 
18fd0 28 62 75 67 20 66 69 78 29 20 50 6c 61 74 66 6f  (bug fix) Platfo
18fe0 72 6d 20 73 70 65 63 69 66 69 63 20 70 72 6f 63  rm specific proc
18ff0 65 64 75 72 65 73 20 66 6f 72 20 6d 61 6e 69 70  edures for manip
19000 75 6c 61 74 69 6e 67 20 66 69 6c 65 73 20 61 72  ulating files ar
19010 65 0a 6e 6f 20 6c 6f 6e 67 65 72 20 6d 61 63 72  e.no longer macr
19020 6f 73 20 61 6e 64 20 68 61 76 65 20 62 65 65 6e  os and have been
19030 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 22   prefixed with "
19040 54 63 6c 70 22 2c 20 73 75 63 68 20 61 73 20 54  Tclp", such as T
19050 63 6c 70 52 65 6e 61 6d 65 46 69 6c 65 2e 0a 55  clpRenameFile..U
19060 6e 69 78 20 66 69 6c 65 20 63 6f 64 65 20 6e 6f  nix file code no
19070 77 20 68 61 6e 64 6c 65 73 20 73 79 6d 62 6f 6c  w handles symbol
19080 69 63 20 6c 69 6e 6b 73 20 61 6e 64 20 6f 74 68  ic links and oth
19090 65 72 20 73 70 65 63 69 61 6c 20 66 69 6c 65 73  er special files
190a0 20 63 6f 72 72 65 63 74 6c 79 2e 0a 54 68 65 20   correctly..The 
190b0 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 66 69 6c  semantics of fil
190c0 65 20 63 6f 70 79 20 61 6e 64 20 66 69 6c 65 20  e copy and file 
190d0 72 65 6e 61 6d 65 20 68 61 73 20 62 65 65 6e 20  rename has been 
190e0 63 68 61 6e 67 65 64 20 73 6f 20 74 68 61 74 20  changed so that 
190f0 69 66 0a 61 20 74 61 72 67 65 74 20 64 69 72 65  if.a target dire
19100 63 74 6f 72 79 20 65 78 69 73 74 73 2c 20 74 68  ctory exists, th
19110 65 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 77  e source files w
19120 69 6c 6c 20 4e 4f 54 20 62 65 20 6d 65 72 67 65  ill NOT be merge
19130 64 20 77 69 74 68 20 74 68 65 0a 65 78 69 73 74  d with the.exist
19140 69 6e 67 20 66 69 6c 65 73 2e 20 28 4a 48 29 0a  ing files. (JH).
19150 0a 39 2f 36 2f 39 36 20 28 62 75 67 20 66 69 78  .9/6/96 (bug fix
19160 29 20 49 66 20 73 74 61 6e 64 61 72 64 20 63 68  ) If standard ch
19170 61 6e 6e 65 6c 20 69 73 20 4e 55 4c 4c 2c 20 62  annel is NULL, b
19180 65 63 61 75 73 65 20 54 63 6c 20 63 61 6e 6e 6f  ecause Tcl canno
19190 74 20 63 6f 6e 6e 65 63 74 0a 74 6f 20 74 68 65  t connect.to the
191a0 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65   standard channe
191b0 6c 2c 20 64 6f 20 6e 6f 74 20 69 6e 63 72 65 6d  l, do not increm
191c0 65 6e 74 20 74 68 65 20 72 65 66 63 6f 75 6e 74  ent the refcount
191d0 2e 20 54 68 65 20 63 68 61 6e 6e 65 6c 20 63 61  . The channel ca
191e0 6e 0a 62 65 20 4e 55 4c 4c 20 69 66 20 74 68 65  n.be NULL if the
191f0 72 65 20 69 73 20 66 6f 72 20 65 78 61 6d 70 6c  re is for exampl
19200 65 20 6e 6f 20 73 74 61 6e 64 61 72 64 20 69 6e  e no standard in
19210 70 75 74 2e 20 28 4a 4c 29 0a 0a 39 2f 36 2f 39  put. (JL)..9/6/9
19220 36 20 28 70 6f 72 74 61 62 69 6c 69 74 79 20 69  6 (portability i
19230 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43 68 61 6e  mprovement) Chan
19240 67 65 64 20 70 61 72 73 69 6e 67 20 6f 66 20 62  ged parsing of b
19250 61 63 6b 73 6c 61 73 68 20 73 65 71 75 65 6e 63  ackslash sequenc
19260 65 73 0a 6c 69 6b 65 20 5c 6e 20 74 6f 20 74 72  es.like \n to tr
19270 61 6e 73 6c 61 74 65 20 64 69 72 65 63 74 6c 79  anslate directly
19280 20 74 6f 20 61 62 73 6f 6c 75 74 65 20 76 61 6c   to absolute val
19290 75 65 73 20 6c 69 6b 65 20 30 78 61 20 69 6e 73  ues like 0xa ins
192a0 74 65 61 64 20 6f 66 0a 6c 65 74 74 69 6e 67 20  tead of.letting 
192b0 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 64 6f 20  the compiler do 
192c0 74 68 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2e  the translation.
192d0 20 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65    This guarantee
192e0 73 20 74 68 61 74 20 74 68 65 0a 74 72 61 6e 73  s that the.trans
192f0 6c 61 74 69 6f 6e 20 69 73 20 64 6f 6e 65 20 74  lation is done t
19300 68 65 20 73 61 6d 65 20 65 76 65 72 79 77 68 65  he same everywhe
19310 72 65 2e 20 28 4a 4f 29 0a 0a 39 2f 39 2f 39 36  re. (JO)..9/9/96
19320 20 28 62 75 67 20 66 69 78 29 20 49 66 20 63 68   (bug fix) If ch
19330 61 6e 6e 65 6c 20 69 73 20 6f 70 65 6e 65 64 20  annel is opened 
19340 61 6e 64 20 6e 6f 74 20 61 73 73 6f 63 69 61 74  and not associat
19350 65 64 20 77 69 74 68 20 61 6e 79 0a 69 6e 74 65  ed with any.inte
19360 72 70 72 65 74 65 72 2c 20 62 75 74 20 54 63 6c  rpreter, but Tcl
19370 20 64 65 63 69 64 65 73 20 74 6f 20 75 73 65 20   decides to use 
19380 69 74 20 61 73 20 6f 6e 65 20 6f 66 20 74 68 65  it as one of the
19390 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65   standard channe
193a0 6c 73 2c 20 69 74 0a 62 65 63 61 6d 65 20 69 6d  ls, it.became im
193b0 70 6f 73 73 69 62 6c 65 20 74 6f 20 63 6c 6f 73  possible to clos
193c0 65 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 77 69  e the channel wi
193d0 74 68 20 54 63 6c 5f 43 6c 6f 73 65 20 2d 2d 20  th Tcl_Close -- 
193e0 69 6e 73 74 65 61 64 20 79 6f 75 20 68 61 64 0a  instead you had.
193f0 74 6f 20 63 61 6c 6c 20 54 63 6c 5f 55 6e 72 65  to call Tcl_Unre
19400 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 2e 20 46  gisterChannel. F
19410 69 78 65 64 20 6e 6f 77 20 73 6f 20 74 68 61 74  ixed now so that
19420 20 69 74 27 73 20 73 61 66 65 20 74 6f 20 63 61   it's safe to ca
19430 6c 6c 0a 54 63 6c 5f 43 6c 6f 73 65 20 65 76 65  ll.Tcl_Close eve
19440 6e 20 77 68 65 6e 20 54 63 6c 20 69 73 20 75 73  n when Tcl is us
19450 69 6e 67 20 74 68 65 20 63 68 61 6e 6e 65 6c 20  ing the channel 
19460 61 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 74  as one of the st
19470 61 6e 64 61 72 64 20 6f 6e 65 73 2e 20 28 4a 4c  andard ones. (JL
19480 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66 65 61 74  )..9/11/96 (feat
19490 75 72 65 20 63 68 61 6e 67 65 29 20 54 68 65 20  ure change) The 
194a0 54 63 6c 20 6c 69 62 72 61 72 79 20 69 73 20 6e  Tcl library is n
194b0 6f 77 20 70 6c 61 63 65 64 20 69 6e 20 74 68 65  ow placed in the
194c0 20 54 63 6c 0a 73 68 61 72 65 64 20 6c 69 62 72   Tcl.shared libr
194d0 61 72 69 65 73 20 72 65 73 6f 75 72 63 65 2e 20  aries resource. 
194e0 20 59 6f 75 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e   You no longer n
194f0 65 65 64 20 74 6f 20 70 6c 61 63 65 20 74 68 65  eed to place the
19500 20 54 63 6c 20 66 69 6c 65 73 0a 69 6e 20 79 6f   Tcl files.in yo
19510 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20  ur applications 
19520 65 78 70 6c 69 63 69 74 6c 79 2e 20 20 28 52 4a  explicitly.  (RJ
19530 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66 65 61 74  )..9/11/96 (feat
19540 75 72 65 20 63 68 61 6e 67 65 29 20 45 78 74 65  ure change) Exte
19550 6e 73 69 6f 6e 73 20 6e 6f 20 6c 6f 6e 67 65 72  nsions no longer
19560 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 68   automatically h
19570 61 76 65 20 74 68 65 0a 72 65 73 6f 75 72 63 65  ave the.resource
19580 20 66 6f 72 6b 20 6f 66 20 74 68 65 20 65 78 74   fork of the ext
19590 65 6e 73 69 6f 6e 20 6f 70 65 6e 65 64 20 66 6f  ension opened fo
195a0 72 20 69 74 2e 20 20 49 6e 73 74 65 61 64 20 79  r it.  Instead y
195b0 6f 75 20 6e 65 65 64 20 74 6f 0a 75 73 65 20 74  ou need to.use t
195c0 68 65 20 74 63 6c 4d 61 63 4c 69 62 72 61 72 79  he tclMacLibrary
195d0 2e 63 20 66 69 6c 65 20 69 6e 20 79 6f 75 72 20  .c file in your 
195e0 65 78 74 65 6e 73 69 6f 6e 2e 20 20 28 52 4a 29  extension.  (RJ)
195f0 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
19600 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
19610 2a 2a 0a 0a 39 2f 31 32 2f 39 36 20 28 62 75 67  **..9/12/96 (bug
19620 20 66 69 78 29 20 54 68 65 20 65 78 74 65 6e 73   fix) The extens
19630 69 6f 6e 20 6c 6f 61 64 69 6e 67 20 6d 65 63 68  ion loading mech
19640 61 6e 69 73 6d 20 6f 6e 20 74 68 65 20 4d 61 63  anism on the Mac
19650 69 6e 74 6f 73 68 20 6e 6f 77 0a 6c 6f 6f 6b 73  intosh now.looks
19660 20 61 74 20 74 68 65 20 27 63 66 72 67 27 20 72   at the 'cfrg' r
19670 65 73 6f 75 72 63 65 20 74 6f 20 64 65 74 65 72  esource to deter
19680 6d 69 6e 65 20 77 68 65 72 65 20 74 6f 20 6c 6f  mine where to lo
19690 61 64 20 74 68 65 20 63 6f 64 65 0a 66 72 61 67  ad the code.frag
196a0 6d 65 6e 74 20 66 72 6f 6d 2e 20 20 54 68 69 73  ment from.  This
196b0 20 6d 65 61 6e 73 20 46 41 54 20 66 72 61 67 6d   means FAT fragm
196c0 65 6e 74 73 20 73 68 6f 75 6c 64 20 6e 6f 77 20  ents should now 
196d0 77 6f 72 6b 2e 20 28 52 4a 29 0a 0a 39 2f 31 38  work. (RJ)..9/18
196e0 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /96 (enhancement
196f0 29 20 54 68 65 20 65 78 65 63 20 61 6e 64 20 6f  ) The exec and o
19700 70 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 62 65 68  pen commands beh
19710 61 76 65 20 62 65 74 74 65 72 20 61 6e 64 20 77  ave better and w
19720 6f 72 6b 20 69 6e 0a 6d 6f 72 65 20 73 69 74 75  ork in.more situ
19730 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 57 69 6e  ations under Win
19740 64 6f 77 73 20 33 2e 58 2e 20 20 44 6f 63 75 6d  dows 3.X.  Docum
19750 65 6e 74 61 74 69 6f 6e 20 64 65 73 63 72 69 62  entation describ
19760 65 73 20 77 68 61 74 20 69 73 20 73 74 69 6c 6c  es what is still
19770 0a 6c 61 63 6b 69 6e 67 2e 20 20 28 43 53 29 0a  .lacking.  (CS).
19780 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20 66 69  .9/19/96 (bug fi
19790 78 29 20 46 69 78 65 64 20 61 20 70 61 6e 69 63  x) Fixed a panic
197a0 20 77 68 69 63 68 20 77 6f 75 6c 64 20 6f 63 63   which would occ
197b0 75 72 20 69 66 20 79 6f 75 20 64 65 6c 65 74 65  ur if you delete
197c0 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20   a.non-existent 
197d0 61 6c 69 61 73 20 62 65 66 6f 72 65 20 61 6e 79  alias before any
197e0 20 61 6c 69 61 73 65 73 20 61 72 65 20 63 72 65   aliases are cre
197f0 61 74 65 64 2e 20 4e 6f 77 20 69 6e 73 74 65 61  ated. Now instea
19800 64 20 63 6f 72 72 65 63 74 6c 79 0a 72 65 74 75  d correctly.retu
19810 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 74 68 61  rns an error tha
19820 74 20 74 68 65 20 61 6c 69 61 73 20 69 73 20 6e  t the alias is n
19830 6f 74 20 66 6f 75 6e 64 2e 20 28 4a 4c 29 0a 0a  ot found. (JL)..
19840 39 2f 31 39 2f 39 36 20 28 62 75 67 20 66 69 78  9/19/96 (bug fix
19850 29 20 53 6c 61 76 65 20 69 6e 74 65 72 70 72 65  ) Slave interpre
19860 74 65 72 73 20 63 6f 75 6c 64 20 72 65 6e 61 6d  ters could renam
19870 65 20 61 6c 69 61 73 65 73 20 61 6e 64 20 74 68  e aliases and th
19880 65 79 20 77 6f 75 6c 64 0a 6e 6f 74 20 67 65 74  ey would.not get
19890 20 64 65 6c 65 74 65 64 20 77 68 65 6e 20 74 68   deleted when th
198a0 65 20 61 6c 69 61 73 20 77 61 73 20 62 65 69 6e  e alias was bein
198b0 67 20 72 65 64 65 66 69 6e 65 64 2e 20 54 68 69  g redefined. Thi
198c0 73 20 6c 65 64 20 74 6f 20 64 61 6e 67 6c 69 6e  s led to danglin
198d0 67 0a 70 6f 69 6e 74 65 72 73 20 65 74 63 2e 20  g.pointers etc. 
198e0 28 4a 4c 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62  (JL)..9/19/96 (b
198f0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20  ug fix) Fixed a 
19900 70 61 6e 69 63 20 77 68 65 72 65 20 61 20 68 61  panic where a ha
19910 73 68 20 74 61 62 6c 65 20 65 6e 74 72 79 20 77  sh table entry w
19920 61 73 20 62 65 69 6e 67 20 64 65 6c 65 74 65 64  as being deleted
19930 0a 74 77 69 63 65 20 64 75 72 69 6e 67 20 61 6c  .twice during al
19940 69 61 73 20 6d 61 6e 61 67 65 6d 65 6e 74 20 6f  ias management o
19950 70 65 72 61 74 69 6f 6e 73 2e 20 28 4a 4c 29 0a  perations. (JL).
19960 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20 66 69  .9/19/96 (bug fi
19970 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
19980 65 76 65 6e 74 20 6c 6f 6f 70 20 74 68 61 74 20  event loop that 
19990 63 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65 20  could cause the 
199a0 69 6e 70 75 74 20 66 6f 63 75 73 0a 69 6e 20 54  input focus.in T
199b0 6b 20 74 6f 20 67 65 74 20 63 6f 6e 66 75 73 65  k to get confuse
199c0 64 20 64 75 72 69 6e 67 20 6d 65 6e 75 20 74 72  d during menu tr
199d0 61 76 65 72 73 61 6c 2c 20 61 6d 6f 6e 67 20 6f  aversal, among o
199e0 74 68 65 72 20 70 72 6f 62 6c 65 6d 73 2e 20 20  ther problems.  
199f0 54 68 65 0a 70 72 6f 62 6c 65 6d 20 77 61 73 20  The.problem was 
19a00 72 65 6c 61 74 65 64 20 74 6f 20 68 61 6e 64 6c  related to handl
19a10 69 6e 67 20 6f 66 20 74 68 65 20 22 6d 61 72 6b  ing of the "mark
19a20 65 72 22 20 77 68 65 6e 20 69 74 73 20 65 76 65  er" when its eve
19a30 6e 74 20 77 61 73 0a 64 65 6c 65 74 65 64 2e 20  nt was.deleted. 
19a40 28 4a 4f 29 0a 0a 39 2f 32 36 2f 39 36 20 28 62  (JO)..9/26/96 (b
19a50 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77 73 20  ug fix) Windows 
19a60 77 61 73 20 6c 6f 73 69 6e 67 20 45 4f 46 20 6f  was losing EOF o
19a70 6e 20 61 20 73 6f 63 6b 65 74 20 69 66 20 74 68  n a socket if th
19a80 65 20 46 44 5f 43 4c 4f 53 45 20 65 76 65 6e 74  e FD_CLOSE event
19a90 0a 68 61 70 70 65 6e 65 64 20 74 6f 20 70 72 65  .happened to pre
19aa0 63 65 64 65 20 61 6e 79 20 6c 65 66 74 20 6f 76  cede any left ov
19ab0 65 72 20 46 44 5f 52 45 41 44 20 65 76 65 6e 74  er FD_READ event
19ac0 73 2e 20 4e 6f 77 20 63 6f 72 72 65 63 74 6c 79  s. Now correctly
19ad0 20 72 65 6d 65 6d 62 65 72 73 0a 73 65 65 69 6e   remembers.seein
19ae0 67 20 46 44 5f 43 4c 4f 53 45 2c 20 73 6f 20 74  g FD_CLOSE, so t
19af0 68 61 74 20 74 72 61 69 6c 69 6e 67 20 46 44 5f  hat trailing FD_
19b00 52 45 41 44 20 65 76 65 6e 74 73 20 61 72 65 20  READ events are 
19b10 6e 6f 74 20 64 69 73 63 61 72 64 65 64 20 69 66  not discarded if
19b20 20 74 68 65 79 0a 64 6f 20 6e 6f 74 20 63 6f 6e   they.do not con
19b30 74 61 69 6e 20 61 6e 79 20 64 61 74 61 2e 20 54  tain any data. T
19b40 68 69 73 20 61 6c 6c 6f 77 73 20 54 63 6c 20 74  his allows Tcl t
19b50 6f 20 63 6f 72 72 65 63 74 6c 79 20 67 65 74 20  o correctly get 
19b60 61 20 7a 65 72 6f 20 72 65 61 64 20 61 6e 64 0a  a zero read and.
19b70 6e 6f 74 69 63 65 20 45 4f 46 2e 20 28 4a 4c 29  notice EOF. (JL)
19b80 0a 0a 39 2f 32 36 2f 39 36 20 28 62 75 67 20 66  ..9/26/96 (bug f
19b90 69 78 29 20 57 61 73 20 6e 6f 74 20 72 65 73 65  ix) Was not rese
19ba0 74 74 69 6e 67 20 52 45 41 44 41 42 4c 45 20 73  tting READABLE s
19bb0 74 61 74 65 20 70 72 6f 70 65 72 6c 79 20 6f 6e  tate properly on
19bc0 20 73 6f 63 6b 65 74 73 0a 75 6e 64 65 72 20 57   sockets.under W
19bd0 69 6e 64 6f 77 73 20 69 66 20 74 68 65 20 64 72  indows if the dr
19be0 69 76 65 72 20 64 69 73 63 61 72 64 65 64 20 61  iver discarded a
19bf0 6e 20 46 44 5f 52 45 41 44 20 65 76 65 6e 74 20  n FD_READ event 
19c00 62 65 63 61 75 73 65 20 6e 6f 20 64 61 74 61 20  because no data 
19c10 77 61 73 0a 70 72 65 73 65 6e 74 2e 20 4e 6f 77  was.present. Now
19c20 20 63 6f 72 72 65 63 74 6c 79 20 72 65 73 65 74   correctly reset
19c30 73 20 74 68 65 20 73 74 61 74 65 2e 20 28 4a 4c  s the state. (JL
19c40 29 0a 0a 39 2f 33 30 2f 39 36 20 28 62 75 67 20  )..9/30/96 (bug 
19c50 66 69 78 29 20 4d 61 64 65 20 45 4f 46 20 73 74  fix) Made EOF st
19c60 69 63 6b 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20  icky on Windows 
19c70 73 6f 63 6b 65 74 73 2c 20 73 6f 20 74 68 61 74  sockets, so that
19c80 20 66 69 6c 65 65 76 65 6e 74 0a 72 65 61 64 61   fileevent.reada
19c90 62 6c 65 20 77 69 6c 6c 20 66 69 72 65 20 72 65  ble will fire re
19ca0 70 65 61 74 65 64 6c 79 20 75 6e 74 69 6c 20 74  peatedly until t
19cb0 68 65 20 73 6f 63 6b 65 74 20 69 73 20 63 6c 6f  he socket is clo
19cc0 73 65 64 2e 20 50 72 65 76 69 6f 75 73 6c 79 20  sed. Previously 
19cd0 74 68 65 0a 66 69 6c 65 65 76 65 6e 74 20 66 69  the.fileevent fi
19ce0 72 65 64 20 6f 6e 6c 79 20 6f 6e 63 65 2e 20 54  red only once. T
19cf0 68 69 73 20 63 6f 75 6c 64 20 6c 65 61 64 20 74  his could lead t
19d00 6f 20 6e 65 76 65 72 2d 63 6c 6f 73 65 64 20 63  o never-closed c
19d10 6f 6e 6e 65 63 74 69 6f 6e 73 20 69 66 0a 74 68  onnections if.th
19d20 65 20 54 63 6c 20 73 63 72 69 70 74 20 69 6e 20  e Tcl script in 
19d30 74 68 65 20 66 69 6c 65 65 76 65 6e 74 20 77 61  the fileevent wa
19d40 73 6e 27 74 20 63 6c 6f 73 69 6e 67 20 74 68 65  sn't closing the
19d50 20 73 6f 63 6b 65 74 20 69 6d 6d 65 64 69 61 74   socket immediat
19d60 65 6c 79 2e 20 28 4a 4c 29 0a 0a 31 30 2f 32 2f  ely. (JL)..10/2/
19d70 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
19d80 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20 70 61   Improved the pa
19d90 63 6b 61 67 65 20 6c 6f 61 64 65 72 3a 0a 20 20  ckage loader:.  
19da0 20 20 2d 20 41 64 64 65 64 20 6e 65 77 20 76 61    - Added new va
19db0 72 69 61 62 6c 65 20 74 63 6c 5f 70 6b 67 50 61  riable tcl_pkgPa
19dc0 74 68 2c 20 77 68 69 63 68 20 68 6f 6c 64 73 20  th, which holds 
19dd0 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20 20 20  the default.    
19de0 20 20 64 69 72 65 63 74 6f 72 69 65 73 20 75 6e    directories un
19df0 64 65 72 20 77 68 69 63 68 20 70 61 63 6b 61 67  der which packag
19e00 65 73 20 61 72 65 20 6e 6f 72 6d 61 6c 6c 79 20  es are normally 
19e10 69 6e 73 74 61 6c 6c 65 64 20 28 65 61 63 68 0a  installed (each.
19e20 20 20 20 20 20 20 70 61 63 6b 61 67 65 20 67 6f        package go
19e30 65 73 20 69 6e 20 61 20 73 65 70 61 72 61 74 65  es in a separate
19e40 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 6f 66   subdirectory of
19e50 20 61 20 64 69 72 65 63 74 6f 72 79 20 69 6e 0a   a directory in.
19e60 20 20 20 20 20 20 24 74 63 6c 5f 70 6b 67 50 61        $tcl_pkgPa
19e70 74 68 29 2e 20 20 54 68 65 73 65 20 64 69 72 65  th).  These dire
19e80 63 74 6f 72 69 65 73 20 61 72 65 20 69 6e 63 6c  ctories are incl
19e90 75 64 65 64 20 69 6e 20 61 75 74 6f 5f 70 61 74  uded in auto_pat
19ea0 68 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75  h by.      defau
19eb0 6c 74 2e 0a 20 20 20 20 2d 20 43 68 61 6e 67 65  lt..    - Change
19ec0 64 20 74 68 65 20 70 61 63 6b 61 67 65 20 61 75  d the package au
19ed0 74 6f 2d 6c 6f 61 64 65 72 20 74 6f 20 6c 6f 6f  to-loader to loo
19ee0 6b 20 66 6f 72 20 70 6b 67 49 6e 64 65 78 2e 74  k for pkgIndex.t
19ef0 63 6c 20 66 69 6c 65 73 20 0a 20 20 20 20 20 20  cl files .      
19f00 6e 6f 74 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20  not only in the 
19f10 61 75 74 6f 5f 70 61 74 68 20 64 69 72 65 63 74  auto_path direct
19f20 6f 72 69 65 73 20 62 75 74 20 61 6c 73 6f 20 69  ories but also i
19f30 6e 20 74 68 65 69 72 20 69 6d 6d 65 64 69 61 74  n their immediat
19f40 65 0a 20 20 20 20 20 20 63 68 69 6c 64 72 65 6e  e.      children
19f50 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 6d  .  This should m
19f60 61 6b 65 20 69 74 20 65 61 73 69 65 72 20 74 6f  ake it easier to
19f70 20 69 6e 73 74 61 6c 6c 20 61 6e 64 20 75 6e 69   install and uni
19f80 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20 70 61 63  nstall.      pac
19f90 6b 61 67 65 73 20 28 64 6f 6e 27 74 20 68 61 76  kages (don't hav
19fa0 65 20 74 6f 20 63 68 61 6e 67 65 20 61 75 74 6f  e to change auto
19fb0 5f 70 61 74 68 20 6f 72 20 6d 65 72 67 65 20 70  _path or merge p
19fc0 6b 67 49 6e 64 65 78 2e 74 63 6c 0a 20 20 20 20  kgIndex.tcl.    
19fd0 20 20 66 69 6c 65 73 29 2e 20 28 4a 4f 29 0a 0a    files). (JO)..
19fe0 31 30 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78  10/3/96 (bug fix
19ff0 29 20 43 68 61 6e 67 65 64 20 74 63 6c 73 68 20  ) Changed tclsh 
1a000 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74 63 6c 73  to look for tcls
1a010 68 72 63 2e 74 63 6c 20 69 6e 73 74 65 61 64 20  hrc.tcl instead 
1a020 6f 66 0a 74 63 6c 73 68 2e 72 63 20 6f 6e 20 73  of.tclsh.rc on s
1a030 74 61 72 74 75 70 20 75 6e 64 65 72 20 57 69 6e  tartup under Win
1a040 64 6f 77 73 2e 20 20 54 68 69 73 20 69 73 20 6d  dows.  This is m
1a050 6f 72 65 20 63 6f 6e 73 69 73 74 65 6e 74 20 77  ore consistent w
1a060 69 74 68 20 77 69 73 68 20 61 6e 64 0a 75 73 65  ith wish and.use
1a070 73 20 74 68 65 20 72 69 67 68 74 20 65 78 74 65  s the right exte
1a080 6e 73 69 6f 6e 2e 20 28 53 53 29 0a 2a 2a 2a 20  nsion. (SS).*** 
1a090 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
1a0a0 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31  ATIBILITY ***..1
1a0b0 30 2f 38 2f 39 36 20 28 62 75 67 20 66 69 78 29  0/8/96 (bug fix)
1a0c0 20 43 6f 6e 76 65 72 74 63 6c 6f 63 6b 20 64 6f   Convertclock do
1a0d0 65 73 20 6e 6f 74 20 70 61 72 73 65 20 32 34 2d  es not parse 24-
1a0e0 68 6f 75 72 20 74 69 6d 65 73 20 6f 66 20 74 68  hour times of th
1a0f0 65 0a 66 6f 72 6d 20 22 68 68 6d 6d 22 20 63 6f  e.form "hhmm" co
1a100 72 72 65 63 74 6c 79 20 77 68 65 6e 20 68 6f 75  rrectly when hou
1a110 72 20 3d 20 30 30 2e 20 20 49 6e 20 74 68 65 20  r = 00.  In the 
1a120 70 61 72 73 65 20 63 6f 64 65 2c 20 68 6f 75 72  parse code, hour
1a130 20 6d 75 73 74 20 62 65 0a 3e 3d 20 31 30 30 20   must be.>= 100 
1a140 66 6f 72 20 6d 69 6e 75 74 65 73 20 74 6f 20 62  for minutes to b
1a150 65 20 6e 6f 6e 2d 7a 65 72 6f 2e 20 20 54 68 61  e non-zero.  Tha
1a160 6e 6b 73 20 74 6f 20 4c 69 6e 74 20 4c 61 43 6f  nks to Lint LaCo
1a170 75 72 20 66 6f 72 20 74 68 69 73 0a 62 75 67 20  ur for this.bug 
1a180 66 69 78 2e 20 28 52 4a 29 0a 0a 31 30 2f 31 31  fix. (RJ)..10/11
1a190 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 55 6e  /96 (bug fix) Un
1a1a0 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 74 68 65  der Windows, the
1a1b0 20 70 69 64 20 63 6f 6d 6d 61 6e 64 20 72 65 74   pid command ret
1a1c0 75 72 6e 65 64 20 74 68 65 20 70 72 6f 63 65 73  urned the proces
1a1d0 73 0a 68 61 6e 64 6c 65 20 69 6e 73 74 65 61 64  s.handle instead
1a1e0 20 6f 66 20 74 68 65 20 70 72 6f 63 65 73 73 20   of the process 
1a1f0 69 64 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d  id. (SS)..------
1a200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
1a210 61 73 65 64 20 37 2e 36 2c 20 31 30 2f 31 36 2f  ased 7.6, 10/16/
1a220 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  96 -------------
1a230 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 2f 32  ----------..10/2
1a240 39 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 55  9/96 (bug fix) U
1a250 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 73 6f  nder Windows, so
1a260 63 6b 65 74 73 20 77 6f 75 6c 64 20 63 6f 6e 73  ckets would cons
1a270 75 6d 65 20 31 30 30 25 20 43 50 55 20 74 69 6d  ume 100% CPU tim
1a280 65 20 61 66 74 65 72 0a 74 68 65 20 66 69 72 73  e after.the firs
1a290 74 20 61 63 63 65 70 74 28 29 2c 20 64 75 65 20  t accept(), due 
1a2a0 74 6f 20 61 20 74 79 70 6f 2e 20 28 4a 4c 29 0a  to a typo. (JL).
1a2b0 0a 31 30 2f 32 39 2f 39 36 20 28 62 75 67 20 66  .10/29/96 (bug f
1a2c0 69 78 29 20 49 6e 63 6f 72 72 65 63 74 20 72 65  ix) Incorrect re
1a2d0 66 63 6f 75 6e 74 20 6d 61 6e 61 67 65 6d 65 6e  fcount managemen
1a2e0 74 20 63 61 75 73 65 64 20 73 74 61 6e 64 61 72  t caused standar
1a2f0 64 20 63 68 61 6e 6e 65 6c 73 0a 6e 6f 74 20 74  d channels.not t
1a300 6f 20 67 65 74 20 64 65 6c 65 74 65 64 20 61 74  o get deleted at
1a310 20 70 72 6f 63 65 73 73 20 65 78 69 74 20 6f 72   process exit or
1a320 20 44 4c 4c 20 75 6e 6c 6f 61 64 20 74 69 6d 65   DLL unload time
1a330 2c 20 63 61 75 73 69 6e 67 20 61 20 6d 65 6d 6f  , causing a memo
1a340 72 79 0a 6c 65 61 6b 20 6f 66 20 75 70 77 61 72  ry.leak of upwar
1a350 64 73 20 6f 66 20 32 30 4b 20 65 61 63 68 20 74  ds of 20K each t
1a360 69 6d 65 2e 20 28 4a 4c 29 0a 0a 31 31 2f 37 2f  ime. (JL)..11/7/
1a370 39 36 20 28 62 75 67 20 66 69 78 29 20 41 75 74  96 (bug fix) Aut
1a380 6f 2d 65 78 65 63 20 64 69 64 6e 27 74 20 77 6f  o-exec didn't wo
1a390 72 6b 20 6f 6e 20 66 69 6c 65 20 6e 61 6d 65 73  rk on file names
1a3a0 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 65 64 0a   that contained.
1a3b0 73 70 61 63 65 73 2e 20 28 4a 4f 29 0a 0a 31 31  spaces. (JO)..11
1a3c0 2f 38 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /8/96 (bug fix) 
1a3d0 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70 20  Fixed core dump 
1a3e0 74 68 61 74 20 77 6f 75 6c 64 20 6f 63 63 75 72  that would occur
1a3f0 20 69 66 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e   if more than on
1a400 65 20 63 61 6c 6c 0a 74 6f 20 54 63 6c 5f 44 65  e call.to Tcl_De
1a410 6c 65 74 65 43 68 61 6e 6e 65 6c 48 61 6e 64 6c  leteChannelHandl
1a420 65 72 20 77 61 73 20 6d 61 64 65 20 74 6f 20 64  er was made to d
1a430 65 6c 65 74 65 20 61 20 67 69 76 65 6e 20 63 68  elete a given ch
1a440 61 6e 6e 65 6c 20 68 61 6e 64 6c 65 72 2e 20 28  annel handler. (
1a450 4a 4c 29 0a 0a 31 31 2f 38 2f 39 36 20 28 62 75  JL)..11/8/96 (bu
1a460 67 20 66 69 78 29 20 46 69 78 65 64 20 74 65 73  g fix) Fixed tes
1a470 74 20 66 6f 72 20 72 65 74 75 72 6e 20 76 61 6c  t for return val
1a480 75 65 20 69 6e 20 54 63 6c 5f 53 65 65 6b 20 61  ue in Tcl_Seek a
1a490 6e 64 20 54 63 6c 5f 53 65 65 6b 43 6d 64 0a 74  nd Tcl_SeekCmd.t
1a4a0 6f 20 6f 6e 6c 79 20 74 72 65 61 74 20 2d 31 20  o only treat -1 
1a4b0 61 73 20 65 72 72 6f 72 2c 20 69 6e 73 74 65 61  as error, instea
1a4c0 64 20 6f 66 20 61 6c 6c 20 6e 65 67 61 74 69 76  d of all negativ
1a4d0 65 20 6e 75 6d 62 65 72 73 2e 20 28 4a 4c 29 0a  e numbers. (JL).
1a4e0 0a 31 31 2f 31 32 2f 39 36 20 28 62 75 67 20 66  .11/12/96 (bug f
1a4f0 69 78 29 20 44 6f 20 6e 6f 74 20 62 6c 6f 63 6b  ix) Do not block
1a500 69 6e 67 20 77 61 69 74 69 6e 67 20 66 6f 72 20  ing waiting for 
1a510 70 72 6f 63 65 73 73 65 73 20 61 74 20 74 68 65  processes at the
1a520 20 65 6e 64 20 6f 66 20 61 0a 70 69 70 65 20 64   end of a.pipe d
1a530 75 72 69 6e 67 20 65 78 69 74 20 63 6c 65 61 6e  uring exit clean
1a540 75 70 2e 20 28 4a 4c 29 0a 0a 31 31 2f 31 32 2f  up. (JL)..11/12/
1a550 39 36 20 28 62 75 67 20 66 69 78 29 20 49 66 20  96 (bug fix) If 
1a560 77 65 20 61 72 65 20 69 6e 20 65 78 69 74 20 63  we are in exit c
1a570 6c 65 61 6e 75 70 2c 20 64 6f 20 6e 6f 74 20 63  leanup, do not c
1a580 6c 6f 73 65 20 74 68 65 20 73 79 73 74 65 6d 20  lose the system 
1a590 6c 65 76 65 6c 0a 66 69 6c 65 20 64 65 73 63 72  level.file descr
1a5a0 69 70 74 6f 72 73 20 30 2c 20 31 20 61 6e 64 20  iptors 0, 1 and 
1a5b0 32 2e 20 50 72 65 76 69 6f 75 73 6c 79 20 74 68  2. Previously th
1a5c0 65 79 20 77 65 72 65 20 62 65 69 6e 67 20 63 6c  ey were being cl
1a5d0 6f 73 65 64 20 77 68 69 63 68 20 69 73 0a 69 6e  osed which is.in
1a5e0 63 6f 72 72 65 63 74 2c 20 69 6e 20 74 68 65 20  correct, in the 
1a5f0 65 6d 62 65 64 64 65 64 20 63 61 73 65 2e 20 54  embedded case. T
1a600 68 69 73 20 6c 65 64 20 74 6f 20 77 65 69 72 64  his led to weird
1a610 20 62 65 68 61 76 69 6f 72 20 66 6f 72 20 70 72   behavior for pr
1a620 6f 67 72 61 6d 73 0a 74 68 61 74 20 77 61 6e 74  ograms.that want
1a630 20 74 6f 20 69 6e 74 65 72 70 6f 73 65 20 6f 6e   to interpose on
1a640 20 49 2f 4f 20 74 68 72 6f 75 67 68 20 74 68 65   I/O through the
1a650 20 73 74 61 6e 64 61 72 64 20 66 69 6c 65 20 64   standard file d
1a660 65 73 63 72 69 70 74 6f 72 73 20 28 65 2e 67 2e  escriptors (e.g.
1a670 0a 4e 65 74 73 63 61 70 65 20 4e 61 76 69 67 61  .Netscape Naviga
1a680 74 6f 72 29 2e 20 28 4a 4c 29 0a 0a 31 31 2f 31  tor). (JL)..11/1
1a690 35 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  5/96 (bug fix) F
1a6a0 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70 20 6f  ixed core dump o
1a6b0 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74  n Windows socket
1a6c0 73 20 64 75 65 20 74 6f 20 64 65 70 65 6e 64 65  s due to depende
1a6d0 6e 63 79 20 6f 6e 0a 64 65 6c 65 74 69 6f 6e 20  ncy on.deletion 
1a6e0 6f 72 64 65 72 20 61 74 20 65 78 69 74 2e 20 4e  order at exit. N
1a6f0 6f 77 20 61 6c 6c 20 73 6f 63 6b 65 74 20 66 75  ow all socket fu
1a700 6e 63 74 69 6f 6e 73 20 63 68 65 63 6b 20 74 6f  nctions check to
1a710 20 73 65 65 20 69 66 20 73 6f 63 6b 65 74 73 0a   see if sockets.
1a720 61 72 65 20 28 73 74 69 6c 6c 29 20 69 6e 69 74  are (still) init
1a730 69 61 6c 69 7a 65 64 2c 20 62 65 66 6f 72 65 20  ialized, before 
1a740 63 61 6c 6c 69 6e 67 20 74 68 72 6f 75 67 68 20  calling through 
1a750 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72  function pointer
1a760 73 2e 20 42 65 66 6f 72 65 2c 0a 74 68 65 79 20  s. Before,.they 
1a770 77 6f 75 6c 64 20 63 61 6c 6c 20 61 6e 64 20 6d  would call and m
1a780 69 67 68 74 20 65 6e 64 20 75 70 20 63 61 6c 6c  ight end up call
1a790 69 6e 67 20 75 6e 6c 6f 61 64 65 64 20 6f 62 6a  ing unloaded obj
1a7a0 65 63 74 20 63 6f 64 65 2e 20 28 4a 4c 29 0a 0a  ect code. (JL)..
1a7b0 31 31 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69  11/15/96 (bug fi
1a7c0 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75  x) Fixed core du
1a7d0 6d 70 20 69 6e 20 57 69 6e 64 6f 77 73 20 73 6f  mp in Windows so
1a7e0 63 6b 65 74 20 69 6e 69 74 69 61 6c 69 7a 61 74  cket initializat
1a7f0 69 6f 6e 20 72 6f 75 74 69 6e 65 0a 69 66 20 73  ion routine.if s
1a800 6f 63 6b 65 74 73 20 77 65 72 65 20 6e 6f 74 20  ockets were not 
1a810 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 74 68 65  installed on the
1a820 20 73 79 73 74 65 6d 2e 20 42 65 66 6f 72 65 2c   system. Before,
1a830 20 69 74 20 77 61 73 20 6e 6f 74 20 70 72 6f 70   it was not prop
1a840 65 72 6c 79 0a 63 68 65 63 6b 69 6e 67 20 74 68  erly.checking th
1a850 65 20 72 65 73 75 6c 74 20 6f 66 20 61 74 74 65  e result of atte
1a860 6d 70 74 69 6e 67 20 74 6f 20 6c 6f 61 64 20 74  mpting to load t
1a870 68 65 20 73 6f 63 6b 65 74 20 44 4c 4c 2c 20 73  he socket DLL, s
1a880 6f 20 69 74 20 77 6f 75 6c 64 20 63 61 6c 6c 0a  o it would call.
1a890 74 68 72 6f 75 67 68 20 75 6e 69 6e 69 74 69 61  through uninitia
1a8a0 6c 69 7a 65 64 20 66 75 6e 63 74 69 6f 6e 20 70  lized function p
1a8b0 6f 69 6e 74 65 72 73 2e 20 28 4a 4c 29 0a 0a 31  ointers. (JL)..1
1a8c0 31 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69 78  1/15/96 (bug fix
1a8d0 29 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c  ) Fixed memory l
1a8e0 65 61 6b 20 69 6e 20 57 69 6e 64 6f 77 73 20 73  eak in Windows s
1a8f0 6f 63 6b 65 74 73 20 77 68 69 63 68 20 6c 65 66  ockets which lef
1a900 74 20 73 6f 63 6b 65 74 0a 44 4c 4c 20 68 61 6e  t socket.DLL han
1a910 64 6c 65 20 6f 70 65 6e 20 61 6e 64 20 63 6f 75  dle open and cou
1a920 6c 64 20 68 6f 6c 64 20 74 68 65 20 73 6f 63 6b  ld hold the sock
1a930 65 74 20 44 4c 4c 20 69 6e 20 6d 65 6d 6f 72 79  et DLL in memory
1a940 20 75 6e 65 63 63 65 73 73 61 72 69 6c 79 2c 0a   uneccessarily,.
1a950 75 6e 74 69 6c 20 61 20 72 65 62 6f 6f 74 2e 20  until a reboot. 
1a960 28 4a 4c 29 0a 0a 31 32 2f 34 2f 39 36 20 28 62  (JL)..12/4/96 (b
1a970 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
1a980 67 20 69 6e 20 4d 61 63 69 6e 74 6f 73 68 20 73  g in Macintosh s
1a990 6f 63 6b 65 74 20 63 6f 64 65 20 74 68 61 74 20  ocket code that 
1a9a0 63 6f 75 6c 64 20 72 65 73 75 6c 74 0a 69 6e 20  could result.in 
1a9b0 6c 6f 73 74 20 64 61 74 61 20 69 66 20 61 20 63  lost data if a c
1a9c0 6c 69 65 6e 74 20 77 61 73 20 63 6c 6f 73 65 64  lient was closed
1a9d0 20 74 6f 6f 20 73 6f 6f 6e 20 61 66 74 65 72 20   too soon after 
1a9e0 73 65 6e 64 69 6e 67 20 64 61 74 61 2e 20 28 52  sending data. (R
1a9f0 4a 29 0a 0a 31 32 2f 31 37 2f 39 36 20 28 62 75  J)..12/17/96 (bu
1aa00 67 20 66 69 78 29 20 46 69 78 65 64 20 64 65 61  g fix) Fixed dea
1aa10 64 6c 6f 63 6b 20 62 75 67 20 69 6e 20 57 69 6e  dlock bug in Win
1aa20 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 64 75 65  dows sockets due
1aa30 20 74 6f 20 6c 6f 73 69 6e 67 20 61 6e 0a 65 76   to losing an.ev
1aa40 65 6e 74 2e 20 54 68 69 73 20 77 61 73 20 68 61  ent. This was ha
1aa50 70 70 65 6e 69 6e 67 20 62 65 63 61 75 73 65 20  ppening because 
1aa60 6f 66 20 61 6e 20 69 6e 74 65 72 61 63 74 69 6f  of an interactio
1aa70 6e 20 62 65 74 77 65 65 6e 20 62 75 66 66 65 72  n between buffer
1aa80 69 6e 67 20 61 6e 64 0a 6e 6f 6e 62 6c 6f 63 6b  ing and.nonblock
1aa90 69 6e 67 20 6d 6f 64 65 20 6f 6e 20 73 6f 63 6b  ing mode on sock
1aaa0 65 74 73 2e 20 4e 6f 77 20 73 77 69 74 63 68 65  ets. Now switche
1aab0 64 20 74 6f 20 73 6f 63 6b 65 74 73 20 62 65 69  d to sockets bei
1aac0 6e 67 20 62 6c 6f 63 6b 69 6e 67 20 62 79 0a 64  ng blocking by.d
1aad0 65 66 61 75 6c 74 2c 20 73 6f 20 77 65 20 61 72  efault, so we ar
1aae0 65 20 61 6c 73 6f 20 6e 6f 20 6c 6f 6e 67 65 72  e also no longer
1aaf0 20 65 6d 75 6c 61 74 69 6e 67 20 62 6c 6f 63 6b   emulating block
1ab00 69 6e 67 20 74 68 72 6f 75 67 68 20 61 20 70 72  ing through a pr
1ab10 69 76 61 74 65 0a 65 76 65 6e 74 20 6c 6f 6f 70  ivate.event loop
1ab20 2e 20 28 4a 4c 29 0a 0a 31 2f 32 31 2f 39 37 20  . (JL)..1/21/97 
1ab30 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67  (performance bug
1ab40 20 66 69 78 29 20 43 6c 69 65 6e 74 20 54 43 50   fix) Client TCP
1ab50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 77 65 72   connections wer
1ab60 65 20 73 6c 6f 77 20 74 6f 20 63 72 65 61 74 65  e slow to create
1ab70 0a 62 65 63 61 75 73 65 20 67 65 74 73 65 72 76  .because getserv
1ab80 62 79 6e 61 6d 65 20 77 61 73 20 61 6c 77 61 79  byname was alway
1ab90 73 20 63 61 6c 6c 65 64 20 6f 6e 20 74 68 65 20  s called on the 
1aba0 70 6f 72 74 2e 20 20 4e 6f 77 20 74 68 69 73 20  port.  Now this 
1abb0 69 73 20 6f 6e 6c 79 0a 64 6f 6e 65 20 69 66 20  is only.done if 
1abc0 54 63 6c 5f 47 65 74 49 6e 74 20 66 61 69 6c 73  Tcl_GetInt fails
1abd0 2e 20 28 42 57 29 0a 0a 31 2f 32 31 2f 39 37 20  . (BW)..1/21/97 
1abe0 28 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66  (configuration f
1abf0 69 78 29 20 4d 61 64 65 20 69 74 20 70 6f 73 73  ix) Made it poss
1ac00 69 62 6c 65 20 74 6f 20 6f 76 65 72 72 69 64 65  ible to override
1ac10 20 54 43 4c 5f 50 41 43 4b 41 47 45 5f 50 41 54   TCL_PACKAGE_PAT
1ac20 48 0a 64 75 72 69 6e 67 20 6d 61 6b 65 2e 20 20  H.during make.  
1ac30 50 72 65 76 69 6f 75 73 6c 79 20 69 74 20 77 61  Previously it wa
1ac40 73 20 6f 6e 6c 79 20 73 65 74 20 64 75 72 69 6e  s only set durin
1ac50 67 20 61 75 74 6f 63 6f 6e 66 20 70 72 6f 63 65  g autoconf proce
1ac60 73 73 2e 0a 0a 31 2f 32 39 2f 39 37 20 28 62 75  ss...1/29/97 (bu
1ac70 67 20 66 69 78 29 20 46 69 78 65 64 20 73 6f 6d  g fix) Fixed som
1ac80 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20  e problems with 
1ac90 74 68 65 20 63 6c 6f 63 6b 20 63 6f 6d 6d 61 6e  the clock comman
1aca0 64 20 74 68 61 74 0a 69 6d 70 61 63 74 65 64 20  d that.impacted 
1acb0 68 6f 77 20 64 61 74 65 73 20 77 65 72 65 20 73  how dates were s
1acc0 63 61 6e 65 64 20 61 66 74 65 72 20 74 68 65 20  caned after the 
1acd0 79 65 61 72 20 32 30 30 30 2e 20 28 52 4a 29 0a  year 2000. (RJ).
1ace0 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
1acf0 2d 2d 20 52 65 6c 65 61 73 65 64 20 37 2e 36 70  -- Released 7.6p
1ad00 32 2c 20 31 2f 33 31 2f 39 37 20 2d 2d 2d 2d 2d  2, 1/31/97 -----
1ad10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ad20 2d 2d 0a 0a 32 2f 35 2f 39 37 20 28 62 75 67 20  --..2/5/97 (bug 
1ad30 66 69 78 29 20 46 69 78 65 64 20 61 20 62 75 67  fix) Fixed a bug
1ad40 20 77 68 65 72 65 20 69 6e 20 43 52 2d 4c 46 20   where in CR-LF 
1ad50 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65  translation mode
1ad60 2c 20 5c 72 20 62 79 74 65 73 0a 69 6e 20 74 68  , \r bytes.in th
1ad70 65 20 69 6e 70 75 74 20 73 74 72 65 61 6d 20 77  e input stream w
1ad80 65 72 65 20 6e 6f 74 20 62 65 69 6e 67 20 68 61  ere not being ha
1ad90 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 2e  ndled correctly.
1ada0 20 28 4a 4c 29 0a 0a 32 2f 32 34 2f 39 37 20 28   (JL)..2/24/97 (
1adb0 62 75 67 20 66 69 78 29 20 46 69 78 20 62 75 67  bug fix) Fix bug
1adc0 20 77 69 74 68 20 65 78 65 63 20 75 6e 64 65 72   with exec under
1add0 20 57 69 6e 33 32 73 20 6e 6f 74 20 62 65 69 6e   Win32s not bein
1ade0 67 20 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65  g able to create
1adf0 0a 73 74 64 65 72 72 20 66 69 6c 65 20 77 68 69  .stderr file whi
1ae00 63 68 20 63 61 75 73 65 64 20 61 6c 6c 20 65 78  ch caused all ex
1ae10 65 63 73 20 74 6f 20 66 61 69 6c 2e 20 20 46 69  ecs to fail.  Fi
1ae20 78 65 64 20 74 65 6d 70 20 66 69 6c 65 20 6c 65  xed temp file le
1ae30 61 6b 20 75 6e 64 65 72 0a 57 69 6e 33 32 73 2e  ak under.Win32s.
1ae40 20 20 46 69 78 65 64 20 6f 70 74 69 6f 6e 61 6c    Fixed optional
1ae50 20 70 61 72 61 6d 65 74 65 72 20 62 75 67 20 77   parameter bug w
1ae60 69 74 68 20 53 65 61 72 63 68 50 61 74 68 20 74  ith SearchPath t
1ae70 68 61 74 20 6f 6e 6c 79 20 68 61 70 70 65 6e 65  hat only happene
1ae80 64 0a 75 6e 64 65 72 20 57 69 6e 33 32 73 20 31  d.under Win32s 1
1ae90 2e 32 35 2e 20 28 43 43 53 29 0a 0a 2d 2d 2d 2d  .25. (CCS)..----
1aea0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1aeb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1aec0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1aed0 2d 2d 2d 2d 2d 2d 0a 43 68 61 6e 67 65 73 20 66  ------.Changes f
1aee0 6f 72 20 54 63 6c 20 37 2e 36 20 67 6f 20 61 62  or Tcl 7.6 go ab
1aef0 6f 76 65 20 74 68 69 73 20 6c 69 6e 65 2e 0a 43  ove this line..C
1af00 68 61 6e 67 65 73 20 66 6f 72 20 54 63 6c 20 37  hanges for Tcl 7
1af10 2e 37 20 67 6f 20 62 65 6c 6f 77 20 74 68 69 73  .7 go below this
1af20 20 6c 69 6e 65 2e 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   line..---------
1af30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1af60 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65 77 20 66  -..5/8/96 (new f
1af70 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63  eature) Added Tc
1af80 6c 5f 55 6e 67 65 74 73 20 43 20 41 50 49 20 66  l_Ungets C API f
1af90 6f 72 20 70 75 74 74 69 6e 67 20 61 20 73 65 71  or putting a seq
1afa0 75 65 6e 63 65 20 6f 66 20 62 79 74 65 73 0a 69  uence of bytes.i
1afb0 6e 74 6f 20 61 20 63 68 61 6e 6e 65 6c 27 73 20  nto a channel's 
1afc0 69 6e 70 75 74 20 62 75 66 66 65 72 2e 20 54 68  input buffer. Th
1afd0 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 66  is can be used f
1afe0 6f 72 20 22 70 75 73 68 22 20 6d 6f 64 65 6c 20  or "push" model 
1aff0 63 68 61 6e 6e 65 6c 73 0a 77 68 65 72 65 20 74  channels.where t
1b000 68 65 20 69 6e 70 75 74 20 69 73 20 6f 62 74 61  he input is obta
1b010 69 6e 65 64 20 76 69 61 20 63 61 6c 6c 62 61 63  ined via callbac
1b020 6b 73 20 69 6e 73 74 65 61 64 20 6f 66 20 62 79  ks instead of by
1b030 20 72 65 71 75 65 73 74 20 6f 66 20 74 68 65 0a   request of the.
1b040 67 65 6e 65 72 69 63 20 49 4f 20 63 6f 64 65 2e  generic IO code.
1b050 20 4e 6f 20 54 63 6c 20 70 72 6f 63 65 64 75 72   No Tcl procedur
1b060 65 20 79 65 74 2e 20 28 4a 4c 29 0a 0a 31 31 2f  e yet. (JL)..11/
1b070 31 35 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  15/96 (new featu
1b080 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20  re) Implemented 
1b090 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 2e  hidden commands.
1b0a0 20 4e 65 77 20 43 20 41 50 49 73 3a 0a 09 54 63   New C APIs:..Tc
1b0b0 6c 5f 48 69 64 65 43 6f 6d 6d 61 6e 64 09 09 2d  l_HideCommand..-
1b0c0 2d 20 68 69 64 65 73 20 61 6e 20 65 78 69 73 74  - hides an exist
1b0d0 69 6e 67 20 65 78 70 6f 73 65 64 20 63 6f 6d 6d  ing exposed comm
1b0e0 61 6e 64 2e 0a 09 54 63 6c 5f 45 78 70 6f 73 65  and...Tcl_Expose
1b0f0 43 6f 6d 6d 61 6e 64 09 2d 2d 20 65 78 70 6f 73  Command.-- expos
1b100 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20 68  es an existing h
1b110 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 4e  idden command..N
1b120 65 77 20 74 63 6c 20 41 50 49 73 3a 0a 09 69 6e  ew tcl APIs:..in
1b130 74 65 72 70 20 69 6e 76 6f 6b 65 68 69 64 64 65  terp invokehidde
1b140 6e 09 2d 2d 20 69 6e 76 6f 6b 65 73 20 61 20 68  n.-- invokes a h
1b150 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 20 69 6e  idden command in
1b160 20 61 20 73 6c 61 76 65 2e 0a 09 69 6e 74 65 72   a slave...inter
1b170 70 20 68 69 64 65 09 09 2d 2d 20 68 69 64 65 73  p hide..-- hides
1b180 20 61 6e 20 65 78 69 73 74 69 6e 67 20 65 78 70   an existing exp
1b190 6f 73 65 64 20 63 6f 6d 6d 61 6e 64 2e 0a 09 69  osed command...i
1b1a0 6e 74 65 72 70 20 65 78 70 6f 73 65 09 09 2d 2d  nterp expose..--
1b1b0 20 65 78 70 6f 73 65 73 20 61 6e 20 65 78 69 73   exposes an exis
1b1c0 74 69 6e 67 20 68 69 64 64 65 6e 20 63 6f 6d 6d  ting hidden comm
1b1d0 61 6e 64 2e 0a 09 69 6e 74 65 72 70 20 68 69 64  and...interp hid
1b1e0 64 65 6e 09 09 2d 2d 20 72 65 74 75 72 6e 73 20  den..-- returns 
1b1f0 61 20 6c 69 73 74 20 6f 66 20 68 69 64 64 65 6e  a list of hidden
1b200 20 63 6f 6d 6d 61 6e 64 73 2e 0a 54 68 65 20 69   commands..The i
1b210 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
1b220 20 53 61 66 65 20 54 63 6c 20 6e 6f 77 20 75 73   Safe Tcl now us
1b230 65 73 20 74 68 65 20 6e 65 77 20 68 69 64 64 65  es the new hidde
1b240 6e 20 63 6f 6d 6d 61 6e 64 73 20 66 61 63 69 6c  n commands facil
1b250 69 74 79 0a 74 6f 20 69 6d 70 6c 65 6d 65 6e 74  ity.to implement
1b260 20 74 68 65 20 73 61 66 65 20 62 61 73 65 2c 20   the safe base, 
1b270 69 6e 73 74 65 61 64 20 6f 66 20 64 65 6c 65 74  instead of delet
1b280 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73  ing the commands
1b290 20 66 72 6f 6d 20 61 20 73 61 66 65 0a 69 6e 74   from a safe.int
1b2a0 65 72 70 72 65 74 65 72 2e 20 28 4a 4c 29 0a 0a  erpreter. (JL)..
1b2b0 31 31 2f 31 35 2f 39 36 20 28 6e 65 77 20 66 65  11/15/96 (new fe
1b2c0 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74  ature) Implement
1b2d0 65 64 20 74 68 65 20 73 61 66 65 20 62 61 73 65  ed the safe base
1b2e0 2c 20 61 20 6d 65 63 68 61 6e 69 73 6d 20 66 6f  , a mechanism fo
1b2f0 72 0a 69 6e 73 74 61 6c 6c 69 6e 67 20 61 6e 64  r.installing and
1b300 20 72 65 71 75 65 73 74 69 6e 67 20 73 65 63 75   requesting secu
1b310 72 69 74 79 20 70 6f 6c 69 63 69 65 73 2c 20 70  rity policies, p
1b320 75 72 65 6c 79 20 69 6e 20 54 63 6c 20 63 6f 64  urely in Tcl cod
1b330 65 2e 20 4f 76 65 72 6c 6f 61 64 73 0a 74 68 65  e. Overloads.the
1b340 20 70 61 63 6b 61 67 65 20 63 6f 6d 6d 61 6e 64   package command
1b350 20 74 6f 20 61 6c 73 6f 20 61 6c 6c 6f 77 20 61   to also allow a
1b360 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 74 6f  n interpreter to
1b370 20 22 72 65 71 75 69 72 65 22 20 61 20 70 6f 6c   "require" a pol
1b380 69 63 79 2e 20 54 68 65 0a 66 6f 6c 6c 6f 77 69  icy. The.followi
1b390 6e 67 20 6e 65 77 20 6c 69 62 72 61 72 79 20 63  ng new library c
1b3a0 6f 6d 6d 61 6e 64 73 20 61 72 65 20 70 72 6f 76  ommands are prov
1b3b0 69 64 65 64 3a 0a 09 74 63 6c 5f 73 61 66 65 43  ided:..tcl_safeC
1b3c0 72 65 61 74 65 49 6e 74 65 72 70 09 2d 2d 20 63  reateInterp.-- c
1b3d0 72 65 61 74 65 73 20 61 20 73 6c 61 76 65 20 61  reates a slave a
1b3e0 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68  n initializes th
1b3f0 65 0a 09 09 09 09 20 20 20 70 6f 6c 69 63 79 20  e.....   policy 
1b400 6d 65 63 68 61 6e 69 73 6d 2e 0a 09 74 63 6c 5f  mechanism...tcl_
1b410 73 61 66 65 49 6e 69 74 49 6e 74 65 72 70 09 2d  safeInitInterp.-
1b420 2d 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 61 6e  - initializes an
1b430 20 65 78 69 73 74 69 6e 67 20 73 6c 61 76 65 20   existing slave 
1b440 77 69 74 68 20 74 68 65 0a 09 09 09 09 20 20 20  with the.....   
1b450 70 6f 6c 69 63 79 20 6d 65 63 68 61 6e 69 73 6d  policy mechanism
1b460 2e 0a 09 74 63 6c 5f 73 61 66 65 44 65 6c 65 74  ...tcl_safeDelet
1b470 65 49 6e 74 65 72 70 09 2d 2d 20 64 65 6c 65 74  eInterp.-- delet
1b480 65 73 20 61 20 73 6c 61 76 65 20 61 6e 64 20 64  es a slave and d
1b490 65 69 6e 69 74 69 61 6c 69 7a 65 73 20 74 68 65  einitializes the
1b4a0 0a 09 09 09 09 20 20 20 70 6f 6c 69 63 79 20 6d  .....   policy m
1b4b0 65 63 68 61 6e 69 73 6d 2e 0a 41 64 64 65 64 20  echanism..Added 
1b4c0 61 20 6e 65 77 20 66 69 6c 65 20 74 6f 20 74 68  a new file to th
1b4d0 65 20 6c 69 62 72 61 72 79 2c 20 73 61 66 65 69  e library, safei
1b4e0 6e 69 74 2e 74 63 6c 2c 20 74 6f 20 68 6f 6c 64  nit.tcl, to hold
1b4f0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e   implementation.
1b500 20 28 4a 4c 29 0a 4f 6e 20 37 2f 39 2f 39 37 2c   (JL).On 7/9/97,
1b510 20 72 65 6d 6f 76 65 64 20 74 68 65 20 70 6f 6c   removed the pol
1b520 69 63 79 20 6c 6f 61 64 69 6e 67 20 6d 65 63 68  icy loading mech
1b530 61 6e 69 73 6d 20 66 72 6f 6d 20 74 68 65 20 53  anism from the S
1b540 61 66 65 20 42 61 73 65 2e 20 4c 65 66 74 0a 6f  afe Base. Left.o
1b550 6e 6c 79 20 74 68 65 20 53 61 66 65 20 42 61 73  nly the Safe Bas
1b560 65 20 61 6c 69 61 73 65 73 20 64 65 61 6c 69 6e  e aliases dealin
1b570 67 20 77 69 74 68 20 61 75 74 6f 2d 6c 6f 61 64  g with auto-load
1b580 69 6e 67 20 61 6e 64 20 73 6f 75 72 63 65 2e 20  ing and source. 
1b590 28 4a 4c 29 0a 0a 31 32 2f 36 2f 39 36 20 28 6e  (JL)..12/6/96 (n
1b5a0 65 77 20 66 65 61 74 75 72 65 29 20 49 6d 70 6c  ew feature) Impl
1b5b0 65 6d 65 6e 74 65 64 20 54 63 6c 5f 46 69 6e 61  emented Tcl_Fina
1b5c0 6c 69 7a 65 2c 20 61 6e 20 41 50 49 20 74 68 61  lize, an API tha
1b5d0 74 20 73 68 6f 75 6c 64 20 62 65 0a 63 61 6c 6c  t should be.call
1b5e0 65 64 20 62 79 20 61 20 70 72 6f 63 65 73 73 20  ed by a process 
1b5f0 77 68 65 6e 20 69 74 20 69 73 20 64 6f 6e 65 20  when it is done 
1b600 75 73 69 6e 67 20 54 63 6c 2e 20 54 68 69 73 20  using Tcl. This 
1b610 41 50 49 20 72 75 6e 73 20 61 6c 6c 20 74 68 65  API runs all the
1b620 20 65 78 69 74 0a 68 61 6e 64 6c 65 72 73 20 74   exit.handlers t
1b630 6f 20 61 6c 6c 6f 77 20 74 68 65 6d 20 74 6f 20  o allow them to 
1b640 63 6c 65 61 6e 20 75 70 20 72 65 73 6f 75 72 63  clean up resourc
1b650 65 73 20 65 74 63 2e 20 28 4a 4c 29 0a 0a 31 32  es etc. (JL)..12
1b660 2f 31 37 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /17/96 (new feat
1b670 75 72 65 29 20 41 64 64 20 61 6e 20 68 74 74 70  ure) Add an http
1b680 20 54 63 6c 20 73 63 72 69 70 74 20 70 61 63 6b   Tcl script pack
1b690 61 67 65 20 74 6f 20 74 68 65 20 54 63 6c 20 6c  age to the Tcl l
1b6a0 69 62 72 61 72 79 2e 0a 54 68 69 73 20 70 61 63  ibrary..This pac
1b6b0 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20  kage implements 
1b6c0 74 68 65 20 63 6c 69 65 6e 74 20 73 69 64 65 20  the client side 
1b6d0 6f 66 20 48 54 54 50 2f 31 2e 30 3b 20 74 68 65  of HTTP/1.0; the
1b6e0 20 47 45 54 2c 20 48 45 41 44 2c 0a 61 6e 64 20   GET, HEAD,.and 
1b6f0 50 4f 53 54 20 72 65 71 75 65 73 74 73 2e 20 28  POST requests. (
1b700 42 57 29 0a 0a 31 2f 32 31 2f 39 37 20 28 6e 65  BW)..1/21/97 (ne
1b710 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
1b720 20 61 20 22 6d 61 72 6b 74 72 75 73 74 65 64 22   a "marktrusted"
1b730 20 73 75 62 63 6f 6d 6d 61 6e 64 20 74 6f 20 74   subcommand to t
1b740 68 65 20 22 69 6e 74 65 72 70 22 20 61 6e 64 0a  he "interp" and.
1b750 74 6f 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  to the interpret
1b760 65 72 20 6f 62 6a 65 63 74 20 63 6f 6d 6d 61 6e  er object comman
1b770 64 2e 20 49 74 20 72 65 6d 6f 76 65 73 20 74 68  d. It removes th
1b780 65 20 22 73 61 66 65 22 20 6d 61 72 6b 20 6f 6e  e "safe" mark on
1b790 20 61 6e 0a 69 6e 74 65 72 70 72 65 74 65 72 20   an.interpreter 
1b7a0 61 6e 64 20 64 69 73 61 62 6c 65 73 20 68 61 72  and disables har
1b7b0 64 2d 77 69 72 65 64 20 63 68 65 63 6b 73 20 66  d-wired checks f
1b7c0 6f 72 20 73 61 66 65 74 79 20 69 6e 20 74 68 65  or safety in the
1b7d0 20 43 20 73 6f 75 72 63 65 73 2e 20 28 4a 4c 29   C sources. (JL)
1b7e0 0a 0a 31 2f 32 31 2f 39 37 20 28 72 65 6d 6f 76  ..1/21/97 (remov
1b7f0 65 64 20 66 65 61 74 75 72 65 29 20 52 65 6d 6f  ed feature) Remo
1b800 76 65 64 20 22 76 77 61 69 74 22 20 66 72 6f 6d  ved "vwait" from
1b810 20 73 65 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73   set of commands
1b820 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 0a 61 20   available in.a 
1b830 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72  safe interpreter
1b840 2e 20 28 4a 4c 29 0a 0a 32 2f 31 31 2f 39 37 20  . (JL)..2/11/97 
1b850 28 6e 65 77 20 66 65 61 74 75 72 65 2c 20 62 75  (new feature, bu
1b860 67 20 66 69 78 29 20 68 74 74 70 20 70 61 63 6b  g fix) http pack
1b870 61 67 65 2e 20 20 41 64 64 65 64 20 2d 61 63 63  age.  Added -acc
1b880 65 70 74 20 74 6f 20 68 74 74 70 5f 63 6f 6e 66  ept to http_conf
1b890 69 67 0a 73 6f 20 79 6f 75 20 63 61 6e 20 73 65  ig.so you can se
1b8a0 74 20 74 68 65 20 41 63 63 65 70 74 20 68 65 61  t the Accept hea
1b8b0 64 65 72 2e 20 20 41 64 64 65 64 20 2d 68 61 6e  der.  Added -han
1b8c0 64 6c 65 72 20 6f 70 74 69 6f 6e 20 74 6f 20 68  dler option to h
1b8d0 74 74 70 5f 67 65 74 20 73 6f 0a 79 6f 75 20 63  ttp_get so.you c
1b8e0 61 6e 20 73 75 70 70 6c 79 20 79 6f 75 72 20 6f  an supply your o
1b8f0 77 6e 20 64 61 74 61 20 68 61 6e 64 6c 65 72 2e  wn data handler.
1b900 20 20 41 6c 73 6f 20 66 69 78 65 64 20 50 4f 53    Also fixed POS
1b910 54 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 0a 73  T operation to.s
1b920 65 74 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d  et the correct M
1b930 49 4d 45 20 74 79 70 65 20 6f 6e 20 74 68 65 20  IME type on the 
1b940 72 65 71 75 65 73 74 2e 20 28 42 57 29 0a 0a 2d  request. (BW)..-
1b950 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b980 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 43 68 61 6e 67 65  ---------.Change
1b990 73 20 66 6f 72 20 54 63 6c 20 37 2e 37 20 67 6f  s for Tcl 7.7 go
1b9a0 20 61 62 6f 76 65 20 74 68 69 73 20 6c 69 6e 65   above this line
1b9b0 2e 0a 43 68 61 6e 67 65 73 20 66 6f 72 20 54 63  ..Changes for Tc
1b9c0 6c 20 38 2e 30 20 67 6f 20 62 65 6c 6f 77 20 74  l 8.0 go below t
1b9d0 68 69 73 20 6c 69 6e 65 2e 0a 2d 2d 2d 2d 2d 2d  his line..------
1b9e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1b9f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ba00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ba10 2d 2d 2d 2d 0a 0a 39 2f 31 37 2f 39 36 20 28 62  ----..9/17/96 (b
1ba20 75 67 20 66 69 78 29 20 55 73 69 6e 67 20 22 75  ug fix) Using "u
1ba30 70 76 61 72 22 20 69 74 20 77 61 73 20 70 6f 73  pvar" it was pos
1ba40 73 69 62 6c 65 20 74 6f 20 74 75 72 6e 20 61 6e  sible to turn an
1ba50 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 0a 69   array element.i
1ba60 6e 74 6f 20 61 6e 20 61 72 72 61 79 20 69 74 73  nto an array its
1ba70 65 6c 66 2e 20 20 43 68 61 6e 67 65 64 20 74 6f  elf.  Changed to
1ba80 20 64 69 73 61 6c 6c 6f 77 20 74 68 69 73 3b 20   disallow this; 
1ba90 69 74 20 77 61 73 20 71 75 69 72 6b 79 20 61 6e  it was quirky an
1baa0 64 20 64 69 64 6e 27 74 0a 72 65 61 6c 6c 79 20  d didn't.really 
1bab0 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20 61  work correctly a
1bac0 6e 79 77 61 79 2e 20 28 4a 4f 29 0a 0a 31 30 2f  nyway. (JO)..10/
1bad0 32 31 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  21/96 (new featu
1bae0 72 65 29 20 54 68 65 20 63 6f 72 65 20 6f 66 20  re) The core of 
1baf0 74 68 65 20 54 63 6c 20 69 6e 74 65 72 70 72 65  the Tcl interpre
1bb00 74 65 72 20 68 61 73 20 62 65 65 6e 20 72 65 70  ter has been rep
1bb10 6c 61 63 65 64 0a 77 69 74 68 20 61 6e 20 6f 6e  laced.with an on
1bb20 2d 74 68 65 2d 66 6c 79 20 63 6f 6d 70 69 6c 65  -the-fly compile
1bb30 72 20 74 68 61 74 20 74 72 61 6e 73 6c 61 74 65  r that translate
1bb40 73 20 54 63 6c 20 73 63 72 69 70 74 73 20 74 6f  s Tcl scripts to
1bb50 20 62 79 74 65 63 6f 64 65 64 0a 69 6e 73 74 72   bytecoded.instr
1bb60 75 63 74 69 6f 6e 73 3b 20 61 20 6e 65 77 20 69  uctions; a new i
1bb70 6e 74 65 72 70 72 65 74 65 72 20 74 68 65 6e 20  nterpreter then 
1bb80 65 78 65 63 75 74 65 73 20 74 68 65 20 62 79 74  executes the byt
1bb90 65 63 6f 64 65 73 2e 20 54 68 65 20 63 6f 6d 70  ecodes. The comp
1bba0 69 6c 65 72 0a 69 6e 74 72 6f 64 75 63 65 73 20  iler.introduces 
1bbb0 6f 6e 6c 79 20 61 20 66 65 77 20 6d 69 6e 6f 72  only a few minor
1bbc0 20 63 68 61 6e 67 65 73 20 61 74 20 74 68 65 20   changes at the 
1bbd0 6c 65 76 65 6c 20 6f 66 20 54 63 6c 20 73 63 72  level of Tcl scr
1bbe0 69 70 74 73 2e 20 54 68 65 20 62 69 67 67 65 73  ipts. The bigges
1bbf0 74 0a 63 68 61 6e 67 65 73 20 61 72 65 20 74 6f  t.changes are to
1bc00 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 6e 64   expressions and
1bc10 20 6c 69 73 74 73 2e 0a 20 20 20 20 2d 20 41 20   lists..    - A 
1bc20 73 65 63 6f 6e 64 20 6c 65 76 65 6c 20 6f 66 20  second level of 
1bc30 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20 69 73  substitutions is
1bc40 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f 6e 65 20   no longer done 
1bc50 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e  for expressions.
1bc60 0a 20 20 20 20 20 20 54 68 69 73 20 73 75 62 73  .      This subs
1bc70 74 61 6e 74 69 61 6c 6c 79 20 69 6d 70 72 6f 76  tantially improv
1bc80 65 73 20 74 68 65 69 72 20 65 78 65 63 75 74 69  es their executi
1bc90 6f 6e 20 74 69 6d 65 2e 20 54 68 69 73 20 6d 65  on time. This me
1bca0 61 6e 73 20 74 68 61 74 0a 20 20 20 20 20 20 74  ans that.      t
1bcb0 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 22 24  he expression "$
1bcc0 78 2a 34 22 20 70 72 6f 64 75 63 65 73 20 61 20  x*4" produces a 
1bcd0 64 69 66 66 65 72 65 6e 74 20 72 65 73 75 6c 74  different result
1bce0 20 74 68 61 6e 20 69 6e 20 74 68 65 20 70 61 73   than in the pas
1bcf0 74 0a 20 20 20 20 20 20 69 66 20 78 20 69 73 20  t.      if x is 
1bd00 22 24 79 2b 32 22 2e 20 46 6f 72 74 75 6e 61 74  "$y+2". Fortunat
1bd10 65 6c 79 2c 20 6e 6f 74 20 6d 75 63 68 20 63 6f  ely, not much co
1bd20 64 65 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68  de depends on th
1bd30 65 20 6f 6c 64 0a 20 20 20 20 20 20 74 77 6f 2d  e old.      two-
1bd40 6c 65 76 65 6c 20 73 65 6d 61 6e 74 69 63 73 2e  level semantics.
1bd50 20 53 6f 6d 65 20 65 78 70 72 65 73 73 69 6f 6e   Some expression
1bd60 73 20 74 68 61 74 20 64 6f 2c 20 73 75 63 68 20  s that do, such 
1bd70 61 73 0a 20 20 20 20 20 20 22 65 78 70 72 20 5b  as.      "expr [
1bd80 6a 6f 69 6e 20 24 6c 69 73 74 20 2b 5d 22 20 63  join $list +]" c
1bd90 61 6e 20 62 65 20 72 65 63 6f 64 65 64 20 74 6f  an be recoded to
1bda0 20 77 6f 72 6b 20 69 6e 20 54 63 6c 38 2e 30 20   work in Tcl8.0 
1bdb0 62 79 20 61 64 64 69 6e 67 0a 20 20 20 20 20 20  by adding.      
1bdc0 61 6e 20 65 76 61 6c 3a 20 65 2e 67 2e 2c 20 22  an eval: e.g., "
1bdd0 65 76 61 6c 20 65 78 70 72 20 5b 6a 6f 69 6e 20  eval expr [join 
1bde0 24 6c 69 73 74 20 2b 5d 22 2e 0a 20 20 20 20 2d  $list +]"..    -
1bdf0 20 4c 69 73 74 73 20 61 72 65 20 6e 6f 77 20 63   Lists are now c
1be00 6f 6d 70 6c 65 74 65 6c 79 20 70 61 72 73 65 64  ompletely parsed
1be10 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6c 69   on the first li
1be20 73 74 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 0a  st operation to.
1be30 20 20 20 20 20 20 63 72 65 61 74 65 20 61 20 66        create a f
1be40 61 73 74 65 72 20 69 6e 74 65 72 6e 61 6c 20 72  aster internal r
1be50 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 49  epresentation. I
1be60 6e 20 74 68 65 20 70 61 73 74 2c 20 69 66 20 79  n the past, if y
1be70 6f 75 20 68 61 64 20 61 0a 20 20 20 20 20 20 6d  ou had a.      m
1be80 69 73 66 6f 72 6d 65 64 20 6c 69 73 74 20 62 75  isformed list bu
1be90 74 20 74 68 65 20 65 72 72 6f 6e 65 6f 75 73 20  t the erroneous 
1bea0 70 61 72 74 20 77 61 73 20 61 66 74 65 72 20 74  part was after t
1beb0 68 65 20 70 6f 69 6e 74 20 79 6f 75 0a 20 20 20  he point you.   
1bec0 20 20 20 69 6e 73 65 72 74 65 64 20 6f 72 20 65     inserted or e
1bed0 78 74 72 61 63 74 65 64 20 61 6e 20 65 6c 65 6d  xtracted an elem
1bee0 65 6e 74 2c 20 74 68 65 6e 20 79 6f 75 20 6e 65  ent, then you ne
1bef0 76 65 72 20 73 61 77 20 61 6e 20 65 72 72 6f 72  ver saw an error
1bf00 2e 0a 20 20 20 20 20 20 49 6e 20 54 63 6c 38 2e  ..      In Tcl8.
1bf10 30 20 61 6e 20 65 72 72 6f 72 20 77 69 6c 6c 20  0 an error will 
1bf20 62 65 20 72 65 70 6f 72 74 65 64 2e 20 54 68 69  be reported. Thi
1bf30 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 65 66  s should only ef
1bf40 66 65 63 74 0a 20 20 20 20 20 20 69 6e 63 6f 72  fect.      incor
1bf50 72 65 63 74 20 70 72 6f 67 72 61 6d 73 20 74 68  rect programs th
1bf60 61 74 20 74 6f 6f 6b 20 61 64 76 61 6e 74 61 67  at took advantag
1bf70 65 20 6f 66 20 62 65 68 61 76 69 6f 72 20 6f 66  e of behavior of
1bf80 20 74 68 65 20 6f 6c 64 0a 20 20 20 20 20 20 69   the old.      i
1bf90 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74 68  mplementation th
1bfa0 61 74 20 77 61 73 20 6e 6f 74 20 64 6f 63 75 6d  at was not docum
1bfb0 65 6e 74 65 64 20 69 6e 20 74 68 65 20 6d 61 6e  ented in the man
1bfc0 20 70 61 67 65 73 2e 0a 4f 74 68 65 72 20 63 68   pages..Other ch
1bfd0 61 6e 67 65 73 20 74 6f 20 54 63 6c 20 73 63 72  anges to Tcl scr
1bfe0 69 70 74 73 20 61 72 65 20 64 69 73 63 75 73 73  ipts are discuss
1bff0 65 64 20 69 6e 20 74 68 65 20 77 65 62 20 70 61  ed in the web pa
1c000 67 65 20 61 74 0a 68 74 74 70 3a 2f 2f 77 77 77  ge at.http://www
1c010 2e 73 63 72 69 70 74 69 63 73 2e 63 6f 6d 2f 64  .scriptics.com/d
1c020 6f 63 2f 63 6f 6d 70 69 6c 65 72 2e 68 74 6d 6c  oc/compiler.html
1c030 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e  . (BL).*** POTEN
1c040 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
1c050 4c 49 54 59 20 2a 2a 2a 0a 0a 31 30 2f 32 31 2f  LITY ***..10/21/
1c060 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
1c070 20 49 6e 20 65 61 72 6c 69 65 72 20 76 65 72 73   In earlier vers
1c080 69 6f 6e 73 20 6f 66 20 54 63 6c 2c 20 73 74 72  ions of Tcl, str
1c090 69 6e 67 73 20 77 65 72 65 20 75 73 65 64 20 61  ings were used a
1c0a0 73 20 61 0a 75 6e 69 76 65 72 73 61 6c 20 72 65  s a.universal re
1c0b0 70 72 65 73 65 6e 74 61 74 69 6f 6e 3b 20 69 6e  presentation; in
1c0c0 20 54 63 6c 20 38 2e 30 20 73 74 72 69 6e 67 73   Tcl 8.0 strings
1c0d0 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69   are replaced wi
1c0e0 74 68 20 54 63 6c 5f 4f 62 6a 0a 73 74 72 75 63  th Tcl_Obj.struc
1c0f0 74 75 72 65 73 20 28 22 6f 62 6a 65 63 74 73 22  tures ("objects"
1c100 29 20 74 68 61 74 20 63 61 6e 20 68 6f 6c 64 20  ) that can hold 
1c110 62 6f 74 68 20 61 20 73 74 72 69 6e 67 20 76 61  both a string va
1c120 6c 75 65 20 61 6e 64 20 61 6e 20 69 6e 74 65 72  lue and an inter
1c130 6e 61 6c 0a 66 6f 72 6d 20 73 75 63 68 20 61 73  nal.form such as
1c140 20 61 20 62 69 6e 61 72 79 20 69 6e 74 65 67 65   a binary intege
1c150 72 20 6f 72 20 63 6f 6d 70 69 6c 65 64 20 62 79  r or compiled by
1c160 74 65 63 6f 64 65 73 2e 20 54 68 65 20 6e 65 77  tecodes. The new
1c170 20 6f 62 6a 65 63 74 73 20 6d 61 6b 65 20 69 74   objects make it
1c180 0a 70 6f 73 73 69 62 6c 65 20 74 6f 20 73 74 6f  .possible to sto
1c190 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69  re information i
1c1a0 6e 20 65 66 66 69 63 69 65 6e 74 20 69 6e 74 65  n efficient inte
1c1b0 72 6e 61 6c 20 66 6f 72 6d 73 20 61 6e 64 20 61  rnal forms and a
1c1c0 76 6f 69 64 20 74 68 65 0a 63 6f 6e 73 74 61 6e  void the.constan
1c1d0 74 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73 20 74  t translations t
1c1e0 6f 20 61 6e 64 20 66 72 6f 6d 20 73 74 72 69 6e  o and from strin
1c1f0 67 73 20 74 68 61 74 20 6f 63 63 75 72 72 65 64  gs that occurred
1c200 20 77 69 74 68 20 74 68 65 20 6f 6c 64 0a 69 6e   with the old.in
1c210 74 65 72 70 72 65 74 65 72 2e 20 54 68 65 72 65  terpreter. There
1c220 20 61 72 65 20 6e 65 77 20 6d 61 6e 79 20 6e 65   are new many ne
1c230 77 20 43 20 41 50 49 73 20 66 6f 72 20 6d 61 6e  w C APIs for man
1c240 61 67 69 6e 67 20 6f 62 6a 65 63 74 73 2e 20 53  aging objects. S
1c250 6f 6d 65 20 6f 66 20 74 68 65 0a 6e 65 77 20 6c  ome of the.new l
1c260 69 62 72 61 72 79 20 70 72 6f 63 65 64 75 72 65  ibrary procedure
1c270 73 20 66 6f 72 20 6f 62 6a 65 63 74 73 20 28 73  s for objects (s
1c280 75 63 68 20 61 73 20 54 63 6c 5f 45 76 61 6c 4f  uch as Tcl_EvalO
1c290 62 6a 29 20 72 65 73 65 6d 62 6c 65 20 65 78 69  bj) resemble exi
1c2a0 73 74 69 6e 67 0a 73 74 72 69 6e 67 2d 62 61 73  sting.string-bas
1c2b0 65 64 20 70 72 6f 63 65 64 75 72 65 73 20 28 73  ed procedures (s
1c2c0 75 63 68 20 61 73 20 54 63 6c 5f 45 76 61 6c 29  uch as Tcl_Eval)
1c2d0 20 62 75 74 20 74 61 6b 65 20 61 64 76 61 6e 74   but take advant
1c2e0 61 67 65 20 6f 66 20 74 68 65 0a 69 6e 74 65 72  age of the.inter
1c2f0 6e 61 6c 20 66 6f 72 6d 20 73 74 6f 72 65 64 20  nal form stored 
1c300 69 6e 20 54 63 6c 20 6f 62 6a 65 63 74 73 20 66  in Tcl objects f
1c310 6f 72 20 67 72 65 61 74 65 72 20 73 70 65 65 64  or greater speed
1c320 2e 20 4f 74 68 65 72 20 6e 65 77 20 70 72 6f 63  . Other new proc
1c330 65 64 75 72 65 73 0a 6d 61 6e 61 67 65 20 6f 62  edures.manage ob
1c340 6a 65 63 74 73 20 61 6e 64 20 61 6c 6c 6f 77 20  jects and allow 
1c350 65 78 74 65 6e 73 69 6f 6e 20 77 72 69 74 65 72  extension writer
1c360 73 20 74 6f 20 64 65 66 69 6e 65 20 6e 65 77 20  s to define new 
1c370 6b 69 6e 64 73 20 6f 66 20 6f 62 6a 65 63 74 73  kinds of objects
1c380 2e 0a 53 65 65 20 74 68 65 20 6d 61 6e 75 61 6c  ..See the manual
1c390 20 65 6e 74 72 69 65 73 20 64 6f 63 2f 2a 4f 62   entries doc/*Ob
1c3a0 6a 2a 2e 33 20 28 42 4c 29 0a 0a 31 30 2f 32 34  j*.3 (BL)..10/24
1c3b0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
1c3c0 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20  xed memory leak 
1c3d0 6f 6e 20 65 78 69 74 20 63 61 75 73 65 64 20 62  on exit caused b
1c3e0 79 20 73 6f 6d 65 20 49 4f 20 72 65 6c 61 74 65  y some IO relate
1c3f0 64 0a 64 61 74 61 20 73 74 72 75 63 74 75 72 65  d.data structure
1c400 73 20 6e 6f 74 20 62 65 69 6e 67 20 64 65 61 6c  s not being deal
1c410 6c 6f 63 61 74 65 64 20 6f 6e 20 65 78 69 74 20  located on exit 
1c420 62 65 63 61 75 73 65 20 74 68 65 69 72 20 72 65  because their re
1c430 66 63 6f 75 6e 74 20 77 61 73 0a 61 72 74 69 66  fcount was.artif
1c440 69 63 69 61 6c 6c 79 20 62 6f 6f 73 74 65 64 2e  icially boosted.
1c450 20 28 4a 4c 29 0a 0a 31 30 2f 32 34 2f 39 36 20   (JL)..10/24/96 
1c460 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1c470 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 54 63 6c  core dump in Tcl
1c480 5f 43 6c 6f 73 65 20 69 66 20 63 61 6c 6c 65 64  _Close if called
1c490 20 77 69 74 68 20 4e 55 4c 4c 0a 54 63 6c 5f 43   with NULL.Tcl_C
1c4a0 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29 0a 0a 31 31  hannel. (JL)..11
1c4b0 2f 31 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /19/96 (new feat
1c4c0 75 72 65 29 20 41 64 64 65 64 20 6c 69 62 72 61  ure) Added libra
1c4d0 72 79 20 70 72 6f 63 65 64 75 72 65 73 20 66 6f  ry procedures fo
1c4e0 72 20 66 69 6e 64 69 6e 67 20 77 6f 72 64 0a 62  r finding word.b
1c4f0 72 65 61 6b 73 20 69 6e 20 73 74 72 69 6e 67 73  reaks in strings
1c500 20 69 6e 20 61 20 70 6c 61 74 66 6f 72 6d 20 73   in a platform s
1c510 70 65 63 69 66 69 63 20 6d 61 6e 6e 65 72 2e 20  pecific manner. 
1c520 20 53 65 65 20 74 68 65 20 6c 69 62 72 61 72 79   See the library
1c530 2e 6e 0a 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20  .n.manual entry 
1c540 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
1c550 74 69 6f 6e 2e 20 28 53 53 29 0a 0a 31 31 2f 32  tion. (SS)..11/2
1c560 32 2f 39 36 20 28 66 65 61 74 75 72 65 20 69 6d  2/96 (feature im
1c570 70 72 6f 76 65 6d 65 6e 74 73 29 20 41 64 64 65  provements) Adde
1c580 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 64 69  d support for di
1c590 66 66 65 72 65 6e 74 20 6c 65 76 65 6c 73 20 6f  fferent levels o
1c5a0 66 0a 74 72 61 63 69 6e 67 20 64 75 72 69 6e 67  f.tracing during
1c5b0 20 62 79 74 65 63 6f 64 65 20 63 6f 6d 70 69 6c   bytecode compil
1c5c0 61 74 69 6f 6e 20 61 6e 64 20 65 78 65 63 75 74  ation and execut
1c5d0 69 6f 6e 2e 20 54 68 69 73 20 73 68 6f 75 6c 64  ion. This should
1c5e0 20 68 65 6c 70 20 69 6e 0a 74 72 61 63 6b 69 6e   help in.trackin
1c5f0 67 20 64 6f 77 6e 20 73 75 73 70 65 63 74 65 64  g down suspected
1c600 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74   problems with t
1c610 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f 72 20 77  he compiler or w
1c620 69 74 68 20 63 6f 6e 76 65 72 74 69 6e 67 0a 65  ith converting.e
1c630 78 69 73 74 69 6e 67 20 63 6f 64 65 20 74 6f 20  xisting code to 
1c640 75 73 65 20 54 63 6c 38 2e 30 2e 20 54 77 6f 20  use Tcl8.0. Two 
1c650 67 6c 6f 62 61 6c 20 54 63 6c 20 76 61 72 69 61  global Tcl varia
1c660 62 6c 65 73 2c 20 74 72 61 63 65 43 6f 6d 70 69  bles, traceCompi
1c670 6c 65 0a 61 6e 64 20 74 72 61 63 65 45 78 65 63  le.and traceExec
1c680 2c 20 63 61 6e 20 62 65 20 73 65 74 20 74 6f 20  , can be set to 
1c690 67 65 6e 65 72 61 74 65 20 74 72 61 63 69 6e 67  generate tracing
1c6a0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20   information in 
1c6b0 73 74 64 6f 75 74 3a 0a 20 20 20 20 2d 20 74 72  stdout:.    - tr
1c6c0 61 63 65 43 6f 6d 70 69 6c 65 3a 20 30 20 20 6e  aceCompile: 0  n
1c6d0 6f 20 74 72 61 63 69 6e 67 20 28 64 65 66 61 75  o tracing (defau
1c6e0 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  lt).            
1c6f0 20 20 20 20 20 20 20 20 31 20 20 74 72 61 63 65          1  trace
1c700 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20 6f 66   compilations of
1c710 20 74 6f 70 20 6c 65 76 65 6c 20 63 6f 6d 6d 61   top level comma
1c720 6e 64 73 20 61 6e 64 20 70 72 6f 63 73 0a 20 20  nds and procs.  
1c730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c740 20 20 32 20 20 74 72 61 63 65 20 61 6e 64 20 64    2  trace and d
1c750 69 73 70 6c 61 79 20 69 6e 73 74 72 75 63 74 69  isplay instructi
1c760 6f 6e 73 20 66 6f 72 20 61 6c 6c 20 63 6f 6d 70  ons for all comp
1c770 69 6c 61 74 69 6f 6e 73 0a 20 20 20 20 2d 20 74  ilations.    - t
1c780 72 61 63 65 45 78 65 63 3a 20 20 20 20 30 20 20  raceExec:    0  
1c790 6e 6f 20 74 72 61 63 69 6e 67 0a 20 20 20 20 20  no tracing.     
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31                 1
1c7b0 20 20 74 72 61 63 65 20 6f 6e 6c 79 20 63 61 6c    trace only cal
1c7c0 6c 73 20 74 6f 20 54 63 6c 20 70 72 6f 63 73 0a  ls to Tcl procs.
1c7d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7e0 20 20 20 20 32 20 20 74 72 61 63 65 20 69 6e 76      2  trace inv
1c7f0 6f 63 61 74 69 6f 6e 73 20 6f 66 20 61 6c 6c 20  ocations of all 
1c800 63 6f 6d 6d 61 6e 64 73 20 69 6e 63 6c 75 64 69  commands includi
1c810 6e 67 20 70 72 6f 63 73 0a 20 20 20 20 20 20 20  ng procs.       
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 33 20 20               3  
1c830 64 65 74 61 69 6c 65 64 20 74 72 61 63 65 20 73  detailed trace s
1c840 68 6f 77 69 6e 67 20 74 68 65 20 72 65 73 75 6c  howing the resul
1c850 74 20 6f 66 20 65 61 63 68 20 69 6e 73 74 72 75  t of each instru
1c860 63 74 69 6f 6e 0a 74 72 61 63 65 45 78 65 63 20  ction.traceExec 
1c870 3e 3d 20 32 20 70 72 6f 76 69 64 65 73 20 61 20  >= 2 provides a 
1c880 6f 6e 65 20 6c 69 6e 65 20 73 75 6d 6d 61 72 79  one line summary
1c890 20 6f 66 20 65 61 63 68 20 63 61 6c 6c 65 64 20   of each called 
1c8a0 63 6f 6d 6d 61 6e 64 20 61 6e 64 0a 69 74 73 20  command and.its 
1c8b0 61 72 67 75 6d 65 6e 74 73 2e 20 43 6f 6d 6d 61  arguments. Comma
1c8c0 6e 64 73 20 74 68 61 74 20 68 61 76 65 20 62 65  nds that have be
1c8d0 65 6e 20 22 63 6f 6d 70 69 6c 65 64 20 61 77 61  en "compiled awa
1c8e0 79 22 20 73 75 63 68 20 61 73 20 73 65 74 20 61  y" such as set a
1c8f0 72 65 0a 6e 6f 74 20 73 68 6f 77 6e 2e 20 28 42  re.not shown. (B
1c900 4c 29 0a 0a 31 31 2f 33 30 2f 39 36 20 28 62 75  L)..11/30/96 (bu
1c910 67 20 66 69 78 29 20 54 68 65 20 63 6f 6d 6d 61  g fix) The comma
1c920 6e 64 20 22 69 6e 66 6f 20 6e 61 6d 65 6f 66 65  nd "info nameofe
1c930 78 65 63 75 74 61 62 6c 65 22 20 63 6f 75 6c 64  xecutable" could
1c940 20 73 6f 6d 65 74 69 6d 65 73 0a 72 65 74 75 72   sometimes.retur
1c950 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20  n the name of a 
1c960 64 69 72 65 63 74 6f 72 79 2e 20 28 4a 4f 29 0a  directory. (JO).
1c970 0a 31 31 2f 33 30 2f 39 36 20 28 66 65 61 74 75  .11/30/96 (featu
1c980 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 29  re improvements)
1c990 20 43 68 61 6e 67 65 64 20 74 68 65 20 63 6f 64   Changed the cod
1c9a0 65 20 69 6e 20 6c 69 62 72 61 72 79 2f 69 6e 69  e in library/ini
1c9b0 74 2e 74 63 6c 0a 74 68 61 74 20 72 65 61 64 73  t.tcl.that reads
1c9c0 20 69 6e 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c   in pkgIndex.tcl
1c9d0 20 73 6f 20 74 68 61 74 20 28 61 29 20 69 74 20   so that (a) it 
1c9e0 72 65 61 64 73 20 74 68 65 20 66 69 6c 65 73 20  reads the files 
1c9f0 66 72 6f 6d 20 63 68 69 6c 64 0a 64 69 72 65 63  from child.direc
1ca00 74 6f 72 69 65 73 20 62 65 66 6f 72 65 20 74 68  tories before th
1ca10 6f 73 65 20 69 6e 20 74 68 65 20 70 61 72 65 6e  ose in the paren
1ca20 74 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 70  t, so that the p
1ca30 61 72 65 6e 74 20 67 65 74 73 0a 70 72 65 63 65  arent gets.prece
1ca40 64 65 6e 63 65 2c 20 61 6e 64 20 28 62 29 20 69  dence, and (b) i
1ca50 74 20 64 6f 65 73 6e 27 74 20 71 75 69 74 20 69  t doesn't quit i
1ca60 66 20 74 68 65 72 65 20 69 73 20 61 6e 20 65 72  f there is an er
1ca70 72 6f 72 20 69 6e 20 61 0a 70 6b 67 49 6e 64 65  ror in a.pkgInde
1ca80 78 2e 74 63 6c 20 66 69 6c 65 3b 20 20 69 6e 73  x.tcl file;  ins
1ca90 74 65 61 64 2c 20 69 74 20 70 72 69 6e 74 73 20  tead, it prints 
1caa0 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65  an error message
1cab0 20 6f 6e 20 73 74 61 6e 64 61 72 64 0a 65 72 72   on standard.err
1cac0 6f 72 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 73  or and continues
1cad0 2e 20 28 4a 4f 29 0a 0a 31 30 2f 35 2f 39 36 20  . (JO)..10/5/96 
1cae0 28 66 65 61 74 75 72 65 20 69 6d 70 72 6f 76 65  (feature improve
1caf0 6d 65 6e 74 73 29 20 50 61 72 74 69 61 6c 20 69  ments) Partial i
1cb00 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66  mplementation of
1cb10 20 62 69 6e 61 72 79 20 73 74 72 69 6e 67 0a 73   binary string.s
1cb20 75 70 70 6f 72 74 3a 20 74 68 65 20 61 62 69 6c  upport: the abil
1cb30 69 74 79 20 66 6f 72 20 54 63 6c 20 73 74 72 69  ity for Tcl stri
1cb40 6e 67 20 76 61 6c 75 65 73 20 74 6f 20 63 6f 6e  ng values to con
1cb50 74 61 69 6e 20 65 6d 62 65 64 64 65 64 20 6e 75  tain embedded nu
1cb60 6c 6c 20 62 79 74 65 73 2e 0a 43 68 61 6e 67 65  ll bytes..Change
1cb70 64 20 74 68 65 20 54 63 6c 20 6f 62 6a 65 63 74  d the Tcl object
1cb80 2d 62 61 73 65 64 20 41 50 49 73 20 74 6f 20 74  -based APIs to t
1cb90 61 6b 65 20 61 20 62 79 74 65 20 70 6f 69 6e 74  ake a byte point
1cba0 65 72 20 61 6e 64 20 6c 65 6e 67 74 68 20 70 61  er and length pa
1cbb0 69 72 0a 69 6e 73 74 65 61 64 20 6f 66 20 61 20  ir.instead of a 
1cbc0 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20  null-terminated 
1cbd0 43 20 73 74 72 69 6e 67 2e 20 4d 6f 64 69 66 69  C string. Modifi
1cbe0 65 64 20 73 65 76 65 72 61 6c 20 6f 62 6a 65 63  ed several objec
1cbf0 74 20 74 79 70 65 20 6d 61 6e 61 67 65 72 73 0a  t type managers.
1cc00 74 6f 20 73 75 70 70 6f 72 74 20 62 69 6e 61 72  to support binar
1cc10 79 20 73 74 72 69 6e 67 73 20 62 75 74 20 6e 6f  y strings but no
1cc20 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20  t, for example, 
1cc30 74 68 65 20 6c 69 73 74 20 74 79 70 65 20 6d 61  the list type ma
1cc40 6e 61 67 65 72 2e 0a 45 78 69 73 74 69 6e 67 20  nager..Existing 
1cc50 73 74 72 69 6e 67 2d 62 61 73 65 64 20 43 20 41  string-based C A
1cc60 50 49 73 20 61 72 65 20 75 6e 63 68 61 6e 67 65  PIs are unchange
1cc70 64 20 61 6e 64 20 77 69 6c 6c 20 74 72 75 6e 63  d and will trunc
1cc80 61 74 65 20 62 69 6e 61 72 79 0a 73 74 72 69 6e  ate binary.strin
1cc90 67 73 2e 20 43 6f 6d 70 69 6c 65 64 20 73 63 72  gs. Compiled scr
1cca0 69 70 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20  ipts containing 
1ccb0 6e 75 6c 6c 73 20 61 72 65 20 61 6c 73 6f 20 74  nulls are also t
1ccc0 72 75 6e 63 61 74 65 64 2e 20 28 42 4c 29 0a 0a  runcated. (BL)..
1ccd0 31 32 2f 31 32 2f 39 36 20 28 66 65 61 74 75 72  12/12/96 (featur
1cce0 65 20 63 68 61 6e 67 65 29 20 52 65 6d 6f 76 65  e change) Remove
1ccf0 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 22  d the commands "
1cd00 63 70 22 2c 20 22 6d 6b 64 69 72 22 2c 20 22 6d  cp", "mkdir", "m
1cd10 76 22 2c 0a 22 72 6d 22 2c 20 61 6e 64 20 22 72  v",."rm", and "r
1cd20 6d 64 69 72 22 20 66 72 6f 6d 20 74 68 65 20 4d  mdir" from the M
1cd30 61 63 69 6e 74 6f 73 68 20 76 65 72 73 69 6f 6e  acintosh version
1cd40 20 6f 66 20 54 63 6c 2e 20 20 54 68 65 79 20 77   of Tcl.  They w
1cd50 65 72 65 20 6e 65 76 65 72 0a 6f 66 66 69 63 69  ere never.offici
1cd60 61 6c 6c 79 20 73 75 70 70 6f 72 74 65 64 20 61  ally supported a
1cd70 6e 64 20 74 68 65 69 72 20 66 75 6e 63 74 69 6f  nd their functio
1cd80 6e 61 6c 69 74 79 20 69 73 20 6e 6f 77 20 61 76  nality is now av
1cd90 61 69 6c 61 62 6c 65 20 76 69 61 0a 74 68 65 20  ailable via.the 
1cda0 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 2e 20 28 52  file command. (R
1cdb0 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  J)..------------
1cdc0 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38  ----- Released 8
1cdd0 2e 30 61 31 2c 20 31 32 2f 32 30 2f 39 36 20 2d  .0a1, 12/20/96 -
1cde0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1cdf0 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 37 2f 39 37 20 28  ------..1/7/97 (
1ce00 62 75 67 20 66 69 78 29 20 55 6e 64 65 72 20 57  bug fix) Under W
1ce10 69 6e 64 6f 77 73 2c 20 22 66 69 6c 65 20 73 74  indows, "file st
1ce20 61 74 20 63 3a 22 20 77 61 73 20 72 65 74 75 72  at c:" was retur
1ce30 6e 69 6e 67 20 65 72 72 6f 72 20 69 6e 73 74 65  ning error inste
1ce40 61 64 0a 6f 66 20 73 74 61 74 20 66 6f 72 20 63  ad.of stat for c
1ce50 75 72 72 65 6e 74 20 64 69 72 20 6f 6e 20 63 3a  urrent dir on c:
1ce60 20 64 72 69 76 65 2e 0a 0a 31 2f 31 30 2f 39 37   drive...1/10/97
1ce70 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
1ce80 64 64 65 64 20 54 63 6c 5f 47 65 74 49 6e 64 65  dded Tcl_GetInde
1ce90 78 46 72 6f 6d 4f 62 6a 20 70 72 6f 63 65 64 75  xFromObj procedu
1cea0 72 65 20 66 6f 72 20 71 75 69 63 6b 0a 6c 6f 6f  re for quick.loo
1ceb0 6b 75 70 73 20 6f 66 20 6b 65 79 77 6f 72 64 20  kups of keyword 
1cec0 61 72 67 75 6d 65 6e 74 73 2e 20 28 4a 4f 29 0a  arguments. (JO).
1ced0 0a 31 2f 31 32 2f 39 37 20 28 6e 65 77 20 66 65  .1/12/97 (new fe
1cee0 61 74 75 72 65 29 20 53 65 72 69 61 6c 20 49 4f  ature) Serial IO
1cef0 20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73   channel drivers
1cf00 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 61 6e 64   for Windows and
1cf10 20 55 6e 69 78 2c 0a 61 76 61 69 6c 61 62 6c 65   Unix,.available
1cf20 20 62 79 20 75 73 69 6e 67 20 54 63 6c 20 6f 70   by using Tcl op
1cf30 65 6e 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6f 70  en command to op
1cf40 65 6e 20 70 73 65 75 64 6f 2d 66 69 6c 65 73 20  en pseudo-files 
1cf50 6c 69 6b 65 20 22 63 6f 6d 31 3a 22 20 6f 72 0a  like "com1:" or.
1cf60 22 2f 64 65 76 2f 74 74 79 61 22 2e 20 20 4e 65  "/dev/ttya".  Ne
1cf70 77 20 6f 70 74 69 6f 6e 20 74 6f 20 54 63 6c 20  w option to Tcl 
1cf80 66 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61  fconfigure comma
1cf90 6e 64 20 66 6f 72 20 73 65 72 69 61 6c 20 66 69  nd for serial fi
1cfa0 6c 65 73 3a 20 20 0a 22 2d 6d 6f 64 65 20 62 61  les:  ."-mode ba
1cfb0 75 64 2c 70 61 72 69 74 79 2c 64 61 74 61 2c 73  ud,parity,data,s
1cfc0 74 6f 70 22 20 74 6f 20 73 70 65 63 69 66 79 20  top" to specify 
1cfd0 62 61 75 64 20 72 61 74 65 2c 20 70 61 72 69 74  baud rate, parit
1cfe0 79 2c 20 64 61 74 61 20 62 69 74 73 2c 20 61 6e  y, data bits, an
1cff0 64 0a 73 74 6f 70 20 62 69 74 73 2e 20 20 53 65  d.stop bits.  Se
1d000 72 69 61 6c 20 49 4f 20 69 73 20 6e 6f 74 20 79  rial IO is not y
1d010 65 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20  et available on 
1d020 4d 61 63 2e 0a 0a 31 2f 31 36 2f 39 37 20 28 66  Mac...1/16/97 (f
1d030 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 52  eature change) R
1d040 65 73 74 6f 72 65 64 20 74 68 65 20 54 63 6c 37  estored the Tcl7
1d050 2e 78 20 22 74 77 6f 20 6c 65 76 65 6c 20 73 75  .x "two level su
1d060 62 73 74 69 74 75 74 69 6f 6e 0a 73 65 6d 61 6e  bstitution.seman
1d070 74 69 63 73 22 20 66 6f 72 20 65 78 70 72 65 73  tics" for expres
1d080 73 69 6f 6e 73 2e 20 45 78 70 72 65 73 73 69 6f  sions. Expressio
1d090 6e 73 20 6e 6f 74 20 65 6e 63 6c 6f 73 65 64 20  ns not enclosed 
1d0a0 69 6e 20 62 72 61 63 65 73 20 61 72 65 0a 69 6d  in braces are.im
1d0b0 70 6c 65 6d 65 6e 74 65 64 2c 20 69 6e 20 67 65  plemented, in ge
1d0c0 6e 65 72 61 6c 2c 20 62 79 20 63 61 6c 6c 69 6e  neral, by callin
1d0d0 67 20 74 68 65 20 65 78 70 72 20 63 6f 6d 6d 61  g the expr comma
1d0e0 6e 64 20 70 72 6f 63 65 64 75 72 65 0a 28 54 63  nd procedure.(Tc
1d0f0 6c 5f 45 78 70 72 4f 62 6a 43 6d 64 29 20 61 74  l_ExprObjCmd) at
1d100 20 72 75 6e 74 69 6d 65 20 61 66 74 65 72 20 74   runtime after t
1d110 68 65 20 54 63 6c 20 69 6e 74 65 72 70 72 65 74  he Tcl interpret
1d120 65 72 20 68 61 73 20 61 6c 72 65 61 64 79 20 64  er has already d
1d130 6f 6e 65 20 61 0a 66 69 72 73 74 20 72 6f 75 6e  one a.first roun
1d140 64 20 6f 66 20 73 75 62 73 74 69 74 75 74 69 6f  d of substitutio
1d150 6e 73 2e 20 54 68 69 73 20 69 73 20 73 6c 6f 77  ns. This is slow
1d160 20 28 61 62 6f 75 74 20 54 63 6c 37 2e 78 20 73   (about Tcl7.x s
1d170 70 65 65 64 29 20 62 65 63 61 75 73 65 20 6e 65  peed) because ne
1d180 77 0a 63 6f 64 65 20 66 6f 72 20 74 68 65 20 65  w.code for the e
1d190 78 70 72 65 73 73 69 6f 6e 20 69 73 20 67 65 6e  xpression is gen
1d1a0 65 72 61 6c 6c 79 20 63 6f 6d 70 69 6c 65 64 20  erally compiled 
1d1b0 65 61 63 68 20 74 69 6d 65 2e 20 48 6f 77 65 76  each time. Howev
1d1c0 65 72 2c 20 69 66 20 74 68 65 0a 65 78 70 72 65  er, if the.expre
1d1d0 73 73 69 6f 6e 20 68 61 73 20 6f 6e 6c 79 20 76  ssion has only v
1d1e0 61 72 69 61 62 6c 65 20 73 75 62 73 74 69 74 75  ariable substitu
1d1f0 74 69 6f 6e 73 20 28 61 6e 64 20 6e 6f 74 20 63  tions (and not c
1d200 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74  ommand substitut
1d210 69 6f 6e 73 29 2c 0a 22 6f 70 74 69 6d 69 73 74  ions),."optimist
1d220 69 63 22 20 66 61 73 74 20 63 6f 64 65 20 69 73  ic" fast code is
1d230 20 67 65 6e 65 72 61 74 65 64 20 69 6e 6c 69 6e   generated inlin
1d240 65 2e 20 54 68 69 73 20 69 6e 6c 69 6e 65 20 63  e. This inline c
1d250 6f 64 65 20 77 69 6c 6c 20 66 61 69 6c 20 69 66  ode will fail if
1d260 20 61 0a 73 65 63 6f 6e 64 20 72 6f 75 6e 64 20   a.second round 
1d270 6f 66 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73  of substitutions
1d280 20 69 73 20 6e 65 65 64 65 64 20 28 69 2e 65 2e   is needed (i.e.
1d290 2c 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 6f  , if the value o
1d2a0 66 20 61 20 73 75 62 73 74 69 74 75 74 65 64 0a  f a substituted.
1d2b0 76 61 72 69 61 62 6c 65 20 69 74 73 65 6c 66 20  variable itself 
1d2c0 72 65 71 75 69 72 65 73 20 6d 6f 72 65 20 73 75  requires more su
1d2d0 62 73 74 69 74 75 74 69 6f 6e 73 29 2e 20 54 68  bstitutions). Th
1d2e0 65 20 6f 70 74 69 6d 69 73 74 69 63 20 63 6f 64  e optimistic cod
1d2f0 65 20 77 69 6c 6c 0a 63 61 74 63 68 20 74 68 65  e will.catch the
1d300 20 65 72 72 6f 72 20 61 6e 64 20 62 61 63 6b 20   error and back 
1d310 6f 66 66 20 74 6f 20 63 61 6c 6c 20 74 68 65 20  off to call the 
1d320 73 6c 6f 77 65 72 20 62 75 74 20 67 75 61 72 61  slower but guara
1d330 6e 74 65 65 64 20 63 6f 72 72 65 63 74 0a 65 78  nteed correct.ex
1d340 70 72 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65  pr command proce
1d350 64 75 72 65 2e 20 28 42 4c 29 0a 0a 31 2f 31 36  dure. (BL)..1/16
1d360 2f 39 37 20 28 66 65 61 74 75 72 65 20 69 6d 70  /97 (feature imp
1d370 72 6f 76 65 6d 65 6e 74 73 29 20 41 64 64 65 64  rovements) Added
1d380 20 54 63 6c 5f 45 78 70 72 4c 6f 6e 67 4f 62 6a   Tcl_ExprLongObj
1d390 20 61 6e 64 20 54 63 6c 5f 45 78 70 72 44 6f 75   and Tcl_ExprDou
1d3a0 62 6c 65 4f 62 6a 0a 74 6f 20 72 6f 75 6e 64 20  bleObj.to round 
1d3b0 6f 75 74 20 65 78 70 72 65 73 73 69 6f 6e 2d 72  out expression-r
1d3c0 65 6c 61 74 65 64 20 70 72 6f 63 65 64 75 72 65  elated procedure
1d3d0 73 2e 20 28 42 4c 29 0a 0a 31 2f 31 36 2f 39 37  s. (BL)..1/16/97
1d3e0 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
1d3f0 29 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c  ) Under Windows,
1d400 20 61 74 20 73 74 61 72 74 75 70 20 74 68 65 20   at startup the 
1d410 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69  environment vari
1d420 61 62 6c 65 73 0a 22 70 61 74 68 22 2c 20 22 63  ables."path", "c
1d430 6f 6d 73 70 65 63 22 2c 20 61 6e 64 20 22 77 69  omspec", and "wi
1d440 6e 64 69 72 22 20 69 6e 20 61 6e 79 20 63 61 70  ndir" in any cap
1d450 69 74 61 6c 69 7a 61 74 69 6f 6e 20 61 72 65 20  italization are 
1d460 63 6f 6e 76 65 72 74 65 64 0a 61 75 74 6f 6d 61  converted.automa
1d470 74 69 63 61 6c 6c 79 20 74 6f 20 75 70 70 65 72  tically to upper
1d480 20 63 61 73 65 2e 20 20 54 68 65 20 50 41 54 48   case.  The PATH
1d490 20 76 61 72 69 61 62 6c 65 20 63 6f 75 6c 64 20   variable could 
1d4a0 62 65 20 73 70 65 6c 6c 65 64 20 61 73 20 70 61  be spelled as pa
1d4b0 74 68 2c 0a 50 61 74 68 2c 20 50 61 54 68 2c 20  th,.Path, PaTh, 
1d4c0 65 74 63 2e 20 61 6e 64 20 69 74 20 6d 61 6b 65  etc. and it make
1d4d0 73 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 72 61  s programming ra
1d4e0 74 68 65 72 20 61 6e 6e 6f 79 69 6e 67 2e 20 20  ther annoying.  
1d4f0 41 6c 6c 20 6f 74 68 65 72 0a 65 6e 76 69 72 6f  All other.enviro
1d500 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20  nment variables 
1d510 61 72 65 20 6c 65 66 74 20 61 6c 6f 6e 65 2e 20  are left alone. 
1d520 28 43 53 29 0a 0a 31 2f 32 30 2f 39 37 20 28 6e  (CS)..1/20/97 (n
1d530 65 77 20 66 65 61 74 75 72 65 73 29 20 52 65 77  ew features) Rew
1d540 72 6f 74 65 20 74 68 65 20 22 6c 73 6f 72 74 22  rote the "lsort"
1d550 20 63 6f 6d 6d 61 6e 64 3a 0a 20 20 20 20 2d 20   command:.    - 
1d560 54 68 65 20 6e 65 77 20 76 65 72 73 69 6f 6e 20  The new version 
1d570 69 73 20 62 61 73 65 64 20 6f 6e 20 72 65 65 6e  is based on reen
1d580 74 72 61 6e 74 20 6d 65 72 67 65 20 73 6f 72 74  trant merge sort
1d590 20 63 6f 64 65 20 70 72 6f 76 69 64 65 64 0a 20   code provided. 
1d5a0 20 20 20 20 20 62 79 20 52 69 63 68 61 72 64 20       by Richard 
1d5b0 48 69 70 70 2c 20 73 6f 20 69 74 20 65 6c 69 6d  Hipp, so it elim
1d5c0 69 6e 61 74 65 73 20 74 68 65 20 72 65 65 6e 74  inates the reent
1d5d0 72 61 6e 63 79 20 61 6e 64 20 73 74 61 62 69 6c  rancy and stabil
1d5e0 69 74 79 0a 20 20 20 20 20 20 70 72 6f 62 6c 65  ity.      proble
1d5f0 6d 73 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20  ms with the old 
1d600 71 73 6f 72 74 2d 62 61 73 65 64 20 69 6d 70 6c  qsort-based impl
1d610 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20  ementation..    
1d620 2d 20 54 68 65 20 6e 65 77 20 76 65 72 73 69 6f  - The new versio
1d630 6e 20 73 75 70 70 6f 72 74 73 20 61 20 2d 64 69  n supports a -di
1d640 63 74 69 6f 6e 61 72 79 20 6f 70 74 69 6f 6e 20  ctionary option 
1d650 66 6f 72 20 73 6f 72 74 69 6e 67 2c 20 61 6e 64  for sorting, and
1d660 0a 20 20 20 20 20 20 69 74 20 61 6c 73 6f 20 73  .      it also s
1d670 75 70 70 6f 72 74 73 20 61 20 2d 69 6e 64 65 78  upports a -index
1d680 20 6f 70 74 69 6f 6e 20 66 6f 72 20 73 6f 72 74   option for sort
1d690 69 6e 67 20 6c 69 73 74 73 20 75 73 69 6e 67 20  ing lists using 
1d6a0 6f 6e 65 0a 20 20 20 20 20 20 65 6c 65 6d 65 6e  one.      elemen
1d6b0 74 20 66 6f 72 20 63 6f 6d 70 61 72 69 73 6f 6e  t for comparison
1d6c0 2e 0a 20 20 20 20 2d 20 54 68 65 20 6e 65 77 20  ..    - The new 
1d6d0 76 65 72 73 69 6f 6e 20 69 73 20 61 6e 20 6f 62  version is an ob
1d6e0 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 2c 20 73 6f  ject command, so
1d6f0 20 69 74 20 77 6f 72 6b 73 20 77 65 6c 6c 20 77   it works well w
1d700 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 54 63  ith the.      Tc
1d710 6c 20 63 6f 6d 70 69 6c 65 72 2c 20 65 73 70 65  l compiler, espe
1d720 63 69 61 6c 6c 79 20 69 6e 20 63 6f 6e 6a 75 6e  cially in conjun
1d730 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 6e  ction with the n
1d740 65 77 20 2d 69 6e 64 65 78 0a 20 20 20 20 20 20  ew -index.      
1d750 6f 70 74 69 6f 6e 2e 20 20 57 68 65 6e 20 74 68  option.  When th
1d760 65 20 2d 69 6e 64 65 78 20 6f 70 74 69 6f 6e 20  e -index option 
1d770 69 73 20 75 73 65 64 2c 20 74 68 69 73 20 76 65  is used, this ve
1d780 72 73 69 6f 6e 20 6f 66 20 6c 73 6f 72 74 0a 20  rsion of lsort. 
1d790 20 20 20 20 20 69 73 20 6d 6f 72 65 20 74 68 61       is more tha
1d7a0 6e 20 31 30 30 20 74 69 6d 65 73 20 66 61 73 74  n 100 times fast
1d7b0 65 72 20 74 68 61 6e 20 74 68 65 20 54 63 6c 20  er than the Tcl 
1d7c0 37 2e 36 20 6c 73 6f 72 74 2c 20 77 68 69 63 68  7.6 lsort, which
1d7d0 20 68 61 64 0a 20 20 20 20 20 20 74 6f 20 75 73   had.      to us
1d7e0 65 20 74 68 65 20 2d 63 6f 6d 6d 61 6e 64 20 6f  e the -command o
1d7f0 70 74 69 6f 6e 20 74 6f 20 67 65 74 20 74 68 65  ption to get the
1d800 20 73 61 6d 65 20 65 66 66 65 63 74 2e 20 28 4a   same effect. (J
1d810 4f 29 0a 0a 31 2f 32 30 2f 39 37 20 28 66 65 61  O)..1/20/97 (fea
1d820 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74  ture improvement
1d830 73 29 20 41 64 64 65 64 20 74 68 65 20 69 6d 70  s) Added the imp
1d840 72 6f 76 65 64 20 64 65 62 75 67 67 69 6e 67 20  roved debugging 
1d850 73 75 70 70 6f 72 74 20 66 6f 72 20 54 63 6c 0a  support for Tcl.
1d860 6f 62 6a 65 63 74 73 20 70 72 6f 74 6f 74 79 70  objects prototyp
1d870 65 64 20 62 79 20 4b 61 72 6c 20 4c 65 68 65 6e  ed by Karl Lehen
1d880 62 61 75 65 72 20 3c 6b 61 72 6c 40 68 61 6d 6d  bauer <[email protected]
1d890 65 72 31 2e 6f 70 73 2e 4e 65 6f 53 6f 66 74 2e  er1.ops.NeoSoft.
1d8a0 63 6f 6d 3e 2e 0a 49 66 20 54 43 4c 5f 4d 45 4d  com>..If TCL_MEM
1d8b0 5f 44 45 42 55 47 20 69 73 20 64 65 66 69 6e 65  _DEBUG is define
1d8c0 64 2c 20 74 68 65 20 6f 62 6a 65 63 74 20 63 72  d, the object cr
1d8d0 65 61 74 69 6f 6e 20 63 61 6c 6c 73 20 75 73 65  eation calls use
1d8e0 20 54 63 6c 5f 44 62 43 6b 61 6c 6c 6f 63 0a 64   Tcl_DbCkalloc.d
1d8f0 69 72 65 63 74 6c 79 20 69 6e 20 6f 72 64 65 72  irectly in order
1d900 20 74 6f 20 72 65 63 6f 72 64 20 74 68 65 20 63   to record the c
1d910 61 6c 6c 65 72 27 73 20 73 6f 75 72 63 65 20 66  aller's source f
1d920 69 6c 65 20 6e 61 6d 65 20 61 6e 64 20 6c 69 6e  ile name and lin
1d930 65 0a 6e 75 6d 62 65 72 2e 20 28 42 4c 29 0a 0a  e.number. (BL)..
1d940 31 2f 32 31 2f 39 37 20 28 72 65 6d 6f 76 65 64  1/21/97 (removed
1d950 20 66 65 61 74 75 72 65 29 20 44 65 73 75 70 70   feature) Desupp
1d960 6f 72 74 65 64 20 74 68 65 20 74 63 6c 5f 70 72  orted the tcl_pr
1d970 65 63 69 73 69 6f 6e 20 76 61 72 69 61 62 6c 65  ecision variable
1d980 3a 20 69 66 0a 73 65 74 2c 20 69 74 20 69 73 20  : if.set, it is 
1d990 69 67 6e 6f 72 65 64 2e 20 20 54 63 6c 20 6e 6f  ignored.  Tcl no
1d9a0 77 20 75 73 65 73 20 74 68 65 20 66 75 6c 6c 20  w uses the full 
1d9b0 31 37 20 64 69 67 69 74 73 20 6f 66 20 70 72 65  17 digits of pre
1d9c0 63 69 73 69 6f 6e 20 77 68 65 6e 0a 63 6f 6e 76  cision when.conv
1d9d0 65 72 74 69 6e 67 20 72 65 61 6c 20 6e 75 6d 62  erting real numb
1d9e0 65 72 73 20 74 6f 20 73 74 72 69 6e 67 73 20 28  ers to strings (
1d9f0 77 69 74 68 20 74 68 65 20 6e 65 77 20 6f 62 6a  with the new obj
1da00 65 63 74 20 73 79 73 74 65 6d 20 72 65 61 6c 0a  ect system real.
1da10 6e 75 6d 62 65 72 73 20 61 72 65 20 72 61 72 65  numbers are rare
1da20 6c 79 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20  ly converted to 
1da30 73 74 72 69 6e 67 73 20 73 6f 20 74 68 65 72 65  strings so there
1da40 20 69 73 20 6e 6f 20 65 66 66 69 63 69 65 6e 63   is no efficienc
1da50 79 0a 64 69 73 61 64 76 61 6e 74 61 67 65 20 74  y.disadvantage t
1da60 6f 20 70 72 69 6e 74 69 6e 67 20 61 6c 6c 20 31  o printing all 1
1da70 37 20 64 69 67 69 74 73 3b 20 74 68 65 20 6e 65  7 digits; the ne
1da80 77 20 73 63 68 65 6d 65 20 69 6d 70 72 6f 76 65  w scheme improve
1da90 73 0a 61 63 63 75 72 61 63 79 20 61 6e 64 20 73  s.accuracy and s
1daa0 69 6d 70 6c 69 66 69 65 73 20 73 65 76 65 72 61  implifies severa
1dab0 6c 20 41 50 49 73 29 2e 20 28 4a 4f 29 0a 2a 2a  l APIs). (JO).**
1dac0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
1dad0 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
1dae0 0a 31 2f 32 31 2f 39 37 20 28 66 65 61 74 75 72  .1/21/97 (featur
1daf0 65 20 63 68 61 6e 67 65 29 20 52 65 6d 6f 76 65  e change) Remove
1db00 64 20 74 68 65 20 22 69 6e 74 65 72 70 22 20 61  d the "interp" a
1db10 72 67 75 6d 65 6e 74 20 66 6f 72 20 74 68 65 0a  rgument for the.
1db20 70 72 6f 63 65 64 75 72 65 73 20 54 63 6c 5f 47  procedures Tcl_G
1db30 65 74 53 74 72 69 6e 67 46 72 6f 6d 4f 62 6a 2c  etStringFromObj,
1db40 20 54 63 6c 5f 53 74 72 69 6e 67 4f 62 6a 41 70   Tcl_StringObjAp
1db50 70 65 6e 64 2c 20 61 6e 64 0a 54 63 6c 5f 53 74  pend, and.Tcl_St
1db60 72 69 6e 67 4f 62 6a 41 70 70 65 6e 64 4f 62 6a  ringObjAppendObj
1db70 2e 20 20 41 6c 73 6f 20 72 65 6d 6f 76 65 64 20  .  Also removed 
1db80 74 68 65 20 22 69 6e 74 65 72 70 22 20 61 72 67  the "interp" arg
1db90 75 6d 65 6e 74 20 66 6f 72 0a 74 68 65 20 75 70  ument for.the up
1dba0 64 61 74 65 53 74 72 69 6e 67 50 72 6f 63 20 70  dateStringProc p
1dbb0 72 6f 63 65 64 75 72 65 20 69 6e 20 54 63 6c 5f  rocedure in Tcl_
1dbc0 4f 62 6a 54 79 70 65 20 73 74 72 75 63 74 75 72  ObjType structur
1dbd0 65 73 2e 20 20 57 69 74 68 0a 74 68 65 20 74 63  es.  With.the tc
1dbe0 6c 5f 70 72 65 63 69 73 69 6f 6e 20 63 68 61 6e  l_precision chan
1dbf0 67 65 73 20 61 62 6f 76 65 2c 20 74 68 65 73 65  ges above, these
1dc00 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e   are no longer n
1dc10 65 65 64 65 64 2e 20 28 4a 4f 29 0a 2a 2a 2a 20  eeded. (JO).*** 
1dc20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
1dc30 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
1dc40 63 6c 20 38 2e 30 61 31 2c 20 62 75 74 20 6e 6f  cl 8.0a1, but no
1dc50 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a  t with Tcl 7.6 *
1dc60 2a 2a 0a 0a 31 2f 32 32 2f 39 37 20 28 62 75 67  **..1/22/97 (bug
1dc70 20 66 69 78 29 20 46 69 78 65 64 20 68 74 74 70   fix) Fixed http
1dc80 2e 74 63 6c 20 73 6f 20 74 68 61 74 20 68 74 74  .tcl so that htt
1dc90 70 5f 72 65 73 65 74 20 64 6f 65 73 20 6e 6f 74  p_reset does not
1dca0 20 72 65 73 75 6c 74 20 69 6e 0a 61 6e 20 65 78   result in.an ex
1dcb0 74 72 61 20 63 61 6c 6c 20 74 6f 20 74 68 65 20  tra call to the 
1dcc0 63 6f 6d 6d 61 6e 64 20 63 61 6c 6c 62 61 63 6b  command callback
1dcd0 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20  .  In addition, 
1dce0 69 66 20 74 68 65 20 74 72 61 6e 73 61 63 74 69  if the transacti
1dcf0 6f 6e 0a 67 65 74 73 20 61 20 70 72 65 6d 61 74  on.gets a premat
1dd00 75 72 65 20 65 6f 66 2c 20 74 68 65 20 73 74 61  ure eof, the sta
1dd10 74 65 28 73 74 61 74 75 73 29 20 69 73 20 22 65  te(status) is "e
1dd20 6f 66 22 2c 20 6e 6f 74 20 22 6f 6b 22 2e 20 28  of", not "ok". (
1dd30 42 57 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  BW)..-----------
1dd40 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
1dd50 38 2e 30 61 32 2c 20 31 2f 32 34 2f 39 37 20 2d  8.0a2, 1/24/97 -
1dd60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1dd70 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32 39 2f 39 37 20  ------..1/29/97 
1dd80 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
1dd90 20 43 68 61 6e 67 65 64 20 68 6f 77 20 74 77 6f   Changed how two
1dda0 20 64 69 67 69 74 20 79 65 61 72 73 20 61 72 65   digit years are
1ddb0 20 70 61 72 73 65 64 20 69 6e 20 74 68 65 0a 63   parsed in the.c
1ddc0 6c 6f 63 6b 20 63 6f 6d 6d 61 6e 64 2e 20 20 54  lock command.  T
1ddd0 68 65 20 6f 6c 64 20 69 6e 74 65 72 66 61 63 65  he old interface
1dde0 20 6a 75 73 74 20 61 64 64 65 64 20 31 39 30 30   just added 1900
1ddf0 20 77 68 69 63 68 20 77 69 6c 6c 20 73 65 65 6d   which will seem
1de00 0a 62 72 6f 6b 65 6e 20 62 79 20 74 68 65 20 79  .broken by the y
1de10 65 61 72 20 32 30 30 30 2e 20 20 54 68 65 20 6e  ear 2000.  The n
1de20 65 77 20 73 63 68 65 6d 65 20 66 6f 6c 6c 6f 77  ew scheme follow
1de30 73 20 74 68 65 20 50 4f 53 49 58 20 73 74 61 6e  s the POSIX stan
1de40 64 61 72 64 0a 61 6e 64 20 74 72 65 61 74 73 20  dard.and treats 
1de50 64 61 74 65 73 20 37 30 2d 39 39 20 61 73 20 31  dates 70-99 as 1
1de60 39 37 30 2d 31 39 39 39 20 61 6e 64 20 64 61 74  970-1999 and dat
1de70 65 73 20 30 30 2d 33 38 20 61 73 20 32 30 30 30  es 00-38 as 2000
1de80 2d 32 30 33 38 2e 20 20 41 6c 6c 0a 6f 74 68 65  -2038.  All.othe
1de90 72 20 74 77 6f 20 64 69 67 69 74 20 64 61 74 65  r two digit date
1dea0 73 20 61 72 65 20 75 6e 64 65 66 69 6e 65 64 2e  s are undefined.
1deb0 20 28 52 4a 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (RJ).*** POTENT
1dec0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
1ded0 49 54 59 20 2a 2a 2a 0a 0a 32 2f 34 2f 39 37 20  ITY ***..2/4/97 
1dee0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1def0 62 75 67 20 69 6e 20 63 6c 6f 63 6b 20 63 6f 64  bug in clock cod
1df00 65 20 74 68 61 74 20 64 65 61 6c 74 20 77 69 74  e that dealt wit
1df10 68 20 72 65 6c 61 74 69 76 65 0a 64 61 74 65 73  h relative.dates
1df20 2e 20 20 55 73 69 6e 67 20 74 68 65 20 72 65 6c  .  Using the rel
1df30 61 74 69 76 65 20 6d 6f 6e 74 68 20 63 6f 64 65  ative month code
1df40 20 79 6f 75 20 63 6f 75 6c 64 20 67 65 74 20 61   you could get a
1df50 6e 20 69 6e 76 61 6c 69 64 20 64 61 74 65 0a 62  n invalid date.b
1df60 65 63 61 75 73 65 20 69 74 20 6a 75 6d 70 65 64  ecause it jumped
1df70 20 69 6e 74 6f 20 61 20 6e 6f 6e 2d 65 78 69 73   into a non-exis
1df80 74 61 6e 74 20 64 61 79 2e 20 20 28 46 6f 72 20  tant day.  (For 
1df90 65 78 61 6d 70 6c 65 2c 20 4a 61 6e 20 33 31 0a  example, Jan 31.
1dfa0 74 6f 20 46 65 62 20 33 31 2e 29 20 20 54 68 65  to Feb 31.)  The
1dfb0 20 63 6f 64 65 20 6e 6f 77 20 77 69 6c 6c 20 72   code now will r
1dfc0 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 76  eturn the last v
1dfd0 61 6c 69 64 20 64 61 79 20 6f 66 20 74 68 65 0a  alid day of the.
1dfe0 6d 6f 6e 74 68 20 69 6e 20 74 68 65 73 65 20 73  month in these s
1dff0 69 74 75 61 74 69 6f 6e 73 2e 20 20 54 68 61 6e  ituations.  Than
1e000 6b 73 20 74 6f 20 48 75 6d 65 20 53 6d 69 74 68  ks to Hume Smith
1e010 20 66 6f 72 20 73 65 6e 64 69 6e 67 20 69 6e 0a   for sending in.
1e020 74 68 69 73 20 62 75 67 20 66 69 78 2e 20 20 28  this bug fix.  (
1e030 52 4a 29 0a 0a 32 2f 31 30 2f 39 37 20 28 66 65  RJ)..2/10/97 (fe
1e040 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 45 6c  ature change) El
1e050 69 6d 69 6e 61 74 65 64 20 54 63 6c 5f 53 74 72  iminated Tcl_Str
1e060 69 6e 67 4f 62 6a 41 70 70 65 6e 64 20 61 6e 64  ingObjAppend and
1e070 20 0a 54 63 6c 5f 53 74 72 69 6e 67 4f 62 6a 41   .Tcl_StringObjA
1e080 70 70 65 6e 64 4f 62 6a 20 70 72 6f 63 65 64 75  ppendObj procedu
1e090 72 65 73 2c 20 72 65 70 6c 61 63 65 64 20 74 68  res, replaced th
1e0a0 65 6d 20 77 69 74 68 20 54 63 6c 5f 41 70 70 65  em with Tcl_Appe
1e0b0 6e 64 54 6f 4f 62 6a 0a 61 6e 64 20 54 63 6c 5f  ndToObj.and Tcl_
1e0c0 41 70 70 65 6e 64 53 74 72 69 6e 67 73 54 6f 4f  AppendStringsToO
1e0d0 62 6a 20 70 72 6f 63 65 64 75 72 65 73 2e 20 20  bj procedures.  
1e0e0 41 64 64 65 64 20 6e 65 77 20 70 72 6f 63 65 64  Added new proced
1e0f0 75 72 65 0a 54 63 6c 5f 53 65 74 4f 62 6a 4c 65  ure.Tcl_SetObjLe
1e100 6e 67 74 68 2e 20 28 4a 4f 29 0a 2a 2a 2a 20 50  ngth. (JO).*** P
1e110 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
1e120 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
1e130 6c 20 38 2e 30 61 32 2c 20 62 75 74 20 6e 6f 74  l 8.0a2, but not
1e140 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a   with Tcl 7.6 **
1e150 2a 0a 0a 32 2f 31 30 2f 39 37 20 28 6e 65 77 20  *..2/10/97 (new 
1e160 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54  feature) Added T
1e170 63 6c 5f 57 72 6f 6e 67 4e 75 6d 41 72 67 73 20  cl_WrongNumArgs 
1e180 70 72 6f 63 65 64 75 72 65 20 66 6f 72 20 67 65  procedure for ge
1e190 6e 65 72 61 74 69 6e 67 0a 65 72 72 6f 72 20 6d  nerating.error m
1e1a0 65 73 73 61 67 65 73 20 61 62 6f 75 74 20 69 6e  essages about in
1e1b0 63 6f 72 72 65 63 74 20 6e 75 6d 62 65 72 20 6f  correct number o
1e1c0 66 20 61 72 67 75 6d 65 6e 74 73 2e 20 28 4a 4f  f arguments. (JO
1e1d0 29 0a 0a 32 2f 31 31 2f 39 37 20 28 6e 65 77 20  )..2/11/97 (new 
1e1e0 66 65 61 74 75 72 65 2c 20 62 75 67 20 66 69 78  feature, bug fix
1e1f0 29 20 68 74 74 70 20 70 61 63 6b 61 67 65 2e 20  ) http package. 
1e200 20 41 64 64 65 64 20 2d 61 63 63 65 70 74 20 74   Added -accept t
1e210 6f 20 68 74 74 70 5f 63 6f 6e 66 69 67 0a 73 6f  o http_config.so
1e220 20 79 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65   you can set the
1e230 20 41 63 63 65 70 74 20 68 65 61 64 65 72 2e 20   Accept header. 
1e240 20 41 64 64 65 64 20 2d 68 61 6e 64 6c 65 72 20   Added -handler 
1e250 6f 70 74 69 6f 6e 20 74 6f 20 68 74 74 70 5f 67  option to http_g
1e260 65 74 20 73 6f 0a 79 6f 75 20 63 61 6e 20 73 75  et so.you can su
1e270 70 70 6c 79 20 79 6f 75 72 20 6f 77 6e 20 64 61  pply your own da
1e280 74 61 20 68 61 6e 64 6c 65 72 2e 20 20 41 6c 73  ta handler.  Als
1e290 6f 20 66 69 78 65 64 20 50 4f 53 54 20 6f 70 65  o fixed POST ope
1e2a0 72 61 74 69 6f 6e 20 74 6f 0a 73 65 74 20 74 68  ration to.set th
1e2b0 65 20 63 6f 72 72 65 63 74 20 4d 49 4d 45 20 74  e correct MIME t
1e2c0 79 70 65 20 6f 6e 20 74 68 65 20 72 65 71 75 65  ype on the reque
1e2d0 73 74 2e 20 28 42 57 29 0a 0a 32 2f 32 32 2f 39  st. (BW)..2/22/9
1e2e0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
1e2f0 64 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65  d bug that cause
1e300 64 20 24 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28  d $tcl_platform(
1e310 6f 73 56 65 72 73 69 6f 6e 29 20 74 6f 20 62 65  osVersion) to be
1e320 0a 63 6f 6d 70 75 74 65 64 20 69 6e 63 6f 72 72  .computed incorr
1e330 65 63 74 6c 79 20 75 6e 64 65 72 20 41 49 58 2e  ectly under AIX.
1e340 20 28 4a 4f 29 0a 0a 32 2f 32 35 2f 39 37 20 28   (JO)..2/25/97 (
1e350 6e 65 77 20 66 65 61 74 75 72 65 2c 20 66 65 61  new feature, fea
1e360 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64  ture change) Add
1e370 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 62  ed support for b
1e380 6f 74 68 20 69 6e 74 20 61 6e 64 20 6c 6f 6e 67  oth int and long
1e390 0a 69 6e 74 65 67 65 72 20 6f 62 6a 65 63 74 73  .integer objects
1e3a0 2e 20 41 64 64 65 64 20 54 63 6c 5f 4e 65 77 4c  . Added Tcl_NewL
1e3b0 6f 6e 67 4f 62 6a 2f 54 63 6c 5f 47 65 74 4c 6f  ongObj/Tcl_GetLo
1e3c0 6e 67 46 72 6f 6d 4f 62 6a 2f 54 63 6c 5f 53 65  ngFromObj/Tcl_Se
1e3d0 74 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 0a 70 72 6f  tLongFromObj.pro
1e3e0 63 65 64 75 72 65 73 20 61 6e 64 20 72 65 6e 61  cedures and rena
1e3f0 6d 65 64 20 74 68 65 20 54 63 6c 5f 4f 62 6a 20  med the Tcl_Obj 
1e400 69 6e 74 65 72 6e 61 6c 52 65 70 20 69 6e 74 56  internalRep intV
1e410 61 6c 75 65 20 6d 65 6d 62 65 72 20 74 6f 0a 6c  alue member to.l
1e420 6f 6e 67 56 61 6c 75 65 2e 20 54 63 6c 5f 47 65  ongValue. Tcl_Ge
1e430 74 49 6e 74 46 72 6f 6d 4f 62 6a 20 6e 6f 77 20  tIntFromObj now 
1e440 63 68 65 63 6b 73 20 66 6f 72 20 69 6e 74 65 67  checks for integ
1e450 65 72 20 76 61 6c 75 65 73 20 74 6f 6f 20 6c 61  er values too la
1e460 72 67 65 20 74 6f 0a 72 65 70 72 65 73 65 6e 74  rge to.represent
1e470 20 61 73 20 6e 6f 6e 2d 6c 6f 6e 67 20 69 6e 74   as non-long int
1e480 65 67 65 72 73 2e 20 43 68 61 6e 67 65 64 20 54  egers. Changed T
1e490 63 6c 5f 47 65 74 41 6c 6c 4f 62 6a 54 79 70 65  cl_GetAllObjType
1e4a0 73 20 74 6f 0a 54 63 6c 5f 41 70 70 65 6e 64 41  s to.Tcl_AppendA
1e4b0 6c 6c 4f 62 6a 54 79 70 65 73 2e 20 28 42 4c 29  llObjTypes. (BL)
1e4c0 0a 0a 33 2f 35 2f 39 37 20 28 6e 65 77 20 66 65  ..3/5/97 (new fe
1e4d0 61 74 75 72 65 29 20 41 64 64 65 64 20 6e 65 77  ature) Added new
1e4e0 20 54 63 6c 5f 53 65 74 4c 69 73 74 4f 62 6a 20   Tcl_SetListObj 
1e4f0 70 72 6f 63 65 64 75 72 65 20 74 6f 20 72 6f 75  procedure to rou
1e500 6e 64 20 6f 75 74 0a 63 6f 6c 6c 65 63 74 69 6f  nd out.collectio
1e510 6e 20 6f 66 20 70 72 6f 63 65 64 75 72 65 73 20  n of procedures 
1e520 74 68 61 74 20 73 65 74 20 74 68 65 20 74 79 70  that set the typ
1e530 65 20 61 6e 64 20 76 61 6c 75 65 20 6f 66 20 65  e and value of e
1e540 78 69 73 74 69 6e 67 20 54 63 6c 0a 6f 62 6a 65  xisting Tcl.obje
1e550 63 74 73 2e 20 28 42 4c 29 0a 0a 33 2f 36 2f 39  cts. (BL)..3/6/9
1e560 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  7 (new feature) 
1e570 41 64 64 65 64 20 2d 67 6c 6f 62 61 6c 20 66 6c  Added -global fl
1e580 61 67 20 66 6f 72 20 69 6e 74 65 72 70 20 69 6e  ag for interp in
1e590 76 6f 6b 65 68 69 64 64 65 6e 2e 20 28 4a 4c 29  vokehidden. (JL)
1e5a0 0a 0a 33 2f 36 2f 39 37 20 28 6e 65 77 20 66 65  ..3/6/97 (new fe
1e5b0 61 74 75 72 65 2c 20 66 65 61 74 75 72 65 20 63  ature, feature c
1e5c0 68 61 6e 67 65 29 20 41 64 64 65 64 20 69 73 4e  hange) Added isN
1e5d0 61 74 69 76 65 4f 62 6a 65 63 74 50 72 6f 63 20  ativeObjectProc 
1e5e0 66 69 65 6c 64 20 74 6f 20 74 68 65 0a 54 63 6c  field to the.Tcl
1e5f0 5f 43 6d 64 49 6e 66 6f 20 73 74 72 75 63 74 75  _CmdInfo structu
1e600 72 65 20 74 6f 20 69 6e 64 69 63 61 74 65 20 28  re to indicate (
1e610 77 68 65 6e 20 31 29 20 69 66 20 74 68 65 20 63  when 1) if the c
1e620 6f 6d 6d 61 6e 64 20 68 61 73 20 61 6e 0a 6f 62  ommand has an.ob
1e630 6a 65 63 74 2d 62 61 73 65 64 20 63 6f 6d 6d 61  ject-based comma
1e640 6e 64 20 70 72 6f 63 65 64 75 72 65 2e 20 52 65  nd procedure. Re
1e650 6d 6f 76 65 64 20 74 68 65 20 6e 61 6d 65 4c 65  moved the nameLe
1e660 6e 67 74 68 20 61 72 67 20 66 72 6f 6d 0a 54 63  ngth arg from.Tc
1e670 6c 5f 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61  l_CreateObjComma
1e680 6e 64 20 73 69 6e 63 65 20 63 6f 6d 6d 61 6e 64  nd since command
1e690 20 6e 61 6d 65 73 20 63 61 6e 27 74 20 63 6f 6e   names can't con
1e6a0 74 61 69 6e 20 6e 75 6c 6c 20 63 68 61 72 61 63  tain null charac
1e6b0 74 65 72 73 2e 20 28 42 4c 29 0a 0a 33 2f 36 2f  ters. (BL)..3/6/
1e6c0 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
1e6d0 65 64 20 62 75 67 20 69 6e 20 22 75 6e 6b 6e 6f  ed bug in "unkno
1e6e0 77 6e 22 20 70 72 6f 63 65 64 75 72 65 20 74 68  wn" procedure th
1e6f0 61 74 20 63 61 75 73 65 64 20 61 75 74 6f 2d 0a  at caused auto-.
1e700 6c 6f 61 64 69 6e 67 20 74 6f 20 66 61 69 6c 20  loading to fail 
1e710 6f 6e 20 63 6f 6d 6d 61 6e 64 73 20 77 68 6f 73  on commands whos
1e720 65 20 6e 61 6d 65 73 20 62 65 67 69 6e 20 77 69  e names begin wi
1e730 74 68 20 64 69 67 69 74 73 2e 20 28 4a 4f 29 0a  th digits. (JO).
1e740 0a 33 2f 37 2f 39 37 20 28 62 75 67 20 66 69 78  .3/7/97 (bug fix
1e750 29 20 41 75 74 6f 2d 6c 6f 61 64 69 6e 67 20 6e  ) Auto-loading n
1e760 6f 77 20 77 6f 72 6b 73 20 69 6e 20 53 61 66 65  ow works in Safe
1e770 20 42 61 73 65 2e 20 53 61 66 65 20 69 6e 74 65   Base. Safe inte
1e780 72 70 72 65 74 65 72 73 0a 6f 6e 6c 79 20 61 63  rpreters.only ac
1e790 63 65 70 74 20 74 68 65 20 56 65 72 73 69 6f 6e  cept the Version
1e7a0 20 32 20 61 6e 64 20 6f 6e 77 61 72 64 73 20 74   2 and onwards t
1e7b0 63 6c 49 6e 64 65 78 20 66 69 6c 65 73 2e 20 28  clIndex files. (
1e7c0 4a 4c 29 0a 0a 33 2f 31 33 2f 39 37 20 28 62 75  JL)..3/13/97 (bu
1e7d0 67 20 66 69 78 29 20 46 69 78 65 64 20 63 6f 72  g fix) Fixed cor
1e7e0 65 20 64 75 6d 70 20 64 75 65 20 74 6f 20 69 6e  e dump due to in
1e7f0 74 65 72 61 63 74 69 6f 6e 20 62 65 74 77 65 65  teraction betwee
1e800 6e 20 61 6c 69 61 73 65 73 20 61 6e 64 0a 68 69  n aliases and.hi
1e810 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 2e 20 42  dden commands. B
1e820 75 67 20 66 6f 75 6e 64 20 62 79 20 4c 69 6e 64  ug found by Lind
1e830 73 61 79 20 4d 61 72 73 68 61 6c 6c 2e 20 28 4a  say Marshall. (J
1e840 4c 29 0a 0a 33 2f 31 34 2f 39 37 20 28 62 75 67  L)..3/14/97 (bug
1e850 20 66 69 78 29 20 46 69 78 65 64 20 6d 61 63 20   fix) Fixed mac 
1e860 62 75 67 73 20 72 65 6c 61 74 69 6e 67 20 74 6f  bugs relating to
1e870 20 74 69 6d 65 2e 20 20 54 68 65 20 2d 67 6d 74   time.  The -gmt
1e880 20 6f 70 74 69 6f 6e 0a 6e 6f 77 20 61 64 6a 75   option.now adju
1e890 73 74 73 20 74 68 65 20 74 69 6d 65 20 69 6e 20  sts the time in 
1e8a0 74 68 65 20 63 6f 72 72 65 63 74 20 64 69 72 65  the correct dire
1e8b0 63 74 69 6f 6e 2e 20 20 28 54 68 61 6e 6b 73 20  ction.  (Thanks 
1e8c0 74 6f 20 45 64 20 48 75 6d 65 20 66 6f 72 0a 72  to Ed Hume for.r
1e8d0 65 70 6f 72 74 69 6e 67 20 61 20 66 69 78 20 74  eporting a fix t
1e8e0 6f 20 74 68 69 73 20 70 72 6f 62 6c 65 6d 2e 29  o this problem.)
1e8f0 20 20 41 6c 73 6f 20 66 69 78 65 64 20 66 69 6c    Also fixed fil
1e900 65 20 22 6d 74 69 6d 65 22 20 65 74 63 2e 20 74  e "mtime" etc. t
1e910 6f 0a 72 65 74 75 72 6e 20 74 69 6d 65 73 20 66  o.return times f
1e920 72 6f 6d 20 47 4d 54 20 72 61 74 68 65 72 20 74  rom GMT rather t
1e930 68 61 6e 20 6c 6f 63 61 6c 20 74 69 6d 65 20 7a  han local time z
1e940 6f 6e 65 2e 20 20 28 52 4a 29 0a 0a 33 2f 31 38  one.  (RJ)..3/18
1e950 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61  /97 (feature cha
1e960 6e 67 65 29 20 44 65 63 6c 61 72 61 74 69 6f 6e  nge) Declaration
1e970 20 6f 66 20 6f 62 6a 76 20 69 6e 20 54 63 6c 5f   of objv in Tcl_
1e980 4f 62 6a 43 6d 64 50 72 6f 63 20 66 75 6e 63 74  ObjCmdProc funct
1e990 69 6f 6e 0a 63 68 61 6e 67 65 64 20 66 72 6f 6d  ion.changed from
1e9a0 20 22 54 63 6c 5f 4f 62 6a 20 2a 6f 62 6a 76 5b   "Tcl_Obj *objv[
1e9b0 5d 22 20 74 6f 20 22 54 63 6c 5f 4f 62 6a 20 2a  ]" to "Tcl_Obj *
1e9c0 43 4f 4e 53 54 20 6f 62 6a 76 5b 5d 22 2e 20 20  CONST objv[]".  
1e9d0 41 6c 6c 20 54 63 6c 20 6f 62 6a 65 63 74 0a 63  All Tcl object.c
1e9e0 6f 6d 6d 61 6e 64 73 20 63 68 61 6e 67 65 64 20  ommands changed 
1e9f0 74 6f 20 75 73 65 20 6e 65 77 20 64 65 63 6c 61  to use new decla
1ea00 72 61 74 69 6f 6e 20 6f 66 20 6f 62 6a 76 2e 20  ration of objv. 
1ea10 20 4e 61 69 76 65 20 74 72 61 6e 73 6c 61 74 69   Naive translati
1ea20 6f 6e 20 6f 66 0a 73 74 72 69 6e 67 2d 62 61 73  on of.string-bas
1ea30 65 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 73  ed command procs
1ea40 20 74 6f 20 6f 62 6a 65 63 74 2d 62 61 73 65 64   to object-based
1ea50 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 73 20 63   command procs c
1ea60 6f 75 6c 64 20 76 65 72 79 20 65 61 73 69 6c 79  ould very easily
1ea70 0a 68 61 76 65 20 79 69 65 6c 64 65 64 20 63 6f  .have yielded co
1ea80 64 65 20 77 68 65 72 65 20 74 68 65 20 63 6f 6e  de where the con
1ea90 74 65 6e 74 73 20 6f 66 20 74 68 65 20 6f 62 6a  tents of the obj
1eaa0 76 20 61 72 72 61 79 20 77 65 72 65 20 63 68 61  v array were cha
1eab0 6e 67 65 64 2e 20 20 54 68 69 73 0a 69 73 20 6e  nged.  This.is n
1eac0 6f 74 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74  ot a problem wit
1ead0 68 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20 63  h string-based c
1eae0 6f 6d 6d 61 6e 64 20 70 72 6f 63 73 2c 20 62 75  ommand procs, bu
1eaf0 74 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e  t doing somethin
1eb00 67 20 61 73 0a 73 69 6d 70 6c 65 20 61 73 20 6f  g as.simple as o
1eb10 62 6a 76 5b 32 5d 20 3d 20 6f 62 6a 76 5b 33 5d  bjv[2] = objv[3]
1eb20 20 77 6f 75 6c 64 20 63 6f 72 72 75 70 74 20 74   would corrupt t
1eb30 68 65 20 72 75 6e 74 69 6d 65 20 73 74 61 63 6b  he runtime stack
1eb40 20 61 6e 64 20 63 61 75 73 65 20 54 63 6c 20 74   and cause Tcl t
1eb50 6f 0a 63 72 61 73 68 2e 20 20 49 6e 74 72 6f 64  o.crash.  Introd
1eb60 75 63 65 64 20 43 4f 4e 53 54 20 69 6e 20 64 65  uced CONST in de
1eb70 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 6f 62 6a  claration of obj
1eb80 76 20 73 6f 20 74 68 61 74 20 61 74 74 65 6d 70  v so that attemp
1eb90 74 65 64 20 61 73 73 69 67 6e 6d 65 6e 74 0a 6f  ted assignment.o
1eba0 66 20 6e 65 77 20 70 6f 69 6e 74 65 72 20 76 61  f new pointer va
1ebb0 6c 75 65 73 20 74 6f 20 65 6c 65 6d 65 6e 74 73  lues to elements
1ebc0 20 6f 66 20 74 68 65 20 6f 62 6a 76 20 61 72 72   of the objv arr
1ebd0 61 79 20 77 69 6c 6c 20 62 65 20 63 61 75 67 68  ay will be caugh
1ebe0 74 20 62 79 20 74 68 65 0a 63 6f 6d 70 69 6c 65  t by the.compile
1ebf0 72 2e 20 28 43 43 53 29 0a 2a 2a 2a 20 50 4f 54  r. (CCS).*** POT
1ec00 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
1ec10 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
1ec20 38 2e 30 61 32 20 2a 2a 2a 0a 0a 33 2f 31 39 2f  8.0a2 ***..3/19/
1ec30 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
1ec40 65 64 20 70 61 6e 69 63 20 64 75 65 20 74 6f 20  ed panic due to 
1ec50 6f 62 6a 65 63 74 20 73 68 61 72 69 6e 67 2e 20  object sharing. 
1ec60 54 68 65 20 72 6f 6f 74 20 63 61 75 73 65 20 77  The root cause w
1ec70 61 73 0a 74 68 61 74 20 6f 6c 64 20 63 6f 64 65  as.that old code
1ec80 20 77 61 73 20 75 73 69 6e 67 20 54 63 6c 5f 52   was using Tcl_R
1ec90 65 73 65 74 52 65 73 75 6c 74 20 69 6e 73 74 65  esetResult inste
1eca0 61 64 20 6f 66 20 54 63 6c 5f 52 65 73 65 74 4f  ad of Tcl_ResetO
1ecb0 62 6a 52 65 73 75 6c 74 2e 20 28 4a 4c 29 0a 0a  bjResult. (JL)..
1ecc0 33 2f 32 30 2f 39 37 20 28 6e 65 77 20 66 65 61  3/20/97 (new fea
1ecd0 74 75 72 65 29 20 41 64 64 65 64 20 61 20 6e 65  ture) Added a ne
1ece0 77 20 73 75 62 63 6f 6d 6d 61 6e 64 20 66 6f 72  w subcommand for
1ecf0 20 74 68 65 20 66 69 6c 65 0a 63 6f 6d 6d 61 6e   the file.comman
1ed00 64 2e 20 66 69 6c 65 20 61 74 74 72 69 62 75 74  d. file attribut
1ed10 65 73 20 66 69 6c 65 6e 61 6d 65 20 63 61 6e 20  es filename can 
1ed20 67 69 76 65 20 61 20 6c 69 73 74 20 6f 66 20 70  give a list of p
1ed30 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66 69 63  latform-specific
1ed40 0a 6f 70 74 69 6f 6e 73 20 28 73 75 63 68 20 61  .options (such a
1ed50 73 20 66 69 6c 65 2f 63 72 65 61 74 6f 72 20 74  s file/creator t
1ed60 79 70 65 20 6f 6e 20 74 68 65 20 4d 61 63 2c 20  ype on the Mac, 
1ed70 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 55  permissions on U
1ed80 6e 69 78 29 20 6f 72 0a 73 65 74 20 74 68 65 20  nix) or.set the 
1ed90 76 61 6c 75 65 73 20 6f 66 20 74 68 65 6d 2e 20  values of them. 
1eda0 41 64 64 65 64 20 61 20 6e 65 77 20 73 75 62 63  Added a new subc
1edb0 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65 20 66  ommand for the f
1edc0 69 6c 65 0a 63 6f 6d 6d 61 6e 64 2e 20 66 69 6c  ile.command. fil
1edd0 65 20 6e 61 74 69 76 65 6e 61 6d 65 20 6e 61 6d  e nativename nam
1ede0 65 20 67 69 76 65 73 20 62 61 63 6b 20 74 68 65  e gives back the
1edf0 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66   platform-specif
1ee00 69 63 20 66 6f 72 6d 0a 66 6f 72 20 74 68 65 20  ic form.for the 
1ee10 66 69 6c 65 2e 20 54 68 69 73 20 69 73 20 75 73  file. This is us
1ee20 65 66 75 6c 20 77 68 65 6e 20 74 68 65 20 66 69  eful when the fi
1ee30 6c 65 6e 61 6d 65 20 69 73 20 6e 65 65 64 65 64  lename is needed
1ee40 20 74 6f 20 70 61 73 73 20 74 6f 0a 74 68 65 20   to pass to.the 
1ee50 4f 53 2c 20 73 75 63 68 20 61 73 20 65 78 65 63  OS, such as exec
1ee60 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 39   under Windows 9
1ee70 35 20 6f 72 20 41 70 70 6c 65 53 63 72 69 70 74  5 or AppleScript
1ee80 20 6f 6e 20 74 68 65 20 4d 61 63 2e 20 46 6f 72   on the Mac. For
1ee90 0a 6d 6f 72 65 20 69 6e 66 6f 2c 20 73 65 65 20  .more info, see 
1eea0 66 69 6c 65 2e 6e 2e 20 28 53 52 50 29 0a 0a 33  file.n. (SRP)..3
1eeb0 2f 32 34 2f 39 37 20 28 72 65 6d 6f 76 65 64 20  /24/97 (removed 
1eec0 66 65 61 74 75 72 65 29 20 52 65 6d 6f 76 65 64  feature) Removed
1eed0 20 74 68 65 20 74 63 6c 5f 73 61 66 65 50 6f 6c   the tcl_safePol
1eee0 69 63 79 50 61 74 68 20 70 72 6f 63 65 64 75 72  icyPath procedur
1eef0 65 2e 20 4e 6f 77 0a 74 68 65 20 70 6f 6c 69 63  e. Now.the polic
1ef00 79 20 70 61 74 68 20 69 73 20 63 6f 6d 70 75 74  y path is comput
1ef10 65 64 20 66 72 6f 6d 20 74 68 65 20 61 75 74 6f  ed from the auto
1ef20 5f 70 61 74 68 20 62 79 20 61 70 70 65 6e 64 69  _path by appendi
1ef30 6e 67 20 74 68 65 20 64 69 72 65 63 74 6f 72 79  ng the directory
1ef40 0a 27 70 6f 6c 69 63 69 65 73 27 20 74 6f 20 65  .'policies' to e
1ef50 61 63 68 20 65 6c 65 6d 65 6e 74 2e 20 41 6c 73  ach element. Als
1ef60 6f 20 66 69 78 65 64 20 73 65 76 65 72 61 6c 20  o fixed several 
1ef70 62 75 67 73 20 69 6e 20 61 75 74 6f 6d 61 74 69  bugs in automati
1ef80 63 20 74 72 61 63 6b 69 6e 67 0a 6f 66 20 61 75  c tracking.of au
1ef90 74 6f 5f 70 61 74 68 20 62 79 20 63 6f 6d 70 75  to_path by compu
1efa0 74 65 64 20 70 6f 6c 69 63 79 20 70 61 74 68 2e  ted policy path.
1efb0 20 28 4a 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (JL).*** POTENT
1efc0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
1efd0 49 54 59 20 77 69 74 68 20 54 63 6c 20 38 2e 30  ITY with Tcl 8.0
1efe0 61 32 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  a2 but not with 
1eff0 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 34 2f 38  Tcl 7.6 ***..4/8
1f000 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
1f010 29 20 49 66 20 74 68 65 20 76 61 72 69 61 62 6c  ) If the variabl
1f020 65 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20  e whose name is 
1f030 70 61 73 73 65 64 20 74 6f 20 6c 61 70 70 65 6e  passed to lappen
1f040 64 20 64 6f 65 73 6e 27 74 0a 61 6c 72 65 61 64  d doesn't.alread
1f050 79 20 65 78 69 73 74 2c 20 61 6e 64 20 74 68 65  y exist, and the
1f060 72 65 20 61 72 65 20 6e 6f 20 76 61 6c 75 65 20  re are no value 
1f070 61 72 67 75 6d 65 6e 74 73 2c 20 6c 61 70 70 65  arguments, lappe
1f080 6e 64 20 6e 6f 77 20 63 72 65 61 74 65 73 20 74  nd now creates t
1f090 68 65 0a 76 61 72 69 61 62 6c 65 20 77 69 74 68  he.variable with
1f0a0 20 61 6e 20 65 6d 70 74 79 20 76 61 6c 75 65 20   an empty value 
1f0b0 69 6e 73 74 65 61 64 20 6f 66 20 72 65 74 75 72  instead of retur
1f0c0 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72 2e 20 43  ning an error. C
1f0d0 68 61 6e 67 65 20 73 75 67 67 65 73 74 65 64 0a  hange suggested.
1f0e0 62 79 20 54 6f 6d 20 54 72 6f 6d 65 79 2e 20 28  by Tom Tromey. (
1f0f0 42 4c 29 0a 0a 34 2f 39 2f 39 37 20 28 66 65 61  BL)..4/9/97 (fea
1f100 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61  ture change) Cha
1f110 6e 67 65 64 20 74 68 65 20 6e 61 6d 65 20 6f 66  nged the name of
1f120 20 74 68 65 20 54 43 4c 5f 50 41 52 54 31 5f 4e   the TCL_PART1_N
1f130 4f 54 5f 50 41 52 53 45 44 20 66 6c 61 67 20 74  OT_PARSED flag t
1f140 6f 0a 54 43 4c 5f 50 41 52 53 45 5f 50 41 52 54  o.TCL_PARSE_PART
1f150 31 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54 45  1. (BL).*** POTE
1f160 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
1f170 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 38  ILITY with Tcl 8
1f180 2e 30 61 32 20 62 75 74 20 6e 6f 74 20 77 69 74  .0a2 but not wit
1f190 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 34  h Tcl 7.6 ***..4
1f1a0 2f 31 30 2f 39 37 20 28 62 75 67 20 66 69 78 65  /10/97 (bug fixe
1f1b0 73 29 20 46 69 78 65 64 20 76 61 72 69 6f 75 73  s) Fixed various
1f1c0 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 6c   compilation-rel
1f1d0 61 74 65 64 20 62 75 67 73 3a 0a 20 20 20 20 2d  ated bugs:.    -
1f1e0 20 22 55 70 64 61 74 65 53 74 72 69 6e 67 4f 66   "UpdateStringOf
1f1f0 43 6d 64 4e 61 6d 65 20 73 68 6f 75 6c 64 20 6e  CmdName should n
1f200 65 76 65 72 20 62 65 20 69 6e 76 6f 6b 65 64 22  ever be invoked"
1f210 20 70 61 6e 69 63 2e 0a 20 20 20 20 2d 20 42 61   panic..    - Ba
1f220 64 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64  d code generated
1f230 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73   for expressions
1f240 20 6e 6f 74 20 69 6e 20 7b 7d 27 73 20 69 6e 73   not in {}'s ins
1f250 69 64 65 20 63 61 74 63 68 20 63 6f 6d 6d 61 6e  ide catch comman
1f260 64 73 2e 0a 20 20 20 20 2d 20 53 65 67 6d 65 6e  ds..    - Segmen
1f270 74 61 74 69 6f 6e 20 66 61 75 6c 74 20 69 6e 20  tation fault in 
1f280 73 6f 6d 65 20 63 6f 6d 6d 61 6e 64 20 70 72 6f  some command pro
1f290 63 65 64 75 72 65 73 20 77 68 65 6e 20 74 77 6f  cedures when two
1f2a0 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20   argument.      
1f2b0 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 72 73 20  object pointers 
1f2c0 72 65 66 65 72 20 74 6f 20 74 68 65 20 73 61 6d  refer to the sam
1f2d0 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 2d 20  e object..    - 
1f2e0 53 65 63 6f 6e 64 20 6c 65 76 65 6c 20 6f 66 20  Second level of 
1f2f0 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20 77 65  substitutions we
1f300 72 65 20 6e 65 76 65 72 20 64 6f 6e 65 20 66 6f  re never done fo
1f310 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 6e 6f  r expressions no
1f320 74 0a 20 20 20 20 20 20 69 6e 20 7b 7d 27 73 20  t.      in {}'s 
1f330 74 68 61 74 20 63 6f 6e 73 69 73 74 20 6f 66 20  that consist of 
1f340 61 20 73 69 6e 67 6c 65 20 76 61 72 69 61 62 6c  a single variabl
1f350 65 20 72 65 66 65 72 65 6e 63 65 3a 20 65 2e 67  e reference: e.g
1f360 2e 2c 0a 20 20 20 20 20 20 22 73 65 74 20 78 20  .,.      "set x 
1f370 32 37 3b 20 73 65 74 20 62 6f 6f 6c 20 7b 24 78  27; set bool {$x
1f380 7d 3b 20 69 66 20 24 62 6f 6f 6c 20 7b 70 75 74  }; if $bool {put
1f390 73 20 66 6f 6f 7d 22 20 77 6f 75 6c 64 20 66 61  s foo}" would fa
1f3a0 69 6c 20 77 69 74 68 20 65 72 72 6f 72 2e 0a 20  il with error.. 
1f3b0 20 20 20 2d 20 42 61 64 20 63 6f 64 65 20 67 65     - Bad code ge
1f3c0 6e 65 72 61 74 65 64 20 77 68 65 6e 20 63 6f 64  nerated when cod
1f3d0 65 20 73 74 6f 72 61 67 65 20 77 61 73 20 67 72  e storage was gr
1f3e0 6f 77 6e 20 77 68 69 6c 65 20 63 6f 6d 70 69 6c  own while compil
1f3f0 69 6e 67 20 73 6f 6d 65 0a 20 20 20 20 20 20 65  ing some.      e
1f400 78 70 72 65 73 73 69 6f 6e 73 3a 20 6f 6e 65 73  xpressions: ones
1f410 20 77 69 74 68 20 63 6f 6d 70 69 6c 61 74 69 6f   with compilatio
1f420 6e 20 65 72 72 6f 72 73 20 6f 72 20 63 6f 6e 73  n errors or cons
1f430 69 73 74 69 6e 67 20 6f 66 20 6f 6e 6c 79 20 61  isting of only a
1f440 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20  .      variable 
1f450 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 2d  reference..    -
1f460 20 42 75 67 73 20 69 6e 76 6f 6c 76 69 6e 67 20   Bugs involving 
1f470 6d 75 6c 74 69 70 6c 65 20 69 6e 74 65 72 70 72  multiple interpr
1f480 65 74 65 72 73 3a 20 77 61 73 6e 27 74 20 63 68  eters: wasn't ch
1f490 65 63 6b 69 6e 67 20 74 68 61 74 20 61 0a 20 20  ecking that a.  
1f4a0 20 20 20 20 70 72 6f 63 65 64 75 72 65 27 73 20      procedure's 
1f4b0 63 6f 64 65 20 77 61 73 20 63 6f 6d 70 69 6c 65  code was compile
1f4c0 64 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 69  d for the same i
1f4d0 6e 74 65 72 70 72 65 74 65 72 20 61 73 20 74 68  nterpreter as th
1f4e0 65 20 6f 6e 65 0a 20 20 20 20 20 20 65 78 65 63  e one.      exec
1f4f0 75 74 69 6e 67 20 69 74 2c 20 61 6e 64 20 64 69  uting it, and di
1f500 64 6e 27 74 20 69 6e 76 61 6c 69 64 61 74 65 20  dn't invalidate 
1f510 63 6f 64 65 20 6f 6e 20 68 69 64 64 65 6e 2d 65  code on hidden-e
1f520 78 70 6f 73 65 64 20 63 6f 6d 6d 61 6e 64 0a 20  xposed command. 
1f530 20 20 20 20 20 74 72 61 6e 73 69 74 69 6f 6e 73       transitions
1f540 2e 0a 20 20 20 20 2d 20 22 42 61 64 20 73 74 61  ..    - "Bad sta
1f550 63 6b 20 74 6f 70 22 20 70 61 6e 69 63 20 77 68  ck top" panic wh
1f560 65 6e 20 65 78 65 63 75 74 69 6e 67 20 73 63 72  en executing scr
1f570 69 70 74 73 20 74 68 61 74 20 72 65 71 75 69 72  ipts that requir
1f580 65 20 61 20 68 75 67 65 0a 20 20 20 20 20 20 61  e a huge.      a
1f590 6d 6f 75 6e 74 20 6f 66 20 73 74 61 63 6b 20 73  mount of stack s
1f5a0 70 61 63 65 2e 0a 20 20 20 20 2d 20 49 6e 63 6f  pace..    - Inco
1f5b0 72 72 65 63 74 20 73 68 61 72 69 6e 67 20 6f 66  rrect sharing of
1f5c0 20 63 6f 64 65 20 66 6f 72 20 70 72 6f 63 65 64   code for proced
1f5d0 75 72 65 20 62 6f 64 69 65 73 2c 20 61 6e 64 20  ure bodies, and 
1f5e0 70 72 6f 63 65 64 75 72 65 20 63 6f 64 65 0a 20  procedure code. 
1f5f0 20 20 20 20 20 64 65 61 6c 6c 6f 63 61 74 65 64       deallocated
1f600 20 62 65 66 6f 72 65 20 6c 61 73 74 20 65 78 65   before last exe
1f610 63 75 74 69 6f 6e 20 6f 66 20 74 68 65 20 70 72  cution of the pr
1f620 6f 63 65 64 75 72 65 20 66 69 6e 69 73 68 65 64  ocedure finished
1f630 2e 0a 20 20 20 20 2d 20 46 69 78 65 64 20 63 6f  ..    - Fixed co
1f640 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 65 78 70  mpilation of exp
1f650 72 65 73 73 69 6f 6e 20 77 6f 72 64 73 20 69 6e  ression words in
1f660 20 71 75 6f 74 65 73 2e 20 46 6f 72 20 65 78 61   quotes. For exa
1f670 6d 70 6c 65 2c 0a 20 20 20 20 20 20 69 66 20 22  mple,.      if "
1f680 30 20 3c 20 33 22 20 7b 70 75 74 73 20 66 6f 6f  0 < 3" {puts foo
1f690 7d 2e 0a 20 20 20 20 2d 20 46 69 78 65 64 20 70  }..    - Fixed p
1f6a0 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67 20 69  erformance bug i
1f6b0 6e 20 61 72 72 61 79 20 73 65 74 20 63 6f 6d 6d  n array set comm
1f6c0 61 6e 64 20 77 69 74 68 20 6c 61 72 67 65 20 61  and with large a
1f6d0 73 73 69 67 6e 6d 65 6e 74 73 2e 0a 20 20 20 20  ssignments..    
1f6e0 2d 20 54 63 6c 5f 53 65 74 4f 62 6a 4c 65 6e 67  - Tcl_SetObjLeng
1f6f0 74 68 20 73 65 67 6d 65 6e 74 61 74 69 6f 6e 20  th segmentation 
1f700 66 61 75 6c 74 20 73 65 74 74 69 6e 67 20 6c 65  fault setting le
1f710 6e 67 74 68 20 6f 66 20 65 6d 70 74 79 20 6f 62  ngth of empty ob
1f720 6a 65 63 74 2e 0a 20 20 20 20 2d 20 49 66 20 54  ject..    - If T
1f730 63 6c 5f 53 65 74 4f 62 6a 65 63 74 52 65 73 75  cl_SetObjectResu
1f740 6c 74 20 77 61 73 20 70 61 73 73 65 64 20 74 68  lt was passed th
1f750 65 20 73 61 6d 65 20 6f 62 6a 65 63 74 20 61 73  e same object as
1f760 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72   the interpreter
1f770 27 73 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20  's.      result 
1f780 6f 62 6a 65 63 74 2c 20 69 74 20 66 72 65 65 64  object, it freed
1f790 20 74 68 65 20 6f 62 6a 65 63 74 20 69 6e 73 74   the object inst
1f7a0 65 61 64 20 6f 66 20 64 6f 69 6e 67 20 6e 6f 74  ead of doing not
1f7b0 68 69 6e 67 2e 20 42 75 67 20 66 69 78 0a 20 20  hing. Bug fix.  
1f7c0 20 20 20 20 62 79 20 4d 69 63 68 61 65 6c 20 4a      by Michael J
1f7d0 2e 20 4d 63 4c 65 6e 6e 61 6e 2e 0a 20 20 20 20  . McLennan..    
1f7e0 2d 20 54 63 6c 5f 4c 69 73 74 4f 62 6a 41 70 70  - Tcl_ListObjApp
1f7f0 65 6e 64 4c 69 73 74 20 69 6e 73 65 72 74 65 64  endList inserted
1f800 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f 6d 20 74   elements from t
1f810 68 65 20 77 72 6f 6e 67 20 6c 69 73 74 2e 20 42  he wrong list. B
1f820 75 67 20 66 69 78 0a 20 20 20 20 20 20 62 79 20  ug fix.      by 
1f830 4d 69 63 68 61 65 6c 20 4a 2e 20 4d 63 4c 65 6e  Michael J. McLen
1f840 6e 61 6e 2e 0a 20 20 20 20 2d 20 53 65 67 6d 65  nan..    - Segme
1f850 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 20 69 66  ntation fault if
1f860 20 65 6d 70 74 79 20 76 61 72 69 61 62 6c 65 20   empty variable 
1f870 6c 69 73 74 20 77 61 73 20 73 70 65 63 69 66 69  list was specifi
1f880 65 64 20 69 6e 20 61 20 66 6f 72 65 61 63 68 0a  ed in a foreach.
1f890 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2e 20 42        command. B
1f8a0 75 67 20 66 69 78 20 62 79 20 4a 61 6e 20 4e 69  ug fix by Jan Ni
1f8b0 6a 74 6d 61 6e 73 2e 0a 20 20 20 20 2d 20 4e 55  jtmans..    - NU
1f8c0 4c 4c 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20  LL command name 
1f8d0 77 61 73 20 61 6c 77 61 79 73 20 70 61 73 73 65  was always passe
1f8e0 64 20 74 6f 20 54 63 6c 5f 43 72 65 61 74 65 54  d to Tcl_CreateT
1f8f0 72 61 63 65 20 63 61 6c 6c 62 61 63 6b 0a 20 20  race callback.  
1f900 20 20 20 20 70 72 6f 63 65 64 75 72 65 2e 0a 20      procedure.. 
1f910 20 20 20 2d 20 57 72 6f 6e 67 20 73 74 72 69 6e     - Wrong strin
1f920 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e  g representation
1f930 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74   generated for t
1f940 68 65 20 76 61 6c 75 65 20 4c 4f 4e 47 5f 4d 49  he value LONG_MI
1f950 4e 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61  N..      For exa
1f960 6d 70 6c 65 2c 20 65 78 70 72 20 31 3c 3c 33 31  mple, expr 1<<31
1f970 20 70 72 69 6e 74 65 64 20 69 6e 63 6f 72 72 65   printed incorre
1f980 63 74 6c 79 20 6f 6e 20 61 20 33 32 20 62 69 74  ctly on a 32 bit
1f990 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20 20 2d 20   machine..    - 
1f9a0 22 73 65 74 20 7b 61 28 24 78 29 7d 20 31 22 20  "set {a($x)} 1" 
1f9b0 73 74 6f 72 65 64 20 76 61 6c 75 65 20 69 6e 20  stored value in 
1f9c0 77 72 6f 6e 67 20 76 61 72 69 61 62 6c 65 2e 0a  wrong variable..
1f9d0 20 20 20 20 2d 20 54 63 6c 5f 47 65 74 42 6f 6f      - Tcl_GetBoo
1f9e0 6c 65 61 6e 46 72 6f 6d 4f 62 6a 20 77 61 73 20  leanFromObj was 
1f9f0 6e 6f 74 20 63 68 65 63 6b 69 6e 67 20 66 6f 72  not checking for
1fa00 20 67 61 72 62 61 67 65 20 61 66 74 65 72 20 61   garbage after a
1fa10 20 6e 75 6d 65 72 69 63 0a 20 20 20 20 20 20 76   numeric.      v
1fa20 61 6c 75 65 2e 0a 20 20 20 20 2d 20 47 61 72 62  alue..    - Garb
1fa30 6c 65 64 20 22 62 61 64 20 6f 70 65 72 61 6e 64  led "bad operand
1fa40 20 74 79 70 65 22 20 65 72 72 6f 72 20 6d 65 73   type" error mes
1fa50 73 61 67 65 20 77 68 65 6e 20 65 76 61 6c 75 61  sage when evalua
1fa60 74 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 73  ting expressions
1fa70 0a 20 20 20 20 20 20 6e 6f 74 20 73 75 72 72 6f  .      not surro
1fa80 75 6e 64 65 64 20 62 79 20 7b 7d 27 73 2e 20 28  unded by {}'s. (
1fa90 42 4c 29 0a 0a 34 2f 31 36 2f 39 37 20 28 6e 65  BL)..4/16/97 (ne
1faa0 77 20 66 65 61 74 75 72 65 29 20 54 68 65 20 65  w feature) The e
1fab0 78 70 72 20 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20  xpr command now 
1fac0 68 61 73 20 74 68 65 20 22 72 61 6e 64 28 29 22  has the "rand()"
1fad0 20 61 6e 64 0a 22 73 72 61 6e 64 28 29 22 20 66   and."srand()" f
1fae0 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 67 65 74  unctions for get
1faf0 74 69 6e 67 20 72 61 6e 64 6f 6d 20 6e 75 6d 62  ting random numb
1fb00 65 72 73 20 69 6e 20 65 78 70 72 2e 20 28 52 4a  ers in expr. (RJ
1fb10 29 0a 0a 34 2f 32 33 2f 39 37 20 28 62 75 67 20  )..4/23/97 (bug 
1fb20 66 69 78 29 20 46 69 78 65 64 20 63 6f 72 65 20  fix) Fixed core 
1fb30 64 75 6d 70 20 69 6e 20 62 67 65 72 72 6f 72 20  dump in bgerror 
1fb40 77 68 65 6e 20 74 68 65 20 65 72 72 6f 72 20 68  when the error h
1fb50 61 6e 64 6c 65 72 20 63 6f 6d 6d 61 6e 64 0a 64  andler command.d
1fb60 65 6c 65 74 65 73 20 74 68 65 20 63 75 72 72 65  eletes the curre
1fb70 6e 74 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20  nt interpreter. 
1fb80 46 6f 75 6e 64 20 62 79 20 4a 75 65 72 67 65 6e  Found by Juergen
1fb90 20 53 63 68 6f 65 6e 77 61 6c 64 2e 20 28 4a 4c   Schoenwald. (JL
1fba0 29 0a 0a 34 2f 32 33 2f 39 37 20 28 66 65 61 74  )..4/23/97 (feat
1fbb0 75 72 65 20 63 68 61 6e 67 65 29 20 54 68 65 20  ure change) The 
1fbc0 6e 6f 74 69 66 69 65 72 20 69 6e 74 65 72 66 61  notifier interfa
1fbd0 63 65 73 20 68 61 76 65 20 62 65 65 6e 20 72 65  ces have been re
1fbe0 64 65 73 69 67 6e 65 64 0a 74 6f 20 6d 61 6b 65  designed.to make
1fbf0 20 65 6d 62 65 64 64 69 6e 67 20 69 6e 20 61 70   embedding in ap
1fc00 70 6c 69 63 61 74 69 6f 6e 73 20 77 69 74 68 20  plications with 
1fc10 65 78 74 65 72 6e 61 6c 20 65 76 65 6e 74 20 6c  external event l
1fc20 6f 6f 70 73 20 70 6f 73 73 69 62 6c 65 2e 0a 41  oops possible..A
1fc30 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 74 65 72   number of inter
1fc40 66 61 63 65 73 20 69 6e 20 74 68 65 20 6e 6f 74  faces in the not
1fc50 69 66 69 65 72 20 61 6e 64 20 74 68 65 20 63 68  ifier and the ch
1fc60 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 68 61  annel drivers ha
1fc70 76 65 0a 63 68 61 6e 67 65 64 2e 20 20 52 65 66  ve.changed.  Ref
1fc80 65 72 20 74 6f 20 74 68 65 20 4e 6f 74 69 66 69  er to the Notifi
1fc90 65 72 2e 33 20 61 6e 64 20 43 72 74 43 68 61 6e  er.3 and CrtChan
1fca0 6e 65 6c 2e 33 20 6d 61 6e 75 61 6c 20 65 6e 74  nel.3 manual ent
1fcb0 72 69 65 73 20 66 6f 72 0a 6d 6f 72 65 20 64 65  ries for.more de
1fcc0 74 61 69 6c 73 2e 20 28 53 53 29 0a 2a 2a 2a 20  tails. (SS).*** 
1fcd0 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
1fce0 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34  ATIBILITY ***..4
1fcf0 2f 32 33 2f 39 37 20 28 72 65 6d 6f 76 65 64 20  /23/97 (removed 
1fd00 66 65 61 74 75 72 65 29 20 54 68 65 20 54 63 6c  feature) The Tcl
1fd10 5f 46 69 6c 65 20 69 6e 74 65 72 66 61 63 65 73  _File interfaces
1fd20 20 68 61 76 65 20 62 65 65 6e 20 72 65 6d 6f 76   have been remov
1fd30 65 64 2e 0a 54 68 65 20 54 63 6c 5f 43 72 65 61  ed..The Tcl_Crea
1fd40 74 65 46 69 6c 65 48 61 6e 64 6c 65 72 2f 54 63  teFileHandler/Tc
1fd50 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48 61 6e 64  l_DeleteFileHand
1fd60 6c 65 72 20 69 6e 74 65 72 66 61 63 65 73 20 6e  ler interfaces n
1fd70 6f 77 20 74 61 6b 65 0a 55 6e 69 78 20 66 64 27  ow take.Unix fd'
1fd80 73 20 61 6e 64 20 61 72 65 20 6f 6e 6c 79 20 73  s and are only s
1fd90 75 70 70 6f 72 74 65 64 20 6f 6e 20 74 68 65 20  upported on the 
1fda0 55 6e 69 78 20 70 6c 61 74 66 6f 72 6d 2e 0a 54  Unix platform..T
1fdb0 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 46 69 6c  cl_GetChannelFil
1fdc0 65 20 68 61 73 20 62 65 65 6e 20 72 65 70 6c 61  e has been repla
1fdd0 63 65 64 20 77 69 74 68 20 54 63 6c 5f 47 65 74  ced with Tcl_Get
1fde0 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 2e 0a 54  ChannelHandle..T
1fdf0 63 6c 5f 4d 61 6b 65 46 69 6c 65 43 68 61 6e 6e  cl_MakeFileChann
1fe00 65 6c 20 6e 6f 77 20 74 61 6b 65 73 20 61 20 70  el now takes a p
1fe10 6c 61 74 66 6f 72 6d 20 73 70 65 63 69 66 69 63  latform specific
1fe20 20 66 69 6c 65 20 68 61 6e 64 6c 65 2e 20 28 53   file handle. (S
1fe30 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  S).*** POTENTIAL
1fe40 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
1fe50 20 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37 20 28 72   ***..4/23/97 (r
1fe60 65 6d 6f 76 65 64 20 66 65 61 74 75 72 65 29 20  emoved feature) 
1fe70 54 68 65 20 6d 6f 64 61 6c 20 74 69 6d 65 6f 75  The modal timeou
1fe80 74 20 69 6e 74 65 72 66 61 63 65 20 68 61 73 20  t interface has 
1fe90 62 65 65 6e 0a 72 65 6d 6f 76 65 64 20 28 54 63  been.removed (Tc
1fea0 6c 5f 43 72 65 61 74 65 4d 6f 64 61 6c 54 69 6d  l_CreateModalTim
1feb0 65 6f 75 74 2f 54 63 6c 5f 44 65 6c 65 74 65 4d  eout/Tcl_DeleteM
1fec0 6f 64 61 6c 54 69 6d 65 6f 75 74 29 20 28 53 53  odalTimeout) (SS
1fed0 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ).*** POTENTIAL 
1fee0 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
1fef0 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37 20 28 66 65  ***..4/23/97 (fe
1ff00 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68  ature change) Ch
1ff10 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 61 72  annel drivers ar
1ff20 65 20 6e 6f 77 20 72 65 71 75 69 72 65 64 20 74  e now required t
1ff30 6f 20 63 6f 72 72 65 63 74 6c 79 0a 69 6d 70 6c  o correctly.impl
1ff40 65 6d 65 6e 74 20 62 6c 6f 63 6b 69 6e 67 20 62  ement blocking b
1ff50 65 68 61 76 69 6f 72 20 77 68 65 6e 20 74 68 65  ehavior when the
1ff60 79 20 61 72 65 20 69 6e 20 62 6c 6f 63 6b 69 6e  y are in blockin
1ff70 67 20 6d 6f 64 65 2e 20 28 53 53 29 0a 2a 2a 2a  g mode. (SS).***
1ff80 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
1ff90 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
1ffa0 34 2f 32 33 2f 39 37 20 28 6e 65 77 20 66 65 61  4/23/97 (new fea
1ffb0 74 75 72 65 29 20 41 64 64 65 64 20 74 68 65 20  ture) Added the 
1ffc0 22 62 69 6e 61 72 79 22 20 63 6f 6d 6d 61 6e 64  "binary" command
1ffd0 20 66 6f 72 20 6d 61 6e 69 70 75 6c 61 74 69 6e   for manipulatin
1ffe0 67 0a 62 69 6e 61 72 79 20 73 74 72 69 6e 67 73  g.binary strings
1fff0 2e 20 41 6c 73 6f 2c 20 63 68 61 6e 67 65 64 20  . Also, changed 
20000 74 68 65 20 22 70 75 74 73 22 2c 20 22 67 65 74  the "puts", "get
20010 73 22 2c 20 61 6e 64 20 22 72 65 61 64 22 20 63  s", and "read" c
20020 6f 6d 6d 61 6e 64 73 0a 74 6f 20 70 72 65 73 65  ommands.to prese
20030 72 76 65 20 65 6d 62 65 64 64 65 64 20 6e 75 6c  rve embedded nul
20040 6c 73 2e 20 20 28 53 53 29 0a 0a 34 2f 32 33 2f  ls.  (SS)..4/23/
20050 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
20060 20 41 64 64 65 64 20 74 63 6c 5f 70 6c 61 74 66   Added tcl_platf
20070 6f 72 6d 28 62 79 74 65 4f 72 64 65 72 29 20 65  orm(byteOrder) e
20080 6c 65 6d 65 6e 74 20 74 6f 20 74 68 65 0a 74 63  lement to the.tc
20090 6c 5f 70 6c 61 74 66 6f 72 6d 20 61 72 72 61 79  l_platform array
200a0 20 74 6f 20 69 64 65 6e 74 69 66 79 20 74 68 65   to identify the
200b0 20 6e 61 74 69 76 65 20 62 79 74 65 20 6f 72 64   native byte ord
200c0 65 72 20 66 6f 72 20 74 68 65 20 63 75 72 72 65  er for the curre
200d0 6e 74 0a 68 6f 73 74 2e 20 28 53 53 29 0a 0a 34  nt.host. (SS)..4
200e0 2f 32 33 2f 39 37 20 28 62 75 67 20 66 69 78 29  /23/97 (bug fix)
200f0 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 64 61   Fixed bug in da
20100 74 65 20 70 61 72 73 69 6e 67 20 61 72 6f 75 6e  te parsing aroun
20110 64 20 79 65 61 72 20 62 6f 75 6e 64 61 72 69 65  d year boundarie
20120 73 2e 20 28 53 53 29 0a 0a 34 2f 32 34 2f 39 37  s. (SS)..4/24/97
20130 20 28 62 75 67 20 66 69 78 29 20 49 6e 20 74 68   (bug fix) In th
20140 65 20 70 72 6f 63 65 73 73 20 6f 66 20 63 6f 70  e process of cop
20150 79 69 6e 67 20 61 20 66 69 6c 65 20 6f 77 6e 65  ying a file owne
20160 64 20 62 79 20 61 6e 6f 74 68 65 72 20 75 73 65  d by another use
20170 72 2c 0a 54 63 6c 20 77 61 73 20 63 68 61 6e 67  r,.Tcl was chang
20180 69 6e 67 20 74 68 65 20 6f 77 6e 65 72 20 6f 66  ing the owner of
20190 20 74 68 65 20 63 6f 70 79 20 62 61 63 6b 20 74   the copy back t
201a0 6f 20 74 68 65 20 6f 77 6e 65 72 20 6f 66 20 74  o the owner of t
201b0 68 65 20 6f 72 69 67 69 6e 61 6c 0a 66 69 6c 65  he original.file
201c0 2c 20 74 68 65 72 65 66 6f 72 65 20 63 61 75 73  , therefore caus
201d0 69 6e 67 20 66 75 72 74 68 65 72 20 66 69 6c 65  ing further file
201e0 20 6f 70 65 72 61 74 69 6f 6e 73 20 74 6f 20 66   operations to f
201f0 61 69 6c 20 62 65 63 61 75 73 65 20 74 68 65 20  ail because the 
20200 63 75 72 72 65 6e 74 0a 75 73 65 72 20 64 69 64  current.user did
20210 6e 27 74 20 6f 77 6e 20 74 68 65 20 63 6f 70 79  n't own the copy
20220 20 61 6e 79 6d 6f 72 65 2e 20 20 54 68 65 20 6f   anymore.  The o
20230 77 6e 65 72 20 6f 66 20 74 68 65 20 63 6f 70 79  wner of the copy
20240 20 69 73 20 6e 6f 77 20 6c 65 66 74 20 61 73 20   is now left as 
20250 74 68 65 0a 63 75 72 72 65 6e 74 20 75 73 65 72  the.current user
20260 2e 20 28 43 43 53 29 0a 0a 34 2f 32 34 2f 39 37  . (CCS)..4/24/97
20270 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
20280 29 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c  ) Under Windows,
20290 20 64 6f 6e 27 74 20 61 75 74 6f 6d 61 74 69 63   don't automatic
202a0 61 6c 6c 79 20 75 70 70 65 72 63 61 73 65 20 74  ally uppercase t
202b0 68 65 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  he.environment v
202c0 61 72 69 61 62 6c 65 20 22 77 69 6e 64 69 72 22  ariable "windir"
202d0 20 2d 2d 20 69 74 27 73 20 73 75 70 70 6f 73 65   -- it's suppose
202e0 64 20 74 6f 20 62 65 20 6c 6f 77 65 72 20 63 61  d to be lower ca
202f0 73 65 2e 20 20 28 43 43 53 29 0a 0a 34 2f 32 39  se.  (CCS)..4/29
20300 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
20310 29 20 41 64 64 65 64 20 6e 61 6d 65 73 70 61 63  ) Added namespac
20320 65 20 73 75 70 70 6f 72 74 20 62 61 73 65 64 20  e support based 
20330 6f 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 0a 69  on a namespace.i
20340 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 62 79  mplementation by
20350 20 4d 69 63 68 61 65 6c 20 4a 2e 20 4d 63 4c 65   Michael J. McLe
20360 6e 6e 61 6e 20 6f 66 20 4c 75 63 65 6e 74 20 54  nnan of Lucent T
20370 65 63 68 6e 6f 6c 6f 67 69 65 73 2e 20 41 20 6e  echnologies. A n
20380 61 6d 65 73 70 61 63 65 0a 65 6e 63 61 70 73 75  amespace.encapsu
20390 6c 61 74 65 73 20 61 20 63 6f 6c 6c 65 63 74 69  lates a collecti
203a0 6f 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 61  on of commands a
203b0 6e 64 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20  nd variables to 
203c0 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 79  ensure that they
203d0 0a 77 6f 6e 27 74 20 69 6e 74 65 72 66 65 72 65  .won't interfere
203e0 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 61 6e   the commands an
203f0 64 20 76 61 72 69 61 62 6c 65 73 20 6f 66 20 6f  d variables of o
20400 74 68 65 72 20 6e 61 6d 65 73 70 61 63 65 73 2e  ther namespaces.
20410 20 54 68 65 20 67 6c 6f 62 61 6c 0a 6e 61 6d 65   The global.name
20420 73 70 61 63 65 20 68 6f 6c 64 73 20 61 6c 6c 20  space holds all 
20430 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73  global variables
20440 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 2e 20 41   and commands. A
20450 64 64 69 74 69 6f 6e 61 6c 20 6e 61 6d 65 73 70  dditional namesp
20460 61 63 65 73 20 61 72 65 0a 63 72 65 61 74 65 64  aces are.created
20470 20 77 69 74 68 20 74 68 65 20 6e 65 77 20 6e 61   with the new na
20480 6d 65 73 70 61 63 65 20 63 6f 6d 6d 61 6e 64 2e  mespace command.
20490 20 54 68 65 20 6e 65 77 20 76 61 72 69 61 62 6c   The new variabl
204a0 65 20 63 6f 6d 6d 61 6e 64 20 6c 65 74 73 20 79  e command lets y
204b0 6f 75 0a 63 72 65 61 74 65 20 54 63 6c 20 76 61  ou.create Tcl va
204c0 72 69 61 62 6c 65 73 20 69 6e 73 69 64 65 20 61  riables inside a
204d0 20 6e 61 6d 65 73 70 61 63 65 2e 20 54 68 65 20   namespace. The 
204e0 6e 61 6d 65 73 20 6f 66 20 54 63 6c 20 76 61 72  names of Tcl var
204f0 69 61 62 6c 65 73 20 61 6e 64 0a 63 6f 6d 6d 61  iables and.comma
20500 6e 64 73 20 6d 61 79 20 6e 6f 77 20 62 65 20 71  nds may now be q
20510 75 61 6c 69 66 69 65 64 20 62 79 20 74 68 65 20  ualified by the 
20520 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 61 6d 65  name of the name
20530 73 70 61 63 65 20 63 6f 6e 74 61 69 6e 69 6e 67  space containing
20540 20 74 68 65 6d 2e 0a 54 68 65 20 6b 65 79 20 6e   them..The key n
20550 61 6d 65 73 70 61 63 65 2d 72 65 6c 61 74 65 64  amespace-related
20560 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 73 75   commands are su
20570 6d 6d 61 72 69 7a 65 64 20 62 65 6c 6f 77 3a 0a  mmarized below:.
20580 20 20 20 20 2d 20 6e 61 6d 65 73 70 61 63 65 20      - namespace 
20590 3f 65 76 61 6c 3f 20 6e 61 6d 65 20 61 72 67 20  ?eval? name arg 
205a0 3f 61 72 67 2e 2e 2e 3f 0a 20 20 20 20 20 20 20  ?arg...?.       
205b0 20 20 55 73 65 64 20 74 6f 20 64 65 66 69 6e 65    Used to define
205c0 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 61 6e   the commands an
205d0 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 61  d variables in a
205e0 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20   namespace..    
205f0 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c 6c 79 20       Optionally 
20600 63 72 65 61 74 65 73 20 74 68 65 20 6e 61 6d 65  creates the name
20610 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e 61 6d  space..    - nam
20620 65 73 70 61 63 65 20 65 78 70 6f 72 74 20 3f 2d  espace export ?-
20630 63 6c 65 61 72 3f 20 3f 70 61 74 74 65 72 6e 20  clear? ?pattern 
20640 70 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20 20 20 20  pattern...?.    
20650 20 20 20 20 20 53 70 65 63 69 66 69 65 73 20 77       Specifies w
20660 68 69 63 68 20 63 6f 6d 6d 61 6e 64 73 20 61 72  hich commands ar
20670 65 20 65 78 70 6f 72 74 65 64 20 66 72 6f 6d 20  e exported from 
20680 61 20 6e 61 6d 65 73 70 61 63 65 2e 20 54 68 65  a namespace. The
20690 73 65 0a 20 20 20 20 20 20 20 20 20 61 72 65 20  se.         are 
206a0 74 68 65 20 6f 6e 65 73 20 74 68 61 74 20 63 61  the ones that ca
206b0 6e 20 62 65 20 69 6d 70 6f 72 74 65 64 20 69 6e  n be imported in
206c0 74 6f 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 73  to another names
206d0 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e 61 6d 65  pace..    - name
206e0 73 70 61 63 65 20 69 6d 70 6f 72 74 20 3f 2d 66  space import ?-f
206f0 6f 72 63 65 3f 20 3f 70 61 74 74 65 72 6e 20 70  orce? ?pattern p
20700 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20 20 20 20 20  attern...?.     
20710 20 20 20 20 4d 61 6b 65 73 20 74 68 65 20 73 70      Makes the sp
20720 65 63 69 66 69 65 64 20 63 6f 6d 6d 61 6e 64 73  ecified commands
20730 20 61 63 63 65 73 73 69 62 6c 65 20 69 6e 20 74   accessible in t
20740 68 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73  he current names
20750 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e 61 6d 65  pace..    - name
20760 73 70 61 63 65 20 63 75 72 72 65 6e 74 0a 20 20  space current.  
20770 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74         Returns t
20780 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63  he name of the c
20790 75 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65  urrent namespace
207a0 2e 0a 20 20 20 20 2d 20 76 61 72 69 61 62 6c 65  ..    - variable
207b0 20 6e 61 6d 65 20 3f 76 61 6c 75 65 3f 20 3f 6e   name ?value? ?n
207c0 61 6d 65 20 3f 76 61 6c 75 65 3f 2e 2e 2e 3f 0a  ame ?value?...?.
207d0 20 20 20 20 20 20 20 20 20 43 72 65 61 74 65 73           Creates
207e0 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6e 61 6d   one or more nam
207f0 65 73 70 61 63 65 20 76 61 72 69 61 62 6c 65 73  espace variables
20800 2e 20 28 42 54 4c 29 0a 0a 35 2f 31 2f 39 37 20  . (BTL)..5/1/97 
20810 28 62 75 67 20 66 69 78 29 20 55 6e 64 65 72 20  (bug fix) Under 
20820 57 69 6e 64 6f 77 73 2c 20 66 69 6c 65 20 74 69  Windows, file ti
20830 6d 65 73 20 77 65 72 65 20 72 65 70 6f 72 74 65  mes were reporte
20840 64 20 69 6e 20 47 4d 54 2e 20 20 53 68 6f 75 6c  d in GMT.  Shoul
20850 64 20 62 65 0a 72 65 70 6f 72 74 65 64 20 69 6e  d be.reported in
20860 20 6c 6f 63 61 6c 20 74 69 6d 65 2e 20 28 43 43   local time. (CC
20870 53 29 0a 0a 35 2f 32 2f 39 37 20 28 66 65 61 74  S)..5/2/97 (feat
20880 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
20890 67 65 64 20 74 68 65 20 6e 61 6d 65 20 6f 66 20  ged the name of 
208a0 74 68 65 20 74 77 6f 20 54 63 6c 20 76 61 72 69  the two Tcl vari
208b0 61 62 6c 65 73 20 75 73 65 64 20 66 6f 72 0a 74  ables used for.t
208c0 72 61 63 69 6e 67 20 62 79 74 65 63 6f 64 65 20  racing bytecode 
208d0 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20  compilation and 
208e0 65 78 65 63 75 74 69 6f 6e 20 74 6f 20 74 63 6c  execution to tcl
208f0 5f 74 72 61 63 65 43 6f 6d 70 69 6c 65 20 61 6e  _traceCompile an
20900 64 0a 74 63 6c 5f 74 72 61 63 65 45 78 65 63 20  d.tcl_traceExec 
20910 72 65 73 70 65 63 74 69 76 65 6c 79 2e 20 54 68  respectively. Th
20920 65 73 65 20 76 61 72 69 61 62 6c 65 73 20 61 72  ese variables ar
20930 65 20 6e 6f 77 20 64 6f 63 75 6d 65 6e 74 65 64  e now documented
20940 20 69 6e 20 74 68 65 0a 74 63 6c 76 61 72 73 20   in the.tclvars 
20950 6d 61 6e 20 70 61 67 65 2e 20 28 42 4c 29 0a 0a  man page. (BL)..
20960 35 2f 35 2f 39 37 20 28 6e 65 77 20 66 65 61 74  5/5/97 (new feat
20970 75 72 65 29 20 53 75 70 70 6f 72 74 20 22 65 6e  ure) Support "en
20980 64 22 20 61 73 20 74 68 65 20 69 6e 64 65 78 20  d" as the index 
20990 66 6f 72 20 22 6c 73 6f 72 74 20 2d 69 6e 64 65  for "lsort -inde
209a0 78 22 2e 20 28 42 57 29 0a 0a 35 2f 35 2f 39 37  x". (BW)..5/5/97
209b0 20 28 62 75 67 20 66 69 78 65 73 29 20 43 6c 65   (bug fixes) Cle
209c0 61 6e 65 64 20 75 70 20 74 68 65 20 77 61 79 20  aned up the way 
209d0 74 68 65 20 68 74 74 70 20 70 61 63 6b 61 67 65  the http package
209e0 20 72 65 73 65 74 73 20 63 6f 6e 6e 65 63 74 69   resets connecti
209f0 6f 6e 73 20 28 42 57 29 0a 0a 35 2f 38 2f 39 37  ons (BW)..5/8/97
20a00 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
20a10 29 20 4e 65 77 6c 79 20 63 72 65 61 74 65 64 20  ) Newly created 
20a20 54 63 6c 20 6f 62 6a 65 63 74 73 20 6e 6f 77 20  Tcl objects now 
20a30 68 61 76 65 20 61 20 72 65 66 65 72 65 6e 63 65  have a reference
20a40 20 63 6f 75 6e 74 0a 6f 66 20 7a 65 72 6f 20 69   count.of zero i
20a50 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65 2e 20 54  nstead of one. T
20a60 68 69 73 20 73 69 6d 70 6c 69 66 69 65 73 20 43  his simplifies C
20a70 20 63 6f 64 65 20 74 68 61 74 20 73 74 6f 72 65   code that store
20a80 73 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 0a  s newly created.
20a90 6f 62 6a 65 63 74 73 20 69 6e 20 54 63 6c 20 76  objects in Tcl v
20aa0 61 72 69 61 62 6c 65 73 20 6f 72 20 69 6e 20 64  ariables or in d
20ab0 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73  ata structures s
20ac0 75 63 68 20 61 73 20 6c 69 73 74 20 6f 62 6a 65  uch as list obje
20ad0 63 74 73 2e 20 54 68 61 74 20 43 0a 63 6f 64 65  cts. That C.code
20ae0 20 6d 75 73 74 20 69 6e 63 72 65 6d 65 6e 74 20   must increment 
20af0 74 68 65 20 6e 65 77 20 6f 62 6a 65 63 74 27 73  the new object's
20b00 20 72 65 66 65 72 65 6e 63 65 20 63 6f 75 6e 74   reference count
20b10 20 73 69 6e 63 65 20 74 68 65 20 76 61 72 69 61   since the varia
20b20 62 6c 65 20 6f 72 0a 64 61 74 61 20 73 74 72 75  ble or.data stru
20b30 63 74 75 72 65 20 77 69 6c 6c 20 63 6f 6e 74 61  cture will conta
20b40 69 6e 20 61 20 6c 6f 6e 67 2d 74 65 72 6d 20 72  in a long-term r
20b50 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20  eference to the 
20b60 6f 62 6a 65 63 74 2e 20 46 6f 72 6d 65 72 6c 79  object. Formerly
20b70 2c 0a 77 68 65 6e 20 6e 65 77 20 6f 62 6a 65 63  ,.when new objec
20b80 74 73 20 73 74 61 72 74 65 64 20 6f 75 74 20 77  ts started out w
20b90 69 74 68 20 72 65 66 65 72 65 6e 63 65 20 63 6f  ith reference co
20ba0 75 6e 74 20 6f 6e 65 2c 20 69 74 20 77 61 73 20  unt one, it was 
20bb0 6e 65 63 65 73 73 61 72 79 20 74 6f 0a 64 65 63  necessary to.dec
20bc0 72 65 6d 65 6e 74 20 74 68 65 20 6e 65 77 20 6f  rement the new o
20bd0 62 6a 65 63 74 27 73 20 72 65 66 65 72 65 6e 63  bject's referenc
20be0 65 20 63 6f 75 6e 74 20 61 66 74 65 72 20 74 68  e count after th
20bf0 65 20 73 74 6f 72 65 20 74 6f 20 6d 61 6b 65 20  e store to make 
20c00 73 75 72 65 20 69 74 0a 77 61 73 20 6c 65 66 74  sure it.was left
20c10 20 77 69 74 68 20 74 68 65 20 63 6f 72 72 65 63   with the correc
20c20 74 20 76 61 6c 75 65 3b 20 74 68 69 73 20 69 73  t value; this is
20c30 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65 63 65 73   no longer neces
20c40 73 61 72 79 2e 20 28 42 4c 29 0a 0a 35 2f 39 2f  sary. (BL)..5/9/
20c50 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
20c60 20 41 64 64 65 64 20 74 68 65 20 54 63 6c 5f 47   Added the Tcl_G
20c70 65 74 73 4f 62 6a 20 69 6e 74 65 72 66 61 63 65  etsObj interface
20c80 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 0a 6f   that takes an.o
20c90 62 6a 65 63 74 20 72 65 66 65 72 65 6e 63 65 20  bject reference 
20ca0 69 6e 73 74 65 61 64 20 6f 66 20 61 20 64 79 6e  instead of a dyn
20cb0 61 6d 69 63 20 73 74 72 69 6e 67 20 28 61 73 20  amic string (as 
20cc0 69 6e 20 54 63 6c 5f 47 65 74 73 29 2e 20 28 53  in Tcl_Gets). (S
20cd0 53 29 0a 0a 35 2f 31 32 2f 39 37 20 28 6e 65 77  S)..5/12/97 (new
20ce0 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
20cf0 54 63 6c 5f 43 72 65 61 74 65 41 6c 69 61 73 4f  Tcl_CreateAliasO
20d00 62 6a 20 61 6e 64 20 54 63 6c 5f 47 65 74 41 6c  bj and Tcl_GetAl
20d10 69 61 73 4f 62 6a 20 43 20 41 50 49 73 0a 74 6f  iasObj C APIs.to
20d20 20 61 6c 6c 6f 77 20 61 6e 20 61 6c 69 61 73 20   allow an alias 
20d30 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 20 63 72  command to be cr
20d40 65 61 74 65 64 20 77 69 74 68 20 61 20 76 65 63  eated with a vec
20d50 74 6f 72 20 6f 66 20 54 63 6c 5f 4f 62 6a 20 73  tor of Tcl_Obj s
20d60 74 72 75 63 74 75 72 65 73 0a 61 6e 64 20 74 6f  tructures.and to
20d70 20 67 65 74 20 74 68 65 20 76 65 63 74 6f 72 20   get the vector 
20d80 62 61 63 6b 20 6c 61 74 65 72 2e 20 28 4a 4c 29  back later. (JL)
20d90 0a 0a 35 2f 31 32 2f 39 37 20 28 66 65 61 74 75  ..5/12/97 (featu
20da0 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67  re change) Chang
20db0 65 64 20 54 63 6c 5f 45 78 70 6f 73 65 43 6f 6d  ed Tcl_ExposeCom
20dc0 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f 48 69 64  mand and Tcl_Hid
20dd0 65 43 6f 6d 6d 61 6e 64 20 74 6f 0a 6c 65 61 76  eCommand to.leav
20de0 65 20 61 6e 20 6f 62 6a 65 63 74 20 72 65 73 75  e an object resu
20df0 6c 74 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20  lt instead of a 
20e00 73 74 72 69 6e 67 20 72 65 73 75 6c 74 2e 20 28  string result. (
20e10 4a 4c 29 0a 0a 35 2f 31 34 2f 39 37 20 28 66 65  JL)..5/14/97 (fe
20e20 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 49 6d  ature change) Im
20e30 70 72 6f 76 65 64 20 74 68 65 20 68 61 6e 64 6c  proved the handl
20e40 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 74 65 72  ing of the inter
20e50 70 72 65 74 65 72 20 72 65 73 75 6c 74 2e 0a 54  preter result..T
20e60 68 69 73 20 69 73 20 73 74 69 6c 6c 20 65 69 74  his is still eit
20e70 68 65 72 20 61 6e 20 6f 62 6a 65 63 74 20 6f 72  her an object or
20e80 20 61 20 73 74 72 69 6e 67 2c 20 62 75 74 20 74   a string, but t
20e90 68 65 20 74 77 6f 20 76 61 6c 75 65 73 20 61 72  he two values ar
20ea0 65 20 6e 6f 77 20 6b 65 70 74 0a 63 6f 6e 73 69  e now kept.consi
20eb0 73 74 65 6e 74 20 75 6e 6c 65 73 73 20 73 6f 6d  stent unless som
20ec0 65 20 43 20 63 6f 64 65 20 72 65 61 64 73 20 6f  e C code reads o
20ed0 72 20 77 72 69 74 65 73 20 69 6e 74 65 72 70 2d  r writes interp-
20ee0 3e 72 65 73 75 6c 74 20 64 69 72 65 63 74 6c 79  >result directly
20ef0 2e 20 53 65 65 0a 74 68 65 20 53 65 74 52 65 73  . See.the SetRes
20f00 75 6c 74 20 6d 61 6e 20 70 61 67 65 20 66 6f 72  ult man page for
20f10 20 64 65 74 61 69 6c 73 2e 20 52 65 6d 6f 76 65   details. Remove
20f20 64 20 74 68 65 20 54 63 6c 5f 52 65 73 65 74 4f  d the Tcl_ResetO
20f30 62 6a 52 65 73 75 6c 74 0a 70 72 6f 63 65 64 75  bjResult.procedu
20f40 72 65 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54  re. (BL).*** POT
20f50 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
20f60 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
20f70 38 2e 30 61 32 20 2a 2a 2a 0a 0a 35 2f 31 36 2f  8.0a2 ***..5/16/
20f80 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
20f90 20 41 64 64 65 64 20 22 66 63 6f 70 79 22 20 63   Added "fcopy" c
20fa0 6f 6d 6d 61 6e 64 20 74 6f 20 6d 6f 76 65 20 64  ommand to move d
20fb0 61 74 61 20 62 65 74 77 65 65 6e 0a 63 68 61 6e  ata between.chan
20fc0 6e 65 6c 73 2e 20 20 52 65 66 65 72 20 74 6f 20  nels.  Refer to 
20fd0 74 68 65 20 6d 61 6e 75 61 6c 20 70 61 67 65 20  the manual page 
20fe0 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61  for more informa
20ff0 74 69 6f 6e 2e 20 20 52 65 6d 6f 76 65 64 20 74  tion.  Removed t
21000 68 65 0a 22 75 6e 73 75 70 70 6f 72 74 65 64 30  he."unsupported0
21010 22 20 63 6f 6d 6d 61 6e 64 20 73 69 6e 63 65 20  " command since 
21020 69 74 20 69 73 20 6f 62 73 6f 6c 65 74 65 20 6e  it is obsolete n
21030 6f 77 2e 20 20 28 53 53 29 0a 0a 35 2f 31 36 2f  ow.  (SS)..5/16/
21040 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
21050 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74 53 74   Added Tcl_GetSt
21060 72 69 6e 67 52 65 73 75 6c 74 20 70 72 6f 63 65  ringResult proce
21070 64 75 72 65 20 74 6f 20 61 6c 6c 6f 77 20 70 72  dure to allow pr
21080 6f 67 72 61 6d 73 0a 74 6f 20 67 65 74 20 61 6e  ograms.to get an
21090 20 69 6e 74 65 72 70 72 65 74 65 72 27 73 20 72   interpreter's r
210a0 65 73 75 6c 74 20 61 73 20 61 20 73 74 72 69 6e  esult as a strin
210b0 67 2e 20 49 66 20 74 68 65 20 72 65 73 75 6c 74  g. If the result
210c0 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20   was previously 
210d0 73 65 74 0a 74 6f 20 61 6e 20 6f 62 6a 65 63 74  set.to an object
210e0 2c 20 74 68 69 73 20 70 72 6f 63 65 64 75 72 65  , this procedure
210f0 20 77 69 6c 6c 20 63 6f 6e 76 65 72 74 20 74 68   will convert th
21100 65 20 6f 62 6a 65 63 74 20 74 6f 20 61 20 73 74  e object to a st
21110 72 69 6e 67 2e 20 55 73 65 20 6f 66 0a 54 63 6c  ring. Use of.Tcl
21120 5f 47 65 74 53 74 72 69 6e 67 52 65 73 75 6c 74  _GetStringResult
21130 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20   is intended to 
21140 72 65 70 6c 61 63 65 20 64 69 72 65 63 74 20 61  replace direct a
21150 63 63 65 73 73 20 74 6f 20 69 6e 74 65 72 70 2d  ccess to interp-
21160 3e 72 65 73 75 6c 74 2c 0a 77 68 69 63 68 20 69  >result,.which i
21170 73 20 6e 6f 74 20 73 61 66 65 2e 20 28 42 4c 29  s not safe. (BL)
21180 0a 0a 35 2f 32 30 2f 39 37 20 28 6e 65 77 20 66  ..5/20/97 (new f
21190 65 61 74 75 72 65 73 29 20 46 69 78 65 64 20 22  eatures) Fixed "
211a0 66 63 6f 70 79 22 20 74 6f 20 72 65 74 75 72 6e  fcopy" to return
211b0 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62   the number of b
211c0 79 74 65 73 0a 74 72 61 6e 73 66 65 72 72 65 64  ytes.transferred
211d0 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b 69 6e 67   in the blocking
211e0 20 63 61 73 65 2e 20 20 55 70 64 61 74 65 64 20   case.  Updated 
211f0 74 68 65 20 68 74 74 70 20 70 61 63 6b 61 67 65  the http package
21200 20 74 6f 20 75 73 65 0a 66 63 6f 70 79 20 69 6e   to use.fcopy in
21210 73 74 65 61 64 20 6f 66 20 75 6e 73 75 70 70 6f  stead of unsuppo
21220 72 74 65 64 30 2e 20 20 41 64 64 65 64 20 2d 74  rted0.  Added -t
21230 69 6d 65 6f 75 74 20 61 6e 64 20 2d 68 61 6e 64  imeout and -hand
21240 6c 65 72 20 6f 70 74 69 6f 6e 73 20 74 6f 0a 68  ler options to.h
21250 74 74 70 5f 67 65 74 2e 20 20 68 74 74 70 5f 67  ttp_get.  http_g
21260 65 74 20 69 73 20 6e 6f 77 20 62 6c 6f 63 6b 69  et is now blocki
21270 6e 67 20 62 79 20 64 65 66 61 75 6c 74 2e 20 20  ng by default.  
21280 49 74 20 69 73 20 6f 6e 6c 79 20 6e 6f 6e 2d 62  It is only non-b
21290 6c 6f 63 6b 69 6e 67 0a 69 66 20 79 6f 75 20 73  locking.if you s
212a0 75 70 70 6c 79 20 61 20 2d 63 6f 6d 6d 61 6e 64  upply a -command
212b0 20 61 72 67 75 6d 65 6e 74 2e 20 28 42 57 29 0a   argument. (BW).
212c0 0a 35 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69  .5/22/97 (bug fi
212d0 78 29 20 46 69 78 65 64 20 73 65 76 65 72 61 6c  x) Fixed several
212e0 20 62 75 67 73 20 69 6e 20 74 68 65 20 22 6c 73   bugs in the "ls
212f0 6f 72 74 22 20 63 6f 6d 6d 61 6e 64 20 68 61 76  ort" command hav
21300 69 6e 67 20 74 6f 20 64 6f 0a 77 69 74 68 20 74  ing to do.with t
21310 68 65 20 2d 64 69 63 74 69 6f 6e 61 72 79 20 6f  he -dictionary o
21320 70 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 70 72  ption and the pr
21330 65 73 65 6e 63 65 20 6f 66 20 6e 75 6d 62 65 72  esence of number
21340 73 20 65 6d 62 65 64 64 65 64 20 69 6e 20 74 68  s embedded in th
21350 65 0a 73 74 72 69 6e 67 73 2e 20 20 28 4a 4f 29  e.strings.  (JO)
21360 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
21370 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 30  --- Released 8.0
21380 62 31 2c 20 35 2f 32 37 2f 39 37 20 2d 2d 2d 2d  b1, 5/27/97 ----
21390 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
213a0 2d 2d 2d 0a 0a 36 2f 32 2f 39 37 20 28 62 75 67  ---..6/2/97 (bug
213b0 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
213c0 69 6e 20 73 74 61 72 74 75 70 20 63 6f 64 65 20  in startup code 
213d0 74 68 61 74 20 63 61 75 73 65 64 20 61 20 70 72  that caused a pr
213e0 6f 62 6c 65 6d 20 69 6e 0a 66 69 6e 64 69 6e 67  oblem in.finding
213f0 20 74 68 65 20 6c 69 62 72 61 72 79 20 66 69 6c   the library fil
21400 65 73 20 77 68 65 6e 20 74 68 65 79 20 61 72 65  es when they are
21410 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 61 20   installed in a 
21420 64 69 72 65 63 74 6f 72 79 0a 63 6f 6e 74 61 69  directory.contai
21430 6e 69 6e 67 20 61 20 73 70 61 63 65 20 69 6e 20  ning a space in 
21440 74 68 65 20 6e 61 6d 65 2e 20 28 53 53 29 0a 0a  the name. (SS)..
21450 36 2f 32 2f 39 37 20 28 62 75 67 20 66 69 78 29  6/2/97 (bug fix)
21460 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 55 6e   Fixed bug in Un
21470 69 78 20 6e 6f 74 69 66 69 65 72 20 77 68 65 72  ix notifier wher
21480 65 20 74 68 65 20 73 65 6c 65 63 74 20 6d 61 73  e the select mas
21490 6b 20 77 61 73 0a 6e 6f 74 20 62 65 69 6e 67 20  k was.not being 
214a0 63 6c 65 61 72 65 64 20 75 6e 64 65 72 20 73 6f  cleared under so
214b0 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73  me circumstances
214c0 2e 20 28 53 53 29 0a 0a 36 2f 34 2f 39 37 20 28  . (SS)..6/4/97 (
214d0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
214e0 75 67 20 74 68 61 74 20 70 72 65 76 65 6e 74 65  ug that prevente
214f0 64 20 63 72 65 61 74 69 6f 6e 20 6f 66 20 54 6b  d creation of Tk
21500 20 77 69 64 67 65 74 73 20 69 6e 0a 6e 61 6d 65   widgets in.name
21510 73 70 61 63 65 73 2e 20 54 63 6c 5f 43 72 65 61  spaces. Tcl_Crea
21520 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64 20 61 6e 64  teObjCommand and
21530 20 54 63 6c 5f 43 72 65 61 74 65 43 6f 6d 6d 61   Tcl_CreateComma
21540 6e 64 20 6e 6f 77 20 61 6c 77 61 79 73 20 63 72  nd now always cr
21550 65 61 74 65 0a 63 6f 6d 6d 61 6e 64 73 20 69 6e  eate.commands in
21560 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65   the global name
21570 73 70 61 63 65 20 75 6e 6c 65 73 73 20 74 68 65  space unless the
21580 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 20 61   command names a
21590 72 65 20 71 75 61 6c 69 66 69 65 64 2e 20 54 63  re qualified. Tc
215a0 6c 0a 70 72 6f 63 65 64 75 72 65 73 20 63 6f 6e  l.procedures con
215b0 74 69 6e 75 65 20 74 6f 20 62 65 20 63 72 65 61  tinue to be crea
215c0 74 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65  ted in the curre
215d0 6e 74 20 6e 61 6d 65 73 70 61 63 65 20 62 79 20  nt namespace by 
215e0 64 65 66 61 75 6c 74 2e 20 28 42 4c 29 0a 0a 36  default. (BL)..6
215f0 2f 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  /6/97 (new featu
21600 72 65 73 29 20 41 64 64 65 64 20 6e 65 77 20 6e  res) Added new n
21610 61 6d 65 73 70 61 63 65 20 41 50 49 20 70 72 6f  amespace API pro
21620 63 65 64 75 72 65 73 0a 54 63 6c 5f 41 70 70 65  cedures.Tcl_Appe
21630 6e 64 45 78 70 6f 72 74 4c 69 73 74 20 61 6e 64  ndExportList and
21640 20 54 63 6c 5f 45 78 70 6f 72 74 20 74 6f 20 61   Tcl_Export to a
21650 6c 6c 6f 77 20 43 20 63 6f 64 65 20 74 6f 20 67  llow C code to g
21660 65 74 20 61 6e 64 20 73 65 74 20 61 0a 6e 61 6d  et and set a.nam
21670 65 73 70 61 63 65 27 73 20 65 78 70 6f 72 74 20  espace's export 
21680 6c 69 73 74 2e 20 28 42 4c 29 0a 0a 36 2f 31 31  list. (BL)..6/11
21690 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
216a0 29 20 41 64 64 65 64 20 54 63 6c 5f 43 6f 6e 63  ) Added Tcl_Conc
216b0 61 74 4f 62 6a 2e 20 54 68 69 73 20 6f 62 6a 65  atObj. This obje
216c0 63 74 2d 62 61 73 65 64 20 72 6f 75 74 69 6e 65  ct-based routine
216d0 0a 70 61 72 61 6c 6c 65 6c 73 20 74 68 65 20 73  .parallels the s
216e0 74 72 69 6e 67 2d 62 61 73 65 64 20 72 6f 75 74  tring-based rout
216f0 69 6e 65 20 54 63 6c 5f 43 6f 6e 63 61 74 2e 20  ine Tcl_Concat. 
21700 28 53 52 50 29 0a 0a 36 2f 31 31 2f 39 37 20 28  (SRP)..6/11/97 (
21710 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
21720 65 64 20 54 63 6c 5f 53 65 74 4f 62 6a 45 72 72  ed Tcl_SetObjErr
21730 6f 72 43 6f 64 65 2e 20 54 68 69 73 20 6f 62 6a  orCode. This obj
21740 65 63 74 2d 62 61 73 65 64 0a 72 6f 75 74 69 6e  ect-based.routin
21750 65 73 20 70 61 72 61 6c 6c 65 6c 73 20 74 68 65  es parallels the
21760 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20 72 6f   string-based ro
21770 75 74 69 6e 65 20 54 63 6c 5f 53 65 74 45 72 72  utine Tcl_SetErr
21780 6f 72 43 6f 64 65 2e 20 28 53 52 50 29 0a 0a 36  orCode. (SRP)..6
21790 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69 78 29  /12/97 (bug fix)
217a0 20 46 69 78 20 74 68 65 20 22 75 6e 6b 6e 6f 77   Fix the "unknow
217b0 6e 22 20 70 72 6f 63 65 64 75 72 65 20 73 6f 20  n" procedure so 
217c0 74 68 61 74 20 77 69 73 68 20 75 6e 64 65 72 20  that wish under 
217d0 57 69 6e 64 6f 77 73 0a 77 69 6c 6c 20 65 78 65  Windows.will exe
217e0 63 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 72  c an external pr
217f0 6f 67 72 61 6d 2c 20 69 6e 73 74 65 61 64 20 6f  ogram, instead o
21800 66 20 61 6c 77 61 79 73 20 63 6f 6d 70 6c 61 69  f always complai
21810 6e 69 6e 67 20 22 63 6f 6e 73 6f 6c 65 31 20 6e  ning "console1 n
21820 6f 74 0a 6f 70 65 6e 65 64 20 66 6f 72 20 77 72  ot.opened for wr
21830 69 74 69 6e 67 22 2e 20 28 43 43 53 29 0a 0a 36  iting". (CCS)..6
21840 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69 78 29  /12/97 (bug fix)
21850 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70   Fixed core dump
21860 20 65 78 70 65 72 69 65 6e 63 65 64 20 62 79 20   experienced by 
21870 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 69  the following si
21880 6d 70 6c 65 0a 73 63 72 69 70 74 3a 0a 09 69 6e  mple.script:..in
21890 74 65 72 70 20 63 72 65 61 74 65 20 78 0a 09 78  terp create x..x
218a0 20 61 6c 69 61 73 20 65 78 65 63 20 65 78 65 63   alias exec exec
218b0 0a 09 69 6e 74 65 72 70 20 64 65 6c 65 74 65 20  ..interp delete 
218c0 78 0a 54 68 69 73 20 70 61 6e 69 63 20 77 61 73  x.This panic was
218d0 20 63 61 75 73 65 64 20 62 79 20 6e 6f 74 20 69   caused by not i
218e0 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 6e 65  nstalling the ne
218f0 77 20 43 6d 64 44 65 6c 65 74 65 50 72 6f 63 20  w CmdDeleteProc 
21900 77 68 65 6e 20 65 78 65 63 0a 67 6f 74 20 72 65  when exec.got re
21910 64 65 66 69 6e 65 64 20 62 79 20 74 68 65 20 61  defined by the a
21920 6c 69 61 73 20 63 72 65 61 74 69 6f 6e 20 73 74  lias creation st
21930 65 70 2e 20 52 65 70 6f 72 74 65 64 20 62 79 20  ep. Reported by 
21940 4c 69 6e 64 73 61 79 20 4d 61 72 73 68 61 6c 20  Lindsay Marshal 
21950 28 4a 4c 29 0a 0a 36 2f 31 33 2f 39 37 20 28 6e  (JL)..6/13/97 (n
21960 65 77 20 66 65 61 74 75 72 65 73 29 20 54 63 6c  ew features) Tcl
21970 20 6f 62 6a 65 63 74 73 20 6e 65 77 6c 79 20 63   objects newly c
21980 72 65 61 74 65 64 20 62 79 20 54 63 6c 5f 4e 65  reated by Tcl_Ne
21990 77 4f 62 6a 20 6e 6f 77 20 68 61 76 65 20 61 0a  wObj now have a.
219a0 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74  string represent
219b0 61 74 69 6f 6e 20 74 68 61 74 20 70 6f 69 6e 74  ation that point
219c0 73 20 74 6f 20 61 20 73 68 61 72 65 64 20 68 65  s to a shared he
219d0 61 70 20 73 74 72 69 6e 67 20 6f 66 20 6c 65 6e  ap string of len
219e0 67 74 68 20 31 2e 20 28 54 68 65 79 0a 75 73 65  gth 1. (They.use
219f0 64 20 74 6f 20 68 61 76 65 20 4e 55 4c 4c 20 62  d to have NULL b
21a00 79 74 65 73 20 61 6e 64 20 74 79 70 65 50 74 72  ytes and typePtr
21a10 20 66 69 65 6c 64 73 2e 20 54 68 69 73 20 77 61   fields. This wa
21a20 73 20 74 72 65 61 74 65 64 20 61 73 20 61 20 73  s treated as a s
21a30 70 65 63 69 61 6c 0a 63 61 73 65 20 74 6f 20 69  pecial.case to i
21a40 6e 64 69 63 61 74 65 20 61 6e 20 65 6d 70 74 79  ndicate an empty
21a50 20 73 74 72 69 6e 67 2c 20 62 75 74 20 6d 61 64   string, but mad
21a60 65 20 74 79 70 65 20 6d 61 6e 61 67 65 72 20 69  e type manager i
21a70 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 0a 63  mplementations.c
21a80 6f 6d 70 6c 65 78 20 61 6e 64 20 65 72 72 6f 72  omplex and error
21a90 20 70 72 6f 6e 65 2e 29 20 54 68 65 20 6e 65 77   prone.) The new
21aa0 20 70 72 6f 63 65 64 75 72 65 20 54 63 6c 5f 49   procedure Tcl_I
21ab0 6e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 52  nvalidateStringR
21ac0 65 70 20 69 73 20 75 73 65 64 0a 74 6f 20 6d 61  ep is used.to ma
21ad0 72 6b 20 61 6e 20 6f 62 6a 65 63 74 27 73 20 73  rk an object's s
21ae0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61  tring representa
21af0 74 69 6f 6e 20 69 6e 76 61 6c 69 64 20 61 6e 64  tion invalid and
21b00 20 74 6f 20 66 72 65 65 20 61 6e 79 20 73 74 6f   to free any sto
21b10 72 61 67 65 0a 61 73 73 6f 63 69 61 74 65 64 20  rage.associated 
21b20 77 69 74 68 20 74 68 65 20 6f 6c 64 20 73 74 72  with the old str
21b30 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69  ing representati
21b40 6f 6e 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54  on. (BL).*** POT
21b50 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
21b60 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
21b70 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f 74 20 77  8.0b1, but not w
21b80 69 74 68 20 54 63 6c 37 2e 36 20 2a 2a 2a 0a 0a  ith Tcl7.6 ***..
21b90 36 2f 31 36 2f 39 37 20 28 62 75 67 20 66 69 78  6/16/97 (bug fix
21ba0 29 20 54 63 6c 5f 53 63 61 6e 43 6f 75 6e 74 65  ) Tcl_ScanCounte
21bb0 64 45 6c 65 6d 65 6e 74 20 63 6f 75 6c 64 20 6c  dElement could l
21bc0 65 61 76 65 20 62 72 61 63 65 73 20 75 6e 6d 61  eave braces unma
21bd0 74 63 68 65 64 0a 69 66 20 74 68 65 20 73 74 72  tched.if the str
21be0 69 6e 67 20 65 6e 64 65 64 20 77 69 74 68 20 61  ing ended with a
21bf0 20 62 61 63 6b 73 6c 61 73 68 2e 20 28 4a 4f 29   backslash. (JO)
21c00 0a 0a 36 2f 31 37 2f 39 37 20 28 62 75 67 20 66  ..6/17/97 (bug f
21c10 69 78 29 20 46 69 78 65 64 20 63 68 61 6e 6e 65  ix) Fixed channe
21c20 6c 20 65 76 65 6e 74 20 62 75 67 20 77 68 65 72  l event bug wher
21c30 65 20 72 65 61 64 61 62 6c 65 20 65 76 65 6e 74  e readable event
21c40 73 20 77 6f 75 6c 64 20 62 65 0a 6c 6f 73 74 20  s would be.lost 
21c50 64 75 72 69 6e 67 20 72 65 63 75 72 73 69 76 65  during recursive
21c60 20 65 76 65 6e 74 73 20 6c 6f 6f 70 73 20 69 66   events loops if
21c70 20 74 68 65 20 69 6e 70 75 74 20 62 75 66 66 65   the input buffe
21c80 72 73 20 63 6f 6e 74 61 69 6e 65 64 0a 64 61 74  rs contained.dat
21c90 61 2e 20 28 53 53 29 0a 0a 36 2f 31 37 2f 39 37  a. (SS)..6/17/97
21ca0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
21cb0 20 62 75 67 20 69 6e 20 57 69 6e 64 6f 77 73 20   bug in Windows 
21cc0 73 6f 63 6b 65 74 20 63 6f 64 65 20 74 68 61 74  socket code that
21cd0 20 64 69 64 6e 27 74 0a 72 65 65 6e 61 62 6c 65   didn't.reenable
21ce0 20 72 65 61 64 20 65 76 65 6e 74 73 20 69 6e 20   read events in 
21cf0 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 61  the case where a
21d00 6e 20 65 78 74 65 72 6e 61 6c 20 65 6e 74 69 74  n external entit
21d10 79 20 69 73 20 61 6c 73 6f 0a 72 65 61 64 69 6e  y is also.readin
21d20 67 20 66 72 6f 6d 20 74 68 65 20 73 6f 63 6b 65  g from the socke
21d30 74 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f 39 37  t. (SS)..6/18/97
21d40 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67   (bug fix) Chang
21d50 65 64 20 69 6e 69 74 69 61 6c 20 73 65 74 74 69  ed initial setti
21d60 6e 67 20 6f 66 20 74 68 65 20 6e 6f 74 69 66 69  ng of the notifi
21d70 65 72 20 73 65 72 76 69 63 65 20 6d 6f 64 65 0a  er service mode.
21d80 74 6f 20 54 43 4c 5f 53 45 52 56 49 43 45 5f 4e  to TCL_SERVICE_N
21d90 4f 4e 45 20 74 6f 20 61 76 6f 69 64 20 75 6e 65  ONE to avoid une
21da0 78 70 65 63 74 65 64 20 65 76 65 6e 74 20 68 61  xpected event ha
21db0 6e 64 6c 69 6e 67 20 64 75 72 69 6e 67 0a 69 6e  ndling during.in
21dc0 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e 20 28 53  itialization. (S
21dd0 53 29 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75 67  S)..6/19/97 (bug
21de0 20 66 69 78 2f 66 65 61 74 75 72 65 20 63 68 61   fix/feature cha
21df0 6e 67 65 29 20 54 68 65 20 63 6f 6d 6d 61 6e 64  nge) The command
21e00 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20 66 63 6f   callback to fco
21e10 70 79 20 69 73 20 6e 6f 77 0a 63 61 6c 6c 65 64  py is now.called
21e20 20 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f   in case of erro
21e30 72 73 20 64 75 72 69 6e 67 20 74 68 65 20 62 61  rs during the ba
21e40 63 6b 67 72 6f 75 6e 64 20 63 6f 70 79 2e 20 20  ckground copy.  
21e50 54 68 69 73 20 61 64 64 73 20 61 20 73 65 63 6f  This adds a seco
21e60 6e 64 2c 0a 6f 70 74 69 6f 6e 61 6c 20 61 72 67  nd,.optional arg
21e70 75 6d 65 6e 74 20 74 6f 20 74 68 65 20 63 61 6c  ument to the cal
21e80 6c 62 61 63 6b 20 74 68 61 74 20 69 73 20 74 68  lback that is th
21e90 65 20 65 72 72 6f 72 20 73 74 72 69 6e 67 2e 20  e error string. 
21ea0 20 54 68 65 20 63 61 6c 6c 62 61 63 6b 0a 69 6e   The callback.in
21eb0 20 63 61 73 65 20 6f 66 20 65 72 72 6f 72 73 20   case of errors 
21ec0 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 20  is required for 
21ed0 70 72 6f 70 65 72 20 63 6c 65 61 6e 75 70 20 62  proper cleanup b
21ee0 79 20 74 68 65 20 75 73 65 72 20 6f 66 20 66 63  y the user of fc
21ef0 6f 70 79 2e 20 28 42 57 29 0a 2a 2a 2a 20 50 4f  opy. (BW).*** PO
21f00 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
21f10 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
21f20 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f 74 20   8.0b1, but not 
21f30 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a  with Tcl 7.6 ***
21f40 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75 67 20 66  ..6/19/97 (bug f
21f50 69 78 29 20 46 69 78 65 64 20 61 20 70 61 6e 69  ix) Fixed a pani
21f60 63 20 64 75 65 20 74 6f 20 74 68 65 20 66 6f 6c  c due to the fol
21f70 6c 6f 77 69 6e 67 20 66 6f 75 72 20 6c 69 6e 65  lowing four line
21f80 20 73 63 72 69 70 74 3a 0a 09 69 6e 74 65 72 70   script:..interp
21f90 20 63 72 65 61 74 65 20 78 0a 09 78 20 61 6c 69   create x..x ali
21fa0 61 73 20 66 6f 6f 20 62 61 72 0a 09 78 20 65 76  as foo bar..x ev
21fb0 61 6c 20 72 65 6e 61 6d 65 20 66 6f 6f 20 62 6c  al rename foo bl
21fc0 6f 74 7a 0a 09 78 20 61 6c 69 61 73 20 66 6f 6f  otz..x alias foo
21fd0 20 7b 7d 0a 54 68 65 20 70 72 6f 62 6c 65 6d 20   {}.The problem 
21fe0 77 61 73 20 74 68 61 74 20 74 68 65 20 69 6e 74  was that the int
21ff0 65 72 70 20 63 6f 64 65 20 77 61 73 20 6e 6f 74  erp code was not
22000 20 75 73 69 6e 67 20 74 68 65 20 61 63 74 75 61   using the actua
22010 6c 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 0a 6f  l current name.o
22020 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f  f the command to
22030 20 62 65 20 64 65 6c 65 74 65 64 20 61 73 20 61   be deleted as a
22040 20 72 65 73 75 6c 74 20 6f 66 20 75 6e 2d 61 6c   result of un-al
22050 69 61 73 69 6e 67 20 66 6f 6f 2e 20 28 4a 4c 29  iasing foo. (JL)
22060 0a 0a 36 2f 31 39 2f 39 37 20 28 66 65 61 74 75  ..6/19/97 (featu
22070 72 65 20 63 68 61 6e 67 65 29 20 50 61 73 73 20  re change) Pass 
22080 69 6e 74 65 72 70 20 64 6f 77 6e 20 74 6f 20 74  interp down to t
22090 68 65 20 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e  he ChannelOption
220a0 20 61 6e 64 0a 64 72 69 76 65 72 20 73 70 65 63   and.driver spec
220b0 69 66 69 63 20 63 61 6c 6c 73 20 73 6f 20 73 79  ific calls so sy
220c0 73 74 65 6d 20 65 72 72 6f 72 73 20 63 61 6e 20  stem errors can 
220d0 62 65 20 64 69 66 66 65 72 65 6e 74 69 61 74 65  be differentiate
220e0 64 20 66 72 6f 6d 20 73 79 6e 74 61 78 0a 6f 6e  d from syntax.on
220f0 65 73 2e 20 43 68 61 6e 67 65 64 20 54 63 6c 5f  es. Changed Tcl_
22100 44 72 69 76 65 72 47 65 74 4f 70 74 69 6f 6e 50  DriverGetOptionP
22110 72 6f 63 20 74 79 70 65 2e 20 41 66 66 65 63 74  roc type. Affect
22120 73 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c  s Tcl_GetChannel
22130 4f 70 74 69 6f 6e 2c 0a 54 63 70 47 65 74 4f 70  Option,.TcpGetOp
22140 74 69 6f 6e 50 72 6f 63 2c 20 20 54 74 79 47 65  tionProc,  TtyGe
22150 74 4f 70 74 69 6f 6e 50 72 6f 63 2c 20 65 74 63  tOptionProc, etc
22160 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e  . (DL).*** POTEN
22170 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
22180 4c 49 54 59 20 2a 2a 2a 0a 0a 36 2f 31 39 2f 39  LITY ***..6/19/9
22190 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  7 (new feature) 
221a0 41 64 64 65 64 20 54 63 6c 5f 42 61 64 43 68 61  Added Tcl_BadCha
221b0 6e 6e 65 6c 4f 70 74 69 6f 6e 20 66 6f 72 20 75  nnelOption for u
221c0 73 65 20 62 79 20 62 79 20 64 72 69 76 65 72 0a  se by by driver.
221d0 73 70 65 63 69 66 69 63 20 6f 70 74 69 6f 6e 20  specific option 
221e0 70 72 6f 63 65 64 75 72 65 73 20 28 53 65 74 20  procedures (Set 
221f0 61 6e 64 20 47 65 74 29 20 74 6f 20 72 65 74 75  and Get) to retu
22200 72 6e 20 61 20 63 6f 6d 70 6c 65 74 65 20 61 6e  rn a complete an
22210 64 0a 6d 65 61 6e 69 6e 67 66 75 6c 20 65 72 72  d.meaningful err
22220 6f 72 20 6d 65 73 73 61 67 65 2e 20 28 44 4c 29  or message. (DL)
22230 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75 67 20 66  ..6/19/97 (bug f
22240 69 78 65 73 29 20 49 66 20 61 20 73 79 73 74 65  ixes) If a syste
22250 6d 20 63 61 6c 6c 20 65 72 72 6f 72 20 6f 63 63  m call error occ
22260 75 72 73 20 77 68 69 6c 65 20 64 6f 69 6e 67 20  urs while doing 
22270 61 6e 0a 66 63 6f 6e 66 69 67 75 72 65 20 6f 6e  an.fconfigure on
22280 20 74 63 70 20 6f 72 20 74 74 79 2f 63 6f 6d 20   tcp or tty/com 
22290 63 68 61 6e 6e 65 6c 3a 20 72 65 74 75 72 6e 20  channel: return 
222a0 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20  the appropriate 
222b0 65 72 72 6f 72 0a 6d 65 73 73 61 67 65 20 28 69  error.message (i
222c0 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 73 79  nstead of the sy
222d0 6e 74 61 78 20 65 72 72 6f 72 20 6f 6e 65 20 6f  ntax error one o
222e0 72 20 6e 6f 6e 65 29 2e 20 28 46 69 78 65 64 20  r none). (Fixed 
222f0 66 6f 72 20 55 6e 69 78 20 61 6e 64 0a 6d 6f 73  for Unix and.mos
22300 74 20 6f 66 20 74 68 65 20 57 69 6e 20 61 6e 64  t of the Win and
22310 20 4d 61 63 20 64 72 69 76 65 72 73 29 2e 20 28   Mac drivers). (
22320 44 4c 29 0a 0a 36 2f 32 30 2f 39 37 20 28 66 65  DL)..6/20/97 (fe
22330 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 45 76  ature change) Ev
22340 61 6c 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20  al is no longer 
22350 61 73 73 75 6d 65 64 20 61 73 20 74 68 65 20 73  assumed as the s
22360 75 62 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 0a 69  ubcommand name.i
22370 6e 20 6e 61 6d 65 73 70 61 63 65 20 63 6f 6d 6d  n namespace comm
22380 61 6e 64 73 3a 20 79 6f 75 20 6d 75 73 74 20 6e  ands: you must n
22390 6f 77 20 77 72 69 74 65 20 22 6e 61 6d 65 73 70  ow write "namesp
223a0 61 63 65 20 65 76 61 6c 20 6e 73 4e 61 6d 65 20  ace eval nsName 
223b0 7b 2e 2e 2e 7d 22 2e 0a 41 62 62 72 65 76 69 61  {...}"..Abbrevia
223c0 74 69 6f 6e 73 20 6f 66 20 6e 61 6d 65 73 70 61  tions of namespa
223d0 63 65 20 73 75 62 63 6f 6d 6d 61 6e 64 20 6e 61  ce subcommand na
223e0 6d 65 73 20 61 72 65 20 6e 6f 77 20 61 6c 6c 6f  mes are now allo
223f0 77 65 64 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f  wed. (BL).*** PO
22400 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
22410 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
22420 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f 74 20   8.0b1, but not 
22430 77 69 74 68 20 54 63 6c 37 2e 36 20 2a 2a 2a 0a  with Tcl7.6 ***.
22440 0a 36 2f 32 30 2f 39 37 20 28 66 65 61 74 75 72  .6/20/97 (featur
22450 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65  e change) Change
22460 64 20 74 68 65 20 65 72 72 6f 72 49 6e 66 6f 20  d the errorInfo 
22470 74 72 61 63 65 62 61 63 6b 20 6d 65 73 73 61 67  traceback messag
22480 65 20 66 6f 72 0a 63 6f 6d 70 69 6c 61 74 69 6f  e for.compilatio
22490 6e 20 65 72 72 6f 72 73 20 66 72 6f 6d 20 22 69  n errors from "i
224a0 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77 69 74 68  nvoked from with
224b0 69 6e 22 20 74 6f 20 22 77 68 69 6c 65 20 63 6f  in" to "while co
224c0 6d 70 69 6c 69 6e 67 22 2e 20 28 42 4c 29 0a 0a  mpiling". (BL)..
224d0 36 2f 32 30 2f 39 37 20 28 62 75 67 20 66 69 78  6/20/97 (bug fix
224e0 65 73 29 20 46 69 78 65 64 20 76 61 72 69 6f 75  es) Fixed variou
224f0 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65  s compilation-re
22500 6c 61 74 65 64 20 62 75 67 73 3a 0a 20 20 20 20  lated bugs:.    
22510 2d 20 22 55 70 64 61 74 65 53 74 72 69 6e 67 4f  - "UpdateStringO
22520 66 43 6d 64 4e 61 6d 65 20 73 68 6f 75 6c 64 20  fCmdName should 
22530 6e 65 76 65 72 20 62 65 20 63 61 6c 6c 65 64 22  never be called"
22540 20 61 6e 64 0a 20 20 20 20 20 20 22 55 70 64 61   and.      "Upda
22550 74 65 53 74 72 69 6e 67 4f 66 42 79 74 65 43 6f  teStringOfByteCo
22560 64 65 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20  de should never 
22570 62 65 20 63 61 6c 6c 65 64 22 20 70 61 6e 69 63  be called" panic
22580 73 2e 0a 20 20 20 20 2d 20 53 65 67 66 61 75 6c  s..    - Segfaul
22590 74 20 69 6e 20 54 63 6c 4f 62 6a 49 6e 74 65 72  t in TclObjInter
225a0 70 50 72 6f 63 20 67 65 74 74 69 6e 67 20 70 72  pProc getting pr
225b0 6f 63 65 64 75 72 65 20 6e 61 6d 65 20 61 66 74  ocedure name aft
225c0 65 72 20 65 76 61 6c 75 61 74 69 6f 6e 0a 20 20  er evaluation.  
225d0 20 20 20 20 73 74 61 63 6b 20 69 73 20 72 65 61      stack is rea
225e0 6c 6c 6f 63 61 74 65 64 20 28 67 72 6f 77 6e 29  llocated (grown)
225f0 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64 20 6e 6f  ..    - Could no
22600 74 20 75 73 65 20 22 3a 22 20 61 74 20 65 6e 64  t use ":" at end
22610 20 6f 66 20 76 61 72 69 61 62 6c 65 20 61 6e 64   of variable and
22620 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 73 2e 0a   command names..
22630 20 20 20 20 2d 20 42 61 64 20 63 6f 64 65 20 67      - Bad code g
22640 65 6e 65 72 61 74 65 64 20 66 6f 72 20 77 68 69  enerated for whi
22650 6c 65 20 61 6e 64 20 66 6f 72 20 63 6f 6d 6d 61  le and for comma
22660 6e 64 73 20 77 69 74 68 20 74 65 73 74 20 65 78  nds with test ex
22670 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20  pressions.      
22680 65 6e 63 6c 6f 73 65 64 20 69 6e 20 71 75 6f 74  enclosed in quot
22690 65 73 3a 20 65 2e 67 2e 2c 20 22 73 65 74 20 69  es: e.g., "set i
226a0 20 30 3b 20 77 68 69 6c 65 20 22 24 69 20 3e 20   0; while "$i > 
226b0 35 22 20 7b 7d 22 2e 0a 20 20 20 20 2d 20 43 6f  5" {}"..    - Co
226c0 6d 6d 61 6e 64 20 74 72 61 63 65 20 70 72 6f 63  mmand trace proc
226d0 65 64 75 72 65 73 20 77 6f 75 6c 64 20 63 72 61  edures would cra
226e0 73 68 20 69 66 20 74 68 65 79 20 64 69 64 20 61  sh if they did a
226f0 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 20 74 68 61   Tcl_EvalObj tha
22700 74 0a 20 20 20 20 20 20 72 65 61 6c 6c 6f 63 61  t.      realloca
22710 74 65 64 20 74 68 65 20 65 76 61 6c 75 61 74 69  ted the evaluati
22720 6f 6e 20 73 74 61 63 6b 2e 0a 20 20 20 20 2d 20  on stack..    - 
22730 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e  Break and contin
22740 75 65 20 63 6f 6d 6d 61 6e 64 73 20 64 69 64 20  ue commands did 
22750 6e 6f 74 20 72 65 73 65 74 20 74 68 65 20 69 6e  not reset the in
22760 74 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74  terpreter result
22770 2e 0a 20 20 20 20 2d 20 54 68 65 20 54 63 6c 5f  ..    - The Tcl_
22780 45 78 70 72 58 58 58 20 72 6f 75 74 69 6e 65 73  ExprXXX routines
22790 2c 20 62 6f 74 68 20 73 74 72 69 6e 67 2d 20 6f  , both string- o
227a0 72 20 6f 62 6a 65 63 74 2d 62 61 73 65 64 2c 20  r object-based, 
227b0 61 6c 77 61 79 73 0a 20 20 20 20 20 20 6d 6f 64  always.      mod
227c0 69 66 69 65 64 20 74 68 65 20 69 6e 74 65 72 70  ified the interp
227d0 72 65 74 65 72 20 72 65 73 75 6c 74 20 65 76 65  reter result eve
227e0 6e 20 69 66 20 74 68 65 72 65 20 77 61 73 20 6e  n if there was n
227f0 6f 20 65 72 72 6f 72 2e 0a 20 20 20 20 2d 20 54  o error..    - T
22800 68 65 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73  he argument pars
22810 69 6e 67 20 70 72 6f 63 65 64 75 72 65 20 75 73  ing procedure us
22820 65 64 20 62 79 20 73 65 76 65 72 61 6c 20 63 6f  ed by several co
22830 6d 70 69 6c 65 20 70 72 6f 63 65 64 75 72 65 73  mpile procedures
22840 0a 20 20 20 20 20 20 61 6c 77 61 79 73 20 74 72  .      always tr
22850 65 61 74 65 64 20 22 5d 22 20 61 73 20 65 6e 64  eated "]" as end
22860 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 3a 20 65   of a command: e
22870 2e 67 2e 2c 20 22 73 65 74 20 61 20 5d 22 20 77  .g., "set a ]" w
22880 6f 75 6c 64 20 66 61 69 6c 2e 0a 20 20 20 20 2d  ould fail..    -
22890 20 43 68 61 6e 67 65 64 20 65 72 72 6f 72 49 6e   Changed errorIn
228a0 66 6f 20 74 72 61 63 65 62 61 63 6b 20 6d 65 73  fo traceback mes
228b0 73 61 67 65 20 66 6f 72 20 63 6f 6d 70 69 6c 61  sage for compila
228c0 74 69 6f 6e 20 65 72 72 6f 72 73 20 66 72 6f 6d  tion errors from
228d0 20 0a 20 20 20 20 20 20 22 69 6e 76 6f 6b 65 64   .      "invoked
228e0 20 66 72 6f 6d 20 77 69 74 68 69 6e 22 20 74 6f   from within" to
228f0 20 22 77 68 69 6c 65 20 63 6f 6d 70 69 6c 69 6e   "while compilin
22900 67 22 2e 0a 20 20 20 20 2d 20 50 72 6f 62 6c 65  g"..    - Proble
22910 6d 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 54  m initializing T
22920 63 6c 20 6f 62 6a 65 63 74 20 6d 61 6e 61 67 65  cl object manage
22930 72 73 20 64 75 72 69 6e 67 20 69 6e 74 65 72 70  rs during interp
22940 72 65 74 65 72 20 63 72 65 61 74 69 6f 6e 2e 0a  reter creation..
22950 20 20 20 20 2d 20 41 64 64 65 64 20 63 68 65 63      - Added chec
22960 6b 20 61 6e 64 20 65 72 72 6f 72 20 6d 65 73 73  k and error mess
22970 61 67 65 20 69 66 20 66 6f 72 6d 61 6c 20 70 61  age if formal pa
22980 72 61 6d 65 74 65 72 20 74 6f 20 61 20 70 72 6f  rameter to a pro
22990 63 65 64 75 72 65 20 69 73 0a 20 20 20 20 20 20  cedure is.      
229a0 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74  an array element
229b0 2e 20 28 42 4c 29 0a 0a 36 2f 32 33 2f 39 37 20  . (BL)..6/23/97 
229c0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
229d0 64 65 64 20 22 72 65 67 69 73 74 72 79 22 20 70  ded "registry" p
229e0 61 63 6b 61 67 65 20 74 6f 20 61 6c 6c 6f 77 20  ackage to allow 
229f0 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 0a 6f 66 20  manipulation.of 
22a00 74 68 65 20 57 69 6e 64 6f 77 73 20 73 79 73 74  the Windows syst
22a10 65 6d 20 72 65 67 69 73 74 72 79 2e 20 20 53 65  em registry.  Se
22a20 65 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20 66  e manual entry f
22a30 6f 72 20 64 65 74 61 69 6c 73 2e 20 28 53 53 29  or details. (SS)
22a40 0a 0a 36 2f 32 34 2f 39 37 20 28 66 65 61 74 75  ..6/24/97 (featu
22a50 72 65 20 63 68 61 6e 67 65 29 20 43 6f 6e 76 65  re change) Conve
22a60 72 74 65 64 20 68 74 74 70 20 74 6f 20 61 20 70  rted http to a p
22a70 61 63 6b 61 67 65 20 61 6e 64 20 61 64 64 65 64  ackage and added
22a80 20 74 68 65 0a 68 74 74 70 31 2e 30 20 73 75 62   the.http1.0 sub
22a90 64 69 72 65 63 74 6f 72 79 20 6f 66 20 74 68 65  directory of the
22aa0 20 54 63 6c 20 73 63 72 69 70 74 20 6c 69 62 72   Tcl script libr
22ab0 61 72 79 2e 20 20 54 68 69 73 20 6d 65 61 6e 73  ary.  This means
22ac0 20 79 6f 75 20 68 61 76 65 0a 74 6f 20 64 6f 20   you have.to do 
22ad0 61 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69  a "package requi
22ae0 72 65 20 68 74 74 70 22 20 74 6f 20 75 73 65 20  re http" to use 
22af0 74 68 69 73 2c 20 61 73 20 61 64 76 65 72 74 69  this, as adverti
22b00 73 65 64 20 69 6e 20 74 68 65 20 6d 61 6e 20 70  sed in the man p
22b10 61 67 65 2e 20 28 42 57 29 0a 2a 2a 2a 20 50 4f  age. (BW).*** PO
22b20 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
22b30 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
22b40 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f 74 20   8.0b1, but not 
22b50 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a  with Tcl 7.6 ***
22b60 0a 0a 36 2f 32 34 2f 39 37 20 28 62 75 67 20 66  ..6/24/97 (bug f
22b70 69 78 29 20 45 6e 73 75 72 65 20 74 68 61 74 20  ix) Ensure that 
22b80 54 63 6c 5f 53 65 74 2f 47 65 74 56 61 72 20 43  Tcl_Set/GetVar C
22b90 20 41 50 49 73 2c 20 77 68 65 6e 20 63 61 6c 6c   APIs, when call
22ba0 65 64 20 77 69 74 68 6f 75 74 0a 54 43 4c 5f 4c  ed without.TCL_L
22bb0 45 41 56 45 5f 45 52 52 5f 4d 53 47 2c 20 64 6f  EAVE_ERR_MSG, do
22bc0 6e 27 74 20 74 6f 75 63 68 20 74 68 65 20 69 6e  n't touch the in
22bd0 74 65 72 70 20 72 65 73 75 6c 74 2e 20 28 44 4c  terp result. (DL
22be0 29 0a 0a 36 2f 32 36 2f 39 37 20 28 66 65 61 74  )..6/26/97 (feat
22bf0 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
22c00 67 65 64 20 6e 61 6d 65 20 6f 66 20 54 63 6c 5f  ged name of Tcl_
22c10 45 78 70 72 53 74 72 69 6e 67 4f 62 6a 20 74 6f  ExprStringObj to
22c20 0a 54 63 6c 5f 45 78 70 72 4f 62 6a 2e 20 28 42  .Tcl_ExprObj. (B
22c30 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  L).*** POTENTIAL
22c40 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
22c50 20 77 69 74 68 20 54 63 6c 20 38 2e 30 62 31 2c   with Tcl 8.0b1,
22c60 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54 63   but not with Tc
22c70 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d  l 7.6 ***..-----
22c80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
22c90 65 61 73 65 64 20 38 2e 30 62 32 2c 20 36 2f 33  eased 8.0b2, 6/3
22ca0 30 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  0/97 -----------
22cb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 37 2f  ------------..7/
22cc0 31 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  1/97 (new featur
22cd0 65 29 20 54 43 4c 5f 42 55 49 4c 44 5f 53 48 41  e) TCL_BUILD_SHA
22ce0 52 45 44 20 66 6c 61 67 20 73 65 74 20 69 6e 20  RED flag set in 
22cf0 74 63 6c 43 6f 6e 66 69 67 2e 73 68 0a 77 68 65  tclConfig.sh.whe
22d00 6e 20 54 63 6c 20 68 61 73 20 62 65 65 6e 20 62  n Tcl has been b
22d10 75 69 6c 74 20 77 69 74 68 20 2d 2d 65 6e 61 62  uilt with --enab
22d20 6c 65 2d 73 68 61 72 65 64 2e 20 41 20 6e 65 77  le-shared. A new
22d30 20 74 63 6c 4c 69 62 4f 62 6a 73 0a 6d 61 6b 65   tclLibObjs.make
22d40 20 74 61 72 67 65 74 2c 20 65 63 68 6f 69 6e 67   target, echoing
22d50 20 74 68 65 20 6c 69 73 74 20 6f 66 20 74 68 65   the list of the
22d60 20 2e 6f 27 73 20 6e 65 65 64 65 64 20 74 6f 20   .o's needed to 
22d70 62 75 69 6c 64 20 61 20 74 63 6c 0a 6c 69 62 72  build a tcl.libr
22d80 61 72 79 2c 20 69 73 20 6e 6f 77 20 70 72 6f 76  ary, is now prov
22d90 69 64 65 64 2e 20 28 44 4c 29 0a 0a 37 2f 31 2f  ided. (DL)..7/1/
22da0 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
22db0 67 65 29 20 63 6f 6d 70 61 74 2f 67 65 74 63 77  ge) compat/getcw
22dc0 64 2e 63 20 72 65 6d 6f 76 65 64 20 61 6e 64 20  d.c removed and 
22dd0 63 68 61 6e 67 65 64 20 74 68 65 0a 6f 6e 6c 79  changed the.only
22de0 20 70 6c 61 63 65 20 77 68 65 72 65 20 67 65 74   place where get
22df0 63 77 64 20 69 73 20 75 73 65 64 20 73 6f 20 61  cwd is used so a
22e00 20 6e 65 77 20 55 53 45 47 45 54 57 44 20 66 6c   new USEGETWD fl
22e10 61 67 20 73 65 6c 65 63 74 73 0a 74 68 65 20 75  ag selects.the u
22e20 73 65 20 6f 66 20 74 68 65 20 72 65 70 6c 61 63  se of the replac
22e30 65 6d 65 6e 74 20 22 67 65 74 77 64 22 2e 20 41  ement "getwd". A
22e40 64 64 69 6e 67 20 74 68 69 73 20 66 6c 61 67 20  dding this flag 
22e50 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 0a 66  is recommended.f
22e60 6f 72 20 53 75 6e 4f 53 20 34 20 28 62 65 63 61  or SunOS 4 (beca
22e70 75 73 65 20 67 65 74 63 77 64 20 6f 6e 20 53 75  use getcwd on Su
22e80 6e 4f 53 20 34 20 75 73 65 73 20 61 20 70 69 70  nOS 4 uses a pip
22e90 65 20 74 6f 20 70 77 64 28 31 29 21 29 2e 20 28  e to pwd(1)!). (
22ea0 44 4c 29 0a 0a 37 2f 37 2f 39 37 20 28 66 65 61  DL)..7/7/97 (fea
22eb0 74 75 72 65 20 63 68 61 6e 67 65 29 20 54 68 65  ture change) The
22ec0 20 73 70 6c 69 74 20 63 6f 6d 6d 61 6e 64 20 6e   split command n
22ed0 6f 77 20 73 75 70 70 6f 72 74 73 20 62 69 6e 61  ow supports bina
22ee0 72 79 20 64 61 74 61 20 28 69 2e 65 2e 2c 0a 6e  ry data (i.e.,.n
22ef0 75 6c 6c 20 63 68 61 72 61 63 74 65 72 73 20 69  ull characters i
22f00 6e 20 73 74 72 69 6e 67 73 29 2e 20 28 42 4c 29  n strings). (BL)
22f10 0a 0a 37 2f 37 2f 39 37 20 28 62 75 67 20 66 69  ..7/7/97 (bug fi
22f20 78 29 20 73 74 72 69 6e 67 20 66 69 72 73 74 20  x) string first 
22f30 72 65 74 75 72 6e 65 64 20 74 68 65 20 77 72 6f  returned the wro
22f40 6e 67 20 72 65 73 75 6c 74 20 69 66 20 74 68 65  ng result if the
22f50 20 66 69 72 73 74 0a 61 72 67 75 6d 65 6e 74 20   first.argument 
22f60 73 74 72 69 6e 67 20 77 61 73 20 65 6d 70 74 79  string was empty
22f70 2e 20 28 42 4c 29 0a 0a 37 2f 38 2f 39 37 20 28  . (BL)..7/8/97 (
22f80 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63  bug fix) Fixed c
22f90 6f 72 65 20 64 75 6d 70 20 69 6e 20 66 63 6f 70  ore dump in fcop
22fa0 79 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63  y that could occ
22fb0 75 72 20 77 68 65 6e 20 61 20 63 6f 6d 6d 61 6e  ur when a comman
22fc0 64 0a 63 61 6c 6c 62 61 63 6b 20 77 61 73 20 73  d.callback was s
22fd0 75 70 70 6c 69 65 64 20 61 6e 64 20 61 6e 20 65  upplied and an e
22fe0 72 72 6f 72 20 6f 72 20 65 6f 66 20 63 6f 6e 64  rror or eof cond
22ff0 69 74 69 6f 6e 20 63 61 75 73 65 64 20 6e 6f 20  ition caused no 
23000 62 61 63 6b 67 72 6f 75 6e 64 0a 61 63 74 69 76  background.activ
23010 69 74 79 2e 20 20 41 20 72 65 66 63 6f 75 6e 74  ity.  A refcount
23020 20 62 75 67 20 74 72 69 67 67 65 72 65 64 20 61   bug triggered a
23030 20 70 61 6e 69 63 20 69 6e 20 54 63 6c 5f 4c 69   panic in Tcl_Li
23040 73 74 4f 62 6a 41 70 70 65 6e 64 45 6c 65 6d 65  stObjAppendEleme
23050 6e 74 2e 20 28 42 57 29 0a 0a 37 2f 38 2f 39 37  nt. (BW)..7/8/97
23060 20 28 62 75 67 20 66 69 78 29 20 52 65 6c 61 78   (bug fix) Relax
23070 65 64 20 74 68 65 20 70 61 74 74 65 72 6e 20 6d  ed the pattern m
23080 61 74 63 68 69 6e 67 20 6f 6e 20 68 74 74 70 5f  atching on http_
23090 67 65 74 20 73 6f 20 79 6f 75 20 64 6f 20 6e 6f  get so you do no
230a0 74 0a 6e 65 65 64 20 61 20 74 72 61 69 6c 69 6e  t.need a trailin
230b0 67 20 70 61 74 68 20 63 6f 6d 70 6f 6e 65 6e 74  g path component
230c0 2e 20 20 59 6f 75 20 63 61 6e 20 6e 6f 77 20 67  .  You can now g
230d0 65 74 20 61 77 61 79 20 77 69 74 68 20 6a 75 73  et away with jus
230e0 74 0a 68 74 74 70 5f 67 65 74 20 77 77 77 2e 73  t.http_get www.s
230f0 63 72 69 70 74 69 63 73 2e 63 6f 6d 09 09 09 09  criptics.com....
23100 09 28 42 57 29 0a 0a 37 2f 39 2f 39 37 20 28 62  .(BW)..7/9/97 (b
23110 75 67 20 66 69 78 29 20 43 72 65 61 74 69 6e 67  ug fix) Creating
23120 20 61 6e 6f 6e 79 6d 6f 75 73 20 69 6e 74 65 72   anonymous inter
23130 70 72 65 74 65 72 73 20 6e 6f 20 6c 6f 6e 67 65  preters no longe
23140 72 20 73 6d 61 73 68 65 73 20 65 78 69 73 74 69  r smashes existi
23150 6e 67 0a 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68  ng.commands with
23160 20 6e 61 6d 65 73 20 73 69 6d 69 6c 61 72 20 74   names similar t
23170 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20  o the generated 
23180 6e 61 6d 65 2e 20 50 72 65 76 69 6f 75 73 6c 79  name. Previously
23190 20 63 72 65 61 74 69 6e 67 20 61 6e 0a 61 6e 6f   creating an.ano
231a0 6e 79 6d 6f 75 73 20 69 6e 74 65 72 70 72 65 74  nymous interpret
231b0 65 72 20 63 6f 75 6c 64 20 73 6d 61 73 68 20 61  er could smash a
231c0 6e 20 65 78 69 73 74 69 6e 67 20 63 6f 6d 6d 61  n existing comma
231d0 6e 64 2c 20 6e 6f 77 20 69 74 20 73 6b 69 70 73  nd, now it skips
231e0 20 75 6e 74 69 6c 0a 69 74 20 66 69 6e 64 73 20   until.it finds 
231f0 61 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 74  a command name t
23200 68 61 74 20 69 73 6e 27 74 20 62 65 69 6e 67 20  hat isn't being 
23210 75 73 65 64 2e 20 28 4a 4c 29 0a 0a 37 2f 39 2f  used. (JL)..7/9/
23220 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
23230 67 65 29 20 52 65 6d 6f 76 65 64 20 74 68 65 20  ge) Removed the 
23240 70 6f 6c 69 63 79 20 6d 61 6e 61 67 65 6d 65 6e  policy managemen
23250 74 20 6d 65 63 68 61 6e 69 73 6d 20 66 72 6f 6d  t mechanism from
23260 20 74 68 65 0a 53 61 66 65 20 42 61 73 65 3b 20   the.Safe Base; 
23270 6c 65 66 74 20 74 68 65 20 61 6c 69 61 73 65 73  left the aliases
23280 20 74 6f 20 73 6f 75 72 63 65 20 61 6e 64 20 6c   to source and l
23290 6f 61 64 20 6d 6f 64 75 6c 65 73 2c 20 61 6e 64  oad modules, and
232a0 20 74 6f 20 64 6f 20 61 20 6c 69 6d 69 74 65 64   to do a limited
232b0 0a 66 6f 72 6d 20 6f 66 20 74 68 65 20 22 66 69  .form of the "fi
232c0 6c 65 22 20 63 6f 6d 6d 61 6e 64 2e 20 53 65 65  le" command. See
232d0 20 65 6e 74 72 79 20 6f 66 20 31 31 2f 31 35 2f   entry of 11/15/
232e0 39 36 2e 20 28 4a 4c 29 0a 0a 37 2f 39 2f 39 37  96. (JL)..7/9/97
232f0 20 28 62 75 67 20 66 69 78 65 73 29 20 46 69 78   (bug fixes) Fix
23300 65 64 20 76 61 72 69 6f 75 73 20 63 6f 6d 70 69  ed various compi
23310 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64 20 62  lation-related b
23320 75 67 73 3a 0a 20 20 20 20 2d 20 4c 69 6e 65 20  ugs:.    - Line 
23330 6e 75 6d 62 65 72 73 20 69 6e 20 65 72 72 6f 72  numbers in error
23340 49 6e 66 6f 20 6e 6f 77 20 61 72 65 20 74 68 65  Info now are the
23350 20 73 61 6d 65 20 61 73 20 74 68 6f 73 65 20 69   same as those i
23360 6e 20 54 63 6c 37 2e 36 20 75 6e 6c 65 73 73 0a  n Tcl7.6 unless.
23370 74 68 65 72 65 20 61 72 65 20 63 6f 6d 70 69 6c  there are compil
23380 61 74 69 6f 6e 20 65 72 72 6f 72 73 2e 20 43 6f  ation errors. Co
23390 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 20  mpilation error 
233a0 6d 65 73 73 61 67 65 73 20 6e 6f 77 20 69 6e 63  messages now inc
233b0 6c 75 64 65 20 74 68 65 0a 65 6e 74 69 72 65 20  lude the.entire 
233c0 63 6f 6d 6d 61 6e 64 20 69 6e 20 65 72 72 6f 72  command in error
233d0 2e 0a 20 20 20 20 2d 20 54 72 61 69 6c 69 6e 67  ..    - Trailing
233e0 20 3a 3a 73 20 61 66 74 65 72 20 6e 61 6d 65 73   ::s after names
233f0 70 61 63 65 20 6e 61 6d 65 73 20 77 65 72 65 6e  pace names weren
23400 27 74 20 62 65 69 6e 67 20 69 67 6e 6f 72 65 64  't being ignored
23410 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64 20 6e 6f  ..    - Could no
23420 74 20 72 65 66 65 72 20 74 6f 20 61 6e 20 6e 61  t refer to an na
23430 6d 65 73 70 61 63 65 20 76 61 72 69 61 62 6c 65  mespace variable
23440 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 6e   with an empty n
23450 61 6d 65 20 75 73 69 6e 67 20 61 0a 6e 61 6d 65  ame using a.name
23460 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 22 6e 3a   of the form "n:
23470 3a 22 2e 20 28 42 4c 29 0a 0a 37 2f 39 2f 39 37  :". (BL)..7/9/97
23480 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
23490 20 62 75 67 20 69 6e 20 54 63 6c 5f 45 78 70 6f   bug in Tcl_Expo
234a0 72 74 20 74 68 61 74 20 70 72 65 76 65 6e 74 65  rt that prevente
234b0 64 20 79 6f 75 20 66 72 6f 6d 20 65 78 70 6f 72  d you from expor
234c0 74 69 6e 67 0a 66 72 6f 6d 20 6f 74 68 65 72 20  ting.from other 
234d0 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74  than the current
234e0 20 6e 61 6d 65 73 70 61 63 65 2e 20 28 42 4c 29   namespace. (BL)
234f0 0a 0a 37 2f 39 2f 39 37 20 28 62 75 67 20 66 69  ..7/9/97 (bug fi
23500 78 29 20 65 6e 76 2e 74 65 73 74 20 77 61 73 20  x) env.test was 
23510 72 65 6d 6f 76 69 6e 67 20 65 6e 76 20 76 61 72  removing env var
23520 20 6e 65 65 64 65 64 20 66 6f 72 20 70 72 6f 70   needed for prop
23530 65 72 20 66 69 6e 64 69 6e 67 0a 6f 66 20 6c 69  er finding.of li
23540 62 72 61 72 69 65 73 20 69 6e 20 63 68 69 6c 64  braries in child
23550 20 70 72 6f 63 65 73 73 2e 20 28 44 4c 29 0a 0a   process. (DL)..
23560 37 2f 31 30 2f 39 37 20 28 62 75 67 20 66 69 78  7/10/97 (bug fix
23570 65 73 2f 6e 65 77 20 66 65 61 74 75 72 65 29 20  es/new feature) 
23580 43 6c 65 61 6e 75 70 20 69 6e 20 54 63 6c 5f 4d  Cleanup in Tcl_M
23590 61 6b 65 53 61 66 65 2e 20 4c 65 73 73 20 69 6e  akeSafe. Less in
235a0 66 6f 72 6d 61 74 69 6f 6e 0a 69 73 20 6c 65 61  formation.is lea
235b0 6b 65 64 20 74 6f 20 73 61 66 65 20 69 6e 74 65  ked to safe inte
235c0 72 70 73 2e 20 45 72 72 6f 72 20 6d 65 73 73 61  rps. Error messa
235d0 67 65 20 66 69 78 65 73 20 66 6f 72 20 69 6e 74  ge fixes for int
235e0 65 72 70 20 73 75 62 20 63 6f 6d 6d 61 6e 64 73  erp sub commands
235f0 2e 0a 4c 69 6b 65 77 69 73 65 20 63 68 61 6e 67  ..Likewise chang
23600 65 73 20 69 6e 20 73 61 66 65 61 6c 69 61 73 2e  es in safealias.
23610 74 63 6c 3b 20 74 63 6c 5f 73 61 66 65 43 72 65  tcl; tcl_safeCre
23620 61 74 65 49 6e 74 65 72 70 20 63 61 6e 20 6e 6f  ateInterp can no
23630 77 20 62 65 20 63 61 6c 6c 65 64 0a 77 69 74 68  w be called.with
23640 6f 75 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20  out argument to 
23650 67 65 6e 65 72 61 74 65 20 74 68 65 20 73 6c 61  generate the sla
23660 76 65 20 6e 61 6d 65 20 28 6c 69 6b 65 20 69 6e  ve name (like in
23670 20 69 6e 74 65 72 70 20 63 72 65 61 74 65 29 2e   interp create).
23680 20 28 44 4c 29 0a 0a 37 2f 31 30 2f 39 37 20 28   (DL)..7/10/97 (
23690 62 75 67 20 66 69 78 65 73 29 20 42 79 74 65 63  bug fixes) Bytec
236a0 6f 64 65 20 63 6f 6d 70 69 6c 65 72 20 6e 6f 77  ode compiler now
236b0 20 67 65 6e 65 72 61 74 65 73 20 6d 6f 72 65 20   generates more 
236c0 64 65 74 61 69 6c 65 64 20 0a 63 6f 6d 6d 61 6e  detailed .comman
236d0 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 66 6f 72  d location infor
236e0 6d 61 74 69 6f 6e 3a 20 73 75 62 63 6f 6d 6d 61  mation: subcomma
236f0 6e 64 73 20 61 73 20 77 65 6c 6c 20 61 73 20 63  nds as well as c
23700 6f 6d 6d 61 6e 64 73 20 6e 6f 77 20 68 61 76 65  ommands now have
23710 0a 6c 6f 63 61 74 69 6f 6e 20 69 6e 66 6f 72 6d  .location inform
23720 61 74 69 6f 6e 2e 20 54 68 69 73 20 6d 65 61 6e  ation. This mean
23730 73 20 63 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20  s command trace 
23740 70 72 6f 63 65 64 75 72 65 73 20 6e 6f 77 20 67  procedures now g
23750 65 74 20 74 68 65 0a 63 6f 72 72 65 63 74 20 73  et the.correct s
23760 6f 75 72 63 65 20 73 74 72 69 6e 67 20 66 6f 72  ource string for
23770 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 20 69 6e   each command in
23780 20 74 68 65 69 72 20 63 6f 6d 6d 61 6e 64 20 70   their command p
23790 61 72 61 6d 65 74 65 72 2e 20 28 42 4c 29 0a 0a  arameter. (BL)..
237a0 37 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69 78  7/22/97 (bug fix
237b0 65 73 29 20 50 65 72 66 6f 72 6d 61 6e 63 65 20  es) Performance 
237c0 69 6d 70 72 6f 76 65 6d 65 6e 74 20 69 6e 20 53  improvement in S
237d0 61 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 73  afe interpreters
237e0 0a 68 61 6e 64 6c 69 6e 67 2e 20 41 64 64 65 64  .handling. Added
237f0 20 6e 65 77 20 6d 61 73 6b 20 76 61 6c 75 65 20   new mask value 
23800 74 6f 20 28 74 63 6c 49 6e 74 2e 68 29 20 49 6e  to (tclInt.h) In
23810 74 65 72 70 2e 66 6c 61 67 73 20 72 65 63 6f 72  terp.flags recor
23820 64 2e 20 28 44 4c 29 0a 0a 37 2f 32 32 2f 39 37  d. (DL)..7/22/97
23830 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
23840 20 70 61 6e 69 63 20 69 6e 20 27 69 6e 74 65 72   panic in 'inter
23850 70 20 74 61 72 67 65 74 20 7b 7d 20 66 6f 6f 27  p target {} foo'
23860 2e 20 54 68 69 73 20 62 75 67 0a 77 61 73 20 70  . This bug.was p
23870 72 65 73 65 6e 74 20 73 69 6e 63 65 20 54 63 6c  resent since Tcl
23880 20 37 2e 36 2e 20 28 4a 4c 29 0a 0a 37 2f 32 32   7.6. (JL)..7/22
23890 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
238a0 78 65 64 20 62 75 67 20 69 6e 20 63 6f 6d 70 69  xed bug in compi
238b0 6c 61 74 69 6f 6e 20 6f 66 20 70 72 6f 63 65 64  lation of proced
238c0 75 72 65 73 20 69 6e 20 6e 61 6d 65 73 70 61 63  ures in namespac
238d0 65 73 3a 20 74 68 65 0a 70 72 6f 63 65 64 75 72  es: the.procedur
238e0 65 27 73 20 6e 61 6d 65 73 70 61 63 65 20 6d 75  e's namespace mu
238f0 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 6c 6f  st be used to lo
23900 6f 6b 20 75 70 20 63 6f 6d 70 69 6c 65 20 70 72  ok up compile pr
23910 6f 63 65 64 75 72 65 73 2c 20 6e 6f 74 20 74 68  ocedures, not th
23920 65 0a 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70  e.current namesp
23930 61 63 65 2e 20 28 42 4c 29 0a 0a 37 2f 32 32 2f  ace. (BL)..7/22/
23940 39 37 20 28 62 75 67 20 66 69 78 29 20 55 73 65  97 (bug fix) Use
23950 20 6f 66 20 74 68 65 20 2d 63 68 61 6e 6e 65 6c   of the -channel
23960 20 6f 70 74 69 6f 6e 20 6f 66 20 68 74 74 70 5f   option of http_
23970 67 65 74 20 77 61 73 20 6e 6f 74 20 73 65 74 74  get was not sett
23980 69 6e 67 0a 74 68 65 20 65 6e 64 20 6f 66 20 6c  ing.the end of l
23990 69 6e 65 20 74 72 61 6e 73 6c 61 74 69 6f 6e 73  ine translations
239a0 20 6d 6f 64 65 20 6f 6e 20 74 68 65 20 63 68 61   mode on the cha
239b0 6e 6e 65 6c 2c 20 73 6f 20 63 6f 70 79 69 6e 67  nnel, so copying
239c0 20 62 69 6e 61 72 79 20 64 61 74 61 0a 77 69 74   binary data.wit
239d0 68 20 74 68 65 20 2d 63 68 61 6e 6e 65 6c 20 6f  h the -channel o
239e0 70 74 69 6f 6e 20 77 61 73 20 63 6f 72 72 75 70  ption was corrup
239f0 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 20  ting the result 
23a00 6f 6e 20 6e 6f 6e 2d 75 6e 69 78 20 70 6c 61 74  on non-unix plat
23a10 66 6f 72 6d 73 2e 20 28 42 57 29 0a 0a 37 2f 32  forms. (BW)..7/2
23a20 32 2f 39 37 20 28 62 75 67 20 66 69 78 65 73 29  2/97 (bug fixes)
23a30 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 61   file commands a
23a40 6e 64 20 7e 75 73 65 72 20 28 73 65 67 20 66 61  nd ~user (seg fa
23a50 75 6c 74 20 61 6e 64 20 6f 74 68 65 72 0a 69 6d  ult and other.im
23a60 70 72 6f 70 65 72 20 72 65 74 75 72 6e 73 29 2e  proper returns).
23a70 20 28 44 4c 29 0a 0a 37 2f 32 33 2f 39 37 20 28   (DL)..7/23/97 (
23a80 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
23a90 52 65 65 6e 61 62 6c 65 64 20 22 76 77 61 69 74  Reenabled "vwait
23aa0 22 20 69 6e 20 53 61 66 65 20 42 61 73 65 2e 20  " in Safe Base. 
23ab0 28 4a 4c 29 0a 0a 37 2f 32 33 2f 39 37 20 28 62  (JL)..7/23/97 (b
23ac0 75 67 20 66 69 78 65 73 29 20 46 69 78 65 64 20  ug fixes) Fixed 
23ad0 74 77 6f 20 62 75 67 73 20 69 6e 76 6f 6c 76 69  two bugs involvi
23ae0 6e 67 20 72 65 61 64 20 74 72 61 63 65 73 20 6f  ng read traces o
23af0 6e 20 61 72 72 61 79 20 76 61 72 69 61 62 6c 65  n array variable
23b00 73 0a 69 6e 20 70 72 6f 63 65 64 75 72 65 73 3a  s.in procedures:
23b10 20 74 72 61 63 65 20 70 72 6f 63 65 64 75 72 65   trace procedure
23b20 73 20 77 65 72 65 20 73 6f 6d 65 74 69 6d 65 73  s were sometimes
23b30 20 6e 6f 74 20 63 61 6c 6c 65 64 2c 20 61 6e 64   not called, and
23b40 20 72 65 61 64 69 6e 67 0a 6e 6f 6e 65 78 69 73   reading.nonexis
23b50 74 61 6e 74 20 61 72 72 61 79 20 65 6c 65 6d 65  tant array eleme
23b60 6e 74 73 20 64 69 64 6e 27 74 20 63 72 65 61 74  nts didn't creat
23b70 65 20 75 6e 64 65 66 69 6e 65 64 20 65 6c 65 6d  e undefined elem
23b80 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 74 68  ent variables th
23b90 61 74 0a 63 6f 75 6c 64 20 6c 61 74 65 72 20 62  at.could later b
23ba0 65 20 64 65 66 69 6e 65 64 20 62 79 20 74 72 61  e defined by tra
23bb0 63 65 20 70 72 6f 63 65 64 75 72 65 73 2e 20 28  ce procedures. (
23bc0 42 4c 29 0a 0a 37 2f 32 34 2f 39 37 20 28 62 75  BL)..7/24/97 (bu
23bd0 67 20 66 69 78 29 20 57 69 6e 64 6f 77 73 20 6d  g fix) Windows m
23be0 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e  emory allocation
23bf0 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 77 61 73   performance was
23c00 0a 73 75 70 65 72 6c 69 6e 65 61 72 20 69 6e 20  .superlinear in 
23c10 73 6f 6d 65 20 63 61 73 65 73 2e 20 20 4d 61 64  some cases.  Mad
23c20 65 20 74 68 65 20 4d 61 63 20 61 6c 6c 6f 63 61  e the Mac alloca
23c30 74 6f 72 20 67 65 6e 65 72 69 63 20 61 6e 64 20  tor generic and 
23c40 63 68 61 6e 67 65 64 0a 62 6f 74 68 20 74 68 65  changed.both the
23c50 20 4d 61 63 20 61 6e 64 20 57 69 6e 64 6f 77 73   Mac and Windows
23c60 20 70 6c 61 74 66 6f 72 6d 73 20 74 6f 20 75 73   platforms to us
23c70 65 20 74 68 65 20 6e 65 77 20 61 6c 6c 6f 63 61  e the new alloca
23c80 74 6f 72 20 69 6e 73 74 65 61 64 20 6f 66 0a 6d  tor instead of.m
23c90 61 6c 6c 6f 63 20 61 6e 64 20 66 72 65 65 2e 20  alloc and free. 
23ca0 28 53 53 29 0a 0a 37 2f 32 34 2f 39 37 20 2d 20  (SS)..7/24/97 - 
23cb0 38 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69 78  8/12/97 (bug fix
23cc0 65 73 2f 63 68 61 6e 67 65 20 6f 66 20 66 65 61  es/change of fea
23cd0 74 75 72 65 73 29 20 43 6f 6d 70 6c 65 74 65 6c  tures) Completel
23ce0 79 20 72 65 76 61 6d 70 65 64 20 73 61 66 65 0a  y revamped safe.
23cf0 73 6f 75 72 63 69 6e 67 2f 6c 6f 61 64 69 6e 67  sourcing/loading
23d00 20 28 73 65 65 20 73 61 66 65 2e 6e 29 20 74 6f   (see safe.n) to
23d10 20 68 69 64 65 20 70 61 74 68 6e 61 6d 65 73 2c   hide pathnames,
23d20 20 75 73 65 20 76 69 72 74 75 61 6c 0a 70 61 74   use virtual.pat
23d30 68 73 20 74 6f 6b 65 6e 73 20 69 6e 73 74 65 61  hs tokens instea
23d40 64 2c 20 69 6d 70 72 6f 76 65 64 20 73 65 63 75  d, improved secu
23d50 72 69 74 79 20 69 6e 20 73 65 76 65 72 61 6c 20  rity in several 
23d60 72 65 73 70 65 63 74 73 20 61 6e 64 20 6d 61 64  respects and mad
23d70 65 20 69 74 0a 6d 6f 72 65 20 74 75 6e 61 62 6c  e it.more tunabl
23d80 65 2e 20 4d 75 6c 74 69 20 6c 65 76 65 6c 20 69  e. Multi level i
23d90 6e 74 65 72 70 20 6c 6f 61 64 69 6e 67 20 63 61  nterp loading ca
23da0 6e 20 77 6f 72 6b 20 74 6f 6f 20 6e 6f 77 2e 20  n work too now. 
23db0 50 61 63 6b 61 67 65 20 61 75 74 6f 0a 6c 6f 61  Package auto.loa
23dc0 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b 73 20 69  ding now works i
23dd0 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 20 61  n safe interps a
23de0 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 70 61  s long as the pa
23df0 63 6b 61 67 65 20 64 69 72 65 63 74 6f 72 79 20  ckage directory 
23e00 69 73 20 69 6e 20 0a 74 68 65 20 61 75 74 6f 5f  is in .the auto_
23e10 70 61 74 68 20 28 6e 6f 20 64 65 65 70 20 63 72  path (no deep cr
23e20 61 77 6c 69 6e 67 20 61 6c 6c 6f 77 65 64 20 69  awling allowed i
23e30 6e 20 73 61 66 65 20 69 6e 74 65 72 70 73 29 2e  n safe interps).
23e40 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (DL).*** POTENT
23e50 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
23e60 49 54 59 20 77 69 74 68 20 70 72 65 76 69 6f 75  ITY with previou
23e70 73 20 61 6c 70 68 61 20 61 6e 64 20 62 65 74 61  s alpha and beta
23e80 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 37   releases ***..7
23e90 2f 32 34 2f 39 37 20 28 62 75 67 20 66 69 78 65  /24/97 (bug fixe
23ea0 73 29 20 4d 61 64 65 20 54 63 6c 5f 53 65 74 56  s) Made Tcl_SetV
23eb0 61 72 2a 20 61 6e 64 20 54 63 6c 5f 4e 65 77 53  ar* and Tcl_NewS
23ec0 74 72 69 6e 67 2a 20 74 72 65 61 74 20 61 20 4e  tring* treat a N
23ed0 55 4c 4c 20 76 61 6c 75 65 0a 61 73 20 61 6e 20  ULL value.as an 
23ee0 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 20 28 54  empty string. (T
23ef0 68 69 73 20 66 69 78 65 73 20 68 61 69 72 79 20  his fixes hairy 
23f00 63 72 61 73 68 20 63 61 73 65 20 77 68 65 72 65  crash case where
23f10 20 79 6f 75 20 77 6f 75 6c 64 20 63 72 61 73 68   you would crash
23f20 0a 62 65 63 61 75 73 65 20 6c 6f 61 64 20 63 6f  .because load co
23f30 6d 6d 61 6e 64 20 66 6f 72 20 6f 74 68 65 72 20  mmand for other 
23f40 69 6e 74 65 72 70 73 20 61 73 73 75 6d 65 64 20  interps assumed 
23f50 70 72 65 73 65 6e 63 65 20 6f 66 0a 65 72 72 6f  presence of.erro
23f60 72 49 6e 66 6f 2e 2e 2e 29 2e 20 28 44 4c 29 0a  rInfo...). (DL).
23f70 0a 37 2f 32 38 2f 39 37 20 28 62 75 67 20 66 69  .7/28/97 (bug fi
23f80 78 29 20 46 69 78 65 64 20 70 6b 67 5f 6d 6b 49  x) Fixed pkg_mkI
23f90 6e 64 65 78 20 74 6f 20 75 6e 64 65 72 73 74 61  ndex to understa
23fa0 6e 64 20 6e 61 6d 65 73 70 61 63 65 73 2e 20 20  nd namespaces.  
23fb0 49 74 20 77 69 6c 6c 0a 75 73 65 20 74 68 65 20  It will.use the 
23fc0 65 78 70 6f 72 74 20 6c 69 73 74 20 6f 66 20 61  export list of a
23fd0 20 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 20 63   namespace and c
23fe0 72 65 61 74 65 20 61 75 74 6f 5f 69 6e 64 65 78  reate auto_index
23ff0 20 65 6e 74 72 69 65 73 20 66 6f 72 0a 61 6c 6c   entries for.all
24000 20 65 78 70 6f 72 74 20 63 6f 6d 6d 61 6e 64 73   export commands
24010 2e 20 20 54 68 6f 73 65 20 6e 61 6d 65 73 20 61  .  Those names a
24020 72 65 20 69 6e 20 74 68 65 69 72 20 66 75 6c 6c  re in their full
24030 79 20 71 75 61 6c 69 66 69 65 64 20 66 6f 72 6d  y qualified form
24040 20 69 6e 20 74 68 65 0a 61 75 74 6f 5f 69 6e 64   in the.auto_ind
24050 65 78 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20  ex.  Therefore, 
24060 49 20 74 77 65 61 6b 65 64 20 75 6e 6b 6e 6f 77  I tweaked unknow
24070 6e 20 74 6f 20 74 72 79 20 62 6f 74 68 20 24 63  n to try both $c
24080 6d 64 20 61 6e 64 20 3a 3a 24 63 6d 64 2e 0a 41  md and ::$cmd..A
24090 6c 73 6f 20 66 69 78 65 64 20 70 6b 67 5f 6d 6b  lso fixed pkg_mk
240a0 49 6e 64 65 78 20 73 6f 20 79 6f 75 20 63 61 6e  Index so you can
240b0 20 68 61 76 65 20 22 70 61 63 6b 61 67 65 20 72   have "package r
240c0 65 71 75 69 72 65 22 20 63 6f 6d 6d 61 6e 64 73  equire" commands
240d0 20 69 6e 73 69 64 65 0a 79 6f 75 72 20 70 61 63   inside.your pac
240e0 6b 61 67 65 73 2e 20 20 54 68 65 73 65 20 63 6f  kages.  These co
240f0 6d 6d 61 6e 64 73 20 61 72 65 20 69 67 6e 6f 72  mmands are ignor
24100 65 64 2c 20 77 68 69 63 68 20 69 73 20 6d 6f 73  ed, which is mos
24110 74 6c 79 20 6f 6b 20 65 78 63 65 70 74 0a 77 68  tly ok except.wh
24120 65 6e 20 79 6f 75 20 6d 75 73 74 20 6c 6f 61 64  en you must load
24130 20 61 6e 6f 74 68 65 72 20 70 61 63 6b 61 67 65   another package
24140 20 62 65 66 6f 72 65 20 6c 6f 61 64 69 6e 67 20   before loading 
24150 79 6f 75 72 73 20 62 65 63 61 75 73 65 20 6f 66  yours because of
24160 0a 6c 69 6e 6b 69 6e 67 20 64 65 70 65 6e 64 65  .linking depende
24170 6e 63 69 65 73 2e 20 28 42 57 29 0a 0a 37 2f 32  ncies. (BW)..7/2
24180 38 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 41  8/97 (bug fix) A
24190 20 76 61 72 69 61 62 6c 65 20 63 72 65 61 74 65   variable create
241a0 64 20 62 79 20 74 68 65 20 76 61 72 69 61 62 6c  d by the variabl
241b0 65 20 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20 70 65  e command now pe
241c0 72 73 69 73 74 73 0a 75 6e 74 69 6c 20 74 68 65  rsists.until the
241d0 20 6e 61 6d 65 73 70 61 63 65 20 69 73 20 64 65   namespace is de
241e0 73 74 72 6f 79 65 64 20 6f 72 20 74 68 65 20 76  stroyed or the v
241f0 61 72 69 61 62 6c 65 20 69 73 20 75 6e 73 65 74  ariable is unset
24200 2e 20 54 68 69 73 20 69 73 20 74 72 75 65 20 65  . This is true e
24210 76 65 6e 0a 69 66 20 74 68 65 20 76 61 72 69 61  ven.if the varia
24220 62 6c 65 20 68 61 73 20 6e 6f 74 20 62 65 65 6e  ble has not been
24230 20 69 6e 69 74 69 61 6c 69 7a 65 64 3b 20 74 68   initialized; th
24240 65 73 65 20 76 61 72 69 61 62 6c 65 73 20 75 73  ese variables us
24250 65 64 20 74 6f 20 62 65 0a 64 65 73 74 72 6f 79  ed to be.destroy
24260 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 6f  ed if an error o
24270 63 63 75 72 72 65 64 20 77 68 65 6e 20 61 63 63  ccurred when acc
24280 65 73 73 69 6e 67 20 74 68 65 6d 2e 20 49 6e 20  essing them. In 
24290 61 64 64 69 74 69 6f 6e 2c 20 74 68 65 20 22 69  addition, the "i
242a0 6e 66 6f 0a 76 61 72 73 22 20 63 6f 6d 6d 61 6e  nfo.vars" comman
242b0 64 20 6c 69 73 74 73 20 75 6e 69 6e 69 74 69 61  d lists uninitia
242c0 6c 69 7a 65 64 20 6e 61 6d 65 73 70 61 63 65 20  lized namespace 
242d0 76 61 72 69 61 62 6c 65 73 2c 20 77 68 69 6c 65  variables, while
242e0 20 74 68 65 20 22 69 6e 66 6f 0a 65 78 69 73 74   the "info.exist
242f0 73 22 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72  s" command retur
24300 6e 73 20 30 20 66 6f 72 20 74 68 65 6d 2e 20 28  ns 0 for them. (
24310 42 4c 29 0a 0a 37 2f 32 39 2f 39 37 20 28 66 65  BL)..7/29/97 (fe
24320 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 20 43  ature change)  C
24330 68 61 6e 67 65 64 20 74 68 65 20 68 74 74 70 20  hanged the http 
24340 70 61 63 6b 61 67 65 20 74 6f 20 75 73 65 20 74  package to use t
24350 68 65 20 3a 3a 68 74 74 70 0a 6e 61 6d 65 73 70  he ::http.namesp
24360 61 63 65 2e 20 68 74 74 70 5f 67 65 74 20 72 65  ace. http_get re
24370 6e 61 6d 65 64 20 74 6f 20 68 74 74 70 3a 3a 67  named to http::g
24380 65 74 75 72 6c 2c 20 68 74 74 70 5f 63 6f 6e 66  eturl, http_conf
24390 69 67 20 72 65 6e 61 6d 65 64 20 74 6f 0a 68 74  ig renamed to.ht
243a0 74 70 3a 3a 63 6f 6e 66 69 67 2c 20 68 74 74 70  tp::config, http
243b0 5f 66 6f 72 6d 61 74 51 75 65 72 79 20 72 65 6e  _formatQuery ren
243c0 61 6d 65 64 20 74 6f 20 68 74 74 70 3a 3a 66 6f  amed to http::fo
243d0 72 6d 61 74 51 75 65 72 79 2e 0a 49 74 20 6e 6f  rmatQuery..It no
243e0 77 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 32  w provides the 2
243f0 2e 30 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68  .0 version of th
24400 65 20 70 61 63 6b 61 67 65 2e 20 20 0a 54 68 65  e package.  .The
24410 20 31 2e 30 20 76 65 72 73 69 6f 6e 20 69 73 20   1.0 version is 
24420 73 74 69 6c 6c 20 61 76 61 69 6c 61 62 6c 65 20  still available 
24430 77 69 74 68 20 74 68 65 20 6f 6c 64 20 6e 61 6d  with the old nam
24440 65 73 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  es..*** POTENTIA
24450 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
24460 59 20 77 69 74 68 20 54 63 6c 20 38 2e 30 62 32  Y with Tcl 8.0b2
24470 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54 63   but not with Tc
24480 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 37 2f 32 39 2f  l 7.6 ***..7/29/
24490 39 37 20 28 62 75 67 20 66 69 78 2c 20 6e 65 77  97 (bug fix, new
244a0 20 66 65 61 74 75 72 65 29 20 54 63 6c 5f 4d 61   feature) Tcl_Ma
244b0 69 6e 20 6e 6f 77 20 75 73 65 73 20 54 63 6c 20  in now uses Tcl 
244c0 6f 62 6a 65 63 74 73 20 69 6e 74 65 72 6e 61 6c  objects internal
244d0 6c 79 20 74 6f 0a 70 72 65 73 65 72 76 65 20 4e  ly to.preserve N
244e0 55 4c 4c 73 20 69 6e 20 63 6f 6d 6d 61 6e 64 73  ULLs in commands
244f0 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f 75 74   and command out
24500 70 75 74 2e 20 41 64 64 65 64 20 6e 65 77 20 41  put. Added new A
24510 50 49 20 70 72 6f 63 65 64 75 72 65 0a 54 63 6c  PI procedure.Tcl
24520 5f 52 65 63 6f 72 64 41 6e 64 45 76 61 6c 4f 62  _RecordAndEvalOb
24530 6a 20 74 68 61 74 20 72 65 73 65 6d 62 6c 65 73  j that resembles
24540 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76   Tcl_RecordAndEv
24550 61 6c 20 62 75 74 20 74 61 6b 65 73 20 61 6e 20  al but takes an 
24560 6f 62 6a 65 63 74 0a 63 6f 6e 74 61 69 6e 69 6e  object.containin
24570 67 20 61 20 63 6f 6d 6d 61 6e 64 2e 20 28 42 4c  g a command. (BL
24580 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75 67 20  )..7/30/97 (bug 
24590 66 69 78 29 20 54 63 6c 20 66 72 65 65 64 20 73  fix) Tcl freed s
245a0 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20 65 6e  trings in the en
245b0 76 69 72 6f 6e 20 61 72 72 61 79 20 65 76 65 6e  viron array even
245c0 20 69 66 20 69 74 0a 64 69 64 20 6e 6f 74 20 61   if it.did not a
245d0 6c 6c 6f 63 61 74 65 20 74 68 65 6d 2e 20 28 53  llocate them. (S
245e0 53 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75 67  S)..7/30/97 (bug
245f0 20 66 69 78 29 20 49 66 20 61 20 70 72 6f 63 65   fix) If a proce
24600 64 75 72 65 20 69 73 20 72 65 6e 61 6d 65 64 20  dure is renamed 
24610 69 6e 74 6f 20 61 20 64 69 66 66 65 72 65 6e 74  into a different
24620 20 6e 61 6d 65 73 70 61 63 65 2c 20 69 74 0a 6e   namespace, it.n
24630 6f 77 20 65 78 65 63 75 74 65 73 20 69 6e 20 74  ow executes in t
24640 68 65 20 63 6f 6e 74 65 78 74 20 6f 66 20 74 68  he context of th
24650 61 74 20 6e 61 6d 65 73 70 61 63 65 2e 20 28 42  at namespace. (B
24660 4c 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75 67  L)..7/30/97 (bug
24670 20 66 69 78 29 20 50 72 65 76 65 6e 74 20 72 65   fix) Prevent re
24680 6e 61 6d 69 6e 67 20 6f 66 20 63 6f 6d 6d 61 6e  naming of comman
24690 64 73 20 69 6e 74 6f 20 61 6e 64 20 66 72 6f 6d  ds into and from
246a0 20 6e 61 6d 65 73 70 61 63 65 73 20 61 73 0a 70   namespaces as.p
246b0 61 72 74 20 6f 66 20 68 69 64 69 6e 67 20 74 68  art of hiding th
246c0 65 6d 2e 20 28 4a 4c 29 0a 0a 37 2f 33 31 2f 39  em. (JL)..7/31/9
246d0 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  7 (feature chang
246e0 65 29 20 4d 6f 76 65 64 20 74 68 65 20 68 69 73  e) Moved the his
246f0 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20 66 72 6f  tory command fro
24700 6d 20 43 20 74 6f 20 74 63 6c 2e 0a 54 68 69 73  m C to tcl..This
24710 20 75 73 65 73 20 74 68 65 20 3a 3a 68 69 73 74   uses the ::hist
24720 6f 72 79 20 6e 61 6d 65 73 70 61 63 65 2e 20 20  ory namespace.  
24730 54 68 65 20 22 77 6f 72 64 73 22 20 61 6e 64 20  The "words" and 
24740 22 73 75 62 73 74 69 74 75 74 65 22 20 6f 70 74  "substitute" opt
24750 69 6f 6e 73 0a 61 72 65 20 6e 6f 20 6c 6f 6e 67  ions.are no long
24760 65 72 20 73 75 70 70 6f 72 74 65 64 2e 20 20 49  er supported.  I
24770 6e 20 61 64 64 69 74 69 6f 6e 2c 20 74 68 65 20  n addition, the 
24780 22 6b 65 65 70 22 20 6f 70 74 69 6f 6e 20 77 69  "keep" option wi
24790 74 68 6f 75 74 20 61 20 76 61 6c 75 65 0a 72 65  thout a value.re
247a0 74 75 72 6e 73 20 74 68 65 20 63 75 72 72 65 6e  turns the curren
247b0 74 20 6b 65 65 70 20 6c 69 6d 69 74 2e 20 20 54  t keep limit.  T
247c0 68 65 72 65 20 69 73 20 61 20 6e 65 77 20 22 63  here is a new "c
247d0 6c 65 61 72 22 20 6f 70 74 69 6f 6e 2e 0a 54 68  lear" option..Th
247e0 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e  e unknown comman
247f0 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 21  d now supports !
24800 21 20 61 67 61 69 6e 2e 20 28 42 57 29 0a 2a 2a  ! again. (BW).**
24810 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
24820 4d 50 41 54 49 42 49 4c 54 59 20 20 2a 2a 2a 0a  MPATIBILTY  ***.
24830 0a 37 2f 33 30 2f 39 37 20 28 62 75 67 20 66 69  .7/30/97 (bug fi
24840 78 29 20 4d 61 64 65 20 73 75 72 65 20 74 68 61  x) Made sure tha
24850 74 20 61 20 73 6c 61 76 65 20 63 61 6e 20 6e 6f  t a slave can no
24860 74 20 66 6f 6f 6c 20 74 68 65 20 6d 61 73 74 65  t fool the maste
24870 72 20 69 6e 74 6f 0a 68 69 64 69 6e 67 20 74 68  r into.hiding th
24880 65 20 77 72 6f 6e 67 20 63 6f 6d 6d 61 6e 64 2e  e wrong command.
24890 20 4d 61 64 65 20 73 75 72 65 20 77 65 20 64 6f   Made sure we do
248a0 6e 27 74 20 63 72 61 73 68 20 69 6e 20 68 69 64  n't crash in hid
248b0 69 6e 67 20 2b 20 6e 61 6d 65 73 70 61 63 65 73  ing + namespaces
248c0 0a 69 73 73 75 65 73 2e 20 28 44 4c 29 0a 0a 38  .issues. (DL)..8
248d0 2f 34 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  /4/97 (bug fix) 
248e0 43 6f 6e 63 61 74 2c 20 65 76 61 6c 2c 20 75 70  Concat, eval, up
248f0 6c 65 76 65 6c 2c 20 61 6e 64 20 73 69 6d 69 6c  level, and simil
24900 61 72 20 63 6f 6d 6d 61 6e 64 73 20 77 65 72 65  ar commands were
24910 0a 69 6e 63 6f 72 72 65 63 74 6c 79 20 74 72 69  .incorrectly tri
24920 6d 6d 69 6e 67 20 74 72 61 69 6c 69 6e 67 20 73  mming trailing s
24930 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20  pace characters 
24940 66 72 6f 6d 20 74 68 65 69 72 20 61 72 67 75 6d  from their argum
24950 65 6e 74 73 0a 65 76 65 6e 20 77 68 65 6e 20 74  ents.even when t
24960 68 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74  he space charact
24970 65 72 73 20 77 65 72 65 20 70 72 65 63 65 64 65  ers were precede
24980 64 20 62 79 20 61 20 62 61 63 6b 73 6c 61 73 68  d by a backslash
24990 2e 20 28 4a 4f 29 0a 0a 38 2f 34 2f 39 37 20 28  . (JO)..8/4/97 (
249a0 62 75 67 20 66 69 78 29 20 52 65 6d 6f 76 65 64  bug fix) Removed
249b0 20 74 68 65 20 68 61 72 64 20 6c 69 6e 6b 20 62   the hard link b
249c0 65 74 77 65 65 6e 20 62 67 65 72 72 6f 72 20 61  etween bgerror a
249d0 6e 64 20 74 6b 65 72 72 6f 72 2e 0a 4f 6e 6c 79  nd tkerror..Only
249e0 20 62 67 65 72 72 6f 72 20 69 73 20 73 75 70 70   bgerror is supp
249f0 6f 72 74 65 64 20 69 6e 20 74 63 6c 20 63 6f 72  orted in tcl cor
24a00 65 2e 20 54 6b 20 77 69 6c 6c 20 73 74 69 6c 6c  e. Tk will still
24a10 20 6c 6f 6f 6b 20 66 6f 72 20 61 0a 74 6b 65 72   look for a.tker
24a20 72 6f 72 20 62 75 74 20 75 73 69 6e 67 20 72 65  ror but using re
24a30 67 75 6c 61 72 20 74 63 6c 20 63 6f 64 65 20 66  gular tcl code f
24a40 6f 72 20 74 68 61 74 20 66 65 61 74 75 72 65 2e  or that feature.
24a50 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (DL).*** POTENT
24a60 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
24a70 54 59 20 77 69 74 68 20 63 6f 64 65 20 72 65 6c  TY with code rel
24a80 79 69 6e 67 20 6f 6e 20 74 68 65 20 68 61 72 64  ying on the hard
24a90 20 6c 69 6e 6b 20 2a 2a 2a 0a 0a 38 2f 36 2f 39   link ***..8/6/9
24aa0 37 20 28 62 75 67 20 66 69 78 29 20 52 65 64 75  7 (bug fix) Redu
24ab0 63 65 64 20 73 69 7a 65 20 72 65 71 75 69 72 65  ced size require
24ac0 64 20 66 6f 72 20 63 6f 6d 70 69 6c 65 64 20 62  d for compiled b
24ad0 79 74 65 63 6f 64 65 73 20 62 79 20 75 73 69 6e  ytecodes by usin
24ae0 67 20 61 0a 6d 6f 72 65 20 63 6f 6d 70 61 63 74  g a.more compact
24af0 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72 20 74 68   encoding for th
24b00 65 20 63 6f 6d 6d 61 6e 64 20 70 63 2d 74 6f 2d  e command pc-to-
24b10 73 6f 75 72 63 65 20 6d 61 70 2e 20 28 42 4c 29  source map. (BL)
24b20 0a 0a 38 2f 36 2f 39 37 20 28 6e 65 77 20 66 65  ..8/6/97 (new fe
24b30 61 74 75 72 65 29 20 41 64 64 65 64 20 73 75 70  ature) Added sup
24b40 70 6f 72 74 20 66 6f 72 20 61 64 64 69 74 69 6f  port for additio
24b50 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20  nal compilation 
24b60 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 0a 73 74  and execution.st
24b70 61 74 69 73 74 69 63 73 20 77 68 65 6e 20 54 63  atistics when Tc
24b80 6c 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 77 69  l is compiled wi
24b90 74 68 20 74 68 65 20 54 43 4c 5f 43 4f 4d 50 49  th the TCL_COMPI
24ba0 4c 45 5f 53 54 41 54 53 20 66 6c 61 67 2e 20 28  LE_STATS flag. (
24bb0 42 4c 29 0a 0a 38 2f 37 2f 39 37 20 28 62 75 67  BL)..8/7/97 (bug
24bc0 20 66 69 78 29 20 45 78 70 72 65 73 73 69 6f 6e   fix) Expression
24bd0 73 20 6e 6f 74 20 69 6e 20 7b 7d 73 20 74 68 61  s not in {}s tha
24be0 74 20 68 61 76 65 20 61 20 63 6f 6d 70 61 72 69  t have a compari
24bf0 73 6f 6e 20 6f 70 65 72 61 74 6f 72 20 61 73 0a  son operator as.
24c00 74 68 65 20 74 6f 70 6d 6f 73 74 20 6f 70 65 72  the topmost oper
24c10 61 74 6f 72 20 6d 75 73 74 20 62 65 20 63 6f 6d  ator must be com
24c20 70 69 6c 65 64 20 6f 75 74 2d 6f 66 2d 6c 69 6e  piled out-of-lin
24c30 65 20 28 63 61 6c 6c 20 74 68 65 20 65 78 70 72  e (call the expr
24c40 20 63 6d 64 20 61 74 0a 72 75 6e 74 69 6d 65 29   cmd at.runtime)
24c50 20 74 6f 20 70 72 6f 70 65 72 6c 79 20 73 75 70   to properly sup
24c60 70 6f 72 74 20 65 78 70 72 27 73 20 74 77 6f 2d  port expr's two-
24c70 6c 65 76 65 6c 20 73 75 62 73 74 69 74 75 74 69  level substituti
24c80 6f 6e 20 73 65 6d 61 6e 74 69 63 73 2e 20 41 6e  on semantics. An
24c90 0a 65 78 61 6d 70 6c 65 20 69 73 20 22 73 65 74  .example is "set
24ca0 20 61 20 32 3b 20 73 65 74 20 62 20 7b 24 61 7d   a 2; set b {$a}
24cb0 3b 20 70 75 74 73 20 5b 65 78 70 72 20 24 62 20  ; puts [expr $b 
24cc0 3d 3d 20 32 5d 22 2e 20 28 42 4c 29 0a 0a 38 2f  == 2]". (BL)..8/
24cd0 31 31 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  11/97 (bug fix) 
24ce0 54 68 65 20 63 61 74 63 68 20 63 6f 6d 6d 61 6e  The catch comman
24cf0 64 20 77 6f 75 6c 64 20 73 6f 6d 65 74 69 6d 65  d would sometime
24d00 73 20 63 72 61 73 68 20 69 66 20 61 20 76 61 72  s crash if a var
24d10 69 61 62 6c 65 20 6e 61 6d 65 0a 77 61 73 20 67  iable name.was g
24d20 69 76 65 6e 20 61 6e 64 20 74 68 65 20 62 79 74  iven and the byt
24d30 65 63 6f 64 65 20 65 76 61 6c 75 61 74 69 6f 6e  ecode evaluation
24d40 20 73 74 61 63 6b 20 77 61 73 20 67 72 6f 77 6e   stack was grown
24d50 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20   when executing 
24d60 74 68 65 0a 61 72 67 75 6d 65 6e 74 20 73 63 72  the.argument scr
24d70 69 70 74 2e 20 28 42 4c 29 0a 0a 38 2f 31 32 2f  ipt. (BL)..8/12/
24d80 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
24d90 67 65 29 20 52 65 69 6e 73 74 61 74 65 64 20 74  ge) Reinstated t
24da0 68 65 20 76 61 72 69 61 62 6c 65 20 74 63 6c 5f  he variable tcl_
24db0 70 72 65 63 69 73 69 6f 6e 20 74 6f 20 63 6f 6e  precision to con
24dc0 74 72 6f 6c 0a 74 68 65 20 6e 75 6d 62 65 72 20  trol.the number 
24dd0 6f 66 20 64 69 67 69 74 73 20 75 73 65 64 20 77  of digits used w
24de0 68 65 6e 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69  hen floating-poi
24df0 6e 74 20 76 61 6c 75 65 73 20 61 72 65 20 63 6f  nt values are co
24e00 6e 76 65 72 74 65 64 20 74 6f 0a 73 74 72 69 6e  nverted to.strin
24e10 67 73 2c 20 77 69 74 68 20 64 65 66 61 75 6c 74  gs, with default
24e20 20 6f 66 20 31 32 20 64 69 67 69 74 73 2e 20 20   of 12 digits.  
24e30 48 6f 77 65 76 65 72 2c 20 68 61 64 20 74 6f 20  However, had to 
24e40 6d 61 6b 65 20 74 63 6c 5f 70 72 65 63 69 73 69  make tcl_precisi
24e50 6f 6e 0a 73 68 61 72 65 64 20 61 6d 6f 6e 67 20  on.shared among 
24e60 61 6c 6c 20 69 6e 74 65 72 70 72 65 74 65 72 73  all interpreters
24e70 20 28 65 78 63 65 70 74 20 74 68 61 74 20 73 61   (except that sa
24e80 66 65 20 69 6e 74 65 72 70 72 65 74 65 72 73 20  fe interpreters 
24e90 63 61 6e 27 74 0a 6d 6f 64 69 66 79 20 69 74 29  can't.modify it)
24ea0 2e 20 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68  .  This makes th
24eb0 65 20 54 63 6c 20 38 2e 30 20 62 65 68 61 76 69  e Tcl 8.0 behavi
24ec0 6f 72 20 61 6c 6d 6f 73 74 20 69 64 65 6e 74 69  or almost identi
24ed0 63 61 6c 20 74 6f 20 37 2e 36 0a 65 78 63 65 70  cal to 7.6.excep
24ee0 74 20 74 68 61 74 20 74 68 65 20 64 65 66 61 75  t that the defau
24ef0 6c 74 20 70 72 65 63 69 73 69 6f 6e 20 69 73 20  lt precision is 
24f00 31 32 20 69 6e 73 74 65 61 64 20 6f 66 20 36 2e  12 instead of 6.
24f10 20 28 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (JO).*** POTENT
24f20 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
24f30 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d  ITY ***..-------
24f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
24f50 73 65 64 20 38 2e 30 2c 20 38 2f 31 38 2f 39 37  sed 8.0, 8/18/97
24f60 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
24f70 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 38 2f 31 39 2f 39  --------..8/19/9
24f80 37 20 28 62 75 67 20 66 69 78 29 20 4d 69 6e 69  7 (bug fix) Mini
24f90 6d 61 6c 20 66 69 78 20 66 6f 72 20 67 6c 6f 62  mal fix for glob
24fa0 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 62 75 67   -nocomplain bug
24fb0 73 3a 0a 22 67 6c 6f 62 20 2d 6e 6f 63 6f 6d 70  s:."glob -nocomp
24fc0 6c 61 69 6e 20 75 6e 72 65 61 64 61 62 6c 65 44  lain unreadableD
24fd0 69 72 2f 2a 22 20 77 61 73 20 67 65 6e 65 72 61  ir/*" was genera
24fe0 74 69 6e 67 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75  ting an anonymou
24ff0 73 20 0a 65 72 72 6f 72 2e 20 4d 6f 72 65 20 69  s .error. More i
25000 6e 20 64 65 70 74 68 20 66 69 78 65 73 20 77 69  n depth fixes wi
25010 6c 6c 20 63 6f 6d 65 20 77 69 74 68 20 38 2e 31  ll come with 8.1
25020 2e 20 28 44 4c 29 2e 0a 0a 38 2f 32 30 2f 39 37  . (DL)...8/20/97
25030 20 28 62 75 67 20 66 69 78 29 20 52 65 6d 6f 76   (bug fix) Remov
25040 65 64 20 63 68 65 63 6b 20 66 6f 72 20 46 4c 54  ed check for FLT
25050 5f 4d 49 4e 20 69 6e 20 62 69 6e 61 72 79 20 63  _MIN in binary c
25060 6f 6d 6d 61 6e 64 20 73 6f 0a 75 6e 64 65 72 66  ommand so.underf
25070 6c 6f 77 20 63 6f 6e 64 69 74 69 6f 6e 73 20 61  low conditions a
25080 72 65 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68  re handled by th
25090 65 20 63 6f 6d 70 69 6c 65 72 20 61 75 74 6f 6d  e compiler autom
250a0 61 74 69 63 0a 63 6f 6e 76 65 72 73 69 6f 6e 73  atic.conversions
250b0 2e 20 28 53 53 29 0a 0a 38 2f 32 30 2f 39 37 20  . (SS)..8/20/97 
250c0 28 62 75 67 20 66 69 78 65 73 29 20 46 69 78 65  (bug fixes) Fixe
250d0 64 20 73 65 76 65 72 61 6c 20 63 6f 6d 70 69 6c  d several compil
250e0 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64 20 62 75  ation-related bu
250f0 67 73 3a 0a 20 20 20 20 2d 20 41 72 72 61 79 20  gs:.    - Array 
25100 63 6d 64 20 77 61 73 6e 27 74 20 64 65 74 65 63  cmd wasn't detec
25110 74 69 6e 67 20 61 72 72 61 79 73 20 74 68 61 74  ting arrays that
25120 2c 20 77 68 69 6c 65 20 63 6f 6d 70 69 6c 65 64  , while compiled
25130 2c 20 64 6f 20 6e 6f 74 20 79 65 74 0a 20 20 20  , do not yet.   
25140 20 20 20 65 78 69 73 74 20 28 65 2e 67 2e 2c 20     exist (e.g., 
25150 61 72 65 20 6d 61 72 6b 65 64 20 75 6e 64 65 66  are marked undef
25160 69 6e 65 64 20 73 69 6e 63 65 20 74 68 65 79 20  ined since they 
25170 68 61 76 65 6e 27 74 20 62 65 65 6e 20 61 73 73  haven't been ass
25180 69 67 6e 65 64 0a 20 20 20 20 20 20 74 6f 20 79  igned.      to y
25190 65 74 29 2e 0a 20 20 20 20 2d 20 54 68 65 20 47  et)..    - The G
251a0 65 74 54 6f 6b 65 6e 20 70 72 6f 63 65 64 75 72  etToken procedur
251b0 65 20 69 6e 20 74 63 6c 43 6f 6d 70 45 78 70 72  e in tclCompExpr
251c0 2e 63 20 77 61 73 6e 27 74 20 72 65 63 6f 67 6e  .c wasn't recogn
251d0 69 7a 69 6e 67 20 70 72 6f 70 65 72 6c 79 0a 20  izing properly. 
251e0 20 20 20 20 20 77 68 65 74 68 65 72 20 61 6e 20       whether an 
251f0 69 6e 74 65 67 65 72 20 74 6f 6b 65 6e 20 77 61  integer token wa
25200 73 20 69 6e 76 61 6c 69 64 2e 20 46 6f 72 20 65  s invalid. For e
25210 78 61 6d 70 6c 65 2c 20 22 30 78 24 22 20 69 73  xample, "0x$" is
25220 20 6e 6f 74 0a 20 20 20 20 20 20 61 20 76 61 6c   not.      a val
25230 69 64 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20  id integer..    
25240 2d 20 50 65 72 66 6f 72 6d 61 6e 63 65 20 62 75  - Performance bu
25250 67 20 69 6e 20 54 63 6c 45 78 65 63 75 74 65 42  g in TclExecuteB
25260 79 74 65 43 6f 64 65 3a 20 74 68 65 20 73 69 7a  yteCode: the siz
25270 65 20 6f 66 20 69 74 73 20 73 74 61 63 6b 20 66  e of its stack f
25280 72 61 6d 65 0a 20 20 20 20 20 20 77 61 73 20 72  rame.      was r
25290 65 64 75 63 65 64 20 62 79 20 6f 76 65 72 20 32  educed by over 2
252a0 30 25 20 62 79 20 6d 6f 76 69 6e 67 20 65 72 72  0% by moving err
252b0 6f 72 49 6e 66 6f 20 63 6f 64 65 20 65 6c 73 65  orInfo code else
252c0 77 68 65 72 65 2e 0a 20 20 20 20 2d 20 55 6e 69  where..    - Uni
252d0 6e 69 74 69 61 6c 69 7a 65 64 20 6d 65 6d 6f 72  nitialized memor
252e0 79 20 72 65 61 64 20 65 72 72 6f 72 20 69 6e 20  y read error in 
252f0 74 63 6c 43 6f 6d 70 69 6c 65 2e 63 2e 20 28 42  tclCompile.c. (B
25300 4c 29 0a 0a 38 2f 32 31 2f 39 37 20 28 62 75 67  L)..8/21/97 (bug
25310 20 66 69 78 29 20 73 61 66 65 3a 3a 69 6e 74 65   fix) safe::inte
25320 72 70 43 6f 6e 66 69 67 75 72 65 20 6e 6f 77 20  rpConfigure now 
25330 62 65 68 61 76 65 20 6c 69 6b 65 20 54 6b 20 77  behave like Tk w
25340 69 64 67 65 74 27 73 0a 63 6f 6e 66 69 67 75 72  idget's.configur
25350 65 20 3a 20 69 74 20 63 68 61 6e 67 65 73 20 6f  e : it changes o
25360 6e 6c 79 20 74 68 65 20 6f 70 74 69 6f 6e 73 20  nly the options 
25370 79 6f 75 20 70 72 6f 76 69 64 65 20 61 6e 64 20  you provide and 
25380 79 6f 75 20 63 61 6e 20 67 65 74 0a 74 68 65 20  you can get.the 
25390 63 75 72 72 65 6e 74 20 76 61 6c 75 65 20 6f 66  current value of
253a0 20 61 6e 79 20 73 69 6e 67 6c 65 20 6f 70 74 69   any single opti
253b0 6f 6e 2e 20 4e 65 77 20 3f 2d 6e 65 73 74 65 64  on. New ?-nested
253c0 20 62 6f 6f 6c 65 61 6e 3f 20 61 6e 64 0a 3f 2d   boolean? and.?-
253d0 73 74 61 74 69 63 73 20 62 6f 6f 6c 65 61 6e 3f  statics boolean?
253e0 20 66 6f 72 20 61 6c 6c 20 73 61 66 65 3a 3a 69   for all safe::i
253f0 6e 74 65 72 70 2a 20 63 6f 6d 6d 61 6e 64 73 20  nterp* commands 
25400 62 75 74 20 77 65 20 73 74 69 6c 6c 0a 61 63 63  but we still.acc
25410 65 70 74 20 28 75 70 77 61 72 64 20 63 6f 6d 70  ept (upward comp
25420 61 74 69 62 69 6c 69 74 79 29 20 74 68 65 20 70  atibility) the p
25430 72 65 76 69 6f 75 73 6c 79 20 64 65 66 69 6e 65  reviously define
25440 64 20 6e 6f 6e 20 76 61 6c 75 65 64 0a 66 6c 61  d non valued.fla
25450 67 73 20 3f 2d 6e 6f 53 74 61 74 69 63 73 3f 20  gs ?-noStatics? 
25460 61 6e 64 20 3f 2d 6e 65 73 74 65 64 4c 6f 61 64  and ?-nestedLoad
25470 4f 6b 3f 2e 20 49 6d 70 72 6f 76 65 64 20 74 68  Ok?. Improved th
25480 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e  e documentation.
25490 20 28 44 4c 29 2e 0a 0a 38 2f 32 32 2f 39 37 20   (DL)...8/22/97 
254a0 28 62 75 67 20 66 69 78 29 20 55 70 64 61 74 65  (bug fix) Update
254b0 64 20 50 72 69 6e 74 44 62 6c 2e 33 20 74 6f 20  d PrintDbl.3 to 
254c0 72 65 66 6c 65 63 74 20 74 68 65 20 66 61 63 74  reflect the fact
254d0 20 74 68 61 74 20 74 68 65 0a 74 63 6c 5f 70 72   that the.tcl_pr
254e0 65 63 69 73 69 6f 6e 20 76 61 72 69 61 62 6c 65  ecision variable
254f0 20 69 73 20 73 74 69 6c 6c 20 75 73 65 64 20 61   is still used a
25500 6e 64 20 74 68 61 74 20 69 74 20 69 73 20 6e 6f  nd that it is no
25510 77 20 73 68 61 72 65 64 20 62 79 20 61 6c 6c 0a  w shared by all.
25520 69 6e 74 65 72 70 72 65 74 65 72 73 2e 20 28 42  interpreters. (B
25530 4c 29 0a 0a 38 2f 32 35 2f 39 37 20 28 62 75 67  L)..8/25/97 (bug
25540 20 66 69 78 29 20 46 69 78 65 64 20 61 72 72 61   fix) Fixed arra
25550 79 20 61 63 63 65 73 73 20 62 75 67 20 69 6e 20  y access bug in 
25560 49 6c 6c 65 67 61 6c 45 78 70 72 4f 70 65 72 61  IllegalExprOpera
25570 6e 64 54 79 70 65 0a 70 72 6f 63 65 64 75 72 65  ndType.procedure
25580 20 69 6e 20 74 63 6c 45 78 65 63 75 74 65 2e 63   in tclExecute.c
25590 3a 20 69 74 20 77 61 73 20 6e 6f 74 20 70 72 6f  : it was not pro
255a0 70 65 72 6c 79 20 73 75 70 70 6f 72 74 69 6e 67  perly supporting
255b0 20 74 68 65 20 7c 7c 20 61 6e 64 20 26 26 0a 6f   the || and &&.o
255c0 70 65 72 61 74 6f 72 73 2e 20 28 42 4c 29 0a 0a  perators. (BL)..
255d0 38 2f 32 37 2f 39 37 20 28 62 75 67 20 66 69 78  8/27/97 (bug fix
255e0 29 20 49 6e 20 63 61 73 65 73 20 77 68 65 72 65  ) In cases where
255f0 20 61 20 63 68 61 6e 6e 65 6c 20 68 61 6e 64 6c   a channel handl
25600 65 72 20 77 61 73 20 63 72 65 61 74 65 64 20 77  er was created w
25610 69 74 68 20 61 6e 0a 65 6d 70 74 79 20 65 76 65  ith an.empty eve
25620 6e 74 20 6d 61 73 6b 20 77 68 69 6c 65 20 64 61  nt mask while da
25630 74 61 20 77 61 73 20 73 74 69 6c 6c 20 62 75 66  ta was still buf
25640 66 65 72 65 64 20 69 6e 20 74 68 65 20 63 68 61  fered in the cha
25650 6e 6e 65 6c 2c 20 74 68 65 0a 63 68 61 6e 6e 65  nnel, the.channe
25660 6c 20 63 6f 64 65 20 77 6f 75 6c 64 20 67 65 74  l code would get
25670 20 73 74 75 63 6b 20 73 70 69 6e 6e 69 6e 67 20   stuck spinning 
25680 6f 6e 20 61 20 74 69 6d 65 72 20 74 68 61 74 20  on a timer that 
25690 77 6f 75 6c 64 20 73 74 61 72 76 65 0a 69 64 6c  would starve.idl
256a0 65 20 68 61 6e 64 6c 65 72 73 2e 20 20 54 68 69  e handlers.  Thi
256b0 73 20 6d 6f 73 74 6c 79 20 68 61 70 70 65 6e 65  s mostly happene
256c0 64 20 69 6e 20 54 6b 20 77 68 65 6e 20 72 65 61  d in Tk when rea
256d0 64 69 6e 67 20 66 72 6f 6d 20 73 74 64 69 6e 2e  ding from stdin.
256e0 20 28 53 53 29 0a 0a 39 2f 34 2f 39 37 20 28 62   (SS)..9/4/97 (b
256f0 75 67 20 66 69 78 29 20 53 6c 61 76 65 20 69 6e  ug fix) Slave in
25700 74 65 72 70 73 20 6e 6f 77 20 69 6e 68 65 72 69  terps now inheri
25710 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 72 65  t the maximum re
25720 63 75 72 73 69 6f 6e 20 6c 69 6d 69 74 0a 6f 66  cursion limit.of
25730 20 74 68 65 69 72 20 70 61 72 65 6e 74 20 69 6e   their parent in
25740 73 74 65 61 64 20 6f 66 20 73 74 61 72 74 69 6e  stead of startin
25750 67 20 62 61 63 6b 20 61 74 20 74 68 65 20 64 65  g back at the de
25760 66 61 75 6c 74 2e 20 7b 6e 62 3a 20 74 68 69 73  fault. {nb: this
25770 20 73 74 69 6c 6c 0a 64 6f 65 73 20 6e 6f 74 20   still.does not 
25780 70 72 65 76 65 6e 74 20 73 74 61 63 6b 20 6f 76  prevent stack ov
25790 65 72 66 6c 6f 77 20 62 79 20 6d 75 6c 74 69 2d  erflow by multi-
257a0 69 6e 74 65 72 70 73 20 72 65 63 75 72 73 69 6f  interps recursio
257b0 6e 20 6f 72 20 61 6c 69 61 73 69 6e 67 7d 20 28  n or aliasing} (
257c0 44 4c 29 0a 0a 39 2f 31 31 2f 39 37 20 28 62 75  DL)..9/11/97 (bu
257d0 67 20 66 69 78 29 20 41 6e 20 75 6e 69 6e 69 74  g fix) An uninit
257e0 69 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65  ialized variable
257f0 20 69 6e 20 54 63 6c 5f 57 61 69 74 50 69 64 20   in Tcl_WaitPid 
25800 63 61 75 73 65 64 0a 70 69 70 65 73 20 74 6f 20  caused.pipes to 
25810 66 61 69 6c 20 74 6f 20 72 65 70 6f 72 74 20 65  fail to report e
25820 6f 66 20 70 72 6f 70 65 72 6c 79 20 75 6e 64 65  of properly unde
25830 72 20 57 69 6e 64 6f 77 73 2e 20 28 53 53 29 0a  r Windows. (SS).
25840 0a 39 2f 31 32 2f 39 37 20 28 62 75 67 20 66 69  .9/12/97 (bug fi
25850 78 29 20 22 65 78 65 63 22 20 77 61 73 20 6d 69  x) "exec" was mi
25860 73 69 64 65 6e 74 69 66 79 69 6e 67 20 73 6f 6d  sidentifying som
25870 65 20 44 4f 53 20 65 78 65 63 75 74 61 62 6c 65  e DOS executable
25880 73 20 61 73 20 6e 6f 74 20 0a 65 78 65 63 75 74  s as not .execut
25890 61 62 6c 65 2e 20 28 43 43 53 29 0a 0a 39 2f 31  able. (CCS)..9/1
258a0 34 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 57  4/97 (bug fix) W
258b0 61 73 20 75 73 69 6e 67 20 74 68 65 20 77 72 6f  as using the wro
258c0 6e 67 20 73 74 72 75 63 74 75 72 65 20 69 6e 20  ng structure in 
258d0 73 69 7a 65 6f 66 20 6f 70 65 72 61 74 69 6f 6e  sizeof operation
258e0 20 69 6e 0a 74 63 6c 55 6e 69 78 43 68 61 6e 2e   in.tclUnixChan.
258f0 63 2e 20 28 4a 4c 29 0a 0a 39 2f 31 35 2f 39 37  c. (JL)..9/15/97
25900 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
25910 20 6e 6f 74 69 66 69 65 72 20 74 6f 20 62 72 65   notifier to bre
25920 61 6b 20 6f 75 74 20 6f 66 20 64 6f 2d 6f 6e 65  ak out of do-one
25930 2d 65 76 65 6e 74 20 6c 6f 6f 70 20 69 66 0a 54  -event loop if.T
25940 63 6c 5f 57 61 69 74 46 6f 72 45 76 65 6e 74 20  cl_WaitForEvent 
25950 72 65 74 75 72 6e 73 20 31 2c 20 73 6f 20 74 68  returns 1, so th
25960 61 74 20 63 61 6c 6c 65 72 73 20 6f 66 20 54 63  at callers of Tc
25970 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74 20 77 69 6c  l_DoOneEvent wil
25980 6c 20 67 65 74 0a 61 20 63 68 61 6e 63 65 20 74  l get.a chance t
25990 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20  o check whether 
259a0 74 68 65 20 65 76 65 6e 74 20 6a 75 73 74 20 68  the event just h
259b0 61 6e 64 6c 65 64 20 69 73 20 73 69 67 6e 69 66  andled is signif
259c0 69 63 61 6e 74 2e 20 54 68 69 73 0a 61 66 66 65  icant. This.affe
259d0 63 74 65 64 20 6d 61 69 6e 6c 79 20 72 65 63 75  cted mainly recu
259e0 72 73 69 76 65 20 63 61 6c 6c 73 20 74 6f 20 54  rsive calls to T
259f0 63 6c 5f 56 57 61 69 74 43 6d 64 3b 20 74 68 65  cl_VWaitCmd; the
25a00 73 65 20 64 69 64 20 6e 6f 74 20 67 65 74 20 61  se did not get a
25a10 0a 63 68 61 6e 63 65 20 74 6f 20 6e 6f 74 69 63  .chance to notic
25a20 65 20 74 68 61 74 20 74 68 65 20 76 61 72 69 61  e that the varia
25a30 62 6c 65 20 74 68 65 79 20 77 65 72 65 20 77 61  ble they were wa
25a40 69 74 69 6e 67 20 66 6f 72 20 68 61 73 20 62 65  iting for has be
25a50 65 6e 20 73 65 74 0a 61 6e 64 20 74 68 75 73 20  en set.and thus 
25a60 74 68 65 79 20 64 69 64 6e 27 74 20 74 65 72 6d  they didn't term
25a70 69 6e 61 74 65 20 74 68 65 20 76 77 61 69 74 2e  inate the vwait.
25a80 20 28 4a 4c 2c 20 44 4c 2c 20 53 53 29 0a 0a 39   (JL, DL, SS)..9
25a90 2f 31 35 2f 39 37 20 28 62 75 67 20 66 69 78 29  /15/97 (bug fix)
25aa0 20 41 6c 69 67 6e 6d 65 6e 74 20 70 72 6f 62 6c   Alignment probl
25ab0 65 6d 73 20 69 6e 20 22 62 69 6e 61 72 79 20 66  ems in "binary f
25ac0 6f 72 6d 61 74 22 20 77 6f 75 6c 64 20 63 61 75  ormat" would cau
25ad0 73 65 20 61 0a 63 72 61 73 68 20 6f 6e 20 73 6f  se a.crash on so
25ae0 6d 65 20 70 6c 61 74 66 6f 72 6d 73 20 77 68 65  me platforms whe
25af0 6e 20 66 6f 72 6d 61 74 74 69 6e 67 20 66 6c 6f  n formatting flo
25b00 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62  ating point numb
25b10 65 72 73 2e 20 28 53 53 29 0a 0a 39 2f 31 35 2f  ers. (SS)..9/15/
25b20 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
25b30 65 64 20 62 75 67 20 69 6e 20 4d 61 63 69 6e 74  ed bug in Macint
25b40 6f 73 68 20 73 6f 63 6b 65 74 20 63 6f 64 65 2e  osh socket code.
25b50 20 20 4e 6f 77 20 70 61 73 73 65 73 20 61 6c 6c    Now passes all
25b60 0a 74 65 73 74 73 20 69 6e 20 73 6f 63 6b 65 74  .tests in socket
25b70 2e 74 65 73 74 20 74 68 61 74 20 61 72 65 20 6e  .test that are n
25b80 6f 74 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 63  ot platform spec
25b90 69 66 69 63 2e 20 28 54 68 61 6e 6b 73 20 74 6f  ific. (Thanks to
25ba0 20 4d 61 72 6b 0a 52 6f 73 65 6d 61 6e 20 66 6f   Mark.Roseman fo
25bb0 72 20 74 68 65 20 70 6f 69 6e 74 65 72 20 6f 6e  r the pointer on
25bc0 20 74 68 65 20 66 69 78 2e 29 20 20 28 52 4a 29   the fix.)  (RJ)
25bd0 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66  ..9/18/97 (bug f
25be0 69 78 29 20 46 69 78 65 64 20 62 75 67 20 2d 64  ix) Fixed bug -d
25bf0 69 63 74 69 6f 6e 61 72 79 20 6f 70 74 69 6f 6e  ictionary option
25c00 20 6f 66 20 6c 73 6f 72 74 20 74 68 61 74 20 63   of lsort that c
25c10 6f 75 6c 64 0a 63 61 75 73 65 20 74 68 65 20 63  ould.cause the c
25c20 6f 6d 70 61 72 65 20 66 75 6e 63 74 69 6f 6e 20  ompare function 
25c30 74 6f 20 72 75 6e 20 6f 66 66 20 74 68 65 20 65  to run off the e
25c40 6e 64 20 6f 66 20 61 6e 20 61 72 72 61 79 20 69  nd of an array i
25c50 66 20 74 68 65 0a 6e 75 6d 62 65 72 20 6f 6e 6c  f the.number onl
25c60 79 20 63 6f 6e 74 61 69 6e 65 64 20 30 27 73 2e  y contained 0's.
25c70 20 28 54 68 61 6e 6b 73 20 74 6f 20 47 72 65 67   (Thanks to Greg
25c80 20 43 6f 75 63 68 20 66 6f 72 20 74 68 65 20 72   Couch for the r
25c90 65 70 6f 72 74 2e 29 20 28 52 4a 29 0a 0a 39 2f  eport.) (RJ)..9/
25ca0 31 38 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  18/97 (bug fix) 
25cb0 54 63 6c 46 69 6e 61 6c 69 7a 65 45 6e 76 69 72  TclFinalizeEnvir
25cc0 6f 6e 6d 65 6e 74 20 77 61 73 20 6e 6f 74 20 63  onment was not c
25cd0 6c 65 61 6e 69 6e 67 20 75 70 20 0a 70 72 6f 70  leaning up .prop
25ce0 65 72 6c 79 2e 20 28 44 4c 2c 20 4a 49 29 0a 0a  erly. (DL, JI)..
25cf0 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66 69 78  9/18/97 (bug fix
25d00 29 20 46 69 78 65 64 20 6c 6f 6e 67 2d 73 74 61  ) Fixed long-sta
25d10 6e 64 69 6e 67 20 62 75 67 20 77 68 65 72 65 20  nding bug where 
25d20 61 6e 20 22 61 72 72 61 79 20 67 65 74 22 20 63  an "array get" c
25d30 6f 6d 6d 61 6e 64 0a 64 69 64 20 6e 6f 74 20 74  ommand.did not t
25d40 72 69 67 67 65 72 20 74 72 61 63 65 73 20 6f 6e  rigger traces on
25d50 20 74 68 65 20 61 72 72 61 79 20 6f 72 20 69 74   the array or it
25d60 73 20 65 6c 65 6d 65 6e 74 73 2e 20 28 42 4c 29  s elements. (BL)
25d70 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66  ..9/18/97 (bug f
25d80 69 78 65 73 29 20 46 69 78 65 64 20 63 6f 6d 70  ixes) Fixed comp
25d90 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64 20  ilation-related 
25da0 62 75 67 73 3a 0a 20 20 20 20 2d 20 46 69 78 65  bugs:.    - Fixe
25db0 64 20 65 72 72 6f 72 49 6e 66 6f 20 74 72 61 63  d errorInfo trac
25dc0 65 62 61 63 6b 20 69 6e 66 6f 72 6d 61 74 69 6f  eback informatio
25dd0 6e 20 66 6f 72 20 74 6f 70 6c 65 76 65 6c 20 63  n for toplevel c
25de0 6f 6f 6d 61 6e 64 73 20 74 68 61 74 0a 20 20 20  oomands that.   
25df0 20 20 20 63 6f 6e 74 61 69 6e 20 6e 65 73 74 65     contain neste
25e00 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20  d commands..    
25e10 2d 20 49 6e 20 74 68 65 20 65 78 70 72 20 63 6f  - In the expr co
25e20 6d 6d 61 6e 64 2c 20 26 26 20 61 6e 64 20 7c 7c  mmand, && and ||
25e30 20 6e 6f 77 20 61 63 63 65 70 74 20 62 6f 6f 6c   now accept bool
25e40 65 61 6e 20 6f 70 65 72 61 6e 64 73 20 61 73 20  ean operands as 
25e50 77 65 6c 6c 0a 20 20 20 20 20 20 61 73 20 6e 75  well.      as nu
25e60 6d 65 72 69 63 20 6f 6e 65 73 2e 20 28 42 4c 29  meric ones. (BL)
25e70 0a 0a 39 2f 32 32 2f 39 37 20 28 62 75 67 20 66  ..9/22/97 (bug f
25e80 69 78 29 20 46 69 78 65 64 20 62 75 67 20 74 68  ix) Fixed bug th
25e90 61 74 20 70 72 65 76 65 6e 74 65 64 20 74 72 61  at prevented tra
25ea0 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 73 20 66  nslation modes f
25eb0 72 6f 6d 20 62 65 69 6e 67 0a 73 65 74 20 69 6e  rom being.set in
25ec0 64 65 70 65 6e 64 65 6e 74 6c 79 20 66 6f 72 20  dependently for 
25ed0 69 6e 70 75 74 20 61 6e 64 20 6f 75 74 70 75 74  input and output
25ee0 20 6f 6e 20 73 6f 63 6b 65 74 73 20 69 66 20 69   on sockets if i
25ef0 6e 70 75 74 20 77 61 73 20 22 61 75 74 6f 22 2e  nput was "auto".
25f00 20 28 4a 4c 29 0a 0a 39 2f 32 34 2f 39 37 20 28   (JL)..9/24/97 (
25f10 62 75 67 20 66 69 78 29 20 54 63 6c 5f 45 76 61  bug fix) Tcl_Eva
25f20 6c 46 69 6c 65 28 33 29 20 61 6e 64 20 74 68 75  lFile(3) and thu
25f30 73 20 73 6f 75 72 63 65 28 6e 29 20 6e 6f 77 20  s source(n) now 
25f40 77 6f 72 6b 73 20 66 69 6e 65 20 6f 6e 0a 66 69  works fine on.fi
25f50 6c 65 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 4e  les containing N
25f60 55 4c 20 63 68 61 72 73 2e 20 28 44 4c 29 0a 0a  UL chars. (DL)..
25f70 39 2f 32 36 2f 39 37 20 28 62 75 67 20 66 69 78  9/26/97 (bug fix
25f80 29 20 46 69 78 65 64 20 75 73 65 20 6f 66 20 75  ) Fixed use of u
25f90 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d 65 6d  ninitialized mem
25fa0 6f 72 79 20 69 6e 20 74 68 65 20 65 6e 76 69 72  ory in the envir
25fb0 6f 6e 20 61 72 72 61 79 0a 74 68 61 74 20 6c 61  on array.that la
25fc0 74 65 72 20 63 6f 75 6c 64 20 63 61 75 73 65 20  ter could cause 
25fd0 72 61 6e 64 6f 6d 20 63 6f 72 65 20 64 75 6d 70  random core dump
25fe0 73 2e 20 41 70 70 6c 69 65 73 20 74 6f 20 61 6c  s. Applies to al
25ff0 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 20 28 4a 4c  l platforms. (JL
26000 29 0a 0a 39 2f 32 36 2f 39 37 20 28 62 75 67 20  )..9/26/97 (bug 
26010 66 69 78 29 20 46 69 78 65 64 20 75 73 65 20 6f  fix) Fixed use o
26020 66 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20  f uninitialized 
26030 6d 65 6d 6f 72 79 20 69 6e 20 73 6f 63 6b 65 74  memory in socket
26040 20 61 64 64 72 65 73 73 20 64 61 74 61 0a 73 74   address data.st
26050 72 75 63 74 75 72 65 20 75 6e 64 65 72 20 73 6f  ructure under so
26060 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73  me circumstances
26070 2e 20 54 68 69 73 20 63 6f 75 6c 64 20 63 61 75  . This could cau
26080 73 65 20 72 61 6e 64 6f 6d 20 63 6f 72 65 20 64  se random core d
26090 75 6d 70 73 2e 0a 54 68 69 73 20 61 70 70 6c 69  umps..This appli
260a0 65 73 20 6f 6e 6c 79 20 74 6f 20 55 6e 69 78 2e  es only to Unix.
260b0 20 28 4a 4c 29 0a 0a 39 2f 32 36 2f 39 37 20 28   (JL)..9/26/97 (
260c0 62 75 67 20 66 69 78 29 20 4f 70 65 6e 69 6e 67  bug fix) Opening
260d0 20 66 69 6c 65 73 20 6f 6e 20 50 43 2d 4e 46 53   files on PC-NFS
260e0 20 76 6f 6c 75 6d 65 73 20 77 6f 75 6c 64 20 63   volumes would c
260f0 61 75 73 65 20 61 20 68 61 6e 67 0a 75 6e 74 69  ause a hang.unti
26100 6c 20 74 68 65 20 73 79 73 74 65 6d 20 74 69 6d  l the system tim
26110 65 64 20 61 66 74 65 72 20 74 68 65 20 66 69 6c  ed after the fil
26120 65 20 77 61 73 20 63 6c 6f 73 65 64 2e 20 28 53  e was closed. (S
26130 53 29 0a 0a 31 30 2f 36 2f 39 37 20 28 62 75 67  S)..10/6/97 (bug
26140 20 66 69 78 29 20 54 68 65 20 6a 6f 69 6e 28 6e   fix) The join(n
26150 29 20 63 6f 6d 6d 61 6e 64 2c 20 74 68 6f 75 67  ) command, thoug
26160 68 20 6f 62 6a 65 63 74 69 66 69 65 64 2c 20 77  h objectified, w
26170 61 73 20 6c 6f 6f 73 69 6e 67 0a 4e 55 4c 73 20  as loosing.NULs 
26180 69 6e 20 74 68 65 20 6a 6f 69 6e 53 74 72 69 6e  in the joinStrin
26190 67 20 61 6e 64 20 69 6e 20 6c 69 73 74 20 65 6c  g and in list el
261a0 65 6d 65 6e 74 73 20 61 66 74 65 72 20 74 68 65  ements after the
261b0 20 32 6e 64 20 6f 6e 65 2e 0a 4e 6f 77 20 79 6f   2nd one..Now yo
261c0 75 20 63 61 6e 20 22 6a 6f 69 6e 20 24 6c 69 73  u can "join $lis
261d0 74 20 5c 30 22 20 66 6f 72 20 69 6e 73 74 61 6e  t \0" for instan
261e0 63 65 2e 20 28 44 4c 29 0a 0a 31 30 2f 39 2f 39  ce. (DL)..10/9/9
261f0 37 20 28 62 75 67 20 66 69 78 29 20 55 6e 64 65  7 (bug fix) Unde
26200 72 20 77 69 6e 64 6f 77 73 2c 20 69 66 20 65 6e  r windows, if en
26210 76 28 54 4d 50 29 20 6f 72 20 65 6e 76 28 54 45  v(TMP) or env(TE
26220 4d 50 29 20 72 65 66 65 72 72 65 64 20 74 6f 20  MP) referred to 
26230 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 64  a.non-existent d
26240 69 72 65 63 74 6f 72 79 2c 20 65 78 65 63 20 77  irectory, exec w
26250 6f 75 6c 64 20 66 61 69 6c 20 77 68 65 6e 20 74  ould fail when t
26260 72 79 69 6e 67 20 74 6f 20 63 72 65 61 74 65 20  rying to create 
26270 69 74 73 20 74 65 6d 70 6f 72 61 72 79 0a 66 69  its temporary.fi
26280 6c 65 73 2e 20 28 43 43 53 29 0a 0a 31 30 2f 39  les. (CCS)..10/9
26290 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 55 6e  /97 (bug fix) Un
262a0 64 65 72 20 6d 61 63 20 61 6e 64 20 77 69 6e 64  der mac and wind
262b0 6f 77 73 2c 20 22 69 6e 66 6f 20 68 6f 73 74 6e  ows, "info hostn
262c0 61 6d 65 22 20 77 6f 75 6c 64 20 63 72 61 73 68  ame" would crash
262d0 20 69 66 20 0a 73 6f 63 6b 65 74 73 20 77 65 72   if .sockets wer
262e0 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 75 74 20  e installed but 
262f0 74 68 65 20 68 6f 73 74 6e 61 6d 65 20 63 6f 75  the hostname cou
26300 6c 64 20 6e 6f 74 20 62 65 20 64 65 74 65 72 6d  ld not be determ
26310 69 6e 65 64 20 61 6e 79 68 6f 77 2e 0a 54 63 6c  ined anyhow..Tcl
26320 5f 47 65 74 48 6f 73 74 4e 61 6d 65 28 29 20 77  _GetHostName() w
26330 61 73 20 72 65 74 75 72 6e 69 6e 67 20 4e 55 4c  as returning NUL
26340 4c 20 77 68 65 6e 20 69 74 20 73 68 6f 75 6c 64  L when it should
26350 20 68 61 76 65 20 62 65 65 6e 20 72 65 74 75 72   have been retur
26360 6e 69 6e 67 20 0a 61 6e 20 65 6d 70 74 79 20 73  ning .an empty s
26370 74 72 69 6e 67 2e 20 28 43 43 53 29 0a 0a 31 30  tring. (CCS)..10
26380 2f 31 30 2f 39 37 20 28 62 75 67 20 66 69 78 29  /10/97 (bug fix)
26390 20 22 66 69 6c 65 20 61 74 74 72 69 62 75 74 65   "file attribute
263a0 20 2f 22 20 72 65 74 75 72 6e 65 64 20 65 72 72   /" returned err
263b0 6f 72 20 6f 6e 20 77 69 6e 64 6f 77 73 2e 20 28  or on windows. (
263c0 43 43 53 29 0a 0a 31 30 2f 31 30 2f 39 37 20 28  CCS)..10/10/97 (
263d0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 74  bug fix) Fixed t
263e0 68 65 20 61 75 74 6f 5f 6c 6f 61 64 20 70 72 6f  he auto_load pro
263f0 63 65 64 75 72 65 20 74 6f 20 68 61 6e 64 6c 65  cedure to handle
26400 20 70 72 6f 63 65 64 75 72 65 73 0a 64 65 66 69   procedures.defi
26410 6e 65 64 20 69 6e 20 6e 61 6d 65 73 70 61 63 65  ned in namespace
26420 73 20 62 65 74 74 65 72 2e 20 20 41 6c 73 6f 20  s better.  Also 
26430 66 69 78 65 64 20 70 67 6b 5f 6d 6b 49 6e 64 65  fixed pgk_mkInde
26440 78 20 73 6f 20 69 74 20 73 65 65 73 20 70 72 6f  x so it sees pro
26450 63 65 64 75 72 65 73 0a 64 65 66 69 6e 65 64 20  cedures.defined 
26460 69 6e 20 6e 65 73 74 65 64 20 6e 61 6d 65 73 70  in nested namesp
26470 61 63 65 73 2e 20 20 49 6e 64 65 78 20 65 6e 74  aces.  Index ent
26480 72 69 65 73 20 61 72 65 20 73 74 69 6c 6c 20 6f  ries are still o
26490 6e 6c 79 20 6d 61 64 65 20 66 6f 72 0a 65 78 70  nly made for.exp
264a0 6f 72 74 65 64 20 70 72 6f 63 65 64 75 72 65 73  orted procedures
264b0 2e 20 28 42 57 29 0a 0a 31 30 2f 31 33 2f 39 37  . (BW)..10/13/97
264c0 20 28 62 75 67 20 66 69 78 29 20 4f 6e 20 75 6e   (bug fix) On un
264d0 69 78 2c 20 66 6f 72 20 66 69 6c 65 73 20 77 69  ix, for files wi
264e0 74 68 20 75 6e 6b 6e 6f 77 6e 20 67 72 6f 75 70  th unknown group
264f0 20 6f 72 20 6f 77 6e 65 72 0a 61 74 74 72 69 62   or owner.attrib
26500 75 74 65 73 2c 20 71 75 65 72 79 69 6e 67 20 74  utes, querying t
26510 68 65 20 22 66 69 6c 65 20 61 74 74 72 69 62 75  he "file attribu
26520 74 65 73 22 20 77 6f 75 6c 64 20 72 65 74 75 72  tes" would retur
26530 6e 20 61 6e 20 65 72 72 6f 72 20 72 61 74 68 65  n an error rathe
26540 72 20 74 68 61 6e 0a 72 65 74 75 72 6e 69 6e 67  r than.returning
26550 20 74 68 65 20 67 72 6f 75 70 27 73 20 6f 72 20   the group's or 
26560 6f 77 6e 65 72 27 73 20 69 64 20 6e 75 6d 62 65  owner's id numbe
26570 72 2c 20 61 6c 74 68 6f 75 67 68 20 74 68 61 20  r, although tha 
26580 63 6f 6d 6d 61 6e 64 20 61 63 63 65 70 74 73 0a  command accepts.
26590 6e 75 6d 62 65 72 73 20 77 68 65 6e 20 73 65 74  numbers when set
265a0 74 69 6e 67 20 74 68 65 20 66 69 6c 65 27 73 20  ting the file's 
265b0 67 72 6f 75 70 20 6f 72 20 6f 77 6e 65 72 2e 20  group or owner. 
265c0 20 28 43 43 53 29 0a 0a 31 30 2f 32 32 2f 39 37   (CCS)..10/22/97
265d0 20 28 62 75 67 20 66 69 78 29 20 22 66 63 6f 70   (bug fix) "fcop
265e0 79 22 20 64 69 64 20 6e 6f 74 20 65 76 61 6c 20  y" did not eval 
265f0 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 73 63 72  the callback scr
26600 69 70 74 20 61 74 20 74 68 65 0a 67 6c 6f 62 61  ipt at the.globa
26610 6c 20 73 63 6f 70 65 2e 20 28 53 53 29 0a 0a 31  l scope. (SS)..1
26620 30 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69 78  0/22/97 (bug fix
26630 29 20 46 69 78 65 64 20 74 68 65 20 73 69 67 6e  ) Fixed the sign
26640 61 74 75 72 65 20 6f 66 20 74 68 65 20 43 6f 70  ature of the Cop
26650 79 44 6f 6e 65 20 63 61 6c 6c 62 61 63 6b 20 75  yDone callback u
26660 73 65 64 20 69 6e 0a 74 68 65 20 68 74 74 70 20  sed in.the http 
26670 70 61 63 6b 61 67 65 28 73 29 20 73 6f 20 74 68  package(s) so th
26680 65 79 20 63 61 6e 20 68 61 6e 64 6c 65 20 65 72  ey can handle er
26690 72 6f 72 20 63 61 73 65 73 20 70 72 6f 70 65 72  ror cases proper
266a0 6c 79 2e 20 28 42 57 29 0a 0a 31 30 2f 32 38 2f  ly. (BW)..10/28/
266b0 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20 46  97 (bug fixes) F
266c0 69 78 65 64 20 61 20 70 72 6f 62 6c 65 6d 20 77  ixed a problem w
266d0 68 65 72 65 20 6c 61 70 70 65 6e 64 20 77 6f 75  here lappend wou
266e0 6c 64 20 66 72 65 65 20 74 68 65 20 54 63 6c 20  ld free the Tcl 
266f0 6f 62 6a 65 63 74 0a 69 6e 20 61 20 76 61 72 69  object.in a vari
26700 61 62 6c 65 20 69 66 20 61 20 54 63 6c 5f 4f 62  able if a Tcl_Ob
26710 6a 53 65 74 56 61 72 32 20 66 61 69 6c 65 64 20  jSetVar2 failed 
26720 62 65 63 61 75 73 65 20 6f 66 20 61 6e 20 65 72  because of an er
26730 72 6f 72 20 63 61 6c 6c 69 6e 67 20 61 20 74 72  ror calling a tr
26740 61 63 65 0a 6f 6e 20 74 68 65 20 76 61 72 69 61  ace.on the varia
26750 62 6c 65 2e 20 28 42 4c 29 0a 0a 31 30 2f 32 38  ble. (BL)..10/28
26760 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 43 68  /97 (bug fix) Ch
26770 61 6e 67 65 64 20 62 69 6e 61 72 79 20 73 63 61  anged binary sca
26780 6e 20 74 6f 20 70 72 6f 70 65 72 6c 79 20 68 61  n to properly ha
26790 6e 64 6c 65 20 73 69 67 6e 0a 65 78 74 65 6e 73  ndle sign.extens
267a0 69 6f 6e 20 6f 66 20 69 6e 74 65 67 65 72 73 20  ion of integers 
267b0 6f 6e 20 36 34 2d 62 69 74 20 6f 72 20 6c 61 72  on 64-bit or lar
267c0 67 65 72 20 6d 61 63 68 69 6e 65 73 2e 20 28 53  ger machines. (S
267d0 53 29 0a 0a 31 31 2f 33 2f 39 37 20 28 62 75 67  S)..11/3/97 (bug
267e0 20 66 69 78 65 73 29 20 46 69 78 65 64 20 73 65   fixes) Fixed se
267f0 76 65 72 61 6c 20 62 75 67 73 3a 0a 20 20 20 20  veral bugs:.    
26800 2d 20 65 78 70 72 65 73 73 69 6f 6e 73 20 73 75  - expressions su
26810 63 68 20 61 73 20 22 65 78 70 72 20 28 24 78 29  ch as "expr ($x)
26820 22 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 69 6c  " must be compil
26830 65 64 20 6f 75 74 2d 6f 66 2d 6c 69 6e 65 0a 20  ed out-of-line. 
26840 20 20 20 20 20 28 63 61 6c 6c 20 74 68 65 20 65       (call the e
26850 78 70 72 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63  xpr command proc
26860 65 64 75 72 65 20 61 74 20 72 75 6e 74 69 6d 65  edure at runtime
26870 29 20 74 6f 20 65 6e 73 75 72 65 20 74 68 65 20  ) to ensure the 
26880 63 6f 72 72 65 63 74 0a 20 20 20 20 20 20 62 65  correct.      be
26890 68 61 76 69 6f 72 20 77 68 65 6e 20 22 24 78 22  havior when "$x"
268a0 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f   is an expressio
268b0 6e 20 73 75 63 68 20 61 73 20 22 35 2b 31 30 22  n such as "5+10"
268c0 2e 0a 20 20 20 20 2d 20 22 61 72 72 61 79 20 73  ..    - "array s
268d0 65 74 20 61 20 7b 7d 22 20 6e 6f 77 20 63 72 65  et a {}" now cre
268e0 61 74 65 73 20 61 20 6e 65 77 20 61 72 72 61 79  ates a new array
268f0 20 76 61 72 20 77 69 74 68 20 61 6e 20 65 6d 70   var with an emp
26900 74 79 20 61 72 72 61 79 0a 20 20 20 20 20 20 76  ty array.      v
26910 61 6c 75 65 20 69 66 20 74 68 65 20 76 61 72 20  alue if the var 
26920 64 69 64 6e 27 74 20 61 6c 72 65 61 64 79 20 65  didn't already e
26930 78 69 73 74 2e 0a 20 20 20 20 2d 20 22 6c 72 65  xist..    - "lre
26940 70 6c 61 63 65 20 24 66 6f 6f 20 65 6e 64 20 65  place $foo end e
26950 6e 64 22 20 6e 6f 20 6c 6f 6e 67 65 72 20 72 65  nd" no longer re
26960 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 28  turns an error (
26970 6a 75 73 74 20 61 6e 20 65 6d 70 74 79 0a 20 20  just an empty.  
26980 20 20 20 20 6c 69 73 74 29 20 69 66 20 66 6f 6f      list) if foo
26990 20 69 73 20 65 6d 70 74 79 2e 0a 20 20 20 20 2d   is empty..    -
269a0 20 75 70 76 61 72 20 77 69 6c 6c 20 6e 6f 20 6c   upvar will no l
269b0 6f 6e 67 65 72 20 63 72 65 61 74 65 20 61 20 76  onger create a v
269c0 61 72 69 61 62 6c 65 20 69 6e 20 61 20 6e 61 6d  ariable in a nam
269d0 65 73 70 61 63 65 20 74 68 61 74 20 72 65 66 65  espace that refe
269e0 72 73 0a 20 20 20 20 20 20 74 6f 20 61 20 76 61  rs.      to a va
269f0 72 69 61 62 6c 65 20 69 6e 20 61 20 70 72 6f 63  riable in a proc
26a00 65 64 75 72 65 2e 0a 20 20 20 20 2d 20 64 65 6c  edure..    - del
26a10 65 74 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 20  eting a command 
26a20 74 72 61 63 65 20 77 69 74 68 69 6e 20 61 20 63  trace within a c
26a30 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20 63 61 6c  ommand trace cal
26a40 6c 62 61 63 6b 20 77 6f 75 6c 64 0a 20 20 20 20  lback would.    
26a50 20 20 6d 61 6b 65 20 74 68 65 20 63 6f 64 65 20    make the code 
26a60 74 68 61 74 20 63 61 6c 6c 73 20 74 72 61 63 65  that calls trace
26a70 73 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 66  s to reference f
26a80 72 65 65 64 20 6d 65 6d 6f 72 79 2e 0a 20 20 20  reed memory..   
26a90 20 2d 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79   - significantly
26aa0 20 73 70 65 64 20 75 70 20 22 73 74 72 69 6e 67   sped up "string
26ab0 20 66 69 72 73 74 22 20 61 6e 64 20 22 73 74 72   first" and "str
26ac0 69 6e 67 20 6c 61 73 74 22 20 28 66 69 78 20 66  ing last" (fix f
26ad0 72 6f 6d 0a 20 20 20 20 20 20 64 61 72 72 65 6c  rom.      darrel
26ae0 40 67 65 6d 73 74 6f 6e 65 2e 63 6f 6d 29 2e 0a  @gemstone.com)..
26af0 20 20 20 20 2d 20 73 65 67 20 66 61 75 6c 74 20      - seg fault 
26b00 69 6e 20 54 63 6c 5f 4e 65 77 53 74 72 69 6e 67  in Tcl_NewString
26b10 4f 62 6a 28 29 20 77 68 65 6e 20 61 20 4e 55 4c  Obj() when a NUL
26b20 4c 20 69 73 20 70 61 73 73 65 64 20 61 73 20 74  L is passed as t
26b30 68 65 20 62 79 74 65 0a 20 20 20 20 20 20 70 6f  he byte.      po
26b40 69 6e 74 65 72 20 61 72 67 75 6d 65 6e 74 20 61  inter argument a
26b50 6e 64 20 54 63 6c 20 69 73 20 63 6f 6d 70 69 6c  nd Tcl is compil
26b60 65 64 20 77 69 74 68 20 2d 44 54 43 4c 5f 4d 45  ed with -DTCL_ME
26b70 4d 5f 44 45 42 55 47 2e 0a 20 20 20 20 2d 20 64  M_DEBUG..    - d
26b80 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64  ocumentation and
26b90 20 65 72 72 6f 72 20 6d 73 67 20 66 69 78 65 73   error msg fixes
26ba0 2e 20 28 42 4c 29 0a 0a 31 31 2f 33 2f 39 37 20  . (BL)..11/3/97 
26bb0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
26bc0 61 20 6e 75 6d 62 65 72 20 6f 66 20 49 2f 4f 20  a number of I/O 
26bd0 62 75 67 73 20 72 65 6c 61 74 65 64 20 74 6f 20  bugs related to 
26be0 77 6f 72 64 20 73 69 7a 65 73 20 6f 6e 0a 36 34  word sizes on.64
26bf0 2d 62 69 74 20 6d 61 63 68 69 6e 65 73 2e 20 28  -bit machines. (
26c00 53 53 29 0a 0a 31 31 2f 36 2f 39 37 20 28 62 75  SS)..11/6/97 (bu
26c10 67 20 66 69 78 29 20 54 68 65 20 65 78 69 74 20  g fix) The exit 
26c20 63 6f 64 65 20 6f 66 20 74 68 65 20 66 69 72 73  code of the firs
26c30 74 20 70 72 6f 63 65 73 73 20 63 72 65 61 74 65  t process create
26c40 64 20 62 79 20 54 63 6c 0a 6f 6e 20 57 69 6e 64  d by Tcl.on Wind
26c50 6f 77 73 20 77 61 73 20 6e 6f 74 20 70 72 6f 70  ows was not prop
26c60 65 72 6c 79 20 72 65 70 6f 72 74 65 64 20 64 75  erly reported du
26c70 65 20 74 6f 20 61 6e 20 69 6e 69 74 69 61 6c 69  e to an initiali
26c80 7a 61 74 69 6f 6e 0a 70 72 6f 62 6c 65 6d 2e 20  zation.problem. 
26c90 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  (SS)..----------
26ca0 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
26cb0 20 38 2e 30 70 31 2c 20 31 31 2f 37 2f 39 37 20   8.0p1, 11/7/97 
26cc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
26cd0 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31 2f 31 39 2f 39  -------..11/19/9
26ce0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
26cf0 64 20 62 75 67 20 69 6e 20 6c 69 6e 73 65 72 74  d bug in linsert
26d00 20 77 68 65 72 65 20 69 74 20 73 6f 6d 65 74 69   where it someti
26d10 6d 65 73 20 61 63 63 69 64 65 6e 74 6c 79 0a 63  mes accidently.c
26d20 6c 65 61 72 65 64 20 6f 75 74 20 61 20 73 68 61  leared out a sha
26d30 72 65 64 20 61 72 67 75 6d 65 6e 74 20 6c 69 73  red argument lis
26d40 74 20 6f 62 6a 65 63 74 2e 20 28 42 4c 29 2e 0a  t object. (BL)..
26d50 0a 31 31 2f 31 39 2f 39 37 20 28 62 75 67 20 66  .11/19/97 (bug f
26d60 69 78 29 20 41 75 74 6f 6c 6f 61 64 69 6e 67 20  ix) Autoloading 
26d70 69 6e 20 6e 61 6d 65 73 70 61 63 65 73 20 77 61  in namespaces wa
26d80 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67 20 70 72  s not working pr
26d90 6f 70 65 72 6c 79 2e 0a 61 75 74 6f 5f 6d 6b 69  operly..auto_mki
26da0 6e 64 65 78 20 69 73 20 73 74 69 6c 6c 20 6e 6f  ndex is still no
26db0 74 20 72 65 61 6c 6c 79 20 6e 61 6d 65 73 70 61  t really namespa
26dc0 63 65 20 61 77 61 72 65 20 62 75 74 20 6d 6f 73  ce aware but mos
26dd0 74 20 63 6f 6d 6d 6f 6e 0a 63 61 73 65 73 20 73  t common.cases s
26de0 68 6f 75 6c 64 20 6e 6f 77 20 62 65 20 68 61 6e  hould now be han
26df0 64 6c 65 64 20 70 72 6f 70 65 72 6c 79 20 28 73  dled properly (s
26e00 65 65 20 69 6e 69 74 2e 74 65 73 74 29 2e 20 28  ee init.test). (
26e10 42 57 2c 20 44 4c 29 0a 0a 31 31 2f 32 30 2f 39  BW, DL)..11/20/9
26e20 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  7 (enhancement) 
26e30 4d 61 64 65 20 74 68 65 20 63 68 61 6e 67 65 73  Made the changes
26e40 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65   required by the
26e50 20 6e 65 77 20 41 70 70 6c 65 0a 55 6e 69 76 65   new Apple.Unive
26e60 72 73 61 6c 20 48 65 61 64 65 72 73 20 56 2e 33  rsal Headers V.3
26e70 2e 30 2c 20 73 6f 20 74 68 61 74 20 54 63 6c 20  .0, so that Tcl 
26e80 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 77 69 74  will compile wit
26e90 68 20 43 57 20 50 72 6f 20 32 2e 0a 0a 31 31 2f  h CW Pro 2...11/
26ea0 32 34 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  24/97 (bug fix) 
26eb0 46 69 78 65 64 20 74 65 73 74 73 20 69 6e 20 63  Fixed tests in c
26ec0 6c 6f 63 6b 20 74 65 73 74 20 73 75 69 74 65 20  lock test suite 
26ed0 74 68 61 74 20 6e 65 65 64 65 64 20 74 68 65 0a  that needed the.
26ee0 2d 67 6d 74 20 66 6c 61 67 20 73 65 74 2e 20 20  -gmt flag set.  
26ef0 54 68 61 6e 6b 73 20 74 6f 20 4a 61 6e 20 4e 69  Thanks to Jan Ni
26f00 6a 74 6d 61 6e 73 20 66 6f 72 20 72 65 70 6f 72  jtmans for repor
26f10 74 69 6e 67 20 74 68 65 20 70 72 6f 62 6c 65 6d  ting the problem
26f20 2e 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (RJ)..--------
26f30 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
26f40 65 64 20 38 2e 30 70 32 2c 20 31 31 2f 32 35 2f  ed 8.0p2, 11/25/
26f50 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  97 -------------
26f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 32 2f 33  ----------..12/3
26f70 2f 39 37 20 28 62 75 67 20 66 69 78 2f 6f 70 74  /97 (bug fix/opt
26f80 69 6d 69 7a 61 74 69 6f 6e 29 20 52 65 6d 6f 76  imization) Remov
26f90 65 64 20 75 6e 65 65 64 65 64 20 61 6e 64 20 70  ed uneeded and p
26fa0 6f 74 65 6e 74 69 61 6c 6c 79 20 64 61 6e 67 65  otentially dange
26fb0 72 6f 75 73 0a 69 6e 73 74 61 6e 63 65 73 20 6f  rous.instances o
26fc0 66 20 64 6f 75 62 6c 65 20 65 76 61 6c 75 61 74  f double evaluat
26fd0 69 6f 6e 73 20 69 66 20 22 69 66 22 20 61 6e 64  ions if "if" and
26fe0 20 22 65 78 70 72 22 20 73 74 61 74 65 6d 65 6e   "expr" statemen
26ff0 74 73 20 66 72 6f 6d 0a 74 68 65 20 6c 69 62 72  ts from.the libr
27000 61 72 79 20 66 69 6c 65 73 2e 20 49 74 20 69 73  ary files. It is
27010 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61   recommended tha
27020 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e 65 65  t unless you nee
27030 64 20 61 20 64 6f 75 62 6c 65 0a 65 76 61 6c 75  d a double.evalu
27040 61 74 69 6f 6e 20 79 6f 75 20 61 6c 77 61 79 73  ation you always
27050 20 75 73 65 20 22 65 78 70 72 20 7b 2e 2e 2e 7d   use "expr {...}
27060 22 20 69 6e 73 74 65 61 64 20 6f 66 20 22 65 78  " instead of "ex
27070 70 72 20 2e 2e 2e 22 20 61 6e 64 0a 22 69 66 20  pr ..." and."if 
27080 7b 2e 2e 2e 7d 20 2e 2e 2e 22 20 69 6e 73 74 65  {...} ..." inste
27090 61 64 20 6f 66 20 22 69 66 20 2e 2e 2e 20 2e 2e  ad of "if ... ..
270a0 2e 22 2e 20 49 74 20 77 69 6c 6c 20 61 6c 73 6f  .". It will also
270b0 20 62 65 20 66 61 73 74 65 72 0a 74 68 61 6e 6b   be faster.thank
270c0 73 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f  s to the byte co
270d0 6d 70 69 6c 65 72 2e 20 28 44 4c 29 0a 0a 2d 2d  mpiler. (DL)..--
270e0 2d 2d 20 53 68 69 70 70 65 64 20 61 73 20 70 61  -- Shipped as pa
270f0 72 74 20 6f 66 20 74 68 65 20 70 6c 75 67 69 6e  rt of the plugin
27100 32 2e 30 62 35 20 61 73 20 38 2e 30 70 32 50 6c  2.0b5 as 8.0p2Pl
27110 75 67 69 6e 31 2c 20 44 65 63 20 38 74 68 20 39  ugin1, Dec 8th 9
27120 37 20 2d 2d 2d 2d 0a 0a 31 32 2f 38 2f 39 37 20  7 ----..12/8/97 
27130 28 62 75 67 20 66 69 78 29 20 4e 65 65 64 20 74  (bug fix) Need t
27140 6f 20 70 72 6f 74 65 63 74 20 74 68 65 20 6e 65  o protect the ne
27150 77 6c 79 20 61 63 63 65 70 74 65 64 20 63 68 61  wly accepted cha
27160 6e 6e 65 6c 20 69 6e 20 61 6e 0a 61 63 63 65 70  nnel in an.accep
27170 74 20 63 61 6c 6c 62 61 63 6b 20 6f 6e 20 61 20  t callback on a 
27180 73 6f 63 6b 65 74 2c 20 6f 74 68 65 72 77 69 73  socket, otherwis
27190 65 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 6d  e the callback m
271a0 61 79 20 63 6c 6f 73 65 20 69 74 20 61 6e 64 0a  ay close it and.
271b0 63 61 75 73 65 20 61 6e 20 65 72 72 6f 72 2c 20  cause an error, 
271c0 77 68 69 63 68 20 77 6f 75 6c 64 20 63 61 75 73  which would caus
271d0 65 20 74 68 65 20 43 20 63 6f 64 65 20 74 6f 20  e the C code to 
271e0 61 74 74 65 6d 70 74 20 74 6f 20 63 6c 6f 73 65  attempt to close
271f0 20 74 68 65 0a 6e 6f 77 20 64 65 6c 65 74 65 64   the.now deleted
27200 20 63 68 61 6e 6e 65 6c 2e 20 42 75 6d 70 69 6e   channel. Bumpin
27210 67 20 74 68 65 20 72 65 66 63 6f 75 6e 74 20 61  g the refcount a
27220 73 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20  ssures that the 
27230 63 68 61 6e 6e 65 6c 20 73 74 69 63 6b 73 0a 61  channel sticks.a
27240 72 6f 75 6e 64 20 74 6f 20 62 65 20 72 65 61 6c  round to be real
27250 6c 79 20 63 6c 6f 73 65 64 20 69 6e 20 74 68 69  ly closed in thi
27260 73 20 63 61 73 65 2e 20 28 4a 4c 29 0a 0a 31 32  s case. (JL)..12
27270 2f 38 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  /8/97 (bug fix) 
27280 4e 65 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20  Need to protect 
27290 74 68 65 20 63 68 61 6e 6e 65 6c 20 69 6e 20 61  the channel in a
272a0 20 66 69 6c 65 65 76 65 6e 74 20 73 6f 20 74 68   fileevent so th
272b0 61 74 20 69 74 0a 69 73 20 6e 6f 74 20 64 65 6c  at it.is not del
272c0 65 74 65 64 20 62 65 66 6f 72 65 20 74 68 65 20  eted before the 
272d0 66 69 6c 65 65 76 65 6e 74 20 68 61 6e 64 6c 65  fileevent handle
272e0 72 20 72 65 74 75 72 6e 73 2e 20 28 43 53 2c 20  r returns. (CS, 
272f0 4a 4c 29 0a 0a 31 32 2f 31 38 2f 39 37 20 28 62  JL)..12/18/97 (b
27300 75 67 20 66 69 78 29 20 49 6e 20 74 68 65 20 6f  ug fix) In the o
27310 70 74 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73  pt argument pars
27320 69 6e 67 20 70 61 63 6b 61 67 65 3a 20 69 66 20  ing package: if 
27330 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20  the description 
27340 0a 68 61 64 20 6f 6e 6c 79 20 66 6c 61 67 73 2c  .had only flags,
27350 20 74 68 65 20 22 74 6f 6f 20 6d 61 6e 79 20 61   the "too many a
27360 72 67 75 6d 65 6e 74 73 22 20 63 61 73 65 20 77  rguments" case w
27370 61 73 20 6e 6f 74 20 64 65 74 65 63 74 65 64 2e  as not detected.
27380 20 54 68 65 20 64 65 66 61 75 6c 74 0a 76 61 6c   The default.val
27390 75 65 20 77 61 73 20 6e 6f 74 20 75 73 65 64 20  ue was not used 
273a0 66 6f 72 20 74 68 65 20 73 70 65 63 69 61 6c 20  for the special 
273b0 22 61 72 67 73 22 20 65 6e 64 69 6e 67 20 61 72  "args" ending ar
273c0 67 75 6d 65 6e 74 2e 20 28 44 4c 29 0a 0a 31 2f  gument. (DL)..1/
273d0 31 35 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d 65  15/98 (improveme
273e0 6e 74 29 20 4d 6f 76 65 64 20 63 6f 6d 6d 6f 6e  nt) Moved common
273f0 20 70 61 72 74 20 6f 66 20 69 6e 69 74 53 63 72   part of initScr
27400 69 70 74 20 69 6e 20 63 6f 6d 6d 6f 6e 20 66 69  ipt in common fi
27410 6c 65 2e 0a 4d 6f 76 65 64 20 77 69 6e 64 6f 77  le..Moved window
27420 73 20 73 70 65 63 69 66 69 63 20 69 6e 69 74 69  s specific initi
27430 61 6c 69 7a 61 74 69 6f 6e 20 74 6f 20 69 6e 69  alization to ini
27440 74 2e 74 63 6c 20 73 6f 20 79 6f 75 20 63 61 6e  t.tcl so you can
27450 20 69 6e 69 74 69 61 6c 69 7a 65 0a 54 63 6c 20   initialize.Tcl 
27460 69 6e 20 77 69 6e 64 6f 77 73 20 77 69 74 68 6f  in windows witho
27470 75 74 20 68 61 76 69 6e 67 20 74 6f 20 63 61 6c  ut having to cal
27480 6c 20 54 63 6c 5f 49 6e 69 74 20 77 68 69 63 68  l Tcl_Init which
27490 20 69 73 20 6e 6f 77 20 6f 6e 6c 79 0a 73 65 61   is now only.sea
274a0 72 63 68 69 6e 67 20 66 6f 72 20 69 6e 69 74 2e  rching for init.
274b0 74 63 6c 20 7b 62 61 63 6b 20 70 6f 72 74 65 64  tcl {back ported
274c0 20 66 72 6f 6d 20 38 2e 31 7d 2e 20 28 44 4c 29   from 8.1}. (DL)
274d0 0a 0a 2d 2d 2d 2d 20 53 68 69 70 70 65 64 20 61  ..---- Shipped a
274e0 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 70 6c  s part of the pl
274f0 75 67 69 6e 20 61 73 20 38 2e 30 70 32 50 6c 75  ugin as 8.0p2Plu
27500 67 69 6e 32 2c 20 4a 61 6e 20 31 35 74 68 20 39  gin2, Jan 15th 9
27510 38 20 2d 2d 2d 2d 0a 0a 35 2f 32 37 2f 39 38 20  8 ----..5/27/98 
27520 28 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77  (bug fix) Window
27530 73 20 73 6f 63 6b 65 74 20 64 72 69 76 65 72 20  s socket driver 
27540 64 69 64 20 6e 6f 74 20 6e 6f 74 69 63 65 20 6e  did not notice n
27550 65 77 20 64 61 74 61 20 61 72 72 69 76 69 6e 67  ew data arriving
27560 0a 6f 6e 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20  .on nonblocking 
27570 73 6f 63 6b 65 74 73 20 75 6e 74 69 6c 20 74 68  sockets until th
27580 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 77 61 73  e event loop was
27590 20 65 6e 74 65 72 65 64 2e 20 28 53 53 29 0a 0a   entered. (SS)..
275a0 35 2f 32 37 2f 39 38 20 28 62 75 67 20 66 69 78  5/27/98 (bug fix
275b0 29 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74  ) Windows socket
275c0 20 64 72 69 76 65 72 20 75 73 65 64 20 46 49 4f   driver used FIO
275d0 4e 52 45 41 44 2c 20 77 68 69 63 68 20 69 73 20  NREAD, which is 
275e0 6e 6f 74 0a 73 75 70 70 6f 72 74 65 64 20 63 6f  not.supported co
275f0 72 72 65 63 74 6c 79 20 62 79 20 57 69 6e 53 6f  rrectly by WinSo
27600 63 6b 2e 20 28 53 53 29 0a 0a 36 2f 39 2f 39 38  ck. (SS)..6/9/98
27610 20 28 62 75 67 20 66 69 78 29 20 47 65 6e 65 72   (bug fix) Gener
27620 69 63 20 63 68 61 6e 6e 65 6c 20 63 6f 64 65 20  ic channel code 
27630 66 61 69 6c 65 64 20 74 6f 20 72 65 70 6f 72 74  failed to report
27640 20 72 65 61 64 61 62 6c 65 20 66 69 6c 65 0a 65   readable file.e
27650 76 65 6e 74 73 20 6f 6e 20 62 75 66 66 65 72 65  vents on buffere
27660 64 20 64 61 74 61 20 74 68 61 74 20 77 61 73 20  d data that was 
27670 6c 65 66 74 20 62 65 68 69 6e 64 20 62 79 20 61  left behind by a
27680 20 67 65 74 73 20 6f 72 20 72 65 61 64 20 74 68   gets or read th
27690 61 74 0a 64 69 64 20 6e 6f 74 20 63 6f 6e 73 75  at.did not consu
276a0 6d 65 20 61 6c 6c 20 61 76 61 69 6c 61 62 6c 65  me all available
276b0 20 64 61 74 61 2e 20 28 53 53 29 0a 0a 36 2f 31   data. (SS)..6/1
276c0 38 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 43  8/98 (bug fix) C
276d0 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 6c 6f  ompilation of lo
276e0 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77  op expressions w
276f0 61 73 20 74 6f 6f 20 61 67 67 72 65 73 73 69 76  as too aggressiv
27700 65 0a 61 6e 64 20 69 6e 63 6f 72 72 65 63 74 6c  e.and incorrectl
27710 79 20 69 6e 6c 69 6e 65 64 20 6e 6f 6e 2d 6c 69  y inlined non-li
27720 74 65 72 61 6c 20 65 78 70 72 65 73 73 69 6f 6e  teral expression
27730 73 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f 39 38  s. (SS)..6/18/98
27740 20 28 62 75 67 20 66 69 78 29 20 22 69 6e 66 6f   (bug fix) "info
27750 20 76 61 72 22 20 61 6e 64 20 22 69 6e 66 6f 20   var" and "info 
27760 6c 6f 63 61 6c 73 22 20 69 6e 63 6f 72 72 65 63  locals" incorrec
27770 74 6c 79 20 72 65 70 6f 72 74 65 64 0a 74 68 65  tly reported.the
27780 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 63 6f   existence of co
27790 6d 70 69 6c 65 72 20 74 65 6d 70 6f 72 61 72 79  mpiler temporary
277a0 20 76 61 72 69 61 62 6c 65 73 2e 20 28 53 53 29   variables. (SS)
277b0 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20 66  ..6/18/98 (bug f
277c0 69 78 29 20 44 69 63 74 69 6f 6e 61 72 79 20 73  ix) Dictionary s
277d0 6f 72 74 69 6e 67 20 75 73 65 64 20 73 69 67 6e  orting used sign
277e0 65 64 20 63 68 61 72 61 63 74 65 72 0a 63 6f 6d  ed character.com
277f0 70 61 72 69 73 6f 6e 73 2e 20 28 53 53 29 0a 0a  parisons. (SS)..
27800 36 2f 31 38 2f 39 38 20 28 62 75 67 20 66 69 78  6/18/98 (bug fix
27810 29 20 43 6f 6d 70 69 6c 65 20 70 72 6f 63 73 20  ) Compile procs 
27820 63 6f 72 72 75 70 74 65 64 20 74 68 65 20 65 78  corrupted the ex
27830 63 65 70 74 69 6f 6e 20 73 74 61 63 6b 20 69 6e  ception stack in
27840 20 73 6f 6d 65 0a 63 61 73 65 73 2e 20 28 53 53   some.cases. (SS
27850 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20  )..6/18/98 (bug 
27860 66 69 78 29 20 41 72 72 61 79 20 73 65 74 20 68  fix) Array set h
27870 61 64 20 65 72 72 61 74 69 63 20 62 65 68 61 76  ad erratic behav
27880 69 6f 72 20 77 68 65 6e 20 69 6e 69 74 69 61 6c  ior when initial
27890 69 7a 69 6e 67 20 61 0a 76 61 72 69 61 62 6c 65  izing a.variable
278a0 20 66 72 6f 6d 20 61 6e 20 65 6d 70 74 79 20 76   from an empty v
278b0 61 6c 75 65 20 6c 69 73 74 2e 20 28 53 53 29 0a  alue list. (SS).
278c0 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20 66 69  .6/18/98 (bug fi
278d0 78 29 20 54 68 65 20 57 69 6e 64 6f 77 73 20 72  x) The Windows r
278e0 65 67 69 73 74 72 79 20 70 61 63 6b 61 67 65 20  egistry package 
278f0 68 61 64 20 61 20 62 61 64 20 62 6f 75 6e 64 73  had a bad bounds
27900 20 63 68 65 63 6b 0a 74 68 61 74 20 63 6f 75 6c   check.that coul
27910 64 20 6c 65 61 64 20 74 6f 20 61 20 63 72 61 73  d lead to a cras
27920 68 2e 20 28 53 53 29 0a 0a 36 2f 31 38 2f 39 38  h. (SS)..6/18/98
27930 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 66   (bug fix) The f
27940 6f 72 65 61 63 68 20 63 6f 6d 70 69 6c 65 20 70  oreach compile p
27950 72 6f 63 20 64 69 64 20 6e 6f 74 20 63 6f 72 72  roc did not corr
27960 65 63 74 6c 79 20 68 61 6e 64 6c 65 0a 6e 6f 6e  ectly handle.non
27970 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20  -local variable 
27980 72 65 66 65 72 65 6e 63 65 73 2e 20 28 53 53 29  references. (SS)
27990 0a 0a 36 2f 32 35 2f 39 38 20 28 6e 65 77 20 66  ..6/25/98 (new f
279a0 65 61 74 75 72 65 73 29 20 41 64 64 65 64 20 6e  eatures) Added n
279b0 61 6d 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 68  ame resolution h
279c0 6f 6f 6b 73 20 74 6f 20 73 75 70 70 6f 72 74 20  ooks to support 
279d0 5b 69 6e 63 72 20 54 63 6c 5d 2e 0a 54 68 65 72  [incr Tcl]..Ther
279e0 65 20 61 72 65 20 6e 65 77 20 69 6e 74 65 72 6e  e are new intern
279f0 61 6c 20 54 63 6c 5f 2a 52 65 73 6f 6c 76 65 72  al Tcl_*Resolver
27a00 2a 20 41 50 49 73 20 74 6f 20 61 64 64 2c 20 71  * APIs to add, q
27a10 75 65 72 79 20 61 6e 64 20 72 65 6d 6f 76 65 20  uery and remove 
27a20 74 68 65 20 68 6f 6f 6b 73 2e 20 0a 57 69 74 68  the hooks. .With
27a30 20 74 68 69 73 20 63 68 61 6e 67 65 73 20 69 74   this changes it
27a40 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69   should be possi
27a50 62 6c 65 20 74 6f 20 64 79 6e 61 6d 69 63 61 6c  ble to dynamical
27a60 6c 79 20 6c 6f 61 64 20 5b 69 6e 63 72 20 54 63  ly load [incr Tc
27a70 6c 5d 0a 61 73 20 61 6e 20 65 78 74 65 6e 73 69  l].as an extensi
27a80 6f 6e 2e 20 28 4d 4d 29 0a 0a 37 2f 31 2f 39 37  on. (MM)..7/1/97
27a90 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 63   (bug fix) The c
27aa0 6f 6d 6d 61 6e 64 73 20 22 69 6e 66 6f 20 61 72  ommands "info ar
27ab0 67 73 2c 20 62 6f 64 79 2c 20 64 65 66 61 75 6c  gs, body, defaul
27ac0 74 2c 20 70 72 6f 63 73 22 20 64 69 64 0a 6e 6f  t, procs" did.no
27ad0 74 20 63 6f 72 72 65 63 74 6c 79 20 68 61 6e 64  t correctly hand
27ae0 6c 65 20 69 6d 70 6f 72 74 65 64 20 70 72 6f 63  le imported proc
27af0 65 64 75 72 65 73 2e 20 28 52 4a 29 0a 0a 37 2f  edures. (RJ)..7/
27b00 36 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d 65 6e  6/98 (improvemen
27b10 74 29 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 6e  t) pkg_mkIndex n
27b20 6f 77 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 68  ow implements th
27b30 65 20 22 70 61 63 6b 61 67 65 20 72 65 71 75 69  e "package requi
27b40 72 65 22 0a 63 6f 6d 6d 61 6e 64 2e 20 20 54 68  re".command.  Th
27b50 69 73 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73  is makes it poss
27b60 69 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 69  ible to create i
27b70 6e 64 65 78 20 66 69 6c 65 73 20 66 6f 72 20 70  ndex files for p
27b80 61 63 6b 61 67 65 73 0a 74 68 61 74 20 72 65 71  ackages.that req
27b90 75 69 72 65 20 61 6e 6f 74 68 65 72 20 70 61 63  uire another pac
27ba0 6b 61 67 65 20 61 6e 64 20 74 68 65 6e 20 65 78  kage and then ex
27bb0 65 63 75 74 65 20 63 6f 64 65 20 66 72 6f 6d 20  ecute code from 
27bc0 74 68 61 74 20 70 61 63 6b 61 67 65 20 69 6e 0a  that package in.
27bd0 74 68 65 69 72 20 66 69 6c 65 2e 20 50 72 65 76  their file. Prev
27be0 69 6f 75 73 6c 79 2c 20 74 68 69 73 20 77 6f 75  iously, this wou
27bf0 6c 64 20 74 68 72 6f 77 20 61 6e 20 65 72 72 6f  ld throw an erro
27c00 72 20 62 65 63 61 75 73 65 20 74 68 65 20 72 65  r because the re
27c10 71 75 69 72 65 64 0a 70 61 63 6b 61 67 65 20 68  quired.package h
27c20 61 64 20 6e 6f 74 20 62 65 65 6e 20 6c 6f 61 64  ad not been load
27c30 65 64 2e 20 20 54 68 65 20 2d 6e 6f 70 6b 67 72  ed.  The -nopkgr
27c40 65 71 75 69 65 64 20 66 6c 61 67 20 69 73 20 70  equied flag is p
27c50 72 6f 76 69 64 65 64 20 74 6f 0a 72 65 76 65 72  rovided to.rever
27c60 74 20 62 61 63 6b 20 74 6f 20 74 68 65 20 6f 6c  t back to the ol
27c70 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e  d functionality.
27c80 20 28 45 4d 53 29 0a 0a 37 2f 36 2f 39 38 20 28   (EMS)..7/6/98 (
27c90 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 62 61 63  improvement) bac
27ca0 6b 2d 70 6f 72 74 65 64 20 74 68 65 20 2d 64 69  k-ported the -di
27cb0 72 65 63 74 20 66 6c 61 67 20 66 72 6f 6d 20 38  rect flag from 8
27cc0 2e 31 20 69 6e 74 6f 0a 70 6b 67 5f 6d 6b 49 6e  .1 into.pkg_mkIn
27cd0 64 65 78 2e 20 20 54 68 69 73 20 72 65 73 75 6c  dex.  This resul
27ce0 74 73 20 69 6e 20 70 6b 67 49 6e 64 65 78 2e 74  ts in pkgIndex.t
27cf0 63 6c 20 66 69 6c 65 73 20 74 68 61 74 20 63 6f  cl files that co
27d00 6e 74 61 69 6e 20 64 69 72 65 63 74 0a 73 6f 75  ntain direct.sou
27d10 72 63 65 20 6f 72 20 6c 6f 61 64 20 63 6f 6d 6d  rce or load comm
27d20 61 6e 64 73 20 69 6e 73 74 65 61 64 20 6f 66 20  ands instead of 
27d30 74 63 6c 50 6b 67 53 65 74 75 70 20 63 6f 6d 6d  tclPkgSetup comm
27d40 61 6e 64 73 2e 20 28 45 4d 53 29 0a 0a 37 2f 36  ands. (EMS)..7/6
27d50 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d 65 6e 74  /98 (improvement
27d60 29 20 6d 61 64 65 20 63 68 61 6e 67 65 73 20 74  ) made changes t
27d70 6f 20 74 68 65 20 41 75 78 44 61 74 61 20 69 74  o the AuxData it
27d80 65 6d 73 20 73 74 72 75 63 74 75 72 65 73 20 74  ems structures t
27d90 6f 20 73 75 70 70 6f 72 74 0a 73 74 6f 72 61 67  o support.storag
27da0 65 20 6f 66 20 63 6f 6d 70 69 6c 65 64 20 73 63  e of compiled sc
27db0 72 69 70 74 73 20 6f 6e 20 64 69 73 6b 2e 20 41  ripts on disk. A
27dc0 6c 73 6f 20 73 6f 6d 65 20 72 65 6c 61 74 65 64  lso some related
27dd0 20 6d 69 6e 6f 72 20 63 68 61 6e 67 65 73 20 69   minor changes i
27de0 6e 0a 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f  n.the compilatio
27df0 6e 20 61 6e 64 20 65 78 65 63 75 74 69 6f 6e 20  n and execution 
27e00 65 6e 67 69 6e 65 2e 20 28 45 4d 53 29 0a 0a 36  engine. (EMS)..6
27e10 2f 34 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65  /4/98 (enhanceme
27e20 6e 74 29 20 41 64 64 65 64 20 6e 65 77 20 69 6e  nt) Added new in
27e30 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e 65 73 20  ternal routines 
27e40 74 6f 20 73 75 70 70 6f 72 74 20 69 6e 73 65 72  to support inser
27e50 74 69 6e 67 0a 61 6e 64 20 64 65 6c 65 74 69 6e  ting.and deletin
27e60 67 20 66 72 6f 6d 20 74 68 65 20 73 74 61 74 2c  g from the stat,
27e70 20 61 63 63 65 73 73 2c 20 61 6e 64 20 6f 70 65   access, and ope
27e80 6e 2d 66 69 6c 65 2d 63 68 61 6e 6e 65 6c 20 6d  n-file-channel m
27e90 65 63 68 61 6e 69 73 6d 73 2e 0a 54 63 6c 41 63  echanisms..TclAc
27ea0 63 65 73 73 49 6e 73 65 72 74 50 72 6f 63 2c 20  cessInsertProc, 
27eb0 54 63 6c 53 74 61 74 49 6e 73 65 72 74 50 72 6f  TclStatInsertPro
27ec0 63 2c 20 26 20 54 63 6c 4f 70 65 6e 46 69 6c 65  c, & TclOpenFile
27ed0 43 68 61 6e 6e 65 6c 49 6e 73 65 72 74 50 72 6f  ChannelInsertPro
27ee0 63 0a 69 6e 73 65 72 74 20 70 6f 69 6e 74 65 72  c.insert pointer
27ef0 73 20 74 6f 20 73 75 63 68 20 72 6f 75 74 69 6e  s to such routin
27f00 65 73 3b 20 54 63 6c 41 63 63 65 73 73 44 65 6c  es; TclAccessDel
27f10 65 74 65 50 72 6f 63 2c 20 54 63 6c 53 74 61 74  eteProc, TclStat
27f20 44 65 6c 65 74 65 50 72 6f 63 2c 0a 26 20 54 63  DeleteProc,.& Tc
27f30 6c 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 6c  lOpenFileChannel
27f40 44 65 6c 65 74 65 50 72 6f 63 20 64 65 6c 65 74  DeleteProc delet
27f50 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 73 75  e pointers to su
27f60 63 68 20 72 6f 75 74 69 6e 65 73 2e 20 20 53 65  ch routines.  Se
27f70 65 0a 74 68 65 20 66 69 6c 65 20 67 65 6e 65 72  e.the file gener
27f80 69 63 2f 74 63 6c 49 4f 55 74 69 6c 73 2e 63 20  ic/tclIOUtils.c 
27f90 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73  for more details
27fa0 2e 20 28 53 4b 53 29 0a 20 0a 37 2f 31 2f 39 38  . (SKS). .7/1/98
27fb0 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 41   (enhancement) A
27fc0 64 64 65 64 20 61 20 6e 65 77 20 69 6e 74 65 72  dded a new inter
27fd0 6e 61 6c 20 43 20 76 61 72 69 61 62 6c 65 0a 74  nal C variable.t
27fe0 63 6c 50 72 65 49 6e 69 74 53 63 72 69 70 74 2e  clPreInitScript.
27ff0 20 20 54 68 69 73 20 69 73 20 61 20 70 6f 69 6e    This is a poin
28000 74 65 72 20 74 6f 20 61 20 73 74 72 69 6e 67 20  ter to a string 
28010 74 68 61 74 20 6d 61 79 20 68 6f 6c 64 20 61 6e  that may hold an
28020 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20  .initialization 
28030 73 63 72 69 70 74 3b 20 49 66 20 74 68 69 73 20  script; If this 
28040 70 6f 69 6e 74 65 72 20 69 73 20 6e 6f 6e 2d 4e  pointer is non-N
28050 55 4c 4c 20 69 74 20 69 73 20 65 76 61 6c 75 61  ULL it is evalua
28060 74 65 64 20 69 6e 0a 54 63 6c 5f 49 6e 69 74 28  ted in.Tcl_Init(
28070 29 20 70 72 69 6f 72 20 74 6f 20 74 68 65 20 62  ) prior to the b
28080 75 69 6c 74 2d 69 6e 20 69 6e 69 74 69 61 6c 69  uilt-in initiali
28090 7a 61 74 69 6f 6e 20 73 63 72 69 70 74 20 64 65  zation script de
280a0 66 69 6e 65 64 20 69 6e 20 74 68 65 0a 66 69 6c  fined in the.fil
280b0 65 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e 69  e generic/tclIni
280c0 74 53 63 72 69 70 74 2e 68 2e 20 20 28 53 4b 53  tScript.h.  (SKS
280d0 29 0a 0a 37 2f 36 2f 39 38 20 28 62 75 67 20 66  )..7/6/98 (bug f
280e0 69 78 29 20 52 65 6d 6f 76 65 64 20 64 65 61 64  ix) Removed dead
280f0 20 63 6f 64 65 20 69 6e 20 50 6c 61 74 66 6f 72   code in Platfor
28100 6d 49 6e 69 74 45 78 69 74 48 61 6e 64 6c 65 72  mInitExitHandler
28110 20 73 6f 20 74 68 61 74 0a 74 68 65 20 54 43 4c   so that.the TCL
28120 5f 4c 49 42 52 41 52 59 20 76 61 6c 75 65 20 63  _LIBRARY value c
28130 61 6e 20 62 65 20 73 61 66 65 6c 79 20 70 61 74  an be safely pat
28140 63 68 65 64 20 69 6e 20 62 69 6e 61 72 69 65 73  ched in binaries
28150 2e 20 28 42 57 29 0a 0a 37 2f 32 34 2f 39 38 20  . (BW)..7/24/98 
28160 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 49 6e  (enhancement) In
28170 63 6f 72 70 6f 72 61 74 65 64 20 61 20 6e 65 77  corporated a new
28180 20 76 65 72 73 69 6f 6e 20 6f 66 20 61 75 74 6f   version of auto
28190 5f 6d 6b 69 6e 64 65 78 20 74 68 61 74 0a 63 61  _mkindex that.ca
281a0 6e 20 73 75 70 70 6f 72 74 20 74 68 65 20 5b 69  n support the [i
281b0 6e 63 72 20 54 63 6c 5d 20 63 6c 61 73 73 20 73  ncr Tcl] class s
281c0 74 72 75 63 74 75 72 65 73 2e 20 20 54 68 69 73  tructures.  This
281d0 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c 20 69 6e   version will in
281e0 64 65 78 0a 61 6c 6c 20 70 72 6f 63 65 64 75 72  dex.all procedur
281f0 65 73 20 69 6e 20 61 20 73 6f 75 72 63 65 20 66  es in a source f
28200 69 6c 65 2c 20 6e 6f 74 20 6a 75 73 74 20 74 68  ile, not just th
28210 6f 73 65 20 77 68 65 72 65 20 22 70 72 6f 63 22  ose where "proc"
28220 20 73 74 61 72 74 73 0a 61 74 20 74 68 65 20 62   starts.at the b
28230 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20  eginning of the 
28240 6c 69 6e 65 2e 20 20 49 66 20 79 6f 75 20 77 61  line.  If you wa
28250 6e 74 20 74 68 65 20 6f 6c 64 20 62 65 68 61 76  nt the old behav
28260 69 6f 72 2c 20 75 73 65 20 74 68 65 0a 61 75 74  ior, use the.aut
28270 6f 5f 6d 6b 69 6e 64 65 78 5f 6f 6c 64 20 70 72  o_mkindex_old pr
28280 6f 63 65 64 75 72 65 2e 20 28 4d 4d 29 0a 0a 37  ocedure. (MM)..7
28290 2f 32 34 2f 39 38 20 28 66 65 61 74 75 72 65 20  /24/98 (feature 
282a0 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65 64 20  change) Changed 
282b0 74 68 65 20 57 69 6e 64 6f 77 73 20 72 65 67 69  the Windows regi
282c0 73 74 72 79 20 6b 65 79 20 74 6f 20 62 65 0a 48  stry key to be.H
282d0 4b 45 59 5f 4c 4f 43 41 4c 5f 4d 41 43 48 49 4e  KEY_LOCAL_MACHIN
282e0 45 5c 53 6f 66 74 77 61 72 65 5c 53 63 72 69 70  E\Software\Scrip
282f0 74 69 63 73 5c 54 63 6c 5c 38 2e 30 2c 20 61 6e  tics\Tcl\8.0, an
28300 64 20 74 6f 20 73 74 6f 72 65 20 74 68 65 20 70  d to store the p
28310 61 74 68 0a 69 6e 20 74 68 65 20 64 65 66 61 75  ath.in the defau
28320 6c 74 20 76 61 6c 75 65 20 69 6e 73 74 65 61 64  lt value instead
28330 20 6f 66 20 22 52 6f 6f 74 22 2e 20 20 41 6c 73   of "Root".  Als
28340 6f 2c 20 74 68 69 73 20 6b 65 79 20 63 61 6e 20  o, this key can 
28350 62 65 0a 73 70 65 63 69 66 69 65 64 20 61 74 20  be.specified at 
28360 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 69 6e 20  compile time in 
28370 63 61 73 65 20 54 63 6c 20 69 73 20 62 65 69 6e  case Tcl is bein
28380 67 20 75 73 65 64 20 69 6e 20 61 20 64 69 66 66  g used in a diff
28390 65 72 65 6e 74 0a 63 6f 6e 74 65 78 74 20 77 68  erent.context wh
283a0 65 72 65 20 69 74 20 6e 65 65 64 73 20 61 6e 20  ere it needs an 
283b0 61 6c 74 65 72 6e 61 74 65 20 6c 69 62 72 61 72  alternate librar
283c0 79 20 70 61 74 68 20 66 72 6f 6d 20 74 68 65 20  y path from the 
283d0 73 74 61 6e 64 61 72 64 20 54 63 6c 0a 69 6e 73  standard Tcl.ins
283e0 74 61 6c 6c 61 74 69 6f 6e 2e 20 28 53 53 29 0a  tallation. (SS).
283f0 0a 37 2f 32 34 2f 39 38 20 28 66 65 61 74 75 72  .7/24/98 (featur
28400 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67 65  e change) Change
28410 64 20 74 68 65 20 73 65 61 72 63 68 20 6f 72 64  d the search ord
28420 65 72 20 66 6f 72 20 69 6e 69 74 2e 74 63 6c 2e  er for init.tcl.
28430 20 20 54 68 65 0a 74 63 6c 5f 6c 69 62 72 61 72    The.tcl_librar
28440 79 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 6e  y variable can n
28450 6f 77 20 62 65 20 73 65 74 20 62 65 66 6f 72 65  ow be set before
28460 20 63 61 6c 6c 69 6e 67 20 54 63 6c 5f 49 6e 69   calling Tcl_Ini
28470 74 20 74 6f 20 61 76 6f 69 64 0a 64 6f 69 6e 67  t to avoid.doing
28480 20 61 6e 79 20 73 65 61 72 63 68 65 73 2e 20 20   any searches.  
28490 49 66 20 69 74 20 69 73 6e 27 74 20 73 65 74 2c  If it isn't set,
284a0 20 74 68 65 6e 20 54 63 6c 20 63 68 65 63 6b 73   then Tcl checks
284b0 0a 65 6e 76 28 54 43 4c 5f 4c 49 42 52 41 52 59  .env(TCL_LIBRARY
284c0 29 2c 20 74 68 65 20 73 74 61 74 69 63 20 76 61  ), the static va
284d0 6c 75 65 20 73 65 74 20 61 74 20 63 6f 6d 70 69  lue set at compi
284e0 6c 65 20 74 69 6d 65 2c 20 61 6e 20 69 6e 73 74  le time, an inst
284f0 61 6c 6c 0a 64 69 72 65 63 74 6f 72 79 20 72 65  all.directory re
28500 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 65 78  lative to the ex
28510 65 63 75 74 61 62 6c 65 2c 20 61 20 73 6f 75 72  ecutable, a sour
28520 63 65 20 64 69 72 65 63 74 6f 72 79 20 72 65 6c  ce directory rel
28530 61 74 69 76 65 20 74 6f 0a 74 68 65 20 65 78 65  ative to.the exe
28540 63 75 74 61 62 6c 65 2c 20 61 6e 64 20 61 20 74  cutable, and a t
28550 63 6c 20 64 69 72 65 63 74 6f 72 79 20 72 65 6c  cl directory rel
28560 61 74 69 76 65 20 74 6f 20 74 68 65 20 73 6f 75  ative to the sou
28570 72 63 65 20 68 65 69 72 61 72 63 68 79 0a 63 6f  rce heirarchy.co
28580 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 65 78 65  ntaining the exe
28590 63 75 74 61 62 6c 65 2e 20 20 53 65 65 20 74 68  cutable.  See th
285a0 65 20 63 6f 6d 6d 65 6e 74 20 61 74 20 74 68 65  e comment at the
285b0 20 74 6f 70 20 6f 66 0a 67 65 6e 65 72 69 63 2f   top of.generic/
285c0 74 63 6c 49 6e 69 74 53 63 72 69 70 74 2e 68 20  tclInitScript.h 
285d0 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73  for more details
285e0 2e 20 28 53 53 29 0a 0a 37 2f 32 37 2f 39 38 20  . (SS)..7/27/98 
285f0 28 63 6f 6e 66 69 67 20 63 68 61 6e 67 65 29 20  (config change) 
28600 43 68 61 6e 67 65 64 20 74 68 65 20 75 73 65 20  Changed the use 
28610 6f 66 20 74 68 65 20 44 42 47 58 20 66 6c 61 67  of the DBGX flag
28620 20 69 6e 20 63 6f 6e 66 69 67 75 72 65 2e 69 6e   in configure.in
28630 0a 61 6e 64 20 74 68 65 20 6d 61 6b 65 66 69 6c  .and the makefil
28640 65 20 74 6f 20 62 65 20 54 43 4c 5f 44 42 47 58  e to be TCL_DBGX
28650 2e 20 20 55 73 65 72 73 20 6f 66 20 74 63 6c 43  .  Users of tclC
28660 6f 6e 66 69 67 2e 73 68 20 6d 61 79 20 6e 65 65  onfig.sh may nee
28670 64 20 74 6f 20 70 61 73 73 0a 74 68 69 73 20 74  d to pass.this t
28680 68 72 6f 75 67 68 20 74 68 65 69 72 20 63 6f 6e  hrough their con
28690 66 69 67 75 72 65 20 66 69 6c 65 73 20 77 69 74  figure files wit
286a0 68 20 41 43 5f 53 55 42 53 54 2e 20 28 42 57 29  h AC_SUBST. (BW)
286b0 0a 0a 37 32 39 2f 39 38 20 28 62 75 67 20 66 69  ..729/98 (bug fi
286c0 78 29 20 43 68 61 6e 67 65 64 20 5b 69 6e 66 6f  x) Changed [info
286d0 20 62 6f 64 79 5d 20 74 6f 20 72 65 74 75 72 6e   body] to return
286e0 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 62   a copy of the b
286f0 6f 64 79 20 6f 66 20 61 0a 63 6f 6d 70 69 6c 65  ody of a.compile
28700 64 20 70 72 6f 63 65 64 75 72 65 20 69 6e 73 74  d procedure inst
28710 65 61 64 20 6f 66 20 74 68 65 20 62 6f 64 79 20  ead of the body 
28720 69 74 73 65 6c 66 2c 20 74 6f 20 61 76 6f 69 64  itself, to avoid
28730 20 69 6e 76 61 6c 69 64 61 74 69 6f 6e 0a 6f 66   invalidation.of
28740 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65   the internal re
28750 70 20 61 6e 64 20 6c 6f 73 73 20 6f 66 20 74 68  p and loss of th
28760 65 20 62 79 74 65 2d 63 6f 64 65 73 2e 20 28 45  e byte-codes. (E
28770 4d 53 29 0a 0a 38 2f 35 2f 39 38 20 28 62 75 67  MS)..8/5/98 (bug
28780 20 66 69 78 29 20 54 68 65 20 70 6c 61 74 66 6f   fix) The platfo
28790 72 6d 20 69 6e 69 74 20 63 6f 64 65 20 63 6f 75  rm init code cou
287a0 6c 64 20 77 61 6c 6b 20 6f 66 66 20 74 68 65 20  ld walk off the 
287b0 65 6e 64 20 6f 66 20 61 0a 62 75 66 66 65 72 20  end of a.buffer 
287c0 77 68 65 6e 20 72 65 61 64 69 6e 67 20 74 68 65  when reading the
287d0 20 50 6b 67 50 61 74 68 20 72 65 67 69 73 74 72   PkgPath registr
287e0 79 20 76 61 6c 75 65 20 6f 6e 20 57 69 6e 64 6f  y value on Windo
287f0 77 73 2e 20 28 53 53 29 0a 0a 38 2f 35 2f 39 38  ws. (SS)..8/5/98
28800 20 28 57 69 6e 64 6f 77 73 20 6d 61 6b 65 66 69   (Windows makefi
28810 6c 65 20 63 68 61 6e 67 65 29 20 49 6e 74 72 6f  le change) Intro
28820 64 75 63 65 64 20 61 20 73 65 74 20 6f 66 20 6d  duced a set of m
28830 61 63 72 6f 73 20 74 6f 20 64 65 61 6c 20 77 69  acros to deal wi
28840 74 68 0a 65 78 70 6f 72 74 69 6e 67 20 73 79 6d  th.exporting sym
28850 62 6f 6c 73 20 77 68 65 6e 20 63 6f 6d 70 69 6c  bols when compil
28860 69 6e 67 20 44 4c 4c 53 20 6f 6e 20 57 69 6e 64  ing DLLS on Wind
28870 6f 77 73 2e 20 53 65 65 20 77 69 6e 2f 52 45 41  ows. See win/REA
28880 44 4d 45 20 66 6f 72 0a 64 65 74 61 69 6c 73 2e  DME for.details.
28890 20 28 45 4d 53 29 0a 0a 38 2f 35 2f 39 38 20 28   (EMS)..8/5/98 (
288a0 61 64 64 65 6e 64 75 6d 29 20 41 64 64 65 64 20  addendum) Added 
288b0 61 20 73 65 63 6f 6e 64 20 57 69 6e 64 6f 77 73  a second Windows
288c0 20 72 65 67 69 73 74 72 79 20 6b 65 79 20 75 6e   registry key un
288d0 64 65 72 0a 48 4b 45 59 5f 4c 4f 43 41 4c 5f 4d  der.HKEY_LOCAL_M
288e0 41 43 48 49 4e 45 5c 53 6f 66 74 77 61 72 65 5c  ACHINE\Software\
288f0 53 63 72 69 70 74 69 63 73 5c 54 63 6c 5c 38 2e  Scriptics\Tcl\8.
28900 30 2c 20 6e 61 6d 65 64 20 22 70 6b 67 50 61 74  0, named "pkgPat
28910 68 22 2e 0a 54 68 69 73 20 69 73 20 61 20 6d 75  h"..This is a mu
28920 6c 74 69 2d 73 74 72 69 6e 67 20 76 61 6c 75 65  lti-string value
28930 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c   used to initial
28940 69 7a 65 20 74 68 65 20 74 63 6c 5f 70 6b 67 50  ize the tcl_pkgP
28950 61 74 68 0a 76 61 72 69 61 62 6c 65 2e 20 54 68  ath.variable. Th
28960 69 73 20 69 73 20 72 65 71 75 69 72 65 64 20 69  is is required i
28970 66 20 65 78 74 65 6e 73 69 6f 6e 20 44 4c 4c 73  f extension DLLs
28980 20 61 72 65 20 69 6e 20 61 72 63 68 69 74 65 63   are in architec
28990 74 75 72 65 20 73 70 65 63 69 66 69 63 0a 73 75  ture specific.su
289a0 62 64 69 72 65 63 74 6f 72 69 65 73 2e 20 28 53  bdirectories. (S
289b0 53 29 0a 0a 38 2f 36 2f 39 38 20 28 6e 65 77 20  S)..8/6/98 (new 
289c0 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 74  feature) Added t
289d0 63 6c 5f 66 69 6e 64 4c 69 62 72 61 72 79 20 74  cl_findLibrary t
289e0 6f 20 69 6e 69 74 2e 74 63 6c 20 66 6f 72 20 75  o init.tcl for u
289f0 73 65 20 62 79 0a 65 78 74 65 6e 73 69 6f 6e 73  se by.extensions
28a00 2c 20 69 6e 63 6c 75 64 69 6e 67 20 54 6b 2e 20  , including Tk. 
28a10 20 54 68 69 73 20 73 65 61 72 63 68 65 73 20 69   This searches i
28a20 6e 20 61 20 63 61 6e 6f 6e 69 63 61 6c 20 77 61  n a canonical wa
28a30 79 20 66 6f 72 0a 61 6e 20 65 78 74 65 6e 73 69  y for.an extensi
28a40 6f 6e 73 20 6c 69 62 72 61 72 79 20 64 69 72 65  ons library dire
28a50 63 74 6f 72 79 20 61 6e 64 20 69 6e 69 74 69 61  ctory and initia
28a60 6c 69 7a 61 74 69 6f 6e 20 66 69 6c 65 2e 20 28  lization file. (
28a70 42 57 29 0a 0a 38 2f 31 30 2f 39 38 20 28 62 75  BW)..8/10/98 (bu
28a80 67 20 66 69 78 29 20 49 6d 70 6f 72 74 65 64 20  g fix) Imported 
28a90 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64 20 74 6f  commands used to
28aa0 20 67 65 74 20 6c 6f 73 74 20 69 66 20 74 68 65   get lost if the
28ab0 20 74 61 72 67 65 74 0a 6f 66 20 74 68 65 20 69   target.of the i
28ac0 6d 70 6f 72 74 20 77 61 73 20 72 65 64 65 66 69  mport was redefi
28ad0 6e 65 64 2e 20 20 54 63 6c 5f 43 72 65 61 74 65  ned.  Tcl_Create
28ae0 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f  Command and Tcl_
28af0 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64  CreateObjCommand
28b00 0a 77 65 72 65 20 75 70 64 61 74 65 64 20 74 6f  .were updated to
28b10 20 72 65 73 74 6f 72 65 20 69 6d 70 6f 72 74 20   restore import 
28b20 6c 69 6e 6b 73 2e 20 28 4e 6f 74 65 20 74 68 61  links. (Note tha
28b30 74 20 69 66 20 79 6f 75 20 72 65 6e 61 6d 65 20  t if you rename 
28b40 61 20 63 6f 6d 6d 61 6e 64 2c 0a 74 68 65 20 69  a command,.the i
28b50 6d 70 6f 72 74 20 6c 69 6e 6b 73 20 6d 6f 76 65  mport links move
28b60 20 74 6f 20 74 68 65 20 6e 65 77 20 6e 61 6d 65   to the new name
28b70 2c 20 61 6e 64 20 69 66 20 79 6f 75 20 64 65 6c  , and if you del
28b80 65 74 65 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68  ete a command th
28b90 65 6e 0a 74 68 65 20 69 6d 70 6f 72 74 20 6c 69  en.the import li
28ba0 6e 6b 73 20 67 65 74 20 6c 6f 73 74 2e 20 54 68  nks get lost. Th
28bb0 65 73 65 20 73 65 6d 61 6e 74 69 63 73 20 68 61  ese semantics ha
28bc0 76 65 20 6e 6f 74 20 63 68 61 6e 67 65 64 2e 29  ve not changed.)
28bd0 20 28 4d 43 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 20   (MC)..-------- 
28be0 52 65 6c 65 61 73 65 64 20 38 2e 30 2e 33 20 74  Released 8.0.3 t
28bf0 6f 20 74 68 65 20 54 63 6c 20 43 6f 6e 73 6f 72  o the Tcl Consor
28c00 74 69 75 6d 20 43 44 2d 52 4f 4d 20 70 72 6f 6a  tium CD-ROM proj
28c10 65 63 74 2c 20 38 2f 31 30 2f 39 38 20 2d 2d 2d  ect, 8/10/98 ---
28c20 2d 2d 2d 0a 0a 39 2f 33 2f 39 38 20 28 62 75 67  ---..9/3/98 (bug
28c30 20 66 69 78 29 20 54 63 6c 5f 52 65 61 6c 6c 6f   fix) Tcl_Reallo
28c40 63 20 77 61 73 20 66 61 69 6c 69 6e 67 20 75 6e  c was failing un
28c50 64 65 72 20 57 69 6e 64 6f 77 73 20 62 65 63 61  der Windows beca
28c60 75 73 65 20 74 68 65 0a 47 6c 6f 62 61 6c 52 65  use the.GlobalRe
28c70 41 6c 6c 6f 63 20 41 50 49 20 77 61 73 20 6e 6f  Alloc API was no
28c80 74 20 63 6f 72 72 65 63 74 6c 79 20 72 65 2d 61  t correctly re-a
28c90 6c 6c 6f 63 61 74 69 6e 67 20 62 6c 6f 63 6b 73  llocating blocks
28ca0 20 74 68 61 74 20 77 65 72 65 0a 33 32 6b 2b 2e   that were.32k+.
28cb0 20 20 54 68 65 20 66 69 78 20 77 61 73 20 74 6f    The fix was to
28cc0 20 75 73 65 20 6e 65 77 65 72 20 57 69 6e 33 32   use newer Win32
28cd0 20 41 50 49 73 20 28 48 65 61 70 41 6c 6c 6f 63   APIs (HeapAlloc
28ce0 2c 20 48 65 61 70 46 72 65 65 2c 20 61 6e 64 0a  , HeapFree, and.
28cf0 48 65 61 70 52 65 41 6c 6c 6f 63 2e 29 20 28 42  HeapReAlloc.) (B
28d00 53 29 0a 0a 31 30 2f 35 2f 39 38 20 28 62 75 67  S)..10/5/98 (bug
28d10 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
28d20 69 6e 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74  in pkg_mkIndex t
28d30 68 61 74 20 63 61 75 73 65 64 20 73 6f 6d 65 20  hat caused some 
28d40 66 69 6c 65 73 20 74 68 61 74 20 64 6f 0a 61 20  files that do.a 
28d50 22 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65  "package require
28d60 22 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e  " of packages in
28d70 20 74 68 65 20 54 63 6c 20 6c 69 62 72 61 72 69   the Tcl librari
28d80 65 73 20 74 6f 20 67 69 76 65 20 61 20 77 61 72  es to give a war
28d90 6e 69 6e 67 20 6c 69 6b 65 0a 09 77 61 72 6e 69  ning like..warni
28da0 6e 67 3a 20 22 78 78 2e 74 63 6c 22 20 70 72 6f  ng: "xx.tcl" pro
28db0 76 69 64 65 73 20 6d 6f 72 65 20 74 68 61 6e 20  vides more than 
28dc0 6f 6e 65 20 70 61 63 6b 61 67 65 20 28 7b 78 78  one package ({xx
28dd0 20 32 2e 30 7d 20 7b 79 79 20 30 2e 33 7d 29 0a   2.0} {yy 0.3}).
28de0 61 6e 64 20 67 65 6e 65 72 61 74 65 20 61 20 62  and generate a b
28df0 72 6f 6b 65 6e 20 70 6b 67 49 6e 64 65 78 2e 74  roken pkgIndex.t
28e00 63 6c 20 66 69 6c 65 2e 20 28 45 4d 53 29 0a 0a  cl file. (EMS)..
28e10 31 30 2f 35 2f 39 38 20 28 62 75 67 20 66 69 78  10/5/98 (bug fix
28e20 29 20 50 6b 67 5f 6d 6b 49 6e 64 65 78 20 77 61  ) Pkg_mkIndex wa
28e30 73 20 6e 6f 74 20 64 6f 69 6e 67 20 61 20 63 61  s not doing a ca
28e40 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 20 63  se-insensitive c
28e50 6f 6d 70 61 72 69 73 6f 6e 0a 6f 66 20 65 78 74  omparison.of ext
28e60 65 6e 73 69 6f 6e 73 20 74 6f 20 64 65 74 65 72  ensions to deter
28e70 6d 69 6e 65 20 77 68 65 74 68 65 72 20 74 6f 20  mine whether to 
28e80 6c 6f 61 64 20 6f 72 20 73 6f 75 72 63 65 20 61  load or source a
28e90 20 66 69 6c 65 2e 20 54 68 75 73 2c 20 75 6e 64   file. Thus, und
28ea0 65 72 0a 57 69 6e 64 6f 77 73 2c 20 4d 59 44 4c  er.Windows, MYDL
28eb0 4c 4e 41 4d 45 2e 44 4c 4c 20 77 61 73 20 73 6f  LNAME.DLL was so
28ec0 75 72 63 65 64 2c 20 61 6e 64 20 6d 79 64 6c 6c  urced, and mydll
28ed0 6e 61 6d 65 2e 64 6c 6c 20 6c 6f 61 64 65 64 2e  name.dll loaded.
28ee0 20 28 45 4d 53 29 0a 0a 31 30 2f 35 2f 39 38 20   (EMS)..10/5/98 
28ef0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 72  (new feature) Cr
28f00 65 61 74 65 64 20 61 20 6e 65 77 20 54 63 6c 5f  eated a new Tcl_
28f10 4f 62 6a 20 74 79 70 65 2c 20 22 70 72 6f 63 62  Obj type, "procb
28f20 6f 64 79 22 2e 20 54 68 69 73 20 6f 62 6a 65 63  ody". This objec
28f30 74 27 73 0a 69 6e 74 65 72 6e 61 6c 20 72 65 70  t's.internal rep
28f40 72 65 73 65 6e 74 61 74 69 6f 6e 20 68 6f 6c 64  resentation hold
28f50 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61  s a pointer to a
28f60 20 50 72 6f 63 20 73 74 72 75 63 74 75 72 65 2e   Proc structure.
28f70 20 45 78 74 65 6e 64 65 64 0a 54 63 6c 43 72 65   Extended.TclCre
28f80 61 74 65 50 72 6f 63 20 74 6f 20 74 61 6b 65 20  ateProc to take 
28f90 62 6f 74 68 20 73 74 72 69 6e 67 73 20 61 6e 64  both strings and
28fa0 20 22 70 72 6f 63 62 6f 64 79 22 2e 20 28 45 4d   "procbody". (EM
28fb0 53 29 0a 0a 31 30 2f 31 33 2f 39 38 20 28 62 75  S)..10/13/98 (bu
28fc0 67 20 66 69 78 29 20 54 68 65 20 22 69 6e 66 6f  g fix) The "info
28fd0 20 63 6f 6d 70 6c 65 74 65 22 20 63 6f 6d 6d 61   complete" comma
28fe0 6e 64 20 63 61 6e 20 6e 6f 77 20 68 61 6e 64 6c  nd can now handl
28ff0 65 20 73 74 72 69 6e 67 73 0a 77 69 74 68 20 4e  e strings.with N
29000 55 4c 4c 73 20 65 6d 62 65 64 64 65 64 2e 20 20  ULLs embedded.  
29010 54 68 61 6e 6b 73 20 74 6f 20 63 6f 6c 69 6e 40  Thanks to [email protected]
29020 66 69 65 6c 64 2e 6d 65 64 69 63 69 6e 65 2e 61  field.medicine.a
29030 64 65 6c 61 69 64 65 2e 65 64 75 2e 61 75 20 0a  delaide.edu.au .
29040 66 6f 72 20 70 72 6f 76 69 64 69 6e 67 20 74 68  for providing th
29050 69 73 20 66 69 78 2e 20 28 52 4a 29 0a 0a 31 30  is fix. (RJ)..10
29060 2f 31 33 2f 39 38 20 28 62 75 67 20 66 69 78 29  /13/98 (bug fix)
29070 20 54 68 65 20 22 6c 73 6f 72 74 20 2d 64 69 63   The "lsort -dic
29080 74 69 6f 6e 61 72 79 22 20 63 6f 6d 6d 61 6e 64  tionary" command
29090 20 64 69 64 20 6e 6f 74 20 70 72 6f 70 65 72 6c   did not properl
290a0 79 0a 68 61 6e 64 6c 65 20 73 6f 6d 65 20 6e 75  y.handle some nu
290b0 6d 62 65 72 73 20 73 74 61 72 74 69 6e 67 20 77  mbers starting w
290c0 69 74 68 20 30 2e 20 20 54 68 61 6e 6b 73 20 74  ith 0.  Thanks t
290d0 6f 20 52 69 63 68 61 72 64 20 48 69 70 70 0a 3c  o Richard Hipp.<
290e0 64 72 68 40 61 63 6d 2e 6f 72 67 3e 20 66 6f 72  [email protected]> for
290f0 20 73 75 62 6d 69 74 74 69 6e 67 20 74 68 65 20   submitting the 
29100 66 69 78 20 74 6f 20 53 63 72 69 70 74 69 63 73  fix to Scriptics
29110 2e 20 28 52 4a 29 0a 0a 31 30 2f 31 33 2f 39 38  . (RJ)..10/13/98
29120 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 66   (bug fix) The f
29130 75 6e 63 74 69 6f 6e 20 54 63 6c 5f 53 65 74 4c  unction Tcl_SetL
29140 69 73 74 4f 62 6a 20 77 61 73 20 63 72 65 61 74  istObj was creat
29150 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 0a 54  ing an invalid.T
29160 63 6c 5f 4f 62 6a 20 69 66 20 74 68 65 20 6c 69  cl_Obj if the li
29170 73 74 20 68 61 64 20 7a 65 72 6f 20 65 6c 65 6d  st had zero elem
29180 65 6e 74 73 20 28 64 65 73 70 69 74 65 20 77 68  ents (despite wh
29190 61 74 20 74 68 65 20 63 6f 6d 6d 65 6e 74 73 20  at the comments 
291a0 73 61 69 64 0a 69 74 20 77 6f 75 6c 64 20 64 6f  said.it would do
291b0 29 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 53 65  ).  Thanks to Se
291c0 62 61 73 74 69 61 6e 20 57 61 6e 67 6e 69 63 6b  bastian Wangnick
291d0 20 66 6f 72 20 72 65 70 6f 72 74 69 6e 67 20 74   for reporting t
291e0 68 65 0a 70 72 6f 62 6c 65 6d 2e 20 28 52 4a 29  he.problem. (RJ)
291f0 0a 0a 31 30 2f 32 30 2f 39 38 20 28 6e 65 77 20  ..10/20/98 (new 
29200 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 74  feature) Added t
29210 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 64 65 62 75  cl_platform(debu
29220 67 29 20 65 6c 65 6d 65 6e 74 20 74 6f 20 74 68  g) element to th
29230 65 0a 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 61  e.tcl_platform a
29240 72 72 61 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20  rray on Windows 
29250 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68 65 20 65  platform.  The e
29260 78 69 73 74 65 6e 63 65 20 6f 66 20 74 68 65 20  xistence of the 
29270 64 65 62 75 67 0a 65 6c 65 6d 65 6e 74 20 6f 66  debug.element of
29280 20 74 68 65 20 74 63 6c 5f 70 6c 61 74 66 6f 72   the tcl_platfor
29290 6d 20 61 72 72 61 79 20 69 6e 64 69 63 61 74 65  m array indicate
292a0 73 20 74 68 61 74 20 74 68 65 20 70 61 72 74 69  s that the parti
292b0 63 75 6c 61 72 20 54 63 6c 0a 73 68 65 6c 6c 20  cular Tcl.shell 
292c0 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65  has been compile
292d0 64 20 77 69 74 68 20 64 65 62 75 67 20 69 6e 66  d with debug inf
292e0 6f 72 6d 61 74 69 6f 6e 2e 20 20 55 73 69 6e 67  ormation.  Using
292f0 0a 22 69 6e 66 6f 20 65 78 69 73 74 73 20 74 63  ."info exists tc
29300 6c 5f 70 6c 61 74 66 6f 72 6d 28 64 65 62 75 67  l_platform(debug
29310 29 22 20 61 20 54 63 6c 20 73 63 72 69 70 74 20  )" a Tcl script 
29320 63 61 6e 20 64 69 72 65 63 74 20 74 68 65 0a 69  can direct the.i
29330 6e 74 65 72 70 72 65 74 65 72 20 74 6f 20 6c 6f  nterpreter to lo
29340 61 64 20 64 65 62 75 67 20 76 65 72 73 69 6f 6e  ad debug version
29350 73 20 6f 66 20 44 4c 4c 73 20 77 69 74 68 20 74  s of DLLs with t
29360 68 65 20 6c 6f 61 64 0a 63 6f 6d 6d 61 6e 64 2e  he load.command.
29370 20 28 53 4b 53 29 0a 0a 31 30 2f 32 30 2f 39 38   (SKS)..10/20/98
29380 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
29390 29 20 54 68 65 20 4d 61 6b 65 66 69 6c 65 20 61  ) The Makefile a
293a0 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72  nd configure scr
293b0 69 70 74 73 20 68 61 76 65 20 62 65 65 6e 0a 63  ipts have been.c
293c0 68 61 6e 67 65 64 20 66 6f 72 20 49 52 49 58 20  hanged for IRIX 
293d0 74 6f 20 62 75 69 6c 64 20 6e 33 32 20 62 69 6e  to build n32 bin
293e0 61 72 69 65 73 20 69 6e 73 74 65 61 64 20 6f 66  aries instead of
293f0 20 74 68 65 20 6f 6c 64 20 33 32 20 61 62 69 0a   the old 32 abi.
29400 66 6f 72 6d 61 74 2e 20 20 49 66 20 79 6f 75 20  format.  If you 
29410 68 61 76 65 20 65 78 74 65 6e 73 69 6f 6e 73 20  have extensions 
29420 62 75 69 6c 74 20 77 69 74 68 20 74 68 65 20 6f  built with the o
29430 33 32 20 61 62 69 27 73 20 79 6f 75 20 77 69 6c  32 abi's you wil
29440 6c 20 6e 65 65 64 0a 74 6f 20 75 70 64 61 74 65  l need.to update
29450 20 74 68 65 6d 20 74 6f 20 6e 33 32 20 66 6f 72   them to n32 for
29460 20 74 68 65 6d 20 74 6f 20 77 6f 72 6b 20 77 69   them to work wi
29470 74 68 20 54 63 6c 2e 20 20 28 52 4a 29 0a 2a 2a  th Tcl.  (RJ).**
29480 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
29490 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
294a0 0a 31 30 2f 32 33 2f 39 38 20 28 62 75 67 20 66  .10/23/98 (bug f
294b0 69 78 29 20 74 63 6c 5f 66 69 6e 64 4c 69 62 72  ix) tcl_findLibr
294c0 61 72 79 20 68 61 64 20 61 20 73 74 72 61 79 20  ary had a stray 
294d0 5d 20 69 6e 20 6f 6e 65 20 6f 66 20 74 68 65 0a  ] in one of the.
294e0 70 61 74 68 6e 61 6d 65 73 20 69 74 20 73 65 61  pathnames it sea
294f0 72 63 68 65 64 20 66 6f 72 20 74 68 65 20 69 6e  rched for the in
29500 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72  itialization scr
29510 69 70 74 2e 20 20 74 63 6c 49 6e 69 74 53 63 72  ipt.  tclInitScr
29520 69 70 74 2e 68 0a 77 61 73 20 69 6e 63 6f 72 72  ipt.h.was incorr
29530 65 63 74 6c 79 20 61 64 64 69 6e 67 20 74 68 65  ectly adding the
29540 20 70 61 72 65 6e 74 20 6f 66 20 74 63 6c 5f 6c   parent of tcl_l
29550 69 62 72 61 72 79 20 74 6f 20 74 63 6c 5f 70 6b  ibrary to tcl_pk
29560 67 50 61 74 68 2e 20 20 54 68 69 73 0a 6c 6f 67  gPath.  This.log
29570 69 63 20 77 61 73 20 6d 6f 76 65 64 20 69 6e 74  ic was moved int
29580 6f 20 69 6e 69 74 2e 74 63 6c 2c 20 61 6e 64 20  o init.tcl, and 
29590 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69  the initializati
295a0 6f 6e 20 6f 66 20 61 75 74 6f 5f 70 61 74 68 20  on of auto_path 
295b0 77 61 73 0a 64 6f 63 75 6d 65 6e 74 65 64 2e 20  was.documented. 
295c0 20 54 68 61 6e 6b 73 20 74 6f 20 44 6f 6e 61 6c   Thanks to Donal
295d0 64 20 50 6f 72 74 65 72 20 61 6e 64 20 54 6f 6d  d Porter and Tom
295e0 20 53 69 6c 76 61 20 66 6f 72 20 72 65 6c 61 74   Silva for relat
295f0 65 64 0a 70 61 74 63 68 65 73 2e 20 28 42 57 29  ed.patches. (BW)
29600 0a 0a 31 30 2f 32 39 2f 39 38 20 28 62 75 67 20  ..10/29/98 (bug 
29610 66 69 78 29 20 46 69 78 65 64 20 54 63 6c 5f 4e  fix) Fixed Tcl_N
29620 6f 74 69 66 79 43 68 61 6e 6e 65 6c 20 74 6f 20  otifyChannel to 
29630 75 73 65 20 54 63 6c 5f 50 72 65 73 65 72 76 65  use Tcl_Preserve
29640 20 69 6e 73 74 65 61 64 0a 6f 66 20 54 63 6c 5f   instead.of Tcl_
29650 52 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 20  RegisterChannel 
29660 73 6f 20 74 68 61 74 20 31 29 20 75 6e 72 65 67  so that 1) unreg
29670 69 73 74 65 72 65 64 20 63 68 61 6e 6e 65 6c 73  istered channels
29680 20 64 6f 20 6e 6f 74 20 67 65 74 0a 63 6c 6f 73   do not get.clos
29690 65 64 20 61 66 74 65 72 20 74 68 65 69 72 20 66  ed after their f
296a0 69 72 73 74 20 66 69 6c 65 65 76 65 6e 74 2c 20  irst fileevent, 
296b0 61 6e 64 20 32 29 20 65 72 72 6f 72 73 20 74 68  and 2) errors th
296c0 61 74 20 6f 63 63 75 72 20 64 75 72 69 6e 67 0a  at occur during.
296d0 63 6c 6f 73 65 20 69 6e 20 61 20 66 69 6c 65 65  close in a filee
296e0 76 65 6e 74 20 73 63 72 69 70 74 20 61 72 65 20  vent script are 
296f0 61 63 74 75 61 6c 6c 79 20 72 65 66 6c 65 63 74  actually reflect
29700 65 64 20 62 79 20 74 68 65 20 63 6c 6f 73 65 0a  ed by the close.
29710 63 6f 6d 6d 61 6e 64 2e 20 28 42 57 29 0a 0a 31  command. (BW)..1
29720 30 2f 33 30 2f 39 38 20 28 62 75 67 20 66 69 78  0/30/98 (bug fix
29730 29 20 4f 76 65 72 68 61 75 6c 20 6f 66 20 70 6b  ) Overhaul of pk
29740 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 64 65 61  g_mkIndex to dea
29750 6c 20 77 69 74 68 20 74 72 61 6e 73 69 74 69 76  l with transitiv
29760 65 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69 72  e.package requir
29770 65 73 20 61 6e 64 20 70 61 63 6b 61 67 65 73 20  es and packages 
29780 73 70 6c 69 74 20 61 6d 6f 6e 67 20 73 63 72 69  split among scri
29790 70 74 73 20 61 6e 64 20 62 69 6e 61 72 79 20 66  pts and binary f
297a0 69 6c 65 73 2e 0a 41 6c 73 6f 20 66 69 78 65 64  iles..Also fixed
297b0 20 6f 6d 6d 69 73 69 6f 6e 20 6f 66 20 67 6c 6f   ommision of glo
297c0 62 61 6c 20 66 6f 72 20 65 72 72 6f 72 49 6e 66  bal for errorInf
297d0 6f 20 69 6e 20 74 63 6c 5f 66 69 6e 64 4c 69 62  o in tcl_findLib
297e0 72 61 72 79 2e 20 28 42 57 29 0a 0a 31 31 2f 30  rary. (BW)..11/0
297f0 38 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 46  8/98 (bug fix) F
29800 69 78 65 64 20 74 68 65 20 72 65 73 6f 75 72 63  ixed the resourc
29810 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 77  e command to alw
29820 61 79 73 20 64 65 74 65 63 74 0a 74 68 65 20 63  ays detect.the c
29830 61 73 65 20 77 68 65 72 65 20 61 20 66 69 6c 65  ase where a file
29840 20 69 73 20 6f 70 65 6e 65 64 20 61 20 73 65 63   is opened a sec
29850 6f 6e 64 20 74 69 6d 65 20 77 69 74 68 20 74 68  ond time with th
29860 65 20 73 61 6d 65 0a 70 65 72 6d 69 73 73 69 6f  e same.permissio
29870 6e 73 2e 20 20 49 4d 20 63 6c 61 69 6d 73 20 74  ns.  IM claims t
29880 68 61 74 20 74 68 69 73 20 77 69 6c 6c 20 61 6c  hat this will al
29890 77 61 79 73 20 63 61 75 73 65 20 74 68 65 20 73  ways cause the s
298a0 61 6d 65 0a 46 69 6c 65 52 65 66 20 74 6f 20 62  ame.FileRef to b
298b0 65 20 72 65 74 75 72 6e 65 64 2c 20 62 75 74 20  e returned, but 
298c0 69 6e 20 4d 61 63 4f 53 20 38 2e 31 2b 2c 20 74  in MacOS 8.1+, t
298d0 68 69 73 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72  his is no longer
298e0 20 74 68 65 20 63 61 73 65 2c 0a 73 6f 20 77 65   the case,.so we
298f0 20 68 61 76 65 20 74 6f 20 74 65 73 74 20 66 6f   have to test fo
29900 72 20 74 68 69 73 20 65 78 70 6c 69 63 69 74 6c  r this explicitl
29910 79 2e 20 28 4a 49 29 0a 0a 31 31 2f 31 30 2f 39  y. (JI)..11/10/9
29920 38 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  8 (feature chang
29930 65 29 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e  e) When compilin
29940 67 20 77 69 74 68 20 4d 65 74 72 6f 77 65 72 6b  g with Metrowerk
29950 27 73 20 4d 53 4c 2c 20 75 73 65 20 74 68 65 0a  's MSL, use the.
29960 65 78 69 74 20 66 75 6e 63 74 69 6f 6e 20 66 72  exit function fr
29970 6f 6d 20 4d 53 4c 20 72 61 74 68 65 72 20 74 68  om MSL rather th
29980 61 6e 20 45 78 69 74 54 6f 53 68 65 6c 6c 2e 20  an ExitToShell. 
29990 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 4d 53 4c   This allows MSL
299a0 20 74 6f 0a 63 6c 65 61 6e 20 75 70 20 69 74 73   to.clean up its
299b0 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73   temporary files
299c0 2e 20 54 68 61 6e 6b 73 20 74 6f 20 56 69 6e 63  . Thanks to Vinc
299d0 65 20 44 61 72 6c 65 79 20 66 6f 72 20 74 68 69  e Darley for thi
299e0 73 0a 69 6d 70 72 6f 76 65 6d 65 6e 74 2e 20 28  s.improvement. (
299f0 4a 49 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  JI)..-----------
29a00 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
29a10 38 2e 30 2e 34 2c 20 31 31 2f 31 39 2f 39 38 20  8.0.4, 11/19/98 
29a20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
29a30 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31 2f 32 30  ---------..11/20
29a40 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 48 61  /98 (bug fix) Ha
29a50 6e 64 6c 65 20 70 6f 73 73 69 62 6c 65 20 4e 55  ndle possible NU
29a60 4c 4c 20 72 65 74 75 72 6e 20 69 6e 20 54 63 6c  LL return in Tcl
29a70 47 65 74 53 74 64 46 69 6c 65 73 2e 20 28 52 4a  GetStdFiles. (RJ
29a80 29 0a 0a 31 31 2f 32 30 2f 39 38 20 28 62 75 67  )..11/20/98 (bug
29a90 20 66 69 78 29 20 54 68 65 20 64 6c 74 65 73 74   fix) The dltest
29aa0 73 20 77 6f 75 6c 64 20 6e 6f 74 20 62 75 69 6c  s would not buil
29ab0 64 20 6f 6e 20 53 47 49 2e 20 20 54 68 65 79 20  d on SGI.  They 
29ac0 72 65 70 6f 72 74 65 64 0a 74 68 61 74 20 79 6f  reported.that yo
29ad0 75 20 63 6f 75 6c 64 20 6e 6f 74 20 6d 69 78 20  u could not mix 
29ae0 6e 33 32 20 77 69 74 68 20 30 33 32 20 62 69 6e  n32 with 032 bin
29af0 61 72 69 65 73 2e 20 20 54 68 65 20 63 6f 6e 66  aries.  The conf
29b00 69 67 75 72 65 20 73 63 72 69 70 74 0a 68 61 73  igure script.has
29b10 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 74   been modified t
29b20 6f 20 67 65 74 20 74 68 65 20 45 58 54 52 41 5f  o get the EXTRA_
29b30 43 46 4c 41 47 53 20 66 72 6f 6d 20 74 68 65 20  CFLAGS from the 
29b40 74 63 6c 20 63 6f 6e 66 69 67 75 72 65 0a 73 63  tcl configure.sc
29b50 72 69 70 74 2e 20 20 5b 42 75 67 20 69 64 3a 20  ript.  [Bug id: 
29b60 38 34 30 5d 20 28 52 4a 29 0a 0a 31 32 2f 33 2f  840] (RJ)..12/3/
29b70 39 38 20 28 62 75 67 20 66 69 78 29 20 57 69 6e  98 (bug fix) Win
29b80 64 6f 77 73 20 4e 54 20 63 72 65 61 74 65 73 20  dows NT creates 
29b90 73 6f 63 6b 65 74 73 20 73 6f 20 74 68 65 79 20  sockets so they 
29ba0 61 72 65 20 69 6e 68 65 72 69 74 61 62 6c 65 0a  are inheritable.
29bb0 62 79 20 64 65 66 61 75 6c 74 2e 20 20 46 69 78  by default.  Fix
29bc0 65 64 20 73 6f 63 6b 65 74 20 63 6f 64 65 20 73  ed socket code s
29bd0 6f 20 69 74 20 74 75 72 6e 73 20 6f 66 66 20 74  o it turns off t
29be0 68 69 73 20 62 69 74 20 72 69 67 68 74 20 61 66  his bit right af
29bf0 74 65 72 0a 63 72 65 61 74 69 6f 6e 20 73 6f 20  ter.creation so 
29c00 73 6f 63 6b 65 74 73 20 61 72 65 6e 27 74 20 6b  sockets aren't k
29c10 65 70 74 20 6f 70 65 6e 20 62 79 20 65 78 65 63  ept open by exec
29c20 27 65 64 20 70 72 6f 63 65 73 73 65 73 2e 20 5b  'ed processes. [
29c30 42 75 67 3a 20 38 39 32 5d 0a 54 68 61 6e 6b 73  Bug: 892].Thanks
29c40 20 74 6f 20 4b 65 76 69 6e 20 4b 65 6e 6e 79 20   to Kevin Kenny 
29c50 66 6f 72 20 74 68 69 73 20 66 69 78 2e 20 20 28  for this fix.  (
29c60 53 53 29 0a 0a 31 2f 31 31 2f 39 38 20 28 62 75  SS)..1/11/98 (bu
29c70 67 20 66 69 78 29 20 20 4f 6e 20 48 50 2c 20 22  g fix)  On HP, "
29c80 69 6e 66 6f 20 73 68 61 72 65 64 6c 69 62 65 78  info sharedlibex
29c90 74 65 6e 73 69 6f 6e 22 20 77 61 73 20 72 65 74  tension" was ret
29ca0 75 72 6e 69 6e 67 20 0a 65 6d 70 74 79 20 73 74  urning .empty st
29cb0 72 69 6e 67 20 6f 6e 20 73 74 61 74 69 63 20 61  ring on static a
29cc0 70 70 73 2e 20 20 49 74 20 6e 6f 77 20 61 6c 77  pps.  It now alw
29cd0 61 79 73 20 72 65 74 75 72 6e 73 20 22 2e 73 6c  ays returns ".sl
29ce0 22 2e 20 20 28 52 4a 29 0a 0a 31 2f 32 38 2f 39  ".  (RJ)..1/28/9
29cf0 39 20 28 63 6f 6e 66 69 67 75 72 65 20 63 68 61  9 (configure cha
29d00 6e 67 65 29 20 4e 6f 77 20 73 75 70 70 6f 72 74  nge) Now support
29d10 20 2d 70 69 70 65 20 6f 70 74 69 6f 6e 20 6f 6e   -pipe option on
29d20 20 67 63 63 2e 20 20 28 52 4a 29 0a 0a 32 2f 32   gcc.  (RJ)..2/2
29d30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69  /99 (bug fix) Fi
29d40 78 65 64 20 69 6e 69 74 69 61 6c 69 7a 61 74 69  xed initializati
29d50 6f 6e 20 70 72 6f 62 6c 65 6d 20 6f 6e 20 57 69  on problem on Wi
29d60 6e 64 6f 77 73 20 77 68 65 72 65 20 6e 6f 0a 73  ndows where no.s
29d70 65 61 72 63 68 69 6e 67 20 66 6f 72 20 69 6e 69  earching for ini
29d80 74 2e 74 63 6c 20 77 6f 75 6c 64 20 62 65 20 70  t.tcl would be p
29d90 65 72 66 6f 72 6d 65 64 20 69 66 20 74 68 65 20  erformed if the 
29da0 72 65 67 69 73 74 72 79 20 6b 65 79 73 20 77 65  registry keys we
29db0 72 65 0a 6d 69 73 73 69 6e 67 2e 20 20 28 73 74  re.missing.  (st
29dc0 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28  anton)..2/2/99 (
29dd0 62 75 67 20 66 69 78 29 20 41 64 64 65 64 20 73  bug fix) Added s
29de0 75 70 70 6f 72 74 20 66 6f 72 20 48 4b 45 59 5f  upport for HKEY_
29df0 50 45 52 46 4f 52 4d 41 4e 43 45 5f 44 41 54 41  PERFORMANCE_DATA
29e00 20 61 6e 64 0a 48 4b 45 59 5f 44 59 4e 5f 44 41   and.HKEY_DYN_DA
29e10 54 41 20 6b 65 79 73 20 69 6e 20 74 68 65 20 22  TA keys in the "
29e20 72 65 67 69 73 74 72 79 22 20 63 6f 6d 6d 61 6e  registry" comman
29e30 64 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 32 2f  d. (stanton)..2/
29e40 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 45  2/99 (bug fix) E
29e50 4e 4f 54 53 55 50 20 61 6e 64 20 45 4f 50 4e 4f  NOTSUP and EOPNO
29e60 54 53 55 50 50 20 63 6c 61 73 68 65 64 20 6f 6e  TSUPP clashed on
29e70 20 73 6f 6d 65 20 4c 69 6e 75 78 0a 76 61 72 69   some Linux.vari
29e80 61 6e 74 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  ants. (stanton).
29e90 0a 32 2f 32 2f 39 39 20 28 65 6e 68 61 6e 63 65  .2/2/99 (enhance
29ea0 6d 65 6e 74 29 20 54 68 65 20 22 6f 70 65 6e 22  ment) The "open"
29eb0 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 62 65 65   command has bee
29ec0 6e 20 63 68 61 6e 67 65 64 20 74 6f 20 75 73 65  n changed to use
29ed0 20 74 68 65 0a 6f 62 6a 65 63 74 20 69 6e 74 65   the.object inte
29ee0 72 66 61 63 65 73 2e 20 28 73 74 61 6e 74 6f 6e  rfaces. (stanton
29ef0 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66  )..2/2/99 (bug f
29f00 69 78 29 20 49 6e 20 73 6f 6d 65 20 63 61 73 65  ix) In some case
29f10 73 20 54 63 6c 20 77 6f 75 6c 64 20 63 72 61 73  s Tcl would cras
29f20 68 20 64 75 65 20 74 6f 20 61 6e 20 6f 76 65 72  h due to an over
29f30 66 6c 6f 77 20 6f 66 0a 74 68 65 20 65 78 63 65  flow of.the exce
29f40 70 74 69 6f 6e 20 73 74 61 63 6b 20 72 65 73 75  ption stack resu
29f50 6c 74 69 6e 67 20 66 72 6f 6d 20 61 20 6d 69 73  lting from a mis
29f60 73 69 6e 67 20 62 79 74 65 20 63 6f 64 65 20 69  sing byte code i
29f70 6e 20 73 6f 6d 65 0a 65 78 70 72 65 73 73 69 6f  n some.expressio
29f80 6e 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 32  ns. (stanton)..2
29f90 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  /2/99 (bug fix) 
29fa0 43 68 61 6e 67 65 64 20 63 6f 6e 66 69 67 75 72  Changed configur
29fb0 65 20 73 6f 20 4c 69 6e 75 78 20 61 6e 64 20 49  e so Linux and I
29fc0 52 49 58 20 73 68 61 72 65 64 20 6c 69 62 72 61  RIX shared libra
29fd0 72 69 65 73 0a 61 72 65 20 6c 69 6e 6b 65 64 20  ries.are linked 
29fe0 77 69 74 68 20 74 68 65 20 73 79 73 74 65 6d 20  with the system 
29ff0 6c 69 62 72 61 72 69 65 73 2e 20 28 73 74 61 6e  libraries. (stan
2a000 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75  ton)..2/2/99 (bu
2a010 67 20 66 69 78 29 20 41 64 64 65 64 20 73 75 70  g fix) Added sup
2a020 70 6f 72 74 20 66 6f 72 20 42 53 44 49 20 34 2e  port for BSDI 4.
2a030 78 20 28 42 53 44 2f 4f 53 2d 34 2a 29 20 74 6f  x (BSD/OS-4*) to
2a040 20 74 68 65 0a 63 6f 6e 66 69 67 75 72 65 20 73   the.configure s
2a050 63 72 69 70 74 2e 20 28 73 74 61 6e 74 6f 6e 29  cript. (stanton)
2a060 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69  ..2/2/99 (bug fi
2a070 78 29 20 46 69 78 65 64 20 62 75 67 20 77 68 65  x) Fixed bug whe
2a080 72 65 20 75 70 76 61 72 20 63 6f 75 6c 64 20 72  re upvar could r
2a090 65 73 75 72 72 65 63 74 20 61 20 6e 61 6d 65 73  esurrect a names
2a0a0 70 61 63 65 0a 76 61 72 69 61 62 6c 65 20 61 66  pace.variable af
2a0b0 74 65 72 20 74 68 65 20 6e 61 6d 65 73 70 61 63  ter the namespac
2a0c0 65 20 68 61 64 20 62 65 65 6e 20 64 65 6c 65 74  e had been delet
2a0d0 65 64 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 32  ed. (stanton)..2
2a0e0 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  /2/99 (bug fix) 
2a0f0 49 6e 20 73 6f 6d 65 20 63 61 73 65 73 20 77 68  In some cases wh
2a100 65 6e 20 63 72 65 61 74 69 6e 67 20 76 61 72 69  en creating vari
2a110 61 62 6c 65 73 2c 20 74 68 65 0a 69 6e 74 65 72  ables, the.inter
2a120 70 72 65 74 65 72 20 72 65 73 75 6c 74 20 77 61  preter result wa
2a130 73 20 62 65 69 6e 67 20 6d 6f 64 69 66 69 65 64  s being modified
2a140 20 65 76 65 6e 20 69 66 20 74 68 65 20 54 43 4c   even if the TCL
2a150 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47 0a 66  _LEAVE_ERR_MSG.f
2a160 6c 61 67 20 77 61 73 20 73 65 74 2e 20 28 73 74  lag was set. (st
2a170 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28  anton)..2/2/99 (
2a180 62 75 67 20 66 69 78 20 26 20 6e 65 77 20 66 65  bug fix & new fe
2a190 61 74 75 72 65 29 20 43 68 61 6e 67 65 64 20 74  ature) Changed t
2a1a0 68 65 20 73 6f 63 6b 65 74 20 64 72 69 76 65 72  he socket driver
2a1b0 73 20 74 6f 20 70 72 6f 70 65 72 6c 79 0a 68 61  s to properly.ha
2a1c0 6e 64 6c 65 20 66 61 69 6c 75 72 65 73 20 64 75  ndle failures du
2a1d0 72 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 73 6f  ring an async so
2a1e0 63 6b 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e  cket connection.
2a1f0 20 20 41 64 64 65 64 20 61 20 6e 65 77 0a 66 63    Added a new.fc
2a200 6f 6e 66 69 67 75 72 65 20 6f 70 74 69 6f 6e 20  onfigure option 
2a210 22 2d 65 72 72 6f 72 22 20 74 6f 20 72 65 74 72  "-error" to retr
2a220 69 65 76 65 20 74 68 65 20 66 61 69 6c 75 72 65  ieve the failure
2a230 20 6d 65 73 73 61 67 65 2e 20 20 53 65 65 20 74   message.  See t
2a240 68 65 0a 73 6f 63 6b 65 74 2e 6e 20 6d 61 6e 75  he.socket.n manu
2a250 61 6c 20 65 6e 74 72 79 20 66 6f 72 20 64 65 74  al entry for det
2a260 61 69 6c 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  ails. (stanton).
2a270 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78  .2/2/99 (bug fix
2a280 29 20 44 65 6c 65 74 69 6e 67 20 61 20 72 65 6e  ) Deleting a ren
2a290 61 6d 65 64 20 69 6e 74 65 72 70 20 61 6c 69 61  amed interp alia
2a2a0 73 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 20 69  s could result i
2a2b0 6e 20 61 0a 70 61 6e 69 63 2e 20 28 73 74 61 6e  n a.panic. (stan
2a2c0 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 66 65  ton)..2/2/99 (fe
2a2d0 61 74 75 72 65 20 63 68 61 6e 67 65 2f 62 75 67  ature change/bug
2a2e0 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 74 68   fix) Changed th
2a2f0 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 22 66  e behavior of "f
2a300 69 6c 65 0a 65 78 74 65 6e 73 69 6f 6e 22 20 73  ile.extension" s
2a310 6f 20 74 68 61 74 20 69 74 20 73 70 6c 69 74 73  o that it splits
2a320 20 61 74 20 74 68 65 20 6c 61 73 74 20 70 65 72   at the last per
2a330 69 6f 64 2e 20 20 4e 6f 77 20 74 68 65 20 65 78  iod.  Now the ex
2a340 74 65 6e 73 69 6f 6e 20 6f 66 0a 61 20 66 69 6c  tension of.a fil
2a350 65 20 6c 69 6b 65 20 22 66 6f 6f 2e 2e 6f 22 20  e like "foo..o" 
2a360 69 73 20 22 2e 6f 22 20 69 6e 73 74 65 61 64 20  is ".o" instead 
2a370 6f 66 20 22 2e 2e 6f 22 20 61 73 20 69 6e 20 70  of "..o" as in p
2a380 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73  revious versions
2a390 2e 20 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  . .*** POTENTIAL
2a3a0 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
2a3b0 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ***..----------
2a3c0 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
2a3d0 20 38 2e 30 2e 35 2c 20 33 2f 39 2f 39 39 20 2d   8.0.5, 3/9/99 -
2a3e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2a3f0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 3d 3d 3d 3d 3d 3d  --------..======
2a400 3d 3d 20 43 68 61 6e 67 65 73 20 66 6f 72 20 38  == Changes for 8
2a410 2e 30 20 67 6f 20 61 62 6f 76 65 20 74 68 69 73  .0 go above this
2a420 20 6c 69 6e 65 20 3d 3d 3d 3d 3d 3d 3d 3d 0a 3d   line ========.=
2a430 3d 3d 3d 3d 3d 3d 3d 20 43 68 61 6e 67 65 73 20  ======= Changes 
2a440 66 6f 72 20 38 2e 31 20 67 6f 20 62 65 6c 6f 77  for 8.1 go below
2a450 20 74 68 69 73 20 6c 69 6e 65 20 3d 3d 3d 3d 3d   this line =====
2a460 3d 3d 3d 0a 0a 36 2f 31 38 2f 39 37 20 28 6e 65  ===..6/18/97 (ne
2a470 77 20 66 65 61 74 75 72 65 29 20 54 63 6c 20 6e  w feature) Tcl n
2a480 6f 77 20 73 75 70 70 6f 72 74 73 20 69 6e 74 65  ow supports inte
2a490 72 6e 61 74 69 6f 6e 61 6c 20 63 68 61 72 61 63  rnational charac
2a4a0 74 65 72 20 73 65 74 73 3a 0a 20 20 20 20 2d 20  ter sets:.    - 
2a4b0 41 6c 6c 20 43 20 41 50 49 73 20 6e 6f 77 20 61  All C APIs now a
2a4c0 63 63 65 70 74 20 55 54 46 2d 38 20 73 74 72 69  ccept UTF-8 stri
2a4d0 6e 67 73 20 69 6e 73 74 65 61 64 20 6f 66 20 69  ngs instead of i
2a4e0 73 6f 38 38 35 39 2d 31 20 73 74 72 69 6e 67 73  so8859-1 strings
2a4f0 2c 0a 20 20 20 20 20 20 77 68 65 72 65 76 65 72  ,.      wherever
2a500 20 79 6f 75 20 73 65 65 20 22 63 68 61 72 20 2a   you see "char *
2a510 22 2c 20 75 6e 6c 65 73 73 20 65 78 70 6c 69 63  ", unless explic
2a520 69 74 6c 79 20 6e 6f 74 65 64 20 6f 74 68 65 72  itly noted other
2a530 77 69 73 65 2e 0a 20 20 20 20 2d 20 41 6c 6c 20  wise..    - All 
2a540 54 63 6c 20 73 74 72 69 6e 67 73 20 72 65 70 72  Tcl strings repr
2a550 65 73 65 6e 74 65 64 20 69 6e 20 55 54 46 2d 38  esented in UTF-8
2a560 2c 20 77 68 69 63 68 20 69 73 20 61 20 63 6f 6e  , which is a con
2a570 76 65 6e 69 65 6e 74 0a 20 20 20 20 20 20 6d 75  venient.      mu
2a580 6c 74 69 2d 62 79 74 65 20 65 6e 63 6f 64 69 6e  lti-byte encodin
2a590 67 20 6f 66 20 55 6e 69 63 6f 64 65 2e 20 20 56  g of Unicode.  V
2a5a0 61 72 69 61 62 6c 65 20 6e 61 6d 65 73 2c 20 70  ariable names, p
2a5b0 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 73 2c 0a  rocedure names,.
2a5c0 20 20 20 20 20 20 61 6e 64 20 61 6c 6c 20 6f 74        and all ot
2a5d0 68 65 72 20 76 61 6c 75 65 73 20 69 6e 20 54 63  her values in Tc
2a5e0 6c 20 6d 61 79 20 69 6e 63 6c 75 64 65 20 61 72  l may include ar
2a5f0 62 69 74 72 61 72 79 20 55 6e 69 63 6f 64 65 20  bitrary Unicode 
2a600 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20  characters..    
2a610 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74    For example, t
2a620 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 22  he Tcl command "
2a630 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 22 20 72  string length" r
2a640 65 74 75 72 6e 73 20 68 6f 77 20 6d 61 6e 79 0a  eturns how many.
2a650 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20 63 68        Unicode ch
2a660 61 72 61 63 74 65 72 73 20 61 72 65 20 69 6e 20  aracters are in 
2a670 74 68 65 20 61 72 67 75 6d 65 6e 74 20 73 74 72  the argument str
2a680 69 6e 67 2e 0a 20 20 20 20 2d 20 46 6f 72 20 4a  ing..    - For J
2a690 61 76 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74  ava compatibilit
2a6a0 79 2c 20 65 6d 62 65 64 64 65 64 20 6e 75 6c 6c  y, embedded null
2a6b0 20 62 79 74 65 73 20 69 6e 20 43 20 73 74 72 69   bytes in C stri
2a6c0 6e 67 73 20 61 72 65 0a 20 20 20 20 20 20 72 65  ngs are.      re
2a6d0 70 72 65 73 65 6e 74 65 64 20 61 73 20 5c 78 43  presented as \xC
2a6e0 30 38 30 20 69 6e 20 55 54 46 2d 38 20 73 74 72  080 in UTF-8 str
2a6f0 69 6e 67 73 2c 20 62 75 74 20 74 68 65 20 6e 75  ings, but the nu
2a700 6c 6c 20 62 79 74 65 20 61 74 20 74 68 65 20 65  ll byte at the e
2a710 6e 64 0a 20 20 20 20 20 20 6f 66 20 61 20 55 54  nd.      of a UT
2a720 46 2d 38 20 73 74 72 69 6e 67 20 72 65 6d 61 69  F-8 string remai
2a730 6e 73 20 5c 30 2e 20 20 54 68 75 73 20 54 63 6c  ns \0.  Thus Tcl
2a740 20 73 74 72 69 6e 67 73 20 6f 6e 63 65 20 61 67   strings once ag
2a750 61 69 6e 20 64 6f 20 6e 6f 74 0a 20 20 20 20 20  ain do not.     
2a760 20 63 6f 6e 74 61 69 6e 20 6e 75 6c 6c 20 62 79   contain null by
2a770 74 65 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20  tes, except for 
2a780 74 65 72 6d 69 6e 61 74 69 6f 6e 20 62 79 74 65  termination byte
2a790 73 2e 0a 20 20 20 20 2d 20 46 6f 72 20 4a 61 76  s..    - For Jav
2a7a0 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c  a compatibility,
2a7b0 20 22 5c 75 58 58 58 58 22 20 69 73 20 75 73 65   "\uXXXX" is use
2a7c0 64 20 69 6e 20 54 63 6c 20 74 6f 20 65 6e 74 65  d in Tcl to ente
2a7d0 72 20 61 20 55 6e 69 63 6f 64 65 0a 20 20 20 20  r a Unicode.    
2a7e0 20 20 63 68 61 72 61 63 74 65 72 2e 20 20 22 5c    character.  "\
2a7f0 75 30 30 30 30 22 20 74 68 72 6f 75 67 68 20 22  u0000" through "
2a800 5c 75 66 66 66 66 22 20 61 72 65 20 61 63 63 65  \uffff" are acce
2a810 70 74 61 62 6c 65 20 55 6e 69 63 6f 64 65 20 0a  ptable Unicode .
2a820 20 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73        characters
2a830 2e 20 20 0a 20 20 20 20 2d 20 22 5c 78 58 58 22  .  .    - "\xXX"
2a840 20 69 73 20 75 73 65 64 20 74 6f 20 65 6e 74 65   is used to ente
2a850 72 20 61 20 73 6d 61 6c 6c 20 55 6e 69 63 6f 64  r a small Unicod
2a860 65 20 63 68 61 72 61 63 74 65 72 20 28 62 65 74  e character (bet
2a870 77 65 65 6e 20 30 20 61 6e 64 20 32 35 35 29 0a  ween 0 and 255).
2a880 20 20 20 20 20 20 69 6e 20 54 63 6c 2e 0a 20 20        in Tcl..  
2a890 20 20 2d 20 54 63 6c 20 61 75 74 6f 6d 61 74 69    - Tcl automati
2a8a0 63 61 6c 6c 79 20 74 72 61 6e 73 6c 61 74 65 73  cally translates
2a8b0 20 62 65 74 77 65 65 6e 20 55 54 46 2d 38 20 61   between UTF-8 a
2a8c0 6e 64 20 74 68 65 20 6e 6f 72 6d 61 6c 20 65 6e  nd the normal en
2a8d0 63 6f 64 69 6e 67 20 66 6f 72 0a 20 20 20 20 20  coding for.     
2a8e0 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 64 75   the platform du
2a8f0 72 69 6e 67 20 69 6e 74 65 72 61 63 74 69 6f 6e  ring interaction
2a900 73 20 77 69 74 68 20 74 68 65 20 73 79 73 74 65  s with the syste
2a910 6d 2e 0a 20 20 20 20 2d 20 54 68 65 20 66 63 6f  m..    - The fco
2a920 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 20  nfigure command 
2a930 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61 20 2d  now supports a -
2a940 65 6e 63 6f 64 69 6e 67 20 6f 70 74 69 6f 6e 20  encoding option 
2a950 66 6f 72 20 73 70 65 63 69 66 79 69 6e 67 0a 20  for specifying. 
2a960 20 20 20 20 20 74 68 65 20 65 6e 63 6f 64 69 6e       the encodin
2a970 67 20 6f 66 20 61 6e 20 6f 70 65 6e 20 66 69 6c  g of an open fil
2a980 65 20 6f 72 20 73 6f 63 6b 65 74 2e 20 20 54 63  e or socket.  Tc
2a990 6c 20 77 69 6c 6c 20 61 75 74 6f 6d 61 74 69 63  l will automatic
2a9a0 61 6c 6c 79 0a 20 20 20 20 20 20 74 72 61 6e 73  ally.      trans
2a9b0 6c 61 74 65 20 62 65 74 77 65 65 6e 20 74 68 65  late between the
2a9c0 20 73 70 65 63 69 66 69 65 64 20 65 6e 63 6f 64   specified encod
2a9d0 69 6e 67 20 61 6e 64 20 55 54 46 2d 38 20 64 75  ing and UTF-8 du
2a9e0 72 69 6e 67 20 49 2f 4f 2e 20 0a 20 20 20 20 20  ring I/O. .     
2a9f0 20 53 65 65 20 74 68 65 20 64 69 72 65 63 74 6f   See the directo
2aa00 72 79 20 6c 69 62 72 61 72 79 2f 65 6e 63 6f 64  ry library/encod
2aa10 69 6e 67 20 74 6f 20 66 69 6e 64 20 6f 75 74 20  ing to find out 
2aa20 77 68 61 74 20 65 6e 63 6f 64 69 6e 67 73 20 61  what encodings a
2aa30 72 65 0a 20 20 20 20 20 20 73 75 70 70 6f 72 74  re.      support
2aa40 65 64 20 28 65 76 65 6e 74 75 61 6c 6c 79 20 74  ed (eventually t
2aa50 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61 6e 20  here will be an 
2aa60 22 65 6e 63 6f 64 69 6e 67 22 20 63 6f 6d 6d 61  "encoding" comma
2aa70 6e 64 20 74 68 61 74 0a 20 20 20 20 20 20 6d 61  nd that.      ma
2aa80 6b 65 73 20 74 68 69 73 20 69 6e 66 6f 72 6d 61  kes this informa
2aa90 74 69 6f 6e 20 6d 6f 72 65 20 61 63 63 65 73 73  tion more access
2aaa0 69 62 6c 65 29 2e 0a 20 20 20 20 2d 20 54 68 65  ible)..    - The
2aab0 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 6e  re are several n
2aac0 65 77 20 43 20 41 50 49 73 20 74 68 61 74 20 73  ew C APIs that s
2aad0 75 70 70 6f 72 74 20 55 54 46 2d 38 20 61 6e 64  upport UTF-8 and
2aae0 20 76 61 72 69 6f 75 73 20 65 6e 63 6f 64 69 6e   various encodin
2aaf0 67 73 2e 0a 20 20 20 20 20 20 53 65 65 20 55 74  gs..      See Ut
2ab00 66 2e 33 20 66 6f 72 20 70 72 6f 63 65 64 75 72  f.3 for procedur
2ab10 65 73 20 74 68 61 74 20 74 72 61 6e 73 6c 61 74  es that translat
2ab20 65 20 62 65 74 77 65 65 6e 20 55 6e 69 63 6f 64  e between Unicod
2ab30 65 20 61 6e 64 20 55 54 46 2d 38 0a 20 20 20 20  e and UTF-8.    
2ab40 20 20 61 6e 64 20 6d 61 6e 69 70 75 6c 61 74 65    and manipulate
2ab50 20 55 54 46 2d 38 20 73 74 72 69 6e 67 73 2e 20   UTF-8 strings. 
2ab60 53 65 65 20 45 6e 63 6f 64 69 6e 67 2e 33 20 66  See Encoding.3 f
2ab70 6f 72 20 70 72 6f 63 65 64 75 72 65 73 20 74 68  or procedures th
2ab80 61 74 0a 20 20 20 20 20 20 63 72 65 61 74 65 20  at.      create 
2ab90 6e 65 77 20 65 6e 63 6f 64 69 6e 67 73 20 61 6e  new encodings an
2aba0 64 20 74 72 61 6e 73 6c 61 74 65 20 62 65 74 77  d translate betw
2abb0 65 65 6e 20 65 6e 63 6f 64 69 6e 67 73 2e 20 20  een encodings.  
2abc0 53 65 65 0a 20 20 20 20 20 20 54 6f 55 70 70 65  See.      ToUppe
2abd0 72 2e 33 20 66 6f 72 20 70 72 6f 63 65 64 75 72  r.3 for procedur
2abe0 65 73 20 74 68 61 74 20 70 65 72 66 6f 72 6d 20  es that perform 
2abf0 63 61 73 65 20 63 6f 6e 76 65 72 73 69 6f 6e 73  case conversions
2ac00 20 6f 6e 20 55 54 46 2d 38 0a 20 20 20 20 20 20   on UTF-8.      
2ac10 73 74 72 69 6e 67 73 2e 0a 0a 39 2f 31 38 2f 39  strings...9/18/9
2ac20 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  7 (enhancement) 
2ac30 4c 69 74 65 72 61 6c 20 6f 62 6a 65 63 74 73 20  Literal objects 
2ac40 61 72 65 20 6e 6f 77 20 73 68 61 72 65 64 20 62  are now shared b
2ac50 79 20 74 68 65 20 42 79 74 65 43 6f 64 65 0a 73  y the ByteCode.s
2ac60 74 72 75 63 74 75 72 65 73 20 63 72 65 61 74 65  tructures create
2ac70 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 65 64 20  d when compiled 
2ac80 64 69 66 66 65 72 65 6e 74 20 73 63 72 69 70 74  different script
2ac90 73 2e 20 54 68 69 73 20 73 61 76 65 73 20 75 70  s. This saves up
2aca0 20 74 6f 20 34 35 25 0a 6f 66 20 74 68 65 20 74   to 45%.of the t
2acb0 6f 74 61 6c 20 6d 65 6d 6f 72 79 20 6e 65 65 64  otal memory need
2acc0 65 64 20 66 6f 72 20 61 6c 6c 20 6c 69 74 65 72  ed for all liter
2acd0 61 6c 73 2e 20 28 42 4c 29 0a 0a 39 2f 32 34 2f  als. (BL)..9/24/
2ace0 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20 46  97 (bug fixes) F
2acf0 69 78 65 64 20 54 63 6c 5f 50 61 72 73 65 43 6f  ixed Tcl_ParseCo
2ad00 6d 6d 61 6e 64 20 70 61 72 73 69 6e 67 20 6f 66  mmand parsing of
2ad10 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69   backslash-newli
2ad20 6e 65 0a 73 65 71 75 65 6e 63 65 73 20 61 74 20  ne.sequences at 
2ad30 73 74 61 72 74 20 6f 66 20 63 6f 6d 6d 61 6e 64  start of command
2ad40 20 77 6f 72 64 73 2e 20 53 75 70 70 72 65 73 73   words. Suppress
2ad50 65 64 20 54 63 6c 5f 45 76 61 6c 44 69 72 65 63  ed Tcl_EvalDirec
2ad60 74 20 65 72 72 6f 72 20 6c 6f 67 67 69 6e 67 0a  t error logging.
2ad70 69 66 20 6e 6f 6e 2d 54 43 4c 5f 4f 4b 20 72 65  if non-TCL_OK re
2ad80 73 75 6c 74 20 77 61 73 6e 27 74 20 61 6e 20 65  sult wasn't an e
2ad90 72 72 6f 72 2e 20 28 42 4c 29 0a 0a 31 30 2f 31  rror. (BL)..10/1
2ada0 37 2f 39 37 20 28 66 65 61 74 75 72 65 20 65 6e  7/97 (feature en
2adb0 68 61 6e 63 65 6d 65 6e 74 29 20 22 7e 75 73 65  hancement) "~use
2adc0 72 6e 61 6d 65 22 20 6e 6f 77 20 72 65 66 65 72  rname" now refer
2add0 73 20 74 6f 20 74 68 65 20 75 73 65 72 73 27 20  s to the users' 
2ade0 68 6f 6d 65 0a 64 69 72 65 63 74 6f 72 79 20 6f  home.directory o
2adf0 6e 20 57 69 6e 64 6f 77 73 20 28 70 72 65 76 69  n Windows (previ
2ae00 6f 75 73 6c 79 20 61 6c 77 61 79 73 20 72 65 74  ously always ret
2ae10 75 72 6e 65 64 20 66 61 69 6c 75 72 65 29 2e 20  urned failure). 
2ae20 28 43 43 53 29 0a 0a 31 30 2f 32 30 2f 39 37 20  (CCS)..10/20/97 
2ae30 28 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20  (implementation 
2ae40 63 68 61 6e 67 65 29 20 54 68 65 20 54 63 6c 20  change) The Tcl 
2ae50 70 61 72 73 65 72 20 68 61 73 20 62 65 65 6e 20  parser has been 
2ae60 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 77 72 69  completely rewri
2ae70 74 74 65 6e 0a 74 6f 20 6d 61 6b 65 20 69 74 20  tten.to make it 
2ae80 6d 6f 72 65 20 6d 6f 64 75 6c 61 72 2e 20 20 49  more modular.  I
2ae90 74 20 63 61 6e 20 6e 6f 77 20 62 65 20 75 73 65  t can now be use
2aea0 64 20 74 6f 20 70 61 72 73 65 20 61 20 73 63 72  d to parse a scr
2aeb0 69 70 74 20 77 69 74 68 6f 75 74 20 61 63 74 75  ipt without actu
2aec0 61 6c 6c 79 0a 65 78 65 63 75 74 69 6e 67 20 69  ally.executing i
2aed0 74 2e 20 20 54 68 65 20 41 50 49 73 20 66 6f 72  t.  The APIs for
2aee0 20 74 68 65 20 6e 65 77 20 70 61 72 73 65 72 20   the new parser 
2aef0 61 72 65 20 6e 6f 74 20 63 6f 72 72 65 63 74 6c  are not correctl
2af00 79 20 65 78 70 6f 72 74 65 64 2c 20 62 75 74 0a  y exported, but.
2af10 74 68 65 79 20 77 69 6c 6c 20 65 76 65 6e 74 75  they will eventu
2af20 61 6c 6c 79 20 62 65 20 65 78 70 6f 72 74 65 64  ally be exported
2af30 20 61 6e 64 20 61 75 67 6d 65 6e 74 65 64 20 77   and augmented w
2af40 69 74 68 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 73  ith Tcl commands
2af50 20 73 6f 20 74 68 61 74 0a 54 63 6c 20 73 63 72   so that.Tcl scr
2af60 69 70 74 73 20 63 61 6e 20 70 61 72 73 65 20 6f  ipts can parse o
2af70 74 68 65 72 20 54 63 6c 20 73 63 72 69 70 74 73  ther Tcl scripts
2af80 2e 20 28 4a 4f 29 0a 0a 31 30 2f 32 31 2f 39 37  . (JO)..10/21/97
2af90 20 28 41 50 49 20 63 68 61 6e 67 65 29 20 41 64   (API change) Ad
2afa0 64 65 64 20 22 66 6c 61 67 73 22 20 61 72 67 75  ded "flags" argu
2afb0 6d 65 6e 74 20 74 6f 20 54 63 6c 5f 45 76 61 6c  ment to Tcl_Eval
2afc0 4f 62 6a 2c 20 72 65 6d 6f 76 65 64 0a 54 63 6c  Obj, removed.Tcl
2afd0 5f 47 6c 6f 62 61 6c 45 76 61 6c 4f 62 6a 20 70  _GlobalEvalObj p
2afe0 72 6f 63 65 64 75 72 65 2e 20 20 41 64 64 65 64  rocedure.  Added
2aff0 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 73 20   new procedures 
2b000 54 63 6c 5f 45 76 61 6c 32 20 61 6e 64 0a 54 63  Tcl_Eval2 and.Tc
2b010 6c 5f 45 76 61 6c 4f 62 6a 76 2e 20 28 4a 4f 29  l_EvalObjv. (JO)
2b020 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
2b030 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
2b040 2a 2a 0a 0a 31 30 2f 32 32 2f 39 37 20 28 41 50  **..10/22/97 (AP
2b050 49 20 63 68 61 6e 67 65 29 20 52 65 6e 61 6d 65  I change) Rename
2b060 64 20 54 63 6c 5f 4f 62 6a 53 65 74 56 61 72 32  d Tcl_ObjSetVar2
2b070 20 61 6e 64 20 54 63 6c 5f 4f 62 6a 47 65 74 56   and Tcl_ObjGetV
2b080 61 72 32 20 74 6f 0a 54 63 6c 5f 53 65 74 4f 62  ar2 to.Tcl_SetOb
2b090 6a 56 61 72 32 20 61 6e 64 20 54 63 6c 5f 47 65  jVar2 and Tcl_Ge
2b0a0 74 4f 62 6a 56 61 72 32 20 28 66 6f 72 20 63 6f  tObjVar2 (for co
2b0b0 6e 73 69 73 74 65 6e 63 79 20 77 69 74 68 20 6f  nsistency with o
2b0c0 74 68 65 72 20 43 20 41 50 49 73 29 0a 61 6e 64  ther C APIs).and
2b0d0 20 63 68 61 6e 67 65 64 20 74 68 65 20 6e 61 6d   changed the nam
2b0e0 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 62  e arguments to b
2b0f0 65 20 73 74 72 69 6e 67 73 20 69 6e 73 74 65 61  e strings instea
2b100 64 20 6f 66 20 6f 62 6a 65 63 74 73 2e 20 20 28  d of objects.  (
2b110 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  JO).*** POTENTIA
2b120 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
2b130 59 20 2a 2a 2a 0a 0a 31 30 2f 32 37 2f 39 37 20  Y ***..10/27/97 
2b140 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 42 79  (enhancement) By
2b150 74 65 63 6f 64 65 20 63 6f 6d 70 69 6c 65 72 20  tecode compiler 
2b160 72 65 77 72 69 74 74 65 6e 20 74 6f 20 75 73 65  rewritten to use
2b170 20 74 68 65 20 6e 65 77 20 54 63 6c 0a 70 61 72   the new Tcl.par
2b180 73 65 72 2e 20 28 42 4c 29 0a 0a 31 31 2f 33 2f  ser. (BL)..11/3/
2b190 39 37 20 28 4e 65 77 20 72 6f 75 74 69 6e 65 73  97 (New routines
2b1a0 29 20 41 64 64 65 64 20 54 63 6c 5f 41 70 70 65  ) Added Tcl_Appe
2b1b0 6e 64 4f 62 6a 54 6f 4f 62 6a 2c 20 77 68 69 63  ndObjToObj, whic
2b1c0 68 20 61 70 70 65 6e 64 73 20 74 68 65 0a 73 74  h appends the.st
2b1d0 72 69 6e 67 20 72 65 70 20 6f 66 20 6f 6e 65 20  ring rep of one 
2b1e0 54 63 6c 5f 4f 62 6a 20 74 6f 20 61 6e 6f 74 68  Tcl_Obj to anoth
2b1f0 65 72 2e 20 41 64 64 65 64 20 54 63 6c 5f 47 65  er. Added Tcl_Ge
2b200 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a 53 74 72  tIndexFromObjStr
2b210 75 63 74 2c 0a 77 68 69 63 68 20 69 73 20 73 69  uct,.which is si
2b220 6d 69 6c 61 72 20 74 6f 20 54 63 6c 5f 47 65 74  milar to Tcl_Get
2b230 49 6e 64 65 78 46 72 6f 6d 4f 62 6a 2c 20 65 78  IndexFromObj, ex
2b240 63 65 70 74 20 74 68 61 74 20 79 6f 75 20 63 61  cept that you ca
2b250 6e 20 67 69 76 65 20 61 6e 0a 6f 66 66 73 65 74  n give an.offset
2b260 20 62 65 74 77 65 65 6e 20 73 74 72 69 6e 67 73   between strings
2b270 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 54 63  . This allows Tc
2b280 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62  l_GetIndexFromOb
2b290 6a 53 74 72 75 63 74 20 74 6f 20 62 65 0a 63 61  jStruct to be.ca
2b2a0 6c 6c 65 64 20 77 69 74 68 20 61 20 74 61 62 6c  lled with a tabl
2b2b0 65 20 6f 66 20 72 65 63 6f 72 64 73 20 77 68 69  e of records whi
2b2c0 63 68 20 68 61 76 65 20 73 74 72 69 6e 67 73 20  ch have strings 
2b2d0 69 6e 20 74 68 65 6d 2e 20 28 53 52 50 29 0a 0a  in them. (SRP)..
2b2e0 31 32 2f 34 2f 39 37 20 28 65 6e 68 61 6e 63 65  12/4/97 (enhance
2b2f0 6d 65 6e 74 29 20 4e 65 77 20 54 63 6c 20 65 78  ment) New Tcl ex
2b300 70 72 65 73 73 69 6f 6e 20 70 61 72 73 65 72 20  pression parser 
2b310 61 64 64 65 64 2e 20 41 64 64 65 64 20 6e 65 77  added. Added new
2b320 20 70 72 6f 63 65 64 75 72 65 0a 54 63 6c 5f 50   procedure.Tcl_P
2b330 61 72 73 65 45 78 70 72 20 61 6e 64 20 6e 65 77  arseExpr and new
2b340 20 74 6f 6b 65 6e 20 74 79 70 65 73 20 54 43 4c   token types TCL
2b350 5f 54 4f 4b 45 4e 5f 53 55 42 5f 45 58 50 52 20  _TOKEN_SUB_EXPR 
2b360 61 6e 64 0a 54 43 4c 5f 54 4f 4b 45 4e 5f 4f 50  and.TCL_TOKEN_OP
2b370 45 52 41 54 4f 52 2e 20 45 78 70 72 65 73 73 69  ERATOR. Expressi
2b380 6f 6e 20 63 6f 6d 70 69 6c 65 72 20 69 73 20 72  on compiler is r
2b390 65 69 6d 70 6c 65 6d 65 6e 74 65 64 20 74 6f 20  eimplemented to 
2b3a0 75 73 65 20 74 68 69 73 0a 70 61 72 73 65 72 2e  use this.parser.
2b3b0 20 28 42 4c 29 0a 0a 31 32 2f 39 2f 39 37 20 28   (BL)..12/9/97 (
2b3c0 62 75 67 20 66 69 78 29 20 54 63 6c 5f 45 76 61  bug fix) Tcl_Eva
2b3d0 6c 4f 62 6a 28 29 20 69 6e 63 72 65 6d 65 6e 74  lObj() increment
2b3e0 73 2f 64 65 63 72 65 6d 65 6e 74 73 20 74 68 65  s/decrements the
2b3f0 20 72 65 66 63 6f 75 6e 74 20 6f 66 20 74 68 65   refcount of the
2b400 0a 73 63 72 69 70 74 20 6f 62 6a 65 63 74 20 74  .script object t
2b410 6f 20 70 72 65 76 65 6e 74 20 74 68 65 20 6f 62  o prevent the ob
2b420 6a 65 63 74 20 66 72 6f 6d 20 64 65 6c 65 74 69  ject from deleti
2b430 6e 67 20 69 74 73 65 6c 66 20 77 68 69 6c 65 20  ng itself while 
2b440 69 6e 20 74 68 65 0a 6d 69 64 64 6c 65 20 6f 66  in the.middle of
2b450 20 62 65 69 6e 67 20 65 76 61 6c 75 61 74 65 64   being evaluated
2b460 2e 20 28 43 43 53 29 0a 0a 31 32 2f 39 2f 39 37  . (CCS)..12/9/97
2b470 20 28 62 75 67 20 66 69 78 29 20 4d 65 6d 6f 72   (bug fix) Memor
2b480 79 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 47 65  y leak in Tcl_Ge
2b490 74 73 4f 62 6a 43 6d 64 28 29 2e 20 28 43 43 53  tsObjCmd(). (CCS
2b4a0 29 0a 0a 31 32 2f 31 31 2f 39 37 20 28 62 75 67  )..12/11/97 (bug
2b4b0 20 66 69 78 29 20 45 6e 76 69 72 6f 6e 6d 65 6e   fix) Environmen
2b4c0 74 20 61 72 72 61 79 20 6c 65 61 6b 65 64 20 6d  t array leaked m
2b4d0 65 6d 6f 72 79 20 77 68 65 6e 20 63 6f 6d 70 69  emory when compi
2b4e0 6c 65 64 20 77 69 74 68 0a 56 69 73 75 61 6c 20  led with.Visual 
2b4f0 43 2b 2b 2e 20 28 53 53 29 0a 0a 31 32 2f 31 31  C++. (SS)..12/11
2b500 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
2b510 6c 65 20 65 76 65 6e 74 73 20 61 6e 64 20 6e 6f  le events and no
2b520 6e 2d 62 6c 6f 63 6b 69 6e 67 20 49 2f 4f 20 64  n-blocking I/O d
2b530 69 64 20 6e 6f 74 20 77 6f 72 6b 20 6f 6e 0a 70  id not work on.p
2b540 69 70 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f  ipes under Windo
2b550 77 73 2e 20 20 43 68 61 6e 67 65 64 20 74 6f 20  ws.  Changed to 
2b560 75 73 65 20 74 68 72 65 61 64 73 20 74 6f 20 61  use threads to a
2b570 63 68 69 65 76 65 20 6e 6f 6e 2d 62 6c 6f 63 6b  chieve non-block
2b580 69 6e 67 0a 62 65 68 61 76 69 6f 72 2e 20 28 53  ing.behavior. (S
2b590 53 29 0a 0a 31 32 2f 31 38 2f 39 37 20 28 62 75  S)..12/18/97 (bu
2b5a0 67 20 66 69 78 65 73 29 20 46 69 78 65 64 20 73  g fixes) Fixed s
2b5b0 65 67 66 61 75 6c 74 20 69 6e 20 22 6e 61 6d 65  egfault in "name
2b5c0 73 70 61 63 65 20 69 6d 70 6f 72 74 22 3b 20 69  space import"; i
2b5d0 6d 70 6f 72 74 69 6e 67 20 61 0a 70 72 6f 63 65  mporting a.proce
2b5e0 64 75 72 65 20 74 68 61 74 20 63 61 75 73 65 73  dure that causes
2b5f0 20 61 20 63 79 63 6c 65 20 6e 6f 77 20 72 65 74   a cycle now ret
2b600 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2e 20 4d  urns an error. M
2b610 6f 64 69 66 69 65 64 20 22 69 6e 66 6f 20 70 72  odified "info pr
2b620 6f 63 73 22 2c 0a 22 69 6e 66 6f 20 61 72 67 73  ocs",."info args
2b630 22 2c 20 22 69 6e 66 6f 20 62 6f 64 79 22 2c 20  ", "info body", 
2b640 61 6e 64 20 22 69 6e 66 6f 20 64 65 66 61 75 6c  and "info defaul
2b650 74 22 20 74 6f 20 72 65 74 75 72 6e 20 69 6e 66  t" to return inf
2b660 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 0a 69  ormation about.i
2b670 6d 70 6f 72 74 65 64 20 70 72 6f 63 65 64 75 72  mported procedur
2b680 65 73 20 61 73 20 77 65 6c 6c 20 61 73 20 70 72  es as well as pr
2b690 6f 63 65 64 75 72 65 73 20 64 65 66 69 6e 65 64  ocedures defined
2b6a0 20 69 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 2e   in a namespace.
2b6b0 20 28 42 4c 29 0a 0a 31 32 2f 31 39 2f 39 37 20   (BL)..12/19/97 
2b6c0 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 41 64  (enhancement) Ad
2b6d0 64 65 64 20 6e 65 77 20 54 63 6c 5f 47 65 74 53  ded new Tcl_GetS
2b6e0 74 72 69 6e 67 28 29 20 70 72 6f 63 65 64 75 72  tring() procedur
2b6f0 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73  e that can be us
2b700 65 64 0a 69 6e 20 70 6c 61 63 65 20 6f 66 20 54  ed.in place of T
2b710 63 6c 5f 47 65 74 53 74 72 69 6e 67 46 72 6f 6d  cl_GetStringFrom
2b720 4f 62 6a 28 29 20 69 66 20 74 68 65 20 73 74 72  Obj() if the str
2b730 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69  ing representati
2b740 6f 6e 27 73 20 6c 65 6e 67 74 68 0a 69 73 6e 27  on's length.isn'
2b750 74 20 6e 65 65 64 65 64 2e 20 28 42 4c 29 0a 0a  t needed. (BL)..
2b760 31 32 2f 31 38 2f 39 37 20 28 62 75 67 20 66 69  12/18/97 (bug fi
2b770 78 29 20 49 6e 20 74 68 65 20 6f 70 74 20 61 72  x) In the opt ar
2b780 67 75 6d 65 6e 74 20 70 61 72 73 69 6e 67 20 70  gument parsing p
2b790 61 63 6b 61 67 65 3a 20 69 66 20 74 68 65 20 64  ackage: if the d
2b7a0 65 73 63 72 69 70 74 69 6f 6e 20 0a 68 61 64 20  escription .had 
2b7b0 6f 6e 6c 79 20 66 6c 61 67 73 2c 20 74 68 65 20  only flags, the 
2b7c0 22 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65  "too many argume
2b7d0 6e 74 73 22 20 63 61 73 65 20 77 61 73 20 6e 6f  nts" case was no
2b7e0 74 20 64 65 74 65 63 74 65 64 2e 20 54 68 65 20  t detected. The 
2b7f0 64 65 66 61 75 6c 74 0a 76 61 6c 75 65 20 77 61  default.value wa
2b800 73 20 6e 6f 74 20 75 73 65 64 20 66 6f 72 20 74  s not used for t
2b810 68 65 20 73 70 65 63 69 61 6c 20 22 61 72 67 73  he special "args
2b820 22 20 65 6e 64 69 6e 67 20 61 72 67 75 6d 65 6e  " ending argumen
2b830 74 2e 20 28 44 4c 29 0a 0a 31 2f 37 2f 39 38 20  t. (DL)..1/7/98 
2b840 28 63 6c 65 61 6e 20 75 70 29 20 4d 6f 76 65 64  (clean up) Moved
2b850 20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f 74 20   everything not 
2b860 61 62 73 6f 6c 75 74 6c 79 20 6e 65 63 65 73 73  absolutly necess
2b870 61 72 79 20 6f 75 74 20 6f 66 20 69 6e 69 74 2e  ary out of init.
2b880 74 63 6c 0a 70 72 6f 63 73 20 6e 6f 77 20 69 6e  tcl.procs now in
2b890 20 61 75 74 6f 2e 74 63 6c 20 61 6e 64 20 70 61   auto.tcl and pa
2b8a0 63 6b 61 67 65 2e 74 63 6c 20 63 61 6e 20 62 65  ckage.tcl can be
2b8b0 20 61 75 74 6f 6c 6f 61 64 65 64 20 69 66 20 6e   autoloaded if n
2b8c0 65 65 64 65 64 2e 20 28 44 4c 29 0a 0a 31 2f 37  eeded. (DL)..1/7
2b8d0 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /98 (enhancement
2b8e0 29 20 74 63 6c 74 65 73 74 20 6d 61 64 65 20 61  ) tcltest made a
2b8f0 74 20 69 6e 73 74 61 6c 6c 20 74 69 6d 65 20 77  t install time w
2b900 69 6c 6c 20 73 65 61 72 63 68 20 66 6f 72 20 69  ill search for i
2b910 74 27 73 0a 69 6e 69 74 2e 74 63 6c 20 77 68 65  t's.init.tcl whe
2b920 72 65 20 69 74 20 69 73 2c 20 65 76 65 6e 20 77  re it is, even w
2b930 68 65 6e 20 75 73 69 6e 67 20 76 69 72 74 75 61  hen using virtua
2b940 6c 20 70 61 74 68 20 63 6f 6d 70 69 6c 61 74 69  l path compilati
2b950 6f 6e 2e 20 28 44 4c 29 0a 0a 31 2f 38 2f 39 38  on. (DL)..1/8/98
2b960 20 28 6f 73 20 62 75 67 20 77 6f 72 6b 61 72 6f   (os bug workaro
2b970 75 6e 64 29 20 77 68 65 6e 20 6e 65 65 64 65 64  und) when needed
2b980 2c 20 75 73 69 6e 67 20 61 20 72 65 70 6c 61 63  , using a replac
2b990 65 6d 65 6e 74 20 66 6f 72 20 6d 65 6d 63 6d 70  ement for memcmp
2b9a0 20 73 6f 20 0a 73 74 72 69 6e 67 20 63 6f 6d 70   so .string comp
2b9b0 61 72 65 20 22 63 68 61 72 20 77 69 74 68 20 68  are "char with h
2b9c0 69 67 68 20 62 69 74 20 73 65 74 22 20 22 63 68  igh bit set" "ch
2b9d0 61 72 20 77 2f 6f 20 68 69 67 68 20 62 69 74 20  ar w/o high bit 
2b9e0 73 65 74 22 20 72 65 74 75 72 6e 73 0a 74 68 65  set" returns.the
2b9f0 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 20   expected value 
2ba00 6f 6e 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73  on all platforms
2ba10 2e 20 28 44 4c 29 0a 0a 31 2f 38 2f 39 38 20 28  . (DL)..1/8/98 (
2ba20 75 6e 69 78 20 70 6f 72 74 61 62 69 6c 69 74 79  unix portability
2ba30 2f 63 6f 6e 66 69 67 75 72 65 29 20 62 75 69 6c  /configure) buil
2ba40 64 69 6e 67 20 66 72 6f 6d 20 2e 2e 2e 2f 75 6e  ding from .../un
2ba50 69 78 2f 74 61 72 67 65 74 4e 61 6d 65 2f 20 0a  ix/targetName/ .
2ba60 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 20 61  subdirectories a
2ba70 6e 64 20 73 69 6d 70 6c 79 20 75 73 69 6e 67 20  nd simply using 
2ba80 22 2e 2e 2f 63 6f 6e 66 69 67 75 72 65 22 20 73  "../configure" s
2ba90 68 6f 75 6c 64 20 6e 6f 77 20 77 6f 72 6b 20 66  hould now work f
2baa0 69 6e 65 2e 20 28 44 4c 29 0a 0a 31 2f 31 34 2f  ine. (DL)..1/14/
2bab0 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  98 (enhancement)
2bac0 20 41 64 64 65 64 20 6e 65 77 20 72 65 67 75 6c   Added new regul
2bad0 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 70 61  ar expression pa
2bae0 63 6b 61 67 65 20 74 68 61 74 0a 73 75 70 70 6f  ckage that.suppo
2baf0 72 74 73 20 41 52 45 73 2c 20 45 52 45 73 2c 20  rts AREs, EREs, 
2bb00 61 6e 64 20 42 52 45 73 2e 20 20 54 68 65 20 6e  and BREs.  The n
2bb10 65 77 20 70 61 63 6b 61 67 65 20 69 6e 63 6c 75  ew package inclu
2bb20 64 65 73 20 6e 65 77 20 65 73 63 61 70 65 0a 63  des new escape.c
2bb30 68 61 72 61 63 74 65 72 73 2c 20 6d 65 74 61 2d  haracters, meta-
2bb40 73 79 6e 74 61 78 2c 20 61 6e 64 20 63 68 61 72  syntax, and char
2bb50 61 63 74 65 72 20 63 6c 61 73 73 65 73 20 69 6e  acter classes in
2bb60 73 69 64 65 20 62 72 61 63 6b 65 74 73 2e 0a 52  side brackets..R
2bb70 65 67 65 78 70 73 20 69 6e 76 6f 6c 76 69 6e 67  egexps involving
2bb80 20 62 61 63 6b 73 6c 61 73 68 65 73 20 6d 61 79   backslashes may
2bb90 20 62 65 68 61 76 65 20 64 69 66 66 65 72 65 6e   behave differen
2bba0 74 6c 79 2e 20 20 28 4d 48 29 0a 2a 2a 2a 20 50  tly.  (MH).*** P
2bbb0 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
2bbc0 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 2f  TIBILITY ***..1/
2bbd0 31 36 2f 39 38 20 28 6f 73 20 77 6f 72 6b 61 72  16/98 (os workar
2bbe0 6f 75 6e 64 29 20 55 6e 64 65 72 20 77 69 6e 64  ound) Under wind
2bbf0 6f 77 73 2c 20 22 66 69 6c 65 20 76 6f 6c 75 6d  ows, "file volum
2bc00 65 22 20 77 61 73 20 63 61 75 73 69 6e 67 20 63  e" was causing c
2bc10 68 61 74 74 65 72 0a 61 6e 64 2f 6f 72 20 73 65  hatter.and/or se
2bc20 76 65 72 61 6c 20 73 65 63 6f 6e 64 73 20 6f 66  veral seconds of
2bc30 20 68 61 6e 67 69 6e 67 20 77 68 65 6e 20 71 75   hanging when qu
2bc40 65 72 79 69 6e 67 20 65 6d 70 74 79 20 66 6c 6f  erying empty flo
2bc50 70 70 79 20 64 72 69 76 65 73 2e 0a 43 68 61 6e  ppy drives..Chan
2bc60 67 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ged implementati
2bc70 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e 20 65 6d  on to call an em
2bc80 70 69 72 69 63 61 6c 6c 79 2d 64 65 72 69 76 65  pirically-derive
2bc90 64 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20  d function that 
2bca0 64 6f 65 73 6e 27 74 0a 63 61 75 73 65 20 74 68  doesn't.cause th
2bcb0 69 73 2e 20 28 43 43 53 29 0a 0a 31 2f 31 36 2f  is. (CCS)..1/16/
2bcc0 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  98 (enhancement)
2bcd0 20 43 6f 6e 76 65 72 74 65 64 20 72 65 67 75 6c   Converted regul
2bce0 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74  ar expressions t
2bcf0 6f 20 61 20 54 63 6c 5f 4f 62 6a 20 74 79 70 65  o a Tcl_Obj type
2bd00 20 73 6f 0a 74 68 65 69 72 20 63 6f 6d 70 69 6c   so.their compil
2bd10 65 64 20 66 6f 72 6d 20 67 65 74 73 20 63 61 63  ed form gets cac
2bd20 68 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  hed automaticall
2bd30 79 2e 20 20 52 65 64 75 63 65 64 20 4e 53 55 42  y.  Reduced NSUB
2bd40 45 58 50 20 66 72 6f 6d 20 31 30 30 0a 74 6f 20  EXP from 100.to 
2bd50 32 30 2e 20 28 42 57 29 0a 0a 31 2f 31 36 2f 39  20. (BW)..1/16/9
2bd60 38 20 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  8 (documentation
2bd70 29 20 43 68 61 6e 67 65 20 75 6e 63 6c 65 61 72  ) Change unclear
2bd80 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61   documentation a
2bd90 6e 64 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 0a  nd comments for.
2bda0 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b 65 20 54  functions like T
2bdb0 63 6c 5f 54 72 61 6e 73 6c 61 74 65 46 69 6c 65  cl_TranslateFile
2bdc0 4e 61 6d 65 28 29 20 61 6e 64 20 54 63 6c 5f 45  Name() and Tcl_E
2bdd0 78 74 65 72 6e 61 6c 54 6f 55 74 66 44 53 74 72  xternalToUtfDStr
2bde0 69 6e 67 28 29 2e 20 20 4e 6f 77 0a 69 74 20 65  ing().  Now.it e
2bdf0 78 70 6c 69 63 69 74 6c 79 20 73 61 79 73 20 74  xplicitly says t
2be00 68 65 79 20 74 61 6b 65 20 61 6e 20 75 6e 69 6e  hey take an unin
2be10 69 74 69 61 6c 69 7a 65 64 20 6f 72 20 66 72 65  itialized or fre
2be20 65 20 44 53 74 72 69 6e 67 2e 20 20 41 20 44 53  e DString.  A DS
2be30 74 72 69 6e 67 0a 74 68 61 74 20 69 73 20 22 65  tring.that is "e
2be40 6d 70 74 79 22 20 6f 72 20 22 6e 6f 74 20 68 6f  mpty" or "not ho
2be50 6c 64 69 6e 67 20 61 6e 79 74 68 69 6e 67 22 20  lding anything" 
2be60 63 6f 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20  could have been 
2be70 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 6f  interpreted as o
2be80 6e 65 0a 63 75 72 72 65 6e 74 6c 79 20 77 69 74  ne.currently wit
2be90 68 20 61 20 7a 65 72 6f 20 6c 65 6e 67 74 68 2c  h a zero length,
2bea0 20 62 75 74 20 77 69 74 68 20 61 20 6c 61 72 67   but with a larg
2beb0 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 61 6c  e dynamically al
2bec0 6c 6f 63 61 74 65 64 20 62 75 66 66 65 72 2e 0a  located buffer..
2bed0 28 43 43 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  (CCS)..---------
2bee0 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
2bef0 64 20 38 2e 31 61 31 2c 20 31 2f 32 32 2f 39 38  d 8.1a1, 1/22/98
2bf00 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
2bf10 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32 38 2f 39  --------..1/28/9
2bf20 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  8 (new feature) 
2bf30 41 64 64 65 64 20 61 20 22 2d 64 69 72 65 63 74  Added a "-direct
2bf40 22 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 20  " optional flag 
2bf50 74 6f 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 0a 74  to pkg_mkIndex.t
2bf60 6f 20 67 65 6e 65 72 61 74 65 20 64 69 72 65 63  o generate direc
2bf70 74 20 6c 6f 61 64 69 6e 67 20 70 61 63 6b 61 67  t loading packag
2bf80 65 20 69 6e 64 65 78 65 73 20 28 73 75 63 68 20  e indexes (such 
2bf90 74 68 6f 73 65 20 79 6f 75 20 6e 65 65 64 0a 69  those you need.i
2bfa0 66 20 79 6f 75 20 75 73 65 20 6e 61 6d 65 73 70  f you use namesp
2bfb0 61 63 65 73 20 61 6e 64 20 70 6c 61 6e 20 6f 6e  aces and plan on
2bfc0 20 75 73 69 6e 67 20 6e 61 6d 65 73 70 61 63 65   using namespace
2bfd0 20 69 6d 70 6f 72 74 20 6a 75 73 74 20 61 66 74   import just aft
2bfe0 65 72 0a 70 61 63 6b 61 67 65 20 72 65 71 75 69  er.package requi
2bff0 72 65 29 2e 20 70 6b 67 5f 6d 6b 49 6e 64 65 78  re). pkg_mkIndex
2c000 20 73 74 69 6c 6c 20 68 61 73 20 6c 69 6d 69 74   still has limit
2c010 61 74 69 6f 6e 73 20 72 65 67 61 72 64 69 6e 67  ations regarding
2c020 0a 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65  .package depende
2c030 6e 63 69 65 73 20 62 75 74 20 65 72 72 6f 72 73  ncies but errors
2c040 20 61 72 65 20 6e 6f 77 20 69 67 6e 6f 72 65 64   are now ignored
2c050 20 61 6e 64 20 77 69 74 68 20 2d 64 69 72 65 63   and with -direc
2c060 74 2c 20 63 6f 72 72 65 63 74 0a 70 61 63 6b 61  t, correct.packa
2c070 67 65 20 69 6e 64 65 78 65 73 20 63 61 6e 20 62  ge indexes can b
2c080 65 20 67 65 6e 65 72 61 74 65 64 20 65 76 65 6e  e generated even
2c090 20 69 66 20 74 68 65 72 65 20 61 72 65 20 64 65   if there are de
2c0a0 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 6c 6f  pendencies as lo
2c0b0 6e 67 20 0a 61 73 20 74 68 65 20 22 70 61 63 6b  ng .as the "pack
2c0c0 61 67 65 20 70 72 6f 76 69 64 65 22 20 61 72 65  age provide" are
2c0d0 20 64 6f 6e 65 20 65 61 72 6c 79 20 65 6e 6f 75   done early enou
2c0e0 67 68 20 69 6e 20 74 68 65 20 66 69 6c 65 73 2e  gh in the files.
2c0f0 20 28 44 4c 29 0a 0a 31 2f 32 38 2f 39 38 20 28   (DL)..1/28/98 (
2c100 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 50 65 72  enhancement) Per
2c110 66 6f 72 6d 61 6e 63 65 20 74 75 6e 69 6e 67 20  formance tuning 
2c120 6f 66 20 72 65 67 65 78 70 20 61 6e 64 20 72 65  of regexp and re
2c130 67 73 75 62 2e 20 28 43 43 53 29 0a 0a 31 2f 32  gsub. (CCS)..1/2
2c140 38 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 72  8/98 (bug fix) r
2c150 65 67 65 78 70 20 61 6e 64 20 72 65 67 73 75 62  egexp and regsub
2c160 20 77 69 74 68 20 22 2d 69 6e 64 69 63 65 73 22   with "-indices"
2c170 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 62 79   returned the by
2c180 74 65 2d 6f 66 66 73 65 74 73 0a 6f 66 20 74 68  te-offsets.of th
2c190 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20  e characters in 
2c1a0 74 68 65 20 55 54 46 2d 38 20 72 65 70 72 65 73  the UTF-8 repres
2c1b0 65 6e 74 61 74 69 6f 6e 2c 20 6e 6f 74 20 74 68  entation, not th
2c1c0 65 20 63 68 61 72 61 63 74 65 72 20 6f 66 66 73  e character offs
2c1d0 65 74 73 0a 74 68 65 6d 73 65 6c 76 65 73 2e 20  ets.themselves. 
2c1e0 28 43 43 53 29 0a 0a 31 2f 32 38 2f 39 38 20 28  (CCS)..1/28/98 (
2c1f0 62 75 67 20 66 69 78 29 20 22 63 6c 6f 63 6b 20  bug fix) "clock 
2c200 66 6f 72 6d 61 74 20 30 20 2d 66 6f 72 6d 61 74  format 0 -format
2c210 20 25 5a 20 2d 67 6d 74 20 31 22 20 77 6f 75 6c   %Z -gmt 1" woul
2c220 64 20 72 65 74 75 72 6e 20 74 68 65 20 6c 6f 63  d return the loc
2c230 61 6c 0a 74 69 6d 65 7a 6f 6e 65 20 73 74 72 69  al.timezone stri
2c240 6e 67 20 69 6e 73 74 65 61 64 20 6f 66 20 22 47  ng instead of "G
2c250 4d 54 22 20 6f 6e 20 53 6f 6c 61 72 69 73 20 61  MT" on Solaris a
2c260 6e 64 20 57 69 6e 64 6f 77 73 2e 0a 0a 31 2f 32  nd Windows...1/2
2c270 38 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 52  8/98 (bug fix) R
2c280 65 73 74 6f 72 65 20 74 74 79 20 73 65 74 74 69  estore tty setti
2c290 6e 67 73 20 77 68 65 6e 20 63 6c 6f 73 69 6e 67  ngs when closing
2c2a0 20 73 65 72 69 61 6c 20 64 65 76 69 63 65 20 6f   serial device o
2c2b0 6e 20 55 6e 69 78 2e 0a 54 68 69 73 20 69 73 20  n Unix..This is 
2c2c0 67 6f 6f 64 20 62 65 68 61 76 69 6f 72 20 77 68  good behavior wh
2c2d0 65 6e 20 63 6c 6f 73 69 6e 67 20 72 65 61 6c 20  en closing real 
2c2e0 73 65 72 69 61 6c 20 64 65 76 69 63 65 73 2c 20  serial devices, 
2c2f0 65 73 73 65 6e 74 69 61 6c 20 77 68 65 6e 0a 63  essential when.c
2c300 6c 6f 73 69 6e 67 20 74 68 65 20 70 73 65 75 64  losing the pseud
2c310 6f 2d 64 65 76 69 63 65 20 2f 64 65 76 2f 74 74  o-device /dev/tt
2c320 79 20 62 65 63 61 75 73 65 20 74 68 65 20 75 73  y because the us
2c330 65 72 27 73 20 74 65 72 6d 69 6e 61 6c 20 73 65  er's terminal se
2c340 74 74 69 6e 67 73 0a 77 6f 75 6c 64 20 62 65 20  ttings.would be 
2c350 6c 65 66 74 20 75 73 65 6c 65 73 73 2c 20 69 6e  left useless, in
2c360 20 72 61 77 20 6d 6f 64 65 2c 20 77 68 65 6e 20   raw mode, when 
2c370 74 63 6c 20 71 75 69 74 2e 20 28 43 43 53 29 0a  tcl quit. (CCS).
2c380 0a 31 2f 32 38 2f 39 38 20 28 62 75 67 20 66 69  .1/28/98 (bug fi
2c390 78 29 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61  x) Tcl_OpenComma
2c3a0 6e 64 43 68 61 6e 6e 65 6c 28 29 20 77 61 73 20  ndChannel() was 
2c3b0 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 20 63 6f  modifying the co
2c3c0 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 0a 61 72  ntents of the.ar
2c3d0 67 76 20 61 72 72 61 79 20 70 61 73 73 65 64 20  gv array passed 
2c3e0 74 6f 20 69 74 2c 20 63 61 75 73 69 6e 67 20 70  to it, causing p
2c3f0 72 6f 62 6c 65 6d 73 20 66 6f 72 20 61 6e 79 20  roblems for any 
2c400 63 61 6c 6c 65 72 20 74 68 61 74 20 77 61 6e 74  caller that want
2c410 65 64 20 74 6f 0a 63 6f 6e 74 69 6e 75 65 20 74  ed to.continue t
2c420 6f 20 75 73 65 20 74 68 65 20 61 72 67 76 20 61  o use the argv a
2c430 72 72 61 79 20 61 66 74 65 72 20 63 61 6c 6c 69  rray after calli
2c440 6e 67 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61  ng Tcl_OpenComma
2c450 6e 64 43 68 61 6e 6e 65 6c 28 29 2e 20 28 43 43  ndChannel(). (CC
2c460 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75 67 20  S)..2/1/98 (bug 
2c470 66 69 78 29 20 4d 6f 72 65 20 62 75 67 73 20 77  fix) More bugs w
2c480 69 74 68 20 25 5a 20 69 6e 20 66 6f 72 6d 61 74  ith %Z in format
2c490 20 73 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74   string argument
2c4a0 20 74 6f 20 73 74 72 66 74 69 6d 65 28 29 3a 0a   to strftime():.
2c4b0 31 2e 20 42 6f 72 6c 61 6e 64 20 61 6c 77 61 79  1. Borland alway
2c4c0 73 20 72 65 74 75 72 6e 65 64 20 65 6d 70 74 79  s returned empty
2c4d0 20 73 74 72 69 6e 67 2e 0a 32 2e 20 4d 53 56 43   string..2. MSVC
2c4e0 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 65 64   always returned
2c4f0 20 74 68 65 20 74 69 6d 65 7a 6f 6e 65 20 73 74   the timezone st
2c500 72 69 6e 67 20 66 6f 72 20 74 68 65 20 63 75 72  ring for the cur
2c510 72 65 6e 74 20 74 69 6d 65 2c 20 6e 6f 74 20 74  rent time, not t
2c520 68 65 0a 20 20 20 74 69 6d 65 7a 6f 6e 65 20 73  he.   timezone s
2c530 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 70  tring for the sp
2c540 65 63 69 66 69 65 64 20 74 69 6d 65 2e 20 20 0a  ecified time.  .
2c550 33 2e 20 57 69 74 68 20 4d 53 56 43 2c 20 22 63  3. With MSVC, "c
2c560 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 30 20 2d 66  lock format 0 -f
2c570 6f 72 6d 61 74 20 25 5a 20 2d 67 6d 74 20 31 22  ormat %Z -gmt 1"
2c580 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 22 47   would return "G
2c590 4d 54 22 20 74 68 65 20 66 69 72 73 74 0a 20 20  MT" the first.  
2c5a0 20 74 69 6d 65 20 69 74 20 77 61 73 20 63 61 6c   time it was cal
2c5b0 6c 65 64 2c 20 62 75 74 20 77 6f 75 6c 64 20 72  led, but would r
2c5c0 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e  eturn the curren
2c5d0 74 20 74 69 6d 65 7a 6f 6e 65 20 73 74 72 69 6e  t timezone strin
2c5e0 67 20 6f 6e 20 61 6c 6c 0a 20 20 20 73 75 62 73  g on all.   subs
2c5f0 65 71 75 65 6e 74 20 63 61 6c 6c 73 2e 20 28 43  equent calls. (C
2c600 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75 67  CS)..2/1/98 (bug
2c610 20 66 69 78 29 20 22 66 69 6c 65 20 73 74 61 74   fix) "file stat
2c620 22 20 77 61 73 20 62 72 6f 6b 65 6e 20 6f 6e 20  " was broken on 
2c630 57 69 6e 64 6f 77 73 2e 0a 31 2e 20 22 66 69 6c  Windows..1. "fil
2c640 65 20 73 74 61 74 22 20 6f 66 20 61 20 72 6f 6f  e stat" of a roo
2c650 74 20 64 69 72 65 63 74 6f 72 79 20 28 6c 6f 63  t directory (loc
2c660 61 6c 20 6f 72 20 6e 65 74 77 6f 72 6b 29 20 6f  al or network) o
2c670 72 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74  r a relative pat
2c680 68 20 74 68 61 74 0a 20 20 20 72 65 73 6f 6c 76  h that.   resolv
2c690 65 64 20 74 6f 20 61 20 72 6f 6f 74 20 64 69 72  ed to a root dir
2c6a0 65 63 74 6f 72 79 20 28 63 3a 2e 20 77 68 65 6e  ectory (c:. when
2c6b0 20 69 6e 20 70 77 64 20 77 61 73 20 63 3a 2f 29   in pwd was c:/)
2c6c0 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67 20 65   was returning e
2c6d0 72 72 6f 72 2e 0a 32 2e 20 22 66 69 6c 65 20 73  rror..2. "file s
2c6e0 74 61 74 22 20 6f 6e 20 61 20 72 65 67 75 6c 61  tat" on a regula
2c6f0 72 20 66 69 6c 65 20 28 53 5f 49 46 52 45 47 29  r file (S_IFREG)
2c700 2c 20 74 68 65 20 73 74 5f 6d 6f 64 65 20 77 61  , the st_mode wa
2c710 73 20 73 69 67 6e 20 65 78 74 65 6e 64 65 64 20  s sign extended 
2c720 74 6f 0a 20 20 20 61 20 6e 65 67 61 74 69 76 65  to.   a negative
2c730 20 69 6e 74 20 69 66 20 74 68 65 20 70 6c 61 74   int if the plat
2c740 66 6f 72 6d 2d 64 65 70 65 6e 64 61 6e 74 20 74  form-dependant t
2c750 79 70 65 20 22 6d 6f 64 65 5f 74 22 20 77 61 73  ype "mode_t" was
2c760 20 64 65 63 6c 61 72 65 64 20 61 73 20 61 0a 20   declared as a. 
2c770 20 20 73 68 6f 72 74 20 69 6e 73 74 65 61 64 20    short instead 
2c780 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 73  of an unsigned s
2c790 68 6f 72 74 2e 0a 33 2e 20 22 66 69 6c 65 20 73  hort..3. "file s
2c7a0 74 61 74 22 20 6f 66 20 61 20 6e 65 74 77 6f 72  tat" of a networ
2c7b0 6b 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 65  k directory, the
2c7c0 20 73 74 5f 64 65 76 20 77 61 73 20 69 6e 63 6f   st_dev was inco
2c7d0 72 72 65 63 74 6c 79 20 72 65 70 6f 72 74 65 64  rrectly reported
2c7e0 0a 20 20 20 61 73 20 74 68 65 20 69 64 20 6f 66  .   as the id of
2c7f0 20 74 68 65 20 6c 61 73 74 20 61 63 63 65 73 73   the last access
2c800 65 64 20 6c 6f 63 61 6c 20 64 72 69 76 65 20 72  ed local drive r
2c810 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 69  ather than the i
2c820 64 20 6f 66 20 74 68 65 0a 20 20 20 6e 65 74 77  d of the.   netw
2c830 6f 72 6b 20 64 72 69 76 65 2e 20 28 43 43 53 29  ork drive. (CCS)
2c840 0a 0a 32 2f 31 2f 39 38 20 28 62 75 67 20 66 69  ..2/1/98 (bug fi
2c850 78 29 20 22 66 69 6c 65 20 61 74 74 72 69 62 75  x) "file attribu
2c860 74 65 73 22 20 6f 66 20 61 20 72 65 6c 61 74 69  tes" of a relati
2c870 76 65 20 70 61 74 68 20 74 68 61 74 20 72 65 73  ve path that res
2c880 6f 6c 76 65 64 20 74 6f 20 61 0a 72 6f 6f 74 20  olved to a.root 
2c890 64 69 72 65 63 74 6f 72 79 20 77 61 73 20 72 65  directory was re
2c8a0 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 2e 20 28  turning error. (
2c8b0 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75  CCS)..2/1/98 (bu
2c8c0 67 20 66 69 78 29 20 43 68 61 6e 67 65 20 65 72  g fix) Change er
2c8d0 72 6f 72 20 6d 65 73 73 61 67 65 20 77 68 65 6e  ror message when
2c8e0 20 22 66 69 6c 65 20 61 74 74 72 69 62 75 74 65   "file attribute
2c8f0 22 20 63 6f 75 6c 64 20 6e 6f 74 0a 64 65 74 65  " could not.dete
2c900 72 6d 69 6e 65 20 74 68 65 20 61 74 74 72 69 62  rmine the attrib
2c910 75 74 65 73 20 66 6f 72 20 61 20 66 69 6c 65 2e  utes for a file.
2c920 20 20 50 72 65 76 69 6f 75 73 6c 79 20 69 74 20    Previously it 
2c930 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 64 69 66  would return dif
2c940 66 65 72 65 6e 74 0a 65 72 72 6f 72 20 6d 65 73  ferent.error mes
2c950 73 61 67 65 73 20 6f 6e 20 55 6e 69 78 20 76 73  sages on Unix vs
2c960 2e 20 20 57 69 6e 64 6f 77 73 20 76 73 2e 20 4d  .  Windows vs. M
2c970 61 63 2e 20 28 43 43 53 29 0a 0a 32 2f 34 2f 39  ac. (CCS)..2/4/9
2c980 38 20 28 62 75 67 20 66 69 78 65 73 29 20 46 69  8 (bug fixes) Fi
2c990 78 65 64 20 73 65 76 65 72 61 6c 20 69 6e 73 74  xed several inst
2c9a0 61 6e 63 65 73 20 6f 66 20 62 75 67 73 20 77 68  ances of bugs wh
2c9b0 65 72 65 20 74 68 65 20 70 61 72 73 65 72 2f 63  ere the parser/c
2c9c0 6f 6d 70 69 6c 65 72 20 0a 77 6f 75 6c 64 20 72  ompiler .would r
2c9d0 65 61 63 68 20 6f 75 74 73 69 64 65 20 74 68 65  each outside the
2c9e0 20 72 61 6e 67 65 20 6f 66 20 61 6c 6c 6f 63 61   range of alloca
2c9f0 74 65 64 20 6d 65 6d 6f 72 79 2e 20 49 6d 70 72  ted memory. Impr
2ca00 6f 76 65 64 20 74 68 65 20 61 72 72 61 79 0a 6c  oved the array.l
2ca10 6f 6f 6b 75 70 20 61 6c 67 6f 72 69 74 68 6d 20  ookup algorithm 
2ca20 69 6e 20 73 65 74 20 63 6f 6d 70 69 6c 61 74 69  in set compilati
2ca30 6f 6e 2e 20 28 44 4c 29 0a 0a 32 2f 35 2f 39 38  on. (DL)..2/5/98
2ca40 20 28 63 68 61 6e 67 65 29 20 54 68 65 20 54 43   (change) The TC
2ca50 4c 5f 50 41 52 53 45 5f 50 41 52 54 31 20 66 6c  L_PARSE_PART1 fl
2ca60 61 67 20 66 6f 72 20 53 65 74 2f 47 65 74 28 4f  ag for Set/Get(O
2ca70 62 6a 29 56 61 72 32 20 43 20 41 50 49 73 20 69  bj)Var2 C APIs i
2ca80 73 20 6e 6f 77 0a 64 65 70 72 65 63 61 74 65 64  s now.deprecated
2ca90 20 61 6e 64 20 69 67 6e 6f 72 65 64 2e 20 54 68   and ignored. Th
2caa0 65 20 70 61 72 74 31 20 69 73 20 61 6c 77 61 79  e part1 is alway
2cab0 73 20 70 61 72 73 65 64 20 77 68 65 6e 20 74 68  s parsed when th
2cac0 65 20 70 61 72 74 32 20 61 72 67 75 6d 65 6e 74  e part2 argument
2cad0 0a 69 73 20 4e 55 4c 4c 2e 20 54 68 69 73 20 69  .is NULL. This i
2cae0 73 20 74 6f 20 61 76 6f 69 64 20 61 20 70 61 74  s to avoid a pat
2caf0 74 65 72 6e 20 6f 66 20 65 72 72 6f 72 73 20 66  tern of errors f
2cb00 6f 72 20 65 78 74 65 6e 73 69 6f 6e 20 77 72 69  or extension wri
2cb10 74 65 72 73 20 63 6f 6e 76 65 72 74 69 6e 67 0a  ters converting.
2cb20 66 72 6f 6d 20 73 74 72 69 6e 67 20 62 61 73 65  from string base
2cb30 64 20 54 63 6c 5f 53 65 74 56 61 72 28 29 20 74  d Tcl_SetVar() t
2cb40 6f 20 6e 65 77 20 54 63 6c 5f 53 65 74 4f 62 6a  o new Tcl_SetObj
2cb50 56 61 72 32 28 29 20 61 6e 64 20 77 68 6f 20 63  Var2() and who c
2cb60 6f 75 6c 64 20 65 61 73 69 6c 79 0a 66 6f 72 67  ould easily.forg
2cb70 65 74 20 74 6f 20 70 72 6f 76 69 64 65 20 74 68  et to provide th
2cb80 65 20 66 6c 61 67 20 61 6e 64 20 74 68 75 73 20  e flag and thus 
2cb90 67 65 74 20 63 6f 64 65 20 77 6f 72 6b 69 6e 67  get code working
2cba0 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 76 61 72 69   for normal vari
2cbb0 61 62 6c 65 73 20 0a 62 75 74 20 6e 6f 74 20 66  ables .but not f
2cbc0 6f 72 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74  or array element
2cbd0 73 2e 20 54 68 65 20 70 65 72 66 6f 72 6d 61 6e  s. The performan
2cbe0 63 65 20 68 69 74 20 69 73 20 6d 69 6e 69 6d 61  ce hit is minima
2cbf0 6c 2e 20 41 20 73 69 64 65 20 65 66 66 65 63 74  l. A side effect
2cc00 0a 6f 66 20 74 68 61 74 20 63 68 61 6e 67 65 20  .of that change 
2cc10 69 73 20 74 68 61 74 20 69 73 20 69 73 20 6e 6f  is that is is no
2cc20 20 6c 6f 6e 67 65 72 20 70 6f 73 73 69 62 6c 65   longer possible
2cc30 20 74 6f 20 63 72 65 61 74 65 20 73 63 61 6c 61   to create scala
2cc40 72 20 76 61 72 69 61 62 6c 65 73 0a 74 68 61 74  r variables.that
2cc50 20 63 61 6e 27 74 20 62 65 20 61 63 63 65 73 73   can't be access
2cc60 65 64 20 62 79 20 74 63 6c 20 73 63 72 69 70 74  ed by tcl script
2cc70 73 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 65  s because of the
2cc80 69 72 20 69 6e 76 61 6c 69 64 20 6e 61 6d 65 20  ir invalid name 
2cc90 0a 28 65 6e 64 69 6e 67 20 77 69 74 68 20 70 61  .(ending with pa
2cca0 72 65 6e 74 68 65 73 69 73 29 2e 20 4c 69 6b 65  renthesis). Like
2ccb0 77 69 73 65 20 69 74 20 69 73 20 61 6c 73 6f 20  wise it is also 
2ccc0 70 61 72 73 65 64 20 61 6e 64 20 63 68 65 63 6b  parsed and check
2ccd0 65 64 20 74 6f 20 0a 65 6e 73 75 72 65 20 74 68  ed to .ensure th
2cce0 61 74 20 79 6f 75 20 64 6f 6e 27 74 20 63 72 65  at you don't cre
2ccf0 61 74 65 20 61 72 72 61 79 20 65 6c 65 6d 65 6e  ate array elemen
2cd00 74 73 20 6f 66 20 61 72 72 61 79 20 77 68 6f 73  ts of array whos
2cd10 65 20 6e 61 6d 65 20 69 73 20 61 20 76 61 6c 69  e name is a vali
2cd20 64 20 0a 61 72 72 61 79 20 65 6c 65 6d 65 6e 74  d .array element
2cd30 20 62 65 63 61 75 73 65 20 74 68 65 79 20 77 6f   because they wo
2cd40 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73  uld not be acces
2cd50 73 69 62 6c 65 20 66 72 6f 6d 20 73 63 72 69 70  sible from scrip
2cd60 74 73 20 61 6e 79 77 61 79 2e 20 0a 4e 6f 74 65  ts anyway. .Note
2cd70 3a 20 54 68 65 72 65 20 69 73 20 73 74 69 6c 6c  : There is still
2cd80 20 64 75 70 6c 69 63 61 74 65 20 61 72 72 61 79   duplicate array
2cd90 20 65 6c 65 6d 65 6e 74 73 20 70 61 72 73 69 6e   elements parsin
2cda0 67 20 63 6f 64 65 2e 20 28 44 4c 29 0a 2a 2a 2a  g code. (DL).***
2cdb0 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2cdc0 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
2cdd0 32 2f 31 31 2f 39 38 20 28 62 75 67 20 66 69 78  2/11/98 (bug fix
2cde0 29 20 53 68 61 72 69 6e 67 20 6f 62 6a 65 63 74  ) Sharing object
2cdf0 73 20 62 65 74 77 65 65 6e 20 69 6e 74 65 72 70  s between interp
2ce00 73 2c 20 73 75 63 68 20 61 73 20 62 79 20 22 69  s, such as by "i
2ce10 6e 74 65 72 70 0a 65 76 61 6c 22 20 6f 72 20 22  nterp.eval" or "
2ce20 73 65 6e 64 22 20 63 6f 75 6c 64 20 63 61 75 73  send" could caus
2ce30 65 20 61 20 63 72 61 73 68 20 6c 61 74 65 72 20  e a crash later 
2ce40 77 68 65 6e 20 64 65 72 65 66 65 72 65 6e 63 69  when dereferenci
2ce50 6e 67 20 61 6e 20 69 6e 74 65 72 70 0a 74 68 61  ng an interp.tha
2ce60 74 20 68 61 64 20 62 65 65 6e 20 64 65 6c 65 74  t had been delet
2ce70 65 64 2c 20 67 69 76 65 6e 20 63 6f 64 65 20 73  ed, given code s
2ce80 75 63 68 20 61 73 3a 0a 09 73 65 74 20 61 20 7b  uch as:..set a {
2ce90 73 65 74 20 78 20 79 7d 0a 09 69 6e 74 65 72 70  set x y}..interp
2cea0 20 63 72 65 61 74 65 20 66 6f 6f 0a 09 69 6e 74   create foo..int
2ceb0 65 72 70 20 65 76 61 6c 20 66 6f 6f 20 24 61 0a  erp eval foo $a.
2cec0 09 69 6e 74 65 72 70 20 64 65 6c 65 74 65 20 66  .interp delete f
2ced0 6f 6f 0a 09 75 6e 73 65 74 20 61 0a 49 6e 74 65  oo..unset a.Inte
2cee0 72 70 20 22 66 6f 6f 22 20 77 61 73 20 67 6f 6e  rp "foo" was gon
2cef0 65 2c 20 62 75 74 20 22 61 22 20 68 61 64 20 61  e, but "a" had a
2cf00 20 69 6e 74 65 72 6e 61 6c 20 72 65 70 20 63 6f   internal rep co
2cf10 6e 73 69 73 74 69 6e 67 20 6f 66 20 62 79 74 65  nsisting of byte
2cf20 63 6f 64 65 73 0a 63 6f 6e 74 61 69 6e 69 6e 67  codes.containing
2cf30 20 61 20 64 61 6e 67 6c 69 6e 67 20 70 6f 69 6e   a dangling poin
2cf40 74 65 72 20 74 6f 20 22 66 6f 6f 22 2e 20 20 55  ter to "foo".  U
2cf50 6e 73 65 74 74 69 6e 67 20 22 61 22 20 77 6f 75  nsetting "a" wou
2cf60 6c 64 20 61 74 74 65 6d 70 74 20 74 6f 0a 72 65  ld attempt to.re
2cf70 74 75 72 6e 20 72 65 73 6f 75 72 63 65 73 20 62  turn resources b
2cf80 61 63 6b 20 74 6f 20 22 66 6f 6f 22 2c 20 63 61  ack to "foo", ca
2cf90 75 73 69 6e 67 20 61 20 63 72 61 73 68 20 61 73  using a crash as
2cfa0 20 72 61 6e 64 6f 6d 20 6d 65 6d 6f 72 79 20 77   random memory w
2cfb0 61 73 0a 61 63 63 65 73 73 65 64 2e 20 20 54 68  as.accessed.  Th
2cfc0 65 20 6c 65 73 73 6f 6e 20 69 73 20 74 68 61 74  e lesson is that
2cfd0 20 74 68 61 74 20 69 66 20 61 6e 20 6f 62 6a 65   that if an obje
2cfe0 63 74 27 73 20 69 6e 74 65 72 6e 61 6c 20 72 65  ct's internal re
2cff0 70 20 64 65 70 65 6e 64 73 20 6f 6e 0a 61 6e 20  p depends on.an 
2d000 69 6e 74 65 72 70 20 28 6f 72 20 61 6e 79 20 6f  interp (or any o
2d010 74 68 65 72 20 64 61 74 61 20 73 74 72 75 63 74  ther data struct
2d020 75 72 65 29 20 69 74 20 6d 75 73 74 20 70 72 65  ure) it must pre
2d030 73 65 72 76 65 20 74 68 61 74 20 64 61 74 61 20  serve that data 
2d040 69 6e 0a 73 6f 6d 65 20 66 61 73 68 69 6f 6e 2e  in.some fashion.
2d050 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39 38 20   (CCS)..2/11/98 
2d060 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 54 68  (enhancement) Th
2d070 65 20 22 69 6e 74 65 72 70 22 20 63 6f 6d 6d 61  e "interp" comma
2d080 6e 64 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67  nd was returning
2d090 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 20 65 72   inconsistent er
2d0a0 72 6f 72 0a 6d 65 73 73 61 67 65 73 20 77 68 65  ror.messages whe
2d0b0 6e 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20  n the specified 
2d0c0 73 6c 61 76 65 20 69 6e 74 65 72 70 20 63 6f 75  slave interp cou
2d0d0 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e  ld not be found.
2d0e0 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39 38 20   (CCS)..2/11/98 
2d0f0 28 62 75 67 20 66 69 78 29 20 52 65 73 75 6c 74  (bug fix) Result
2d100 20 63 6f 64 65 73 20 6c 69 6b 65 20 54 43 4c 5f   codes like TCL_
2d110 42 52 45 41 4b 20 61 6e 64 20 54 43 4c 5f 43 4f  BREAK and TCL_CO
2d120 4e 54 49 4e 55 45 20 77 65 72 65 20 6e 6f 74 0a  NTINUE were not.
2d130 70 72 6f 70 61 67 61 74 69 6e 67 20 74 68 72 6f  propagating thro
2d140 75 67 68 20 74 68 65 20 6d 61 73 74 65 72 2f 73  ugh the master/s
2d150 6c 61 76 65 20 69 6e 74 65 72 70 20 62 6f 75 6e  lave interp boun
2d160 64 61 72 69 65 73 2c 20 73 75 63 68 20 61 73 20  daries, such as 
2d170 22 69 6e 74 65 72 70 0a 65 76 61 6c 22 20 61 6e  "interp.eval" an
2d180 64 20 22 69 6e 74 65 72 70 20 61 6c 69 61 73 22  d "interp alias"
2d190 2e 20 20 54 43 4c 5f 4f 4b 2c 20 54 43 4c 5f 45  .  TCL_OK, TCL_E
2d1a0 52 52 4f 52 2c 20 61 6e 64 20 6e 6f 6e 2d 73 74  RROR, and non-st
2d1b0 61 6e 64 61 72 64 20 63 6f 64 65 73 20 6c 69 6b  andard codes lik
2d1c0 65 0a 74 65 68 20 69 6e 74 65 67 65 72 20 35 37  e.teh integer 57
2d1d0 20 77 6f 72 6b 2e 20 20 54 68 65 72 65 20 69 73   work.  There is
2d1e0 20 73 74 69 6c 6c 20 61 20 71 75 65 73 74 69 6f   still a questio
2d1f0 6e 20 61 73 20 74 6f 20 77 68 65 74 68 65 72 20  n as to whether 
2d200 54 43 4c 5f 52 45 54 55 52 4e 0a 63 61 6e 2f 73  TCL_RETURN.can/s
2d210 68 6f 75 6c 64 20 70 72 6f 70 61 67 61 74 65 2e  hould propagate.
2d220 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39 38 20   (CCS)..2/11/98 
2d230 28 62 75 67 20 66 69 78 29 20 54 63 6c 43 6f 6d  (bug fix) TclCom
2d240 70 69 6c 65 53 63 72 69 70 74 28 29 20 77 61 73  pileScript() was
2d250 20 64 65 72 65 66 65 72 69 6e 67 20 6d 65 6d 6f   derefering memo
2d260 72 79 20 31 20 62 79 74 65 20 62 65 66 6f 72 65  ry 1 byte before
2d270 0a 73 74 61 72 74 20 6f 66 20 74 68 65 20 73 74  .start of the st
2d280 72 69 6e 67 20 74 6f 20 63 6f 6d 70 69 6c 65 2c  ring to compile,
2d290 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 27 5d 27   looking for ']'
2d2a0 2e 20 28 43 43 53 2c 44 4c 29 0a 0a 32 2f 31 31  . (CCS,DL)..2/11
2d2b0 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 63  /98 (bug fix) Tc
2d2c0 6c 5f 45 76 61 6c 32 28 29 20 77 61 73 20 64 65  l_Eval2() was de
2d2d0 72 65 66 65 72 69 6e 67 20 6d 65 6d 6f 72 79 20  refering memory 
2d2e0 31 20 62 79 74 65 20 62 65 66 6f 72 65 20 73 74  1 byte before st
2d2f0 61 72 74 0a 6f 66 20 74 68 65 20 73 74 72 69 6e  art.of the strin
2d300 67 20 74 6f 20 65 76 61 6c 2c 20 6c 6f 6f 6b 69  g to eval, looki
2d310 6e 67 20 66 6f 72 20 27 5d 27 2e 20 28 43 43 53  ng for ']'. (CCS
2d320 2c 44 4c 29 0a 0a 32 2f 31 31 2f 39 38 20 28 62  ,DL)..2/11/98 (b
2d330 75 67 20 66 69 78 29 20 43 6f 6d 70 69 6c 69 6e  ug fix) Compilin
2d340 67 20 22 73 65 74 20 61 28 62 22 20 77 61 73 20  g "set a(b" was 
2d350 72 75 6e 6e 69 6e 67 20 6f 66 66 20 65 6e 64 20  running off end 
2d360 6f 66 20 73 74 72 69 6e 67 2e 20 28 43 43 53 2c  of string. (CCS,
2d370 44 4c 29 0a 0a 32 2f 31 31 2f 39 38 20 28 62 75  DL)..2/11/98 (bu
2d380 67 20 66 69 78 29 20 57 69 6e 64 6f 77 73 20 69  g fix) Windows i
2d390 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63 6f  nitialization co
2d3a0 64 65 20 77 61 73 20 64 65 72 65 66 65 72 65 6e  de was dereferen
2d3b0 63 69 6e 67 0a 75 6e 69 6e 69 74 69 61 6c 69 7a  cing.uninitializ
2d3c0 65 64 20 6d 65 6d 6f 72 79 20 69 66 20 54 43 4c  ed memory if TCL
2d3d0 5f 4c 49 42 52 41 52 59 20 65 6e 76 69 72 6f 6e  _LIBRARY environ
2d3e0 6d 65 6e 74 20 64 69 64 6e 27 74 20 65 78 69 73  ment didn't exis
2d3f0 74 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39  t. (CCS)..2/11/9
2d400 38 20 28 62 75 67 20 66 69 78 29 20 57 69 6e 64  8 (bug fix) Wind
2d410 6f 77 73 20 22 72 65 67 69 73 74 72 79 22 20 63  ows "registry" c
2d420 6f 6d 6d 61 6e 64 20 77 61 73 20 64 65 72 65 66  ommand was deref
2d430 65 72 65 6e 63 69 6e 67 0a 75 6e 69 6e 69 74 69  erencing.uniniti
2d440 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79 20 77 68  alized memory wh
2d450 65 6e 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20  en constructing 
2d460 74 68 65 20 24 65 72 72 6f 72 43 6f 64 65 20 66  the $errorCode f
2d470 6f 72 20 61 20 66 61 69 6c 65 64 0a 72 65 67 69  or a failed.regi
2d480 73 74 72 79 20 63 61 6c 6c 2e 20 28 43 43 53 29  stry call. (CCS)
2d490 0a 0a 32 2f 31 31 2f 39 38 20 28 65 6e 68 61 6e  ..2/11/98 (enhan
2d4a0 63 65 6d 65 6e 74 29 20 45 6c 69 6d 69 6e 61 74  cement) Eliminat
2d4b0 65 20 74 68 65 20 54 43 4c 5f 55 53 45 5f 54 49  e the TCL_USE_TI
2d4c0 4d 45 5a 4f 4e 45 5f 56 41 52 20 64 65 66 69 6e  MEZONE_VAR defin
2d4d0 69 74 69 6f 6e 20 66 72 6f 6d 0a 63 6f 6e 66 69  ition from.confi
2d4e0 67 75 72 65 2e 69 6e 2c 20 62 65 63 61 75 73 65  gure.in, because
2d4f0 20 69 74 20 77 61 73 20 74 68 65 20 73 61 6d 65   it was the same
2d500 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 73 20   information as 
2d510 74 68 65 20 61 6c 72 65 61 64 79 20 65 78 69 73  the already exis
2d520 74 69 6e 67 0a 48 41 56 45 5f 54 4d 5f 5a 4f 4e  ting.HAVE_TM_ZON
2d530 45 20 64 65 66 69 6e 69 74 69 6f 6e 2e 20 20 54  E definition.  T
2d540 68 65 20 6c 61 63 6b 20 6f 66 20 48 41 56 45 5f  he lack of HAVE_
2d550 54 4d 5f 5a 4f 4e 45 20 69 73 20 75 73 65 64 20  TM_ZONE is used 
2d560 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e 64 20 61  to work around a
2d570 0a 53 6f 6c 61 72 69 73 20 61 6e 64 20 57 69 6e  .Solaris and Win
2d580 64 6f 77 73 20 62 75 67 20 77 68 65 72 65 20 22  dows bug where "
2d590 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 5b 63 6c  clock format [cl
2d5a0 6f 63 6b 20 73 65 63 5d 20 2d 66 6f 72 6d 61 74  ock sec] -format
2d5b0 20 25 5a 20 2d 67 6d 74 20 31 22 20 0a 70 72 6f   %Z -gmt 1" .pro
2d5c0 64 75 63 65 73 20 74 68 65 20 6c 6f 63 61 6c 20  duces the local 
2d5d0 74 69 6d 65 7a 6f 6e 65 20 73 74 72 69 6e 67 20  timezone string 
2d5e0 69 6e 73 74 65 61 64 20 6f 66 20 22 47 4d 54 22  instead of "GMT"
2d5f0 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f 39 38  . (CCS)..2/11/98
2d600 20 28 62 75 67 20 66 69 78 29 20 4d 65 6d 6c 65   (bug fix) Memle
2d610 61 6b 73 20 61 6e 64 20 64 65 72 65 66 65 72 65  aks and derefere
2d620 6e 63 69 6e 67 20 6f 66 20 75 6e 69 6e 69 74 69  ncing of uniniti
2d630 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79 20 69 6e  alized memory in
2d640 0a 72 65 67 65 78 70 20 69 66 20 61 6e 20 65 72  .regexp if an er
2d650 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 69  ror occurred whi
2d660 6c 65 20 63 6f 6d 70 69 6c 69 6e 67 20 61 20 72  le compiling a r
2d670 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
2d680 6e 2e 20 28 43 43 53 29 2e 0a 0a 32 2f 31 38 2f  n. (CCS)...2/18/
2d690 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  98 (new feature)
2d6a0 20 41 64 64 65 64 20 6d 75 74 65 78 65 73 20 61   Added mutexes a
2d6b0 6e 64 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20  nd thread local 
2d6c0 73 74 6f 72 61 67 65 20 69 6e 20 6f 72 64 65 72  storage in order
2d6d0 0a 74 6f 20 6d 61 6b 65 20 54 63 6c 20 74 68 72  .to make Tcl thr
2d6e0 65 61 64 20 73 61 66 65 2e 20 20 46 6f 72 20 74  ead safe.  For t
2d6f0 65 73 74 69 6e 67 20 70 75 72 70 6f 73 65 73 2c  esting purposes,
2d700 20 74 68 65 72 65 20 69 73 20 61 20 74 65 73 74   there is a test
2d710 74 68 72 65 61 64 0a 63 6f 6d 6d 61 6e 64 20 74  thread.command t
2d720 68 61 74 20 63 72 65 61 74 65 73 20 61 20 6e 65  hat creates a ne
2d730 77 20 74 68 72 65 61 64 20 61 6e 64 20 61 6e 20  w thread and an 
2d740 69 6e 74 65 72 70 72 65 74 65 72 20 69 6e 73 69  interpreter insi
2d750 64 65 20 69 74 2e 20 20 53 65 65 0a 74 68 72 65  de it.  See.thre
2d760 61 64 2e 74 65 73 74 20 66 6f 72 20 65 78 61 6d  ad.test for exam
2d770 70 6c 65 73 2c 20 62 75 74 20 74 68 69 73 20 73  ples, but this s
2d780 63 72 69 70 74 2d 6c 65 76 65 6c 20 69 6e 74 65  cript-level inte
2d790 72 66 61 63 65 20 69 73 20 6e 6f 74 20 66 69 78  rface is not fix
2d7a0 65 64 2e 0a 45 61 63 68 20 74 68 72 65 61 64 20  ed..Each thread 
2d7b0 68 61 73 20 69 74 73 20 6f 77 6e 20 6e 6f 74 69  has its own noti
2d7c0 66 69 65 72 20 69 6e 73 74 61 6e 63 65 20 74 6f  fier instance to
2d7d0 20 6d 61 6e 61 67 65 20 69 74 73 20 6f 77 6e 20   manage its own 
2d7e0 65 76 65 6e 74 73 2c 0a 61 6e 64 20 74 68 72 65  events,.and thre
2d7f0 61 64 73 20 63 61 6e 20 70 6f 73 74 20 6d 65 73  ads can post mes
2d800 73 61 67 65 73 20 74 6f 20 65 61 63 68 20 6f 74  sages to each ot
2d810 68 65 72 27 73 20 6d 65 73 73 61 67 65 20 71 75  her's message qu
2d820 65 75 65 2e 0a 54 68 69 73 20 75 73 65 73 20 70  eue..This uses p
2d830 74 68 72 65 61 64 73 20 6f 6e 20 55 4e 49 58 2c  threads on UNIX,
2d840 20 61 6e 64 20 6e 61 74 69 76 65 20 74 68 72 65   and native thre
2d850 61 64 20 73 75 70 70 6f 72 74 20 6f 6e 20 6f 74  ad support on ot
2d860 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 59  her platforms..Y
2d870 6f 75 20 65 6e 61 62 6c 65 20 74 68 69 73 20 62  ou enable this b
2d880 79 20 63 6f 6e 66 69 67 75 72 69 6e 67 20 77 69  y configuring wi
2d890 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 74 68 72 65  th --enable-thre
2d8a0 61 64 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20  ads.  Note that 
2d8b0 61 74 0a 74 68 69 73 20 74 69 6d 65 20 2a 54 6b  at.this time *Tk
2d8c0 2a 20 69 73 20 73 74 69 6c 6c 20 6e 6f 74 20 74  * is still not t
2d8d0 68 72 65 61 64 20 73 61 66 65 2e 20 53 70 65 63  hread safe. Spec
2d8e0 69 61 6c 20 74 68 61 6e 6b 73 20 74 6f 0a 52 69  ial thanks to.Ri
2d8f0 63 68 61 72 64 20 48 69 70 70 3a 20 68 69 73 20  chard Hipp: his 
2d900 65 61 72 6c 69 65 72 20 69 6d 70 6c 65 6d 65 6e  earlier implemen
2d910 74 61 74 69 6f 6e 20 69 6e 73 70 69 72 65 64 20  tation inspired 
2d920 74 68 69 73 20 77 6f 72 6b 2e 20 28 42 57 2c 20  this work. (BW, 
2d930 53 53 2c 20 4a 49 29 0a 0a 32 2f 31 38 2f 39 38  SS, JI)..2/18/98
2d940 20 28 68 69 64 64 65 6e 20 66 65 61 74 75 72 65   (hidden feature
2d950 20 63 68 61 6e 67 65 29 20 54 68 65 20 77 61 79   change) The way
2d960 20 74 68 65 20 65 6e 76 28 29 20 61 72 72 61 79   the env() array
2d970 20 69 73 20 73 68 61 72 65 64 20 61 6d 6f 6e 67   is shared among
2d980 0a 69 6e 74 65 72 70 72 65 74 65 72 73 20 63 68  .interpreters ch
2d990 61 6e 67 65 64 2e 20 20 55 70 64 61 74 65 73 20  anged.  Updates 
2d9a0 74 6f 20 65 6e 76 20 75 73 65 64 20 74 6f 20 74  to env used to t
2d9b0 72 69 67 67 65 72 20 77 72 69 74 65 20 74 72 61  rigger write tra
2d9c0 63 65 73 20 69 6e 0a 6f 74 68 65 72 20 69 6e 74  ces in.other int
2d9d0 65 72 70 72 65 74 65 72 73 2e 20 20 54 68 69 73  erpreters.  This
2d9e0 20 75 6e 64 6f 63 75 6d 65 6e 74 65 64 20 66 65   undocumented fe
2d9f0 61 74 75 72 65 20 69 73 20 6e 6f 20 6c 6f 6e 67  ature is no long
2da00 65 72 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 0a  er implemented..
2da10 49 6e 73 74 65 61 64 2c 20 76 61 72 69 61 62 6c  Instead, variabl
2da20 65 20 74 72 61 63 69 6e 67 20 69 73 20 75 73 65  e tracing is use
2da30 64 20 74 6f 20 6b 65 65 70 20 74 68 65 20 43 2d  d to keep the C-
2da40 6c 65 76 65 6c 20 65 6e 76 69 72 6f 6e 20 61 72  level environ ar
2da50 72 61 79 20 69 6e 20 73 79 6e 63 0a 77 69 74 68  ray in sync.with
2da60 20 74 68 65 20 54 63 6c 2d 6c 65 76 65 6c 20 65   the Tcl-level e
2da70 6e 76 20 61 72 72 61 79 2e 20 54 68 69 73 20 72  nv array. This r
2da80 65 71 75 69 72 65 64 20 61 64 64 69 6e 67 20 54  equired adding T
2da90 43 4c 5f 54 52 41 43 45 5f 41 52 52 41 59 20 73  CL_TRACE_ARRAY s
2daa0 75 70 70 6f 72 74 0a 74 6f 20 54 63 6c 5f 54 72  upport.to Tcl_Tr
2dab0 61 63 65 56 61 72 32 20 73 6f 20 74 68 61 74 20  aceVar2 so that 
2dac0 61 72 72 61 79 20 6e 61 6d 65 73 20 77 6f 72 6b  array names work
2dad0 73 20 70 72 6f 70 65 72 6c 79 2e 20 28 42 57 29  s properly. (BW)
2dae0 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
2daf0 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
2db00 2a 2a 0a 0a 32 2f 31 38 2f 39 38 20 28 65 6e 68  **..2/18/98 (enh
2db10 61 6e 63 65 6d 65 6e 74 29 20 43 6f 6e 64 69 74  ancement) Condit
2db20 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f  ional compilatio
2db30 6e 20 66 6f 72 20 75 6e 69 78 20 73 79 73 74 65  n for unix syste
2db40 6d 73 20 28 65 2e 67 2e 2c 0a 49 52 49 58 2c 20  ms (e.g.,.IRIX, 
2db50 53 43 4f 29 20 74 68 61 74 20 75 73 65 20 66 5f  SCO) that use f_
2db60 62 73 69 7a 65 20 69 6e 73 74 65 61 64 20 6f 66  bsize instead of
2db70 20 73 74 5f 62 6c 6b 73 69 7a 65 20 74 6f 20 64   st_blksize to d
2db80 65 74 65 72 6d 69 6e 65 20 64 69 73 6b 20 62 6c  etermine disk bl
2db90 6f 63 6b 0a 73 69 7a 65 2e 20 28 43 43 53 29 0a  ock.size. (CCS).
2dba0 0a 32 2f 32 33 2f 39 38 20 28 62 75 67 20 66 69  .2/23/98 (bug fi
2dbb0 78 29 20 46 69 78 65 64 20 74 68 65 20 65 6d 75  x) Fixed the emu
2dbc0 6c 61 74 69 6f 6e 20 6f 66 20 70 6f 6c 6c 69 6e  lation of pollin
2dbd0 67 20 73 65 6c 65 63 74 73 20 69 6e 20 74 68 65  g selects in the
2dbe0 20 74 68 72 65 61 64 65 64 0a 76 65 72 73 69 6f   threaded.versio
2dbf0 6e 20 6f 66 20 74 68 65 20 55 6e 69 78 20 6e 6f  n of the Unix no
2dc00 74 69 66 69 65 72 2e 20 20 54 68 65 20 62 75 67  tifier.  The bug
2dc10 20 77 61 73 20 73 68 6f 77 69 6e 67 20 75 70 20   was showing up 
2dc20 6f 6e 20 61 20 6d 75 6c 74 69 70 72 6f 63 65 73  on a multiproces
2dc30 73 6f 72 0a 61 73 20 73 74 61 72 76 61 74 69 6f  sor.as starvatio
2dc40 6e 20 6f 66 20 74 68 65 20 6e 6f 74 69 66 69 65  n of the notifie
2dc50 72 20 74 68 72 65 61 64 2e 20 28 42 57 29 0a 0a  r thread. (BW)..
2dc60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2dc70 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 31 61 32  - Released 8.1a2
2dc80 2c 20 46 65 62 20 32 33 20 31 39 39 38 20 2d 2d  , Feb 23 1998 --
2dc90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2dca0 2d 2d 2d 2d 2d 0a 0a 39 2f 32 32 2f 39 38 20 28  -----..9/22/98 (
2dcb0 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64  bug fix) Changed
2dcc0 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 54 43   the value of TC
2dcd0 4c 5f 54 52 41 43 45 5f 41 52 52 41 59 20 73 6f  L_TRACE_ARRAY so
2dce0 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72 0a 63 6f   it no longer.co
2dcf0 6e 66 6c 69 63 74 73 20 77 69 74 68 20 74 68 65  nflicts with the
2dd00 20 64 65 70 72 65 63 61 74 65 64 20 54 43 4c 5f   deprecated TCL_
2dd10 50 41 52 53 45 5f 50 41 52 54 31 20 66 6c 61 67  PARSE_PART1 flag
2dd20 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 0a 69  .  This should.i
2dd30 6d 70 72 6f 76 65 20 70 6f 72 74 61 62 69 6c 69  mprove portabili
2dd40 74 79 20 6f 66 20 43 20 63 6f 64 65 2e 20 28 73  ty of C code. (s
2dd50 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 36 2f 39 38  tanton)..10/6/98
2dd60 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 63   (bug fix) The c
2dd70 6f 6d 70 69 6c 65 20 70 72 6f 63 65 64 75 72 65  ompile procedure
2dd80 20 66 6f 72 20 22 69 66 22 20 69 6e 63 6f 72 72   for "if" incorr
2dd90 65 63 74 6c 79 20 61 74 74 65 6d 70 74 65 64 0a  ectly attempted.
2dda0 74 6f 20 6d 61 74 63 68 20 61 67 61 69 6e 73 74  to match against
2ddb0 20 74 68 65 20 6c 69 74 65 72 61 6c 20 73 74 72   the literal str
2ddc0 69 6e 67 20 22 69 66 22 2c 20 72 65 73 75 6c 74  ing "if", result
2ddd0 69 6e 67 20 69 6e 20 61 20 73 74 61 63 6b 0a 6f  ing in a stack.o
2dde0 76 65 72 66 6c 6f 77 20 77 68 65 6e 20 22 3a 3a  verflow when "::
2ddf0 69 66 22 20 77 61 73 20 63 6f 6d 70 69 6c 65 64  if" was compiled
2de00 2e 20 20 49 74 20 61 6c 73 6f 20 77 6f 75 6c 64  .  It also would
2de10 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 61 63 63   incorrectly acc
2de20 65 70 74 0a 22 69 66 22 20 69 6e 73 74 65 61 64  ept."if" instead
2de30 20 6f 66 20 22 65 6c 73 69 66 22 20 69 6e 20 6c   of "elsif" in l
2de40 61 74 65 72 20 63 6c 61 75 73 65 73 2e 20 20 28  ater clauses.  (
2de50 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 31 35 2f  stanton)..10/15/
2de60 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  98 (new feature)
2de70 20 41 64 64 65 64 20 61 20 22 74 6f 74 69 74 6c   Added a "totitl
2de80 65 22 20 73 75 62 63 6f 6d 6d 61 6e 64 20 74 6f  e" subcommand to
2de90 20 74 68 65 20 22 73 74 72 69 6e 67 22 0a 63 6f   the "string".co
2dea0 6d 6d 61 6e 64 20 74 6f 20 63 6f 6e 76 65 72 74  mmand to convert
2deb0 20 73 74 72 69 6e 67 73 20 74 6f 20 63 61 70 69   strings to capi
2dec0 74 61 6c 69 7a 65 20 74 68 65 20 66 69 72 73 74  talize the first
2ded0 20 63 68 61 72 61 63 74 65 72 20 6f 66 20 61 20   character of a 
2dee0 73 74 72 69 6e 67 0a 61 6e 64 20 6c 6f 77 65 72  string.and lower
2def0 63 61 73 65 20 61 6c 6c 20 6f 66 20 74 68 65 20  case all of the 
2df00 6f 74 68 65 72 20 63 68 61 72 61 63 74 65 72 73  other characters
2df10 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f  . (stanton)..10/
2df20 31 35 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  15/98 (bug fix) 
2df30 43 68 61 6e 67 65 64 20 72 65 67 65 78 70 20 61  Changed regexp a
2df40 6e 64 20 73 74 72 69 6e 67 20 63 6f 6d 6d 61 6e  nd string comman
2df50 64 73 20 74 6f 20 70 72 6f 70 65 72 6c 79 0a 68  ds to properly.h
2df60 61 6e 64 6c 65 20 63 61 73 65 20 66 6f 6c 64 69  andle case foldi
2df70 6e 67 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20  ng according to 
2df80 74 68 65 20 55 6e 69 63 6f 64 65 20 63 68 61 72  the Unicode char
2df90 61 63 74 65 72 0a 74 61 62 6c 65 73 2e 20 28 73  acter.tables. (s
2dfa0 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 32 31 2f 39  tanton)..10/21/9
2dfb0 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  8 (new feature) 
2dfc0 41 64 64 65 64 20 61 6e 20 22 65 6e 63 6f 64 69  Added an "encodi
2dfd0 6e 67 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 66  ng" command to f
2dfe0 61 63 69 6c 69 74 61 74 65 0a 74 72 61 6e 73 6c  acilitate.transl
2dff0 61 74 69 6f 6e 73 20 6f 66 20 73 74 72 69 6e 67  ations of string
2e000 73 20 62 65 74 77 65 65 6e 20 64 69 66 66 65 72  s between differ
2e010 65 6e 74 20 63 68 61 72 61 63 74 65 72 20 65 6e  ent character en
2e020 63 6f 64 69 6e 67 73 2e 20 20 53 65 65 0a 74 68  codings.  See.th
2e030 65 20 65 6e 63 6f 64 69 6e 67 2e 6e 20 6d 61 6e  e encoding.n man
2e040 75 61 6c 20 65 6e 74 72 79 20 66 6f 72 20 6d 6f  ual entry for mo
2e050 72 65 20 64 65 74 61 69 6c 73 2e 20 28 73 74 61  re details. (sta
2e060 6e 74 6f 6e 29 0a 0a 31 31 2f 33 2f 39 38 20 28  nton)..11/3/98 (
2e070 62 75 67 20 66 69 78 29 20 54 68 65 20 72 65 67  bug fix) The reg
2e080 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20  ular expression 
2e090 63 68 61 72 61 63 74 65 72 20 63 6c 61 73 73 69  character classi
2e0a0 66 69 63 61 74 69 6f 6e 0a 73 79 6e 74 61 78 20  fication.syntax 
2e0b0 6e 6f 77 20 69 6e 63 6c 75 64 65 73 20 55 6e 69  now includes Uni
2e0c0 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 73 20  code characters 
2e0d0 69 6e 20 74 68 65 20 73 75 70 70 6f 72 74 65 64  in the supported
2e0e0 0a 63 6c 61 73 73 65 73 2e 20 28 73 74 61 6e 74  .classes. (stant
2e0f0 6f 6e 29 0a 0a 31 31 2f 36 2f 39 38 20 28 62 75  on)..11/6/98 (bu
2e100 67 20 66 69 78 29 20 56 61 72 69 61 62 6c 65 20  g fix) Variable 
2e110 74 72 61 63 65 73 20 77 65 72 65 20 63 61 75 73  traces were caus
2e120 69 6e 67 20 63 72 61 73 68 65 73 20 77 68 65 6e  ing crashes when
2e130 20 75 70 76 61 72 0a 76 61 72 69 61 62 6c 65 73   upvar.variables
2e140 20 77 65 6e 74 20 6f 75 74 20 6f 66 20 73 63 6f   went out of sco
2e150 70 65 2e 20 5b 42 75 67 3a 20 37 39 36 5d 20 28  pe. [Bug: 796] (
2e160 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 39 2f 39  stanton)..11/9/9
2e170 38 20 28 62 75 67 20 66 69 78 29 20 22 66 6f 72  8 (bug fix) "for
2e180 6d 61 74 22 20 6e 6f 77 20 63 6f 72 72 65 63 74  mat" now correct
2e190 6c 79 20 68 61 6e 64 6c 65 73 20 6d 75 6c 74 69  ly handles multi
2e1a0 62 79 74 65 20 63 68 61 72 61 63 74 65 72 73 0a  byte characters.
2e1b0 69 6e 20 25 73 20 66 6f 72 6d 61 74 20 73 74 72  in %s format str
2e1c0 69 6e 67 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  ings. (stanton).
2e1d0 0a 31 31 2f 31 30 2f 39 38 20 28 6e 65 77 20 66  .11/10/98 (new f
2e1e0 65 61 74 75 72 65 29 20 22 72 65 67 65 78 70 22  eature) "regexp"
2e1f0 20 6e 6f 77 20 61 63 63 65 70 74 73 20 74 68 72   now accepts thr
2e200 65 65 20 6e 65 77 20 73 77 69 74 63 68 65 73 0a  ee new switches.
2e210 28 22 2d 6c 69 6e 65 22 2c 20 22 2d 6c 69 6e 65  ("-line", "-line
2e220 61 6e 63 68 6f 72 22 2c 20 61 6e 64 20 22 2d 6c  anchor", and "-l
2e230 69 6e 65 73 74 6f 70 22 29 20 74 68 61 74 20 63  inestop") that c
2e240 6f 6e 74 72 6f 6c 20 68 6f 77 20 72 65 67 75 6c  ontrol how regul
2e250 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 73 20 74  ar.expressions t
2e260 72 65 61 74 20 6c 69 6e 65 20 62 72 65 61 6b 73  reat line breaks
2e270 2e 20 53 65 65 20 74 68 65 20 72 65 67 65 78 70  . See the regexp
2e280 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f   manual entry fo
2e290 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73 2e 20  r more.details. 
2e2a0 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 31 37  (stanton)..11/17
2e2b0 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 22 73  /98 (bug fix) "s
2e2c0 63 61 6e 22 20 6e 6f 77 20 63 6f 72 72 65 63 74  can" now correct
2e2d0 6c 79 20 68 61 6e 64 6c 65 73 20 55 6e 69 63 6f  ly handles Unico
2e2e0 64 65 0a 63 68 61 72 61 63 74 65 72 73 2e 20 28  de.characters. (
2e2f0 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 31 37 2f  stanton)..11/17/
2e300 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  98 (new feature)
2e310 20 22 73 63 61 6e 22 20 6e 6f 77 20 73 75 70 70   "scan" now supp
2e320 6f 72 74 73 20 58 50 47 33 20 70 6f 73 69 74 69  orts XPG3 positi
2e330 6f 6e 20 73 70 65 63 69 66 69 65 72 73 0a 61 6e  on specifiers.an
2e340 64 20 74 68 65 20 22 25 6e 22 20 63 6f 6e 76 65  d the "%n" conve
2e350 72 73 69 6f 6e 20 63 68 61 72 61 63 74 65 72 2e  rsion character.
2e360 20 20 53 65 65 20 74 68 65 20 22 73 63 61 6e 22    See the "scan"
2e370 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f   manual entry fo
2e380 72 0a 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 20  r.more details. 
2e390 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 31 37  (stanton)..11/17
2e3a0 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68  /98 (bug fix) Th
2e3b0 65 20 54 63 6c 20 6d 65 6d 6f 72 79 20 61 6c 6c  e Tcl memory all
2e3c0 6f 63 61 74 6f 72 20 6e 6f 77 20 72 65 74 75 72  ocator now retur
2e3d0 6e 73 20 38 2d 62 79 74 65 20 61 6c 69 67 6e 65  ns 8-byte aligne
2e3e0 64 0a 63 68 75 6e 6b 73 20 6f 66 20 6d 65 6d 6f  d.chunks of memo
2e3f0 72 79 20 77 68 69 63 68 20 69 6d 70 72 6f 76 65  ry which improve
2e400 73 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 6e  s performance on
2e410 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 61 76 6f   Windows and avo
2e420 69 64 73 0a 63 72 61 73 68 65 73 20 6f 6e 20 6f  ids.crashes on o
2e430 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73 2e 20  ther platforms. 
2e440 5b 42 75 67 3a 20 38 33 34 5d 20 28 73 74 61 6e  [Bug: 834] (stan
2e450 74 6f 6e 29 0a 0a 31 31 2f 32 33 2f 39 38 20 28  ton)..11/23/98 (
2e460 62 75 67 20 66 69 78 29 20 41 70 70 6c 69 65 64  bug fix) Applied
2e470 20 76 61 72 69 6f 75 73 20 72 65 67 75 6c 61 72   various regular
2e480 20 65 78 70 72 65 73 73 69 6f 6e 20 70 65 72 66   expression perf
2e490 6f 72 6d 61 6e 63 65 20 62 75 67 0a 66 69 78 65  ormance bug.fixe
2e4a0 73 20 73 75 70 70 6c 69 65 64 20 62 79 20 48 65  s supplied by He
2e4b0 6e 72 79 20 53 70 65 6e 63 65 72 2e 20 28 73 74  nry Spencer. (st
2e4c0 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 30 2f 39 38  anton)..11/30/98
2e4d0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
2e4e0 20 76 61 72 69 6f 75 73 20 74 68 72 65 61 64 20   various thread 
2e4f0 72 65 6c 61 74 65 64 20 72 61 63 65 20 63 6f 6e  related race con
2e500 64 69 74 69 6f 6e 73 2e 20 5b 42 75 67 3a 0a 38  ditions. [Bug:.8
2e510 38 30 20 26 20 36 30 37 5d 20 28 73 74 61 6e 74  80 & 607] (stant
2e520 6f 6e 29 0a 0a 31 31 2f 33 30 2f 39 38 20 28 62  on)..11/30/98 (b
2e530 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20  ug fix) Fixed a 
2e540 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d 6f 72 79  number of memory
2e550 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 6c 65   overflow and le
2e560 61 6b 0a 62 75 67 73 2e 20 5b 42 75 67 3a 20 35  ak.bugs. [Bug: 5
2e570 38 34 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31  84] (stanton)..1
2e580 32 2f 31 2f 39 38 20 28 6e 65 77 20 66 65 61 75  2/1/98 (new feau
2e590 72 65 29 20 41 64 64 65 64 20 73 75 70 70 6f 72  re) Added suppor
2e5a0 74 20 66 6f 72 20 4b 6f 72 65 61 6e 20 65 6e 63  t for Korean enc
2e5b0 6f 64 69 6e 67 73 2e 20 28 73 74 61 6e 74 6f 6e  odings. (stanton
2e5c0 29 0a 0a 31 32 2f 31 2f 39 38 20 28 66 65 61 74  )..12/1/98 (feat
2e5d0 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e  ure change) Chan
2e5e0 67 65 64 20 74 68 65 20 54 63 6c 5f 45 76 61 6c  ged the Tcl_Eval
2e5f0 4f 62 6a 76 20 69 6e 74 65 72 66 61 63 65 20 74  Objv interface t
2e600 6f 20 72 65 6d 6f 76 65 0a 74 68 65 20 73 74 72  o remove.the str
2e610 69 6e 67 20 61 6e 64 20 6c 65 6e 67 74 68 20 61  ing and length a
2e620 72 67 75 6d 65 6e 74 73 2e 0a 2a 2a 2a 20 50 4f  rguments..*** PO
2e630 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
2e640 49 42 49 4c 49 54 59 20 77 69 74 68 20 70 72 65  IBILITY with pre
2e650 76 69 6f 75 73 20 61 6c 70 68 61 20 72 65 6c 65  vious alpha rele
2e660 61 73 65 73 20 2a 2a 2a 0a 0a 31 32 2f 32 2f 39  ases ***..12/2/9
2e670 38 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  8 (bug fix) Fixe
2e680 64 20 76 61 72 69 6f 75 73 20 62 75 67 73 20 72  d various bugs r
2e690 65 6c 61 74 65 64 20 74 6f 20 6c 69 6e 65 20 66  elated to line f
2e6a0 65 65 64 0a 74 72 61 6e 73 6c 61 74 69 6f 6e 2e  eed.translation.
2e6b0 20 5b 42 75 67 3a 20 38 38 37 5d 20 28 73 74 61   [Bug: 887] (sta
2e6c0 6e 74 6f 6e 29 0a 0a 31 32 2f 34 2f 39 38 20 28  nton)..12/4/98 (
2e6d0 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
2e6e0 65 64 20 61 20 6d 65 73 73 61 67 65 20 63 61 74  ed a message cat
2e6f0 61 6c 6f 67 20 66 61 63 69 6c 69 74 79 20 74 6f  alog facility to
2e700 20 68 65 6c 70 20 77 69 74 68 0a 6c 6f 63 61 6c   help with.local
2e710 69 7a 69 6e 67 20 54 63 6c 20 73 63 72 69 70 74  izing Tcl script
2e720 73 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 4d 61  s.  Thanks to Ma
2e730 72 6b 20 48 61 72 72 69 73 6f 6e 20 66 6f 72 20  rk Harrison for 
2e740 63 6f 6e 74 72 69 62 75 74 69 6e 67 20 74 68 65  contributing the
2e750 0a 69 6e 69 74 69 61 6c 20 69 6d 70 6c 65 6d 65  .initial impleme
2e760 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 22  ntation of the "
2e770 6d 73 67 63 61 74 22 20 70 61 63 6b 61 67 65 2e  msgcat" package.
2e780 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 32 2f 37   (stanton)..12/7
2e790 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68  /98 (bug fix) Th
2e7a0 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74  e memory allocat
2e7b0 6f 72 20 77 61 73 20 66 61 69 6c 69 6e 67 20 74  or was failing t
2e7c0 6f 20 75 70 64 61 74 65 20 74 68 65 0a 62 6c 6f  o update the.blo
2e7d0 63 6b 20 6c 69 73 74 20 66 6f 72 20 6c 61 72 67  ck list for larg
2e7e0 65 20 6d 65 6d 6f 72 79 20 62 6c 6f 63 6b 73 20  e memory blocks 
2e7f0 74 68 61 74 20 77 65 72 65 20 72 65 61 6c 6c 6f  that were reallo
2e800 63 61 74 65 64 20 69 6e 74 6f 20 61 0a 64 69 66  cated into a.dif
2e810 66 65 72 65 6e 74 20 61 64 64 72 65 73 73 2e 20  ferent address. 
2e820 5b 42 75 67 3a 20 39 33 33 5d 20 28 73 74 61 6e  [Bug: 933] (stan
2e830 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ton)..----------
2e840 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
2e850 20 38 2e 31 62 31 2c 20 44 65 63 20 31 30 20 31   8.1b1, Dec 10 1
2e860 39 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  998 ------------
2e870 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 32 2f  -----------..12/
2e880 32 32 2f 39 38 20 28 70 65 72 66 6f 72 6d 61 6e  22/98 (performan
2e890 63 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20  ce improvement) 
2e8a0 49 6d 70 72 6f 76 65 64 20 74 68 65 20 2d 63 6f  Improved the -co
2e8b0 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20 6f 66 20  mmand option of 
2e8c0 74 68 65 0a 6c 73 6f 72 74 20 63 6f 6d 6d 61 6e  the.lsort comman
2e8d0 64 20 74 6f 20 62 65 74 74 65 72 20 75 73 65 20  d to better use 
2e8e0 74 68 65 20 6f 62 6a 65 63 74 20 73 79 73 74 65  the object syste
2e8f0 6d 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 0a 70  m for improved.p
2e900 65 72 66 6f 72 6d 61 6e 63 65 20 28 61 62 6f 75  erformance (abou
2e910 74 20 35 78 20 73 70 65 65 64 20 75 70 29 2e 20  t 5x speed up). 
2e920 20 54 68 61 6e 6b 73 20 74 6f 20 53 79 64 20 50   Thanks to Syd P
2e930 6f 6c 6b 20 66 6f 72 20 73 75 70 70 6c 69 6e 67  olk for suppling
2e940 20 74 68 65 0a 70 61 74 63 68 2e 20 5b 52 46 45   the.patch. [RFE
2e950 3a 20 37 32 36 5d 20 28 72 6a 6f 68 6e 73 6f 6e  : 726] (rjohnson
2e960 29 0a 0a 32 2f 31 30 2f 39 39 20 28 62 75 67 20  )..2/10/99 (bug 
2e970 66 69 78 29 20 52 65 73 74 6f 72 65 64 20 74 68  fix) Restored th
2e980 65 20 54 63 6c 5f 4f 62 6a 53 65 74 56 61 72 32  e Tcl_ObjSetVar2
2e990 2f 54 63 6c 5f 4f 62 6a 47 65 74 56 61 72 32 0a  /Tcl_ObjGetVar2.
2e9a0 69 6e 74 65 72 66 61 63 65 73 20 66 72 6f 6d 20  interfaces from 
2e9b0 38 2e 30 20 61 6e 64 20 72 65 6e 61 6d 65 64 20  8.0 and renamed 
2e9c0 74 68 65 20 54 63 6c 5f 47 65 74 4f 62 6a 56 61  the Tcl_GetObjVa
2e9d0 72 32 2f 54 63 6c 5f 53 65 74 4f 62 6a 56 61 72  r2/Tcl_SetObjVar
2e9e0 32 0a 69 6e 74 65 72 66 61 63 65 73 20 74 6f 20  2.interfaces to 
2e9f0 54 63 6c 5f 47 65 74 56 61 72 32 45 78 20 61 6e  Tcl_GetVar2Ex an
2ea00 64 20 54 63 6c 5f 53 65 74 56 61 72 32 45 78 2e  d Tcl_SetVar2Ex.
2ea10 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70 72    This should pr
2ea20 6f 76 69 64 65 0a 62 65 74 74 65 72 20 63 6f 6d  ovide.better com
2ea30 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20  patibility with 
2ea40 38 2e 30 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 2a  8.0. (stanton).*
2ea50 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
2ea60 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
2ea70 68 20 70 72 65 76 69 6f 75 73 20 61 6c 70 68 61  h previous alpha
2ea80 2f 62 65 74 61 20 72 65 6c 65 61 73 65 73 20 2a  /beta releases *
2ea90 2a 2a 0a 0a 32 2f 31 30 2f 39 39 20 28 62 75 67  **..2/10/99 (bug
2eaa0 20 66 69 78 29 20 4d 61 64 65 20 74 68 65 20 65   fix) Made the e
2eab0 76 61 6c 20 69 6e 74 65 72 66 61 63 65 73 20 63  val interfaces c
2eac0 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 38  ompatible with 8
2ead0 2e 30 20 62 79 0a 72 65 6e 61 6d 69 6e 67 20 54  .0 by.renaming T
2eae0 63 6c 5f 45 76 61 6c 4f 62 6a 20 74 6f 20 54 63  cl_EvalObj to Tc
2eaf0 6c 5f 45 76 61 6c 4f 62 6a 45 78 2c 20 72 65 6e  l_EvalObjEx, ren
2eb00 61 6d 69 6e 67 20 54 63 6c 5f 45 76 61 6c 32 20  aming Tcl_Eval2 
2eb10 74 6f 0a 54 63 6c 5f 45 76 61 6c 45 78 20 61 6e  to.Tcl_EvalEx an
2eb20 64 20 72 65 73 74 6f 72 69 6e 67 20 54 63 6c 5f  d restoring Tcl_
2eb30 45 76 61 6c 4f 62 6a 20 61 6e 64 20 54 63 6c 5f  EvalObj and Tcl_
2eb40 47 6c 6f 62 61 6c 45 76 61 6c 4f 62 6a 20 69 6e  GlobalEvalObj in
2eb50 74 65 72 66 61 63 65 73 0a 73 6f 20 74 68 65 79  terfaces.so they
2eb60 20 6d 61 74 63 68 20 54 63 6c 20 38 2e 30 2e 20   match Tcl 8.0. 
2eb70 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a 20 50 4f  (stanton).*** PO
2eb80 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
2eb90 49 42 49 4c 49 54 59 20 77 69 74 68 20 70 72 65  IBILITY with pre
2eba0 76 69 6f 75 73 20 61 6c 70 68 61 2f 62 65 74 61  vious alpha/beta
2ebb0 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 32   releases ***..2
2ebc0 2f 32 35 2f 39 39 20 28 62 75 67 20 66 69 78 2f  /25/99 (bug fix/
2ebd0 6e 65 77 20 66 65 61 74 75 72 65 29 20 4f 6e 20  new feature) On 
2ebe0 57 69 6e 64 6f 77 73 2c 20 74 68 65 20 63 68 61  Windows, the cha
2ebf0 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 66 6f 72  nnel drivers for
2ec00 0a 63 6f 6e 73 6f 6c 65 73 20 61 6e 64 20 73 65  .consoles and se
2ec10 72 69 61 6c 20 70 6f 72 74 73 20 6e 6f 77 20 63  rial ports now c
2ec20 6f 6d 70 6c 65 74 65 6c 79 20 73 75 70 70 6f 72  ompletely suppor
2ec30 74 20 66 69 6c 65 20 65 76 65 6e 74 73 2e 20 28  t file events. (
2ec40 72 65 64 6d 61 6e 29 0a 0a 33 2f 35 2f 39 39 20  redman)..3/5/99 
2ec50 28 62 75 67 20 66 69 78 29 20 49 6e 74 65 67 72  (bug fix) Integr
2ec60 61 74 65 64 20 70 61 74 63 68 65 73 20 74 6f 20  ated patches to 
2ec70 66 69 78 20 76 61 72 69 6f 75 73 20 63 6f 6e 66  fix various conf
2ec80 69 67 75 72 65 20 70 72 6f 62 6c 65 6d 73 0a 74  igure problems.t
2ec90 68 61 74 20 61 66 66 65 63 74 65 64 20 48 50 2d  hat affected HP-
2eca0 55 58 2d 31 31 2c 20 36 34 2d 62 69 74 20 49 52  UX-11, 64-bit IR
2ecb0 49 58 2c 20 4c 69 6e 75 78 2c 20 61 6e 64 20 53  IX, Linux, and S
2ecc0 6f 6c 61 72 69 73 2e 20 28 73 74 61 6e 74 6f 6e  olaris. (stanton
2ecd0 29 0a 0a 33 2f 39 2f 39 39 20 28 62 75 67 20 66  )..3/9/99 (bug f
2ece0 69 78 29 20 49 6e 74 65 67 72 61 74 65 64 20 76  ix) Integrated v
2ecf0 61 72 69 6f 75 73 20 41 49 58 20 72 65 6c 61 74  arious AIX relat
2ed00 65 64 20 70 61 74 63 68 65 73 20 74 6f 20 69 6d  ed patches to im
2ed10 70 72 6f 76 65 0a 73 75 70 70 6f 72 74 20 66 6f  prove.support fo
2ed20 72 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 69  r shared librari
2ed30 65 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 33  es. (stanton)..3
2ed40 2f 39 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75  /9/99 (new featu
2ed50 72 65 29 20 41 64 64 65 64 20 74 63 6c 5f 70 6c  re) Added tcl_pl
2ed60 61 74 66 6f 72 6d 28 75 73 65 72 29 20 74 6f 20  atform(user) to 
2ed70 70 72 6f 76 69 64 65 20 61 20 70 6f 72 74 61 62  provide a portab
2ed80 6c 65 0a 77 61 79 20 74 6f 20 67 65 74 20 74 68  le.way to get th
2ed90 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 63 75  e name of the cu
2eda0 72 72 65 6e 74 20 75 73 65 72 2e 20 28 77 65 6c  rrent user. (wel
2edb0 63 68 29 0a 0a 33 2f 39 2f 39 39 20 28 6e 65 77  ch)..3/9/99 (new
2edc0 20 66 65 61 74 75 72 65 29 20 49 6e 74 65 67 72   feature) Integr
2edd0 61 74 65 64 20 74 68 65 20 73 74 75 62 20 6c 69  ated the stub li
2ede0 62 72 61 72 79 20 6d 65 63 68 61 6e 69 73 6d 20  brary mechanism 
2edf0 63 6f 6e 74 72 69 62 75 74 65 64 0a 62 79 20 4a  contributed.by J
2ee00 61 6e 20 4e 69 6a 74 6d 61 6e 73 2c 20 50 61 75  an Nijtmans, Pau
2ee10 6c 20 44 75 66 66 69 6e 2c 20 61 6e 64 20 4a 65  l Duffin, and Je
2ee20 61 6e 2d 43 6c 61 75 64 65 20 57 69 70 70 6c 65  an-Claude Wipple
2ee30 72 2e 20 20 54 68 69 73 20 66 65 61 74 75 72 65  r.  This feature
2ee40 0a 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74 20  .should make it 
2ee50 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74  possible to writ
2ee60 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 74 68 61  e extensions tha
2ee70 74 20 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70  t support multip
2ee80 6c 65 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 54  le.versions of T
2ee90 63 6c 20 73 69 6d 75 6c 74 61 6e 65 6f 75 73 6c  cl simultaneousl
2eea0 79 2e 20 20 49 74 20 61 6c 73 6f 20 6d 61 6b 65  y.  It also make
2eeb0 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f  s it possible to
2eec0 0a 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 6f 61  .dynamically loa
2eed0 64 20 65 78 74 65 6e 73 69 6f 6e 73 20 69 6e 74  d extensions int
2eee0 6f 20 73 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e  o statically lin
2eef0 6b 65 64 20 69 6e 74 65 72 70 72 65 74 65 72 73  ked interpreters
2ef00 2e 20 20 54 68 69 73 0a 70 61 74 63 68 20 69 6e  .  This.patch in
2ef10 63 6c 75 64 65 73 20 74 68 65 20 66 6f 6c 6c 6f  cludes the follo
2ef20 77 69 6e 67 20 63 68 61 6e 67 65 73 3a 0a 20 20  wing changes:.  
2ef30 20 20 20 20 2d 09 41 64 64 65 64 20 61 20 54 63      -.Added a Tc
2ef40 6c 5f 49 6e 69 74 53 74 75 62 73 28 29 20 69 6e  l_InitStubs() in
2ef50 74 65 72 66 61 63 65 0a 20 20 20 20 20 20 2d 09  terface.      -.
2ef60 41 64 64 65 64 20 54 63 6c 5f 50 6b 67 50 72 6f  Added Tcl_PkgPro
2ef70 76 69 64 65 45 78 2c 20 54 63 6c 5f 50 6b 67 52  videEx, Tcl_PkgR
2ef80 65 71 75 69 72 65 45 78 2c 20 54 63 6c 5f 50 6b  equireEx, Tcl_Pk
2ef90 67 50 72 65 73 65 6e 74 45 78 2c 0a 20 20 20 20  gPresentEx,.    
2efa0 20 20 09 61 6e 64 20 54 63 6c 5f 50 6b 67 50 72    .and Tcl_PkgPr
2efb0 65 73 65 6e 74 2e 0a 20 20 20 20 20 20 2d 20 41  esent..      - A
2efc0 64 64 65 64 20 76 61 5f 6c 69 73 74 20 76 65 72  dded va_list ver
2efd0 73 69 6f 6e 73 20 6f 66 20 61 6c 6c 20 56 41 52  sions of all VAR
2efe0 41 52 47 53 20 66 75 6e 63 74 69 6f 6e 73 20 73  ARGS functions s
2eff0 6f 20 74 68 65 79 20 63 61 6e 20 62 65 0a 09 69  o they can be..i
2f000 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77 72 61 70  nvoked from wrap
2f010 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 53  per functions..S
2f020 65 65 20 74 68 65 20 6d 61 6e 75 61 6c 20 66 6f  ee the manual fo
2f030 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69  r more informati
2f040 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 0a  on. (stanton)...
2f050 33 2f 31 30 2f 39 39 20 28 66 65 61 74 75 72 65  3/10/99 (feature
2f060 20 63 68 61 6e 67 65 29 20 52 65 70 6c 61 63 65   change) Replace
2f070 64 20 54 63 6c 5f 41 6c 65 72 74 4e 6f 74 69 66  d Tcl_AlertNotif
2f080 69 65 72 20 77 69 74 68 0a 54 63 6c 5f 54 68 72  ier with.Tcl_Thr
2f090 65 61 64 41 6c 65 72 74 20 73 69 6e 63 65 20 74  eadAlert since t
2f0a0 68 65 20 54 63 6c 5f 41 6c 65 72 74 4e 6f 74 69  he Tcl_AlertNoti
2f0b0 66 69 65 72 20 66 75 6e 63 74 69 6f 6e 20 72 65  fier function re
2f0c0 6c 69 65 64 20 6f 6e 20 70 61 73 73 69 6e 67 0a  lied on passing.
2f0d0 69 6e 74 65 72 6e 61 6c 20 64 61 74 61 20 73 74  internal data st
2f0e0 72 75 63 74 75 72 65 73 2e 20 28 73 74 61 6e 74  ructures. (stant
2f0f0 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  on).*** POTENTIA
2f100 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
2f110 59 20 77 69 74 68 20 70 72 65 76 69 6f 75 73 20  Y with previous 
2f120 61 6c 70 68 61 2f 62 65 74 61 20 72 65 6c 65 61  alpha/beta relea
2f130 73 65 73 20 2a 2a 2a 0a 0a 33 2f 31 30 2f 39 39  ses ***..3/10/99
2f140 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
2f150 64 64 65 64 20 61 20 54 63 6c 5f 47 65 74 56 65  dded a Tcl_GetVe
2f160 72 73 69 6f 6e 20 41 50 49 20 74 6f 20 6d 61 6b  rsion API to mak
2f170 65 20 69 74 20 65 61 73 69 65 72 20 74 6f 0a 63  e it easier to.c
2f180 68 65 63 6b 20 74 68 65 20 54 63 6c 20 76 65 72  heck the Tcl ver
2f190 73 69 6f 6e 20 61 6e 64 20 70 61 74 63 68 20 6c  sion and patch l
2f1a0 65 76 65 6c 20 66 72 6f 6d 20 43 2e 20 28 72 65  evel from C. (re
2f1b0 64 6d 61 6e 29 0a 0a 33 2f 31 34 2f 39 39 20 28  dman)..3/14/99 (
2f1c0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
2f1d0 54 72 69 65 64 20 74 6f 20 75 6e 69 66 79 20 74  Tried to unify t
2f1e0 68 65 20 54 63 6c 70 49 6e 69 74 4c 69 62 72 61  he TclpInitLibra
2f1f0 72 79 20 70 61 74 68 0a 72 6f 75 74 69 6e 65 73  ry path.routines
2f200 20 74 6f 20 6c 6f 6f 6b 20 69 6e 20 73 69 6d 69   to look in simi
2f210 6c 61 72 20 70 6c 61 63 65 73 20 66 72 6f 6d 20  lar places from 
2f220 57 69 6e 64 6f 77 73 20 74 6f 20 55 4e 49 58 2e  Windows to UNIX.
2f230 20 20 54 68 65 20 6e 65 77 0a 6c 69 62 72 61 72    The new.librar
2f240 79 20 73 65 61 72 63 68 20 70 61 74 68 20 69 73  y search path is
2f250 3a 20 54 43 4c 5f 4c 49 42 52 41 52 59 2c 20 54  : TCL_LIBRARY, T
2f260 43 4c 5f 4c 49 42 52 41 52 59 2f 2e 2e 2f 74 63  CL_LIBRARY/../tc
2f270 6c 38 2e 31 2c 20 72 65 6c 61 74 69 76 65 0a 74  l8.1, relative.t
2f280 6f 20 44 4c 4c 20 28 57 69 6e 64 6f 77 73 20 4f  o DLL (Windows O
2f290 6e 6c 79 29 20 72 65 6c 61 74 69 76 65 20 74 6f  nly) relative to
2f2a0 20 69 6e 73 74 61 6c 6c 65 64 20 65 78 65 63 75   installed execu
2f2b0 74 61 62 6c 65 2c 20 72 65 6c 61 74 69 76 65 20  table, relative 
2f2c0 74 6f 0a 64 65 76 65 6c 6f 70 20 65 78 65 63 75  to.develop execu
2f2d0 74 61 62 6c 65 2c 20 61 6e 64 20 72 65 6c 61 74  table, and relat
2f2e0 69 76 65 20 74 6f 20 63 6f 6d 70 69 6c 65 64 2d  ive to compiled-
2f2f0 69 6e 20 69 6e 20 6c 6f 63 61 74 69 6f 6e 20 28  in in location (
2f300 55 4e 49 58 0a 4f 6e 6c 79 2e 29 20 20 54 68 69  UNIX.Only.)  Thi
2f310 73 20 66 69 78 20 69 6e 63 6c 75 64 65 64 3a 0a  s fix included:.
2f320 20 20 20 20 2d 20 44 65 66 69 6e 69 6e 67 20 61      - Defining a
2f330 20 54 63 6c 70 46 69 6e 64 45 78 65 63 75 74 61   TclpFindExecuta
2f340 62 6c 65 0a 20 20 20 20 2d 20 4d 6f 76 69 6e 67  ble.    - Moving
2f350 20 54 63 6c 5f 46 69 6e 64 45 78 65 63 75 74 61   Tcl_FindExecuta
2f360 62 6c 65 20 74 6f 20 61 20 63 6f 6d 6d 6f 6e 20  ble to a common 
2f370 61 72 65 61 20 69 6e 20 74 63 6c 45 6e 63 6f 64  area in tclEncod
2f380 69 6e 67 2e 63 0a 20 20 20 20 2d 20 4d 6f 64 69  ing.c.    - Modi
2f390 66 79 69 6e 67 20 74 68 65 20 54 63 6c 70 49 6e  fying the TclpIn
2f3a0 69 74 4c 69 62 72 61 72 79 50 61 74 68 20 72 6f  itLibraryPath ro
2f3b0 75 74 69 6e 65 73 2e 0a 28 73 75 72 6c 65 73 29  utines..(surles)
2f3c0 0a 0a 33 2f 31 34 2f 39 39 20 28 66 65 61 74 75  ..3/14/99 (featu
2f3d0 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64  re change) Added
2f3e0 20 68 6f 6f 6b 73 20 66 6f 72 20 54 63 6c 50 72   hooks for TclPr
2f3f0 6f 20 57 72 61 70 70 65 72 20 74 6f 20 69 6e 69  o Wrapper to ini
2f400 74 69 61 6c 69 7a 65 0a 74 68 65 20 6c 6f 63 61  tialize.the loca
2f410 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 6e 63 6f  tion of the enco
2f420 64 69 6e 67 20 66 69 6c 65 73 20 61 6e 64 20 6c  ding files and l
2f430 69 62 72 61 72 69 65 73 2e 20 20 54 68 69 73 20  ibraries.  This 
2f440 66 69 78 20 69 6e 63 6c 75 64 65 64 3a 0a 20 20  fix included:.  
2f450 20 20 2d 20 41 64 64 69 6e 67 20 74 68 65 20 54    - Adding the T
2f460 63 6c 53 65 74 50 65 72 49 6e 69 74 53 63 72 69  clSetPerInitScri
2f470 70 74 20 72 6f 75 74 69 6e 65 2e 0a 20 20 20 20  pt routine..    
2f480 2d 20 4d 6f 64 69 66 79 69 6e 67 20 74 68 65 20  - Modifying the 
2f490 54 63 6c 5f 49 6e 69 74 20 72 6f 75 74 69 6e 65  Tcl_Init routine
2f4a0 73 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68  s to evaluate th
2f4b0 65 20 6e 6f 6e 2d 4e 55 4c 4c 0a 20 20 20 20 20  e non-NULL.     
2f4c0 20 70 72 65 2d 69 6e 69 74 20 73 63 72 69 70 74   pre-init script
2f4d0 2e 0a 20 20 20 20 2d 20 41 64 64 69 6e 67 20 74  ..    - Adding t
2f4e0 68 65 20 54 63 6c 5f 53 65 74 64 65 66 61 75 6c  he Tcl_Setdefaul
2f4f0 74 45 6e 63 6f 64 69 6e 67 44 69 72 20 61 6e 64  tEncodingDir and
2f500 20 54 63 6c 5f 47 65 74 44 65 66 61 75 6c 74 45   Tcl_GetDefaultE
2f510 6e 63 6f 64 69 6e 67 44 69 72 0a 20 20 20 20 20  ncodingDir.     
2f520 20 72 6f 75 74 69 6e 65 73 2e 0a 20 20 20 20 2d   routines..    -
2f530 20 4d 6f 64 69 66 79 69 6e 67 20 74 68 65 20 54   Modifying the T
2f540 63 6c 70 49 6e 69 74 4c 69 62 72 61 72 79 20 72  clpInitLibrary r
2f550 6f 75 74 69 6e 65 73 20 74 6f 20 61 70 70 65 6e  outines to appen
2f560 64 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20 20  d the default.  
2f570 20 20 20 20 65 6e 63 6f 64 69 6e 67 20 64 69 72      encoding dir
2f580 2e 0a 28 73 75 72 6c 65 73 29 0a 0a 33 2f 31 34  ..(surles)..3/14
2f590 2f 39 39 20 28 66 65 61 74 75 72 65 20 63 68 61  /99 (feature cha
2f5a0 6e 67 65 29 20 54 65 73 74 20 73 75 69 74 65 20  nge) Test suite 
2f5b0 6e 6f 77 20 75 73 65 73 20 22 74 65 73 74 22 20  now uses "test" 
2f5c0 6e 61 6d 65 73 70 61 63 65 20 74 6f 0a 64 65 66  namespace to.def
2f5d0 69 6e 65 20 74 68 65 20 74 65 73 74 20 70 72 6f  ine the test pro
2f5e0 63 65 64 75 72 65 20 61 6e 64 20 6f 74 68 65 72  cedure and other
2f5f0 20 61 75 78 69 6c 69 61 72 79 20 70 72 6f 63 65   auxiliary proce
2f600 64 75 72 65 73 20 61 73 20 77 65 6c 6c 20 61 73  dures as well as
2f610 0a 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65  .global variable
2f620 73 2e 0a 20 20 20 20 2d 20 47 6c 6f 62 61 6c 20  s..    - Global 
2f630 61 72 72 61 79 20 74 65 73 74 43 6f 6e 66 69 67  array testConfig
2f640 65 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65 64 20  e is now called 
2f650 3a 3a 74 65 73 74 3a 3a 74 65 73 74 43 6f 6e 66  ::test::testConf
2f660 69 67 2e 0a 20 20 20 20 2d 20 47 6c 6f 62 61 6c  ig..    - Global
2f670 20 76 61 72 69 61 62 6c 65 20 56 45 52 42 4f 53   variable VERBOS
2f680 45 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65 64 20  E is now called 
2f690 3a 3a 74 65 73 74 3a 3a 76 65 72 62 6f 73 65 2c  ::test::verbose,
2f6a0 20 61 6e 64 0a 20 20 20 20 20 20 3a 3a 74 65 73   and.      ::tes
2f6b0 74 3a 3a 76 65 72 62 6f 73 65 20 6e 6f 20 6c 6f  t::verbose no lo
2f6c0 6e 67 65 72 20 77 6f 72 6b 73 20 77 69 74 68 20  nger works with 
2f6d0 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 65 73  numerical values
2f6e0 2e 20 20 57 65 27 76 65 0a 20 20 20 20 20 20 73  .  We've.      s
2f6f0 77 69 74 63 68 65 64 20 74 6f 20 61 20 62 69 74  witched to a bit
2f700 77 69 73 65 20 63 68 61 72 61 63 74 65 72 20 73  wise character s
2f710 74 72 69 6e 67 2e 20 20 59 6f 75 20 63 61 6e 20  tring.  You can 
2f720 73 65 74 0a 20 20 20 20 20 20 3a 3a 74 65 73 74  set.      ::test
2f730 3a 3a 76 65 72 62 6f 73 65 20 62 79 20 75 73 69  ::verbose by usi
2f740 6e 67 20 74 68 65 20 2d 76 65 72 62 6f 73 65 20  ng the -verbose 
2f750 6f 70 74 69 6f 6e 20 6f 6e 20 74 68 65 20 54 63  option on the Tc
2f760 6c 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20  l command.      
2f770 6c 69 6e 65 2e 0a 20 20 20 20 2d 20 47 6c 6f 62  line..    - Glob
2f780 61 6c 20 76 61 72 69 61 62 6c 65 20 54 45 53 54  al variable TEST
2f790 53 20 69 73 20 6e 6f 77 20 63 61 6c 6c 65 64 20  S is now called 
2f7a0 3a 3a 74 65 73 74 3a 3a 6d 61 74 63 68 69 6e 67  ::test::matching
2f7b0 54 65 73 74 73 2c 20 61 6e 64 0a 20 20 20 20 20  Tests, and.     
2f7c0 20 63 61 6e 20 62 65 20 73 65 74 20 6f 6e 20 74   can be set on t
2f7d0 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 6c  he Tcl command l
2f7e0 69 6e 65 20 76 69 61 20 74 68 65 20 2d 6d 61 74  ine via the -mat
2f7f0 63 68 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 2d  ch option..    -
2f800 20 54 68 65 72 65 20 69 73 20 6e 6f 77 20 61 20   There is now a 
2f810 3a 3a 74 65 73 74 3a 3a 73 6b 69 70 54 65 73 74  ::test::skipTest
2f820 73 20 76 61 72 69 61 62 6c 65 20 28 77 6f 72 6b  s variable (work
2f830 73 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 0a 20  s similarly to. 
2f840 20 20 20 20 20 3a 3a 74 65 73 74 3a 3a 6d 61 74       ::test::mat
2f850 63 68 54 65 73 74 73 29 20 74 68 61 74 20 63 61  chTests) that ca
2f860 6e 20 62 65 20 73 65 74 20 6f 6e 20 74 68 65 20  n be set on the 
2f870 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65  Tcl command line
2f880 20 76 69 61 0a 20 20 20 20 20 20 74 68 65 20 2d   via.      the -
2f890 6d 61 74 63 68 20 6f 70 74 69 6f 6e 2e 0a 20 20  match option..  
2f8a0 20 20 2d 20 54 68 65 20 74 65 73 74 20 73 75 69    - The test sui
2f8b0 74 65 20 63 61 6e 20 6e 6f 77 20 62 65 20 72 75  te can now be ru
2f8c0 6e 20 69 6e 20 61 6e 79 20 77 6f 72 6b 69 6e 67  n in any working
2f8d0 20 64 69 72 65 63 74 6f 72 79 2e 20 20 57 68 65   directory.  Whe
2f8e0 6e 0a 20 20 20 20 20 20 79 6f 75 20 72 75 6e 20  n.      you run 
2f8f0 22 6d 61 6b 65 20 74 65 73 74 22 2c 20 74 68 65  "make test", the
2f900 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f   working directo
2f910 72 79 20 69 73 20 6e 6f 6c 6f 6e 67 65 72 20 73  ry is nolonger s
2f920 77 69 74 63 68 65 64 0a 20 20 20 20 20 20 74 6f  witched.      to
2f930 20 2e 2e 2f 74 65 73 74 73 2e 0a 28 68 69 72 73   ../tests..(hirs
2f940 63 68 6c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  chl).*** POTENTI
2f950 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
2f960 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  TY ***..--------
2f970 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
2f980 20 38 2e 31 62 32 2c 20 4d 61 72 63 68 20 31 36   8.1b2, March 16
2f990 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  , 1999 ---------
2f9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 33  -------------..3
2f9b0 2f 31 38 2f 39 39 20 28 62 75 67 20 66 69 78 29  /18/99 (bug fix)
2f9c0 20 46 69 78 65 64 20 6d 69 73 73 69 6e 67 2f 69   Fixed missing/i
2f9d0 6e 63 6f 72 72 65 63 74 20 63 68 61 72 61 63 74  ncorrect charact
2f9e0 65 72 73 20 69 6e 20 73 68 69 66 74 2d 6a 69 73  ers in shift-jis
2f9f0 20 74 61 62 6c 65 0a 28 73 74 61 6e 74 6f 6e 29   table.(stanton)
2fa00 0a 0a 33 2f 31 38 2f 39 39 20 28 66 65 61 74 75  ..3/18/99 (featu
2fa10 72 65 20 63 68 61 6e 67 65 29 20 54 68 65 20 67  re change) The g
2fa20 6c 6f 62 20 63 6f 6d 6d 61 6e 64 20 69 67 6e 6f  lob command igno
2fa30 72 65 73 20 74 68 65 0a 46 53 5f 43 41 53 45 5f  res the.FS_CASE_
2fa40 49 53 5f 50 52 45 53 45 52 56 45 44 20 62 69 74  IS_PRESERVED bit
2fa50 20 6f 6e 20 66 69 6c 65 20 73 79 73 74 65 73 6d   on file systesm
2fa60 20 61 6e 64 20 61 6c 77 61 79 73 20 72 65 74 75   and always retu
2fa70 72 6e 73 0a 65 78 61 63 74 6c 79 20 77 68 61 74  rns.exactly what
2fa80 20 69 74 20 67 65 74 73 20 66 72 6f 6d 20 74 68   it gets from th
2fa90 65 20 73 79 73 74 65 6d 2e 20 28 73 74 61 6e 74  e system. (stant
2faa0 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  on).*** POTENTIA
2fab0 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
2fac0 59 20 2a 2a 2a 0a 0a 33 2f 31 39 2f 39 39 20 28  Y ***..3/19/99 (
2fad0 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
2fae0 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 2d  ed support for -
2faf0 2d 65 6e 61 62 6c 65 2d 36 34 62 69 74 2e 20 20  -enable-64bit.  
2fb00 46 6f 72 20 6e 6f 77 2c 0a 74 68 69 73 20 69 73  For now,.this is
2fb10 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74 65 64 20   only supported 
2fb20 6f 6e 20 53 6f 6c 61 72 69 73 20 37 20 36 34 62  on Solaris 7 64b
2fb30 69 74 20 28 53 75 6e 4f 53 20 35 2e 37 29 20 75  it (SunOS 5.7) u
2fb40 73 69 6e 67 20 74 68 65 20 53 75 6e 0a 63 6f 6d  sing the Sun.com
2fb50 70 69 6c 65 72 2e 20 28 72 65 64 6d 61 6e 29 0a  piler. (redman).
2fb60 0a 33 2f 32 33 2f 39 39 20 28 62 75 67 20 66 69  .3/23/99 (bug fi
2fb70 78 29 20 46 69 78 65 64 20 66 69 6c 65 65 76 65  x) Fixed fileeve
2fb80 6e 74 73 20 61 6e 64 20 67 65 74 73 20 6f 6e 20  nts and gets on 
2fb90 57 69 6e 64 6f 77 73 20 63 6f 6e 73 6f 6c 65 73  Windows consoles
2fba0 20 61 6e 64 0a 73 65 72 69 61 6c 20 64 65 76 69   and.serial devi
2fbb0 63 65 73 20 73 6f 20 74 68 61 74 20 6e 6f 6e 2d  ces so that non-
2fbc0 62 6c 6f 63 6b 69 6e 67 20 63 68 61 6e 6e 65 6c  blocking channel
2fbd0 73 20 64 6f 20 6e 6f 74 20 62 6c 6f 63 6b 20 6f  s do not block o
2fbe0 6e 20 70 61 72 74 69 61 6c 0a 69 6e 70 75 74 20  n partial.input 
2fbf0 6c 69 6e 65 73 2e 20 20 28 72 65 64 6d 61 6e 29  lines.  (redman)
2fc00 0a 0a 33 2f 32 33 2f 39 39 20 28 62 75 67 20 66  ..3/23/99 (bug f
2fc10 69 78 29 20 41 64 64 65 64 20 61 20 6e 65 77 20  ix) Added a new 
2fc20 54 63 6c 5f 53 65 72 76 69 63 65 4d 6f 64 65 48  Tcl_ServiceModeH
2fc30 6f 6f 6b 20 69 6e 74 65 72 66 61 63 65 2e 0a 54  ook interface..T
2fc40 68 69 73 20 69 73 20 75 73 65 64 20 6f 6e 20 57  his is used on W
2fc50 69 6e 64 6f 77 73 20 74 6f 20 61 76 6f 69 64 20  indows to avoid 
2fc60 74 68 65 20 76 61 72 69 6f 75 73 20 70 72 6f 62  the various prob
2fc70 6c 65 6d 73 20 74 68 61 74 20 70 65 6f 70 6c 65  lems that people
2fc80 0a 68 61 76 65 20 62 65 65 6e 20 73 65 65 69 6e  .have been seein
2fc90 67 20 77 68 65 72 65 20 74 68 65 20 73 79 73 74  g where the syst
2fca0 65 6d 20 68 61 6e 67 73 20 77 68 65 6e 20 74 63  em hangs when tc
2fcb0 6c 73 68 20 69 73 20 72 75 6e 6e 69 6e 67 0a 6f  lsh is running.o
2fcc0 75 74 73 69 64 65 20 6f 66 20 74 68 65 20 65 76  utside of the ev
2fcd0 65 6e 74 20 6c 6f 6f 70 2e 20 41 73 20 70 61 72  ent loop. As par
2fce0 74 20 6f 66 20 74 68 69 73 2c 20 72 65 6e 61 6d  t of this, renam
2fcf0 65 64 0a 54 63 6c 70 41 6c 65 72 74 4e 6f 74 69  ed.TclpAlertNoti
2fd00 66 69 65 72 20 62 61 63 6b 20 74 6f 20 54 63 6c  fier back to Tcl
2fd10 5f 41 6c 65 72 74 4e 6f 74 69 66 69 65 72 20 73  _AlertNotifier s
2fd20 69 6e 63 65 20 69 74 20 69 73 20 70 75 62 6c 69  ince it is publi
2fd30 63 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a 0a 33 2f  c..(stanton)..3/
2fd40 32 33 2f 39 39 20 28 66 65 61 74 75 72 65 20 63  23/99 (feature c
2fd50 68 61 6e 67 65 29 20 54 65 73 74 20 73 75 69 74  hange) Test suit
2fd60 65 20 6e 6f 77 20 75 73 65 73 20 22 74 63 6c 74  e now uses "tclt
2fd70 65 73 74 22 20 6e 61 6d 65 73 70 61 63 65 20 74  est" namespace t
2fd80 6f 0a 64 65 66 69 6e 65 20 74 68 65 20 74 65 73  o.define the tes
2fd90 74 20 70 72 6f 63 65 64 75 72 65 20 61 6e 64 20  t procedure and 
2fda0 6f 74 68 65 72 20 61 75 78 69 6c 69 61 72 79 20  other auxiliary 
2fdb0 70 72 6f 63 65 64 75 72 65 73 20 61 73 20 77 65  procedures as we
2fdc0 6c 6c 20 61 73 0a 67 6c 6f 62 61 6c 20 76 61 72  ll as.global var
2fdd0 69 61 62 6c 65 73 2e 20 20 54 68 65 20 70 72 65  iables.  The pre
2fde0 76 69 6f 75 73 6c 79 20 63 68 6f 73 65 6e 20 22  viously chosen "
2fdf0 74 65 73 74 22 20 6e 61 6d 65 73 70 61 63 65 20  test" namespace 
2fe00 77 61 73 20 74 68 6f 75 67 68 74 0a 74 6f 20 62  was thought.to b
2fe10 65 20 74 6f 6f 20 67 65 6e 65 72 69 63 20 61 6e  e too generic an
2fe20 64 20 6c 69 6b 65 6c 79 20 74 6f 20 63 72 65 61  d likely to crea
2fe30 74 65 20 63 6f 6e 66 6c 69 74 73 2e 0a 28 68 69  te conflits..(hi
2fe40 72 73 63 68 6c 29 0a 2a 2a 2a 20 50 4f 54 45 4e  rschl).*** POTEN
2fe50 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
2fe60 4c 49 54 59 20 2a 2a 2a 0a 0a 33 2f 32 34 2f 39  LITY ***..3/24/9
2fe70 39 20 28 62 75 67 20 66 69 78 29 20 4d 61 6b 65  9 (bug fix) Make
2fe80 20 73 6f 63 6b 65 74 73 20 74 68 72 65 61 64 20   sockets thread 
2fe90 73 61 66 65 20 6f 6e 20 57 69 6e 64 6f 77 73 2e  safe on Windows.
2fea0 0a 28 72 65 64 6d 61 6e 29 0a 0a 33 2f 32 34 2f  .(redman)..3/24/
2feb0 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78  99 (bug fix) Fix
2fec0 20 63 61 73 65 73 20 77 68 65 72 65 20 65 78 70   cases where exp
2fed0 72 20 77 6f 75 6c 64 20 69 6e 63 6f 72 72 65 63  r would incorrec
2fee0 74 20 72 65 74 75 72 6e 0a 61 20 66 6c 6f 61 74  t return.a float
2fef0 69 6e 67 20 70 6f 69 6e 74 20 76 61 6c 75 65 20  ing point value 
2ff00 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 69 6e  instead of an in
2ff10 74 65 67 65 72 2e 20 28 73 74 61 6e 74 6f 6e 29  teger. (stanton)
2ff20 0a 0a 33 2f 32 35 2f 39 39 20 28 62 75 67 20 66  ..3/25/99 (bug f
2ff30 69 78 29 20 41 64 64 65 64 20 41 53 43 49 49 20  ix) Added ASCII 
2ff40 74 6f 20 62 69 67 35 20 61 6e 64 20 67 62 32 33  to big5 and gb23
2ff50 31 32 20 65 6e 63 6f 64 69 6e 67 73 2e 0a 28 73  12 encodings..(s
2ff60 74 61 6e 74 6f 6e 29 0a 0a 33 2f 32 35 2f 39 39  tanton)..3/25/99
2ff70 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
2ff80 29 20 43 68 61 6e 67 65 64 20 73 6f 20 61 6c 69  ) Changed so ali
2ff90 61 73 65 73 20 61 72 65 20 69 6e 76 6f 6b 65 64  ases are invoked
2ffa0 20 61 74 20 63 75 72 72 65 6e 74 0a 73 63 6f 70   at current.scop
2ffb0 65 20 69 6e 20 74 68 65 20 74 61 72 67 65 74 20  e in the target 
2ffc0 69 6e 74 65 72 70 72 65 74 65 72 20 69 6e 73 74  interpreter inst
2ffd0 65 61 64 20 6f 66 20 61 74 20 74 68 65 20 67 6c  ead of at the gl
2ffe0 6f 62 61 6c 20 73 63 6f 70 65 2e 20 20 54 68 69  obal scope.  Thi
2fff0 73 0a 77 61 73 20 61 6e 20 69 6e 63 6f 6d 70 61  s.was an incompa
30000 74 69 62 69 6c 69 74 79 20 69 6e 74 72 6f 64 75  tibility introdu
30010 63 65 64 20 69 6e 20 38 2e 31 20 74 68 61 74 20  ced in 8.1 that 
30020 69 73 20 62 65 69 6e 67 20 72 65 6d 6f 76 65 64  is being removed
30030 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a 20  ..(stanton).*** 
30040 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
30050 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 70  ATIBILITY with p
30060 72 65 76 69 6f 75 73 20 62 65 74 61 20 72 65 6c  revious beta rel
30070 65 61 73 65 73 20 2a 2a 2a 0a 0a 33 2f 32 36 2f  eases ***..3/26/
30080 39 39 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  99 (feature chan
30090 67 65 29 20 2d 2d 65 6e 61 62 6c 65 2d 73 68 61  ge) --enable-sha
300a0 72 65 64 20 69 73 20 6e 6f 77 20 74 68 65 20 64  red is now the d
300b0 65 66 61 75 6c 74 20 61 6e 64 20 62 75 69 6c 64  efault and build
300c0 0a 54 63 6c 20 61 73 20 61 20 73 68 61 72 65 64  .Tcl as a shared
300d0 20 6c 69 62 72 61 72 79 3b 20 73 70 65 63 69 66   library; specif
300e0 79 20 2d 2d 64 69 73 61 62 6c 65 2d 73 68 61 72  y --disable-shar
300f0 65 64 20 74 6f 20 62 75 69 6c 64 20 61 20 73 74  ed to build a st
30100 61 74 69 63 20 54 63 6c 0a 6c 69 62 72 61 72 79  atic Tcl.library
30110 20 61 6e 64 20 73 68 65 6c 6c 2e 0a 2a 2a 2a 20   and shell..*** 
30120 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
30130 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 33  ATIBILITY ***..3
30140 2f 32 39 2f 39 39 20 28 62 75 67 20 66 69 78 29  /29/99 (bug fix)
30150 20 20 52 65 6d 6f 76 65 64 20 74 68 65 20 73 74    Removed the st
30160 75 62 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64  ub functions and
30170 20 63 68 61 6e 67 65 64 20 74 68 65 20 73 74 75   changed the stu
30180 62 0a 6d 61 63 72 6f 73 20 74 6f 20 6a 75 73 74  b.macros to just
30190 20 75 73 65 20 74 68 65 20 6e 61 6d 65 20 77 69   use the name wi
301a0 74 68 6f 75 74 20 70 61 72 61 6d 73 2e 20 50 61  thout params. Pa
301b0 73 73 20 26 74 63 6c 53 74 75 62 73 20 69 6e 74  ss &tclStubs int
301c0 6f 20 74 68 65 0a 69 6e 74 65 72 70 20 28 64 6f  o the.interp (do
301d0 6e 27 74 20 75 73 65 20 74 63 6c 53 74 75 62 73  n't use tclStubs
301e0 50 74 72 20 62 65 63 61 75 73 65 20 6f 66 20 63  Ptr because of c
301f0 6f 6c 6c 69 73 69 6f 6e 73 20 77 69 74 68 20 74  ollisions with t
30200 68 65 20 73 74 75 62 73 20 6f 6e 0a 53 6f 6c 61  he stubs on.Sola
30210 72 69 73 29 2e 20 28 72 65 64 6d 61 6e 29 0a 0a  ris). (redman)..
30220 33 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78  3/30/99 (bug fix
30230 29 20 4c 6f 61 64 61 62 6c 65 20 6d 6f 64 75 6c  ) Loadable modul
30240 65 73 20 61 72 65 20 6e 6f 77 20 75 6e 6c 6f 61  es are now unloa
30250 64 65 64 20 61 74 20 74 68 65 20 6c 61 73 74 0a  ded at the last.
30260 70 6f 73 73 69 62 6c 65 20 6d 6f 6d 65 6e 74 20  possible moment 
30270 64 75 72 69 6e 67 20 54 63 6c 5f 46 69 6e 61 6c  during Tcl_Final
30280 69 7a 65 20 74 6f 20 66 69 78 20 76 61 72 69 6f  ize to fix vario
30290 75 73 20 65 78 69 74 2d 74 69 6d 65 20 63 72 61  us exit-time cra
302a0 73 68 65 73 2e 0a 28 77 65 6c 63 68 29 0a 0a 33  shes..(welch)..3
302b0 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29  /30/99 (bug fix)
302c0 20 54 63 6c 20 6e 6f 20 6c 6f 6e 67 65 72 20 63   Tcl no longer c
302d0 61 6c 6c 73 20 73 65 74 6c 6f 63 61 6c 65 28 29  alls setlocale()
302e0 2e 20 20 49 74 20 6c 6f 6f 6b 73 20 61 74 0a 65  .  It looks at.e
302f0 6e 76 28 4c 41 4e 47 29 20 61 6e 64 20 65 6e 76  nv(LANG) and env
30300 28 4c 43 5f 54 59 50 45 29 20 69 6e 73 74 65 61  (LC_TYPE) instea
30310 64 2e 20 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 34  d.  (stanton)..4
30320 2f 31 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  /1/99 (bug fix) 
30330 46 69 78 65 64 20 74 68 65 20 55 6c 74 72 69 78  Fixed the Ultrix
30340 20 6d 75 6c 74 69 70 6c 65 20 73 79 6d 62 6f 6c   multiple symbol
30350 20 64 65 66 69 6e 69 74 69 6f 6e 20 70 72 6f 62   definition prob
30360 6c 65 6d 2e 0a 4e 6f 77 2c 20 65 76 65 6e 20 54  lem..Now, even T
30370 63 6c 20 69 6e 63 6c 75 64 65 73 20 61 20 63 6f  cl includes a co
30380 70 79 20 6f 66 20 74 68 65 20 54 63 6c 20 73 74  py of the Tcl st
30390 75 62 20 6c 69 62 72 61 72 79 2e 20 28 72 65 64  ub library. (red
303a0 6d 61 6e 29 0a 0a 34 2f 31 2f 39 39 20 28 62 75  man)..4/1/99 (bu
303b0 67 20 66 69 78 29 20 49 6e 74 65 72 6e 61 74 69  g fix) Internati
303c0 6f 6e 61 6c 69 7a 65 64 20 74 68 65 20 72 65 67  onalized the reg
303d0 69 73 74 72 79 20 70 61 63 6b 61 67 65 2e 0a 0a  istry package...
303e0 34 2f 31 2f 39 39 20 28 62 75 67 20 66 69 78 29  4/1/99 (bug fix)
303f0 20 43 68 61 6e 67 65 64 20 74 68 65 20 69 6d 70   Changed the imp
30400 6c 65 6d 65 6e 61 74 69 6f 6e 20 6f 66 20 54 63  lemenation of Tc
30410 6c 5f 43 6f 6e 64 69 74 69 6f 6e 57 61 69 74 20  l_ConditionWait 
30420 61 6e 64 0a 54 63 6c 5f 43 6f 6e 64 69 74 69 6f  and.Tcl_Conditio
30430 6e 4e 6f 74 69 66 79 20 6f 6e 20 57 69 6e 64 6f  nNotify on Windo
30440 77 73 2e 20 20 54 68 65 20 6e 65 77 20 61 6c 67  ws.  The new alg
30450 6f 72 69 74 68 6d 20 65 6c 69 6d 69 6e 61 74 65  orithm eliminate
30460 73 20 61 20 72 61 63 65 0a 63 6f 6e 64 69 74 69  s a race.conditi
30470 6f 6e 20 61 6e 64 20 77 61 73 20 73 75 67 67 65  on and was sugge
30480 73 74 65 64 20 62 79 20 4a 69 6d 20 44 61 76 69  sted by Jim Davi
30490 64 73 6f 6e 2e 20 28 77 65 6c 63 68 29 0a 0a 34  dson. (welch)..4
304a0 2f 32 2f 39 39 20 28 6e 65 77 20 61 70 69 73 29  /2/99 (new apis)
304b0 20 20 4d 61 64 65 20 76 61 72 69 6f 75 73 20 55    Made various U
304c0 6e 69 63 6f 64 65 20 75 74 69 6c 69 74 79 20 66  nicode utility f
304d0 75 6e 63 74 69 6f 6e 73 20 70 75 62 6c 69 63 2e  unctions public.
304e0 0a 54 63 6c 5f 55 74 66 54 6f 55 6e 69 43 68 61  .Tcl_UtfToUniCha
304f0 72 44 53 74 72 69 6e 67 2c 20 54 63 6c 5f 55 6e  rDString, Tcl_Un
30500 69 43 68 61 72 54 6f 55 74 66 44 53 74 72 69 6e  iCharToUtfDStrin
30510 67 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72 4c 65  g, Tcl_UniCharLe
30520 6e 2c 0a 54 63 6c 5f 55 6e 69 43 68 61 72 4e 63  n,.Tcl_UniCharNc
30530 6d 70 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72 49  mp, Tcl_UniCharI
30540 73 41 6c 6e 75 6d 2c 20 54 63 6c 5f 55 6e 69 43  sAlnum, Tcl_UniC
30550 68 61 72 49 73 41 6c 70 68 61 2c 0a 54 63 6c 5f  harIsAlpha,.Tcl_
30560 55 6e 69 43 68 61 72 49 73 44 69 67 69 74 2c 20  UniCharIsDigit, 
30570 54 63 6c 5f 55 6e 69 43 68 61 72 49 73 4c 6f 77  Tcl_UniCharIsLow
30580 65 72 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72 49  er, Tcl_UniCharI
30590 73 53 70 61 63 65 2c 0a 54 63 6c 5f 55 6e 69 43  sSpace,.Tcl_UniC
305a0 68 61 72 49 73 55 70 70 65 72 2c 20 54 63 6c 5f  harIsUpper, Tcl_
305b0 55 6e 69 43 68 61 72 49 73 57 6f 72 64 43 68 61  UniCharIsWordCha
305c0 72 2c 20 54 63 6c 5f 57 69 6e 55 74 66 54 6f 54  r, Tcl_WinUtfToT
305d0 43 68 61 72 2c 0a 54 63 6c 5f 57 69 6e 54 43 68  Char,.Tcl_WinTCh
305e0 61 72 54 6f 55 74 66 20 28 73 74 61 6e 74 6f 6e  arToUtf (stanton
305f0 29 0a 0a 34 2f 32 2f 39 39 20 28 66 65 61 74 75  )..4/2/99 (featu
30600 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 20 6e  re change) Add n
30610 65 77 20 44 44 45 20 70 61 63 6b 61 67 65 20 61  ew DDE package a
30620 6e 64 20 72 65 6d 6f 76 65 64 20 74 68 65 20 54  nd removed the T
30630 6b 0a 73 65 6e 64 20 63 6f 6d 6d 61 6e 64 20 66  k.send command f
30640 72 6f 6d 20 74 68 65 20 57 69 6e 64 6f 77 73 20  rom the Windows 
30650 76 65 72 73 69 6f 6e 2e 20 20 43 68 61 6e 67 65  version.  Change
30660 64 20 44 44 45 2d 62 61 73 65 64 20 73 65 6e 64  d DDE-based send
30670 0a 63 6f 64 65 20 69 6e 74 6f 20 22 64 64 65 20  .code into "dde 
30680 65 76 61 6c 22 20 63 6f 6d 6d 61 6e 64 2e 20 20  eval" command.  
30690 54 68 65 20 44 44 45 20 70 61 63 6b 61 67 65 20  The DDE package 
306a0 63 61 6e 20 62 65 20 6c 6f 61 64 65 64 0a 69 6e  can be loaded.in
306b0 74 6f 20 74 63 6c 73 68 2c 20 6e 6f 74 20 6a 75  to tclsh, not ju
306c0 73 74 20 77 69 73 68 2e 20 20 57 69 6e 64 6f 77  st wish.  Window
306d0 73 20 6f 6e 6c 79 2e 20 28 72 65 64 6d 61 6e 29  s only. (redman)
306e0 0a 0a 34 2f 35 2f 39 39 20 28 62 75 67 20 66 69  ..4/5/99 (bug fi
306f0 78 29 20 43 68 61 6e 67 65 64 20 73 61 66 65 2d  x) Changed safe-
30700 74 63 6c 20 73 6f 20 74 68 61 74 20 74 68 65 20  tcl so that the 
30710 65 6e 63 6f 64 69 6e 67 20 63 6f 6d 6d 61 6e 64  encoding command
30720 0a 69 73 20 61 6e 20 61 6c 69 61 73 20 74 68 61  .is an alias tha
30730 74 20 6d 61 73 6b 73 20 6f 75 74 20 74 68 65 20  t masks out the 
30740 22 65 6e 63 6f 64 69 6e 67 20 73 79 73 74 65 6d  "encoding system
30750 22 20 73 75 62 63 6f 6d 6d 61 6e 64 2e 0a 28 72  " subcommand..(r
30760 65 64 6d 61 6e 29 0a 0a 34 2f 35 2f 39 39 20 28  edman)..4/5/99 (
30770 62 75 67 20 66 69 78 29 20 43 6f 6e 66 69 67 75  bug fix) Configu
30780 72 65 20 70 61 74 63 68 65 73 20 74 6f 20 69 6d  re patches to im
30790 70 72 6f 76 65 20 73 75 70 70 6f 72 74 20 66 6f  prove support fo
307a0 72 0a 4f 53 2f 33 39 30 20 61 6e 64 20 42 53 44  r.OS/390 and BSD
307b0 2f 4f 53 20 34 2e 2a 2e 20 28 73 74 61 6e 74 6f  /OS 4.*. (stanto
307c0 6e 29 0a 0a 34 2f 35 2f 39 39 20 28 62 75 67 20  n)..4/5/99 (bug 
307d0 66 69 78 29 20 46 69 78 65 64 20 63 72 61 73 68  fix) Fixed crash
307e0 20 69 6e 20 74 68 65 20 63 6c 6f 63 6b 20 63 6f   in the clock co
307f0 6d 6d 61 6e 64 20 74 68 61 74 20 6f 63 63 75 72  mmand that occur
30800 72 65 64 0a 77 69 74 68 20 6e 65 67 61 74 69 76  red.with negativ
30810 65 20 74 69 6d 65 20 76 61 6c 75 65 73 20 69 6e  e time values in
30820 20 74 69 6d 65 7a 6f 6e 65 73 20 65 61 73 74 20   timezones east 
30830 6f 66 20 47 4d 54 2e 20 28 73 74 61 6e 74 6f 6e  of GMT. (stanton
30840 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75 67 20 66  )..4/6/99 (bug f
30850 69 78 29 20 4d 6f 76 65 64 20 74 68 65 20 22 61  ix) Moved the "a
30860 72 72 61 79 20 73 65 74 22 20 43 20 6c 65 76 65  rray set" C leve
30870 6c 20 63 6f 64 65 20 69 6e 74 6f 20 61 20 63 6f  l code into a co
30880 6d 6d 6f 6e 0a 72 6f 75 74 69 6e 65 20 28 54 63  mmon.routine (Tc
30890 6c 41 72 72 61 79 53 65 74 29 2e 20 20 54 68 65  lArraySet).  The
308a0 20 54 63 6c 53 65 74 75 70 45 6e 76 20 72 6f 75   TclSetupEnv rou
308b0 74 69 6e 65 20 6e 6f 77 20 75 73 65 73 20 74 68  tine now uses th
308c0 69 73 20 41 50 49 20 74 6f 0a 63 72 65 61 74 65  is API to.create
308d0 20 61 6e 20 65 6e 76 20 61 72 72 61 79 20 77 2f   an env array w/
308e0 20 6e 6f 20 65 6c 65 6d 65 6e 74 73 2e 20 20 54   no elements.  T
308f0 68 69 73 20 66 69 78 65 73 20 74 68 65 20 62 75  his fixes the bu
30900 67 20 63 61 75 73 65 64 20 77 68 65 6e 0a 65 76  g caused when.ev
30910 65 72 79 20 65 6e 76 69 72 6f 6e 20 76 61 72 61  ery environ vara
30920 69 62 6c 65 20 69 73 20 72 65 6d 6f 76 65 64 2c  ible is removed,
30930 20 61 6e 64 20 74 68 65 20 54 63 6c 20 65 6e 76   and the Tcl env
30940 20 76 61 72 69 61 62 6c 65 20 69 73 0a 73 79 6e   variable is.syn
30950 63 68 65 64 2e 20 20 49 66 20 6e 6f 20 65 6e 76  ched.  If no env
30960 69 72 6f 6e 20 76 61 72 73 20 65 78 69 73 74 65  iron vars existe
30970 64 2c 20 74 68 65 20 54 63 6c 20 65 6e 76 20 76  d, the Tcl env v
30980 61 72 20 77 6f 75 6c 64 20 6e 65 76 65 72 20 62  ar would never b
30990 65 0a 63 72 65 61 74 65 64 2e 20 28 73 75 72 6c  e.created. (surl
309a0 65 73 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75 67  es)..4/6/99 (bug
309b0 20 66 69 78 29 20 4d 61 64 65 20 74 68 65 20 45   fix) Made the E
309c0 6e 76 20 6d 6f 64 75 6c 65 20 49 31 38 4e 20 63  nv module I18N c
309d0 6f 6d 70 6c 69 61 6e 74 2e 20 28 73 75 72 6c 65  ompliant. (surle
309e0 73 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75 67 20  s)..4/6/99 (bug 
309f0 66 69 78 29 20 43 68 61 6e 67 65 64 20 74 68 65  fix) Changed the
30a00 20 46 69 6e 64 56 61 72 69 61 62 6c 65 20 72 6f   FindVariable ro
30a10 75 74 69 6e 65 20 74 6f 20 54 63 6c 70 46 69 6e  utine to TclpFin
30a20 64 56 61 72 69 61 62 6c 65 2c 0a 74 68 61 74 20  dVariable,.that 
30a30 6e 6f 77 20 64 6f 65 73 20 61 20 63 61 73 65 20  now does a case 
30a40 69 6e 73 65 6e 73 69 74 69 76 65 20 73 74 72 69  insensitive stri
30a50 6e 67 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 6e  ng comparison on
30a60 20 57 69 6e 64 6f 77 73 2c 20 61 6e 64 20 6e 6f   Windows, and no
30a70 74 0a 6f 6e 20 55 4e 49 58 2e 20 28 73 75 72 6c  t.on UNIX. (surl
30a80 65 73 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  es)..-----------
30a90 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  ---- Released 8.
30aa0 31 62 33 2c 20 41 70 72 69 6c 20 36 2c 20 31 39  1b3, April 6, 19
30ab0 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  99 -------------
30ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 34 2f 39 2f 39  ---------..4/9/9
30ad0 39 20 28 62 75 67 20 66 69 78 29 20 20 46 69 78  9 (bug fix)  Fix
30ae0 65 64 20 6e 6f 74 69 66 69 65 72 20 64 65 61 64  ed notifier dead
30af0 6c 6f 63 6b 20 73 69 74 75 61 74 69 6f 6e 20 77  lock situation w
30b00 68 65 6e 20 74 68 65 20 70 69 70 65 20 75 73 65  hen the pipe use
30b10 64 0a 74 6f 20 74 61 6c 6b 20 62 61 63 6b 20 6e  d.to talk back n
30b20 6f 74 69 66 69 65 72 20 74 68 72 65 61 64 20 69  otifier thread i
30b30 73 20 66 69 6c 6c 65 64 20 77 69 74 68 20 64 61  s filled with da
30b40 74 61 2e 20 20 46 6f 75 6e 64 20 61 73 20 61 20  ta.  Found as a 
30b50 72 65 73 75 6c 74 20 6f 66 20 74 68 65 0a 66 6f  result of the.fo
30b60 63 75 73 2e 74 65 73 74 20 66 6f 72 20 54 6b 20  cus.test for Tk 
30b70 68 61 6e 67 69 6e 67 2e 20 28 72 65 64 6d 61 6e  hanging. (redman
30b80 29 0a 0a 34 2f 31 33 2f 39 39 20 28 62 75 67 20  )..4/13/99 (bug 
30b90 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 77  fix) Fixed bug w
30ba0 68 65 72 65 20 73 6f 63 6b 65 74 20 2d 61 73 79  here socket -asy
30bb0 6e 63 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68  nc combined with
30bc0 0a 66 69 6c 65 65 76 65 6e 74 20 66 6f 72 20 77  .fileevent for w
30bd0 72 69 74 69 6e 67 20 64 69 64 20 6e 6f 74 20 77  riting did not w
30be0 6f 72 6b 20 75 6e 64 65 72 20 57 69 6e 64 6f 77  ork under Window
30bf0 73 20 4e 54 2e 20 28 72 65 64 6d 61 6e 29 0a 0a  s NT. (redman)..
30c00 34 2f 31 33 2f 39 39 20 28 65 6e 63 6f 64 69 6e  4/13/99 (encodin
30c10 67 20 66 69 78 29 20 52 65 73 74 6f 72 65 64 20  g fix) Restored 
30c20 74 68 65 20 64 6f 75 62 6c 65 20 62 79 74 65 20  the double byte 
30c30 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 47 42  definition of GB
30c40 32 33 31 32 0a 61 6e 64 20 61 64 64 65 64 20 74  2312.and added t
30c50 68 65 20 45 55 43 2d 43 4e 20 65 6e 63 6f 64 69  he EUC-CN encodi
30c60 6e 67 2e 20 20 45 55 43 2d 43 4e 20 69 73 20 61  ng.  EUC-CN is a
30c70 20 76 61 72 69 61 6e 74 20 6f 66 20 47 42 32 33   variant of GB23
30c80 31 32 20 74 68 61 74 0a 73 68 69 66 74 73 20 74  12 that.shifts t
30c90 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e  he characters in
30ca0 74 6f 20 62 79 74 65 73 20 77 69 74 68 20 74 68  to bytes with th
30cb0 65 20 68 69 67 68 20 62 69 74 20 73 65 74 20 61  e high bit set a
30cc0 6e 64 20 69 6e 63 6c 75 64 65 73 0a 41 53 43 49  nd includes.ASCI
30cd0 49 20 61 73 20 61 20 73 75 62 73 65 74 2e 20 28  I as a subset. (
30ce0 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 32 37 2f 39  stanton)..4/27/9
30cf0 39 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65  9 (bug fix) Adde
30d00 64 20 27 65 78 74 65 72 6e 20 22 43 22 20 7b 7d  d 'extern "C" {}
30d10 27 20 62 6c 6f 63 6b 20 61 72 6f 75 6e 64 20 74  ' block around t
30d20 68 65 20 73 74 75 62 20 74 61 62 6c 65 0a 70 6f  he stub table.po
30d30 69 6e 74 65 72 20 64 65 63 6c 61 72 61 74 69 6f  inter declaratio
30d40 6e 20 73 6f 20 74 68 65 20 73 74 75 62 20 6c 69  n so the stub li
30d50 62 72 61 72 79 20 63 61 6e 20 62 65 20 75 73 65  brary can be use
30d60 64 20 66 72 6f 6d 20 43 2b 2b 2e 20 28 73 74 61  d from C++. (sta
30d70 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  nton)..---------
30d80 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
30d90 38 2e 31 20 66 69 6e 61 6c 2c 20 41 70 72 69 6c  8.1 final, April
30da0 20 32 39 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d   29, 1999 ------
30db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
30dc0 0a 0a 34 2f 32 32 2f 39 39 20 28 62 75 67 20 66  ..4/22/99 (bug f
30dd0 69 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e 64  ix) Changed Wind
30de0 6f 77 73 20 4e 54 20 73 6f 63 6b 65 74 20 69 6d  ows NT socket im
30df0 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 74 6f 20  plementation to 
30e00 61 76 6f 69 64 0a 63 72 65 61 74 69 6e 67 20 61  avoid.creating a
30e10 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 77   communication w
30e20 69 6e 64 6f 77 2e 20 20 54 68 69 73 20 61 76 6f  indow.  This avo
30e30 69 64 73 20 74 68 65 20 70 72 6f 62 6c 65 6d 20  ids the problem 
30e40 77 68 65 72 65 20 74 68 65 0a 73 79 73 74 65 6d  where the.system
30e50 20 68 61 6e 67 73 20 77 61 69 74 69 6e 67 20 66   hangs waiting f
30e60 6f 72 20 74 63 6c 73 68 20 74 6f 20 72 65 73 70  or tclsh to resp
30e70 6f 6e 64 20 74 6f 20 61 20 73 79 73 74 65 6d 2d  ond to a system-
30e80 77 69 64 65 20 73 79 6e 63 68 72 6f 6e 6f 75 73  wide synchronous
30e90 0a 62 72 6f 61 64 63 61 73 74 20 28 65 2e 67 2e  .broadcast (e.g.
30ea0 20 69 66 20 79 6f 75 20 63 68 61 6e 67 65 20 73   if you change s
30eb0 79 73 74 65 6d 20 63 6f 6c 6f 72 73 29 2e 20 28  ystem colors). (
30ec0 72 65 64 6d 61 6e 29 0a 0a 34 2f 32 32 2f 39 39  redman)..4/22/99
30ed0 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65 64   (bug fix) Added
30ee0 20 63 61 6c 6c 20 74 6f 20 54 63 6c 57 69 6e 49   call to TclWinI
30ef0 6e 69 74 20 66 72 6f 6d 20 54 63 6c 70 49 6e 69  nit from TclpIni
30f00 74 50 6c 61 74 66 6f 72 6d 20 77 68 65 6e 0a 62  tPlatform when.b
30f10 75 69 6c 64 69 6e 67 20 61 20 73 74 61 74 69 63  uilding a static
30f20 20 6c 69 62 72 61 72 79 20 73 69 6e 63 65 20 44   library since D
30f30 6c 6c 4d 61 69 6e 20 77 69 6c 6c 20 6e 6f 74 20  llMain will not 
30f40 62 65 20 69 6e 76 6f 6b 65 64 2e 20 20 54 68 69  be invoked.  Thi
30f50 73 0a 63 6f 75 6c 64 20 62 72 65 61 6b 20 6f 6c  s.could break ol
30f60 64 20 63 6f 64 65 20 74 68 61 74 20 65 78 70 6c  d code that expl
30f70 69 63 69 74 6c 79 20 63 61 6c 6c 65 64 20 54 63  icitly called Tc
30f80 6c 57 69 6e 49 6e 69 74 2c 20 62 75 74 20 73 68  lWinInit, but sh
30f90 6f 75 6c 64 20 62 65 0a 73 69 6d 70 6c 65 72 20  ould be.simpler 
30fa0 69 6e 20 74 68 65 20 6c 6f 6e 67 20 72 75 6e 2e  in the long run.
30fb0 20 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a 20 50   (stanton).*** P
30fc0 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
30fd0 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34 2f  TIBILITY ***..4/
30fe0 32 33 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  23/99 (bug fix) 
30ff0 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
31000 72 20 74 68 65 20 6b 6f 69 38 2d 72 20 43 79 72  r the koi8-r Cyr
31010 69 6c 6c 69 63 0a 65 6e 63 6f 64 69 6e 67 2e 20  illic.encoding. 
31020 5b 42 75 67 3a 20 31 37 37 31 5d 20 28 73 74 61  [Bug: 1771] (sta
31030 6e 74 6f 6e 29 0a 0a 34 2f 32 38 2f 39 39 20 28  nton)..4/28/99 (
31040 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64  bug fix) Changed
31050 20 69 6e 74 65 72 6e 61 6c 20 54 63 6c 5f 4f 62   internal Tcl_Ob
31060 6a 20 75 73 61 67 65 20 74 6f 20 61 76 6f 69 64  j usage to avoid
31070 20 66 72 65 65 69 6e 67 20 74 68 65 0a 69 6e 74   freeing the.int
31080 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61  ernal representa
31090 74 69 6f 6e 20 61 66 74 65 72 20 74 68 65 20 73  tion after the s
310a0 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61  tring representa
310b0 74 69 6f 6e 20 68 61 73 20 62 65 65 6e 0a 66 72  tion has been.fr
310c0 65 65 64 2e 20 20 54 68 69 73 20 6d 61 6b 65 73  eed.  This makes
310d0 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 64 65   it easier to de
310e0 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 73 2e 20  bug extensions. 
310f0 28 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 33 30 2f  (stanton)..4/30/
31100 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78  99 (bug fix) Fix
31110 65 64 20 61 20 6d 65 6d 6f 72 79 20 6c 65 61 6b  ed a memory leak
31120 20 69 6e 20 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c   in CommandCompl
31130 65 74 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ete. (stanton)..
31140 35 2f 33 2f 39 39 20 28 62 75 67 20 66 69 78 29  5/3/99 (bug fix)
31150 20 46 69 78 65 64 20 61 20 62 75 67 20 77 68 65   Fixed a bug whe
31160 72 65 20 74 68 65 20 54 63 6c 5f 4f 62 6a 54 79  re the Tcl_ObjTy
31170 70 65 20 77 61 73 20 6e 6f 74 20 62 65 69 6e 67  pe was not being
31180 20 73 65 74 0a 69 6e 20 61 20 64 75 70 6c 69 63   set.in a duplic
31190 61 74 65 64 20 54 63 6c 5f 4f 62 6a 2e 20 5b 42  ated Tcl_Obj. [B
311a0 75 67 3a 20 31 39 37 35 2c 20 32 30 34 37 5d 20  ug: 1975, 2047] 
311b0 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 33 2f 39  (stanton)..5/3/9
311c0 39 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  9 (bug fix) Chan
311d0 67 65 64 20 54 63 6c 5f 50 61 72 73 65 43 6f 6d  ged Tcl_ParseCom
311e0 6d 61 6e 64 20 74 6f 20 61 76 6f 69 64 20 6d 6f  mand to avoid mo
311f0 64 69 66 79 69 6e 67 20 65 76 61 6c 27 65 64 0a  difying eval'ed.
31200 73 74 72 69 6e 67 73 20 74 68 61 74 20 61 72 65  strings that are
31210 20 61 6c 72 65 61 64 79 20 6e 75 6c 6c 20 74 65   already null te
31220 72 6d 69 6e 61 74 65 64 2e 20 20 5b 42 75 67 3a  rminated.  [Bug:
31230 20 31 37 39 33 5d 20 28 73 74 61 6e 74 6f 6e 29   1793] (stanton)
31240 0a 0a 35 2f 33 2f 39 39 20 28 6e 65 77 20 66 65  ..5/3/99 (new fe
31250 61 74 75 72 65 29 20 41 70 70 6c 69 65 64 20 4a  ature) Applied J
31260 65 66 66 20 48 6f 62 62 73 27 73 20 73 74 72 69  eff Hobbs's stri
31270 6e 67 20 70 61 74 63 68 20 77 68 69 63 68 20 69  ng patch which i
31280 6e 63 6c 75 64 65 73 0a 74 68 65 20 66 6f 6c 6c  ncludes.the foll
31290 6f 77 69 6e 67 20 63 68 61 6e 67 65 73 3a 0a 20  owing changes:. 
312a0 20 20 20 2d 20 61 64 64 65 64 20 6e 65 77 20 73     - added new s
312b0 75 62 63 6f 6d 6d 61 6e 64 73 3a 20 65 71 75 61  ubcommands: equa
312c0 6c 2c 20 72 65 70 65 61 74 2c 20 6d 61 70 2c 20  l, repeat, map, 
312d0 69 73 2c 20 72 65 70 6c 61 63 65 20 0a 20 20 20  is, replace .   
312e0 20 2d 20 61 64 64 65 64 20 2d 6c 65 6e 67 74 68   - added -length
312f0 20 6f 70 74 69 6f 6e 20 74 6f 20 22 73 74 72 69   option to "stri
31300 6e 67 20 63 6f 6d 70 61 72 65 7c 65 71 75 61 6c  ng compare|equal
31310 22 0a 20 20 20 20 2d 20 61 64 64 65 64 20 2d 6e  ".    - added -n
31320 6f 63 61 73 65 20 6f 70 74 69 6f 6e 20 74 6f 20  ocase option to 
31330 22 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 7c  "string compare|
31340 65 71 75 61 6c 7c 6d 61 74 63 68 22 0a 20 20 20  equal|match".   
31350 20 2d 20 73 74 72 69 6e 67 20 61 6e 64 20 6c 69   - string and li
31360 73 74 20 69 6e 64 69 63 65 73 20 63 61 6e 20 62  st indices can b
31370 65 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20  e an integer or 
31380 65 6e 64 3f 2d 69 6e 74 65 67 65 72 3f 2e 0a 20  end?-integer?.. 
31390 20 20 20 2d 20 61 64 64 65 64 20 6f 70 74 69 6f     - added optio
313a0 6e 61 6c 20 66 69 72 73 74 20 61 6e 64 20 6c 61  nal first and la
313b0 73 74 20 69 6e 64 65 78 20 61 72 67 73 20 74 6f  st index args to
313c0 20 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 2c   string toupper,
313d0 20 65 74 20 61 6c 2e 0a 53 65 65 20 74 68 65 20   et al..See the 
313e0 73 74 72 69 6e 67 2e 6e 20 6d 61 6e 75 61 6c 20  string.n manual 
313f0 65 6e 74 72 79 20 66 6f 72 20 6d 6f 72 65 20 64  entry for more d
31400 65 74 61 69 6c 73 20 61 62 6f 75 74 20 74 68 65  etails about the
31410 20 6e 65 77 20 73 74 72 69 6e 67 0a 66 65 61 74   new string.feat
31420 75 72 65 73 2e 20 20 5b 42 75 67 3a 20 31 38 34  ures.  [Bug: 184
31430 35 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f  5] (stanton)..5/
31440 36 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72  6/99 (new featur
31450 65 29 20 41 64 64 65 64 20 54 63 6c 5f 55 74 66  e) Added Tcl_Utf
31460 4e 63 6d 70 20 61 6e 64 20 54 63 6c 5f 55 74 66  Ncmp and Tcl_Utf
31470 4e 63 61 73 65 63 6d 70 20 74 6f 20 6d 61 6b 65  Ncasecmp to make
31480 20 55 74 66 0a 73 74 72 69 6e 67 20 63 6f 6d 70   Utf.string comp
31490 61 72 69 73 69 6f 6e 20 65 61 73 69 65 72 2e 20  arision easier. 
314a0 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 37 2f 39  (stanton)..5/7/9
314b0 39 20 28 62 75 67 20 66 69 78 29 20 49 6d 70 72  9 (bug fix) Impr
314c0 6f 76 65 64 20 4f 53 2f 33 39 30 20 73 75 70 70  oved OS/390 supp
314d0 6f 72 74 2e 20 5b 42 75 67 3a 20 31 39 37 36 2c  ort. [Bug: 1976,
314e0 20 31 39 39 37 5d 20 28 73 74 61 6e 74 6f 6e 29   1997] (stanton)
314f0 0a 0a 35 2f 31 32 2f 39 39 20 28 62 75 67 20 66  ..5/12/99 (bug f
31500 69 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e 64  ix) Changed Wind
31510 6f 77 73 20 69 6e 69 74 69 61 6c 69 7a 61 74 69  ows initializati
31520 6f 6e 20 63 6f 64 65 20 74 6f 20 61 76 6f 69 64  on code to avoid
31530 20 75 73 69 6e 67 0a 47 65 74 55 73 65 72 4e 61   using.GetUserNa
31540 6d 65 20 73 79 73 74 65 6d 20 63 61 6c 6c 20 69  me system call i
31550 6e 20 66 61 76 6f 72 20 6f 66 20 74 68 65 20 65  n favor of the e
31560 6e 76 28 55 53 45 52 4e 41 4d 45 29 20 76 61 72  nv(USERNAME) var
31570 69 61 62 6c 65 2e 20 20 54 68 69 73 0a 70 72 6f  iable.  This.pro
31580 76 69 64 65 73 20 61 20 73 69 67 6e 69 66 69 63  vides a signific
31590 61 6e 74 20 73 74 61 72 74 75 70 20 73 70 65 65  ant startup spee
315a0 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74 2e 20 28  d improvement. (
315b0 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 31 32 2f 39  stanton)..5/12/9
315c0 39 20 28 62 75 67 20 66 69 78 29 20 52 65 70 6c  9 (bug fix) Repl
315d0 61 63 65 64 20 74 68 65 20 70 65 72 2d 69 6e 74  aced the per-int
315e0 65 72 70 72 65 74 65 72 20 72 65 67 65 78 70 20  erpreter regexp 
315f0 63 61 63 68 65 20 77 69 74 68 20 61 0a 70 65 72  cache with a.per
31600 2d 74 68 72 65 61 64 20 63 61 63 68 65 2e 20 20  -thread cache.  
31610 43 68 61 6e 67 65 64 20 74 68 65 20 52 65 67 65  Changed the Rege
31620 78 70 20 6f 62 6a 65 63 74 20 74 6f 20 74 61 6b  xp object to tak
31630 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 74  e advantage of t
31640 68 69 73 0a 65 78 74 72 61 20 63 61 63 68 65 2e  his.extra cache.
31650 20 20 41 64 64 65 64 20 61 20 72 65 66 65 72 65    Added a refere
31660 6e 63 65 20 63 6f 75 6e 74 20 74 6f 20 74 68 65  nce count to the
31670 20 54 63 6c 52 65 67 65 78 70 20 74 79 70 65 20   TclRegexp type 
31680 73 6f 20 72 65 67 65 78 70 73 0a 63 61 6e 20 62  so regexps.can b
31690 65 20 73 68 61 72 65 64 20 62 79 20 6d 75 6c 74  e shared by mult
316a0 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e 20 20 52  iple objects.  R
316b0 65 6d 6f 76 65 64 20 74 68 65 20 70 65 72 2d 69  emoved the per-i
316c0 6e 74 65 72 70 20 72 65 67 65 78 70 20 63 61 63  nterp regexp cac
316d0 68 65 0a 66 72 6f 6d 20 74 68 65 20 69 6e 74 65  he.from the inte
316e0 72 70 72 65 74 65 72 2e 20 20 4e 6f 77 20 72 65  rpreter.  Now re
316f0 67 65 78 70 73 20 63 61 6e 20 62 65 20 75 73 65  gexps can be use
31700 64 20 77 69 74 68 20 6e 6f 20 6e 65 65 64 20 66  d with no need f
31710 6f 72 20 61 6e 0a 69 6e 74 65 72 70 72 65 74 65  or an.interprete
31720 72 2e 20 54 68 69 73 20 73 65 74 20 6f 66 20 63  r. This set of c
31730 68 61 6e 67 65 73 20 73 68 6f 75 6c 64 20 70 72  hanges should pr
31740 6f 76 69 64 65 20 73 69 67 6e 69 66 69 63 61 6e  ovide significan
31750 74 20 73 70 65 65 64 0a 69 6d 70 72 6f 76 65 6d  t speed.improvem
31760 65 6e 74 73 20 66 6f 72 20 6d 61 6e 79 20 54 63  ents for many Tc
31770 6c 20 73 63 72 69 70 74 73 2e 20 20 5b 42 75 67  l scripts.  [Bug
31780 3a 20 31 30 36 33 5d 20 28 73 74 61 6e 74 6f 6e  : 1063] (stanton
31790 29 0a 0a 35 2f 31 34 2f 39 39 20 28 62 75 67 20  )..5/14/99 (bug 
317a0 66 69 78 29 20 44 75 72 69 6e 69 6e 67 20 69 6e  fix) Durining in
317b0 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 6e 20  itialization on 
317c0 55 6e 69 78 2c 20 54 63 6c 20 6e 6f 77 20 65 78  Unix, Tcl now ex
317d0 74 72 61 63 74 73 20 74 68 65 0a 65 6e 63 6f 64  tracts the.encod
317e0 69 6e 67 20 73 75 62 66 69 65 6c 64 20 66 72 6f  ing subfield fro
317f0 6d 20 74 68 65 20 4c 41 4e 47 2f 4c 43 5f 41 4c  m the LANG/LC_AL
31800 4c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61  L environment va
31810 72 69 61 62 6c 65 73 20 69 6e 20 63 61 73 65 73  riables in cases
31820 0a 77 68 65 72 65 20 74 68 65 20 6c 6f 63 61 6c  .where the local
31830 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 69  e is not found i
31840 6e 20 74 68 65 20 62 75 69 6c 74 2d 69 6e 20 6c  n the built-in l
31850 6f 63 61 6c 65 20 74 61 62 6c 65 2e 20 20 49 74  ocale table.  It
31860 20 61 6c 73 6f 0a 61 74 74 65 6d 70 74 73 20 74   also.attempts t
31870 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65  o initialize the
31880 20 6c 6f 63 61 6c 65 20 73 75 62 73 79 73 74 65   locale subsyste
31890 6d 20 73 6f 20 58 31 31 20 69 73 20 68 61 70 70  m so X11 is happ
318a0 79 2e 20 5b 42 75 67 3a 20 31 39 38 39 5d 0a 28  y. [Bug: 1989].(
318b0 73 74 61 6e 74 6f 6e 29 20 0a 0a 35 2f 31 34 2f  stanton) ..5/14/
318c0 39 39 20 28 62 75 67 20 66 69 78 29 20 41 70 70  99 (bug fix) App
318d0 6c 69 65 64 20 74 68 65 20 70 61 74 63 68 20 74  lied the patch t
318e0 6f 20 66 69 78 20 31 30 30 2d 79 65 61 72 20 61  o fix 100-year a
318f0 6e 64 20 34 30 30 2d 79 65 61 72 0a 62 6f 75 6e  nd 400-year.boun
31900 64 61 72 69 65 73 20 69 6e 20 6c 65 61 70 20 79  daries in leap y
31910 65 61 72 20 63 6f 64 65 2c 20 66 72 6f 6d 20 49  ear code, from I
31920 73 61 61 63 20 48 6f 6c 6c 61 6e 64 65 72 2e 20  saac Hollander. 
31930 20 5b 42 75 67 3a 20 32 30 36 36 5d 20 28 72 65   [Bug: 2066] (re
31940 64 6d 61 6e 29 0a 0a 35 2f 31 34 2f 39 39 20 28  dman)..5/14/99 (
31950 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61  bug fix) Fixed a
31960 20 63 72 61 73 68 20 63 61 75 73 65 64 20 62 79   crash caused by
31970 20 61 20 66 61 69 6c 75 72 65 20 74 6f 20 72 65   a failure to re
31980 73 65 74 20 74 68 65 20 72 65 73 75 6c 74 0a 62  set the result.b
31990 65 66 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67  efore evaluating
319a0 20 74 68 65 20 74 65 73 74 20 65 78 70 72 65 73   the test expres
319b0 73 69 6f 6e 20 69 6e 20 61 6e 20 75 6e 63 6f 6d  sion in an uncom
319c0 70 69 6c 65 64 20 66 6f 72 0a 73 74 61 74 65 6d  piled for.statem
319d0 65 6e 74 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ent. (stanton)..
319e0 35 2f 31 38 2f 39 39 20 28 62 75 67 20 66 69 78  5/18/99 (bug fix
319f0 29 20 4d 6f 64 69 66 69 65 64 20 69 6e 69 74 69  ) Modified initi
31a00 61 6c 69 7a 61 74 69 6f 6e 20 63 6f 64 65 20 6f  alization code o
31a10 6e 20 57 69 6e 64 6f 77 73 20 74 6f 20 61 76 6f  n Windows to avo
31a20 69 64 0a 69 6e 68 65 72 65 6e 74 69 6e 67 20 63  id.inherenting c
31a30 6c 6f 73 65 64 20 6f 72 20 69 6e 76 61 6c 69 64  losed or invalid
31a40 20 63 68 61 6e 6e 65 6c 73 2e 20 20 49 66 20 74   channels.  If t
31a50 68 65 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75  he standard inpu
31a60 74 20 69 73 0a 61 6e 79 74 68 69 6e 67 20 6f 74  t is.anything ot
31a70 68 65 72 20 74 68 61 6e 20 61 20 63 6f 6e 73 6f  her than a conso
31a80 6c 65 2c 20 66 69 6c 65 2c 20 73 65 72 69 61 6c  le, file, serial
31a90 20 70 6f 72 74 2c 20 6f 72 20 70 69 70 65 2c 20   port, or pipe, 
31aa0 74 68 65 6e 20 77 65 20 66 61 6c 6c 0a 62 61 63  then we fall.bac
31ab0 6b 20 74 6f 20 74 68 65 20 73 74 61 6e 64 61 72  k to the standar
31ac0 64 20 54 6b 20 77 69 6e 64 6f 77 20 63 6f 6e 73  d Tk window cons
31ad0 6f 6c 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ole. (stanton)..
31ae0 35 2f 31 39 2f 39 39 20 28 62 75 67 20 66 69 78  5/19/99 (bug fix
31af0 29 20 41 64 64 65 64 20 61 6e 20 65 78 74 65 72  ) Added an exter
31b00 6e 20 22 43 22 20 62 6c 6f 63 6b 20 61 72 6f 75  n "C" block arou
31b10 6e 64 20 74 68 65 20 65 6e 74 69 72 65 20 74 63  nd the entire tc
31b20 6c 2e 68 0a 68 65 61 64 65 72 20 66 69 6c 65 20  l.h.header file 
31b30 74 6f 20 61 76 6f 69 64 20 43 2b 2b 20 6c 69 6e  to avoid C++ lin
31b40 6b 61 67 65 20 69 73 73 75 65 73 2e 20 28 72 65  kage issues. (re
31b50 64 6d 61 6e 29 0a 0a 35 2f 31 39 2f 39 39 20 28  dman)..5/19/99 (
31b60 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 70 70  new feature) App
31b70 6c 69 65 64 20 4a 65 66 66 20 48 6f 62 62 27 73  lied Jeff Hobb's
31b80 20 70 61 74 63 68 20 74 6f 20 61 64 64 0a 54 63   patch to add.Tc
31b90 6c 5f 53 74 72 69 6e 67 43 61 73 65 4d 61 74 63  l_StringCaseMatc
31ba0 68 20 74 6f 20 73 75 70 70 6f 72 74 20 63 61 73  h to support cas
31bb0 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20 67 6c  e insensitive gl
31bc0 6f 62 20 73 74 79 6c 65 20 6d 61 74 63 68 69 6e  ob style matchin
31bd0 67 20 61 6e 64 0a 54 63 6c 5f 55 6e 69 43 68 61  g and.Tcl_UniCha
31be0 72 49 73 2a 20 63 68 61 72 61 63 74 65 72 20 63  rIs* character c
31bf0 6c 61 73 73 69 66 69 63 61 74 69 6f 6e 20 66 75  lassification fu
31c00 6e 63 74 69 6f 6e 73 2e 20 28 73 74 61 6e 74 6f  nctions. (stanto
31c10 6e 29 0a 0a 35 2f 32 30 2f 39 39 20 28 62 75 67  n)..5/20/99 (bug
31c20 20 66 69 78 29 20 41 64 64 65 64 20 74 68 65 20   fix) Added the 
31c30 64 69 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69  directory contai
31c40 6e 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 75  ning the executu
31c50 62 6c 65 20 61 6e 64 20 74 68 65 0a 2e 2e 2f 6c  ble and the.../l
31c60 69 62 20 64 69 72 65 63 74 6f 72 79 20 72 65 6c  ib directory rel
31c70 61 74 69 76 65 20 74 6f 20 74 68 61 74 20 74 6f  ative to that to
31c80 20 74 68 65 20 61 75 74 6f 5f 70 61 74 68 20 76   the auto_path v
31c90 61 72 69 61 62 6c 65 2e 20 28 72 65 64 6d 61 6e  ariable. (redman
31ca0 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  )..-------------
31cb0 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 31 2e  -- Released 8.1.
31cc0 31 2c 20 4d 61 79 20 32 35 2c 20 31 39 39 39 20  1, May 25, 1999 
31cd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
31ce0 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 32 31 2f 39 39 20  ------..5/21/99 
31cf0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
31d00 6c 61 75 6e 63 68 69 6e 67 20 63 6f 6d 6d 61 6e  launching comman
31d10 64 2e 63 6f 6d 20 6f 6e 20 57 69 6e 39 35 2f 39  d.com on Win95/9
31d20 38 2c 20 6e 6f 20 6c 6f 6e 67 65 72 0a 68 61 6e  8, no longer.han
31d30 67 73 2e 20 5b 42 75 67 3a 20 32 31 30 35 5d 20  gs. [Bug: 2105] 
31d40 28 72 65 64 6d 61 6e 29 0a 0a 35 2f 32 38 2f 39  (redman)..5/28/9
31d50 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  9 (bug fix) Fixe
31d60 64 20 62 75 67 20 77 68 65 72 65 20 64 64 65 20  d bug where dde 
31d70 63 61 6c 6c 73 20 77 65 72 65 20 62 65 69 6e 67  calls were being
31d80 20 70 61 73 73 65 64 20 61 6e 0a 69 6e 76 61 6c   passed an.inval
31d90 69 64 20 64 64 65 20 68 61 6e 64 6c 65 2e 20 5b  id dde handle. [
31da0 42 75 67 3a 20 32 31 32 34 5d 20 28 73 74 61 6e  Bug: 2124] (stan
31db0 74 6f 6e 29 0a 0a 36 2f 31 2f 39 39 20 20 28 62  ton)..6/1/99  (b
31dc0 75 67 20 66 69 78 29 20 53 6d 61 6c 6c 20 63 6f  ug fix) Small co
31dd0 6e 66 69 67 75 72 65 2e 69 6e 20 70 61 74 63 68  nfigure.in patch
31de0 65 73 2e 20 5b 42 75 67 3a 20 32 31 32 31 5d 20  es. [Bug: 2121] 
31df0 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 31 2f 39  (stanton)..6/1/9
31e00 39 20 20 28 62 75 67 20 66 69 78 29 20 41 70 70  9  (bug fix) App
31e10 6c 69 65 64 20 6c 61 74 65 73 74 20 72 65 67 75  lied latest regu
31e20 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 70  lar expression p
31e30 61 74 63 68 65 73 20 74 6f 20 66 69 78 20 61 6e  atches to fix an
31e40 0a 69 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 20 62  .infinite loop b
31e50 75 67 20 61 6e 64 20 61 64 64 20 73 75 70 70 6f  ug and add suppo
31e60 72 74 20 66 6f 72 20 74 65 73 74 69 6e 67 20 77  rt for testing w
31e70 68 65 74 68 65 72 20 61 20 73 74 72 69 6e 67 20  hether a string 
31e80 63 6f 75 6c 64 0a 6d 61 74 63 68 20 77 69 74 68  could.match with
31e90 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 6e 70 75   additional inpu
31ea0 74 2e 20 5b 42 75 67 3a 20 32 31 31 37 5d 20 28  t. [Bug: 2117] (
31eb0 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 32 2f 39 39  stanton)..6/2/99
31ec0 20 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65    (bug fix) Fixe
31ed0 64 20 69 6e 63 6f 72 72 65 63 74 20 63 6f 6d 70  d incorrect comp
31ee0 75 74 61 74 69 6f 6e 20 6f 66 20 72 65 6c 61 74  utation of relat
31ef0 69 76 65 20 6f 72 64 65 72 69 6e 67 20 69 6e 0a  ive ordering in.
31f00 55 74 66 20 63 61 73 65 2d 69 6e 73 65 6e 73 69  Utf case-insensi
31f10 74 69 76 65 20 63 6f 6d 70 61 72 69 73 6f 6e 2e  tive comparison.
31f20 20 5b 42 75 67 3a 20 32 31 33 35 5d 20 28 73 74   [Bug: 2135] (st
31f30 61 6e 74 6f 6e 29 0a 0a 36 2f 33 2f 39 39 20 20  anton)..6/3/99  
31f40 28 62 75 67 20 66 69 78 29 20 46 78 69 65 64 20  (bug fix) Fxied 
31f50 62 75 67 20 77 68 65 72 65 20 73 74 72 69 6e 67  bug where string
31f60 20 65 71 75 61 6c 2f 63 6f 6d 70 61 72 65 20 2d   equal/compare -
31f70 6e 6f 63 61 73 65 0a 72 65 70 6f 72 74 65 64 20  nocase.reported 
31f80 77 72 6f 6e 67 20 72 65 73 75 6c 74 20 6f 6e 20  wrong result on 
31f90 6e 75 6c 6c 20 73 74 72 69 6e 67 73 2e 20 5b 42  null strings. [B
31fa0 75 67 3a 20 32 31 33 38 5d 20 28 73 74 61 6e 74  ug: 2138] (stant
31fb0 6f 6e 29 0a 0a 36 2f 34 2f 39 39 20 20 28 6e 65  on)..6/4/99  (ne
31fc0 77 20 66 65 61 74 75 72 65 29 20 57 69 6e 64 6f  w feature) Windo
31fd0 77 73 20 62 75 69 6c 64 20 6e 6f 77 20 75 73 65  ws build now use
31fe0 73 20 43 79 67 77 69 6e 20 74 6f 6f 6c 73 20 70  s Cygwin tools p
31ff0 6c 75 73 20 47 4e 55 0a 6d 61 6b 65 20 61 6e 64  lus GNU.make and
32000 20 61 75 74 6f 63 6f 6e 66 20 74 6f 20 62 75 69   autoconf to bui
32010 6c 64 20 73 74 61 74 69 63 2f 64 79 6e 61 6d 69  ld static/dynami
32020 63 20 61 6e 64 20 64 65 62 75 67 2f 6e 6f 64 65  c and debug/node
32030 62 75 67 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  bug. (stanton)..
32040 36 2f 37 2f 39 39 20 20 28 6e 65 77 20 66 65 61  6/7/99  (new fea
32050 74 75 72 65 29 20 4f 70 74 69 6d 69 7a 65 64 20  ture) Optimized 
32060 73 74 72 69 6e 67 20 69 6e 64 65 78 2c 20 6c 65  string index, le
32070 6e 67 74 68 2c 20 72 61 6e 67 65 2c 20 61 6e 64  ngth, range, and
32080 0a 61 70 70 65 6e 64 20 63 6f 6d 6d 61 6e 64 73  .append commands
32090 2e 20 41 64 64 65 64 20 61 20 6e 65 77 20 55 6e  . Added a new Un
320a0 69 63 6f 64 65 20 6f 62 6a 65 63 74 20 74 79 70  icode object typ
320b0 65 2e 20 28 68 65 72 73 68 65 79 29 0a 0a 36 2f  e. (hershey)..6/
320c0 38 2f 39 39 20 20 28 62 75 67 20 66 69 78 29 20  8/99  (bug fix) 
320d0 52 6f 6c 6c 65 64 20 62 61 63 6b 20 57 69 6e 64  Rolled back Wind
320e0 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69 76 65  ows socket drive
320f0 72 20 74 6f 20 38 2e 31 2e 30 0a 76 65 72 73 69  r to 8.1.0.versi
32100 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36  on. (stanton)..6
32110 2f 39 2f 39 39 20 20 28 6e 65 77 20 66 65 61 74  /9/99  (new feat
32120 75 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 52  ure) Added Tcl_R
32130 65 67 45 78 70 4d 61 74 63 68 4f 62 6a 20 61 6e  egExpMatchObj an
32140 64 20 54 63 6c 5f 52 65 67 45 78 70 47 65 74 49  d Tcl_RegExpGetI
32150 6e 66 6f 0a 74 6f 20 70 75 62 6c 69 63 20 54 63  nfo.to public Tc
32160 6c 20 41 50 49 2c 20 74 68 65 73 65 20 66 75 6e  l API, these fun
32170 63 74 69 6f 6e 73 20 61 72 65 20 6e 65 65 64 65  ctions are neede
32180 64 20 62 79 20 45 78 70 65 63 74 2e 20 20 43 68  d by Expect.  Ch
32190 61 6e 67 65 64 0a 74 6f 6f 6c 73 2f 67 65 6e 53  anged.tools/genS
321a0 74 75 62 73 2e 74 63 6c 20 74 6f 20 61 6c 77 61  tubs.tcl to alwa
321b0 79 73 20 77 72 69 74 65 20 6f 75 74 70 75 74 20  ys write output 
321c0 69 6e 20 4c 46 20 6d 6f 64 65 2e 20 28 73 74 61  in LF mode. (sta
321d0 6e 74 6f 6e 29 0a 0a 36 2f 31 34 2f 39 39 20 28  nton)..6/14/99 (
321e0 6e 65 77 20 66 65 61 74 75 72 65 29 20 4d 65 72  new feature) Mer
321f0 67 65 64 20 73 74 72 69 6e 67 20 61 6e 64 20 55  ged string and U
32200 6e 69 63 6f 64 65 20 6f 62 6a 65 63 74 20 74 79  nicode object ty
32210 70 65 73 2e 20 20 41 64 64 65 64 0a 6e 65 77 20  pes.  Added.new 
32220 70 75 62 6c 69 63 20 54 63 6c 20 41 50 49 20 66  public Tcl API f
32230 75 6e 63 74 69 6f 6e 73 3a 20 20 54 63 6c 5f 4e  unctions:  Tcl_N
32240 65 77 55 6e 69 63 6f 64 65 4f 62 6a 2c 20 54 63  ewUnicodeObj, Tc
32250 6c 5f 53 65 74 55 6e 69 63 6f 64 65 4f 62 6a 2c  l_SetUnicodeObj,
32260 0a 54 63 6c 5f 47 65 74 55 6e 69 63 6f 64 65 2c  .Tcl_GetUnicode,
32270 20 54 63 6c 5f 47 65 74 55 6e 69 43 68 61 72 2c   Tcl_GetUniChar,
32280 20 54 63 6c 5f 47 65 74 43 68 61 72 4c 65 6e 67   Tcl_GetCharLeng
32290 74 68 2c 20 54 63 6c 5f 47 65 74 52 61 6e 67 65  th, Tcl_GetRange
322a0 2c 0a 54 63 6c 5f 41 70 70 65 6e 64 55 6e 69 63  ,.Tcl_AppendUnic
322b0 6f 64 65 54 6f 4f 62 6a 2e 20 28 68 65 72 73 68  odeToObj. (hersh
322c0 65 79 29 0a 0a 36 2f 31 36 2f 39 39 20 28 6e 65  ey)..6/16/99 (ne
322d0 77 20 66 65 61 74 75 72 65 29 20 43 68 61 6e 67  w feature) Chang
322e0 65 64 20 74 6f 20 63 6f 6e 66 6f 72 6d 20 74 6f  ed to conform to
322f0 20 54 45 41 20 73 70 65 63 69 66 69 63 61 74 69   TEA specificati
32300 6f 6e 2c 20 61 64 64 65 64 0a 74 63 6c 2e 6d 34  on, added.tcl.m4
32310 20 61 6e 64 20 61 63 6c 6f 63 61 6c 2e 6d 34 20   and aclocal.m4 
32320 6d 61 63 72 6f 20 6c 69 62 72 61 72 69 65 73 20  macro libraries 
32330 66 6f 72 20 63 6f 6e 66 69 67 75 72 65 2e 20 20  for configure.  
32340 28 77 61 72 74 29 0a 0a 36 2f 31 37 2f 39 39 20  (wart)..6/17/99 
32350 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
32360 64 65 64 20 6e 65 77 20 72 65 67 65 78 70 20 69  ded new regexp i
32370 6e 74 65 72 66 61 63 65 73 3a 20 2d 65 78 70 61  nterfaces: -expa
32380 6e 64 65 64 2c 20 2d 6c 69 6e 65 2c 0a 2d 6c 69  nded, -line,.-li
32390 6e 65 73 74 6f 70 2c 20 61 6e 64 20 2d 6c 69 6e  nestop, and -lin
323a0 65 61 6e 63 68 6f 72 20 73 77 69 74 63 68 65 73  eanchor switches
323b0 2e 20 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f 52  .  Renamed Tcl_R
323c0 65 67 45 78 70 4d 61 74 63 68 4f 62 6a 20 74 6f  egExpMatchObj to
323d0 0a 54 63 6c 5f 52 65 67 45 78 70 45 78 65 63 4f  .Tcl_RegExpExecO
323e0 62 6a 20 61 6e 64 20 61 64 64 65 64 20 6e 65 77  bj and added new
323f0 20 54 63 6c 5f 52 65 67 45 78 70 4d 61 74 63 68   Tcl_RegExpMatch
32400 4f 62 6a 20 74 68 61 74 20 69 73 20 65 71 75 69  Obj that is equi
32410 76 61 6c 65 6e 74 0a 74 6f 20 54 63 6c 5f 52 65  valent.to Tcl_Re
32420 67 45 78 70 4d 61 74 63 68 2e 20 20 41 64 64 65  gExpMatch.  Adde
32430 64 20 70 75 62 6c 69 63 20 6d 61 63 72 6f 73 20  d public macros 
32440 66 6f 72 20 72 65 67 65 78 70 20 66 6c 61 67 73  for regexp flags
32450 2e 20 20 41 64 64 65 64 0a 52 45 47 5f 42 4f 53  .  Added.REG_BOS
32460 4f 4e 4c 59 20 66 6c 61 67 20 74 6f 20 61 6c 6c  ONLY flag to all
32470 6f 77 20 45 78 70 65 63 74 20 74 6f 20 69 74 65  ow Expect to ite
32480 72 61 74 65 20 74 68 72 6f 75 67 68 20 61 20 73  rate through a s
32490 74 72 69 6e 67 20 61 6e 64 20 6f 6e 6c 79 0a 66  tring and only.f
324a0 69 6e 64 20 6d 61 74 63 68 65 73 20 74 68 61 74  ind matches that
324b0 20 73 74 61 72 74 20 61 74 20 74 68 65 20 63 75   start at the cu
324c0 72 72 65 6e 74 20 70 6f 73 69 74 69 6f 6e 20 77  rrent position w
324d0 69 74 68 69 6e 20 74 68 65 0a 73 74 72 69 6e 67  ithin the.string
324e0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 32  . (stanton)..6/2
324f0 31 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46  1/99 (bug fix) F
32500 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b  ixed memory leak
32510 20 69 6e 20 54 63 6c 70 54 68 72 65 61 64 43 72   in TclpThreadCr
32520 65 61 74 65 20 77 68 65 72 65 20 74 68 72 65 61  eate where threa
32530 64 0a 61 74 74 72 69 62 75 74 65 73 20 77 65 72  d.attributes wer
32540 65 20 6e 6f 74 20 62 65 69 6e 67 20 72 65 6c 65  e not being rele
32550 61 73 65 64 2e 20 20 5b 42 75 67 3a 20 32 32 35  ased.  [Bug: 225
32560 34 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f  4] (stanton)..6/
32570 32 33 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75  23/99 (new featu
32580 72 65 29 20 55 70 64 61 74 65 64 20 55 6e 69 63  re) Updated Unic
32590 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 74 61  ode character ta
325a0 62 6c 65 73 20 74 6f 20 72 65 66 6c 65 63 74 0a  bles to reflect.
325b0 55 6e 69 63 6f 64 65 20 32 2e 31 20 64 61 74 61  Unicode 2.1 data
325c0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 32  . (stanton)..6/2
325d0 35 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72  5/99 (new featur
325e0 65 29 20 46 69 78 65 64 20 62 75 67 73 20 69 6e  e) Fixed bugs in
325f0 20 6e 6f 6e 2d 67 72 65 65 64 79 20 71 75 61 6e   non-greedy quan
32600 74 69 66 69 65 72 73 20 66 6f 72 20 72 65 67 75  tifiers for regu
32610 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e 20 63  lar.expression c
32620 6f 64 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ode. (stanton)..
32630 36 2f 32 35 2f 39 39 20 28 6e 65 77 20 66 65 61  6/25/99 (new fea
32640 74 75 72 65 29 20 41 64 64 65 64 20 69 6e 69 74  ture) Added init
32650 69 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ial implementati
32660 6f 6e 20 6f 66 20 6e 65 77 20 54 63 6c 20 74 65  on of new Tcl te
32670 73 74 0a 68 61 72 6e 65 73 73 20 70 61 63 6b 61  st.harness packa
32680 67 65 2e 20 20 4d 6f 64 69 66 69 65 64 20 74 65  ge.  Modified te
32690 73 74 20 66 69 6c 65 73 20 74 6f 20 75 73 65 20  st files to use 
326a0 6e 65 77 20 74 63 6c 74 65 73 74 20 70 61 63 6b  new tcltest pack
326b0 61 67 65 2e 0a 28 6a 65 6e 6e 29 0a 0a 36 2f 32  age..(jenn)..6/2
326c0 36 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72  6/99 (new featur
326d0 65 29 20 41 70 70 6c 69 65 64 20 70 61 74 63 68  e) Applied patch
326e0 20 66 72 6f 6d 20 50 65 74 65 72 20 48 61 72 64   from Peter Hard
326f0 69 65 20 74 6f 20 61 64 64 20 70 6f 6b 65 0a 63  ie to add poke.c
32700 6f 6d 6d 61 6e 64 20 74 6f 20 64 64 65 20 61 6e  ommand to dde an
32710 64 20 63 68 61 6e 67 65 64 20 74 68 65 20 64 64  d changed the dd
32720 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f  e package versio
32730 6e 20 6e 75 6d 62 65 72 20 74 6f 0a 31 2e 31 2e  n number to.1.1.
32740 20 28 72 65 64 6d 61 6e 29 20 0a 0a 36 2f 32 38   (redman) ..6/28
32750 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 70  /99 (bug fix) Ap
32760 70 6c 69 65 64 20 70 61 74 63 68 20 66 72 6f 6d  plied patch from
32770 20 50 65 74 65 72 20 48 61 72 64 69 65 20 74 6f   Peter Hardie to
32780 20 66 69 78 20 70 72 6f 62 6c 65 6d 20 69 6e 0a   fix problem in.
32790 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d  Tcl_GetIndexFrom
327a0 4f 62 6a 28 29 20 77 68 65 6e 20 74 68 65 20 6b  Obj() when the k
327b0 65 79 20 62 65 69 6e 67 20 70 61 73 73 65 64 20  ey being passed 
327c0 69 73 20 74 68 65 20 65 6d 70 74 79 20 73 74 72  is the empty str
327d0 69 6e 67 2e 0a 5b 42 75 67 3a 20 31 37 33 38 5d  ing..[Bug: 1738]
327e0 20 28 72 65 64 6d 61 6e 29 0a 0a 36 2f 32 39 2f   (redman)..6/29/
327f0 39 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  99 (new feature)
32800 20 41 64 64 65 64 20 6f 70 74 69 6f 6e 73 20 74   Added options t
32810 6f 20 74 63 6c 74 65 73 74 20 70 61 63 6b 61 67  o tcltest packag
32820 65 3a 20 2d 70 72 65 73 65 72 76 65 63 6f 72 65  e: -preservecore
32830 2c 0a 2d 6c 69 6d 69 74 63 6f 6e 73 74 72 61 69  ,.-limitconstrai
32840 6e 74 73 2c 20 2d 68 65 6c 70 2c 20 2d 66 69 6c  nts, -help, -fil
32850 65 2c 20 2d 6e 6f 74 66 69 6c 65 2c 20 61 6e 64  e, -notfile, and
32860 20 66 6c 61 67 73 2e 20 20 28 6a 65 6e 6e 29 0a   flags.  (jenn).
32870 0a 37 2f 33 2f 39 39 20 20 28 6e 65 77 20 66 65  .7/3/99  (new fe
32880 61 74 75 72 65 29 20 43 68 61 6e 67 65 64 20 70  ature) Changed p
32890 61 72 73 69 6e 67 20 6f 66 20 76 61 72 69 61 62  arsing of variab
328a0 6c 65 20 6e 61 6d 65 73 20 74 6f 20 61 6c 6c 6f  le names to allo
328b0 77 20 65 6d 70 74 79 0a 61 72 72 61 79 20 6e 61  w empty.array na
328c0 6d 65 73 2e 20 20 4e 6f 77 20 22 24 28 66 6f 6f  mes.  Now "$(foo
328d0 29 22 20 69 73 20 61 20 76 61 72 69 61 62 6c 65  )" is a variable
328e0 20 72 65 66 65 72 65 6e 63 65 2e 20 20 50 72 65   reference.  Pre
328f0 76 69 6f 75 73 6c 79 20 79 6f 75 0a 68 61 64 20  viously you.had 
32900 74 6f 20 75 73 65 20 73 6f 6d 65 74 68 69 6e 67  to use something
32910 20 6c 69 6e 65 20 24 3a 3a 28 66 6f 6f 29 2c 20   line $::(foo), 
32920 77 68 69 63 68 20 69 73 20 73 6c 6f 77 65 72 2e  which is slower.
32930 20 20 54 68 69 73 20 63 68 61 6e 67 65 20 77 61    This change wa
32940 73 0a 72 65 71 75 65 73 74 65 64 20 62 79 20 4a  s.requested by J
32950 65 61 6e 2d 4c 75 63 20 46 6f 6e 74 61 69 6e 65  ean-Luc Fontaine
32960 20 66 6f 72 20 68 69 73 20 53 54 4f 4f 4f 50 20   for his STOOOP 
32970 70 61 63 6b 61 67 65 2e 20 28 77 65 6c 63 68 29  package. (welch)
32980 0a 0a 37 2f 33 2f 39 39 20 20 28 6e 65 77 20 66  ..7/3/99  (new f
32990 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63  eature) Added Tc
329a0 6c 5f 53 65 74 4e 6f 74 69 66 69 65 72 20 28 70  l_SetNotifier (p
329b0 75 62 6c 69 63 20 41 50 49 29 20 61 6e 64 0a 61  ublic API) and.a
329c0 73 73 6f 63 69 61 74 65 64 20 68 6f 6f 6b 20 70  ssociated hook p
329d0 6f 69 6e 74 73 20 69 6e 20 74 68 65 20 6e 6f 74  oints in the not
329e0 69 66 69 65 72 73 20 74 6f 20 62 65 20 61 62 6c  ifiers to be abl
329f0 65 20 74 6f 20 72 65 70 6c 61 63 65 20 74 68 65  e to replace the
32a00 0a 6e 6f 74 69 66 69 65 72 20 63 61 6c 6c 73 20  .notifier calls 
32a10 61 74 20 72 75 6e 74 69 6d 65 2e 20 54 68 65 20  at runtime. The 
32a20 58 74 20 6e 6f 74 69 66 69 65 72 20 61 6e 64 20  Xt notifier and 
32a30 74 65 73 74 20 70 72 6f 67 72 61 6d 20 75 73 65  test program use
32a40 20 74 68 69 73 0a 68 6f 6f 6b 2e 20 20 28 77 65   this.hook.  (we
32a50 6c 63 68 29 0a 0a 37 2f 33 2f 39 39 20 20 28 6e  lch)..7/3/99  (n
32a60 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
32a70 64 20 61 20 6e 65 77 20 76 61 72 69 61 6e 74 20  d a new variant 
32a80 6f 66 20 74 68 65 20 22 54 72 66 20 63 6f 72 65  of the "Trf core
32a90 20 70 61 74 63 68 22 20 66 72 6f 6d 0a 41 6e 64   patch" from.And
32aa0 72 65 61 73 20 4b 75 70 72 69 65 73 20 74 68 61  reas Kupries tha
32ab0 74 20 61 64 64 73 20 6e 65 77 20 43 20 41 50 49  t adds new C API
32ac0 73 20 54 63 6c 5f 53 74 61 63 6b 43 68 61 6e 6e  s Tcl_StackChann
32ad0 65 6c 2c 0a 54 63 6c 5f 55 6e 73 74 61 63 6b 43  el,.Tcl_UnstackC
32ae0 68 61 6e 6e 65 6c 2c 20 61 6e 64 20 54 63 6c 5f  hannel, and Tcl_
32af0 47 65 74 53 74 61 63 6b 65 64 43 68 61 6e 6e 65  GetStackedChanne
32b00 6c 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20  l.  This allows 
32b10 74 68 65 20 54 72 66 0a 65 78 74 65 6e 73 69 6f  the Trf.extensio
32b20 6e 20 74 6f 20 77 6f 72 6b 20 77 69 74 68 6f 75  n to work withou
32b30 74 20 61 70 70 6c 79 69 6e 67 20 70 61 74 63 68  t applying patch
32b40 65 73 20 74 6f 20 74 68 65 20 54 63 6c 20 63 6f  es to the Tcl co
32b50 72 65 2e 20 28 77 65 6c 63 68 29 0a 0a 37 2f 36  re. (welch)..7/6
32b60 2f 39 39 20 20 28 6e 65 77 20 66 65 61 74 75 72  /99  (new featur
32b70 65 29 20 41 64 64 65 64 20 2d 74 69 6d 65 6f 75  e) Added -timeou
32b80 74 20 6f 70 74 69 6f 6e 20 74 6f 20 68 74 74 70  t option to http
32b90 2e 74 63 6c 20 74 6f 20 68 61 6e 64 6c 65 0a 74  .tcl to handle.t
32ba0 69 6d 65 6f 75 74 73 20 74 68 61 74 20 6f 63 63  imeouts that occ
32bb0 75 72 20 64 75 72 69 6e 67 20 63 6f 6e 6e 65 63  ur during connec
32bc0 74 69 6f 6e 20 61 74 74 65 6d 70 74 73 20 74 6f  tion attempts to
32bd0 20 68 6f 73 74 73 20 74 68 61 74 20 61 72 65 0a   hosts that are.
32be0 64 6f 77 6e 2e 20 28 77 65 6c 63 68 29 0a 0a 37  down. (welch)..7
32bf0 2f 36 2f 39 39 20 20 28 62 75 67 20 66 69 78 29  /6/99  (bug fix)
32c00 20 41 70 70 6c 69 65 64 20 6e 65 77 20 69 6d 70   Applied new imp
32c10 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74  lementation of t
32c20 68 65 20 57 69 6e 64 6f 77 73 20 73 65 72 69 61  he Windows seria
32c30 6c 0a 70 6f 72 74 20 64 72 69 76 65 72 20 66 72  l.port driver fr
32c40 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f 65 64 74  om Rolf Schroedt
32c50 65 72 20 74 68 61 74 20 66 69 78 65 73 20 72 65  er that fixes re
32c60 61 64 69 6e 67 20 6f 6e 6c 79 20 6f 6e 65 20 62  ading only one b
32c70 79 74 65 20 66 72 6f 6d 0a 74 68 65 20 70 6f 72  yte from.the por
32c80 74 20 61 74 20 61 20 74 69 6d 65 2e 20 20 55 73  t at a time.  Us
32c90 65 73 20 70 6f 6c 6c 69 6e 67 20 65 76 65 72 79  es polling every
32ca0 20 31 30 6d 73 20 74 6f 20 69 6d 70 6c 65 6d 65   10ms to impleme
32cb0 6e 74 0a 66 69 6c 65 65 76 65 6e 74 73 2e 20 5b  nt.fileevents. [
32cc0 42 75 67 3a 20 31 39 38 30 20 32 32 31 37 5d 20  Bug: 1980 2217] 
32cd0 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 38 2f 39 39  (redman)..7/8/99
32ce0 20 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c    (bug fix) Appl
32cf0 69 65 64 20 66 69 78 20 66 6f 72 20 62 75 67 20  ied fix for bug 
32d00 69 6e 20 44 46 41 20 73 74 61 74 65 20 63 61 63  in DFA state cac
32d10 68 69 6e 67 20 75 6e 64 65 72 0a 6c 6f 6f 6b 61  hing under.looka
32d20 68 65 61 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20  head conditions 
32d30 28 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73  (regular express
32d40 69 6f 6e 73 29 2e 20 20 5b 42 75 67 3a 20 32 33  ions).  [Bug: 23
32d50 31 38 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 37  18] (stanton)..7
32d60 2f 38 2f 39 39 20 20 28 62 75 67 20 66 69 78 29  /8/99  (bug fix)
32d70 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 73 74   Fixed bug in st
32d80 72 69 6e 67 20 72 61 6e 67 65 20 62 6f 75 6e 64  ring range bound
32d90 73 20 63 68 65 63 6b 69 6e 67 0a 63 6f 64 65 2e  s checking.code.
32da0 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d   (stanton)..----
32db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
32dc0 61 73 65 64 20 38 2e 32 62 31 2c 20 4a 75 6c 79  ased 8.2b1, July
32dd0 20 31 34 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d   14, 1999 ------
32de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
32df0 0a 0a 37 2f 31 36 2f 39 39 20 28 62 75 67 20 66  ..7/16/99 (bug f
32e00 69 78 29 20 41 64 64 65 64 20 54 63 6c 5f 53 65  ix) Added Tcl_Se
32e10 74 4e 6f 74 69 66 69 65 72 20 74 6f 20 73 74 75  tNotifier to stu
32e20 62 20 74 61 62 6c 65 2e 20 5b 42 75 67 3a 20 32  b table. [Bug: 2
32e30 33 36 34 5d 0a 41 64 64 65 64 20 63 68 65 63 6b  364].Added check
32e40 20 66 6f 72 20 41 6c 70 68 61 2f 4c 69 6e 75 78   for Alpha/Linux
32e50 20 74 6f 20 63 6f 72 72 65 63 74 20 74 68 65 20   to correct the 
32e60 49 45 45 45 20 20 66 6c 6f 61 74 69 6e 67 20 70  IEEE  floating p
32e70 6f 69 6e 74 20 66 6c 61 67 2c 0a 70 61 74 63 68  oint flag,.patch
32e80 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74 65 72   from Don Porter
32e90 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 30  . (redman)..7/20
32ea0 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 4d 65  /99 (bug fix) Me
32eb0 72 67 65 64 20 38 2e 30 2e 35 20 63 6f 64 65 20  rged 8.0.5 code 
32ec0 74 6f 20 68 61 6e 64 6c 65 20 74 63 6c 5f 6c 69  to handle tcl_li
32ed0 62 72 61 72 79 20 70 72 6f 70 65 72 6c 79 2c 0a  brary properly,.
32ee0 61 6c 73 6f 20 66 69 78 65 64 20 61 20 62 75 67  also fixed a bug
32ef0 20 74 68 61 74 20 63 61 75 73 65 64 20 54 43 4c   that caused TCL
32f00 5f 4c 49 42 52 41 52 59 20 74 6f 20 62 65 20 69  _LIBRARY to be i
32f10 67 6e 6f 72 65 64 2e 20 28 68 65 72 73 68 65 79  gnored. (hershey
32f20 29 0a 0a 37 2f 32 31 2f 39 39 20 28 62 75 67 20  )..7/21/99 (bug 
32f30 66 69 78 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64  fix) Implemented
32f40 20 6d 6f 64 69 66 69 65 64 20 73 6f 63 6b 65 74   modified socket
32f50 20 64 72 69 76 65 72 20 66 6f 72 20 57 69 6e 64   driver for Wind
32f60 6f 77 73 20 74 68 61 74 0a 75 73 65 73 20 61 20  ows that.uses a 
32f70 74 68 72 65 61 64 20 74 6f 20 6d 61 6e 61 67 65  thread to manage
32f80 20 74 68 65 20 73 6f 63 6b 65 74 20 65 76 65 6e   the socket even
32f90 74 20 77 69 6e 64 6f 77 2e 20 20 43 6f 64 65 20  t window.  Code 
32fa0 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 0a 6f  works the same.o
32fb0 6e 20 61 6c 6c 20 73 75 70 70 6f 72 74 65 64 20  n all supported 
32fc0 76 65 72 73 69 6f 6e 73 20 6f 66 20 57 69 6e 64  versions of Wind
32fd0 6f 77 73 20 61 6e 64 20 77 61 73 20 62 61 73 65  ows and was base
32fe0 64 20 6f 6e 20 6f 72 69 67 69 6e 61 6c 20 38 2e  d on original 8.
32ff0 31 2e 30 0a 63 6f 64 65 2e 20 20 5b 42 75 67 3a  1.0.code.  [Bug:
33000 20 32 31 37 38 20 32 32 35 36 20 32 32 35 39 20   2178 2256 2259 
33010 32 33 32 39 20 32 33 32 33 20 32 33 35 35 5d 20  2329 2323 2355] 
33020 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 31 2f 39  (redman)..7/21/9
33030 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  9 (new feature) 
33040 41 70 70 6c 69 65 64 20 70 61 74 63 68 20 66 72  Applied patch fr
33050 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f 65 64 74  om Rolf Schroedt
33060 65 72 20 74 6f 20 61 64 64 0a 2d 70 6f 6c 6c 69  er to add.-polli
33070 6e 74 65 72 76 61 6c 20 6f 70 74 69 6f 6e 20 74  nterval option t
33080 6f 20 66 63 6f 6e 66 69 67 75 72 65 20 66 6f 72  o fconfigure for
33090 20 57 69 6e 64 6f 77 73 20 73 65 72 69 61 6c 20   Windows serial 
330a0 70 6f 72 74 73 2e 20 20 41 6c 6c 6f 77 73 0a 74  ports.  Allows.t
330b0 68 65 20 6d 61 78 62 6c 6f 63 6b 74 69 6d 65 20  he maxblocktime 
330c0 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 74  to be modified t
330d0 6f 20 63 6f 6e 74 72 6f 6c 20 68 6f 77 20 6f 66  o control how of
330e0 74 65 6e 20 73 65 72 69 61 6c 20 70 6f 72 74 73  ten serial ports
330f0 20 61 72 65 0a 63 68 65 63 6b 65 64 20 66 6f 72   are.checked for
33100 20 66 69 6c 65 65 76 65 6e 74 73 2e 20 20 41 6c   fileevents.  Al
33110 73 6f 20 61 64 64 65 64 20 64 6f 63 75 6d 65 6e  so added documen
33120 74 61 74 69 6f 6e 20 66 6f 72 20 5c 5c 2e 5c 63  tation for \\.\c
33130 6f 6d 58 0a 6e 6f 74 61 74 69 6f 6e 20 66 6f 72  omX.notation for
33140 20 6f 70 65 6e 69 6e 67 20 73 65 72 69 61 6c 20   opening serial 
33150 70 6f 72 74 73 20 6f 6e 20 57 69 6e 64 6f 77 73  ports on Windows
33160 2e 20 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32  .  (redman)..7/2
33170 31 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 43  1/99 (bug fix) C
33180 68 61 6e 67 65 64 20 41 50 49 73 20 69 6e 20 73  hanged APIs in s
33190 74 75 62 20 74 61 62 6c 65 73 20 74 6f 20 75 73  tub tables to us
331a0 65 20 22 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67  e "unsigned long
331b0 22 0a 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65  ".instead of the
331c0 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 66   platform-specif
331d0 69 63 20 22 73 69 7a 65 5f 74 22 2c 20 70 72 69  ic "size_t", pri
331e0 6d 61 72 69 6c 79 20 61 66 74 65 72 20 53 75 6e  marily after Sun
331f0 4f 53 20 34 0a 75 73 65 72 73 20 63 6f 75 6c 64  OS 4.users could
33200 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 6f 6d 70 69   no longer compi
33210 6c 65 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f  le. (redman)..7/
33220 32 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  22/99 (bug fix) 
33230 46 69 78 65 64 20 63 72 61 73 68 69 6e 67 20 64  Fixed crashing d
33240 75 72 69 6e 67 20 22 61 72 72 61 79 20 73 65 74  uring "array set
33250 20 61 28 62 29 20 7b 7d 22 2e 20 0a 5b 42 75 67   a(b) {}". .[Bug
33260 3a 20 32 34 32 37 5d 20 28 72 65 64 6d 61 6e 29  : 2427] (redman)
33270 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75 67 20 66  ..7/22/99 (bug f
33280 69 78 29 20 54 68 65 20 69 6e 73 74 61 6c 6c 2d  ix) The install-
33290 73 68 20 73 63 72 69 70 74 20 6d 75 73 74 20 62  sh script must b
332a0 65 20 67 69 76 65 6e 20 65 78 65 63 75 74 65 0a  e given execute.
332b0 70 65 72 6d 69 73 73 69 6f 6e 73 20 70 72 69 6f  permissions prio
332c0 72 20 74 6f 20 72 75 6e 6e 69 6e 67 2e 20 20 5b  r to running.  [
332d0 42 75 67 3a 20 32 34 31 33 5d 20 28 72 65 64 6d  Bug: 2413] (redm
332e0 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75  an)..7/22/99 (bu
332f0 67 20 66 69 78 29 20 41 70 70 6c 69 65 64 20 70  g fix) Applied p
33300 61 74 63 68 20 66 72 6f 6d 20 55 6c 72 69 63 68  atch from Ulrich
33310 20 52 69 6e 67 20 74 6f 20 72 65 6d 6f 76 65 20   Ring to remove 
33320 41 4e 53 49 2d 73 74 79 6c 65 0a 70 72 6f 74 6f  ANSI-style.proto
33330 74 79 70 65 73 20 69 6e 20 74 68 65 20 63 6f 64  types in the cod
33340 65 2e 20 20 5b 42 75 67 3a 20 32 33 39 31 5d 20  e.  [Bug: 2391] 
33350 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 32 2f 39  (redman)..7/22/9
33360 39 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65  9 (bug fix) Adde
33370 64 20 23 69 66 20 62 6c 6f 63 6b 73 20 61 72 6f  d #if blocks aro
33380 75 6e 64 20 23 69 6e 63 6c 75 64 65 73 20 6f 66  und #includes of
33390 20 73 79 73 2f 2a 2e 68 20 68 65 61 64 65 72 0a   sys/*.h header.
333a0 66 69 6c 65 73 2c 20 74 6f 20 61 6c 6c 6f 77 20  files, to allow 
333b0 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 61 75 74  an extension aut
333c0 68 6f 72 20 6f 6e 20 57 69 6e 64 6f 77 73 20 74  hor on Windows t
333d0 6f 20 75 73 65 20 74 68 65 20 4d 65 74 72 6f 57  o use the MetroW
333e0 65 72 6b 73 0a 63 6f 6d 70 69 6c 65 72 2e 20 5b  erks.compiler. [
333f0 42 75 67 3a 20 32 33 38 35 5d 20 28 72 65 64 6d  Bug: 2385] (redm
33400 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75  an)..7/22/99 (bu
33410 67 20 66 69 78 29 20 46 69 78 65 64 20 72 75 6e  g fix) Fixed run
33420 6e 69 6e 67 20 74 68 65 20 73 61 66 65 2e 74 65  ning the safe.te
33430 73 74 20 74 65 73 74 20 73 75 69 74 65 2c 20 6f  st test suite, o
33440 6e 65 20 63 68 61 6e 67 65 0a 74 6f 20 74 68 65  ne change.to the
33450 20 57 69 6e 64 6f 77 73 20 4d 61 6b 65 66 69 6c   Windows Makefil
33460 65 2e 69 6e 20 74 6f 20 66 69 78 20 70 61 74 68  e.in to fix path
33470 73 20 61 6e 64 20 61 6e 6f 74 68 65 72 20 69 6e  s and another in
33480 20 73 61 66 65 2e 74 65 73 74 20 74 6f 0a 63 68   safe.test to.ch
33490 65 63 6b 20 66 6f 72 20 74 68 65 20 74 63 6c 5f  eck for the tcl_
334a0 70 6c 61 74 66 6f 72 6d 28 74 68 72 65 61 64 65  platform(threade
334b0 64 29 20 76 61 72 69 61 62 6c 65 20 70 72 6f 70  d) variable prop
334c0 65 72 6c 79 2e 20 28 72 65 64 6d 61 6e 29 0a 0a  erly. (redman)..
334d0 37 2f 32 32 2f 39 39 20 28 62 75 67 20 66 69 78  7/22/99 (bug fix
334e0 29 20 46 69 78 65 64 20 68 61 6e 67 69 6e 67 20  ) Fixed hanging 
334f0 69 6e 20 6e 65 77 20 57 69 6e 33 32 20 73 6f 63  in new Win32 soc
33500 6b 65 74 20 64 72 69 76 65 72 20 77 69 74 68 0a  ket driver with.
33510 74 68 72 65 61 64 73 20 65 6e 61 62 6c 65 64 2e  threads enabled.
33520 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 36 2f   (redman)..7/26/
33530 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78  99 (bug fix) Fix
33540 65 64 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 6f  ed terminating o
33550 66 20 68 65 6c 70 65 72 20 74 68 72 65 61 64 73  f helper threads
33560 20 62 79 20 68 6f 6c 64 69 6e 67 20 61 6e 79 0a   by holding any.
33570 6d 75 74 65 78 65 73 20 66 72 6f 6d 20 74 68 65  mutexes from the
33580 20 70 72 69 6d 61 72 79 20 74 68 72 65 61 64 20   primary thread 
33590 77 68 69 6c 65 20 77 61 69 74 69 6e 67 20 66 6f  while waiting fo
335a0 72 20 74 68 65 20 68 65 6c 70 65 72 20 74 68 72  r the helper thr
335b0 65 61 64 20 74 6f 0a 74 65 72 6d 69 6e 61 74 65  ead to.terminate
335c0 2e 20 20 46 69 78 65 73 20 64 75 61 6c 2d 43 50  .  Fixes dual-CP
335d0 55 20 57 69 6e 4e 54 20 68 61 6e 67 73 2c 20 6f  U WinNT hangs, o
335e0 6e 6c 79 20 6f 6e 65 20 72 61 72 65 20 73 70 6f  nly one rare spo
335f0 72 61 64 69 63 20 68 61 6e 67 0a 74 68 61 74 20  radic hang.that 
33600 73 74 69 6c 6c 20 65 78 69 73 74 73 20 77 69 74  still exists wit
33610 68 20 64 75 61 6c 2d 43 50 55 20 57 69 6e 4e 54  h dual-CPU WinNT
33620 2e 20 20 41 6c 73 6f 20 66 69 78 65 64 20 74 65  .  Also fixed te
33630 73 74 20 63 61 73 65 73 20 73 6f 20 74 68 61 74  st cases so that
33640 0a 74 68 65 79 20 77 6f 75 6c 64 20 6e 6f 74 20  .they would not 
33650 64 65 70 65 6e 64 20 61 73 20 6d 75 63 68 20 6f  depend as much o
33660 6e 20 74 69 6d 69 6e 67 20 66 6f 72 20 64 75 61  n timing for dua
33670 6c 2d 43 50 55 20 57 69 6e 4e 54 2e 20 28 72 65  l-CPU WinNT. (re
33680 64 6d 61 6e 29 0a 0a 37 2f 32 37 2f 39 39 20 28  dman)..7/27/99 (
33690 62 75 67 20 66 69 78 29 20 53 6f 6d 65 20 74 65  bug fix) Some te
336a0 73 74 20 73 75 69 74 65 20 63 6c 65 61 6e 75 70  st suite cleanup
336b0 2e 20 28 6a 65 6e 6e 29 0a 0a 37 2f 32 39 2f 39  . (jenn)..7/29/9
336c0 39 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c  9 (bug fix) Appl
336d0 69 65 64 20 70 61 74 63 68 20 74 6f 20 66 69 78  ied patch to fix
336e0 20 74 79 70 6f 20 69 6e 20 2e 53 48 20 4e 41 4d   typo in .SH NAM
336f0 45 20 6c 69 6e 65 20 69 6e 0a 64 6f 63 2f 45 6e  E line in.doc/En
33700 63 6f 64 69 6e 67 2e 6e 20 5b 42 75 67 3a 20 32  coding.n [Bug: 2
33710 34 35 31 5d 2e 20 20 41 70 70 6c 69 65 64 20 70  451].  Applied p
33720 61 74 63 68 20 74 6f 20 61 76 6f 69 64 20 6c 69  atch to avoid li
33730 6e 6b 69 6e 67 20 70 61 63 6b 2e 6e 20 74 6f 0a  nking pack.n to.
33740 70 61 63 6b 2d 6f 6c 64 2e 6e 20 5b 42 75 67 3a  pack-old.n [Bug:
33750 20 32 34 36 39 5d 2e 20 50 61 74 63 68 65 73 20   2469]. Patches 
33760 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74 65 72 2e  from Don Porter.
33770 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 39 2f   (redman)..7/29/
33780 39 39 20 28 62 75 67 20 66 69 78 29 20 41 6c 6c  99 (bug fix) All
33790 6f 77 20 74 63 6c 20 74 6f 20 6f 70 65 6e 20 43  ow tcl to open C
337a0 4f 4e 20 61 6e 64 20 4e 55 4c 2c 20 65 76 65 6e  ON and NUL, even
337b0 20 66 6f 72 20 72 65 64 69 72 65 63 74 69 6f 6e   for redirection
337c0 0a 6f 66 20 73 74 64 20 63 68 61 6e 6e 65 6c 73  .of std channels
337d0 2e 20 20 5b 42 75 67 3a 20 32 33 39 33 20 32 33  .  [Bug: 2393 23
337e0 39 32 20 32 32 30 39 20 32 34 35 38 5d 20 28 72  92 2209 2458] (r
337f0 65 64 6d 61 6e 29 0a 0a 37 2f 33 30 2f 39 39 20  edman)..7/30/99 
33800 28 62 75 67 20 66 69 78 29 20 41 70 70 6c 69 65  (bug fix) Applie
33810 64 20 66 69 78 65 64 20 54 72 66 20 70 61 74 63  d fixed Trf patc
33820 68 20 66 72 6f 6d 20 41 6e 64 72 65 61 73 20 4b  h from Andreas K
33830 75 70 72 69 65 73 2e 20 0a 5b 42 75 67 3a 20 32  upries. .[Bug: 2
33840 33 38 36 5d 20 28 68 6f 62 62 73 29 0a 0a 37 2f  386] (hobbs)..7/
33850 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
33860 46 69 78 65 64 20 62 75 67 20 69 6e 20 69 6e 66  Fixed bug in inf
33870 6f 20 63 6f 6d 70 6c 65 74 65 2e 20 5b 42 75 67  o complete. [Bug
33880 3a 20 32 33 38 33 20 32 34 36 36 5d 20 28 68 6f  : 2383 2466] (ho
33890 62 62 73 29 0a 0a 37 2f 33 30 2f 39 39 20 28 62  bbs)..7/30/99 (b
338a0 75 67 20 66 69 78 29 20 41 70 70 6c 69 65 64 20  ug fix) Applied 
338b0 70 61 74 63 68 20 74 6f 20 66 69 78 20 74 68 72  patch to fix thr
338c0 65 61 64 69 6e 67 20 6f 6e 20 49 72 69 78 20 36  eading on Irix 6
338d0 2e 35 2c 20 70 61 74 63 68 0a 70 72 6f 76 69 64  .5, patch.provid
338e0 65 64 20 62 79 20 4a 61 6d 65 73 20 44 65 6e 6e  ed by James Denn
338f0 65 74 74 2e 20 20 5b 42 75 67 3a 20 32 34 35 30  ett.  [Bug: 2450
33900 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 33 30  ] (redman)..7/30
33910 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69  /99 (bug fix) Fi
33920 78 65 64 20 6c 61 75 6e 63 68 69 6e 67 20 6f 66  xed launching of
33930 20 31 36 62 69 74 20 61 70 70 6c 69 63 61 74 69   16bit applicati
33940 6f 6e 73 20 6f 6e 20 57 69 6e 39 78 20 66 72 6f  ons on Win9x fro
33950 6d 0a 77 69 73 68 2e 20 20 54 68 65 20 63 6f 6d  m.wish.  The com
33960 6d 61 6e 64 20 6c 69 6e 65 20 77 61 73 20 62 65  mand line was be
33970 69 6e 67 20 70 72 69 6d 65 64 20 77 69 74 68 20  ing primed with 
33980 74 63 6c 70 69 70 38 32 2e 64 6c 6c 2c 20 62 75  tclpip82.dll, bu
33990 74 20 69 74 20 77 61 73 0a 69 67 6e 6f 72 65 64  t it was.ignored
339a0 20 6c 61 74 65 72 2e 20 0a 0a 37 2f 33 30 2f 39   later. ..7/30/9
339b0 39 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65  9 (bug fix) Adde
339c0 64 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 73  d functions to s
339d0 74 75 62 20 74 61 62 6c 65 2c 20 70 61 74 63 68  tub table, patch
339e0 20 70 72 6f 76 69 64 65 64 20 62 79 20 4a 61 6e   provided by Jan
339f0 0a 4e 69 6a 74 6d 61 6e 73 2e 20 5b 42 75 67 3a  .Nijtmans. [Bug:
33a00 20 32 34 34 35 5d 20 28 68 6f 62 62 73 29 0a 0a   2445] (hobbs)..
33a10 38 2f 31 2f 39 39 20 20 28 62 75 67 20 66 69 78  8/1/99  (bug fix
33a20 29 20 43 68 61 6e 67 65 64 20 57 69 6e 64 6f 77  ) Changed Window
33a30 73 20 73 6f 63 6b 65 74 20 64 72 69 76 65 72 20  s socket driver 
33a40 74 6f 20 74 65 72 6d 69 6e 61 74 65 20 74 68 72  to terminate thr
33a50 65 61 64 73 0a 62 79 20 73 65 6e 64 69 6e 67 20  eads.by sending 
33a60 61 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65  a message to the
33a70 20 77 69 6e 64 6f 77 20 72 61 74 68 65 72 20 74   window rather t
33a80 68 61 6e 20 63 61 6c 6c 69 6e 67 0a 54 65 72 6d  han calling.Term
33a90 69 6e 61 74 65 54 68 72 65 61 64 28 29 2c 20 77  inateThread(), w
33aa0 68 69 63 68 20 73 65 65 6d 73 20 74 6f 20 6c 65  hich seems to le
33ab0 61 6b 20 61 62 6f 75 74 20 34 6b 20 66 72 6f 6d  ak about 4k from
33ac0 20 74 68 65 20 68 65 6c 70 65 72 0a 74 68 72 65   the helper.thre
33ad0 61 64 27 73 20 73 74 61 63 6b 20 73 70 61 63 65  ad's stack space
33ae0 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 2d 2d 2d 2d  . (redman)..----
33af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
33b00 61 73 65 64 20 38 2e 32 62 32 2c 20 41 75 67 75  ased 8.2b2, Augu
33b10 73 74 20 35 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d  st 5, 1999 -----
33b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
33b30 2d 0a 0a 38 2f 34 2f 39 39 20 28 62 75 67 20 66  -..8/4/99 (bug f
33b40 69 78 29 20 41 70 70 6c 69 65 64 20 70 61 74 63  ix) Applied patc
33b50 68 65 73 20 73 75 70 70 6c 69 65 64 20 62 79 20  hes supplied by 
33b60 48 65 6e 72 79 20 53 70 65 6e 63 65 72 20 74 6f  Henry Spencer to
33b70 20 67 72 65 61 74 6c 79 0a 65 6e 68 61 6e 63 65   greatly.enhance
33b80 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 6f 66 20   performance of 
33b90 63 65 72 74 61 69 6e 20 63 6c 61 73 73 65 73 20  certain classes 
33ba0 6f 66 20 72 65 67 75 6c 61 72 20 65 78 70 72 65  of regular expre
33bb0 73 73 69 6f 6e 73 2e 20 0a 5b 42 75 67 3a 20 32  ssions. .[Bug: 2
33bc0 34 34 30 20 32 34 34 37 5d 20 28 73 74 61 6e 74  440 2447] (stant
33bd0 6f 6e 29 0a 0a 38 2f 35 2f 39 39 20 28 64 6f 63  on)..8/5/99 (doc
33be0 20 63 68 61 6e 67 65 29 20 4d 61 64 65 20 69 74   change) Made it
33bf0 20 63 6c 65 61 72 20 74 68 61 74 20 74 63 6c 5f   clear that tcl_
33c00 70 6b 67 50 61 74 68 20 77 61 73 20 6e 6f 74 20  pkgPath was not 
33c10 73 65 74 20 66 6f 72 0a 57 69 6e 64 6f 77 73 2e  set for.Windows.
33c20 20 5b 42 75 67 3a 20 32 34 35 35 5d 20 28 68 6f   [Bug: 2455] (ho
33c30 62 62 73 29 0a 0a 38 2f 35 2f 39 39 20 28 62 75  bbs)..8/5/99 (bu
33c40 67 20 66 69 78 29 20 46 69 78 65 64 20 72 65 66  g fix) Fixed ref
33c50 65 72 65 6e 63 65 20 74 6f 20 62 79 74 65 73 20  erence to bytes 
33c60 74 68 61 74 20 6d 69 67 68 74 20 6e 6f 74 20 62  that might not b
33c70 65 20 6e 75 6c 6c 0a 74 65 72 6d 69 6e 61 74 65  e null.terminate
33c80 64 20 69 6e 20 74 63 6c 4c 69 74 65 72 61 6c 2e  d in tclLiteral.
33c90 63 2e 20 5b 42 75 67 3a 20 32 34 39 36 5d 20 28  c. [Bug: 2496] (
33ca0 68 6f 62 62 73 29 0a 0a 38 2f 35 2f 39 39 20 28  hobbs)..8/5/99 (
33cb0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 74  bug fix) Fixed t
33cc0 79 70 6f 20 69 6e 20 68 74 74 70 2e 74 63 6c 2e  ypo in http.tcl.
33cd0 20 5b 42 75 67 3a 20 32 35 30 32 5d 20 28 68 6f   [Bug: 2502] (ho
33ce0 62 62 73 29 0a 0a 38 2f 39 2f 39 39 20 28 62 75  bbs)..8/9/99 (bu
33cf0 67 20 66 69 78 29 20 46 69 78 65 64 20 74 65 73  g fix) Fixed tes
33d00 74 20 73 75 69 74 65 20 74 6f 20 68 61 6e 64 6c  t suite to handl
33d10 65 20 6c 61 72 67 65 72 20 69 6e 74 65 67 65 72  e larger integer
33d20 73 0a 28 36 34 62 69 74 29 2e 20 50 61 74 63 68  s.(64bit). Patch
33d30 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74 65 72   from Don Porter
33d40 2e 20 28 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39  . (hobbs)..8/9/9
33d50 39 20 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e  9 (documentation
33d60 20 66 69 78 29 20 43 6c 61 72 69 66 69 65 64 20   fix) Clarified 
33d70 54 63 6c 5f 44 65 63 72 52 65 66 43 6f 75 6e 74  Tcl_DecrRefCount
33d80 20 64 6f 63 73 20 0a 5b 42 75 67 3a 20 31 39 35   docs .[Bug: 195
33d90 32 5d 2e 20 43 6c 61 72 69 66 69 65 64 20 61 72  2]. Clarified ar
33da0 72 61 79 20 70 61 74 74 65 72 6e 20 64 6f 63 73  ray pattern docs
33db0 20 5b 42 75 67 3a 20 31 33 33 30 5d 2e 20 46 69   [Bug: 1330]. Fi
33dc0 78 65 64 20 63 6c 6f 63 6b 20 64 6f 63 73 0a 5b  xed clock docs.[
33dd0 42 75 67 3a 20 36 39 33 5d 2e 20 46 69 78 65 64  Bug: 693]. Fixed
33de0 20 66 6f 72 6d 61 74 74 69 6e 67 20 65 72 72 6f   formatting erro
33df0 72 73 20 5b 42 75 67 3a 20 32 31 38 38 20 32 31  rs [Bug: 2188 21
33e00 38 39 5d 2e 20 46 69 78 65 64 20 64 6f 63 20 65  89]. Fixed doc e
33e10 72 72 6f 72 0a 69 6e 20 74 63 6c 76 61 72 73 2e  rror.in tclvars.
33e20 6e 20 5b 42 75 67 3a 20 32 30 34 32 5d 2e 20 28  n [Bug: 2042]. (
33e30 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39 39 20 28  hobbs)..8/9/99 (
33e40 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 70  bug fix) Fixed p
33e50 61 74 68 20 68 61 6e 64 6c 69 6e 67 20 69 6e 20  ath handling in 
33e60 61 75 74 6f 5f 65 78 65 63 6f 6b 20 5b 42 75 67  auto_execok [Bug
33e70 3a 20 31 32 37 36 5d 20 28 68 6f 62 62 73 29 0a  : 1276] (hobbs).
33e80 0a 38 2f 39 2f 39 39 20 28 69 6e 74 65 72 6e 61  .8/9/99 (interna
33e90 6c 20 61 70 69 20 63 68 61 6e 67 65 29 20 52 65  l api change) Re
33ea0 6d 6f 76 65 64 20 74 68 65 20 54 63 6c 70 4d 75  moved the TclpMu
33eb0 74 65 78 4c 6f 63 6b 20 61 6e 64 20 54 63 6c 70  texLock and Tclp
33ec0 4d 75 74 65 78 55 6e 6c 6f 63 6b 0a 41 50 49 73  MutexUnlock.APIs
33ed0 20 61 6e 64 20 61 64 64 65 64 20 61 20 6e 65 77   and added a new
33ee0 20 65 78 70 6f 72 74 65 64 20 61 70 69 2c 20 54   exported api, T
33ef0 63 6c 5f 47 65 74 41 6c 6c 6f 63 4d 75 74 65 78  cl_GetAllocMutex
33f00 2e 20 54 68 65 73 65 20 41 50 49 73 20 61 72 65  . These APIs are
33f10 20 61 6c 6c 20 66 6f 72 0a 74 68 65 20 6d 75 74   all for.the mut
33f20 65 78 20 75 73 65 64 20 69 6e 20 74 68 65 20 73  ex used in the s
33f30 69 6d 70 6c 65 20 6d 65 6d 6f 72 79 20 61 6c 6c  imple memory all
33f40 6f 63 61 74 6f 72 73 2e 20 20 42 79 20 6d 61 6b  ocators.  By mak
33f50 69 6e 67 20 74 68 69 73 20 63 68 61 6e 67 65 0a  ing this change.
33f60 77 65 20 61 72 65 20 61 62 6c 65 20 74 6f 20 73  we are able to s
33f70 75 62 73 74 69 74 75 74 65 20 64 69 66 66 65 72  ubstitute differ
33f80 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  ent implementati
33f90 6f 6e 73 20 6f 66 20 74 68 65 20 74 68 72 65 61  ons of the threa
33fa0 64 2d 72 65 6c 61 74 65 64 0a 41 50 49 73 20 77  d-related.APIs w
33fb0 69 74 68 6f 75 74 20 68 61 76 69 6e 67 20 74 6f  ithout having to
33fc0 20 72 65 63 6f 6d 70 69 6c 65 20 74 68 65 20 54   recompile the T
33fd0 63 6c 20 63 6f 72 65 2e 20 28 77 65 6c 63 68 29  cl core. (welch)
33fe0 0a 0a 38 2f 39 2f 39 39 20 28 6e 65 77 20 43 20  ..8/9/99 (new C 
33ff0 41 50 49 29 20 54 63 6c 5f 47 65 74 43 68 61 6e  API) Tcl_GetChan
34000 6e 65 6c 4e 61 6d 65 73 20 72 65 74 75 72 6e 73  nelNames returns
34010 20 61 20 6c 69 73 74 20 6f 66 20 6f 70 65 6e 20   a list of open 
34020 63 68 61 6e 6e 65 6c 0a 6e 61 6d 65 73 20 69 6e  channel.names in
34030 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72   the interpreter
34040 20 72 65 73 75 6c 74 2e 20 20 53 74 69 6c 6c 20   result.  Still 
34050 6e 6f 20 54 63 6c 2d 6c 65 76 65 6c 20 76 65 72  no Tcl-level ver
34060 73 69 6f 6e 20 6f 66 20 74 68 69 73 2c 0a 62 75  sion of this,.bu
34070 74 20 73 65 72 76 65 72 2d 6c 69 6b 65 20 61 70  t server-like ap
34080 70 6c 69 63 61 74 69 6f 6e 73 20 63 61 6e 20 75  plications can u
34090 73 65 20 74 68 69 73 20 74 6f 20 63 6c 65 61 6e  se this to clean
340a0 20 75 70 20 66 69 6c 65 73 20 77 69 74 68 6f 75   up files withou
340b0 74 0a 64 65 6c 65 74 69 6e 67 20 69 6e 74 65 72  t.deleting inter
340c0 70 72 65 74 65 72 73 2e 20 28 77 65 6c 63 68 29  preters. (welch)
340d0 0a 0a 38 2f 39 2f 39 39 20 28 62 75 67 20 66 69  ..8/9/99 (bug fi
340e0 78 29 20 54 72 61 63 65 73 20 77 65 72 65 20 6e  x) Traces were n
340f0 6f 74 20 66 69 72 69 6e 67 20 6f 6e 20 22 69 6e  ot firing on "in
34100 66 6f 20 65 78 69 73 74 73 22 2c 20 77 68 69 63  fo exists", whic
34110 68 20 75 73 65 64 20 74 6f 0a 68 61 70 70 65 6e  h used to.happen
34120 20 69 6e 20 54 63 6c 20 37 2e 36 20 61 6e 64 20   in Tcl 7.6 and 
34130 65 61 72 6c 69 65 72 2e 20 41 6e 20 22 69 6e 66  earlier. An "inf
34140 6f 20 65 78 69 73 74 73 22 20 6e 6f 77 20 66 69  o exists" now fi
34150 72 65 73 20 61 20 72 65 61 64 20 74 72 61 63 65  res a read trace
34160 2c 0a 69 66 20 64 65 66 69 6e 65 64 2e 20 20 54  ,.if defined.  T
34170 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 6f 73  his makes it pos
34180 73 69 62 6c 65 20 74 6f 20 66 75 6c 6c 79 20 69  sible to fully i
34190 6d 70 6c 65 6d 65 6e 74 20 76 61 72 69 61 62 6c  mplement variabl
341a0 65 73 20 74 68 61 74 0a 61 72 65 20 64 65 66 69  es that.are defi
341b0 6e 65 64 20 76 69 61 20 74 72 61 63 65 73 2e 20  ned via traces. 
341c0 28 77 65 6c 63 68 29 0a 0a 38 2f 31 30 2f 39 39  (welch)..8/10/99
341d0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
341e0 20 42 72 65 6e 74 27 73 20 63 68 61 6e 67 65 73   Brent's changes
341f0 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 77 6f   so that they wo
34200 72 6b 20 6f 6e 0a 57 69 6e 64 6f 77 73 2e 20 28  rk on.Windows. (
34210 72 65 64 6d 61 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  redman)..-------
34220 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
34230 64 20 38 2e 32 62 33 2c 20 41 75 67 75 73 74 20  d 8.2b3, August 
34240 31 31 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d 2d  11, 1999 -------
34250 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
34260 0a 38 2f 31 32 2f 39 39 20 28 4d 61 63 29 20 52  .8/12/99 (Mac) R
34270 65 61 72 72 61 6e 67 65 20 70 72 6f 6a 65 63 74  earrange project
34280 73 20 69 6e 20 74 63 6c 4d 61 63 50 72 6f 6a 65  s in tclMacProje
34290 63 74 73 2e 73 65 61 2e 68 71 78 20 73 6f 20 74  cts.sea.hqx so t
342a0 68 61 74 20 74 68 65 0a 62 75 69 6c 64 20 64 69  hat the.build di
342b0 72 65 63 74 6f 72 79 20 69 73 20 73 65 70 61 72  rectory is separ
342c0 61 74 65 20 66 72 6f 6d 20 74 68 65 20 73 6f 75  ate from the sou
342d0 72 63 65 73 2e 20 28 4a 69 6d 20 49 6e 67 68 61  rces. (Jim Ingha
342e0 6d 29 0a 0a 38 2f 31 32 2f 39 39 20 28 62 75 67  m)..8/12/99 (bug
342f0 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
34300 69 6e 20 54 63 6c 5f 45 76 61 6c 45 78 20 77 68  in Tcl_EvalEx wh
34310 65 72 65 20 74 68 65 20 74 65 72 6d 4f 66 66 73  ere the termOffs
34320 65 74 20 77 61 73 20 6e 6f 74 0a 62 65 69 6e 67  et was not.being
34330 20 75 70 64 61 74 65 64 20 69 6e 20 63 61 73 65   updated in case
34340 73 20 77 68 65 72 65 20 74 68 65 20 65 76 61 6c  s where the eval
34350 75 61 74 69 6f 6e 20 72 65 74 75 72 6e 65 64 20  uation returned 
34360 61 20 6e 6f 6e 20 54 43 4c 5f 4f 4b 0a 65 72 72  a non TCL_OK.err
34370 6f 72 20 63 6f 64 65 2e 20 5b 42 75 67 3a 20 32  or code. [Bug: 2
34380 35 33 35 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  535] (stanton)..
34390 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
343a0 52 65 6c 65 61 73 65 64 20 38 2e 32 2e 30 2c 20  Released 8.2.0, 
343b0 41 75 67 75 73 74 20 31 37 2c 20 31 39 39 39 20  August 17, 1999 
343c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
343d0 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 31 2f 39 39 20  ------..9/21/99 
343e0 28 63 6f 6e 66 69 67 20 66 69 78 65 73 29 20 66  (config fixes) f
343f0 69 78 65 64 20 73 65 76 65 72 61 6c 20 41 49 58  ixed several AIX
34400 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69   configuration i
34410 73 73 75 65 73 2e 20 20 67 63 63 20 61 6e 64 0a  ssues.  gcc and.
34420 74 68 72 65 61 64 69 6e 67 20 6d 61 79 20 73 74  threading may st
34430 69 6c 6c 20 63 61 75 73 65 20 70 72 6f 62 6c 65  ill cause proble
34440 6d 73 20 6f 6e 20 41 49 58 2e 20 28 68 6f 62 62  ms on AIX. (hobb
34450 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28 62 75 67  s)..9/21/99 (bug
34460 20 66 69 78 29 20 66 69 78 65 64 20 65 78 70 72   fix) fixed expr
34470 20 64 6f 75 62 6c 65 2d 65 76 61 6c 20 70 72 6f   double-eval pro
34480 62 6c 65 6d 2e 20 5b 42 75 67 3a 20 37 33 32 5d  blem. [Bug: 732]
34490 20 28 68 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39   (hobbs)..9/21/9
344a0 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  9 (bug fix) fixe
344b0 64 20 73 74 61 74 69 63 20 62 75 66 66 65 72 20  d static buffer 
344c0 6f 76 65 72 66 6c 6f 77 20 70 72 6f 62 6c 65 6d  overflow problem
344d0 2e 20 5b 42 75 67 3a 20 32 34 38 33 5d 20 28 68  . [Bug: 2483] (h
344e0 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28  obbs)..9/21/99 (
344f0 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 65  bug fix) fixed e
34500 6e 64 2d 69 6e 74 20 6c 69 6e 73 65 72 74 20 69  nd-int linsert i
34510 6e 74 65 72 70 72 65 74 61 74 69 6f 6e 2e 20 5b  nterpretation. [
34520 42 75 67 3a 20 32 36 39 33 5d 20 28 68 6f 62 62  Bug: 2693] (hobb
34530 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28 62 75 67  s)..9/21/99 (bug
34540 20 66 69 78 29 20 66 69 78 65 64 20 62 75 67 20   fix) fixed bug 
34550 77 68 65 6e 20 73 65 74 74 69 6e 67 20 61 72 72  when setting arr
34560 61 79 20 69 6e 20 6e 6f 6e 2d 65 78 69 73 74 65  ay in non-existe
34570 6e 74 0a 6e 61 6d 65 73 70 61 63 65 2e 20 5b 42  nt.namespace. [B
34580 75 67 3a 20 32 36 31 33 5d 20 28 68 6f 62 62 73  ug: 2613] (hobbs
34590 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  )..--- Released 
345a0 38 2e 32 2e 31 2c 20 4f 63 74 6f 62 65 72 20 30  8.2.1, October 0
345b0 34 2c 20 31 39 39 39 20 2d 2d 2d 20 53 65 65 20  4, 1999 --- See 
345c0 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65  ChangeLog for de
345d0 74 61 69 6c 73 20 2d 2d 2d 0a 0a 31 30 2f 33 30  tails ---..10/30
345e0 2f 39 39 20 28 66 65 61 74 75 72 65 20 65 6e 68  /99 (feature enh
345f0 61 6e 63 65 6d 65 6e 74 29 20 6e 65 77 20 72 65  ancement) new re
34600 67 65 78 70 20 65 6e 67 69 6e 65 20 66 72 6f 6d  gexp engine from
34610 20 48 65 6e 72 79 20 53 70 65 6e 63 65 72 0a 77   Henry Spencer.w
34620 61 73 20 70 61 74 63 68 65 64 20 69 6e 20 2d 20  as patched in - 
34630 73 68 6f 75 6c 64 20 67 72 65 61 74 6c 79 20 72  should greatly r
34640 65 64 75 63 65 20 73 74 61 63 6b 20 73 70 61 63  educe stack spac
34650 65 20 75 73 61 67 65 2e 20 28 73 70 65 6e 63 65  e usage. (spence
34660 72 29 0a 0a 31 30 2f 33 30 2f 39 39 20 28 62 75  r)..10/30/99 (bu
34670 67 20 66 69 78 29 20 66 69 78 65 64 20 50 75 72  g fix) fixed Pur
34680 69 66 79 20 72 65 70 6f 72 74 65 64 20 6d 65 6d  ify reported mem
34690 6f 72 79 20 6c 65 61 6b 73 20 69 6e 20 66 69 6e  ory leaks in fin
346a0 64 65 78 65 63 75 74 61 62 6c 65 0a 74 65 73 74  dexecutable.test
346b0 20 63 6f 6d 6d 61 6e 64 2c 20 54 63 6c 70 43 72   command, TclpCr
346c0 65 61 74 65 50 72 6f 63 65 73 73 20 6f 6e 20 55  eateProcess on U
346d0 6e 69 78 2c 20 69 6e 20 68 61 6e 64 6c 69 6e 67  nix, in handling
346e0 20 6f 66 20 43 20 65 6e 76 69 72 6f 6e 20 61 72   of C environ ar
346f0 72 61 79 2c 0a 61 6e 64 20 69 6e 20 74 65 73 74  ray,.and in test
34700 74 68 72 65 61 64 20 63 6f 64 65 2e 20 20 4e 6f  thread code.  No
34710 20 6d 6f 72 65 20 6b 6e 6f 77 6e 20 28 72 65 70   more known (rep
34720 6f 72 74 65 64 29 20 6d 65 6d 20 6c 65 61 6b 73  orted) mem leaks
34730 20 66 6f 72 20 54 63 6c 0a 62 75 69 6c 74 20 75   for Tcl.built u
34740 73 69 6e 67 20 67 63 63 20 6f 6e 20 53 6f 6c 61  sing gcc on Sola
34750 72 69 73 20 32 2e 35 2e 31 2e 20 20 41 6c 73 6f  ris 2.5.1.  Also
34760 20 6e 6f 6e 65 20 72 65 70 6f 72 74 65 64 20 66   none reported f
34770 6f 72 20 54 63 6c 20 6f 6e 20 4e 54 0a 28 75 73  or Tcl on NT.(us
34780 69 6e 67 20 50 75 72 69 66 79 20 36 2e 30 29 2e  ing Purify 6.0).
34790 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f 33 30 2f   (hobbs)..10/30/
347a0 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78  99 (bug fix) fix
347b0 65 64 20 69 6d 70 72 6f 70 65 72 20 62 79 74 65  ed improper byte
347c0 63 6f 64 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66  code handling of
347d0 20 0a 27 65 76 61 6c 20 7b 73 65 74 20 61 72 72   .'eval {set arr
347e0 61 79 28 24 75 6e 6b 6e 6f 77 6e 76 61 72 29 20  ay($unknownvar) 
347f0 35 7d 27 20 28 61 6c 73 6f 20 66 6f 72 20 69 6e  5}' (also for in
34800 63 72 29 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f  cr) (hobbs)..10/
34810 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
34820 66 69 78 65 64 20 65 76 65 6e 74 2f 69 6f 20 74  fixed event/io t
34830 68 72 65 61 64 69 6e 67 20 70 72 6f 62 6c 65 6d  hreading problem
34840 73 20 62 79 20 6d 61 6b 69 6e 67 0a 74 72 69 67  s by making.trig
34850 67 65 72 50 69 70 65 20 6e 6f 6e 2d 62 6c 6f 63  gerPipe non-bloc
34860 6b 69 6e 67 20 28 6e 69 63 6b 20 6b 69 73 73 65  king (nick kisse
34870 72 62 65 74 68 29 0a 0a 31 30 2f 33 30 2f 39 39  rbeth)..10/30/99
34880 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64   (bug fix) fixed
34890 20 54 63 6c 5f 41 70 70 65 6e 64 53 74 72 69 6e   Tcl_AppendStrin
348a0 67 73 54 6f 4f 62 6a 56 41 20 61 6e 64 20 54 63  gsToObjVA and Tc
348b0 6c 5f 41 70 70 65 6e 64 52 65 73 75 6c 74 56 41  l_AppendResultVA
348c0 0a 74 6f 20 6f 6e 6c 79 09 69 74 65 72 61 74 65  .to only.iterate
348d0 73 20 6f 6e 63 65 20 6f 76 65 72 20 74 68 65 20  s once over the 
348e0 76 61 5f 6c 69 73 74 20 28 61 76 6f 69 64 69 6e  va_list (avoidin
348f0 67 20 6e 6f 6e 2d 70 6f 72 74 61 62 6c 65 20 6d  g non-portable m
34900 65 6d 63 70 79 29 2e 0a 28 6a 6f 65 20 65 6e 67  emcpy)..(joe eng
34910 6c 69 73 68 2c 20 68 6f 62 62 73 29 0a 0a 31 30  lish, hobbs)..10
34920 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29  /30/99 (bug fix)
34930 20 72 65 6d 6f 76 65 64 20 73 61 76 65 64 43 68   removed savedCh
34940 61 72 20 74 72 69 63 6b 20 69 6e 20 74 63 6c 43  ar trick in tclC
34950 6f 6d 70 69 6c 65 2e 63 20 74 68 61 74 20 61 70  ompile.c that ap
34960 70 65 61 72 65 64 0a 74 6f 20 62 65 20 63 61 75  peared.to be cau
34970 73 69 6e 67 20 61 20 73 65 67 76 20 77 68 65 6e  sing a segv when
34980 20 74 68 65 20 6c 69 74 65 72 61 6c 20 74 61 62   the literal tab
34990 6c 65 20 77 61 73 20 72 65 6c 65 61 73 65 64 2e  le was released.
349a0 0a 5b 42 75 67 3a 20 32 34 35 39 2c 20 32 35 31  .[Bug: 2459, 251
349b0 35 5d 20 28 44 61 76 69 64 20 57 68 69 74 65 68  5] (David Whiteh
349c0 6f 75 73 65 29 0a 0a 31 30 2f 33 30 2f 39 39 20  ouse)..10/30/99 
349d0 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20  (bug fix) fixed 
349e0 5b 73 74 72 69 6e 67 20 69 6e 64 65 78 5d 20 74  [string index] t
349f0 6f 20 72 65 74 75 72 6e 20 42 79 74 65 41 72 72  o return ByteArr
34a00 61 79 4f 62 6a 0a 77 68 65 6e 20 69 6e 64 65 78  ayObj.when index
34a10 69 6e 67 20 69 6e 74 6f 20 6f 6e 65 20 28 74 65  ing into one (te
34a20 73 74 20 63 61 73 65 20 73 74 72 69 6e 67 2d 35  st case string-5
34a30 2e 31 36 29 20 5b 42 75 67 3a 20 32 38 37 31 5d  .16) [Bug: 2871]
34a40 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f 33 30 2f   (hobbs)..10/30/
34a50 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78  99 (bug fix) fix
34a60 65 73 20 66 6f 72 20 6d 61 63 20 55 54 46 20 66  es for mac UTF f
34a70 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c 69 6e 67  ilename handling
34a80 20 28 69 6e 67 68 61 6d 29 0a 0a 2d 2d 2d 20 52   (ingham)..--- R
34a90 65 6c 65 61 73 65 64 20 38 2e 32 2e 32 2c 20 4e  eleased 8.2.2, N
34aa0 6f 76 65 6d 62 65 72 20 30 34 2c 20 31 39 39 39  ovember 04, 1999
34ab0 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67 65 4c   --- See ChangeL
34ac0 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73 20 2d  og for details -
34ad0 2d 2d 0a 0a 31 31 2f 31 39 2f 39 39 20 28 66 65  --..11/19/99 (fe
34ae0 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
34af0 74 29 20 62 75 67 20 66 69 78 65 73 20 66 6f 72  t) bug fixes for
34b00 20 68 74 74 70 20 70 61 63 6b 61 67 65 20 61 73   http package as
34b10 20 77 65 6c 6c 20 61 73 0a 70 61 74 63 68 20 72   well as.patch r
34b20 65 71 75 69 72 65 64 20 62 79 20 54 4c 53 20 28  equired by TLS (
34b30 53 53 4c 29 20 65 78 74 65 6e 73 69 6f 6e 20 74  SSL) extension t
34b40 68 61 74 20 61 64 64 73 20 68 74 74 70 3a 3a 28  hat adds http::(
34b50 75 6e 29 72 65 67 69 73 74 65 72 0a 61 6e 64 20  un)register.and 
34b60 2d 74 79 70 65 20 74 6f 20 68 74 74 70 3a 3a 67  -type to http::g
34b70 65 74 75 72 6c 2e 20 20 55 70 27 64 20 68 74 74  eturl.  Up'd htt
34b80 70 20 70 6b 67 20 76 65 72 73 69 6f 6e 20 74 6f  p pkg version to
34b90 20 32 2e 32 2e 0a 0a 31 31 2f 31 39 2f 39 39 20   2.2...11/19/99 
34ba0 28 62 75 67 20 66 69 78 29 20 72 65 6d 6f 76 65  (bug fix) remove
34bb0 64 20 65 78 74 72 61 20 64 65 63 72 20 6f 66 20  d extra decr of 
34bc0 6e 75 6d 4c 65 76 65 6c 73 20 69 6e 20 54 63 6c  numLevels in Tcl
34bd0 5f 45 76 61 6c 4f 62 6a 45 78 0a 74 68 61 74 20  _EvalObjEx.that 
34be0 63 6f 75 6c 64 20 63 61 75 73 65 20 73 65 67 20  could cause seg 
34bf0 66 61 75 6c 74 20 28 6d 6a 61 6e 73 65 6e 40 77  fault ([email protected]
34c00 65 6e 64 74 2e 64 65 29 0a 0a 31 31 2f 31 39 2f  endt.de)..11/19/
34c10 39 39 20 28 62 75 67 20 66 69 78 65 73 29 20 6e  99 (bug fixes) n
34c20 75 6d 65 72 6f 75 73 20 6d 69 6e 6f 72 20 62 69  umerous minor bi
34c30 67 20 66 69 78 65 73 2c 20 69 6e 63 6c 75 64 69  g fixes, includi
34c40 6e 67 20 63 6f 72 72 65 63 74 69 6e 67 20 74 68  ng correcting th
34c50 65 0a 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f  e.installation o
34c60 66 20 74 68 65 20 6b 6f 69 38 2d 72 20 65 6e 63  f the koi8-r enc
34c70 6f 64 69 6e 67 20 61 6e 64 20 74 63 6c 74 65 73  oding and tcltes
34c80 74 31 2e 30 20 6f 6e 20 57 69 6e 64 6f 77 73 2e  t1.0 on Windows.
34c90 0a 0a 31 31 2f 33 30 2f 39 39 20 28 62 75 67 20  ..11/30/99 (bug 
34ca0 66 69 78 29 20 66 69 78 65 73 20 73 63 61 6e 20  fix) fixes scan 
34cb0 77 68 65 72 65 20 25 5b 2e 2e 5d 20 64 69 64 6e  where %[..] didn
34cc0 27 74 20 6d 61 74 63 68 20 61 6e 79 74 68 69 6e  't match anythin
34cd0 67 0a 0a 31 31 2f 33 30 2f 39 39 20 28 62 75 67  g..11/30/99 (bug
34ce0 20 66 69 78 29 20 66 69 78 65 64 20 73 65 74 74   fix) fixed sett
34cf0 69 6e 67 20 6f 66 20 69 73 4e 6f 6e 42 6c 6f 63  ing of isNonBloc
34d00 6b 69 6e 67 20 66 6c 61 67 20 69 6e 20 50 69 70  king flag in Pip
34d10 65 42 6c 6f 63 6b 4d 6f 64 65 50 72 6f 63 0a 73  eBlockModeProc.s
34d20 6f 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20 63 6c  o you can now cl
34d30 6f 73 65 20 61 20 6e 6f 6e 2d 62 6c 6f 63 6b 69  ose a non-blocki
34d40 6e 67 20 63 68 61 6e 6e 65 6c 20 77 69 74 68 6f  ng channel witho
34d50 75 74 20 77 61 69 74 69 6e 67 2e 0a 0a 31 31 2f  ut waiting...11/
34d60 33 30 2f 39 39 20 28 62 75 67 20 77 6f 72 6b 2d  30/99 (bug work-
34d70 61 72 6f 75 6e 64 29 20 70 72 65 76 65 6e 74 65  around) prevente
34d80 64 20 74 68 65 20 75 6e 6c 6f 61 64 69 6e 67 20  d the unloading 
34d90 6f 66 20 44 4c 4c 73 20 66 6f 72 20 55 6e 69 78  of DLLs for Unix
34da0 20 69 6e 0a 54 63 6c 46 69 6e 61 6c 69 7a 65 4c   in.TclFinalizeL
34db0 6f 61 64 2e 20 20 54 68 69 73 20 73 74 6f 70 73  oad.  This stops
34dc0 20 74 68 65 20 73 65 67 20 66 61 75 6c 74 20 6f   the seg fault o
34dd0 6e 20 65 78 69 74 20 74 68 61 74 20 73 6f 6d 65  n exit that some
34de0 20 75 73 65 72 73 20 77 6f 75 6c 64 0a 73 65 65   users would.see
34df0 20 28 69 65 20 77 69 74 68 20 6f 72 61 74 63 6c   (ie with oratcl
34e00 29 20 77 68 65 6e 20 75 73 69 6e 67 20 44 4c 4c  ) when using DLL
34e10 73 20 74 68 61 74 20 64 6f 20 6e 61 73 74 79 20  s that do nasty 
34e20 74 68 69 6e 67 73 20 6c 69 6b 65 20 72 65 67 69  things like regi
34e30 73 74 65 72 0a 61 74 65 78 69 74 20 68 61 6e 64  ster.atexit hand
34e40 6c 65 72 73 2e 0a 0a 31 32 2f 30 37 2f 39 39 20  lers...12/07/99 
34e50 28 62 75 67 20 66 69 78 29 20 66 69 78 65 73 20  (bug fix) fixes 
34e60 66 6f 72 20 27 65 78 70 72 20 2b 20 7b 5b 69 6e  for 'expr + {[in
34e70 63 72 5d 7d 27 20 61 6e 64 20 27 65 78 70 72 20  cr]}' and 'expr 
34e80 2b 20 7b 5b 65 72 72 6f 72 5d 7d 27 0a 63 61 73  + {[error]}'.cas
34e90 65 73 20 28 64 69 66 66 65 72 65 6e 74 20 63 61  es (different ca
34ea0 75 73 65 73 29 2e 0a 0a 2d 2d 2d 20 52 65 6c 65  uses)...--- Rele
34eb0 61 73 65 64 20 38 2e 32 2e 33 2c 20 44 65 63 65  ased 8.2.3, Dece
34ec0 6d 62 65 72 20 31 36 2c 20 31 39 39 39 20 2d 2d  mber 16, 1999 --
34ed0 2d 20 53 65 65 20 43 68 61 6e 67 65 4c 6f 67 20  - See ChangeLog 
34ee0 66 6f 72 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a  for details ---.
34ef0 0a 31 39 39 39 2d 30 39 2d 31 34 20 28 66 65 61  .1999-09-14 (fea
34f00 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
34f10 29 20 61 64 64 65 64 20 2d 73 74 61 72 74 20 73  ) added -start s
34f20 77 69 74 63 68 20 74 6f 20 72 65 67 65 78 70 20  witch to regexp 
34f30 61 6e 64 20 72 65 67 73 75 62 2e 0a 0a 31 39 39  and regsub...199
34f40 39 2d 30 39 2d 31 35 20 28 66 65 61 74 75 72 65  9-09-15 (feature
34f50 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64   enhancement) ad
34f60 64 20 27 61 72 72 61 79 20 75 6e 73 65 74 27 20  d 'array unset' 
34f70 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 39 39 39 2d 30  command...1999-0
34f80 39 2d 31 35 20 28 66 65 61 74 75 72 65 20 65 6e  9-15 (feature en
34f90 68 61 6e 63 65 6d 65 6e 74 29 20 72 65 77 72 6f  hancement) rewro
34fa0 74 65 20 72 75 6e 74 69 6d 65 20 6c 69 62 72 61  te runtime libra
34fb0 72 69 65 73 20 74 6f 20 75 73 65 20 6e 65 77 0a  ries to use new.
34fc0 73 74 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73  string functions
34fd0 0a 0a 31 39 39 39 2d 30 38 2d 31 38 20 28 66 65  ..1999-08-18 (fe
34fe0 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
34ff0 74 29 20 61 64 64 65 64 20 27 66 69 6c 65 20 63  t) added 'file c
35000 68 61 6e 6e 65 6c 73 27 20 63 6f 6d 6d 61 6e 64  hannels' command
35010 2c 20 61 6c 6f 6e 67 20 77 69 74 68 0a 54 63 6c  , along with.Tcl
35020 5f 47 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 73  _GetChannelNames
35030 28 45 78 29 20 70 75 62 6c 69 63 20 43 20 41 50  (Ex) public C AP
35040 49 73 2e 0a 0a 31 39 39 39 2d 31 30 2d 31 39 20  Is...1999-10-19 
35050 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
35060 6d 65 6e 74 29 20 65 6e 68 61 6e 63 65 64 20 74  ment) enhanced t
35070 63 6c 74 65 73 74 20 70 61 63 6b 61 67 65 0a 0a  cltest package..
35080 31 39 39 39 2d 30 39 2d 31 36 20 28 66 65 61 74  1999-09-16 (feat
35090 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
350a0 20 61 64 64 65 64 20 2d 6d 69 6c 6c 69 73 65 63   added -millisec
350b0 6f 6e 64 73 20 73 77 69 74 63 68 20 74 6f 20 27  onds switch to '
350c0 63 6c 6f 63 6b 20 63 6c 69 63 6b 73 27 0a 0a 31  clock clicks'..1
350d0 39 39 39 2d 31 30 2d 32 38 20 28 66 65 61 74 75  999-10-28 (featu
350e0 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
350f0 61 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  added support fo
35100 72 20 69 6e 6c 69 6e 65 20 27 73 63 61 6e 27 0a  r inline 'scan'.
35110 0a 31 39 39 39 2d 31 30 2d 32 38 20 28 66 65 61  .1999-10-28 (fea
35120 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
35130 29 20 61 64 64 65 64 20 73 75 70 70 6f 72 74 20  ) added support 
35140 66 6f 72 20 74 6f 75 63 68 20 66 75 6e 63 74 69  for touch functi
35150 6f 6e 61 6c 69 74 79 20 62 79 0a 65 78 74 65 6e  onality by.exten
35160 64 65 64 69 6e 67 20 27 66 69 6c 65 20 61 74 69  deding 'file ati
35170 6d 65 27 20 61 6e 64 20 27 66 69 6c 65 20 6d 74  me' and 'file mt
35180 69 6d 65 27 20 74 6f 20 74 61 6b 65 20 61 6e 20  ime' to take an 
35190 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 20 61 72  optional time ar
351a0 67 75 6d 65 6e 74 0a 0a 31 39 39 39 2d 31 31 2d  gument..1999-11-
351b0 32 34 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  24 (feature enha
351c0 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20 27  ncement) added '
351d0 66 63 6f 6e 66 69 67 75 72 65 20 24 73 6f 63 6b  fconfigure $sock
351e0 20 2d 6c 61 73 74 65 72 72 6f 72 27 0a 63 6f 6d   -lasterror'.com
351f0 6d 61 6e 64 20 74 6f 20 57 69 6e 64 6f 77 73 20  mand to Windows 
35200 74 6f 20 71 75 65 72 79 20 74 68 65 20 6c 61 73  to query the las
35210 74 20 65 72 72 6f 72 20 72 65 63 65 69 76 65 64  t error received
35220 20 6f 6e 20 61 20 73 65 72 69 61 6c 20 73 6f 63   on a serial soc
35230 6b 65 74 2e 0a 0a 31 39 39 39 2d 31 31 2d 33 30  ket...1999-11-30
35240 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64   (bug fix) fixed
35250 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 25 5a 20   handling of %Z 
35260 6f 6e 20 4e 54 20 66 6f 72 20 74 69 6d 65 7a 6f  on NT for timezo
35270 6e 65 73 20 74 68 61 74 20 64 6f 6e 27 74 0a 68  nes that don't.h
35280 61 76 65 20 44 53 54 0a 0a 31 39 39 39 2d 31 32  ave DST..1999-12
35290 2d 30 33 20 28 66 65 61 74 75 72 65 20 65 6e 68  -03 (feature enh
352a0 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72 6f 76  ancement) improv
352b0 65 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65  ed error message
352c0 20 69 6e 20 62 61 64 20 6f 63 74 61 6c 20 63 61   in bad octal ca
352d0 73 65 73 0a 61 6e 64 20 69 6d 70 72 6f 70 65 72  ses.and improper
352e0 20 75 73 65 20 6f 66 20 63 6f 6d 6d 65 6e 74 73   use of comments
352f0 2e 20 28 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d  . (hobbs)..1999-
35300 31 32 2d 30 37 20 28 62 75 67 20 66 69 78 29 20  12-07 (bug fix) 
35310 66 69 78 65 64 20 54 63 6c 5f 53 63 61 6e 43 6f  fixed Tcl_ScanCo
35320 75 6e 74 65 64 45 6c 65 6d 65 6e 74 20 74 6f 20  untedElement to 
35330 6e 6f 74 20 73 74 65 70 0a 62 65 79 6f 6e 64 20  not step.beyond 
35340 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63  the end of the c
35350 6f 75 6e 74 65 64 20 73 74 72 69 6e 67 0a 0a 31  ounted string..1
35360 39 39 39 2d 31 32 2d 30 39 20 28 66 65 61 74 75  999-12-09 (featu
35370 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
35380 72 65 6d 6f 76 65 64 20 61 6c 6c 20 72 65 66 65  removed all refe
35390 72 65 6e 63 65 73 20 74 6f 20 31 36 20 62 69 74  rences to 16 bit
353a0 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 63  .compatibility c
353b0 6f 64 65 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ode for Windows 
353c0 28 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d 31 32  (hobbs)..1999-12
353d0 2d 31 30 20 28 62 75 67 20 66 69 78 29 20 72 65  -10 (bug fix) re
353e0 6d 6f 76 65 64 20 63 68 65 63 6b 20 66 6f 72 20  moved check for 
353f0 76 66 6f 72 6b 20 2d 20 54 63 6c 20 6e 6f 77 20  vfork - Tcl now 
35400 75 73 65 73 20 6f 6e 6c 79 20 66 6f 72 6b 20 69  uses only fork i
35410 6e 0a 65 78 65 63 2e 20 28 68 6f 62 62 73 29 0a  n.exec. (hobbs).
35420 0a 31 39 39 39 2d 31 32 2d 31 30 20 28 6f 70 74  .1999-12-10 (opt
35430 69 6d 69 7a 61 74 69 6f 6e 29 20 63 68 61 6e 67  imization) chang
35440 65 64 20 54 63 6c 5f 43 6f 6e 63 61 74 4f 62 6a  ed Tcl_ConcatObj
35450 20 74 6f 20 72 65 74 75 72 6e 20 61 20 6c 69 73   to return a lis
35460 74 0a 6f 62 6a 65 63 74 20 77 68 65 6e 20 69 74  t.object when it
35470 20 72 65 63 65 69 76 65 73 20 61 6c 6c 20 70 75   receives all pu
35480 72 65 20 6c 69 73 74 20 6f 62 6a 65 63 74 73 20  re list objects 
35490 61 73 20 69 6e 70 75 74 20 28 75 73 65 64 20 62  as input (used b
354a0 79 20 27 63 6f 6e 63 61 74 27 29 2c 0a 61 64 64  y 'concat'),.add
354b0 65 64 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73  ed optimizations
354c0 20 69 6e 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 45   in Tcl_EvalObjE
354d0 78 20 66 6f 72 20 70 75 72 65 20 6c 69 73 74 20  x for pure list 
354e0 63 61 73 65 2c 20 61 6e 64 20 6f 70 74 69 6d 69  case, and optimi
354f0 7a 65 64 0a 49 4e 53 54 5f 54 52 59 5f 43 56 54  zed.INST_TRY_CVT
35500 5f 54 4f 5f 4e 55 4d 45 52 49 43 20 69 6e 20 54  _TO_NUMERIC in T
35510 63 6c 45 78 65 63 75 74 65 42 79 74 65 43 6f 64  clExecuteByteCod
35520 65 20 66 6f 72 20 62 6f 6f 6c 65 61 6e 20 6f 62  e for boolean ob
35530 6a 65 63 74 73 2e 0a 28 6f 61 6b 6c 65 79 2c 20  jects..(oakley, 
35540 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d 31 32 2d  hobbs)..1999-12-
35550 31 32 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  12 (feature enha
35560 6e 63 65 6d 65 6e 74 29 20 65 6e 68 61 6e 63 65  ncement) enhance
35570 64 20 67 6c 6f 62 20 63 6f 6d 6d 61 6e 64 20 77  d glob command w
35580 69 74 68 20 2d 74 79 70 65 2c 20 2d 70 61 74 68  ith -type, -path
35590 2c 0a 2d 64 69 72 65 63 74 6f 72 79 20 61 6e 64  ,.-directory and
355a0 20 2d 6a 6f 69 6e 20 73 77 69 74 63 68 65 73 2e   -join switches.
355b0 20 28 64 61 72 6c 65 79 2c 20 68 6f 62 62 73 29   (darley, hobbs)
355c0 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20 28 62 75  ..1999-12-21 (bu
355d0 67 20 66 69 78 29 20 63 68 61 6e 67 65 64 20 43  g fix) changed C
355e0 72 65 61 74 65 54 68 72 65 61 64 20 74 6f 20 5f  reateThread to _
355f0 62 65 67 69 6e 74 68 72 65 61 64 65 78 20 61 6e  beginthreadex an
35600 64 0a 45 78 69 74 54 68 72 65 61 64 20 74 6f 20  d.ExitThread to 
35610 5f 65 6e 64 74 68 72 65 61 64 65 78 20 74 6f 20  _endthreadex to 
35620 70 72 65 76 65 6e 74 20 34 4b 20 6d 65 6d 20 6c  prevent 4K mem l
35630 65 61 6b 20 28 67 72 61 76 65 72 65 61 75 78 29  eak (gravereaux)
35640 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20 28 62 75  ..1999-12-21 (bu
35650 67 20 66 69 78 29 20 66 69 78 65 64 20 61 70 70  g fix) fixed app
35660 6c 65 73 63 72 69 70 74 20 66 6f 72 20 49 31 38  lescript for I18
35670 4e 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20 28 66  N..1999-12-21 (f
35680 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
35690 6e 74 29 20 61 64 64 65 64 20 2d 75 6e 69 71 75  nt) added -uniqu
356a0 65 20 6f 70 74 69 6f 6e 20 74 6f 20 6c 73 6f 72  e option to lsor
356b0 74 20 28 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d  t (hobbs)..1999-
356c0 31 32 2d 32 31 20 28 62 75 67 20 66 69 78 29 20  12-21 (bug fix) 
356d0 63 68 61 6e 67 65 64 20 74 68 72 65 61 64 20 69  changed thread i
356e0 64 73 20 74 6f 20 6c 6f 6e 67 73 20 28 66 6f 72  ds to longs (for
356f0 20 36 34 62 69 74 20 73 79 73 74 65 6d 73 29 0a   64bit systems).
35700 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  .--- Released 8.
35710 33 62 31 2c 20 44 65 63 65 6d 62 65 72 20 32 32  3b1, December 22
35720 2c 20 31 39 39 39 20 2d 2d 2d 20 53 65 65 20 43  , 1999 --- See C
35730 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74  hangeLog for det
35740 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30  ails ---..2000-0
35750 31 2d 31 30 20 28 66 65 61 74 75 72 65 20 65 6e  1-10 (feature en
35760 68 61 6e 63 65 6d 65 6e 74 29 20 63 6c 6f 63 6b  hancement) clock
35770 20 73 63 61 6e 20 6e 6f 77 20 73 75 70 70 6f 72   scan now suppor
35780 74 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 0a 49 53  ts the common.IS
35790 4f 20 38 36 30 31 20 64 61 74 65 2f 74 69 6d 65  O 8601 date/time
357a0 20 66 6f 72 6d 61 74 73 2e 20 20 53 65 65 20 64   formats.  See d
357b0 6f 63 73 20 66 6f 72 20 64 65 74 61 69 6c 73 2e  ocs for details.
357c0 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d   (melski)..2000-
357d0 30 31 2d 31 30 20 28 62 75 67 20 66 69 78 29 20  01-10 (bug fix) 
357e0 70 72 65 76 65 6e 74 65 64 20 5c 6f 6f 6f 20 73  prevented \ooo s
357f0 75 62 73 74 69 74 75 74 69 6f 6e 20 66 72 6f 6d  ubstitution from
35800 20 61 63 63 65 70 74 69 6e 67 0a 6e 6f 6e 2d 6f   accepting.non-o
35810 63 74 61 6c 20 64 69 67 69 74 73 20 5b 42 75 67  ctal digits [Bug
35820 3a 20 33 39 37 35 5d 20 28 68 6f 62 62 73 29 0a  : 3975] (hobbs).
35830 0a 32 30 30 30 2d 30 31 2d 31 31 20 28 62 75 67  .2000-01-11 (bug
35840 20 66 69 78 29 20 66 69 78 65 64 20 69 6d 70 72   fix) fixed impr
35850 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67 20 6f 66  oper handling of
35860 20 44 53 54 20 62 79 20 63 6c 6f 63 6b 20 77 68   DST by clock wh
35870 65 6e 0a 75 73 69 6e 67 20 72 65 6c 61 74 69 76  en.using relativ
35880 65 20 74 69 6d 65 73 20 28 6c 69 6b 65 20 22 31  e times (like "1
35890 20 6d 6f 6e 74 68 22 20 6f 72 20 22 74 6f 6d 6f   month" or "tomo
358a0 72 72 6f 77 22 29 2e 20 28 6d 65 6c 73 6b 69 29  rrow"). (melski)
358b0 0a 0a 32 30 30 30 2d 30 31 2d 31 32 20 28 62 75  ..2000-01-12 (bu
358c0 67 20 66 69 78 29 20 69 6d 70 72 6f 76 65 64 20  g fix) improved 
358d0 62 75 69 6c 64 20 73 75 70 70 6f 72 74 20 66 6f  build support fo
358e0 72 20 54 72 75 36 34 20 76 35 2c 20 4e 65 74 42  r Tru64 v5, NetB
358f0 53 44 0a 61 6e 64 20 52 65 6c 69 61 6e 74 20 55  SD.and Reliant U
35900 6e 69 78 20 28 68 6f 62 62 73 29 0a 0a 32 30 30  nix (hobbs)..200
35910 30 2d 30 31 2d 31 32 20 28 62 75 67 20 66 69 78  0-01-12 (bug fix
35920 29 20 6d 61 64 65 20 69 6d 70 6f 72 74 65 64 20  ) made imported 
35930 63 6f 6d 6d 61 6e 64 73 20 61 6c 73 6f 20 69 6d  commands also im
35940 70 6f 72 74 20 74 68 65 69 72 0a 63 6f 6d 70 69  port their.compi
35950 6c 65 20 70 72 6f 63 65 64 75 72 65 20 28 64 75  le procedure (du
35960 66 66 69 6e 29 0a 0a 32 30 30 30 2d 30 31 2d 31  ffin)..2000-01-1
35970 32 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  2 (bug fix) fixe
35980 64 20 27 69 6e 66 6f 20 70 72 6f 63 73 20 3a 3a  d 'info procs ::
35990 6e 61 6d 65 73 70 3a 3a 2a 27 20 62 65 68 61 76  namesp::*' behav
359a0 69 6f 72 20 74 6f 20 72 65 74 75 72 6e 0a 70 72  ior to return.pr
359b0 6f 63 73 20 69 6e 20 61 20 6e 61 6d 65 73 70 61  ocs in a namespa
359c0 63 65 20 28 64 65 6a 6f 6e 67 29 0a 0a 32 30 30  ce (dejong)..200
359d0 30 2d 30 31 2d 31 32 20 28 66 65 61 74 75 72 65  0-01-12 (feature
359e0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64   enhancement) ad
359f0 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
35a00 73 65 74 74 69 6e 67 20 70 65 72 6d 69 73 73 69  setting permissi
35a10 6f 6e 73 0a 73 79 6d 62 6f 6c 69 63 6c 79 20 28  ons.symbolicly (
35a20 6c 69 6b 65 20 63 68 6d 6f 64 29 20 69 6e 20 5b  like chmod) in [
35a30 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 20  file attributes 
35a40 24 66 69 6c 65 20 2d 70 65 72 6d 69 73 73 69 6f  $file -permissio
35a50 6e 73 20 2e 2e 2e 5d 20 28 73 63 68 6f 65 62 65  ns ...] (schoebe
35a60 6c 29 0a 0a 32 30 30 30 2d 30 31 2d 31 33 20 28  l)..2000-01-13 (
35a70 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 6c  bug fix) fixed l
35a80 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e 61 72 79  sort -dictionary
35a90 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e 20 73 6f   problem when so
35aa0 72 74 69 6e 67 0a 63 68 61 72 61 63 74 65 72 73  rting.characters
35ab0 20 62 65 74 77 65 65 6e 20 27 5a 27 20 61 6e 64   between 'Z' and
35ac0 20 27 61 27 20 28 66 6c 61 77 65 64 20 75 70 70   'a' (flawed upp
35ad0 65 72 2f 6c 6f 77 65 72 20 63 6f 6d 70 61 72 69  er/lower compari
35ae0 73 6f 6e 20 6c 6f 67 69 63 29 20 28 6d 65 6c 73  son logic) (mels
35af0 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65  ki)..--- Release
35b00 64 20 38 2e 33 62 32 2c 20 4a 61 6e 75 61 72 79  d 8.3b2, January
35b10 20 31 33 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65   13, 2000 --- Se
35b20 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20  e ChangeLog for 
35b30 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30  details ---..200
35b40 30 2d 30 31 2d 31 34 20 28 66 65 61 74 75 72 65  0-01-14 (feature
35b50 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 63 6c   enhancement) cl
35b60 6f 63 6b 20 66 6f 72 6d 61 74 20 25 51 20 61 64  ock format %Q ad
35b70 64 65 64 2c 20 63 6c 6f 63 6b 20 73 63 61 6e 20  ded, clock scan 
35b80 75 70 64 61 74 65 64 0a 0a 32 30 30 30 2d 30 31  updated..2000-01
35b90 2d 32 30 20 28 62 75 67 20 66 69 78 29 20 63 6f  -20 (bug fix) co
35ba0 72 72 65 63 74 65 64 20 63 6f 6d 70 6c 65 78 20  rrected complex 
35bb0 61 72 72 61 79 20 65 6c 65 6d 20 63 6f 6d 70 69  array elem compi
35bc0 6c 69 6e 67 20 28 53 70 6a 75 74 68 29 0a 0a 32  ling (Spjuth)..2
35bd0 30 30 30 2d 30 31 2d 32 30 20 28 62 75 67 20 66  000-01-20 (bug f
35be0 69 78 29 20 6d 61 64 65 20 5b 69 6e 66 6f 20 62  ix) made [info b
35bf0 6f 64 79 5d 20 61 6c 77 61 79 73 20 72 65 74 75  ody] always retu
35c00 72 6e 20 61 20 73 74 72 69 6e 67 20 74 79 70 65  rn a string type
35c10 20 61 72 67 2c 0a 74 6f 20 70 72 65 76 65 6e 74   arg,.to prevent
35c20 20 70 6f 73 73 69 62 6c 65 20 6d 69 73 75 73 65   possible misuse
35c30 20 6f 66 20 62 79 74 65 63 6f 64 65 73 20 69 6e   of bytecodes in
35c40 20 74 68 65 20 77 72 6f 6e 67 20 63 6f 6e 74 65   the wrong conte
35c50 78 74 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30  xt (hobbs)..2000
35c60 2d 30 31 2d 32 30 20 28 62 75 67 20 66 69 78 65  -01-20 (bug fixe
35c70 73 29 20 73 65 76 65 72 61 6c 20 66 69 78 65 73  s) several fixes
35c80 20 74 6f 20 76 61 72 69 61 62 6c 65 20 68 61 6e   to variable han
35c90 64 6c 69 6e 67 20 74 6f 20 70 72 65 76 65 6e 74  dling to prevent
35ca0 0a 70 6f 73 73 69 62 6c 65 20 63 72 61 73 68 65  .possible crashe
35cb0 73 2c 20 61 6e 64 20 66 75 72 74 68 65 72 20 64  s, and further d
35cc0 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 63 6f 72  efinition of cor
35cd0 72 65 63 74 20 62 65 68 61 76 69 6f 72 20 28 6d  rect behavior (m
35ce0 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 31 2d  elski)..2000-01-
35cf0 32 35 20 28 62 75 67 20 66 69 78 65 73 29 20 69  25 (bug fixes) i
35d00 6d 70 72 6f 76 65 64 20 51 4e 58 2c 20 55 6c 74  mproved QNX, Ult
35d10 72 69 78 20 61 6e 64 20 4f 53 46 31 20 28 54 72  rix and OSF1 (Tr
35d20 75 36 34 29 20 63 6f 6e 66 69 67 20 61 6e 64 0a  u64) config and.
35d30 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 28 65  compatibility (e
35d40 64 67 65 2c 20 66 75 72 75 6b 61 77 61 29 0a 0a  dge, furukawa)..
35d50 32 30 30 30 2d 30 31 2d 32 35 20 28 62 75 67 20  2000-01-25 (bug 
35d60 66 69 78 29 20 66 69 78 65 64 20 6d 65 6d 20 6c  fix) fixed mem l
35d70 65 61 6b 20 77 68 65 6e 20 63 61 6c 6c 69 6e 67  eak when calling
35d80 20 6c 73 6f 72 74 20 77 69 74 68 20 61 20 62 61   lsort with a ba
35d90 64 20 2d 63 6f 6d 6d 61 6e 64 0a 61 72 67 75 6d  d -command.argum
35da0 65 6e 74 20 28 68 6f 62 62 73 29 0a 0a 32 30 30  ent (hobbs)..200
35db0 30 2d 30 31 2d 32 37 20 28 66 65 61 74 75 72 65  0-01-27 (feature
35dc0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 70 61   enhancement) pa
35dd0 63 6b 61 67 65 20 6d 65 63 68 61 6e 69 73 6d 20  ckage mechanism 
35de0 6f 76 65 72 68 61 75 6c 3a 20 63 68 61 6e 67 65  overhaul: change
35df0 64 0a 62 65 68 61 76 69 6f 72 20 6f 66 20 70 6b  d.behavior of pk
35e00 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 64 6f 20  g_mkIndex to do 
35e10 2d 64 69 72 65 63 74 20 62 79 20 64 65 66 61 75  -direct by defau
35e20 6c 74 2c 20 61 64 64 65 64 20 2d 6c 61 7a 79 20  lt, added -lazy 
35e30 6f 70 74 69 6f 6e 2e 0a 46 69 78 65 64 20 70 6b  option..Fixed pk
35e40 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20 68 61 6e  g_mkIndex to han
35e50 64 6c 65 20 6f 64 64 20 70 72 6f 63 20 6e 61 6d  dle odd proc nam
35e60 65 73 20 61 6e 64 20 61 75 74 6f 5f 6d 6b 49 6e  es and auto_mkIn
35e70 64 65 78 20 74 6f 20 75 73 65 20 70 6c 61 74 66  dex to use platf
35e80 6f 72 6d 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20  orm.independent 
35e90 66 69 6c 65 20 70 61 74 68 73 2e 20 20 4f 74 68  file paths.  Oth
35ea0 65 72 20 66 69 78 65 73 20 66 6f 72 20 6f 64 64  er fixes for odd
35eb0 20 70 61 63 6b 61 67 65 20 71 75 69 72 6b 73 2e   package quirks.
35ec0 20 20 41 64 64 65 64 0a 3a 3a 70 6b 67 20 6e 61    Added.::pkg na
35ed0 6d 65 73 70 61 63 65 20 61 6e 64 20 3a 3a 70 6b  mespace and ::pk
35ee0 67 3a 3a 63 72 65 61 74 65 20 68 65 6c 70 65 72  g::create helper
35ef0 20 66 75 6e 63 74 69 6f 6e 2e 20 28 6d 65 6c 73   function. (mels
35f00 6b 69 29 0a 0a 32 30 30 30 2d 30 32 2d 30 31 20  ki)..2000-02-01 
35f10 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20  (bug fix) fixed 
35f20 70 72 6f 62 6c 65 6d 20 77 68 65 72 65 20 68 74  problem where ht
35f30 74 70 20 50 4f 53 54 20 77 6f 75 6c 64 20 73 65  tp POST would se
35f40 6e 64 20 6f 6e 65 20 65 78 74 72 61 0a 6e 65 77  nd one extra.new
35f50 6c 69 6e 65 20 28 76 61 73 69 6c 6a 65 76 69 63  line (vasiljevic
35f60 29 0a 0a 32 30 30 30 2d 30 32 2d 30 32 20 28 66  )..2000-02-02 (f
35f70 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
35f80 6e 74 29 20 61 64 64 65 64 20 64 6f 63 73 20 66  nt) added docs f
35f90 6f 72 20 6e 65 77 20 72 65 67 65 78 70 20 2d 69  or new regexp -i
35fa0 6e 6c 69 6e 65 20 61 6e 64 0a 2d 61 6c 6c 20 73  nline and.-all s
35fb0 77 69 74 63 68 65 73 2e 20 28 68 6f 62 62 73 29  witches. (hobbs)
35fc0 0a 0a 32 30 30 30 2d 30 32 2d 30 38 20 28 62 75  ..2000-02-08 (bu
35fd0 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64  g fix) corrected
35fe0 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 22 6e 65   handling of "ne
35ff0 78 74 20 6d 6f 6e 74 68 6e 61 6d 65 22 20 69 6e  xt monthname" in
36000 20 63 6c 6f 63 6b 20 73 63 61 6e 0a 28 6d 65 6c   clock scan.(mel
36010 73 6b 69 29 0a 0a 32 30 30 30 2d 30 32 2d 30 39  ski)..2000-02-09
36020 20 28 62 75 67 20 66 69 78 29 20 72 65 73 74 6f   (bug fix) resto
36030 72 65 64 20 4d 61 63 20 73 6f 75 72 63 65 20 74  red Mac source t
36040 6f 20 62 75 69 6c 64 20 72 65 61 64 69 6e 65 73  o build readines
36050 73 20 61 6e 64 20 70 72 65 76 65 6e 74 65 64 0a  s and prevented.
36060 6d 61 63 20 70 61 6e 69 63 20 66 72 6f 6d 20 61  mac panic from a
36070 6e 20 65 72 72 6f 72 20 77 68 65 6e 20 63 6c 6f  n error when clo
36080 73 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 73 6f  sing an async so
36090 63 6b 65 74 20 28 73 74 65 66 66 65 6e 2c 20 69  cket (steffen, i
360a0 6e 67 68 61 6d 29 0a 0a 32 30 30 30 2d 30 32 2d  ngham)..2000-02-
360b0 31 30 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  10 (feature enha
360c0 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72 6f 76 65  ncement) improve
360d0 64 20 65 72 72 6f 72 20 72 65 70 6f 72 74 69 6e  d error reportin
360e0 67 20 66 6f 72 20 66 61 69 6c 65 64 0a 6c 6f 61  g for failed.loa
360f0 64 73 20 6f 6e 20 57 69 6e 64 6f 77 73 20 28 64  ds on Windows (d
36100 65 6a 6f 6e 67 2c 20 68 6f 62 62 73 29 0a 0a 2d  ejong, hobbs)..-
36110 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 33 2e  -- Released 8.3.
36120 30 2c 20 46 65 62 72 75 61 72 79 20 31 30 2c 20  0, February 10, 
36130 32 30 30 30 20 2d 2d 2d 20 53 65 65 20 43 68 61  2000 --- See Cha
36140 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74 61 69  ngeLog for detai
36150 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30 33 20  ls ---..2000-03 
36160 28 62 75 67 20 66 69 78 65 73 2c 20 66 65 61 74  (bug fixes, feat
36170 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
36180 20 6f 76 65 72 68 61 75 6c 20 6f 66 20 68 74 74   overhaul of htt
36190 70 20 70 61 63 6b 61 67 65 20 66 6f 72 0a 70 72  p package for.pr
361a0 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67 20 6f 66  oper handling of
361b0 20 61 73 79 6e 63 20 63 61 6c 6c 62 61 63 6b 73   async callbacks
361c0 20 28 6e 65 77 20 6f 70 74 69 6f 6e 73 29 2c 20   (new options), 
361d0 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f 77 20 61  version is now a
361e0 74 20 32 2e 33 0a 28 74 61 6d 68 61 6e 6b 61 72  t 2.3.(tamhankar
361f0 2c 20 77 65 6c 63 68 29 0a 0a 32 30 30 30 2d 30  , welch)..2000-0
36200 33 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65  3 (performance e
36210 6e 68 61 6e 63 65 6d 65 6e 74 29 20 73 70 65 65  nhancement) spee
36220 64 75 70 20 69 6e 20 57 69 6e 64 6f 77 73 20 66  dup in Windows f
36230 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c 69 6e 67  ilename handling
36240 20 28 6e 65 77 6d 61 6e 29 0a 61 6e 64 20 3d 3d   (newman).and ==
36250 2f 21 3d 20 65 6d 70 74 79 20 73 74 72 69 6e 67  /!= empty string
36260 20 69 6e 20 65 78 70 72 73 2e 20 28 68 6f 62 62   in exprs. (hobb
36270 73 29 0a 0a 32 30 30 30 2d 30 33 2d 32 37 20 28  s)..2000-03-27 (
36280 62 75 67 20 66 69 78 29 20 61 64 64 65 64 20 75  bug fix) added u
36290 6e 69 71 27 69 6e 67 20 74 65 73 74 20 74 6f 20  niq'ing test to 
362a0 6e 61 6d 65 73 70 61 63 65 20 65 78 70 6f 72 74  namespace export
362b0 20 6c 69 73 74 20 74 6f 0a 70 72 65 76 65 6e 74   list to.prevent
362c0 20 75 6e 6e 65 63 65 73 73 61 72 79 20 6d 65 6d   unnecessary mem
362d0 20 67 72 6f 77 74 68 20 28 68 6f 62 62 73 29 0a   growth (hobbs).
362e0 0a 32 30 30 30 2d 30 33 2d 32 39 20 28 62 75 67  .2000-03-29 (bug
362f0 20 66 69 78 29 20 66 69 78 65 64 20 6d 65 6d 20   fix) fixed mem 
36300 6c 65 61 6b 20 77 68 65 6e 20 72 65 70 65 61 74  leak when repeat
36310 65 64 6c 79 20 73 6f 75 72 63 69 6e 67 20 74 68  edly sourcing th
36320 65 20 73 61 6d 65 0a 62 79 74 65 63 6f 6d 70 69  e same.bytecompi
36330 6c 65 64 20 28 74 62 63 29 20 63 6f 64 65 20 72  led (tbc) code r
36340 65 70 65 61 74 65 64 6c 79 20 61 63 72 6f 73 73  epeatedly across
36350 20 64 69 66 66 65 72 65 6e 74 20 69 6e 74 65 72   different inter
36360 70 72 65 74 65 72 73 20 28 68 6f 62 62 73 29 0a  preters (hobbs).
36370 0a 32 30 30 30 2d 30 33 2d 32 39 20 28 63 6f 6e  .2000-03-29 (con
36380 66 69 67 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  fig enhancement)
36390 20 69 6d 70 72 6f 76 65 64 20 62 75 69 6c 64 20   improved build 
363a0 73 75 70 70 6f 72 74 20 66 6f 72 20 67 63 63 2f  support for gcc/
363b0 6d 69 6e 67 77 20 6f 6e 0a 57 69 6e 64 6f 77 73  mingw on.Windows
363c0 20 28 6e 69 6a 74 6d 61 6e 73 2c 20 68 6f 62 62   (nijtmans, hobb
363d0 73 29 20 61 6e 64 20 61 64 64 65 64 20 52 50 4d  s) and added RPM
363e0 20 74 61 72 67 65 74 20 28 6d 65 6c 73 6b 69 29   target (melski)
363f0 0a 0a 32 30 30 30 2d 30 33 2d 33 31 20 28 62 75  ..2000-03-31 (bu
36400 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64  g fix) corrected
36410 20 64 61 74 61 20 65 6e 63 6f 64 69 6e 67 20 70   data encoding p
36420 72 6f 62 6c 65 6d 20 77 68 65 6e 20 75 73 69 6e  roblem when usin
36430 67 0a 22 65 78 65 63 20 3c 3c 20 24 64 61 74 61  g."exec << $data
36440 22 20 63 6f 6e 73 74 72 75 63 74 20 28 6d 65 6c  " construct (mel
36450 73 6b 69 29 0a 0a 32 30 30 30 2d 30 34 20 28 66  ski)..2000-04 (f
36460 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
36470 6e 74 29 20 6f 76 65 72 68 61 75 6c 20 6f 66 20  nt) overhaul of 
36480 74 68 72 65 61 64 69 6e 67 20 6d 65 63 68 61 6e  threading mechan
36490 69 73 6d 20 74 6f 20 62 65 74 74 65 72 0a 73 75  ism to better.su
364a0 70 70 6f 72 74 20 74 63 6c 20 6c 65 76 65 6c 20  pport tcl level 
364b0 74 68 72 65 61 64 20 63 6f 6d 6d 61 6e 64 20 28  thread command (
364c0 6e 65 77 20 41 50 49 73 20 54 63 6c 5f 43 6f 6e  new APIs Tcl_Con
364d0 64 69 74 69 6f 6e 46 69 6e 61 6c 69 7a 65 2c 0a  ditionFinalize,.
364e0 54 63 6c 5f 4d 75 74 65 78 46 69 6e 61 6c 69 7a  Tcl_MutexFinaliz
364f0 65 2c 20 54 63 6c 5f 43 72 65 61 74 65 54 68 72  e, Tcl_CreateThr
36500 65 61 64 2c 20 65 74 63 2c 20 61 6c 6c 20 64 6f  ead, etc, all do
36510 63 73 20 69 6e 20 54 68 72 65 61 64 2e 33 29 2e  cs in Thread.3).
36520 0a 28 6b 75 70 72 69 65 73 2c 20 67 72 61 76 65  .(kupries, grave
36530 72 61 75 78 29 0a 54 68 69 73 20 65 6e 61 62 6c  raux).This enabl
36540 65 73 20 74 68 65 20 74 63 6c 20 6c 65 76 65 6c  es the tcl level
36550 20 74 68 72 65 61 64 20 65 78 74 65 6e 73 69 6f   thread extensio
36560 6e 2e 20 28 77 65 6c 63 68 29 0a 0a 32 30 30 30  n. (welch)..2000
36570 2d 30 34 2d 31 30 20 28 62 75 67 20 66 69 78 29  -04-10 (bug fix)
36580 20 66 69 78 65 64 20 69 6e 66 69 6e 69 74 65 20   fixed infinite 
36590 6c 6f 6f 70 20 63 61 73 65 20 69 6e 20 72 65 67  loop case in reg
365a0 65 78 70 20 2d 61 6c 6c 20 28 6d 65 6c 73 6b 69  exp -all (melski
365b0 29 0a 0a 32 30 30 30 2d 30 34 2d 31 33 20 28 63  )..2000-04-13 (c
365c0 6f 6e 66 69 67 20 65 6e 68 61 6e 63 65 6d 65 6e  onfig enhancemen
365d0 74 29 20 61 64 64 65 64 20 73 75 70 70 6f 72 74  t) added support
365e0 20 66 6f 72 20 2d 2d 65 6e 61 62 6c 65 2d 36 34   for --enable-64
365f0 62 69 74 2d 76 69 73 0a 53 70 61 72 63 20 74 61  bit-vis.Sparc ta
36600 72 67 65 74 2e 20 28 68 6f 62 62 73 29 0a 0a 32  rget. (hobbs)..2
36610 30 30 30 2d 30 34 2d 31 38 20 28 62 75 67 20 66  000-04-18 (bug f
36620 69 78 29 20 6d 6f 76 65 64 20 74 63 6c 4c 69 62  ix) moved tclLib
36630 72 61 72 79 50 61 74 68 20 74 6f 20 74 68 72 65  raryPath to thre
36640 61 64 2d 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65  ad-local storage
36650 20 74 6f 20 66 69 78 0a 70 6f 73 73 69 62 6c 65   to fix.possible
36660 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 20   race condition 
36670 6f 6e 20 4d 50 20 6d 61 63 68 69 6e 65 73 20 28  on MP machines (
36680 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30 34 2d  hobbs)..2000-04-
36690 31 38 20 28 63 6f 6e 66 69 67 20 65 6e 68 61 6e  18 (config enhan
366a0 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20 4d 61  cement) added Ma
366b0 63 4f 53 20 58 20 62 75 69 6c 64 20 74 61 72 67  cOS X build targ
366c0 65 74 20 61 6e 64 0a 74 63 6c 4c 6f 61 64 44 79  et and.tclLoadDy
366d0 6c 64 2e 63 20 64 6c 20 74 79 70 65 2e 20 28 73  ld.c dl type. (s
366e0 61 6e 63 68 65 7a 29 0a 0a 32 30 30 30 2d 30 34  anchez)..2000-04
366f0 2d 32 33 20 28 62 75 67 20 66 69 78 29 20 73 65  -23 (bug fix) se
36700 76 65 72 61 6c 20 4d 61 63 20 73 6f 63 6b 65 74  veral Mac socket
36710 20 66 69 78 65 73 20 28 69 6e 67 68 61 6d 29 0a   fixes (ingham).
36720 0a 32 30 30 30 2d 30 34 2d 32 34 20 28 62 75 67  .2000-04-24 (bug
36730 20 66 69 78 29 20 66 69 78 65 64 20 68 61 6e 67   fix) fixed hang
36740 20 69 6e 20 74 68 72 65 61 64 65 64 20 55 6e 69   in threaded Uni
36750 78 20 63 61 73 65 20 77 68 65 6e 20 62 61 63 6b  x case when back
36760 67 72 6f 75 6e 64 65 64 0a 65 78 65 63 20 70 72  grounded.exec pr
36770 6f 63 65 73 73 20 77 61 73 20 72 75 6e 6e 69 6e  ocess was runnin
36780 67 20 28 64 65 6a 6f 6e 67 29 0a 0a 2d 2d 2d 20  g (dejong)..--- 
36790 52 65 6c 65 61 73 65 64 20 38 2e 33 2e 31 2c 20  Released 8.3.1, 
367a0 41 70 72 69 6c 20 32 36 2c 20 32 30 30 30 20 2d  April 26, 2000 -
367b0 2d 2d 20 53 65 65 20 43 68 61 6e 67 65 4c 6f 67  -- See ChangeLog
367c0 20 66 6f 72 20 64 65 74 61 69 6c 73 20 2d 2d 2d   for details ---
367d0 0a 0a 32 30 30 30 2d 30 34 2d 32 36 20 28 64 6f  ..2000-04-26 (do
367e0 63 20 66 69 78 29 20 75 70 64 61 74 65 64 2f 61  c fix) updated/a
367f0 64 64 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69  dded documentati
36800 6f 6e 20 66 6f 72 20 6d 61 6e 79 20 41 50 49 27  on for many API'
36810 73 20 61 6e 64 0a 63 6f 6d 6d 61 6e 64 73 20 28  s and.commands (
36820 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 35  melski)..2000-05
36830 2d 30 32 20 28 66 65 61 74 75 72 65 20 65 6e 68  -02 (feature enh
36840 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20  ancement) added 
36850 73 75 70 70 6f 72 74 20 66 6f 72 20 6a 6f 69 6e  support for join
36860 61 62 6c 65 20 74 68 72 65 61 64 73 3b 0a 65 78  able threads;.ex
36870 74 65 6e 64 65 64 20 41 50 49 27 73 20 66 6f 72  tended API's for
36880 20 63 68 61 6e 6e 65 6c 73 20 74 6f 20 61 6c 6c   channels to all
36890 6f 77 20 63 68 61 6e 6e 65 6c 73 20 74 6f 20 6d  ow channels to m
368a0 6f 76 65 20 62 65 74 77 65 65 6e 20 74 68 72 65  ove between thre
368b0 61 64 73 0a 28 6b 75 70 72 69 65 73 29 0a 0a 32  ads.(kupries)..2
368c0 30 30 30 2d 30 35 2d 30 32 20 28 66 65 61 74 75  000-05-02 (featu
368d0 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  re enhancement) 
368e0 63 68 61 6e 67 65 64 20 65 72 72 6f 72 20 72 65  changed error re
368f0 74 75 72 6e 20 66 6f 72 20 70 72 6f 63 65 64 75  turn for procedu
36900 72 65 73 0a 77 69 74 68 20 69 6e 63 6f 72 72 65  res.with incorre
36910 63 74 20 61 72 67 73 20 74 6f 20 62 65 20 6c 69  ct args to be li
36920 6b 65 20 74 68 65 20 54 63 6c 5f 57 72 6f 6e 67  ke the Tcl_Wrong
36930 4e 75 6d 41 72 67 73 20 41 50 49 2c 20 77 69 74  NumArgs API, wit
36940 68 20 61 20 22 77 72 6f 6e 67 0a 23 20 61 72 67  h a "wrong.# arg
36950 73 3a 20 2e 2e 2e 22 20 6d 65 73 73 61 67 65 20  s: ..." message 
36960 70 72 69 6e 74 65 64 2c 20 77 69 74 68 20 61 6e  printed, with an
36970 20 61 72 67 73 20 6c 69 73 74 20 28 68 6f 62 62   args list (hobb
36980 73 29 0a 0a 32 30 30 30 2d 30 35 2d 30 38 20 28  s)..2000-05-08 (
36990 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
369a0 65 6e 74 29 20 61 64 64 65 64 20 5b 61 72 72 61  ent) added [arra
369b0 79 20 73 74 61 74 69 73 74 69 63 73 5d 20 63 6f  y statistics] co
369c0 6d 6d 61 6e 64 0a 0a 32 30 30 30 2d 30 35 2d 30  mmand..2000-05-0
369d0 38 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65  8 (performance e
369e0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 72 65 77 72  nhancement) rewr
369f0 6f 74 65 20 54 63 6c 5f 53 74 72 69 6e 67 43 61  ote Tcl_StringCa
36a00 73 65 4d 61 74 63 68 0a 61 6c 67 6f 72 69 74 68  seMatch.algorith
36a10 6d 20 66 6f 72 20 62 65 74 74 65 72 20 70 65 72  m for better per
36a20 66 6f 72 6d 61 6e 63 65 3b 20 74 68 69 73 20 61  formance; this a
36a30 66 66 65 63 74 73 20 74 68 65 20 5b 73 74 72 69  ffects the [stri
36a40 6e 67 20 6d 61 74 63 68 5d 0a 63 6f 6d 6d 61 6e  ng match].comman
36a50 64 3b 20 61 64 64 65 64 20 22 65 71 22 20 61 6e  d; added "eq" an
36a60 64 20 22 6e 65 22 20 6f 70 65 72 61 6e 64 73 20  d "ne" operands 
36a70 74 6f 20 65 78 70 72 2c 20 66 6f 72 20 74 65 73  to expr, for tes
36a80 74 69 6e 67 0a 73 74 72 69 6e 67 20 65 71 75 61  ting.string equa
36a90 6c 69 74 79 20 61 6e 64 20 69 6e 65 71 75 61 6c  lity and inequal
36aa0 69 74 79 20 28 68 6f 62 62 73 29 0a 0a 32 30 30  ity (hobbs)..200
36ab0 30 2d 30 35 2d 30 39 20 28 66 65 61 74 75 72 65  0-05-09 (feature
36ac0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 65 78   enhancement) ex
36ad0 74 65 6e 64 65 64 20 5b 6c 73 65 61 72 63 68 5d  tended [lsearch]
36ae0 20 74 6f 20 73 75 70 70 6f 72 74 20 73 6f 72 74   to support sort
36af0 65 64 0a 6c 69 73 74 20 73 65 61 72 63 68 65 73  ed.list searches
36b00 20 61 6e 64 20 74 79 70 65 64 20 6c 69 73 74 20   and typed list 
36b10 73 65 61 72 63 68 65 73 20 28 6d 65 6c 73 6b 69  searches (melski
36b20 29 0a 0a 32 30 30 30 2d 30 35 2d 31 30 20 28 66  )..2000-05-10 (f
36b30 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
36b40 6e 74 29 20 61 64 64 65 64 20 5b 6e 61 6d 65 73  nt) added [names
36b50 70 61 63 65 20 65 78 69 73 74 73 5d 20 63 6f 6d  pace exists] com
36b60 6d 61 6e 64 0a 28 64 61 72 6c 65 79 29 0a 0a 32  mand.(darley)..2
36b70 30 30 30 2d 30 35 2d 31 38 20 28 62 75 69 6c 64  000-05-18 (build
36b80 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64   enhancement) ad
36b90 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ded support for 
36ba0 6d 69 6e 67 77 20 63 6f 6d 70 69 6c 65 20 65 6e  mingw compile en
36bb0 76 20 61 6e 64 0a 63 72 6f 73 73 2d 63 6f 6d 70  v and.cross-comp
36bc0 69 6c 69 6e 67 20 28 64 65 6a 6f 6e 67 29 0a 0a  iling (dejong)..
36bd0 32 30 30 30 2d 30 35 2d 31 38 20 28 62 75 67 20  2000-05-18 (bug 
36be0 66 69 78 29 20 63 6f 72 72 65 63 74 65 64 20 63  fix) corrected c
36bf0 6c 6f 63 6b 20 67 72 61 6d 6d 61 72 20 74 6f 20  lock grammar to 
36c00 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 20  properly handle 
36c10 74 68 65 0a 22 61 67 6f 22 20 6b 65 79 77 6f 72  the."ago" keywor
36c20 64 20 77 68 65 6e 20 69 74 20 66 6f 6c 6c 6f 77  d when it follow
36c30 73 20 6d 75 6c 74 69 70 6c 65 20 72 65 6c 61 74  s multiple relat
36c40 69 76 65 20 75 6e 69 74 20 73 70 65 63 69 66 69  ive unit specifi
36c50 65 72 73 0a 28 6d 65 6c 73 6b 69 29 0a 0a 32 30  ers.(melski)..20
36c60 30 30 2d 30 35 2d 32 32 20 28 63 6f 6d 70 69 6c  00-05-22 (compil
36c70 65 20 66 69 78 29 20 74 79 70 65 20 63 61 73 74  e fix) type cast
36c80 20 63 6c 65 61 6e 75 70 73 20 28 64 65 6a 6f 6e   cleanups (dejon
36c90 67 29 0a 0a 32 30 30 30 2d 30 35 2d 32 33 20 28  g)..2000-05-23 (
36ca0 70 65 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61  performance enha
36cb0 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20 62  ncement) added b
36cc0 79 74 65 2d 63 6f 6d 70 69 6c 65 64 0a 69 6d 70  yte-compiled.imp
36cd0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 5b  lementation of [
36ce0 72 65 74 75 72 6e 5d 20 63 6f 6d 6d 61 6e 64 20  return] command 
36cf0 61 6e 64 20 5b 73 74 72 69 6e 67 5d 20 63 6f 6d  and [string] com
36d00 6d 61 6e 64 20 28 6d 65 6c 73 6b 69 29 0a 0a 32  mand (melski)..2
36d10 30 30 30 2d 30 35 2d 32 36 20 28 70 65 72 66 6f  000-05-26 (perfo
36d20 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63 65 6d 65  rmance enhanceme
36d30 6e 74 29 20 65 78 74 65 6e 64 65 64 20 62 79 74  nt) extended byt
36d40 65 2d 63 6f 6d 70 69 6c 65 64 20 5b 73 74 72 69  e-compiled [stri
36d50 6e 67 5d 0a 63 6f 6d 6d 61 6e 64 20 77 69 74 68  ng].command with
36d60 20 73 75 70 70 6f 72 74 20 66 6f 72 20 5b 73 74   support for [st
36d70 72 69 6e 67 20 63 6f 6d 70 61 72 65 2f 69 6e 64  ring compare/ind
36d80 65 78 2f 6d 61 74 63 68 5d 20 28 68 6f 62 62 73  ex/match] (hobbs
36d90 29 0a 0a 32 30 30 30 2d 30 35 2d 32 37 20 28 66  )..2000-05-27 (f
36da0 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
36db0 6e 74 29 20 61 64 64 65 64 20 61 62 69 6c 69 74  nt) added abilit
36dc0 79 20 74 6f 20 73 65 74 20 5b 69 6e 66 6f 20 73  y to set [info s
36dd0 63 72 69 70 74 5d 0a 72 65 74 75 72 6e 20 76 61  cript].return va
36de0 6c 75 65 20 28 5b 69 6e 66 6f 20 73 63 72 69 70  lue ([info scrip
36df0 74 20 3f 6e 65 77 46 69 6c 65 4e 61 6d 65 3f 5d  t ?newFileName?]
36e00 29 20 28 77 65 6c 63 68 29 0a 0a 32 30 30 30 2d  ) (welch)..2000-
36e10 30 35 2d 33 31 20 28 66 65 61 74 75 72 65 20 65  05-31 (feature e
36e20 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65  nhancement) adde
36e30 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 65  d support for re
36e40 67 65 78 70 20 61 6e 64 20 65 78 61 63 74 0a 70  gexp and exact.p
36e50 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67 20  attern matching 
36e60 66 6f 72 20 5b 61 72 72 61 79 20 6e 61 6d 65 73  for [array names
36e70 5d 20 28 67 61 7a 65 74 74 61 29 0a 0a 32 30 30  ] (gazetta)..200
36e80 30 2d 30 35 2d 33 31 20 28 66 65 61 74 75 72 65  0-05-31 (feature
36e90 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64   enhancement) ad
36ea0 64 65 64 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20  ded -nocomplain 
36eb0 61 6e 64 20 2d 2d 20 66 6c 61 67 73 20 74 6f 0a  and -- flags to.
36ec0 5b 75 6e 73 65 74 5d 20 74 6f 20 61 6c 6c 6f 77  [unset] to allow
36ed0 20 66 6f 72 20 73 69 6c 65 6e 74 20 75 6e 73 65   for silent unse
36ee0 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 68 6f 62  t operation (hob
36ef0 62 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65  bs)..--- Release
36f00 64 20 38 2e 34 61 31 2c 20 4a 75 6e 65 20 36 2c  d 8.4a1, June 6,
36f10 20 32 30 30 30 20 2d 2d 2d 20 53 65 65 20 43 68   2000 --- See Ch
36f20 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74 61  angeLog for deta
36f30 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30 35  ils ---..2000-05
36f40 2d 32 39 20 28 62 75 67 20 66 69 78 29 20 63 6f  -29 (bug fix) co
36f50 72 72 65 63 74 65 64 20 72 65 73 6f 75 72 63 65  rrected resource
36f60 20 63 6c 65 61 6e 75 70 20 69 6e 20 68 74 74 70   cleanup in http
36f70 20 65 72 72 6f 72 20 63 61 73 65 73 2e 0a 49 6d   error cases..Im
36f80 70 72 6f 76 65 64 20 68 61 6e 64 6c 69 6e 67 20  proved handling 
36f90 6f 66 20 65 72 72 6f 72 20 63 61 73 65 73 20 69  of error cases i
36fa0 6e 20 68 74 74 70 2e 20 28 74 61 6d 68 61 6e 6b  n http. (tamhank
36fb0 61 72 29 0a 0a 32 30 30 30 2d 30 37 20 28 66 65  ar)..2000-07 (fe
36fc0 61 74 75 72 65 20 72 65 77 72 69 74 65 29 20 63  ature rewrite) c
36fd0 6f 6d 70 6c 65 74 65 20 72 65 77 72 69 74 65 20  omplete rewrite 
36fe0 6f 66 20 74 68 65 20 54 63 6c 20 49 4f 20 63 68  of the Tcl IO ch
36ff0 61 6e 6e 65 6c 20 73 75 62 73 79 73 74 65 6d 0a  annel subsystem.
37000 74 6f 20 63 6f 72 72 65 63 74 20 70 72 6f 62 6c  to correct probl
37010 65 6d 73 20 28 68 61 6e 67 73 2c 20 63 6f 72 65  ems (hangs, core
37020 20 64 75 6d 70 73 29 20 77 69 74 68 20 74 68 65   dumps) with the
37030 20 69 6e 69 74 69 61 6c 20 73 74 61 63 6b 65 64   initial stacked
37040 20 63 68 61 6e 6e 65 6c 0a 69 6d 70 6c 65 6d 65   channel.impleme
37050 6e 74 61 74 69 6f 6e 2e 20 20 54 68 65 20 6e 65  ntation.  The ne
37060 77 20 73 79 73 74 65 6d 20 68 61 73 20 6d 61 6e  w system has man
37070 79 20 6d 6f 72 65 20 74 65 73 74 73 20 66 6f 72  y more tests for
37080 20 72 6f 62 75 73 74 6e 65 73 73 20 61 6e 64 0a   robustness and.
37090 73 63 61 6c 61 62 69 6c 69 74 79 2e 20 20 54 68  scalability.  Th
370a0 65 72 65 20 61 72 65 20 6e 65 77 20 43 20 41 50  ere are new C AP
370b0 49 73 20 28 73 65 65 20 54 63 6c 5f 43 72 65 61  Is (see Tcl_Crea
370c0 74 65 43 68 61 6e 6e 65 6c 29 2c 20 62 75 74 20  teChannel), but 
370d0 6f 6e 6c 79 0a 73 74 61 63 6b 65 64 20 63 68 61  only.stacked cha
370e0 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 61 72 65  nnel drivers are
370f0 20 61 66 66 65 63 74 65 64 20 28 69 65 3a 20 54   affected (ie: T
37100 4c 53 2c 20 54 72 66 2c 20 69 6f 67 74 29 2e 20  LS, Trf, iogt). 
37110 20 54 68 65 20 69 6f 67 74 0a 65 78 74 65 6e 73   The iogt.extens
37120 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 61 64 64  ion has been add
37130 65 64 20 74 6f 20 74 68 65 20 63 6f 72 65 20 74  ed to the core t
37140 65 73 74 20 63 6f 64 65 20 74 6f 20 74 65 73 74  est code to test
37150 20 74 68 65 20 73 79 73 74 65 6d 2e 0a 28 68 6f   the system..(ho
37160 62 62 73 2c 20 6b 75 70 72 69 65 73 29 0a 09 2a  bbs, kupries)..*
37170 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
37180 43 4f 4d 50 41 54 41 42 49 4c 49 54 59 20 2a 2a  COMPATABILITY **
37190 2a 2a 0a 0a 32 30 30 30 2d 30 37 20 28 62 75 69  **..2000-07 (bui
371a0 6c 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 29  ld improvements)
371b0 20 63 6c 65 61 6e 75 70 20 6f 66 20 74 68 65 20   cleanup of the 
371c0 6d 61 6b 65 66 69 6c 65 73 20 61 6e 64 20 63 6f  makefiles and co
371d0 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 73 0a  nfigure scripts.
371e0 74 6f 20 63 6f 72 72 65 63 74 20 73 75 70 70 6f  to correct suppo
371f0 72 74 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20  rt for building 
37200 75 6e 64 65 72 20 67 63 63 20 66 6f 72 20 57 69  under gcc for Wi
37210 6e 64 6f 77 73 2e 20 28 64 65 6a 6f 6e 67 29 0a  ndows. (dejong).
37220 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62 75 67  .2000-08-07 (bug
37230 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64 20   fix) corrected 
37240 73 69 7a 65 6f 66 20 65 72 72 6f 72 20 69 6e 20  sizeof error in 
37250 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d  Tcl_GetIndexFrom
37260 4f 62 6a 53 74 72 75 63 74 2e 0a 28 70 65 72 6b  ObjStruct..(perk
37270 69 6e 73 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37  ins)..2000-08-07
37280 20 28 62 75 67 20 66 69 78 29 20 63 6f 72 72 65   (bug fix) corre
37290 63 74 20 6f 66 66 2d 62 79 2d 6f 6e 65 20 65 72  ct off-by-one er
372a0 72 6f 72 20 69 6e 20 48 69 73 74 49 6e 64 65 78  ror in HistIndex
372b0 2c 20 77 68 69 63 68 20 77 61 73 0a 63 61 75 73  , which was.caus
372c0 69 6e 67 20 5b 68 69 73 74 6f 72 79 20 72 65 64  ing [history red
372d0 6f 5d 20 74 6f 20 73 74 61 72 74 20 69 74 73 20  o] to start its 
372e0 73 65 61 72 63 68 20 61 74 20 74 68 65 20 77 72  search at the wr
372f0 6f 6e 67 20 65 76 65 6e 74 20 69 6e 64 65 78 2e  ong event index.
37300 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d   (melski)..2000-
37310 30 38 2d 30 37 20 28 62 75 67 20 66 69 78 29 20  08-07 (bug fix) 
37320 63 6f 72 72 65 63 74 65 64 20 73 65 74 6c 6f 63  corrected setloc
37330 61 6c 65 20 63 61 6c 6c 73 20 66 6f 72 20 58 49  ale calls for XI
37340 4d 20 73 75 70 70 6f 72 74 20 61 6e 64 20 6c 6f  M support and lo
37350 63 61 6c 65 0a 69 73 73 75 65 73 20 69 6e 20 73  cale.issues in s
37360 74 61 72 74 75 70 2e 20 28 74 61 6b 61 68 61 73  tartup. (takahas
37370 68 69 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20  hi)..2000-08-07 
37380 28 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63  (bug fix) correc
37390 74 20 63 6f 64 65 20 74 6f 20 68 61 6e 64 6c 65  t code to handle
373a0 20 6c 6f 63 61 6c 65 20 73 70 65 63 69 66 69 63   locale specific
373b0 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73 0a 66   return values.f
373c0 72 6f 6d 20 73 74 72 66 74 69 6d 65 2c 20 69 66  rom strftime, if
373d0 20 61 6e 79 2e 20 28 77 61 67 6e 65 72 29 0a 0a   any. (wagner)..
373e0 32 30 30 30 2d 30 38 2d 30 37 20 28 62 75 67 20  2000-08-07 (bug 
373f0 66 69 78 29 20 74 77 65 61 6b 65 64 20 67 72 61  fix) tweaked gra
37400 6d 6d 61 72 20 74 6f 20 70 72 6f 70 65 72 6c 79  mmar to properly
37410 20 68 61 6e 64 6c 65 20 74 68 65 20 22 61 67 6f   handle the "ago
37420 22 20 6b 65 79 77 6f 72 64 0a 77 68 65 6e 20 69  " keyword.when i
37430 74 20 66 6f 6c 6c 6f 77 73 20 6d 75 6c 74 69 70  t follows multip
37440 6c 65 20 72 65 6c 61 74 69 76 65 20 75 6e 69 74  le relative unit
37450 20 73 70 65 63 69 66 69 65 72 73 2c 20 61 73 20   specifiers, as 
37460 69 6e 0a 22 32 20 64 61 79 73 20 32 20 68 6f 75  in."2 days 2 hou
37470 72 73 20 61 67 6f 22 2e 20 28 6d 65 6c 73 6b 69  rs ago". (melski
37480 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 64  )..2000-08-07 (d
37490 6f 63 20 66 69 78 65 73 29 20 6e 75 6d 65 72 6f  oc fixes) numero
374a0 75 73 20 64 6f 63 20 66 69 78 65 73 20 74 6f 20  us doc fixes to 
374b0 63 6f 72 72 65 63 74 20 53 45 45 20 41 4c 53 4f  correct SEE ALSO
374c0 20 61 6e 64 20 4e 41 4d 45 0a 73 65 63 74 69 6f   and NAME.sectio
374d0 6e 73 2e 20 28 65 6e 67 6c 69 73 68 29 0a 0a 32  ns. (english)..2
374e0 30 30 30 2d 30 38 2d 30 37 20 28 62 75 67 20 66  000-08-07 (bug f
374f0 69 78 29 20 6e 65 77 20 6d 61 6e 20 70 61 67 65  ix) new man page
37500 73 20 6d 65 6d 6f 72 79 2e 6e 2c 20 54 43 4c 5f  s memory.n, TCL_
37510 4d 45 4d 5f 44 45 42 55 47 2e 33 2c 20 49 6e 69  MEM_DEBUG.3, Ini
37520 74 2e 33 20 61 6e 64 0a 44 75 6d 70 41 63 74 69  t.3 and.DumpActi
37530 76 65 4d 65 6d 6f 72 79 2e 33 2e 20 28 6d 65 6c  veMemory.3. (mel
37540 73 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73  ski)..--- Releas
37550 65 64 20 38 2e 33 2e 32 2c 20 41 75 67 75 73 74  ed 8.3.2, August
37560 20 39 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65 65   9, 2000 --- See
37570 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64   ChangeLog for d
37580 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30  etails ---..2000
37590 2d 30 36 20 74 68 72 75 20 32 30 30 30 2d 31 31  -06 thru 2000-11
375a0 20 28 62 75 69 6c 64 20 69 6d 70 72 6f 76 65 6d   (build improvem
375b0 65 6e 74 73 29 20 41 64 64 65 64 20 73 75 70 70  ents) Added supp
375c0 6f 72 74 20 66 6f 72 20 6d 69 6e 67 77 20 28 67  ort for mingw (g
375d0 63 63 20 6f 6e 0a 57 69 6e 64 6f 77 73 29 2c 20  cc on.Windows), 
375e0 41 49 58 2d 35 20 61 6e 64 20 57 69 6e 36 34 20  AIX-5 and Win64 
375f0 62 75 69 6c 64 73 20 28 64 65 6a 6f 6e 67 2c 20  builds (dejong, 
37600 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30 36 2d  hobbs)..2000-06-
37610 32 33 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  23 (feature enha
37620 6e 63 65 6d 65 6e 74 29 20 61 62 69 6c 69 74 79  ncement) ability
37630 20 74 6f 20 75 73 65 20 54 63 6c 5f 4f 62 6a 20   to use Tcl_Obj 
37640 2a 73 20 61 73 20 68 61 73 68 20 6b 65 79 73 20  *s as hash keys 
37650 28 64 75 66 66 69 6e 29 0a 0a 32 30 30 30 2d 30  (duffin)..2000-0
37660 36 2d 32 39 20 28 6e 65 77 20 66 65 61 74 75 72  6-29 (new featur
37670 65 73 29 20 61 64 64 65 64 20 5b 6d 63 6d 61 78  es) added [mcmax
37680 5d 20 61 6e 64 20 5b 6d 63 6d 73 65 74 5d 20 61  ] and [mcmset] a
37690 6e 64 20 65 78 74 65 6e 64 65 64 20 5b 75 6e 6b  nd extended [unk
376a0 6e 6f 77 6e 5d 20 69 6e 0a 6d 73 67 63 61 74 20  nown] in.msgcat 
376b0 70 61 63 6b 61 67 65 20 28 64 75 70 65 72 76 61  package (duperva
376c0 6c 2c 20 6b 72 6f 6e 65 2c 20 6e 65 6c 73 6f 6e  l, krone, nelson
376d0 29 0a 3d 3e 20 6d 73 67 63 61 74 20 31 2e 31 0a  ).=> msgcat 1.1.
376e0 0a 32 30 30 30 2d 30 38 20 74 68 72 75 20 32 30  .2000-08 thru 20
376f0 30 30 2d 30 39 20 61 64 64 65 64 20 74 63 6c 50  00-09 added tclP
37700 6c 61 74 44 65 63 6c 73 2e 68 20 74 6f 20 64 65  latDecls.h to de
37710 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c 20 28 6d  fault install (m
37720 65 6c 73 6b 69 2c 20 68 6f 62 62 73 29 0a 0a 32  elski, hobbs)..2
37730 30 30 30 2d 30 38 2d 32 34 20 28 6e 65 77 20 66  000-08-24 (new f
37740 65 61 74 75 72 65 29 20 45 6e 68 61 6e 63 65 64  eature) Enhanced
37750 20 74 72 61 63 65 20 73 79 6e 74 61 78 20 74 6f   trace syntax to
37760 20 61 64 64 3a 0a 09 74 72 61 63 65 20 7b 61 64   add:..trace {ad
37770 64 7c 72 65 6d 6f 76 65 7c 6c 69 73 74 7d 20 7b  d|remove|list} {
37780 76 61 72 69 61 62 6c 65 7c 63 6f 6d 6d 61 6e 64  variable|command
37790 7d 20 6e 61 6d 65 20 6f 70 73 20 63 6f 6d 6d 61  } name ops comma
377a0 6e 64 0a 28 64 61 72 6c 65 79 2c 20 6d 65 6c 73  nd.(darley, mels
377b0 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d 30 36 20  ki)..2000-09-06 
377c0 28 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20  (cross-platform 
377d0 66 65 61 74 75 72 65 29 20 53 65 74 20 5e 5a 20  feature) Set ^Z 
377e0 28 5c 33 32 29 20 61 73 20 64 65 66 61 75 6c 74  (\32) as default
377f0 20 45 4f 46 20 63 68 61 72 2e 20 28 68 6f 62 62   EOF char. (hobb
37800 73 29 0a 0a 32 30 30 30 2d 30 39 2d 30 37 20 70  s)..2000-09-07 p
37810 61 72 74 69 61 6c 20 66 69 78 20 66 6f 72 20 62  artial fix for b
37820 75 67 20 32 34 36 30 20 74 6f 20 70 72 65 76 65  ug 2460 to preve
37830 6e 74 20 65 78 65 63 20 6d 65 6d 20 6c 65 61 6b  nt exec mem leak
37840 20 6f 6e 20 57 69 6e 64 6f 77 73 20 66 6f 72 20   on Windows for 
37850 74 68 65 0a 63 6f 6d 6d 6f 6e 20 63 61 73 65 20  the.common case 
37860 28 67 72 61 76 65 72 65 61 75 78 29 0a 0a 32 30  (gravereaux)..20
37870 30 30 2d 30 39 2d 31 34 20 49 6d 70 72 6f 76 65  00-09-14 Improve
37880 64 20 73 74 72 69 6e 67 20 61 6c 6c 6f 63 61 74  d string allocat
37890 69 6f 6e 20 67 72 6f 77 74 68 20 66 6f 72 20 6c  ion growth for l
378a0 61 72 67 65 20 73 74 72 69 6e 67 73 20 28 68 69  arge strings (hi
378b0 6e 74 65 72 6d 61 79 65 72 2c 0a 6d 65 6c 73 6b  ntermayer,.melsk
378c0 69 29 0a 0a 32 30 30 30 2d 30 39 2d 31 34 20 4e  i)..2000-09-14 N
378d0 65 77 20 6e 6f 6e 2d 70 61 6e 69 63 27 69 6e 67  ew non-panic'ing
378e0 20 6d 65 6d 20 61 6c 6c 6f 63 61 74 69 6f 6e 20   mem allocation 
378f0 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c 5f 41 74  functions Tcl_At
37900 74 65 6d 70 74 41 6c 6c 6f 63 2c 0a 54 63 6c 5f  temptAlloc,.Tcl_
37910 41 74 74 65 6d 70 74 52 65 61 6c 6c 6f 63 2c 20  AttemptRealloc, 
37920 54 63 6c 5f 41 74 74 65 6d 70 74 53 65 74 4f 62  Tcl_AttemptSetOb
37930 6a 4c 65 6e 67 74 68 20 28 6d 65 6c 73 6b 69 29  jLength (melski)
37940 0a 0a 32 30 30 30 2d 30 39 2d 32 30 20 28 6e 65  ..2000-09-20 (ne
37950 77 20 66 65 61 74 75 72 65 73 29 20 63 6f 6d 70  w features) comp
37960 6c 65 74 65 6c 79 20 6e 65 77 2c 20 65 6e 68 61  letely new, enha
37970 6e 63 65 64 20 73 79 6e 74 61 78 20 69 6e 20 74  nced syntax in t
37980 63 6c 74 65 73 74 20 70 61 63 6b 61 67 65 2e 0a  cltest package..
37990 42 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74  Backwards compat
379a0 61 62 6c 65 20 77 69 74 68 20 74 63 6c 74 65 73  able with tcltes
379b0 74 20 76 31 2e 20 28 68 6f 6d 29 0a 3d 3e 20 74  t v1. (hom).=> t
379c0 63 6c 74 65 73 74 20 32 2e 30 0a 0a 32 30 30 30  cltest 2.0..2000
379d0 2d 30 39 2d 32 37 20 28 62 75 67 20 66 69 78 29  -09-27 (bug fix)
379e0 20 66 69 78 65 64 20 61 20 62 75 67 20 69 6e 74   fixed a bug int
379f0 72 6f 64 75 63 65 64 20 62 79 20 61 20 70 61 72  roduced by a par
37a00 74 69 61 6c 20 66 69 78 20 69 6e 20 38 2e 33 2e  tial fix in 8.3.
37a10 32 20 74 68 61 74 0a 64 69 64 6e 27 74 20 73 65  2 that.didn't se
37a20 74 20 6e 6f 6e 42 6c 6f 63 6b 69 6e 67 20 63 6f  t nonBlocking co
37a30 72 72 65 63 74 6c 79 20 77 68 65 6e 20 72 65 73  rrectly when res
37a40 65 74 74 69 6e 67 20 74 68 65 20 66 6c 61 67 73  etting the flags
37a50 20 66 6f 72 20 74 68 65 20 77 72 69 74 65 0a 73   for the write.s
37a60 69 64 65 20 28 6d 65 6d 20 6c 65 61 6b 29 20 43  ide (mem leak) C
37a70 6f 72 72 65 63 74 20 6d 65 6d 20 6c 65 61 6b 20  orrect mem leak 
37a80 69 6e 20 63 68 61 6e 6e 65 6c 73 20 77 68 65 6e  in channels when
37a90 20 73 74 61 74 65 50 74 72 20 77 61 73 20 72 65   statePtr was re
37aa0 6c 65 61 73 65 64 0a 28 68 6f 62 62 73 29 0a 0a  leased.(hobbs)..
37ab0 32 30 30 30 2d 30 39 2d 32 39 20 28 62 75 67 20  2000-09-29 (bug 
37ac0 66 69 78 29 20 63 6f 72 72 65 63 74 65 64 20 72  fix) corrected r
37ad0 65 70 6f 72 74 69 6e 67 20 6f 66 20 73 70 61 63  eporting of spac
37ae0 65 20 70 61 72 69 74 79 20 6f 6e 20 57 69 6e 64  e parity on Wind
37af0 6f 77 73 20 28 45 61 73 6f 6e 29 0a 0a 32 30 30  ows (Eason)..200
37b00 30 2d 31 30 2d 30 36 20 28 62 75 67 20 66 69 78  0-10-06 (bug fix
37b10 29 20 63 6f 72 72 65 63 74 65 64 20 5b 66 69 6c  ) corrected [fil
37b20 65 20 63 68 61 6e 6e 65 6c 73 5d 20 74 6f 20 6f  e channels] to o
37b30 6e 6c 79 20 72 65 74 75 72 6e 20 63 68 61 6e 6e  nly return chann
37b40 65 6c 73 20 69 6e 0a 74 68 65 20 63 75 72 72 65  els in.the curre
37b50 6e 74 20 69 6e 74 65 72 70 72 65 74 65 72 20 28  nt interpreter (
37b60 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31 30 2d  hobbs)..2000-10-
37b70 32 30 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20  20 (performance 
37b80 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 63 61 6c  enhancement) cal
37b90 6c 20 73 74 61 74 20 6f 6e 6c 79 20 77 68 65 6e  l stat only when
37ba0 20 6e 65 63 65 73 73 61 72 79 20 69 6e 20 27 67   necessary in 'g
37bb0 6c 6f 62 27 20 74 6f 0a 73 70 65 65 64 20 75 70  lob' to.speed up
37bc0 20 63 6f 6d 6d 61 6e 64 20 73 69 67 6e 69 66 69   command signifi
37bd0 63 61 6e 74 6c 79 20 69 6e 20 62 61 73 65 20 63  cantly in base c
37be0 61 73 65 73 20 28 68 6f 62 62 73 29 0a 0a 32 30  ases (hobbs)..20
37bf0 30 30 2d 31 30 2d 32 37 20 46 69 78 65 64 20 6d  00-10-27 Fixed m
37c00 65 6d 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 43  em leak in Tcl_C
37c10 72 65 61 74 65 43 68 61 6e 6e 65 6c 2e 20 52 65  reateChannel. Re
37c20 2d 70 75 72 69 66 69 65 64 20 63 6f 72 65 20 76  -purified core v
37c30 69 61 20 74 65 73 74 0a 73 75 69 74 65 73 2e 20  ia test.suites. 
37c40 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31   (hobbs)..2000-1
37c50 30 2d 33 30 20 28 6e 65 77 20 66 65 61 74 75 72  0-30 (new featur
37c60 65 29 20 61 64 64 20 22 6a 61 5f 4a 50 2e 65 75  e) add "ja_JP.eu
37c70 63 4a 50 22 20 6d 61 70 20 74 6f 20 22 65 75 63  cJP" map to "euc
37c80 2d 6a 70 22 20 65 6e 63 6f 64 69 6e 67 20 28 74  -jp" encoding (t
37c90 61 6b 61 68 61 73 68 69 29 0a 0a 32 30 30 30 2d  akahashi)..2000-
37ca0 31 31 2d 30 31 20 28 6d 65 6d 20 6c 65 61 6b 29  11-01 (mem leak)
37cb0 20 43 6f 72 72 65 63 74 65 64 20 65 78 63 65 73   Corrected exces
37cc0 73 69 76 65 20 6d 65 6d 20 75 73 65 20 6f 66 20  sive mem use of 
37cd0 69 6e 66 6f 20 65 78 69 73 74 73 20 6f 6e 20 61  info exists on a
37ce0 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 61 72  .non-existent ar
37cf0 72 61 79 20 65 6c 65 6d 65 6e 74 20 28 68 6f 62  ray element (hob
37d00 62 73 29 0a 0a 32 30 30 30 2d 31 31 2d 30 32 20  bs)..2000-11-02 
37d10 28 62 75 67 20 66 69 78 29 20 43 6f 72 72 65 63  (bug fix) Correc
37d20 74 65 64 20 73 68 61 72 69 6e 67 20 6f 66 20 74  ted sharing of t
37d30 63 6c 4c 69 62 72 61 72 79 50 61 74 68 20 69 6e  clLibraryPath in
37d40 20 74 68 72 65 61 64 65 64 0a 65 6e 76 69 72 6f   threaded.enviro
37d50 6e 6d 65 6e 74 20 28 67 72 61 76 65 72 65 61 75  nment (gravereau
37d60 78 29 0a 0a 32 30 30 30 2d 31 31 2d 30 33 20 28  x)..2000-11-03 (
37d70 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 63 6c  new feature) Tcl
37d80 5f 53 65 74 4d 61 69 6e 4c 6f 6f 70 20 65 6e 61  _SetMainLoop ena
37d90 62 6c 65 73 20 64 65 66 69 6e 69 6e 67 20 61 6e  bles defining an
37da0 20 65 76 65 6e 74 20 6c 6f 6f 70 20 66 6f 72 0a   event loop for.
37db0 74 63 6c 73 68 2e 20 20 54 68 69 73 20 65 6e 61  tclsh.  This ena
37dc0 62 6c 65 73 20 54 6b 20 61 73 20 61 20 74 72 75  bles Tk as a tru
37dd0 6c 79 20 6c 6f 61 64 61 62 6c 65 20 70 61 63 6b  ly loadable pack
37de0 61 67 65 2e 20 28 68 6f 62 62 73 29 0a 0a 2d 2d  age. (hobbs)..--
37df0 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 34 61 32  - Released 8.4a2
37e00 2c 20 4e 6f 76 65 6d 62 65 72 20 33 2c 20 32 30  , November 3, 20
37e10 30 30 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67  00 --- See Chang
37e20 65 4c 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73  eLog for details
37e30 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30 39 2d 32 37   ---..2000-09-27
37e40 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64   (bug fix) fixed
37e50 20 61 20 62 75 67 20 69 6e 74 72 6f 64 75 63 65   a bug introduce
37e60 64 20 62 79 20 61 20 70 61 72 74 69 61 6c 20 66  d by a partial f
37e70 69 78 20 69 6e 20 38 2e 33 2e 32 20 74 68 61 74  ix in 8.3.2 that
37e80 0a 64 69 64 6e 27 74 20 73 65 74 20 6e 6f 6e 42  .didn't set nonB
37e90 6c 6f 63 6b 69 6e 67 20 63 6f 72 72 65 63 74 6c  locking correctl
37ea0 79 20 77 68 65 6e 20 72 65 73 65 74 74 69 6e 67  y when resetting
37eb0 20 74 68 65 20 66 6c 61 67 73 20 66 6f 72 20 74   the flags for t
37ec0 68 65 20 77 72 69 74 65 0a 73 69 64 65 20 28 6d  he write.side (m
37ed0 65 6d 20 6c 65 61 6b 29 20 43 6f 72 72 65 63 74  em leak) Correct
37ee0 20 6d 65 6d 20 6c 65 61 6b 20 69 6e 20 63 68 61   mem leak in cha
37ef0 6e 6e 65 6c 73 20 77 68 65 6e 20 73 74 61 74 65  nnels when state
37f00 50 74 72 20 77 61 73 20 72 65 6c 65 61 73 65 64  Ptr was released
37f10 0a 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30  .(hobbs)..2000-0
37f20 39 2d 32 39 20 28 62 75 67 20 66 69 78 29 20 63  9-29 (bug fix) c
37f30 6f 72 72 65 63 74 65 64 20 72 65 70 6f 72 74 69  orrected reporti
37f40 6e 67 20 6f 66 20 73 70 61 63 65 20 70 61 72 69  ng of space pari
37f50 74 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20 28 45  ty on Windows (E
37f60 61 73 6f 6e 29 0a 0a 32 30 30 30 2d 31 30 2d 30  ason)..2000-10-0
37f70 36 20 28 62 75 67 20 66 69 78 29 20 63 6f 72 72  6 (bug fix) corr
37f80 65 63 74 65 64 20 5b 66 69 6c 65 20 63 68 61 6e  ected [file chan
37f90 6e 65 6c 73 5d 20 74 6f 20 6f 6e 6c 79 20 72 65  nels] to only re
37fa0 74 75 72 6e 20 63 68 61 6e 6e 65 6c 73 20 69 6e  turn channels in
37fb0 0a 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 74  .the current int
37fc0 65 72 70 72 65 74 65 72 20 28 68 6f 62 62 73 29  erpreter (hobbs)
37fd0 0a 0a 32 30 30 30 2d 31 30 2d 32 30 20 28 70 65  ..2000-10-20 (pe
37fe0 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63  rformance enhanc
37ff0 65 6d 65 6e 74 29 20 63 61 6c 6c 20 73 74 61 74  ement) call stat
38000 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65 63 65 73   only when neces
38010 73 61 72 79 20 69 6e 20 27 67 6c 6f 62 27 20 74  sary in 'glob' t
38020 6f 0a 73 70 65 65 64 20 75 70 20 63 6f 6d 6d 61  o.speed up comma
38030 6e 64 20 73 69 67 6e 69 66 69 63 61 6e 74 6c 79  nd significantly
38040 20 69 6e 20 62 61 73 65 20 63 61 73 65 73 20 28   in base cases (
38050 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31 31 2d  hobbs)..2000-11-
38060 30 31 20 28 6d 65 6d 20 6c 65 61 6b 29 20 43 6f  01 (mem leak) Co
38070 72 72 65 63 74 65 64 20 65 78 63 65 73 73 69 76  rrected excessiv
38080 65 20 6d 65 6d 20 75 73 65 20 6f 66 20 69 6e 66  e mem use of inf
38090 6f 20 65 78 69 73 74 73 20 6f 6e 20 61 0a 6e 6f  o exists on a.no
380a0 6e 2d 65 78 69 73 74 65 6e 74 20 61 72 72 61 79  n-existent array
380b0 20 65 6c 65 6d 65 6e 74 20 28 68 6f 62 62 73 29   element (hobbs)
380c0 0a 0a 32 30 30 30 2d 31 31 2d 30 32 20 28 62 75  ..2000-11-02 (bu
380d0 67 20 66 69 78 29 20 43 6f 72 72 65 63 74 65 64  g fix) Corrected
380e0 20 73 68 61 72 69 6e 67 20 6f 66 20 74 63 6c 4c   sharing of tclL
380f0 69 62 72 61 72 79 50 61 74 68 20 69 6e 20 74 68  ibraryPath in th
38100 72 65 61 64 65 64 0a 65 6e 76 69 72 6f 6e 6d 65  readed.environme
38110 6e 74 20 28 67 72 61 76 65 72 65 61 75 78 29 0a  nt (gravereaux).
38120 0a 32 30 30 30 2d 31 31 2d 32 33 20 28 6d 65 6d  .2000-11-23 (mem
38130 20 6c 65 61 6b 29 20 66 69 78 65 64 20 70 6f 74   leak) fixed pot
38140 65 6e 74 69 61 6c 20 6d 65 6d 6f 72 79 20 6c 65  ential memory le
38150 61 6b 20 69 6e 20 65 72 72 6f 72 20 63 61 73 65  ak in error case
38160 20 6f 66 20 6c 73 6f 72 74 0a 28 66 65 6c 6c 6f   of lsort.(fello
38170 77 73 29 0a 0a 32 30 30 30 2d 31 32 2d 30 39 20  ws)..2000-12-09 
38180 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
38190 6d 65 6e 74 29 20 63 68 61 6e 67 65 64 20 25 6f  ment) changed %o
381a0 20 61 6e 64 20 25 78 20 74 6f 20 75 73 65 20 73   and %x to use s
381b0 74 72 74 6f 75 6c 20 69 6e 73 74 65 61 64 0a 6f  trtoul instead.o
381c0 66 20 73 74 72 74 6f 6c 20 74 6f 20 63 6f 72 72  f strtol to corr
381d0 65 63 74 6c 79 20 70 72 65 73 65 72 76 65 20 73  ectly preserve s
381e0 63 61 6e 3c 3e 66 6f 72 6d 61 74 20 63 6f 6e 76  can<>format conv
381f0 65 72 73 69 6f 6e 20 6f 66 20 6c 61 72 67 65 20  ersion of large 
38200 69 6e 74 65 67 65 72 73 0a 28 68 6f 62 62 73 29  integers.(hobbs)
38210 0a 46 69 78 65 64 20 68 61 6e 64 6c 69 6e 67 20  .Fixed handling 
38220 6f 66 20 7b 21 3c 62 6f 6f 6c 65 61 6e 3e 7d 20  of {!<boolean>} 
38230 69 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 28  in expressions (
38240 68 6f 62 62 73 2c 20 66 65 6c 6c 6f 77 73 29 0a  hobbs, fellows).
38250 0a 32 30 30 30 2d 31 32 2d 31 34 20 28 66 65 61  .2000-12-14 (fea
38260 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74  ture enhancement
38270 29 20 69 6d 70 72 6f 76 65 64 20 28 73 29 72 61  ) improved (s)ra
38280 6e 64 20 66 6f 72 20 36 34 2d 62 69 74 20 70 6c  nd for 64-bit pl
38290 61 74 66 6f 72 6d 73 0a 28 70 6f 72 74 65 72 29  atforms.(porter)
382a0 0a 0a 32 30 30 31 2d 30 31 2d 30 34 20 28 62 75  ..2001-01-04 (bu
382b0 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65 64  g fix) corrected
382c0 20 70 61 72 73 69 6e 67 20 6f 66 20 24 74 63 6c   parsing of $tcl
382d0 5f 6c 69 62 50 61 74 68 20 61 74 20 73 74 61 72  _libPath at star
382e0 74 75 70 20 6f 6e 0a 57 69 6e 64 6f 77 73 20 28  tup on.Windows (
382f0 70 6f 72 74 65 72 29 0a 0a 32 30 30 31 2d 30 31  porter)..2001-01
38300 2d 33 30 20 28 62 75 67 20 66 69 78 29 20 46 69  -30 (bug fix) Fi
38310 78 65 64 20 70 6f 73 73 69 62 6c 65 20 68 61 6e  xed possible han
38320 67 73 20 69 6e 20 66 63 6f 70 79 2e 20 28 70 6f  gs in fcopy. (po
38330 72 74 65 72 29 0a 0a 32 30 30 31 2d 30 32 2d 31  rter)..2001-02-1
38340 35 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65  5 (performance e
38350 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72  nhancement) impr
38360 6f 76 65 64 20 65 66 66 69 63 69 65 6e 63 79 20  oved efficiency 
38370 6f 66 20 5b 73 74 72 69 6e 67 20 73 70 6c 69 74  of [string split
38380 5d 0a 28 66 65 6c 6c 6f 77 73 29 0a 0a 32 30 30  ].(fellows)..200
38390 31 2d 30 33 2d 31 33 20 28 62 75 67 20 66 69 78  1-03-13 (bug fix
383a0 29 20 43 6f 72 72 65 63 74 6c 79 20 70 6f 73 73  ) Correctly poss
383b0 69 62 6c 65 20 6d 65 6d 6f 72 79 20 63 6f 72 72  ible memory corr
383c0 75 70 74 69 6f 6e 20 69 6e 20 73 74 72 69 6e 67  uption in string
383d0 20 6d 61 70 20 7b 7d 0a 24 73 74 72 20 28 66 65   map {}.$str (fe
383e0 6c 6c 6f 77 73 29 0a 0a 32 30 30 31 2d 30 33 2d  llows)..2001-03-
383f0 32 39 20 28 62 75 67 20 66 69 78 29 20 70 72 65  29 (bug fix) pre
38400 76 65 6e 74 20 70 6f 74 65 6e 74 69 61 6c 20 72  vent potential r
38410 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e  ace condition an
38420 64 20 73 65 63 75 72 69 74 79 20 6c 65 61 6b 20  d security leak 
38430 69 6e 0a 74 6d 70 20 66 69 6c 65 6e 61 6d 65 20  in.tmp filename 
38440 63 72 65 61 74 69 6f 6e 20 6f 6e 20 55 6e 69 78  creation on Unix
38450 2e 20 28 6d 61 78 29 0a 46 69 78 65 64 20 68 61  . (max).Fixed ha
38460 6e 64 6c 69 6e 67 20 6f 66 20 74 69 6d 65 6f 75  ndling of timeou
38470 74 20 66 6f 72